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

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

?? wpt_util.c

?? Vector Quantization壓縮算法
?? C
?? 第 1 頁 / 共 2 頁
字號(hào):
/****************************************************************************** * * Copyright Jill R. Goldschneider, 1998 * * This work was partially supported by a NASA Graduate Student * Fellowship in Global Change Research, an NSF Young Investigator Award, * and U.~S. Army Research Grant DAAH004-96-1-0255. * *****************************************************************************//****************************************************************************** * * FILE          wpt_util.c * AUTHOR        Jill R. Goldschneider * DATE          February 1997 * REVISIONS     February 1998 - update documentation * DESCRIPTION   WPT tree construction functions *               BOOLEAN  construct_tree(TreeNode *node, char *codebookname) *               void     map_tree(TreeNode *node, FILE *outputfile, *                                 char *codebookname) *               void     encode_tree(TreeNode *node, FILE *outputfile, *                                    char *codebookname) *               void unblock_tree(TreeNode *node, FILE *outputfile) *               void rebuild_tree(TreeNode *node, FILE *outputfile) * *****************************************************************************/#include "wpt.h"static BOOLEAN read_data(TreeNode *node, char *codebookname);/****************************************************************************** * DOCUMENTATION ******************************************************** ******************************************************************************   NAME construct_tree   DESCRIPTION This routine creates the data structure needed for WPT   systematic joint best-basis selection and optimal bit allocation.   It also inserts all of the PTSVQ data into the structure.   ARGUMENTS      IOARG node           the root of the tree      IARG  codebookname   the prefix name of the files for each node   RETURN If successful construct_tree returns TRUE.  If unable to   allocated memory for the quantizer data or for the WPT tree   structure, it returns FALSE.   ALGORITHM For each node in the tree (simple recursion), the   contents of the file called codebookname are inserted into the data   structure in node$\rightarrow$data.  A call to read_data does the   actual data processing.   NOTE The codebook file names should be   codebookfilename.$i$.$j$.$k$...  where codebookfilename is used for   the 0 level codebook, and $i$ is the $i$th subband of the   decomposition of the original data, and $j$ is the $j$th subband of   the decomposition of the $i$th subband, and so on.   AUTHOR Jill R. Goldschneider******************************************************************************/BOOLEAN construct_tree(TreeNode *node, char *codebookname){  char    tempname[NAME_MAX + 10]; /* current codebook name */  int     i;            /* counter */  /* load the data into the node */  if (!(read_data(node, codebookname))) return(FALSE);  /* If not at bottom of tree, continue growing */  if (node->depth < treelevel) {    if (!(node->child = (TreeNode **) calloc(treedim, sizeof(TreeNode *)))) {      fprintf(stderr, "%s: %s\n", programname, NOMEMORY);      return(FALSE);    }    for (i = 0; i < treedim; i++) {      if (!(node->child[i] = newchild(node, (i+1)))) {	fprintf(stderr, "%s: %s\n", programname, NOMEMORY);	return(FALSE);      }      sprintf(tempname, "%s.%d", codebookname, (i+1));      if (!(construct_tree(node->child[i], tempname))) {	return(FALSE);      }    }  }  return(TRUE);}/****************************************************************************** * DOCUMENTATION ******************************************************** ******************************************************************************   NAME read_data   DESCRIPTION This will read the ascii output of the prune program from   the tsvq code.   ARGUMENTS      IOARG node           the node to initialize      IARG  codebookname   the name of the file associated with the node   RETURN If successful read_data returns TRUE.  If unable to   allocated memory, it returns FALSE.   ALGORITHM   AUTHOR Jill R. Goldschneider******************************************************************************/static BOOLEAN read_data(TreeNode *node, char *codebookname){  FILE        *codebookfile;  SubtreeList *current_element, *new_element;  int         vq_dim;      /* dimension of VQ */  int         scale;       /* scaling factor */  int         i;  char        cp[200], cp0[100], cp1[100], cp2[100], cp3[100], cp4[100];  /* open file */  if (!(codebookfile = fopen(codebookname, "r"))) {    fprintf(stderr, "%s: %s: %s\n", programname, codebookname, NOTFOUND);    return(FALSE);  }  if (!(node->data = (SubtreeList *) calloc(1, sizeof(SubtreeList)))) {    fprintf(stderr, "%s: %s\n", programname, NOMEMORY);    return(FALSE);  }  if (!(current_element = (SubtreeList *) calloc(1, sizeof(SubtreeList)))) {    fprintf(stderr, "%s: %s\n", programname, NOMEMORY);    return(FALSE);  }  current_element->next = NULL;  node->data = current_element;  /* read in first lines  and get vector dimension */  rewind(codebookfile);  for (i = 0; i < 8; i++) {    if (!(fgets(cp, sizeof(cp), codebookfile))) {      fprintf(stderr, "%s: %s: %s\n", programname, codebookname, NOREAD);      return(FALSE);    }  }  /* read dimension data */  sscanf(cp, "%s %s %s\n", cp0, cp1, cp2);  vq_dim = atoi(cp2);  scale = (int) pow((double) treedim, (double) node->depth) * vq_dim;  /* pass over last unneeded lines */  for (i = 0; i < 2; i++) {    if (!(fgets(cp, sizeof(cp), codebookfile))) {      fprintf(stderr, "%s: %s: %s\n", programname, codebookname, NOREAD);      return(FALSE);    }  }  /* test read routine  printf("file = %s, vector dimension = %d, scale = %d \n",	 codebookname, vq_dim, scale); */  /* read data into first node, assumes GBFOS nodes only */  if (!(fgets(cp, sizeof(cp), codebookfile))) {    fprintf(stderr, "%s: %s: %s\n", programname, codebookname, NOREAD);    return(FALSE);  }  sscanf(cp, "%s %s %s %s %s\n", cp0, cp1, cp2, cp3, cp4);  /* make the proper adjustment to lambda, rate, and distortion */  current_element->subtree_number = atoi(cp0);  current_element->lambda = atof(cp1);  current_element->rate = atof(cp2);  current_element->distortion = atof(cp3);  current_element->nodes = atoi(cp4);  /* test read routine  printf("  %7d %15f %15f %15f %7d\n", current_element->subtree_number,	 current_element->lambda, current_element->rate,	 current_element->distortion, current_element->nodes); */  /* make proper adjustment to rate and distortion */  if (current_element->rate < 0.0) current_element->rate = 0.0;  if (current_element->distortion < 0.0) current_element->distortion = 0.0;  /* get rate and distortion in bpp */  current_element->rate /= scale;  current_element->distortion /= scale;  /* read data into the rest of the nodes */  while (fgets(cp, sizeof(cp), codebookfile)) {    /* add a node to the list */    if (!(new_element = (SubtreeList *) calloc(1, sizeof(SubtreeList)))) {      fprintf(stderr, "%s: %s\n", programname, NOMEMORY);      return(FALSE);    }    current_element->next = new_element;    current_element = new_element;    sscanf(cp, "%s %s %s %s %s\n", cp0, cp1, cp2, cp3, cp4);    /* make the proper adjustment to lambda, rate, and distortion */    current_element->subtree_number = atoi(cp0);    current_element->lambda = atof(cp1);    current_element->rate = atof(cp2);    current_element->distortion = atof(cp3);    current_element->nodes = atoi(cp4);    /* test read routine    printf("  %7d %15f %15f %15f %7d\n", current_element->subtree_number,	   current_element->lambda, current_element->rate,	   current_element->distortion, current_element->nodes); */    /* make proper adjustment to rate and distortion */    if (current_element->rate < 0.0) current_element->rate = 0.0;    if (current_element->distortion < 0.0) current_element->distortion = 0.0;    /* get rate and distortion in bpp */    current_element->rate /= scale;    current_element->distortion /= scale;  }  return(TRUE);}/****************************************************************************** * DOCUMENTATION ******************************************************** ******************************************************************************   NAME map_tree   DESCRIPTION map_tree outputs a script to select the correct   multiresolution codebook.  The script uses the select program from   the tsvq code.  The script is an {\em example}, the user should   change this routine to make it work for their own data.   ARGUMENTS      IARG  node            the root of the tree      IARG  outputfile      pointer to the open script file      IARG  codebookname    the prefix name of the files for each node   RETURN   ALGORITHM   AUTHOR Jill R. Goldschneider******************************************************************************/void map_tree(TreeNode *node, FILE *outputfile, char *codebookname){  int       i;  char      extension[NAME_MAX];  char      temp_str[NAME_MAX];  char      temp_str2[NAME_MAX];  TreeNode *tempnode;  /* if this node is best, use it and return */  if (node->split == FALSE) {    /* find the extension number */    tempnode = node;    strcpy(temp_str, "");    if (tempnode->depth == 0) {      strcpy(extension, temp_str);    }    else {      sprintf(temp_str, ".%d", node->child_id);      while (tempnode->depth > 1) {	tempnode = tempnode->parent;	sprintf(temp_str2, ".%d%s", tempnode->child_id, temp_str);        strcpy(temp_str, temp_str2);      }      strcpy(extension, temp_str);    }

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久不见久久见免费视频1| 免费看日韩a级影片| 91精品久久久久久蜜臀| 岛国av在线一区| 香蕉久久夜色精品国产使用方法| 久久亚洲精品小早川怜子| 在线免费av一区| 成人免费毛片app| 激情亚洲综合在线| 亚洲电影在线播放| 中文字幕一区二区三区在线不卡 | 国产91丝袜在线播放九色| 亚洲国产精品一区二区久久| 欧美国产一区二区| 日韩欧美国产一区二区在线播放| 在线精品国精品国产尤物884a| 国产制服丝袜一区| 免费不卡在线观看| 亚洲福利电影网| 亚洲欧美国产毛片在线| 日本一区二区三区久久久久久久久不 | 中文字幕欧美区| 亚洲精品在线观| 日韩精品中文字幕在线不卡尤物| 欧美主播一区二区三区| 91在线视频18| 成人av网址在线观看| 精品一区二区成人精品| 美女精品自拍一二三四| 日精品一区二区| 一区二区三区四区亚洲| 自拍偷拍国产亚洲| 成人免费在线观看入口| 中文字幕国产一区二区| 国产农村妇女毛片精品久久麻豆| 精品99久久久久久| 久久一区二区三区四区| 日韩美女一区二区三区四区| 91精品国产色综合久久不卡蜜臀| 欧洲亚洲国产日韩| 欧美日韩性生活| 欧美日韩国产小视频在线观看| 欧美一a一片一级一片| 欧洲国产伦久久久久久久| 在线精品视频免费播放| 欧美三级日韩在线| 91麻豆精品国产自产在线 | 色老汉一区二区三区| 91麻豆国产精品久久| 色成人在线视频| 欧美日韩高清影院| 欧美一区二区三区四区高清 | 亚洲四区在线观看| **网站欧美大片在线观看| 亚洲免费av在线| 亚洲在线视频一区| 日本美女一区二区三区视频| 精品一区二区三区视频| 国产91精品一区二区麻豆网站| 不卡在线观看av| 欧美综合一区二区| 日韩一级二级三级精品视频| 精品久久久影院| 中文字幕精品—区二区四季| 一区二区三区精品久久久| 日韩专区在线视频| 国产精品18久久久久久vr| av网站免费线看精品| 欧美日韩五月天| 久久综合资源网| 依依成人精品视频| 麻豆精品视频在线观看免费| 岛国精品在线播放| 欧美狂野另类xxxxoooo| 久久蜜桃av一区精品变态类天堂| 中文字幕日韩精品一区| 日韩不卡在线观看日韩不卡视频| 国产一区二区0| 欧美亚洲图片小说| www国产成人| 亚洲国产一区在线观看| 国产一区二区三区综合| 在线视频一区二区三区| 欧美变态tickle挠乳网站| 亚洲欧美另类久久久精品| 美腿丝袜亚洲色图| 91麻豆免费看| 久久久久九九视频| 亚洲h精品动漫在线观看| 国产成人在线网站| 51久久夜色精品国产麻豆| 国产精品乱码妇女bbbb| 日韩成人免费在线| 欧洲一区在线电影| 国产欧美日韩激情| 日本不卡一二三| 91久久奴性调教| 日本一区二区综合亚洲| 蜜臀91精品一区二区三区| 一本大道久久a久久综合婷婷| 精品电影一区二区| 婷婷丁香激情综合| 99在线精品视频| 久久久美女艺术照精彩视频福利播放| 樱花影视一区二区| 波多野结衣亚洲| 久久久久国产精品麻豆ai换脸| 亚洲电影视频在线| 91在线小视频| 国产精品女同互慰在线看| 精品一区二区三区久久| 欧美精品久久久久久久多人混战 | 丝袜亚洲精品中文字幕一区| 北条麻妃国产九九精品视频| 精品国产凹凸成av人导航| 午夜精品久久久久久| 91美女片黄在线观看91美女| 国产欧美一区在线| 国产自产v一区二区三区c| 5566中文字幕一区二区电影| 亚洲综合色噜噜狠狠| 99久久国产综合精品色伊| 国产精品毛片久久久久久久| 国产二区国产一区在线观看| 精品美女一区二区| 久久机这里只有精品| 日韩欧美国产麻豆| 美腿丝袜亚洲色图| 欧美xxxxxxxxx| 久久99久久久久久久久久久| 日韩欧美国产不卡| 日本v片在线高清不卡在线观看| 欧美日韩一本到| 婷婷六月综合网| 91精品国产一区二区三区蜜臀| 日韩vs国产vs欧美| 欧美一卡二卡三卡| 蜜桃一区二区三区四区| 日韩欧美国产系列| 国产美女视频91| 欧美激情一区二区三区蜜桃视频| 国产精品一区二区在线观看不卡| 久久综合狠狠综合久久综合88 | 久久99国产精品麻豆| 日韩欧美国产午夜精品| 韩国午夜理伦三级不卡影院| 久久综合中文字幕| 成人午夜又粗又硬又大| 最新久久zyz资源站| 色哟哟一区二区三区| 亚洲在线中文字幕| 日韩视频在线一区二区| 国产精品白丝jk白祙喷水网站 | 一区二区三区四区蜜桃 | 亚洲三级久久久| 欧美在线高清视频| 男人的天堂久久精品| 久久综合色一综合色88| 国产传媒一区在线| 亚洲免费观看高清完整| 4438x亚洲最大成人网| 激情综合色播激情啊| **欧美大码日韩| 欧美绝品在线观看成人午夜影视| 麻豆精品久久久| 中文字幕一区在线| 5858s免费视频成人| 国产aⅴ精品一区二区三区色成熟| 亚洲色图欧洲色图婷婷| 538在线一区二区精品国产| 国产成人av影院| 亚洲午夜精品网| 2017欧美狠狠色| 欧美视频三区在线播放| 精品一区二区三区香蕉蜜桃| 亚洲欧美电影院| 日韩欧美国产麻豆| 91国偷自产一区二区开放时间 | 九九九久久久精品| 一色屋精品亚洲香蕉网站| 欧美日韩精品专区| 国产成人av福利| 亚洲国产日韩a在线播放性色| 精品国产91洋老外米糕| 91蜜桃视频在线| 精品一区二区三区免费视频| 亚洲精品综合在线| 久久视频一区二区| 欧美巨大另类极品videosbest| 国产精品夜夜嗨| 日本中文一区二区三区| 中文字幕在线不卡一区二区三区| 欧美一级国产精品| 在线影视一区二区三区| 国产激情一区二区三区四区| 日韩精品一级二级| 亚洲久草在线视频| 国产亚洲综合av| 欧美成人免费网站| 欧美福利视频导航|