FFmpeg
|
#include <inttypes.h>
#include "libavutil/attributes.h"
#include "libavutil/avassert.h"
#include "libavutil/mem_internal.h"
#include "avcodec.h"
#include "internal.h"
#include "get_bits.h"
#include "put_bits.h"
#include "lossless_audiodsp.h"
#include "wma.h"
#include "wma_common.h"
Go to the source code of this file.
Data Structures | |
struct | WmallChannelCtx |
frame-specific decoder context for a single channel More... | |
struct | WmallDecodeCtx |
main decoder context More... | |
Macros | |
#define | WMALL_MAX_CHANNELS 8 |
current decoder limitations More... | |
#define | MAX_SUBFRAMES 32 |
max number of subframes per channel More... | |
#define | MAX_BANDS 29 |
max number of scale factor bands More... | |
#define | MAX_FRAMESIZE 32768 |
maximum compressed frame size More... | |
#define | MAX_ORDER 256 |
#define | WMALL_BLOCK_MIN_BITS 6 |
log2 of min block size More... | |
#define | WMALL_BLOCK_MAX_BITS 14 |
log2 of max block size More... | |
#define | WMALL_BLOCK_MAX_SIZE (1 << WMALL_BLOCK_MAX_BITS) |
maximum block size More... | |
#define | WMALL_BLOCK_SIZES (WMALL_BLOCK_MAX_BITS - WMALL_BLOCK_MIN_BITS + 1) |
possible block sizes More... | |
#define | WMALL_COEFF_PAD_SIZE 16 |
pad coef buffers with 0 for use with SIMD More... | |
#define | WMASIGN(x) (((x) > 0) - ((x) < 0)) |
Get sign of integer (1 for positive, -1 for negative and 0 for zero) More... | |
#define | CD_LMS(bits, ROUND) |
Variables | |
const AVCodec | ff_wmalossless_decoder |
#define WMALL_MAX_CHANNELS 8 |
current decoder limitations
max number of handled channels
Definition at line 40 of file wmalosslessdec.c.
#define MAX_SUBFRAMES 32 |
max number of subframes per channel
Definition at line 41 of file wmalosslessdec.c.
#define MAX_BANDS 29 |
max number of scale factor bands
Definition at line 42 of file wmalosslessdec.c.
#define MAX_FRAMESIZE 32768 |
maximum compressed frame size
Definition at line 43 of file wmalosslessdec.c.
#define MAX_ORDER 256 |
Definition at line 44 of file wmalosslessdec.c.
#define WMALL_BLOCK_MIN_BITS 6 |
log2 of min block size
Definition at line 46 of file wmalosslessdec.c.
#define WMALL_BLOCK_MAX_BITS 14 |
log2 of max block size
Definition at line 47 of file wmalosslessdec.c.
#define WMALL_BLOCK_MAX_SIZE (1 << WMALL_BLOCK_MAX_BITS) |
maximum block size
Definition at line 48 of file wmalosslessdec.c.
#define WMALL_BLOCK_SIZES (WMALL_BLOCK_MAX_BITS - WMALL_BLOCK_MIN_BITS + 1) |
possible block sizes
Definition at line 49 of file wmalosslessdec.c.
#define WMALL_COEFF_PAD_SIZE 16 |
pad coef buffers with 0 for use with SIMD
Definition at line 51 of file wmalosslessdec.c.
#define WMASIGN | ( | x | ) | (((x) > 0) - ((x) < 0)) |
Get sign of integer (1 for positive, -1 for negative and 0 for zero)
Definition at line 179 of file wmalosslessdec.c.
#define CD_LMS | ( | bits, | |
ROUND | |||
) |
Definition at line 730 of file wmalosslessdec.c.
|
static |
Definition at line 181 of file wmalosslessdec.c.
|
static |
Decode the subframe length.
s | context |
offset | sample offset in the frame |
Definition at line 292 of file wmalosslessdec.c.
Referenced by decode_tilehdr().
|
static |
Decode how the data in the frame is split into subframes.
Every WMA frame contains the encoded data for a fixed number of samples per channel. The data for every channel might be split into several subframes. This function will reconstruct the list of subframes for every channel.
If the subframes are not evenly split, the algorithm estimates the channels with the lowest number of total samples. Afterwards, for each of these channels a bit is read from the bitstream that indicates if the channel contains a subframe with the next subframe size that is going to be read from the bitstream or not. If a channel contains such a subframe, the subframe size gets added to the channel's subframe list. The algorithm repeats these steps until the frame is properly divided between the individual channels.
s | context |
Definition at line 334 of file wmalosslessdec.c.
Referenced by decode_frame().
|
static |
Definition at line 419 of file wmalosslessdec.c.
Referenced by decode_subframe().
|
static |
Definition at line 429 of file wmalosslessdec.c.
Referenced by decode_subframe().
|
static |
Definition at line 452 of file wmalosslessdec.c.
Referenced by decode_subframe().
|
static |
Definition at line 509 of file wmalosslessdec.c.
Referenced by decode_subframe().
|
static |
Definition at line 566 of file wmalosslessdec.c.
Referenced by decode_subframe().
|
static |
Definition at line 578 of file wmalosslessdec.c.
Referenced by decode_subframe().
|
static |
Reset filter parameters and transient area at new seekable tile.
Definition at line 607 of file wmalosslessdec.c.
Referenced by decode_subframe().
|
static |
Definition at line 622 of file wmalosslessdec.c.
Referenced by revert_mclms().
|
static |
Definition at line 664 of file wmalosslessdec.c.
Referenced by revert_mclms().
|
static |
Definition at line 686 of file wmalosslessdec.c.
Referenced by decode_subframe().
|
static |
Definition at line 695 of file wmalosslessdec.c.
Referenced by decode_subframe().
|
static |
Definition at line 713 of file wmalosslessdec.c.
Referenced by decode_subframe().
|
static |
Definition at line 788 of file wmalosslessdec.c.
Referenced by decode_subframe().
|
static |
Definition at line 801 of file wmalosslessdec.c.
Referenced by decode_subframe().
|
static |
Definition at line 836 of file wmalosslessdec.c.
Referenced by decode_frame().
|
static |
Decode one WMA frame.
s | codec context |
Definition at line 1022 of file wmalosslessdec.c.
Referenced by decode_packet().
|
static |
Calculate remaining input buffer length.
s | codec context |
gb | bitstream reader context |
Definition at line 1125 of file wmalosslessdec.c.
Referenced by decode_packet().
|
static |
Fill the bit reservoir with a (partial) frame.
s | codec context |
gb | bitstream reader context |
len | length of the partial frame |
append | decides whether to reset the buffer or not |
Definition at line 1137 of file wmalosslessdec.c.
Referenced by decode_packet().
|
static |
Definition at line 1182 of file wmalosslessdec.c.
|
static |
Definition at line 1303 of file wmalosslessdec.c.
|
static |
Definition at line 1316 of file wmalosslessdec.c.
const AVCodec ff_wmalossless_decoder |
Definition at line 1326 of file wmalosslessdec.c.