FFmpeg
|
#include "config.h"
#include "config_components.h"
#include "libavutil/attributes.h"
#include "libavutil/float_dsp.h"
#include "libavutil/mem.h"
#include "libavutil/reverse.h"
#include "libavutil/thread.h"
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
#include "encode.h"
#include "pcm_tablegen.h"
Go to the source code of this file.
Data Structures | |
struct | PCMDecode |
struct | PCMScaleDecode |
struct | PCMLUTDecode |
Macros | |
#define | INIT_ONCE(id, name) |
#define | ENCODE(type, endian, src, dst, n, shift, offset) |
Write PCM samples macro. More... | |
#define | ENCODE_PLANAR(type, endian, dst, n, shift, offset) |
#define | ENTRY(CODEC_ID, SAMPLE_FMT, BITS_PER_SAMPLE) |
#define | DECODE(size, endian, src, dst, n, shift, offset) |
Read PCM samples macro. More... | |
#define | DECODE_PLANAR(size, endian, src, dst, n, shift, offset) |
#define | PCM_ENCODER_0(id_, sample_fmt_, name_, long_name_) |
#define | PCM_ENCODER_1(id_, sample_fmt_, name_, long_name_) |
#define | PCM_ENCODER_2(cf, id, sample_fmt, name, long_name) PCM_ENCODER_ ## cf(id, sample_fmt, name, long_name) |
#define | PCM_ENCODER_3(cf, id, sample_fmt, name, long_name) PCM_ENCODER_2(cf, id, sample_fmt, name, long_name) |
#define | PCM_ENCODER(id, sample_fmt, name, long_name) |
#define | PCM_DECODER_0(id, sample_fmt, name, long_name, Context, init_func) |
#define | PCM_DECODER_1(id_, sample_fmt, name_, long_name, Context, init_func) |
#define | PCM_DECODER_2(cf, id, sample_fmt, name, long_name, Context, init_func) PCM_DECODER_ ## cf(id, sample_fmt, name, long_name, Context, init_func) |
#define | PCM_DECODER_3(cf, id, sample_fmt, name, long_name, Context, init_func) PCM_DECODER_2(cf, id, sample_fmt, name, long_name, Context, init_func) |
#define | PCM_DEC_EXT(id, sample_fmt, name, long_name, Context, init_func) |
#define | PCM_DECODER(id, sample_fmt, name, long_name) PCM_DEC_EXT(id, sample_fmt, name, long_name, PCMDecode, pcm_decode_init) |
#define | PCM_CODEC(id, sample_fmt_, name, long_name_) |
#define | PCM_CODEC_EXT(id, sample_fmt, name, long_name, DecContext, dec_init_func) |
Functions | |
static av_cold int | pcm_encode_init (AVCodecContext *avctx) |
static int | pcm_encode_frame (AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr) |
static av_cold av_unused int | pcm_decode_init (AVCodecContext *avctx) |
static av_cold av_unused int | pcm_scale_decode_init (AVCodecContext *avctx) |
static av_cold av_unused int | pcm_lut_decode_init (AVCodecContext *avctx) |
static int | pcm_decode_frame (AVCodecContext *avctx, AVFrame *frame, int *got_frame_ptr, AVPacket *avpkt) |
PCM_CODEC_EXT (ALAW, S16, alaw, "PCM A-law / G.711 A-law", PCMLUTDecode, pcm_lut_decode_init) | |
PCM_DEC_EXT (F16LE, FLT, f16le, "PCM 16.8 floating point little-endian", PCMScaleDecode, pcm_scale_decode_init) | |
PCM_DEC_EXT (F24LE, FLT, f24le, "PCM 24.0 floating point little-endian", PCMScaleDecode, pcm_scale_decode_init) | |
PCM_CODEC (F32BE, FLT, f32be, "PCM 32-bit floating point big-endian") | |
PCM_CODEC (F32LE, FLT, f32le, "PCM 32-bit floating point little-endian") | |
PCM_CODEC (F64BE, DBL, f64be, "PCM 64-bit floating point big-endian") | |
PCM_CODEC (F64LE, DBL, f64le, "PCM 64-bit floating point little-endian") | |
PCM_DECODER (LXF, S32P, lxf, "PCM signed 20-bit little-endian planar") | |
PCM_CODEC_EXT (MULAW, S16, mulaw, "PCM mu-law / G.711 mu-law", PCMLUTDecode, pcm_lut_decode_init) | |
PCM_CODEC (S8, U8, s8, "PCM signed 8-bit") | |
PCM_CODEC (S8_PLANAR, U8P, s8_planar, "PCM signed 8-bit planar") | |
PCM_CODEC (S16BE, S16, s16be, "PCM signed 16-bit big-endian") | |
PCM_CODEC (S16BE_PLANAR, S16P, s16be_planar, "PCM signed 16-bit big-endian planar") | |
PCM_CODEC (S16LE, S16, s16le, "PCM signed 16-bit little-endian") | |
PCM_CODEC (S16LE_PLANAR, S16P, s16le_planar, "PCM signed 16-bit little-endian planar") | |
PCM_CODEC (S24BE, S32, s24be, "PCM signed 24-bit big-endian") | |
PCM_CODEC (S24DAUD, S16, s24daud, "PCM D-Cinema audio signed 24-bit") | |
PCM_CODEC (S24LE, S32, s24le, "PCM signed 24-bit little-endian") | |
PCM_CODEC (S24LE_PLANAR, S32P, s24le_planar, "PCM signed 24-bit little-endian planar") | |
PCM_CODEC (S32BE, S32, s32be, "PCM signed 32-bit big-endian") | |
PCM_CODEC (S32LE, S32, s32le, "PCM signed 32-bit little-endian") | |
PCM_CODEC (S32LE_PLANAR, S32P, s32le_planar, "PCM signed 32-bit little-endian planar") | |
PCM_CODEC (U8, U8, u8, "PCM unsigned 8-bit") | |
PCM_CODEC (U16BE, S16, u16be, "PCM unsigned 16-bit big-endian") | |
PCM_CODEC (U16LE, S16, u16le, "PCM unsigned 16-bit little-endian") | |
PCM_CODEC (U24BE, S32, u24be, "PCM unsigned 24-bit big-endian") | |
PCM_CODEC (U24LE, S32, u24le, "PCM unsigned 24-bit little-endian") | |
PCM_CODEC (U32BE, S32, u32be, "PCM unsigned 32-bit big-endian") | |
PCM_CODEC (U32LE, S32, u32le, "PCM unsigned 32-bit little-endian") | |
PCM_CODEC (S64BE, S64, s64be, "PCM signed 64-bit big-endian") | |
PCM_CODEC (S64LE, S64, s64le, "PCM signed 64-bit little-endian") | |
PCM_CODEC_EXT (VIDC, S16, vidc, "PCM Archimedes VIDC", PCMLUTDecode, pcm_lut_decode_init) | |
PCM_DECODER (SGA, U8, sga, "PCM SGA") | |
PCM codecs
Definition in file pcm.c.
Write PCM samples macro.
type | Datatype of native machine format |
endian | bytestream_put_xxx() suffix |
src | Source pointer (variable name) |
dst | Destination pointer (variable name) |
n | Total number of samples (variable name) |
shift | Bitshift (bits) |
offset | Sample value offset |
#define ENTRY | ( | CODEC_ID, | |
SAMPLE_FMT, | |||
BITS_PER_SAMPLE | |||
) |
Read PCM samples macro.
size | Data size of native machine format |
endian | bytestream_get_xxx() endian suffix |
src | Source pointer (variable name) |
dst | Destination pointer (variable name) |
n | Total number of samples (variable name) |
shift | Bitshift (bits) |
offset | Sample value offset |
#define PCM_ENCODER_1 | ( | id_, | |
sample_fmt_, | |||
name_, | |||
long_name_ | |||
) |
#define PCM_ENCODER_3 | ( | cf, | |
id, | |||
sample_fmt, | |||
name, | |||
long_name | |||
) | PCM_ENCODER_2(cf, id, sample_fmt, name, long_name) |
#define PCM_DECODER_1 | ( | id_, | |
sample_fmt, | |||
name_, | |||
long_name, | |||
Context, | |||
init_func | |||
) |
#define PCM_DECODER_3 | ( | cf, | |
id, | |||
sample_fmt, | |||
name, | |||
long_name, | |||
Context, | |||
init_func | |||
) | PCM_DECODER_2(cf, id, sample_fmt, name, long_name, Context, init_func) |
#define PCM_DECODER | ( | id, | |
sample_fmt, | |||
name, | |||
long_name | |||
) | PCM_DEC_EXT(id, sample_fmt, name, long_name, PCMDecode, pcm_decode_init) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
PCM_CODEC_EXT | ( | ALAW | , |
S16 | , | ||
alaw | , | ||
"PCM A-law / G.711 A-law" | , | ||
PCMLUTDecode | , | ||
pcm_lut_decode_init | |||
) |
PCM_DEC_EXT | ( | F16LE | , |
FLT | , | ||
f16le | , | ||
"PCM 16.8 floating point little-endian" | , | ||
PCMScaleDecode | , | ||
pcm_scale_decode_init | |||
) |
PCM_DEC_EXT | ( | F24LE | , |
FLT | , | ||
f24le | , | ||
"PCM 24.0 floating point little-endian" | , | ||
PCMScaleDecode | , | ||
pcm_scale_decode_init | |||
) |
PCM_CODEC | ( | F32BE | , |
FLT | , | ||
f32be | , | ||
"PCM 32-bit floating point big-endian" | |||
) |
PCM_CODEC | ( | F32LE | , |
FLT | , | ||
f32le | , | ||
"PCM 32-bit floating point little-endian" | |||
) |
PCM_CODEC | ( | F64BE | , |
DBL | , | ||
f64be | , | ||
"PCM 64-bit floating point big-endian" | |||
) |
PCM_CODEC | ( | F64LE | , |
DBL | , | ||
f64le | , | ||
"PCM 64-bit floating point little-endian" | |||
) |
PCM_CODEC_EXT | ( | MULAW | , |
S16 | , | ||
mulaw | , | ||
"PCM mu-law / G.711 mu-law" | , | ||
PCMLUTDecode | , | ||
pcm_lut_decode_init | |||
) |
PCM_CODEC | ( | S16BE | , |
S16 | , | ||
s16be | , | ||
"PCM signed 16-bit big-endian" | |||
) |
PCM_CODEC | ( | S16LE | , |
S16 | , | ||
s16le | , | ||
"PCM signed 16-bit little-endian" | |||
) |
PCM_CODEC | ( | S24BE | , |
S32 | , | ||
s24be | , | ||
"PCM signed 24-bit big-endian" | |||
) |
PCM_CODEC | ( | S24LE | , |
S32 | , | ||
s24le | , | ||
"PCM signed 24-bit little-endian" | |||
) |
PCM_CODEC | ( | S32BE | , |
S32 | , | ||
s32be | , | ||
"PCM signed 32-bit big-endian" | |||
) |
PCM_CODEC | ( | S32LE | , |
S32 | , | ||
s32le | , | ||
"PCM signed 32-bit little-endian" | |||
) |
PCM_CODEC | ( | U8 | , |
U8 | , | ||
u8 | , | ||
"PCM unsigned 8-bit" | |||
) |
PCM_CODEC | ( | U16BE | , |
S16 | , | ||
u16be | , | ||
"PCM unsigned 16-bit big-endian" | |||
) |
PCM_CODEC | ( | U16LE | , |
S16 | , | ||
u16le | , | ||
"PCM unsigned 16-bit little-endian" | |||
) |
PCM_CODEC | ( | U24BE | , |
S32 | , | ||
u24be | , | ||
"PCM unsigned 24-bit big-endian" | |||
) |
PCM_CODEC | ( | U24LE | , |
S32 | , | ||
u24le | , | ||
"PCM unsigned 24-bit little-endian" | |||
) |
PCM_CODEC | ( | U32BE | , |
S32 | , | ||
u32be | , | ||
"PCM unsigned 32-bit big-endian" | |||
) |
PCM_CODEC | ( | U32LE | , |
S32 | , | ||
u32le | , | ||
"PCM unsigned 32-bit little-endian" | |||
) |
PCM_CODEC | ( | S64BE | , |
S64 | , | ||
s64be | , | ||
"PCM signed 64-bit big-endian" | |||
) |
PCM_CODEC | ( | S64LE | , |
S64 | , | ||
s64le | , | ||
"PCM signed 64-bit little-endian" | |||
) |
PCM_CODEC_EXT | ( | VIDC | , |
S16 | , | ||
vidc | , | ||
"PCM Archimedes VIDC" | , | ||
PCMLUTDecode | , | ||
pcm_lut_decode_init | |||
) |
PCM_DECODER | ( | SGA | , |
U8 | , | ||
sga | , | ||
"PCM SGA" | |||
) |