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

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

?? p_picture.c

?? tmn3.2編解碼源程序 Linux C環境編寫 文件齊全 壓縮包完整 試用正常 歡迎試用
?? C
?? 第 1 頁 / 共 5 頁
字號:
}/********************************************************************** * *	Name:        DoPredChrom_P *	Description:	Does the chrominance prediction for P-frames * *	Input:        motionvectors for each field, *        current position in image, *        pointers to current and previos image, *        pointer to pred_error array, *        (int) field: 1 if field coding * *	Side effects:	fills chrom-array in pred_error structure * *	Date: 930211	Author: Karl.Lillevold@nta.no * ***********************************************************************/void DoPredChrom_P (int x_curr, int y_curr, int dx, int dy,                    PictImage * curr, PictImage * prev, MB_Structure * prediction,                    MB_Structure * pred_error, int rtype){  int m, n;  int x, y, ofx, ofy, pel, lx;  int xint, yint;  int xh, yh;  lx = (mv_outside_frame ? pels / 2 + (long_vectors ? 32 : 16) : pels / 2);  x = x_curr >> 1;  y = y_curr >> 1;  xint = dx >> 1;  xh = dx & 1;  yint = dy >> 1;  yh = dy & 1;  if (!xh && !yh)  {    for (n = 0; n < 8; n++)    {      for (m = 0; m < 8; m++)      {        ofx = x + xint + m;        ofy = y + yint + n;        pel = *(prev->Cr + ofx + (ofy) * lx);        prediction->Cr[n][m] = pel;        pred_error->Cr[n][m] = (int) (*(curr->Cr + x + m + (y + n) * cpels) - pel);        pel = *(prev->Cb + ofx + (ofy) * lx);        prediction->Cb[n][m] = pel;        pred_error->Cb[n][m] = (int) (*(curr->Cb + x + m + (y + n) * cpels) - pel);      }    }  } else if (!xh && yh)  {    for (n = 0; n < 8; n++)    {      for (m = 0; m < 8; m++)      {        ofx = x + xint + m;        ofy = y + yint + n;        pel = (*(prev->Cr + ofx + (ofy) * lx) +               *(prev->Cr + ofx + (ofy + yh) * lx) + 1 - rtype) >> 1;        prediction->Cr[n][m] = pel;        pred_error->Cr[n][m] =          (int) (*(curr->Cr + x + m + (y + n) * cpels) - pel);        pel = (*(prev->Cb + ofx + (ofy) * lx) +               *(prev->Cb + ofx + (ofy + yh) * lx) + 1 - rtype) >> 1;        prediction->Cb[n][m] = pel;        pred_error->Cb[n][m] =          (int) (*(curr->Cb + x + m + (y + n) * cpels) - pel);      }    }  } else if (xh && !yh)  {    for (n = 0; n < 8; n++)    {      for (m = 0; m < 8; m++)      {        ofx = x + xint + m;        ofy = y + yint + n;        pel = (*(prev->Cr + ofx + (ofy) * lx) +               *(prev->Cr + ofx + xh + (ofy) * lx) + 1 - rtype) >> 1;        prediction->Cr[n][m] = pel;        pred_error->Cr[n][m] =          (int) (*(curr->Cr + x + m + (y + n) * cpels) - pel);        pel = (*(prev->Cb + ofx + (ofy) * lx) +               *(prev->Cb + ofx + xh + (ofy) * lx) + 1 - rtype) >> 1;        prediction->Cb[n][m] = pel;        pred_error->Cb[n][m] =          (int) (*(curr->Cb + x + m + (y + n) * cpels) - pel);      }    }  } else  {                             /* xh && yh */    for (n = 0; n < 8; n++)    {      for (m = 0; m < 8; m++)      {        ofx = x + xint + m;        ofy = y + yint + n;        pel = (*(prev->Cr + ofx + (ofy) * lx) +               *(prev->Cr + ofx + xh + (ofy) * lx) +               *(prev->Cr + ofx + (ofy + yh) * lx) +               *(prev->Cr + ofx + xh + (ofy + yh) * lx) +               2 - rtype) >> 2;        prediction->Cr[n][m] = pel;        pred_error->Cr[n][m] =          (int) (*(curr->Cr + x + m + (y + n) * cpels) - pel);        pel = (*(prev->Cb + ofx + (ofy) * lx) +               *(prev->Cb + ofx + xh + (ofy) * lx) +               *(prev->Cb + ofx + (ofy + yh) * lx) +               *(prev->Cb + ofx + xh + (ofy + yh) * lx) +               2 - rtype) >> 2;        prediction->Cb[n][m] = pel;        pred_error->Cb[n][m] =          (int) (*(curr->Cb + x + m + (y + n) * cpels) - pel);      }    }  }  return;}/********************************************************************** * *	Name:        ReconMacroblock_P *	Description:	Reconstructs MB after quantization for P_images * *	Input:        pointers to current and previous image, *        current slice and mb, and which mode *        of prediction has been used *	Returns: *	Side effects: * *	Date: 930122	Author: Karl.Lillevold@nta.no * ***********************************************************************/MB_Structure *MB_Recon_P (PictImage * prev_image, unsigned char *prev_ipol,                          MB_Structure * diff, int x_curr, int y_curr,                          MotionVector * MV[6][MBR + 1][MBC + 2], int PB, int RTYPE){  MB_Structure *recon_data = (MB_Structure *) malloc (sizeof (MB_Structure));  MotionVector *fr0, *fr1, *fr2, *fr3, *fr4;  int pred[16][16];  int dx, dy, sum;  int i, j;  fr0 = MV[0][y_curr / MB_SIZE + 1][x_curr / MB_SIZE + 1];  /* change advanced to overlapping_MC since * 4 MV can be used without   * OBMC in        * deblocking filter mode                  */  if (overlapping_MC)  {    if (fr0->Mode == MODE_INTER || fr0->Mode == MODE_INTER_Q)    {      FindPredOBMC (x_curr, y_curr, MV, prev_ipol, &pred[0][0], 0, PB);      FindPredOBMC (x_curr, y_curr, MV, prev_ipol, &pred[0][8], 1, PB);      FindPredOBMC (x_curr, y_curr, MV, prev_ipol, &pred[8][0], 2, PB);      FindPredOBMC (x_curr, y_curr, MV, prev_ipol, &pred[8][8], 3, PB);      for (j = 0; j < MB_SIZE; j++)        for (i = 0; i < MB_SIZE; i++)          diff->lum[j][i] += pred[j][i];      dx = 2 * fr0->x + fr0->x_half;      dy = 2 * fr0->y + fr0->y_half;      dx = (dx % 4 == 0 ? dx >> 1 : (dx >> 1) | 1);      dy = (dy % 4 == 0 ? dy >> 1 : (dy >> 1) | 1);      ReconChromBlock_P (x_curr, y_curr, dx, dy, prev_image, diff, RTYPE);    } else if (fr0->Mode == MODE_INTER4V || fr0->Mode == MODE_INTER4V_Q)    {                           /* Inter 8x8 */      FindPredOBMC (x_curr, y_curr, MV, prev_ipol, &pred[0][0], 0, PB);      FindPredOBMC (x_curr, y_curr, MV, prev_ipol, &pred[0][8], 1, PB);      FindPredOBMC (x_curr, y_curr, MV, prev_ipol, &pred[8][0], 2, PB);      FindPredOBMC (x_curr, y_curr, MV, prev_ipol, &pred[8][8], 3, PB);      for (j = 0; j < MB_SIZE; j++)        for (i = 0; i < MB_SIZE; i++)          diff->lum[j][i] += pred[j][i];      fr1 = MV[1][y_curr / MB_SIZE + 1][x_curr / MB_SIZE + 1];      fr2 = MV[2][y_curr / MB_SIZE + 1][x_curr / MB_SIZE + 1];      fr3 = MV[3][y_curr / MB_SIZE + 1][x_curr / MB_SIZE + 1];      fr4 = MV[4][y_curr / MB_SIZE + 1][x_curr / MB_SIZE + 1];      sum = 2 * fr1->x + fr1->x_half + 2 * fr2->x + fr2->x_half +        2 * fr3->x + fr3->x_half + 2 * fr4->x + fr4->x_half;      dx = sign (sum) * (roundtab[abs (sum) % 16] + (abs (sum) / 16) * 2);      sum = 2 * fr1->y + fr1->y_half + 2 * fr2->y + fr2->y_half +        2 * fr3->y + fr3->y_half + 2 * fr4->y + fr4->y_half;      dy = sign (sum) * (roundtab[abs (sum) % 16] + (abs (sum) / 16) * 2);      ReconChromBlock_P (x_curr, y_curr, dx, dy, prev_image, diff, RTYPE);    }  } else  {    if (fr0->Mode == MODE_INTER || fr0->Mode == MODE_INTER_Q)    {      /* Inter 16x16 */      ReconLumBlock_P (x_curr, y_curr, fr0, prev_ipol, &diff->lum[0][0], 16, 0);      dx = 2 * fr0->x + fr0->x_half;      dy = 2 * fr0->y + fr0->y_half;      dx = (dx % 4 == 0 ? dx >> 1 : (dx >> 1) | 1);      dy = (dy % 4 == 0 ? dy >> 1 : (dy >> 1) | 1);      ReconChromBlock_P (x_curr, y_curr, dx, dy, prev_image, diff, RTYPE);    }    if (fr0->Mode == MODE_INTER4V || fr0->Mode == MODE_INTER4V_Q)    {      fr1 = MV[1][y_curr / MB_SIZE + 1][x_curr / MB_SIZE + 1];      fr2 = MV[2][y_curr / MB_SIZE + 1][x_curr / MB_SIZE + 1];      fr3 = MV[3][y_curr / MB_SIZE + 1][x_curr / MB_SIZE + 1];      fr4 = MV[4][y_curr / MB_SIZE + 1][x_curr / MB_SIZE + 1];      FindPred (x_curr, y_curr, fr1, prev_ipol, &pred[0][0], 8, 0);      FindPred (x_curr, y_curr, fr2, prev_ipol, &pred[0][8], 8, 1);      FindPred (x_curr, y_curr, fr3, prev_ipol, &pred[8][0], 8, 2);      FindPred (x_curr, y_curr, fr4, prev_ipol, &pred[8][8], 8, 3);      for (j = 0; j < MB_SIZE; j++)        for (i = 0; i < MB_SIZE; i++)          diff->lum[j][i] += pred[j][i];      sum = 2 * fr1->x + fr1->x_half + 2 * fr2->x + fr2->x_half +        2 * fr3->x + fr3->x_half + 2 * fr4->x + fr4->x_half;      dx = sign (sum) * (roundtab[abs (sum) % 16] + (abs (sum) / 16) * 2);      sum = 2 * fr1->y + fr1->y_half + 2 * fr2->y + fr2->y_half +        2 * fr3->y + fr3->y_half + 2 * fr4->y + fr4->y_half;      dy = sign (sum) * (roundtab[abs (sum) % 16] + (abs (sum) / 16) * 2);      ReconChromBlock_P (x_curr, y_curr, dx, dy, prev_image, diff, RTYPE);    }  }  memcpy (recon_data, diff, sizeof (MB_Structure));  return recon_data;}/********************************************************************** * *	Name:        ReconLumBlock_P *	Description:	Reconstructs one block of luminance data * *	Input:        position, vector-data, previous image, data-block *	Returns: *	Side effects:	reconstructs data-block * *	Date: 950210	Author: Karl.Lillevold@nta.no * ***********************************************************************/void ReconLumBlock_P (int x, int y, MotionVector * fr,                       unsigned char *prev, int *data, int bs, int comp){  int m, n;  int x1, y1, lx;  lx = (mv_outside_frame ? pels + (long_vectors ? 64 : 32) : pels);  x1 = 2 * (x + fr->x) + fr->x_half;  y1 = 2 * (y + fr->y) + fr->y_half;  x1 += ((comp & 1) << 4);  y1 += ((comp & 2) << 3);  for (n = 0; n < bs; n++)  {    for (m = 0; m < bs; m++)    {      *(data + m + n * 16) += (int) (*(prev + x1 + 2 * m + (y1 + 2 * n) * 2 * lx));    }  }  return;}/********************************************************************** * *	Name:        ReconChromBlock_P *	Description:        Reconstructs chrominance of one block in P frame * *	Input:        position, vector-data, previous image, data-block *	Returns: *	Side effects:	reconstructs data-block * *	Date: 930203	Author: Karl.Lillevold@nta.no * ***********************************************************************/void ReconChromBlock_P (int x_curr, int y_curr, int dx, int dy,                         PictImage * prev, MB_Structure * data, int rtype){  int m, n;  int x, y, ofx, ofy, pel, lx;  int xint, yint;  int xh, yh;  lx = (mv_outside_frame ? pels / 2 + (long_vectors ? 32 : 16) : pels / 2);  x = x_curr >> 1;  y = y_curr >> 1;  xint = dx >> 1;  xh = dx & 1;  yint = dy >> 1;  yh = dy & 1;  if (!xh && !yh)  {    for (n = 0; n < 8; n++)    {      for (m = 0; m < 8; m++)      {        ofx = x + xint + m;        ofy = y + yint + n;        pel = *(prev->Cr + ofx + (ofy) * lx);        data->Cr[n][m] += pel;        pel = *(prev->Cb + ofx + (ofy) * lx);        data->Cb[n][m] += pel;      }    }  } else if (!xh && yh)  {    for (n = 0; n < 8; n++)    {      for (m = 0; m < 8; m++)      {        ofx = x + xint + m;        ofy = y + yint + n;        pel = (*(prev->Cr + ofx + (ofy) * lx) +               *(prev->Cr + ofx + (ofy + yh) * lx) + 1 - rtype) >> 1;        data->Cr[n][m] += pel;        pel = (*(prev->Cb + ofx + (ofy) * lx) +               *(prev->Cb + ofx + (ofy + yh) * lx) + 1 - rtype) >> 1;        data->Cb[n][m] += pel;      }    }  } else if (xh && !yh)  {    for (n = 0; n < 8; n++)    {      for (m = 0; m < 8; m++)      {        ofx = x + xint + m;        ofy = y + yint + n;        pel = (*(prev->Cr + ofx + (ofy) * lx) +               *(prev->Cr + ofx + xh + (ofy) * lx) + 1 - rtype) >> 1;        data->Cr[n][m] += pel;        pel = (*(prev->Cb + ofx + (ofy) * lx) +               *(prev->Cb + ofx + xh + (ofy) * lx) + 1 - rtype) >> 1;        data->Cb[n][m] += pel;      }    }  } else  {                             /* xh && yh */    for (n = 0; n < 8; n++)    {      for (m = 0; m < 8; m++)      {        ofx = x + xint + m;        ofy = y + yint + n;        pel = (*(prev->Cr + ofx + (ofy) * lx) +               *(prev->Cr + ofx + xh + (ofy) * lx) +               *(prev->Cr + ofx + (ofy + yh) * lx) +               *(prev->Cr + ofx + xh + (ofy + yh) * lx) +               2 - rtype) >> 2;        data->Cr[n][m] += pel;        pel = (*(prev->Cb + ofx + (ofy) * lx) +               *(prev->Cb + ofx + xh + (ofy) * lx) +               *(prev->Cb + ofx + (ofy + yh) * lx) +               *(prev->Cb + ofx + xh + (ofy + yh) * lx) +               2 - rtype) >> 2;        data->Cb[n][m] += pel;      }    }  }  r

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品久久久久久久99樱桃| 亚洲欧美日韩精品久久久久| 欧美电影影音先锋| 欧美私人免费视频| 欧美日韩一区二区在线观看视频| 在线观看中文字幕不卡| 欧美亚洲综合久久| 欧美伊人久久久久久久久影院 | 欧美福利视频一区| 欧美精品aⅴ在线视频| 884aa四虎影成人精品一区| 日韩色在线观看| 日韩欧美在线1卡| 精品国产乱码91久久久久久网站| 亚洲精品在线观看网站| 国产网站一区二区| 国产精品久久午夜夜伦鲁鲁| 亚洲男人的天堂在线观看| 亚洲综合成人网| 夜夜操天天操亚洲| 久久午夜免费电影| 色婷婷国产精品综合在线观看| 色香色香欲天天天影视综合网| 欧美午夜不卡在线观看免费| 欧美一区二区三区在线| 久久亚洲精华国产精华液| 亚洲国产精品传媒在线观看| 亚洲欧美一区二区三区国产精品| 一区二区三区不卡在线观看| 青青青爽久久午夜综合久久午夜| 韩国av一区二区三区四区| a级精品国产片在线观看| 在线视频你懂得一区| 91精品国模一区二区三区| 久久综合国产精品| 中文字幕亚洲成人| 亚洲bt欧美bt精品777| 国产一区二区不卡老阿姨| 99久久伊人精品| 欧美日韩国产色站一区二区三区| 精品国产乱码91久久久久久网站| 亚洲色图在线视频| 欧美a一区二区| 99综合电影在线视频| 欧美精品在线观看播放| 国产清纯白嫩初高生在线观看91| 亚洲精品中文字幕乱码三区| 蜜桃av一区二区三区电影| k8久久久一区二区三区| 5566中文字幕一区二区电影| 国产精品视频看| 日韩成人午夜精品| 97精品国产露脸对白| 精品久久久久久久人人人人传媒| 亚洲日本在线看| 另类小说色综合网站| 色成年激情久久综合| 2020日本不卡一区二区视频| 亚洲一区二区三区免费视频| 国产精品一区二区三区四区| 午夜日韩在线观看| 国内外成人在线| 国产拍揄自揄精品视频麻豆| 成人欧美一区二区三区在线播放| 青青国产91久久久久久| 91浏览器在线视频| 日韩午夜精品视频| 一区二区三区在线观看网站| 国产精品一区免费在线观看| 欧美精品一区二区三区一线天视频| 亚洲国产精品久久人人爱蜜臀 | 五月激情六月综合| 丁香啪啪综合成人亚洲小说 | 亚洲精品视频在线看| 国产一区二区h| 555www色欧美视频| 国产精品免费丝袜| 国产在线播放一区| 欧美成人一区二区三区| 亚洲一区二区三区精品在线| 成人国产亚洲欧美成人综合网| 欧美精品一区二区三区久久久 | 91视频免费看| 国产日产欧产精品推荐色| 六月婷婷色综合| 555www色欧美视频| 日韩精品视频网| 欧美在线高清视频| 亚洲精品久久久蜜桃| 成人不卡免费av| 欧美国产乱子伦| 国产精品乡下勾搭老头1| 日韩精品一区在线| 日本亚洲免费观看| 日韩欧美一区二区在线视频| 日本强好片久久久久久aaa| 欧美日韩成人激情| 午夜精品久久久久久久久 | 一二三四社区欧美黄| 波多野洁衣一区| 国产精品二区一区二区aⅴ污介绍| 国产99一区视频免费| 国产拍欧美日韩视频二区| 国产精品性做久久久久久| 国产欧美日本一区视频| 国产a久久麻豆| 中文字幕日本乱码精品影院| av一二三不卡影片| 亚洲视频一区在线观看| 色婷婷精品久久二区二区蜜臀av| 亚洲精品乱码久久久久久日本蜜臀| 91免费国产在线| 夜色激情一区二区| 911精品国产一区二区在线| 日本美女一区二区三区| 欧美不卡一区二区| 国产成a人无v码亚洲福利| 国产综合色在线| 亚洲老司机在线| 五月婷婷激情综合| 亚洲一区视频在线| 久久精品人人做人人爽人人| 欧美视频中文一区二区三区在线观看 | 午夜精品在线视频一区| 精品国产欧美一区二区| 在线观看视频91| 欧美在线观看视频一区二区| 国产乱码精品1区2区3区| 国产91露脸合集magnet| 国产精品久久久久久福利一牛影视| 91免费在线视频观看| 亚洲综合久久久| 日韩一卡二卡三卡四卡| 国产不卡在线一区| 伊人色综合久久天天| 91精品午夜视频| 国产丶欧美丶日本不卡视频| 亚洲精品一二三区| 日韩一级免费观看| 成人午夜免费av| 亚洲成在人线在线播放| 亚洲精品一区二区三区四区高清| 99久久综合国产精品| 日一区二区三区| 中文字幕高清不卡| 欧美日韩情趣电影| 国产乱一区二区| 亚洲图片欧美一区| 久久精品人人做| 欧美日韩高清不卡| 国产寡妇亲子伦一区二区| 亚洲一区av在线| 久久久久久久久久久久久女国产乱| 在线一区二区三区四区五区 | 不卡高清视频专区| 性久久久久久久久| 国产日韩欧美麻豆| 91精品国产综合久久国产大片| 国产成a人无v码亚洲福利| 午夜国产不卡在线观看视频| 国产精品灌醉下药二区| 欧美一级理论性理论a| 色综合色综合色综合色综合色综合| 麻豆精品一区二区av白丝在线| 国产精品毛片a∨一区二区三区| 91精品国产色综合久久ai换脸 | 日韩精品影音先锋| 一本到不卡免费一区二区| 国产不卡视频在线观看| 日韩一区精品字幕| 亚洲另类在线视频| 国产日产亚洲精品系列| 欧美一区永久视频免费观看| 色先锋资源久久综合| 国产精品原创巨作av| 日韩av网站在线观看| 一区二区三区在线不卡| 日本一区二区三区四区在线视频 | 中文字幕一区二区三区不卡| 精品国产免费人成电影在线观看四季| 在线亚洲一区观看| 亚洲午夜三级在线| 成人精品视频网站| 日韩精品一卡二卡三卡四卡无卡| 99九九99九九九视频精品| 精品精品国产高清一毛片一天堂| 一区二区三区精品在线| 99视频超级精品| 久久久久综合网| 精品一区二区三区不卡| 欧美日韩一区在线| 伊人色综合久久天天| av电影一区二区| 亚洲品质自拍视频| 欧美日韩亚洲综合在线| 色综合网站在线| 高清国产午夜精品久久久久久| 久久电影网电视剧免费观看| 久久不见久久见免费视频1| 日本不卡一区二区三区高清视频|