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

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

?? initialize.c

?? 實現圖像的jpeg無損壓縮
?? C
字號:
/* SPMG/JPEG-LS IMPLEMENTATION V.2.1   =====================================   These programs are Copyright (c) University of British Columbia. All rights reserved.   They may be freely redistributed in their entirety provided that this copyright   notice is not removed.  THEY MAY NOT BE SOLD FOR PROFIT OR INCORPORATED IN   COMMERCIAL PROGRAMS WITHOUT THE WRITTEN PERMISSION OF THE COPYRIGHT HOLDER.   Each program is provided as is, without any express or implied warranty,   without even the warranty of fitness for a particular purpose.   =========================================================   THIS SOFTWARE IS BASED ON HP's implementation of jpeg-ls:   =========================================================   LOCO-I/JPEG-LS IMPLEMENTATION V.0.90   -------------------------------------------------------------------------------   (c) COPYRIGHT HEWLETT-PACKARD COMPANY, 1995-1999.        HEWLETT-PACKARD COMPANY ("HP") DOES NOT WARRANT THE ACCURACY OR   COMPLETENESS OF THE INFORMATION GIVEN HERE.  ANY USE MADE OF, OR   RELIANCE ON, SUCH INFORMATION IS ENTIRELY AT USER'S OWN RISK.        BY DOWNLOADING THE LOCO-I/JPEG-LS COMPRESSORS/DECOMPRESSORS   ("THE SOFTWARE") YOU AGREE TO BE BOUND BY THE TERMS AND CONDITIONS   OF THIS LICENSING AGREEMENT.        YOU MAY DOWNLOAD AND USE THE SOFTWARE FOR NON-COMMERCIAL PURPOSES   FREE OF CHARGE OR FURTHER OBLIGATION.  YOU MAY NOT, DIRECTLY OR   INDIRECTLY, DISTRIBUTE THE SOFTWARE FOR A FEE, INCORPORATE THIS   SOFTWARE INTO ANY PRODUCT OFFERED FOR SALE, OR USE THE SOFTWARE   TO PROVIDE A SERVICE FOR WHICH A FEE IS CHARGED.        YOU MAY MAKE COPIES OF THE SOFTWARE AND DISTRIBUTE SUCH COPIES TO   OTHER PERSONS PROVIDED THAT SUCH COPIES ARE ACCOMPANIED BY   HEWLETT-PACKARD'S COPYRIGHT NOTICE AND THIS AGREEMENT AND THAT   SUCH OTHER PERSONS AGREE TO BE BOUND BY THE TERMS OF THIS AGREEMENT.        THE SOFTWARE IS NOT OF PRODUCT QUALITY AND MAY HAVE ERRORS OR DEFECTS.   THE JPEG-LS STANDARD IS STILL UNDER DEVELOPMENT. THE SOFTWARE IS NOT A   FINAL OR FULL IMPLEMENTATION OF THE STANDARD.  HP GIVES NO EXPRESS OR   IMPLIED WARRANTY OF ANY KIND AND ANY IMPLIED WARRANTIES OF   MERCHANTABILITY AND FITNESS FOR PURPOSE ARE DISCLAIMED.        HP SHALL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL,   OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE.   -------------------------------------------------------------------------------*//* initialize.c --- functions to initialize look up tables *                  and statistics tables             * * Initial code by Alex Jakulin,  Aug. 1995 * * Modified and optimized: Gadiel Seroussi, October 1995 * * * Modified and added Restart marker and input tables by: * David Cheng-Hsiu Chu, and Ismail R. Ismail march 1999 */#include <stdio.h>#include <math.h>#include "global.h"#include "bitio.h"int vLUT[3][2 * LUTMAX16];int classmap[CONTEXTS1];int	*qdiv0, *qdiv,        /* quantization table (division via look-up) */	*qmul0, *qmul;        /* dequantization table */int N[TOT_CONTEXTS],     A[TOT_CONTEXTS],     B[TOT_CONTEXTS],	C[TOT_CONTEXTS];/* Setup Look Up Tables for quantized gradient merging */void prepareLUTs(){	int i, j, idx, lmax;	byte k;	lmax = min(alpha,lutmax);		/* implementation limitation: */	if ( T3 > lmax-1 ) {		fprintf(stderr,"Sorry, current implementation does not support threshold T3 > %d, got %d\n",lmax-1,T3);		exit(10);	}	/* Build classification tables (lossless or lossy) */		if (lossy==FALSE) {		for (i = -lmax + 1; i < lmax; i++) {			if  ( i <= -T3 )        /* ...... -T3  */				idx = 7;			else if ( i <= -T2 )    /* -(T3-1) ... -T2 */				idx = 5;			else if ( i <= -T1 )    /* -(T2-1) ... -T1 */				idx = 3;			else if ( i <= -1 )     /* -(T1-1) ...  -1 */				idx = 1;			else if ( i == 0 )      /*  just 0 */				idx = 0;			else if ( i < T1 )      /* 1 ... T1-1 */				idx = 2;			else if ( i < T2 )      /* T1 ... T2-1 */				idx = 4;			else if ( i < T3 )      /* T2 ... T3-1 */				idx = 6;			else                    /* T3 ... */				idx = 8;			vLUT[0][i + lutmax] = CREGIONS * CREGIONS * idx;			vLUT[1][i + lutmax] = CREGIONS * idx;			vLUT[2][i + lutmax] = idx;		}	} else {		for (i = -lmax + 1; i < lmax; i++) {			if ( NEAR >= (alpha-1) )				idx = 0;   /* degenerate case, regardless of thresholds */			else				if  ( i <= -T3 )        /* ...... -T3  */					idx = 7;				else if ( i <= -T2 )    /* -(T3-1) ... -T2 */					idx = 5;				else if ( i <= -T1 )    /* -(T2-1) ... -T1 */					idx = 3;				else if ( i <= -NEAR-1 )     /* -(T1-1) ...  -NEAR-1 */					idx = 1;				else if ( i <= NEAR )      /*  within NEAR of 0 */					idx = 0;				else if ( i < T1 )      /* 1 ... T1-1 */					idx = 2;				else if ( i < T2 )      /* T1 ... T2-1 */					idx = 4;				else if ( i < T3 )      /* T2 ... T3-1 */					idx = 6;				else                    /* T3 ... */					idx = 8;			vLUT[0][i + lutmax] = CREGIONS * CREGIONS * idx;			vLUT[1][i + lutmax] = CREGIONS * idx;			vLUT[2][i + lutmax] = idx;		}	}	/*  prepare context mapping table (symmetric context merging) */	classmap[0] = 0;	for ( i=1, j=0; i<CONTEXTS1; i++) {	    int q1, q2, q3, n1=0, n2=0, n3=0, ineg, sgn;	    if(classmap[i])			continue;	    q1 = i/(CREGIONS*CREGIONS);		/* first digit */	    q2 = (i/CREGIONS)%CREGIONS;		/* second digit */    	q3 = i%CREGIONS;    			/* third digit */	    if((q1%2)||(q1==0 && (q2%2))||(q1==0 && q2==0 && (q3%2)))			sgn = -1;	    else			sgn = 1;	    /* compute negative context */    	if(q1) n1 = q1 + ((q1%2) ? 1 : -1);	    if(q2) n2 = q2 + ((q2%2) ? 1 : -1);	    if(q3) n3 = q3 + ((q3%2) ? 1 : -1);	    ineg = (n1*CREGIONS+n2)*CREGIONS+n3;	    j++ ;    /* next class number */	    classmap[i] = sgn*j;	    classmap[ineg] = -sgn*j;	}}/* prepare quantization tables for near-lossless quantization */void prepare_qtables(int absize, int NEAR){    int diff, qdiff;    int beta, quant;    quant = 2*NEAR+1;    beta = absize;    if ( (qdiv0 = (int *)calloc(2*absize-1,sizeof(int)))==NULL ) {	    perror("qdiv  table");	    exit(10);    }    qdiv = qdiv0+absize-1;    if ( (qmul0 = (int *)calloc(2*beta-1,sizeof(int)))==NULL ) {	    perror("qmul  table");	    exit(10);    }    qmul = qmul0+beta-1;    for ( diff = -(absize-1); diff<absize; diff++ ) {	    if ( diff<0 )		    qdiff = - ( (NEAR-diff)/quant );	    else		    qdiff = ( NEAR + diff )/quant;	    qdiv[diff] = qdiff;    }    for ( qdiff = -(beta-1); qdiff<beta; qdiff++ ) {	    diff = quant*qdiff;	    qmul[qdiff] = diff;    }}/* Initialize A[], B[], C[], and N[] arrays */void init_stats(int absize) {	int i, initabstat, slack;	slack = 1<<INITABSLACK;	initabstat = (absize + slack/2)/slack;	if ( initabstat < MIN_INITABSTAT ) initabstat = MIN_INITABSTAT;	/* do the statistics initialization */	for (i = 0; i < TOT_CONTEXTS; ++i) {		C[i]= B[i] = 0;		N[i] = INITNSTAT;		A[i] = initabstat;	}}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产视频一区二区三区在线观看 | 日韩三级中文字幕| 日韩亚洲欧美综合| 国产精品视频第一区| 日韩av电影一区| 91免费版在线看| 精品电影一区二区| 日韩激情视频在线观看| a级高清视频欧美日韩| 精品国产一区二区精华| 亚洲综合成人在线视频| 成人国产亚洲欧美成人综合网| 欧美久久婷婷综合色| 综合久久综合久久| 国产98色在线|日韩| 精品国产青草久久久久福利| 日韩主播视频在线| 懂色av中文一区二区三区| 精品成人一区二区三区| 免费欧美在线视频| 欧美日韩国产综合久久| 亚洲一区日韩精品中文字幕| av福利精品导航| 国产精品视频免费| 岛国av在线一区| 欧美国产日韩在线观看| 高清国产一区二区三区| 国产婷婷一区二区| 国产精品一区二区x88av| 欧美videos大乳护士334| 日韩**一区毛片| 欧美日韩不卡一区| 午夜精品免费在线| 欧美日韩二区三区| 日韩avvvv在线播放| 日韩欧美一级片| 国产精品一区一区| 国产欧美一区二区精品性| 国产盗摄精品一区二区三区在线| 精品国产伦一区二区三区观看体验 | 99视频有精品| 国产精品毛片久久久久久久| av影院午夜一区| 亚洲欧美福利一区二区| 在线免费av一区| 午夜不卡av免费| 精品伦理精品一区| 成人一级黄色片| 一区二区三区欧美在线观看| 日韩欧美一区二区免费| 国产乱子轮精品视频| 欧美高清在线一区二区| 色8久久精品久久久久久蜜| 亚洲成人免费电影| 欧美一区二区视频在线观看| 激情综合网天天干| 成人免费小视频| 欧美精品在欧美一区二区少妇| 免费成人av在线| 国产视频一区二区在线| 91在线国内视频| 五月婷婷久久丁香| 久久久久久免费| 在线视频你懂得一区二区三区| 日本不卡视频一二三区| 日本一区免费视频| 精品视频免费看| 国产91丝袜在线播放九色| 亚洲国产欧美另类丝袜| 国产清纯白嫩初高生在线观看91| www.亚洲国产| 麻豆精品精品国产自在97香蕉| 国产精品盗摄一区二区三区| 欧美丰满嫩嫩电影| av成人免费在线| 捆绑变态av一区二区三区| 成人欧美一区二区三区| 精品久久久久久无| 欧美亚洲国产一区在线观看网站| 久草中文综合在线| 亚洲成人黄色小说| 国产精品久久久久影院老司| 欧美大片拔萝卜| 欧美日韩久久不卡| 成人18视频在线播放| 蜜桃av噜噜一区| 亚洲综合区在线| 国产精品久久久久久久久图文区 | 狠狠色综合播放一区二区| 日韩码欧中文字| 久久久久久麻豆| 日韩精品中文字幕一区| 欧美浪妇xxxx高跟鞋交| 99久久精品国产一区二区三区| 久久99深爱久久99精品| 五月天丁香久久| 亚洲一区二区视频在线观看| 国产精品久久久久aaaa樱花 | 欧美成人a在线| 欧美日韩一区二区在线视频| 91丝袜美女网| 99国产欧美另类久久久精品| 国产乱人伦偷精品视频不卡| 麻豆成人91精品二区三区| 亚洲aaa精品| 亚洲国产精品久久不卡毛片| 亚洲欧美另类小说视频| 狠狠久久亚洲欧美| 日本一道高清亚洲日美韩| 图片区日韩欧美亚洲| 亚洲高清免费在线| 亚洲一区二区三区在线看| 亚洲美女区一区| 一区av在线播放| 亚洲国产成人91porn| 亚洲va中文字幕| 天天操天天综合网| 天堂一区二区在线免费观看| 亚洲成人av在线电影| 日日骚欧美日韩| 久久精品国产精品青草| 国产一区二区视频在线| 国产精品 欧美精品| 成人综合婷婷国产精品久久免费| 国产91丝袜在线播放九色| 北岛玲一区二区三区四区| 色婷婷综合久久久久中文| 在线一区二区三区四区| 欧美精品tushy高清| 精品国产乱码久久久久久牛牛| 久久青草欧美一区二区三区| 国产精品欧美精品| ...xxx性欧美| 天天亚洲美女在线视频| 激情六月婷婷综合| www.性欧美| 正在播放亚洲一区| 久久久久久97三级| 中文字幕综合网| 日韩av电影免费观看高清完整版| 国产一区二区三区最好精华液| 96av麻豆蜜桃一区二区| 欧美日韩久久不卡| 久久毛片高清国产| 亚洲一区国产视频| 国产盗摄精品一区二区三区在线 | 久久久精品黄色| 亚洲精选视频在线| 久久精品理论片| 99视频热这里只有精品免费| 欧美老肥妇做.爰bbww视频| 国产午夜精品一区二区三区视频 | 91精品国产91久久综合桃花| 国产日韩三级在线| 性做久久久久久久免费看| 国产成人亚洲综合a∨婷婷| 色哟哟国产精品| 久久综合久久久久88| 亚洲图片欧美视频| 国产成人av电影在线观看| 欧美影视一区在线| 国产精品麻豆网站| 久久精品国产一区二区| 色综合激情久久| 国产校园另类小说区| 日韩国产精品大片| 欧美中文字幕一区二区三区亚洲| 精品国产99国产精品| 亚洲v中文字幕| 日本韩国精品在线| 中文字幕欧美日本乱码一线二线| 日韩国产在线观看| 欧美性感一类影片在线播放| 日本一区二区三区电影| 久久成人免费网| 欧美精品国产精品| 亚洲国产成人porn| 一本到高清视频免费精品| 国产欧美日韩在线看| 日本不卡123| 欧美精品日韩综合在线| 一区二区三区日韩欧美| k8久久久一区二区三区| 久久久久久久久一| 国产麻豆午夜三级精品| 日韩欧美高清在线| 蜜臀精品一区二区三区在线观看| 欧美在线免费观看视频| 亚洲女人****多毛耸耸8| 成人福利电影精品一区二区在线观看| 日韩一区二区三区在线观看| 日本欧美加勒比视频| 777久久久精品| 夜色激情一区二区| 欧美视频在线观看一区| 亚洲永久精品国产| 欧美日韩在线精品一区二区三区激情 | 亚洲成av人片在线观看无码| 色av成人天堂桃色av| 亚洲激情男女视频|