comparison indeo3.c @ 2549:89ca1169b24c libavcodec

indeo3 for bigendian patch by (demo-n <demo-n users.sourceforge net)
author michael
date Sun, 06 Mar 2005 20:07:41 +0000
parents 5b738c5093ce
children ef2149182f1c
comparison
equal deleted inserted replaced
2548:bca31bc0cbae 2549:89ca1169b24c
461 case 0: 461 case 0:
462 *cur_lp = le2me_32(((le2me_32(*ref_lp) >> 1) + correction_lp[lp2 & 0x01][k]) << 1); 462 *cur_lp = le2me_32(((le2me_32(*ref_lp) >> 1) + correction_lp[lp2 & 0x01][k]) << 1);
463 lp2++; 463 lp2++;
464 break; 464 break;
465 case 1: 465 case 1:
466 res = ((le2me_16(((unsigned short *)(ref_lp))[0]) >> 1) + correction_lp[lp2 & 0x01][*buf1++]) << 1; 466 res = ((le2me_16(((unsigned short *)(ref_lp))[0]) >> 1) + correction_lp[lp2 & 0x01][*buf1]) << 1;
467 ((unsigned short *)cur_lp)[0] = le2me_16(res); 467 ((unsigned short *)cur_lp)[0] = le2me_16(res);
468 res = ((le2me_16(((unsigned short *)(ref_lp))[1]) >> 1) + correction_lp[lp2 & 0x01][k]) << 1; 468 res = ((le2me_16(((unsigned short *)(ref_lp))[1]) >> 1) + correction_lp[lp2 & 0x01][k]) << 1;
469 ((unsigned short *)cur_lp)[1] = le2me_16(res); 469 ((unsigned short *)cur_lp)[1] = le2me_16(res);
470 buf1++;
470 lp2++; 471 lp2++;
471 break; 472 break;
472 case 2: 473 case 2:
473 if(lp2 == 0) { 474 if(lp2 == 0) {
474 for(i = 0, j = 0; i < 2; i++, j += width_tbl[1]) 475 for(i = 0, j = 0; i < 2; i++, j += width_tbl[1])
568 cur_lp[0] = le2me_32(((le2me_32(*ref_lp) >> 1) + correction_lp[lp2 & 0x01][k]) << 1); 569 cur_lp[0] = le2me_32(((le2me_32(*ref_lp) >> 1) + correction_lp[lp2 & 0x01][k]) << 1);
569 lp2++; 570 lp2++;
570 break; 571 break;
571 572
572 case 1: 573 case 1:
573 res = ((le2me_16(((unsigned short *)ref_lp)[0]) >> 1) + correction_lp[lp2 & 0x01][*buf1++]) << 1; 574 res = ((le2me_16(((unsigned short *)ref_lp)[0]) >> 1) + correction_lp[lp2 & 0x01][*buf1]) << 1;
574 ((unsigned short *)cur_lp)[width_tbl[2]] = le2me_16(res); 575 ((unsigned short *)cur_lp)[width_tbl[2]] = le2me_16(res);
575 res = ((le2me_16(((unsigned short *)ref_lp)[1]) >> 1) + correction_lp[lp2 & 0x01][k]) << 1; 576 res = ((le2me_16(((unsigned short *)ref_lp)[1]) >> 1) + correction_lp[lp2 & 0x01][k]) << 1;
576 ((unsigned short *)cur_lp)[width_tbl[2]+1] = le2me_16(res); 577 ((unsigned short *)cur_lp)[width_tbl[2]+1] = le2me_16(res);
577 578
578 if(lp2 > 0 || flag1 == 0 || strip->ypos != 0) 579 if(lp2 > 0 || flag1 == 0 || strip->ypos != 0)
579 cur_lp[0] = ((cur_lp[-width_tbl[1]] >> 1) + (cur_lp[width_tbl[1]] >> 1)) & 0xFEFEFEFE; 580 cur_lp[0] = ((cur_lp[-width_tbl[1]] >> 1) + (cur_lp[width_tbl[1]] >> 1)) & 0xFEFEFEFE;
580 else 581 else
581 cur_lp[0] = cur_lp[width_tbl[1]]; 582 cur_lp[0] = cur_lp[width_tbl[1]];
583 buf1++;
582 lp2++; 584 lp2++;
583 break; 585 break;
584 586
585 case 2: 587 case 2:
586 if(lp2 == 0) { 588 if(lp2 == 0) {
700 } 702 }
701 lp2++; 703 lp2++;
702 break; 704 break;
703 705
704 case 1: 706 case 1:
705 cur_lp[width_tbl[1]] = le2me_32(((le2me_32(lv1) >> 1) + correctionloworder_lp[lp2 & 0x01][*buf1++]) << 1); 707 cur_lp[width_tbl[1]] = le2me_32(((le2me_32(lv1) >> 1) + correctionloworder_lp[lp2 & 0x01][*buf1]) << 1);
706 cur_lp[width_tbl[1]+1] = le2me_32(((le2me_32(lv2) >> 1) + correctionloworder_lp[lp2 & 0x01][k]) << 1); 708 cur_lp[width_tbl[1]+1] = le2me_32(((le2me_32(lv2) >> 1) + correctionloworder_lp[lp2 & 0x01][k]) << 1);
707 if(lp2 > 0 || strip->ypos != 0 || flag1 == 0) { 709 if(lp2 > 0 || strip->ypos != 0 || flag1 == 0) {
708 cur_lp[0] = ((cur_lp[-width_tbl[1]] >> 1) + (cur_lp[width_tbl[1]] >> 1)) & 0xFEFEFEFE; 710 cur_lp[0] = ((cur_lp[-width_tbl[1]] >> 1) + (cur_lp[width_tbl[1]] >> 1)) & 0xFEFEFEFE;
709 cur_lp[1] = ((cur_lp[-width_tbl[1]+1] >> 1) + (cur_lp[width_tbl[1]+1] >> 1)) & 0xFEFEFEFE; 711 cur_lp[1] = ((cur_lp[-width_tbl[1]+1] >> 1) + (cur_lp[width_tbl[1]+1] >> 1)) & 0xFEFEFEFE;
710 } else { 712 } else {
711 cur_lp[0] = cur_lp[width_tbl[1]]; 713 cur_lp[0] = cur_lp[width_tbl[1]];
712 cur_lp[1] = cur_lp[width_tbl[1]+1]; 714 cur_lp[1] = cur_lp[width_tbl[1]+1];
713 } 715 }
716 buf1++;
714 lp2++; 717 lp2++;
715 break; 718 break;
716 719
717 case 2: 720 case 2:
718 if(lp2 == 0) { 721 if(lp2 == 0) {