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

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

?? countbit.c

?? H.263的壓縮算法
?? C
?? 第 1 頁 / 共 5 頁
字號:
            if (x_vec < -32)              x_vec += 64;            else if (x_vec > 31)              x_vec -= 64;            if (y_vec < -32)              y_vec += 64;            else if (y_vec > 31)              y_vec -= 64;             if (x_vecb < -32)              x_vecb += 64;            else if (x_vecb > 31)              x_vecb -= 64;            if (y_vecb < -32)              y_vecb += 64;            else if (y_vecb > 31)              y_vecb -= 64;          } else          {            if (pmv0 < -31 && x_vec < -63)              x_vec += 64;            else if (pmv0 > 32 && x_vec > 63)              x_vec -= 64;            if (pmv1 < -31 && y_vec < -63)              y_vec += 64;            else if (pmv1 > 32 && y_vec > 63)              y_vec -= 64;             if (pmv0b < -31 && x_vecb < -63)              x_vecb += 64;            else if (pmv0b > 32 && x_vecb > 63)              x_vecb -= 64;              if (pmv1b < -31 && y_vecb < -63)              y_vecb += 64;            else if (pmv1b > 32 && y_vecb > 63)              y_vecb -= 64;          }          if (trace)          {            fprintf (tf, "Vectors:\n");          }          if (x_vec < 0)            x_vec += 64;          if (y_vec < 0)            y_vec += 64;          if (x_vecb < 0)            x_vecb += 64;          if (y_vecb < 0)            y_vecb += 64;          bits->vec += put_mv (x_vec);          bits->vec += put_mv (y_vec);          bits->vec += put_mv (x_vecb);          bits->vec += put_mv (y_vecb);           if (trace)          {            if (x_vec > 31)              x_vec -= 64;            if (y_vec > 31)              y_vec -= 64;            if (x_vecb > 31)              x_vecb -= 64;            if (y_vecb > 31)              y_vecb -= 64;            fprintf (tf, "Forward (x,y) = (%d,%d) - ",                     (2 * MV[block][y][x]->x + MV[block][y][x]->x_half),                     (2 * MV[block][y][x]->y + MV[block][y][x]->y_half));            fprintf (tf, "(Px,Py) = (%d,%d)\n", pmv0, pmv1);            fprintf (tf, "(x_diff,y_diff) = (%d,%d)\n", x_vec, y_vec);            fprintf (tf, "Backward (x,y) = (%d,%d) - ",                     (2 * MV[blockb][y][x]->x + MV[blockb][y][x]->x_half),                     (2 * MV[blockb][y][x]->y + MV[blockb][y][x]->y_half));            fprintf (tf, "(Px,Py) = (%d,%d)\n", pmv0b, pmv1b);            fprintf (tf, "(x_diff,y_diff) = (%d,%d)\n", x_vecb, y_vecb);          }        }        break;      default:        fprintf (stderr, "Illegal scalable prediction type in CountBitsVectors (countbit.c)\n");        exit (-1);        break;    }  }  /* PB-frames delta vectors */  if ((pic->PB == PB_FRAMES &&      (pic->MODB == PBMODE_MVDB || pic->MODB == PBMODE_CBPB_MVDB)) ||      (pic->PB == IM_PB_FRAMES &&      (pic->MODB == PBMODE_FRW_PRED || pic->MODB == PBMODE_CBPB_FRW_PRED)))  {    if (pic->PB == PB_FRAMES && (pic->MODB == PBMODE_MVDB ||                                 pic->MODB == PBMODE_CBPB_MVDB))    {      /* x_vec and y_vec are the PB-delta vectors */      x_vec = MV[6][y][x]->x;      y_vec = MV[6][y][x]->y;    } else    {      /* x_vec and y_vec are the forward motion vectors for B picture in       * Impreved PB frames mode. */      if (newgob)      {        /* no predictors */        x_vec = 2 * MV[6][y][x]->x + MV[6][y][x]->x_half;        y_vec = 2 * MV[6][y][x]->y + MV[6][y][x]->y_half;      } else      {        /* find prediction vectors */        /* this would work even though the previous macroblock is         * predicted bidirectionally. In that case the motion vector will         * be ZERO vector */        pmv0 = (2 * MV[6][y][x - 1]->x + MV[6][y][x - 1]->x_half);        pmv1 = (2 * MV[6][y][x - 1]->y + MV[6][y][x - 1]->y_half);        x_vec = (2 * MV[6][y][x]->x + MV[6][y][x]->x_half) - pmv0;        y_vec = (2 * MV[6][y][x]->y + MV[6][y][x]->y_half) - pmv1;      }    }    /* When PLUSPTYPE is signalled and Annex D is used, *     * Reversible motion vector codes are used          */    if (EPTYPE && long_vectors)    {      if (trace)      {        if (pic->PB == PB_FRAMES)          fprintf (tf, "PB delta vectors:\n");        if (pic->PB == IM_PB_FRAMES)          fprintf (tf, "PB ,B forward vectors:\n");      }      bits->vec += put_rvlc(x_vec);      bits->vec += put_rvlc(y_vec);      if (trace)      {        fprintf (tf, "(x,y) = (%d,%d) - ",                 (2 * MV[6][y][x]->x + MV[6][y][x]->x_half),                 (2 * MV[6][y][x]->y + MV[6][y][x]->y_half));        fprintf (tf, "(Px,Py) = (%d,%d)\n", pmv0, pmv1);        fprintf (tf, "(x_diff,y_diff) = (%d,%d)\n", x_vec, y_vec);      }      /* prevent start code emulation */      if (x_vec == 1 && y_vec == 1)      {        if (trace)        {          fprintf (tf, "Prevent Start Code Emulation bit:\n");        }        putbits (1,1);      }    }    else    {      if (x_vec < -32)        x_vec += 64;      else if (x_vec > 31)        x_vec -= 64;      if (y_vec < -32)        y_vec += 64;      else if (y_vec > 31)        y_vec -= 64;      if (x_vec < 0)        x_vec += 64;      if (y_vec < 0)        y_vec += 64;      if (trace)      {        if (pic->PB == PB_FRAMES)          fprintf (tf, "PB delta vectors:\n");        if (pic->PB == IM_PB_FRAMES)          fprintf (tf, "PB ,B forward vectors:\n");      }      bits->vec += put_mv (x_vec);      bits->vec += put_mv (y_vec);      if (trace)      {        if (x_vec > 31)          x_vec -= 64;        if (y_vec > 31)          y_vec -= 64;        fprintf (tf, "MVDB (x,y) = (%d,%d)\n", x_vec, y_vec);      }    }  }  return;}void Count_sac_BitsVectors (MotionVector * MV[7][MBR + 1][MBC + 2], Bits * bits,                          int x, int y, int Mode, int newgob, Pict * pic){  int y_vec, x_vec;  int pmv0, pmv1;  int start, stop, block;  arith_used = 1;  x++;  y++;  if (Mode == MODE_INTER4V || Mode == MODE_INTER4V_Q)  {    start = 1;    stop = 4;  } else  {    start = 0;    stop = 0;  }  for (block = start; block <= stop; block++)  {    FindPMV (MV, x, y, &pmv0, &pmv1, block, newgob, 1);    x_vec = (2 * MV[block][y][x]->x + MV[block][y][x]->x_half) - pmv0;    y_vec = (2 * MV[block][y][x]->y + MV[block][y][x]->y_half) - pmv1;    if (!long_vectors)    {      if (x_vec < -32)        x_vec += 64;      else if (x_vec > 31)        x_vec -= 64;      if (y_vec < -32)        y_vec += 64;      else if (y_vec > 31)        y_vec -= 64;    } else    {      if (pmv0 < -31 && x_vec < -63)        x_vec += 64;      else if (pmv0 > 32 && x_vec > 63)        x_vec -= 64;      if (pmv1 < -31 && y_vec < -63)        y_vec += 64;      else if (pmv1 > 32 && y_vec > 63)        y_vec -= 64;    }    if (x_vec < 0)      x_vec += 64;    if (y_vec < 0)      y_vec += 64;    if (trace)    {      fprintf (tf, "Vectors:\n");    }    bits->vec += AR_Encode (indexfn (x_vec, mvdtab, 64), cumf_MVD);    bits->vec += AR_Encode (indexfn (y_vec, mvdtab, 64), cumf_MVD);    if (trace)    {      if (x_vec > 31)        x_vec -= 64;      if (y_vec > 31)        y_vec -= 64;      fprintf (tf, "(x,y) = (%d,%d) - ",               (2 * MV[block][y][x]->x + MV[block][y][x]->x_half),               (2 * MV[block][y][x]->y + MV[block][y][x]->y_half));      fprintf (tf, "(Px,Py) = (%d,%d)\n", pmv0, pmv1);      fprintf (tf, "(x_diff,y_diff) = (%d,%d)\n", x_vec, y_vec);    }  }  /* PB-frames delta vectors */  if ((pic->PB == PB_FRAMES &&       (pic->MODB == PBMODE_MVDB || pic->MODB == PBMODE_CBPB_MVDB)) ||      (pic->PB == IM_PB_FRAMES &&    (pic->MODB == PBMODE_FRW_PRED || pic->MODB == PBMODE_CBPB_FRW_PRED)))  {    if (pic->PB == PB_FRAMES && (pic->MODB == PBMODE_MVDB ||                                 pic->MODB == PBMODE_CBPB_MVDB))    {      /* x_vec and y_vec are the PB-delta vectors */      x_vec = MV[6][y][x]->x;      y_vec = MV[6][y][x]->y;    }    else    {      /* x_vec and y_vec are the forward motion vectors for B picture in       * Improved PB frames mode. */      if (newgob)      {        /* no predictors */        x_vec = 2 * MV[6][y][x]->x + MV[6][y][x]->x_half;        y_vec = 2 * MV[6][y][x]->y + MV[6][y][x]->y_half;      } else      {        /* find prediction vectors */        /* this would work even though the previous macroblock is         * predicted bidirectionally. In that case the motion vector will         * be ZERO vector */        pmv0 = (2 * MV[6][y][x - 1]->x + MV[6][y][x - 1]->x_half);        pmv1 = (2 * MV[6][y][x - 1]->y + MV[6][y][x - 1]->y_half);        x_vec = (2 * MV[6][y][x]->x + MV[6][y][x]->x_half) - pmv0;        y_vec = (2 * MV[6][y][x]->y + MV[6][y][x]->y_half) - pmv1;      }    }    if (x_vec < -32)      x_vec += 64;    else if (x_vec > 31)      x_vec -= 64;    if (y_vec < -32)      y_vec += 64;    else if (y_vec > 31)      y_vec -= 64;    if (x_vec < 0)      x_vec += 64;    if (y_vec < 0)      y_vec += 64;    if (trace)    {      if (pic->PB == PB_FRAMES)        fprintf (tf, "PB delta vectors:\n");      if (pic->PB == IM_PB_FRAMES)        fprintf (tf, "PB ,B forward vectors:\n");    }    bits->vec += AR_Encode (indexfn (x_vec, mvdtab, 64), cumf_MVD);    bits->vec += AR_Encode (indexfn (y_vec, mvdtab, 64), cumf_MVD);    if (trace)    {      if (x_vec > 31)        x_vec -= 64;      if (y_vec > 31)        y_vec -= 64;      fprintf (tf, "MVDB (x,y) = (%d,%d)\n", x_vec, y_vec);    }  }  return;}/********************************************************************** * *	Name:           FindPMV *	Description:	counts bits used for MVs and writes to bitstream * *	Input:          MV struct, position, pointers to MV predictors, *                      block number, half pel flag. * *	Returns:        median predicted MV *	Side effects: * *	Date: 940111	Author:	??? *            970831    Added support for backwards MV prediction, *                      modified by mikeg@ee.ubc.ca * ***********************************************************************/void FindPMV (MotionVector * MV[7][MBR + 1][MBC + 2], int x, int y,               int *pmv0, int *pmv1, int block,               int newgob, int half_pel){  int p1, p2, p3;  int xin1, xin2, xin3;  int yin1, yin2, yin3;  int vec1, vec2, vec3;  int l8, o8, or8;  l8 = o8 = or8 = 0;  if (MV[0][y][x - 1]->Mode == MODE_INTER4V || MV[0][y][x - 1]->Mode == MODE_INTER4V_Q)    l8 = 1;  if (MV[0][y - 1][x]->Mode == MODE_INTER4V || MV[0][y - 1][x]->Mode == MODE_INTER4V_Q)    o8 = 1;  if (MV[0][y - 1][x + 1]->Mode == MODE_INTER4V || MV[0][y - 1][x + 1]->Mode == MODE_INTER4V_Q)    or8 = 1;  switch (block)  {    case 0:      vec1 = (l8 ? 2 : 0);      yin1 = y;      xin1 = x - 1;      vec2 = (o8 ? 3 : 0);      yin2 = y - 1;      xin2 = x;      vec3 = (or8 ? 3 : 0);      yin3 = y - 1;      xin3 = x + 1;      break;    case 1:      vec1 = (l8 ? 2 : 0);      yin1 = y;      xin1 = x - 1;      vec2 = (o8 ? 3 : 0);      yin2 = y - 1;      xin2 = x;      vec3 = (or8 ? 3 : 0);      yin3 = y - 1;      xin3 = x + 1;      break;    case 2:      vec1 = 1;      yin1 = y;      xin1 = x;      vec2 = (o8 ? 4 : 0);      yin2 = y - 1;      xin2 = x;      vec3 = (or8 ? 3 : 0);      yin3 = y - 1;      xin3 = x + 1;      break;    case 3:      vec1 = (l8 ? 4 : 0);      yin1 = y;      xin1 = x - 1;      vec2 = 1;      yin2 = y;      xin2 = x;      vec3 = 2;      yin3 = y;      xin3 = x;      break;    case 4:      vec1 = 3;      yin1 = y;      xin1 = x;      vec2 = 1;      yin2 = y;      xin2 = x;      vec3 = 2;      yin3 = y;      xin3 = x;      break;    case 5:      vec1 = 5;      yin1 = y;      xin1 = x - 1;      vec2 = 5;      yin2 = y - 1;      xin2 = x;      vec3 = 5;      yin3 = y - 1;      xin3 = x + 1;      break;    default:      fprintf (stderr, "Illegal block number in FindPMV (countbit.c)\n");      exit (-1);      break;  }  if (half_pel)  {    p1 = 2 * MV[vec1][yin1][xin1]->x + MV[vec1][yin1][xin1]->x_half;    p2 = 2 * MV[vec2][yin2][xin2]->x + MV[vec2][yin2][xin2]->x_half;    p3 = 2 * MV[vec3][yin3][xin3]->x + MV[vec3][yin3][xin3]->x_half;  } else  {    p1 = 2 * MV[vec1][yin1][xin1]->x;    p2 = 2 * MV[vec2][yin2][xin2]->x;    p3 = 2 * MV[vec3][yin3][xin3]->x;  }  if (newgob && (block == 0 || block == 1 || block == 2))    p2 = 2 * NO_VEC;  if (p2 == 2 * NO_VEC)  {    p2 = p3 = p1;  }  *pmv0 = p1 + p2 + p3 - mmax (p1, mmax (p2, p3)) - mmin (p1, mmin (p2, p3));  if (half_pel)  {    p1 = 2 * MV[vec1][yin1][xin1]->y + MV[vec1][yin1][xin1]->y_half;    p2 = 2 * MV[vec2][yin2][xin2]->y + MV[vec2][yin2][xin2]->y_half;    p3 = 2 * MV[vec3][yin3][xin3]->y + MV[vec3][yin3][xin3]->y_half;  } else  {    p1 = 2 * MV[vec1][yin1][xin1]->y;    p2 = 2 * MV[vec2][yin2]

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美三级日韩在线| 欧亚洲嫩模精品一区三区| 亚洲成人在线网站| 国产精品国产a| 久久看人人爽人人| 日韩视频免费观看高清完整版| 欧美日韩大陆一区二区| 在线一区二区三区四区五区 | 国产精品久久毛片| 欧美激情在线看| 国产亚洲欧洲997久久综合| 欧美变态tickling挠脚心| 日韩视频国产视频| 精品国产一区二区三区久久影院| 日韩一区二区电影网| 日韩欧美一级二级三级久久久| 正在播放亚洲一区| 精品对白一区国产伦| 欧美国产激情二区三区 | 国产一区在线精品| 国产精品亚洲一区二区三区在线| 成人午夜视频网站| 成人的网站免费观看| 色婷婷综合五月| 欧美亚洲丝袜传媒另类| 欧美美女直播网站| 久久―日本道色综合久久| 国产精品高潮久久久久无| 一区二区激情视频| 蜜臀精品久久久久久蜜臀| 韩日精品视频一区| 91在线云播放| 欧美日韩欧美一区二区| 欧美电影免费观看高清完整版在| 日本一区二区免费在线观看视频| 亚洲视频1区2区| 视频一区二区中文字幕| 国产成人精品亚洲777人妖| 色婷婷综合五月| 欧美成人精品福利| 成人欧美一区二区三区| 婷婷成人激情在线网| 成人亚洲精品久久久久软件| 精品视频免费看| 国产欧美一区二区精品婷婷| 亚洲一区二区中文在线| 国产精品一区二区三区四区| 欧美天堂一区二区三区| 26uuu欧美日本| 亚洲国产精品久久一线不卡| 国产91丝袜在线播放九色| 欧美高清一级片在线| 欧美国产精品v| 男男成人高潮片免费网站| 91免费视频观看| 久久久久高清精品| 欧美96一区二区免费视频| 91麻豆蜜桃一区二区三区| 久久久精品免费免费| 日韩电影在线观看网站| 欧美在线观看一区| 亚洲欧美一区二区视频| 国产一区二区免费在线| 日韩一区二区免费视频| 亚洲一区二区三区在线播放| 福利一区福利二区| 久久中文字幕电影| 美国毛片一区二区三区| 在线不卡a资源高清| 一区二区三区91| 色综合天天视频在线观看| 国产农村妇女毛片精品久久麻豆| 精品一区二区三区免费视频| 欧美日韩亚洲综合在线| 亚洲一区二区三区精品在线| 欧美一区二区在线播放| 亚洲一级在线观看| 欧美性欧美巨大黑白大战| 亚洲精品写真福利| 91麻豆国产在线观看| 自拍偷在线精品自拍偷无码专区| 懂色av中文一区二区三区| 久久综合九色综合欧美就去吻| 毛片av一区二区三区| 日韩美女视频在线| 久久精品国产一区二区| 337p粉嫩大胆色噜噜噜噜亚洲| 美日韩一区二区| 日韩欧美一级特黄在线播放| 精品中文字幕一区二区小辣椒| 日韩欧美国产一区二区三区| 精品在线免费视频| 久久久99精品免费观看不卡| 国产成人福利片| 中文字幕日本乱码精品影院| 色悠悠久久综合| 亚洲高清免费在线| 日韩欧美激情一区| 国产suv精品一区二区三区| 国产精品大尺度| 在线视频一区二区免费| 午夜不卡在线视频| 精品日韩在线观看| 成人av电影在线网| 亚洲地区一二三色| 精品三级在线看| 成人高清免费观看| 亚洲1区2区3区4区| 亚洲精品一线二线三线| eeuss鲁片一区二区三区在线观看| 日韩电影在线观看电影| 欧美成人aa大片| 成人国产在线观看| 午夜伦欧美伦电影理论片| 精品欧美一区二区久久| 91亚洲国产成人精品一区二区三| 亚洲电影中文字幕在线观看| 久久久久久久久一| 欧美在线观看一区| 国产成人自拍网| 亚洲午夜精品久久久久久久久| 精品国产一区二区精华| 91麻豆swag| 国产麻豆精品在线观看| 亚洲国产精品久久艾草纯爱 | 蜜臀91精品一区二区三区| 国产日韩成人精品| 欧美欧美欧美欧美首页| 成人av一区二区三区| 日韩高清不卡一区| 亚洲女同ⅹxx女同tv| 久久免费精品国产久精品久久久久 | 中文一区在线播放| 欧美一区二区三区四区在线观看| 97久久超碰国产精品| 精品系列免费在线观看| 亚洲国产精品一区二区www在线| 国产欧美日韩精品在线| 欧美成人乱码一区二区三区| 欧美三级电影一区| 91香蕉视频污| 岛国精品一区二区| 成人综合在线视频| 欧美aⅴ一区二区三区视频| 一区二区三区蜜桃网| 日本一区二区久久| 久久精品一区二区| 日韩欧美久久久| 欧美一区二区视频在线观看| 欧美亚一区二区| 97久久久精品综合88久久| 成人aaaa免费全部观看| 国产91精品欧美| 国产一区视频导航| 国产九色sp调教91| 国产美女精品人人做人人爽| 另类小说色综合网站| 麻豆成人av在线| 麻豆国产欧美日韩综合精品二区 | 欧美在线观看视频一区二区三区| 99久久精品国产麻豆演员表| 成人国产免费视频| 99久久免费视频.com| 99re在线视频这里只有精品| 91在线视频网址| 在线观看免费视频综合| 欧美日韩在线播放三区四区| 欧美三电影在线| 337p亚洲精品色噜噜噜| 日韩欧美第一区| 国产亚洲女人久久久久毛片| 国产精品日日摸夜夜摸av| 亚洲男人的天堂在线观看| 一区二区日韩av| 免费亚洲电影在线| 国产一区二区福利视频| 99视频在线观看一区三区| 色综合欧美在线视频区| 欧美日韩激情一区二区三区| 日韩一区二区三区免费看| 久久久久亚洲蜜桃| 中文字幕一区二区不卡| 亚洲成va人在线观看| 精品一区二区在线看| 欧美日韩在线三级| 3751色影院一区二区三区| 久久色中文字幕| 亚洲日穴在线视频| 日韩av一区二| 成人app在线| 欧美一区二区美女| 国产精品久久99| 日韩成人av影视| 成人av动漫在线| 欧美一级一区二区| 日本一区二区电影| 日精品一区二区三区| 粉嫩aⅴ一区二区三区四区五区| 欧美性色欧美a在线播放| 久久欧美一区二区|