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

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

?? pktdecoder.java

?? jpeg2000算法實現
?? JAVA
?? 第 1 頁 / 共 4 頁
字號:
/* * CVS identifier: * * $Id: PktDecoder.java,v 1.29 2001/03/02 10:09:45 grosbois Exp $ * * Class:                   PktDecoder * * Description:             Reads packets heads and keeps location of *                          code-blocks' codewords * * * * 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.codestream.reader;import jj2000.j2k.wavelet.synthesis.*;import jj2000.j2k.codestream.*;import jj2000.j2k.entropy.*;import jj2000.j2k.wavelet.*;import jj2000.j2k.decoder.*;import jj2000.j2k.image.*;import jj2000.j2k.util.*;import jj2000.j2k.io.*;import java.util.*;import java.io.*;/**  * This class is used to read packet's head and body. All the members must be * re-initialized at the beginning of each tile thanks to the restart() * method. * */public class PktDecoder implements StdEntropyCoderOptions{        /** Reference to the codestream reader agent */    private FileBitstreamReaderAgent src;    /** Flag indicating whether packed packet header was used for this tile*/    private boolean pph=false;    /** The packed packet header if it was used */    private ByteArrayInputStream pphbais;        /** Reference to decoder specifications */    private DecoderSpecs decSpec;        /** Reference to the HeaderDecoder */    private HeaderDecoder hd;        /** Initial value of the state variable associated with code-block     * length. */    private final int INIT_LBLOCK = 3;        /** The wrapper to read bits for the packet heads */    private PktHeaderBitReader bin;        /** Reference to the stream where to read from */    private RandomAccessIO ehs;        /**      * Maximum number of precincts :     *     * <ul>     * <li> 1st dim: component index.</li>     * <li> 2nd dim: resolution level index.</li>     * </ul>     * */    private Coord[][] maxNumPrecincts;        /** Index of the current tile */    private int tIdx;        /**      * Array containing the coordinates, width, height, indexes, ... of the     * code-blocks in the current tile.     *     * <ul>     * <li> 1st dim: component index.</li>     * <li> 2nd dim: resolution level index.</li>     * <li> 3rd dim: subband index.</li>     * <li> 4th/5th dim: code-block index (vert. and horiz.).</li>     * </ul>      * */    private CBlkCoordInfo[][][][][] cbCoord;        /**      * Array containing the coordinates, width, height, indexes, ... of the     * precincts in the current tile:     *      * <ul>     * <li> 1st dim: component index.</li>     * <li> 2nd dim: resolution level index.</li>     * <li> 3rd dim: subband index.</li>     * <li> 4th dim: precinct index.</li>     * </ul>     * */    private PrecCoordInfo[][][][] precCoord;        /**      * Lblock value used to read code size information in each packet head:     *     * <ul>     * <li> 1st dim: component index.</li>     * <li> 2nd dim: resolution level index.</li>     * <li> 3rd dim: subband index.</li>     * <li> 4th/5th dim: code-block index (vert. and horiz.).</li>     * </ul>      * */    private int[][][][][] lblock;        /**      * Tag tree used to read inclusion informations in packet's head:     *     * <ul>        * <li> 1st dim: component index.</li>     * <li> 2nd dim: resolution level index.</li>     * <li> 3rd dim: subband index.</li>     * <li> 4th dim: precinct index.</li>      * */    private TagTreeDecoder[][][][] tdInclA;        /**      * Tag tree used to read bit-depth information in packet's head:     *      * <ul>     * <li> 1st dim: component index.</li>     * <li> 2nd dim: resolution level index.</li>     * <li> 3rd dim: subband index.</li>     * <li> 4th dim: precinct index.</li>     * </ul>     * */    private TagTreeDecoder[][][][] tdBDA;        /** Number of layers in t he current tile */    private int nl = 0;        /**      * Keeps the first and the last subband index in the associated component     * and resolution level:     *     * <ul>     * <li> 1st dim: component index</li>     * <li> 2nd dim: resolution level index</li>     * <li> 3rd dim: max and min value</li>     * </ul>     * */    private int[][][] subRange;         /** The maximum number of decomposition levels for each component */    private int[] mdl = null;        /** The number of components */    private int nc;        /**      * Array containing the increment step     *     * <ul>     * <li> 1st dim : component index</li>     * <li> 2nd dim : resolution level</li>     * </ul>     * */    private Coord incArray[][];        /**      * Array containing the maximum increment step     *     * <ul>     * <li> 1st dim : component index</li>     * </ul>     * */    private Coord incArrayMax[];        /**      * Array used to store the start/end of tile horizontal and vertical     * coordinates at each resolution level     *     * <ul>     * <li> 1st dim : component index</li>     * <li> 2nd dim : resolution level</li>     * <li> 3rd dim : 0, start of tile, 1, end of tile</li>     * </ul>      * */    private Coord sotEotArray[][][];        /**      * Array used to store the start/end of tile horizontal and vertical     * coordinates at the highest resolution level using the smallest     * increments     *     * <ul>     * <li> 1st dim : component index</li>     * <li> 2nd dim : 0, start of tile, 1, end of tile</li>     * </ul>      * */    private Coord sotEotArrayMax[][];    /** Whether or not SOP marker segment are used */    private boolean sopUsed = false;    /** Whether or not EPH marker are used */    private boolean ephUsed = false;        /** Index of the current packet in the tile. Used with SOP marker        segment*/    private int pktIdx;    /** List of code-blocks found in last read packet head (one list     * per subband) */    private Vector[] cblks;    /** True if truncation mode is used. False if it is parsing mode */    private boolean isTruncMode;    /**      * Create an empty PktDecoder object associated with given decoder     * specifications and HeaderDecoder. This object must be initialized     * thanks to the restart method before being used.     *     * @param decSpec The decoder specifications     *     * @param hd The HeaderDecoder instance     *     * @param ehs The stream where to read data from     *     * @param src The bit stream reader agent      *     * @param isTruncMode Whether or not truncation mode is used      * */    public PktDecoder(DecoderSpecs decSpec,HeaderDecoder hd,                      RandomAccessIO ehs,                      FileBitstreamReaderAgent src,boolean isTruncMode){        this.decSpec = decSpec;        this.hd = hd;        this.ehs = ehs;	this.isTruncMode = isTruncMode;        bin = new PktHeaderBitReader(ehs);        this.src = src;    }            /**      * Re-initialize the PacketDecoder at the beginning of a new tile.     *      * @param nc The number of components in this tile     *     * @param mdl The maximum number of decomposition level in each component     * of this tile     *     * @param nl The number of layers in  this tile     *     * @param cbI The code-blocks array     *     * @param pph Flag inicating whether packed packet headers was used     *     * @param pphbais Stream containing the packed packet headers     * */    CBlkInfo[][][][][] restart(int nc,int[] mdl,int nl,                               CBlkInfo[][][][][] cbI,                               boolean pph,                               ByteArrayInputStream pphbais){        this.nc = nc;        this.nl = nl;        this.mdl = mdl;        this.tIdx = src.getTileIdx();        this.pph = pph;        this.pphbais = pphbais;                sopUsed =            ((Boolean)decSpec.sops.getTileDef(tIdx)).booleanValue();        pktIdx = 0;        ephUsed =             ((Boolean)decSpec.ephs.getTileDef(tIdx)).booleanValue();        cbI = new CBlkInfo[nc][][][][];        lblock = new int[nc][][][][];        tdInclA = new TagTreeDecoder[nc][][][];        tdBDA = new TagTreeDecoder[nc][][][];        maxNumPrecincts = new Coord[nc][];        cbCoord = new CBlkCoordInfo[nc][][][][];        precCoord = new PrecCoordInfo[nc][][][];        incArray = new Coord[nc][];        incArrayMax = new Coord[nc];        sotEotArray = new Coord[nc][][];        sotEotArrayMax = new Coord[nc][2];        subRange = findSubInResLvl();                SubbandSyn curSub;        int tx0,ty0,tx1,ty1;// Current tile position in the reference grid        int tcx0, tcy0, tcx1, tcy1; // Current tile position in the domain of        // the image component        int trx0, try0, trx1, try1; // Current tile position in the reduced        // resolution image domain        int xrsiz, yrsiz; // Component sub-sampling factors        Coord nBlk = null;        for(int c=0; c<nc; c++){            cbI[c] = new CBlkInfo[mdl[c]+1][][][];            lblock[c] = new int[mdl[c]+1][][][];            tdInclA[c] = new TagTreeDecoder[mdl[c]+1][][];            tdBDA[c] = new TagTreeDecoder[mdl[c]+1][][];            maxNumPrecincts[c] = new Coord[mdl[c]+1];            cbCoord[c] = new CBlkCoordInfo[mdl[c]+1][][][];            precCoord[c] = new PrecCoordInfo[mdl[c]+1][][];            sotEotArray[c] = new Coord[mdl[c]+1][2];            incArray[c] = new Coord[mdl[c]+1];                        // Get the tile's coordinates on the reference grid            tx0 = src.getULX(c,mdl[c]);            ty0 = src.getULY(c,mdl[c]);            tx1 = tx0 + src.getCompWidth(c,mdl[c]);            ty1 = ty0 + src.getCompHeight(c,mdl[c]);                        // Subsampling factors            xrsiz = src.getCompSubsX(c);            yrsiz = src.getCompSubsY(c);            // Tile's coordinates in the image component domain            tcx0 = (int)Math.ceil(tx0/(double)(xrsiz));            tcy0 = (int)Math.ceil(ty0/(double)(yrsiz));            tcx1 = (int)Math.ceil(tx1/(double)(xrsiz));            tcy1 = (int)Math.ceil(ty1/(double)(yrsiz));                        buildIncArrays(c);            buildSotEotArrays(c);            for(int r=0; r<=mdl[c]; r++){                // Tile's coordinates in the reduced resolution image domain                trx0 = (int)Math.ceil(tcx0/(double)(1<<(mdl[c]-r)));                try0 = (int)Math.ceil(tcy0/(double)(1<<(mdl[c]-r)));                trx1 = (int)Math.ceil(tcx1/(double)(1<<(mdl[c]-r)));                try1 = (int)Math.ceil(tcy1/(double)(1<<(mdl[c]-r)));                cbI[c][r] = new CBlkInfo[subRange[c][r][1]+1][][];                lblock[c][r] = new int[subRange[c][r][1]+1][][];                // Calculate the maximum number of precincts for each                // resolution level taking into account tile specific options.                double twoppx = (double)getPPX(tIdx,c,r);                double twoppy = (double)getPPY(tIdx,c,r);                maxNumPrecincts[c][r] = new Coord();                if( trx1>trx0 ) {                    maxNumPrecincts[c][r].x = (int)Math.ceil(trx1/twoppx)                        - (int)Math.floor(trx0/twoppx);                }                if( try1>try0 ) {                    maxNumPrecincts[c][r].y = (int)Math.ceil(try1/twoppy)                        - (int)Math.floor(try0/twoppy);                }                int maxPrec =                     maxNumPrecincts[c][r].x * maxNumPrecincts[c][r].y;                tdInclA[c][r] =                     new TagTreeDecoder[subRange[c][r][1]+1][maxPrec];                tdBDA[c][r] =                     new TagTreeDecoder[subRange[c][r][1]+1][maxPrec];                cbCoord[c][r] = new CBlkCoordInfo[subRange[c][r][1]+1][][];                precCoord[c][r] = new PrecCoordInfo[subRange[c][r][1]+1]                    [maxPrec];                                for(int s=subRange[c][r][0];s<=subRange[c][r][1];s++){                    curSub = (SubbandSyn)src.getSubbandTree(tIdx,c).                        getSubbandByIdx(r,s);                    nBlk = src.getNumCodeBlocks(curSub,c,nBlk);                    cbI[c][r][s] = new CBlkInfo[nBlk.y][nBlk.x];                    cbCoord[c][r][s] = new CBlkCoordInfo[nBlk.y][nBlk.x];                    lblock[c][r][s] = new int[nBlk.y][nBlk.x];                    for(int i=nBlk.y-1;i>=0;i--) {                        ArrayUtil.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区美女在线| 国产精品久久久久影院亚瑟| 亚洲一级二级在线| 欧美亚洲一区二区在线| 亚洲成av人在线观看| 欧美精品欧美精品系列| 免费视频最近日韩| 精品999在线播放| 成人三级伦理片| 综合色中文字幕| 欧美吻胸吃奶大尺度电影| 日本不卡在线视频| 久久久青草青青国产亚洲免观| 国产成人日日夜夜| 亚洲女厕所小便bbb| 6080亚洲精品一区二区| 蜜臀va亚洲va欧美va天堂| 久久久国产精品午夜一区ai换脸| 波多野结衣亚洲| 亚洲电影一区二区| 久久午夜色播影院免费高清| 91色在线porny| 日本视频一区二区三区| 国产欧美一区二区精品性| 日本丰满少妇一区二区三区| 日韩av电影一区| 国产精品久久网站| 7777女厕盗摄久久久| 风间由美中文字幕在线看视频国产欧美 | 日韩电影免费一区| 国产日韩av一区| 欧美日韩精品系列| 风间由美一区二区av101| 三级在线观看一区二区| 国产农村妇女毛片精品久久麻豆| 欧美午夜影院一区| 成人h动漫精品一区二| 五月激情综合婷婷| 亚洲人妖av一区二区| 欧美成人官网二区| 精品视频1区2区| 成a人片国产精品| 久久机这里只有精品| 亚洲免费观看在线视频| 久久久亚洲国产美女国产盗摄 | 3d动漫精品啪啪一区二区竹菊| 国产91色综合久久免费分享| 天使萌一区二区三区免费观看| 国产亚洲欧美日韩日本| 日韩一区二区在线看| 91福利国产成人精品照片| 国产乱码精品一区二区三区av | 欧美日韩高清一区| av午夜精品一区二区三区| 国产精品一区二区免费不卡| 亚洲18色成人| 亚洲黄色免费网站| 中文字幕一区二区三区色视频| 精品成a人在线观看| 91精品久久久久久久久99蜜臂| 91福利资源站| 91丨porny丨中文| 色综合色狠狠综合色| 成人深夜在线观看| 国产激情一区二区三区四区| 精品午夜久久福利影院| 蜜臀久久久久久久| 日本欧美一区二区在线观看| 亚洲国产一区二区三区青草影视| 中文字幕在线观看不卡视频| 欧美激情一区二区三区在线| 欧美第一区第二区| 日韩美女一区二区三区四区| 日韩一区二区视频| 欧美成人vr18sexvr| 欧美xxxx老人做受| 26uuu精品一区二区| 亚洲精品一区二区三区精华液| 日韩欧美一区中文| 欧美精品一区男女天堂| 精品国产麻豆免费人成网站| 精品蜜桃在线看| 久久久久亚洲蜜桃| 国产喷白浆一区二区三区| 欧美极品另类videosde| 国产精品久99| 亚洲黄网站在线观看| 亚洲一卡二卡三卡四卡 | 精品中文字幕一区二区| 久久超碰97中文字幕| 国产在线视视频有精品| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 91麻豆自制传媒国产之光| 91免费精品国自产拍在线不卡| 一本久久a久久免费精品不卡| 日本韩国精品一区二区在线观看| 精品视频999| 精品国产91久久久久久久妲己 | 久久久综合精品| 亚洲国产精品精华液ab| 玉足女爽爽91| 日本不卡视频在线| 国产91色综合久久免费分享| 色噜噜狠狠色综合欧洲selulu| 欧美色图片你懂的| 精品久久久久久久久久久久久久久 | 欧美成人伊人久久综合网| 中文字幕av一区二区三区高| 尤物av一区二区| 久久激五月天综合精品| 99国产精品久久久久久久久久| 欧美天堂一区二区三区| 欧美精品一区二区三区高清aⅴ| 国产精品国产三级国产| 亚洲成人精品一区二区| 国产精品一区二区男女羞羞无遮挡| 97精品超碰一区二区三区| 欧美高清视频一二三区 | 欧美老肥妇做.爰bbww视频| 精品国产第一区二区三区观看体验 | 色综合天天综合| 日韩一区二区精品| 1024国产精品| 精品亚洲国产成人av制服丝袜| 99精品一区二区三区| 日韩午夜激情电影| 亚洲欧美乱综合| 国产伦精品一区二区三区视频青涩| 色综合天天视频在线观看| 精品国产免费一区二区三区香蕉 | 欧美一区二区成人6969| 亚洲欧洲色图综合| 狠狠色丁香婷综合久久| 色成年激情久久综合| 久久久噜噜噜久久中文字幕色伊伊 | 国产精品污www在线观看| 天使萌一区二区三区免费观看| 99久久免费精品高清特色大片| 日韩欧美在线网站| 图片区小说区区亚洲影院| 成人av网站免费| 久久久另类综合| 精品一区二区三区在线播放视频| 色狠狠色噜噜噜综合网| 中文字幕欧美一区| 国产精品自拍av| 欧美va在线播放| 日日欢夜夜爽一区| 欧美在线小视频| 亚洲欧美日韩久久精品| 高清成人在线观看| 久久一夜天堂av一区二区三区| 亚洲.国产.中文慕字在线| 一本一道波多野结衣一区二区| 国产日产欧美一区| 激情久久久久久久久久久久久久久久| 欧美羞羞免费网站| 一区二区三区在线看| 99热这里都是精品| 国产精品网站导航| 成人黄色软件下载| 国产精品欧美一区喷水| 国产成人免费视频网站| 国产日韩欧美高清| 国产成人综合精品三级| 国产蜜臀97一区二区三区| 国产麻豆精品theporn| 国产午夜精品福利| 国产成人精品影视| 国产欧美日韩亚州综合| 粉嫩欧美一区二区三区高清影视| 久久这里只有精品6| 国产99久久久国产精品| 国产精品看片你懂得| www.欧美精品一二区| 亚洲三级在线看| 91高清视频在线| 亚洲成人av在线电影| 91精品福利在线一区二区三区| 日本美女一区二区三区视频| 日韩欧美不卡一区| 国产乱码精品一区二区三区忘忧草 | 蜜臀久久99精品久久久画质超高清| 日韩欧美一区二区不卡| 久久99精品久久只有精品| 国产人久久人人人人爽| 99久久夜色精品国产网站| 亚洲国产日日夜夜| 日韩精品一区二区三区视频| 狠狠色综合日日| 亚洲欧美另类小说视频| 欧美精品亚洲一区二区在线播放| 日日夜夜免费精品| 国产欧美精品一区二区色综合| 99国产精品久久久久| 天天综合天天综合色| 久久综合九色欧美综合狠狠| 99视频超级精品| 久久精品99久久久| 亚洲欧美综合另类在线卡通|