Loading lib_com/options.h +0 −2 Original line number Diff line number Diff line Loading @@ -168,8 +168,6 @@ /* #################### Start NON-BE switches ############################ */ /* any switch which is non-be wrt. TS 26.258 V3.0 */ #define FIX_2482_NON_DIEGETIC_PANNING_LIMITATION_SATURATION /* Orange: float issue 2482: Non-diegetic panning: Limitation/Saturation for BASOP */ #ifdef FIX_2482_NON_DIEGETIC_PANNING_LIMITATION_SATURATION //#define FIX_2482_NON_DIEGETIC_PANNING_LIMITATION_SATURATION_SIMPLE /* Orange: simpliest way to fix the issue */ #define FIX_1543_MID_LSF_BITS /* VA: float issue 1543: Resolve "MSAN: use-of-uninitialized-value in lib_enc/lsf_enc.c:262:5 for EVS encoder" */ Loading lib_dec/ivas_dec_render.c +3 −3 Original line number Diff line number Diff line Loading @@ -241,7 +241,7 @@ ivas_error ivas_dec_render( } else if ( st_ivas->renderer_type == RENDERER_NON_DIEGETIC_DOWNMIX ) { #ifdef FIX_2482_NON_DIEGETIC_PANNING_LIMITATION_SATURATION_SIMPLE #ifdef FIX_2482_NON_DIEGETIC_PANNING_LIMITATION_SATURATION #ifndef DISABLE_LIMITER ivas_limiter_dec( st_ivas->hLimiter, p_tc, 1, *nSamplesRendered, st_ivas->BER_detect ); #endif Loading Loading @@ -660,7 +660,7 @@ ivas_error ivas_dec_render( { nchan_out_syn_output = nchan_out; } #ifdef FIX_2482_NON_DIEGETIC_PANNING_LIMITATION_SATURATION_SIMPLE #ifdef FIX_2482_NON_DIEGETIC_PANNING_LIMITATION_SATURATION if ( st_ivas->renderer_type != RENDERER_NON_DIEGETIC_DOWNMIX || st_ivas->ivas_format != MONO_FORMAT ) { #endif Loading @@ -673,7 +673,7 @@ ivas_error ivas_dec_render( #endif } } #ifdef FIX_2482_NON_DIEGETIC_PANNING_LIMITATION_SATURATION_SIMPLE #ifdef FIX_2482_NON_DIEGETIC_PANNING_LIMITATION_SATURATION } #endif switch ( pcm_resolution ) Loading lib_rend/ivas_objectRenderer_sources.c +0 −6 Original line number Diff line number Diff line Loading @@ -390,14 +390,8 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams( *Gain = 1.0f; set_f( hrf_left, 0.0f, *filterlength ); set_f( hrf_right, 0.0f, *filterlength ); #ifdef FIX_2482_NON_DIEGETIC_PANNING_LIMITATION_SATURATION float pan = ( SrcSpatial_p->Pos_p[1] + 1.f ) * 0.5f; hrf_left[0] = sinf( pan * EVS_PI * 0.5f ); hrf_right[0] = cosf( pan * EVS_PI * 0.5f ); #else hrf_left[0] = ( SrcSpatial_p->Pos_p[1] + 1.f ) * 0.5f; hrf_right[0] = 1.f - hrf_left[0]; #endif *intp_count = MAX_INTERPOLATION_STEPS; Src_p->elev_prev = 0; Src_p->azim_prev = 360.0f; /* Dummy angle -- sets max interpolation if switching to TDREND_POSTYPE_ABSOLUTE */ Loading lib_rend/lib_rend.c +0 −18 Original line number Diff line number Diff line Loading @@ -2234,14 +2234,8 @@ static ivas_error updateMcPanGainsForMcOut( { if ( ( inputMc->base.inConfig == IVAS_AUDIO_CONFIG_MONO ) && ( inputMc->nonDiegeticPan ) ) { #ifdef FIX_2482_NON_DIEGETIC_PANNING_LIMITATION_SATURATION float pan = ( inputMc->nonDiegeticPanGain + 1.f ) * 0.5f; inputMc->panGains[0][0] = sinf( pan * EVS_PI * 0.5f ); inputMc->panGains[0][1] = cosf( pan * EVS_PI * 0.5f ); #else inputMc->panGains[0][0] = ( inputMc->nonDiegeticPanGain + 1.f ) * 0.5f; inputMc->panGains[0][1] = 1.f - inputMc->panGains[0][0]; #endif error = IVAS_ERR_OK; } else Loading Loading @@ -2375,14 +2369,8 @@ static ivas_error updateMcPanGainsForBinauralOut( setZeroPanMatrix( inputMc->panGains ); if ( inputMc->base.inConfig == IVAS_AUDIO_CONFIG_MONO ) { #ifdef FIX_2482_NON_DIEGETIC_PANNING_LIMITATION_SATURATION float pan = ( inputMc->nonDiegeticPanGain + 1.f ) * 0.5f; inputMc->panGains[0][0] = sinf( pan * EVS_PI * 0.5f ); inputMc->panGains[0][1] = cosf( pan * EVS_PI * 0.5f ); #else inputMc->panGains[0][0] = ( inputMc->nonDiegeticPanGain + 1.f ) * 0.5f; inputMc->panGains[0][1] = 1.f - inputMc->panGains[0][0]; #endif } else { Loading Loading @@ -6000,14 +5988,8 @@ static ivas_error renderIsmToMc( { if ( ismInput->nonDiegeticPan ) { #ifdef FIX_2482_NON_DIEGETIC_PANNING_LIMITATION_SATURATION float pan = ( ismInput->nonDiegeticPanGain + 1.f ) * 0.5f; ismInput->prev_pan_gains[0] = currentPanGains[0] = sinf( pan * EVS_PI * 0.5f ); ismInput->prev_pan_gains[1] = currentPanGains[1] = cosf( pan * EVS_PI * 0.5f ); #else ismInput->prev_pan_gains[0] = currentPanGains[0] = ( ismInput->nonDiegeticPanGain + 1.f ) * 0.5f; ismInput->prev_pan_gains[1] = currentPanGains[1] = 1.f - currentPanGains[0]; #endif } else { Loading Loading
lib_com/options.h +0 −2 Original line number Diff line number Diff line Loading @@ -168,8 +168,6 @@ /* #################### Start NON-BE switches ############################ */ /* any switch which is non-be wrt. TS 26.258 V3.0 */ #define FIX_2482_NON_DIEGETIC_PANNING_LIMITATION_SATURATION /* Orange: float issue 2482: Non-diegetic panning: Limitation/Saturation for BASOP */ #ifdef FIX_2482_NON_DIEGETIC_PANNING_LIMITATION_SATURATION //#define FIX_2482_NON_DIEGETIC_PANNING_LIMITATION_SATURATION_SIMPLE /* Orange: simpliest way to fix the issue */ #define FIX_1543_MID_LSF_BITS /* VA: float issue 1543: Resolve "MSAN: use-of-uninitialized-value in lib_enc/lsf_enc.c:262:5 for EVS encoder" */ Loading
lib_dec/ivas_dec_render.c +3 −3 Original line number Diff line number Diff line Loading @@ -241,7 +241,7 @@ ivas_error ivas_dec_render( } else if ( st_ivas->renderer_type == RENDERER_NON_DIEGETIC_DOWNMIX ) { #ifdef FIX_2482_NON_DIEGETIC_PANNING_LIMITATION_SATURATION_SIMPLE #ifdef FIX_2482_NON_DIEGETIC_PANNING_LIMITATION_SATURATION #ifndef DISABLE_LIMITER ivas_limiter_dec( st_ivas->hLimiter, p_tc, 1, *nSamplesRendered, st_ivas->BER_detect ); #endif Loading Loading @@ -660,7 +660,7 @@ ivas_error ivas_dec_render( { nchan_out_syn_output = nchan_out; } #ifdef FIX_2482_NON_DIEGETIC_PANNING_LIMITATION_SATURATION_SIMPLE #ifdef FIX_2482_NON_DIEGETIC_PANNING_LIMITATION_SATURATION if ( st_ivas->renderer_type != RENDERER_NON_DIEGETIC_DOWNMIX || st_ivas->ivas_format != MONO_FORMAT ) { #endif Loading @@ -673,7 +673,7 @@ ivas_error ivas_dec_render( #endif } } #ifdef FIX_2482_NON_DIEGETIC_PANNING_LIMITATION_SATURATION_SIMPLE #ifdef FIX_2482_NON_DIEGETIC_PANNING_LIMITATION_SATURATION } #endif switch ( pcm_resolution ) Loading
lib_rend/ivas_objectRenderer_sources.c +0 −6 Original line number Diff line number Diff line Loading @@ -390,14 +390,8 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams( *Gain = 1.0f; set_f( hrf_left, 0.0f, *filterlength ); set_f( hrf_right, 0.0f, *filterlength ); #ifdef FIX_2482_NON_DIEGETIC_PANNING_LIMITATION_SATURATION float pan = ( SrcSpatial_p->Pos_p[1] + 1.f ) * 0.5f; hrf_left[0] = sinf( pan * EVS_PI * 0.5f ); hrf_right[0] = cosf( pan * EVS_PI * 0.5f ); #else hrf_left[0] = ( SrcSpatial_p->Pos_p[1] + 1.f ) * 0.5f; hrf_right[0] = 1.f - hrf_left[0]; #endif *intp_count = MAX_INTERPOLATION_STEPS; Src_p->elev_prev = 0; Src_p->azim_prev = 360.0f; /* Dummy angle -- sets max interpolation if switching to TDREND_POSTYPE_ABSOLUTE */ Loading
lib_rend/lib_rend.c +0 −18 Original line number Diff line number Diff line Loading @@ -2234,14 +2234,8 @@ static ivas_error updateMcPanGainsForMcOut( { if ( ( inputMc->base.inConfig == IVAS_AUDIO_CONFIG_MONO ) && ( inputMc->nonDiegeticPan ) ) { #ifdef FIX_2482_NON_DIEGETIC_PANNING_LIMITATION_SATURATION float pan = ( inputMc->nonDiegeticPanGain + 1.f ) * 0.5f; inputMc->panGains[0][0] = sinf( pan * EVS_PI * 0.5f ); inputMc->panGains[0][1] = cosf( pan * EVS_PI * 0.5f ); #else inputMc->panGains[0][0] = ( inputMc->nonDiegeticPanGain + 1.f ) * 0.5f; inputMc->panGains[0][1] = 1.f - inputMc->panGains[0][0]; #endif error = IVAS_ERR_OK; } else Loading Loading @@ -2375,14 +2369,8 @@ static ivas_error updateMcPanGainsForBinauralOut( setZeroPanMatrix( inputMc->panGains ); if ( inputMc->base.inConfig == IVAS_AUDIO_CONFIG_MONO ) { #ifdef FIX_2482_NON_DIEGETIC_PANNING_LIMITATION_SATURATION float pan = ( inputMc->nonDiegeticPanGain + 1.f ) * 0.5f; inputMc->panGains[0][0] = sinf( pan * EVS_PI * 0.5f ); inputMc->panGains[0][1] = cosf( pan * EVS_PI * 0.5f ); #else inputMc->panGains[0][0] = ( inputMc->nonDiegeticPanGain + 1.f ) * 0.5f; inputMc->panGains[0][1] = 1.f - inputMc->panGains[0][0]; #endif } else { Loading Loading @@ -6000,14 +5988,8 @@ static ivas_error renderIsmToMc( { if ( ismInput->nonDiegeticPan ) { #ifdef FIX_2482_NON_DIEGETIC_PANNING_LIMITATION_SATURATION float pan = ( ismInput->nonDiegeticPanGain + 1.f ) * 0.5f; ismInput->prev_pan_gains[0] = currentPanGains[0] = sinf( pan * EVS_PI * 0.5f ); ismInput->prev_pan_gains[1] = currentPanGains[1] = cosf( pan * EVS_PI * 0.5f ); #else ismInput->prev_pan_gains[0] = currentPanGains[0] = ( ismInput->nonDiegeticPanGain + 1.f ) * 0.5f; ismInput->prev_pan_gains[1] = currentPanGains[1] = 1.f - currentPanGains[0]; #endif } else { Loading