Commit b5297d09 authored by multrus's avatar multrus
Browse files

Merge branch 'ci/port-framesize-be-test' of...

Merge branch 'ci/port-framesize-be-test' of ssh://forge.3gpp.org:29419/sa4/audio/ivas-basop into ci/port-framesize-be-test
parents bc5bc9d1 b6dbf27a
Loading
Loading
Loading
Loading
+31 −21
Original line number Diff line number Diff line
@@ -62,6 +62,9 @@ workflow:
    - 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 == 'renderer-framesize-be'
      variables:
        IVAS_PIPELINE_NAME: 'Renderer framesize 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'
@@ -851,7 +854,7 @@ build-codec-linux-make:
    - make -j

# ensure that codec builds on linux with instrumentation active
.build-codec-linux-instrumented-make:
build-codec-linux-instrumented-make:
  rules:
    - if: $CI_PIPELINE_SOURCE == 'web'
    - if: $CI_PIPELINE_SOURCE == 'push' && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
@@ -868,7 +871,7 @@ build-codec-linux-make:
    - bash scripts/prepare_instrumentation.sh -m MEM_ONLY
    - make -j -C $INSTR_DIR

.build-codec-linux-debugging-make:
build-codec-linux-debugging-make:
  rules:
    - if: $CI_PIPELINE_SOURCE == 'web'
    - if: $CI_PIPELINE_SOURCE == 'push' && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
@@ -886,7 +889,7 @@ build-codec-linux-make:
    - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/activate-debug-mode-info-if-set.sh
    - make -j

.build-codec-windows-msbuild:
build-codec-windows-msbuild:
  rules:
    - if: $CI_PIPELINE_SOURCE == 'web'
    - if: $CI_PIPELINE_SOURCE == 'push' && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
@@ -909,7 +912,7 @@ build-codec-linux-make:
# ---------------------------------------------------------------

### jobs that check for bitexactness of fx encoder and decoder
.check-be-to-target-short-enc-0db:
check-be-to-target-short-enc-0db:
  extends:
    - .check-be-to-target-job
  variables:
@@ -920,7 +923,7 @@ build-codec-linux-make:
    DUT_DECODER_PATH: "$REF_DECODER_PATH"
    MERGE_TARGET_DECODER_PATH: "$REF_DECODER_PATH"

.check-be-to-target-short-enc-+10db:
check-be-to-target-short-enc-+10db:
  extends:
    - .check-be-to-target-job
  variables:
@@ -931,7 +934,7 @@ build-codec-linux-make:
    DUT_DECODER_PATH: "$REF_DECODER_PATH"
    MERGE_TARGET_DECODER_PATH: "$REF_DECODER_PATH"

.check-be-to-target-short-enc--10db:
check-be-to-target-short-enc--10db:
  extends:
    - .check-be-to-target-job
  variables:
@@ -942,7 +945,7 @@ build-codec-linux-make:
    DUT_DECODER_PATH: "$REF_DECODER_PATH"
    MERGE_TARGET_DECODER_PATH: "$REF_DECODER_PATH"

.check-be-to-target-short-dec-0db:
check-be-to-target-short-dec-0db:
  extends:
    - .check-be-to-target-job
  variables:
@@ -953,7 +956,7 @@ build-codec-linux-make:
    DUT_ENCODER_PATH: "$REF_ENCODER_PATH"
    MERGE_TARGET_ENCODER_PATH: "$REF_ENCODER_PATH"

.check-be-to-target-short-dec-+10db:
check-be-to-target-short-dec-+10db:
  extends:
    - .check-be-to-target-job
  variables:
@@ -964,7 +967,7 @@ build-codec-linux-make:
    DUT_ENCODER_PATH: "$REF_ENCODER_PATH"
    MERGE_TARGET_ENCODER_PATH: "$REF_ENCODER_PATH"

.check-be-to-target-short-dec--10db:
check-be-to-target-short-dec--10db:
  extends:
    - .check-be-to-target-job
  variables:
@@ -976,7 +979,7 @@ build-codec-linux-make:
    MERGE_TARGET_ENCODER_PATH: "$REF_ENCODER_PATH"

### jobs that check for regressions on non-BE testcases
.check-regressions-short-enc-0db:
check-regressions-short-enc-0db:
  extends:
    - .check-regressions-pytest-job
  needs:
@@ -990,7 +993,7 @@ build-codec-linux-make:
    DUT_DECODER_PATH: "$REF_DECODER_PATH"
    MERGE_TARGET_DECODER_PATH: "$REF_DECODER_PATH"

.check-regressions-short-enc-+10db:
check-regressions-short-enc-+10db:
  extends:
    - .check-regressions-pytest-job
  needs:
@@ -1004,7 +1007,7 @@ build-codec-linux-make:
    DUT_DECODER_PATH: "$REF_DECODER_PATH"
    MERGE_TARGET_DECODER_PATH: "$REF_DECODER_PATH"

.check-regressions-short-enc--10db:
check-regressions-short-enc--10db:
  extends:
    - .check-regressions-pytest-job
  needs:
@@ -1018,7 +1021,7 @@ build-codec-linux-make:
    DUT_DECODER_PATH: "$REF_DECODER_PATH"
    MERGE_TARGET_DECODER_PATH: "$REF_DECODER_PATH"

.check-regressions-short-dec-0db:
check-regressions-short-dec-0db:
  extends:
    - .check-regressions-pytest-job
  needs:
@@ -1032,7 +1035,7 @@ build-codec-linux-make:
    DUT_ENCODER_PATH: "$REF_ENCODER_PATH"
    MERGE_TARGET_ENCODER_PATH: "$REF_ENCODER_PATH"

.check-regressions-short-dec-+10db:
check-regressions-short-dec-+10db:
  extends:
    - .check-regressions-pytest-job
  needs:
@@ -1046,7 +1049,7 @@ build-codec-linux-make:
    DUT_ENCODER_PATH: "$REF_ENCODER_PATH"
    MERGE_TARGET_ENCODER_PATH: "$REF_ENCODER_PATH"

.check-regressions-short-dec--10db:
check-regressions-short-dec--10db:
  extends:
    - .check-regressions-pytest-job
  needs:
@@ -1063,7 +1066,9 @@ build-codec-linux-make:
check-be-between-renderer-framesizes:
  extends:
    - .test-job-linux
    - .rules-pytest-to-main-short
    # - .rules-pytest-to-main-short
  rules:
    - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == "renderer-framesize-be"
  stage: test
  needs: ["build-codec-linux-make"]
  script:
@@ -1076,8 +1081,7 @@ check-be-between-renderer-framesizes:
    - python3 ci/remove_unsupported_testcases.py $PRM_FILES

    - exit_code=0
    - python3 -m pytest tests/codec_be_on_mr_nonselection --tb=no -v --ref_encoder_path ./IVAS_cod_ref --ref_decoder_path ./IVAS_dec --update_ref 1 || exit_code=$?
    - if [ $exit_code -ne 0 ]; then echo "20 ms framesize run already failed with errors." exit 1; fi
    - python3 -m pytest tests/codec_be_on_mr_nonselection --tb=no -v --ref_encoder_path ./IVAS_cod_ref --ref_decoder_path ./IVAS_dec --update_ref 1 --html=report-20ms.html --self-contained-html --junit-xml=report-junit-20ms.xml || exit_code=$?

    - exit_code5=0
    - exit_code10=0
@@ -1088,8 +1092,11 @@ check-be-between-renderer-framesizes:
    - zero_errors10=$(cat report-junit-10ms.xml | grep -c 'errors="0"') || true
    - zero_errors=1

    - if [ $zero_errors5 != 1 ]; then echo "run error in with 5ms rendering encountered"; zero_errors=0 ; fi
    - if [ $zero_errors10 != 1 ]; then echo "run error in with 10ms rendering encountered"; zero_errors=0 ; fi
    - *print-results-banner
    - echo "!! Encoder command lines are in the 20ms log files only !!!"
    - if [ $exit_code -ne 0 ]; then echo "20 ms framesize run already failed with errors."; zero_errors=0; fi
    - if [ $zero_errors5 != 1 ]; then echo "run error with 5ms rendering encountered"; zero_errors=0 ; fi
    - if [ $zero_errors10 != 1 ]; then echo "run error with 10ms rendering encountered"; zero_errors=0 ; fi
    - if [ $zero_errors != 1 ]; then exit $EXIT_CODE_FAIL; fi
    - if [ $exit_code5 -ne 0 ]; then echo "Non-bitexact cases encountered with 5ms rendering!"; exit_code=1; fi
    - if [ $exit_code10 -ne 0 ]; then echo "Non-bitexact cases encountered with 10ms rendering!"; exit_code=1; fi
@@ -1104,10 +1111,13 @@ check-be-between-renderer-framesizes:
      - report-5ms.html
      - report-junit-10ms.xml
      - report-10ms.html
      - report-junit-20ms.xml
      - report-20ms.html
    reports:
      junit:
        - report-junit-5ms.xml
        - report-junit-10ms.xml
        - report-junit-20ms.xml


# ---------------------------------------------------------------
@@ -1543,7 +1553,7 @@ coverage-test-on-main-scheduled:
# ---------------------------------------------------------------

# check bitexactness to EVS
.be-2-evs-26444:
be-2-evs-26444:
  extends:
    - .test-job-linux
  rules:
+1 −0
Original line number Diff line number Diff line
@@ -63,4 +63,5 @@ variables:
      - 'complexity'
      - 'coverage'
      - 'voip-be-test'
      - 'renderer-framesize-be'
      - 'peaq-enc-passthrough'
+20 −0
Original line number Diff line number Diff line
@@ -1916,6 +1916,26 @@ Word16 findIndexOfMinWord32( Word32 *x, const Word16 len )
    return indx;
}

Word16 findIndexOfMinWord64( Word64 *x, const Word16 len )
{
    Word16 i, indx;


    indx = 0;
    move16();
    FOR( i = 1; i < len; i++ )
    {
        if ( LT_64( x[i], x[indx] ) )
        {
            indx = i;
            move16();
        }
    }


    return indx;
}


Word16 imult1616( Word16 x, Word16 y )
{
+1 −0
Original line number Diff line number Diff line
@@ -536,6 +536,7 @@ Word16 findIndexOfMinWord16( Word16 *x, const Word16 len );
  \return   index of min Word32
 */
Word16 findIndexOfMinWord32( Word32 *x, const Word16 len );
Word16 findIndexOfMinWord64( Word64 *x, const Word16 len );

/****************************************************************************/
/*!
+7 −1
Original line number Diff line number Diff line
@@ -226,6 +226,7 @@ enum{
#define ONE_BY_L_FRAME32k_Q31           3355443
#define ONE_BY_L_FRAME25_6k_Q31         4194304
#define ONE_BY_L_FRAME16k_Q31           6710886
#define ONE_BY_L_FRAME16k_Q15           102
#define ONE_BY_L_FRAME_Q31              8388608
#define ONE_BY_240_Q31                  8947849
#define ONE_BY_L_FRAME8k_Q31            13421772
@@ -680,6 +681,7 @@ enum
#define NUM_DCT_LENGTH                      24

#define NB_DIV                              2                                   /* number of division (subframes) per 20ms frame  */
#define NB_DIV_LOG2                         1                                   /* To be used for shift operation instead of division */
#define L_MDCT_HALF_OVLP_MAX                L_MDCT_OVLP_MAX - 48000 / 200       /* Size of HALF overlap window slope @ 48 kHz */
#define L_MDCT_MIN_OVLP_MAX                 60                                  /* Size of the MDCT minimal overlap @ 48 kHz - 1.25ms */
#define L_MDCT_TRANS_OVLP_MAX               NS2SA( 48000, ACELP_TCX_TRANS_NS )  /* Size of the ACELP->MDCT transition overlap - 1.25ms */
@@ -708,6 +710,7 @@ enum
#define L_FRAME                             256                                                                                                              /* frame size at 12.8kHz                      */
#define NB_SUBFR                            4                                                                                                                /* number of subframes per frame              */
#define L_SUBFR                             ( L_FRAME / NB_SUBFR )                                                                                           /* subframe size                              */
#define L_SUBFR_LOG2                        6                                                                                                                /* To be used for shift operation instead of division */
#define L_SUBFR_Q6                            ((L_FRAME/NB_SUBFR)*64)       /* subframe size                              */
#define L_SUBFR_Q16                           ((L_FRAME/NB_SUBFR)*65536)    /* subframe size                              */

@@ -788,6 +791,7 @@ enum
#endif
#define CLDFB_NO_CHANNELS_MAX_FX            30720                  /*Q9*/ 
#define CLDFB_NO_COL_MAX                    16                     /* CLDFB resampling - max number of CLDFB col., == IVAS_CLDFB_NO_COL_MAX */
#define CLDFB_NO_COL_MAX_LOG2               4                      /* To be used for shift operation instead of division */
#define CLDFB_NO_COL_MAX_SWITCH             6                      /* CLDFB resampling - max number of CLDFB col. for switching */
#define CLDFB_NO_COL_MAX_SWITCH_BFI         10                     /* CLDFB resampling - max number of CLDFB col. for switching, BFI */
#define CLDFB_OVRLP_MIN_SLOTS               3                      /* CLDFB resampling - minimize processing to minimum required for transition frame ACELP->TCX/HQ */
@@ -1533,6 +1537,7 @@ enum
#define INTERP_3_2_MEM_LEN                  15
#define L_SHB_LAHEAD                        20                      /* Size of lookahead for SHB */
#define NUM_SHB_SUBFR                       16
#define NUM_SHB_SUBFR_LOG2                  4                       /* To be used for shift operation instead of division */
#define LPC_SHB_ORDER                       10
#define LPC_WHTN_ORDER                      4                       /* Order of whitening filter for SHB excitation */
#define SHB_OVERLAP_LEN                     ( L_FRAME16k - L_SHB_LAHEAD ) / ( NUM_SHB_SUBFR - 1 )
@@ -3093,6 +3098,7 @@ extern const Word16 Idx2Freq_Tbl[];
#define FS_16K_IN_NS_Q31 34360

#define ONE_BY_THREE_Q15 10923    /* 1/3.f in Q15  */
#define ONE_BY_TEN_Q15   3277     /* 1/10.f in Q15 */
#define THREE_Q21        6291456
#define SIX_Q21          12582912

Loading