FFmpeg
|
#include "libavutil/channel_layout.h"
#include "libavutil/mem.h"
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
#include "get_bits.h"
#include "refstruct.h"
#include "thread.h"
#include "threadprogress.h"
#include "unary.h"
#include "wavpack.h"
#include "dsd.h"
Go to the source code of this file.
Data Structures | |
struct | WavpackFrameContext |
struct | WavpackContext |
struct | DSDfilters |
Macros | |
#define | BITSTREAM_READER_LE |
#define | DSD_BYTE_READY(low, high) (!(((low) ^ (high)) & 0xff000000)) |
#define | PTABLE_BITS 8 |
#define | PTABLE_BINS (1<<PTABLE_BITS) |
#define | PTABLE_MASK (PTABLE_BINS-1) |
#define | UP 0x010000fe |
#define | DOWN 0x00010000 |
#define | DECAY 8 |
#define | PRECISION 20 |
#define | VALUE_ONE (1 << PRECISION) |
#define | PRECISION_USE 12 |
#define | RATE_S 20 |
#define | MAX_HISTORY_BITS 5 |
#define | MAX_HISTORY_BINS (1 << MAX_HISTORY_BITS) |
#define | MAX_BIN_BYTES 1280 |
#define | LEVEL_DECAY(a) (((a) + 0x80) >> 8) |
Enumerations | |
enum | Modulation { MODULATION_PCM, MODULATION_DSD } |
Functions | |
static av_always_inline unsigned | get_tail (GetBitContext *gb, unsigned k) |
static int | update_error_limit (WavpackFrameContext *ctx) |
static int | wv_get_value (WavpackFrameContext *ctx, GetBitContext *gb, int channel, int *last) |
static int | wv_get_value_integer (WavpackFrameContext *s, uint32_t *crc, unsigned S) |
static float | wv_get_value_float (WavpackFrameContext *s, uint32_t *crc, int S) |
static int | wv_check_crc (WavpackFrameContext *s, uint32_t crc, uint32_t crc_extra_bits) |
static void | init_ptable (int *table, int rate_i, int rate_s) |
static int | wv_unpack_dsd_high (WavpackFrameContext *s, uint8_t *dst_left, uint8_t *dst_right) |
static int | wv_unpack_dsd_fast (WavpackFrameContext *s, uint8_t *dst_left, uint8_t *dst_right) |
static int | wv_unpack_dsd_copy (WavpackFrameContext *s, uint8_t *dst_left, uint8_t *dst_right) |
static int | wv_unpack_stereo (WavpackFrameContext *s, GetBitContext *gb, void *dst_l, void *dst_r, const int type) |
static int | wv_unpack_mono (WavpackFrameContext *s, GetBitContext *gb, void *dst, const int type) |
static av_cold int | wv_alloc_frame_context (WavpackContext *c) |
static int | wv_dsd_reset (WavpackContext *s, int channels) |
static av_cold int | wavpack_decode_init (AVCodecContext *avctx) |
static av_cold int | wavpack_decode_end (AVCodecContext *avctx) |
static int | wavpack_decode_block (AVCodecContext *avctx, AVFrame *frame, int block_no, const uint8_t *buf, int buf_size, int *new_progress) |
static void | wavpack_decode_flush (AVCodecContext *avctx) |
static int | dsd_channel (AVCodecContext *avctx, void *frmptr, int jobnr, int threadnr) |
static int | wavpack_decode_frame (AVCodecContext *avctx, AVFrame *frame, int *got_frame_ptr, AVPacket *avpkt) |
Variables | |
const FFCodec | ff_wavpack_decoder |
WavPack lossless audio decoder
Definition in file wavpack.c.
#define PTABLE_BINS (1<<PTABLE_BITS) |
#define PTABLE_MASK (PTABLE_BINS-1) |
#define MAX_HISTORY_BINS (1 << MAX_HISTORY_BITS) |
enum Modulation |
|
static |
Definition at line 119 of file wavpack.c.
Referenced by wv_get_value().
|
static |
Definition at line 133 of file wavpack.c.
Referenced by wv_get_value().
|
static |
Definition at line 171 of file wavpack.c.
Referenced by wv_unpack_mono(), and wv_unpack_stereo().
|
inlinestatic |
Definition at line 297 of file wavpack.c.
Referenced by wv_unpack_mono(), and wv_unpack_stereo().
|
static |
Definition at line 321 of file wavpack.c.
Referenced by wv_unpack_mono(), and wv_unpack_stereo().
|
inlinestatic |
Definition at line 395 of file wavpack.c.
Referenced by wv_unpack_dsd_copy(), wv_unpack_dsd_fast(), wv_unpack_dsd_high(), wv_unpack_mono(), and wv_unpack_stereo().
|
static |
Definition at line 410 of file wavpack.c.
Referenced by wv_unpack_dsd_high().
|
static |
Definition at line 435 of file wavpack.c.
Referenced by wavpack_decode_block().
|
static |
Definition at line 578 of file wavpack.c.
Referenced by wavpack_decode_block().
|
static |
Definition at line 739 of file wavpack.c.
Referenced by wavpack_decode_block().
|
inlinestatic |
Definition at line 771 of file wavpack.c.
Referenced by wavpack_decode_block().
|
inlinestatic |
Definition at line 904 of file wavpack.c.
Referenced by wavpack_decode_block().
|
static |
Definition at line 973 of file wavpack.c.
Referenced by wavpack_decode_block().
|
static |
Definition at line 990 of file wavpack.c.
Referenced by wavpack_decode_block(), wavpack_decode_end(), and wavpack_decode_flush().
|
static |
|
static |
|
static |
Definition at line 1089 of file wavpack.c.
Referenced by wavpack_decode_frame().
|
static |
|
static |
Definition at line 1621 of file wavpack.c.
Referenced by wavpack_decode_frame().
|
static |
const FFCodec ff_wavpack_decoder |