|
FFmpeg
|
PCM codecs. More...
#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 | ENCODE(type, endian, src, dst, n, shift, offset) |
| Write PCM samples macro. | |
| #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. | |
| #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) |
| #define | PCM_ENCODER_3(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) |
| #define | PCM_DECODER_3(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) |
| #define | PCM_CODEC(id, sample_fmt_, name, long_name_) |
| #define | PCM_CODEC_EXT(id, sample_fmt, name, long_name, DecContext, dec_init_func) |
Functions | |
| av_unused static av_cold int | pcm_encode_init (AVCodecContext *avctx) |
| static av_unused int | pcm_encode_frame (AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr) |
| av_unused static av_cold int | pcm_decode_init (AVCodecContext *avctx) |
| av_unused static av_cold int | pcm_scale_decode_init (AVCodecContext *avctx) |
| av_unused static av_cold 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 |
Definition at line 88 of file pcm.c.
Referenced by main(), and pcm_encode_frame().
Definition at line 95 of file pcm.c.
Referenced by pcm_encode_frame().
| #define ENTRY | ( | CODEC_ID, | |
| SAMPLE_FMT, | |||
| BITS_PER_SAMPLE ) |
Referenced by pcm_decode_init().
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 |
Definition at line 384 of file pcm.c.
Referenced by main(), and pcm_decode_frame().
Definition at line 391 of file pcm.c.
Referenced by pcm_decode_frame().
| #define PCM_ENCODER_1 | ( | id_, | |
| sample_fmt_, | |||
| name_, | |||
| long_name_ ) |
| #define PCM_DECODER_1 | ( | id_, | |
| sample_fmt, | |||
| name_, | |||
| long_name, | |||
| Context, | |||
| init_func ) |
|
static |
|
static |
|
static |
|
static |
Definition at line 315 of file pcm.c.
Referenced by PCM_DEC_EXT(), and PCM_DEC_EXT().
|
static |
Definition at line 341 of file pcm.c.
Referenced by PCM_CODEC_EXT(), PCM_CODEC_EXT(), and PCM_CODEC_EXT().
|
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_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" | ) |