Mercurial > libavcodec.hg
comparison h263.c @ 1176:a39d55237445 libavcodec
b frames + slices bugfix
author | michaelni |
---|---|
date | Thu, 10 Apr 2003 08:47:08 +0000 |
parents | 0e3c0c4a7b3d |
children | fea03d2c4946 |
comparison
equal
deleted
inserted
replaced
1175:d2fd27d01df8 | 1176:a39d55237445 |
---|---|
2497 mb_num= get_bits(&s->gb, mb_num_bits); | 2497 mb_num= get_bits(&s->gb, mb_num_bits); |
2498 if(mb_num>=s->mb_num){ | 2498 if(mb_num>=s->mb_num){ |
2499 fprintf(stderr, "illegal mb_num in video packet (%d %d) \n", mb_num, s->mb_num); | 2499 fprintf(stderr, "illegal mb_num in video packet (%d %d) \n", mb_num, s->mb_num); |
2500 return -1; | 2500 return -1; |
2501 } | 2501 } |
2502 if(s->pict_type == B_TYPE){ | |
2503 while(s->next_picture.mbskip_table[ mb_num ]) mb_num++; | |
2504 if(mb_num >= s->mb_num) return -1; // slice contains just skiped MBs which where allready decoded | |
2505 } | |
2506 | |
2502 s->mb_x= mb_num % s->mb_width; | 2507 s->mb_x= mb_num % s->mb_width; |
2503 s->mb_y= mb_num / s->mb_width; | 2508 s->mb_y= mb_num / s->mb_width; |
2504 | 2509 |
2505 if(s->shape != BIN_ONLY_SHAPE){ | 2510 if(s->shape != BIN_ONLY_SHAPE){ |
2506 int qscale= get_bits(&s->gb, s->quant_precision); | 2511 int qscale= get_bits(&s->gb, s->quant_precision); |