29 int max_frames, first_frames = 0,
frames;
39 for(; buf <
end; buf++) {
40 if(buf > p->
buf && !(buf[0] == 0x0B && buf[1] == 0x77)
41 && !(buf[0] == 0x77 && buf[1] == 0x0B) )
48 if(!memcmp(buf2,
"\x1\x10\0\0\0\0\0\0", 8))
50 if (buf[0] == 0x77 && buf[1] == 0x0B) {
62 if (buf[0] == 0x77 && buf[1] == 0x0B) {
80 if(codec_id != expected_codec_id)
return 0;
86 else if(max_frames>=1)
return 1;
90 #if CONFIG_AC3_DEMUXER
99 .read_probe = ac3_probe,
108 #if CONFIG_EAC3_DEMUXER
117 .read_probe = eac3_probe,
121 .extensions =
"eac3",
#define av_assert0(cond)
assert() equivalent, that is always enabled.
static av_cold int end(AVCodecContext *avctx)
AVCodecID
Identify the syntax and semantics of the bitstream.
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
int buf_size
Size of buf except extra allocated bytes.
unsigned char * buf
Buffer must have AVPROBE_PADDING_SIZE of extra allocated bytes filled with zero.
uint32_t av_crc(const AVCRC *ctx, uint32_t crc, const uint8_t *buffer, size_t length)
Calculate the CRC of a block.
static int init_get_bits(GetBitContext *s, const uint8_t *buffer, int bit_size)
Initialize GetBitContext.
This structure contains the data a format has to probe a file.
const AVCRC * av_crc_get_table(AVCRCId crc_id)
Get an initialized standard CRC table.
int avpriv_ac3_parse_header(GetBitContext *gbc, AC3HeaderInfo **phdr)
Parse AC-3 frame header.