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

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

?? getpic.cpp

?? EVC做的Windows Mobile 的H263網絡視頻
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
      rfp[0] = clp[bp[0]+rfp[0]];
      rfp[1] = clp[bp[1]+rfp[1]];
      rfp[2] = clp[bp[2]+rfp[2]];
      rfp[3] = clp[bp[3]+rfp[3]];
      rfp[4] = clp[bp[4]+rfp[4]];
      rfp[5] = clp[bp[5]+rfp[5]];
      rfp[6] = clp[bp[6]+rfp[6]];
      rfp[7] = clp[bp[7]+rfp[7]];
      bp += 8;
      rfp+= iincr;
    }
  }
  else  {
    for (i=0; i<8; i++) {
      rfp[0] = clp[bp[0]];
      rfp[1] = clp[bp[1]];
      rfp[2] = clp[bp[2]];
      rfp[3] = clp[bp[3]];
      rfp[4] = clp[bp[4]];
      rfp[5] = clp[bp[5]];
      rfp[6] = clp[bp[6]];
      rfp[7] = clp[bp[7]];
      bp += 8;
      rfp += iincr;
    }
  }
}

/* bidirectionally reconstruct 8x8-Block from block[comp] to bframe */

static void reconblock_b(int comp,int bx,int by,int mode,int bdx,int bdy)
{
  int cc,i,j,k, ii;
  unsigned char *bfr, *ffr;
  int BMVx, BMVy;
  int xa,xb,ya,yb,x,y,xvec,yvec,mvx,mvy;
  int xint,xhalf,yint,yhalf,pel;

  x = bx/16+1;y=by/16+1;

  if (mode == MODE_INTER4V) {
    if (comp < 4) {
      /* luma */
      mvx = MV[0][comp+1][y][x];
      mvy = MV[1][comp+1][y][x];
      BMVx = (bdx == 0 ? (trb-trd)* mvx/trd : trb * mvx/trd + bdx - mvx);
      BMVy = (bdy == 0 ? (trb-trd)* mvy/trd : trb * mvy/trd + bdy - mvy);
    }
    else {
      /* chroma */
      xvec = yvec = 0;
      for (k = 1; k <= 4; k++) {
        mvx = MV[0][k][y][x];
        mvy = MV[1][k][y][x];
        xvec += (bdx == 0 ? (trb-trd)* mvx/trd : trb * mvx/trd + bdx - mvx);
        yvec += (bdy == 0 ? (trb-trd)* mvy/trd : trb * mvy/trd + bdy - mvy);
      }
      
      /* chroma rounding (table 16/H.263) */
      BMVx = sign(xvec)*(roundtab[abs(xvec)%16] + (abs(xvec)/16)*2);
      BMVy = sign(yvec)*(roundtab[abs(yvec)%16] + (abs(yvec)/16)*2);
    }
  }
  else {
    if (comp < 4) {
      /* luma */
      mvx = MV[0][0][y][x];
      mvy = MV[1][0][y][x];
      BMVx = (bdx == 0 ? (trb-trd)* mvx/trd : trb * mvx/trd + bdx - mvx);
      BMVy = (bdy == 0 ? (trb-trd)* mvy/trd : trb * mvy/trd + bdy - mvy);
    }
    else {
      /* chroma */
      mvx = MV[0][0][y][x];
      mvy = MV[1][0][y][x];
      xvec = (bdx == 0 ? (trb-trd)* mvx/trd : trb * mvx/trd + bdx - mvx);
      yvec = (bdy == 0 ? (trb-trd)* mvy/trd : trb * mvy/trd + bdy - mvy);
      xvec *= 4;
      yvec *= 4;
      
      /* chroma rounding (table 16/H.263) */
      BMVx = sign(xvec)*(roundtab[abs(xvec)%16] + (abs(xvec)/16)*2);
      BMVy = sign(yvec)*(roundtab[abs(yvec)%16] + (abs(yvec)/16)*2);
    }
  }

  cc = (comp<4) ? 0 : (comp&1)+1; /* color component index */

  if (cc==0) {
    /* luminance */
    find_bidir_limits(BMVx,&xa,&xb,comp&1);
    find_bidir_limits(BMVy,&ya,&yb,(comp&2)>>1);
    bfr = bframe[0] +
      coded_picture_width*(by+((comp&2)<<2)) + bx + ((comp&1)<<3);
    ffr = newframe[0] +
      coded_picture_width*(by+((comp&2)<<2)) + bx + ((comp&1)<<3);
    ii = coded_picture_width;
  }
  else {
    /* chrominance */
    /* scale coordinates and vectors*/
    bx >>= 1;
    by >>= 1;

    find_bidir_chroma_limits(BMVx,&xa,&xb);
    find_bidir_chroma_limits(BMVy,&ya,&yb);

    bfr = bframe[cc]      + chrom_width*(by+((comp&2)<<2)) + bx + (comp&8);
    ffr = newframe[cc]    + chrom_width*(by+((comp&2)<<2)) + bx + (comp&8);
    ii = chrom_width;
  }

  xint = BMVx>>1;
  xhalf = BMVx - 2*xint;
  yint = BMVy>>1;
  yhalf = BMVy - 2*yint;

  ffr += xint + (yint+ya)*ii;
  bfr += ya*ii;
  
  if (!xhalf && !yhalf) {
    for (j = ya; j < yb; j++) {
      for (i = xa; i < xb; i++) {
        pel = ffr[i];
        bfr[i] = ((unsigned int)(pel + bfr[i]))>>1;
      }
      bfr += ii;
      ffr += ii;
    }
  }
  else if (xhalf && !yhalf) {
    for (j = ya; j < yb; j++) {
      for (i = xa; i < xb; i++) {
        pel = ((unsigned int)(ffr[i]+ffr[i+1]+1))>>1;
        bfr[i] = ((unsigned int)(pel + bfr[i]))>>1;
      }
      bfr += ii;
      ffr += ii;
    }
  }
  else if (!xhalf && yhalf) {
    for (j = ya; j < yb; j++) {
      for (i = xa; i < xb; i++) {
        pel = ((unsigned int)(ffr[i]+ffr[ii+i]+1))>>1;
        bfr[i] = ((unsigned int)(pel + bfr[i]))>>1;
      }
      bfr += ii;
      ffr += ii;
    }
  }
  else { /* if (xhalf && yhalf) */
    for (j = ya; j < yb; j++) {
      for (i = xa; i < xb; i++) {
        pel = ((unsigned int)(ffr[i]+ffr[i+1]+ffr[ii+i]+ffr[ii+i+1]+2))>>2;
        bfr[i] = ((unsigned int)(pel + bfr[i]))>>1;
      }
      bfr += ii;
      ffr += ii;
    }
  }
  return;
}

int motion_decode(int vec,int pmv)
{
  if (vec > 31) vec -= 64;
  vec += pmv;
  if (!long_vectors) {
    if (vec > 31)
      vec -= 64;
    if (vec < -32)
      vec += 64;
  }
  else {
    if (pmv < -31 && vec < -63)
      vec += 64;
    if (pmv > 32 && vec > 63)
      vec -= 64;
  }
  return vec;
}


int find_pmv(int x,int  y,int  block,int comp)
{
  int p1,p2,p3;
  int xin1,xin2,xin3;
  int yin1,yin2,yin3;
  int vec1,vec2,vec3;
  int l8,o8,or8;

  x++;y++;

  l8 = (modemap[y][x-1] == MODE_INTER4V ? 1 : 0);
  o8 =  (modemap[y-1][x] == MODE_INTER4V ? 1 : 0);
  or8 = (modemap[y-1][x+1] == MODE_INTER4V ? 1 : 0);

  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;
  default:
    if(trace)
	fputs("Illegal block number in find_pmv (getpic.c)\n",dlog);
    return 1;
    break;
  }
  p1 = MV[comp][vec1][yin1][xin1];
  p2 = MV[comp][vec2][yin2][xin2];
  p3 = MV[comp][vec3][yin3][xin3];

  if (newgob && (block == 0 || block == 1 || block == 2))
    p2 = NO_VEC;

  if (p2 == NO_VEC) { p2 = p3 = p1; }

  return p1+p2+p3 - mmax(p1,mmax(p2,p3)) - mmin(p1,mmin(p2,p3));
}



void find_bidir_limits(int vec, int *start, int *stop, int nhv)
{
  /* limits taken from C loop in section G5 in H.263 */
  *start = mmax(0,(-vec+1)/2 - nhv*8);
  *stop = mmin(7,15-(vec+1)/2 - nhv*8);

  (*stop)++; /* I use < and not <= in the loop */
}

void find_bidir_chroma_limits(int vec, int *start,int * stop)
{

  /* limits taken from C loop in section G5 in H.263 */
  *start = mmax(0,(-vec+1)/2);
  *stop = mmin(7,7-(vec+1)/2);

  (*stop)++; /* I use < and not <= in the loop */
  return;
}

void make_edge_image(unsigned char *src,unsigned char *dst,int width,int height,int edge)
{
  int i,j;
  unsigned char *p1,*p2,*p3,*p4;
  unsigned char *o1,*o2,*o3,*o4;

  /* center image */
  p1 = dst;
  o1 = src;
  for (j = 0; j < height;j++) {
    for (i = 0; i < width; i++) {
      *(p1 + i) = *(o1 + i);
    }
    p1 += width + (edge<<1);
    o1 += width;
  }

  /* left and right edges */
  p1 = dst-1;
  o1 = src;
  for (j = 0; j < height;j++) {
    for (i = 0; i < edge; i++) {
      *(p1 - i) = *o1;
      *(p1 + width + i + 1) = *(o1 + width - 1);
    }
    p1 += width + (edge<<1);
    o1 += width;
  }    
    
  /* top and bottom edges */
  p1 = dst;
  p2 = dst + (width + (edge<<1))*(height-1);
  o1 = src;
  o2 = src + width*(height-1);
  for (j = 0; j < edge;j++) {
    p1 = p1 - (width + (edge<<1));
    p2 = p2 + (width + (edge<<1));
    for (i = 0; i < width; i++) {
      *(p1 + i) = *(o1 + i);
      *(p2 + i) = *(o2 + i);
    }
  }    

  /* corners */
  p1 = dst - (width+(edge<<1)) - 1;
  p2 = p1 + width + 1;
  p3 = dst + (width+(edge<<1))*(height)-1;
  p4 = p3 + width + 1;

  o1 = src;
  o2 = o1 + width - 1;
  o3 = src + width*(height-1);
  o4 = o3 + width - 1;
  for (j = 0; j < edge; j++) {
    for (i = 0; i < edge; i++) {
      *(p1 - i) = *o1;
      *(p2 + i) = *o2;
      *(p3 - i) = *o3;
      *(p4 + i) = *o4; 
    }
    p1 = p1 - (width + (edge<<1));
    p2 = p2 - (width + (edge<<1));
    p3 = p3 + width + (edge<<1);
    p4 = p4 + width + (edge<<1);
  }

}

  
void interpolate_image(unsigned char *in, unsigned char *out,int  width,int height)
/* only used for displayed interpolated frames, not reconstructed ones */
{

  int x,xx,y,w2;

  unsigned char *pp,*ii;

  w2 = 2*width;

  /* Horizontally */
  pp = out;
  ii = in;
  for (y = 0; y < height-1; y++) {
    for (x = 0,xx=0; x < width-1; x++,xx+=2) {
      *(pp + xx) = *(ii + x);
      *(pp + xx+1) = ((unsigned int)(*(ii + x)  + *(ii + x + 1)))>>1;
      *(pp + w2 + xx) = ((unsigned int)(*(ii + x) + *(ii + x + width)))>>1;
      *(pp + w2 + xx+1) = ((unsigned int)(*(ii + x) + *(ii + x + 1) + 
           *(ii + x + width) + *(ii + x + width + 1)))>>2;
      
    }
    *(pp + w2 - 2) = *(ii + width - 1);
    *(pp + w2 - 1) = *(ii + width - 1);
    *(pp + w2 + w2 - 2) = *(ii + width + width - 1);
    *(pp + w2 + w2 - 1) = *(ii + width + width - 1);
    pp += w2<<1;
    ii += width;
  }

  /* last lines */
  for (x = 0,xx=0; x < width-1; x++,xx+=2) {
    *(pp+ xx) = *(ii + x);    
    *(pp+ xx+1) = ((unsigned int)(*(ii + x) + *(ii + x + 1) + 1))>>1;
    *(pp+ w2+ xx) = *(ii + x);    
    *(pp+ w2+ xx+1) = ((unsigned int)(*(ii + x) + *(ii + x + 1) + 1))>>1;
  }
  
  /* bottom right corner pels */
  *(pp + (width<<1) - 2) = *(ii + width -1);
  *(pp + (width<<1) - 1) = *(ii + width -1);
  *(pp + (width<<2) - 2) = *(ii + width -1);
  *(pp + (width<<2) - 1) = *(ii + width -1);

  return;
}
    


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品久久久久久久久久久久包黑料 | 一区二区三区欧美激情| 欧美日韩一卡二卡三卡| 韩国女主播成人在线观看| 国产精品久久久久久久久免费桃花| 在线欧美日韩国产| 久久国产精品99久久久久久老狼 | 欧美日韩在线播放三区四区| 精品无人码麻豆乱码1区2区| 中文字幕av一区二区三区免费看 | 国产aⅴ综合色| 日韩美女视频19| 日韩三级高清在线| 91麻豆精品在线观看| 亚洲午夜久久久久久久久电影院 | 欧美日韩精品三区| 日本欧美韩国一区三区| 国产精品久久久久国产精品日日| 91精品国产高清一区二区三区| 岛国一区二区三区| 麻豆成人免费电影| 一二三四区精品视频| 国产日韩欧美a| 日韩视频123| 欧美三级日韩三级| 97se亚洲国产综合在线| 国内一区二区在线| 日日夜夜精品视频天天综合网| 一区在线播放视频| 国产日韩成人精品| 欧美成人伊人久久综合网| 欧美伊人久久久久久久久影院| 成人免费视频免费观看| 国产揄拍国内精品对白| 日本成人在线电影网| 一区二区三区在线播放| 国产精品色哟哟网站| 久久久99免费| 欧美一区二区三区播放老司机| 欧美性极品少妇| 成人av免费观看| 成人av手机在线观看| 福利91精品一区二区三区| 久久99精品国产.久久久久久| 亚洲a一区二区| 亚洲日本va午夜在线电影| 中文字幕中文乱码欧美一区二区| 久久日一线二线三线suv| 日韩一区二区不卡| 日韩三级在线免费观看| 在线观看国产精品网站| 色久优优欧美色久优优| 色视频一区二区| 91麻豆精品国产91| 久久女同精品一区二区| 一区视频在线播放| 亚瑟在线精品视频| 久久爱www久久做| 成人h动漫精品一区二区| 色婷婷综合久久久久中文| 7777精品伊人久久久大香线蕉最新版| 日韩一区二区免费视频| 欧美国产日韩精品免费观看| 一区二区三区四区不卡视频 | 国内精品在线播放| 成人av中文字幕| 欧美性受xxxx黑人xyx性爽| 日韩一区二区视频在线观看| 久久久不卡影院| 亚洲精品日日夜夜| 久色婷婷小香蕉久久| 9l国产精品久久久久麻豆| 精品视频1区2区| 国产欧美日韩三级| 亚洲国产另类av| 国产精品一区二区你懂的| 在线一区二区三区四区| 日韩精品一区二区三区视频播放| 国产精品高潮呻吟久久| 日本成人在线电影网| 成人精品国产福利| 91.成人天堂一区| 日韩美女啊v在线免费观看| 美女视频一区二区| 在线观看亚洲a| 久久精品网站免费观看| 日韩经典一区二区| 91女厕偷拍女厕偷拍高清| 欧美一区二区三区免费在线看 | 亚洲高清免费视频| 懂色av一区二区夜夜嗨| 日韩一区二区影院| 一区二区三区精密机械公司| 国产伦精品一区二区三区视频青涩 | 欧洲一区在线电影| 国产亚洲制服色| 日韩不卡在线观看日韩不卡视频| 91丨九色丨国产丨porny| 日韩欧美一级二级| 亚洲成年人网站在线观看| 成人黄色软件下载| 精品sm在线观看| 性感美女久久精品| 日本黄色一区二区| 欧美国产一区二区在线观看| 久久丁香综合五月国产三级网站| 91国偷自产一区二区开放时间| 国产精品色婷婷| 极品销魂美女一区二区三区| 在线不卡的av| 亚洲一区二区3| 色综合激情五月| 中文字幕亚洲一区二区va在线| 激情丁香综合五月| 日韩视频免费观看高清在线视频| 午夜欧美电影在线观看| 在线观看91视频| 亚洲精品高清视频在线观看| 99久久精品一区| 国产精品人成在线观看免费 | 国产寡妇亲子伦一区二区| 日韩视频在线观看一区二区| 日韩精品一二三四| 欧美精品亚洲一区二区在线播放| 亚洲小少妇裸体bbw| 欧美视频一区二区三区| 亚洲国产一区二区a毛片| 欧美制服丝袜第一页| 亚洲精品一卡二卡| 91首页免费视频| 亚洲欧美日韩久久| 色综合欧美在线| 一区二区三区在线免费| 欧洲日韩一区二区三区| 亚洲高清免费一级二级三级| 欧美精品自拍偷拍| 日韩av中文字幕一区二区| 日韩欧美一级在线播放| 久久国产精品99久久久久久老狼| 日韩精品影音先锋| 国产美女精品人人做人人爽| 欧美经典三级视频一区二区三区| 国产91色综合久久免费分享| 国产精品欧美久久久久无广告 | 一本大道av一区二区在线播放| 综合欧美一区二区三区| 在线观看视频91| 青青草一区二区三区| 精品日本一线二线三线不卡| 国产美女在线观看一区| 中文字幕亚洲成人| 欧美色男人天堂| 蜜臂av日日欢夜夜爽一区| 久久日一线二线三线suv| 国产999精品久久久久久| 最新日韩在线视频| 欧美日韩一级片网站| 久久99深爱久久99精品| 亚洲国产精品激情在线观看| 在线亚洲欧美专区二区| 日韩中文字幕区一区有砖一区| 日韩欧美国产三级| www.在线欧美| 午夜精品免费在线观看| 久久日韩粉嫩一区二区三区| va亚洲va日韩不卡在线观看| 亚洲国产视频一区| 久久综合狠狠综合久久激情| 99国产精品久久久久久久久久 | 日韩美女主播在线视频一区二区三区| 国产一区二区91| 亚洲综合丝袜美腿| 精品播放一区二区| 在线免费观看成人短视频| 久草精品在线观看| 亚洲欧洲国产日本综合| 日韩一区二区免费视频| 91免费视频观看| 美腿丝袜亚洲色图| 亚洲精品国产成人久久av盗摄| 日韩一区二区三区电影在线观看 | 欧美一区三区二区| www.在线成人| 日韩av在线免费观看不卡| 中文字幕中文在线不卡住| 日韩午夜在线播放| 色素色在线综合| 国产精品亚洲综合一区在线观看| 亚洲黄色小视频| 国产欧美日韩在线视频| 日韩欧美在线影院| 91成人网在线| 粉嫩av一区二区三区| 麻豆成人91精品二区三区| 亚洲色欲色欲www在线观看| 久久久不卡网国产精品二区 | 亚洲欧美在线aaa| 久久免费视频色| 日韩欧美国产精品| 欧美日韩亚洲丝袜制服|