Mercurial > libavcodec.hg
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) { |