Flip the comparission direction of vid+audio+priv1 and pspack, it appears to have
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 8 Dec 2009 12:19:30 +0000 (12:19 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 8 Dec 2009 12:19:30 +0000 (12:19 +0000)
been wrong.
Fixes issue1571.

Originally committed as revision 20762 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/mpeg.c

index ad46467..817fe12 100644 (file)
@@ -79,7 +79,7 @@ static int mpegps_probe(AVProbeData *p)
 //av_log(NULL, AV_LOG_ERROR, "%d %d %d %d %d len:%d\n", sys, priv1, pspack,vid, audio, p->buf_size);
     if(sys>invalid && sys*9 <= pspack*10)
         return pspack > 2 ? AVPROBE_SCORE_MAX/2+2 : AVPROBE_SCORE_MAX/4; // +1 for .mpg
-    if(priv1 + vid + audio > invalid && (priv1+vid+audio)*9 <= pspack*10)
+    if(pspack > invalid && (priv1+vid+audio)*10 >= pspack*9)
         return pspack > 2 ? AVPROBE_SCORE_MAX/2+2 : AVPROBE_SCORE_MAX/4; // +1 for .mpg
     if((!!vid ^ !!audio) && (audio > 4 || vid > 1) && !sys && !pspack && p->buf_size>2048 && vid + audio > invalid) /* PES stream */
         return (audio > 12 || vid > 3) ? AVPROBE_SCORE_MAX/2+2 : AVPROBE_SCORE_MAX/4;