From: Michael Niedermayer Date: Sat, 11 Feb 2006 09:27:00 +0000 (+0000) Subject: mpeg-ps probe 2nd try X-Git-Tag: v0.5~13175 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0b2bb3543fabd38d6c98d5678dc4098ec5c37dec;p=platform%2Fupstream%2Flibav.git mpeg-ps probe 2nd try Originally committed as revision 4974 to svn://svn.ffmpeg.org/ffmpeg/trunk --- diff --git a/libavformat/mpeg.c b/libavformat/mpeg.c index b45dca0..2474a37 100644 --- a/libavformat/mpeg.c +++ b/libavformat/mpeg.c @@ -1263,7 +1263,7 @@ static int mpeg_mux_end(AVFormatContext *ctx) static int mpegps_probe(AVProbeData *p) { uint32_t code= -1; - int sys=0, pspack=0; + int sys=0, pspack=0, priv1=0, vid=0; int i; for(i=0; ibuf_size; i++){ @@ -1271,12 +1271,16 @@ static int mpegps_probe(AVProbeData *p) if ((code & 0xffffff00) == 0x100) { switch(code){ case SYSTEM_HEADER_START_CODE: sys++; break; + case PRIVATE_STREAM_1: priv1++; break; case PACK_START_CODE: pspack++; break; + case (VIDEO_ID + 0x100): vid++; break; } } } if(sys && sys*9 <= pspack*10) return AVPROBE_SCORE_MAX/2+2; // +1 for .mpg + if((priv1 || vid) && (priv1+vid)*9 <= pspack*10) + return AVPROBE_SCORE_MAX/2+2; // +1 for .mpg return 0; }