Loading .gitlab-ci.yml +73 −55 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ workflow: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' # Runs for merge requests - if: $CI_PIPELINE_SOURCE == 'push' && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH # Pushes to main - if: $CI_PIPELINE_SOURCE == 'schedule' && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH # Scheduled in main - if: $CI_PIPELINE_SOURCE == "web" stages: - maintenance Loading Loading @@ -717,159 +718,176 @@ codec-comparison-on-main-push: stage: test tags: - sanitizer_test_main timeout: "2 hours" artifacts: name: "$CI_JOB_NAME--main--sha-$CI_COMMIT_SHORT_SHA" when: always paths: - ep_015.g192 # second wildcard is necessary to get encoder and no-PLC run logs - "CLANG*/logs*" - ./LOGS_PLC - ./LOGS_noPLC ### --- sanitizer schedule A --- .sanitizer-test-schedule-A: extends: - .sanitizer-test-template timeout: 2 hours 30 minutes sanitizer-test-mono: extends: .sanitizer-test-template extends: .sanitizer-test-schedule-A rules: - if: $IS_SANITIZER_TEST_RUN - if: $SANITIZER_SCHEDULE_A script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py mono mono --tests $SANITIZER_TESTS sanitizer-test-stereo: extends: .sanitizer-test-template extends: .sanitizer-test-schedule-A rules: - if: $IS_SANITIZER_TEST_RUN - if: $SANITIZER_SCHEDULE_A when: delayed start_in: 1 hour start_in: 2 hours 30 minutes script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py stereo $OUT_FORMATS_CHANNEL_BASED --tests $SANITIZER_TESTS sanitizer-test-stereodmxevs: extends: .sanitizer-test-template extends: .sanitizer-test-schedule-A rules: - if: $IS_SANITIZER_TEST_RUN - if: $SANITIZER_SCHEDULE_A when: delayed start_in: 2 hours start_in: 5 hours script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py StereoDmxEVS mono --tests $SANITIZER_TESTS sanitizer-test-ism1: extends: .sanitizer-test-template extends: .sanitizer-test-schedule-A rules: - if: $IS_SANITIZER_TEST_RUN - if: $SANITIZER_SCHEDULE_A when: delayed start_in: 3 hours start_in: 7 hours 30 minutes script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py ISM1 $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL EXT --tests $SANITIZER_TESTS sanitizer-test-ism2: extends: .sanitizer-test-template extends: .sanitizer-test-schedule-A rules: - if: $IS_SANITIZER_TEST_RUN - if: $SANITIZER_SCHEDULE_A when: delayed start_in: 4 hours start_in: 10 hours script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py ISM2 $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL EXT --tests $SANITIZER_TESTS sanitizer-test-ism3: extends: .sanitizer-test-template extends: .sanitizer-test-schedule-A rules: - if: $IS_SANITIZER_TEST_RUN - if: $SANITIZER_SCHEDULE_A when: delayed start_in: 6 hours start_in: 12 hours 30 minutes script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py ISM3 $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL EXT --tests $SANITIZER_TESTS sanitizer-test-ism4: extends: .sanitizer-test-template extends: .sanitizer-test-schedule-A rules: - if: $IS_SANITIZER_TEST_RUN - if: $SANITIZER_SCHEDULE_A when: delayed start_in: 8 hours start_in: 15 hours script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py ISM4 $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL EXT --tests $SANITIZER_TESTS sanitizer-test-mc-5_1: extends: .sanitizer-test-template sanitizer-test-masa: extends: .sanitizer-test-schedule-A rules: - if: $IS_SANITIZER_TEST_RUN - if: $SANITIZER_SCHEDULE_A when: delayed start_in: 10 hours start_in: 17 hours 30 minutes script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py MASA $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL EXT --tests $SANITIZER_TESTS ### --- sanitizer schedule B --- .sanitizer-test-schedule-B: extends: - .sanitizer-test-template timeout: 3 hours sanitizer-test-mc-5_1: extends: .sanitizer-test-schedule-B rules: - if: $SANITIZER_SCHEDULE_B script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py 5_1 $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL --tests $SANITIZER_TESTS sanitizer-test-mc-5_1_2: extends: .sanitizer-test-template extends: .sanitizer-test-schedule-B rules: - if: $IS_SANITIZER_TEST_RUN - if: $SANITIZER_SCHEDULE_B when: delayed start_in: 12 hours start_in: 3 hours script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py 5_1_2 $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL --tests $SANITIZER_TESTS sanitizer-test-mc-5_1_4: extends: .sanitizer-test-template extends: .sanitizer-test-schedule-B rules: - if: $IS_SANITIZER_TEST_RUN - if: $SANITIZER_SCHEDULE_B when: delayed start_in: 14 hours start_in: 6 hours script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py 5_1_4 $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL --tests $SANITIZER_TESTS sanitizer-test-mc-7_1: extends: .sanitizer-test-template extends: .sanitizer-test-schedule-B rules: - if: $IS_SANITIZER_TEST_RUN - if: $SANITIZER_SCHEDULE_B when: delayed start_in: 16 hours start_in: 9 hours script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py 7_1 $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL --tests $SANITIZER_TESTS sanitizer-test-mc-7_1_4: extends: .sanitizer-test-template extends: .sanitizer-test-schedule-B rules: - if: $IS_SANITIZER_TEST_RUN - if: $SANITIZER_SCHEDULE_B when: delayed start_in: 18 hours start_in: 12 hours script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py 7_1_4 $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL --tests $SANITIZER_TESTS sanitizer-test-masa: extends: .sanitizer-test-template rules: - if: $IS_SANITIZER_TEST_RUN when: delayed start_in: 20 hours script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py MASA $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL EXT --tests $SANITIZER_TESTS ### --- sanitizer schedule C --- .sanitizer-test-schedule-C: extends: - .sanitizer-test-template timeout: 6 hours sanitizer-test-sba: extends: .sanitizer-test-template extends: .sanitizer-test-schedule-C rules: - if: $IS_SANITIZER_TEST_RUN when: delayed start_in: 22 hours - if: $SANITIZER_SCHEDULE_C script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py SBA $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL --tests $SANITIZER_TESTS sanitizer-test-planarsba: extends: .sanitizer-test-template extends: .sanitizer-test-schedule-C rules: - if: $IS_SANITIZER_TEST_RUN - if: $SANITIZER_SCHEDULE_C when: delayed start_in: 24 hours start_in: 6 hours script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py PlanarSBA $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL --tests $SANITIZER_TESTS Loading CMakeLists.txt +1 −1 Original line number Diff line number Diff line Loading @@ -145,7 +145,7 @@ target_link_libraries(lib_enc lib_com lib_debug) file(GLOB libRendSrcs "lib_rend/*.c") file(GLOB libRendHeaders "lib_rend/*.h") add_library(lib_rend ${libRendSrcs} ${libRendHeaders}) target_link_libraries(lib_rend lib_com lib_debug) target_link_libraries(lib_rend lib_dec lib_com lib_debug) # Todo refactor: This dependency on lib_dec should be removed. file(GLOB libDecSrcs "lib_dec/*.c") file(GLOB libDecHeaders "lib_dec/*.h") Loading Makefile +2 −2 Original line number Diff line number Diff line Loading @@ -184,8 +184,8 @@ $(CLI_APIENC): $(OBJS_CLI_APIENC) $(LIB_LIBENC) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(L $(CLI_APIDEC): $(OBJS_CLI_APIDEC) $(LIB_LIBDEC) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(LIB_LIBDEBUG) $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_APIDEC) -L. -livasdec -livascom -livasutil -livasdebug $(LDLIBS) -o $(CLI_APIDEC) $(CLI_APIREND): $(OBJS_CLI_APPREND) $(LIB_LIBREND) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(LIB_LIBDEBUG) $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_APPREND) -L. -livasrend -livasutil -livasdebug -livascom $(LDLIBS) -o $(CLI_APIREND) $(CLI_APIREND): $(OBJS_CLI_APPREND) $(LIB_LIBREND) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(LIB_LIBDEBUG) $(LIB_LIBDEC) $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_APPREND) -L. -livasrend -livasdec -livasutil -livasdebug -livascom $(LDLIBS) -o $(CLI_APIREND) $(CLI_UTESTS_CREND): $(OBJS_CLI_UTESTS_CREND) $(LIB_LIBDEC) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(LIB_LIBDEBUG) $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_UTESTS_CREND) -L. -livasdec -livascom -livasutil -livasdebug $(LDLIBS) -o $(UTESTS_CREND_DIR)/$(CLI_UTESTS_CREND) Loading Workspace_msvc/renderer.vcxproj +4 −0 Original line number Diff line number Diff line Loading @@ -223,6 +223,10 @@ <Project>{54509728-928B-44D9-A118-A6F92F08B34F}</Project> <ReferenceOutputAssembly>false</ReferenceOutputAssembly> </ProjectReference> <ProjectReference Include="lib_dec.vcxproj"> <Project>{E822DDAF-0F5F-4CD0-A694-38AE69DE74D3}</Project> <ReferenceOutputAssembly>false</ReferenceOutputAssembly> </ProjectReference> <ProjectReference Include="lib_util.vcxproj"> <Project>{2FA8F384-0775-F3B7-F8C3-85209222FC70}</Project> <ReferenceOutputAssembly>false</ReferenceOutputAssembly> Loading apps/decoder.c +42 −38 Original line number Diff line number Diff line Loading @@ -71,10 +71,14 @@ static int32_t frame = 0; /* Counter of frames */ #define MIN_NUM_BITS_ACTIVE_FRAME 56 #ifdef REMOVE_SID_HARM_LEFTOVERS #define NUM_BITS_SID_IVAS_5K2 104 #else #define NUM_BITS_SID_IVAS_4K4 88 #define NUM_BITS_SID_IVAS_7K8 156 #define NUM_BITS_SID_IVAS_9K3 186 #define NUM_BITS_SID_IVAS_10K2 204 #endif #define META_LINE_LENGTH 200 #define MAX_FRAME_SIZE ( 48000 / 50 ) #define MAX_NUM_OUTPUT_CHANNELS 16 Loading Loading @@ -105,20 +109,22 @@ typedef struct bool hrtfReaderEnabled; char *hrtfFileName; IVAS_DEC_INPUT_FORMAT inputFormat; #ifdef DEBUGGING bool forceSubframeBinauralization; IVAS_DEC_FORCED_REND_MODE forcedRendMode; #endif bool customLsOutputEnabled; char *customLsSetupFilename; int16_t orientation_tracking; float no_diegetic_pan; bool renderConfigEnabled; char *renderConfigFilename; #ifdef DEBUGGING bool forceSubframeBinauralization; IVAS_DEC_FORCED_REND_MODE forcedRendMode; #ifdef DEBUG_FOA_AGC FILE *agcBitstream; /* temporary */ #endif #endif } DecArguments; Loading @@ -128,12 +134,10 @@ typedef struct static bool parseCmdlIVAS_dec( int16_t argc, char **argv, DecArguments *arg ); static void usage_dec( void ); #ifdef DEBUGGING static int16_t app_own_random( int16_t *seed ); #endif static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, HeadRotFileReader *headRotReader, IVAS_DEC_HANDLE hIvasDec, int16_t *pcmBuf ); static ivas_error decodeVoIP( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HANDLE hIvasDec ); #ifdef DEBUGGING static int16_t app_own_random( int16_t *seed ); static IVAS_DEC_FORCED_REND_MODE parseForcedRendModeDec( char *forcedRendModeChar ); #endif Loading Loading @@ -350,7 +354,11 @@ int main( fprintf( stderr, "\nError: input bitstream file %s couldn't be read\n\n", arg.inputBitstreamFilename ); goto cleanup; } #ifdef REMOVE_SID_HARM_LEFTOVERS } while ( bfi || num_bits < MIN_NUM_BITS_ACTIVE_FRAME || num_bits == NUM_BITS_SID_IVAS_5K2 ); #else } while ( bfi || num_bits < MIN_NUM_BITS_ACTIVE_FRAME || num_bits == NUM_BITS_SID_IVAS_4K4 || num_bits == NUM_BITS_SID_IVAS_7K8 || num_bits == NUM_BITS_SID_IVAS_9K3 || num_bits == NUM_BITS_SID_IVAS_10K2 ); #endif BS_Reader_Rewind( hBsReader ); Loading Loading @@ -582,10 +590,10 @@ cleanup: printf( "\n" ); } #ifdef DEBUGGING #ifdef DEBUG_SBA_AUDIO_DUMP ivas_close_sba_decoder_debug_files( arg.output_Fs, numOutChannels, numTransportChannels, pca_ingest_channels ); #endif #ifdef DEBUGGING dbgclose(); #endif Loading Loading @@ -689,6 +697,9 @@ static bool parseCmdlIVAS_dec( arg->forcedRendMode = IVAS_DEC_FORCE_REND_UNFORCED; arg->forceSubframeBinauralization = false; #ifdef DEBUG_FOA_AGC arg->agcBitstream = NULL; #endif #endif arg->output_Fs = 48000; arg->outputFormat = IVAS_DEC_OUTPUT_MONO; Loading Loading @@ -720,9 +731,6 @@ static bool parseCmdlIVAS_dec( arg->inputFormat = IVAS_DEC_INPUT_FORMAT_G192; arg->no_diegetic_pan = 0.f; #ifdef DEBUG_FOA_AGC arg->agcBitstream = NULL; #endif /*-----------------------------------------------------------------* * Initialization Loading Loading @@ -791,21 +799,6 @@ static bool parseCmdlIVAS_dec( arg->jbmOffsetFilename = argv[i]; i++; } #ifdef DEBUGGING else if ( strcmp( argv_to_upper, "-FEC" ) == 0 ) { ftmp = 0.0f; if ( sscanf( argv[i + 1], "%f", &ftmp ) != 1 ) { arg->FEPatterFileName = argv[i + 1]; } else { arg->FER = ftmp; } i += 2; } #endif else if ( strcmp( argv_to_upper, "-Q" ) == 0 ) { arg->quietModeEnabled = true; Loading @@ -827,6 +820,19 @@ static bool parseCmdlIVAS_dec( } } #ifdef DEBUGGING else if ( strcmp( argv_to_upper, "-FEC" ) == 0 ) { ftmp = 0.0f; if ( sscanf( argv[i + 1], "%f", &ftmp ) != 1 ) { arg->FEPatterFileName = argv[i + 1]; } else { arg->FER = ftmp; } i += 2; } else if ( strcmp( argv_to_upper, "-FORCE" ) == 0 ) { i++; Loading @@ -837,6 +843,11 @@ static bool parseCmdlIVAS_dec( i++; } } else if ( strcmp( argv_to_upper, "-FORCE_SUBFRAME_BIN" ) == 0 ) /* Force binauralization to subframe (5 ms) resolution */ { arg->forceSubframeBinauralization = true; i++; } #ifdef DEBUG_MODE_INFO #ifdef DEBUG_MODE_INFO_TWEAK /*-----------------------------------------------------------------* Loading Loading @@ -948,13 +959,6 @@ static bool parseCmdlIVAS_dec( } i++; } #ifdef DEBUGGING else if ( strcmp( argv_to_upper, "-FORCE_SUBFRAME_BIN" ) == 0 ) /* Force binauralization to subframe (5 ms) resolution */ { arg->forceSubframeBinauralization = true; i++; } #endif /*-----------------------------------------------------------------* * Option not recognized Loading Loading
.gitlab-ci.yml +73 −55 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ workflow: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' # Runs for merge requests - if: $CI_PIPELINE_SOURCE == 'push' && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH # Pushes to main - if: $CI_PIPELINE_SOURCE == 'schedule' && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH # Scheduled in main - if: $CI_PIPELINE_SOURCE == "web" stages: - maintenance Loading Loading @@ -717,159 +718,176 @@ codec-comparison-on-main-push: stage: test tags: - sanitizer_test_main timeout: "2 hours" artifacts: name: "$CI_JOB_NAME--main--sha-$CI_COMMIT_SHORT_SHA" when: always paths: - ep_015.g192 # second wildcard is necessary to get encoder and no-PLC run logs - "CLANG*/logs*" - ./LOGS_PLC - ./LOGS_noPLC ### --- sanitizer schedule A --- .sanitizer-test-schedule-A: extends: - .sanitizer-test-template timeout: 2 hours 30 minutes sanitizer-test-mono: extends: .sanitizer-test-template extends: .sanitizer-test-schedule-A rules: - if: $IS_SANITIZER_TEST_RUN - if: $SANITIZER_SCHEDULE_A script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py mono mono --tests $SANITIZER_TESTS sanitizer-test-stereo: extends: .sanitizer-test-template extends: .sanitizer-test-schedule-A rules: - if: $IS_SANITIZER_TEST_RUN - if: $SANITIZER_SCHEDULE_A when: delayed start_in: 1 hour start_in: 2 hours 30 minutes script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py stereo $OUT_FORMATS_CHANNEL_BASED --tests $SANITIZER_TESTS sanitizer-test-stereodmxevs: extends: .sanitizer-test-template extends: .sanitizer-test-schedule-A rules: - if: $IS_SANITIZER_TEST_RUN - if: $SANITIZER_SCHEDULE_A when: delayed start_in: 2 hours start_in: 5 hours script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py StereoDmxEVS mono --tests $SANITIZER_TESTS sanitizer-test-ism1: extends: .sanitizer-test-template extends: .sanitizer-test-schedule-A rules: - if: $IS_SANITIZER_TEST_RUN - if: $SANITIZER_SCHEDULE_A when: delayed start_in: 3 hours start_in: 7 hours 30 minutes script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py ISM1 $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL EXT --tests $SANITIZER_TESTS sanitizer-test-ism2: extends: .sanitizer-test-template extends: .sanitizer-test-schedule-A rules: - if: $IS_SANITIZER_TEST_RUN - if: $SANITIZER_SCHEDULE_A when: delayed start_in: 4 hours start_in: 10 hours script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py ISM2 $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL EXT --tests $SANITIZER_TESTS sanitizer-test-ism3: extends: .sanitizer-test-template extends: .sanitizer-test-schedule-A rules: - if: $IS_SANITIZER_TEST_RUN - if: $SANITIZER_SCHEDULE_A when: delayed start_in: 6 hours start_in: 12 hours 30 minutes script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py ISM3 $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL EXT --tests $SANITIZER_TESTS sanitizer-test-ism4: extends: .sanitizer-test-template extends: .sanitizer-test-schedule-A rules: - if: $IS_SANITIZER_TEST_RUN - if: $SANITIZER_SCHEDULE_A when: delayed start_in: 8 hours start_in: 15 hours script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py ISM4 $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL EXT --tests $SANITIZER_TESTS sanitizer-test-mc-5_1: extends: .sanitizer-test-template sanitizer-test-masa: extends: .sanitizer-test-schedule-A rules: - if: $IS_SANITIZER_TEST_RUN - if: $SANITIZER_SCHEDULE_A when: delayed start_in: 10 hours start_in: 17 hours 30 minutes script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py MASA $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL EXT --tests $SANITIZER_TESTS ### --- sanitizer schedule B --- .sanitizer-test-schedule-B: extends: - .sanitizer-test-template timeout: 3 hours sanitizer-test-mc-5_1: extends: .sanitizer-test-schedule-B rules: - if: $SANITIZER_SCHEDULE_B script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py 5_1 $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL --tests $SANITIZER_TESTS sanitizer-test-mc-5_1_2: extends: .sanitizer-test-template extends: .sanitizer-test-schedule-B rules: - if: $IS_SANITIZER_TEST_RUN - if: $SANITIZER_SCHEDULE_B when: delayed start_in: 12 hours start_in: 3 hours script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py 5_1_2 $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL --tests $SANITIZER_TESTS sanitizer-test-mc-5_1_4: extends: .sanitizer-test-template extends: .sanitizer-test-schedule-B rules: - if: $IS_SANITIZER_TEST_RUN - if: $SANITIZER_SCHEDULE_B when: delayed start_in: 14 hours start_in: 6 hours script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py 5_1_4 $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL --tests $SANITIZER_TESTS sanitizer-test-mc-7_1: extends: .sanitizer-test-template extends: .sanitizer-test-schedule-B rules: - if: $IS_SANITIZER_TEST_RUN - if: $SANITIZER_SCHEDULE_B when: delayed start_in: 16 hours start_in: 9 hours script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py 7_1 $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL --tests $SANITIZER_TESTS sanitizer-test-mc-7_1_4: extends: .sanitizer-test-template extends: .sanitizer-test-schedule-B rules: - if: $IS_SANITIZER_TEST_RUN - if: $SANITIZER_SCHEDULE_B when: delayed start_in: 18 hours start_in: 12 hours script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py 7_1_4 $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL --tests $SANITIZER_TESTS sanitizer-test-masa: extends: .sanitizer-test-template rules: - if: $IS_SANITIZER_TEST_RUN when: delayed start_in: 20 hours script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py MASA $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL EXT --tests $SANITIZER_TESTS ### --- sanitizer schedule C --- .sanitizer-test-schedule-C: extends: - .sanitizer-test-template timeout: 6 hours sanitizer-test-sba: extends: .sanitizer-test-template extends: .sanitizer-test-schedule-C rules: - if: $IS_SANITIZER_TEST_RUN when: delayed start_in: 22 hours - if: $SANITIZER_SCHEDULE_C script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py SBA $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL --tests $SANITIZER_TESTS sanitizer-test-planarsba: extends: .sanitizer-test-template extends: .sanitizer-test-schedule-C rules: - if: $IS_SANITIZER_TEST_RUN - if: $SANITIZER_SCHEDULE_C when: delayed start_in: 24 hours start_in: 6 hours script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py PlanarSBA $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL --tests $SANITIZER_TESTS Loading
CMakeLists.txt +1 −1 Original line number Diff line number Diff line Loading @@ -145,7 +145,7 @@ target_link_libraries(lib_enc lib_com lib_debug) file(GLOB libRendSrcs "lib_rend/*.c") file(GLOB libRendHeaders "lib_rend/*.h") add_library(lib_rend ${libRendSrcs} ${libRendHeaders}) target_link_libraries(lib_rend lib_com lib_debug) target_link_libraries(lib_rend lib_dec lib_com lib_debug) # Todo refactor: This dependency on lib_dec should be removed. file(GLOB libDecSrcs "lib_dec/*.c") file(GLOB libDecHeaders "lib_dec/*.h") Loading
Makefile +2 −2 Original line number Diff line number Diff line Loading @@ -184,8 +184,8 @@ $(CLI_APIENC): $(OBJS_CLI_APIENC) $(LIB_LIBENC) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(L $(CLI_APIDEC): $(OBJS_CLI_APIDEC) $(LIB_LIBDEC) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(LIB_LIBDEBUG) $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_APIDEC) -L. -livasdec -livascom -livasutil -livasdebug $(LDLIBS) -o $(CLI_APIDEC) $(CLI_APIREND): $(OBJS_CLI_APPREND) $(LIB_LIBREND) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(LIB_LIBDEBUG) $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_APPREND) -L. -livasrend -livasutil -livasdebug -livascom $(LDLIBS) -o $(CLI_APIREND) $(CLI_APIREND): $(OBJS_CLI_APPREND) $(LIB_LIBREND) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(LIB_LIBDEBUG) $(LIB_LIBDEC) $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_APPREND) -L. -livasrend -livasdec -livasutil -livasdebug -livascom $(LDLIBS) -o $(CLI_APIREND) $(CLI_UTESTS_CREND): $(OBJS_CLI_UTESTS_CREND) $(LIB_LIBDEC) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(LIB_LIBDEBUG) $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_UTESTS_CREND) -L. -livasdec -livascom -livasutil -livasdebug $(LDLIBS) -o $(UTESTS_CREND_DIR)/$(CLI_UTESTS_CREND) Loading
Workspace_msvc/renderer.vcxproj +4 −0 Original line number Diff line number Diff line Loading @@ -223,6 +223,10 @@ <Project>{54509728-928B-44D9-A118-A6F92F08B34F}</Project> <ReferenceOutputAssembly>false</ReferenceOutputAssembly> </ProjectReference> <ProjectReference Include="lib_dec.vcxproj"> <Project>{E822DDAF-0F5F-4CD0-A694-38AE69DE74D3}</Project> <ReferenceOutputAssembly>false</ReferenceOutputAssembly> </ProjectReference> <ProjectReference Include="lib_util.vcxproj"> <Project>{2FA8F384-0775-F3B7-F8C3-85209222FC70}</Project> <ReferenceOutputAssembly>false</ReferenceOutputAssembly> Loading
apps/decoder.c +42 −38 Original line number Diff line number Diff line Loading @@ -71,10 +71,14 @@ static int32_t frame = 0; /* Counter of frames */ #define MIN_NUM_BITS_ACTIVE_FRAME 56 #ifdef REMOVE_SID_HARM_LEFTOVERS #define NUM_BITS_SID_IVAS_5K2 104 #else #define NUM_BITS_SID_IVAS_4K4 88 #define NUM_BITS_SID_IVAS_7K8 156 #define NUM_BITS_SID_IVAS_9K3 186 #define NUM_BITS_SID_IVAS_10K2 204 #endif #define META_LINE_LENGTH 200 #define MAX_FRAME_SIZE ( 48000 / 50 ) #define MAX_NUM_OUTPUT_CHANNELS 16 Loading Loading @@ -105,20 +109,22 @@ typedef struct bool hrtfReaderEnabled; char *hrtfFileName; IVAS_DEC_INPUT_FORMAT inputFormat; #ifdef DEBUGGING bool forceSubframeBinauralization; IVAS_DEC_FORCED_REND_MODE forcedRendMode; #endif bool customLsOutputEnabled; char *customLsSetupFilename; int16_t orientation_tracking; float no_diegetic_pan; bool renderConfigEnabled; char *renderConfigFilename; #ifdef DEBUGGING bool forceSubframeBinauralization; IVAS_DEC_FORCED_REND_MODE forcedRendMode; #ifdef DEBUG_FOA_AGC FILE *agcBitstream; /* temporary */ #endif #endif } DecArguments; Loading @@ -128,12 +134,10 @@ typedef struct static bool parseCmdlIVAS_dec( int16_t argc, char **argv, DecArguments *arg ); static void usage_dec( void ); #ifdef DEBUGGING static int16_t app_own_random( int16_t *seed ); #endif static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, HeadRotFileReader *headRotReader, IVAS_DEC_HANDLE hIvasDec, int16_t *pcmBuf ); static ivas_error decodeVoIP( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HANDLE hIvasDec ); #ifdef DEBUGGING static int16_t app_own_random( int16_t *seed ); static IVAS_DEC_FORCED_REND_MODE parseForcedRendModeDec( char *forcedRendModeChar ); #endif Loading Loading @@ -350,7 +354,11 @@ int main( fprintf( stderr, "\nError: input bitstream file %s couldn't be read\n\n", arg.inputBitstreamFilename ); goto cleanup; } #ifdef REMOVE_SID_HARM_LEFTOVERS } while ( bfi || num_bits < MIN_NUM_BITS_ACTIVE_FRAME || num_bits == NUM_BITS_SID_IVAS_5K2 ); #else } while ( bfi || num_bits < MIN_NUM_BITS_ACTIVE_FRAME || num_bits == NUM_BITS_SID_IVAS_4K4 || num_bits == NUM_BITS_SID_IVAS_7K8 || num_bits == NUM_BITS_SID_IVAS_9K3 || num_bits == NUM_BITS_SID_IVAS_10K2 ); #endif BS_Reader_Rewind( hBsReader ); Loading Loading @@ -582,10 +590,10 @@ cleanup: printf( "\n" ); } #ifdef DEBUGGING #ifdef DEBUG_SBA_AUDIO_DUMP ivas_close_sba_decoder_debug_files( arg.output_Fs, numOutChannels, numTransportChannels, pca_ingest_channels ); #endif #ifdef DEBUGGING dbgclose(); #endif Loading Loading @@ -689,6 +697,9 @@ static bool parseCmdlIVAS_dec( arg->forcedRendMode = IVAS_DEC_FORCE_REND_UNFORCED; arg->forceSubframeBinauralization = false; #ifdef DEBUG_FOA_AGC arg->agcBitstream = NULL; #endif #endif arg->output_Fs = 48000; arg->outputFormat = IVAS_DEC_OUTPUT_MONO; Loading Loading @@ -720,9 +731,6 @@ static bool parseCmdlIVAS_dec( arg->inputFormat = IVAS_DEC_INPUT_FORMAT_G192; arg->no_diegetic_pan = 0.f; #ifdef DEBUG_FOA_AGC arg->agcBitstream = NULL; #endif /*-----------------------------------------------------------------* * Initialization Loading Loading @@ -791,21 +799,6 @@ static bool parseCmdlIVAS_dec( arg->jbmOffsetFilename = argv[i]; i++; } #ifdef DEBUGGING else if ( strcmp( argv_to_upper, "-FEC" ) == 0 ) { ftmp = 0.0f; if ( sscanf( argv[i + 1], "%f", &ftmp ) != 1 ) { arg->FEPatterFileName = argv[i + 1]; } else { arg->FER = ftmp; } i += 2; } #endif else if ( strcmp( argv_to_upper, "-Q" ) == 0 ) { arg->quietModeEnabled = true; Loading @@ -827,6 +820,19 @@ static bool parseCmdlIVAS_dec( } } #ifdef DEBUGGING else if ( strcmp( argv_to_upper, "-FEC" ) == 0 ) { ftmp = 0.0f; if ( sscanf( argv[i + 1], "%f", &ftmp ) != 1 ) { arg->FEPatterFileName = argv[i + 1]; } else { arg->FER = ftmp; } i += 2; } else if ( strcmp( argv_to_upper, "-FORCE" ) == 0 ) { i++; Loading @@ -837,6 +843,11 @@ static bool parseCmdlIVAS_dec( i++; } } else if ( strcmp( argv_to_upper, "-FORCE_SUBFRAME_BIN" ) == 0 ) /* Force binauralization to subframe (5 ms) resolution */ { arg->forceSubframeBinauralization = true; i++; } #ifdef DEBUG_MODE_INFO #ifdef DEBUG_MODE_INFO_TWEAK /*-----------------------------------------------------------------* Loading Loading @@ -948,13 +959,6 @@ static bool parseCmdlIVAS_dec( } i++; } #ifdef DEBUGGING else if ( strcmp( argv_to_upper, "-FORCE_SUBFRAME_BIN" ) == 0 ) /* Force binauralization to subframe (5 ms) resolution */ { arg->forceSubframeBinauralization = true; i++; } #endif /*-----------------------------------------------------------------* * Option not recognized Loading