Commit 0b05cbac authored by sagnowski's avatar sagnowski
Browse files

Merge branch 'main' into port-jbm-fix-basop-part

parents ddb40203 77c8f31b
Loading
Loading
Loading
Loading
Loading
+57 −2
Original line number Diff line number Diff line
variables:
  # note: GitLab cannot reference variables defined by users in the include ref:, we need to use a YAML anchor for this
  # see https://docs.gitlab.com/ci/yaml/includes/#use-variables-with-include for more information
  IVAS_CODEC_CI_REF: &IVAS_CODEC_CI_REF 44cb5638949b874ce0f5c3bf4359f9db860d88bc
  IVAS_CODEC_CI_REF: &IVAS_CODEC_CI_REF 41186736915f5c0a857ac92e8ab438c434e5247d

include:
  - local: .gitlab-ci/variables.yml
@@ -38,6 +38,9 @@ workflow:
    - 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-long-fx-fx'
      variables:
        IVAS_PIPELINE_NAME: 'Run comparison tools against float ref FX-FX (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'
@@ -133,6 +136,15 @@ workflow:
    - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
      when: never

.rules-pytest-long-fx-fx:
  rules:
    - if: $PYTEST_MLD_LONG_FX_FX # Set by scheduled pipeline
    - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == "pytest-compare-long-fx-fx"
    - if: $CI_PIPELINE_SOURCE == 'push'
      when: never
    - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
      when: never

.rules-coverage:
  rules:
    - if: $COVERAGE_TEST # Set by scheduled pipeline
@@ -184,7 +196,7 @@ workflow:
.ivas-pytest-anchor: &ivas-pytest-anchor
  stage: test
  needs: ["build-codec-linux-make"]
  timeout: "360 minutes"
  timeout: "15 hours"
  variables:
    # keep "mld" in artifact name for backwards compatibility reasons
    CSV_ARTIFACT_NAME: "mld--$CI_JOB_NAME-$CI_JOB_ID--sha-$CI_COMMIT_SHORT_SHA.csv"
@@ -1336,6 +1348,49 @@ ivas-pytest-compare_ref-long-dec-lev+10:
    - SPLIT_COMPARISON="true"
  <<: *ivas-pytest-anchor

ivas-pytest-compare_ref-long-fx-fx:
  extends:
    - .rules-pytest-long-fx-fx
    - .test-job-linux
  tags:
    - ivas-linux
  before_script:
    - USE_LTV=1
    - REF_ENCODER_PATH=./$DUT_ENCODER_PATH
    - TEST_SUITE="$LONG_TEST_SUITE_NO_RENDERER"
    - LEVEL_SCALING=1.0
    - SPLIT_COMPARISON="true"
  <<: *ivas-pytest-anchor

ivas-pytest-compare_ref-long-fx-fx-lev-10:
  extends:
    - .rules-pytest-long-fx-fx
    - .test-job-linux
  tags:
    - ivas-linux
  before_script:
    - USE_LTV=1
    - REF_ENCODER_PATH=./$DUT_ENCODER_PATH
    - TEST_SUITE="$LONG_TEST_SUITE_NO_RENDERER"
    - LEVEL_SCALING=0.3162
    - SPLIT_COMPARISON="true"
  <<: *ivas-pytest-anchor

ivas-pytest-compare_ref-long-fx-fx-lev+10:
  extends:
    - .rules-pytest-long-fx-fx
    - .test-job-linux
  tags:
    - ivas-linux
  before_script:
    - USE_LTV=1
    - REF_ENCODER_PATH=./$DUT_ENCODER_PATH
    - TEST_SUITE="$LONG_TEST_SUITE_NO_RENDERER"
    - LEVEL_SCALING=3.162
    - SPLIT_COMPARISON="true"
  <<: *ivas-pytest-anchor


ivas-smoke-test-saturation:
  extends:
    - .rules-pytest-saturation-smoke-test
+1 −0
Original line number Diff line number Diff line
@@ -54,6 +54,7 @@ variables:
      - 'pytest-compare'
      - 'pytest-compare-enc-dmx'
      - 'pytest-compare-long'
      - 'pytest-compare-long-fx-fx'
      - 'pytest-compare-to-input'
      - 'pytest-saturation-smoke-test'
      - 'evs-26444'
+4 −0
Original line number Diff line number Diff line
@@ -1409,7 +1409,11 @@ Word32 BASOP_Util_Divide3232_Scale_newton( Word32 x, Word32 y, Word16 *s )
        *s = 0;
        return ( (Word32) 0 );
    }
#ifdef FIX_USAN_BASOP_UTIL_DIVIDE3232
    IF( EQ_32( y, (Word32) 0x80000000 ) )
#else
    IF( EQ_32( y, 0x80000000 ) )
#endif
    {
        /* Division by -1.0: same as negation of numerator */
        /* Return normalized negated numerator */
+31 −12
Original line number Diff line number Diff line
@@ -519,6 +519,7 @@ void cldfbAnalysis_ts_fx(
        }
        fft_cldfb_fx( rBuffer_fx, M2 );

#ifndef FIX_1733_CLDFB_BUG
        /* post modulation of DST IV */
        FOR( k = 0; k < M2; k++ )
        {
@@ -533,6 +534,7 @@ void cldfbAnalysis_ts_fx(
            move32();
            move32();
        }
#endif
        *q_cldfb = sub( *q_cldfb, 2 );
        move16();

@@ -553,6 +555,23 @@ void cldfbAnalysis_ts_fx(
            move32();
        }

#ifdef FIX_1733_CLDFB_BUG
        /* post modulation of DST IV */
        FOR( k = 0; k < M2; k++ )
        {
            /*cplxMult(&realBuffer[M1-1-(2*k)],&realBuffer[2*k],rBuffer[2*k],rBuffer[2*k+1],rot_vctr_re[k],rot_vctr_im[k]);*/
#ifdef OPT_AVOID_STATE_BUF_RESCALE
            realBuffer_fx[( ( M1 - 1 ) - ( k * 2 ) )] = Msub_32_32( Mpy_32_32( rBuffer_fx[2 * k], rot_vctr_re_fx[k] ), rBuffer_fx[2 * k + 1], rot_vctr_im_fx[k] ); // q - 5
            realBuffer_fx[2 * k] = Madd_32_32( Mpy_32_32( rBuffer_fx[2 * k], rot_vctr_im_fx[k] ), rBuffer_fx[2 * k + 1], rot_vctr_re_fx[k] );                      // q - 5
#else                                                                                                                                                              /* OPT_AVOID_STATE_BUF_RESCALE */
            realBuffer_fx[( ( M1 - 1 ) - ( k * 2 ) )] = L_sub( Mpy_32_32( rBuffer_fx[2 * k], rot_vctr_re_fx[k] ), Mpy_32_32( rBuffer_fx[2 * k + 1], rot_vctr_im_fx[k] ) ); // q - 5
            realBuffer_fx[2 * k] = L_add( Mpy_32_32( rBuffer_fx[2 * k], rot_vctr_im_fx[k] ), Mpy_32_32( rBuffer_fx[2 * k + 1], rot_vctr_re_fx[k] ) );                      // q - 5
#endif                                                                                                                                                             /* OPT_AVOID_STATE_BUF_RESCALE */
            move32();
            move32();
        }

#endif
        /* post modulation of DCT IV */
        FOR( k = 0; k < M2; k++ )
        {
+10 −8
Original line number Diff line number Diff line
@@ -45,20 +45,22 @@
#define MATRIX_CONSTANT (759250113) 
#define NUM_SAMPLES_960 (960)
#define NUM_SAMPLES_720 (720)
#define NUM_SAMPLES_640 (640)
#define NUM_SAMPLES_320 (320)
#define NUM_SAMPLES_160 (160)
#define L_SUBFRAME_48k         (240)
#define L_SUBFRAME_32k         (180)
#define L_SUBFRAME_16k         (80)
#define L_SUBFRAME_8k           (40)
#define Q31_BY_NUM_SAMPLES_960 ( 2239294 )
#define Q31_BY_NUM_SAMPLES_720 ( 2986764 )
#define Q31_BY_NUM_SAMPLES_320 ( 6731924 )
#define Q31_BY_NUM_SAMPLES_160 ( 13506186 )
#define Q31_BY_SUB_FRAME_240 ( 8985287 )
#define Q31_BY_SUB_FRAME_180 ( 11997115 )
#define Q31_BY_SUB_FRAME_80  ( 27183337 )
#define Q31_BY_SUB_FRAME_40  ( 55063683 )
#define Q31_BY_NUM_SAMPLES_960 ( 2239294 ) /* 1/959 in Q31 */
#define Q31_BY_NUM_SAMPLES_720 ( 2986764 ) /* 1/719 in Q31 */
#define Q31_BY_NUM_SAMPLES_640 ( 3360694 ) /* 1/639 in Q31 */
#define Q31_BY_NUM_SAMPLES_320 ( 6731924 ) /* 1/319 in Q31 */
#define Q31_BY_NUM_SAMPLES_160 ( 13506186 ) /* 1/159 in Q31 */
#define Q31_BY_SUB_FRAME_240 ( 8985287 ) /* 1/239 in Q31 */
#define Q31_BY_SUB_FRAME_180 ( 11997115 ) /* 1/179 in Q31 */
#define Q31_BY_SUB_FRAME_80  ( 27183337 ) /* 1/79 in Q31 */
#define Q31_BY_SUB_FRAME_40  ( 55063683 ) /* 1/39 in Q31 */


/*----------------------------------------------------------------------------------*
Loading