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

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

?? invcomptransf.java

?? jpeg2000算法實現
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/* * CVS Identifier: * * $Id: InvCompTransf.java,v 1.16 2000/12/05 22:46:14 grosbois Exp $ * * Class:               InvCompTransf * * Description:         Inverse Component transformations applied to tiles * * * * 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.image.invcomptransf;import jj2000.j2k.wavelet.synthesis.*;import jj2000.j2k.decoder.*;import jj2000.j2k.image.*;import jj2000.j2k.util.*;import jj2000.j2k.*;/**  * This class apply inverse component transformations to the tiles depending * on specification read from the codestream header. These transformations can * be used to improve compression efficiency but are not related to colour * transforms used to map colour values for display purposes. JPEG 2000 part I * defines 2 component transformations: RCT (Reversible Component * Transformation) and ICT (Irreversible Component Transformation). * * @see ModuleSpec * */public class InvCompTransf extends ImgDataAdapter    implements BlkImgDataSrc{    /** Identifier for no component transformation. Value is 0. */    public static final int NONE = 0;    /** The prefix for inverse component transformation options: 'M' */    public final static char OPT_PREFIX = 'M';    /** The list of parameters that is accepted by the inverse     * component transformation module. They start with 'M'. */    private final static String [][] pinfo = null;    /** Identifier for the Inverse Reversible Component Transformation        (INV_RCT). Value is 1. */    public static final int INV_RCT = 1;    /** Identifier for the Inverse Irreversible Component        Transformation (INV_ICT). Value is 2 */    public static final int INV_ICT = 2;    /** The source of image data */    private BlkImgDataSrc src;    /** The component transformations specifications */    private CompTransfSpec cts;    /** The wavelet filter specifications */    private SynWTFilterSpec wfs;        /** The type of the current component transformation JPEG 2000     * part I only support NONE, FORW_RCT and FORW_ICT types*/    private int transfType = NONE;    /** Buffer for each component of output data */    private int[][] outdata = new int[3][];    /** Block used to request component 0 */    private DataBlk block0;    /** Block used to request component 1 */    private DataBlk block1;    /** Block used to request component 2 */    private DataBlk block2;    /** Data block used only to store coordinates and progressiveness 	of the buffered blocks */    private DataBlkInt dbi = new DataBlkInt();    /** The bit-depths of un-transformed components */    private int utdepth[];    /**     * Constructs a new ForwCompTransf object that operates on the     * specified source of image data.     *     * @param imgSrc The source from where to get the data to be     * transformed     *     * @param decSpec The decoder specifications     *     * @see BlkImgDataSrc     * */    public InvCompTransf(BlkImgDataSrc imgSrc, DecoderSpecs decSpec,                         int[] utdepth) {        super(imgSrc);	this.cts = decSpec.cts;        this.wfs = decSpec.wfs;        src = imgSrc;        this.utdepth = utdepth;    }    /**     * Returns the parameters that are used in this class and implementing     * classes. It returns a 2D String array. Each of the 1D arrays is for a     * different option, and they have 4 elements. The first element is the     * option name, the second one is the synopsis, the third one is a long     * description of what the parameter is and the fourth is its default     * value. The synopsis or description may be 'null', in which case it is     * assumed that there is no synopsis or description of the option,     * respectively. Null may be returned if no options are supported.     *     * @return the options name, their synopsis and their explanation,      * or null if no options are supported.     * */    public static String[][] getParameterInfo() {        return pinfo;    }    /**     * Returns a string with a descriptive text of which inverse component     * transformation is used. This can be either "Inverse RCT" or "Inverse     * ICT" or "No component transformation" depending on the current tile.     *     * @return A descriptive string     * */    public String toString() {        switch(transfType){        case INV_RCT:	    return "Inverse RCT";        case INV_ICT:	    return "Inverse ICT";        case NONE:	    return "No component transformation";        default:            throw new IllegalArgumentException("Non JPEG 2000 part I"+                                               " component transformation");        }    }    /**     * Returns true if this transform is reversible in current     * tile. Reversible component transformations are those which operation     * can be completely reversed without any loss of information (not even     * due to rounding).     *     * @return Reversibility of component transformation in current     * tile     * */    public boolean isReversible(){        switch(transfType){        case NONE:        case INV_RCT:            return true;        case INV_ICT:            return false;        default:            throw new IllegalArgumentException("Non JPEG 2000 part I"+                                               " component transformation");        }    }    /**     * Returns the position of the fixed point in the specified     * component. This is the position of the least significant integral     * (i.e. non-fractional) bit, which is equivalent to the number of     * fractional bits. For instance, for fixed-point values with 2 fractional     * bits, 2 is returned. For floating-point data this value does not apply     * and 0 should be returned. Position 0 is the position of the least     * significant bit in the data.     *     * <P>This default implementation assumes that the number of fractional     * bits is not modified by the component mixer.     *     * @param c The index of the component.     *     * @return The value of the fixed point position of the source since the     * color transform does not affect it.     * */     public int getFixedPoint(int c) {         return src.getFixedPoint(c);             }         /**     * Calculates the bitdepths of the transformed components, given the     * bitdepth of the un-transformed components and the component     * tranformation type.     *     * @param utdepth The bitdepth of each un-transformed component     *     * @param ttype The type ID of the inverse component tranformation     *     * @param tdepth If not null the results are stored in this     * array, otherwise a new array is allocated and returned.     *     * @return The bitdepth of each transformed component.     * */    public static        int[] calcMixedBitDepths(int utdepth[], int ttype, int tdepth[]) {        if (utdepth.length < 3 && ttype != NONE) {            throw new IllegalArgumentException();        }        if (tdepth == null) {            tdepth = new int[utdepth.length];        }        switch (ttype) {        case NONE:            System.arraycopy(utdepth,0,tdepth,0,utdepth.length);            break;        case INV_RCT:            if (utdepth.length >3) {                System.arraycopy(utdepth,3,tdepth,3,utdepth.length-3);            }            // The formulas are:            // tdepth[0] = ceil(log2(2^(utdepth[0])+2^utdepth[1]+            //                        2^(utdepth[2])))-2+1            // tdepth[1] = ceil(log2(2^(utdepth[0])+2^(utdepth[1])-1))+1            // tdepth[2] = ceil(log2(2^(utdepth[1])+2^(utdepth[2])-1))+1            // The MathUtil.log2(x) function calculates floor(log2(x)), so we            // use 'MathUtil.log2(2*x-1)+1', which calculates ceil(log2(x))            // for any x>=1, x integer.            tdepth[0] = MathUtil.log2((1<<utdepth[0])+(2<<utdepth[1])+                                      (1<<utdepth[2])-1)-2+1;            tdepth[1] = MathUtil.log2((1<<utdepth[2])+(1<<utdepth[1])-1)+1;            tdepth[2] = MathUtil.log2((1<<utdepth[0])+(1<<utdepth[1])-1)+1;            break;        case INV_ICT:            if (utdepth.length >3) {                System.arraycopy(utdepth,3,tdepth,3,utdepth.length-3);            }            // The MathUtil.log2(x) function calculates floor(log2(x)), so we            // use 'MathUtil.log2(2*x-1)+1', which calculates ceil(log2(x))            // for any x>=1, x integer.            tdepth[0] =                MathUtil.log2((int)Math.floor((1<<utdepth[0])*0.299072+                                              (1<<utdepth[1])*0.586914+                                              (1<<utdepth[2])*0.114014)-1)+1;            tdepth[1] =                MathUtil.log2((int)Math.floor((1<<utdepth[0])*0.168701+                                              (1<<utdepth[1])*0.331299+                                              (1<<utdepth[2])*0.5)-1)+1;            tdepth[2] =                MathUtil.log2((int)Math.floor((1<<utdepth[0])*0.5+                                              (1<<utdepth[1])*0.418701+                                              (1<<utdepth[2])*0.081299)-1)+1;            break;        }        return tdepth;    }    /**     * Returns the number of bits, referred to as the "range bits",     * corresponding to the nominal range of the data in the specified     * component. If this number is <i>b</b> then for unsigned data the     * nominal range is between 0 and 2^b-1, and for signed data it is between     * -2^(b-1) and 2^(b-1)-1.     *     * @param c The index of the component.     *     * @return The bitdepth of un-transformed component 'c'.     * */    public int getNomRangeBits(int c) {        return utdepth[c];    }          /**     * Apply inverse component transformation associated with the current     * tile. If no component transformation has been requested by the user,     * data are not modified.     *     * <P>This method calls the getInternCompData() method, but respects the     * definitions of the getCompData() method defined in the BlkImgDataSrc     * interface.     *     * @param blk Determines the rectangular area to return, and the     * data is returned in this object.     *     * @param c Index of the output component.     *     * @return The requested DataBlk     *     * @see BlkImgDataSrc#getCompData     * */    public DataBlk getCompData(DataBlk blk, int c){        // If requesting a component whose index is greater than 3 or there is        // no transform return a copy of data (getInternCompData returns the        // actual data in those cases)        if (c>=3 || transfType == NONE) {            return src.getCompData(blk,c);        }        else { // We can use getInternCompData (since data is a copy anyways)            return getInternCompData(blk,c);        }    }    /**     * Apply the inverse component transformation associated with the current     * tile. If no component transformation has been requested by the user,     * data are not modified. Else, appropriate method is called (invRCT or     * invICT).     *     * @see #invRCT     *     * @see #invICT     *     * @param blk Determines the rectangular area to return.     *     * @param c Index of the output component.     *     * @return The requested DataBlk     * */    public DataBlk getInternCompData(DataBlk blk, int c){        switch(transfType){        case NONE:	    return src.getInternCompData(blk,c);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美女视频一区在线观看| 亚洲欧美日韩精品久久久久| 麻豆国产欧美日韩综合精品二区| 欧美日韩大陆在线| 视频一区二区国产| 2023国产精华国产精品| 大胆欧美人体老妇| 亚洲在线视频网站| 制服.丝袜.亚洲.另类.中文| 免费成人美女在线观看| 久久久久久久久久电影| 国产91富婆露脸刺激对白| 国产精品欧美一级免费| 欧美午夜在线观看| 韩国欧美国产1区| 亚洲欧美视频在线观看视频| 欧美男生操女生| 国产成人亚洲精品狼色在线| 亚洲欧美成人一区二区三区| 欧美日韩亚洲国产综合| 久久99精品国产| 1000精品久久久久久久久| 欧美精品欧美精品系列| 高清视频一区二区| 日日夜夜一区二区| 欧美极品aⅴ影院| 欧美挠脚心视频网站| 国产成人精品一区二区三区四区 | 欧美日韩成人在线一区| 激情欧美日韩一区二区| 亚洲日本在线视频观看| 日韩免费观看高清完整版在线观看| 成人免费毛片app| 免费欧美日韩国产三级电影| 中文字幕中文字幕在线一区| 日韩一区二区三区精品视频| av电影一区二区| 蜜臀久久99精品久久久久久9| 国产精品电影院| 久久婷婷成人综合色| 欧美无砖专区一中文字| 成人一区在线观看| 久久99精品网久久| 怡红院av一区二区三区| 久久免费视频色| 7777精品伊人久久久大香线蕉的| 成人性视频免费网站| 久久99久久精品| 亚洲午夜国产一区99re久久| 国产精品毛片大码女人| 精品国产一区二区国模嫣然| 欧美视频在线观看一区| 色综合视频一区二区三区高清| 国产一区二区三区四区在线观看| 首页亚洲欧美制服丝腿| 一区二区三区中文字幕电影| 久久亚洲综合av| 日韩一区二区三区电影| 精品视频1区2区3区| 99精品国产91久久久久久| 国产自产高清不卡| 老司机免费视频一区二区三区| 亚洲h在线观看| 亚洲午夜电影网| 亚洲一区二区三区免费视频| 亚洲视频精选在线| 亚洲人精品一区| 亚洲男人的天堂网| 亚洲色欲色欲www在线观看| 中文字幕一区三区| 国产精品久久毛片av大全日韩| 国产日产欧产精品推荐色 | 国产精品高潮呻吟| 欧美国产日韩a欧美在线观看| 精品美女在线播放| 26uuuu精品一区二区| 久久久美女艺术照精彩视频福利播放| 精品三级av在线| 久久久国产精品午夜一区ai换脸| 久久久久国产精品免费免费搜索| 久久在线免费观看| 欧美国产精品专区| 国产精品久久久久久久久免费相片 | 蜜桃91丨九色丨蝌蚪91桃色| 蜜芽一区二区三区| 国内精品国产成人国产三级粉色| 国产精品伊人色| 成人福利视频在线看| 99麻豆久久久国产精品免费| www.99精品| 欧美天堂亚洲电影院在线播放| 欧美日韩日日摸| 精品噜噜噜噜久久久久久久久试看 | 奇米一区二区三区| 国产酒店精品激情| 91网站在线播放| 欧美美女视频在线观看| 26uuu欧美| 中文字幕一区在线观看视频| 一区二区三区不卡在线观看| 亚洲v中文字幕| 激情丁香综合五月| 91在线porny国产在线看| 欧美日韩国产电影| 久久久一区二区三区| 亚洲女同一区二区| 麻豆视频观看网址久久| 丰满少妇在线播放bd日韩电影| 色婷婷狠狠综合| 精品成人一区二区三区| 中文字幕亚洲一区二区av在线 | 中文av字幕一区| 亚洲国产视频网站| 欧美另类变人与禽xxxxx| 日韩精品一区二区三区在线观看| 国产精品网友自拍| 日日摸夜夜添夜夜添精品视频| 国产精品一区久久久久| 欧美亚洲国产一区二区三区va| 欧美mv日韩mv国产| 亚洲国产裸拍裸体视频在线观看乱了 | 日韩精品一区国产麻豆| 国产精品福利一区| 美女网站一区二区| 99久久久国产精品| 日韩免费高清视频| 亚洲小少妇裸体bbw| 成人国产精品免费观看| 91精品国产综合久久久蜜臀图片| 国产精品久久免费看| 老司机精品视频导航| 在线免费不卡电影| 国产精品国产三级国产aⅴ入口 | 久久一日本道色综合| 亚洲6080在线| 99精品桃花视频在线观看| 日韩一级精品视频在线观看| 亚洲精品国久久99热| 国产69精品一区二区亚洲孕妇| 91精品在线一区二区| 玉米视频成人免费看| 国产高清在线精品| 欧美mv和日韩mv的网站| 免费在线成人网| 欧美日韩精品一区二区三区四区| 《视频一区视频二区| 大美女一区二区三区| 久久久久久综合| 亚洲123区在线观看| 色综合天天综合狠狠| 亚洲国产成人在线| 国产成人精品一区二区三区网站观看| 日韩精品一区二区三区三区免费| 婷婷综合在线观看| 欧美图区在线视频| 亚洲国产欧美在线| 欧美在线免费观看视频| 亚洲欧美成人一区二区三区| 99视频超级精品| 日本一区二区成人| 成人永久免费视频| 国产精品久久久久久久浪潮网站| 成人深夜视频在线观看| 欧美激情综合在线| 成人激情动漫在线观看| 自拍偷拍欧美精品| 91福利区一区二区三区| 亚洲一区二区三区四区中文字幕 | 777午夜精品免费视频| 日韩在线观看一区二区| 日韩视频一区二区三区在线播放| 天天亚洲美女在线视频| 欧美一区二区播放| 国产一区二区在线视频| 日本一区二区动态图| 99re8在线精品视频免费播放| 亚洲色图视频免费播放| 色婷婷久久99综合精品jk白丝| 亚洲一区二区av在线| 欧美日韩高清一区二区三区| 免费观看久久久4p| 久久久久久免费| 99热这里都是精品| 亚洲综合无码一区二区| 欧美一区二区三区视频在线观看| 蜜芽一区二区三区| 亚洲国产精品av| 91麻豆精品视频| 蜜芽一区二区三区| 中文乱码免费一区二区| 欧美在线你懂的| 久久激情五月激情| 国产精品视频一区二区三区不卡| 一本一道久久a久久精品| 日韩中文欧美在线| 国产性天天综合网| 在线视频欧美区| 韩国成人精品a∨在线观看| 国产精品不卡在线观看| 欧美精品日韩精品|