Commit 8898d6a0 authored by kinuthia's avatar kinuthia
Browse files

Merge branch 'main' into ci/update-test-be-to-release-ci-job

parents dc5e7f4f a59902ab
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1356,7 +1356,7 @@ sanitizer-test-masa:
    - if: $SANITIZER_SCHEDULE_A
      when: delayed
      start_in: 21 hours
  timeout: 3 hours
  timeout: 5 hours
  script:
    - *update-ltv-repo
    - python3 ci/run_scheduled_sanitizer_test.py MASA $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL EXT --tests $SANITIZER_TESTS
+5 −0
Original line number Diff line number Diff line
@@ -182,6 +182,7 @@
#define NONBE_FIX_809_EXTERNAL_TARGET_INTERPOLATION           /* FhG: issue 809: unify external target interpolation inter and intra frame behaviour */
#define NONBE_FIX_775_OSBA_BR_SWITCHING_CRASH                 /* FhG: issue 775: fix crash in OSBA with bitrate switching and output order lower than input order */
#define NONBE_FIX_827_JBM_CREND_EARLY_REFLECTIONS             /* FhG: issue #827: Resolve "JBM Crend early reflections are wrong" */
#define NONBE_FIX_833_OSBA_JBM_OBJECT_GAINS                   /* Fhg: issue #833: Resolve "JBM OSBA: the gains for the discrete objects are not computed" */
#define JBM_FOR_OSBA                                          /* FhG: implement OSBA format in the JBM path */
#ifdef JBM_FOR_OSBA
#define OSBA_ROOM_IR
@@ -189,6 +190,10 @@
#define NONBE_FIX_730_DPID_NOT_SET_CORRECTLY                  /* Eri: issue 730: write dpid read from file in correct index, print informative error message when DPID specified is not found. */
#define NONBE_FIX_825_SBA_JBM_MONO_STEREO_OUTPUT              /* FhG: issue #825: Resolve "JBM SBA: AGC and PCA run twice for MONO and STEREO output"   */
#define NONBE_FIX_808_JBM_PARAMUPMIX_RS                       /* FhG: Issue 808: fix JBM MC rate switching */
#define NONBE_FIX_846_JBM_MASA_SIDSTART                       /* FhG: Issue #846: fix JBM for MASA DTX when the first frame is a SID frame */
#define NONBE_FIX_841_MC_RS_TDOBJ_RENDERER                    /* FhG: Issue #841: [Non-BE] Resolve "MC RS HRFT handle not set to NULL" */
#define NONBE_FIX_840_PARAMMC_RS                              /* FhG: Issue #840: Resolve "MC RS ParamMC hoa encoder wrongly set to zero" */
#define NONBE_FIX_826_JBM_MASA_CNA_CNG                        /* FhG: issue #826:  Resolve "JBM MASA: CNA and CNG not in sync with non-JBM decoding" */

/* ##################### End NON-BE switches ########################### */

+20 −3
Original line number Diff line number Diff line
@@ -996,6 +996,11 @@ void ivas_ism_dec_digest_tc(
         st_ivas->renderer_type == RENDERER_SBA_LINEAR_ENC ||
         st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV ||
         st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ||
#ifdef NONBE_FIX_833_OSBA_JBM_OBJECT_GAINS
         st_ivas->renderer_type == RENDERER_OSBA_AMBI ||
         st_ivas->renderer_type == RENDERER_OSBA_LS ||
         st_ivas->renderer_type == RENDERER_OSBA_STEREO ||
#endif
         ( st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV_ROOM && st_ivas->hDecoderConfig->Opt_Headrotation == 0 ) )
    {
        int16_t i, num_objects;
@@ -1006,7 +1011,11 @@ void ivas_ism_dec_digest_tc(
        if ( ( st_ivas->hDecoderConfig->output_Fs / FRAMES_PER_SEC ) == st_ivas->hTcBuffer->n_samples_available )
        {
            int16_t interpolator_length = (int16_t) ( st_ivas->hDecoderConfig->output_Fs / FRAMES_PER_SEC );
            if ( st_ivas->renderer_type == RENDERER_SBA_LINEAR_ENC || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV )
            if ( st_ivas->renderer_type == RENDERER_SBA_LINEAR_ENC ||
#ifdef NONBE_FIX_833_OSBA_JBM_OBJECT_GAINS
                 st_ivas->renderer_type == RENDERER_OSBA_AMBI ||
#endif
                 st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV )
            {
                st_ivas->hIsmRendererData->interpolator[0] = 0.0f;
                for ( i = 1; i < interpolator_length; i++ )
@@ -1043,7 +1052,11 @@ void ivas_ism_dec_digest_tc(
                azimuth = (int16_t) floorf( st_ivas->hIsmMetaData[i]->azimuth + 0.5f );
                elevation = (int16_t) floorf( st_ivas->hIsmMetaData[i]->elevation + 0.5f );

                if ( ( st_ivas->renderer_type == RENDERER_TD_PANNING || st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV_ROOM ) &&
                if ( ( st_ivas->renderer_type == RENDERER_TD_PANNING ||
#ifdef NONBE_FIX_833_OSBA_JBM_OBJECT_GAINS
                       st_ivas->renderer_type == RENDERER_OSBA_LS ||
#endif
                       st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV_ROOM ) &&
                     st_ivas->hCombinedOrientationData == NULL )
                {
                    if ( st_ivas->hIntSetup.is_planar_setup )
@@ -1057,7 +1070,11 @@ void ivas_ism_dec_digest_tc(
                        efap_determine_gains( st_ivas->hEFAPdata, st_ivas->hIsmRendererData->gains[i], azimuth, elevation, EFAP_MODE_EFAP );
                    }
                }
                else if ( st_ivas->renderer_type == RENDERER_SBA_LINEAR_ENC || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV )
                else if ( st_ivas->renderer_type == RENDERER_SBA_LINEAR_ENC ||
#ifdef NONBE_FIX_833_OSBA_JBM_OBJECT_GAINS
                          st_ivas->renderer_type == RENDERER_OSBA_AMBI ||
#endif
                          st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV )
                {
                    /*get HOA gets for direction (ACN/SN3D)*/
                    ivas_dirac_dec_get_response( azimuth, elevation, st_ivas->hIsmRendererData->gains[i], st_ivas->hIntSetup.ambisonics_order );
+5 −1
Original line number Diff line number Diff line
@@ -2034,7 +2034,11 @@ int16_t ivas_jbm_dec_get_num_tc_channels(
        {
            num_tc = CPE_CHANNELS;
        }
        else if ( st_ivas->ivas_format == MASA_FORMAT && ivas_total_brate < MASA_STEREO_MIN_BITRATE && ( ivas_total_brate > IVAS_SID_5k2 || ( ivas_total_brate <= IVAS_SID_5k2 && st_ivas->nCPE > 0 && st_ivas->hCPE[0]->nchan_out == 1 ) ) )
        else if ( st_ivas->ivas_format == MASA_FORMAT && ivas_total_brate < MASA_STEREO_MIN_BITRATE && ( ivas_total_brate > IVAS_SID_5k2 || ( ivas_total_brate <= IVAS_SID_5k2 && st_ivas->nCPE > 0 &&
#ifdef NONBE_FIX_846_JBM_MASA_SIDSTART
                                                                                                                                              st_ivas->hCPE[0] != NULL &&
#endif
                                                                                                                                              st_ivas->hCPE[0]->nchan_out == 1 ) ) )
        {
            num_tc = 1; /* Only one channel transported */
        }
+29 −1
Original line number Diff line number Diff line
@@ -628,6 +628,9 @@ ivas_error ivas_masa_dec_open(
    {
        int16_t nchan_to_allocate;
        TC_BUFFER_MODE buffer_mode;
#ifdef NONBE_FIX_826_JBM_MASA_CNA_CNG
        int16_t nchan_transport;
#endif

        buffer_mode = TC_BUFFER_MODE_RENDERER;
        if ( st_ivas->mc_mode == MC_MODE_MCMASA && ( st_ivas->hDecoderConfig->output_config == IVAS_AUDIO_CONFIG_STEREO || st_ivas->hDecoderConfig->output_config == IVAS_AUDIO_CONFIG_MONO ) )
@@ -639,13 +642,32 @@ ivas_error ivas_masa_dec_open(
            buffer_mode = TC_BUFFER_MODE_BUFFER;
        }

#ifdef NONBE_FIX_826_JBM_MASA_CNA_CNG
        nchan_transport = ivas_jbm_dec_get_num_tc_channels( st_ivas );
        nchan_to_allocate = nchan_transport;
#else
        nchan_to_allocate = ivas_jbm_dec_get_num_tc_channels( st_ivas );
#endif
        if ( st_ivas->ivas_format == MASA_ISM_FORMAT && st_ivas->renderer_type == RENDERER_MONO_DOWNMIX )
        {
#ifdef NONBE_FIX_826_JBM_MASA_CNA_CNG
            nchan_transport = 1;
#endif
            nchan_to_allocate = 1;
        }
#ifdef NONBE_FIX_826_JBM_MASA_CNA_CNG
        else if ( st_ivas->nchan_transport == 1 && ( st_ivas->renderer_type == RENDERER_DIRAC ) )
        {
            /* addtl channel for CNG */
            nchan_to_allocate++;
        }
#endif

#ifdef NONBE_FIX_826_JBM_MASA_CNA_CNG
        if ( ( error = ivas_jbm_dec_tc_buffer_open( st_ivas, buffer_mode, nchan_transport, nchan_to_allocate, nchan_to_allocate, NS2SA( st_ivas->hDecoderConfig->output_Fs, CLDFB_SLOT_NS ) ) ) != IVAS_ERR_OK )
#else
        if ( ( error = ivas_jbm_dec_tc_buffer_open( st_ivas, buffer_mode, nchan_to_allocate, nchan_to_allocate, nchan_to_allocate, NS2SA( st_ivas->hDecoderConfig->output_Fs, CLDFB_SLOT_NS ) ) ) != IVAS_ERR_OK )
#endif
        {
            return error;
        }
@@ -1494,7 +1516,13 @@ ivas_error ivas_masa_dec_reconfigure(
                }
            }
        }

#ifdef NONBE_FIX_826_JBM_MASA_CNA_CNG
        else if ( st_ivas->nchan_transport == 1 && ( st_ivas->renderer_type == RENDERER_DIRAC && st_ivas->hDirACRend->synthesisConf == DIRAC_SYNTHESIS_GAIN_SHD ) )
        {
            /* addtl channel for CNG */
            tc_nchan_to_allocate++;
        }
#endif
        if ( tc_nchan_transport != st_ivas->hTcBuffer->nchan_transport_jbm || tc_nchan_to_allocate != st_ivas->hTcBuffer->nchan_transport_internal || buffer_mode_new != st_ivas->hTcBuffer->tc_buffer_mode )
        {
            if ( ( error = ivas_jbm_dec_tc_buffer_reconfigure( st_ivas, buffer_mode_new, tc_nchan_transport, tc_nchan_to_allocate, tc_nchan_to_allocate, n_samples_granularity ) ) != IVAS_ERR_OK )
Loading