Commit f9285fc4 authored by Vladimir Malenovsky's avatar Vladimir Malenovsky
Browse files

Merge branch 'main' into 1890_basop_mr2052

parents 1c16a66a 4368d1c4
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -155,6 +155,7 @@
#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 FIX_1179_USAN_PHASEECU                          /* Eri: issue 1179:  better handling of 16 bit wrap around for very long(>200ms) FER-bursts   */
#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() */
+16 −0
Original line number Diff line number Diff line
@@ -690,7 +690,12 @@ ivas_error ivas_dec_setup(
                st_ivas->nchan_transport = 1;
                move16();
            }

            /* 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;
            move16();
#endif
            st_ivas->nchan_ism = add( st_ivas->bit_stream[sub( k, 3 )], shl( st_ivas->bit_stream[sub( k, 2 )], 1 ) );

            IF( GT_16( st_ivas->nchan_ism, 0 ) )
@@ -1008,6 +1013,17 @@ ivas_error ivas_dec_setup(
            }
        }

#ifdef NONBE_1199_OMASA_JBM_BRATE_SW_FLUSH
        test();
        IF( GT_16( st_ivas->ini_frame, 0 ) && EQ_32( st_ivas->ivas_format, MASA_FORMAT ) )
        {
            st_ivas->nchan_ism = 0;
            move16();
            st_ivas->ism_mode = ISM_MODE_NONE;
            move16();
        }

#endif
        IF( EQ_32( 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
@@ -1967,6 +1967,7 @@ ivas_error ivas_masa_dec_reconfigure_fx(

    ivas_masa_set_elements_fx( 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( EQ_32( st_ivas->ivas_format, MASA_FORMAT ) )
    {
        IF( NE_32( st_ivas->hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_EXTERNAL ) )
@@ -1979,7 +1980,7 @@ ivas_error ivas_masa_dec_reconfigure_fx(
        st_ivas->ism_mode = ISM_MODE_NONE;
        move16();
    }

#endif
    {
        Word16 tc_nchan_to_allocate;
        Word16 tc_nchan_transport;
+5 −3
Original line number Diff line number Diff line
@@ -3644,7 +3644,6 @@ ivas_error IVAS_DEC_ReadFormat(
    move32();
    move32();
    move32();
    move32();
    move16();
    move32();
    move32();
@@ -3760,12 +3759,14 @@ 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
            }

            IF( tc_granularity_new < st_ivas->hTcBuffer->n_samples_granularity )
#endif
            IF( LT_16( tc_granularity_new, st_ivas->hTcBuffer->n_samples_granularity ) )
            {
                IF( ( error = ivas_jbm_dec_flush_renderer_fx( st_ivas, tc_granularity_new, renderer_type_old, intern_config_old, &st_ivas->hIntSetup, mc_mode_old, ism_mode_old, &hIvasDec->nSamplesFlushed, hIvasDec->flushbuffer ) ) != IVAS_ERR_OK )
                {
@@ -3787,6 +3788,7 @@ ivas_error IVAS_DEC_ReadFormat(
    move16();
    move32();
    move32();
    move32();

    return IVAS_ERR_OK;
}