Commit 99ea4b1e authored by multrus's avatar multrus
Browse files

[cleanup] accept ARITH_HUFF_CODER_CHANGES

parent 49ceda62
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -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
@@ -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 


/*----------------------------------------------------------------------------------*
+0 −58
Original line number Diff line number Diff line
@@ -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,
@@ -440,7 +439,6 @@ void ivas_get_dirac_sba_max_md_bits(

    return;
}
#endif

/*-------------------------------------------------------------------------
 * ivas_dirac_sba_config()
@@ -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
+0 −12
Original line number Diff line number Diff line
@@ -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                   */
@@ -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                                    */
@@ -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(
@@ -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 );
+0 −4
Original line number Diff line number Diff line
@@ -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
+0 −8
Original line number Diff line number Diff line
@@ -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++ )
@@ -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;
@@ -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 );
@@ -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*/
@@ -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