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);