comparison h263dec.c @ 1389:da0b3a50d209 libavcodec

rate distortion mb decision support fix decoding of old %16!=0 divx fix assertion failure in motion_est.c
author michaelni
date Tue, 29 Jul 2003 02:09:12 +0000
parents b52e62d17bbb
children ba99a78bcb37
comparison
equal deleted inserted replaced
1388:b5c65adac96a 1389:da0b3a50d209
207 s->mv_type = MV_TYPE_16X16; 207 s->mv_type = MV_TYPE_16X16;
208 // s->mb_skiped = 0; 208 // s->mb_skiped = 0;
209 //printf("%d %d %06X\n", ret, get_bits_count(&s->gb), show_bits(&s->gb, 24)); 209 //printf("%d %d %06X\n", ret, get_bits_count(&s->gb), show_bits(&s->gb, 24));
210 ret= s->decode_mb(s, s->block); 210 ret= s->decode_mb(s, s->block);
211 211
212 if (s->pict_type!=B_TYPE)
213 ff_h263_update_motion_val(s);
214
212 if(ret<0){ 215 if(ret<0){
213 const int xy= s->mb_x + s->mb_y*s->mb_stride; 216 const int xy= s->mb_x + s->mb_y*s->mb_stride;
214 if(ret==SLICE_END){ 217 if(ret==SLICE_END){
215 MPV_decode_mb(s, s->block); 218 MPV_decode_mb(s, s->block);
216 219
531 s->padding_bug_score= 256*256*256*64; 534 s->padding_bug_score= 256*256*256*64;
532 535
533 if(s->divx_version && s->divx_version<500){ 536 if(s->divx_version && s->divx_version<500){
534 s->workaround_bugs|= FF_BUG_EDGE; 537 s->workaround_bugs|= FF_BUG_EDGE;
535 } 538 }
539
540 if(s->avctx->codec_tag == ff_get_fourcc("DIVX") && s->divx_version==0 && s->lavc_build==0 && s->xvid_build==0 && s->vo_type==0 && s->vol_control_parameters==0 && s->low_delay)
541 s->workaround_bugs|= FF_BUG_EDGE;
536 542
537 #if 0 543 #if 0
538 if(s->divx_version==500) 544 if(s->divx_version==500)
539 s->padding_bug_score= 256*256*256*64; 545 s->padding_bug_score= 256*256*256*64;
540 546