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

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

?? quantim.c

?? 好東西呢
?? C
字號:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <crblib/inc.h>
#include "quantim.h"
#include "quantutil.h"
#include "coder.h"
#include "subbands.h"

char * qtype_names[] = {
	"deadzone","ESZZ",NULL
};

quantInfo * findQuantizers(int qtype,int qflags,double quant_target,
	imageFloat *imF,int levels,int stoplen,coder *coder_template)
{
quantInfo *qi;

	if ( qflags == QFLAG_UNIFORM ) {

		if ( quant_target == 1.0 ) {
			if ( (qi = newQI(0)) == NULL ) return NULL;
			qi->nquants = 0;
			qi->qtype = qtype;	
		} else {
			if ( (qi = newQI(1)) == NULL ) return NULL;
			qi->nquants = 1;
			qi->qtype = qtype;	
			qi->quantizers[0] = (float) quant_target;
		}
	} else {
		int i,nq;

		nq = 3*levels + 1;

		if ( (qi = newQI(nq)) == NULL ) return NULL;
		qi->nquants = nq;
		qi->qtype = qtype;	
		for(i=0;i<nq;i++) qi->quantizers[i] = (float) quant_target;

		if ( qflags & QFLAG_SEEKSTOP ) 
			seekStoppedQuantizers(imF,levels,qi->quantizers,stoplen,coder_template);

		if ( qflags & QFLAG_FIDDLE ) 
			fiddleQuantizers(imF,levels,qi->quantizers,coder_template);
	}

return qi;
}

void   quantizeImage(image *im,int levels,quantInfo *qi)
{
	switch(qi->qtype) {
		case QTYPE_ESZZ:
			if ( qi->nquants == 1 ) 
				quantizeBandsESZZIntU(im,levels,qi->quantizers[0]);
			else if ( qi->nquants == (3*levels + 1) ) 
				quantizeBandsESZZInt(im,levels,qi->quantizers);
			break;
		case QTYPE_DEADZONE:
		default:
			if ( qi->nquants == 1 ) 
				quantizeBandsDZIntU(im,levels,qi->quantizers[0]);
			else if ( qi->nquants == (3*levels + 1) ) 
				quantizeBandsDZInt(im,levels,qi->quantizers);
			break;
	}
}
void dequantizeImage(image *im,int levels,quantInfo *qi)
{
	switch(qi->qtype) {
		case QTYPE_ESZZ:
			if ( qi->nquants == 1 ) 
				dequantizeBandsESZZIntU(im,levels,qi->quantizers[0]);
			else if ( qi->nquants == (3*levels + 1) ) 
				dequantizeBandsESZZInt(im,levels,qi->quantizers);
			break;
		case QTYPE_DEADZONE:
		default:
			if ( qi->nquants == 1 ) 
				dequantizeBandsDZIntU(im,levels,qi->quantizers[0]);
			else if ( qi->nquants == (3*levels + 1) ) 
				dequantizeBandsDZInt(im,levels,qi->quantizers);
			break;
	}
}
void   quantizeImageF(image *im,imageFloat *imF,int levels,quantInfo *qi)
{
	switch(qi->qtype) {
		case QTYPE_ESZZ:
			if ( qi->nquants == 1 ) 
				quantizeBandsESZZU(imF,im,levels,qi->quantizers[0]);
			else if ( qi->nquants == (3*levels + 1) ) 
				quantizeBandsESZZ(imF,im,levels,qi->quantizers);
			else
				quantizeBandsESZZU(imF,im,levels,1.0);
			break;
		case QTYPE_DEADZONE:
		default:
			if ( qi->nquants == 1 ) 
				quantizeBandsDZU(imF,im,levels,qi->quantizers[0]);
			else if ( qi->nquants == (3*levels + 1) ) 
				quantizeBandsDZ(imF,im,levels,qi->quantizers);
			else
				quantizeBandsDZU(imF,im,levels,1.0);
			break;
	}
}
void dequantizeImageF(image *im,imageFloat *imF,int levels,quantInfo *qi)
{
	switch(qi->qtype) {
		case QTYPE_ESZZ:
			if ( qi->nquants == 1 ) 
				dequantizeBandsESZZU(im,imF,levels,qi->quantizers[0]);
			else if ( qi->nquants == (3*levels + 1) ) 
				dequantizeBandsESZZ(im,imF,levels,qi->quantizers);
			else
				dequantizeBandsESZZU(im,imF,levels,1.0);
			break;
		case QTYPE_DEADZONE:
		default:
			if ( qi->nquants == 1 ) 
				dequantizeBandsDZU(im,imF,levels,qi->quantizers[0]);
			else if ( qi->nquants == (3*levels + 1) ) 
				dequantizeBandsDZ(im,imF,levels,qi->quantizers);
			else
				dequantizeBandsDZU(im,imF,levels,1.0);
			break;
	}
}



void deTransQuantIm(image *im,int levels,int transformN,quantInfo *qi)
{

	if ( ! levels ) return;

	transposeLHs(im,levels);

	if ( (transformN&TRANS_INT_TO_INT) && ( qi == NULL || qi->nquants == 0 ) ) {
		transformImageInt(im,levels,1,transformN);
	} else if ( (transformN&TRANS_INT_TO_INT) && qi->nquants == 1 && qi->quantizers[0] == (int)qi->quantizers[0] ) {

		dequantizeImage(im,levels,qi);

		transformImageInt(im,levels,1,transformN);
	} else {
		imageFloat *imF = NULL;

		if ( (imF = newImageFloatFrom(im)) == NULL )
			errexit("newImageFloat failed");

		dequantizeImageF(im,imF,levels,qi);

		if ( transformN == TRANS_DCT  ) {
			deshuffleDctImage(&imF);
		}
		transformImage(im,imF,levels,1,transformN);

		freeImageFloat(imF);
	}
}

quantInfo * doTransQuantIm(image *im,int levels,int transformN,
		int qtype,int qflags,double q,
		int stoplen,const coder *coder_template)
{
quantInfo *qi;

	if ( levels == 0 ) return NULL;

	if ( (transformN&TRANS_INT_TO_INT) && qflags == QFLAG_UNIFORM && (int)q == q ) {
		qi = findQuantizers(qtype,qflags,q, NULL,levels,0,NULL);
		transformImageInt(im,levels,0,transformN);
		if ( q != 1 )
			quantizeImage(im,levels,qi);
	} else {
		imageFloat *imF;
		if ( (imF = newImageFloatFrom(im)) == NULL )
			errexit("newImage failed");

		transformImage(im,imF,levels,0,transformN);

		if ( transformN == TRANS_DCT  ) {
			shuffleDctImage(&imF);
		}

		qi = findQuantizers(qtype,qflags,q, imF,levels,stoplen,(coder *)coder_template);

		quantizeImageF(im,imF,levels,qi);

		freeImageFloat(imF);
	}

	transposeLHs(im,levels);

return qi;
}


wavelet * makeTransQuantWavelet(image *im,int levels,int transformN,
				int qtype,int qflags,double q,
				int stoplen,const coder *coder_template)
{
wavelet * w;

	if ( (w = newWavelet(im,levels)) == NULL )
		return NULL;

	w->stoplen = stoplen;
	w->coder_template = coder_template;

	w->transform = transformN;
	w->qi = doTransQuantIm(im,levels,transformN,	
		qtype,qflags,q,
		stoplen,coder_template);

	w->subband_root = imageToSubbands(im,levels);

	activitySubbands(w->subband_root);

return w;
}

void deTransQuantWavelet(wavelet * w)
{
	deTransQuantIm(w->im,w->levels,w->transform,w->qi);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美在线不卡视频| 粉嫩欧美一区二区三区高清影视| 色哟哟国产精品免费观看| 国产精品久久久久久久岛一牛影视| 国产成人午夜99999| 国产片一区二区| av电影在线观看完整版一区二区| 国产精品电影一区二区| 成人免费看黄yyy456| 国产精品久久久久9999吃药| av激情成人网| 亚洲综合在线视频| 欧美一区二区三区四区在线观看| 免费观看日韩av| 精品对白一区国产伦| 国产91精品露脸国语对白| 亚洲欧美怡红院| 欧美日韩亚洲另类| 精品一区二区免费视频| 国产欧美日韩视频在线观看| 91玉足脚交白嫩脚丫在线播放| 夜夜操天天操亚洲| 日韩欧美成人一区| av一区二区三区四区| 亚洲午夜在线电影| 精品国产乱码久久久久久夜甘婷婷| 国产综合色产在线精品| 中文字幕亚洲成人| 日韩一二三四区| 成人高清在线视频| 五月天中文字幕一区二区| 久久综合狠狠综合久久综合88| 色婷婷综合久久久| 日韩中文欧美在线| 国产精品视频九色porn| 在线播放日韩导航| 成人午夜av电影| 五月天欧美精品| 专区另类欧美日韩| 欧美电影免费观看高清完整版在 | 国产主播一区二区| 亚洲男人的天堂在线观看| 日韩一级大片在线| 一本色道久久综合亚洲91| 精一区二区三区| 亚洲综合久久久久| 国产亚洲精品bt天堂精选| 欧美日韩一二区| 99久久国产综合色|国产精品| 免费观看一级欧美片| 亚洲自拍偷拍综合| 国产精品免费丝袜| 欧美成人aa大片| 欧美在线观看一二区| 成人综合激情网| 精品亚洲成a人在线观看| 亚洲一级片在线观看| 国产精品美日韩| 久久久91精品国产一区二区精品 | 成人精品高清在线| 日韩vs国产vs欧美| 亚洲国产精品久久人人爱 | 一区二区三区四区五区视频在线观看 | 欧美日本国产视频| 色综合网色综合| 波多野结衣91| 国产999精品久久久久久| 国产在线精品不卡| 久久精品国产99| 免费xxxx性欧美18vr| 天天综合色天天综合| 亚洲综合在线免费观看| 中文字幕制服丝袜一区二区三区| 久久久久国产精品厨房| 欧美高清视频一二三区 | 精品国产一二三| 欧美精品在线观看播放| 欧美综合在线视频| 99国产精品久久久久久久久久| 国产69精品一区二区亚洲孕妇| 国产一区二区毛片| 国产在线视频一区二区| 国产一区在线观看视频| 精品一区二区三区在线视频| 狠狠狠色丁香婷婷综合久久五月| 免费av成人在线| 久久不见久久见免费视频1| 男女男精品网站| 日本视频中文字幕一区二区三区| 日本女优在线视频一区二区 | 国产曰批免费观看久久久| 黄页网站大全一区二区| 国产一区二区成人久久免费影院| 国产精品99久| 精品一区二区免费看| 三级一区在线视频先锋| 美女网站色91| 激情成人午夜视频| 国产一区二区在线电影| 精品中文字幕一区二区| 一区二区三区在线视频观看| 国产精品你懂的在线欣赏| 中文字幕欧美国产| 精品国产一区二区三区久久影院| 国产女人18水真多18精品一级做| 久久色在线观看| 久久亚洲二区三区| 久久久99精品久久| 国产精品美女视频| 中文字幕字幕中文在线中不卡视频| 亚洲国产一区二区a毛片| 久久中文娱乐网| 国产精品入口麻豆九色| 国产精品久久久久久久久免费丝袜| 国产精品大尺度| 久久综合九色欧美综合狠狠| 亚洲人成网站色在线观看| 亚洲激情一二三区| 日韩va亚洲va欧美va久久| 韩国午夜理伦三级不卡影院| 国产精品1区二区.| 国产精品一区免费在线观看| 一道本成人在线| 欧美日韩一卡二卡三卡 | 亚洲美女在线国产| 亚洲国产人成综合网站| 国产69精品久久777的优势| proumb性欧美在线观看| 欧美专区日韩专区| 欧美一区二区三区视频免费播放| 精品国产乱子伦一区| 久久在线观看免费| 亚洲成人av电影| 国产伦精品一区二区三区免费| 成人伦理片在线| 777奇米四色成人影色区| 久久久国产精华| 亚洲欧洲在线观看av| 香蕉乱码成人久久天堂爱免费| 裸体歌舞表演一区二区| 99热在这里有精品免费| 精品久久久三级丝袜| 亚洲欧美国产77777| 麻豆视频观看网址久久| 成人国产精品免费观看视频| 7777精品伊人久久久大香线蕉| 国产精品网友自拍| 午夜激情久久久| 成人丝袜高跟foot| 欧美唯美清纯偷拍| 国产欧美精品一区| 午夜伦理一区二区| 91网站在线观看视频| 欧美一区二区在线看| 亚洲免费av高清| 国产精品69久久久久水密桃| 欧美女孩性生活视频| 国产精品免费人成网站| 国产福利精品导航| 欧美丰满高潮xxxx喷水动漫| 国产精品二区一区二区aⅴ污介绍| 日日夜夜免费精品| 91亚洲永久精品| 自拍偷自拍亚洲精品播放| 国产自产v一区二区三区c| 欧美日韩免费高清一区色橹橹| 欧美国产一区二区| 裸体健美xxxx欧美裸体表演| 91在线观看免费视频| 久久久久久一级片| 日本视频一区二区| 欧美中文字幕一区二区三区| 国产精品美女久久久久久久久久久| 岛国av在线一区| 精品国产欧美一区二区| 日韩精品一区第一页| 日本精品一区二区三区高清 | 久久久久国产精品麻豆ai换脸 | 1区2区3区精品视频| 成人av在线观| 国产精品久久久久久久蜜臀| 国产很黄免费观看久久| 久久这里只有精品6| 国产在线观看免费一区| 精品久久久久久久久久久久久久久| 日韩有码一区二区三区| 欧美精品一二三| 性做久久久久久| 91麻豆.com| 一区二区三区久久| 色国产综合视频| 亚洲国产另类av| 精品久久久久久久久久久院品网 | 免费黄网站欧美| 日韩一卡二卡三卡国产欧美| 日韩电影在线观看网站| 欧美日韩中文字幕一区二区| 一区二区视频在线看| 日本韩国精品在线| 一区二区三区在线视频播放|