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

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

?? codecolr.c

?? SPIHT 源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
#endif    for (smk = LSP_mark[p], ptr = 0; ptr != smk;) {      if (!k) {        mtx = LSP_mtx[++m];  k = LSP_dim.y; }      ptr = mtx[--k];#ifdef ENCODER      if (b = (*ptr >= threshold)) *ptr -= threshold;      data_file.code_bit(b);#else      t = (data_file.decode_bit() ? ht2 : ht1);      if (*ptr > 0) *ptr += t; else *ptr -= t;#endif      if (data_file.bytes_used() >= byte_budget) return true; } }  return false;}// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void Process_Image(void){ int c;  threshold = pow(2, threshold_bits);  LSP_idx = LSP_part = LSP_plane = 0;  LSP_ptr = 0;  LSP_dim.x = pyramid_dim.x >> 2;  LSP_dim.y = 12 * pyramid_dim.y;  NEW_VECTOR(LSP_mtx, LSP_dim.x, float **, "LSP");#ifndef BINCODE  int i, j, k, n = -1, t;  for (i = 0; i <= 4; i++) {    group_model[i].set_symbols(2);    for (j = 0; j <= 4 - i; j++)      for (k = 0;  k <= 4 - i - j; k++, n++)        if (n >= 0) {          if (t = i + k) node_model[n].set_symbols(1 << t);          if (t = i + j) desc_model[n].set_symbols(1 << t); } }#endif  Image_Coord cd;  Tree_Node * prev, * node;  NEW_OBJECT(node, Tree_Node, "LISP entry");  LISP_head = LISP_end = node;  root_dim.x = pyramid_dim.x >> pyramid_levels;  root_dim.y = pyramid_dim.y >> pyramid_levels;  root_code = long(pyramid_levels + 1) << 13;  for (int c = 0; c < 3; c++) {    long st = 0x2L + root_code + long(c << 8);    for (cd.x = 0; cd.x < root_dim.x; cd.x += 2)      for (cd.y = 0; cd.y < root_dim.y; cd.y += 2) {        NEW_OBJECT(node, Tree_Node, "LISP entry");        node->coord = cd;  node->state = st;        LISP_end->next = node;  LISP_end = node; } }  LISP_end->next = NULL;  for (;; threshold *= 0.5) {    if (Sorting_Pass()) break;    if (Refinement_Pass()) break; }  code_time.stop();  for (c = LSP_part; c > 0;) delete [] LSP_mtx[--c];  delete [] LSP_mtx;  for (node = LISP_head; node;) {    prev = node;  node = node->next;  delete prev; }}// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -// - - Encoder functions - - - - - - - - - - - - - - - - - - - - - - - -#ifdef ENCODERfloat Max_Desc_Val(int l, int s, int x, int y){  float t, m = 0;  Image_Coord ds;  --l;  --s;  for (int d = 0; d < 4; d++) {    ds.x = x + SHF_x[d];  ds.y = y + SHF_y[d];    t = fabs(image[ds]);    if (m < t) m = t;    if (l > 0) {      max_image[ds] = t = Max_Desc_Val(l, s, ds.x << 1, ds.y << 1);      if (m < t) m = t; } }  return m;}// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int Calc_Max_Image(void){  Image_Coord tc, pc = pyramid_dim, lm = pc;  int c, i, sd, lv = pyramid_levels, sp = lv + 1;  float t, max = 0;  lm.x >>= lv;  lm.y >>= lv;  pc.x >>= 1;  pc.y >>= 1;  max_image.reset(pc);  for (c = 0; c < 3; c++) {    image.set_color(c);  max_image.set_color(c);    for (pc.x = 0; pc.x < lm.x; pc.x += 2)      for (pc.y = 0; pc.y < lm.y; pc.y += 2) {        max_image[pc] = t = fabs(image[pc]);        if (max < t) max = t;        for (sd = sp, i = 1; i < 4; i++) {          tc.x = pc.x + SHF_x[i];  tc.y = pc.y + SHF_y[i];          t = fabs(image[tc]);          if (max < t) max = t;          if (i == 3) --sd;          max_image[tc] = t = Max_Desc_Val(lv, sd,            pc.x + SHF_x[i] * lm.x, pc.y + SHF_y[i] * lm.y);          if (max < t) max = t; } } }  return int(log(max) / log(2.0));}// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int main(int numb_arg, char * arg[]){  if (numb_arg != 2)    printf("\n\t* Please read the file `codecolr.doc' for "      "instructions\n\t\tand Copyright/Patent information.\n\t* Use"      " `%s -u' for command-line usage information\n\n", arg[0]);  else {    printf("\n* Usage:\n\n%s image_file coded_file number_lines "      "pixels/line bpp_rate", arg[0]);    puts(" \n");      exit(0); }  if (numb_arg == 6) {    pic_f_name = arg[1];  cod_f_name = arg[2];    dimension.x = atoi(arg[3]);  dimension.y = atoi(arg[4]);    bit_rate = atof(arg[5]); }  else {    Input_Line("File with original image", pic_f_name);    Input_Line("File with compressed image", cod_f_name);    dimension.x = Input_Int("Number of image lines");    dimension.y = Input_Int("Number of pixels per line");    bit_rate = Input_Float("Rate (bits/pixel)"); }  rate_mult = 8.0 / (float(dimension.x) * float(dimension.y));  if (Max(dimension.x, dimension.y)>8192) Error("Image is too large!");  byte_budget = long(bit_rate / rate_mult) - 1;  total_time.start();  image.read_pic(dimension, pic_f_name);  image.transform();  pyramid_dim = image.pyramid_dim();  image.averages(mean);  image.color_transform(transf_matrix);  pyramid_levels = Min(Max_Levels(pyramid_dim.x),                       Max_Levels(pyramid_dim.y));  Chronometer max_time;  max_time.start("\n  Starting computation of maximum magnitudes...");  threshold_bits = Calc_Max_Image();  max_time.display(" Maximum magnitudes computed in");  int ii, jj;  data_file.open_file(cod_f_name);  data_file.code_bits(6, dimension.x >> 8);  data_file.code_bits(6, dimension.y >> 8);  data_file.code_bits(8, dimension.x & 0xFF);  data_file.code_bits(8, dimension.y & 0xFF);  data_file.code_bits(5, threshold_bits);  for (ii = 0; ii < 3; ii++) {    data_file.code_bits(8, mean[ii]);    for (jj = 0; jj < 3; jj++) {      data_file.code_bits(8, transf_matrix[ii][jj] >> 8);      data_file.code_bits(8, transf_matrix[ii][jj] & 0xFF); } }  code_time.start("\n  Starting image compression...");  Process_Image();  code_time.display(" Image compressed in");  data_file.close_file();  printf("\n  Compressed file size = %ld bytes (%6.3f bits/pixel).\n",    data_file.bytes_used(), rate_mult * data_file.bytes_used());  total_time.display("\n  Total execution time (I/O included) =");  puts(" ");  return 0;}// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -// - - Decoder functions - - - - - - - - - - - - - - - - - - - - - - - -#elseint main(int numb_arg, char * arg[]){  if (numb_arg != 2)    printf("\n\t* Please read the file `codecolr.doc' for "      "instructions\n\t\tand Copyright/Patent information.\n\t* Use"      " `%s -u' for command-line usage information\n\n", arg[0]);  else {    printf("\n* Usage to compare the recovered image with the original:"      "\n\n%s  coded_file  original_image  bpp_rate\n", arg[0]);    printf("\n* Usage to save the recovered image:\n\n%s -s  "      "coded_file  new_image_file  bpp_rate", arg[0]);    puts(" \n");  exit(0); }  FILE * plot_file;  float mse, psnr, max_rate = 0.0, rate_inc;  boolean cont, comp, interactive, cml;  if (cml = ((numb_arg == 4) || (numb_arg == 5))) {    interactive = false;    if (numb_arg == 4) {      cod_f_name = arg[1];  pic_f_name = arg[2];      bit_rate = atof(arg[3]);  comp = true; }    else {      if ((arg[1][0] != '-') || (arg[1][1] != 's'))        Error("invalid command-line option");      cod_f_name = arg[2];  new_f_name = arg[3];      bit_rate = atof(arg[4]);  comp = false; } }  else {    interactive = Input_Answer("Interactive mode");    Input_Line("Name of the compressed image file", cod_f_name);    comp = !interactive ||      Input_Answer("Recovered image will be compared to original");    if (comp)      Input_Line("File with original image", pic_f_name);    if (!interactive) {      plot_file = Open_File("File with rate x PSNR results", "wt");      bit_rate = Input_Float("First rate (bits/pixel)");      max_rate = Input_Float("Last rate  (bits/pixel)");      rate_inc = Input_Float("Rate increment"); } }  do {    int ii, jj;    data_file.open_file(cod_f_name);    dimension.x = data_file.decode_bits(6) << 8;    dimension.y = data_file.decode_bits(6) << 8;    dimension.x += data_file.decode_bits(8);    dimension.y += data_file.decode_bits(8);    rate_mult = 8.0 / (float(dimension.x) * float(dimension.y));    threshold_bits = data_file.decode_bits(5);    for (ii = 0; ii < 3; ii++) {      mean[ii] = data_file.decode_bits(8);      for (jj = 0; jj < 3; jj++) {        transf_matrix[ii][jj] = data_file.decode_bits(8) << 8;        transf_matrix[ii][jj] += data_file.decode_bits(8); } }    printf("\n  Image size = %d x %d\n", dimension.x, dimension.y);    if (interactive)      bit_rate = Input_Float("Code rate (bits/pixel)");    byte_budget = long(bit_rate / rate_mult) - 1;    code_time.reset();  total_time.reset();  total_time.start();    image.reset(dimension, mean, transf_matrix);    pyramid_dim = image.pyramid_dim();    pyramid_levels = Min(Max_Levels(pyramid_dim.x),                          Max_Levels(pyramid_dim.y));    code_time.start("\n  Starting image recovery...");    Process_Image();    code_time.display(" Image recovered in");    data_file.close_file();    image.recover();    total_time.stop();    if (comp) {      printf("\n  Rate =%6.3f bits/pixel --> ", rate_mult *         data_file.bytes_used());      mse = image.compare(pic_f_name);      if (mse > 0.0) {        psnr = dBW(65025.0 / mse);        printf("mean squared-error =%8.3f =%7.2f dB PSNR\n",          mse, psnr); }      else        puts("no differences encountered"); }    total_time.display("\n  Total execution time (I/O included) =");    if (interactive) {      if (Input_Answer("Save new image to disk")) {        Input_Line("Name of the new image file", new_f_name);        image.write_pic(new_f_name); }      cont = Input_Answer("Test new rate"); }    else      if (cml) {        if (!comp) image.write_pic(new_f_name);        cont = false; }      else {        fprintf(plot_file, "%9.4f %9.4f\n", bit_rate, psnr);        bit_rate += rate_inc;        cont = (bit_rate <= max_rate); }  } while (cont);  if (!(cml || interactive)) fclose(plot_file);  puts(" ");  return 0;}#endif// = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =// end of file < CodeColr.C >

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美视频一区在线| 亚洲丝袜另类动漫二区| 国产91高潮流白浆在线麻豆| 成人免费在线播放视频| www.亚洲在线| 亚洲一区视频在线观看视频| 91麻豆精品国产91久久久久| 免费的成人av| 国产日产欧美一区二区视频| 国产老女人精品毛片久久| 久久久久99精品一区| 成人午夜私人影院| 亚洲aaa精品| 国产亚洲人成网站| 99久久99久久综合| 亚洲一卡二卡三卡四卡五卡| 精品视频一区三区九区| 肉肉av福利一精品导航| 国产精品久久久久精k8 | 欧美日韩激情一区二区| 欧美亚洲国产bt| 免费在线一区观看| 丝袜国产日韩另类美女| 亚洲免费伊人电影| 《视频一区视频二区| 久久精品一区二区三区不卡 | 色先锋aa成人| 国产午夜精品美女毛片视频| 国产成人久久精品77777最新版本| 成人av免费在线观看| 国产精品三级在线观看| 国产一区不卡视频| 国产精品久久一卡二卡| 欧美日韩一卡二卡| 国产99精品国产| 欧美丝袜第三区| 国产一区高清在线| 亚洲人被黑人高潮完整版| 中文字幕精品三区| 国产日本欧洲亚洲| 国产日产亚洲精品系列| 久久午夜国产精品| 久久久精品人体av艺术| 国产色产综合产在线视频| 亚洲精品视频在线观看网站| 亚洲欧美韩国综合色| 亚洲免费av观看| 一区二区三区在线观看视频| 亚洲女人的天堂| 亚洲影视在线观看| 亚洲一区二区在线免费看| 亚洲国产精品一区二区久久| 亚洲精品国产成人久久av盗摄| 国产欧美日韩中文久久| 国产亚洲精品久| 国产精品电影一区二区| 一区二区三区在线视频观看| 亚洲永久精品大片| 午夜精品久久久久久久99水蜜桃| 日本视频中文字幕一区二区三区 | 亚洲福利国产精品| 五月婷婷综合在线| 精品一二三四区| 国产成人免费视频一区| www.99精品| 欧美性一区二区| 日韩欧美中文一区| 久久综合九色综合97_久久久| 国产日韩高清在线| 亚洲人成伊人成综合网小说| 亚洲成在人线免费| 久久精品av麻豆的观看方式| 床上的激情91.| 欧美色图12p| 久久久蜜桃精品| 最新热久久免费视频| 性久久久久久久| 久久精品国产秦先生| 国产成人在线影院| 一本色道综合亚洲| 日韩免费在线观看| 亚洲国产成人一区二区三区| 亚洲综合色网站| 免费成人美女在线观看| 成人av免费在线播放| 欧美一区二区三区在线电影| 中文在线一区二区 | 91小宝寻花一区二区三区| 欧美性大战久久久久久久| 精品国产制服丝袜高跟| 亚洲激情六月丁香| 激情五月激情综合网| 91麻豆国产精品久久| 久久五月婷婷丁香社区| 亚洲午夜一区二区| 成人性视频网站| 欧美日本乱大交xxxxx| 国产三级三级三级精品8ⅰ区| 婷婷亚洲久悠悠色悠在线播放| 国产精品一二三四| 欧美男生操女生| 亚洲精品乱码久久久久久黑人| 久久精品国产99国产| 欧美午夜精品一区二区三区| 国产精品久久久久桃色tv| 久久精品理论片| 欧美日韩免费观看一区三区| 国产精品视频你懂的| 免费人成黄页网站在线一区二区| 色狠狠av一区二区三区| 欧美国产精品v| 久久99国产精品久久99果冻传媒| 欧洲一区在线电影| 欧美激情中文字幕| 国产一区二区主播在线| 欧美一区二区三区四区久久| 亚洲综合成人在线| 91丨九色丨蝌蚪富婆spa| 国产精品婷婷午夜在线观看| 精品一区二区三区蜜桃| 欧美国产97人人爽人人喊| 五月婷婷色综合| 欧美日本一区二区三区四区| 日韩精品五月天| 欧美一区二区三区视频在线 | 欧美精品成人一区二区三区四区| 国产精品久久久爽爽爽麻豆色哟哟 | 男男成人高潮片免费网站| 欧美视频一区二区三区四区 | 99久久精品一区| 久久久精品黄色| 成人激情视频网站| 久久电影网电视剧免费观看| 欧美日韩成人高清| 成人午夜看片网址| 国产女主播在线一区二区| 色悠久久久久综合欧美99| 日韩国产成人精品| 91在线一区二区| 亚洲成人免费观看| 精品国产免费视频| 欧美日韩精品欧美日韩精品一 | 午夜av区久久| 欧美精品欧美精品系列| 午夜精品久久久久久久| 欧美日韩国产一区二区三区地区| 亚洲综合男人的天堂| 欧美四级电影在线观看| 偷窥国产亚洲免费视频| 日韩免费视频一区二区| 国产综合色产在线精品| 久久久久一区二区三区四区| 美美哒免费高清在线观看视频一区二区| 91精品国产综合久久精品图片| 青椒成人免费视频| 欧美午夜在线一二页| 天天综合色天天综合| 精品日韩一区二区三区| 国产jizzjizz一区二区| 亚洲免费视频成人| 91精品国产91热久久久做人人| 久久99精品一区二区三区三区| 欧美激情一区二区在线| 色伊人久久综合中文字幕| 五月婷婷另类国产| 久久久久久一级片| 97精品久久久午夜一区二区三区 | 国产呦精品一区二区三区网站| 久久久亚洲高清| 99久久99久久久精品齐齐| 亚洲国产美国国产综合一区二区| 日韩欧美综合在线| 国产一区二区三区四区五区美女| 国产精品另类一区| 在线国产亚洲欧美| 久久精品国产网站| 亚洲欧美偷拍另类a∨色屁股| 欧美群妇大交群中文字幕| 国产在线视视频有精品| 亚洲精品视频在线| 久久青草国产手机看片福利盒子 | 91麻豆精品国产自产在线观看一区 | 日本不卡一二三区黄网| 久久久久久久久久久久久久久99 | 欧美成人性福生活免费看| 国产91丝袜在线播放0| 一区二区三区鲁丝不卡| 色综合天天视频在线观看 | 午夜欧美一区二区三区在线播放| 成人免费黄色大片| 91麻豆精品秘密| 日韩限制级电影在线观看| 欧美精品乱码久久久久久| 精品久久久久久综合日本欧美| 日韩一区二区在线观看| 欧美成人精精品一区二区频| 国产精品久久久久天堂| 秋霞国产午夜精品免费视频| 成人一区二区三区在线观看| 欧美色欧美亚洲另类二区|