#define LSP_POW_BITS 7
struct private_wmadec_data {
+ /** Information contained in the audio file header. */
struct asf_header_info ahi;
struct getbit_context gb;
/** Whether to use the bit reservoir. */
uint16_t exponent_bands[BLOCK_NB_SIZES][25];
/** The index of the first coef in high band. */
int high_band_start[BLOCK_NB_SIZES];
- int coefs_end[BLOCK_NB_SIZES]; ///< max number of coded coefficients
+ /** Maximal number of coded coefficients. */
+ int coefs_end[BLOCK_NB_SIZES];
int exponent_high_sizes[BLOCK_NB_SIZES];
int exponent_high_bands[BLOCK_NB_SIZES][HIGH_BAND_MAX_SIZE];
struct vlc hgain_vlc;
uint16_t *run_table[2];
uint16_t *level_table[2];
const struct coef_vlc_table *coef_vlcs[2];
- /* frame info */
- int frame_len; ///< frame length in samples
- int frame_len_bits; ///< frame_len = 1 << frame_len_bits
+ /** Frame length in samples. */
+ int frame_len;
+ /** log2 of frame_len. */
+ int frame_len_bits;
/** Number of block sizes. */
int nb_block_sizes;
/* block info */
int reset_block_lengths;
- int block_len_bits; ///< log2 of current block length
- int next_block_len_bits; ///< log2 of next block length
- int prev_block_len_bits; ///< log2 of prev block length
- int block_len; ///< block length in samples
- int block_pos; ///< current position in frame
- uint8_t ms_stereo; ///< true if mid/side stereo mode
- uint8_t channel_coded[MAX_CHANNELS]; ///< true if channel is coded
- int exponents_bsize[MAX_CHANNELS]; ///< log2 ratio frame/exp. length
+ /** log2 of current block length. */
+ int block_len_bits;
+ /** log2 of next block length. */
+ int next_block_len_bits;
+ /** log2 of previous block length. */
+ int prev_block_len_bits;
+ /** Block length in samples. */
+ int block_len;
+ /** Current position in frame. */
+ int block_pos;
+ /** True if mid/side stereo mode. */
+ uint8_t ms_stereo;
+ /** True if channel is coded. */
+ uint8_t channel_coded[MAX_CHANNELS];
+ /** log2 ratio frame/exp. length. */
+ int exponents_bsize[MAX_CHANNELS];
+
float exponents[MAX_CHANNELS][BLOCK_MAX_SIZE];
float max_exponent[MAX_CHANNELS];
int16_t coefs1[MAX_CHANNELS][BLOCK_MAX_SIZE];
float output[BLOCK_MAX_SIZE * 2];
struct mdct_context *mdct_ctx[BLOCK_NB_SIZES];
float *windows[BLOCK_NB_SIZES];
- /* output buffer for one frame and the last for IMDCT windowing */
+ /** Output buffer for one frame and the last for IMDCT windowing. */
float frame_out[MAX_CHANNELS][BLOCK_MAX_SIZE * 2];
- /* last frame info */
+ /** Last frame info. */
uint8_t last_superframe[MAX_CODED_SUPERFRAME_SIZE + 4]; /* padding added */
int last_bitoffset;
int last_superframe_len;