Commit c60d747c authored by vaclav's avatar vaclav
Browse files

formal improvements within ARITH_HUFF_CODER_CHANGES: empty lines, 'const'...

formal improvements within ARITH_HUFF_CODER_CHANGES: empty lines, 'const' function input arguments, comments
parent 830ab066
Loading
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1018,14 +1018,14 @@ typedef enum

#define IVAS_SPAR_HOA3_NP_CHS                   8                           /* number of higher order non-planar channels */

#define SPAR_NUM_CODING_STRAT_BITS              ( 3 )
#define SPAR_NUM_CODING_STRAT_BITS              3

/* 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)
#define IVAS_SPAR_ARITH_OVERSHOOT_BITS          16
#endif

/* Common SPAR metadata constants */
+11 −7
Original line number Diff line number Diff line
@@ -377,13 +377,20 @@ void ivas_dirac_config_bands(
    return;
}


#ifdef ARITH_HUFF_CODER_CHANGES
/*-------------------------------------------------------------------*
 * ivas_sba_get_max_md_bits()
 *
 * Return maximum SBA DirAC metadata bit-budget and nominal bit-budget
 *-------------------------------------------------------------------*/

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 )
    const int16_t nbands )
{
    if ( sba_total_brate <= IVAS_13k2 )
    {
@@ -442,6 +449,7 @@ void ivas_get_dirac_sba_max_md_bits(
}
#endif


/*-------------------------------------------------------------------------
 * ivas_dirac_sba_config()
 *
@@ -547,13 +555,9 @@ 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 );
        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 )
    {
+112 −22
Original line number Diff line number Diff line
@@ -110,18 +110,23 @@ ivas_error mct_enc_reconfigure(
    Encoder_Struct *st_ivas,                                    /* i/o: IVAS encoder structure                  */
    const uint16_t b_nchan_change                               /* i  : flag indicating different channel count */
);

ivas_error ivas_spar_md_enc_init
(
    ivas_spar_md_enc_state_t *hMdEnc,                           /* o  : MD encoder handle                       */
    const ENCODER_CONFIG_HANDLE hEncoderConfig,                 /* i  : configuration structure                 */
    const int16_t sba_order                                     /* i  : Ambisonic (SBA) order                   */
);

ivas_error ivas_sba_enc_reconfigure( 
    Encoder_Struct *st_ivas                                     /* i/o: IVAS encoder structure                  */
);

#ifdef ARITH_HUFF_CODER_CHANGES
/*! r: maximum SBA metadata bit-budget */
int16_t ivas_sba_get_max_md_bits(
    Encoder_Struct *st_ivas );
    Encoder_Struct *st_ivas                                     /* i/o: IVAS encoder structure                  */
);
#endif

void destroy_sce_enc(
@@ -3637,7 +3642,8 @@ void ivas_get_dirac_sba_max_md_bits(
    int16_t *bits_frame_nominal,
    int16_t *metadata_max_bits,
    int16_t *qmetadata_max_bit_req,
    int16_t nbands );
    const int16_t nbands 
);
#endif

ivas_error ivas_dirac_sba_config(
@@ -5024,33 +5030,117 @@ int16_t ivas_get_bits_to_encode(
    int32_t val 
);

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 );
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 

    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
    , 
    const int16_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 );

void ivas_ari_start_decoding_14bits_ext_1_lfe( Decoder_State *st, Tastat *s, int16_t *extra_bits_read );
uint16_t ivas_ari_decode_14bits_bit_ext_1_lfe( Decoder_State *st, Tastat *s, const uint16_t *cum_freq, int16_t *extra_bits_read );
void ivas_ari_done_decoding_14bits_ext_1_lfe( Decoder_State *st, const int16_t extra_bits_read );
void ivas_ari_done_encoding_14bits( BSTR_ENC_HANDLE hBstr, Tastat *s );
void ivas_ari_encode_14bits_ext( BSTR_ENC_HANDLE hBstr, Tastat *s, int32_t symbol, const uint16_t *cum_freq );
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 
);

void ivas_ari_start_decoding_14bits_ext_1_lfe( 
    Decoder_State *st,
    Tastat *s, 
    int16_t *extra_bits_read 
);

uint16_t ivas_ari_decode_14bits_bit_ext_1_lfe( 
    Decoder_State *st, Tastat *s, 
    const uint16_t *cum_freq, 
    int16_t *extra_bits_read 
);

void ivas_ari_done_decoding_14bits_ext_1_lfe( 
    Decoder_State *st, 
    const int16_t extra_bits_read 
);

void ivas_ari_done_encoding_14bits( 
    BSTR_ENC_HANDLE hBstr, Tastat *s 
);

void ivas_ari_encode_14bits_ext( 
    BSTR_ENC_HANDLE hBstr, 
    Tastat *s, 
    int32_t symbol, 
    const uint16_t *cum_freq 
);

void ivas_wrap_arround( int16_t *pArr, const int16_t min_val, const int16_t max_val, const int16_t length );
void ivas_get_cum_freq_model( const int16_t *pFreq_model, const int16_t length, int16_t *pCum_freq_model );
int16_t ivas_map_num_pred_r_to_idx( const int16_t num_quant_points_pred_r, const int16_t active_w_flag );
int16_t ivas_map_num_drct_r_to_idx( const int16_t num_quant_points_drct_r );
int16_t ivas_map_num_decd_r_to_idx( const int16_t num_quant_points_decd_r );
void ivas_wrap_arround( 
    int16_t *pArr, 
    const int16_t min_val,
    const int16_t max_val, 
    const int16_t length 
);

void ivas_get_cum_freq_model( 
    const int16_t *pFreq_model, 
    const int16_t length, 
    int16_t *pCum_freq_model 
);

int16_t ivas_map_num_pred_r_to_idx( 
    const int16_t num_quant_points_pred_r, 
    const int16_t active_w_flag 
);

int16_t ivas_map_num_drct_r_to_idx( 
    const int16_t num_quant_points_drct_r 
);

int16_t ivas_map_num_decd_r_to_idx( 
    const int16_t num_quant_points_decd_r 
);

/* Quantization utilities */
void ivas_quantise_real_values(
+3 −0
Original line number Diff line number Diff line
@@ -2153,6 +2153,7 @@ void ivas_spar_set_bitrate_config(
    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,6 +2192,7 @@ 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 )
    {
@@ -2276,6 +2278,7 @@ 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;
}

+1 −2
Original line number Diff line number Diff line
@@ -489,8 +489,7 @@ ivas_error ivas_spar_md_dec_init(
    ivas_spar_set_bitrate_config( &hMdDec->spar_md_cfg, hMdDec->table_idx, hMdDec->spar_md.num_bands
#ifdef ARITH_HUFF_CODER_CHANGES
                                  ,
                                  hMdDec->spar_hoa_dirac2spar_md_flag,
                                  0, 0, 0
                                  hMdDec->spar_hoa_dirac2spar_md_flag, 0, 0, 0
#endif
    );

Loading