Commit 6bf8f1dc authored by vaclav's avatar vaclav
Browse files

Merge remote-tracking branch 'remotes/origin/main' into OBJ_EDITING_formal_impr

parents bf2a66e1 d195b452
Loading
Loading
Loading
Loading
Loading
+44 −1
Original line number Diff line number Diff line
@@ -24,11 +24,14 @@ variables:
      - 'ivas-conformance'
      - 'ivas-conformance-linux'
      - 'check-float-reference'
      - 'check-clipping'
      - 'test-branch-vs-input-passthrough'

  GIT_CLEAN_FLAGS: -ffdxq
  TESTCASE_TIMEOUT_STV_SANITIZERS: 180
  TESTCASE_TIMEOUT_LTV_SANITIZERS: 1200
  TESTCASE_TIMEOUT_LTV_SANITIZERS: 2400
  BASOP_REFERENCE_BRANCH: "ivas-float-update"
  SCALE_FACTOR: "3.162"


default:
@@ -70,6 +73,9 @@ workflow:
    - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'check-float-reference'
      variables:
        IVAS_PIPELINE_NAME: 'check-float-reference: $CI_COMMIT_BRANCH'
    - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'check-clipping'
      variables:
        IVAS_PIPELINE_NAME: 'Check core input clipping: $CI_COMMIT_BRANCH'
    - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'test-branch-vs-input-passthrough'
      variables:
        IVAS_PIPELINE_NAME: 'Pass-through comparison vs input: $CI_COMMIT_BRANCH'
@@ -125,6 +131,11 @@ stages:
# automatically disable #DEBUGGING macro in options.h using /**/-comment
  - sed -i.bak -e "s/^[[:space:]]*\(#define[[:space:]]*DEBUGGING\)/\/\*\1\*\//g" lib_com/options.h

.enable-debugging-macro: &enable-debugging-macro
# automatically enable #DEBUGGING macro in options.h using either /**/-comment or //-comment
  - sed -i.bak -e "s/\/\*\ *\(#define\ *DEBUGGING\ *\)\*\//\1/g" lib_com/options.h
  - sed -i.bak -e "s/\/\/\ *\(#define\ *DEBUGGING\ *\)/\1/g" lib_com/options.h

.merge-request-comparison-setup-codec: &merge-request-comparison-setup-codec 
  ### build test binaries, initial clean for paranoia reasons
  - *disable-debugging-macro
@@ -268,6 +279,7 @@ stages:
      when: never      
    - if: $MANUAL_PIPELINE_TYPE == 'check-float-reference'
      when: never
    - if: $MANUAL_PIPELINE_TYPE == 'check-clipping'
    - if: $MANUAL_PIPELINE_TYPE == 'test-branch-vs-input-passthrough'
      when: never
    - when: on_success
@@ -1644,6 +1656,36 @@ test-long-self-test:
      junit:
        - report-junit-ltv.xml

check-clipping:
  tags:
    - ivas-linux
  stage: test
  timeout: "30 minutes"
  rules:
    - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'check-clipping'
  allow_failure:
    exit_codes:
      - 123
  script:
    - *print-common-info
    - *enable-debugging-macro
    - make -j
    - tests/scale_pcm.py ./scripts/testv/ $SCALE_FACTOR # Default: 3.162 (+10 dB). Can be set in manual trigger.
    - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --update_ref 1 --html=report.html --self-contained-html --junit-xml=report-junit.xml --ref_encoder_path ./IVAS_cod --ref_decoder_path ./IVAS_dec
    - python3 scripts/parse_xml_report.py report-junit.xml report.csv --clipping
  artifacts:
    name: "check-clipping--sha-$CI_COMMIT_SHORT_SHA--results"
    when: always
    expire_in: 2 weeks
    paths:
      - report-junit.xml
      - report.html
      - report.csv
    expose_as: "check-clipping results"
    reports:
      junit:
        - report-junit.xml

test-branch-vs-input-passthrough:
  tags:
    - ivas-linux
@@ -1679,6 +1721,7 @@ test-branch-vs-input-passthrough:
      junit:
        - report-junit.xml


# ---------------------------------------------------------------
# Scheduled jobs on main
# ---------------------------------------------------------------
+334 −34

File changed.

Preview size limit exceeded, changes collapsed.

+8 −0
Original line number Diff line number Diff line
@@ -195,6 +195,8 @@ int main(
#ifdef DEBUG_SBA
    int16_t numTransportChannels = 1;
#endif
    int32_t noClipping;
    float maxOverload, minOverload;
#endif

#ifdef DEBUGGING
@@ -792,6 +794,12 @@ int main(
    }

#ifdef DEBUGGING
    if ( ( noClipping = IVAS_ENC_GetNoCLipping( hIvasEnc, &maxOverload, &minOverload ) ) > 0 )
    {
        fprintf( stdout, "Core input overload detected: %d samples!!!\n", noClipping );
        fprintf( stdout, "Max overload value: %f \n", maxOverload );
        fprintf( stdout, "Min overload value: %f \n\n", minOverload );
    }
    print_snr();
#endif
    /*------------------------------------------------------------------------------------------*
+8 −0
Original line number Diff line number Diff line
@@ -615,7 +615,11 @@ static int16_t get_cldfb_in_flag(
    int16_t cldfb_in_flag;

    cldfb_in_flag = 0;
#ifdef FIX_HRTF_LOAD
    if ( renderConfig->split_rend_config.rendererSelection == IVAS_BIN_RENDERER_TYPE_FASTCONV )
#else
    if ( renderConfig->split_rend_config.rendererSelection == ISAR_SPLIT_REND_RENDERER_SELECTION_FASTCONV )
#endif
    {
#ifdef DEBUGGING
        cldfb_in_flag = 1;
@@ -945,7 +949,11 @@ int main(
                goto cleanup;
            }

#ifdef FIX_HRTF_LOAD
            if ( ( error = load_fastconv_HRTF_from_binary( *hHrtfFastConv, 0, IVAS_AUDIO_CONFIG_INVALID, hrtfFileReader ) ) != IVAS_ERR_OK )
#else
            if ( ( error = load_fastconv_HRTF_from_binary( *hHrtfFastConv, hrtfFileReader ) ) != IVAS_ERR_OK )
#endif
            {
                if ( error != IVAS_ERR_BINARY_FILE_WITHOUT_BINAURAL_RENDERER_DATA )
                {
+18 −0
Original line number Diff line number Diff line
@@ -214,6 +214,18 @@ typedef struct _IVAS_JBM_TRACE_DATA

} IVAS_JBM_TRACE_DATA;

#ifdef FIX_HRTF_LOAD
typedef enum _ivas_binaural_renderer_type
{
    IVAS_BIN_RENDERER_TYPE_NONE,
    IVAS_BIN_RENDERER_TYPE_CREND,
    IVAS_BIN_RENDERER_TYPE_FASTCONV,
    IVAS_BIN_RENDERER_TYPE_PARAMBIN,
    IVAS_BIN_RENDERER_TYPE_TDREND,
    IVAS_BIN_RENDERER_TYPE_DEFAULT,

} IVAS_BIN_RENDERER_TYPE;
#endif

/*----------------------------------------------------------------------------------*
 * Split rendering API constants, structures, and enums
@@ -252,6 +264,7 @@ typedef enum

} ISAR_SPLIT_REND_CODEC;

#ifndef FIX_HRTF_LOAD
typedef enum
{
    ISAR_SPLIT_REND_RENDERER_SELECTION_CREND,
@@ -261,6 +274,7 @@ typedef enum
    ISAR_SPLIT_REND_RENDERER_SELECTION_DEFAULT,

} ISAR_SPLIT_REND_RENDERER_SELECTION;
#endif

typedef struct _ISAR_SPLIT_REND_BITS_DATA
{
@@ -292,7 +306,11 @@ typedef struct _ISAR_SPLIT_REND_CONFIG
    int16_t codec_frame_size_ms; /* Codec frame size in milliseconds, only relevant with LC3plus */
    ISAR_SPLIT_REND_POSE_CORRECTION_MODE poseCorrectionMode;
    ISAR_SPLIT_REND_CODEC codec;
#ifdef FIX_HRTF_LOAD
    IVAS_BIN_RENDERER_TYPE rendererSelection;
#else
    ISAR_SPLIT_REND_RENDERER_SELECTION rendererSelection;
#endif
    int16_t lc3plus_highres;

} ISAR_SPLIT_REND_CONFIG_DATA, *ISAR_SPLIT_REND_CONFIG_HANDLE;
Loading