Commit 8b2256a3 authored by vaclav's avatar vaclav
Browse files

Merge remote-tracking branch 'remotes/origin/main' into 20231020_maintenance +...

Merge remote-tracking branch 'remotes/origin/main' into 20231020_maintenance + remove unused constants + add sanity checks to API functions
parents 2e87d105 b42586ad
Loading
Loading
Loading
Loading
Loading
+75 −0
Original line number Diff line number Diff line
@@ -88,3 +88,78 @@ coan_out_*
/scripts/mem_analysis_enc_STEREO_sw.csv
/scripts/mem_analysis_enc_STEREO_16k4_DTX.csv
*.pwv
/dcr_ism1
/bwe_clicks_ism1
/BWD_issue
/.ipynb_checkpoints
/scripts/.ipynb_checkpoints
/scripts/wmops_analysis
/scripts/wmops_analysis_new
/tcx_hq_problem_ism1
/scripts/dly_error_profiles/dly_profile_19_.dat
/build.txt
/bit.64k
/bit.32k
/bit
/binaural_loudness.ipynb
/tmp.txt
/syn.wav
/syn.ref
/syn.64k.0.csv
/syn.64k
/syn.32k
/stvST32c_-stereo_32000_32.bit
/split_renderer_config_768_3dof_cldfbpc.txt
/split_out_sba_lcld_20ms_out.wav
/split_out_sba_lcld_20ms.pkt
/split_out_mc_lc3plus_20ms_out.wav
/split_out_mc_lc3plus_20ms.pkt
/run_ivas_codec.sh
/report.html
/report-junit.xm
/out.wav
/ltv48_1ISM.cut14.wav.0.csv
/ltv48_1ISM.cut14.pcm
/ltv48_1ISM.cut14.dec.pcm.0.csv
/ltv48_1ISM.cut14.64k.dec.pcm.0.csv
/ltv48_1ISM.cut14.64k.dec.pcm
/ltv48_1ISM.cut14.32k.dec.pcm
/IvasBuilder.txt
/ivas.192
/ism_loudness_stv48_48kHz.md
/ism_loudness_stv48_32kHz.md
/ism_loudness_sel48_48kHz.md
/ism_loudness_old.xlsx
/ism_loudness_ltv48_ISM4.md
/ism_loudness_ltv48_ISM3.md
/ism_loudness_ltv48_ISM2.md
/ism_loudness_ltv48_ISM1.md
/ism_loudness_ltv48_48kHz.md
/ism_loudness.xlsx
/ism_loudness.py
/HOA2_to_BINAURAL_ROOM_REVERBNone_rend_config_combined_20msNone_0-1000_2-500_1-500.wav
/git_blame_string.sh
/get_license_table.py
/enc_out_mc.pkt
/enc_out.pkt
/cut_ism.py
/scripts/Vlad_mergeNewsletters.py
/scripts/Vlad_extract_max_num_ind.py
/scripts/tables_obj.txt
/scripts/tables_exe.txt
/scripts/requirements.txt
/scripts/parseNewsletterWmops.py
/scripts/output.xlsx
/scripts/functions_obj.txt
/scripts/functions_exe.txt
/scripts/dep_tree.txt
/scripts/cmplx_evs_in_ivas.xlsx
/scripts/bit
/scripts/binaural_loudness.ipynb
/scripts/config/Vlad_self_test_ltv.prm
/scripts/config/Vlad_self_test.prm
/scripts/config/Vlad_ci_linux_ltv.json
/scripts/config/Vlad_ci_linux.json
/cmake-build
/bit.fix
/syn
+6 −18
Original line number Diff line number Diff line
@@ -1076,29 +1076,17 @@ check-first-frame-is-sid:
  script:
    - *print-common-info
    - *update-ltv-repo
    # Temporary fix to test only SID start config files in this job
    # this rm makes check-for-testvectors only check for the signals we actually need in this test
    - rm scripts/config/ci_linux_ltv.json scripts/config/ci_linux.json
    - *check-for-testvectors
    - cmake .
    - make -j

    - exit_code_no_sba=0
    - exit_code_hoa=0
    - exit_code_foa=0

    # run all modes and cut bitstream to start with an SID. Use stereo output to limit runtime, test is only about decoding
    - 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"
    - modes=$(scripts/runIvasCodec.py -l | grep dtx | grep -vE "FOA|HOA" )
    - scripts/runIvasCodec.py -z console -p scripts/config/ci_linux_sidstart_test.json -m $modes -s --bs_length 200 -U 0:20 --oc stereo $ism_md_cmd --timeout 10 || exit_code_no_sba=$?
    - modes=$(scripts/runIvasCodec.py -l | grep dtx | grep -E "HOA")
    - scripts/runIvasCodec.py -z console -p scripts/config/ci_linux_sidstart_test.json -m $modes -s --bs_length 100 -U 70:80 --oc stereo --timeout 10 || exit_code_hoa=$?
    - modes=$(scripts/runIvasCodec.py -l | grep dtx | grep "FOA")
    - scripts/runIvasCodec.py -z console -p scripts/config/ci_linux_sidstart_test.json -m $modes -s --bs_length 100 -U 75:110 --oc stereo --timeout 10 || exit_code_foa=$?
    - bash ci/run-first-frame-is-sid-test.sh

    - if [ $exit_code_no_sba -ne 0 ] || [ $exit_code_hoa -ne 0 ] || [ $exit_code_foa -ne 0 ]; then exit 1; fi
  artifacts:
    paths:
      - out/logs
      - logs_enc
      - logs_dec_msan
      - logs_dec_asan
      - logs_dec_usan
    when: always
    name: "$CI_JOB_NAME--$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--sidstart"
    expose_as: "logs-sidstart"
+2 −2
Original line number Diff line number Diff line
@@ -74,14 +74,14 @@ if(UNIX)
      set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=address")
    elseif("${CLANG}" MATCHES "3" OR "${CLANG}" MATCHES "usan")
      # NOTE: keep in sync with list in Makefile
      set(USAN_CHECKS_ENABLE
      set(USAN_CHECKS_LIST
        undefined # Default checks
        # Extra checks
        float-divide-by-zero
        implicit-conversion
        local-bounds
      )
      list(JOIN USAN_CHECKS_ENABLE "," USAN_CHECKS_ENABLE)
      string(JOIN , USAN_CHECKS_ENABLE ${USAN_CHECKS_LIST})

      set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=${USAN_CHECKS_ENABLE} -fsanitize-recover=${USAN_CHECKS_ENABLE}")
      set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=${USAN_CHECKS_ENABLE} -fsanitize-recover=${USAN_CHECKS_ENABLE}")
+9 −18
Original line number Diff line number Diff line
@@ -67,8 +67,10 @@ static
#endif
    int32_t frame = 0; /* Counter of frames */

#ifdef DEBUGGING
#define MIN_NUM_BITS_ACTIVE_FRAME 56
#define NUM_BITS_SID_IVAS_5K2     104
#endif
#define MAX_OUTPUT_PCM_BUFFER_SIZE ( ( IVAS_MAX_OUTPUT_CHANNELS + IVAS_MAX_NUM_OBJECTS ) * IVAS_MAX_FRAME_SIZE )

#define ORIENT_TRK_NONE        ( 0 )
@@ -77,12 +79,7 @@ static
#define ORIENT_TRK_REF_VEC     ( 3 )
#define ORIENT_TRK_REF_VEC_LEV ( 4 )

#ifdef VARIABLE_SPEED_DECODING
#define VARIABLE_SPEED_FETCH_FRAMESIZE_MS 20
#endif
#define JBM_FRONTEND_FETCH_FRAMESIZE_MS 20
#define HEADROTATION_FETCH_FRAMESIZE_MS 5
#define DEFAULT_FETCH_FRAMESIZE_MS      20


/*------------------------------------------------------------------------------------------*
@@ -206,9 +203,7 @@ int main(
#ifdef DEBUG_SBA_AUDIO_DUMP
    int16_t numOutChannels, numTransportChannels, pca_ingest_channels;
#endif
#endif

#ifdef DEBUGGING
    dbgargs( &argc, argv );
#endif
#ifdef WMOPS
@@ -1257,7 +1252,6 @@ static bool parseCmdlIVAS_dec(
        }
#endif
#endif /* #ifdef DEBUGGING */

        else if ( strcmp( argv_to_upper, "-MIME" ) == 0 )
        {
            arg->inputFormat = IVAS_DEC_INPUT_FORMAT_MIME;
@@ -1282,6 +1276,7 @@ static bool parseCmdlIVAS_dec(
        {
            int32_t tmp;
            i++;

            if ( i < argc - 3 )
            {
                if ( !is_digits_only( argv[i] ) )
@@ -1313,7 +1308,6 @@ static bool parseCmdlIVAS_dec(
        }
        else if ( strcmp( argv_to_upper, "-OTR" ) == 0 )
        {

            strncpy( argv_to_upper, argv[i + 1], sizeof( argv_to_upper ) - 1 );
            argv_to_upper[sizeof( argv_to_upper ) - 1] = '\0';
            to_upper( argv_to_upper );
@@ -1964,7 +1958,6 @@ static ivas_error initOnFirstGoodFrame(
        }
        else
        {

            if ( *pRemainingDelayNumSamples < *numOutSamples )
            {
                if ( ( error = AudioFileWriter_write( *ppAfWriter, zeroBuf, *numOutSamples * *pNumOutChannels - ( *pRemainingDelayNumSamples * *pNumOutChannels ) ) ) != IVAS_ERR_OK )
@@ -2153,6 +2146,7 @@ static ivas_error decodeG192(
        fprintf( stderr, "\nError in IVAS_DEC_is_split_rendering_coded_out, code: %d\n", error );
        return error;
    }

    IVAS_RENDER_CONFIG_DATA renderConfig;
    RenderConfigReader *renderConfigReader = NULL;

@@ -2461,9 +2455,6 @@ static ivas_error decodeG192(
                    fprintf( stderr, "\nError in IVAS_DEC_GetSplitBinauralBitstream: %s\n", IVAS_DEC_GetErrorMessage( error ) );
                    goto cleanup;
                }

                nSamplesRendered += nSamplesRendered_loop;
                nSamplesToRender -= nSamplesRendered_loop;
            }
            else
            {
@@ -2472,9 +2463,10 @@ static ivas_error decodeG192(
                    fprintf( stderr, "\nError in IVAS_DEC_GetSamples: %s\n", IVAS_DEC_GetErrorMessage( error ) );
                    goto cleanup;
                }
            }

            nSamplesRendered += nSamplesRendered_loop;
            nSamplesToRender -= nSamplesRendered_loop;
            }

            if ( needNewFrame )
            {
@@ -3424,7 +3416,6 @@ static ivas_error decodeVoIP(
#endif
    }


    int16_t nSamplesFlushed = 0;

    /* flush remaining audio */
+45 −0
Original line number Diff line number Diff line
import argparse
import csv
import sys
import numpy as np


THRESH = 0.01
COLS = [
    [3, 5, 7, 9], # wmops_all
    [3,5,7,8,10,12,13,15,17], # ram_all
    [3,5,7,9,11,13,15,17,19], # rom_all
]


def main(args):
    linewise_logfiles = [args.wmops_logfile, args.ram_logfile, args.rom_logfile]
    changes_found_linewise = any([check_linewise_logfile(f, c) for f, c in zip(linewise_logfiles, COLS)])

    if changes_found_linewise:
        print("Global max of WMOPS, RAM or ROM changed")

    return int(changes_found_linewise)


def check_linewise_logfile(filepath, cols):
    with open(filepath) as f:
        contents = [line for line in csv.reader(f, delimiter=" ")]

    curr = contents[-1]
    prev = contents[-2]

    change_ratios = [abs(float(curr[i]) / float(prev[i]) - 1) > THRESH for i in cols]
    changes_found = any(change_ratios)

    return changes_found


if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument("wmops_logfile")
    parser.add_argument("ram_logfile")
    parser.add_argument("rom_logfile")
    args = parser.parse_args()

    sys.exit(main(args))
Loading