Commit d3b94470 authored by Jan Kiene's avatar Jan Kiene
Browse files

Merge branch 'main' into fhg/fix-bug-in-td-concealment-for-mdct-stereo

parents ea5ea86e 51c71ef0
Loading
Loading
Loading
Loading
Loading
+93 −5
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ variables:
      - 'test-be-release'
      - 'test-long-self-test'
      - 'ivas-conformance'
      - 'ivas-conformance-linux'
  GIT_CLEAN_FLAGS: -ffdxq
  TESTCASE_TIMEOUT_STV_SANITIZERS: 180
  TESTCASE_TIMEOUT_LTV_SANITIZERS: 1200
@@ -58,6 +59,10 @@ workflow:
      variables:
        IVAS_PIPELINE_NAME: 'Draft IVAS Conformance test: $CI_COMMIT_BRANCH'        
    - if: $CI_PIPELINE_SOURCE == 'trigger'
    - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'ivas-conformance-linux'
      variables:
        IVAS_PIPELINE_NAME: 'Draft IVAS Conformance test -- Linux: $CI_COMMIT_BRANCH'        
    

stages:
  - .pre
@@ -243,6 +248,8 @@ stages:
      when: never
    - if: $MANUAL_PIPELINE_TYPE == 'ivas-conformance'
      when: never      
    - if: $MANUAL_PIPELINE_TYPE == 'ivas-conformance-linux'
      when: never      
    - when: on_success

.rules-merge-request:
@@ -1339,6 +1346,7 @@ ivas-conformance:
    # Prepare reference exec, use tests and scripts from reference
    - $source_branch_commit_sha = $(git rev-parse HEAD)
    - git checkout main # This should be set to a relevant reference
    - git pull # Ensure to get the latest version
    - python .\scripts\strip_split_rendering.py
    - MSBuild.exe -maxcpucount .\Workspace_msvc\Workspace_msvc.sln /property:Configuration=Debug    
    - cp -force IVAS_cod.exe IVAS_cod_ref.exe
@@ -1403,6 +1411,86 @@ ivas-conformance:
    reports:
      junit: report-junit.xml

ivas-conformance-linux:
  tags:
    - ivas-linux
  stage: test
  timeout: "60 minutes"
  rules:
    - if: ($CI_PIPELINE_SOURCE == 'web' || $CI_PIPELINE_SOURCE == 'trigger') && $MANUAL_PIPELINE_TYPE == 'ivas-conformance-linux'
  allow_failure:
    exit_codes:
      - 123
  script:
    - *print-common-info
    # Prepare reference exec, use tests and scripts from reference
    - source_branch_commit_sha=$(git rev-parse HEAD)
    - git checkout main # This should be set to a relevant reference
    
    - make -j
    - cp IVAS_cod IVAS_cod_ref
    - cp IVAS_dec IVAS_dec_ref
    - cp IVAS_rend IVAS_rend_ref
    - git restore .
    - git checkout $source_branch_commit_sha
    
    # Reference creation
    - python3 tests/create_short_testvectors.py
    - python3 scripts/prepare_combined_format_inputs.py
    - python3 -m pytest tests/codec_be_on_mr_nonselection -v -n auto --update_ref 1 -m create_ref --keep_files
    - python3 -m pytest tests/codec_be_on_mr_nonselection -v -n auto --update_ref 1 -m create_ref_part2 --keep_files
    - python3 -m pytest tests/renderer/test_renderer.py --create_ref --keep_files

    # Output creation
    - python3 -m pytest tests/codec_be_on_mr_nonselection tests/renderer/test_renderer.py -v -n auto --keep_files --create_cut --html=report_cmd.html --self-contained-html
    - python3 scripts/parse_commands.py report_cmd.html Readme_IVAS.txt
    
    # Copy input data and output ref data
    - rm -rf testvec
    - mkdir testvec
    - mkdir testvec/binauralRenderer_interface
    - mkdir testvec/testv
    - mkdir testvec/testv/renderer
    - mkdir testvec/bin    
    - cp -r scripts/testv/* testvec/testv
    - cp -r scripts/ls_layouts testvec
    - cp -r scripts/switchPaths testvec
    - cp -r scripts/trajectories testvec
    - cp -r scripts/binauralRenderer_interface/binaural_renderers_hrtf_data testvec/binauralRenderer_interface
    - cp -r tests/ref testvec/testv/ref
    - cp -r tests/dut/* testvec/testv/ref
    - cp -r tests/renderer/cut testvec/testv/renderer/ref
    - cp -r tests/conformance-test testvec/
    - cp Readme_IVAS_dec.txt testvec
    - cp Readme_IVAS_enc.txt testvec 
    - cp Readme_IVAS_rend.txt testvec
    - cp Readme_IVAS_JBM_dec.txt testvec
    - cp IVAS_cod testvec/bin
    - cp IVAS_dec testvec/bin
    - cp IVAS_rend testvec/bin
    
    # Test run generated scripts in testvec
    - cd testvec    
    - python3 -m pytest conformance-test/test_26252.py --junit-xml=report-junit.xml --html=report.html --self-contained-html
    - mv report.html ..
    - mv report-junit.xml ..

  artifacts:
    name: "ivas-conformance-linux-$CI_COMMIT_SHORT_SHA"
    expire_in: 1 week
    when: always
    paths:
      - report-junit.xml
      - report.html
      - Readme_IVAS_dec.txt  
      - Readme_IVAS_enc.txt  
      - Readme_IVAS_rend.txt
      - Readme_IVAS_JBM_dec.txt
    expose_as: "Draft IVAS conformance -- Linux"
    reports:
      junit: report-junit.xml


test-long-self-test:
  tags:
    - ivas-linux-fast
@@ -1484,7 +1572,7 @@ ltv-msan:
    - .sanitizer-selftest-ltv
  rules:
    - if: $SANITIZER_SCHEDULE_E
  timeout: 1 hour
  timeout: 2 hour
  tags:
    - ivas-linux-fast
  before_script:
@@ -1500,10 +1588,10 @@ ltv-asan:
  rules:
    - if: $SANITIZER_SCHEDULE_E
      when: delayed
      start_in: 1 hours
      start_in: 2 hours
  tags:
    - ivas-linux-fast
  timeout: 1 hour
  timeout: 2 hour
  before_script:
    - CLANG_NUM=2
    - SELFTEST_SANITY_TIMEOUT=$TESTCASE_TIMEOUT_LTV_SANITIZERS
@@ -1517,10 +1605,10 @@ ltv-usan:
  rules:
    - if: $SANITIZER_SCHEDULE_E
      when: delayed
      start_in: 2 hours
      start_in: 3 hours
  tags:
    - ivas-linux-fast
  timeout: 1 hour
  timeout: 2 hour
  before_script:
    - CLANG_NUM=3
    - SELFTEST_SANITY_TIMEOUT=$TESTCASE_TIMEOUT_LTV_SANITIZERS
+0 −3
Original line number Diff line number Diff line
@@ -2525,9 +2525,6 @@ static ivas_error decodeG192(
        {
            update_wmops();
            update_mem();
#ifdef MEM_COUNT_DETAILS
            export_mem( "mem_analysis.csv" );
#endif
        }
#endif
    }
+4 −0
Original line number Diff line number Diff line
@@ -1197,6 +1197,10 @@ enum
#define MASA_RATIO_TOLERANCE                    0.1f
#define MASA_RATIO_THRESHOLD                    0.015f
#define MASA_ANGLE_TOLERANCE                    0.5f
#ifdef  NON_BE_FIX_1048_THRESHOLD_COH_BASOP
#define MASA_SUR_COH_THRESHOLD                  1e-7f
#define MASA_SUR_COH_PRECISION                  1e7f
#endif
#define MASA_LIMIT_NO_BANDS_SUR_COH             8
#define MINIMUM_BIT_BUDGET_NORMAL_META          100
#define DIFF_DFRATIO_2BIT_LIMIT_IDX_HODIRAC     4
+4 −0
Original line number Diff line number Diff line
@@ -828,7 +828,11 @@ void deindex_lvq_SHB(

        /* find idx_leader */
        i = 1;
#ifdef NONBE_FIX_1054_NEGATIVE_LVQ_INDEX
        while ( index > table_no_cv[i] )
#else
        while ( index >= table_no_cv[i] )
#endif
        {
            i++;
        }
+4 −0
Original line number Diff line number Diff line
@@ -121,7 +121,11 @@ void generate_nelp_excitation(

        for ( j = 0; j < len; j++ )
        {
#ifdef FIX_970_USAN_IN_NELP_SEED
            tmp[j] = ( ( *seed ) = (int16_t) ( 521 * ( *seed ) + 259 ) ) / PCM16_TO_FLT_FAC;
#else
            tmp[j] = ( ( *seed ) = 521 * ( *seed ) + 259 ) / PCM16_TO_FLT_FAC;
#endif
            tmp1[j] = ABSVAL( tmp[j] );
            I[j] = j;
        }
Loading