diff --git a/libavformat/raw.c b/libavformat/raw.c index 0a188cf25c54b3b2a0b444d10bf1ed454eaab5e1..0c83c429ba3cbff5e16b03c02f1d6f9832025d2e 100644 --- a/libavformat/raw.c +++ b/libavformat/raw.c @@ -457,6 +457,7 @@ static int h263_probe(AVProbeData *p) int invalid_psc=0; int res_change=0; int src_fmt, last_src_fmt=-1; + int last_gn=0; for(i=0; ibuf_size; i++){ code = (code<<8) + p->buf[i]; @@ -469,9 +470,16 @@ static int h263_probe(AVProbeData *p) if((code&0x300)==0x200 && src_fmt){ valid_psc++; + last_gn=0; }else invalid_psc++; last_src_fmt= src_fmt; + } else if((code & 0xffff800000) == 0x800000) { + int gn= (code>>(23-5)) & 0x1F; + if(gn