714{
716 int d, e;
717 unsigned int blk, nby, i, bc,
z, id, cmp;
720
721
724
725 for (blk = 0; blk < nby + 2; blk++) {
726 cmp = (blk < nby) ? 0 : blk - nby + 1;
727
728 if (cmp && jd->
ncomp != 3) {
729 for (i = 0; i < 64; bp[i++] = 128) ;
730
731 } else {
732 id = cmp ? 1 : 0;
733
734
736 if (d < 0)
return (
JRESULT)(0 - d);
737 bc = (unsigned int)d;
739 if (bc) {
741 if (e < 0)
return (
JRESULT)(0 - e);
742 bc = 1 << (bc - 1);
743 if (!(e & bc)) e -= (bc << 1) - 1;
744 d += e;
746 }
748 tmp[0] = d * dqf[0] >> 8;
749
750
753 do {
755 if (d == 0) break;
756 if (d < 0)
return (
JRESULT)(0 - d);
757 bc = (unsigned int)d;
760 if (bc &= 0x0F) {
762 if (d < 0)
return (
JRESULT)(0 - d);
763 bc = 1 << (bc - 1);
764 if (!(d & bc)) d -= (bc << 1) - 1;
766 tmp[i] = d * dqf[i] >> 8;
767 }
769
774 for (i = 0; i < 64; bp[i++] = d) ;
775 } else {
777 }
778 } else {
780 }
781 }
782 }
783
784 bp += 64;
785 }
786
788}
static void block_idct(int32_t *src, jd_yuv_t *dst) FL_NOEXCEPT
static int bitext(JDEC *jd, unsigned int nbit) FL_NOEXCEPT
static const uint8_t Zig[64]
static int huffext(JDEC *jd, unsigned int id, unsigned int cls) FL_NOEXCEPT
void * memset(void *s, int c, size_t n) FL_NOEXCEPT