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

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

?? recon.c

?? tmn3.2編解碼源程序 Linux C環境編寫 文件齊全 壓縮包完整 試用正常 歡迎試用
?? C
?? 第 1 頁 / 共 3 頁
字號:
      dyb = MV[1][5][y][x];      /* Y */      recon_comp (src_b[0], bframe[0], lx, lx2, w, h, bx, by, dxb, dyb, 0);      lx >>= 1;      w >>= 1;      bx >>= 1;      lx2 >>= 1;      h >>= 1;      by >>= 1;      /* chroma rounding */      dxb = (dxb % 4 == 0 ? dxb >> 1 : (dxb >> 1) | 1);      dyb = (dyb % 4 == 0 ? dyb >> 1 : (dyb >> 1) | 1);      /* Chroma */      recon_comp (src_b[1], bframe[1], lx, lx2, w, h, bx, by, dxb, dyb, 1);      recon_comp (src_b[2], bframe[2], lx, lx2, w, h, bx, by, dxb, dyb, 2);      break;    case B_BIDIRECTIONAL_PREDICTION:      w = 16;      h = 16;      dxf = MV[0][0][y][x];      dyf = MV[1][0][y][x];      dxb = MV[0][5][y][x];      dyb = MV[1][5][y][x];      /* Y */      recon_comp (src_f[0], tmp_f[0], lx, lx2, w, h, bx, by, dxf, dyf, 0);      recon_comp (src_b[0], tmp_b[0], lx, lx2, w, h, bx, by, dxb, dyb, 0);      lx >>= 1;      w >>= 1;      lx2 >>= 1;      h >>= 1;      bx_chroma = bx >> 1;      by_chroma = by >> 1;      dxf = (dxf % 4 == 0 ? dxf >> 1 : (dxf >> 1) | 1);      dyf = (dyf % 4 == 0 ? dyf >> 1 : (dyf >> 1) | 1);      dxb = (dxb % 4 == 0 ? dxb >> 1 : (dxb >> 1) | 1);      dyb = (dyb % 4 == 0 ? dyb >> 1 : (dyb >> 1) | 1);      /* Chroma */      recon_comp (src_f[1], tmp_f[1], lx, lx2, w, h, bx_chroma, by_chroma, dxf, dyf, 1);      recon_comp (src_f[2], tmp_f[2], lx, lx2, w, h, bx_chroma, by_chroma, dxf, dyf, 2);      recon_comp (src_b[1], tmp_b[1], lx, lx2, w, h, bx_chroma, by_chroma, dxb, dyb, 1);      recon_comp (src_b[2], tmp_b[2], lx, lx2, w, h, bx_chroma, by_chroma, dxb, dyb, 2);      /* Average forward and backward prediction. */      recon_bidir_average (bx, by);      break;    default:      fprintf (stderr, "Illegal scalable prediction type in reconstruct_true_B (recon.c)\n");      exit (-1);      break;  }}/**********************************************************************  * *	Name:        reconstruct_ei_ep *	Description: Reconstructs ei and ep MBs * *	Input:       position, mb prediction type *	Returns:      *	Side effects: * *	Date: 971102 Author: Michael Gallant --- mikeg@ee.ubc.ca * ***********************************************************************/void reconstruct_ei_ep (int bx, int by, int ei_ep_prediction_type){  int w, h, lx, lx2, dxf, dyf;  int x, y, mode;  int bx_chroma, by_chroma;  unsigned char *src_fwd[3], *src_up[3], *tmp_fwd[3], *tmp_up[3];  /* current_refererence frame should be upsampled already if spatial scalbility is in use */  x = bx / 16 + 1;  y = by / 16 + 1;  lx = coded_picture_width;  w = 16;  h = 16;  lx2 = coded_picture_width + 64;  src_fwd[0] = enhance_edgeframe[enhancement_layer_num-2][0];  src_fwd[1] = enhance_edgeframe[enhancement_layer_num-2][1];  src_fwd[2] = enhance_edgeframe[enhancement_layer_num-2][2];  src_up[0] = curr_reference_frame[0];  src_up[1] = curr_reference_frame[1];  src_up[2] = curr_reference_frame[2];  tmp_fwd[0] = tmp_enhance_fwd[enhancement_layer_num-2][0];  tmp_fwd[1] = tmp_enhance_fwd[enhancement_layer_num-2][1];  tmp_fwd[2] = tmp_enhance_fwd[enhancement_layer_num-2][2];  tmp_up[0] = tmp_enhance_up[enhancement_layer_num-2][0];  tmp_up[1] = tmp_enhance_up[enhancement_layer_num-2][1];  tmp_up[2] = tmp_enhance_up[enhancement_layer_num-2][2];  mode = modemap[y][x];  switch (ei_ep_prediction_type)  {    case EP_FORWARD_PREDICTION:      w = 16;      h = 16;      dxf = MV[0][0][y][x];      dyf = MV[1][0][y][x];      /* Y */      recon_comp (src_fwd[0], current_enhancement_frame[enhancement_layer_num-2][0], lx, lx2, w, h, bx, by, dxf, dyf, 0);      lx >>= 1;      w >>= 1;      bx >>= 1;      lx2 >>= 1;      h >>= 1;      by >>= 1;      /* chroma rounding */      dxf = (dxf % 4 == 0 ? dxf >> 1 : (dxf >> 1) | 1);      dyf = (dyf % 4 == 0 ? dyf >> 1 : (dyf >> 1) | 1);      /* Chroma */      recon_comp (src_fwd[1], current_enhancement_frame[enhancement_layer_num-2][1], lx, lx2, w, h, bx, by, dxf, dyf, 1);      recon_comp (src_fwd[2], current_enhancement_frame[enhancement_layer_num-2][2], lx, lx2, w, h, bx, by, dxf, dyf, 2);      break;    case EI_EP_UPWARD_PREDICTION:      /* Inter 16x16 */      w = 16;      h = 16;      /* Y */      recon_comp (src_up[0], current_enhancement_frame[enhancement_layer_num-2][0], lx, lx, w, h, bx, by, 0, 0, 0);      lx >>= 1;      w >>= 1;      bx >>= 1;      lx2 >>= 1;      h >>= 1;      by >>= 1;      /* Chroma */      recon_comp (src_up[1], current_enhancement_frame[enhancement_layer_num-2][1], lx, lx, w, h, bx, by, 0, 0, 1);      recon_comp (src_up[2], current_enhancement_frame[enhancement_layer_num-2][2], lx, lx, w, h, bx, by, 0, 0, 2);      break;    case EP_BIDIRECTIONAL_PREDICTION:      w = 16;      h = 16;      dxf = MV[0][0][y][x];      dyf = MV[1][0][y][x];      /* Y */      recon_comp (src_fwd[0], tmp_fwd[0], lx, lx2, w, h, bx, by, dxf, dyf, 0);      recon_comp (src_up[0], tmp_up[0], lx, lx, w, h, bx, by, 0, 0, 0);      lx >>= 1;      w >>= 1;      lx2 >>= 1;      h >>= 1;      bx_chroma = bx >> 1;      by_chroma = by >> 1;      dxf = (dxf % 4 == 0 ? dxf >> 1 : (dxf >> 1) | 1);      dyf = (dyf % 4 == 0 ? dyf >> 1 : (dyf >> 1) | 1);      /* Chroma */      recon_comp (src_fwd[1], tmp_fwd[1], lx, lx2, w, h, bx_chroma, by_chroma, dxf, dyf, 1);      recon_comp (src_fwd[2], tmp_fwd[2], lx, lx2, w, h, bx_chroma, by_chroma, dxf, dyf, 2);      recon_comp (src_up[1], tmp_up[1], lx, lx, w, h, bx_chroma, by_chroma, 0, 0, 1);      recon_comp (src_up[2], tmp_up[2], lx, lx, w, h, bx_chroma, by_chroma, 0, 0, 2);      /* Average forward and backward prediction. */      recon_bidir_average (bx, by);      break;    default:      fprintf (stderr, "Illegal scalable prediction type in reconstruct_ei_ep (recon.c)\n");      exit (-1);      break;  }}static void recon_comp (unsigned char *src, unsigned char *dst,                         int lx, int lx2, int w, int h, int x,                         int y, int dx, int dy, int chroma){  int xint, xh, yint, yh;  unsigned char *s, *d;  int store_rtype;    store_rtype = rtype;  xint = dx >> 1;  xh = dx & 1;  yint = dy >> 1;  yh = dy & 1;  /* origins */  s = src + lx2 * (y + yint) + x + xint;  d = dst + lx * y + x;  if (!xh && !yh)    if (w != 8)      rec (s, d, lx, lx2, h);    else      recc (s, d, lx, lx2, h);  else if (!xh && yh)    if (w != 8)      recv (s, d, lx, lx2, h);    else      recvc (s, d, lx, lx2, h);  else if (xh && !yh)    if (w != 8)      rech (s, d, lx, lx2, h);    else      rechc (s, d, lx, lx2, h);  else   /* if (xh && yh) */ if (w != 8)    rec4 (s, d, lx, lx2, h);  else    rec4c (s, d, lx, lx2, h);  rtype = store_rtype;}static void rec (unsigned char *s, unsigned char *d,                  int lx, int lx2, int h){  int j;  for (j = 0; j < h; j++)  {    d[0] = s[0];    d[1] = s[1];    d[2] = s[2];    d[3] = s[3];    d[4] = s[4];    d[5] = s[5];    d[6] = s[6];    d[7] = s[7];    d[8] = s[8];    d[9] = s[9];    d[10] = s[10];    d[11] = s[11];    d[12] = s[12];    d[13] = s[13];    d[14] = s[14];    d[15] = s[15];    s += lx2;    d += lx;  }}/********************************************************************** * *	Name:        recon_bidir_average *	Description: move average of bidir predicted blocks into current frame * *	Input:       absolute position of current MB * *	Returns: *	Side effects: * *	Date: 971102 Author: Michael Gallant --- mikeg@ee.ubc.ca * ***********************************************************************/static void recon_bidir_average (int bx, int by){  int i, iincr, cc, comp;  unsigned char *avg, *forw, *backw;  unsigned char *prev_frame[3], *next_frame[3], *curr[3];  /* B picture */  if (PCT_B == pict_type)  {    prev_frame[0] = tmp_f[0];    prev_frame[1] = tmp_f[1];    prev_frame[2] = tmp_f[2];    next_frame[0] = tmp_b[0];    next_frame[1] = tmp_b[1];    next_frame[2] = tmp_b[2];    curr[0] = current_frame[0];    curr[1] = current_frame[1];    curr[2] = current_frame[2];  }  /* EP picture */  else  {    prev_frame[0] = tmp_enhance_fwd[enhancement_layer_num-2][0];    prev_frame[1] = tmp_enhance_fwd[enhancement_layer_num-2][1];    prev_frame[2] = tmp_enhance_fwd[enhancement_layer_num-2][2];    next_frame[0] = tmp_enhance_up[enhancement_layer_num-2][0];    next_frame[1] = tmp_enhance_up[enhancement_layer_num-2][1];    next_frame[2] = tmp_enhance_up[enhancement_layer_num-2][2];    curr[0] = current_enhancement_frame[enhancement_layer_num-2][0];    curr[1] = current_enhancement_frame[enhancement_layer_num-2][1];    curr[2] = current_enhancement_frame[enhancement_layer_num-2][2];  }  for (comp = 0; comp < 6; ++comp)  {    cc = (comp < 4) ? 0 : (comp & 1) + 1; /* color component index */    /* luminance */    if (cc == 0)    {      avg = curr[cc] + coded_picture_width * (by + ((comp & 2) << 2)) + bx + ((comp & 1) << 3);      forw = prev_frame[cc] + coded_picture_width * (by + ((comp & 2) << 2)) + bx + ((comp & 1) << 3);      backw = next_frame[cc] + coded_picture_width * (by + ((comp & 2) << 2)) + bx + ((comp & 1) << 3);      iincr = coded_picture_width;    }    /* chrominance */    else    {      /* scale coordinates */      if (4 == comp)      {        bx >>= 1;        by >>= 1;      }      avg = curr[cc] + chrom_width * by + bx;      forw = prev_frame[cc] + chrom_width * by + bx;      backw = next_frame[cc] + chrom_width * by + bx;      iincr = chrom_width;    }    for (i = 0; i < 8; i++)    {      avg[0] = (forw[0] + backw[0]) / 2;      avg[1] = (forw[1] + backw[1]) / 2;      avg[2] = (forw[2] + backw[2]) / 2;      avg[3] = (forw[3] + backw[3]) / 2;      avg[4] = (forw[4] + backw[4]) / 2;      avg[5] = (forw[5] + backw[5]) / 2;      avg[6] = (forw[6] + backw[6]) / 2;      avg[7] = (forw[7] + backw[7]) / 2;      avg += iincr;      forw += iincr;      backw += iincr;    }  }}static void recc (unsigned char *s, unsigned char *d,                   int lx, int lx2, int h){  int j;  for (j = 0; j < h; j++)  {    d[0] = s[0];    d[1] = s[1];    d[2] = s[2];    d[3] = s[3];    d[4] = s[4];    d[5] = s[5];    d[6] = s[6];    d[7] = s[7];    s += lx2;    d += lx;  }}static void reco (unsigned char *s, int *d, int lx, int lx2,                   int addflag, int c, int xa, int xb,                   int ya, int yb){  int i, j;  int *om;  om = &OM[c][ya][0];  if (!addflag)  {    for (j = ya; j < yb; j++)    {      for (i = xa; i < xb; i++)      {        d[i] = s[i] * om[i];      }      s += lx2;      d += lx;      om += 8;    }  } else  {    for (j = ya; j < yb; j++)    {      for (i = xa; i < xb; i++)      {        d[i] += s[i] * om[i];      }      s += lx2;      d += lx;      om += 8;    }  }}static void rech (unsigned char *s, unsigned char *d,                   int lx, int lx2, int h){  unsigned char *dp, *sp;  int j;  unsigned int s1, s2;  sp = s;  dp = d;  for (j = 0; j < h; j++)  {    s1 = sp[0];    dp[0] = (unsigned int) (s1 + (s2 = sp[1]) + 1 - rtype) >> 1;    dp[1] = (unsigned int) (s2 + (s1 = sp[2]) + 1 - rtype) >> 1;    dp[2] = (unsigned int) (s1 + (s2 = sp[3]) + 1 - rtype) >> 1;    dp[3] = (unsigned int) (s2 + (s1 = sp[4]) + 1 - rtype) >> 1;    dp[4] = (unsigned int) (s1 + (s2 = sp[5]) + 1 - rtype) >> 1;    dp[5] = (unsigned int) (s2 + (s1 = sp[6]) + 1 - rtype) >> 1;    dp[6] = (unsigned int) (s1 + (s2 = sp[7]) + 1 - rtype) >> 1;    dp[7] = (unsigned int) (s2 + (s1 = sp[8]) + 1 - rtype) >> 1;    dp[8] = (unsigned int) (s1 + (s2 = sp[9]) + 1 - rtype) >> 1;    dp[9] = (unsigned int) (s2 + (s1 = sp[10]) + 1 - rtype) >> 1;    dp[10] = (unsigned int) (s1 + (s2 = sp[11]) + 1 - rtype) >> 1;    dp[11] = (unsigned int) (s2 + (s1 = sp[12]) + 1 - rtype) >> 1;    dp[12] = (unsigned int) (s1 + (s2 = sp[13]) + 1 - rtype) >> 1;    dp[13] = (unsigned int) (s2 + (s1 = sp[14]) + 1 - rtype) >> 1;    dp[14] = (unsigned int) (s1 + (s2 = sp[15]) + 1 - rtype) >> 1;    dp[15] = (unsigned int) (s2 + sp[16] + 1 - rtype) >> 1;    sp += lx2;    dp += lx;  }}static void rechc (unsigned char *s, unsigned char *d,                    int lx, int lx2, int h){  unsigned char *dp, *sp;  int j;  unsigned int s1, s2;  sp = s;  dp = d;  for (j = 0; j < h; j++)  {    s1 = sp[0];    dp[0] = (unsigned int) (s1 + (s2 = sp[1]) + 1 - rtype) >> 1;    dp[1] = (unsigned int) (s2 + (s1 = sp[2]) + 1 - rtype) >> 1;    dp[2] = (unsigned int) (s1 + (s2 = sp[3]) + 1 - rtype) >> 1;    dp[3] = (unsigned int) (s2 + (s1 = sp[4]) + 1 - rtype) >> 1;    dp[4] = (unsigned int) (s1 + (s2 = sp[5]) + 1 - rtype) >> 1;    dp[5] = (unsigned int) (s2 + (s1 = sp[6]) + 1 - rtype) >> 1;    dp[6] = (unsigned int) (s1 + (s2 = sp[7]) + 1 - rtype) >> 1;    dp[7] = (unsigned int) (s2 + sp[8] + 1 - rtype) >> 1;    sp += lx2;    dp += lx;  }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一区二区x88av| 精品福利一区二区三区| 欧美中文字幕亚洲一区二区va在线 | 国产亚洲视频系列| 欧美男男青年gay1069videost| 成人av影视在线观看| 青青草成人在线观看| 午夜一区二区三区视频| 亚洲精品中文在线| 国产精品久久久久久久久图文区| 91精选在线观看| 欧美日韩国产精品自在自线| 91福利精品第一导航| 91精品福利视频| 色婷婷综合久久久久中文 | 国产一区欧美日韩| 久久电影国产免费久久电影| 日本中文字幕一区二区视频| 日韩 欧美一区二区三区| 日日噜噜夜夜狠狠视频欧美人| 亚洲高清中文字幕| 亚洲成人动漫在线观看| 亚洲在线中文字幕| 日韩精品免费视频人成| 蜜桃av一区二区三区电影| 九九九精品视频| 成人免费视频一区| 在线影视一区二区三区| 欧美精品在线观看一区二区| 日韩欧美一级二级三级| 久久噜噜亚洲综合| 亚洲视频综合在线| 视频一区欧美精品| 国产毛片一区二区| 欧美日韩在线观看一区二区| 日韩欧美国产精品一区| 久久久久国产精品免费免费搜索| 成人免费一区二区三区视频 | 欧美主播一区二区三区美女| 久久综合一区二区| 亚洲一二三专区| 国产美女久久久久| 91福利国产成人精品照片| 欧美成人性福生活免费看| 亚洲人成在线观看一区二区| 美脚の诱脚舐め脚责91| 99精品在线免费| 精品久久久久香蕉网| 依依成人综合视频| 成人一区二区在线观看| 久久午夜羞羞影院免费观看| 亚洲影视在线播放| 国产精品影视天天线| 日韩视频在线永久播放| 性欧美大战久久久久久久久| 成人动漫视频在线| 国产亚洲一区二区在线观看| 琪琪一区二区三区| 51精品久久久久久久蜜臀| 亚洲男同性恋视频| 成人性视频免费网站| 中文乱码免费一区二区| 欧美一区欧美二区| 天堂午夜影视日韩欧美一区二区| 91视视频在线观看入口直接观看www | 久久久综合九色合综国产精品| 午夜久久久久久电影| 欧美日韩在线亚洲一区蜜芽| 亚洲综合网站在线观看| 色94色欧美sute亚洲线路二| 一区二区三区精品在线| 国产日韩欧美精品在线| 岛国精品一区二区| 综合自拍亚洲综合图不卡区| 91丨porny丨在线| 亚洲国产精品一区二区久久恐怖片| 欧美性三三影院| 日韩avvvv在线播放| 久久众筹精品私拍模特| 国产91精品一区二区麻豆亚洲| 国产精品三级久久久久三级| 91啪亚洲精品| 日本不卡视频一二三区| 国产亚洲成av人在线观看导航| jlzzjlzz欧美大全| 亚洲国产成人av| 日韩亚洲欧美综合| 国产麻豆欧美日韩一区| 亚洲视频1区2区| 欧美第一区第二区| 99久久亚洲一区二区三区青草| 亚洲综合成人在线| 久久久久久久久蜜桃| 欧美亚洲国产一区在线观看网站| 久久精品国产网站| 亚洲精品大片www| 久久先锋资源网| 欧美精品高清视频| 91在线小视频| 国产真实乱对白精彩久久| 亚洲精品自拍动漫在线| 国产欧美一区二区精品婷婷| 欧美偷拍一区二区| proumb性欧美在线观看| 国产一区二区网址| 日本不卡123| 日韩精品久久久久久| 亚洲女同ⅹxx女同tv| 中文字幕一区av| 中文字幕一区二区三| 欧美国产综合一区二区| 欧美精品一区在线观看| 日韩欧美国产成人一区二区| 日韩一级免费观看| 欧美嫩在线观看| 欧美三级三级三级| 欧美一区二区三区视频| 欧美二区乱c少妇| 欧美电影免费提供在线观看| 日韩免费看的电影| 精品入口麻豆88视频| 久久伊人蜜桃av一区二区| 欧美电影精品一区二区| 久久久国产午夜精品| 国产精品乱码人人做人人爱| 亚洲视频在线观看三级| 日韩伦理av电影| 亚洲国产精品一区二区www| 日韩不卡一区二区| 韩国成人精品a∨在线观看| 波多野结衣中文字幕一区 | 美脚の诱脚舐め脚责91| 狠狠色综合播放一区二区| 国产成人免费av在线| 99久久免费国产| 制服丝袜国产精品| 久久久久久久久久久久久女国产乱| 日本一区二区成人在线| 亚洲免费在线电影| 欧美aaa在线| 91亚洲精品久久久蜜桃网站| 欧美日韩三级一区| 国产亚洲精品福利| 亚洲一区二区三区小说| 激情综合网av| 在线观看视频一区| 久久亚洲捆绑美女| 免费在线视频一区| 99精品视频在线播放观看| 91精品国产色综合久久不卡蜜臀 | 樱桃视频在线观看一区| 国产乱码精品1区2区3区| 欧美午夜片在线观看| 欧美激情一区二区三区不卡| 日本成人中文字幕| 欧美视频三区在线播放| 中文字幕av一区二区三区| 久久精品久久99精品久久| 欧美色网一区二区| 国产精品白丝在线| 国产美女在线精品| 日韩视频免费观看高清在线视频| 最新不卡av在线| 成人av小说网| 国产精品国产成人国产三级 | 奇米影视在线99精品| 制服丝袜中文字幕一区| 亚洲风情在线资源站| 欧美影院一区二区三区| 一区二区三国产精华液| 色哟哟国产精品免费观看| 亚洲三级小视频| 91麻豆精品在线观看| 自拍偷拍国产精品| 色婷婷av一区二区三区软件| 亚洲人成在线播放网站岛国| 91丨九色丨蝌蚪丨老版| 一区二区三区中文免费| 欧美日韩一区中文字幕| 男人操女人的视频在线观看欧美| 日韩精品在线看片z| 久久久久97国产精华液好用吗| 精品在线一区二区| 亚洲国产成人porn| 国产精品欧美极品| 91精品国产色综合久久ai换脸 | 欧美日韩成人综合天天影院| 久久精品二区亚洲w码| 国产精品国产三级国产三级人妇| 欧美日韩一区二区电影| 美女视频黄免费的久久 | 国产精品久久久久毛片软件| 色呦呦国产精品| 国产在线一区观看| 午夜影视日本亚洲欧洲精品| 欧美经典三级视频一区二区三区| 欧美日韩精品专区| 成人综合激情网| 久久成人18免费观看| 亚洲国产综合视频在线观看|