Loading .gitlab-ci.yml +78 −5 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ variables: INSTR_DIR: "scripts/c-code_instrument" BUILD_WITH_DEBUG_MODE_INFO: "" ENCODER_TEST: "" COMPARE_DMX: "" SKIP_REGRESSION_CHECK: "" MANUAL_PIPELINE_TYPE: description: "Type for the manual pipeline run. Use 'pytest-compare' to run comparison test against reference float codec." Loading @@ -39,6 +40,7 @@ variables: options: - 'default' - 'pytest-compare' - 'pytest-compare-enc-dmx' - 'pytest-compare-long' - 'pytest-compare-to-input' - 'pytest-saturation-smoke-test' Loading Loading @@ -72,6 +74,9 @@ workflow: - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'pytest-compare' variables: IVAS_PIPELINE_NAME: 'Run comparison tools against float ref: $CI_COMMIT_BRANCH' - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'pytest-compare-enc-dmx' variables: IVAS_PIPELINE_NAME: 'Run encoder dmx comparison against float ref: $CI_COMMIT_BRANCH' - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'pytest-compare-long' variables: IVAS_PIPELINE_NAME: 'Run comparison tools against float ref (long test vectors): $CI_COMMIT_BRANCH' Loading Loading @@ -141,6 +146,7 @@ stages: - git checkout $REFERENCE_BRANCH - git pull - *activate-debug-mode-info-if-set - cat lib_com/options.h - make clean - make -j - mv ./IVAS_cod ./$REF_ENCODER_PATH Loading @@ -167,9 +173,18 @@ stages: - python3 tests/create_short_testvectors.py # create references - exit_code=0 - enc_stats_arg="" - if [ "$ENCODER_TEST" = "true" ]; then enc_stats_arg="--enc_stats"; fi - python3 -m pytest $TEST_SUITE -v --update_ref 1 $enc_stats_arg --create_ref -n auto --ref_encoder_path $REF_ENCODER_PATH --ref_decoder_path $REF_DECODER_PATH --dut_encoder_path $DUT_ENCODER_PATH --dut_decoder_path $DUT_DECODER_PATH || exit_code=$? - if [ "$ENCODER_TEST" = "true" ]; then - enc_stats_arg="--enc_stats" - fi - enc_dmx_arg="" - if [ "$COMPARE_DMX" = "true" ]; then - enc_dmx_arg="--compare_enc_dmx" - fi - python3 -m pytest $TEST_SUITE -v --update_ref 1 $enc_stats_arg $enc_dmx_arg --create_ref -n auto --ref_encoder_path $REF_ENCODER_PATH --ref_decoder_path $REF_DECODER_PATH --dut_encoder_path $DUT_ENCODER_PATH --dut_decoder_path $DUT_DECODER_PATH || exit_code=$? .update-scripts-repo: &update-scripts-repo - cd $SCRIPTS_DIR Loading Loading @@ -223,6 +238,14 @@ stages: - if: $CI_PIPELINE_SOURCE == 'schedule' when: never .rules-pytest-to-ref-enc-sort-dmx: rules: - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == "pytest-compare-enc-dmx" - if: $CI_PIPELINE_SOURCE == 'push' when: never - if: $CI_PIPELINE_SOURCE == 'schedule' when: never .rules-pytest-to-main-short: rules: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main" # only have MR pipelines for MRs to main Loading Loading @@ -299,6 +322,7 @@ stages: SUMMARY_HTML_ARTIFACT_NAME: "summary_$CI_JOB_NAME.html" IMAGES_ARTIFACT_NAME: "images_$CI_JOB_NAME" script: - set -euxo pipefail - *print-common-info - *update-scripts-repo - if [ $USE_LTV -eq 1 ]; then Loading @@ -314,11 +338,20 @@ stages: - *apply-testv-scaling - fi - if [ "$ENCODER_TEST" = "true" ]; then BUILD_WITH_DEBUG_MODE_INFO="true"; fi - if [ "$COMPARE_DMX" = "true" ] || [ "$ENCODER_TEST" = "true" ]; then - BUILD_WITH_DEBUG_MODE_INFO="true" - fi - *build-and-create-reference-outputs - comp_args="--mld --ssnr --odg" - if [ "$ENCODER_TEST" = "true" ]; then comp_args="${comp_args} --enc_stats"; fi - if [ "$ENCODER_TEST" = "true" ]; then - comp_args="${comp_args} --enc_stats" - fi # DMX comparison only in manual job with no other metrics - if [ "$COMPARE_DMX" = "true" ]; then - comp_args="--compare_enc_dmx" - fi - echo "$comp_args" ### run pytest Loading Loading @@ -871,6 +904,46 @@ ivas-pytest-compare_to_ref-short-enc-lev+10: - LEVEL_SCALING=3.162 <<: *ivas-pytest-anchor # encoder dmx comparison jobs ivas-pytest-compare_to_ref-dmx-short-enc: extends: - .rules-pytest-to-ref-enc-sort-dmx - .test-job-linux before_script: - USE_LTV=0 - ENCODER_TEST="true" - COMPARE_DMX="true" - DUT_DECODER_PATH=./$REF_DECODER_PATH - TEST_SUITE="$SHORT_TEST_SUITE_ENCODER" - LEVEL_SCALING=1.0 <<: *ivas-pytest-anchor ivas-pytest-compare_to_ref-dmx-short-enc-lev-10: extends: - .rules-pytest-to-ref-enc-sort-dmx - .test-job-linux before_script: - USE_LTV=0 - ENCODER_TEST="true" - COMPARE_DMX="true" - DUT_DECODER_PATH=./$REF_DECODER_PATH - TEST_SUITE="$SHORT_TEST_SUITE_ENCODER" - LEVEL_SCALING=0.3162 <<: *ivas-pytest-anchor ivas-pytest-compare_to_ref-dmx-short-enc-lev+10: extends: - .rules-pytest-to-ref-enc-sort-dmx - .test-job-linux before_script: - USE_LTV=0 - ENCODER_TEST="true" - COMPARE_DMX="true" - DUT_DECODER_PATH=./$REF_DECODER_PATH - TEST_SUITE="$SHORT_TEST_SUITE_ENCODER" - LEVEL_SCALING=3.162 <<: *ivas-pytest-anchor ivas-pytest-enc-msan: extends: - .test-job-linux Loading lib_enc/lib_enc.c +3 −0 Original line number Diff line number Diff line Loading @@ -1749,6 +1749,9 @@ ivas_error IVAS_ENC_EncodeFrameToSerial( } ELSE { #ifdef DEBUG_MODE_INFO dbgwrite( inputBuffer, sizeof( int16_t ), inputBufferSize, 1, strcat( fname( debug_dir, "ivas_input_dmx", 0, 1, ENC ), ".pcm" ) ); #endif hCoreCoder->input_frame_fx = inputBufferSize; move32(); IF( NE_32( ( error = evs_enc_fx( hCoreCoder, inputBuffer, hCoreCoder->mem_hp20_in_fx, inputBufferSize ) ), IVAS_ERR_OK ) ) Loading Loading
.gitlab-ci.yml +78 −5 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ variables: INSTR_DIR: "scripts/c-code_instrument" BUILD_WITH_DEBUG_MODE_INFO: "" ENCODER_TEST: "" COMPARE_DMX: "" SKIP_REGRESSION_CHECK: "" MANUAL_PIPELINE_TYPE: description: "Type for the manual pipeline run. Use 'pytest-compare' to run comparison test against reference float codec." Loading @@ -39,6 +40,7 @@ variables: options: - 'default' - 'pytest-compare' - 'pytest-compare-enc-dmx' - 'pytest-compare-long' - 'pytest-compare-to-input' - 'pytest-saturation-smoke-test' Loading Loading @@ -72,6 +74,9 @@ workflow: - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'pytest-compare' variables: IVAS_PIPELINE_NAME: 'Run comparison tools against float ref: $CI_COMMIT_BRANCH' - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'pytest-compare-enc-dmx' variables: IVAS_PIPELINE_NAME: 'Run encoder dmx comparison against float ref: $CI_COMMIT_BRANCH' - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'pytest-compare-long' variables: IVAS_PIPELINE_NAME: 'Run comparison tools against float ref (long test vectors): $CI_COMMIT_BRANCH' Loading Loading @@ -141,6 +146,7 @@ stages: - git checkout $REFERENCE_BRANCH - git pull - *activate-debug-mode-info-if-set - cat lib_com/options.h - make clean - make -j - mv ./IVAS_cod ./$REF_ENCODER_PATH Loading @@ -167,9 +173,18 @@ stages: - python3 tests/create_short_testvectors.py # create references - exit_code=0 - enc_stats_arg="" - if [ "$ENCODER_TEST" = "true" ]; then enc_stats_arg="--enc_stats"; fi - python3 -m pytest $TEST_SUITE -v --update_ref 1 $enc_stats_arg --create_ref -n auto --ref_encoder_path $REF_ENCODER_PATH --ref_decoder_path $REF_DECODER_PATH --dut_encoder_path $DUT_ENCODER_PATH --dut_decoder_path $DUT_DECODER_PATH || exit_code=$? - if [ "$ENCODER_TEST" = "true" ]; then - enc_stats_arg="--enc_stats" - fi - enc_dmx_arg="" - if [ "$COMPARE_DMX" = "true" ]; then - enc_dmx_arg="--compare_enc_dmx" - fi - python3 -m pytest $TEST_SUITE -v --update_ref 1 $enc_stats_arg $enc_dmx_arg --create_ref -n auto --ref_encoder_path $REF_ENCODER_PATH --ref_decoder_path $REF_DECODER_PATH --dut_encoder_path $DUT_ENCODER_PATH --dut_decoder_path $DUT_DECODER_PATH || exit_code=$? .update-scripts-repo: &update-scripts-repo - cd $SCRIPTS_DIR Loading Loading @@ -223,6 +238,14 @@ stages: - if: $CI_PIPELINE_SOURCE == 'schedule' when: never .rules-pytest-to-ref-enc-sort-dmx: rules: - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == "pytest-compare-enc-dmx" - if: $CI_PIPELINE_SOURCE == 'push' when: never - if: $CI_PIPELINE_SOURCE == 'schedule' when: never .rules-pytest-to-main-short: rules: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main" # only have MR pipelines for MRs to main Loading Loading @@ -299,6 +322,7 @@ stages: SUMMARY_HTML_ARTIFACT_NAME: "summary_$CI_JOB_NAME.html" IMAGES_ARTIFACT_NAME: "images_$CI_JOB_NAME" script: - set -euxo pipefail - *print-common-info - *update-scripts-repo - if [ $USE_LTV -eq 1 ]; then Loading @@ -314,11 +338,20 @@ stages: - *apply-testv-scaling - fi - if [ "$ENCODER_TEST" = "true" ]; then BUILD_WITH_DEBUG_MODE_INFO="true"; fi - if [ "$COMPARE_DMX" = "true" ] || [ "$ENCODER_TEST" = "true" ]; then - BUILD_WITH_DEBUG_MODE_INFO="true" - fi - *build-and-create-reference-outputs - comp_args="--mld --ssnr --odg" - if [ "$ENCODER_TEST" = "true" ]; then comp_args="${comp_args} --enc_stats"; fi - if [ "$ENCODER_TEST" = "true" ]; then - comp_args="${comp_args} --enc_stats" - fi # DMX comparison only in manual job with no other metrics - if [ "$COMPARE_DMX" = "true" ]; then - comp_args="--compare_enc_dmx" - fi - echo "$comp_args" ### run pytest Loading Loading @@ -871,6 +904,46 @@ ivas-pytest-compare_to_ref-short-enc-lev+10: - LEVEL_SCALING=3.162 <<: *ivas-pytest-anchor # encoder dmx comparison jobs ivas-pytest-compare_to_ref-dmx-short-enc: extends: - .rules-pytest-to-ref-enc-sort-dmx - .test-job-linux before_script: - USE_LTV=0 - ENCODER_TEST="true" - COMPARE_DMX="true" - DUT_DECODER_PATH=./$REF_DECODER_PATH - TEST_SUITE="$SHORT_TEST_SUITE_ENCODER" - LEVEL_SCALING=1.0 <<: *ivas-pytest-anchor ivas-pytest-compare_to_ref-dmx-short-enc-lev-10: extends: - .rules-pytest-to-ref-enc-sort-dmx - .test-job-linux before_script: - USE_LTV=0 - ENCODER_TEST="true" - COMPARE_DMX="true" - DUT_DECODER_PATH=./$REF_DECODER_PATH - TEST_SUITE="$SHORT_TEST_SUITE_ENCODER" - LEVEL_SCALING=0.3162 <<: *ivas-pytest-anchor ivas-pytest-compare_to_ref-dmx-short-enc-lev+10: extends: - .rules-pytest-to-ref-enc-sort-dmx - .test-job-linux before_script: - USE_LTV=0 - ENCODER_TEST="true" - COMPARE_DMX="true" - DUT_DECODER_PATH=./$REF_DECODER_PATH - TEST_SUITE="$SHORT_TEST_SUITE_ENCODER" - LEVEL_SCALING=3.162 <<: *ivas-pytest-anchor ivas-pytest-enc-msan: extends: - .test-job-linux Loading
lib_enc/lib_enc.c +3 −0 Original line number Diff line number Diff line Loading @@ -1749,6 +1749,9 @@ ivas_error IVAS_ENC_EncodeFrameToSerial( } ELSE { #ifdef DEBUG_MODE_INFO dbgwrite( inputBuffer, sizeof( int16_t ), inputBufferSize, 1, strcat( fname( debug_dir, "ivas_input_dmx", 0, 1, ENC ), ".pcm" ) ); #endif hCoreCoder->input_frame_fx = inputBufferSize; move32(); IF( NE_32( ( error = evs_enc_fx( hCoreCoder, inputBuffer, hCoreCoder->mem_hp20_in_fx, inputBufferSize ) ), IVAS_ERR_OK ) ) Loading