592{
594 int32_t v0, v1, v2, v3, v4, v5, v6, v7;
596 int i;
597
598
599 for (i = 0; i < 8; i++) {
600 v0 = src[8 * 0];
601 v1 = src[8 * 2];
602 v2 = src[8 * 4];
603 v3 = src[8 * 6];
604
605 t10 = v0 + v2;
606 t12 = v0 - v2;
607 t11 = (v1 - v3) * M13 >> 12;
608 v3 += v1;
609 t11 -= v3;
610 v0 = t10 + v3;
611 v3 = t10 - v3;
612 v1 = t11 + t12;
613 v2 = t12 - t11;
614
615 v4 = src[8 * 7];
616 v5 = src[8 * 1];
617 v6 = src[8 * 5];
618 v7 = src[8 * 3];
619
620 t10 = v5 - v4;
621 t11 = v5 + v4;
622 t12 = v6 - v7;
623 v7 += v6;
624 v5 = (t11 - v7) * M13 >> 12;
625 v7 += t11;
626 t13 = (t10 + t12) * M5 >> 12;
627 v4 = t13 - (t10 * M2 >> 12);
628 v6 = t13 - (t12 * M4 >> 12) - v7;
629 v5 -= v6;
630 v4 -= v5;
631
632 src[8 * 0] = v0 + v7;
633 src[8 * 7] = v0 - v7;
634 src[8 * 1] = v1 + v6;
635 src[8 * 6] = v1 - v6;
636 src[8 * 2] = v2 + v5;
637 src[8 * 5] = v2 - v5;
638 src[8 * 3] = v3 + v4;
639 src[8 * 4] = v3 - v4;
640
641 src++;
642 }
643
644
645 src -= 8;
646 for (i = 0; i < 8; i++) {
647 v0 = src[0] + (128L << 8);
648 v1 = src[2];
649 v2 = src[4];
650 v3 = src[6];
651
652 t10 = v0 + v2;
653 t12 = v0 - v2;
654 t11 = (v1 - v3) * M13 >> 12;
655 v3 += v1;
656 t11 -= v3;
657 v0 = t10 + v3;
658 v3 = t10 - v3;
659 v1 = t11 + t12;
660 v2 = t12 - t11;
661
662 v4 = src[7];
663 v5 = src[1];
664 v6 = src[5];
665 v7 = src[3];
666
667 t10 = v5 - v4;
668 t11 = v5 + v4;
669 t12 = v6 - v7;
670 v7 += v6;
671 v5 = (t11 - v7) * M13 >> 12;
672 v7 += t11;
673 t13 = (t10 + t12) * M5 >> 12;
674 v4 = t13 - (t10 * M2 >> 12);
675 v6 = t13 - (t12 * M4 >> 12) - v7;
676 v5 -= v6;
677 v4 -= v5;
678
679
680#if JD_FASTDECODE >= 1
681 dst[0] = (
int16_t)((v0 + v7) >> 8);
682 dst[7] = (
int16_t)((v0 - v7) >> 8);
683 dst[1] = (
int16_t)((v1 + v6) >> 8);
684 dst[6] = (
int16_t)((v1 - v6) >> 8);
685 dst[2] = (
int16_t)((v2 + v5) >> 8);
686 dst[5] = (
int16_t)((v2 - v5) >> 8);
687 dst[3] = (
int16_t)((v3 + v4) >> 8);
688 dst[4] = (
int16_t)((v3 - v4) >> 8);
689#else
698#endif
699
700 dst += 8; src += 8;
701 }
702}
static uint8_t BYTECLIP(int val) FL_NOEXCEPT