⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jpegdecoder.java

📁 一款J2ME浏览器
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
                        _mth0121(-j1);
                        return true;
                    }
                    ai4[0] = ai4[1] = ai4[2] = ai4[3] = 0;
                    l1 += 2;
                    k1 = 0;
                    j1 -= 2;
                    break;
                }
                if (j1 <= 30 && !flag) {
                    for (int k3 = 0; k3 < j1; k3++) {
                        ai7[k3] = ai7[l1 + k3];
                    }

                    l1 = 0;
                    int l3;
                    if (poolsize - FA > 100) {
                        l3 = 100;
                    } else {
                        l3 = poolsize - FA;
                    }
                    for (int j4 = 0; j4 < l3; j4++) {
                        ai7[j1 + j4] = _mth0122();
                    }

                    j1 += l3;
                    if (FA == poolsize) {
                        flag = true;
                    }
                }
                l1++;
                if (--j1 <= 0) {
                    return true;
                }
                i3 = ai7[l1];
                j3 = ai7[l1 + 1];
            } while (true);
            if (flag4) {
                return true;
            }
        } while (true);
    }

    int _mth011C(int i, int j) {
        return i + (1 << j - 1) >> j;
    }

    int _mth011D(int i) {
        if (i > 255) {
            i = 255;
        } else if (i < 0) {
            i = 0;
        }
        return i;
    }

    void _mth011E(int ai[]) {
        int ai1[] = new int[64];
        int k6 = 0;
        int l6 = 0;
        for (int i7 = 8; i7 > 0; i7--) {
            if ((ai[k6 + 8] | ai[k6 + 16] | ai[k6 + 24] | ai[k6 + 32] | ai[k6 + 40] | ai[k6 + 48] | ai[k6 + 56]) == 0) {
                int k7 = ai[k6 + 0] << 2;
                ai1[l6 + 0] = k7;
                ai1[l6 + 8] = k7;
                ai1[l6 + 16] = k7;
                ai1[l6 + 24] = k7;
                ai1[l6 + 32] = k7;
                ai1[l6 + 40] = k7;
                ai1[l6 + 48] = k7;
                ai1[l6 + 56] = k7;
                k6++;
                l6++;
            } else {
                int k4 = ai[k6 + 16];
                int i5 = ai[k6 + 48];
                int i4 = (k4 + i5) * 4433;
                int i1 = i4 + i5 * -15137;
                int k1 = i4 + k4 * 6270;
                k4 = ai[k6 + 0];
                i5 = ai[k6 + 32];
                int i = k4 + i5 << 13;
                int k = k4 - i5 << 13;
                int i2 = i + k1;
                int k3 = i - k1;
                int k2 = k + i1;
                int i3 = k - i1;
                i = ai[k6 + 56];
                k = ai[k6 + 40];
                i1 = ai[k6 + 24];
                k1 = ai[k6 + 8];
                i4 = i + k1;
                k4 = k + i1;
                i5 = i + i1;
                int k5 = k + k1;
                int i6 = (i5 + k5) * 9633;
                i *= 2446;
                k *= 16819;
                i1 *= 25172;
                k1 *= 12299;
                i4 *= -7373;
                k4 *= -20995;
                i5 *= -16069;
                k5 *= -3196;
                i5 += i6;
                k5 += i6;
                i += i4 + i5;
                k += k4 + k5;
                i1 += k4 + i5;
                k1 += i4 + k5;
                ai1[l6 + 0] = _mth011C(i2 + k1, 11);
                ai1[l6 + 56] = _mth011C(i2 - k1, 11);
                ai1[l6 + 8] = _mth011C(k2 + i1, 11);
                ai1[l6 + 48] = _mth011C(k2 - i1, 11);
                ai1[l6 + 16] = _mth011C(i3 + k, 11);
                ai1[l6 + 40] = _mth011C(i3 - k, 11);
                ai1[l6 + 24] = _mth011C(k3 + i, 11);
                ai1[l6 + 32] = _mth011C(k3 - i, 11);
                k6++;
                l6++;
            }
        }

        l6 = 0;
        boolean flag = false;
        boolean flag1 = false;
        for (int i8 = 0; i8 < 8; i8++) {
            int l7 = i8 * 8;
            int l4 = ai1[l6 + 2];
            int j5 = ai1[l6 + 6];
            int j4 = (l4 + j5) * 4433;
            int j1 = j4 + j5 * -15137;
            int l1 = j4 + l4 * 6270;
            int j = ai1[l6 + 0] + ai1[l6 + 4] << 13;
            int l = ai1[l6 + 0] - ai1[l6 + 4] << 13;
            int j2 = j + l1;
            int l3 = j - l1;
            int l2 = l + j1;
            int j3 = l - j1;
            j = ai1[l6 + 7];
            l = ai1[l6 + 5];
            j1 = ai1[l6 + 3];
            l1 = ai1[l6 + 1];
            j4 = j + l1;
            l4 = l + j1;
            j5 = j + j1;
            int l5 = l + l1;
            int j6 = (j5 + l5) * 9633;
            j *= 2446;
            l *= 16819;
            j1 *= 25172;
            l1 *= 12299;
            j4 *= -7373;
            l4 *= -20995;
            j5 *= -16069;
            l5 *= -3196;
            j5 += j6;
            l5 += j6;
            j += j4 + j5;
            l += l4 + l5;
            j1 += l4 + j5;
            l1 += j4 + l5;
            int j7 = _mth011C(j2 + l1, 18) + 128;
            _fld0127[l7 + 0] = _mth011D(j7);
            j7 = _mth011C(j2 - l1, 18) + 128;
            _fld0127[l7 + 7] = _mth011D(j7);
            j7 = _mth011C(l2 + j1, 18) + 128;
            _fld0127[l7 + 1] = _mth011D(j7);
            j7 = _mth011C(l2 - j1, 18) + 128;
            _fld0127[l7 + 6] = _mth011D(j7);
            j7 = _mth011C(j3 + l, 18) + 128;
            _fld0127[l7 + 2] = _mth011D(j7);
            j7 = _mth011C(j3 - l, 18) + 128;
            _fld0127[l7 + 5] = _mth011D(j7);
            j7 = _mth011C(l3 + j, 18) + 128;
            _fld0127[l7 + 3] = _mth011D(j7);
            j7 = _mth011C(l3 - j, 18) + 128;
            _fld0127[l7 + 4] = _mth011D(j7);
            l6 += 8;
        }

    }

    void _mth011F(int i, int j, int ai[], byte abyte0[]) {
        int i2 = j / (_fld011B[i].h * _fld011B[i].v);
        j %= _fld011B[i].h * _fld011B[i].v;
        int i1 = i2 % _fld0120;
        int j1 = i2 / _fld0120;
        int k1 = j % _fld011B[i].h;
        int l1 = j / _fld011B[i].h;
        if (i1 >= _fld0120 || j1 >= _fld0121) {
            return;
        }
        i1 *= _fld011E * 8;
        j1 *= _fld011F * 8;
        int j2 = _fld011E / _fld011B[i].h;
        int k2 = _fld011F / _fld011B[i].v;
        k1 *= j2 * 8;
        l1 *= k2 * 8;
        int k = i1 + k1;
        int l = j1 + l1;
        int l3 = _fld0118 * l + k;
        boolean flag = false;
        boolean flag1 = false;
        for (int j3 = 0; j3 < k2; j3++) {
            for (int k3 = 0; k3 < j2; k3++) {
                int i4 = 0;
                for (int l2 = 0; l2 < 8; l2++) {
                    int j4 = l3 + (j3 + l2 * k2) * _fld0118 + k3;
                    for (int i3 = 0; i3 < 8; i3++) {
                        abyte0[j4] = (byte) ai[i4];
                        i4++;
                        j4 += j2;
                    }

                }

            }

        }

    }

    void _mth0120() {
        int j2 = 0;
        _fld0124 = Image.createImage(_fld0116, _fld0117);
        Graphics g = _fld0124.getGraphics();
        if (_fld011A == 3 && !_fld0125) {
            for (int k2 = 0; k2 < _fld0119; k2++) {
                if (k2 >= _fld0117) {
                    j2 += _fld0118;
                } else {
                    for (int i3 = 0; i3 < _fld0118; i3++) {
                        if (i3 >= _fld0116) {
                            j2++;
                            continue;
                        }
                        int i = _fld0122[0][j2] & 0xff;
                        int k = _fld0122[1][j2] & 0xff;
                        k -= 128;
                        int l = _fld0122[2][j2] & 0xff;
                        l -= 128;
                        int i1 = i + (1402 * l) / 1000;
                        if (i1 > 255) {
                            i1 = 255;
                        } else if (i1 < 0) {
                            i1 = 0;
                        }
                        int j1 = i - (34414 * k + 0x116f6 * l) / 0x186a0;
                        if (j1 > 255) {
                            j1 = 255;
                        } else if (j1 < 0) {
                            j1 = 0;
                        }
                        int k1 = i + (1772 * k) / 1000;
                        if (k1 > 255) {
                            k1 = 255;
                        } else if (k1 < 0) {
                            k1 = 0;
                        }
                        int l1 = (i1 << 16) + (j1 << 8) + k1;
                        g.setColor(l1);
                        g.drawLine(i3, k2, i3, k2);
                        j2++;
                    }

                }
            }

        } else {
            for (int l2 = 0; l2 < _fld0119; l2++) {
                if (l2 >= _fld0117) {
                    j2 += _fld0118;
                    continue;
                }
                for (int j3 = 0; j3 < _fld0118; j3++) {
                    if (j3 >= _fld0116) {
                        j2++;
                    } else {
                        int j = _fld0122[0][j2] & 0xff;
                        int i2 = (j << 16) + (j << 8) + j;
                        g.setColor(i2);
                        g.drawLine(j3, l2, j3, l2);
                        j2++;
                    }
                }

            }

        }
    }

    void _mth0121(int i) {
        if (FA + i >= poolsize) {
            FA = poolsize;
        } else if (FA + i < 0) {
            FA = 0;
        } else {
            FA += i;
        }
    }

    int _mth0122() {
        if (FA == poolsize) {
            return 0;
        }
        int i = C2[FA];
        if (i < 0) {
            i += 256;
        }
        if (FA + 1 <= poolsize) {
            FA++;
        }
        return i;
    }

    int _mth0123() {
        return _mth0122() << 8 ^ _mth0122();
    }

    void clear() {
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -