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

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

?? codecolr.c

?? SPIHT 源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
// = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =//      V E C T O R - T R E E   I M A G E   C O M P R E S S I O N// = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =//           > > > >    C++ version  1.04  -  06/25/95   < < < <// Amir Said - amir@densis.fee.unicamp.br// University of Campinas (UNICAMP)// Campinas, SP 13081, Brazil// William A. Pearlman - pearlman@ecse.rpi.edu// Rensselaer Polytechnic Institute// Troy, NY 12180, USA// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -// Copyright (c) 1995 Amir Said & William A. Pearlman// This program is Copyright (c) by Amir Said & William A. Pearlman.// It may be freely redistributed in its entirety provided that this// copyright notice is not removed. It may not be sold for profit or// incorporated in commercial programs without the written permission// of the copyright holders. This program is provided as is, without any// express or implied warranty, without even the warranty of fitness// for a particular purpose.// - - Inclusion - - - - - - - - - - - - - - - - - - - - - - - - - - - -#include "general.h"#include "image_3c.h"#include "aritcode.h"// - - Definitions - - - - - - - - - - - - - - - - - - - - - - - - - - -struct Tree_Node{  Image_Coord coord;  long state;  Tree_Node * next;};// - - Static variables  - - - - - - - - - - - - - - - - - - - - - - - -const int SHF_x[4] = { 0, 0, 1, 1 }, SHF_y[4] = { 0, 1, 0, 1 };char names[3][80], * pic_f_name = names[0], * cod_f_name = names[1],      * new_f_name = names[2];Chronometer code_time, total_time;int LSP_plane, LSP_part, LSP_idx, threshold_bits, pyramid_levels;int mean[3], transf_matrix[3][3];long byte_budget, root_code;float act_value, threshold, bit_rate, rate_mult;float bias[32], * LSP_mark[32], *** LSP_mtx, ** LSP_ptr;Tree_Node * LISP_head, * LISP_end;Image_Coord dimension, pyramid_dim, root_dim, LSP_dim;Image_3C image;Adaptive_Model group_model[5], node_model[34], desc_model[34];#ifdef ENCODER  Encoder data_file;  Image_3C max_image;#else  Decoder data_file;#endif// = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =//  Function Implementations// = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =int Node_Transition(int old_st, const Image_Coord & pc, int * signs){ int i;  int st_trans = 0, os = old_st, ps = old_st, mask = 1;  int msk[3], count[4];  for (int i = 0; i < 4; i++) count[i] = 0;  for (i = 0; i < 4; i++, ps >>= 2) ++count[ps&0x3];  msk[0] = msk[1] = 1;  msk[2] = 1 << count[0];  int mod = count[2] - count[0] * count[1] - 1 +    (count[0] * (count[0] * (count[0] - 18) + 107)) / 6 +    (count[1] * (11 - count[1])) / 2;#ifdef ENCODER  int b = 0;#else  int b = data_file.decode_symbol(node_model[mod]);#endif  for (*signs = i = 0; i < 4; i++, mask <<= 2, os >>= 2) {    if (old_st & mask) continue;    ps = os & 0x3;#ifdef ENCODER    if (fabs(image(pc.x + SHF_x[i], pc.y + SHF_y[i])) >= threshold) {      b |= msk[ps];#else    if (b & msk[ps]) {#endif      st_trans |= mask;  ++(*signs); }    msk[ps] <<= 1; }#ifdef ENCODER  data_file.code_symbol(b, node_model[mod]);#endif  return st_trans;}// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int Desc_Transition(int old_st, const Image_Coord & pc){ int i;  int os = old_st, ps = os, st_trans = 0, mask = 2;  int msk[3], count[4];  for (int i = 0; i < 4; i++) count[i] = 0;  for (i = 0; i < 4; i++, ps >>= 2) ++count[ps & 0x3];  msk[0] = 1;  msk[1] = msk[2] = 1 << count[0];  int mod = count[2] - count[0] * count[1] - 1 +    (count[0] * (count[0] * (count[0] - 18) + 107)) / 6 +    (count[1] * (11 - count[1])) / 2;#ifdef ENCODER  int b = 0;#else  if ((old_st & 0xAA) == 0)    if (data_file.decode_symbol(group_model[count[0]])) return 0;  int b = data_file.decode_symbol(desc_model[mod]);#endif  for (i = 0; i < 4; i++, mask <<= 2, os >>= 2) {    if (old_st & mask) continue;    ps = os & 0x3;#ifdef ENCODER    if (max_image(pc.x + SHF_x[i], pc.y + SHF_y[i]) >= threshold) {      b |= msk[ps];#else    if (b & msk[ps]) {#endif      st_trans |= mask; }    msk[ps] <<= 1; }#ifdef ENCODER  if ((old_st & 0xAA) == 0) {    data_file.code_symbol(st_trans == 0, group_model[count[0]]);    if (st_trans == 0) return 0; }  data_file.code_symbol(b, desc_model[mod]);#endif  return st_trans;}// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void Output_Signs(int nb, int sd, const Image_Coord & pc){  Image_Coord nc;#ifdef ENCODER  int m = 1, b = 0;#else  int m = 1, b = data_file.decode_bits(nb);#endif  for (int i = 0; i < 4; i++, sd >>= 2)    if (sd & 1) {    nc.x = pc.x + SHF_x[i];  nc.y = pc.y + SHF_y[i];#ifdef ENCODER      if (image[nc] < 0) b |= m;#else      image[nc] = (b & m ? -act_value : act_value);#endif      if (!LSP_idx) {        NEW_VECTOR(LSP_ptr, LSP_dim.y, float *, "LSP");        LSP_mtx[LSP_part++] = LSP_ptr;  LSP_idx = LSP_dim.y; }      float * ptr = LSP_ptr[--LSP_idx] = image.address(nc);#ifdef ENCODER      if (*ptr < 0) b |= m;      *ptr = fabs(*ptr) - threshold;#else      *ptr = (b & m ? -act_value : act_value);#endif      m <<= 1; }#ifdef ENCODER  data_file.code_bits(nb, b);#endif}// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void Node_Test(Tree_Node * act_node){  int st_trans, signs;  st_trans = Node_Transition(int(act_node->state & 0xFFL),    act_node->coord, &signs);  if (st_trans) {    act_node->state |= long(st_trans);    Output_Signs(signs, st_trans, act_node->coord); }}// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void Desc_Test(Tree_Node * act_node){  Image_Coord pc = act_node->coord;  int st_trans = Desc_Transition(int(act_node->state & 0xFFL), pc);  if (!st_trans) return;  act_node->state |= st_trans;  st_trans >>= 1;  Tree_Node * new_node;  long ns = (act_node->state & 0xFFF00L) - 0x2000L;  if (ns < 0x3000L) ns |= 0xAAL;  boolean root = ((act_node->state & 0xFF000) >= root_code);  for (int i = 0; i < 4; i++, st_trans >>= 2)    if (st_trans & 0x1) {      NEW_OBJECT(new_node, Tree_Node, "LISP entry");      if (root) {        if (i == 3) ns -= 0x1000L;        new_node->coord.x = pc.x + SHF_x[i] * root_dim.x;        new_node->coord.y = pc.y + SHF_y[i] * root_dim.y; }      else {        new_node->coord.x = (pc.x + SHF_x[i]) << 1;        new_node->coord.y = (pc.y + SHF_y[i]) << 1; }      new_node->next = NULL;  new_node->state = ns;      LISP_end->next = new_node;  LISP_end = new_node;      Node_Test(new_node); }}// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int Max_Levels(int n){  int l1, l2;  for (l1 = 0; !(n & 1); l1++) n >>= 1;  for (l2 = l1 - 2; n; l2++) n >>= 1;  return (l1 < l2 ? l1 : l2) - 1;}// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -boolean Sorting_Pass(void){  int color;  Tree_Node * prev = LISP_head, * node = prev;  act_value = threshold + (bias[LSP_plane] = 0.38 * threshold);  for (; node = node->next; prev = node)    if ((node->state & 0x55L) != 0x55L) {      color = int(node->state >> 8) & 0x3;      image.set_color(color);      Node_Test(node);      if (data_file.bytes_used() >= byte_budget) return true; }  for (node = prev = LISP_head; node = node->next; prev = node) {    if ((node->state & 0xAAL) != 0xAAL) {      color = int(node->state >> 8) & 0x3;      image.set_color(color);#ifdef ENCODER      max_image.set_color(color);#endif      Desc_Test(node);      if (data_file.bytes_used() >= byte_budget) return true; }    if ((node->state & 0xFFL) == 0xFFL) {      if (LISP_end == node) LISP_end = prev;      prev->next = node->next;  delete node;  node = prev; } }  return false;}// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -boolean Refinement_Pass(void){#ifdef DECODER  float t, ht1, ht2;#endif  int b, p, m, n = LSP_plane, k = LSP_dim.y;  float * ptr, * smk, ** mtx = LSP_mtx[0];  LSP_mark[LSP_plane++] = (LSP_ptr ? LSP_ptr[LSP_idx] : 0);  for (m = p = 0; p < n; p++) {#ifdef DECODER    t = bias[p];    bias[p] = threshold * (0.5 - 0.25 / Sqr(LSP_plane - p));    ht1 = bias[p] - t;  ht2 = ht1 + threshold;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩一二三| 色偷偷88欧美精品久久久 | 一本一道综合狠狠老| 69av一区二区三区| 自拍偷自拍亚洲精品播放| 蜜桃视频在线观看一区| 欧美无乱码久久久免费午夜一区| 国产欧美日韩在线| 麻豆精品在线播放| 欧美日韩久久久一区| 一区视频在线播放| 国产精品影视网| 91精品国产综合久久精品性色| 日韩伦理电影网| 粉嫩av亚洲一区二区图片| 精品国产制服丝袜高跟| 日韩精品午夜视频| 欧美午夜在线观看| 亚洲精品国产精华液| 不卡一区中文字幕| 国产欧美在线观看一区| 黑人精品欧美一区二区蜜桃| 欧美军同video69gay| 亚洲最新视频在线播放| 成av人片一区二区| 国产精品天天看| 国产高清不卡二三区| 日韩精品一区二区三区视频播放| 午夜精品久久久久久久蜜桃app| 色妹子一区二区| 亚洲青青青在线视频| 99精品热视频| 亚洲三级在线免费| 99国内精品久久| 亚洲男人的天堂网| 色婷婷综合久久久久中文一区二区 | 亚洲欧美成人一区二区三区| 成人午夜在线播放| 国产精品网站在线播放| 国产成人精品亚洲日本在线桃色 | 欧洲中文字幕精品| 亚洲黄一区二区三区| 日本高清成人免费播放| 亚洲蜜臀av乱码久久精品| 一本久久a久久免费精品不卡| 日韩理论片中文av| 91国产福利在线| 最新不卡av在线| 91色婷婷久久久久合中文| 亚洲人一二三区| 欧美性猛交一区二区三区精品| 亚洲福利视频一区二区| 欧美人与性动xxxx| 日韩vs国产vs欧美| 日韩精品专区在线影院重磅| 紧缚捆绑精品一区二区| 久久先锋影音av| 成人av电影在线| 亚洲午夜三级在线| 91精品国模一区二区三区| 精品亚洲成a人在线观看 | 欧美色成人综合| 亚欧色一区w666天堂| 91精品国产高清一区二区三区 | 国产一区二区中文字幕| 国产亚洲午夜高清国产拍精品| 国产 日韩 欧美大片| 综合分类小说区另类春色亚洲小说欧美| 一本久久a久久免费精品不卡| 国产精品毛片a∨一区二区三区| 久久免费美女视频| 日韩片之四级片| 极品少妇一区二区三区精品视频| 欧美精品一区二区三区视频 | 蜜臀av亚洲一区中文字幕| 91丨九色丨黑人外教| 精品粉嫩超白一线天av| 视频一区二区不卡| 91黄色激情网站| 亚洲人精品午夜| www.久久精品| 国产清纯美女被跳蛋高潮一区二区久久w | 午夜成人免费电影| 91猫先生在线| 国产精品视频观看| 国产主播一区二区三区| 91精品婷婷国产综合久久竹菊| 日韩美女啊v在线免费观看| 国产精品91一区二区| www久久久久| 久久电影国产免费久久电影| 欧美久久免费观看| 亚洲成人动漫在线免费观看| 色综合色综合色综合色综合色综合 | 欧美精品一区二区三区四区| 日本成人超碰在线观看| 欧美精品一卡两卡| 天涯成人国产亚洲精品一区av| 在线视频国内自拍亚洲视频| 亚洲视频你懂的| 在线亚洲精品福利网址导航| 亚洲人成网站在线| 色噜噜夜夜夜综合网| 一区二区三区资源| 欧美影视一区二区三区| 一区二区视频免费在线观看| 欧美午夜一区二区三区免费大片| 亚洲成人www| 91精品国产日韩91久久久久久| 日韩和欧美的一区| 日韩欧美你懂的| 狠狠色丁香婷婷综合| 久久免费的精品国产v∧| 国产一区日韩二区欧美三区| 国产调教视频一区| av激情成人网| 亚洲精品乱码久久久久久黑人| 欧美日韩一区高清| 日韩精品一二区| 亚洲精品一区二区三区精华液 | 欧日韩精品视频| 首页国产丝袜综合| 久久日韩粉嫩一区二区三区| 国产不卡在线一区| 亚洲图片另类小说| 制服丝袜亚洲网站| 国产老妇另类xxxxx| 1000精品久久久久久久久| 欧美日韩一区二区三区免费看 | 91啪九色porn原创视频在线观看| 一区二区三区色| 91精品欧美一区二区三区综合在| 国产制服丝袜一区| 中文字幕五月欧美| 欧美人狂配大交3d怪物一区| 国产乱码精品一区二区三区av | 久久精品日产第一区二区三区高清版 | 99麻豆久久久国产精品免费| 曰韩精品一区二区| 欧美一级视频精品观看| 国产69精品久久777的优势| 一区二区在线观看视频| 日韩写真欧美这视频| 成人精品免费看| 亚洲国产欧美在线| 国产亚洲污的网站| 欧美日韩亚洲国产综合| 国产美女娇喘av呻吟久久| 亚洲激情网站免费观看| 欧美xxxxx裸体时装秀| 色综合久久中文字幕综合网| 蜜桃视频一区二区三区| 一色屋精品亚洲香蕉网站| 91精品视频网| 99久久久无码国产精品| 久久精品国产精品青草| 国产精品不卡在线观看| 国产精品人人做人人爽人人添| 在线影院国内精品| 精品亚洲免费视频| 亚洲电影一级片| 欧美激情在线观看视频免费| 在线播放中文字幕一区| www.亚洲免费av| 九一九一国产精品| 亚洲成a人在线观看| 中文字幕亚洲一区二区va在线| 91精品久久久久久久91蜜桃| 91免费版在线看| 国产精品1024久久| 免费久久精品视频| 一区二区久久久久| 国产欧美精品国产国产专区 | 中文字幕一区二区视频| 日韩美女视频在线| 欧美日韩第一区日日骚| 色88888久久久久久影院按摩 | 91福利国产成人精品照片| 国产激情视频一区二区三区欧美| 午夜精品久久久久久久久| 亚洲色图丝袜美腿| 国产精品精品国产色婷婷| 精品国产不卡一区二区三区| 51精品秘密在线观看| 色综合天天综合狠狠| 成人丝袜高跟foot| 国产精品亚洲第一区在线暖暖韩国| 免费精品视频在线| 视频一区视频二区中文字幕| 一区二区三区蜜桃| 中文字幕一区二区三区在线不卡 | 日本韩国欧美在线| 9i在线看片成人免费| 国产91精品在线观看| 国产资源在线一区| 国产一区二区视频在线播放| 另类的小说在线视频另类成人小视频在线 | 不卡的电视剧免费网站有什么| 精品一区二区成人精品| 久久er99热精品一区二区|