Loading .gitlab-ci.yml +57 −71 Original line number Diff line number Diff line Loading @@ -24,7 +24,6 @@ variables: options: - 'default' - 'pytest-mld' - 'pytest-mld-interop' - 'pytest-mld-long' - 'pytest-saturation-smoke-test' - 'evs-26444' Loading Loading @@ -53,9 +52,6 @@ workflow: - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'pytest-mld' variables: IVAS_PIPELINE_NAME: 'Run MLD tool against float ref: $CI_COMMIT_BRANCH' - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'pytest-mld-interop' variables: IVAS_PIPELINE_NAME: 'Run MLD tool agains float ref - interop: $CI_COMMIT_BRANCH' - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'pytest-mld-long' variables: IVAS_PIPELINE_NAME: 'Run MLD tool against float ref (long test vectors): $CI_COMMIT_BRANCH' Loading Loading @@ -172,15 +168,6 @@ stages: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' when: never .rules-pytest-mld-interop: rules: - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == "pytest-mld-interop" - if: $CI_PIPELINE_SOURCE == 'push' when: never - if: $CI_PIPELINE_SOURCE == 'merge_request_event' when: never .rules-pytest-saturation-smoke-test: rules: - if: $PYTEST_SMOKE_TEST # Set by scheduled pipeline Loading Loading @@ -240,10 +227,10 @@ stages: ### run pytest - exit_code=0 - python3 -m pytest $TEST_SUITE -v --create_cut --html=report.html --self-contained-html --junit-xml=report-junit.xml --mld --ssnr --dut_encoder_path $DUT_ENCODER_PATH --dut_decoder_path $DUT_DECODER_PATH -n auto --testcase_timeout $testcase_timeout || exit_code=$? - python3 -m pytest --tb=no $TEST_SUITE -v --create_cut --html=report.html --self-contained-html --junit-xml=report-junit.xml --mld --ssnr --dut_encoder_path $DUT_ENCODER_PATH --dut_decoder_path $DUT_DECODER_PATH -n auto --testcase_timeout $testcase_timeout || exit_code=$? - zero_errors=$(cat report-junit.xml | grep -c 'errors="0"') || true - python3 scripts/parse_mld_xml.py report-junit.xml $MLD_ARTIFACT_NAME - python3 scripts/parse_xml_report.py report-junit.xml $MLD_ARTIFACT_NAME - if [ $USE_LTV -eq 1 ] && [ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]; then - id_previous=$(python3 ci/get_id_of_last_job_occurence.py $CI_DEFAULT_BRANCH $CI_JOB_NAME $CI_PROJECT_ID) Loading Loading @@ -302,7 +289,7 @@ stages: - make -j CLANG=$CLANG_NUM - if [[ $CLANG_NUM == 3 ]]; then export UBSAN_OPTIONS="suppressions=scripts/ubsan.supp,report_error_type=1"; fi - testcase_timeout=$TESTCASE_TIMEOUT_STV - python3 -m pytest $SHORT_TEST_SUITE -v --tb=no --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 --ref_decoder_path ./IVAS_dec - python3 -m pytest $SHORT_TEST_SUITE -v --tb=no --update_ref 1 -m create_ref --html=report.html --self-contained-html --junit-xml=report-junit.xml --testcase_timeout $testcase_timeout --ref_encoder_path $DUT_ENCODER_PATH --ref_decoder_path $DUT_DECODER_PATH artifacts: name: "$CI_JOB_NAME--sha-$CI_COMMIT_SHORT_SHA--results" when: always Loading Loading @@ -410,98 +397,94 @@ build-codec-linux-instrumented-make: # Short test jobs # --------------------------------------------------------------- #ivas-pytest-mld-enc-dec: # extends: # - .rules-pytest-mld # - .test-job-linux # before_script: # - USE_LTV=0 # - TEST_SUITE="$SHORT_TEST_SUITE" # - LEVEL_SCALING=1.0 # <<: *ivas-pytest-anchor ivas-pytest-mld-dec: ### jobs that test fx encoder -> flt decoder ivas-pytest-mld-enc: extends: - .rules-pytest-mld - .test-job-linux before_script: - USE_LTV=0 - DUT_ENCODER_PATH=./IVAS_cod_ref - DUT_DECODER_PATH=./IVAS_dec_ref - TEST_SUITE="$SHORT_TEST_SUITE" - LEVEL_SCALING=1.0 <<: *ivas-pytest-anchor #ivas-pytest-mld-enc-dec-lev-10: # extends: # - .rules-pytest-mld # - .test-job-linux # before_script: # - USE_LTV=0 # - TEST_SUITE="$SHORT_TEST_SUITE" # - LEVEL_SCALING=0.3162 # <<: *ivas-pytest-anchor ivas-pytest-mld-dec-lev-10: ivas-pytest-mld-enc-lev-10: extends: - .rules-pytest-mld - .test-job-linux before_script: - USE_LTV=0 - DUT_ENCODER_PATH=./IVAS_cod_ref - DUT_DECODER_PATH=./IVAS_dec_ref - TEST_SUITE="$SHORT_TEST_SUITE" - LEVEL_SCALING=0.3162 <<: *ivas-pytest-anchor #ivas-pytest-mld-enc-dec-lev+10: # extends: # - .rules-pytest-mld # - .test-job-linux # before_script: # - USE_LTV=0 # - TEST_SUITE="$SHORT_TEST_SUITE" # - LEVEL_SCALING=3.162 # <<: *ivas-pytest-anchor ivas-pytest-mld-dec-lev+10: ivas-pytest-mld-enc-lev+10: extends: - .rules-pytest-mld - .test-job-linux before_script: - USE_LTV=0 - DUT_ENCODER_PATH=./IVAS_cod_ref - DUT_DECODER_PATH=./IVAS_dec_ref - TEST_SUITE="$SHORT_TEST_SUITE" - LEVEL_SCALING=3.162 <<: *ivas-pytest-anchor ivas-pytest-mld-long-enc-fx-dec-flt-interop: ivas-pytest-enc-msan: extends: - .rules-pytest-mld-interop - .test-job-linux before_script: - USE_LTV=0 - CLANG_NUM=1 - DUT_DECODER_PATH=./IVAS_dec_ref <<: *ivas-pytest-sanitizers-anchor ivas-pytest-enc-asan: extends: - .test-job-linux before_script: - CLANG_NUM=2 - DUT_DECODER_PATH=./IVAS_dec_ref <<: *ivas-pytest-sanitizers-anchor ivas-pytest-enc-usan: extends: - .test-job-linux before_script: - CLANG_NUM=3 - DUT_DECODER_PATH=./IVAS_dec_ref <<: *ivas-pytest-sanitizers-anchor ### jobs that test flt encoder -> fx decoder ivas-pytest-mld-dec: extends: - .rules-pytest-mld - .test-job-linux before_script: - USE_LTV=0 - DUT_ENCODER_PATH=./IVAS_cod_ref - TEST_SUITE="$SHORT_TEST_SUITE" - LEVEL_SCALING=1.0 <<: *ivas-pytest-anchor ivas-pytest-mld-long-enc-fx-dec-flt-lev-10-interop: ivas-pytest-mld-dec-lev-10: extends: - .rules-pytest-mld-interop - .rules-pytest-mld - .test-job-linux before_script: - USE_LTV=0 - DUT_DECODER_PATH=./IVAS_dec_ref - DUT_ENCODER_PATH=./IVAS_cod_ref - TEST_SUITE="$SHORT_TEST_SUITE" - LEVEL_SCALING=0.3162 <<: *ivas-pytest-anchor ivas-pytest-mld-long-enc-fx-dec-flt-lev+10-interop: ivas-pytest-mld-dec-lev+10: extends: - .rules-pytest-mld-interop - .rules-pytest-mld - .test-job-linux before_script: - USE_LTV=0 - DUT_DECODER_PATH=./IVAS_dec_ref - DUT_ENCODER_PATH=./IVAS_cod_ref - TEST_SUITE="$SHORT_TEST_SUITE" - LEVEL_SCALING=3.162 <<: *ivas-pytest-anchor Loading @@ -511,6 +494,7 @@ ivas-pytest-dec-msan: - .test-job-linux before_script: - CLANG_NUM=1 - DUT_ENCODER_PATH=./IVAS_cod_ref <<: *ivas-pytest-sanitizers-anchor ivas-pytest-dec-asan: Loading @@ -518,6 +502,7 @@ ivas-pytest-dec-asan: - .test-job-linux before_script: - CLANG_NUM=2 - DUT_ENCODER_PATH=./IVAS_cod_ref <<: *ivas-pytest-sanitizers-anchor ivas-pytest-dec-usan: Loading @@ -525,6 +510,7 @@ ivas-pytest-dec-usan: - .test-job-linux before_script: - CLANG_NUM=3 - DUT_ENCODER_PATH=./IVAS_cod_ref <<: *ivas-pytest-sanitizers-anchor # --------------------------------------------------------------- Loading lib_com/cnst.h +2 −1 Original line number Diff line number Diff line Loading @@ -575,7 +575,7 @@ enum #define FRAMES_PER_SEC 50 #ifdef IVAS_FLOAT_FIXED #define MAX_PARAM_SPATIAL_SUB_FRAMES_PER_SEC 200 //(FRAMES_PER_SEC * MAX_PARAM_SPATIAL_SUBFRAMES) #define ONE_BY_FRAMES_PER_SEC_Q31 ((Word32)(0x028F5C29)) #define ONE_BY_FRAMES_PER_SEC_Q31 ( 42949673 ) #define FRAMES_PER_SEC_BY_2 (FRAMES_PER_SEC >> 1) #endif #define INV_FRAME_PER_SEC_Q15 656 Loading Loading @@ -607,6 +607,7 @@ enum #define N_WS2N_FRAMES 40 /* number of frames for attenuation during the band-width switching */ #define N_NS2W_FRAMES 20 /* number of frames for attenuation during the band-width switching */ #define ONE_BY_N_NS2W_FRAMES_Q15 ( 1638 ) /*----------------------------------------------------------------------------------* * Coder types (only for ACELP core when not running in AMR-WB IO mode) Loading lib_com/fill_spectrum.c +12 −8 Original line number Diff line number Diff line Loading @@ -352,13 +352,15 @@ void ivas_fill_spectrum_fx( IF( EQ_16( HQ_mode, HQ_HARMONIC ) ) { /*high_sfm = (core_brate == HQ_BWE_CROSSOVER_BRATE) ? HVQ_THRES_SFM_24k-1 : HVQ_THRES_SFM_32k-3; */ high_sfm = sub( HVQ_THRES_SFM_32k, 1 ); IF( LT_32( L_core_brate, HQ_BWE_CROSSOVER_BRATE ) ) high_sfm = HVQ_THRES_SFM_32k - 1; move16(); if ( LT_32( L_core_brate, HQ_BWE_CROSSOVER_BRATE ) ) { high_sfm = sub( HVQ_THRES_SFM_24k, 1 ); high_sfm = HVQ_THRES_SFM_24k - 1; move16(); } IF( LT_16( last_sfm, high_sfm ) ) if ( LT_16( last_sfm, high_sfm ) ) { last_sfm = high_sfm; move16(); Loading @@ -381,7 +383,7 @@ void ivas_fill_spectrum_fx( test(); test(); IF( EQ_16( length, L_FRAME16k ) || ( ( EQ_16( length, L_FRAME32k ) && NE_16( HQ_mode, HQ_HARMONIC ) && NE_16( HQ_mode, HQ_HVQ ) ) && EQ_16( *no_att_hangover, 0 ) ) ) ( ( EQ_16( length, L_FRAME32k ) && NE_16( HQ_mode, HQ_HARMONIC ) && NE_16( HQ_mode, HQ_HVQ ) ) && ( *no_att_hangover == 0 ) ) ) { /* Norm adjustment function */ env_adj_fx( npulses, length, last_sfm, norm_adj, env_stab, sfmsize ); Loading @@ -393,7 +395,7 @@ void ivas_fill_spectrum_fx( test(); test(); test(); IF( EQ_16( length, L_FRAME32k ) && ( ( LT_16( env_stab, 16384 ) && *no_att_hangover == 0 ) || EQ_16( HQ_mode, HQ_HVQ ) ) ) if ( EQ_16( length, L_FRAME32k ) && ( ( LT_16( env_stab, 16384 ) && *no_att_hangover == 0 ) || EQ_16( HQ_mode, HQ_HVQ ) ) ) { flag_32K_env_hangover = 1; move16(); Loading Loading @@ -426,7 +428,7 @@ void ivas_fill_spectrum_fx( *----------------------------------------------------------------*/ test(); IF( NE_16( HQ_mode, HQ_HVQ ) && GT_16( cb_size, 0 ) ) IF( NE_16( HQ_mode, HQ_HVQ ) && ( cb_size > 0 ) ) { apply_noisefill_HQ_fx( R, length, flag_32K_env_hangover, L_core_brate, last_sfm, CodeBook, CodeBook_mod, cb_size, sfm_start, sfm_end, sfmsize, coeff ); Loading @@ -436,7 +438,7 @@ void ivas_fill_spectrum_fx( * Normal mode BWE *----------------------------------------------------------------*/ IF( EQ_16( HQ_mode, HQ_NORMAL ) ) IF( HQ_mode == HQ_NORMAL ) { hq_fold_bwe_fx( last_sfm, sfm_end, num_sfm, coeff ); } Loading Loading @@ -524,6 +526,7 @@ void ivas_fill_spectrum_fx( IF( EQ_16( length, L_FRAME32k ) && LE_32( L_core_brate, HQ_32k ) ) { *prev_R = R[SFM_N_WB - 1]; move16(); Copy32( L_coeff_out + L_FRAME16k - L_HQ_WB_BWE, prev_coeff_out, L_HQ_WB_BWE ); } Loading Loading @@ -784,6 +787,7 @@ void fill_spectrum_fx( IF( EQ_16( length, L_FRAME32k ) && LE_32( L_core_brate, HQ_32k ) ) { *prev_R = R[SFM_N_WB - 1]; move16(); Copy32( L_coeff_out + L_FRAME16k - L_HQ_WB_BWE, prev_coeff_out, L_HQ_WB_BWE ); } Loading lib_com/findpulse.c +0 −1 Original line number Diff line number Diff line Loading @@ -185,7 +185,6 @@ Word16 findpulse_fx( /* o : pulse position *------------------------------------------------------------------------*/ ptr = resf + L_frame - 1; move16(); maxi = 0; move16(); Loading lib_com/fine_gain_bits_fx.c +3 −4 Original line number Diff line number Diff line Loading @@ -87,7 +87,6 @@ Word16 assign_gain_bits_fx( /* o : Number of assigned } /* Re-adjust bit budget for gain quantization */ move16(); gain_bits_tot = 0; move16(); *Rcalc = 0; Loading Loading @@ -125,7 +124,7 @@ static void ivas_subband_gain_bits_fx( { /*bps = (short)(Rk[i]*((word16)min(32767, ceil(32767.0f/sfmsize[i]); inexact C-integer division approx. */ bps = extract_l( L_shr( L_mult0( Rk[i], fg_inv_tbl_fx[sfmsize[i] >> 3] ), 18 ) ); /* 3+15 */ IF( EQ_32( L_shl( L_mult0( sfmsize[i], add( bps, 1 ) ), 3 ), Rk[i] ) ) if ( EQ_32( L_shl( L_mult0( sfmsize[i], add( bps, 1 ) ), 3 ), Rk[i] ) ) { bps = add( bps, 1 ); } Loading @@ -138,7 +137,7 @@ static void ivas_subband_gain_bits_fx( tot = add( tot, b ); } IF( EQ_16( tot, 0 ) ) if ( tot == 0 ) { /* If no gain bits were assigned, use one bit anyway for potential PVQ overage */ bits[0] = 1; Loading Loading @@ -177,7 +176,7 @@ Word16 ivas_assign_gain_bits_fx( /* o : Number of ass move16(); FOR( i = 0; i < BANDS; i++ ) { IF( GT_16( Rk[i], 0 ) ) IF( Rk[i] > 0 ) { Rk[i] = sub( Rk[i], shl( gain_bits_array[i], 3 ) ); move16(); Loading Loading
.gitlab-ci.yml +57 −71 Original line number Diff line number Diff line Loading @@ -24,7 +24,6 @@ variables: options: - 'default' - 'pytest-mld' - 'pytest-mld-interop' - 'pytest-mld-long' - 'pytest-saturation-smoke-test' - 'evs-26444' Loading Loading @@ -53,9 +52,6 @@ workflow: - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'pytest-mld' variables: IVAS_PIPELINE_NAME: 'Run MLD tool against float ref: $CI_COMMIT_BRANCH' - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'pytest-mld-interop' variables: IVAS_PIPELINE_NAME: 'Run MLD tool agains float ref - interop: $CI_COMMIT_BRANCH' - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'pytest-mld-long' variables: IVAS_PIPELINE_NAME: 'Run MLD tool against float ref (long test vectors): $CI_COMMIT_BRANCH' Loading Loading @@ -172,15 +168,6 @@ stages: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' when: never .rules-pytest-mld-interop: rules: - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == "pytest-mld-interop" - if: $CI_PIPELINE_SOURCE == 'push' when: never - if: $CI_PIPELINE_SOURCE == 'merge_request_event' when: never .rules-pytest-saturation-smoke-test: rules: - if: $PYTEST_SMOKE_TEST # Set by scheduled pipeline Loading Loading @@ -240,10 +227,10 @@ stages: ### run pytest - exit_code=0 - python3 -m pytest $TEST_SUITE -v --create_cut --html=report.html --self-contained-html --junit-xml=report-junit.xml --mld --ssnr --dut_encoder_path $DUT_ENCODER_PATH --dut_decoder_path $DUT_DECODER_PATH -n auto --testcase_timeout $testcase_timeout || exit_code=$? - python3 -m pytest --tb=no $TEST_SUITE -v --create_cut --html=report.html --self-contained-html --junit-xml=report-junit.xml --mld --ssnr --dut_encoder_path $DUT_ENCODER_PATH --dut_decoder_path $DUT_DECODER_PATH -n auto --testcase_timeout $testcase_timeout || exit_code=$? - zero_errors=$(cat report-junit.xml | grep -c 'errors="0"') || true - python3 scripts/parse_mld_xml.py report-junit.xml $MLD_ARTIFACT_NAME - python3 scripts/parse_xml_report.py report-junit.xml $MLD_ARTIFACT_NAME - if [ $USE_LTV -eq 1 ] && [ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]; then - id_previous=$(python3 ci/get_id_of_last_job_occurence.py $CI_DEFAULT_BRANCH $CI_JOB_NAME $CI_PROJECT_ID) Loading Loading @@ -302,7 +289,7 @@ stages: - make -j CLANG=$CLANG_NUM - if [[ $CLANG_NUM == 3 ]]; then export UBSAN_OPTIONS="suppressions=scripts/ubsan.supp,report_error_type=1"; fi - testcase_timeout=$TESTCASE_TIMEOUT_STV - python3 -m pytest $SHORT_TEST_SUITE -v --tb=no --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 --ref_decoder_path ./IVAS_dec - python3 -m pytest $SHORT_TEST_SUITE -v --tb=no --update_ref 1 -m create_ref --html=report.html --self-contained-html --junit-xml=report-junit.xml --testcase_timeout $testcase_timeout --ref_encoder_path $DUT_ENCODER_PATH --ref_decoder_path $DUT_DECODER_PATH artifacts: name: "$CI_JOB_NAME--sha-$CI_COMMIT_SHORT_SHA--results" when: always Loading Loading @@ -410,98 +397,94 @@ build-codec-linux-instrumented-make: # Short test jobs # --------------------------------------------------------------- #ivas-pytest-mld-enc-dec: # extends: # - .rules-pytest-mld # - .test-job-linux # before_script: # - USE_LTV=0 # - TEST_SUITE="$SHORT_TEST_SUITE" # - LEVEL_SCALING=1.0 # <<: *ivas-pytest-anchor ivas-pytest-mld-dec: ### jobs that test fx encoder -> flt decoder ivas-pytest-mld-enc: extends: - .rules-pytest-mld - .test-job-linux before_script: - USE_LTV=0 - DUT_ENCODER_PATH=./IVAS_cod_ref - DUT_DECODER_PATH=./IVAS_dec_ref - TEST_SUITE="$SHORT_TEST_SUITE" - LEVEL_SCALING=1.0 <<: *ivas-pytest-anchor #ivas-pytest-mld-enc-dec-lev-10: # extends: # - .rules-pytest-mld # - .test-job-linux # before_script: # - USE_LTV=0 # - TEST_SUITE="$SHORT_TEST_SUITE" # - LEVEL_SCALING=0.3162 # <<: *ivas-pytest-anchor ivas-pytest-mld-dec-lev-10: ivas-pytest-mld-enc-lev-10: extends: - .rules-pytest-mld - .test-job-linux before_script: - USE_LTV=0 - DUT_ENCODER_PATH=./IVAS_cod_ref - DUT_DECODER_PATH=./IVAS_dec_ref - TEST_SUITE="$SHORT_TEST_SUITE" - LEVEL_SCALING=0.3162 <<: *ivas-pytest-anchor #ivas-pytest-mld-enc-dec-lev+10: # extends: # - .rules-pytest-mld # - .test-job-linux # before_script: # - USE_LTV=0 # - TEST_SUITE="$SHORT_TEST_SUITE" # - LEVEL_SCALING=3.162 # <<: *ivas-pytest-anchor ivas-pytest-mld-dec-lev+10: ivas-pytest-mld-enc-lev+10: extends: - .rules-pytest-mld - .test-job-linux before_script: - USE_LTV=0 - DUT_ENCODER_PATH=./IVAS_cod_ref - DUT_DECODER_PATH=./IVAS_dec_ref - TEST_SUITE="$SHORT_TEST_SUITE" - LEVEL_SCALING=3.162 <<: *ivas-pytest-anchor ivas-pytest-mld-long-enc-fx-dec-flt-interop: ivas-pytest-enc-msan: extends: - .rules-pytest-mld-interop - .test-job-linux before_script: - USE_LTV=0 - CLANG_NUM=1 - DUT_DECODER_PATH=./IVAS_dec_ref <<: *ivas-pytest-sanitizers-anchor ivas-pytest-enc-asan: extends: - .test-job-linux before_script: - CLANG_NUM=2 - DUT_DECODER_PATH=./IVAS_dec_ref <<: *ivas-pytest-sanitizers-anchor ivas-pytest-enc-usan: extends: - .test-job-linux before_script: - CLANG_NUM=3 - DUT_DECODER_PATH=./IVAS_dec_ref <<: *ivas-pytest-sanitizers-anchor ### jobs that test flt encoder -> fx decoder ivas-pytest-mld-dec: extends: - .rules-pytest-mld - .test-job-linux before_script: - USE_LTV=0 - DUT_ENCODER_PATH=./IVAS_cod_ref - TEST_SUITE="$SHORT_TEST_SUITE" - LEVEL_SCALING=1.0 <<: *ivas-pytest-anchor ivas-pytest-mld-long-enc-fx-dec-flt-lev-10-interop: ivas-pytest-mld-dec-lev-10: extends: - .rules-pytest-mld-interop - .rules-pytest-mld - .test-job-linux before_script: - USE_LTV=0 - DUT_DECODER_PATH=./IVAS_dec_ref - DUT_ENCODER_PATH=./IVAS_cod_ref - TEST_SUITE="$SHORT_TEST_SUITE" - LEVEL_SCALING=0.3162 <<: *ivas-pytest-anchor ivas-pytest-mld-long-enc-fx-dec-flt-lev+10-interop: ivas-pytest-mld-dec-lev+10: extends: - .rules-pytest-mld-interop - .rules-pytest-mld - .test-job-linux before_script: - USE_LTV=0 - DUT_DECODER_PATH=./IVAS_dec_ref - DUT_ENCODER_PATH=./IVAS_cod_ref - TEST_SUITE="$SHORT_TEST_SUITE" - LEVEL_SCALING=3.162 <<: *ivas-pytest-anchor Loading @@ -511,6 +494,7 @@ ivas-pytest-dec-msan: - .test-job-linux before_script: - CLANG_NUM=1 - DUT_ENCODER_PATH=./IVAS_cod_ref <<: *ivas-pytest-sanitizers-anchor ivas-pytest-dec-asan: Loading @@ -518,6 +502,7 @@ ivas-pytest-dec-asan: - .test-job-linux before_script: - CLANG_NUM=2 - DUT_ENCODER_PATH=./IVAS_cod_ref <<: *ivas-pytest-sanitizers-anchor ivas-pytest-dec-usan: Loading @@ -525,6 +510,7 @@ ivas-pytest-dec-usan: - .test-job-linux before_script: - CLANG_NUM=3 - DUT_ENCODER_PATH=./IVAS_cod_ref <<: *ivas-pytest-sanitizers-anchor # --------------------------------------------------------------- Loading
lib_com/cnst.h +2 −1 Original line number Diff line number Diff line Loading @@ -575,7 +575,7 @@ enum #define FRAMES_PER_SEC 50 #ifdef IVAS_FLOAT_FIXED #define MAX_PARAM_SPATIAL_SUB_FRAMES_PER_SEC 200 //(FRAMES_PER_SEC * MAX_PARAM_SPATIAL_SUBFRAMES) #define ONE_BY_FRAMES_PER_SEC_Q31 ((Word32)(0x028F5C29)) #define ONE_BY_FRAMES_PER_SEC_Q31 ( 42949673 ) #define FRAMES_PER_SEC_BY_2 (FRAMES_PER_SEC >> 1) #endif #define INV_FRAME_PER_SEC_Q15 656 Loading Loading @@ -607,6 +607,7 @@ enum #define N_WS2N_FRAMES 40 /* number of frames for attenuation during the band-width switching */ #define N_NS2W_FRAMES 20 /* number of frames for attenuation during the band-width switching */ #define ONE_BY_N_NS2W_FRAMES_Q15 ( 1638 ) /*----------------------------------------------------------------------------------* * Coder types (only for ACELP core when not running in AMR-WB IO mode) Loading
lib_com/fill_spectrum.c +12 −8 Original line number Diff line number Diff line Loading @@ -352,13 +352,15 @@ void ivas_fill_spectrum_fx( IF( EQ_16( HQ_mode, HQ_HARMONIC ) ) { /*high_sfm = (core_brate == HQ_BWE_CROSSOVER_BRATE) ? HVQ_THRES_SFM_24k-1 : HVQ_THRES_SFM_32k-3; */ high_sfm = sub( HVQ_THRES_SFM_32k, 1 ); IF( LT_32( L_core_brate, HQ_BWE_CROSSOVER_BRATE ) ) high_sfm = HVQ_THRES_SFM_32k - 1; move16(); if ( LT_32( L_core_brate, HQ_BWE_CROSSOVER_BRATE ) ) { high_sfm = sub( HVQ_THRES_SFM_24k, 1 ); high_sfm = HVQ_THRES_SFM_24k - 1; move16(); } IF( LT_16( last_sfm, high_sfm ) ) if ( LT_16( last_sfm, high_sfm ) ) { last_sfm = high_sfm; move16(); Loading @@ -381,7 +383,7 @@ void ivas_fill_spectrum_fx( test(); test(); IF( EQ_16( length, L_FRAME16k ) || ( ( EQ_16( length, L_FRAME32k ) && NE_16( HQ_mode, HQ_HARMONIC ) && NE_16( HQ_mode, HQ_HVQ ) ) && EQ_16( *no_att_hangover, 0 ) ) ) ( ( EQ_16( length, L_FRAME32k ) && NE_16( HQ_mode, HQ_HARMONIC ) && NE_16( HQ_mode, HQ_HVQ ) ) && ( *no_att_hangover == 0 ) ) ) { /* Norm adjustment function */ env_adj_fx( npulses, length, last_sfm, norm_adj, env_stab, sfmsize ); Loading @@ -393,7 +395,7 @@ void ivas_fill_spectrum_fx( test(); test(); test(); IF( EQ_16( length, L_FRAME32k ) && ( ( LT_16( env_stab, 16384 ) && *no_att_hangover == 0 ) || EQ_16( HQ_mode, HQ_HVQ ) ) ) if ( EQ_16( length, L_FRAME32k ) && ( ( LT_16( env_stab, 16384 ) && *no_att_hangover == 0 ) || EQ_16( HQ_mode, HQ_HVQ ) ) ) { flag_32K_env_hangover = 1; move16(); Loading Loading @@ -426,7 +428,7 @@ void ivas_fill_spectrum_fx( *----------------------------------------------------------------*/ test(); IF( NE_16( HQ_mode, HQ_HVQ ) && GT_16( cb_size, 0 ) ) IF( NE_16( HQ_mode, HQ_HVQ ) && ( cb_size > 0 ) ) { apply_noisefill_HQ_fx( R, length, flag_32K_env_hangover, L_core_brate, last_sfm, CodeBook, CodeBook_mod, cb_size, sfm_start, sfm_end, sfmsize, coeff ); Loading @@ -436,7 +438,7 @@ void ivas_fill_spectrum_fx( * Normal mode BWE *----------------------------------------------------------------*/ IF( EQ_16( HQ_mode, HQ_NORMAL ) ) IF( HQ_mode == HQ_NORMAL ) { hq_fold_bwe_fx( last_sfm, sfm_end, num_sfm, coeff ); } Loading Loading @@ -524,6 +526,7 @@ void ivas_fill_spectrum_fx( IF( EQ_16( length, L_FRAME32k ) && LE_32( L_core_brate, HQ_32k ) ) { *prev_R = R[SFM_N_WB - 1]; move16(); Copy32( L_coeff_out + L_FRAME16k - L_HQ_WB_BWE, prev_coeff_out, L_HQ_WB_BWE ); } Loading Loading @@ -784,6 +787,7 @@ void fill_spectrum_fx( IF( EQ_16( length, L_FRAME32k ) && LE_32( L_core_brate, HQ_32k ) ) { *prev_R = R[SFM_N_WB - 1]; move16(); Copy32( L_coeff_out + L_FRAME16k - L_HQ_WB_BWE, prev_coeff_out, L_HQ_WB_BWE ); } Loading
lib_com/findpulse.c +0 −1 Original line number Diff line number Diff line Loading @@ -185,7 +185,6 @@ Word16 findpulse_fx( /* o : pulse position *------------------------------------------------------------------------*/ ptr = resf + L_frame - 1; move16(); maxi = 0; move16(); Loading
lib_com/fine_gain_bits_fx.c +3 −4 Original line number Diff line number Diff line Loading @@ -87,7 +87,6 @@ Word16 assign_gain_bits_fx( /* o : Number of assigned } /* Re-adjust bit budget for gain quantization */ move16(); gain_bits_tot = 0; move16(); *Rcalc = 0; Loading Loading @@ -125,7 +124,7 @@ static void ivas_subband_gain_bits_fx( { /*bps = (short)(Rk[i]*((word16)min(32767, ceil(32767.0f/sfmsize[i]); inexact C-integer division approx. */ bps = extract_l( L_shr( L_mult0( Rk[i], fg_inv_tbl_fx[sfmsize[i] >> 3] ), 18 ) ); /* 3+15 */ IF( EQ_32( L_shl( L_mult0( sfmsize[i], add( bps, 1 ) ), 3 ), Rk[i] ) ) if ( EQ_32( L_shl( L_mult0( sfmsize[i], add( bps, 1 ) ), 3 ), Rk[i] ) ) { bps = add( bps, 1 ); } Loading @@ -138,7 +137,7 @@ static void ivas_subband_gain_bits_fx( tot = add( tot, b ); } IF( EQ_16( tot, 0 ) ) if ( tot == 0 ) { /* If no gain bits were assigned, use one bit anyway for potential PVQ overage */ bits[0] = 1; Loading Loading @@ -177,7 +176,7 @@ Word16 ivas_assign_gain_bits_fx( /* o : Number of ass move16(); FOR( i = 0; i < BANDS; i++ ) { IF( GT_16( Rk[i], 0 ) ) IF( Rk[i] > 0 ) { Rk[i] = sub( Rk[i], shl( gain_bits_array[i], 3 ) ); move16(); Loading