Commit 6c3ef157 authored by Mohammadreza Naghibzadeh's avatar Mohammadreza Naghibzadeh
Browse files

Merge branch 'main-pc' into 3gpp_issue_1835_fix

# Conflicts:
#	lib_com/options.h
parents ec0534a0 eb2df83a
Loading
Loading
Loading
Loading
Loading
+41 −23
Original line number Diff line number Diff line
@@ -448,7 +448,7 @@ stages:
# templates to define stages and platforms
.test-job-linux:
  tags:
    - ivas-linux
    - ivas-basop-linux

.test-job-linux-compares-to-fixed-target:
  extends: .test-job-linux
@@ -461,7 +461,7 @@ stages:
  stage: build
  timeout: "2 minutes"
  tags:
    - ivas-linux
    - ivas-basop-linux

.build-job-windows:
  stage: build
@@ -800,7 +800,7 @@ stages:
    - *build-merge-target-binaries
    # need to restore cache again
    - *overwrite-pytest-cache-with-artifact
    - python3 -m pytest --tb=no -q $TEST_SUITE -v --keep_files --create_cut --html=$HTML_REPORT_MAIN --self-contained-html --junit-xml=$XML_REPORT_MAIN $comp_args --ref_encoder_path $REF_ENCODER_PATH --ref_decoder_path $REF_DECODER_PATH --dut_encoder_path $DUT_ENCODER_PATH --dut_decoder_path $DUT_DECODER_PATH -n auto --testcase_timeout $testcase_timeout || true
    - python3 -m pytest --tb=no -q $TEST_SUITE -v --keep_files --create_cut --html=$HTML_REPORT_MAIN --self-contained-html --junit-xml=$XML_REPORT_MAIN $comp_args --ref_encoder_path $REF_ENCODER_PATH --ref_decoder_path $REF_DECODER_PATH --dut_encoder_path $MERGE_TARGET_ENCODER_PATH --dut_decoder_path $MERGE_TARGET_DECODER_PATH -n auto --testcase_timeout $testcase_timeout || true
    - python3 scripts/parse_xml_report.py $XML_REPORT_MAIN $CSV_MAIN

    ### compare the two csv files for regressions
@@ -1001,7 +1001,7 @@ uninterruptible:
    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
      when: always
  tags:
    - ivas-linux
    - ivas-basop-linux

# ---------------------------------------------------------------
# Validation jobs
@@ -1016,7 +1016,7 @@ fail-pipeline-if-in-draft:
      when: never
  stage: postvalidate
  tags:
    - ivas-linux
    - ivas-basop-linux
  script:
    - echo "Your MR is still in Draft state, set it to ready to be mergable, then retrigger the pipeline."
    - exit 1
@@ -1027,7 +1027,7 @@ check-naming-of-branch-for-main-pc-merges:
    - .rules-merge-request-to-main-pc
  stage: prevalidate
  tags:
    - ivas-linux
    - ivas-basop-linux
  script:
    - *update-scripts-repo
    - if [[ ! "$CI_MERGE_REQUEST_TITLE" =~ \[skip[[:space:]_-]name[[:space:]_-]check\] ]] && [[ ! "$CI_MERGE_REQUEST_TITLE" =~ \[CI\] ]]; then
@@ -1044,7 +1044,7 @@ branch-is-up-to-date-with-target-pre:
  stage: prevalidate
  needs: []
  tags:
    - ivas-linux
    - ivas-basop-linux
  script:
    - *get-commits-behind-count
    - |
@@ -1065,7 +1065,7 @@ branch-is-up-to-date-with-target-post:
    - .rules-merge-request
  stage: postvalidate
  tags:
    - ivas-linux
    - ivas-basop-linux
  script:
    - *get-commits-behind-count
    - |
@@ -1090,7 +1090,7 @@ clang-format-check:
    ARTIFACT_BASE_NAME: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--formatting-fix"
  stage: prevalidate
  tags:
    - ivas-linux
    - ivas-basop-linux
  needs: []
  timeout: "5 minutes"
  script:
@@ -1173,7 +1173,7 @@ build-codec-linux-make:
  extends:
    - .build-job-linux
  tags:
    - ivas-linux
    - ivas-basop-linux
  timeout: "10 minutes"
  script:
    - *print-common-info
@@ -1191,7 +1191,7 @@ build-codec-linux-cmake:
  extends:
    - .build-job-linux
  tags:
    - ivas-linux
    - ivas-basop-linux
  timeout: "10 minutes"
  script:
    - *print-common-info
@@ -1212,7 +1212,7 @@ build-codec-linux-instrumented-make:
    - .build-job-linux
  timeout: "10 minutes"
  tags:
    - ivas-linux
    - ivas-basop-linux
  script:
    - *print-common-info
    - *update-scripts-repo
@@ -1226,7 +1226,7 @@ build-codec-sanitizers-linux:
    - .build-job-linux
    - .rules-basis
  tags:
    - ivas-linux
    - ivas-basop-linux
  timeout: "10 minutes"
  script:
    - *update-scripts-repo
@@ -1492,10 +1492,13 @@ check-regressions-short-enc-0db:
    - job: build-codec-linux-make
  extends:
    - .rules-mr-to-main-or-main-pc
  tags:
    - ivas-basop-linux
  before_script:
    - *set-reference-for-basop-port-branch
    - USE_LTV=0
    - DUT_DECODER_PATH=./IVAS_dec_ref
    - MERGE_TARGET_DECODER_PATH=./IVAS_dec_ref
    - TEST_SUITE="$SHORT_TEST_SUITE_ENCODER"
    - LEVEL_SCALING=1.0
    - rm -rf tests/dut tests/ref
@@ -1511,10 +1514,13 @@ check-regressions-short-enc-+10db:
    - job: build-codec-linux-make
  extends:
    - .rules-mr-to-main-or-main-pc
  tags:
    - ivas-basop-linux
  before_script:
    - *set-reference-for-basop-port-branch
    - USE_LTV=0
    - DUT_DECODER_PATH=./IVAS_dec_ref
    - MERGE_TARGET_DECODER_PATH=./IVAS_dec_ref
    - TEST_SUITE="$SHORT_TEST_SUITE_ENCODER"
    - LEVEL_SCALING=3.162
    - rm -rf tests/dut tests/ref
@@ -1530,10 +1536,13 @@ check-regressions-short-enc--10db:
    - job: build-codec-linux-make
  extends:
    - .rules-mr-to-main-or-main-pc
  tags:
    - ivas-basop-linux
  before_script:
    - *set-reference-for-basop-port-branch
    - USE_LTV=0
    - DUT_DECODER_PATH=./IVAS_dec_ref
    - MERGE_TARGET_DECODER_PATH=./IVAS_dec_ref
    - TEST_SUITE="$SHORT_TEST_SUITE_ENCODER"
    - LEVEL_SCALING=0.3162
    - rm -rf tests/dut tests/ref
@@ -1549,10 +1558,13 @@ check-regressions-short-dec-0db:
    - job: build-codec-linux-make
  extends:
    - .rules-mr-to-main-or-main-pc
  tags:
    - ivas-basop-linux
  before_script:
    - *set-reference-for-basop-port-branch
    - USE_LTV=0
    - DUT_ENCODER_PATH=./IVAS_cod_ref
    - MERGE_TARGET_ENCODER_PATH=./IVAS_cod_ref
    - TEST_SUITE="$SHORT_TEST_SUITE"
    - LEVEL_SCALING=1.0
    - rm -rf tests/dut tests/ref
@@ -1568,10 +1580,13 @@ check-regressions-short-dec-+10db:
    - job: build-codec-linux-make
  extends:
    - .rules-mr-to-main-or-main-pc
  tags:
    - ivas-basop-linux
  before_script:
    - *set-reference-for-basop-port-branch
    - USE_LTV=0
    - DUT_ENCODER_PATH=./IVAS_cod_ref
    - MERGE_TARGET_ENCODER_PATH=./IVAS_cod_ref
    - TEST_SUITE="$SHORT_TEST_SUITE"
    - LEVEL_SCALING=3.162
    - rm -rf tests/dut tests/ref
@@ -1587,10 +1602,13 @@ check-regressions-short-dec--10db:
    - job: build-codec-linux-make
  extends:
    - .rules-mr-to-main-or-main-pc
  tags:
    - ivas-basop-linux
  before_script:
    - *set-reference-for-basop-port-branch
    - USE_LTV=0
    - DUT_ENCODER_PATH=./IVAS_cod_ref
    - MERGE_TARGET_ENCODER_PATH=./IVAS_cod_ref
    - TEST_SUITE="$SHORT_TEST_SUITE"
    - LEVEL_SCALING=0.3162
    - rm -rf tests/dut tests/ref
@@ -1644,7 +1662,7 @@ ivas-pytest-enc-msan:
  extends:
    - .test-job-linux
  tags:
    - ivas-linux-fast
    - ivas-basop-linux-fast
  before_script:
    - CLANG_NUM=1
    - DUT_DECODER_PATH=./$REF_DECODER_PATH
@@ -1655,7 +1673,7 @@ ivas-pytest-enc-asan:
  extends:
    - .test-job-linux
  tags:
    - ivas-linux-fast
    - ivas-basop-linux-fast
  before_script:
    - CLANG_NUM=2
    - DUT_DECODER_PATH=./$REF_DECODER_PATH
@@ -1666,7 +1684,7 @@ ivas-pytest-enc-usan:
  extends:
    - .test-job-linux
  tags:
    - ivas-linux-fast
    - ivas-basop-linux-fast
  before_script:
    - CLANG_NUM=3
    - DUT_DECODER_PATH=./$REF_DECODER_PATH
@@ -1734,7 +1752,7 @@ ivas-pytest-dec-msan:
  extends:
    - .test-job-linux
  tags:
    - ivas-linux-fast
    - ivas-basop-linux-fast
  before_script:
    - CLANG_NUM=1
    - DUT_ENCODER_PATH=./$REF_ENCODER_PATH
@@ -1745,7 +1763,7 @@ ivas-pytest-dec-asan:
  extends:
    - .test-job-linux
  tags:
    - ivas-linux-fast
    - ivas-basop-linux-fast
  before_script:
    - CLANG_NUM=2
    - DUT_ENCODER_PATH=./$REF_ENCODER_PATH
@@ -1756,7 +1774,7 @@ ivas-pytest-dec-usan:
  extends:
    - .test-job-linux
  tags:
    - ivas-linux-fast
    - ivas-basop-linux-fast
  before_script:
    - CLANG_NUM=3
    - DUT_ENCODER_PATH=./$REF_ENCODER_PATH
@@ -2036,7 +2054,7 @@ voip-be-on-merge-request:
    - .rules-merge-request-no-draft
  timeout: "20 minutes"
  tags:
    - ivas-linux
    - ivas-basop-linux
  stage: test
  needs: ["build-codec-linux-make"] #, "build-codec-instrumented-linux", "build-codec-sanitizers-linux"]
  script:
@@ -2070,7 +2088,7 @@ renderer-pytest-on-merge-request:
  # TODO: set reasonable timeout, will most likely take less
  timeout: "20 minutes"
  tags:
    - ivas-linux
    - ivas-basop-linux
  stage: compare
  script:
    - *print-common-info
@@ -2130,7 +2148,7 @@ ivas-pytest-on-merge-request:
  # thus, overall, this should save time
  timeout: "40 minutes"
  tags:
    - ivas-linux
    - ivas-basop-linux
  script:
    - *print-common-info
    - *get-commits-behind-count
@@ -2623,7 +2641,7 @@ complexity-osba-in-binaural_room_ir-out:
pages:
  stage: deploy
  tags:
    - ivas-linux
    - ivas-basop-linux
  rules:
    - if: $UPDATE_PAGES
  script:
+2 −0
Original line number Diff line number Diff line
@@ -164,6 +164,8 @@
#define NONBE_FIX_991_PARAMBIN_BINARY_HRTF              /* Nokia: issue #991: fix using of binary file HRTF in ParamBin (to activate when USE_NEW_HRTF_BINARY_FILE_FORMAT and FIX_777_COMBI_RENDER_CONFIG_FILE are on ) */

#define FIX_1741_REVERB_TIMES_Q_FORMAT                  /* Philips: reverberation times in Q26 format instead of Q31 */
#define FIX_1831_REVERB_REGRESSION                      /* Philips: fixes reverb regression issues  */

#define FIX_1835_REVERB_ACTIVATION                       /* FhG: reverberation activation logic modification and factEQ calculation correction*/
/* #################### End BASOP porting switches ############################ */

+11 −0
Original line number Diff line number Diff line
@@ -2426,6 +2426,10 @@ ivas_error ivas_binaural_reverb_init(
    Word32 t60[CLDFB_NO_CHANNELS_MAX];
    Word32 ene[CLDFB_NO_CHANNELS_MAX];
    Word16 preDelay;
#ifdef FIX_1831_REVERB_REGRESSION
    Word16 temp16, s;
    Word32 temp32;
#endif

    error = IVAS_ERR_OK;

@@ -2442,7 +2446,14 @@ ivas_error ivas_binaural_reverb_init(
            return error;
        }

#ifdef FIX_1831_REVERB_REGRESSION
        temp16 = BASOP_Util_Divide3216_Scale( 48000, CLDFB_NO_CHANNELS_MAX, &s );
        temp16 = shl( temp16, s );                                            // Q0
        temp32 = Mult_32_16( roomAcoustics->acousticPreDelay_fx, temp16 );    // Q11
        preDelay = extract_l( L_shr( L_add( temp32, L_shl( 1, 10 ) ), 11 ) ); // Q0
#else
        preDelay = (int16_t) roundf( 48000.0f * roomAcoustics->acousticPreDelay / CLDFB_NO_CHANNELS_MAX );
#endif
#ifdef FIX_1741_REVERB_TIMES_Q_FORMAT
        floatToFixed_arrL( t60_temp, t60, Q26, CLDFB_NO_CHANNELS_MAX );
#else