To use this decoder, a calling application must supply the extra data bytes provided with the WMA data. These are the extra, codec-specific bytes at the end of a WAVEFORMATEX data structure. Transmit these bytes to the decoder using the extradata[_size] fields in AVCodecContext. There should be 4 extra bytes for v1 data and 6 extra bytes for v2 data.
Definition in file wmadec.c.
#include "avcodec.h"
#include "bitstream.h"
#include "dsputil.h"
#include "wmadata.h"
Go to the source code of this file.
Classes | |
struct | CoefVLCTable |
struct | WMADecodeContext |
Defines | |
#define | BLOCK_MAX_BITS 11 |
#define | BLOCK_MAX_SIZE (1 << BLOCK_MAX_BITS) |
#define | BLOCK_MIN_BITS 7 |
#define | BLOCK_NB_SIZES (BLOCK_MAX_BITS - BLOCK_MIN_BITS + 1) |
#define | EXPMAX ((19+EXPVLCBITS-1)/EXPVLCBITS) |
#define | EXPVLCBITS 8 |
#define | HGAINMAX ((13+HGAINVLCBITS-1)/HGAINVLCBITS) |
#define | HGAINVLCBITS 9 |
#define | HIGH_BAND_MAX_SIZE 16 |
#define | LSP_POW_BITS 7 |
#define | MAX_CHANNELS 2 |
#define | MAX_CODED_SUPERFRAME_SIZE 16384 |
#define | NB_LSP_COEFS 10 |
#define | NOISE_TAB_SIZE 8192 |
#define | VLCBITS 9 |
#define | VLCMAX ((22+VLCBITS-1)/VLCBITS) |
Functions | |
static void | decode_exp_lsp (WMADecodeContext *s, int ch) |
static int | decode_exp_vlc (WMADecodeContext *s, int ch) |
static void | init_coef_vlc (VLC *vlc, uint16_t **prun_table, uint16_t **plevel_table, const CoefVLCTable *vlc_table) |
static void | interpolate_array (float *scale, int old_size, int new_size) |
static float | pow_m1_4 (WMADecodeContext *s, float x) |
static int | wma_decode_block (WMADecodeContext *s) |
static int | wma_decode_end (AVCodecContext *avctx) |
static int | wma_decode_frame (WMADecodeContext *s, int16_t *samples) |
static int | wma_decode_init (AVCodecContext *avctx) |
static int | wma_decode_superframe (AVCodecContext *avctx, void *data, int *data_size, uint8_t *buf, int buf_size) |
static void | wma_lsp_to_curve (WMADecodeContext *s, float *out, float *val_max_ptr, int n, float *lsp) |
static void | wma_lsp_to_curve_init (WMADecodeContext *s, int frame_len) |
Variables | |
AVCodec | wmav1_decoder |
AVCodec | wmav2_decoder |