Commit 9bf95a22 authored by Vladimir Malenovsky's avatar Vladimir Malenovsky
Browse files

Merge branch 'ivas-float-update' into 1890_ref_mr2052

parents 9c48c295 211df40b
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -208,6 +208,7 @@
#define NONBE_1296_TDREND_ITD_OUT_OF_BOUNDS_ACCESS      /* Eri: issue 1296: ITD resampling can occasionally read out of bounds, especially when the requested subframes are short (1.25 ms). Seen for headtracking+JBM. */
#define FIX_1349_TNS_CRASH                              /* FhG: Fix crash in TNS entropy coding, in case order of joint TNS coding is reduced to 0 */
#define NONBE_FIX_1180_HQMDCT_PHECU_LT_MUTING           /* Ericsson: issue 1180, corrected long term mute loop attnuation after 200ms  in PhECU-PLC  */ 
#define NONBE_1199_OMASA_JBM_BRATE_SW_FLUSH             /* VA: issue 1199: fix bug in renderer flush in OMASA JBM bitrate switching */
#define NONBE_1200_ISM_JBM_BRATE_SW_FLUSH               /* VA: issue 1200: fix bug in renderer flush in ISM JBM bitrate switching */
#define NONBE_1293_CRASH_FIRST_FRAME_LOST               /* VA: issue 1293: fix G.192 decoder crash when first frame is lost */
#define FIX_1384_MSAN_stereo_tcx_core_enc               /* VA: issue 1384: fix use-of-uninitialized value in stereo_tcx_core_enc() */
+14 −0
Original line number Diff line number Diff line
@@ -577,7 +577,11 @@ ivas_error ivas_dec_setup(
            {
                st_ivas->nchan_transport = 1;
            }

            /* this should be non-zero if original input format was MASA_ISM_FORMAT */
#ifdef NONBE_1199_OMASA_JBM_BRATE_SW_FLUSH
            st_ivas->ism_mode = ISM_MODE_NONE;
#endif
            st_ivas->nchan_ism = st_ivas->bit_stream[( ivas_total_brate / FRAMES_PER_SEC ) - 3] + 2 * st_ivas->bit_stream[( ivas_total_brate / FRAMES_PER_SEC ) - 2];

            if ( st_ivas->nchan_ism > 0 )
@@ -595,10 +599,12 @@ ivas_error ivas_dec_setup(
                {
                    st_ivas->nchan_ism = 1;
                }

                /* for MASA_ISM_FORMAT at input the number of MASA transport channels is always 2 and the corresponding bit is not used here*/
                st_ivas->nchan_transport = 2;
                element_mode_flag = 1;
            }

            if ( st_ivas->ini_frame > 0 )
            {
                /* reconfigure in case a change of operation mode is detected */
@@ -836,6 +842,14 @@ ivas_error ivas_dec_setup(
            }
        }

#ifdef NONBE_1199_OMASA_JBM_BRATE_SW_FLUSH
        if ( st_ivas->ini_frame > 0 && st_ivas->ivas_format == MASA_FORMAT )
        {
            st_ivas->nchan_ism = 0;
            st_ivas->ism_mode = ISM_MODE_NONE;
        }

#endif
        if ( st_ivas->ivas_format == ISM_FORMAT )
        {
            ISM_MODE last_ism_mode = st_ivas->ism_mode;
+2 −1
Original line number Diff line number Diff line
@@ -1508,6 +1508,7 @@ ivas_error ivas_masa_dec_reconfigure(

    ivas_masa_set_elements( ivas_total_brate, st_ivas->mc_mode, st_ivas->nchan_transport, st_ivas->hQMetaData, &tmp, &tmp, &tmp, st_ivas->ivas_format, st_ivas->ism_mode, ism_total_brate );

#ifndef NONBE_1199_OMASA_JBM_BRATE_SW_FLUSH
    if ( st_ivas->ivas_format == MASA_FORMAT )
    {

@@ -1519,7 +1520,7 @@ ivas_error ivas_masa_dec_reconfigure(
        }
        st_ivas->ism_mode = ISM_MODE_NONE;
    }

#endif
    {
        int16_t tc_nchan_to_allocate;
        int16_t tc_nchan_transport;
+2 −1
Original line number Diff line number Diff line
@@ -1224,11 +1224,12 @@ ivas_error IVAS_DEC_ReadFormat(
#else
            // st_ivas->nchan_transport = nchan_transport_old; // ToDo: temporarily deactivated to keep FIX_HRTF_LOAD bit-exact but this is likely a bug in the main -> see issue #1200
#endif
#ifndef NONBE_1199_OMASA_JBM_BRATE_SW_FLUSH
            if ( st_ivas->ivas_format == MASA_FORMAT )
            {
                st_ivas->nchan_ism = 0; // ToDo: temporary hack to keep FIX_HRTF_LOAD bit-exact but this is likely a bug in the main -> see issue #1199
            }

#endif
            if ( tc_granularity_new < st_ivas->hTcBuffer->n_samples_granularity )
            {
                if ( ( error = ivas_jbm_dec_flush_renderer( st_ivas, tc_granularity_new, renderer_type_old, intern_config_old, &st_ivas->hIntSetup, mc_mode_old, ism_mode_old, &hIvasDec->nSamplesFlushed, pcm_type_API_to_internal( hIvasDec->pcmType ), hIvasDec->flushbuffer ) ) != IVAS_ERR_OK )