#define HGAINVLCBITS 9
#define HGAINMAX ((13+HGAINVLCBITS-1)/HGAINVLCBITS)
-static void wma_lsp_to_curve_init(WMADecodeContext *s, int frame_len);
+static void wma_lsp_to_curve_init(WMACodecContext *s, int frame_len);
#ifdef TRACE
static void dump_shorts(WMADecodeContext *s, const char *name, const short *tab, int n)
static int wma_decode_init(AVCodecContext * avctx)
{
- WMADecodeContext *s = avctx->priv_data;
+ WMACodecContext *s = avctx->priv_data;
int i, flags1, flags2;
uint8_t *extradata;
* expense (linear interpolation approximately doubles the number of
* bits of precision).
*/
-static inline float pow_m1_4(WMADecodeContext *s, float x)
+static inline float pow_m1_4(WMACodecContext *s, float x)
{
union {
float f;
return s->lsp_pow_e_table[e] * (a + b * t.f);
}
-static void wma_lsp_to_curve_init(WMADecodeContext *s, int frame_len)
+static void wma_lsp_to_curve_init(WMACodecContext *s, int frame_len)
{
float wdel, a, b;
int i, e, m;
* NOTE: We use the same code as Vorbis here
* @todo optimize it further with SSE/3Dnow
*/
-static void wma_lsp_to_curve(WMADecodeContext *s,
+static void wma_lsp_to_curve(WMACodecContext *s,
float *out, float *val_max_ptr,
int n, float *lsp)
{
/**
* decode exponents coded with LSP coefficients (same idea as Vorbis)
*/
-static void decode_exp_lsp(WMADecodeContext *s, int ch)
+static void decode_exp_lsp(WMACodecContext *s, int ch)
{
float lsp_coefs[NB_LSP_COEFS];
int val, i;
/**
* decode exponents coded with VLC codes
*/
-static int decode_exp_vlc(WMADecodeContext *s, int ch)
+static int decode_exp_vlc(WMACodecContext *s, int ch)
{
int last_exp, n, code;
const uint16_t *ptr, *band_ptr;
* @return 0 if OK. 1 if last block of frame. return -1 if
* unrecorrable error.
*/
-static int wma_decode_block(WMADecodeContext *s)
+static int wma_decode_block(WMACodecContext *s)
{
int n, v, a, ch, code, bsize;
int coef_nb_bits, total_gain, parse_exponents;
}
/* decode a frame of frame_len samples */
-static int wma_decode_frame(WMADecodeContext *s, int16_t *samples)
+static int wma_decode_frame(WMACodecContext *s, int16_t *samples)
{
int ret, i, n, a, ch, incr;
int16_t *ptr;
void *data, int *data_size,
uint8_t *buf, int buf_size)
{
- WMADecodeContext *s = avctx->priv_data;
+ WMACodecContext *s = avctx->priv_data;
int nb_frames, bit_offset, i, pos, len;
uint8_t *q;
int16_t *samples;
"wmav1",
CODEC_TYPE_AUDIO,
CODEC_ID_WMAV1,
- sizeof(WMADecodeContext),
+ sizeof(WMACodecContext),
wma_decode_init,
NULL,
ff_wma_end,
"wmav2",
CODEC_TYPE_AUDIO,
CODEC_ID_WMAV2,
- sizeof(WMADecodeContext),
+ sizeof(WMACodecContext),
wma_decode_init,
NULL,
ff_wma_end,
static int encode_init(AVCodecContext * avctx){
- WMADecodeContext *s = avctx->priv_data;
+ WMACodecContext *s = avctx->priv_data;
int i, flags1, flags2;
uint8_t *extradata;
static void apply_window_and_mdct(AVCodecContext * avctx, signed short * audio, int len) {
- WMADecodeContext *s = avctx->priv_data;
+ WMACodecContext *s = avctx->priv_data;
int window_index= s->frame_len_bits - s->block_len_bits;
int i, j, channel;
const float * win = s->windows[window_index];
}
//FIXME use for decoding too
-static void init_exp(WMADecodeContext *s, int ch, int *exp_param){
+static void init_exp(WMACodecContext *s, int ch, int *exp_param){
int n;
const uint16_t *ptr;
float v, *q, max_scale, *q_end;
s->max_exponent[ch] = max_scale;
}
-static void encode_exp_vlc(WMADecodeContext *s, int ch, const int *exp_param){
+static void encode_exp_vlc(WMACodecContext *s, int ch, const int *exp_param){
int last_exp;
const uint16_t *ptr;
float *q, *q_end;
}
}
-static int encode_block(WMADecodeContext *s, float (*src_coefs)[BLOCK_MAX_SIZE], int total_gain){
+static int encode_block(WMACodecContext *s, float (*src_coefs)[BLOCK_MAX_SIZE], int total_gain){
int v, bsize, ch, coef_nb_bits, parse_exponents;
float mdct_norm;
int nb_coefs[MAX_CHANNELS];
return 0;
}
-static int encode_frame(WMADecodeContext *s, float (*src_coefs)[BLOCK_MAX_SIZE], uint8_t *buf, int buf_size, int total_gain){
+static int encode_frame(WMACodecContext *s, float (*src_coefs)[BLOCK_MAX_SIZE], uint8_t *buf, int buf_size, int total_gain){
init_put_bits(&s->pb, buf, buf_size);
if (s->use_bit_reservoir) {
static int encode_superframe(AVCodecContext *avctx,
unsigned char *buf, int buf_size, void *data){
- WMADecodeContext *s = avctx->priv_data;
+ WMACodecContext *s = avctx->priv_data;
short *samples = data;
int i, total_gain, best;
"wmav1",
CODEC_TYPE_AUDIO,
CODEC_ID_WMAV1,
- sizeof(WMADecodeContext),
+ sizeof(WMACodecContext),
encode_init,
encode_superframe,
ff_wma_end,
"wmav2",
CODEC_TYPE_AUDIO,
CODEC_ID_WMAV2,
- sizeof(WMADecodeContext),
+ sizeof(WMACodecContext),
encode_init,
encode_superframe,
ff_wma_end,