Mercurial > libavcodec.hg
comparison h263dec.c @ 10535:95f3daa991a2 libavcodec
Use get_bits_left() instead of size_in_bits - get_bits_count().
author | rbultje |
---|---|
date | Mon, 16 Nov 2009 17:42:43 +0000 |
parents | cdf5b1ed3500 |
children | c199eb2ad4ec |
comparison
equal
deleted
inserted
replaced
10534:4cd2ef16fb63 | 10535:95f3daa991a2 |
---|---|
266 assert(s->mb_x==0 && s->mb_y==s->mb_height); | 266 assert(s->mb_x==0 && s->mb_y==s->mb_height); |
267 | 267 |
268 /* try to detect the padding bug */ | 268 /* try to detect the padding bug */ |
269 if( s->codec_id==CODEC_ID_MPEG4 | 269 if( s->codec_id==CODEC_ID_MPEG4 |
270 && (s->workaround_bugs&FF_BUG_AUTODETECT) | 270 && (s->workaround_bugs&FF_BUG_AUTODETECT) |
271 && s->gb.size_in_bits - get_bits_count(&s->gb) >=0 | 271 && get_bits_left(&s->gb) >=0 |
272 && s->gb.size_in_bits - get_bits_count(&s->gb) < 48 | 272 && get_bits_left(&s->gb) < 48 |
273 // && !s->resync_marker | 273 // && !s->resync_marker |
274 && !s->data_partitioning){ | 274 && !s->data_partitioning){ |
275 | 275 |
276 const int bits_count= get_bits_count(&s->gb); | 276 const int bits_count= get_bits_count(&s->gb); |
277 const int bits_left = s->gb.size_in_bits - bits_count; | 277 const int bits_left = s->gb.size_in_bits - bits_count; |
298 s->workaround_bugs &= ~FF_BUG_NO_PADDING; | 298 s->workaround_bugs &= ~FF_BUG_NO_PADDING; |
299 } | 299 } |
300 | 300 |
301 // handle formats which don't have unique end markers | 301 // handle formats which don't have unique end markers |
302 if(s->msmpeg4_version || (s->workaround_bugs&FF_BUG_NO_PADDING)){ //FIXME perhaps solve this more cleanly | 302 if(s->msmpeg4_version || (s->workaround_bugs&FF_BUG_NO_PADDING)){ //FIXME perhaps solve this more cleanly |
303 int left= s->gb.size_in_bits - get_bits_count(&s->gb); | 303 int left= get_bits_left(&s->gb); |
304 int max_extra=7; | 304 int max_extra=7; |
305 | 305 |
306 /* no markers in M$ crap */ | 306 /* no markers in M$ crap */ |
307 if(s->msmpeg4_version && s->pict_type==FF_I_TYPE) | 307 if(s->msmpeg4_version && s->pict_type==FF_I_TYPE) |
308 max_extra+= 17; | 308 max_extra+= 17; |
323 | 323 |
324 return 0; | 324 return 0; |
325 } | 325 } |
326 | 326 |
327 av_log(s->avctx, AV_LOG_ERROR, "slice end not reached but screenspace end (%d left %06X, score= %d)\n", | 327 av_log(s->avctx, AV_LOG_ERROR, "slice end not reached but screenspace end (%d left %06X, score= %d)\n", |
328 s->gb.size_in_bits - get_bits_count(&s->gb), | 328 get_bits_left(&s->gb), |
329 show_bits(&s->gb, 24), s->padding_bug_score); | 329 show_bits(&s->gb, 24), s->padding_bug_score); |
330 | 330 |
331 ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y, s->mb_x, s->mb_y, (AC_END|DC_END|MV_END)&part_mask); | 331 ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y, s->mb_x, s->mb_y, (AC_END|DC_END|MV_END)&part_mask); |
332 | 332 |
333 return -1; | 333 return -1; |