28 #define SHR(a,b)       ((a)>>(b)) 
   30 #define FIXR_OLD(a)    ((int)((a) * FRAC_ONE + 0.5)) 
   31 #define FIXR(a)        ((int)((a) * FRAC_ONE + 0.5)) 
   32 #define FIXHR(a)       ((int)((a) * (1LL<<32) + 0.5)) 
   33 #define MULH3(x, y, s) MULH((s)*(x), y) 
   34 #define MULLx(x, y, s) MULL(x,y,s) 
   35 #define RENAME(a)      a ## _fixed 
   36 #define OUT_FMT   AV_SAMPLE_FMT_S16 
   37 #define OUT_FMT_P AV_SAMPLE_FMT_S16P 
   41 #if CONFIG_MP1_DECODER 
   57 #if CONFIG_MP2_DECODER 
   73 #if CONFIG_MP3_DECODER 
   89 #if CONFIG_MP3ADU_DECODER 
   97     .
decode         = decode_frame_adu,
 
  105 #if CONFIG_MP3ON4_DECODER 
  111     .priv_data_size = 
sizeof(MP3On4DecodeContext),
 
  112     .
init           = decode_init_mp3on4,
 
  113     .close          = decode_close_mp3on4,
 
  114     .
decode         = decode_frame_mp3on4,
 
  116     .
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 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[]