28 #define SEQ_START_CODE 0x000001b3
29 #define GOP_START_CODE 0x000001b8
30 #define PICTURE_START_CODE 0x00000100
31 #define SLICE_START_CODE 0x00000101
32 #define PACK_START_CODE 0x000001ba
33 #define VIDEO_ID 0x000001e0
34 #define AUDIO_ID 0x000001c0
39 int pic=0, seq=0, slice=0, pspack=0, vpes=0, apes=0, res=0, sicle=0;
44 code = (code<<8) + p->
buf[i];
45 if ((code & 0xffffff00) == 0x100) {
48 if (!(p->
buf[i+1+3+1+2] & 0x20))
70 if (code >= last) slice++;
77 if ((code & 0x1f0) ==
VIDEO_ID) vpes++;
78 else if((code & 0x1e0) ==
AUDIO_ID) apes++;
82 if(seq && seq*9<=pic*10 && pic*9<=slice*10 && !pspack && !apes && !res && slice > sicle) {
#define FF_DEF_RAWVIDEO_DEMUXER(shortname, longname, probe, ext, id)
#define PICTURE_START_CODE
static int mpegvideo_probe(AVProbeData *p)
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.
This structure contains the data a format has to probe a file.