Loading .gitlab-ci.yml +1 −0 Original line number Diff line number Diff line Loading @@ -138,6 +138,7 @@ stages: - mv IVAS_rend_test IVAS_rend .merge-request-comparison-check: &merge-request-comparison-check - echo "--------------- Running merge-request-comparison-check anchor ---------------" - if [ $zero_errors != 1 ]; then echo "Run errors encountered!"; exit $EXIT_CODE_FAIL; fi - if [ $exit_code -eq 1 ] && [ $non_be_flag == 0 ]; then echo "Non-bitexact cases without non-BE tag encountered!"; exit $EXIT_CODE_FAIL; fi - if [ $exit_code -eq 1 ] && [ $non_be_flag != 0 ]; then echo "Non-bitexact cases with non-BE tag encountered"; exit $EXIT_CODE_NON_BE; fi Loading apps/encoder.c +12 −0 Original line number Diff line number Diff line Loading @@ -1690,6 +1690,13 @@ static bool parseCmdlIVAS_enc( i++; } #ifdef FIX_643_PCA_OPTION else if ( strcmp( argv_to_upper, "-PCA" ) == 0 ) { arg->pca = 1; i++; } #else else if ( strcmp( argv_to_upper, "-BYPASS" ) == 0 ) // TODO: should be renamed to "-pca" { i++; Loading Loading @@ -1723,6 +1730,7 @@ static bool parseCmdlIVAS_enc( return false; } } #endif /*-----------------------------------------------------------------* * Option not recognized Loading Loading @@ -1919,7 +1927,11 @@ static void usage_enc( void ) fprintf( stdout, "-mime : Mime output bitstream file format\n" ); fprintf( stdout, " The encoder produces TS26.445 Annex.2.6 Mime Storage Format, (not RFC4867 Mime Format).\n" ); fprintf( stdout, " default output bitstream file format is G.192\n" ); #ifdef FIX_643_PCA_OPTION fprintf( stdout, "-pca : activate PCA in SBA format FOA at 256 kbps \n" ); #else fprintf( stdout, "-bypass mode : SBA PCA by-pass, mode = (1, 2), 1 = PCA off, 2 = signal adaptive, default is 1\n" ); #endif fprintf( stdout, "-level level : Complexity level, level = (1, 2, 3), will be defined after characterisation. \n" ); fprintf( stdout, " Currently, all values default to level 3 (full functionality).\n" ); #ifdef DEBUGGING Loading apps/renderer.c +25 −0 Original line number Diff line number Diff line Loading @@ -1815,6 +1815,26 @@ int main( exit( -1 ); } #ifdef NONBE_FIX_225_MASA_EXT_REND if ( isCurrentFrameMultipleOf20ms ) { if ( masaReaders[i] != NULL ) { /* This will update data in hMasaMetadata[i] */ if ( ( error = MasaFileReader_readNextFrame( masaReaders[i] ) ) != IVAS_ERR_OK ) { fprintf( stderr, "Error in MASA Metadata File Reading: %s\n", ivas_error_to_string( error ) ); exit( -1 ); } if ( ( error = IVAS_REND_FeedInputMasaMetadata( hIvasRend, masaIds[i], hMasaMetadata[i] ) ) != IVAS_ERR_OK ) { fprintf( stderr, "Error: %s\n", ivas_error_to_string( error ) ); exit( -1 ); } } } #else if ( masaReaders[i] != NULL ) { /* This will update data in hMasaMetadata[i] */ Loading @@ -1826,6 +1846,7 @@ int main( exit( -1 ); } } #endif } Loading Loading @@ -2530,9 +2551,13 @@ static IVAS_AUDIO_CONFIG parseAudioConfig( switch ( charBuf[4] ) { case '1': #ifdef NONBE_FIX_225_MASA_EXT_REND return IVAS_AUDIO_CONFIG_MASA1; #else fprintf( stderr, "1TC MASA support is not functional and is pending on DirAC renderer refactoring.\n" ); exit( EXIT_FAILURE ); /*return IVAS_AUDIO_CONFIG_MASA1;*/ // ToDo: temporarily disabled to avoid compilation warnings #endif case '2': return IVAS_AUDIO_CONFIG_MASA2; default: Loading lib_com/options.h +2 −0 Original line number Diff line number Diff line Loading @@ -156,6 +156,7 @@ #define FIX_890_ARRAY_SIZE /* Nokia: issue #890: mismatch in 2D array size declaration and use */ #define BE_FIX_887_GCC_WARNING_ARRAY_SIZE /* VoiceAge: Issue 887: change array size definition to avoid warning with gcc 11.4.0 */ #define FIX_247_EXTERNAL_RENDERER_COMMAND_LINE /* VA: issue 247: harmonize command-line options names of external renderer with the decoder */ #define FIX_643_PCA_OPTION /* VA: issue 643: rename PCA bypass command-line option */ /* #################### End BE switches ################################## */ Loading @@ -167,6 +168,7 @@ #define NONBE_FIX_856_TCX_LTP_SYNTH_FILTER /* FhG: issue 856: correct filtering length for tcx-ltp synth filtering*/ #define NONBE_UNIFIED_DECODING_PATHS /* FhG: unify decoding paths */ #define NONBE_FIX_874_OMASA_BRSW_2TD /* Nokia: issue 874: Fixes the crashes with the long test vectors that prompted switching to TD*/ #define NONBE_FIX_225_MASA_EXT_REND /* Nokia: Resolve #225: Complete MASA external renderer implementation */ #define NONBE_FIX_862_UBSAN_SPAR_DEC_BR_SW_PLC /* DLB: issue 862 : UBSAN: out-of-bound error in SPAR for OSBA bitrate switching with PLC*/ /* ##################### End NON-BE switches ########################### */ Loading lib_dec/ivas_dirac_dec.c +17 −0 Original line number Diff line number Diff line Loading @@ -41,6 +41,9 @@ #include "ivas_cnst.h" #include "ivas_rom_com.h" #include "ivas_rom_dec.h" #ifdef NONBE_FIX_225_MASA_EXT_REND #include "ivas_rom_rend.h" #endif #ifdef DEBUGGING #include "debug.h" #endif Loading Loading @@ -840,8 +843,14 @@ ivas_error ivas_dirac_dec_config( if ( !sparfoa_flag ) { common_rend_config_flag = st_ivas->hSpatParamRendCom == NULL ? DIRAC_OPEN : flag_config_inp; #ifdef NONBE_FIX_225_MASA_EXT_REND if ( ( error = ivas_spat_hSpatParamRendCom_config( &st_ivas->hSpatParamRendCom, common_rend_config_flag, dec_param_estim_new, st_ivas->ivas_format, st_ivas->mc_mode, output_Fs, hodirac_flag, 0 ) ) != IVAS_ERR_OK ) #else if ( ( error = ivas_spat_hSpatParamRendCom_config( &st_ivas->hSpatParamRendCom, common_rend_config_flag, dec_param_estim_new, st_ivas->ivas_format, st_ivas->mc_mode, output_Fs, hodirac_flag ) ) != IVAS_ERR_OK ) #endif { return error; } Loading Loading @@ -1960,7 +1969,11 @@ void ivas_dirac_dec_render_sf( ivas_dirac_dec_compute_directional_responses( hSpatParamRendCom, hDirACRend, st_ivas->hVBAPdata, #ifdef NONBE_FIX_225_MASA_EXT_REND st_ivas->hMasa == NULL ? NULL : st_ivas->hMasa->data.band_mapping, #else st_ivas->hMasa, #endif st_ivas->hMasaIsmData, azimuth, elevation, Loading @@ -1975,7 +1988,11 @@ void ivas_dirac_dec_render_sf( ivas_dirac_dec_compute_directional_responses( hSpatParamRendCom, hDirACRend, st_ivas->hVBAPdata, #ifdef NONBE_FIX_225_MASA_EXT_REND st_ivas->hMasa == NULL ? NULL : st_ivas->hMasa->data.band_mapping, #else st_ivas->hMasa, #endif st_ivas->hMasaIsmData, azimuth, elevation, Loading Loading
.gitlab-ci.yml +1 −0 Original line number Diff line number Diff line Loading @@ -138,6 +138,7 @@ stages: - mv IVAS_rend_test IVAS_rend .merge-request-comparison-check: &merge-request-comparison-check - echo "--------------- Running merge-request-comparison-check anchor ---------------" - if [ $zero_errors != 1 ]; then echo "Run errors encountered!"; exit $EXIT_CODE_FAIL; fi - if [ $exit_code -eq 1 ] && [ $non_be_flag == 0 ]; then echo "Non-bitexact cases without non-BE tag encountered!"; exit $EXIT_CODE_FAIL; fi - if [ $exit_code -eq 1 ] && [ $non_be_flag != 0 ]; then echo "Non-bitexact cases with non-BE tag encountered"; exit $EXIT_CODE_NON_BE; fi Loading
apps/encoder.c +12 −0 Original line number Diff line number Diff line Loading @@ -1690,6 +1690,13 @@ static bool parseCmdlIVAS_enc( i++; } #ifdef FIX_643_PCA_OPTION else if ( strcmp( argv_to_upper, "-PCA" ) == 0 ) { arg->pca = 1; i++; } #else else if ( strcmp( argv_to_upper, "-BYPASS" ) == 0 ) // TODO: should be renamed to "-pca" { i++; Loading Loading @@ -1723,6 +1730,7 @@ static bool parseCmdlIVAS_enc( return false; } } #endif /*-----------------------------------------------------------------* * Option not recognized Loading Loading @@ -1919,7 +1927,11 @@ static void usage_enc( void ) fprintf( stdout, "-mime : Mime output bitstream file format\n" ); fprintf( stdout, " The encoder produces TS26.445 Annex.2.6 Mime Storage Format, (not RFC4867 Mime Format).\n" ); fprintf( stdout, " default output bitstream file format is G.192\n" ); #ifdef FIX_643_PCA_OPTION fprintf( stdout, "-pca : activate PCA in SBA format FOA at 256 kbps \n" ); #else fprintf( stdout, "-bypass mode : SBA PCA by-pass, mode = (1, 2), 1 = PCA off, 2 = signal adaptive, default is 1\n" ); #endif fprintf( stdout, "-level level : Complexity level, level = (1, 2, 3), will be defined after characterisation. \n" ); fprintf( stdout, " Currently, all values default to level 3 (full functionality).\n" ); #ifdef DEBUGGING Loading
apps/renderer.c +25 −0 Original line number Diff line number Diff line Loading @@ -1815,6 +1815,26 @@ int main( exit( -1 ); } #ifdef NONBE_FIX_225_MASA_EXT_REND if ( isCurrentFrameMultipleOf20ms ) { if ( masaReaders[i] != NULL ) { /* This will update data in hMasaMetadata[i] */ if ( ( error = MasaFileReader_readNextFrame( masaReaders[i] ) ) != IVAS_ERR_OK ) { fprintf( stderr, "Error in MASA Metadata File Reading: %s\n", ivas_error_to_string( error ) ); exit( -1 ); } if ( ( error = IVAS_REND_FeedInputMasaMetadata( hIvasRend, masaIds[i], hMasaMetadata[i] ) ) != IVAS_ERR_OK ) { fprintf( stderr, "Error: %s\n", ivas_error_to_string( error ) ); exit( -1 ); } } } #else if ( masaReaders[i] != NULL ) { /* This will update data in hMasaMetadata[i] */ Loading @@ -1826,6 +1846,7 @@ int main( exit( -1 ); } } #endif } Loading Loading @@ -2530,9 +2551,13 @@ static IVAS_AUDIO_CONFIG parseAudioConfig( switch ( charBuf[4] ) { case '1': #ifdef NONBE_FIX_225_MASA_EXT_REND return IVAS_AUDIO_CONFIG_MASA1; #else fprintf( stderr, "1TC MASA support is not functional and is pending on DirAC renderer refactoring.\n" ); exit( EXIT_FAILURE ); /*return IVAS_AUDIO_CONFIG_MASA1;*/ // ToDo: temporarily disabled to avoid compilation warnings #endif case '2': return IVAS_AUDIO_CONFIG_MASA2; default: Loading
lib_com/options.h +2 −0 Original line number Diff line number Diff line Loading @@ -156,6 +156,7 @@ #define FIX_890_ARRAY_SIZE /* Nokia: issue #890: mismatch in 2D array size declaration and use */ #define BE_FIX_887_GCC_WARNING_ARRAY_SIZE /* VoiceAge: Issue 887: change array size definition to avoid warning with gcc 11.4.0 */ #define FIX_247_EXTERNAL_RENDERER_COMMAND_LINE /* VA: issue 247: harmonize command-line options names of external renderer with the decoder */ #define FIX_643_PCA_OPTION /* VA: issue 643: rename PCA bypass command-line option */ /* #################### End BE switches ################################## */ Loading @@ -167,6 +168,7 @@ #define NONBE_FIX_856_TCX_LTP_SYNTH_FILTER /* FhG: issue 856: correct filtering length for tcx-ltp synth filtering*/ #define NONBE_UNIFIED_DECODING_PATHS /* FhG: unify decoding paths */ #define NONBE_FIX_874_OMASA_BRSW_2TD /* Nokia: issue 874: Fixes the crashes with the long test vectors that prompted switching to TD*/ #define NONBE_FIX_225_MASA_EXT_REND /* Nokia: Resolve #225: Complete MASA external renderer implementation */ #define NONBE_FIX_862_UBSAN_SPAR_DEC_BR_SW_PLC /* DLB: issue 862 : UBSAN: out-of-bound error in SPAR for OSBA bitrate switching with PLC*/ /* ##################### End NON-BE switches ########################### */ Loading
lib_dec/ivas_dirac_dec.c +17 −0 Original line number Diff line number Diff line Loading @@ -41,6 +41,9 @@ #include "ivas_cnst.h" #include "ivas_rom_com.h" #include "ivas_rom_dec.h" #ifdef NONBE_FIX_225_MASA_EXT_REND #include "ivas_rom_rend.h" #endif #ifdef DEBUGGING #include "debug.h" #endif Loading Loading @@ -840,8 +843,14 @@ ivas_error ivas_dirac_dec_config( if ( !sparfoa_flag ) { common_rend_config_flag = st_ivas->hSpatParamRendCom == NULL ? DIRAC_OPEN : flag_config_inp; #ifdef NONBE_FIX_225_MASA_EXT_REND if ( ( error = ivas_spat_hSpatParamRendCom_config( &st_ivas->hSpatParamRendCom, common_rend_config_flag, dec_param_estim_new, st_ivas->ivas_format, st_ivas->mc_mode, output_Fs, hodirac_flag, 0 ) ) != IVAS_ERR_OK ) #else if ( ( error = ivas_spat_hSpatParamRendCom_config( &st_ivas->hSpatParamRendCom, common_rend_config_flag, dec_param_estim_new, st_ivas->ivas_format, st_ivas->mc_mode, output_Fs, hodirac_flag ) ) != IVAS_ERR_OK ) #endif { return error; } Loading Loading @@ -1960,7 +1969,11 @@ void ivas_dirac_dec_render_sf( ivas_dirac_dec_compute_directional_responses( hSpatParamRendCom, hDirACRend, st_ivas->hVBAPdata, #ifdef NONBE_FIX_225_MASA_EXT_REND st_ivas->hMasa == NULL ? NULL : st_ivas->hMasa->data.band_mapping, #else st_ivas->hMasa, #endif st_ivas->hMasaIsmData, azimuth, elevation, Loading @@ -1975,7 +1988,11 @@ void ivas_dirac_dec_render_sf( ivas_dirac_dec_compute_directional_responses( hSpatParamRendCom, hDirACRend, st_ivas->hVBAPdata, #ifdef NONBE_FIX_225_MASA_EXT_REND st_ivas->hMasa == NULL ? NULL : st_ivas->hMasa->data.band_mapping, #else st_ivas->hMasa, #endif st_ivas->hMasaIsmData, azimuth, elevation, Loading