Commit bb4526e9 authored by vaclav's avatar vaclav
Browse files

- Merge remote-tracking branch 'remotes/origin/main' into 921-omasa-decoder-delay-wrong-printout

parents b8b9bac0 25a0c31b
Loading
Loading
Loading
Loading
Loading
+17 −7
Original line number Diff line number Diff line
@@ -93,16 +93,19 @@ stages:
  # needed when depth is lower than the number of commits in the branch
  - git fetch origin $CI_MERGE_REQUEST_TARGET_BRANCH_NAME:$CI_MERGE_REQUEST_TARGET_BRANCH_NAME

.mr-get-target-commit:
  &mr-get-target-commit # compare to last target branch commit before pipeline was created
.mr-get-target-commit: &mr-get-target-commit # compare to last target branch commit before pipeline was created
  - target_commit=$(git log $CI_MERGE_REQUEST_TARGET_BRANCH_NAME -1 --oneline --before=${CI_PIPELINE_CREATED_AT} --format=%H)

.check-for-testvectors:
  &check-for-testvectors # check if the testvector files specified in scripts/config/ci_linux*.json are present
.check-for-testvectors: &check-for-testvectors # check if the testvector files specified in scripts/config/ci_linux*.json are present
  - python3 -m pytest ci/test_vectors_available.py

.merge-request-comparison-setup-codec:
  &merge-request-comparison-setup-codec ### build test binaries, initial clean for paranoia reasons
.disable-debugging-macro: &disable-debugging-macro
# automatically disable #DEBUGGING macro in options.h using /**/-comment
  - sed -i.bak -e "s/^[[:space:]]*\(#define[[:space:]]*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
  - make clean
  - mkdir build
  - cd build
@@ -113,17 +116,18 @@ stages:
  - mv IVAS_rend ../IVAS_rend_test
  - cd ..
  - rm -rf build/*
  - git restore .

  ### store the current commit hash
  - source_branch_commit_sha=$(git rev-parse HEAD)

  ### checkout version to compare against
  - *mr-fetch-target-branch

  - *mr-get-target-commit
  - git checkout $target_commit

  ### build reference binaries
  - *disable-debugging-macro
  - cd build
  - cmake ..
  - make -j
@@ -131,6 +135,7 @@ stages:
  - mv IVAS_dec ../IVAS_dec_ref
  - mv IVAS_rend ../IVAS_rend_ref
  - cd ..
  - git restore .

  # rename test binaries back
  - mv IVAS_cod_test IVAS_cod
@@ -352,6 +357,7 @@ build-codec-include-split-linux-make:
    - .rules-basis
  script:
    - *print-common-info
    - *enable-split-rendering
    - make -j INCLUDE_SPLIT=1 2>&1 | tee $BUILD_OUTPUT
    # need to use the "|| exit $?" suffix to get the allowed_failure return code, otherwise the job fails with code 1...<
    - ci/check_for_warnings.py $BUILD_OUTPUT || exit $?
@@ -362,6 +368,7 @@ build-codec-include-split-linux-cmake:
    - .rules-basis
  script:
    - *print-common-info
    - *enable-split-rendering
    - mkdir build
    - cd build
    - cmake .. -DINCLUDE_SPLIT=1
@@ -390,6 +397,9 @@ build-codec-windows-include-split-cmake:
  script:
    - *print-common-info-windows
    - $winoutdata = $null
    - get-content .\lib_com\options.h | %{$_ -replace "/\*#define[\s]*SPLIT_REND_WITH_HEAD_ROT[\s]*\*/", "#define SPLIT_REND_WITH_HEAD_ROT"} | set-content -Path ./options_patched.h
    - rm ./lib_com/options.h
    - mv ./options_patched.h ./lib_com/options.h
    - cmake -DINCLUDE_SPLIT=1 -G "Visual Studio 15 2017" . -Bbuild
    - cmake --build build -j | tee -variable winoutdata
    - $winoutdata | Out-File $BUILD_OUTPUT -Encoding Utf8
+2 −1
Original line number Diff line number Diff line
@@ -56,6 +56,7 @@ dly_profile=./scripts/dly_error_profiles/dly_error_profile_10.dat
ism_md_cmd="--ism_metadata_files /usr/local/ltv/ltvISM1.csv /usr/local/ltv/ltvISM2.csv /usr/local/ltv/ltvISM3.csv /usr/local/ltv/ltvISM4.csv"
duration_arg="-U 1:2"
verbosity_cmd="-z console"
ep_file="ci/complexity_measurements/ep_10pct_fer.g192"

if [ $BUILD -eq 1 ];then
	# Enable memory macros to find unbalanced memory allocations/deallocations
@@ -88,7 +89,7 @@ echo "\n======================= 2. ism modes no FEC =======================\n\n"
./scripts/runIvasCodec.py $verbosity_cmd -m $ism_modes -p $cfg $duration_arg $ism_md_cmd | tee smoke_test_output.txt
# run the decoding again, but with 15% frame loss
echo "\n======================= 3. all modes with FEC =======================\n\n"
./scripts/runIvasCodec.py $verbosity_cmd -p $cfg $duration_arg -D="-fec 15" --decoder_only | tee smoke_test_output_plc.txt
./scripts/runIvasCodec.py $verbosity_cmd -p $cfg $duration_arg -f="$ep_file" --decoder_only | tee smoke_test_output_plc.txt

# run JBM modes - EXT is excluded as not supported yet
# OMASA disabled for now
+5 −0
Original line number Diff line number Diff line
@@ -155,6 +155,9 @@
#define FIX_881_REMOVE_LFE_ADDITION_IN_ISM              /* VA: issue 881: remove LFE addition in ISM format */
#define FIX_887_ARRAY_SIZE_DFT_MDCT_STEREO              /* VA: Fix the definition of buffers/arrays in DFT and MDCT stereo to satisfy gcc v 11.4.0 */
#define FIX_891_PARAMUPMIX_CLEANUP                      /* Dlb: issue 891: remove unneeded code from ParamUpmix */
#define FIX_917_LCLD_WARNINGS                           /* Dlb: issue 917 and 918: fix LCLD codec warnings*/
#define FIX_920_IGF_INIT_ERROR                          /* FhG: issue 920: fix bitrate mismatch in initial IGF config to avoid error message in same cases */
#define FIX_923_EXTERNAL_REND_COMMAND_LINE              /* VA: issue 923: enable external renderer command-line options in UPPER case letters */
#define FIX_921_OMASA_DELAY_PRINTOUT                    /* VA: issue 921: correct OMASA decoder delay printout */

/* #################### End BE switches ################################## */
@@ -176,6 +179,8 @@
#define NONBE_FIX_898_ISM_BRATE_CRASH                         /* VA: issue 898: fix decoder crash in ISM bitrate switching with DTX and binaural output */
#define NONBE_FIX_862_UBSAN_SPAR_DEC_BR_SW_PLC                /* DLB: issue 862 : UBSAN: out-of-bound error in SPAR for OSBA bitrate switching with PLC*/
#define NONBE_FIX_DISCRETE_ISM_NOISE_SEED_HANDLING            /* FhG: fix handling of common and differing noise seeds in SCEs for ISM DTX */
#define NONBE_FIX_913_OMASA_BITBUDGET_VIOLATION               /* VA/Nok: issue 913: Resolve "Crash in OMASA encoder - DFT-Stereo bit-budget violated" */
#define NONBE_FIX_855_JBM_FLUSH_OFFSET                        /* FhG: issue #855: add missing switch here for the code in JBM flushing                 */

/* ##################### End NON-BE switches ########################### */

+4 −1
Original line number Diff line number Diff line
@@ -6760,6 +6760,9 @@ float correlation_shift(
void init_coder_ace_plus(
    Encoder_State *st,              /* i  : Encoder state handle                */
    const int32_t last_total_brate, /* i  : last total bitrate                  */
#ifdef FIX_920_IGF_INIT_ERROR
    const int32_t igf_brate, /* i  : IGF configuration bitrate           */
#endif
    const int16_t MCT_flag /* i  : hMCT handle allocated (1) or not (0)*/
);

+11 −4
Original line number Diff line number Diff line
@@ -42,6 +42,8 @@
#define MAX_NUM_RECORDS_REALLOC_STEP 50  /* When re-allocating the list of records, increase the number of records by this number */
#define MAX_CALL_TREE_DEPTH          100 /* maximum depth of the function call tree */
#define DOUBLE_MAX                   0x80000000
#define FAC                          ( FRAMES_PER_SECOND / 1e6 )


typedef struct 
{
@@ -1903,8 +1905,8 @@ void print_mem( ROM_Size_Lookup_Table Const_Data_PROM_Table[] )
            }
            else
            {
                /* bytes */
                fprintf( stdout, "Program ROM size (%s): %d bytes\n", Const_Data_PROM_Table[i].file_spec, Const_Data_PROM_Table[i].PROM_size << Stat_Cnt_Size );
                /* bytes (here, we assume that each instruction takes PROM_INST_SIZE bits of the PROM memory) */
                fprintf( stdout, "Program ROM size (%s): %d bytes\n", Const_Data_PROM_Table[i].file_spec, Const_Data_PROM_Table[i].PROM_size * ( PROM_INST_SIZE / 8 ) );
            }
        }

@@ -1994,10 +1996,15 @@ void print_mem( ROM_Size_Lookup_Table Const_Data_PROM_Table[] )
    mem_count_summary();
#endif

    if ( Stat_Cnt_Size == 0 )
    if ( Stat_Cnt_Size > 0 )
    {
        /* words */
        fprintf( stdout, "\nNote: The Program ROM size is calculated under the assumption that 1 instruction word is stored with %d bits\n", 8 << Stat_Cnt_Size );
    }
    else
    {
        /* bytes */
        fprintf( stdout, "\nNote: The Program ROM size is calculated under the assumption that 1 instruction word is stored with %d bytes (%d bits)\n", 1 << Stat_Cnt_Size, 8 << Stat_Cnt_Size );
        fprintf( stdout, "\nNote: The Program ROM size is calculated under the assumption that 1 instruction word is stored with %d bits\n", PROM_INST_SIZE );
    }
    fprintf( stdout, "Note: The Data ROM size is calculated using the sizeof(type) built-in function\n" );

Loading