Commit 85ac0964 authored by Vidhya V P's avatar Vidhya V P
Browse files

Merge branch 'main' into 280-code-coverage-ivas_spar_md_enc-c

parents 1a0f6524 e6b45e18
Loading
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -42,10 +42,9 @@ scripts/out/
scripts/self_test_summary.txt
scripts/cppp/
binary/
tests/renderer/cut
tests/renderer/ref
tests/dut
tests/ref
tests/**/[c|d]ut
tests/**/ref
tests/*/testv
scripts/testv/*_cut*.pcm
# default reference binary name
IVAS_cod_ref
+42 −26
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@ variables:
  EXIT_CODE_NON_BE: 123
  EXIT_CODE_FAIL: 1
  PROCESSING_SCRIPTS_BIN_DIR: "/test-bin"
  TESTS_DIR_CODEC_BE_ON_MR: "tests/codec_be_on_mr_nonselection"

default:
  interruptible: true # Make all jobs by default interruptible
@@ -286,7 +287,7 @@ build-codec-sanitizers-linux:
build-codec-windows-cmake:
  extends:
    - .build-job-windows-with-check-for-warnings
    - .rules-main-push
    - .rules-basis
  script:
    - *print-common-info-windows
    - $winoutdata = $null
@@ -299,7 +300,7 @@ build-codec-windows-cmake:
build-codec-windows-msbuild:
  extends:
    - .build-job-windows-with-check-for-warnings
    - .rules-main-push
    - .rules-basis
  script:
    - *print-common-info-windows
    - $winoutdata = $null
@@ -498,7 +499,7 @@ renderer-pytest-on-merge-request:
      - 123
  artifacts:
    name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--job-$CI_JOB_NAME--results"
    expire_in: 2 week
    expire_in: 1 week
    when: always
    paths:
      - report-junit.xml
@@ -531,15 +532,15 @@ ivas-pytest-on-merge-request:
    # create short test vectors
    - python3 tests/create_short_testvectors.py
    # create references
    - python3 -m pytest tests -v --update_ref 1 -m create_ref
    - python3 -m pytest tests -v --update_ref 1 -m create_ref_part2
    - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --update_ref 1 -m create_ref
    - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --update_ref 1 -m create_ref_part2

    ### Run test using branch scripts and input
    - if [ $ref_using_main == 1 ]; then git checkout $source_branch_commit_sha; fi

    ### run pytest
    - exit_code=0
    - python3 -m pytest tests -v --html=report.html --self-contained-html --junit-xml=report-junit.xml || exit_code=$?
    - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --html=report.html --self-contained-html --junit-xml=report-junit.xml || exit_code=$?
    - zero_errors=$(cat report-junit.xml | grep -c 'errors="0"') || true

    - *merge-request-comparison-check
@@ -549,7 +550,7 @@ ivas-pytest-on-merge-request:
      - 123
  artifacts:
    name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--stage-$CI_JOB_STAGE--results"
    expire_in: 2 week
    expire_in: 1 week
    when: always
    paths:
      - report-junit.xml
@@ -579,14 +580,14 @@ evs-pytest-on-merge-request:

    ### prepare pytest
    # create references
    - python3 -m pytest tests/test_param_file.py -v --update_ref 1 -m create_ref --param_file scripts/config/self_test_evs.prm
    - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR/test_param_file.py -v --update_ref 1 -m create_ref --param_file scripts/config/self_test_evs.prm

    ### Run test using branch scripts and input
    - if [ $ref_using_main == 1 ]; then git checkout $source_branch_commit_sha; fi

    ### run pytest for EVS cases
    - exit_code=0
    - python3 -m pytest tests/test_param_file.py -v --param_file scripts/config/self_test_evs.prm --html=report.html --self-contained-html --junit-xml=report-junit-evs.xml || exit_code=$?
    - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR/test_param_file.py -v --param_file scripts/config/self_test_evs.prm --html=report.html --self-contained-html --junit-xml=report-junit-evs.xml || exit_code=$?
    - zero_errors=$(cat report-junit-evs.xml | grep -c 'errors="0"') || true

    - *merge-request-comparison-check
@@ -596,7 +597,7 @@ evs-pytest-on-merge-request:
      - 123
  artifacts:
    name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--stage-$CI_JOB_STAGE--results"
    expire_in: 2 week
    expire_in: 1 week
    when: always
    paths:
      - report-junit-evs.xml
@@ -655,7 +656,7 @@ clang-format-check:

    - exit $format_problems
  artifacts:
    expire_in: 2 days
    expire_in: 1 day
    paths:
      - tmp-formatting-fix/
    when: on_failure
@@ -737,7 +738,7 @@ selection-test-processing:
# ---------------------------------------------------------------

# check bitexactness to EVS windows binaries
.be-2-evs-windows: # Temporarily disabled -- Ericsson Windows runner used for HL activities which the reduces capacity for this job. To be resumed after selection
be-2-evs-windows:
  extends:
    - .rules-main-push
  tags:
@@ -840,15 +841,15 @@ codec-comparison-on-main-push:
    - mv IVAS_cod_test IVAS_cod
    - mv IVAS_dec_test IVAS_dec
    # create references
    - python3 -m pytest tests -v --update_ref 1 -m create_ref
    - python3 -m pytest tests -v --update_ref 1 -m create_ref_part2
    - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --update_ref 1 -m create_ref
    - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --update_ref 1 -m create_ref_part2

    ### re-checkout the latest commit here, if ref_using_main is set
    - if [ $ref_using_main -eq 1 ]; then git checkout $latest_commit;fi

    ### run pytest
    - exit_code=0
    - python3 -m pytest tests -v --html=report.html --self-contained-html --junit-xml=report-junit.xml || exit_code=$?
    - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --html=report.html --self-contained-html --junit-xml=report-junit.xml || exit_code=$?
    - if [ $exit_code -eq 1 ] && [ $non_be_flag == 0 ]; then echo "pytest run had failures and non-BE flag not present"; exit $EXIT_CODE_FAIL; fi
    - zero_errors=$(cat report-junit.xml | grep -c 'errors="0"') || true
    - if [ $exit_code -eq 1 ] && [ $zero_errors == 1 ]; then echo "pytest run had failures, but no errors and non-BE flag present"; exit $EXIT_CODE_NON_BE; fi
@@ -858,7 +859,7 @@ codec-comparison-on-main-push:
      - 123
  artifacts:
    name: "main-push--sha-$CI_COMMIT_SHORT_SHA--stage-$CI_JOB_STAGE--results"
    expire_in: 2 week
    expire_in: 1 week
    when: always
    paths:
      - report-junit.xml
@@ -953,7 +954,7 @@ sanitizer-test-ism3:
    - if: $SANITIZER_SCHEDULE_A
      when: delayed
      start_in: 11 hours
  timeout: 3 hour
  timeout: 4 hour
  script:
    - *update-ltv-repo
    - python3 ci/run_scheduled_sanitizer_test.py ISM3 $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL EXT --tests $SANITIZER_TESTS
@@ -963,8 +964,8 @@ sanitizer-test-ism4:
  rules:
    - if: $SANITIZER_SCHEDULE_A
      when: delayed
      start_in: 14 hours
  timeout: 4 hours
      start_in: 15 hours
  timeout: 6 hours
  script:
    - *update-ltv-repo
    - python3 ci/run_scheduled_sanitizer_test.py ISM4 $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL EXT --tests $SANITIZER_TESTS
@@ -974,7 +975,7 @@ sanitizer-test-masa:
  rules:
    - if: $SANITIZER_SCHEDULE_A
      when: delayed
      start_in: 18 hours
      start_in: 21 hours
  timeout: 3 hours
  script:
    - *update-ltv-repo
@@ -1092,7 +1093,7 @@ sanitizer-test-ism+3:
    - if: $SANITIZER_SCHEDULE_D
      when: delayed
      start_in: 5 hours
  timeout: 3 hour
  timeout: 4 hours
  script:
    - *update-ltv-repo
    - python3 ci/run_scheduled_sanitizer_test.py ISM+3 $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL EXT --tests $SANITIZER_TESTS
@@ -1102,8 +1103,8 @@ sanitizer-test-ism+4:
  rules:
    - if: $SANITIZER_SCHEDULE_D
      when: delayed
      start_in: 8 hours
  timeout: 4 hours
      start_in: 9 hours
  timeout: 6 hours
  script:
    - *update-ltv-repo
    - python3 ci/run_scheduled_sanitizer_test.py ISM+4 $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL EXT --tests $SANITIZER_TESTS
@@ -1120,14 +1121,15 @@ coverage-test-on-main-scheduled:
  rules:
    # only run in scheduled pipeline that passes this env vars
    - if: $COVERAGE_TEST
  timeout: 2 hours
  script:
    - *print-common-info
    - make GCOV=1 -j
    - cp IVAS_rend IVAS_rend_ref # Copy exec to be able to run renderer script  
    - python3 tests/create_short_testvectors.py
    - python3 -m pytest tests -v -n 0 --update_ref 1 -m create_ref --ref_encoder_path ./IVAS_cod --ref_decoder_path ./IVAS_dec
    - python3 -m pytest tests -v -n 0 --update_ref 1 -m create_ref_part2 --ref_encoder_path ./IVAS_cod --ref_decoder_path ./IVAS_dec
    - python3 -m pytest tests/test_param_file.py -v -n 0 --update_ref 1 -m create_ref --param_file scripts/config/self_test_evs.prm --ref_encoder_path ./IVAS_cod --ref_decoder_path ./IVAS_dec
    - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v -n 0 --update_ref 1 -m create_ref --ref_encoder_path ./IVAS_cod --ref_decoder_path ./IVAS_dec
    - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v -n 0 --update_ref 1 -m create_ref_part2 --ref_encoder_path ./IVAS_cod --ref_decoder_path ./IVAS_dec
    - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR/test_param_file.py -v -n 0 --update_ref 1 -m create_ref --param_file scripts/config/self_test_evs.prm --ref_encoder_path ./IVAS_cod --ref_decoder_path ./IVAS_dec
    - bash ci/smoke_test.sh coverage
    - python3 -m pytest -q -n auto tests/renderer/test_renderer_be_comparison.py
    - bash ci/ivas_voip_be_test.sh coverage
@@ -1193,6 +1195,7 @@ coverage-test-on-main-scheduled:
  stage: test
  artifacts:
    name: "$CI_JOB_NAME--$CI_COMMIT_REF_NAME--sha-$CI_COMMIT_SHA"
    when: always
    expire_in: 1 week
    paths:
      - $CI_JOB_NAME-public
@@ -1209,7 +1212,9 @@ complexity-stereo-in-stereo-out:
    - in_format=stereo
    - out_format=stereo
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format"
    - ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

complexity-ism-in-binaural-out:
  extends:
@@ -1225,7 +1230,9 @@ complexity-ism-in-binaural-out:
    - in_format=ISM
    - out_format=BINAURAL
    - bash ci/complexity_measurements/getWmops.sh "ISM+1 ISM+2 ISM+3 ISM+4" "$out_format"
    - ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

complexity-sba-hoa3-in-hoa3-out:
  extends:
@@ -1241,7 +1248,9 @@ complexity-sba-hoa3-in-hoa3-out:
    - in_format=SBA
    - out_format=HOA3
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format"
    - ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

complexity-mc-in-7_1_4-out:
  extends:
@@ -1257,7 +1266,9 @@ complexity-mc-in-7_1_4-out:
    - in_format=MC
    - out_format=7_1_4
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format"
    - ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

complexity-masa-in-7_1_4-out:
  extends:
@@ -1273,7 +1284,9 @@ complexity-masa-in-7_1_4-out:
    - in_format=MASA
    - out_format=7_1_4
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format"
    - ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

complexity-StereoDmxEVS-stereo-in-mono-out:
  extends:
@@ -1289,7 +1302,9 @@ complexity-StereoDmxEVS-stereo-in-mono-out:
    - in_format=StereoDmxEVS
    - out_format=mono
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format"
    - ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - exit $ret_val

# ---------------------------------------------------------------
# Other jobs
@@ -1307,6 +1322,7 @@ pages:
  artifacts:
    paths:
      - public
    expire_in: 1 day

# Pull state of a branch on 3GPP repo, push to a mirror repo.
pull-from-3gpp-forge:
+0 −2
Original line number Diff line number Diff line
@@ -145,7 +145,6 @@
    <ClCompile Include="..\lib_util\cmdl_tools.c" />
    <ClCompile Include="..\lib_util\evs_rtp_payload.c" />
    <ClCompile Include="..\lib_util\g192.c" />
    <ClCompile Include="..\lib_util\head_rotation_file_reader.c" />
    <ClCompile Include="..\lib_util\vector3_pair_file_reader.c" />
    <ClCompile Include="..\lib_util\hrtf_file_reader.c" />
    <ClCompile Include="..\lib_util\ism_file_reader.c" />
@@ -171,7 +170,6 @@
    <ClInclude Include="..\lib_util\evs_rtp_payload.h" />
    <ClInclude Include="..\lib_util\g192.h" />
    <ClInclude Include="..\lib_util\vector3_pair_file_reader.h" />
    <ClInclude Include="..\lib_util\head_rotation_file_reader.h" />
    <ClInclude Include="..\lib_util\hrtf_file_reader.h" />
    <ClInclude Include="..\lib_util\ism_file_reader.h" />
    <ClInclude Include="..\lib_util\ism_file_writer.h" />
+4 −1
Original line number Diff line number Diff line
@@ -53,8 +53,11 @@ config_file="scripts/config/ci_linux_ltv.json"
wmopsFilenameFlcLast=wmops_newsletter_stereo__${commit_sha}_${date}
wmopsFilenameFlc=${destDir}/wmops/logs/${wmopsFilenameFlcLast}

ret_val=0

# instrument and build
./scripts/IvasBuildAndRunChecks.py -p $config_file --checks COMPLEXITY --create_complexity_tables ${wmopsFilenameFlc} -C $ivas_format -f ${ep} --oc $output_format
ret_val=$?

# get the info on worst-case operating point: WMOPS number, enc-operating mode, dec-operating mode
### WMOPS
@@ -83,4 +86,4 @@ ${scriptDir}/parseNewsletterRom.py ${wmopsFilenameFlc}_PROM.csv ${wmopsFilenameF
# generate java script from database
tcsh ${scriptDir}/genWebpageData_Rom.csh ${destDir}/wmops/log_rom_all.txt ${destDir}/wmops/graphs_rom_flc.js Graphs_ROM

exit $ret_val
 No newline at end of file
+7 −0
Original line number Diff line number Diff line
@@ -309,8 +309,12 @@ typedef enum
#define MIN_BRATE_SWB_STEREO                    IVAS_13k2                   /* min. stereo bitrate where SWB is supported */
#define MIN_BRATE_FB_STEREO                     IVAS_32k                    /* min. SCE and stereo bitrate where FB is supported */
#ifdef ISM_FB
#ifdef ISM_FB_16k4
#define MIN_BRATE_FB_ISM                        16000                       /* min. SCE bitrate where FB is supported in ISM format */
#else
#define MIN_BRATE_FB_ISM                        24000                       /* min. SCE bitrate where FB is supported in ISM format */
#endif
#endif

#define MIN_TDM_BRATE_WB_TBE_1k05               12000                       /* min. per channel bitrate where WB TBE @1.05 kbps is supported (0.35kbs at lower bitrates) */
#define MIN_BRATE_WB_TBE_1k05                   9650                        /* min. per channel bitrate where WB TBE @1.05 kbps is supported (0.35kbs at lower bitrates) */
@@ -1413,6 +1417,9 @@ typedef enum
#ifdef FIX_563_PARAMMC_LIMITER
#define PARAM_MC_ENER_LIMIT_MAX_DELTA_FAC       (15.0f)
#endif
#ifdef FIX_580_PARAMMC_ENER_BURSTS
#define PARAM_MC_NUM_ATTACK_ILD_THRESH          (3)
#endif
#define PARAM_MC_LFE_ON_THRESH                  (8000.0f)
#define PARAM_MC_BAND_TO_MDCT_BAND_RATIO        16                          /* Ratio of resolution of CLDFB Bands to MDCT Bands */
#define PARAM_MC_SLOT_ENC_NS                    2500000L
Loading