Loading lib_com/ivas_cnst.h +0 −4 Original line number Diff line number Diff line Loading @@ -1023,10 +1023,8 @@ typedef enum /* AGC constants */ #define AGC_BITS_PER_CH 3 #define AGC_EMAX 0 #ifdef ARITH_HUFF_CODER_CHANGES #define AGC_SIGNALLING_BITS 1 #define IVAS_SPAR_ARITH_OVERSHOOT_BITS (16) #endif /* Common SPAR metadata constants */ #define IVAS_ACTIVEW_DM_F_SCALE 0.5f Loading Loading @@ -1741,10 +1739,8 @@ typedef enum #define SPAR_DIRAC_DTX_BANDS ( SPAR_DTX_BANDS + DIRAC_DTX_BANDS ) #define CLDFB_PAR_WEIGHT_START_BAND 7 #ifdef ARITH_HUFF_CODER_CHANGES #define QUANT_STRAT_0 0 #define QUANT_STRAT_2 2 #endif /*----------------------------------------------------------------------------------* Loading lib_com/ivas_dirac_com.c +0 −58 Original line number Diff line number Diff line Loading @@ -377,7 +377,6 @@ void ivas_dirac_config_bands( return; } #ifdef ARITH_HUFF_CODER_CHANGES void ivas_get_dirac_sba_max_md_bits( const int32_t sba_total_brate, int16_t *bits_frame_nominal, Loading Loading @@ -440,7 +439,6 @@ void ivas_get_dirac_sba_max_md_bits( return; } #endif /*------------------------------------------------------------------------- * ivas_dirac_sba_config() Loading Loading @@ -547,68 +545,12 @@ ivas_error ivas_dirac_sba_config( } #endif } #ifdef ARITH_HUFF_CODER_CHANGES ivas_get_dirac_sba_max_md_bits( sba_total_brate, &hQMetaData->bits_frame_nominal, &hQMetaData->metadata_max_bits, &hQMetaData->qmetadata_max_bit_req, hQMetaData->q_direction[0].cfg.nbands ); #else if ( sba_total_brate <= IVAS_13k2 ) { hQMetaData->bits_frame_nominal = ACELP_9k60 / FRAMES_PER_SEC; hQMetaData->metadata_max_bits = 70; } else if ( sba_total_brate <= IVAS_16k4 ) { hQMetaData->bits_frame_nominal = ACELP_13k20 / FRAMES_PER_SEC; hQMetaData->metadata_max_bits = 80; } else if ( sba_total_brate <= IVAS_24k4 ) { hQMetaData->bits_frame_nominal = ACELP_16k40 / FRAMES_PER_SEC; hQMetaData->metadata_max_bits = 103; } else if ( sba_total_brate <= IVAS_32k ) { hQMetaData->bits_frame_nominal = ACELP_32k / FRAMES_PER_SEC; hQMetaData->metadata_max_bits = 214; } else if ( sba_total_brate <= IVAS_48k ) { hQMetaData->bits_frame_nominal = IVAS_48k / FRAMES_PER_SEC; hQMetaData->metadata_max_bits = 240; } else if ( sba_total_brate <= IVAS_64k ) { hQMetaData->bits_frame_nominal = IVAS_64k / FRAMES_PER_SEC; hQMetaData->metadata_max_bits = 200; } else if ( sba_total_brate <= IVAS_80k ) { hQMetaData->bits_frame_nominal = IVAS_80k / FRAMES_PER_SEC; hQMetaData->metadata_max_bits = 200; } else if ( sba_total_brate <= IVAS_96k ) { hQMetaData->bits_frame_nominal = IVAS_96k / FRAMES_PER_SEC; hQMetaData->metadata_max_bits = 200; } else if ( sba_total_brate <= IVAS_128k ) { hQMetaData->bits_frame_nominal = IVAS_128k / FRAMES_PER_SEC; hQMetaData->metadata_max_bits = 250; } else { hQMetaData->bits_frame_nominal = (int16_t) ( sba_total_brate / FRAMES_PER_SEC ); hQMetaData->metadata_max_bits = MAX16B; /* no limit */ } hQMetaData->metadata_max_bits = (int16_t) ceilf( (float) hQMetaData->metadata_max_bits * hQMetaData->q_direction[0].cfg.nbands / 5 ); hQMetaData->qmetadata_max_bit_req = QMETADATA_MAXBIT_REQ_SBA >> 1; #endif return error; #ifndef SBA_MODE_CLEAN_UP Loading lib_com/ivas_prot.h +0 −12 Original line number Diff line number Diff line Loading @@ -119,10 +119,8 @@ ivas_error ivas_spar_md_enc_init ivas_error ivas_sba_enc_reconfigure( Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ ); #ifdef ARITH_HUFF_CODER_CHANGES int16_t ivas_sba_get_max_md_bits( Encoder_Struct *st_ivas ); #endif void destroy_sce_enc( SCE_ENC_HANDLE hSCE /* i/o: SCE encoder structure */ Loading Loading @@ -3625,14 +3623,12 @@ void ivas_dirac_config_bands( IVAS_FB_MIXER_HANDLE hFbMdft ); #ifdef ARITH_HUFF_CODER_CHANGES void ivas_get_dirac_sba_max_md_bits( const int32_t sba_total_brate, int16_t *bits_frame_nominal, int16_t *metadata_max_bits, int16_t *qmetadata_max_bit_req, int16_t nbands ); #endif ivas_error ivas_dirac_sba_config( IVAS_QMETADATA_HANDLE hQMetaData, /* i/o: q_metadata handle */ Loading Loading @@ -4499,13 +4495,11 @@ void ivas_spar_set_bitrate_config( ivas_spar_md_com_cfg *pSpar_md_cfg, /* i/o: SPAR MD config. handle */ const int16_t table_idx, /* i : config. table index */ const int16_t num_bands /* i : number of bands */ #ifdef ARITH_HUFF_CODER_CHANGES , const int16_t dirac2spar_md_flag, const int16_t enc_flag, const int16_t pca_flag, const int16_t agc_flag #endif ); void ivas_spar_bitrate_dist( Loading Loading @@ -5027,15 +5021,9 @@ int16_t ivas_get_bits_to_encode( void ivas_huffman_encode( ivas_huffman_cfg_t *huff_cfg, int16_t in, int16_t *hcode, int16_t *hlen ); void ivas_spar_huff_coeffs_com_init( ivas_huff_coeffs_t *pHuff_coeffs, ivas_spar_md_com_cfg *pSpar_cfg, const int16_t table_idx, const int16_t enc_dec ); void ivas_spar_arith_coeffs_com_init( ivas_arith_coeffs_t *pArith_coeffs, ivas_spar_md_com_cfg *pSpar_cfg, const int16_t table_idx, const int16_t enc_dec ); #ifdef ARITH_HUFF_CODER_CHANGES int16_t ivas_arith_encode_cmplx_cell_array( #else void ivas_arith_encode_cmplx_cell_array( #endif ivas_arith_t *pArith_re, ivas_arith_t *pArith_re_diff, const int16_t *pDo_diff, const int16_t nB, int16_t *pSymbol_re, int16_t *pSymbol_old_re, ivas_cell_dim_t *pCell_dims, BSTR_ENC_HANDLE hMetaData, const int16_t any_diff #ifdef ARITH_HUFF_CODER_CHANGES , int32_t wc_strat_arith #endif ); ivas_error ivas_huffman_decode( ivas_huffman_cfg_t *huff_cfg, Decoder_State *st0, int16_t *dec_out ); void ivas_arith_decode_cmplx_cell_array( ivas_arith_t *pArith_re, ivas_arith_t *pArith_re_diff, Decoder_State *st0, ivas_cell_dim_t *pCell_dims, int16_t *pDo_diff, const int16_t nB, int16_t *pSymbol_re, int16_t *pSymbol_re_old ); Loading lib_com/ivas_rom_com.c +0 −4 Original line number Diff line number Diff line Loading @@ -936,11 +936,7 @@ const ivas_spar_br_table_t ivas_spar_br_table_consts[IVAS_SPAR_BR_TABLE_LEN] = { 256000, 0, SBA_HOA3_ORDER, FB, 24000, 4, WYXZ, 0, 0,{ { 76300, 73550, 112000 },{ 59350, 57200, 56000 },{ 42400, 40850, 48000 },{ 25450, 24500, 40000 } }, { { 31, 11, 11, 1 },{ 1, 1, 1, 1 }, #ifdef ARITH_HUFF_CODER_CHANGES { 1, 1, 1, 1 } #else { 31, 1, 1, 1 } #endif }, 1, 2, 0 }, { 384000, 0, SBA_FOA_ORDER, FB, 24000, 4, WYXZ, 0, 0,{ { 128000, 128000, 128000 },{ 100000, 100000, 128000 },{ 79850, 79850, 104000 },{ 66600, 66600, 104000 } }, // not yet optimized Loading lib_com/ivas_spar_com.c +0 −8 Original line number Diff line number Diff line Loading @@ -2132,27 +2132,23 @@ void ivas_spar_set_bitrate_config( ivas_spar_md_com_cfg *pSpar_md_cfg, /* i/o: SPAR MD config. handle */ const int16_t table_idx, /* i : config. table index */ const int16_t num_bands /* i : number of bands */ #ifdef ARITH_HUFF_CODER_CHANGES , const int16_t dirac2spar_md_flag, const int16_t enc_flag, const int16_t pca_flag, const int16_t agc_flag #endif ) { int32_t ivas_total_brate; int16_t i, total_bits, max_bits, code, length; int16_t sba_order; int16_t md_coding_bits_header; #ifdef ARITH_HUFF_CODER_CHANGES int16_t agc_bits, pca_bits, num_PR_bits_dirac_bands; int16_t bits_PR, bits_C, bits_P; int16_t wc_coarse_strat; int16_t n_input, n_dmx, n_dec; int16_t quant_strat; int16_t bands_bw; #endif pSpar_md_cfg->nchan_transport = ivas_spar_br_table_consts[table_idx].nchan_transport; for ( i = 0; i < pSpar_md_cfg->nchan_transport; i++ ) Loading Loading @@ -2191,7 +2187,6 @@ void ivas_spar_set_bitrate_config( pSpar_md_cfg->tgt_bits_per_blk -= md_coding_bits_header; pSpar_md_cfg->max_bits_per_blk -= md_coding_bits_header; #ifdef ARITH_HUFF_CODER_CHANGES if ( ivas_total_brate < IVAS_24k4 ) { bands_bw = 2; Loading @@ -2200,7 +2195,6 @@ void ivas_spar_set_bitrate_config( { bands_bw = 1; } #endif pSpar_md_cfg->tgt_bits_per_blk = (int16_t) ceilf( ( 1.0f * pSpar_md_cfg->tgt_bits_per_blk * num_bands ) / IVAS_MAX_NUM_BANDS ); pSpar_md_cfg->max_bits_per_blk = (int16_t) ceilf( ( 1.0f * pSpar_md_cfg->max_bits_per_blk * num_bands ) / IVAS_MAX_NUM_BANDS ); Loading @@ -2208,7 +2202,6 @@ void ivas_spar_set_bitrate_config( pSpar_md_cfg->tgt_bits_per_blk += md_coding_bits_header; pSpar_md_cfg->max_bits_per_blk += md_coding_bits_header; #ifdef ARITH_HUFF_CODER_CHANGES if ( enc_flag ) { /*calculate the actual worst case bits*/ Loading Loading @@ -2275,7 +2268,6 @@ void ivas_spar_set_bitrate_config( } pSpar_md_cfg->max_md_bits_spar = pSpar_md_cfg->max_bits_per_blk + agc_bits + pca_bits; } #endif return; } Loading Loading
lib_com/ivas_cnst.h +0 −4 Original line number Diff line number Diff line Loading @@ -1023,10 +1023,8 @@ typedef enum /* AGC constants */ #define AGC_BITS_PER_CH 3 #define AGC_EMAX 0 #ifdef ARITH_HUFF_CODER_CHANGES #define AGC_SIGNALLING_BITS 1 #define IVAS_SPAR_ARITH_OVERSHOOT_BITS (16) #endif /* Common SPAR metadata constants */ #define IVAS_ACTIVEW_DM_F_SCALE 0.5f Loading Loading @@ -1741,10 +1739,8 @@ typedef enum #define SPAR_DIRAC_DTX_BANDS ( SPAR_DTX_BANDS + DIRAC_DTX_BANDS ) #define CLDFB_PAR_WEIGHT_START_BAND 7 #ifdef ARITH_HUFF_CODER_CHANGES #define QUANT_STRAT_0 0 #define QUANT_STRAT_2 2 #endif /*----------------------------------------------------------------------------------* Loading
lib_com/ivas_dirac_com.c +0 −58 Original line number Diff line number Diff line Loading @@ -377,7 +377,6 @@ void ivas_dirac_config_bands( return; } #ifdef ARITH_HUFF_CODER_CHANGES void ivas_get_dirac_sba_max_md_bits( const int32_t sba_total_brate, int16_t *bits_frame_nominal, Loading Loading @@ -440,7 +439,6 @@ void ivas_get_dirac_sba_max_md_bits( return; } #endif /*------------------------------------------------------------------------- * ivas_dirac_sba_config() Loading Loading @@ -547,68 +545,12 @@ ivas_error ivas_dirac_sba_config( } #endif } #ifdef ARITH_HUFF_CODER_CHANGES ivas_get_dirac_sba_max_md_bits( sba_total_brate, &hQMetaData->bits_frame_nominal, &hQMetaData->metadata_max_bits, &hQMetaData->qmetadata_max_bit_req, hQMetaData->q_direction[0].cfg.nbands ); #else if ( sba_total_brate <= IVAS_13k2 ) { hQMetaData->bits_frame_nominal = ACELP_9k60 / FRAMES_PER_SEC; hQMetaData->metadata_max_bits = 70; } else if ( sba_total_brate <= IVAS_16k4 ) { hQMetaData->bits_frame_nominal = ACELP_13k20 / FRAMES_PER_SEC; hQMetaData->metadata_max_bits = 80; } else if ( sba_total_brate <= IVAS_24k4 ) { hQMetaData->bits_frame_nominal = ACELP_16k40 / FRAMES_PER_SEC; hQMetaData->metadata_max_bits = 103; } else if ( sba_total_brate <= IVAS_32k ) { hQMetaData->bits_frame_nominal = ACELP_32k / FRAMES_PER_SEC; hQMetaData->metadata_max_bits = 214; } else if ( sba_total_brate <= IVAS_48k ) { hQMetaData->bits_frame_nominal = IVAS_48k / FRAMES_PER_SEC; hQMetaData->metadata_max_bits = 240; } else if ( sba_total_brate <= IVAS_64k ) { hQMetaData->bits_frame_nominal = IVAS_64k / FRAMES_PER_SEC; hQMetaData->metadata_max_bits = 200; } else if ( sba_total_brate <= IVAS_80k ) { hQMetaData->bits_frame_nominal = IVAS_80k / FRAMES_PER_SEC; hQMetaData->metadata_max_bits = 200; } else if ( sba_total_brate <= IVAS_96k ) { hQMetaData->bits_frame_nominal = IVAS_96k / FRAMES_PER_SEC; hQMetaData->metadata_max_bits = 200; } else if ( sba_total_brate <= IVAS_128k ) { hQMetaData->bits_frame_nominal = IVAS_128k / FRAMES_PER_SEC; hQMetaData->metadata_max_bits = 250; } else { hQMetaData->bits_frame_nominal = (int16_t) ( sba_total_brate / FRAMES_PER_SEC ); hQMetaData->metadata_max_bits = MAX16B; /* no limit */ } hQMetaData->metadata_max_bits = (int16_t) ceilf( (float) hQMetaData->metadata_max_bits * hQMetaData->q_direction[0].cfg.nbands / 5 ); hQMetaData->qmetadata_max_bit_req = QMETADATA_MAXBIT_REQ_SBA >> 1; #endif return error; #ifndef SBA_MODE_CLEAN_UP Loading
lib_com/ivas_prot.h +0 −12 Original line number Diff line number Diff line Loading @@ -119,10 +119,8 @@ ivas_error ivas_spar_md_enc_init ivas_error ivas_sba_enc_reconfigure( Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ ); #ifdef ARITH_HUFF_CODER_CHANGES int16_t ivas_sba_get_max_md_bits( Encoder_Struct *st_ivas ); #endif void destroy_sce_enc( SCE_ENC_HANDLE hSCE /* i/o: SCE encoder structure */ Loading Loading @@ -3625,14 +3623,12 @@ void ivas_dirac_config_bands( IVAS_FB_MIXER_HANDLE hFbMdft ); #ifdef ARITH_HUFF_CODER_CHANGES void ivas_get_dirac_sba_max_md_bits( const int32_t sba_total_brate, int16_t *bits_frame_nominal, int16_t *metadata_max_bits, int16_t *qmetadata_max_bit_req, int16_t nbands ); #endif ivas_error ivas_dirac_sba_config( IVAS_QMETADATA_HANDLE hQMetaData, /* i/o: q_metadata handle */ Loading Loading @@ -4499,13 +4495,11 @@ void ivas_spar_set_bitrate_config( ivas_spar_md_com_cfg *pSpar_md_cfg, /* i/o: SPAR MD config. handle */ const int16_t table_idx, /* i : config. table index */ const int16_t num_bands /* i : number of bands */ #ifdef ARITH_HUFF_CODER_CHANGES , const int16_t dirac2spar_md_flag, const int16_t enc_flag, const int16_t pca_flag, const int16_t agc_flag #endif ); void ivas_spar_bitrate_dist( Loading Loading @@ -5027,15 +5021,9 @@ int16_t ivas_get_bits_to_encode( void ivas_huffman_encode( ivas_huffman_cfg_t *huff_cfg, int16_t in, int16_t *hcode, int16_t *hlen ); void ivas_spar_huff_coeffs_com_init( ivas_huff_coeffs_t *pHuff_coeffs, ivas_spar_md_com_cfg *pSpar_cfg, const int16_t table_idx, const int16_t enc_dec ); void ivas_spar_arith_coeffs_com_init( ivas_arith_coeffs_t *pArith_coeffs, ivas_spar_md_com_cfg *pSpar_cfg, const int16_t table_idx, const int16_t enc_dec ); #ifdef ARITH_HUFF_CODER_CHANGES int16_t ivas_arith_encode_cmplx_cell_array( #else void ivas_arith_encode_cmplx_cell_array( #endif ivas_arith_t *pArith_re, ivas_arith_t *pArith_re_diff, const int16_t *pDo_diff, const int16_t nB, int16_t *pSymbol_re, int16_t *pSymbol_old_re, ivas_cell_dim_t *pCell_dims, BSTR_ENC_HANDLE hMetaData, const int16_t any_diff #ifdef ARITH_HUFF_CODER_CHANGES , int32_t wc_strat_arith #endif ); ivas_error ivas_huffman_decode( ivas_huffman_cfg_t *huff_cfg, Decoder_State *st0, int16_t *dec_out ); void ivas_arith_decode_cmplx_cell_array( ivas_arith_t *pArith_re, ivas_arith_t *pArith_re_diff, Decoder_State *st0, ivas_cell_dim_t *pCell_dims, int16_t *pDo_diff, const int16_t nB, int16_t *pSymbol_re, int16_t *pSymbol_re_old ); Loading
lib_com/ivas_rom_com.c +0 −4 Original line number Diff line number Diff line Loading @@ -936,11 +936,7 @@ const ivas_spar_br_table_t ivas_spar_br_table_consts[IVAS_SPAR_BR_TABLE_LEN] = { 256000, 0, SBA_HOA3_ORDER, FB, 24000, 4, WYXZ, 0, 0,{ { 76300, 73550, 112000 },{ 59350, 57200, 56000 },{ 42400, 40850, 48000 },{ 25450, 24500, 40000 } }, { { 31, 11, 11, 1 },{ 1, 1, 1, 1 }, #ifdef ARITH_HUFF_CODER_CHANGES { 1, 1, 1, 1 } #else { 31, 1, 1, 1 } #endif }, 1, 2, 0 }, { 384000, 0, SBA_FOA_ORDER, FB, 24000, 4, WYXZ, 0, 0,{ { 128000, 128000, 128000 },{ 100000, 100000, 128000 },{ 79850, 79850, 104000 },{ 66600, 66600, 104000 } }, // not yet optimized Loading
lib_com/ivas_spar_com.c +0 −8 Original line number Diff line number Diff line Loading @@ -2132,27 +2132,23 @@ void ivas_spar_set_bitrate_config( ivas_spar_md_com_cfg *pSpar_md_cfg, /* i/o: SPAR MD config. handle */ const int16_t table_idx, /* i : config. table index */ const int16_t num_bands /* i : number of bands */ #ifdef ARITH_HUFF_CODER_CHANGES , const int16_t dirac2spar_md_flag, const int16_t enc_flag, const int16_t pca_flag, const int16_t agc_flag #endif ) { int32_t ivas_total_brate; int16_t i, total_bits, max_bits, code, length; int16_t sba_order; int16_t md_coding_bits_header; #ifdef ARITH_HUFF_CODER_CHANGES int16_t agc_bits, pca_bits, num_PR_bits_dirac_bands; int16_t bits_PR, bits_C, bits_P; int16_t wc_coarse_strat; int16_t n_input, n_dmx, n_dec; int16_t quant_strat; int16_t bands_bw; #endif pSpar_md_cfg->nchan_transport = ivas_spar_br_table_consts[table_idx].nchan_transport; for ( i = 0; i < pSpar_md_cfg->nchan_transport; i++ ) Loading Loading @@ -2191,7 +2187,6 @@ void ivas_spar_set_bitrate_config( pSpar_md_cfg->tgt_bits_per_blk -= md_coding_bits_header; pSpar_md_cfg->max_bits_per_blk -= md_coding_bits_header; #ifdef ARITH_HUFF_CODER_CHANGES if ( ivas_total_brate < IVAS_24k4 ) { bands_bw = 2; Loading @@ -2200,7 +2195,6 @@ void ivas_spar_set_bitrate_config( { bands_bw = 1; } #endif pSpar_md_cfg->tgt_bits_per_blk = (int16_t) ceilf( ( 1.0f * pSpar_md_cfg->tgt_bits_per_blk * num_bands ) / IVAS_MAX_NUM_BANDS ); pSpar_md_cfg->max_bits_per_blk = (int16_t) ceilf( ( 1.0f * pSpar_md_cfg->max_bits_per_blk * num_bands ) / IVAS_MAX_NUM_BANDS ); Loading @@ -2208,7 +2202,6 @@ void ivas_spar_set_bitrate_config( pSpar_md_cfg->tgt_bits_per_blk += md_coding_bits_header; pSpar_md_cfg->max_bits_per_blk += md_coding_bits_header; #ifdef ARITH_HUFF_CODER_CHANGES if ( enc_flag ) { /*calculate the actual worst case bits*/ Loading Loading @@ -2275,7 +2268,6 @@ void ivas_spar_set_bitrate_config( } pSpar_md_cfg->max_md_bits_spar = pSpar_md_cfg->max_bits_per_blk + agc_bits + pca_bits; } #endif return; } Loading