Loading lib_dec/ivas_binRenderer_internal.c +8 −9 Original line number Diff line number Diff line Loading @@ -1589,7 +1589,7 @@ void ivas_binaural_reverb_processFrame( return; } void ivas_binRenderer_2( static void ivas_binRenderer_2( BINAURAL_RENDERER_HANDLE hBinRenderer, /* i/o: binaural renderer handle */ HEAD_TRACK_DATA_HANDLE hHeadTrackData, /* i/o: head track handle */ #ifdef SPLIT_REND_WITH_HEAD_ROT Loading Loading @@ -1747,16 +1747,14 @@ void ivas_binRenderer_2( } } #endif #ifdef FIX_SPLIT_REND_MERGE /* Obtain the binaural dmx and compute the reverb */ if ( hBinRenderer->hReverb != NULL ) { float reverbRe[BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; float reverbIm[BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; float inRe[BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; float inIm[BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; float reverbRe[BINAURAL_CHANNELS][CLDFB_SLOTS_PER_SUBFRAME][CLDFB_NO_CHANNELS_MAX]; float reverbIm[BINAURAL_CHANNELS][CLDFB_SLOTS_PER_SUBFRAME][CLDFB_NO_CHANNELS_MAX]; float inRe[BINAURAL_CHANNELS][CLDFB_SLOTS_PER_SUBFRAME][CLDFB_NO_CHANNELS_MAX]; float inIm[BINAURAL_CHANNELS][CLDFB_SLOTS_PER_SUBFRAME][CLDFB_NO_CHANNELS_MAX]; ivas_binaural_obtain_DMX( numTimeSlots, hBinRenderer, RealBuffer, ImagBuffer, inRe, inIm ); for ( chIdx = 0; chIdx < BINAURAL_CHANNELS; chIdx++ ) Loading @@ -1768,7 +1766,7 @@ void ivas_binRenderer_2( } } ivas_binaural_reverb_processFrame( hBinRenderer->hReverb, BINAURAL_CHANNELS, inRe, inIm, reverbRe, reverbIm, 0u ); ivas_binaural_reverb_processSubframe( hBinRenderer->hReverb, BINAURAL_CHANNELS, numTimeSlots, inRe, inIm, reverbRe, reverbIm ); /* Add the conv module and reverb module output */ for ( chIdx = 0; chIdx < BINAURAL_CHANNELS; chIdx++ ) Loading @@ -1791,6 +1789,7 @@ void ivas_binRenderer_2( } } #endif pop_wmops(); return; Loading lib_dec/ivas_dec.c +19 −2 Original line number Diff line number Diff line Loading @@ -70,7 +70,9 @@ ivas_error ivas_dec( float pan_left, pan_right; ivas_error error; float *p_output[MAX_OUTPUT_CHANNELS]; #ifdef FIX_BIT_EXACT int16_t i, j, k, l; #endif error = IVAS_ERR_OK; push_wmops( "ivas_dec" ); Loading Loading @@ -761,7 +763,22 @@ ivas_error ivas_dec( hSplitBinRend = &st_ivas->splitBinRend; max_band = (int16_t) ( ( BINAURAL_MAXBANDS * output_Fs ) / 48000 ); pcm_out = ( output_config == AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) ? 1 : 0; #ifdef FIX_BIT_EXACT for ( i = 0; i < MAX_HEAD_ROT_POSES; i++ ) { for ( j = 0; j < BINAURAL_CHANNELS; j++ ) { for ( k = 0; k < CLDFB_NO_COL_MAX; k++ ) { for ( l = 0; l < CLDFB_NO_CHANNELS_MAX; l++ ) { hSplitBinRend->hMultiBinCldfbData->Cldfb_RealBuffer_Binaural[i][j][k][l] = 0.0f; hSplitBinRend->hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural[i][j][k][l] = 0.0f; } } } } #endif ivas_renderMultiBinToSplitBinaural( &hSplitBinRend->splitrend, st_ivas->hHeadTrackData->Quaternions, st_ivas->hRenderConfig->split_rend_config.splitRendBitRate, Loading Loading
lib_dec/ivas_binRenderer_internal.c +8 −9 Original line number Diff line number Diff line Loading @@ -1589,7 +1589,7 @@ void ivas_binaural_reverb_processFrame( return; } void ivas_binRenderer_2( static void ivas_binRenderer_2( BINAURAL_RENDERER_HANDLE hBinRenderer, /* i/o: binaural renderer handle */ HEAD_TRACK_DATA_HANDLE hHeadTrackData, /* i/o: head track handle */ #ifdef SPLIT_REND_WITH_HEAD_ROT Loading Loading @@ -1747,16 +1747,14 @@ void ivas_binRenderer_2( } } #endif #ifdef FIX_SPLIT_REND_MERGE /* Obtain the binaural dmx and compute the reverb */ if ( hBinRenderer->hReverb != NULL ) { float reverbRe[BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; float reverbIm[BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; float inRe[BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; float inIm[BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; float reverbRe[BINAURAL_CHANNELS][CLDFB_SLOTS_PER_SUBFRAME][CLDFB_NO_CHANNELS_MAX]; float reverbIm[BINAURAL_CHANNELS][CLDFB_SLOTS_PER_SUBFRAME][CLDFB_NO_CHANNELS_MAX]; float inRe[BINAURAL_CHANNELS][CLDFB_SLOTS_PER_SUBFRAME][CLDFB_NO_CHANNELS_MAX]; float inIm[BINAURAL_CHANNELS][CLDFB_SLOTS_PER_SUBFRAME][CLDFB_NO_CHANNELS_MAX]; ivas_binaural_obtain_DMX( numTimeSlots, hBinRenderer, RealBuffer, ImagBuffer, inRe, inIm ); for ( chIdx = 0; chIdx < BINAURAL_CHANNELS; chIdx++ ) Loading @@ -1768,7 +1766,7 @@ void ivas_binRenderer_2( } } ivas_binaural_reverb_processFrame( hBinRenderer->hReverb, BINAURAL_CHANNELS, inRe, inIm, reverbRe, reverbIm, 0u ); ivas_binaural_reverb_processSubframe( hBinRenderer->hReverb, BINAURAL_CHANNELS, numTimeSlots, inRe, inIm, reverbRe, reverbIm ); /* Add the conv module and reverb module output */ for ( chIdx = 0; chIdx < BINAURAL_CHANNELS; chIdx++ ) Loading @@ -1791,6 +1789,7 @@ void ivas_binRenderer_2( } } #endif pop_wmops(); return; Loading
lib_dec/ivas_dec.c +19 −2 Original line number Diff line number Diff line Loading @@ -70,7 +70,9 @@ ivas_error ivas_dec( float pan_left, pan_right; ivas_error error; float *p_output[MAX_OUTPUT_CHANNELS]; #ifdef FIX_BIT_EXACT int16_t i, j, k, l; #endif error = IVAS_ERR_OK; push_wmops( "ivas_dec" ); Loading Loading @@ -761,7 +763,22 @@ ivas_error ivas_dec( hSplitBinRend = &st_ivas->splitBinRend; max_band = (int16_t) ( ( BINAURAL_MAXBANDS * output_Fs ) / 48000 ); pcm_out = ( output_config == AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) ? 1 : 0; #ifdef FIX_BIT_EXACT for ( i = 0; i < MAX_HEAD_ROT_POSES; i++ ) { for ( j = 0; j < BINAURAL_CHANNELS; j++ ) { for ( k = 0; k < CLDFB_NO_COL_MAX; k++ ) { for ( l = 0; l < CLDFB_NO_CHANNELS_MAX; l++ ) { hSplitBinRend->hMultiBinCldfbData->Cldfb_RealBuffer_Binaural[i][j][k][l] = 0.0f; hSplitBinRend->hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural[i][j][k][l] = 0.0f; } } } } #endif ivas_renderMultiBinToSplitBinaural( &hSplitBinRend->splitrend, st_ivas->hHeadTrackData->Quaternions, st_ivas->hRenderConfig->split_rend_config.splitRendBitRate, Loading