| 553 | | p += wrap4; |
| | 575 | if (width & 1) { |
| | 576 | r = p[R_II]; |
| | 577 | g = p[G_II]; |
| | 578 | b = p[B_II]; |
| | 579 | r1 = r; |
| | 580 | g1 = g; |
| | 581 | b1 = b; |
| | 582 | lum[0] = (FIX(0.29900) * r + FIX(0.58700) * g + |
| | 583 | FIX(0.11400) * b + ONE_HALF) >> SCALEBITS; |
| | 584 | alpha[0] = p[A_II]; |
| | 585 | |
| | 586 | lum[1] = 16; |
| | 587 | alpha[1] = 0; |
| | 588 | |
| | 589 | p += wrap4; |
| | 590 | lum += wrap; |
| | 591 | alpha += wrap; |
| | 592 | |
| | 593 | r = p[R_II]; |
| | 594 | g = p[G_II]; |
| | 595 | b = p[B_II]; |
| | 596 | r1 += r; |
| | 597 | g1 += g; |
| | 598 | b1 += b; |
| | 599 | lum[0] = (FIX(0.29900) * r + FIX(0.58700) * g + |
| | 600 | FIX(0.11400) * b + ONE_HALF) >> SCALEBITS; |
| | 601 | alpha[0] = p[A_II]; |
| | 602 | |
| | 603 | lum[1] = 16; |
| | 604 | alpha[1] = 0; |
| | 605 | |
| | 606 | cr[0] = ((- FIX(0.16874) * r1 - FIX(0.33126) * g1 + |
| | 607 | FIX(0.50000) * b1 + 2 * ONE_HALF - 1) >> (SCALEBITS + 1)) + |
| | 608 | 128; |
| | 609 | cb[0] = ((FIX(0.50000) * r1 - FIX(0.41869) * g1 - |
| | 610 | FIX(0.08131) * b1 + 2 * ONE_HALF - 1) >> (SCALEBITS + 1)) + |
| | 611 | 128; |
| | 612 | |
| | 613 | cb++; |
| | 614 | cr++; |
| | 615 | p += -wrap4 + 4; |
| | 616 | lum += -wrap + 2; |
| | 617 | alpha += -wrap + 2; |
| | 618 | } |
| | 619 | p += wrap4 * 2 - width * 4; |
| | 623 | if (height & 1) { |
| | 624 | for(x=0;x+1<width;x+=2) { |
| | 625 | r = p[R_II]; |
| | 626 | g = p[G_II]; |
| | 627 | b = p[B_II]; |
| | 628 | r1 = r; |
| | 629 | g1 = g; |
| | 630 | b1 = b; |
| | 631 | lum[0] = (FIX(0.29900) * r + FIX(0.58700) * g + |
| | 632 | FIX(0.11400) * b + ONE_HALF) >> SCALEBITS; |
| | 633 | alpha[0] = p[A_II]; |
| | 634 | |
| | 635 | r = p[R_II+4]; |
| | 636 | g = p[G_II+4]; |
| | 637 | b = p[B_II+4]; |
| | 638 | r1 += r; |
| | 639 | g1 += g; |
| | 640 | b1 += b; |
| | 641 | lum[1] = (FIX(0.29900) * r + FIX(0.58700) * g + |
| | 642 | FIX(0.11400) * b + ONE_HALF) >> SCALEBITS; |
| | 643 | alpha[1] = p[A_II+4]; |
| | 644 | |
| | 645 | lum += wrap; |
| | 646 | alpha += wrap; |
| | 647 | |
| | 648 | lum[0] = 16; |
| | 649 | alpha[0] = 0; |
| | 650 | |
| | 651 | lum[1] = 16; |
| | 652 | alpha[1] = 0; |
| | 653 | |
| | 654 | cr[0] = ((- FIX(0.16874) * r1 - FIX(0.33126) * g1 + |
| | 655 | FIX(0.50000) * b1 + 2 * ONE_HALF - 1) >> (SCALEBITS + 1)) + |
| | 656 | 128; |
| | 657 | cb[0] = ((FIX(0.50000) * r1 - FIX(0.41869) * g1 - |
| | 658 | FIX(0.08131) * b1 + 2 * ONE_HALF - 1) >> (SCALEBITS + 1)) + |
| | 659 | 128; |
| | 660 | |
| | 661 | cb++; |
| | 662 | cr++; |
| | 663 | p += 2 * 4; |
| | 664 | lum += -wrap + 2; |
| | 665 | alpha += -wrap + 2; |
| | 666 | } |
| | 667 | if (width & 1) { |
| | 668 | r = p[R_II]; |
| | 669 | g = p[G_II]; |
| | 670 | b = p[B_II]; |
| | 671 | r1 = r; |
| | 672 | g1 = g; |
| | 673 | b1 = b; |
| | 674 | lum[0] = (FIX(0.29900) * r + FIX(0.58700) * g + |
| | 675 | FIX(0.11400) * b + ONE_HALF) >> SCALEBITS; |
| | 676 | alpha[0] = p[A_II]; |
| | 677 | |
| | 678 | lum[1] = 16; |
| | 679 | alpha[1] = 0; |
| | 680 | |
| | 681 | lum += wrap; |
| | 682 | alpha += wrap; |
| | 683 | |
| | 684 | lum[0] = 16; |
| | 685 | alpha[0] = 0; |
| | 686 | |
| | 687 | lum[1] = 16; |
| | 688 | alpha[1] = 0; |
| | 689 | |
| | 690 | cr[0] = ((- FIX(0.16874) * r1 - FIX(0.33126) * g1 + |
| | 691 | FIX(0.50000) * b1 + ONE_HALF - 1) >> SCALEBITS) + |
| | 692 | 128; |
| | 693 | cb[0] = ((FIX(0.50000) * r1 - FIX(0.41869) * g1 - |
| | 694 | FIX(0.08131) * b1 + ONE_HALF - 1) >> SCALEBITS) + |
| | 695 | 128; |
| | 696 | |
| | 697 | cb++; |
| | 698 | cr++; |
| | 699 | p += 4; |
| | 700 | lum += -wrap + 2; |
| | 701 | alpha += -wrap + 2; |
| | 702 | } |
| | 703 | } |