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

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

?? bittobyteoutput.java

?? jpeg2000編解碼
?? JAVA
字號:
/*  * CVS identifier: *  * $Id: BitToByteOutput.java,v 1.1.1.1 2002/07/22 09:26:49 grosbois Exp $ *  * Class:                   BitToByteOutput *  * Description:             Adapter to perform bit based output on a byte *                          based one. *  *  *  * COPYRIGHT: *  * This software module was originally developed by Rapha雔 Grosbois and * Diego Santa Cruz (Swiss Federal Institute of Technology-EPFL); Joel * Askel鰂 (Ericsson Radio Systems AB); and Bertrand Berthelot, David * Bouchard, F閘ix Henry, Gerard Mozelle and Patrice Onno (Canon Research * Centre France S.A) in the course of development of the JPEG2000 * standard as specified by ISO/IEC 15444 (JPEG 2000 Standard). This * software module is an implementation of a part of the JPEG 2000 * Standard. Swiss Federal Institute of Technology-EPFL, Ericsson Radio * Systems AB and Canon Research Centre France S.A (collectively JJ2000 * Partners) agree not to assert against ISO/IEC and users of the JPEG * 2000 Standard (Users) any of their rights under the copyright, not * including other intellectual property rights, for this software module * with respect to the usage by ISO/IEC and Users of this software module * or modifications thereof for use in hardware or software products * claiming conformance to the JPEG 2000 Standard. Those intending to use * this software module in hardware or software products are advised that * their use may infringe existing patents. The original developers of * this software module, JJ2000 Partners and ISO/IEC assume no liability * for use of this software module or modifications thereof. No license * or right to this software module is granted for non JPEG 2000 Standard * conforming products. JJ2000 Partners have full right to use this * software module for his/her own purpose, assign or donate this * software module to any third party and to inhibit third parties from * using this software module for non JPEG 2000 Standard conforming * products. This copyright notice must be included in all copies or * derivative works of this software module. *  * Copyright (c) 1999/2000 JJ2000 Partners. * */package jj2000.j2k.entropy.encoder;import jj2000.j2k.io.*;/** * This class provides an adapter to perform bit based output on byte based * output objects that inherit from a 'ByteOutputBuffer' class. This class * implements the bit stuffing policy needed for the 'selective arithmetic * coding bypass' mode of the entropy coder. This class also delays the output * of a trailing 0xFF, since they are synthetized be the decoder. * */class BitToByteOutput {    /** Whether or not predictable termination is requested. This value is     * important when the last byte before termination is an 0xFF  */    private boolean isPredTerm = false;    /** The alternating sequence of 0's and 1's used for byte padding */    static final int PAD_SEQ = 0x2A;    /** Flag that indicates if an FF has been delayed */    boolean delFF = false;    /** The byte based output */    ByteOutputBuffer out;    /** The bit buffer */    int bbuf;    /** The position of the next bit to put in the bit buffer. When it is 7     * the bit buffer 'bbuf' is empty. The value should always be between 7     * and 0 (i.e. if it gets to -1, the bit buffer should be immediately     * written to the byte output). */    int bpos = 7;    /** The number of written bytes (excluding the bit buffer) */    int nb = 0;    /**     * Instantiates a new 'BitToByteOutput' object that uses 'out' as the     * underlying byte based output.     *     * @param out The underlying byte based output     * */    BitToByteOutput(ByteOutputBuffer out) {        this.out = out;    }    /**     * Writes to the bit stream the symbols contained in the 'symbuf'     * buffer. The least significant bit of each element in 'symbuf'is     * written.     *     * @param symbuf The symbols to write     *     * @param nsym The number of symbols in symbuf     * */    final void writeBits(int[] symbuf, int nsym) {        int i;        int bbuf,bpos;        bbuf = this.bbuf;        bpos = this.bpos;        // Write symbol by symbol to bit buffer        for (i=0; i<nsym; i++) {            bbuf |= (symbuf[i]&0x01)<<(bpos--);            if (bpos<0) { // Bit buffer is full, write it                if (bbuf != 0xFF) { // No bit-stuffing needed                    if (delFF) { // Output delayed 0xFF if any                        out.write(0xFF);                        nb++;                        delFF = false;                    }                    out.write(bbuf);                    nb++;                    bpos = 7;                }                else { // We need to do bit stuffing on next byte                    delFF = true;                    bpos = 6; // One less bit in next byte                }                bbuf = 0;            }        }        this.bbuf = bbuf;        this.bpos = bpos;    }    /**     * Write a bit to the output. The least significant bit of 'bit' is     * written to the output.     *     * @param bit     * */    final void writeBit(int bit) {        bbuf |= (bit&0x01)<<(bpos--);        if (bpos<0) {            if (bbuf != 0xFF) { // No bit-stuffing needed                if (delFF) { // Output delayed 0xFF if any                    out.write(0xFF);                    nb++;                    delFF = false;                }                // Output the bit buffer                out.write(bbuf);                nb++;                bpos = 7;            }            else { // We need to do bit stuffing on next byte                delFF = true;                bpos = 6; // One less bit in next byte            }            bbuf = 0;        }    }    /**     * Writes the contents of the bit buffer and byte aligns the output by     * filling bits with an alternating sequence of 0's and 1's.     * */    void flush() {        if (delFF) { // There was a bit stuffing            if (bpos != 6) { // Bit buffer is not empty                // Output delayed 0xFF                out.write(0xFF);                nb++;                delFF = false;                // Pad to byte boundary with an alternating sequence of 0's                // and 1's.                bbuf |= (PAD_SEQ >>> (6-bpos));                // Output the bit buffer                out.write(bbuf);                nb++;                bpos = 7;                bbuf = 0;            } else if(isPredTerm) {                out.write(0xFF);                nb++;                out.write(0x2A);                nb++;                bpos = 7;                bbuf = 0;                delFF = false;            }        } else { // There was no bit stuffing            if (bpos != 7) { // Bit buffer is not empty                // Pad to byte boundary with an alternating sequence of 0's and                // 1's.                bbuf |= (PAD_SEQ >>> (6-bpos));                // Output the bit buffer (bbuf can not be 0xFF)                out.write(bbuf);                nb++;                bpos = 7;                bbuf = 0;            }         }    }    /**     * Terminates the bit stream by calling 'flush()' and then     * 'reset()'. Finally, it returns the number of bytes effectively written.     *     * @return The number of bytes effectively written.     * */    public int terminate() {        flush();        int savedNb = nb;        reset();        return savedNb;    }    /**     * Resets the bit buffer to empty, without writing anything to the     * underlying byte output, and resets the byte count. The underlying byte     * output is NOT reset.     * */    void reset() {        delFF = false;        bpos = 7;        bbuf = 0;        nb = 0;    }    /**     * Returns the length, in bytes, of the output bit stream as written by     * this object. If the output bit stream does not have an integer number     * of bytes in length then it is rounded to the next integer.     *     * @return The length, in bytes, of the output bit stream.     * */    int length() {        if (delFF) {            // If bit buffer is empty we just need 'nb' bytes. If not we need            // the delayed FF and the padded bit buffer.              return nb + 2;        } else {            // If the bit buffer is empty, we just need 'nb' bytes. If not, we            // add length of the padded bit buffer            return nb + ((bpos==7) ? 0 : 1);        }    }    /**      * Set the flag according to whether or not the predictable termination is     * requested.     *     * @param isPredTerm Whether or not predictable termination is requested.     * */    void setPredTerm(boolean isPredTerm) {        this.isPredTerm = isPredTerm;    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久精品免费看| 国产精品国产精品国产专区不蜜 | 不卡视频在线看| 欧美伊人精品成人久久综合97| 日韩女优视频免费观看| 国产精品福利一区| 日韩高清在线电影| 91小视频在线| 国产网红主播福利一区二区| 五月激情综合网| 91麻豆国产福利在线观看| 日韩精品专区在线| 亚洲一区二区三区精品在线| 高清在线成人网| 日韩一级在线观看| 婷婷国产v国产偷v亚洲高清| a美女胸又www黄视频久久| 欧美zozozo| 日韩国产精品久久| 欧美在线|欧美| 最新高清无码专区| 国产a视频精品免费观看| 91精品国产色综合久久ai换脸| 亚洲免费在线看| 91免费观看视频| 中文幕一区二区三区久久蜜桃| 精品一区二区三区av| 欧美va日韩va| 欧美在线免费视屏| 亚洲日本va午夜在线影院| 国产精品一区二区在线播放| 精品国产伦一区二区三区观看方式 | 成a人片亚洲日本久久| 2欧美一区二区三区在线观看视频| 午夜一区二区三区视频| 91浏览器在线视频| 亚洲欧美一区二区三区国产精品 | 日本中文字幕不卡| 欧美精品亚洲一区二区在线播放| 一区二区三区91| 在线欧美小视频| 亚洲综合图片区| 欧美色图在线观看| 日韩电影一区二区三区四区| 欧美一区二区三区公司| 日韩电影在线免费观看| 欧美一区二区三区四区久久| 男人的天堂亚洲一区| 日韩免费性生活视频播放| 国产一区视频在线看| 国产日韩在线不卡| 91视频免费观看| 亚洲综合成人在线视频| 欧美精品日韩一区| 麻豆91在线看| 国产偷v国产偷v亚洲高清| www.日韩av| 五月天久久比比资源色| 日韩女优毛片在线| 成人精品视频一区二区三区尤物| 成人免费一区二区三区视频| 欧美系列亚洲系列| 九色|91porny| 亚洲三级免费观看| 884aa四虎影成人精品一区| 激情欧美一区二区三区在线观看| 国产欧美一区二区精品性色超碰| 91麻豆swag| 麻豆精品在线播放| 国产精品久久久99| 在线成人免费观看| 欧美乱妇15p| 国产成人在线视频网站| 一区二区三区四区不卡视频| 欧美一卡在线观看| 成人手机电影网| 天天做天天摸天天爽国产一区| 久久综合久久99| 91高清视频在线| 国产综合久久久久久鬼色| 亚洲日本免费电影| 欧美精品一区二区三区在线| 色视频欧美一区二区三区| 久久狠狠亚洲综合| 亚洲一区成人在线| 国产日产欧美一区| 91精品国产91热久久久做人人| 成人三级在线视频| 九九精品视频在线看| 一区二区三区高清| 国产精品天美传媒| 91精品国产综合久久国产大片| 丁香六月综合激情| 美女精品一区二区| 亚洲成人午夜电影| 1000精品久久久久久久久| 久久一区二区三区四区| 欧美日韩你懂得| 91偷拍与自偷拍精品| 国产精品88av| 另类综合日韩欧美亚洲| 亚洲制服丝袜av| 中文字幕永久在线不卡| 久久精品人人做| 欧美大片一区二区三区| 欧美色窝79yyyycom| 色噜噜狠狠色综合欧洲selulu| 国产成人免费视频网站| 激情都市一区二区| 日韩精品一二区| 日韩主播视频在线| 亚洲图片欧美色图| 亚洲一区二区三区爽爽爽爽爽| 亚洲欧美在线另类| 亚洲天堂av一区| 中文av字幕一区| 中文字幕一区在线| 中文字幕中文字幕中文字幕亚洲无线| 91精品国产福利| 日韩一区二区在线观看视频 | 国产精品网曝门| 久久久久久久电影| 久久久不卡影院| 国产欧美一区视频| 久久噜噜亚洲综合| 欧美国产精品一区二区三区| 久久久不卡网国产精品二区| 国产女主播一区| 国产精品二区一区二区aⅴ污介绍| 国产精品人妖ts系列视频| 国产精品每日更新| 一区二区三区四区激情| 五月激情综合婷婷| 美女看a上一区| 国产成人一级电影| 99re亚洲国产精品| 欧美午夜精品久久久| 欧美一级国产精品| 国产视频一区二区在线观看| 国产精品美女一区二区在线观看| 综合激情成人伊人| 午夜激情综合网| 精品无人区卡一卡二卡三乱码免费卡| 国产综合色视频| 一本一道久久a久久精品| 欧美日韩亚洲另类| 欧美电影免费观看高清完整版在| 久久久久久久久久看片| 亚洲免费观看高清在线观看| 亚州成人在线电影| 国内精品免费**视频| aaa欧美日韩| 91精品国产91久久久久久一区二区| 日韩一级免费观看| 中文成人综合网| 日韩av一级片| 成人晚上爱看视频| 欧美一三区三区四区免费在线看 | 九九视频精品免费| 色综合久久中文字幕综合网| 欧美三级三级三级| 国产欧美日韩麻豆91| 亚洲丰满少妇videoshd| 国产精品18久久久久久久久| 一本久久精品一区二区| 日韩欧美国产小视频| 亚洲视频免费在线| 国产在线精品一区在线观看麻豆| 91蜜桃在线观看| 久久久久久久久久久久电影| 亚洲一区二区在线免费观看视频| 国产精品自产自拍| 91精品综合久久久久久| 国产精品国产精品国产专区不片| 免费看黄色91| 欧美性猛交xxxx乱大交退制版| 欧美精品一区二区三区一线天视频| 亚洲精品菠萝久久久久久久| 国产一区二区三区高清播放| 欧美人与禽zozo性伦| 亚洲精品高清在线观看| 夫妻av一区二区| 欧美成人一级视频| 青青草伊人久久| 欧美三级电影在线观看| 亚洲视频免费观看| 成人免费视频免费观看| 久久久久99精品国产片| 蜜桃视频一区二区三区| 欧美日韩国产一级二级| 亚洲免费高清视频在线| 成av人片一区二区| 国产精品午夜电影| 国产高清不卡一区二区| www成人在线观看| 热久久久久久久| 91精品欧美一区二区三区综合在| 一区二区三区免费看视频| www.成人网.com| 国产精品久久久久aaaa樱花|