亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? jpegimageinputstream.java

?? Free Software Foundation Inc.公司用java寫的jpeg解碼器。一個優秀的圖像解碼器面向對象模型。
?? JAVA
字號:
/* JPEGImageInputStream.java --
   Copyright (C)  2006  Free Software Foundation, Inc.

This file is part of GNU Classpath.

GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.

GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING.  If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.

Linking this library statically or dynamically with other modules is
making a combined work based on this library.  Thus, the terms and
conditions of the GNU General Public License cover the whole
combination.

As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent
modules, and to copy and distribute the resulting executable under
terms of your choice, provided that you also meet, for each linked
independent module, the terms and conditions of the license of that
module.  An independent module is a module which is not derived from
or based on this library.  If you modify this library, you may extend
this exception to your version of the library, but you are not
obligated to do so.  If you do not wish to do so, delete this
exception statement from your version. */

package gnu.javax.imageio.jpeg;

import java.io.EOFException;
import java.io.IOException;
import javax.imageio.*;
import javax.imageio.spi.*;
import javax.imageio.metadata.*;
import javax.imageio.stream.ImageInputStream;
import javax.imageio.stream.ImageInputStreamImpl;

import java.util.Iterator;
import java.awt.image.BufferedImage;

public class JPEGImageInputStream
  extends ImageInputStreamImpl
{
  private ImageInputStream in;

  byte marker;
  
  public JPEGImageInputStream(ImageInputStream in)
  {
    super();

    this.in = in;
  }

  public int read()
    throws IOException
  {
    setBitOffset(0);
    return in.read();
  }

  public int read(byte[] data, int offset, int len)
    throws IOException
  {
    setBitOffset(0);
    return in.read(data, offset, len);
  }
  
  /**
   * Pull a byte from the stream, this checks to see if the byte is 0xff
   * and if the next byte isn't 0x00 (stuffed byte) it errors out. If it's
   * 0x00 then it simply ignores the byte.
   *
   * @return the next byte in the buffer
   *
   * @throws IOException TODO
   * @throws BitStreamException TODO
   */
  private byte pullByte() throws IOException, JPEGMarkerFoundException
  {
    byte mybyte = readByte();
    // FIXME: handle multiple 0xff in a row
    if(mybyte==(byte)(0xff))
      {
        byte secondbyte = readByte();
        if(secondbyte != (byte)(0x00))
          {
            marker = secondbyte;
            throw new JPEGMarkerFoundException();
          }
      }
    return mybyte;
  }

  /**
   * This returns the marker that was last encountered.  This should only be
   * used if removeBit() throws a MarkerTagFound exception.
   *
   * @return marker as byte
   */
  public byte getMarker()
  {
    return marker;
  }

  /**
   * Removes a bit from the buffer. (Removes from the top of a queue). This
   * also checks for markers and throws MarkerTagFound exception if it does.
   * If MarkerTagFound is thrown you can use getMarker() method to get the
   * marker that caused the throw.
   *
   * @param l specifies how many bits you want to remove and add to the
   *        integer
   * @return the amount of bits specified by l as an integer
   *
   * @throws IOException TODO
   * @throws JPEGMarkerFoundException 
   * @throws BitStreamException TODO
   */
  public int readBit()
  throws IOException, JPEGMarkerFoundException
{
  checkClosed();

  // Calc new bit offset here, readByte resets it.
  int newOffset = (bitOffset + 1) & 0x7;

  byte data = pullByte();
  
  if (bitOffset != 0)
    {
        seek(getStreamPosition() - 1);
        data = (byte) (data >> (8 - newOffset));
    }

  bitOffset = newOffset;
  return data & 0x1;
}


  /**
   * This method skips over the the data and finds the next position
   * in the bit sequence with a X'FF' X'??' sequence.  Multiple X'FF
   * bytes in sequence are considered padding and interpreted as one
   * X'FF byte.
   *
   * @return the next marker byte in the stream
   * @throws IOException if the end of the stream is reached
   * unexpectedly
   */
  public byte findNextMarker()
    throws IOException
  {
    boolean marked0xff = false;
    byte byteinfo = JPEGMarker.X00;

    setBitOffset(0);
    while (true)
      {
        byteinfo = readByte();
        if (!marked0xff)
          {
            if (byteinfo == JPEGMarker.XFF)
              marked0xff = true;
          }
        else
          {
            if (byteinfo == JPEGMarker.XFF)
              // Ignore the value 0xff when it is immediately
              // followed by another 0xff byte.
              continue;
            else if (byteinfo == JPEGMarker.X00)
              // The sequence 0xff 0x00 is used to encode the
              // actual value 0xff.  So restart our search for a
              // marker.
              marked0xff = false;
            else
              // One or more 0xff values were follwed by a
              // non-0x00, non-0xff value so return this as the
              // marker byte.
              return byteinfo;
          }
      }
  }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品少妇一区二区三区在线视频| 一区二区三区四区不卡在线| 丰满少妇在线播放bd日韩电影| 亚洲欧美区自拍先锋| 欧美精品乱人伦久久久久久| 极品美女销魂一区二区三区免费| 国产精品久久久久久久久免费桃花 | 亚洲精品福利视频网站| 欧洲精品一区二区| 久久精品国产久精国产| 一区二区三区小说| 亚洲国产激情av| 免费久久精品视频| 亚洲福利一区二区三区| 亚洲色图在线看| 国产欧美日产一区| 欧美精品久久99| 欧美电影影音先锋| 欧美四级电影在线观看| 国产大片一区二区| 国产成人在线视频网站| 精品国产91乱码一区二区三区| 亚洲一区二区在线免费看| 成人黄色av电影| 久久99精品网久久| 成人午夜精品一区二区三区| 国产日产欧美精品一区二区三区| av日韩在线网站| 日韩欧美一区中文| 欧美一区二视频| 欧美裸体一区二区三区| 欧美视频在线一区二区三区| 99re成人在线| 91在线看国产| 成人教育av在线| 国产成人精品影视| 国产成人精品影视| 丁香婷婷综合激情五月色| 丁香六月久久综合狠狠色| 久久99久国产精品黄毛片色诱| 麻豆国产精品一区二区三区| 日韩主播视频在线| 婷婷亚洲久悠悠色悠在线播放| 亚洲一区中文在线| 日韩成人av影视| 五月天网站亚洲| 秋霞影院一区二区| 精品一区二区三区久久久| 韩国女主播成人在线| 国产一区二区美女| av在线这里只有精品| 精品亚洲porn| 成人av在线播放网站| eeuss影院一区二区三区 | 欧美在线观看视频一区二区| 成人18精品视频| 99精品久久只有精品| 一本大道久久a久久综合| 欧美亚日韩国产aⅴ精品中极品| 欧美三级一区二区| 欧美成人免费网站| 国产精品福利av| 日韩中文字幕亚洲一区二区va在线| 日韩电影在线一区| 成人综合日日夜夜| 欧美午夜精品一区二区三区| 91精品国产综合久久久久久漫画| 欧美精品一区二区三| 日韩理论片在线| 蜜臀av一区二区在线观看 | 国产精品美女久久久久aⅴ| 一区二区欧美视频| 日本在线不卡视频一二三区| 久久99国内精品| jvid福利写真一区二区三区| 91.xcao| 国产精品丝袜91| 天天做天天摸天天爽国产一区| 国产成人自拍高清视频在线免费播放| 成人激情动漫在线观看| 91精品国产一区二区| 国产精品欧美一区喷水| 日韩av一区二| 欧洲精品一区二区| 中文无字幕一区二区三区 | 日韩一级片网址| 亚洲裸体在线观看| 精品亚洲国产成人av制服丝袜 | 国产精品久久久久桃色tv| 日韩和欧美一区二区三区| 成人国产精品免费网站| 欧美电视剧免费观看| 一区二区三区自拍| 成人精品在线视频观看| 欧美在线一区二区| 中文字幕一区二区三区不卡在线| 全部av―极品视觉盛宴亚洲| 在线看日本不卡| 亚洲人123区| 国产成人精品三级| 日韩一卡二卡三卡| 日韩国产成人精品| 欧美男男青年gay1069videost| 国产精品国产三级国产aⅴ中文 | 亚洲人精品午夜| 国产iv一区二区三区| 日韩免费性生活视频播放| 日日欢夜夜爽一区| 91精品国产一区二区三区| 日韩国产欧美在线视频| 欧美人与禽zozo性伦| 亚洲国产综合在线| 99久久久国产精品免费蜜臀| 国产精品久久一卡二卡| 成人动漫av在线| 国产精品久久久久久亚洲伦| 成人午夜精品一区二区三区| 欧美国产日产图区| 国产成人午夜精品5599| 中文字幕第一区| 99久久久国产精品免费蜜臀| 中文字幕av一区二区三区| 丁香啪啪综合成人亚洲小说| 1区2区3区精品视频| 91亚洲国产成人精品一区二区三| 中文字幕一区二区三区在线观看 | 亚洲国产成人tv| 日韩欧美第一区| 日本欧美一区二区在线观看| 精品国产髙清在线看国产毛片| 美腿丝袜亚洲综合| 国产女主播在线一区二区| 国产一区在线视频| 欧美一区二区三区视频在线| 国产性色一区二区| 免费久久99精品国产| 国产日本欧洲亚洲| 99精品视频在线免费观看| 免费xxxx性欧美18vr| 欧美激情一区三区| 欧美情侣在线播放| 成人av综合在线| 美女视频黄 久久| 亚洲欧美偷拍三级| 久久精品视频网| 欧美放荡的少妇| 色综合色狠狠综合色| 国产精品一级在线| 日本在线不卡视频| 亚洲精品福利视频网站| 国产日韩欧美电影| 日韩女优av电影在线观看| 在线精品亚洲一区二区不卡| 不卡在线观看av| 国产成人亚洲综合a∨婷婷| 日韩精品欧美精品| 一区二区三区成人| 亚洲色图20p| 国产精品久久久久久久裸模| 久久精品视频一区二区三区| 欧美一区二区成人6969| 欧美一区二区观看视频| 欧美日韩国产综合视频在线观看| 色综合久久综合网欧美综合网| 成人激情午夜影院| 成人一区二区三区视频在线观看| 精品亚洲国内自在自线福利| 蜜桃精品在线观看| 麻豆国产精品官网| 国内不卡的二区三区中文字幕 | 亚洲色图都市小说| 国产精品久久久久久久久久久免费看 | 不卡的av在线| 国产精品一区二区三区四区| 麻豆精品视频在线观看免费| 免费成人在线观看视频| 美日韩一区二区| 极品美女销魂一区二区三区| 激情综合一区二区三区| 国产成人免费在线视频| 成人一区二区三区在线观看 | 精品国产免费人成电影在线观看四季 | 在线一区二区三区| 欧美日韩黄色一区二区| 7777精品伊人久久久大香线蕉经典版下载| 91黄色免费版| 欧美日本一区二区三区| 欧美精品视频www在线观看 | 奇米777欧美一区二区| 麻豆精品一二三| 国产成人精品亚洲777人妖| 99精品久久免费看蜜臀剧情介绍| 欧洲国内综合视频| 91精品国产91热久久久做人人 | 欧美三级视频在线观看| 欧美一区二区免费| 国产欧美日韩精品一区| 一区二区三区精品在线| 美国一区二区三区在线播放| 成人不卡免费av|