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 }