29 #define SHR(a,b) ((a)*(1.0f/(1<<(b))))
30 #define FIXR_OLD(a) ((int)((a) * FRAC_ONE + 0.5))
31 #define FIXR(x) ((float)(x))
32 #define FIXHR(x) ((float)(x))
33 #define MULH3(x, y, s) ((s)*(y)*(x))
34 #define MULLx(x, y, s) ((y)*(x))
35 #define RENAME(a) a ## _float
36 #define OUT_FMT AV_SAMPLE_FMT_FLT
37 #define OUT_FMT_P AV_SAMPLE_FMT_FLTP
41 #if CONFIG_MP1FLOAT_DECODER
58 #if CONFIG_MP2FLOAT_DECODER
75 #if CONFIG_MP3FLOAT_DECODER
92 #if CONFIG_MP3ADUFLOAT_DECODER
93 AVCodec ff_mp3adufloat_decoder = {
94 .
name =
"mp3adufloat",
101 .
decode = decode_frame_adu,
109 #if CONFIG_MP3ON4FLOAT_DECODER
110 AVCodec ff_mp3on4float_decoder = {
111 .
name =
"mp3on4float",
115 .priv_data_size =
sizeof(MP3On4DecodeContext),
116 .
init = decode_init_mp3on4,
117 .close = decode_close_mp3on4,
118 .
decode = decode_frame_mp3on4,
120 .
flush = flush_mp3on4,
static av_cold int init(AVCodecContext *avctx)
#define CODEC_CAP_DR1
Codec uses get_buffer() for allocating buffers and supports custom allocators.
static av_cold int decode_init(AVCodecContext *avctx)
static av_cold int decode_close(AVCodecContext *avctx)
static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt)
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
preferred ID for decoding MPEG audio layer 1, 2 or 3
const char * name
Name of the codec implementation.
static void flush(AVCodecContext *avctx)
AVSampleFormat
Audio sample formats.
static int decode(AVCodecContext *avctx, void *data, int *got_sub, AVPacket *avpkt)
mpeg audio declarations for both encoder and decoder.
static enum AVSampleFormat sample_fmts[]