Loading .gitlab-ci.yml +1 −0 Original line number Diff line number Diff line Loading @@ -623,6 +623,7 @@ split-rendering-pytest-on-merge-request: - mv IVAS_rend IVAS_rend_ref # back to source branch - git restore lib_com/options.h # Revert changes back before checking out another branch to avoid conflicts - git checkout $source_branch_commit_sha - make clean - *enable-split-rendering Loading apps/renderer.c +35 −4 Original line number Diff line number Diff line Loading @@ -747,6 +747,9 @@ int main( int16_t delayNumSamples = -1; int16_t delayNumSamples_orig = 0; int16_t zeroPad = 0; #ifdef FIX_LARGE_RENDERER_DELAY_COMP int16_t zeroPadToWrite = 0; #endif int32_t delayTimeScale = 0; int16_t i, numChannels; ivas_error error = IVAS_ERR_OK; Loading Loading @@ -1764,7 +1767,11 @@ int main( if ( audioWriter != NULL ) { #endif #ifdef FIX_LARGE_RENDERER_DELAY_COMP if ( delayNumSamples * num_out_channels < outBufferSize ) #else if ( delayNumSamples < outBufferSize ) #endif { if ( AudioFileWriter_write( audioWriter, &outInt16Buffer[delayNumSamples * num_out_channels], outBufferSize - ( delayNumSamples * num_out_channels ) ) != IVAS_ERR_OK ) { Loading @@ -1775,7 +1782,11 @@ int main( } else { #ifdef FIX_LARGE_RENDERER_DELAY_COMP delayNumSamples -= (int16_t) ( outBufferSize / num_out_channels ); #else delayNumSamples -= (int16_t) outBufferSize; #endif } #ifdef SPLIT_REND_WITH_HEAD_ROT } Loading Loading @@ -1875,12 +1886,32 @@ int main( if ( audioWriter != NULL ) { #endif #ifdef FIX_LARGE_RENDERER_DELAY_COMP for ( zeroPadToWrite = zeroPad; zeroPadToWrite > frameSize_smpls; zeroPadToWrite -= frameSize_smpls ) { memset( outInt16Buffer, 0, outBufferSize * sizeof( int16_t ) ); if ( ( error = AudioFileWriter_write( audioWriter, outInt16Buffer, outBufferSize ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nOutput audio file writer error\n" ); exit( -1 ); } } memset( outInt16Buffer, 0, zeroPadToWrite * outBuffer.config.numChannels * sizeof( int16_t ) ); if ( ( error = AudioFileWriter_write( audioWriter, outInt16Buffer, zeroPadToWrite * outBuffer.config.numChannels ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nOutput audio file writer error\n" ); exit( -1 ); } zeroPadToWrite = 0; #else memset( outInt16Buffer, 0, zeroPad * outBuffer.config.numChannels * sizeof( int16_t ) ); if ( ( error = AudioFileWriter_write( audioWriter, outInt16Buffer, zeroPad * outBuffer.config.numChannels ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nOutput audio file writer error\n" ); exit( -1 ); } #endif #ifdef SPLIT_REND_WITH_HEAD_ROT } #endif Loading lib_com/options.h +2 −0 Original line number Diff line number Diff line Loading @@ -171,6 +171,8 @@ #define FIX_691_OSBA_CRASH /* FhG: Fix for issue 691: Crash for OSBA Stereo out */ #define FIX_694_OMASA_EXTREME /* Nokia: fix for crash in OMASA on extreme sample */ #define FIX_LARGE_RENDERER_DELAY_COMP /* Fix renderer delay compensation with delays greater than 1 frame */ /* ################## End BE DEVELOPMENT switches ######################### */ Loading Loading
.gitlab-ci.yml +1 −0 Original line number Diff line number Diff line Loading @@ -623,6 +623,7 @@ split-rendering-pytest-on-merge-request: - mv IVAS_rend IVAS_rend_ref # back to source branch - git restore lib_com/options.h # Revert changes back before checking out another branch to avoid conflicts - git checkout $source_branch_commit_sha - make clean - *enable-split-rendering Loading
apps/renderer.c +35 −4 Original line number Diff line number Diff line Loading @@ -747,6 +747,9 @@ int main( int16_t delayNumSamples = -1; int16_t delayNumSamples_orig = 0; int16_t zeroPad = 0; #ifdef FIX_LARGE_RENDERER_DELAY_COMP int16_t zeroPadToWrite = 0; #endif int32_t delayTimeScale = 0; int16_t i, numChannels; ivas_error error = IVAS_ERR_OK; Loading Loading @@ -1764,7 +1767,11 @@ int main( if ( audioWriter != NULL ) { #endif #ifdef FIX_LARGE_RENDERER_DELAY_COMP if ( delayNumSamples * num_out_channels < outBufferSize ) #else if ( delayNumSamples < outBufferSize ) #endif { if ( AudioFileWriter_write( audioWriter, &outInt16Buffer[delayNumSamples * num_out_channels], outBufferSize - ( delayNumSamples * num_out_channels ) ) != IVAS_ERR_OK ) { Loading @@ -1775,7 +1782,11 @@ int main( } else { #ifdef FIX_LARGE_RENDERER_DELAY_COMP delayNumSamples -= (int16_t) ( outBufferSize / num_out_channels ); #else delayNumSamples -= (int16_t) outBufferSize; #endif } #ifdef SPLIT_REND_WITH_HEAD_ROT } Loading Loading @@ -1875,12 +1886,32 @@ int main( if ( audioWriter != NULL ) { #endif #ifdef FIX_LARGE_RENDERER_DELAY_COMP for ( zeroPadToWrite = zeroPad; zeroPadToWrite > frameSize_smpls; zeroPadToWrite -= frameSize_smpls ) { memset( outInt16Buffer, 0, outBufferSize * sizeof( int16_t ) ); if ( ( error = AudioFileWriter_write( audioWriter, outInt16Buffer, outBufferSize ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nOutput audio file writer error\n" ); exit( -1 ); } } memset( outInt16Buffer, 0, zeroPadToWrite * outBuffer.config.numChannels * sizeof( int16_t ) ); if ( ( error = AudioFileWriter_write( audioWriter, outInt16Buffer, zeroPadToWrite * outBuffer.config.numChannels ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nOutput audio file writer error\n" ); exit( -1 ); } zeroPadToWrite = 0; #else memset( outInt16Buffer, 0, zeroPad * outBuffer.config.numChannels * sizeof( int16_t ) ); if ( ( error = AudioFileWriter_write( audioWriter, outInt16Buffer, zeroPad * outBuffer.config.numChannels ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nOutput audio file writer error\n" ); exit( -1 ); } #endif #ifdef SPLIT_REND_WITH_HEAD_ROT } #endif Loading
lib_com/options.h +2 −0 Original line number Diff line number Diff line Loading @@ -171,6 +171,8 @@ #define FIX_691_OSBA_CRASH /* FhG: Fix for issue 691: Crash for OSBA Stereo out */ #define FIX_694_OMASA_EXTREME /* Nokia: fix for crash in OMASA on extreme sample */ #define FIX_LARGE_RENDERER_DELAY_COMP /* Fix renderer delay compensation with delays greater than 1 frame */ /* ################## End BE DEVELOPMENT switches ######################### */ Loading