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

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

?? ordered2.c

?? MPEG2 PLAYER in linux
?? C
字號:
/* * ordered2.c -- * *      This file contains C code to implement a faster ordered dither *      than the one found in ordered.c.  This dither is the default *      if no dither is specified. * *//*   * Copyright (c) 1995 The Regents of the University of California. * All rights reserved. *  * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose, without fee, and without written agreement is * hereby granted, provided that the above copyright notice and the following * two paragraphs appear in all copies of this software. *  * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF * CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *  * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS * ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. */#include "video.h"#include "proto.h"#include "dither.h"#define DITH_SIZE 16/* Structures used to implement hybrid ordered dither/floyd-steinberg   dither algorithm.*/static unsigned char ***ditherPtr[DITH_SIZE];/* *-------------------------------------------------------------- * *  InitOrderedDither-- * *	Structures intialized for ordered dithering.  * * Results: *	None. * * Side effects: *      None. * *-------------------------------------------------------------- */voidInitOrdered2Dither(){  unsigned char ****pos_2_cb;  unsigned char ***cb_2_cr;  unsigned char **cr_2_l;  int cb_val, cb_rval, cr_val, cr_rval, l_val, l_rval;  int i, j, pos;  int err_range, threshval;  pos_2_cb = (unsigned char ****) malloc (DITH_SIZE*sizeof(unsigned char ***));  cb_2_cr = (unsigned char ***) malloc(CB_RANGE*sizeof(unsigned char **));  cr_2_l = (unsigned char **) malloc(CR_RANGE*sizeof(unsigned char *));  for (pos=0; pos<DITH_SIZE; pos++) {        pos_2_cb[pos] = (unsigned char ***) malloc(256*(sizeof(unsigned char **)));    for (j=0; j<CB_RANGE; j++) {      cb_2_cr[j] = (unsigned char **) malloc(256*(sizeof(unsigned char *)));    }    for (cb_val=0; cb_val<cb_values[0]; cb_val++) {      (pos_2_cb[pos])[cb_val] = cb_2_cr[0];    }    for (cb_rval=0; cb_rval<(CB_RANGE-1); cb_rval++) {      err_range = cb_values[cb_rval+1] - cb_values[cb_rval];      threshval = ((pos*err_range)/DITH_SIZE)+cb_values[cb_rval];      for (cb_val=cb_values[cb_rval]; cb_val<cb_values[cb_rval+1]; cb_val++) {	if (cb_val>threshval) (pos_2_cb[pos])[cb_val] = cb_2_cr[cb_rval+1];	else (pos_2_cb[pos])[cb_val] = cb_2_cr[cb_rval];      }    }    for (cb_val=cb_values[CB_RANGE-1]; cb_val<256; cb_val++) {      (pos_2_cb[pos])[cb_val] = cb_2_cr[CB_RANGE-1];    }    for (cb_rval=0; cb_rval<CB_RANGE; cb_rval++) {            for (j=0; j<CR_RANGE; j++) {	cr_2_l[j] = (unsigned char *) malloc(256*(sizeof(unsigned char)));      }      for (cr_val=0; cr_val < cr_values[0]; cr_val++) {	(cb_2_cr[cb_rval])[cr_val] = cr_2_l[0];      }      for (cr_rval=0; cr_rval<(CR_RANGE-1); cr_rval++) {	err_range = cr_values[cr_rval+1] - cr_values[cr_rval];	threshval = ((pos*err_range)/DITH_SIZE)+cr_values[cr_rval];		for (cr_val=cr_values[cr_rval]; cr_val<cr_values[cr_rval+1]; cr_val++) {	  if (cr_val>threshval) (cb_2_cr[cb_rval])[cr_val] = cr_2_l[cr_rval+1];	  else (cb_2_cr[cb_rval])[cr_val] = cr_2_l[cr_rval];	}      }            for (cr_val=cr_values[CR_RANGE-1]; cr_val<256; cr_val++) {	(cb_2_cr[cb_rval])[cr_val] = cr_2_l[CR_RANGE-1];      }            for (cr_rval=0; cr_rval<CR_RANGE; cr_rval++) {		for (l_val = 0; l_val < lum_values[0]; l_val++) {	  (cr_2_l[cr_rval])[l_val] = pixel[cb_rval+(cr_rval*CB_RANGE)+					    (0*CR_RANGE*CB_RANGE)];	}	for (l_rval=0; l_rval<(LUM_RANGE-1); l_rval++) {	  err_range = lum_values[l_rval+1] - lum_values[l_rval];	  threshval = ((pos*err_range) /DITH_SIZE) + lum_values[l_rval];	  for (l_val = lum_values[l_rval]; l_val < lum_values[l_rval+1]; l_val++) {	    if (l_val>threshval) (cr_2_l[cr_rval])[l_val] = 	      pixel[cb_rval+(cr_rval*CB_RANGE)+((l_rval+1)*CR_RANGE*CB_RANGE)];	    else (cr_2_l[cr_rval])[l_val] =	      pixel[cb_rval+(cr_rval*CB_RANGE)+(l_rval*CR_RANGE*CB_RANGE)];	  }	}	for (l_val = lum_values[LUM_RANGE-1]; l_val < 256; l_val++) {	  (cr_2_l[cr_rval])[l_val] = 	    pixel[cb_rval+(cr_rval*CB_RANGE)+((LUM_RANGE-1)*CR_RANGE*CB_RANGE)];	}      }    }  }  for (i=0; i<DITH_SIZE; i++) {    ditherPtr[i] = pos_2_cb[i];  }}/* *-------------------------------------------------------------- * * Ordered2DitherImage -- * *	Dithers an image using an ordered dither. *	Assumptions made: *	  1) The color space is allocated y:cr:cb = 8:4:4 *	  2) The spatial resolution of y:cr:cb is 4:1:1 *      The channels are dithered based on the standard *      ordered dither pattern for a 4x4 area.  * * Results: *	None. * * Side effects: *	None. * *-------------------------------------------------------------- */voidOrdered2DitherImage (lum, cr, cb, out, h, w)    unsigned char *lum;    unsigned char *cr;    unsigned char *cb;    unsigned char *out;    int w, h;{  unsigned char *l, *r, *b, *o1, *o2;  unsigned char *l2;  unsigned char L, R, B;  int i, j;  unsigned char ***dp0 = ditherPtr[0];  unsigned char ***dp2 = ditherPtr[2];  unsigned char ***dp4 = ditherPtr[4];  unsigned char ***dp6 = ditherPtr[6];  unsigned char ***dp8 = ditherPtr[8];  unsigned char ***dp10 = ditherPtr[10];  unsigned char ***dp12 = ditherPtr[12];  unsigned char ***dp14 = ditherPtr[14];  unsigned char ***dp1 = ditherPtr[1];  unsigned char ***dp3 = ditherPtr[3];  unsigned char ***dp5 = ditherPtr[5];  unsigned char ***dp7 = ditherPtr[7];  unsigned char ***dp9 = ditherPtr[9];  unsigned char ***dp11 = ditherPtr[11];  unsigned char ***dp13 = ditherPtr[13];  unsigned char ***dp15 = ditherPtr[15];  l = lum;  l2 = lum+w;  r = cr;  b = cb;  o1 = out;  o2 = out+w;  for (i=0; i<h; i+=4) {    for (j=0; j<w; j+=8) {      R = r[0]; B = b[0];      L = l[0];      o1[0] = ((dp0[B])[R])[L];      L = l[1];      o1[1] = ((dp8[B])[R])[L];      L = l2[0];      o2[0] = ((dp12[B])[R])[L];      L = l2[1];      o2[1] = ((dp4[B])[R])[L];      R = r[1]; B = b[1];      L = l[2];      o1[2] = ((dp2[B])[R])[L];      L = l[3];      o1[3] = ((dp10[B])[R])[L];      L = l2[2];      o2[2] = ((dp14[B])[R])[L];      L = l2[3];      o2[3] = ((dp6[B])[R])[L];      R = r[2]; B = b[2];      L = l[4];      o1[4] = ((dp0[B])[R])[L];      L = l[5];      o1[5] = ((dp8[B])[R])[L];      L = l2[4];      o2[4] = ((dp12[B])[R])[L];      L = l2[5];      o2[5] = ((dp4[B])[R])[L];      R = r[3]; B = b[3];      L = l[6];      o1[6] = ((dp2[B])[R])[L];      L = l[7];      o1[7] = ((dp10[B])[R])[L];      L = l2[6];      o2[6] = ((dp14[B])[R])[L];      L = l2[7];      o2[7] = ((dp6[B])[R])[L];      l += 8;      l2 += 8;      r += 4;      b += 4;      o1 += 8;      o2 += 8;    }    l += w; 	l2 += w;    o1 += w; 	o2 += w;    for (j=0; j<w; j+=8) {      R = r[0]; B = b[0];      L = l[0];      o1[0] = ((dp3[B])[R])[L];      L = l[1];      o1[1] = ((dp11[B])[R])[L];      L = l2[0];      o2[0] = ((dp15[B])[R])[L];      L = l2[1];      o2[1] = ((dp7[B])[R])[L];      R = r[1]; B = b[1];      L = l[2];      o1[2] = ((dp1[B])[R])[L];      L = l[3];      o1[3] = ((dp9[B])[R])[L];      L = l2[2];      o2[2] = ((dp13[B])[R])[L];      L = l2[3];      o2[3] = ((dp5[B])[R])[L];      R = r[2]; B = b[2];      L = l[4];      o1[4] = ((dp3[B])[R])[L];      L = l[5];      o1[5] = ((dp11[B])[R])[L];      L = l2[4];      o2[4] = ((dp15[B])[R])[L];      L = l2[5];      o2[5] = ((dp7[B])[R])[L];      R = r[3]; B = b[3];      L = l[6];      o1[6] = ((dp1[B])[R])[L];      L = l[7];      o1[7] = ((dp9[B])[R])[L];      L = l2[6];      o2[6] = ((dp13[B])[R])[L];      L = l2[7];      o2[7] = ((dp5[B])[R])[L];      l += 8;      l2 += 8;      r += 4;      b += 4;      o1 += 8;      o2 += 8;    }    l += w; 	l2 += w;    o1 += w;	o2 += w;  }}  

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久国产精品人| 欧美午夜在线一二页| 亚洲一区在线观看视频| 久久精品男人天堂av| 日韩精品中文字幕一区二区三区| 欧美中文字幕一二三区视频| 91网站黄www| 亚洲图片欧美综合| 午夜电影久久久| 日韩中文欧美在线| 麻豆精品在线看| 美女视频免费一区| 黑人巨大精品欧美一区| 久久成人久久爱| 久久国产人妖系列| 六月丁香婷婷色狠狠久久| 麻豆视频一区二区| 国模无码大尺度一区二区三区| 精品一区二区日韩| 国产91丝袜在线18| 91天堂素人约啪| 欧美在线免费观看亚洲| 欧美日韩dvd在线观看| 精品久久人人做人人爽| 国产日韩欧美精品一区| 日韩码欧中文字| 婷婷开心激情综合| 国产成人免费在线| 99国产精品视频免费观看| 欧美日韩在线一区二区| 777欧美精品| 欧美激情综合网| 亚洲综合激情网| 国产又黄又大久久| 色欧美88888久久久久久影院| 欧美视频完全免费看| 精品国产免费久久| 日韩一区欧美一区| 免费久久精品视频| aaa亚洲精品一二三区| 在线综合亚洲欧美在线视频| 国产人妖乱国产精品人妖| 亚洲在线免费播放| 国产一区啦啦啦在线观看| 99国产精品国产精品久久| 欧美一区二区日韩| 亚洲欧洲国产日韩| 国产在线不卡视频| 欧美日韩性生活| 国产精品第13页| 精品亚洲aⅴ乱码一区二区三区| av一区二区三区黑人| 日韩一区二区三区免费看 | 亚洲国产日韩在线一区模特| 激情综合网天天干| 欧美少妇xxx| 国产精品色在线| 精品一区二区三区香蕉蜜桃| 91精彩视频在线观看| 日韩区在线观看| 亚洲成人在线观看视频| 99久久精品国产一区二区三区| 日韩免费视频线观看| 亚洲成人免费av| 色老头久久综合| 综合网在线视频| 国产成人综合在线播放| 国产精品福利一区二区三区| 免费的成人av| 欧美一级二级在线观看| 一区二区三区精密机械公司| 91伊人久久大香线蕉| 中文字幕成人网| 国产成a人无v码亚洲福利| 精品国产凹凸成av人网站| 免费久久99精品国产| 91精品国产综合久久久久| 亚洲大片精品永久免费| 欧美无砖砖区免费| 天天色天天操综合| 欧美精品在线视频| 亚洲成人午夜影院| 91精品国产色综合久久不卡蜜臀 | 欧美日韩视频在线观看一区二区三区 | 91精彩视频在线观看| 一区二区三区成人在线视频| 色诱视频网站一区| 亚洲一区二区3| 777xxx欧美| 久久精品国产精品青草| 日韩精品在线一区二区| 国产福利精品导航| 成人欧美一区二区三区黑人麻豆 | 亚洲午夜精品17c| 在线不卡一区二区| 麻豆成人久久精品二区三区小说| 欧美一区二区免费| 国产高清无密码一区二区三区| 国产清纯白嫩初高生在线观看91 | 福利电影一区二区三区| 久久久国产精华| 91浏览器在线视频| 亚洲.国产.中文慕字在线| 欧美一级二级三级乱码| 国产在线视频一区二区| 国产精品久久久久久妇女6080| 91搞黄在线观看| 欧美aaaaa成人免费观看视频| 久久综合网色—综合色88| 成人夜色视频网站在线观看| 亚洲激情欧美激情| 日韩午夜精品视频| 成人美女在线观看| 亚洲成av人影院| 国产色91在线| 欧美日韩一级二级| 国产一区二区视频在线播放| 亚洲啪啪综合av一区二区三区| 91精品国产全国免费观看| 国产v日产∨综合v精品视频| 午夜精品一区二区三区免费视频 | 欧美三级在线视频| 国产精品性做久久久久久| 亚洲欧美综合色| 日韩欧美国产三级| 97精品视频在线观看自产线路二| 免费欧美在线视频| 夜夜嗨av一区二区三区中文字幕 | 欧美精品一级二级| 国产福利一区二区三区在线视频| 亚洲午夜激情网页| 亚洲视频在线一区二区| 日韩欧美aaaaaa| 欧美日韩一区高清| 成人精品电影在线观看| 视频一区二区三区入口| 亚洲日本在线a| 国产欧美日韩视频一区二区| 91精品国产欧美一区二区18 | 国产呦精品一区二区三区网站| 亚洲精品亚洲人成人网| 国产精品午夜免费| www国产成人| 欧美大片一区二区| 欧美另类变人与禽xxxxx| 色综合一区二区| 97久久精品人人做人人爽| 国产99久久精品| 国产成人在线电影| 国产精品夜夜嗨| 国产精品69久久久久水密桃| 久久国产精品第一页| 日本不卡一二三区黄网| 亚洲超丰满肉感bbw| 亚洲综合在线五月| 一区二区在线免费| 一区二区三区波多野结衣在线观看 | 亚洲午夜久久久久久久久电影院| 亚洲欧洲另类国产综合| 国产精品丝袜一区| 中文字幕一区二区三区精华液 | 91精品1区2区| 欧日韩精品视频| 欧美日本国产视频| 欧美二区在线观看| 日韩欧美在线网站| 欧美成人福利视频| 久久久久久久久久久电影| 国产午夜亚洲精品午夜鲁丝片| 久久精品亚洲麻豆av一区二区| 国产日产欧美一区二区视频| 国产精品成人一区二区艾草| 亚洲欧美日韩久久| 亚洲成av人片在www色猫咪| 水蜜桃久久夜色精品一区的特点| 一区二区久久久久久| 五月激情综合网| 免费看精品久久片| 成人激情免费视频| 在线观看视频一区二区 | 青青草精品视频| 国产精品自拍三区| 不卡视频一二三四| 欧美午夜一区二区三区免费大片| 欧美欧美午夜aⅴ在线观看| 欧美一卡在线观看| 久久精品视频一区二区三区| 日韩美女视频19| 日本不卡123| 粉嫩嫩av羞羞动漫久久久| 色综合色综合色综合色综合色综合 | 国产精品久久久久久户外露出| 亚洲精品乱码久久久久久黑人| 天天色天天爱天天射综合| 国产高清成人在线| 欧美日韩国产综合久久| 亚洲乱码中文字幕| 精品一区二区日韩| 91浏览器在线视频| 国产视频在线观看一区二区三区|