Loading .gitlab-ci.yml +15 −8 Original line number Diff line number Diff line Loading @@ -783,13 +783,13 @@ codec-comparison-on-main-push: .sanitizer-test-schedule-A: extends: - .sanitizer-test-template timeout: 2 hours 30 minutes sanitizer-test-mono: extends: .sanitizer-test-schedule-A rules: - if: $SANITIZER_SCHEDULE_A timeout: 2 hour script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py mono mono --tests $SANITIZER_TESTS Loading @@ -799,7 +799,8 @@ sanitizer-test-stereo: rules: - if: $SANITIZER_SCHEDULE_A when: delayed start_in: 2 hours 30 minutes start_in: 2 hour timeout: 2 hour script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py stereo $OUT_FORMATS_CHANNEL_BASED --tests $SANITIZER_TESTS Loading @@ -809,7 +810,8 @@ sanitizer-test-stereodmxevs: rules: - if: $SANITIZER_SCHEDULE_A when: delayed start_in: 5 hours start_in: 4 hours timeout: 2 hour script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py StereoDmxEVS mono --tests $SANITIZER_TESTS Loading @@ -819,7 +821,8 @@ sanitizer-test-ism1: rules: - if: $SANITIZER_SCHEDULE_A when: delayed start_in: 7 hours 30 minutes start_in: 6 hours timeout: 2 hours 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 Loading @@ -829,7 +832,8 @@ sanitizer-test-ism2: rules: - if: $SANITIZER_SCHEDULE_A when: delayed start_in: 10 hours start_in: 8 hours timeout: 3 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 Loading @@ -839,7 +843,8 @@ sanitizer-test-ism3: rules: - if: $SANITIZER_SCHEDULE_A when: delayed start_in: 12 hours 30 minutes start_in: 11 hours timeout: 3 hour 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 Loading @@ -849,7 +854,8 @@ sanitizer-test-ism4: rules: - if: $SANITIZER_SCHEDULE_A when: delayed start_in: 15 hours start_in: 14 hours timeout: 4 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 Loading @@ -859,7 +865,8 @@ sanitizer-test-masa: rules: - if: $SANITIZER_SCHEDULE_A when: delayed start_in: 17 hours 30 minutes start_in: 18 hours timeout: 3 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 Loading apps/renderer.c +5 −0 Original line number Diff line number Diff line Loading @@ -971,7 +971,12 @@ int main( } else { #ifdef FIX_379_EXT_METADATA error = IVAS_REND_SetHeadRotation( hIvasRend, NULL, NULL ); if ( ( error != IVAS_ERR_OK ) && ( error != IVAS_ERR_INVALID_OUTPUT_FORMAT ) ) // VE: TBC #else if ( ( ( error = IVAS_REND_SetHeadRotation( hIvasRend, NULL, NULL ) ) != IVAS_ERR_OK ) && ( IVAS_REND_SetHeadRotation( hIvasRend, NULL, NULL ) != IVAS_ERR_INVALID_OUTPUT_FORMAT ) ) // VE: TBC #endif { fprintf( stderr, "Error setting Head Rotation: %s\n", ivas_error_to_string( error ) ); exit( -1 ); Loading lib_com/bitstream.c +2 −1 Original line number Diff line number Diff line Loading @@ -833,12 +833,13 @@ static ivas_error write_indices_element( /* restore previous pointer position */ pt_stream_loc = pt_stream_backup; } #ifndef ISSUE_24_CLEANUP_MCT_LFE /* TODO implemented only for MCT for now */ if ( ( st_ivas->hEncoderConfig->ivas_format == MC_FORMAT ) && ( st_ivas->mc_mode == MC_MODE_MCT ) && ( element_id * CPE_CHANNELS + n == LFE_CHANNEL ) ) { continue; } #endif #ifdef ENABLE_BITRATE_VERIFICATION total_nb_bits = #endif Loading lib_com/core_com_config.c +28 −6 Original line number Diff line number Diff line Loading @@ -249,14 +249,19 @@ int16_t getResq( int16_t getTnsAllowed( const int32_t total_brate, /* i : total bitrate */ const int16_t igf, /* i : flag indicating IGF activity*/ const int16_t element_mode, /* i : IVAS element mode */ const int16_t element_mode /* i : IVAS element mode */ #ifndef ISSUE_24_CLEANUP_MCT_LFE , const MCT_CHAN_MODE mct_chan_mode /* i : MCT channel mode */ #endif ) { int16_t tnsAllowed = 0; #ifndef ISSUE_24_CLEANUP_MCT_LFE if ( mct_chan_mode != MCT_CHAN_MODE_LFE ) { #endif if ( igf ) { if ( total_brate > HQ_16k40 || ( ( total_brate > HQ_13k20 ) && element_mode == IVAS_CPE_DFT ) ) Loading @@ -268,7 +273,9 @@ int16_t getTnsAllowed( { tnsAllowed = 1; } #ifndef ISSUE_24_CLEANUP_MCT_LFE } #endif return tnsAllowed; } Loading Loading @@ -411,16 +418,21 @@ int16_t getIgfPresent( const int16_t element_mode, /* i : IVAS element mode */ const int32_t total_brate, /* i : total bitrate */ const int16_t bwidth, /* i : audio bandwidth */ const int16_t rf_mode, /* i : flag to signal the RF mode */ const int16_t rf_mode /* i : flag to signal the RF mode */ #ifndef ISSUE_24_CLEANUP_MCT_LFE , const int16_t mct_chan_mode /* i : MCT channel mode */ #endif ) { int16_t igfPresent = 0; #ifndef ISSUE_24_CLEANUP_MCT_LFE if ( mct_chan_mode == MCT_CHAN_MODE_LFE ) { return igfPresent; } #endif if ( bwidth == SWB ) { Loading Loading @@ -808,8 +820,11 @@ void init_tcx_cfg( const int16_t infoIGFStopFreq, const int16_t element_mode, const int16_t ini_frame, const int16_t MCT_flag, const int16_t MCT_flag #ifndef ISSUE_24_CLEANUP_MCT_LFE , const MCT_CHAN_MODE mct_chan_mode /* i : MDCT channel mode */ #endif ) { int16_t i; Loading Loading @@ -840,13 +855,20 @@ void init_tcx_cfg( /* set number of coded lines */ hTcxCfg->tcx_coded_lines = getNumTcxCodedLines( bwidth ); #ifndef ISSUE_24_CLEANUP_MCT_LFE if ( mct_chan_mode == MCT_CHAN_MODE_LFE ) { hTcxCfg->tcx_coded_lines = MCT_LFE_MAX_LINE; } #endif /* TNS in TCX */ hTcxCfg->pCurrentTnsConfig = NULL; hTcxCfg->fIsTNSAllowed = getTnsAllowed( total_brate, igf, element_mode, mct_chan_mode ); hTcxCfg->fIsTNSAllowed = getTnsAllowed( total_brate, igf, element_mode #ifndef ISSUE_24_CLEANUP_MCT_LFE , mct_chan_mode #endif ); if ( hTcxCfg->fIsTNSAllowed ) { Loading lib_com/ivas_cnst.h +22 −7 Original line number Diff line number Diff line Loading @@ -339,6 +339,9 @@ typedef enum #define ISM_RADIUS_DELTA 0.25f /* Max radius = (2^ISM_RADIUS_NBITS-1)*0.25 = 15.75 */ #define ISM_EXTENDED_METADATA_BRATE IVAS_64k #define ISM_EXTENDED_METADATA_BITS 1 #ifdef FIX_379_EXT_METADATA #define ISM_METADATA_RS_MAX_FRAMES 5 /* Number of frames with opposite extended metadata flags before switching */ #endif /* Parametric ISM */ #define MAX_PARAM_ISM_NBANDS 11 Loading Loading @@ -398,7 +401,11 @@ enum { IND_ISM_NUM_OBJECTS, IND_ISM_EXTENDED_FLAG = IND_ISM_NUM_OBJECTS + MAX_NUM_OBJECTS, #ifdef FIX_379_EXT_METADATA IND_ISM_METADATA_FLAG, #else IND_ISM_METADATA_FLAG = IND_ISM_EXTENDED_FLAG + MAX_NUM_OBJECTS, /* EN2VE: Is this not supposed to be in the loop part below, since it is one per ISM? */ #endif IND_ISM_VAD_FLAG = IND_ISM_METADATA_FLAG + MAX_NUM_OBJECTS, #ifdef DISCRETE_ISM_DTX_CNG IND_ISM_NOISY_SPEECH_FLAG = IND_ISM_VAD_FLAG + MAX_NUM_OBJECTS, Loading Loading @@ -1315,18 +1322,26 @@ typedef enum #define NBBITS_MCT_RATIO 4 #define BITRATE_MCT_RATIO_RANGE ( 1 << NBBITS_MCT_RATIO ) /* Range of the coded bitrate distribution ratio */ #ifndef ISSUE_24_CLEANUP_MCT_LFE #define LFE_BITS 180 #define MCT_LFE_MAX_LINE 24 #endif #define MCT_NUM_BLOCK_DATA_BITS 4 #ifndef ISSUE_24_CLEANUP_MCT_LFE typedef enum { MCT_CHAN_MODE_REGULAR, MCT_CHAN_MODE_LFE, MCT_CHAN_MODE_IGNORE } MCT_CHAN_MODE; #else typedef enum { MCT_CHAN_MODE_REGULAR, MCT_CHAN_MODE_IGNORE } MCT_CHAN_MODE; #endif /*----------------------------------------------------------------------------------* * Parametric MC Constants Loading Loading
.gitlab-ci.yml +15 −8 Original line number Diff line number Diff line Loading @@ -783,13 +783,13 @@ codec-comparison-on-main-push: .sanitizer-test-schedule-A: extends: - .sanitizer-test-template timeout: 2 hours 30 minutes sanitizer-test-mono: extends: .sanitizer-test-schedule-A rules: - if: $SANITIZER_SCHEDULE_A timeout: 2 hour script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py mono mono --tests $SANITIZER_TESTS Loading @@ -799,7 +799,8 @@ sanitizer-test-stereo: rules: - if: $SANITIZER_SCHEDULE_A when: delayed start_in: 2 hours 30 minutes start_in: 2 hour timeout: 2 hour script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py stereo $OUT_FORMATS_CHANNEL_BASED --tests $SANITIZER_TESTS Loading @@ -809,7 +810,8 @@ sanitizer-test-stereodmxevs: rules: - if: $SANITIZER_SCHEDULE_A when: delayed start_in: 5 hours start_in: 4 hours timeout: 2 hour script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py StereoDmxEVS mono --tests $SANITIZER_TESTS Loading @@ -819,7 +821,8 @@ sanitizer-test-ism1: rules: - if: $SANITIZER_SCHEDULE_A when: delayed start_in: 7 hours 30 minutes start_in: 6 hours timeout: 2 hours 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 Loading @@ -829,7 +832,8 @@ sanitizer-test-ism2: rules: - if: $SANITIZER_SCHEDULE_A when: delayed start_in: 10 hours start_in: 8 hours timeout: 3 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 Loading @@ -839,7 +843,8 @@ sanitizer-test-ism3: rules: - if: $SANITIZER_SCHEDULE_A when: delayed start_in: 12 hours 30 minutes start_in: 11 hours timeout: 3 hour 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 Loading @@ -849,7 +854,8 @@ sanitizer-test-ism4: rules: - if: $SANITIZER_SCHEDULE_A when: delayed start_in: 15 hours start_in: 14 hours timeout: 4 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 Loading @@ -859,7 +865,8 @@ sanitizer-test-masa: rules: - if: $SANITIZER_SCHEDULE_A when: delayed start_in: 17 hours 30 minutes start_in: 18 hours timeout: 3 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 Loading
apps/renderer.c +5 −0 Original line number Diff line number Diff line Loading @@ -971,7 +971,12 @@ int main( } else { #ifdef FIX_379_EXT_METADATA error = IVAS_REND_SetHeadRotation( hIvasRend, NULL, NULL ); if ( ( error != IVAS_ERR_OK ) && ( error != IVAS_ERR_INVALID_OUTPUT_FORMAT ) ) // VE: TBC #else if ( ( ( error = IVAS_REND_SetHeadRotation( hIvasRend, NULL, NULL ) ) != IVAS_ERR_OK ) && ( IVAS_REND_SetHeadRotation( hIvasRend, NULL, NULL ) != IVAS_ERR_INVALID_OUTPUT_FORMAT ) ) // VE: TBC #endif { fprintf( stderr, "Error setting Head Rotation: %s\n", ivas_error_to_string( error ) ); exit( -1 ); Loading
lib_com/bitstream.c +2 −1 Original line number Diff line number Diff line Loading @@ -833,12 +833,13 @@ static ivas_error write_indices_element( /* restore previous pointer position */ pt_stream_loc = pt_stream_backup; } #ifndef ISSUE_24_CLEANUP_MCT_LFE /* TODO implemented only for MCT for now */ if ( ( st_ivas->hEncoderConfig->ivas_format == MC_FORMAT ) && ( st_ivas->mc_mode == MC_MODE_MCT ) && ( element_id * CPE_CHANNELS + n == LFE_CHANNEL ) ) { continue; } #endif #ifdef ENABLE_BITRATE_VERIFICATION total_nb_bits = #endif Loading
lib_com/core_com_config.c +28 −6 Original line number Diff line number Diff line Loading @@ -249,14 +249,19 @@ int16_t getResq( int16_t getTnsAllowed( const int32_t total_brate, /* i : total bitrate */ const int16_t igf, /* i : flag indicating IGF activity*/ const int16_t element_mode, /* i : IVAS element mode */ const int16_t element_mode /* i : IVAS element mode */ #ifndef ISSUE_24_CLEANUP_MCT_LFE , const MCT_CHAN_MODE mct_chan_mode /* i : MCT channel mode */ #endif ) { int16_t tnsAllowed = 0; #ifndef ISSUE_24_CLEANUP_MCT_LFE if ( mct_chan_mode != MCT_CHAN_MODE_LFE ) { #endif if ( igf ) { if ( total_brate > HQ_16k40 || ( ( total_brate > HQ_13k20 ) && element_mode == IVAS_CPE_DFT ) ) Loading @@ -268,7 +273,9 @@ int16_t getTnsAllowed( { tnsAllowed = 1; } #ifndef ISSUE_24_CLEANUP_MCT_LFE } #endif return tnsAllowed; } Loading Loading @@ -411,16 +418,21 @@ int16_t getIgfPresent( const int16_t element_mode, /* i : IVAS element mode */ const int32_t total_brate, /* i : total bitrate */ const int16_t bwidth, /* i : audio bandwidth */ const int16_t rf_mode, /* i : flag to signal the RF mode */ const int16_t rf_mode /* i : flag to signal the RF mode */ #ifndef ISSUE_24_CLEANUP_MCT_LFE , const int16_t mct_chan_mode /* i : MCT channel mode */ #endif ) { int16_t igfPresent = 0; #ifndef ISSUE_24_CLEANUP_MCT_LFE if ( mct_chan_mode == MCT_CHAN_MODE_LFE ) { return igfPresent; } #endif if ( bwidth == SWB ) { Loading Loading @@ -808,8 +820,11 @@ void init_tcx_cfg( const int16_t infoIGFStopFreq, const int16_t element_mode, const int16_t ini_frame, const int16_t MCT_flag, const int16_t MCT_flag #ifndef ISSUE_24_CLEANUP_MCT_LFE , const MCT_CHAN_MODE mct_chan_mode /* i : MDCT channel mode */ #endif ) { int16_t i; Loading Loading @@ -840,13 +855,20 @@ void init_tcx_cfg( /* set number of coded lines */ hTcxCfg->tcx_coded_lines = getNumTcxCodedLines( bwidth ); #ifndef ISSUE_24_CLEANUP_MCT_LFE if ( mct_chan_mode == MCT_CHAN_MODE_LFE ) { hTcxCfg->tcx_coded_lines = MCT_LFE_MAX_LINE; } #endif /* TNS in TCX */ hTcxCfg->pCurrentTnsConfig = NULL; hTcxCfg->fIsTNSAllowed = getTnsAllowed( total_brate, igf, element_mode, mct_chan_mode ); hTcxCfg->fIsTNSAllowed = getTnsAllowed( total_brate, igf, element_mode #ifndef ISSUE_24_CLEANUP_MCT_LFE , mct_chan_mode #endif ); if ( hTcxCfg->fIsTNSAllowed ) { Loading
lib_com/ivas_cnst.h +22 −7 Original line number Diff line number Diff line Loading @@ -339,6 +339,9 @@ typedef enum #define ISM_RADIUS_DELTA 0.25f /* Max radius = (2^ISM_RADIUS_NBITS-1)*0.25 = 15.75 */ #define ISM_EXTENDED_METADATA_BRATE IVAS_64k #define ISM_EXTENDED_METADATA_BITS 1 #ifdef FIX_379_EXT_METADATA #define ISM_METADATA_RS_MAX_FRAMES 5 /* Number of frames with opposite extended metadata flags before switching */ #endif /* Parametric ISM */ #define MAX_PARAM_ISM_NBANDS 11 Loading Loading @@ -398,7 +401,11 @@ enum { IND_ISM_NUM_OBJECTS, IND_ISM_EXTENDED_FLAG = IND_ISM_NUM_OBJECTS + MAX_NUM_OBJECTS, #ifdef FIX_379_EXT_METADATA IND_ISM_METADATA_FLAG, #else IND_ISM_METADATA_FLAG = IND_ISM_EXTENDED_FLAG + MAX_NUM_OBJECTS, /* EN2VE: Is this not supposed to be in the loop part below, since it is one per ISM? */ #endif IND_ISM_VAD_FLAG = IND_ISM_METADATA_FLAG + MAX_NUM_OBJECTS, #ifdef DISCRETE_ISM_DTX_CNG IND_ISM_NOISY_SPEECH_FLAG = IND_ISM_VAD_FLAG + MAX_NUM_OBJECTS, Loading Loading @@ -1315,18 +1322,26 @@ typedef enum #define NBBITS_MCT_RATIO 4 #define BITRATE_MCT_RATIO_RANGE ( 1 << NBBITS_MCT_RATIO ) /* Range of the coded bitrate distribution ratio */ #ifndef ISSUE_24_CLEANUP_MCT_LFE #define LFE_BITS 180 #define MCT_LFE_MAX_LINE 24 #endif #define MCT_NUM_BLOCK_DATA_BITS 4 #ifndef ISSUE_24_CLEANUP_MCT_LFE typedef enum { MCT_CHAN_MODE_REGULAR, MCT_CHAN_MODE_LFE, MCT_CHAN_MODE_IGNORE } MCT_CHAN_MODE; #else typedef enum { MCT_CHAN_MODE_REGULAR, MCT_CHAN_MODE_IGNORE } MCT_CHAN_MODE; #endif /*----------------------------------------------------------------------------------* * Parametric MC Constants Loading