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/bitstream.c +0 −176 Original line number Diff line number Diff line Loading @@ -576,182 +576,6 @@ int16_t get_ivas_max_num_indices( return 2450; } /*-----------------------------------------------------------------------* * get_core_max_num_indices() * * Get the maximum allowed number of indices in the core coder *-----------------------------------------------------------------------*/ /*! r: maximum number of indices */ int16_t get_core_max_num_indices( const int16_t core, /* i : core */ const int32_t total_brate /* i : total bitrate */ ) { /* set the maximum number of indices in the core coder */ if ( core == ACELP_CORE || core == AMR_WB_CORE ) { if ( total_brate <= 9600 ) { return 60; } else if ( total_brate <= IVAS_13k2 ) { return 70; } else if ( total_brate <= IVAS_16k4 ) { return 80; } else if ( total_brate <= IVAS_24k4 ) { return 100; } else if ( total_brate <= IVAS_32k ) { return 180; } else if ( total_brate <= IVAS_48k ) { return 340; } else if ( total_brate <= IVAS_80k ) { return 450; } else if ( total_brate <= IVAS_96k ) { return 500; } else if ( total_brate <= IVAS_128k ) { return 550; } else if ( total_brate <= IVAS_160k ) { return 600; } else if ( total_brate <= IVAS_192k ) { return 650; } else if ( total_brate <= IVAS_256k ) { return 700; } else { return 800; } } else if ( core == TCX_20_CORE || core == TCX_10_CORE ) { if ( total_brate <= 9600 ) { return 100; } else if ( total_brate <= IVAS_13k2 ) { return 150; } else if ( total_brate <= IVAS_16k4 ) { return 200; } else if ( total_brate <= IVAS_24k4 ) { return 310; } else if ( total_brate <= IVAS_32k ) { return 330; } else if ( total_brate <= IVAS_48k ) { return 340; } else if ( total_brate <= IVAS_80k ) { return 380; } else if ( total_brate <= IVAS_96k ) { return 400; } else if ( total_brate <= IVAS_128k ) { return 460; } else if ( total_brate <= IVAS_160k ) { return 470; } else if ( total_brate <= IVAS_192k ) { return 570; } else if ( total_brate <= IVAS_256k ) { return 680; } else { return 800; } } else if ( core == HQ_CORE ) { if ( total_brate <= 9600 ) { return 100; } else if ( total_brate <= IVAS_16k4 ) { return 200; } else if ( total_brate <= IVAS_24k4 ) { return 240; } else if ( total_brate <= IVAS_32k ) { return 300; } else if ( total_brate <= IVAS_48k ) { return 380; } else if ( total_brate <= IVAS_96k ) { return 400; } else if ( total_brate <= IVAS_128k ) { return 450; } else if ( total_brate <= IVAS_160k ) { return 550; } else if ( total_brate <= IVAS_192k ) { return 600; } else if ( total_brate <= IVAS_256k ) { return 700; } else { return 800; } } else { return 50; } } /*-----------------------------------------------------------------------* * get_BWE_max_num_indices() Loading lib_com/ivas_dirac_com.c +1 −1 Original line number Diff line number Diff line Loading @@ -325,7 +325,7 @@ void ivas_dirac_config_bands( } /*-------------------------------------------------------------------* * ivas_sba_get_max_md_bits() * ivas_get_dirac_sba_max_md_bits() * * Return maximum SBA DirAC metadata bit-budget and nominal bit-budget *-------------------------------------------------------------------*/ Loading lib_com/ivas_prot.h +4 −1 Original line number Diff line number Diff line Loading @@ -5079,7 +5079,8 @@ void ivas_copy_band_coeffs_idx_to_arr( void ivas_clear_band_coeffs( ivas_band_coeffs_t *pband_coeffs, const uint16_t num_bands const uint16_t num_bands, const uint16_t num_ts ); void ivas_clear_band_coeff_idx( Loading Loading @@ -5380,6 +5381,7 @@ ivas_error ivas_allocate_binaural_hrtf( const int16_t allocate_init_flag /* i : Memory allocation flag */ ); #ifdef DEBUGGING void ivas_binaural_cldfb( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ float *output_f[] /* i/o: synthesized core-coder transport channels/DirAC output */ Loading @@ -5391,6 +5393,7 @@ void ivas_binaural_cldfb_sf( const int16_t slot_size, /* i : JBM slot size */ float *output_f[] /* i/o: synthesized core-coder transport channels/DirAC output */ ); #endif void ivas_binRenderer( BINAURAL_RENDERER_HANDLE hBinRenderer, /* i/o: binaural renderer handle */ 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/bitstream.c +0 −176 Original line number Diff line number Diff line Loading @@ -576,182 +576,6 @@ int16_t get_ivas_max_num_indices( return 2450; } /*-----------------------------------------------------------------------* * get_core_max_num_indices() * * Get the maximum allowed number of indices in the core coder *-----------------------------------------------------------------------*/ /*! r: maximum number of indices */ int16_t get_core_max_num_indices( const int16_t core, /* i : core */ const int32_t total_brate /* i : total bitrate */ ) { /* set the maximum number of indices in the core coder */ if ( core == ACELP_CORE || core == AMR_WB_CORE ) { if ( total_brate <= 9600 ) { return 60; } else if ( total_brate <= IVAS_13k2 ) { return 70; } else if ( total_brate <= IVAS_16k4 ) { return 80; } else if ( total_brate <= IVAS_24k4 ) { return 100; } else if ( total_brate <= IVAS_32k ) { return 180; } else if ( total_brate <= IVAS_48k ) { return 340; } else if ( total_brate <= IVAS_80k ) { return 450; } else if ( total_brate <= IVAS_96k ) { return 500; } else if ( total_brate <= IVAS_128k ) { return 550; } else if ( total_brate <= IVAS_160k ) { return 600; } else if ( total_brate <= IVAS_192k ) { return 650; } else if ( total_brate <= IVAS_256k ) { return 700; } else { return 800; } } else if ( core == TCX_20_CORE || core == TCX_10_CORE ) { if ( total_brate <= 9600 ) { return 100; } else if ( total_brate <= IVAS_13k2 ) { return 150; } else if ( total_brate <= IVAS_16k4 ) { return 200; } else if ( total_brate <= IVAS_24k4 ) { return 310; } else if ( total_brate <= IVAS_32k ) { return 330; } else if ( total_brate <= IVAS_48k ) { return 340; } else if ( total_brate <= IVAS_80k ) { return 380; } else if ( total_brate <= IVAS_96k ) { return 400; } else if ( total_brate <= IVAS_128k ) { return 460; } else if ( total_brate <= IVAS_160k ) { return 470; } else if ( total_brate <= IVAS_192k ) { return 570; } else if ( total_brate <= IVAS_256k ) { return 680; } else { return 800; } } else if ( core == HQ_CORE ) { if ( total_brate <= 9600 ) { return 100; } else if ( total_brate <= IVAS_16k4 ) { return 200; } else if ( total_brate <= IVAS_24k4 ) { return 240; } else if ( total_brate <= IVAS_32k ) { return 300; } else if ( total_brate <= IVAS_48k ) { return 380; } else if ( total_brate <= IVAS_96k ) { return 400; } else if ( total_brate <= IVAS_128k ) { return 450; } else if ( total_brate <= IVAS_160k ) { return 550; } else if ( total_brate <= IVAS_192k ) { return 600; } else if ( total_brate <= IVAS_256k ) { return 700; } else { return 800; } } else { return 50; } } /*-----------------------------------------------------------------------* * get_BWE_max_num_indices() Loading
lib_com/ivas_dirac_com.c +1 −1 Original line number Diff line number Diff line Loading @@ -325,7 +325,7 @@ void ivas_dirac_config_bands( } /*-------------------------------------------------------------------* * ivas_sba_get_max_md_bits() * ivas_get_dirac_sba_max_md_bits() * * Return maximum SBA DirAC metadata bit-budget and nominal bit-budget *-------------------------------------------------------------------*/ Loading
lib_com/ivas_prot.h +4 −1 Original line number Diff line number Diff line Loading @@ -5079,7 +5079,8 @@ void ivas_copy_band_coeffs_idx_to_arr( void ivas_clear_band_coeffs( ivas_band_coeffs_t *pband_coeffs, const uint16_t num_bands const uint16_t num_bands, const uint16_t num_ts ); void ivas_clear_band_coeff_idx( Loading Loading @@ -5380,6 +5381,7 @@ ivas_error ivas_allocate_binaural_hrtf( const int16_t allocate_init_flag /* i : Memory allocation flag */ ); #ifdef DEBUGGING void ivas_binaural_cldfb( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ float *output_f[] /* i/o: synthesized core-coder transport channels/DirAC output */ Loading @@ -5391,6 +5393,7 @@ void ivas_binaural_cldfb_sf( const int16_t slot_size, /* i : JBM slot size */ float *output_f[] /* i/o: synthesized core-coder transport channels/DirAC output */ ); #endif void ivas_binRenderer( BINAURAL_RENDERER_HANDLE hBinRenderer, /* i/o: binaural renderer handle */ Loading