Commit 868dd243 authored by Jan Kiene's avatar Jan Kiene
Browse files

add DISABLE_LIMITER switch and framesize-be test

parent 149cfbaa
Loading
Loading
Loading
Loading
+46 −0
Original line number Diff line number Diff line
@@ -998,6 +998,52 @@ check-regressions-short-dec--10db:
    # -10dB
    LEVEL_SCALING: "0.3162"

check-be-between-renderer-framesizes:
  extends:
    - .test-job-linux
    - .rules-pytest-to-main-short
  stage: test
  needs: ["build-codec-linux-cmake", "build-codec-linux-make", "build-codec-instrumented-linux", "build-codec-sanitizers-linux"]
  script:
    - *print-common-info
    - *disable-limiter
    - *build-float-ref-and-dut-binaries
    - pytest_args="$SHORT_TEST_SUITE --tb=no -v --ref_encoder_path ./IVAS_cod_ref --ref_decoder_path ./IVAS_dec"

    - python3 -m pytest --update_ref 1 "$pytest_args"

    - exit_code=0
    - exit_code5=0
    - exit_code10=0
    - python3 -m pytest $pytest_args --html=report-5ms.html --self-contained-html --junit-xml=report-junit-5ms.xml --dut_fr 5 --decoder_only || exit_code5=$?
    - python3 -m pytest $pytest_args --html=report-10ms.html --self-contained-html --junit-xml=report-junit-10ms.xml --dut_fr 10 --decoder_only || exit_code10=$?

    - zero_errors5=$(cat report-junit-5ms.xml | grep -c 'errors="0"') || true
    - 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
    - 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
    - if [ $exit_code -ne 0 ]; then exit $EXIT_CODE_FAIL; fi
  artifacts:
    name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--stage-$CI_JOB_STAGE--results"
    expire_in: 1 week
    when: always
    expose_as: "pytest 5ms and 10ms vs 20ms results"
    paths:
      - report-junit-5ms.xml
      - report-5ms.html
      - report-junit-10ms.xml
      - report-10ms.html
    reports:
      junit:
        - report-junit-5ms.xml
        - report-junit-10ms.xml


# ---------------------------------------------------------------
# Short test jobs for running from web interface or schedule
# ---------------------------------------------------------------
+2 −0
Original line number Diff line number Diff line
@@ -61,6 +61,8 @@
/*#define MEM_COUNT_DETAILS*/                   /* Output detailed memory analysis for the worst-case frame (writes to the file "mem_analysis.csv") */
#endif

#define DISABLE_LIMITER

/* #################### End DEBUGGING switches ############################ */

#ifndef BASOP_NOGLOB_DEV_USE_GLOBALS
+4 −0
Original line number Diff line number Diff line
@@ -350,6 +350,7 @@ static void accumulate2dArrayToBuffer_fx(
 * In-place saturation control for multichannel buffers with adaptive release time
 *-------------------------------------------------------------------*/

#ifndef DISABLE_LIMITER
/*! r: number of clipped output samples */
static Word32 limitRendererOutput_fx(
    IVAS_LIMITER_HANDLE hLimiter, /* i/o: limiter struct handle                                           */
@@ -393,6 +394,7 @@ static Word32 limitRendererOutput_fx(

    return numClipping;
}
#endif

/*-------------------------------------------------------------------*
 * validateOutputAudioConfig()
@@ -7361,7 +7363,9 @@ static ivas_error getSamplesInternal(
    test();

    Word32 limiter_thresold = L_lshl( IVAS_LIMITER_THRESHOLD, *outAudio.pq_fact );
#ifndef DISABLE_LIMITER
    limitRendererOutput_fx( hIvasRend->hLimiter, outAudio.data_fx, outAudio.config.numSamplesPerChannel, limiter_thresold, *outAudio.pq_fact );
#endif

    /* update global cominbed orientation start index */
    ivas_combined_orientation_update_start_index( hIvasRend->hCombinedOrientationData, outAudio.config.numSamplesPerChannel );