FFmpeg
|
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
#include "mathops.h"
Go to the source code of this file.
Data Structures | |
struct | DPCMContext |
Macros | |
#define | DPCM_DECODER(id_, name_, long_name_) |
Functions | |
static av_cold int | dpcm_decode_init (AVCodecContext *avctx) |
static int | dpcm_decode_frame (AVCodecContext *avctx, AVFrame *frame, int *got_frame_ptr, AVPacket *avpkt) |
static void | dpcm_flush (AVCodecContext *avctx) |
DPCM_DECODER (AV_CODEC_ID_CBD2_DPCM, cbd2_dpcm, "DPCM Cuberoot-Delta-Exact") | |
DPCM_DECODER (AV_CODEC_ID_DERF_DPCM, derf_dpcm, "DPCM Xilam DERF") | |
DPCM_DECODER (AV_CODEC_ID_GREMLIN_DPCM, gremlin_dpcm, "DPCM Gremlin") | |
DPCM_DECODER (AV_CODEC_ID_INTERPLAY_DPCM, interplay_dpcm, "DPCM Interplay") | |
DPCM_DECODER (AV_CODEC_ID_ROQ_DPCM, roq_dpcm, "DPCM id RoQ") | |
DPCM_DECODER (AV_CODEC_ID_SDX2_DPCM, sdx2_dpcm, "DPCM Squareroot-Delta-Exact") | |
DPCM_DECODER (AV_CODEC_ID_SOL_DPCM, sol_dpcm, "DPCM Sol") | |
DPCM_DECODER (AV_CODEC_ID_XAN_DPCM, xan_dpcm, "DPCM Xan") | |
DPCM_DECODER (AV_CODEC_ID_WADY_DPCM, wady_dpcm, "DPCM Marble WADY") | |
Variables | |
static const int32_t | derf_steps [96] |
static const int16_t | interplay_delta_table [] |
static const int8_t | sol_table_old [16] |
static const int8_t | sol_table_new [16] |
static const int16_t | sol_table_16 [128] |
static const int16_t | wady_table [128] |
Assorted DPCM (differential pulse code modulation) audio codecs by Mike Melanson (melan) Xan DPCM decoder by Mario Brito ( son@ pcisy s.ne tmbrit) for more information on the specific data formats, visit: o@st udent .dei .uc.p thttp://www.pcisys.net/~melanson/codecs/simpleaudio.html SOL DPCMs implemented by Konstantin Shishkov
Note about using the Xan DPCM decoder: Xan DPCM is used in AVI files found in the Wing Commander IV computer game. These AVI files contain WAVEFORMAT headers which report the audio format as 0x01: raw PCM. Clearly incorrect. To detect Xan DPCM, you will probably have to special-case your AVI demuxer to use Xan DPCM if the file uses 'Xxan' (Xan video) for its video codec. Alternately, such AVI files also contain the fourcc 'Axan' in the 'auds' chunk of the AVI header.
Definition in file dpcm.c.
#define DPCM_DECODER | ( | id_, | |
name_, | |||
long_name_ | |||
) |
|
static |
|
static |
|
static |
DPCM_DECODER | ( | AV_CODEC_ID_CBD2_DPCM | , |
cbd2_dpcm | , | ||
"DPCM Cuberoot-Delta-Exact" | |||
) |
DPCM_DECODER | ( | AV_CODEC_ID_DERF_DPCM | , |
derf_dpcm | , | ||
"DPCM Xilam DERF" | |||
) |
DPCM_DECODER | ( | AV_CODEC_ID_GREMLIN_DPCM | , |
gremlin_dpcm | , | ||
"DPCM Gremlin" | |||
) |
DPCM_DECODER | ( | AV_CODEC_ID_INTERPLAY_DPCM | , |
interplay_dpcm | , | ||
"DPCM Interplay" | |||
) |
DPCM_DECODER | ( | AV_CODEC_ID_ROQ_DPCM | , |
roq_dpcm | , | ||
"DPCM id RoQ" | |||
) |
DPCM_DECODER | ( | AV_CODEC_ID_SDX2_DPCM | , |
sdx2_dpcm | , | ||
"DPCM Squareroot-Delta-Exact" | |||
) |
DPCM_DECODER | ( | AV_CODEC_ID_SOL_DPCM | , |
sol_dpcm | , | ||
"DPCM Sol" | |||
) |
DPCM_DECODER | ( | AV_CODEC_ID_XAN_DPCM | , |
xan_dpcm | , | ||
"DPCM Xan" | |||
) |
DPCM_DECODER | ( | AV_CODEC_ID_WADY_DPCM | , |
wady_dpcm | , | ||
"DPCM Marble WADY" | |||
) |
|
static |
Definition at line 53 of file dpcm.c.
Referenced by dpcm_decode_frame().
|
static |
Definition at line 68 of file dpcm.c.
Referenced by dpcm_decode_frame().
|
static |
Definition at line 104 of file dpcm.c.
Referenced by dpcm_decode_init().
|
static |
Definition at line 109 of file dpcm.c.
Referenced by dpcm_decode_init().
|
static |
Definition at line 114 of file dpcm.c.
Referenced by dpcm_decode_frame().
|
static |
Definition at line 130 of file dpcm.c.
Referenced by dpcm_decode_frame().