|
FFmpeg
|
#include "libavutil/float_dsp.h"#include "avcodec.h"#include "fft.h"#include "get_bits.h"#include "put_bits.h"Go to the source code of this file.
Data Structures | |
| struct | CoefVLCTable |
| struct | WMACodecContext |
Macros | |
| #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 32768 |
| #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 More... | |
Functions | |
| av_warn_unused_result 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. More... | |
| 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. More... | |
Variables | |
| 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 |
Definition at line 33 of file wma.h.
Referenced by ff_wma_init().
| #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 |
Definition at line 40 of file wma.h.
Referenced by wma_decode_block().
| #define NB_LSP_COEFS 10 |
Definition at line 42 of file wma.h.
Referenced by decode_exp_lsp(), and wma_lsp_to_curve().
| #define MAX_CODED_SUPERFRAME_SIZE 32768 |
Definition at line 45 of file wma.h.
Referenced by encode_init(), encode_superframe(), and wma_decode_superframe().
| #define NOISE_TAB_SIZE 8192 |
Definition at line 49 of file wma.h.
Referenced by ff_wma_init(), and wma_decode_block().
| #define LSP_POW_BITS 7 |
Definition at line 51 of file wma.h.
Referenced by pow_m1_4(), and wma_lsp_to_curve_init().
| #define VLCBITS 9 |
Definition at line 54 of file wma.h.
Referenced by ff_wma_run_level_decode(), and init_coef_vlc().
Definition at line 55 of file wma.h.
Referenced by ff_wma_run_level_decode().
| typedef float WMACoef |
| av_warn_unused_result int ff_wma_init | ( | AVCodecContext * | avctx, |
| int | flags2 | ||
| ) |
Definition at line 81 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 364 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 406 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 coefficients |
| 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 438 of file wma.c.
Referenced by decode_coeffs(), and wma_decode_block().
| const uint16_t ff_wma_hgain_huffcodes[37] |
Definition at line 54 of file wmadata.h.
Referenced by wma_decode_init().
| const uint8_t ff_wma_hgain_huffbits[37] |
Definition at line 62 of file wmadata.h.
Referenced by wma_decode_init().
| const float ff_wma_lsp_codebook[NB_LSP_COEFS][16] |
Definition at line 68 of file wmadata.h.
Referenced by decode_exp_lsp().
| const uint32_t ff_aac_scalefactor_code[121] |
Definition at line 63 of file aactab.c.
Referenced by aac_static_table_init(), encode_exp_vlc(), encode_scale_factors(), and wma_decode_init().
| const uint8_t ff_aac_scalefactor_bits[121] |
Definition at line 82 of file aactab.c.
Referenced by aac_static_table_init(), encode_exp_vlc(), encode_scale_factors(), search_for_quantizers_anmr(), search_for_quantizers_twoloop(), and wma_decode_init().
1.8.6