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

Reply via email to