avformat/h263dec: shift data in state to make more bits available to probe

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2014-05-07 03:12:34 +02:00
parent 326463893b
commit 04b15a6055
1 changed files with 5 additions and 5 deletions

View File

@ -34,21 +34,21 @@ static int h263_probe(AVProbeData *p)
for(i=0; i<p->buf_size; i++){ for(i=0; i<p->buf_size; i++){
code = (code<<8) + p->buf[i]; code = (code<<8) + p->buf[i];
if ((code & 0xfffffc0000) == 0x800000) { if ((code & 0xfffffc000000) == 0x80000000) {
src_fmt= (code>>2)&7; src_fmt= (code>>10)&7;
if( src_fmt != last_src_fmt if( src_fmt != last_src_fmt
&& last_src_fmt>0 && last_src_fmt<6 && last_src_fmt>0 && last_src_fmt<6
&& src_fmt<6) && src_fmt<6)
res_change++; res_change++;
if((code&0x300)==0x200 && src_fmt){ if((code&0x30000)==0x20000 && src_fmt){
valid_psc++; valid_psc++;
last_gn=0; last_gn=0;
}else }else
invalid_psc++; invalid_psc++;
last_src_fmt= src_fmt; last_src_fmt= src_fmt;
} else if((code & 0xffff800000) == 0x800000) { } else if((code & 0xffff80000000) == 0x80000000) {
int gn= (code>>(23-5)) & 0x1F; int gn= (code>>(31-5)) & 0x1F;
if(gn<last_gn){ if(gn<last_gn){
invalid_psc++; invalid_psc++;
}else }else