Loading .gitlab-ci.yml +35 −7 Original line number Diff line number Diff line Loading @@ -201,7 +201,23 @@ stages: - make clean - make -j CLANG=$CLANG_NUM - testcase_timeout=$SELFTEST_SANITY_TIMEOUT - UBSAN_OPTIONS=suppressions=scripts/ubsan.supp,report_error_type=1 python3 -m pytest $SELF_TEST_PRM_FILE -v --update_ref 1 -m create_ref --html=report.html --self-contained-html --junit-xml=report-junit.xml --testcase_timeout=$testcase_timeout --ref_encoder_path ./IVAS_cod --ref_decoder_path ./IVAS_dec - export UBSAN_OPTIONS=suppressions=scripts/ubsan.supp,report_error_type=1 - exit_code20=0 - exit_code10=0 - exit_code5=0 - if [ $CLANG_NUM -eq 1 ]; then sanitizer_type="MemorySanitizer"; elif [ $CLANG_NUM -eq 2 ]; then sanitizer_type="AddressSanitizer"; elif [ $CLANG_NUM -eq 3 ]; then sanitizer_type="UndefinedBehaviorSanitizer"; else echo "Wrong CLANG_NUM $CLANG_NUM given!"; exit 1; fi # run encoder and decoder with 20ms renderer framesize first, use reference creation mode - python3 -m pytest $SELF_TEST_PRM_FILE -v --update_ref 1 -m create_ref --html=report-20ms.html --self-contained-html --junit-xml=report-junit-20ms.xml --testcase_timeout=$testcase_timeout --ref_encoder_path ./IVAS_cod --ref_decoder_path ./IVAS_dec || exit_code20=$? # for 10ms and 5ms renderer framesize, we only need to run the decoder part as renderer framesize is a decoder-only option # set tolerance very high do ignore any BE differences due to the different renderer framesizes, those can appear due to the limiter being active # we are only interested in runtime errors from the sanitizers and ignore the diffs - python3 -m pytest $SELF_TEST_PRM_FILE -v --html=report-5ms.html --self-contained-html --junit-xml=report-junit-5ms.xml --dut_fr 5 --decoder_only --abs_tol 100000 || exit_code5=$? - python3 -m pytest $SELF_TEST_PRM_FILE -v --html=report-10ms.html --self-contained-html --junit-xml=report-junit-10ms.xml --dut_fr 10 --decoder_only --abs_tol 100000 || exit_code10=$? - if [ $exit_code20 -ne 0 ] || [ $exit_code10 -ne 0 ] || [ $exit_code5 -ne 0 ]; then exit 1; fi # --------------------------------------------------------------- Loading Loading @@ -283,12 +299,18 @@ stages: expire_in: 1 week when: always paths: - report-junit.xml - report.html - report-junit-20ms.xml - report-junit-10ms.xml - report-junit-5ms.xml - report-20ms.html - report-10ms.html - report-5ms.html expose_as: "Sanitizer selftest results" reports: junit: - report-junit.xml - report-junit-20ms.xml - report-junit-10ms.xml - report-junit-5ms.xml .sanitizer-selftest-ltv: stage: test Loading @@ -299,12 +321,18 @@ stages: expire_in: 2 week when: always paths: - report-junit.xml - report.html - report-junit-20ms.xml - report-junit-10ms.xml - report-junit-5ms.xml - report-20ms.html - report-10ms.html - report-5ms.html expose_as: "Sanitizer selftest results" reports: junit: - report-junit.xml - report-junit-20ms.xml - report-junit-10ms.xml - report-junit-5ms.xml # --------------------------------------------------------------- # .pre jobs for setting up things Loading ci/complexity_measurements/mergeNewsletterRam.py +0 −1 Original line number Diff line number Diff line Loading @@ -29,7 +29,6 @@ # accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and # the United Nations Convention on Contracts on the International Sales of Goods. import csv import re import sys newsletterFilename = "" Loading ci/complexity_measurements/mergeNewsletterRom.py +0 −1 Original line number Diff line number Diff line Loading @@ -29,7 +29,6 @@ # accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and # the United Nations Convention on Contracts on the International Sales of Goods. import csv import re import sys newsletterFilename = "" Loading lib_com/ivas_prot.h +7 −7 Original line number Diff line number Diff line Loading @@ -1096,11 +1096,13 @@ void ivas_param_ism_dec_close( const AUDIO_CONFIG output_config /* i : output audio configuration */ ); #ifndef FIX_1022_REMOVE_PARAMISM_DEC void ivas_param_ism_dec( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ float *output_f[] /* i/o: synthesized core-coder transport channels/DirAC output */ ); #endif void ivas_ism_dec_digest_tc( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ); Loading Loading @@ -3498,13 +3500,6 @@ ivas_error ivas_cldfb_dec_reconfig( const int16_t numCldfbSyntheses_old /* i : number of CLDFB synthesis instances in previous frame */ ); #ifndef FIX_993_REMOVE_SBA_GET_ORDER /*! r: Ambisonic (SBA) order */ int16_t ivas_sba_get_order( const int16_t nb_channels, /* i : Number of ambisonic channels */ const int16_t sba_planar /* i : SBA planar flag */ ); #endif /*! r: Ambisonic (SBA) order used for analysis and coding */ int16_t ivas_sba_get_analysis_order( const int32_t ivas_total_brate, /* i : IVAS total bitrate */ Loading Loading @@ -3875,11 +3870,13 @@ void ivas_param_mc_dec_render( float *output_f[] /* o : rendered time signal */ ); #ifndef FIX_1023_REMOVE_PARAMMC_DEC void ivas_param_mc_dec( Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ float *output_f[] /* i/o: synthesized core-coder transport channels/DirAC output */ ); #endif /*! r: number of cldfb synthesis instances */ int16_t param_mc_get_num_cldfb_syntheses( Decoder_Struct *st_ivas /* i : IVAS decoder structure */ Loading Loading @@ -5222,6 +5219,9 @@ void ivas_ism_renderer_close( void ivas_ism_render_sf( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ #ifdef NONBE_FIX_1021_ISM_BRIR_RS_FLUSH const RENDERER_TYPE renderer_type, /* i : active renderer type */ #endif float *output_f[], /* i/o: core-coder transport channels/object output */ const int16_t n_samples_to_render /* i : output frame length per channel */ ); Loading lib_com/ivas_sba_config.c +0 −47 Original line number Diff line number Diff line Loading @@ -64,23 +64,7 @@ void ivas_sba_config( int16_t *element_mode /* o : element mode of the core coder */ ) { #ifndef FIX_993_REMOVE_SBA_GET_ORDER if ( ( sba_order < 0 ) && ( nb_channels < 0 ) ) { assert( 0 && "Either order or number of channels must be positive" ); } else if ( sba_order < 0 ) { sba_order = ivas_sba_get_order( nb_channels, sba_planar ); } else if ( nb_channels < 0 ) { nb_channels = ivas_sba_get_nchan( sba_order, sba_planar ); } else #else if ( nb_channels > 0 ) #endif { if ( sba_planar ) { Loading Loading @@ -121,37 +105,6 @@ void ivas_sba_config( return; } #ifndef FIX_993_REMOVE_SBA_GET_ORDER /*-------------------------------------------------------------------* * ivas_sba_get_order() * * Get Ambisonic order from number of ambisonic channels *-------------------------------------------------------------------*/ /*! r: Ambisonic (SBA) order */ int16_t ivas_sba_get_order( const int16_t nb_channels, /* i : Number of ambisonic channels */ const int16_t sba_planar /* i : SBA Planar flag */ ) { int16_t sba_order; if ( sba_planar ) { sba_order = ( nb_channels - 1 ) / 2; assert( ( 2 * sba_order + 1 == nb_channels ) && "Number of channels not supported in Planar SBA!" ); } else { sba_order = (int16_t) sqrtf( (float) nb_channels ) - 1; assert( ( ( sba_order + 1 ) * ( sba_order + 1 ) == nb_channels ) && "Number of channels not supported in SBA!" ); } assert( ( sba_order <= 3 ) && "Error: SBA order must be <= 3!" ); return ( sba_order ); } #endif /*-------------------------------------------------------------------* * ivas_sba_get_analysis_order() Loading Loading
.gitlab-ci.yml +35 −7 Original line number Diff line number Diff line Loading @@ -201,7 +201,23 @@ stages: - make clean - make -j CLANG=$CLANG_NUM - testcase_timeout=$SELFTEST_SANITY_TIMEOUT - UBSAN_OPTIONS=suppressions=scripts/ubsan.supp,report_error_type=1 python3 -m pytest $SELF_TEST_PRM_FILE -v --update_ref 1 -m create_ref --html=report.html --self-contained-html --junit-xml=report-junit.xml --testcase_timeout=$testcase_timeout --ref_encoder_path ./IVAS_cod --ref_decoder_path ./IVAS_dec - export UBSAN_OPTIONS=suppressions=scripts/ubsan.supp,report_error_type=1 - exit_code20=0 - exit_code10=0 - exit_code5=0 - if [ $CLANG_NUM -eq 1 ]; then sanitizer_type="MemorySanitizer"; elif [ $CLANG_NUM -eq 2 ]; then sanitizer_type="AddressSanitizer"; elif [ $CLANG_NUM -eq 3 ]; then sanitizer_type="UndefinedBehaviorSanitizer"; else echo "Wrong CLANG_NUM $CLANG_NUM given!"; exit 1; fi # run encoder and decoder with 20ms renderer framesize first, use reference creation mode - python3 -m pytest $SELF_TEST_PRM_FILE -v --update_ref 1 -m create_ref --html=report-20ms.html --self-contained-html --junit-xml=report-junit-20ms.xml --testcase_timeout=$testcase_timeout --ref_encoder_path ./IVAS_cod --ref_decoder_path ./IVAS_dec || exit_code20=$? # for 10ms and 5ms renderer framesize, we only need to run the decoder part as renderer framesize is a decoder-only option # set tolerance very high do ignore any BE differences due to the different renderer framesizes, those can appear due to the limiter being active # we are only interested in runtime errors from the sanitizers and ignore the diffs - python3 -m pytest $SELF_TEST_PRM_FILE -v --html=report-5ms.html --self-contained-html --junit-xml=report-junit-5ms.xml --dut_fr 5 --decoder_only --abs_tol 100000 || exit_code5=$? - python3 -m pytest $SELF_TEST_PRM_FILE -v --html=report-10ms.html --self-contained-html --junit-xml=report-junit-10ms.xml --dut_fr 10 --decoder_only --abs_tol 100000 || exit_code10=$? - if [ $exit_code20 -ne 0 ] || [ $exit_code10 -ne 0 ] || [ $exit_code5 -ne 0 ]; then exit 1; fi # --------------------------------------------------------------- Loading Loading @@ -283,12 +299,18 @@ stages: expire_in: 1 week when: always paths: - report-junit.xml - report.html - report-junit-20ms.xml - report-junit-10ms.xml - report-junit-5ms.xml - report-20ms.html - report-10ms.html - report-5ms.html expose_as: "Sanitizer selftest results" reports: junit: - report-junit.xml - report-junit-20ms.xml - report-junit-10ms.xml - report-junit-5ms.xml .sanitizer-selftest-ltv: stage: test Loading @@ -299,12 +321,18 @@ stages: expire_in: 2 week when: always paths: - report-junit.xml - report.html - report-junit-20ms.xml - report-junit-10ms.xml - report-junit-5ms.xml - report-20ms.html - report-10ms.html - report-5ms.html expose_as: "Sanitizer selftest results" reports: junit: - report-junit.xml - report-junit-20ms.xml - report-junit-10ms.xml - report-junit-5ms.xml # --------------------------------------------------------------- # .pre jobs for setting up things Loading
ci/complexity_measurements/mergeNewsletterRam.py +0 −1 Original line number Diff line number Diff line Loading @@ -29,7 +29,6 @@ # accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and # the United Nations Convention on Contracts on the International Sales of Goods. import csv import re import sys newsletterFilename = "" Loading
ci/complexity_measurements/mergeNewsletterRom.py +0 −1 Original line number Diff line number Diff line Loading @@ -29,7 +29,6 @@ # accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and # the United Nations Convention on Contracts on the International Sales of Goods. import csv import re import sys newsletterFilename = "" Loading
lib_com/ivas_prot.h +7 −7 Original line number Diff line number Diff line Loading @@ -1096,11 +1096,13 @@ void ivas_param_ism_dec_close( const AUDIO_CONFIG output_config /* i : output audio configuration */ ); #ifndef FIX_1022_REMOVE_PARAMISM_DEC void ivas_param_ism_dec( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ float *output_f[] /* i/o: synthesized core-coder transport channels/DirAC output */ ); #endif void ivas_ism_dec_digest_tc( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ); Loading Loading @@ -3498,13 +3500,6 @@ ivas_error ivas_cldfb_dec_reconfig( const int16_t numCldfbSyntheses_old /* i : number of CLDFB synthesis instances in previous frame */ ); #ifndef FIX_993_REMOVE_SBA_GET_ORDER /*! r: Ambisonic (SBA) order */ int16_t ivas_sba_get_order( const int16_t nb_channels, /* i : Number of ambisonic channels */ const int16_t sba_planar /* i : SBA planar flag */ ); #endif /*! r: Ambisonic (SBA) order used for analysis and coding */ int16_t ivas_sba_get_analysis_order( const int32_t ivas_total_brate, /* i : IVAS total bitrate */ Loading Loading @@ -3875,11 +3870,13 @@ void ivas_param_mc_dec_render( float *output_f[] /* o : rendered time signal */ ); #ifndef FIX_1023_REMOVE_PARAMMC_DEC void ivas_param_mc_dec( Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ float *output_f[] /* i/o: synthesized core-coder transport channels/DirAC output */ ); #endif /*! r: number of cldfb synthesis instances */ int16_t param_mc_get_num_cldfb_syntheses( Decoder_Struct *st_ivas /* i : IVAS decoder structure */ Loading Loading @@ -5222,6 +5219,9 @@ void ivas_ism_renderer_close( void ivas_ism_render_sf( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ #ifdef NONBE_FIX_1021_ISM_BRIR_RS_FLUSH const RENDERER_TYPE renderer_type, /* i : active renderer type */ #endif float *output_f[], /* i/o: core-coder transport channels/object output */ const int16_t n_samples_to_render /* i : output frame length per channel */ ); Loading
lib_com/ivas_sba_config.c +0 −47 Original line number Diff line number Diff line Loading @@ -64,23 +64,7 @@ void ivas_sba_config( int16_t *element_mode /* o : element mode of the core coder */ ) { #ifndef FIX_993_REMOVE_SBA_GET_ORDER if ( ( sba_order < 0 ) && ( nb_channels < 0 ) ) { assert( 0 && "Either order or number of channels must be positive" ); } else if ( sba_order < 0 ) { sba_order = ivas_sba_get_order( nb_channels, sba_planar ); } else if ( nb_channels < 0 ) { nb_channels = ivas_sba_get_nchan( sba_order, sba_planar ); } else #else if ( nb_channels > 0 ) #endif { if ( sba_planar ) { Loading Loading @@ -121,37 +105,6 @@ void ivas_sba_config( return; } #ifndef FIX_993_REMOVE_SBA_GET_ORDER /*-------------------------------------------------------------------* * ivas_sba_get_order() * * Get Ambisonic order from number of ambisonic channels *-------------------------------------------------------------------*/ /*! r: Ambisonic (SBA) order */ int16_t ivas_sba_get_order( const int16_t nb_channels, /* i : Number of ambisonic channels */ const int16_t sba_planar /* i : SBA Planar flag */ ) { int16_t sba_order; if ( sba_planar ) { sba_order = ( nb_channels - 1 ) / 2; assert( ( 2 * sba_order + 1 == nb_channels ) && "Number of channels not supported in Planar SBA!" ); } else { sba_order = (int16_t) sqrtf( (float) nb_channels ) - 1; assert( ( ( sba_order + 1 ) * ( sba_order + 1 ) == nb_channels ) && "Number of channels not supported in SBA!" ); } assert( ( sba_order <= 3 ) && "Error: SBA order must be <= 3!" ); return ( sba_order ); } #endif /*-------------------------------------------------------------------* * ivas_sba_get_analysis_order() Loading