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 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 +10 −2 Original line number Diff line number Diff line Loading @@ -1283,18 +1283,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 lib_com/ivas_mct_com.c +19 −4 Original line number Diff line number Diff line Loading @@ -66,11 +66,13 @@ void splitAvailableBitsMCT( int16_t min_chan_bits[MCT_MAX_CHANNELS], min_bits_tot, remaining_bits; int16_t core[MCT_MAX_CHANNELS]; MCT_CHAN_MODE mct_chan_mode[MCT_MAX_CHANNELS]; #ifndef ISSUE_24_CLEANUP_MCT_LFE int16_t num_lfe; int16_t lfe_channel; num_lfe = 0; lfe_channel = -1; #endif min_bits_tot = 0; for ( i = 0; i < nchan; i++ ) Loading @@ -85,18 +87,23 @@ void splitAvailableBitsMCT( mct_chan_mode[i] = ( (Decoder_State *) sts[i] )->mct_chan_mode; core[i] = ( (Decoder_State *) sts[i] )->core; } #ifndef ISSUE_24_CLEANUP_MCT_LFE if ( mct_chan_mode[i] == MCT_CHAN_MODE_LFE ) { num_lfe++; lfe_channel = i; assert( lfe_channel == LFE_CHANNEL ); } #endif } for ( i = 0; i < nchan; i++ ) { if ( mct_chan_mode[i] != MCT_CHAN_MODE_LFE && mct_chan_mode[i] != MCT_CHAN_MODE_IGNORE ) if ( #ifndef ISSUE_24_CLEANUP_MCT_LFE mct_chan_mode[i] != MCT_CHAN_MODE_LFE && #endif mct_chan_mode[i] != MCT_CHAN_MODE_IGNORE ) { min_chan_bits[i] = 0; Loading Loading @@ -128,7 +135,11 @@ void splitAvailableBitsMCT( bits_frame_channel = &( (Decoder_State *) sts[i] )->bits_frame_channel; } if ( mct_chan_mode[i] != MCT_CHAN_MODE_LFE && mct_chan_mode[i] != MCT_CHAN_MODE_IGNORE ) if ( #ifndef ISSUE_24_CLEANUP_MCT_LFE mct_chan_mode[i] != MCT_CHAN_MODE_LFE && #endif mct_chan_mode[i] != MCT_CHAN_MODE_IGNORE ) { assert( split_ratio[i] >= 1 && split_ratio[i] < BITRATE_MCT_RATIO_RANGE ); *bits_frame_channel = split_ratio[i] * remaining_bits / BITRATE_MCT_RATIO_RANGE + min_chan_bits[i]; Loading Loading @@ -162,7 +173,11 @@ void splitAvailableBitsMCT( bits_frame_channel = &( (Decoder_State *) sts[i] )->bits_frame_channel; } if ( mct_chan_mode[i] != MCT_CHAN_MODE_LFE && mct_chan_mode[i] != MCT_CHAN_MODE_IGNORE ) if ( #ifndef ISSUE_24_CLEANUP_MCT_LFE mct_chan_mode[i] != MCT_CHAN_MODE_LFE && #endif mct_chan_mode[i] != MCT_CHAN_MODE_IGNORE ) { *bits_frame_channel -= diff * split_ratio[i] / BITRATE_MCT_RATIO_RANGE; *bits_frame_channel = max( min_chan_bits[i], *bits_frame_channel ); 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
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 +10 −2 Original line number Diff line number Diff line Loading @@ -1283,18 +1283,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
lib_com/ivas_mct_com.c +19 −4 Original line number Diff line number Diff line Loading @@ -66,11 +66,13 @@ void splitAvailableBitsMCT( int16_t min_chan_bits[MCT_MAX_CHANNELS], min_bits_tot, remaining_bits; int16_t core[MCT_MAX_CHANNELS]; MCT_CHAN_MODE mct_chan_mode[MCT_MAX_CHANNELS]; #ifndef ISSUE_24_CLEANUP_MCT_LFE int16_t num_lfe; int16_t lfe_channel; num_lfe = 0; lfe_channel = -1; #endif min_bits_tot = 0; for ( i = 0; i < nchan; i++ ) Loading @@ -85,18 +87,23 @@ void splitAvailableBitsMCT( mct_chan_mode[i] = ( (Decoder_State *) sts[i] )->mct_chan_mode; core[i] = ( (Decoder_State *) sts[i] )->core; } #ifndef ISSUE_24_CLEANUP_MCT_LFE if ( mct_chan_mode[i] == MCT_CHAN_MODE_LFE ) { num_lfe++; lfe_channel = i; assert( lfe_channel == LFE_CHANNEL ); } #endif } for ( i = 0; i < nchan; i++ ) { if ( mct_chan_mode[i] != MCT_CHAN_MODE_LFE && mct_chan_mode[i] != MCT_CHAN_MODE_IGNORE ) if ( #ifndef ISSUE_24_CLEANUP_MCT_LFE mct_chan_mode[i] != MCT_CHAN_MODE_LFE && #endif mct_chan_mode[i] != MCT_CHAN_MODE_IGNORE ) { min_chan_bits[i] = 0; Loading Loading @@ -128,7 +135,11 @@ void splitAvailableBitsMCT( bits_frame_channel = &( (Decoder_State *) sts[i] )->bits_frame_channel; } if ( mct_chan_mode[i] != MCT_CHAN_MODE_LFE && mct_chan_mode[i] != MCT_CHAN_MODE_IGNORE ) if ( #ifndef ISSUE_24_CLEANUP_MCT_LFE mct_chan_mode[i] != MCT_CHAN_MODE_LFE && #endif mct_chan_mode[i] != MCT_CHAN_MODE_IGNORE ) { assert( split_ratio[i] >= 1 && split_ratio[i] < BITRATE_MCT_RATIO_RANGE ); *bits_frame_channel = split_ratio[i] * remaining_bits / BITRATE_MCT_RATIO_RANGE + min_chan_bits[i]; Loading Loading @@ -162,7 +173,11 @@ void splitAvailableBitsMCT( bits_frame_channel = &( (Decoder_State *) sts[i] )->bits_frame_channel; } if ( mct_chan_mode[i] != MCT_CHAN_MODE_LFE && mct_chan_mode[i] != MCT_CHAN_MODE_IGNORE ) if ( #ifndef ISSUE_24_CLEANUP_MCT_LFE mct_chan_mode[i] != MCT_CHAN_MODE_LFE && #endif mct_chan_mode[i] != MCT_CHAN_MODE_IGNORE ) { *bits_frame_channel -= diff * split_ratio[i] / BITRATE_MCT_RATIO_RANGE; *bits_frame_channel = max( min_chan_bits[i], *bits_frame_channel ); Loading