Mercurial > libavcodec.hg
comparison svq3.c @ 2088:19d4d5c6a8f4 libavcodec
1000l to myself for FFMIN(...,0) instead of ...,6)
some more checks
author | michael |
---|---|
date | Sat, 19 Jun 2004 01:25:02 +0000 |
parents | 13811ac6ddc7 |
children | 73a66a4a6ab4 |
comparison
equal
deleted
inserted
replaced
2087:a4d3699c6636 | 2088:19d4d5c6a8f4 |
---|---|
451 svq3_mc_dir_part (s, 16*s->mb_x, 16*s->mb_y, 16, 16, 0, 0, 0, 0, 1, 1); | 451 svq3_mc_dir_part (s, 16*s->mb_x, 16*s->mb_y, 16, 16, 0, 0, 0, 0, 1, 1); |
452 } | 452 } |
453 | 453 |
454 mb_type = MB_TYPE_SKIP; | 454 mb_type = MB_TYPE_SKIP; |
455 } else { | 455 } else { |
456 mb_type= FFMIN(s->next_picture.mb_type[mb_xy], 0); | 456 mb_type= FFMIN(s->next_picture.mb_type[mb_xy], 6); |
457 svq3_mc_dir (h, mb_type, PREDICT_MODE, 0, 0); | 457 if(svq3_mc_dir (h, mb_type, PREDICT_MODE, 0, 0) < 0) |
458 svq3_mc_dir (h, mb_type, PREDICT_MODE, 1, 1); | 458 return -1; |
459 if(svq3_mc_dir (h, mb_type, PREDICT_MODE, 1, 1) < 0) | |
460 return -1; | |
459 | 461 |
460 mb_type = MB_TYPE_16x16; | 462 mb_type = MB_TYPE_16x16; |
461 } | 463 } |
462 } else if (mb_type < 8) { /* INTER */ | 464 } else if (mb_type < 8) { /* INTER */ |
463 if (h->thirdpel_flag && h->halfpel_flag == !get_bits (&s->gb, 1)) { | 465 if (h->thirdpel_flag && h->halfpel_flag == !get_bits (&s->gb, 1)) { |
511 break; | 513 break; |
512 } | 514 } |
513 | 515 |
514 /* decode motion vector(s) and form prediction(s) */ | 516 /* decode motion vector(s) and form prediction(s) */ |
515 if (s->pict_type == P_TYPE) { | 517 if (s->pict_type == P_TYPE) { |
516 svq3_mc_dir (h, (mb_type - 1), mode, 0, 0); | 518 if(svq3_mc_dir (h, (mb_type - 1), mode, 0, 0) < 0) |
519 return -1; | |
517 } else { /* B_TYPE */ | 520 } else { /* B_TYPE */ |
518 if (mb_type != 2) { | 521 if (mb_type != 2) { |
519 svq3_mc_dir (h, 0, mode, 0, 0); | 522 if(svq3_mc_dir (h, 0, mode, 0, 0) < 0) |
523 return -1; | |
520 } else { | 524 } else { |
521 for (i=0; i < 4; i++) { | 525 for (i=0; i < 4; i++) { |
522 memset (s->current_picture.motion_val[0][b_xy + i*h->b_stride], 0, 4*2*sizeof(int16_t)); | 526 memset (s->current_picture.motion_val[0][b_xy + i*h->b_stride], 0, 4*2*sizeof(int16_t)); |
523 } | 527 } |
524 } | 528 } |
525 if (mb_type != 1) { | 529 if (mb_type != 1) { |
526 svq3_mc_dir (h, 0, mode, 1, (mb_type == 3)); | 530 if(svq3_mc_dir (h, 0, mode, 1, (mb_type == 3)) < 0) |
531 return -1; | |
527 } else { | 532 } else { |
528 for (i=0; i < 4; i++) { | 533 for (i=0; i < 4; i++) { |
529 memset (s->current_picture.motion_val[1][b_xy + i*h->b_stride], 0, 4*2*sizeof(int16_t)); | 534 memset (s->current_picture.motion_val[1][b_xy + i*h->b_stride], 0, 4*2*sizeof(int16_t)); |
530 } | 535 } |
531 } | 536 } |