Luca Barbato <[email protected]> writes: > On 24/11/11 11:26, Anton Khirnov wrote: >> From: Michael Niedermayer<[email protected]> >> >> Signed-off-by: Anton Khirnov<[email protected]> >> --- >> libavformat/mpegvideodec.c | 8 ++++---- >> 1 files changed, 4 insertions(+), 4 deletions(-) >> >> diff --git a/libavformat/mpegvideodec.c b/libavformat/mpegvideodec.c >> index 9fea117..7d44cc8 100644 >> --- a/libavformat/mpegvideodec.c >> +++ b/libavformat/mpegvideodec.c >> @@ -34,7 +34,7 @@ >> static int mpegvideo_probe(AVProbeData *p) >> { >> uint32_t code= -1; >> - int pic=0, seq=0, slice=0, pspack=0, pes=0; >> + int pic = 0, seq = 0, slice = 0, pspack = 0, vpes = 0, apes = 0; >> int i; >> >> for(i=0; i<p->buf_size; i++){ >> @@ -46,11 +46,11 @@ static int mpegvideo_probe(AVProbeData *p) >> case SLICE_START_CODE: slice++; break; >> case PACK_START_CODE: pspack++; break; >> } >> - if ((code& 0x1f0) == VIDEO_ID) pes++; >> - else if((code& 0x1e0) == AUDIO_ID) pes++; >> + if ((code& 0x1f0) == VIDEO_ID) vpes++; >> + else if((code& 0x1e0) == AUDIO_ID) apes++; >> } >> } >> - if(seq&& seq*9<=pic*10&& pic*9<=slice*10&& !pspack&& !pes) >> + if(seq&& seq*9<=pic*10&& pic*9<=slice*10&& !pspack&& !apes&& !vpes) >> return pic>1 ? AVPROBE_SCORE_MAX/2+1 : AVPROBE_SCORE_MAX/4; // +1 >> for .mpg >> return 0; >> } > > Why? Is audio mandatory?
This function is supposed to detect raw MPEG1/2 video. As such, it needs to drop the score if PES headers are seen. For that purpose, separating audio and video is pointless. -- Måns Rullgård [email protected] _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
