FFmpeg
|
#include "avcodec.h"
#include "sinewin.h"
#include "wma.h"
#include "wma_common.h"
#include "wmadata.h"
#include <assert.h>
Go to the source code of this file.
Functions | |
static void | init_coef_vlc (VLC *vlc, uint16_t **prun_table, float **plevel_table, uint16_t **pint_table, const CoefVLCTable *vlc_table) |
int | ff_wma_init (AVCodecContext *avctx, int flags2) |
int | ff_wma_total_gain_to_bits (int total_gain) |
int | ff_wma_end (AVCodecContext *avctx) |
unsigned int | ff_wma_get_large_val (GetBitContext *gb) |
Decode an uncompressed coefficient. | |
int | ff_wma_run_level_decode (AVCodecContext *avctx, GetBitContext *gb, VLC *vlc, const float *level_table, const uint16_t *run_table, int version, WMACoef *ptr, int offset, int num_coefs, int block_len, int frame_len_bits, int coef_nb_bits) |
Decode run level compressed coefficients. | |
|
static |
int ff_wma_init | ( | AVCodecContext * | avctx, |
int | flags2 | ||
) |
Definition at line 71 of file wma.c.
Referenced by encode_init(), and wma_decode_init().
int ff_wma_total_gain_to_bits | ( | int | total_gain | ) |
Definition at line 360 of file wma.c.
Referenced by encode_block(), and wma_decode_block().
int ff_wma_end | ( | AVCodecContext * | avctx | ) |
unsigned int ff_wma_get_large_val | ( | GetBitContext * | gb | ) |
Decode an uncompressed coefficient.
gb | GetBitContext |
consumes up to 34 bits
decode length
Definition at line 398 of file wma.c.
Referenced by decode_coeffs(), and ff_wma_run_level_decode().
int ff_wma_run_level_decode | ( | AVCodecContext * | avctx, |
GetBitContext * | gb, | ||
VLC * | vlc, | ||
const float * | level_table, | ||
const uint16_t * | run_table, | ||
int | version, | ||
WMACoef * | ptr, | ||
int | offset, | ||
int | num_coefs, | ||
int | block_len, | ||
int | frame_len_bits, | ||
int | coef_nb_bits | ||
) |
Decode run level compressed coefficients.
avctx | codec context |
gb | bitstream reader context |
vlc | vlc table for get_vlc2 |
level_table | level codes |
run_table | run codes |
version | 0 for wma1,2 1 for wmapro |
ptr | output buffer |
offset | offset in the output buffer |
num_coefs | number of input coefficents |
block_len | input buffer length (2^n) |
frame_len_bits | number of bits for escaped run codes |
coef_nb_bits | number of bits for escaped level codes |
normal code
EOB
escape
NOTE: this is rather suboptimal. reading block_len_bits would be better
escape decode
NOTE: EOB can be omitted
Definition at line 431 of file wma.c.
Referenced by decode_coeffs(), and wma_decode_block().