Loading .gitlab-ci.yml +44 −1 Original line number Diff line number Diff line Loading @@ -24,11 +24,14 @@ variables: - 'ivas-conformance' - 'ivas-conformance-linux' - 'check-float-reference' - 'check-clipping' - 'test-branch-vs-input-passthrough' GIT_CLEAN_FLAGS: -ffdxq TESTCASE_TIMEOUT_STV_SANITIZERS: 180 TESTCASE_TIMEOUT_LTV_SANITIZERS: 1200 TESTCASE_TIMEOUT_LTV_SANITIZERS: 2400 BASOP_REFERENCE_BRANCH: "ivas-float-update" SCALE_FACTOR: "3.162" default: Loading Loading @@ -70,6 +73,9 @@ workflow: - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'check-float-reference' variables: IVAS_PIPELINE_NAME: 'check-float-reference: $CI_COMMIT_BRANCH' - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'check-clipping' variables: IVAS_PIPELINE_NAME: 'Check core input clipping: $CI_COMMIT_BRANCH' - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'test-branch-vs-input-passthrough' variables: IVAS_PIPELINE_NAME: 'Pass-through comparison vs input: $CI_COMMIT_BRANCH' Loading Loading @@ -125,6 +131,11 @@ stages: # automatically disable #DEBUGGING macro in options.h using /**/-comment - sed -i.bak -e "s/^[[:space:]]*\(#define[[:space:]]*DEBUGGING\)/\/\*\1\*\//g" lib_com/options.h .enable-debugging-macro: &enable-debugging-macro # automatically enable #DEBUGGING macro in options.h using either /**/-comment or //-comment - 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 .merge-request-comparison-setup-codec: &merge-request-comparison-setup-codec ### build test binaries, initial clean for paranoia reasons - *disable-debugging-macro Loading Loading @@ -268,6 +279,7 @@ stages: when: never - if: $MANUAL_PIPELINE_TYPE == 'check-float-reference' when: never - if: $MANUAL_PIPELINE_TYPE == 'check-clipping' - if: $MANUAL_PIPELINE_TYPE == 'test-branch-vs-input-passthrough' when: never - when: on_success Loading Loading @@ -1644,6 +1656,36 @@ test-long-self-test: junit: - report-junit-ltv.xml check-clipping: tags: - ivas-linux stage: test timeout: "30 minutes" rules: - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'check-clipping' allow_failure: exit_codes: - 123 script: - *print-common-info - *enable-debugging-macro - make -j - tests/scale_pcm.py ./scripts/testv/ $SCALE_FACTOR # Default: 3.162 (+10 dB). Can be set in manual trigger. - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --update_ref 1 --html=report.html --self-contained-html --junit-xml=report-junit.xml --ref_encoder_path ./IVAS_cod --ref_decoder_path ./IVAS_dec - python3 scripts/parse_xml_report.py report-junit.xml report.csv --clipping artifacts: name: "check-clipping--sha-$CI_COMMIT_SHORT_SHA--results" when: always expire_in: 2 weeks paths: - report-junit.xml - report.html - report.csv expose_as: "check-clipping results" reports: junit: - report-junit.xml test-branch-vs-input-passthrough: tags: - ivas-linux Loading Loading @@ -1679,6 +1721,7 @@ test-branch-vs-input-passthrough: junit: - report-junit.xml # --------------------------------------------------------------- # Scheduled jobs on main # --------------------------------------------------------------- Loading apps/decoder.c +334 −34 File changed.Preview size limit exceeded, changes collapsed. Show changes apps/encoder.c +8 −0 Original line number Diff line number Diff line Loading @@ -195,6 +195,8 @@ int main( #ifdef DEBUG_SBA int16_t numTransportChannels = 1; #endif int32_t noClipping; float maxOverload, minOverload; #endif #ifdef DEBUGGING Loading Loading @@ -792,6 +794,12 @@ int main( } #ifdef DEBUGGING if ( ( noClipping = IVAS_ENC_GetNoCLipping( hIvasEnc, &maxOverload, &minOverload ) ) > 0 ) { fprintf( stdout, "Core input overload detected: %d samples!!!\n", noClipping ); fprintf( stdout, "Max overload value: %f \n", maxOverload ); fprintf( stdout, "Min overload value: %f \n\n", minOverload ); } print_snr(); #endif /*------------------------------------------------------------------------------------------* Loading apps/renderer.c +8 −0 Original line number Diff line number Diff line Loading @@ -615,7 +615,11 @@ static int16_t get_cldfb_in_flag( int16_t cldfb_in_flag; cldfb_in_flag = 0; #ifdef FIX_HRTF_LOAD if ( renderConfig->split_rend_config.rendererSelection == IVAS_BIN_RENDERER_TYPE_FASTCONV ) #else if ( renderConfig->split_rend_config.rendererSelection == ISAR_SPLIT_REND_RENDERER_SELECTION_FASTCONV ) #endif { #ifdef DEBUGGING cldfb_in_flag = 1; Loading Loading @@ -945,7 +949,11 @@ int main( goto cleanup; } #ifdef FIX_HRTF_LOAD if ( ( error = load_fastconv_HRTF_from_binary( *hHrtfFastConv, 0, IVAS_AUDIO_CONFIG_INVALID, hrtfFileReader ) ) != IVAS_ERR_OK ) #else if ( ( error = load_fastconv_HRTF_from_binary( *hHrtfFastConv, hrtfFileReader ) ) != IVAS_ERR_OK ) #endif { if ( error != IVAS_ERR_BINARY_FILE_WITHOUT_BINAURAL_RENDERER_DATA ) { Loading lib_com/common_api_types.h +18 −0 Original line number Diff line number Diff line Loading @@ -214,6 +214,18 @@ typedef struct _IVAS_JBM_TRACE_DATA } IVAS_JBM_TRACE_DATA; #ifdef FIX_HRTF_LOAD typedef enum _ivas_binaural_renderer_type { IVAS_BIN_RENDERER_TYPE_NONE, IVAS_BIN_RENDERER_TYPE_CREND, IVAS_BIN_RENDERER_TYPE_FASTCONV, IVAS_BIN_RENDERER_TYPE_PARAMBIN, IVAS_BIN_RENDERER_TYPE_TDREND, IVAS_BIN_RENDERER_TYPE_DEFAULT, } IVAS_BIN_RENDERER_TYPE; #endif /*----------------------------------------------------------------------------------* * Split rendering API constants, structures, and enums Loading Loading @@ -252,6 +264,7 @@ typedef enum } ISAR_SPLIT_REND_CODEC; #ifndef FIX_HRTF_LOAD typedef enum { ISAR_SPLIT_REND_RENDERER_SELECTION_CREND, Loading @@ -261,6 +274,7 @@ typedef enum ISAR_SPLIT_REND_RENDERER_SELECTION_DEFAULT, } ISAR_SPLIT_REND_RENDERER_SELECTION; #endif typedef struct _ISAR_SPLIT_REND_BITS_DATA { Loading Loading @@ -292,7 +306,11 @@ typedef struct _ISAR_SPLIT_REND_CONFIG int16_t codec_frame_size_ms; /* Codec frame size in milliseconds, only relevant with LC3plus */ ISAR_SPLIT_REND_POSE_CORRECTION_MODE poseCorrectionMode; ISAR_SPLIT_REND_CODEC codec; #ifdef FIX_HRTF_LOAD IVAS_BIN_RENDERER_TYPE rendererSelection; #else ISAR_SPLIT_REND_RENDERER_SELECTION rendererSelection; #endif int16_t lc3plus_highres; } ISAR_SPLIT_REND_CONFIG_DATA, *ISAR_SPLIT_REND_CONFIG_HANDLE; Loading Loading
.gitlab-ci.yml +44 −1 Original line number Diff line number Diff line Loading @@ -24,11 +24,14 @@ variables: - 'ivas-conformance' - 'ivas-conformance-linux' - 'check-float-reference' - 'check-clipping' - 'test-branch-vs-input-passthrough' GIT_CLEAN_FLAGS: -ffdxq TESTCASE_TIMEOUT_STV_SANITIZERS: 180 TESTCASE_TIMEOUT_LTV_SANITIZERS: 1200 TESTCASE_TIMEOUT_LTV_SANITIZERS: 2400 BASOP_REFERENCE_BRANCH: "ivas-float-update" SCALE_FACTOR: "3.162" default: Loading Loading @@ -70,6 +73,9 @@ workflow: - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'check-float-reference' variables: IVAS_PIPELINE_NAME: 'check-float-reference: $CI_COMMIT_BRANCH' - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'check-clipping' variables: IVAS_PIPELINE_NAME: 'Check core input clipping: $CI_COMMIT_BRANCH' - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'test-branch-vs-input-passthrough' variables: IVAS_PIPELINE_NAME: 'Pass-through comparison vs input: $CI_COMMIT_BRANCH' Loading Loading @@ -125,6 +131,11 @@ stages: # automatically disable #DEBUGGING macro in options.h using /**/-comment - sed -i.bak -e "s/^[[:space:]]*\(#define[[:space:]]*DEBUGGING\)/\/\*\1\*\//g" lib_com/options.h .enable-debugging-macro: &enable-debugging-macro # automatically enable #DEBUGGING macro in options.h using either /**/-comment or //-comment - 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 .merge-request-comparison-setup-codec: &merge-request-comparison-setup-codec ### build test binaries, initial clean for paranoia reasons - *disable-debugging-macro Loading Loading @@ -268,6 +279,7 @@ stages: when: never - if: $MANUAL_PIPELINE_TYPE == 'check-float-reference' when: never - if: $MANUAL_PIPELINE_TYPE == 'check-clipping' - if: $MANUAL_PIPELINE_TYPE == 'test-branch-vs-input-passthrough' when: never - when: on_success Loading Loading @@ -1644,6 +1656,36 @@ test-long-self-test: junit: - report-junit-ltv.xml check-clipping: tags: - ivas-linux stage: test timeout: "30 minutes" rules: - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'check-clipping' allow_failure: exit_codes: - 123 script: - *print-common-info - *enable-debugging-macro - make -j - tests/scale_pcm.py ./scripts/testv/ $SCALE_FACTOR # Default: 3.162 (+10 dB). Can be set in manual trigger. - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --update_ref 1 --html=report.html --self-contained-html --junit-xml=report-junit.xml --ref_encoder_path ./IVAS_cod --ref_decoder_path ./IVAS_dec - python3 scripts/parse_xml_report.py report-junit.xml report.csv --clipping artifacts: name: "check-clipping--sha-$CI_COMMIT_SHORT_SHA--results" when: always expire_in: 2 weeks paths: - report-junit.xml - report.html - report.csv expose_as: "check-clipping results" reports: junit: - report-junit.xml test-branch-vs-input-passthrough: tags: - ivas-linux Loading Loading @@ -1679,6 +1721,7 @@ test-branch-vs-input-passthrough: junit: - report-junit.xml # --------------------------------------------------------------- # Scheduled jobs on main # --------------------------------------------------------------- Loading
apps/encoder.c +8 −0 Original line number Diff line number Diff line Loading @@ -195,6 +195,8 @@ int main( #ifdef DEBUG_SBA int16_t numTransportChannels = 1; #endif int32_t noClipping; float maxOverload, minOverload; #endif #ifdef DEBUGGING Loading Loading @@ -792,6 +794,12 @@ int main( } #ifdef DEBUGGING if ( ( noClipping = IVAS_ENC_GetNoCLipping( hIvasEnc, &maxOverload, &minOverload ) ) > 0 ) { fprintf( stdout, "Core input overload detected: %d samples!!!\n", noClipping ); fprintf( stdout, "Max overload value: %f \n", maxOverload ); fprintf( stdout, "Min overload value: %f \n\n", minOverload ); } print_snr(); #endif /*------------------------------------------------------------------------------------------* Loading
apps/renderer.c +8 −0 Original line number Diff line number Diff line Loading @@ -615,7 +615,11 @@ static int16_t get_cldfb_in_flag( int16_t cldfb_in_flag; cldfb_in_flag = 0; #ifdef FIX_HRTF_LOAD if ( renderConfig->split_rend_config.rendererSelection == IVAS_BIN_RENDERER_TYPE_FASTCONV ) #else if ( renderConfig->split_rend_config.rendererSelection == ISAR_SPLIT_REND_RENDERER_SELECTION_FASTCONV ) #endif { #ifdef DEBUGGING cldfb_in_flag = 1; Loading Loading @@ -945,7 +949,11 @@ int main( goto cleanup; } #ifdef FIX_HRTF_LOAD if ( ( error = load_fastconv_HRTF_from_binary( *hHrtfFastConv, 0, IVAS_AUDIO_CONFIG_INVALID, hrtfFileReader ) ) != IVAS_ERR_OK ) #else if ( ( error = load_fastconv_HRTF_from_binary( *hHrtfFastConv, hrtfFileReader ) ) != IVAS_ERR_OK ) #endif { if ( error != IVAS_ERR_BINARY_FILE_WITHOUT_BINAURAL_RENDERER_DATA ) { Loading
lib_com/common_api_types.h +18 −0 Original line number Diff line number Diff line Loading @@ -214,6 +214,18 @@ typedef struct _IVAS_JBM_TRACE_DATA } IVAS_JBM_TRACE_DATA; #ifdef FIX_HRTF_LOAD typedef enum _ivas_binaural_renderer_type { IVAS_BIN_RENDERER_TYPE_NONE, IVAS_BIN_RENDERER_TYPE_CREND, IVAS_BIN_RENDERER_TYPE_FASTCONV, IVAS_BIN_RENDERER_TYPE_PARAMBIN, IVAS_BIN_RENDERER_TYPE_TDREND, IVAS_BIN_RENDERER_TYPE_DEFAULT, } IVAS_BIN_RENDERER_TYPE; #endif /*----------------------------------------------------------------------------------* * Split rendering API constants, structures, and enums Loading Loading @@ -252,6 +264,7 @@ typedef enum } ISAR_SPLIT_REND_CODEC; #ifndef FIX_HRTF_LOAD typedef enum { ISAR_SPLIT_REND_RENDERER_SELECTION_CREND, Loading @@ -261,6 +274,7 @@ typedef enum ISAR_SPLIT_REND_RENDERER_SELECTION_DEFAULT, } ISAR_SPLIT_REND_RENDERER_SELECTION; #endif typedef struct _ISAR_SPLIT_REND_BITS_DATA { Loading Loading @@ -292,7 +306,11 @@ typedef struct _ISAR_SPLIT_REND_CONFIG int16_t codec_frame_size_ms; /* Codec frame size in milliseconds, only relevant with LC3plus */ ISAR_SPLIT_REND_POSE_CORRECTION_MODE poseCorrectionMode; ISAR_SPLIT_REND_CODEC codec; #ifdef FIX_HRTF_LOAD IVAS_BIN_RENDERER_TYPE rendererSelection; #else ISAR_SPLIT_REND_RENDERER_SELECTION rendererSelection; #endif int16_t lc3plus_highres; } ISAR_SPLIT_REND_CONFIG_DATA, *ISAR_SPLIT_REND_CONFIG_HANDLE; Loading