Commit dd0d7a12 authored by vaillancour's avatar vaillancour
Browse files

Merge branch 'main' into 1563_basop_PortFlpMR1475

parents 93ad73a9 0448c72e
Loading
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -167,6 +167,9 @@
#define FIX_1835_REVERB_ACTIVATION                      /* FhG: Modified reverberation activation logic and corrected factEQ calculation */
#define NON_BE_FIX_EVS_USAN_ERR_IN_WAVEADJUST           /* FhG: address issue 1037 */
#define FIX_1038_OFFSET_TO_NULL_PTR_IN_EVS_TCX_BFI      /* FhG: move setting of pointers for parameter decoding so they are skipped in lost frames when they are not needed */
#define NONBE_FIX_1056_ISM_RATE_SWITCH                  /* FhG: Fix #1056: fix TC buffer udpate on a ISM rate switch */	
#define NONBE_FIX_1075                                  /* FhG: fix segfault for bitrate switching + BINAURAL_ROOM_REVERB output in MC */
#define NON_BE_FIX_1041_USE_OLD_CNG_LSPS_IF_NONSTAB     /* FhG: fix bug in TD MDCT-Stereo concealment */

/* #################### End BASOP porting switches ############################ */

+4 −0
Original line number Diff line number Diff line
@@ -1766,7 +1766,11 @@ void con_tcx_ivas_fx(

            alpha_inv = sub( 16384 /*Q.0f in Q14*/, alpha_delayed ); /*Q14*/

#ifdef NON_BE_FIX_1041_USE_OLD_CNG_LSPS_IF_NONSTAB
            E_LPC_a_lsp_conversion( A_local, lsp_local, st->lspold_cng, M );
#else
            E_LPC_a_lsp_conversion( A_local, lsp_local, lsp_local, M );
#endif

            FOR( i = 0; i < M; i++ )
            {
+18 −0
Original line number Diff line number Diff line
@@ -2411,6 +2411,15 @@ ivas_error ivas_init_decoder_fx(
                SrcSpatial_p->q_Pos_p = Q31;
                move16();
            }
#ifdef NONBE_FIX_1075
            IF( EQ_32( st_ivas->hOutSetup.output_config, IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) )
            {
                IF( NE_32( ( error = ivas_reverb_open_fx( &st_ivas->hReverb, st_ivas->hHrtfStatistics, st_ivas->hRenderConfig, st_ivas->hDecoderConfig->output_Fs ) ), IVAS_ERR_OK ) )
                {
                    return error;
                }
            }
#endif

            /* Allocate 'hIsmRendererData' handle and memory for delay buffer within 'hMasaIsmData' */
            IF( NE_32( ( error = ivas_omasa_separate_object_renderer_open( st_ivas ) ), IVAS_ERR_OK ) )
@@ -2527,6 +2536,15 @@ ivas_error ivas_init_decoder_fx(
                SrcSpatial_p->q_Pos_p = Q31;
                move16();
            }
#ifdef NONBE_FIX_1075
            IF( EQ_32( st_ivas->hOutSetup.output_config, IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) )
            {
                IF( NE_32( ( error = ivas_reverb_open_fx( &st_ivas->hReverb, st_ivas->hHrtfStatistics, st_ivas->hRenderConfig, st_ivas->hDecoderConfig->output_Fs ) ), IVAS_ERR_OK ) )
                {
                    return error;
                }
            }
#endif
        }
    }

+8 −1
Original line number Diff line number Diff line
@@ -142,9 +142,16 @@ static ivas_error ivas_ism_bitrate_switching_dec_fx(
    {
        test();
        test();
#ifndef NONBE_FIX_1056_ISM_RATE_SWITCH
        test();
#endif
/* transfer subframe info from DirAC or ParamMC to central tc buffer */
#ifdef NONBE_FIX_1056_ISM_RATE_SWITCH
        /* only do this if we are not having done everything already in the TC decoding part and having only played out from the TC buffer */
        IF( EQ_32( last_ism_mode, ISM_MODE_PARAM ) && st_ivas->hSpatParamRendCom != NULL && NE_32( st_ivas->hTcBuffer->tc_buffer_mode, TC_BUFFER_MODE_BUFFER ) )
#else
        IF( EQ_32( last_ism_mode, ISM_MODE_PARAM ) && st_ivas->hSpatParamRendCom != NULL && ( NE_32( st_ivas->renderer_type, RENDERER_MONO_DOWNMIX ) && NE_32( st_ivas->renderer_type, RENDERER_DISABLE ) ) )
#endif
        {
            st_ivas->hTcBuffer->nb_subframes = st_ivas->hSpatParamRendCom->nb_subframes;
            move16();
+3 −0
Original line number Diff line number Diff line
@@ -3847,6 +3847,9 @@ static void ivas_jbm_dec_tc_buffer_playout_fx(
        slots_to_render = sub( slots_to_render, st_ivas->hTcBuffer->subframe_nbslots[last_sf] );
        last_sf = add( last_sf, 1 );
    }
#ifdef DEBUGGING
    assert( slots_to_render == 0 );
#endif

    FOR( ch_idx = 0; ch_idx < st_ivas->hTcBuffer->nchan_transport_jbm; ch_idx++ )
    {
Loading