Browse Source

Detect IDR less H.264 correctly.

Fixes maybeH264_dumpvideo

Originally committed as revision 14424 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Michael Niedermayer 17 years ago
parent
commit
01037451f9
1 changed files with 3 additions and 2 deletions
  1. +3
    -2
      libavformat/raw.c

+ 3
- 2
libavformat/raw.c View File

@@ -350,7 +350,7 @@ static int mpeg4video_probe(AVProbeData *probe_packet)
static int h264_probe(AVProbeData *p)
{
uint32_t code= -1;
int sps=0, pps=0, idr=0, res=0;
int sps=0, pps=0, idr=0, res=0, sli=0;
int i;

for(i=0; i<p->buf_size; i++){
@@ -376,6 +376,7 @@ static int h264_probe(AVProbeData *p)
res++;

switch(type){
case 1: sli++; break;
case 5: idr++; break;
case 7:
if(p->buf[i+2]&0x0F)
@@ -386,7 +387,7 @@ static int h264_probe(AVProbeData *p)
}
}
}
if(sps && pps && idr && res<(sps+pps+idr))
if(sps && pps && (idr||sli>3) && res<(sps+pps+idr))
return AVPROBE_SCORE_MAX/2+1; // +1 for .mpg
return 0;
}


Loading…
Cancel
Save