Loading lib_rend/ivas_objectRenderer_sources_fx.c +4 −1 Original line number Diff line number Diff line Loading @@ -326,6 +326,9 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams_fx( Word32 azim_delta; Word32 elev_delta; Word16 ListRelPos_e, ListRelDist_e; #ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW Word16 pan; #endif /* Evaluate the HR filters from the source and listener positions and orientations */ Listener_p = hBinRendererTd->Listener_p; Loading Loading @@ -462,7 +465,7 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams_fx( set32_fx( hrf_right, 0, *filterlength ); #ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW Word16 pan = add( mult_r( extract_h( SrcSpatial_p->Pos_p_fx[1] ), 2048 ), 32 ); pan = add( mult_r( extract_h( SrcSpatial_p->Pos_p_fx[1] ), 2048 ), 32 ); hrf_left[0] = L_shl_r( cos_table_129[64 - pan], 10 ); hrf_right[0] = L_shl_r( cos_table_129[pan], 10 ); #else Loading lib_rend/lib_rend_fx.c +13 −3 Original line number Diff line number Diff line Loading @@ -2626,6 +2626,9 @@ static ivas_error updateMcPanGainsForMcOut( const AUDIO_CONFIG outConfig ) { ivas_error error; #ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW Word16 pan; #endif /* "if" conditions below realize the following mapping: Loading Loading @@ -2667,7 +2670,7 @@ static ivas_error updateMcPanGainsForMcOut( } ELSE { Word16 pan = add( mult_r( extract_h( inputMc->nonDiegeticPanGain_fx ), 32 ), 32 ); pan = add( mult_r( extract_h( inputMc->nonDiegeticPanGain_fx ), 32 ), 32 ); inputMc->panGains_fx[0][0] = L_deposit_h( cos_table_129[64 - pan] ); inputMc->panGains_fx[0][1] = L_deposit_h( cos_table_129[pan] ); } Loading Loading @@ -2875,6 +2878,10 @@ static ivas_error updateMcPanGainsForAmbiOut( static ivas_error updateMcPanGainsForBinauralOut( input_mc *inputMc ) { #ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW Word16 pan; #endif setZeroPanMatrix_fx( inputMc->panGains_fx ); IF( inputMc->base.inConfig == IVAS_AUDIO_CONFIG_MONO ) { Loading @@ -2891,7 +2898,7 @@ static ivas_error updateMcPanGainsForBinauralOut( } ELSE { Word16 pan = add( mult_r( extract_h( inputMc->nonDiegeticPanGain_fx ), 32 ), 32 ); pan = add( mult_r( extract_h( inputMc->nonDiegeticPanGain_fx ), 32 ), 32 ); inputMc->panGains_fx[0][0] = L_deposit_h( cos_table_129[64 - pan] ); inputMc->panGains_fx[0][1] = L_deposit_h( cos_table_129[pan] ); } Loading Loading @@ -6999,6 +7006,9 @@ static ivas_error renderIsmToMc( Word8 position_changed; pan_vector_fx currentPanGains_fx; /* Q31 */ ivas_error error; #ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW Word16 pan; #endif push_wmops( "renderIsmToMc" ); Loading Loading @@ -7032,7 +7042,7 @@ static ivas_error renderIsmToMc( } ELSE { Word16 pan = add( mult_r( extract_h( ismInput->nonDiegeticPanGain_fx ), 32 ), 32 ); pan = add( mult_r( extract_h( ismInput->nonDiegeticPanGain_fx ), 32 ), 32 ); currentPanGains_fx[0] = L_deposit_h( cos_table_129[64 - pan] ); currentPanGains_fx[1] = L_deposit_h( cos_table_129[pan] ); } Loading Loading
lib_rend/ivas_objectRenderer_sources_fx.c +4 −1 Original line number Diff line number Diff line Loading @@ -326,6 +326,9 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams_fx( Word32 azim_delta; Word32 elev_delta; Word16 ListRelPos_e, ListRelDist_e; #ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW Word16 pan; #endif /* Evaluate the HR filters from the source and listener positions and orientations */ Listener_p = hBinRendererTd->Listener_p; Loading Loading @@ -462,7 +465,7 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams_fx( set32_fx( hrf_right, 0, *filterlength ); #ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW Word16 pan = add( mult_r( extract_h( SrcSpatial_p->Pos_p_fx[1] ), 2048 ), 32 ); pan = add( mult_r( extract_h( SrcSpatial_p->Pos_p_fx[1] ), 2048 ), 32 ); hrf_left[0] = L_shl_r( cos_table_129[64 - pan], 10 ); hrf_right[0] = L_shl_r( cos_table_129[pan], 10 ); #else Loading
lib_rend/lib_rend_fx.c +13 −3 Original line number Diff line number Diff line Loading @@ -2626,6 +2626,9 @@ static ivas_error updateMcPanGainsForMcOut( const AUDIO_CONFIG outConfig ) { ivas_error error; #ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW Word16 pan; #endif /* "if" conditions below realize the following mapping: Loading Loading @@ -2667,7 +2670,7 @@ static ivas_error updateMcPanGainsForMcOut( } ELSE { Word16 pan = add( mult_r( extract_h( inputMc->nonDiegeticPanGain_fx ), 32 ), 32 ); pan = add( mult_r( extract_h( inputMc->nonDiegeticPanGain_fx ), 32 ), 32 ); inputMc->panGains_fx[0][0] = L_deposit_h( cos_table_129[64 - pan] ); inputMc->panGains_fx[0][1] = L_deposit_h( cos_table_129[pan] ); } Loading Loading @@ -2875,6 +2878,10 @@ static ivas_error updateMcPanGainsForAmbiOut( static ivas_error updateMcPanGainsForBinauralOut( input_mc *inputMc ) { #ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW Word16 pan; #endif setZeroPanMatrix_fx( inputMc->panGains_fx ); IF( inputMc->base.inConfig == IVAS_AUDIO_CONFIG_MONO ) { Loading @@ -2891,7 +2898,7 @@ static ivas_error updateMcPanGainsForBinauralOut( } ELSE { Word16 pan = add( mult_r( extract_h( inputMc->nonDiegeticPanGain_fx ), 32 ), 32 ); pan = add( mult_r( extract_h( inputMc->nonDiegeticPanGain_fx ), 32 ), 32 ); inputMc->panGains_fx[0][0] = L_deposit_h( cos_table_129[64 - pan] ); inputMc->panGains_fx[0][1] = L_deposit_h( cos_table_129[pan] ); } Loading Loading @@ -6999,6 +7006,9 @@ static ivas_error renderIsmToMc( Word8 position_changed; pan_vector_fx currentPanGains_fx; /* Q31 */ ivas_error error; #ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW Word16 pan; #endif push_wmops( "renderIsmToMc" ); Loading Loading @@ -7032,7 +7042,7 @@ static ivas_error renderIsmToMc( } ELSE { Word16 pan = add( mult_r( extract_h( ismInput->nonDiegeticPanGain_fx ), 32 ), 32 ); pan = add( mult_r( extract_h( ismInput->nonDiegeticPanGain_fx ), 32 ), 32 ); currentPanGains_fx[0] = L_deposit_h( cos_table_129[64 - pan] ); currentPanGains_fx[1] = L_deposit_h( cos_table_129[pan] ); } Loading