Commit 5a866940 authored by Jan Kiene's avatar Jan Kiene
Browse files

Merge branch 'main' into ci/fix-error-patterns-for-correct-error-percentage

parents cf86652e b34fdd0f
Loading
Loading
Loading
Loading
Loading
+110 −60
Original line number Diff line number Diff line
@@ -27,10 +27,17 @@ variables:
      - 'test-branch-vs-input-passthrough'

  GIT_CLEAN_FLAGS: -ffdxq
  TESTCASE_TIMEOUT_STV_SANITIZERS: 180
  TESTCASE_TIMEOUT_STV_SANITIZERS: 240
  TESTCASE_TIMEOUT_LTV_SANITIZERS: 2400
  BASOP_REFERENCE_BRANCH: "ivas-float-update"
  SCALE_FACTOR: "3.162"
  PYTEST_ARGS: ""
  LONG_TEST_SUITE: "tests/codec_be_on_mr_nonselection tests/renderer --param_file scripts/config/self_test_ltv.prm --use_ltv"
  LONG_TEST_SUITE_NO_RENDERER: "tests/codec_be_on_mr_nonselection --param_file scripts/config/self_test_ltv.prm --use_ltv"
  SHORT_TEST_SUITE: "tests/codec_be_on_mr_nonselection"
  SHORT_TEST_SUITE_ENCODER: "tests/codec_be_on_mr_nonselection/test_param_file.py --param_file scripts/config/self_test_basop_encoder.prm"
  LONG_TEST_SUITE_ENCODER: "tests/codec_be_on_mr_nonselection/test_param_file.py --param_file scripts/config/self_test_ltv_basop_encoder.prm"
  TEST_SUITE: ""


default:
@@ -132,6 +139,15 @@ stages:
  - 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

.get-basop-float-reference: &get-basop-float-reference
  - git clone -b $BASOP_REFERENCE_BRANCH https://forge.3gpp.org/rep/sa4/audio/ivas-basop.git --single-branch --depth 1 ivas-basop
  - cd ivas-basop
  - git status
  - make -j
  - cd -
  - cp ivas-basop/IVAS_cod ./
  - cp ivas-basop/IVAS_dec ./

.merge-request-comparison-setup-codec: &merge-request-comparison-setup-codec 
  ### build test binaries, initial clean for paranoia reasons
  - *disable-debugging-macro
@@ -279,10 +295,24 @@ stages:
      when: never
    - when: on_success

.rules-merge-request:
.rules-merge-request-to-main:
  extends: .rules-basis
  rules:
    - if: $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main"
    - if: $CI_PIPELINE_SOURCE == 'push'
      when: never

.rules-merge-request-to-basop-ci-branch:
  extends: .rules-basis
  rules:
    - if: $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main" # only have MR pipelines for MRs to main
    - if: $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "basop-ci-branch"
    - if: $CI_PIPELINE_SOURCE == 'push'
      when: never

.rules-merge-request-to-basop-ci-branch-or-main:
  extends: .rules-basis
  rules:
    - if: $CI_PIPELINE_SOURCE == 'merge_request_event' && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "basop-ci-branch" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main")
    - if: $CI_PIPELINE_SOURCE == 'push'
      when: never

@@ -327,7 +357,7 @@ stages:
  stage: test
  extends:
    - .test-job-linux-needs-testv-dir
    - .rules-merge-request
    - .rules-merge-request-to-main
  artifacts:
    name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--stage-$CI_JOB_STAGE--results"
    expire_in: 1 week
@@ -396,7 +426,7 @@ uninterruptible:

branch-is-up-to-date-with-main-pre:
  extends:
    - .rules-merge-request
    - .rules-merge-request-to-main
  stage: prevalidate
  needs: []
  tags:
@@ -408,7 +438,7 @@ branch-is-up-to-date-with-main-pre:

check-self-test-names-pre:
  extends:
    - .rules-merge-request
    - .rules-merge-request-to-main
  stage: prevalidate
  needs: []
  tags:
@@ -418,7 +448,7 @@ check-self-test-names-pre:

check-no-duplicates-in-self-tests:
  extends:
    - .rules-merge-request
    - .rules-merge-request-to-main
  stage: prevalidate
  needs: []
  tags:
@@ -428,7 +458,7 @@ check-no-duplicates-in-self-tests:

branch-is-up-to-date-with-main-post:
  extends:
    - .rules-merge-request
    - .rules-merge-request-to-main
  stage: postvalidate
  tags:
    - ivas-linux
@@ -440,26 +470,22 @@ branch-is-up-to-date-with-main-post:
.basop-ci-branch-compat-template:
  extends:
    - .test-job-linux
  rules:
    - if: $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "basop-ci-branch"
      changes:
        - tests/**/*
        - scripts/**/*
    - if: $CI_PIPELINE_SOURCE == 'push'
      when: never
    - .rules-merge-request-to-basop-ci-branch
  tags:
    - ivas-linux-fast
    - ivas-linux
  before_script:
    - git clone -b $BASOP_REFERENCE_BRANCH https://forge.3gpp.org/rep/sa4/audio/ivas-basop.git --single-branch
    - make -j -C ivas-basop
    - python3 ci/remove_unsupported_testcases.py $PARAM_FILE
    - python3 ci/remove_unsupported_testcases.py scripts/config/self_test.prm scripts/config/self_test_ltv.prm
    - python3 tests/create_short_testvectors.py
    - python3 scripts/prepare_combined_format_inputs.py

    - *update-ltv-repo
    - *copy-ltv-files-to-testv-dir

    - python3 -m pytest tests/codec_be_on_mr_nonselection --param_file $PARAM_FILE --update_ref 1 --ref_encoder_path ivas-basop/IVAS_cod --ref_decoder_path ivas-basop/IVAS_dec --html=report.html --self-contained-html --junit-xml=report-junit.xml || true
    - *get-basop-float-reference

    - python3 -m pytest $TEST_SUITE $PYTEST_ARGS --update_ref 1 --ref_encoder_path IVAS_cod --ref_decoder_path IVAS_dec --html=report.html --self-contained-html --junit-xml=report-junit.xml --testcase_timeout=$TESTCASE_TIMEOUT || true
    - zero_errors=$(cat report-junit.xml | grep -c 'errors="0"') || true
    - if [ $zero_errors != 1 ]; then echo "Run errors encountered with $PARAM_FILE !"; exit $EXIT_CODE_FAIL; fi
    - if [ $zero_errors != 1 ]; then echo "Run errors encountered with TEST_SUITE=$TEST_SUITE !"; exit $EXIT_CODE_FAIL; fi

  artifacts:
    name: "$CI_JOB_NAME--sha-$CI_COMMIT_SHORT_SHA--results"
@@ -474,35 +500,54 @@ branch-is-up-to-date-with-main-post:
      junit:
        - report-junit.xml

check-compatibility-with-basop-reference-branch-stv:
basop-ref-compat-stv:
  extends:
    - .basop-ci-branch-compat-template
  variables:
    TEST_SUITE: "$SHORT_TEST_SUITE tests/renderer"
    TESTCASE_TIMEOUT: $TESTCASE_TIMEOUT_STV_SANITIZERS
  script:
    - exit 0

basop-ref-compat-ltv:
  extends:
    - .basop-ci-branch-compat-template
  tags:
    - ivas-linux-fast
  variables:
    PARAM_FILE: scripts/config/self_test.prm
    TEST_SUITE: $LONG_TEST_SUITE
    TESTCASE_TIMEOUT: $TESTCASE_TIMEOUT_LTV_SANITIZERS
  script:
    - exit 0

check-compatibility-with-basop-reference-branch-ltv:
basop-ref-compat-encoder-stv:
  extends:
    - .basop-ci-branch-compat-template
  variables:
    PARAM_FILE: scripts/config/self_test_ltv.prm
    TEST_SUITE: $SHORT_TEST_SUITE_ENCODER
    TESTCASE_TIMEOUT: $TESTCASE_TIMEOUT_STV_SANITIZERS
  script:
    - exit 0

check-compatibility-with-basop-reference-branch-encoder-stv:
basop-ref-compat-encoder-ltv:
  extends:
    - .basop-ci-branch-compat-template
  tags:
    - ivas-linux-fast
  variables:
    PARAM_FILE: scripts/config/self_test_basop_encoder.prm
    TEST_SUITE: $LONG_TEST_SUITE_ENCODER
    TESTCASE_TIMEOUT: $TESTCASE_TIMEOUT_LTV_SANITIZERS
  script:
    - exit 0

check-compatibility-with-basop-reference-branch-encoder-ltv:
basop-ref-compat-encoder-dmx-comp:
  extends:
    - .basop-ci-branch-compat-template
  variables:
    PARAM_FILE: scripts/config/self_test_ltv_basop_encoder.prm
    TEST_SUITE: $SHORT_TEST_SUITE_ENCODER
    # USING PYTEST_ADDOPTS env var did not work for some reason when testing locally - maybe because this is a custom option
    PYTEST_ARGS: "--compare_enc_dmx"
    TESTCASE_TIMEOUT: $TESTCASE_TIMEOUT_STV_SANITIZERS
  script:
    - exit 0

@@ -579,7 +624,7 @@ build-codec-windows-msbuild:
codec-smoke-test:
  extends:
    - .test-job-linux-needs-testv-dir
    - .rules-merge-request
    - .rules-merge-request-to-basop-ci-branch-or-main
  timeout: "20 minutes"
  tags:
    - ivas-linux-fast
@@ -589,7 +634,17 @@ codec-smoke-test:
    - *print-common-info
    # LTV update needed as ltv ISM metadata files are used
    - *update-ltv-repo

    # for MRs to basop-ci-branch, we want to test with the BASOP float reference build
    # per default, the smoke test builds the current repo again with WMOPS activated to catch unbalanced instrumentation macros
    - if [ "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" = "basop-ci-branch" ]; then
    -   python3 scripts/smoketest-basop-filter.py scripts/config/ivas_modes.json --inline
    -   *get-basop-float-reference
    -   bash ci/smoke_test.sh coverage
    - else
    -   bash ci/smoke_test.sh
    - fi

    ### analyze for failures
    - if ! [ -s smoke_test_output.txt ] || ! [ -s smoke_test_output_jbm.txt ] || ! [ -s smoke_test_output_hrtf.txt ]; then echo "Error in smoke test"; exit 1; fi
    - ret_val=0
@@ -648,7 +703,7 @@ codec-usan:
pytest-compare-20ms-and-5ms-rendering:
  extends:
    - .test-job-linux
    - .rules-merge-request
    - .rules-merge-request-to-main
  stage: test
  needs: ["build-codec-linux-cmake", "build-codec-linux-make", "build-codec-instrumented-linux", "build-codec-sanitizers-linux"]
  script:
@@ -695,7 +750,7 @@ pytest-compare-20ms-and-5ms-rendering:
renderer-smoke-test:
  extends:
    - .test-job-linux
    - .rules-merge-request
    - .rules-merge-request-to-main
  needs: ["build-codec-linux-make"]
  stage: test
  script:
@@ -717,7 +772,7 @@ renderer-smoke-test:
renderer-asan:
  extends:
    - .test-job-linux
    - .rules-merge-request
    - .rules-merge-request-to-main
  needs: ["build-codec-linux-cmake"]
  stage: test
  script:
@@ -741,7 +796,7 @@ renderer-asan:
renderer-msan:
  extends:
    - .test-job-linux
    - .rules-merge-request
    - .rules-merge-request-to-main
  needs: ["build-codec-linux-cmake"]
  stage: test
  script:
@@ -765,7 +820,7 @@ renderer-msan:
renderer-usan:
  extends:
    - .test-job-linux
    - .rules-merge-request
    - .rules-merge-request-to-main
  needs: ["build-codec-linux-cmake"]
  stage: test
  script:
@@ -793,7 +848,7 @@ renderer-usan:
renderer-pytest-on-merge-request:
  extends:
    - .test-job-linux-needs-testv-dir
    - .rules-merge-request
    - .rules-merge-request-to-main
  needs: ["build-codec-linux-make"]
  # TODO: set reasonable timeout, will most likely take less
  timeout: "20 minutes"
@@ -845,7 +900,7 @@ renderer-pytest-on-merge-request:
split-rendering-smoke-test:
  extends:
    - .test-job-linux
    - .rules-merge-request
    - .rules-merge-request-to-main
  needs: ["build-codec-linux-make"]
  stage: test
  script:
@@ -866,7 +921,7 @@ split-rendering-smoke-test:
lc3-wrapper-unit-test:
  extends:
    - .test-job-linux
    - .rules-merge-request
    - .rules-merge-request-to-main
  needs: ["build-codec-linux-cmake"]
  stage: test
  script:
@@ -878,7 +933,7 @@ lc3-wrapper-unit-test:
split-rendering-pytest-on-merge-request:
  extends:
    - .test-job-linux-needs-testv-dir
    - .rules-merge-request
    - .rules-merge-request-to-main
  needs: ["build-codec-linux-make"]
  # TODO: set reasonable timeout, will most likely take less
  timeout: "30 minutes"
@@ -950,7 +1005,7 @@ split-rendering-pytest-on-merge-request:
ivas-pytest-on-merge-request:
  extends:
    - .test-job-linux-needs-testv-dir
    - .rules-merge-request
    - .rules-merge-request-to-main
  stage: compare
  needs: ["build-codec-linux-cmake", "codec-smoke-test"]
  timeout: "14 minutes"
@@ -1004,7 +1059,7 @@ ivas-pytest-on-merge-request:
ivas-interop-on-merge-request:
  extends:
    - .test-job-linux-needs-testv-dir
    - .rules-merge-request
    - .rules-merge-request-to-main
  stage: test
  needs: ["build-codec-linux-cmake"]
  timeout: "10 minutes"
@@ -1053,7 +1108,7 @@ ivas-interop-on-merge-request:
evs-pytest-on-merge-request:
  extends:
    - .test-job-linux
    - .rules-merge-request
    - .rules-merge-request-to-main
  stage: compare
  needs: ["build-codec-linux-cmake", "codec-smoke-test"]
  timeout: "10 minutes"
@@ -1105,7 +1160,7 @@ evs-pytest-on-merge-request:
voip-be-on-merge-request:
  extends:
    - .test-job-linux-needs-testv-dir
    - .rules-merge-request
    - .rules-merge-request-to-main
  stage: test
  needs: ["build-codec-linux-make"]
  timeout: "10 minutes"
@@ -1118,7 +1173,7 @@ voip-be-on-merge-request:
clang-format-check:
  extends:
    - .test-job-linux
    - .rules-merge-request
    - .rules-merge-request-to-main
  variables:
    ARTIFACT_BASE_NAME: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--formatting-fix"
  stage: prevalidate
@@ -1165,7 +1220,7 @@ clang-format-check:
check-first-frame-is-sid:
  extends:
    - .test-job-linux-needs-testv-dir
    - .rules-merge-request
    - .rules-merge-request-to-main
  tags:
    - ivas-linux
  stage: test
@@ -1192,7 +1247,7 @@ check-first-frame-is-sid:
.lc3plus-ensure-no-code-changes:
  extends:
    - .test-job-linux
    - .rules-merge-request
    - .rules-merge-request-to-main
  stage: postvalidate
  needs: []
  timeout: "5 minutes"
@@ -1207,7 +1262,7 @@ check-first-frame-is-sid:
check-bitexactness-hrtf-rom-and-file:
  extends:
    - .test-job-linux
    - .rules-merge-request
    - .rules-merge-request-to-main
  stage: test
  needs: ["build-codec-linux-cmake"]
  timeout: "5 minutes"
@@ -1229,7 +1284,7 @@ check-bitexactness-hrtf-rom-and-file:
check-bitexactness-ext-and-transport-format:
  extends:
    - .test-job-linux
    - .rules-merge-request
    - .rules-merge-request-to-main
  stage: test
  needs: ["build-codec-linux-cmake"]
  timeout: "5 minutes"
@@ -1256,7 +1311,7 @@ check-bitexactness-ext-and-transport-format:
# check bitexactness to EVS windows binaries
be-2-evs-windows:
  extends:
    - .rules-merge-request
    - .rules-merge-request-to-main
  tags:
    - ivas-windows
  stage: test
@@ -1763,7 +1818,7 @@ ltv-msan:
    - .sanitizer-selftest-ltv
  rules:
    - if: $SANITIZER_SCHEDULE_E
  timeout: 4 hour
  timeout: 4 hours
  tags:
    - ivas-linux-fast
  before_script:
@@ -1783,7 +1838,7 @@ ltv-asan:
      start_in: 4 hours
  tags:
    - ivas-linux-fast
  timeout: 3 hour
  timeout: 4 hours
  before_script:
    - CLANG_NUM=2
    - SELFTEST_SANITY_TIMEOUT=$TESTCASE_TIMEOUT_LTV_SANITIZERS
@@ -1801,7 +1856,7 @@ ltv-usan:
      start_in: 7 hours
  tags:
    - ivas-linux-fast
  timeout: 3 hour
  timeout: 4 hours
  before_script:
    - CLANG_NUM=3
    - SELFTEST_SANITY_TIMEOUT=$TESTCASE_TIMEOUT_LTV_SANITIZERS
@@ -2403,9 +2458,8 @@ coverage-test-on-main-scheduled:

  - job_id=$(python3 ci/get_id_of_last_job_occurence.py $CI_COMMIT_REF_NAME $CI_JOB_NAME $CI_PROJECT_ID)
  - echo $job_id
  - curl --request GET "https://forge.3gpp.org/rep/api/v4/projects/$CI_PROJECT_ID/jobs/$job_id/artifacts" --output artifacts.zip
  - unzip artifacts.zip || true # this may fail on first run, when there are no artifacts there and the zip file is actually just "404"-html
  - ls
  - curl --silent --show-error  --request GET "https://forge.3gpp.org/rep/api/v4/projects/$CI_PROJECT_ID/jobs/$job_id/artifacts" --output artifacts.zip
  - unzip -qq artifacts.zip || true # this may fail on first run, when there are no artifacts there and the zip file is actually just "404"-html
  - public_dir="$CI_JOB_NAME-public"

  # if is needed to catch case when no artifact is there (first run), similarly as above
@@ -2428,7 +2482,6 @@ coverage-test-on-main-scheduled:
  -   fi
  - fi

  - ls wmops
  - rm artifacts.zip
  - rm -rf $public_dir

@@ -2441,8 +2494,6 @@ coverage-test-on-main-scheduled:
  - mkdir $public_dir/logs
  # first move logs
  - log_files=$(cat $public_dir/graphs*.js | grep logFile | sed "s/.*\(wmops_newsletter_.*\.csv\).*/\1/g")
  - echo $log_files
  - ls wmops/logs
  - for f in $log_files; do [ -f wmops/logs/$f ] && mv wmops/logs/$f $public_dir/logs/$f; done
  # copy index page blueprint
  - cp ci/complexity_measurements/index_complexity.html ${public_dir}/index.html
@@ -2450,7 +2501,6 @@ coverage-test-on-main-scheduled:
  - sed -i "s/IVAS FORMAT/IVAS $in_format to $out_format/g" ${public_dir}/index.html
  # do separately here to avoid overwrite complaints by mv
  - mv -f ci/complexity_measurements/style.css ${public_dir}/
  - ls $public_dir

.complexity-template:
  extends:
+26 −76

File changed.

Preview size limit exceeded, changes collapsed.

+22 −26
Original line number Diff line number Diff line
@@ -154,7 +154,6 @@ typedef struct
 * Local functions prototypes
 *------------------------------------------------------------------------------------------*/

static void initArgStruct( EncArguments *arg );
static bool parseCmdlIVAS_enc( int16_t argc, char *argv[], EncArguments *arg );
static void usage_enc( void );
static bool readBandwidth( FILE *file, IVAS_ENC_BANDWIDTH *bandwidth, int32_t *bandwidthFrameCounter );
@@ -207,8 +206,6 @@ int main(
    reset_mem( USE_BYTES );
#endif

    initArgStruct( &arg );

    /*------------------------------------------------------------------------------------------*
     * Parse command-line arguments
     *------------------------------------------------------------------------------------------*/
@@ -878,14 +875,29 @@ cleanup:
 * Local functions
 *-------------------------------------------------------------------*/

#define IVAS_DEFAULT_AGC ( 0 )
/*---------------------------------------------------------------------*
 * parseCmdlIVAS_enc()
 *
 * Encoder command-line parsing
 *---------------------------------------------------------------------*/

static void initArgStruct( EncArguments *arg )
static bool parseCmdlIVAS_enc(
    int16_t argc,
    char *argv[],
    EncArguments *arg )
{
    /* Set default values here */
    int16_t i, j;
    char argv_to_upper[FILENAME_MAX];
    char stmp[FILENAME_MAX];
    int32_t tmp;

    /*-----------------------------------------------------------------*
     * Set default values
     *-----------------------------------------------------------------*/

    arg->inputWavFilename = NULL;
    arg->outputBitstreamFilename = NULL;
    arg->inputFs = 0;
    arg->inputFs = IVAS_MAX_SAMPLING_RATE;
    arg->inputFormat = IVAS_ENC_INPUT_MONO;
    arg->is_binaural = false;
    arg->inputFormatConfig.stereoToMonoDownmix = false;
@@ -919,25 +931,9 @@ static void initArgStruct( EncArguments *arg )
#endif
    arg->pca = false;

    return;
}


/*---------------------------------------------------------------------*
 * parseCmdlIVAS_enc()
 *
 * Encoder command-line parsing
 *---------------------------------------------------------------------*/

static bool parseCmdlIVAS_enc(
    int16_t argc,
    char *argv[],
    EncArguments *arg )
{
    int16_t i, j;
    char argv_to_upper[FILENAME_MAX];
    char stmp[FILENAME_MAX];
    int32_t tmp;
    /*-----------------------------------------------------------------*
     * Initialization
     *-----------------------------------------------------------------*/

    if ( argc < 5 )
    {
+4 −20
Original line number Diff line number Diff line
@@ -945,7 +945,7 @@ int main(

    memset( outBuffer.data, 0, outBuffer.config.numSamplesPerChannel * outBuffer.config.numChannels * sizeof( float ) );

    bitsBufferSize = SPLIT_REND_BITS_BUFF_SIZE;
    bitsBufferSize = ISAR_SPLIT_REND_BITS_BUFF_SIZE;

    if ( bitsBufferSize > 0 )
    {
@@ -985,9 +985,7 @@ int main(

    while ( 1 )
    {
#ifdef NONBE_1293_CRASH_FIRST_FRAME_LOST
        int16_t bfi = 0;
#endif
        int16_t num_in_channels;
        num_in_channels = inBuffer.config.numChannels;

@@ -995,12 +993,10 @@ int main(
        if ( ( hSplitRendFileReadWrite != NULL ) && splitBinNeedsNewFrame )
        {
            ivas_error error_tmp;

            numSamplesRead = (int16_t) inBufferSize;
#ifdef NONBE_1293_CRASH_FIRST_FRAME_LOST

            error_tmp = split_rend_read_bits_from_file( hSplitRendFileReadWrite, bitsBuffer.bits, &bitsBuffer.config.bitsRead, &bitsBuffer.config.bitsWritten, &bfi );
#else
            error_tmp = split_rend_read_bits_from_file( hSplitRendFileReadWrite, bitsBuffer.bits, &bitsBuffer.config.bitsRead, &bitsBuffer.config.bitsWritten );
#endif
            if ( error_tmp != IVAS_ERR_OK )
            {
                if ( error_tmp == IVAS_ERR_END_OF_FILE )
@@ -1067,24 +1063,13 @@ int main(
        /* Read from split renderer bfi file if specified */
        if ( splitRendBFIReader != NULL && splitBinNeedsNewFrame )
        {
#ifndef NONBE_1293_CRASH_FIRST_FRAME_LOST
            int16_t bfi;
#endif
            if ( ( error = SplitRendBFIFileReading( splitRendBFIReader, &bfi ) ) != IVAS_ERR_OK )
            {
                fprintf( stderr, "\nError in SplitRendBFIFileReading(): %s\n", ivas_error_to_string( error ) );
                goto cleanup;
            }

#ifndef NONBE_1293_CRASH_FIRST_FRAME_LOST
            if ( ( error = ISAR_POST_REND_SetSplitRendBFI( hIsarPostRend, bfi ) ) != IVAS_ERR_OK )
            {
                fprintf( stderr, "Error in ISAR_POST_REND_SetSplitRendBFI(): %s\n", ivas_error_to_string( error ) );
                exit( -1 );
            }
#endif
        }
#ifdef NONBE_1293_CRASH_FIRST_FRAME_LOST

        if ( splitBinNeedsNewFrame )
        {
            if ( ( error = ISAR_POST_REND_SetSplitRendBFI( hIsarPostRend, bfi ) ) != IVAS_ERR_OK )
@@ -1093,7 +1078,6 @@ int main(
                goto cleanup;
            }
        }
#endif

        for ( i = 0; i < args.inConfig.numBinBuses; ++i )
        {
+3 −3
Original line number Diff line number Diff line
@@ -168,7 +168,7 @@ typedef struct
    char externalOrientationFilePath[RENDERER_MAX_CLI_ARG_LENGTH];
    char customHrtfFilePath[RENDERER_MAX_CLI_ARG_LENGTH];
    char renderConfigFilePath[RENDERER_MAX_CLI_ARG_LENGTH];
    int8_t orientation_tracking;
    IVAS_HEAD_ORIENT_TRK_T orientation_tracking;
    int16_t Opt_Headrotation;
    int16_t Opt_ExternalOrientation;
    int16_t nonDiegeticPan;
@@ -1436,7 +1436,7 @@ int main(

    if ( is_split_pre_rend_mode( &args ) )
    {
        bitsBufferSize = SPLIT_REND_BITS_BUFF_SIZE;
        bitsBufferSize = ISAR_SPLIT_REND_BITS_BUFF_SIZE;
    }
    else
    {
@@ -2268,7 +2268,7 @@ static bool parseRenderFramesize(

static bool parseOrientationTracking(
    char *value,
    int8_t *orientation_tracking )
    IVAS_HEAD_ORIENT_TRK_T *orientation_tracking )
{
    to_upper( value );

Loading