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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? filebitstreamreaderagent.java

?? jpeg2000算法實(shí)現(xiàn)
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
            // Should never happen. Truncated codestream are normally found in            // FileBitstreamReaderAgent constructor            throw e;	}		// In truncation mode, update the number of read bytes	if(isTruncMode){            anbytes += nb-nBytes[t];	    // If truncation rate is reached	    if(status)                nBytes[t] = 0;	}       	// In parsing mode, if there is not enough rate to entirely read the       	// tile. Then, parses the bit stream so as to create a virtual       	// layer-resolution-component progressive bit stream that will be       	// truncated and decoded afterwards.        else if(nBytes[t]<(totTileLen[t]-totTileHeadLen[t])){            CBlkInfo cb;            // Systematicaly reject all remaining code-blocks if one            // code-block, at least, is refused.            boolean reject;             // Stop reading any data from the bit stream            boolean stopCount = false;            // Length of each packet's head (in an array)            int[] pktHeadLen = new int[pktHL.size()];            for(int i=pktHL.size()-1;i>=0;i--)                pktHeadLen[i] = ((Integer)pktHL.elementAt(i)).intValue();                        // Parse each code-block, layer per layer until nBytes[t] is            // reached            reject = false;            for(int l=0; l<nl; l++){ // layers                if(cbI==null) continue;                int nc = cbI.length;                                int mres = 0;                for(int c=0; c<nc; c++){                    if(cbI[c]!=null && cbI[c].length>mres)                        mres = cbI[c].length;                }                for(int r=0; r<mres; r++){ // resolutions                                            int msub = 0;                    for(int c=0; c<nc; c++){                        if(cbI[c]!=null && cbI[c][r]!=null                            && cbI[c][r].length>msub)                            msub = cbI[c][r].length;                    }                    for(int s=0; s<msub; s++){ // subbands                        // Only LL subband resolution level 0                        if(r==0 && s!=0)                            continue;                        // No LL subband in resolution level > 0                        else if(r!=0 && s==0)                            continue;                        int mnby=0;                        for(int c=0; c<nc; c++){                            if(cbI[c]!=null && cbI[c][r]!=null &&                                cbI[c][r][s]!=null &&                               cbI[c][r][s].length>mnby)                                mnby = cbI[c][r][s].length;                        }                        for(int m=0; m<mnby; m++){                            int mnbx = 0;                            for(int c=0; c<nc; c++){                                if(cbI[c]!=null && cbI[c][r]!=null &&                                    cbI[c][r][s]!=null && cbI[c][r][s][m]!=null                                   && cbI[c][r][s][m].length>mnbx)                                    mnbx = cbI[c][r][s][m].length;                            }                            for(int n=0; n<mnbx; n++){                                                                for(int c=0; c<nc; c++){                                                                        if(cbI[c]==null || cbI[c][r]==null ||                                        cbI[c][r][s]==null ||                                        cbI[c][r][s][m]==null ||                                       cbI[c][r][s][m][n]==null )                                        continue;                                    cb = cbI[c][r][s][m][n];                                                                        // If no code-block has been refused until                                    // now                                    if(!reject){                                        // Rate is to low to allow reading of                                        // packet's head                                        if(nBytes[t]<pktHeadLen[cb.pktIdx[l]]){                                            // Stop parsing                                            stopCount = true;                                            // Reject all next                                            // code-blocks                                            reject=true;                                        }                                        // Rate is enough to read packet's                                        // head                                        else{                                            // If parsing was not stopped                                            if(!stopCount){                                                // Takes into account packet's                                                // head length                                                nBytes[t] -=                                                     pktHeadLen[cb.pktIdx[l]];                                                anbytes +=                                                     pktHeadLen[cb.pktIdx[l]];                                                // Set packet's head length to                                                // 0, so that it won't be                                                // taken into account next                                                // time                                                pktHeadLen[cb.pktIdx[l]]=0;                                            }                                        }                                    }                                    // Code-block has no data in this layer                                    if(cb.len[l]==0){                                        continue;                                    }                                                                        // Accepts code-block if length is enough,                                    // if this code-block was not refused in a                                    // previous layer and if no code-block was                                    // refused in current component                                    if(cb.len[l]<nBytes[t]                                        && !reject){                                        nBytes[t] -= cb.len[l];                                        anbytes += cb.len[l];                                    }                                    // Refuses code-block                                    else{                                        // Forgets code-block's data                                        cb.len[l]=cb.off[l]=cb.ntp[l]= 0;                                        // Refuses all other code-block in                                        // current and next component                                        reject=true;                                    }                                                                    } // End loop on components                            } // End loop on horiz. code-blocks                        } // End loop on vert. code-blocks                    } // End loop on subbands                } // End loop on resolutions            } // End loop on layers        }        // No parsing for this tile, adds tile's body to the total        // number of read bytes.        else{            anbytes += totTileLen[t]-totTileHeadLen[t];            if(t<getNumTiles()-1){                nBytes[t+1] += nBytes[t]-(totTileLen[t]-totTileHeadLen[t]);            }        }    }    /**     * Changes the current tile, given the new indexes. An     * IllegalArgumentException is thrown if the indexes do not     * correspond to a valid tile.     *     * @param x The horizontal indexes the tile.     *     * @param y The vertical indexes of the new tile.     * */    public void setTile(int x,int y){        int i;          // counter        int ctox,ctoy;  // new current tile origin in the reference grid        // Check validity of tile indexes        if (x<0 || y<0 || x>=ntX || y>=ntY) {            throw new IllegalArgumentException();        }        int t = (y*ntX+x);        // Set the new current tile        ctX = x;        ctY = y;        // Calculate tile relative points        ctox = (x == 0) ? ax : px+x*ntW;        ctoy = (y == 0) ? ay : py+y*ntH;        for (i = nc-1; i >= 0; i--) {            culx[i] = (ctox+hd.getCompSubsX(i)-1)/hd.getCompSubsX(i);            culy[i] = (ctoy+hd.getCompSubsY(i)-1)/hd.getCompSubsY(i);            offX[i] = (px+x*ntW+hd.getCompSubsX(i)-1)/hd.getCompSubsX(i);            offY[i] = (py+y*ntH+hd.getCompSubsY(i)-1)/hd.getCompSubsY(i);        }                // Initialize subband tree and number of resolution levels        subbTrees = new SubbandSyn[nc];        mdl = new int[nc];        derived = new boolean[nc];        params = new StdDequantizerParams[nc];        gb = new int[nc];        for(int c=0; c<nc; c++){            derived[c] = decSpec.qts.isDerived(t,c);            params[c] =                 (StdDequantizerParams)decSpec.qsss.getTileCompVal(t,c);            gb[c] = ((Integer)decSpec.gbs.getTileCompVal(t,c)).intValue();            mdl[c] = ((Integer)decSpec.dls.getTileCompVal(t,c)).intValue();            subbTrees[c] =                new SubbandSyn(getCompWidth(c,mdl[c]),                               getCompHeight(c,mdl[c]),                               getULX(c,mdl[c]),getULY(c,mdl[c]),mdl[c],                               decSpec.wfs.getHFilters(t,c),                               decSpec.wfs.getVFilters(t,c));            initSubbandsFields(c,subbTrees[c]);        }                // Read tile's packets        try{            initTile(t);        }        catch(IOException e){            e.printStackTrace();            throw new Error("IO Error when reading tile "+x+" x "+y);        }    }    /**     * Advances to the next tile, in standard scan-line order (by rows     * then columns). An NoNextElementException is thrown if the     * current tile is the last one (i.e. there is no next tile).     * */    public void nextTile(){        if (ctX == ntX-1 && ctY == ntY-1) { // Already at last tile            throw new NoNextElementException();        }        else if (ctX < ntX-1) { // If not at end of current tile line            setTile(ctX+1,ctY);        }        else { // Go to first tile at next line            setTile(0,ctY+1);        }    }    /**     * Returns the specified coded code-block, for the specified     * component, in the current tile. The first layer to return is     * indicated by 'fl'. The number of layers that is returned depends     * on 'nl' and the amount of data available.     *     * <P>The argument 'fl' is to be used by subsequent calls to this     * method for the same code-block. In this way supplamental data     * can be retrieved at a later time. The fact that data from more     * than one layer can be returned means that several packets from     * the same code-block, of the same component, and the same tile,     * have been concatenated.     *     * <P>The returned compressed code-block can have its progressive     * attribute set. If this attribute is set it means that more data      * can be obtained by subsequent calls to this method (subject to     * transmission delays, etc). If the progressive attribute is not     * set it means that the returned data is all the data that can be      * obtained for the specified subblock.     *     * <P>The compressed code-block is uniquely specified by the     * current tile, the component (identified by 'c'), the subband     * (indentified by 'sb') and the code-bock vertical     * and horizontal indexes 'n' and 'm'.     *     * <P>The 'ulx' and 'uly' members of the returned 'DecLyrdCBlk'     * object contain the coordinates of the top-left corner of the block,     * with respect to the tile, not the subband.     *     * @param c The index of the component, from 0 to N-1.     *     * @param m The vertical index of the code-block to return, in the     * specified subband.     *     * @param n The horizontal index of the code-block to return, in the     * specified subband.     *     * @param sb The subband in whic the requested code-block is.     *     * @param fl The first layer to return.     *     * @param nl The number of layers to return, if negative all     * available layers are returned, starting at 'fl'.     *     * @param ccb If not null this object is used to return the     * compressed code-block. If null a new object is created and     * returned. If the data array in ccb is not null then it can be     * reused to return the compressed data.     *     * @return The compressed code-block, with a certain number of     * layers determined by the available data and 'nl'.     * */    public DecLyrdCBlk getCodeBlock(int c, int m, int n,                                    SubbandSyn sb, int fl, int nl,                                    DecLyrdCBlk ccb){        int t = getTileIdx();        CBlkInfo rcb; // requested code-block        int r = sb.resLvl;  // Resolution level        int s = sb.sbandIdx; // Sub-band index        int tpidx;        int passtype;        // Number of layers        int numLayers = ((Integer)decSpec.nls.getTileDef(t)).intValue();        int options =            ((Integer)decSpec.ecopts.getTileCompVal(t,c)).intValue();        if(nl<0){            nl = numLayers-fl+1;        }                // Check validity of all the arguments        try{            rcb = cbI[c][r][s][m][n];            if(fl < 1 || fl > numLayers || fl+nl-1 > numLayers){                throw new IllegalArgumentException();            }        }        catch(ArrayIndexOutOfBoundsException e){            throw new IllegalArgumentException("Block (t:"+t+", c:"+                                               c+", r:"+r+", s:"+s+", "+m+"x"+                                               +n+") not found in bit stream");        }        catch(NullPointerException e){            throw new IllegalArgumentException("Block (t:"+t+", c:"+                                               c+", r:"+r+", s:"+s+", "+m+"x"                                               +n+") not found in bit stream");        }                // Create DecLyrdCBlk object if necessary        if(ccb == null){            ccb = new DecLyrdCBlk();        }        ccb.m = m;        ccb.n = n;        ccb.nl = 0;        ccb.dl = 0;        ccb.nTrunc = 0;        if(rcb==null){            // This code-block was skipped when reading. Returns no data            ccb.skipMSBP = 0;            ccb.prog = fals

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产91丝袜在线播放| 免费欧美日韩国产三级电影| 欧美精品v国产精品v日韩精品| 麻豆精品视频在线观看视频| 国产精品久久一卡二卡| 欧洲国产伦久久久久久久| 国产精品888| 性久久久久久久久| 国产精品不卡视频| 精品久久久久久久久久久久久久久 | 欧美一区二区黄色| 91丨porny丨首页| 国产精品91一区二区| 水野朝阳av一区二区三区| 国产精品久久久久久久蜜臀| 日韩免费看的电影| 欧美日韩电影在线播放| 91麻豆免费视频| 国产精品一区二区在线观看不卡| 日韩成人免费电影| 亚洲国产一区二区三区| 一区免费观看视频| 国产精品午夜春色av| 欧美精品一区二区三区蜜臀| 国产精品美女久久久久久2018| 日韩午夜激情电影| 欧美精品一卡二卡| 日本电影欧美片| 成人久久久精品乱码一区二区三区| 日本视频在线一区| 性欧美疯狂xxxxbbbb| 夜夜嗨av一区二区三区| 日韩理论片中文av| 国产精品成人一区二区三区夜夜夜| 欧美精品一区二区三区蜜臀| 日韩久久久久久| 日韩一二三区视频| 日韩视频免费观看高清在线视频| 欧美日韩一区二区不卡| 在线国产电影不卡| 欧美日韩在线直播| 欧美日韩在线精品一区二区三区激情| 93久久精品日日躁夜夜躁欧美| 成人av在线资源| 成人性生交大合| 高清成人免费视频| 成年人午夜久久久| 在线观看亚洲专区| 欧美视频日韩视频在线观看| 欧美视频自拍偷拍| 欧美日韩成人综合天天影院| 欧美色网站导航| 欧美日韩成人在线一区| 欧美成人性福生活免费看| 久久综合视频网| 国产亚洲精品bt天堂精选| 国产蜜臀av在线一区二区三区| 精品国产乱码久久久久久图片| 精品日韩欧美在线| 国产精品网站导航| 亚洲少妇中出一区| 婷婷一区二区三区| 精品一区精品二区高清| 国产成人在线视频网站| 91农村精品一区二区在线| 色视频一区二区| 日韩欧美亚洲国产精品字幕久久久 | 亚洲国产精品久久久久婷婷884| 亚洲一区二区三区四区中文字幕| 亚洲chinese男男1069| 久久99精品一区二区三区三区| 国产麻豆9l精品三级站| 91片在线免费观看| 欧美一二三在线| 国产精品日韩成人| 亚洲国产精品欧美一二99| 国产在线一区观看| 色94色欧美sute亚洲线路二| 欧美日韩亚洲综合在线| 欧美成人国产一区二区| 亚洲欧美在线观看| 免费久久精品视频| 不卡欧美aaaaa| 欧美肥妇free| 国产精品视频一二三| 偷拍日韩校园综合在线| 成人黄页在线观看| 337p亚洲精品色噜噜| 欧美激情中文字幕一区二区| 一区二区免费在线| 国产精品一区二区在线播放| 在线观看av一区二区| 久久亚洲一级片| 亚洲成av人片在线观看| 成熟亚洲日本毛茸茸凸凹| 欧美日韩亚洲综合一区| 国产精品国产三级国产普通话三级| 日日摸夜夜添夜夜添亚洲女人| 本田岬高潮一区二区三区| 制服丝袜在线91| 亚洲精品成人天堂一二三| 国产乱子伦一区二区三区国色天香| 91福利视频在线| 中文在线资源观看网站视频免费不卡 | 日韩在线观看一区二区| caoporn国产一区二区| 精品久久久久久久久久久院品网 | 日韩一区欧美小说| 国产一区二区在线观看免费| 欧美日韩小视频| 国产精品每日更新在线播放网址| 久久国产精品第一页| 精品1区2区3区| 一区二区三区欧美日韩| 成人免费高清在线观看| 欧美大尺度电影在线| 亚洲成人精品在线观看| 91久久久免费一区二区| 亚洲天堂中文字幕| 北条麻妃国产九九精品视频| 国产亚洲女人久久久久毛片| 精品一区二区三区免费观看| 7777精品伊人久久久大香线蕉最新版| 亚洲男人都懂的| 99久久精品情趣| 1区2区3区欧美| 成人综合婷婷国产精品久久蜜臀 | 亚洲欧洲综合另类| aaa亚洲精品| 国产精品麻豆网站| 午夜精品福利一区二区三区蜜桃| 欧美日韩一区二区三区四区| 国产午夜精品在线观看| 精品欧美一区二区在线观看| 日韩欧美国产电影| 在线一区二区观看| www.亚洲激情.com| 日韩欧美区一区二| 成人免费在线视频观看| 99久久久久久| 亚洲日本va午夜在线电影| 色综合久久中文综合久久牛| 亚洲青青青在线视频| 91年精品国产| 亚洲成a人片在线观看中文| 欧美日韩第一区日日骚| 全部av―极品视觉盛宴亚洲| 911国产精品| 日本成人超碰在线观看| 日韩三级在线观看| 国产精品99久久久久久似苏梦涵| 久久久久久免费毛片精品| 东方aⅴ免费观看久久av| 国产精品高潮呻吟| 在线亚洲人成电影网站色www| 亚洲第一会所有码转帖| 日韩精品专区在线影院重磅| 国产伦精品一区二区三区免费迷 | 国产精品电影一区二区| 91色视频在线| 天堂成人国产精品一区| 日韩午夜精品视频| 国产二区国产一区在线观看| 亚洲欧洲成人精品av97| 欧美情侣在线播放| 久久国产精品一区二区| 136国产福利精品导航| 欧美日韩一区三区四区| 免费成人av资源网| 国产精品久久久久久久久动漫| 色猫猫国产区一区二在线视频| 午夜电影一区二区| 国产拍欧美日韩视频二区| 91电影在线观看| 激情综合色综合久久综合| 日韩美女视频一区二区 | 国产xxx精品视频大全| 一区二区久久久久| 精品理论电影在线| 色屁屁一区二区| 久久99精品久久久久久国产越南| 亚洲天堂福利av| 日韩免费一区二区| 色婷婷综合久久久久中文| 久久爱另类一区二区小说| 国产精品久久午夜| 精品国产乱码久久久久久蜜臀 | 一本色道**综合亚洲精品蜜桃冫| 美女网站色91| 一区二区三区四区在线免费观看 | 亚洲欧美怡红院| 日韩一级完整毛片| 色婷婷久久久久swag精品| 国产一区日韩二区欧美三区| 亚洲欧美aⅴ...| 国产欧美日韩精品一区| 在线播放91灌醉迷j高跟美女| 成人黄色免费短视频| 紧缚奴在线一区二区三区| 亚洲一区二区三区在线|