Mercurial > libavcodec.hg
comparison h263dec.c @ 1338:e0e5483c32c5 libavcodec
fix last_block_index<=0 bug
author | michaelni |
---|---|
date | Thu, 03 Jul 2003 22:35:39 +0000 |
parents | 6e039762d5cb |
children | cfc80b3a4ada |
comparison
equal
deleted
inserted
replaced
1337:c4e6ed5319e7 | 1338:e0e5483c32c5 |
---|---|
203 s->mv_dir = MV_DIR_FORWARD; | 203 s->mv_dir = MV_DIR_FORWARD; |
204 s->mv_type = MV_TYPE_16X16; | 204 s->mv_type = MV_TYPE_16X16; |
205 // s->mb_skiped = 0; | 205 // s->mb_skiped = 0; |
206 //printf("%d %d %06X\n", ret, get_bits_count(&s->gb), show_bits(&s->gb, 24)); | 206 //printf("%d %d %06X\n", ret, get_bits_count(&s->gb), show_bits(&s->gb, 24)); |
207 ret= s->decode_mb(s, s->block); | 207 ret= s->decode_mb(s, s->block); |
208 | |
209 MPV_decode_mb(s, s->block); | |
210 | 208 |
211 if(ret<0){ | 209 if(ret<0){ |
212 const int xy= s->mb_x + s->mb_y*s->mb_stride; | 210 const int xy= s->mb_x + s->mb_y*s->mb_stride; |
213 if(ret==SLICE_END){ | 211 if(ret==SLICE_END){ |
212 MPV_decode_mb(s, s->block); | |
213 | |
214 //printf("%d %d %d %06X\n", s->mb_x, s->mb_y, s->gb.size*8 - get_bits_count(&s->gb), show_bits(&s->gb, 24)); | 214 //printf("%d %d %d %06X\n", s->mb_x, s->mb_y, s->gb.size*8 - get_bits_count(&s->gb), show_bits(&s->gb, 24)); |
215 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); | 215 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); |
216 | 216 |
217 s->padding_bug_score--; | 217 s->padding_bug_score--; |
218 | 218 |
230 fprintf(stderr,"Error at MB: %d\n", xy); | 230 fprintf(stderr,"Error at MB: %d\n", xy); |
231 ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y, s->mb_x, s->mb_y, (AC_ERROR|DC_ERROR|MV_ERROR)&part_mask); | 231 ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y, s->mb_x, s->mb_y, (AC_ERROR|DC_ERROR|MV_ERROR)&part_mask); |
232 | 232 |
233 return -1; | 233 return -1; |
234 } | 234 } |
235 | |
236 MPV_decode_mb(s, s->block); | |
235 } | 237 } |
236 | 238 |
237 ff_draw_horiz_band(s, s->mb_y*16, 16); | 239 ff_draw_horiz_band(s, s->mb_y*16, 16); |
238 | 240 |
239 s->mb_x= 0; | 241 s->mb_x= 0; |