Commit cb66b34b authored by michael's avatar michael

Detect IDR less H.264 correctly.

Fixes maybeH264_dumpvideo


git-svn-id: file:///var/local/repositories/ffmpeg/trunk@14424 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent 588c3470
...@@ -350,7 +350,7 @@ static int mpeg4video_probe(AVProbeData *probe_packet) ...@@ -350,7 +350,7 @@ static int mpeg4video_probe(AVProbeData *probe_packet)
static int h264_probe(AVProbeData *p) static int h264_probe(AVProbeData *p)
{ {
uint32_t code= -1; 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; int i;
for(i=0; i<p->buf_size; i++){ for(i=0; i<p->buf_size; i++){
...@@ -376,6 +376,7 @@ static int h264_probe(AVProbeData *p) ...@@ -376,6 +376,7 @@ static int h264_probe(AVProbeData *p)
res++; res++;
switch(type){ switch(type){
case 1: sli++; break;
case 5: idr++; break; case 5: idr++; break;
case 7: case 7:
if(p->buf[i+2]&0x0F) if(p->buf[i+2]&0x0F)
...@@ -386,7 +387,7 @@ static int h264_probe(AVProbeData *p) ...@@ -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 AVPROBE_SCORE_MAX/2+1; // +1 for .mpg
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment