#include "get_bits.h"
#include "put_bits.h"
#include "dsputil.h"
#include "fft.h"
#include "fmtconvert.h"
Go to the source code of this file.
Data Structures | |
struct | CoefVLCTable |
struct | WMACodecContext |
Defines | |
#define | BLOCK_MIN_BITS 7 |
#define | BLOCK_MAX_BITS 11 |
#define | BLOCK_MAX_SIZE (1 << BLOCK_MAX_BITS) |
#define | BLOCK_NB_SIZES (BLOCK_MAX_BITS - BLOCK_MIN_BITS + 1) |
#define | HIGH_BAND_MAX_SIZE 16 |
#define | NB_LSP_COEFS 10 |
#define | MAX_CODED_SUPERFRAME_SIZE 16384 |
#define | MAX_CHANNELS 2 |
#define | NOISE_TAB_SIZE 8192 |
#define | LSP_POW_BITS 7 |
#define | VLCBITS 9 |
#define | VLCMAX ((22+VLCBITS-1)/VLCBITS) |
Typedefs | |
typedef float | WMACoef |
type for decoded coefficients, int16_t would be enough for wma 1/2 | |
Functions | |
int av_cold | ff_wma_get_frame_len_bits (int sample_rate, int version, unsigned int decode_flags) |
Get the samples per frame for this stream. | |
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. | |
Variables | |
const uint16_t | ff_wma_critical_freqs [25] |
const uint16_t | ff_wma_hgain_huffcodes [37] |
const uint8_t | ff_wma_hgain_huffbits [37] |
const float | ff_wma_lsp_codebook [NB_LSP_COEFS][16] |
const uint32_t | ff_aac_scalefactor_code [121] |
const uint8_t | ff_aac_scalefactor_bits [121] |
#define BLOCK_MIN_BITS 7 |
#define HIGH_BAND_MAX_SIZE 16 |
#define LSP_POW_BITS 7 |
#define MAX_CODED_SUPERFRAME_SIZE 16384 |
Definition at line 44 of file wma.h.
Referenced by encode_init(), encode_superframe(), and wma_decode_superframe().
#define NB_LSP_COEFS 10 |
#define NOISE_TAB_SIZE 8192 |
#define VLCBITS 9 |
Definition at line 53 of file wma.h.
Referenced by decode_coeffs(), decode_init(), decode_scale_factors(), ff_wma_run_level_decode(), and init_coef_vlc().
#define VLCMAX ((22+VLCBITS-1)/VLCBITS) |
typedef float WMACoef |
int ff_wma_end | ( | AVCodecContext * | avctx | ) |
int av_cold ff_wma_get_frame_len_bits | ( | int | sample_rate, | |
int | version, | |||
unsigned int | decode_flags | |||
) |
Get the samples per frame for this stream.
sample_rate | output sample_rate | |
version | wma version | |
decode_flags | codec compression features |
Definition at line 77 of file wma.c.
Referenced by decode_init(), and ff_wma_init().
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 440 of file wma.c.
Referenced by decode_coeffs(), and ff_wma_run_level_decode().
int ff_wma_init | ( | AVCodecContext * | avctx, | |
int | flags2 | |||
) |
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 473 of file wma.c.
Referenced by decode_coeffs(), and wma_decode_block().
int ff_wma_total_gain_to_bits | ( | int | total_gain | ) |
const uint8_t ff_aac_scalefactor_bits[121] |
Definition at line 70 of file aactab.c.
Referenced by aac_decode_init(), encode_exp_vlc(), encode_scale_factors(), search_for_quantizers_anmr(), search_for_quantizers_twoloop(), and wma_decode_init().
const uint32_t ff_aac_scalefactor_code[121] |
Definition at line 51 of file aactab.c.
Referenced by aac_decode_init(), encode_exp_vlc(), encode_scale_factors(), and wma_decode_init().
const uint16_t ff_wma_critical_freqs[25] |
const uint8_t ff_wma_hgain_huffbits[37] |
const uint16_t ff_wma_hgain_huffcodes[37] |
const float ff_wma_lsp_codebook[NB_LSP_COEFS][16] |