37 #define MPA_HEADER_SIZE 4
40 #define SAME_HEADER_MASK \
41 (0xffe00000 | (3 << 17) | (3 << 10) | (3 << 19))
45 const uint8_t **poutbuf,
int *poutbuf_size,
46 const uint8_t *buf,
int buf_size)
53 int flush = !buf_size;
55 for(
i=0;
i<buf_size; ){
57 int inc=
FFMIN(buf_size -
i,
s->frame_size);
83 s->frame_size = ret-4;
85 if (
s->header_count > header_threshold) {
92 avctx->
bit_rate += (bit_rate - avctx->
bit_rate) / (
s->header_count - header_threshold);
101 "MP3ADU full parser");
133 *poutbuf_size = buf_size;
static void flush(AVCodecContext *avctx)
#define APE_TAG_FOOTER_BYTES
#define PARSER_FLAG_COMPLETE_FRAMES
common internal and external API header
AVCodecID
Identify the syntax and semantics of the bitstream.
@ AV_CODEC_ID_MP3
preferred ID for decoding MPEG audio layer 1, 2 or 3
void avpriv_report_missing_feature(void *avc, const char *msg,...) av_printf_format(2
Log a generic warning message about a missing feature.
static int mpegaudio_parse(AVCodecParserContext *s1, AVCodecContext *avctx, const uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size)
AVCodecParser ff_mpegaudio_parser
int ff_combine_frame(ParseContext *pc, int next, const uint8_t **buf, int *buf_size)
Combine the (truncated) bitstream to a complete frame.
void ff_parse_close(AVCodecParserContext *s)
main external API structure.
int64_t bit_rate
the average bitrate
int sample_rate
samples per second
int channels
number of audio channels
uint32_t state
contains the last few bytes in MSB order