提交 6836af52 编写于 作者: M Michael Niedermayer

doxygenize

Originally committed as revision 7872 to svn://svn.ffmpeg.org/ffmpeg/trunk
上级 013591c5
......@@ -51,11 +51,11 @@
#define VLCMAX ((22+VLCBITS-1)/VLCBITS)
typedef struct CoefVLCTable {
int n; /* total number of codes */
int n; ///< total number of codes
int max_level;
const uint32_t *huffcodes; /* VLC bit values */
const uint8_t *huffbits; /* VLC bit size */
const uint16_t *levels; /* table to build run/level tables */
const uint32_t *huffcodes; ///< VLC bit values
const uint8_t *huffbits; ///< VLC bit size
const uint16_t *levels; ///< table to build run/level tables
} CoefVLCTable;
typedef struct WMADecodeContext {
......@@ -64,19 +64,19 @@ typedef struct WMADecodeContext {
int sample_rate;
int nb_channels;
int bit_rate;
int version; /* 1 = 0x160 (WMAV1), 2 = 0x161 (WMAV2) */
int version; ///< 1 = 0x160 (WMAV1), 2 = 0x161 (WMAV2)
int block_align;
int use_bit_reservoir;
int use_variable_block_len;
int use_exp_vlc; /* exponent coding: 0 = lsp, 1 = vlc + delta */
int use_noise_coding; /* true if perceptual noise is added */
int use_exp_vlc; ///< exponent coding: 0 = lsp, 1 = vlc + delta
int use_noise_coding; ///< true if perceptual noise is added
int byte_offset_bits;
VLC exp_vlc;
int exponent_sizes[BLOCK_NB_SIZES];
uint16_t exponent_bands[BLOCK_NB_SIZES][25];
int high_band_start[BLOCK_NB_SIZES]; /* index of first coef in high band */
int coefs_start; /* first coded coef */
int coefs_end[BLOCK_NB_SIZES]; /* max number of coded coefficients */
int high_band_start[BLOCK_NB_SIZES]; ///< index of first coef in high band
int coefs_start; ///< first coded coef
int coefs_end[BLOCK_NB_SIZES]; ///< max number of coded coefficients
int exponent_high_sizes[BLOCK_NB_SIZES];
int exponent_high_bands[BLOCK_NB_SIZES][HIGH_BAND_MAX_SIZE];
VLC hgain_vlc;
......@@ -93,19 +93,19 @@ typedef struct WMADecodeContext {
uint16_t *int_table[2];
CoefVLCTable *coef_vlcs[2];
/* frame info */
int frame_len; /* frame length in samples */
int frame_len_bits; /* frame_len = 1 << frame_len_bits */
int nb_block_sizes; /* number of block sizes */
int frame_len; ///< frame length in samples
int frame_len_bits; ///< frame_len = 1 << frame_len_bits
int nb_block_sizes; ///< number of 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_num; /* block number in current frame */
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 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_num; ///< block number in current frame
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
DECLARE_ALIGNED_16(float, exponents[MAX_CHANNELS][BLOCK_MAX_SIZE]);
float max_exponent[MAX_CHANNELS];
int16_t coefs1[MAX_CHANNELS][BLOCK_MAX_SIZE];
......@@ -114,7 +114,7 @@ typedef struct WMADecodeContext {
DECLARE_ALIGNED_16(float, window[BLOCK_MAX_SIZE * 2]);
MDCTContext mdct_ctx[BLOCK_NB_SIZES];
float *windows[BLOCK_NB_SIZES];
DECLARE_ALIGNED_16(FFTSample, mdct_tmp[BLOCK_MAX_SIZE]); /* temporary storage for imdct */
DECLARE_ALIGNED_16(FFTSample, mdct_tmp[BLOCK_MAX_SIZE]); ///< temporary storage for imdct
/* output buffer for one frame and the last for IMDCT windowing */
DECLARE_ALIGNED_16(float, frame_out[MAX_CHANNELS][BLOCK_MAX_SIZE * 2]);
/* last frame info */
......
......@@ -127,8 +127,10 @@ static int wma_decode_init(AVCodecContext * avctx)
return 0;
}
/* interpolate values for a bigger or smaller block. The block must
have multiple sizes */
/**
* interpolate values for a bigger or smaller block. The block must
* have multiple sizes
*/
static void interpolate_array(float *scale, int old_size, int new_size)
{
int i, j, jincr, k;
......@@ -154,10 +156,12 @@ static void interpolate_array(float *scale, int old_size, int new_size)
}
}
/* compute x^-0.25 with an exponent and mantissa table. We use linear
interpolation to reduce the mantissa table size at a small speed
expense (linear interpolation approximately doubles the number of
bits of precision). */
/**
* compute x^-0.25 with an exponent and mantissa table. We use linear
* interpolation to reduce the mantissa table size at a small speed
* expense (linear interpolation approximately doubles the number of
* bits of precision).
*/
static inline float pow_m1_4(WMADecodeContext *s, float x)
{
union {
......@@ -214,8 +218,10 @@ static void wma_lsp_to_curve_init(WMADecodeContext *s, int frame_len)
#endif
}
/* NOTE: We use the same code as Vorbis here */
/* XXX: optimize it further with SSE/3Dnow */
/**
* NOTE: We use the same code as Vorbis here
* @todo optimize it further with SSE/3Dnow
*/
static void wma_lsp_to_curve(WMADecodeContext *s,
float *out, float *val_max_ptr,
int n, float *lsp)
......@@ -243,7 +249,9 @@ static void wma_lsp_to_curve(WMADecodeContext *s,
*val_max_ptr = val_max;
}
/* decode exponents coded with LSP coefficients (same idea as Vorbis) */
/**
* decode exponents coded with LSP coefficients (same idea as Vorbis)
*/
static void decode_exp_lsp(WMADecodeContext *s, int ch)
{
float lsp_coefs[NB_LSP_COEFS];
......@@ -261,7 +269,9 @@ static void decode_exp_lsp(WMADecodeContext *s, int ch)
s->block_len, lsp_coefs);
}
/* decode exponents coded with VLC codes */
/**
* decode exponents coded with VLC codes
*/
static int decode_exp_vlc(WMADecodeContext *s, int ch)
{
int last_exp, n, code;
......@@ -304,8 +314,10 @@ static int decode_exp_vlc(WMADecodeContext *s, int ch)
return 0;
}
/* return 0 if OK. return 1 if last block of frame. return -1 if
unrecorrable error. */
/**
* @return 0 if OK. 1 if last block of frame. return -1 if
* unrecorrable error.
*/
static int wma_decode_block(WMADecodeContext *s)
{
int n, v, a, ch, code, bsize;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册