Commit b9e1a535 authored by Archit Tamarapu's avatar Archit Tamarapu
Browse files

Merge branch 'main-pc' of ssh://forge.3gpp.org:29419/sa4/audio/ivas-basop into...

Merge branch 'main-pc' of ssh://forge.3gpp.org:29419/sa4/audio/ivas-basop into 1624_basop_port_fl1439
parents 00fc2426 735576df
Loading
Loading
Loading
Loading
Loading

.gitattributes

0 → 100644
+24 −0
Original line number Diff line number Diff line
# Default behavior. Converts all text files to use LF in repository.
* text=auto

# List all known generic text files
*.c text
*.csv text
*.h text
*.json text
*.m text
*.md text
*.prm text
*.py text
*.txt text

# Set Windows specific text files to always use CRLF in working tree.
*.bat text eol=crlf
*.cmd text eol=crlf
*.sln text eol=crlf
*.vcxproj text eol=crlf
*.vcxproj.filters text eol=crlf

# Set Unix specific text files to always use LF (also covers Windows subsystem for Linux) in working tree
*.sh text eol=lf
+38 −29
Original line number Diff line number Diff line
@@ -13,6 +13,9 @@ variables:
  SHORT_TEST_SUITE_ENCODER: "tests/codec_be_on_mr_nonselection/test_param_file.py --param_file scripts/config/self_test_basop_encoder.prm"
  LONG_TEST_SUITE_ENCODER: "tests/codec_be_on_mr_nonselection/test_param_file.py --param_file scripts/config/self_test_ltv_basop_encoder.prm"
  TEST_SUITE: ""
  DISABLE_HRTF_MODEL_TESTS: ""
  # DISABLE_HRTF_MODEL_TESTS: "-k not model" #enable this declaration to disable HRTF model from file tests

  # These path variables are used by the pytest calls.
  # They can be overwritten in the job templates to e.g. only test encoder or decoder in the chain
  DUT_ENCODER_PATH: "./IVAS_cod"
@@ -29,7 +32,7 @@ variables:
  MERGE_TARGET_DECODER_PATH_FOR_BUILD_DO_NOT_MODIFY: "./IVAS_dec_merge_target"
  LEVEL_SCALING: "1.0"
  IVAS_PIPELINE_NAME: ''
  BASOP_CI_BRANCH_PC_REPO: "basop-ci-branch"
  BASOP_CI_BRANCH_PC_REPO: "basop-ci-branch-pc"
  PRM_FILES: "scripts/config/self_test.prm scripts/config/self_test_ltv.prm"
  TESTCASE_TIMEOUT_STV: 900
  TESTCASE_TIMEOUT_LTV: 2400
@@ -273,9 +276,11 @@ stages:
  - sed -i '/fetch/d' .git/config # Remove all fetch lines to clean out dead links
  - git remote set-branches --add origin $BASOP_CI_BRANCH_PC_REPO # Add currently used branch
  - git fetch
  - git restore --staged . # Needed if HRTF model files were updated.
  - git restore . # Just as a precaution
  - git checkout $BASOP_CI_BRANCH_PC_REPO
  - git pull origin $BASOP_CI_BRANCH_PC_REPO

  - cd -
  - cp -r $SCRIPTS_DIR/ci .
  - cp -r $SCRIPTS_DIR/scripts .
@@ -688,11 +693,11 @@ stages:
    - *check-up-to-date-in-comparison-jobs

    - exit_code_target=0
    - python3 -m pytest $TEST_SUITE -v --update_ref 1 --create_ref -n auto --ref_encoder_path $MERGE_TARGET_ENCODER_PATH --ref_decoder_path $MERGE_TARGET_DECODER_PATH --dut_encoder_path $DUT_ENCODER_PATH --dut_decoder_path $DUT_DECODER_PATH > $PYTEST_LOG_TARGET_BRANCH || exit_code_target=$?
    - python3 -m pytest $TEST_SUITE -v --update_ref 1 --create_ref -n auto --ref_encoder_path $MERGE_TARGET_ENCODER_PATH --ref_decoder_path $MERGE_TARGET_DECODER_PATH --dut_encoder_path $DUT_ENCODER_PATH --dut_decoder_path $DUT_DECODER_PATH $DISABLE_HRTF_MODEL_TESTS > $PYTEST_LOG_TARGET_BRANCH || exit_code_target=$?

    - exit_code=0
    - rm -rf .pytest_cache || true
    - python3 -m pytest --tb=no -q $TEST_SUITE -v --keep_files --create_cut --html=$HTML_REPORT --self-contained-html --junit-xml=$XML_REPORT --ref_encoder_path $MERGE_TARGET_ENCODER_PATH --ref_decoder_path $MERGE_TARGET_DECODER_PATH --dut_encoder_path $DUT_ENCODER_PATH --dut_decoder_path $DUT_DECODER_PATH -n auto --testcase_timeout $testcase_timeout > pytest_log.txt || exit_code=$?
    - python3 -m pytest --tb=no -q $TEST_SUITE -v --keep_files --create_cut --html=$HTML_REPORT --self-contained-html --junit-xml=$XML_REPORT --ref_encoder_path $MERGE_TARGET_ENCODER_PATH --ref_decoder_path $MERGE_TARGET_DECODER_PATH --dut_encoder_path $DUT_ENCODER_PATH --dut_decoder_path $DUT_DECODER_PATH -n auto --testcase_timeout $testcase_timeout $DISABLE_HRTF_MODEL_TESTS > pytest_log.txt || exit_code=$?

    - if [ $exit_code -ne 0 ]; then
    -   exit_code=$EXIT_CODE_NON_BE
@@ -1051,7 +1056,7 @@ branch-is-up-to-date-with-target-pre:
  stage: prevalidate
  needs: []
  tags:
    - ivas-basop-linux
    - ivas-linux
  script:
    - *get-commits-behind-count
    - echo $commits_behind_count
@@ -1066,7 +1071,7 @@ branch-is-up-to-date-with-target-post:
    - .rules-merge-request-to-main-pc
  stage: postvalidate
  tags:
    - ivas-basop-linux
    - ivas-linux
  script:
    - *get-commits-behind-count
    - echo $commits_behind_count
@@ -1096,7 +1101,7 @@ check-naming-of-branch-for-main-pc-merges:
    - .rules-merge-request-to-main-pc
  stage: prevalidate
  tags:
    - ivas-basop-linux
    - ivas-linux
  script:
    - *update-scripts-repo
    - if [[ ! "$CI_MERGE_REQUEST_TITLE" =~ \[skip[[:space:]_-]name[[:space:]_-]check\] ]] && [[ ! "$CI_MERGE_REQUEST_TITLE" =~ \[CI\] ]]; then
@@ -1113,7 +1118,7 @@ branch-is-up-to-date-with-target-pre:
  stage: prevalidate
  needs: []
  tags:
    - ivas-basop-linux
    - ivas-linux
  script:
    - *get-commits-behind-count
    - |
@@ -1127,7 +1132,7 @@ branch-is-up-to-date-with-target-post:
    - .rules-merge-request
  stage: postvalidate
  tags:
    - ivas-basop-linux
    - ivas-linux
  script:
    - *get-commits-behind-count
    - |
@@ -1149,7 +1154,7 @@ clang-format-check:
    ARTIFACT_BASE_NAME: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--formatting-fix"
  stage: prevalidate
  tags:
    - ivas-basop-linux
    - ivas-linux
  needs: []
  timeout: "5 minutes"
  script:
@@ -1232,7 +1237,7 @@ build-codec-linux-make:
  extends:
    - .build-job-linux
  tags:
    - ivas-basop-linux
    - ivas-linux
  timeout: "10 minutes"
  script:
    - *print-common-info
@@ -1250,7 +1255,7 @@ build-codec-linux-cmake:
  extends:
    - .build-job-linux
  tags:
    - ivas-basop-linux
    - ivas-linux
  timeout: "10 minutes"
  script:
    - *print-common-info
@@ -1271,7 +1276,7 @@ build-codec-linux-instrumented-make:
    - .build-job-linux
  timeout: "10 minutes"
  tags:
    - ivas-basop-linux
    - ivas-linux
  script:
    - *print-common-info
    - *update-scripts-repo
@@ -1285,7 +1290,7 @@ build-codec-sanitizers-linux:
    - .build-job-linux
    - .rules-basis
  tags:
    - ivas-basop-linux
    - ivas-linux
  timeout: "10 minutes"
  script:
    - *update-scripts-repo
@@ -1455,11 +1460,15 @@ split-rendering-pytest-on-merge-request:
# ---------------------------------------------------------------

.set-reference-for-basop-port-branch: &set-reference-for-basop-port-branch
  - if [ $CI_MERGE_REQUEST_TARGET_BRANCH_NAME = "main-pc" ] && [[ ! "$CI_MERGE_REQUEST_TITLE" =~ \[skip[[:space:]_-]name[[:space:]_-]check\] ]] && [[ ! "$CI_MERGE_REQUEST_TITLE" =~ \[CI\] ]]; then
  - if [ $CI_MERGE_REQUEST_TARGET_BRANCH_NAME = "main-pc" ]; then
  -   if [[ ! "$CI_MERGE_REQUEST_TITLE" =~ \[skip[[:space:]_-]name[[:space:]_-]check\] ]] && [[ ! "$CI_MERGE_REQUEST_TITLE" =~ \[CI\] ]]; then
  -     *update-scripts-repo
  # a bit awkward: write to file + standard out first so that the error message is visivle in case of failure. Then fill the variable from the file
  -     ci/get_float_ref_branch_name.sh $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME | tee tmp_ref_branch.txt
  -     FLOAT_REF_BRANCH=$(cat tmp_ref_branch.txt)
  -   else
  -     FLOAT_REF_BRANCH="float-pc"
  -   fi
  - fi

### jobs that check for bitexactness of fx encoder and decoder
@@ -1698,7 +1707,7 @@ ivas-pytest-enc-msan:
  extends:
    - .test-job-linux
  tags:
    - ivas-basop-linux-fast
    - ivas-linux-fast
  before_script:
    - CLANG_NUM=1
    - DUT_DECODER_PATH=./$REF_DECODER_PATH
@@ -1709,7 +1718,7 @@ ivas-pytest-enc-asan:
  extends:
    - .test-job-linux
  tags:
    - ivas-basop-linux-fast
    - ivas-linux-fast
  before_script:
    - CLANG_NUM=2
    - DUT_DECODER_PATH=./$REF_DECODER_PATH
@@ -1720,7 +1729,7 @@ ivas-pytest-enc-usan:
  extends:
    - .test-job-linux
  tags:
    - ivas-basop-linux-fast
    - ivas-linux-fast
  before_script:
    - CLANG_NUM=3
    - DUT_DECODER_PATH=./$REF_DECODER_PATH
@@ -1788,7 +1797,7 @@ ivas-pytest-dec-msan:
  extends:
    - .test-job-linux
  tags:
    - ivas-basop-linux-fast
    - ivas-linux-fast
  before_script:
    - CLANG_NUM=1
    - DUT_ENCODER_PATH=./$REF_ENCODER_PATH
@@ -1799,7 +1808,7 @@ ivas-pytest-dec-asan:
  extends:
    - .test-job-linux
  tags:
    - ivas-basop-linux-fast
    - ivas-linux-fast
  before_script:
    - CLANG_NUM=2
    - DUT_ENCODER_PATH=./$REF_ENCODER_PATH
@@ -1810,7 +1819,7 @@ ivas-pytest-dec-usan:
  extends:
    - .test-job-linux
  tags:
    - ivas-basop-linux-fast
    - ivas-linux-fast
  before_script:
    - CLANG_NUM=3
    - DUT_ENCODER_PATH=./$REF_ENCODER_PATH
@@ -2090,7 +2099,7 @@ voip-be-on-merge-request:
    - .rules-merge-request-no-draft
  timeout: "20 minutes"
  tags:
    - ivas-basop-linux
    - ivas-linux
  stage: test
  needs: ["build-codec-linux-make"] #, "build-codec-instrumented-linux", "build-codec-sanitizers-linux"]
  script:
@@ -2124,7 +2133,7 @@ renderer-pytest-on-merge-request:
  # TODO: set reasonable timeout, will most likely take less
  timeout: "20 minutes"
  tags:
    - ivas-basop-linux
    - ivas-linux
  stage: compare
  script:
    - *print-common-info
@@ -2184,7 +2193,7 @@ ivas-pytest-on-merge-request:
  needs: ["build-codec-linux-make"] #, "codec-smoke-test"]
  timeout: "40 minutes"
  tags:
    - ivas-basop-linux
    - ivas-linux
  script:
    - *print-common-info
    - *get-commits-behind-count
@@ -2205,7 +2214,7 @@ ivas-pytest-on-merge-request:

    ### prepare pytest
    # create references
    - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --update_ref 1
    - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --update_ref 1 $DISABLE_HRTF_MODEL_TESTS

    ### Run test using branch scripts and input
    - if [ $ref_using_target == 1 ]; then git checkout $source_branch_commit_sha; fi
@@ -2213,7 +2222,7 @@ ivas-pytest-on-merge-request:
    ### run pytest
    - exit_code=0
    - testcase_timeout=600
    - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --html=report.html --self-contained-html --junit-xml=report-junit.xml --testcase_timeout=$testcase_timeout || exit_code=$?
    - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --html=report.html --self-contained-html --junit-xml=report-junit.xml --testcase_timeout=$testcase_timeout $DISABLE_HRTF_MODEL_TESTS || exit_code=$?
    - zero_errors=$(cat report-junit.xml | grep -c 'errors="0"') || true

    - *merge-request-comparison-check
@@ -2677,7 +2686,7 @@ complexity-osba-in-binaural_room_ir-out:
pages:
  stage: deploy
  tags:
    - ivas-basop-linux
    - ivas-linux
  rules:
    - if: $UPDATE_PAGES
  script:
+53 −0
Original line number Diff line number Diff line
# overwrites the default rules in the IVAS CI repository
# should be refactored and unified
.rules-basis:
  rules:
    # see https://docs.gitlab.com/ee/ci/yaml/workflow.html#switch-between-branch-pipelines-and-merge-request-pipelines
    - if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS && $CI_PIPELINE_SOURCE == "push"
      when: never
    - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
      variables:
        IVAS_PIPELINE_NAME: 'MR pipeline: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME'
    ### disabled for now because pipeline cd is redundant with MR pipeline with current workflow
    # - if: $CI_PIPELINE_SOURCE == 'push' && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH # Pushes to main
    #   variables:
    #     IVAS_PIPELINE_NAME: 'Push pipeline: $CI_COMMIT_BRANCH'
    - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'default' # for testing
      variables:
        IVAS_PIPELINE_NAME: 'Web run pipeline: $CI_COMMIT_BRANCH'
    - 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'
    - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'pytest-compare-to-input'
      variables:
        IVAS_PIPELINE_NAME: 'Run comparison tools against input (pass-through only): $CI_COMMIT_BRANCH'
    - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'pytest-saturation-smoke-test'
      variables:
        IVAS_PIPELINE_NAME: 'Run saturation smoke-test: $CI_COMMIT_BRANCH'
    - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'evs-26444'
      variables:
        IVAS_PIPELINE_NAME: 'EVS 26.444 test: $CI_COMMIT_BRANCH'
    - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'sanitizer'
      variables:
        IVAS_PIPELINE_NAME: 'Short testvectors sanitizers'
    - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'pytest-renderer'
      variables:
        IVAS_PIPELINE_NAME: 'Renderer test: $CI_COMMIT_BRANCH'
    - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'complexity'
      variables:
        IVAS_PIPELINE_NAME: 'Complexity Measurement on $CI_COMMIT_BRANCH'
    - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'voip-be-test'
      variables:
        IVAS_PIPELINE_NAME: 'Voip BE test on $CI_COMMIT_BRANCH'
    - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'peaq-enc-passthrough'
      variables:
        IVAS_PIPELINE_NAME: 'PEAQ encoder pass-through test: $CI_COMMIT_BRANCH'
    - if: $CI_PIPELINE_SOURCE == 'schedule' # Scheduled in any branch
      variables:
        IVAS_PIPELINE_NAME: 'Scheduled pipeline: $CI_COMMIT_BRANCH'
+65 −0
Original line number Diff line number Diff line
variables:
  EVS_BE_TEST_DIR_BASOP: "/usr/local/be_2_evs_basop"
  FLOAT_REF_BRANCH: "ivas-float-update"
  SCRIPTS_DIR: "/usr/local/scripts"
  LONG_TEST_SUITE: "tests/codec_be_on_mr_nonselection tests/renderer --param_file scripts/config/self_test_ltv.prm --use_ltv"
  LONG_TEST_SUITE_NO_RENDERER: "tests/codec_be_on_mr_nonselection --param_file scripts/config/self_test_ltv.prm --use_ltv"
  SHORT_TEST_SUITE: "tests/codec_be_on_mr_nonselection"
  SHORT_TEST_SUITE_ENCODER: "tests/codec_be_on_mr_nonselection/test_param_file.py --param_file scripts/config/self_test_basop_encoder.prm"
  LONG_TEST_SUITE_ENCODER: "tests/codec_be_on_mr_nonselection/test_param_file.py --param_file scripts/config/self_test_ltv_basop_encoder.prm"
  TEST_SUITE: ""
  # These path variables are used by the pytest calls.
  # They can be overwritten in the job templates to e.g. only test encoder or decoder in the chain
  DUT_ENCODER_PATH: "./IVAS_cod"
  DUT_DECODER_PATH: "./IVAS_dec"
  REF_ENCODER_PATH: "./IVAS_cod_ref"
  REF_DECODER_PATH: "./IVAS_dec_ref"
  MERGE_TARGET_ENCODER_PATH: "./IVAS_cod_merge_target"
  MERGE_TARGET_DECODER_PATH: "./IVAS_dec_merge_target"
  # These path variables are used for building the binaries
  # They should never be overwritten!
  REF_ENCODER_PATH_FOR_BUILD_DO_NOT_MODIFY: "./IVAS_cod_ref"
  REF_DECODER_PATH_FOR_BUILD_DO_NOT_MODIFY: "./IVAS_dec_ref"
  MERGE_TARGET_ENCODER_PATH_FOR_BUILD_DO_NOT_MODIFY: "./IVAS_cod_merge_target"
  MERGE_TARGET_DECODER_PATH_FOR_BUILD_DO_NOT_MODIFY: "./IVAS_dec_merge_target"
  LEVEL_SCALING: "1.0"
  BASOP_CI_BRANCH_PC_REPO: "basop-ci-branch"
  PRM_FILES: "scripts/config/self_test.prm scripts/config/self_test_ltv.prm"
  TESTCASE_TIMEOUT_STV: 900
  TESTCASE_TIMEOUT_LTV: 2400
  TESTCASE_TIMEOUT_LTV_SANITIZERS: 10800
  CI_REGRESSION_THRESH_MLD: "0.1"
  CI_REGRESSION_THRESH_MAX_ABS_DIFF: "50"
  CI_REGRESSION_THRESH_SSNR: "-1"
  CI_REGRESSION_THRESH_ODG: "-0.05"
  INSTR_DIR: "scripts/c-code_instrument"
  BUILD_WITH_DEBUG_MODE_INFO: ""
  ENCODER_TEST: ""
  DELTA_ODG: ""
  COMPARE_DMX: ""
  SPLIT_COMPARISON: ""
  SKIP_REGRESSION_CHECK: ""
  FAILED_TESTCASES_LIST: "failed-testcases.txt"
  ERRORS_TESTCASES_LIST: "errors-testcases.txt"
  PYTEST_CACHE_ARTIFACT: "pytest_cache.zip"
  MEASURES_FOR_REPORT: "MLD MAX_ABS_DIFF MIN_SSNR MIN_ODG"
  FLOAT_REF_COMMIT_FILE: "float-ref-git-sha.txt"
  CUT_COMMIT_FILE: "CuT-git-sha.txt"
  MERGE_TARGET_COMMIT_FILE: "merge-target-git-sha.txt"
  MANUAL_PIPELINE_TYPE:
    description: "Type for the manual pipeline run. Use 'pytest-compare' to run comparison test against reference float codec."
    value: 'default'
    options:
      - 'default'
      - 'pytest-compare'
      - 'pytest-compare-enc-dmx'
      - 'pytest-compare-long'
      - 'pytest-compare-to-input'
      - 'pytest-saturation-smoke-test'
      - 'evs-26444'
      - 'sanitizer'
      - 'pytest-renderer'
      - 'complexity'
      - 'coverage'
      - 'voip-be-test'
      - 'peaq-enc-passthrough'
+21 −30
Original line number Diff line number Diff line
@@ -136,14 +136,14 @@
    <ClCompile Include="..\lib_com\bitstream_fx.c" />
    <ClCompile Include="..\lib_com\bits_alloc_fx.c" />
    <ClCompile Include="..\lib_com\cb_shape_fx.c" />
    <ClCompile Include="..\lib_com\cldfb.c" />
    <ClCompile Include="..\lib_com\cldfb_evs.c" />
    <ClCompile Include="..\lib_com\cldfb_fx.c" />
    <ClCompile Include="..\lib_com\cldfb_evs_fx.c" />
    <ClCompile Include="..\lib_com\cng_exc_fx.c" />
    <ClCompile Include="..\lib_com\codec_tcx_common.c" />
    <ClCompile Include="..\lib_com\codec_tcx_common_fx.c" />
    <ClCompile Include="..\lib_com\complex_basop.c" />
    <ClCompile Include="..\lib_com\core_com_config.c" />
    <ClCompile Include="..\lib_com\deemph.c" />
    <ClCompile Include="..\lib_com\delay_comp.c" />
    <ClCompile Include="..\lib_com\core_com_config_fx.c" />
    <ClCompile Include="..\lib_com\deemph_fx.c" />
    <ClCompile Include="..\lib_com\delay_comp_fx.c" />
    <ClCompile Include="..\lib_com\disclaimer.c" />
    <ClCompile Include="..\lib_com\dlpc_bfi_fx.c" />
    <ClCompile Include="..\lib_com\edct_fx.c" />
@@ -153,21 +153,19 @@
    <ClCompile Include="..\lib_com\enh64.c" />
    <ClCompile Include="..\lib_com\enhancer_fx.c" />
    <ClCompile Include="..\lib_com\enhUL32.c" />
    <ClCompile Include="..\lib_com\enr_1_az.c" />
    <ClCompile Include="..\lib_com\env_adj.c" />
    <ClCompile Include="..\lib_com\env_stab.c" />
    <ClCompile Include="..\lib_com\env_stab_trans.c" />
    <ClCompile Include="..\lib_com\enr_1_az_fx.c" />
    <ClCompile Include="..\lib_com\env_adj_fx.c" />
    <ClCompile Include="..\lib_com\env_stab_fx.c" />
    <ClCompile Include="..\lib_com\env_stab_trans_fx.c" />
    <ClCompile Include="..\lib_com\est_tilt_fx.c" />
    <ClCompile Include="..\lib_com\fd_cng_com_fx.c" />
    <ClCompile Include="..\lib_com\fft.c" />
    <ClCompile Include="..\lib_com\fft_evs.c" />
    <ClCompile Include="..\lib_com\fft_cldfb_fx.c" />
    <ClCompile Include="..\lib_com\fft_fx.c" />
    <ClCompile Include="..\lib_com\fft_fx_evs.c" />
    <ClCompile Include="..\lib_com\fft_rel.c" />
    <ClCompile Include="..\lib_com\fft_rel_fx.c" />
    <ClCompile Include="..\lib_com\fill_spectrum.c" />
    <ClCompile Include="..\lib_com\findpulse.c" />
    <ClCompile Include="..\lib_com\fill_spectrum_fx.c" />
    <ClCompile Include="..\lib_com\findpulse_fx.c" />
    <ClCompile Include="..\lib_com\fine_gain_bits_fx.c" />
    <ClCompile Include="..\lib_com\float_to_fix_ops.c" />
    <ClCompile Include="..\lib_com\frame_ener_fx.c" />
@@ -175,7 +173,6 @@
    <ClCompile Include="..\lib_com\get_gain_fx.c" />
    <ClCompile Include="..\lib_com\gs_bitallocation_fx.c" />
    <ClCompile Include="..\lib_com\gs_bitallocation_ivas_fx.c" />
    <ClCompile Include="..\lib_com\gs_gains.c" />
    <ClCompile Include="..\lib_com\gs_gains_fx.c" />
    <ClCompile Include="..\lib_com\gs_inact_switching_fx.c" />
    <ClCompile Include="..\lib_com\gs_noisefill_fx.c" />
@@ -183,20 +180,18 @@
    <ClCompile Include="..\lib_com\guided_plc_util_fx.c" />
    <ClCompile Include="..\lib_com\hp50_fx.c" />
    <ClCompile Include="..\lib_com\hq2_bit_alloc_fx.c" />
    <ClCompile Include="..\lib_com\hq2_core_com.c" />
    <ClCompile Include="..\lib_com\hq2_core_com_fx.c" />
    <ClCompile Include="..\lib_com\hq2_noise_inject_fx.c" />
    <ClCompile Include="..\lib_com\hq_bit_allocation_fx.c" />
    <ClCompile Include="..\lib_com\hq_conf.c" />
    <ClCompile Include="..\lib_com\hq_conf_fx.c" />
    <ClCompile Include="..\lib_com\hq_tools_fx.c" />
    <ClCompile Include="..\lib_com\hvq_pvq_bitalloc_fx.c" />
    <ClCompile Include="..\lib_com\ifft_rel.c" />
    <ClCompile Include="..\lib_com\ifft_rel_fx.c" />
    <ClCompile Include="..\lib_com\igf_base_fx.c" />
    <ClCompile Include="..\lib_com\index_pvq_opt_fx.c" />
    <ClCompile Include="..\lib_com\interleave_spectrum.c" />
    <ClCompile Include="..\lib_com\interpol.c" />
    <ClCompile Include="..\lib_com\int_lsp.c" />
    <ClCompile Include="..\lib_com\interleave_spectrum_fx.c" />
    <ClCompile Include="..\lib_com\interpol_fx.c" />
    <ClCompile Include="..\lib_com\int_lsp_fx.c" />
    <ClCompile Include="..\lib_com\isf_dec_amr_wb_fx.c" />
    <ClCompile Include="..\lib_com\ivas_agc_com_fx.c" />
    <ClCompile Include="..\lib_com\ivas_arith_fx.c" />
@@ -207,7 +202,7 @@
    <ClCompile Include="..\lib_com\ivas_filters_fx.c" />
    <ClCompile Include="..\lib_com\ivas_ism_com_fx.c" />
    <ClCompile Include="..\lib_com\ivas_lfe_com_fx.c" />
    <ClCompile Include="..\lib_com\ivas_mcmasa_com-fx.c" />
    <ClCompile Include="..\lib_com\ivas_mcmasa_com_fx.c" />
    <ClCompile Include="..\lib_com\ivas_dirac_com_fx.c" />
    <ClCompile Include="..\lib_com\ivas_masa_com_fx.c" />
    <ClCompile Include="..\lib_com\ivas_mct_com_fx.c" />
@@ -237,8 +232,8 @@
    <ClCompile Include="..\lib_com\ivas_stereo_td_bit_alloc_fx.c" />
    <ClCompile Include="..\lib_com\ivas_tools_fx.c" />
    <ClCompile Include="..\lib_com\ivas_transient_det_fx.c" />
    <ClCompile Include="..\lib_com\lag_wind.c" />
    <ClCompile Include="..\lib_com\lerp.c" />
    <ClCompile Include="..\lib_com\lag_wind_fx.c" />
    <ClCompile Include="..\lib_com\lerp_fx.c" />
    <ClCompile Include="..\lib_com\limit_t0_fx.c" />
    <ClCompile Include="..\lib_com\log2.c" />
    <ClCompile Include="..\lib_com\logqnorm_fx.c" />
@@ -250,9 +245,7 @@
    <ClCompile Include="..\lib_com\lsf_tools_fx.c" />
    <ClCompile Include="..\lib_com\lsp_conv_poly_fx.c" />
    <ClCompile Include="..\lib_com\math_op.c" />
    <ClCompile Include="..\lib_com\modif_fs.c" />
    <ClCompile Include="..\lib_com\modif_fs_fx.c" />
    <ClCompile Include="..\lib_com\mslvq_com.c" />
    <ClCompile Include="..\lib_com\mslvq_com_fx.c" />
    <ClCompile Include="..\lib_com\nelp_fx.c" />
    <ClCompile Include="..\lib_com\oper_32b.c" />
@@ -260,7 +253,6 @@
    <ClCompile Include="..\lib_com\phase_dispersion_fx.c" />
    <ClCompile Include="..\lib_com\ppp_fx.c" />
    <ClCompile Include="..\lib_com\pred_lt4_fx.c" />
    <ClCompile Include="..\lib_com\preemph.c" />
    <ClCompile Include="..\lib_com\preemph_fx.c" />
    <ClCompile Include="..\lib_com\pvq_com_fx.c" />
    <ClCompile Include="..\lib_com\range_com_fx.c" />
@@ -285,9 +277,9 @@
    <ClCompile Include="..\lib_com\tcq_position_arith_fx.c" />
    <ClCompile Include="..\lib_com\tcx_ltp_fx.c" />
    <ClCompile Include="..\lib_com\tcx_mdct_fx.c" />
    <ClCompile Include="..\lib_com\tcx_mdct_window.c" />
    <ClCompile Include="..\lib_com\tcx_mdct_window_fx.c" />
    <ClCompile Include="..\lib_com\tcx_utils_fx.c" />
    <ClCompile Include="..\lib_com\tec_com.c" />
    <ClCompile Include="..\lib_com\tec_com_fx.c" />
    <ClCompile Include="..\lib_com\tns_base.c" />
    <ClCompile Include="..\lib_com\tools.c" />
    <ClCompile Include="..\lib_com\tools_fx.c" />
@@ -299,7 +291,6 @@
    <ClCompile Include="..\lib_com\window_fx.c" />
    <ClCompile Include="..\lib_com\window_ola_fx.c" />
    <ClCompile Include="..\lib_com\wi_fx.c" />
    <ClCompile Include="..\lib_com\wtda.c" />
    <ClCompile Include="..\lib_com\wtda_fx.c" />
  </ItemGroup>
  <ItemGroup>
Loading