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

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

?? p_picture.c

?? tmn3.2編解碼源程序 Linux C環境編寫 文件齊全 壓縮包完整 試用正常 歡迎試用
?? C
?? 第 1 頁 / 共 5 頁
字號:
    store_pb = pic->PB;    pic->PB = 0;    EdgeFilter(recon, pic);    pic->PB = store_pb;    if (pic->PB)      EdgeFilter(B_recon,pic);  }  pic->QP_mean = QP_cumulative/(float)abs_mb_num;  /* Free memory */  free (pred_P);  free (pred_B);  if (mv_outside_frame)  {    free(prev_recon);    FreeImage(pr_edge);  }  if (PCT_IPB == pic->picture_coding_type || PCT_PB == pic->picture_coding_type)    free(pi_woRTYPE);  free(pi);   for (j = 0; j < (lines>>4)+1; j++)    for (i = 0; i < (pels>>4)+2; i++)       for (k = 0; k < 7; k++)      {        free(MV[k][j][i]);        free(B_f_MV[k][j][i]);      }  if (advanced_intra_coding)  {    free(store_coeff);    free(store_rcoeff);  }  if (advanced_temporarily_off)  {    overlapping_MC = ON;    adv_pred = ON;    use_4mv = ON;    advanced_temporarily_off = NO;  }  return;}/********************************************************************** * *	Name:        Predict_P *	Description:    Predicts P macroblock in advanced or normal *                      mode * *	Input:        pointers to current and previous frames *        and previous interpolated image, *                      position and motion vector array *	Returns:	pointer to MB_Structure of data to be coded *	Side effects:	allocates memory to MB_Structure * *	Date: 9501        Author: <klillevo@mailbox.jf.intel.com> * ***********************************************************************/MB_Structure *Predict_P (PictImage * curr_image, PictImage * prev_image,                         unsigned char *prev_ipol, MB_Structure * pred_macroblock,                         int x, int y,                         MotionVector * MV[7][MBR + 1][MBC + 2], int PB, int RTYPE){  int m, n;  int curr[16][16];  MotionVector *fr0, *fr1, *fr2, *fr3, *fr4;  int sum, dx, dy;  int xmb, ymb;  MB_Structure *pred_error = (MB_Structure *) malloc (sizeof (MB_Structure));  xmb = x / MB_SIZE + 1;  ymb = y / MB_SIZE + 1;  fr0 = MV[0][ymb][xmb];  fr1 = MV[1][ymb][xmb];  fr2 = MV[2][ymb][xmb];  fr3 = MV[3][ymb][xmb];  fr4 = MV[4][ymb][xmb];  /* Find MB in current image */  FindMB (x, y, curr_image->lum, curr);  /* Find prediction based on half pel MV    */  if (overlapping_MC)  {    FindPredOBMC (x, y, MV, prev_ipol, &pred_macroblock->lum[0][0], 0, PB);    FindPredOBMC (x, y, MV, prev_ipol, &pred_macroblock->lum[0][8], 1, PB);    FindPredOBMC (x, y, MV, prev_ipol, &pred_macroblock->lum[8][0], 2, PB);    FindPredOBMC (x, y, MV, prev_ipol, &pred_macroblock->lum[8][8], 3, PB);  } else if (fr0->Mode == MODE_INTER4V || fr0->Mode == MODE_INTER4V_Q)  {    /* Luma */    FindPred (x, y, fr1, prev_ipol, &pred_macroblock->lum[0][0], 8, 0);    FindPred (x, y, fr2, prev_ipol, &pred_macroblock->lum[0][8], 8, 1);    FindPred (x, y, fr3, prev_ipol, &pred_macroblock->lum[8][0], 8, 2);    FindPred (x, y, fr4, prev_ipol, &pred_macroblock->lum[8][8], 8, 3);  } else  {    FindPred (x, y, fr0, prev_ipol, &pred_macroblock->lum[0][0], 16, 0);  }  /* Do the actual prediction */  if (fr0->Mode == MODE_INTER || fr0->Mode == MODE_INTER_Q)  {    for (n = 0; n < MB_SIZE; n++)      for (m = 0; m < MB_SIZE; m++)        pred_error->lum[n][m] = (int) (curr[n][m] - pred_macroblock->lum[n][m]);    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);    DoPredChrom_P (x, y, dx, dy, curr_image, prev_image, pred_macroblock, pred_error, RTYPE);  } else if (fr0->Mode == MODE_INTER4V || fr0->Mode == MODE_INTER4V_Q)  {    for (n = 0; n < MB_SIZE; n++)      for (m = 0; m < MB_SIZE; m++)        pred_error->lum[n][m] = (int) (curr[n][m] - pred_macroblock->lum[n][m]);    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);    DoPredChrom_P (x, y, dx, dy, curr_image, prev_image, pred_macroblock, pred_error, RTYPE);  } else    fprintf (stderr, "Illegal Mode in Predict_P (pred.c)\n");  return pred_error;}/*********************************************************************** * *	Name:        Predict_B *	Description:    Predicts the B macroblock in PB-frame prediction * *	Input:	        pointers to current frame, previous recon. frame, *                      pos. in image, MV-data, reconstructed macroblock *                      from image ahead *	Returns:        pointer to differential MB data after prediction *	Side effects:   allocates memory to MB_structure * *	Date: 950113        Author: Karl.Lillevold@nta.no * ***********************************************************************/MB_Structure *Predict_B (PictImage * curr_image, PictImage * prev_image,  unsigned char *prev_ipol, MB_Structure * pred_macroblock, int x, int y,                          MotionVector * MV[7][MBR + 1][MBC + 2], MotionVector * B_f_MV[7][MBR + 1][MBC + 2],  MB_Structure * recon_P, int TRD, int TRB, int PB, int *im_PB_pred_type){  int i, j, k, xx, yy;  int dx, dy, sad, sad_min = INT_MAX, curr[16][16], bdx = 0, bdy = 0;  MB_Structure *p_err = (MB_Structure *) malloc (sizeof (MB_Structure));  MB_Structure *pred = (MB_Structure *) malloc (sizeof (MB_Structure));  MB_Structure *frw_pred = (MB_Structure *) malloc (sizeof (MB_Structure));  MotionVector *f[7];  MotionVector *frw[7];  int xvec, yvec, mvx, mvy;  int SADbidir, SADforw,SADbackw,min_SAD;  int forward_pred = 0;  int bidir_pred = 0;  int backward_pred = 0;  for (k = 0; k <= 4; k++)    f[k] = MV[k][y / MB_SIZE + 1][x / MB_SIZE + 1];  for (k = 0; k <= 4; k++)    frw[k] = B_f_MV[k][y / MB_SIZE + 1][x / MB_SIZE + 1];  /* Find MB in current image */  FindMB (x, y, curr_image->lum, curr);  if (f[0]->Mode == MODE_INTER4V || f[0]->Mode == MODE_INTER4V_Q)  {    /* Mode INTER4V */    if (PB == IM_PB_FRAMES)    {      bdx = 0;      bdy = 0;    } else    {      /* Find forward prediction. Luma */      for (j = -DEF_PBDELTA_WIN; j <= DEF_PBDELTA_WIN; j++)      {        for (i = -DEF_PBDELTA_WIN; i <= DEF_PBDELTA_WIN; i++)        {          FindForwLumPredPB (prev_ipol, x, y, f[1], &pred->lum[0][0], TRD, TRB, i, j, 8, 0);          FindForwLumPredPB (prev_ipol, x, y, f[2], &pred->lum[0][8], TRD, TRB, i, j, 8, 1);          FindForwLumPredPB (prev_ipol, x, y, f[3], &pred->lum[8][0], TRD, TRB, i, j, 8, 2);          FindForwLumPredPB (prev_ipol, x, y, f[4], &pred->lum[8][8], TRD, TRB, i, j, 8, 3);          sad = SAD_MB_integer (&curr[0][0], &pred->lum[0][0], 16, INT_MAX);          if (i == 0 && j == 0)            sad -= PREF_PBDELTA_NULL_VEC;          if (sad < sad_min)          {            sad_min = sad;            bdx = i;            bdy = j;          }        }      }    }    FindForwLumPredPB (prev_ipol, x, y, f[1], &pred->lum[0][0], TRD, TRB, bdx, bdy, 8, 0);    FindForwLumPredPB (prev_ipol, x, y, f[2], &pred->lum[0][8], TRD, TRB, bdx, bdy, 8, 1);    FindForwLumPredPB (prev_ipol, x, y, f[3], &pred->lum[8][0], TRD, TRB, bdx, bdy, 8, 2);    FindForwLumPredPB (prev_ipol, x, y, f[4], &pred->lum[8][8], TRD, TRB, bdx, bdy, 8, 3);    /* Find bidirectional prediction */    FindBiDirLumPredPB (&recon_P->lum[0][0], f[1], &pred->lum[0][0],                        TRD, TRB, bdx, bdy, 0, 0);    FindBiDirLumPredPB (&recon_P->lum[0][8], f[2], &pred->lum[0][8],                        TRD, TRB, bdx, bdy, 1, 0);    FindBiDirLumPredPB (&recon_P->lum[8][0], f[3], &pred->lum[8][0],                        TRD, TRB, bdx, bdy, 0, 1);    FindBiDirLumPredPB (&recon_P->lum[8][8], f[4], &pred->lum[8][8],                        TRD, TRB, bdx, bdy, 1, 1);  } else  {    /* Mode INTER or INTER_Q */    if (PB == IM_PB_FRAMES)    {      bdx = 0;      bdy = 0;    } else    {      /* Find forward prediction */      for (j = -DEF_PBDELTA_WIN; j <= DEF_PBDELTA_WIN; j++)      {        for (i = -DEF_PBDELTA_WIN; i <= DEF_PBDELTA_WIN; i++)        {          dx = i;          dy = j;          /* To keep things simple I turn off PB delta vectors at the           * edges */          if (!mv_outside_frame)          {            if (x == 0)              dx = 0;            if (x == pels - MB_SIZE)              dx = 0;            if (y == 0)              dy = 0;            if (y == lines - MB_SIZE)              dy = 0;          }          if (f[0]->Mode == MODE_INTRA || f[0]->Mode == MODE_INTRA_Q)          {            dx = dy = 0;          }          if ((f[0]->x == 0 && f[0]->y == 0) &&              (f[0]->x_half == 0 && f[0]->y_half == 0))          {            dx = dy = 0;          }          FindForwLumPredPB (prev_ipol, x, y, f[0], &pred->lum[0][0],                             TRD, TRB, dx, dy, 16, 0);          sad = SAD_MB_integer (&curr[0][0], &pred->lum[0][0], 16, INT_MAX);          if (i == 0 && j == 0)          {            sad -= PREF_PBDELTA_NULL_VEC;          }          if (sad < sad_min)          {            sad_min = sad;            bdx = dx;            bdy = dy;          }        }      }    }    FindForwLumPredPB (prev_ipol, x, y, f[0], &pred->lum[0][0], TRD, TRB,                       bdx, bdy, 16, 0);    /* Find bidirectional prediction */    FindBiDirLumPredPB (&recon_P->lum[0][0], f[0], &pred->lum[0][0],                        TRD, TRB, bdx, bdy, 0, 0);    FindBiDirLumPredPB (&recon_P->lum[0][8], f[0], &pred->lum[0][8],                        TRD, TRB, bdx, bdy, 1, 0);    FindBiDirLumPredPB (&recon_P->lum[8][0], f[0], &pred->lum[8][0],                        TRD, TRB, bdx, bdy, 0, 1);    FindBiDirLumPredPB (&recon_P->lum[8][8], f[0], &pred->lum[8][8],                        TRD, TRB, bdx, bdy, 1, 1);  }  if (PB == IM_PB_FRAMES)  {    SADbidir = SAD_MB_integer (&curr[0][0], &pred->lum[0][0], 16, INT_MAX);    FindPred (x, y, frw[0], prev_ipol, &frw_pred->lum[0][0], 16, 0);    SADforw = SAD_MB_integer (&curr[0][0], &frw_pred->lum[0][0], 16, INT_MAX);    SADbackw = SAD_MB_integer (&curr[0][0], &recon_P->lum[0][0], 16, INT_MAX);    /* make decision about using forward prediction, backward prediction or bidir prediction */    min_SAD=mmin(mmin(SADforw,SADbackw),(SADbidir-100));    if (min_SAD == (SADbidir - 100))    {      /* bidirectional prediction is chosen */      bidir_pred = 1;      (*im_PB_pred_type) = BIDIRECTIONAL_PREDICTION;    }     else if (min_SAD==SADbackw)    {      /* backward prediction is chosen */      backward_pred = 1;      (*im_PB_pred_type) = BACKWARD_PREDICTION;    }    else     {      /* forward prediction is chosen */      forward_pred = 1;      (*im_PB_pred_type) = FORWARD_PREDICTION;    }  }  if (PB == IM_PB_FRAMES && forward_pred)  {    dx = 2 * frw[0]->x + frw[0]->x_half;    dy = 2 * frw[0]->y + frw[0]->y_half;    dx = (dx % 4 == 0 ? dx >> 1 : (dx >> 1) | 1);    dy = (dy % 4 == 0 ? dy >> 1 : (dy >> 1) | 1);    /* predict B as if it is P */    DoPredChrom_P (x, y, dx, dy, curr_image, prev_image, frw_pred, p_err, 0);    for (j = 0; j < MB_SIZE; j++)      for (i = 0; i < MB_SIZE; i++)      {        p_err->lum[j][i] = *(curr_image->lum + x + i + (y + j) * pels) - frw_pred->lum[j][i];        pred_macroblock->lum[j][i] = frw_pred->lum[j][i];      }    xx = x >> 1;    yy = y >> 1;    for (j = 0; j < MB_SIZE >> 1; j++)      for (i = 0; i < MB_SIZE >> 1; i++)      {        p_err->Cr[j][i] = *(curr_image->Cr + xx + i + (yy + j) * cpels) - frw_pred->Cr[j][i];        p_err->Cb[j][i] = *(curr_image->Cb + xx + i + (yy + j) * cpels) - frw_pred->Cb[j][i];        pred_macroblock->Cr[j][i] = frw_pred->Cr[j][i];        pred_macroblock->Cb[j][i] = frw_pred->Cb[j][i];      }  }   else if (PB == IM_PB_FRAMES && backward_pred)  {    dx = 0;    dy = 0;        for (j = 0; j < MB_SIZE; j++)      for (i = 0; i < MB_SIZE; i++)      {        p_err->lum[j][i] = *(curr_image->lum + x + i + (y + j) * pels) - recon_P->lum[j][i];        pred_macroblock->lum[j][i] = recon_P->lum[j][i];      }    xx = x >> 1;    yy = y >> 1;    for (j = 0; j < MB_SIZE >> 1; j++)      for (i = 0; i < MB_SIZE >> 1; i++)      {        p_err->Cr[j][i] = *(curr_image->Cr + xx + i + (yy + j) * cpels) - recon_P->Cr[j][i];        p_err->Cb[j][i] = *(curr_image->Cb + xx + i + (yy + j) * cpels) - recon_P->Cb[j][i];        pred_macroblock->Cr[j][i] = recon_P->Cr[j][i];        pred_macroblock->Cb[j][i] = recon_P->Cb[j][i];      }  }  else  {    /* bidir prediction */    if (f[0]->Mode == MODE_INTER4V || f[0]->Mode == MODE_INTER4V_Q)    {      /* Mode INTER4V chroma vectors are sum of B luma vectors divided and       * rounded */      xvec = yvec = 0;      for (k = 1; k <= 4; k++)      {        xvec += TRB * (2 * f[k]->x + f[k]->x_half) / TRD + bdx;        yvec += TRB * (2 * f[k]->y + f[k]->y_half) / TRD + bdy;      }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一二三四区在线| 99精品国产热久久91蜜凸| 日韩欧美一二三四区| 另类欧美日韩国产在线| 久久一二三国产| 成人午夜在线视频| 亚洲精品国产无套在线观| 欧美亚男人的天堂| 美女视频黄a大片欧美| 久久综合九色欧美综合狠狠| 国产精品白丝jk白祙喷水网站| 国产精品视频一二三区| 91蜜桃视频在线| 亚洲成av人片一区二区| 26uuu亚洲| 91麻豆成人久久精品二区三区| 亚洲午夜精品网| 26uuu色噜噜精品一区二区| aaa国产一区| 丝袜美腿亚洲色图| 国产亚洲精品bt天堂精选| av动漫一区二区| 奇米影视一区二区三区| 国产精品视频线看| 制服丝袜一区二区三区| 粉嫩13p一区二区三区| 亚洲综合区在线| 久久久国产精品麻豆| 在线免费一区三区| 国产精品一二三四| 亚洲超碰精品一区二区| 国产精品久久影院| 在线电影国产精品| 不卡av在线免费观看| 日精品一区二区三区| 国产精品久久久久婷婷二区次| 欧美军同video69gay| 成人黄色免费短视频| 久久精品国产秦先生| 亚洲美女免费在线| 国产欧美日韩在线视频| 日韩三级视频中文字幕| 色诱亚洲精品久久久久久| 国产一区在线观看麻豆| 亚洲福利视频一区二区| 国产精品伦一区二区三级视频| 日韩欧美视频在线| 欧美日韩一区小说| 色综合天天在线| 成人高清在线视频| 美女mm1313爽爽久久久蜜臀| 亚洲一区二区三区小说| 国产精品国产三级国产aⅴ原创| 欧美本精品男人aⅴ天堂| 欧美视频一区在线观看| 97se亚洲国产综合自在线观| 国产精品888| 韩国av一区二区三区四区 | 国产iv一区二区三区| 午夜电影一区二区三区| 亚洲男人的天堂在线aⅴ视频| 国产婷婷色一区二区三区| 欧美变态凌虐bdsm| 欧美变态口味重另类| 91精品国产综合久久福利软件| 91高清在线观看| 92国产精品观看| 97久久精品人人做人人爽| 国产成人福利片| 国产资源在线一区| 韩国v欧美v日本v亚洲v| 激情深爱一区二区| 国产一区二区三区黄视频 | 中文字幕在线不卡一区二区三区 | 国产91丝袜在线观看| 国产资源在线一区| 激情小说亚洲一区| 国产一区二区三区免费看| 国产一区二区女| 国产高清无密码一区二区三区| 久久99久久99| 国产精品一区二区久激情瑜伽 | 色婷婷综合久久久久中文一区二区 | av电影一区二区| 99riav久久精品riav| 97精品久久久久中文字幕| 一本色道久久加勒比精品| 在线日韩av片| 欧美一区二区三区人| 欧美电影免费观看完整版| 精品国产91久久久久久久妲己| 精品三级av在线| 国产色综合久久| 国产精品初高中害羞小美女文| 亚洲欧洲精品一区二区精品久久久| 亚洲图片欧美激情| 亚洲一区在线观看免费| 美女视频一区二区三区| 国产成人综合自拍| 97久久超碰国产精品| 欧美乱妇15p| 精品国产91乱码一区二区三区| 中国av一区二区三区| 亚洲精品成人悠悠色影视| 日韩中文字幕麻豆| 福利一区二区在线| 欧美性xxxxx极品少妇| 日韩久久免费av| 国产精品全国免费观看高清 | 精品捆绑美女sm三区| 中文字幕av一区二区三区| 一区二区三区国产精华| 日本va欧美va欧美va精品| 成人在线视频一区二区| 一本高清dvd不卡在线观看| 欧美一区二区三区在线观看视频| 久久综合99re88久久爱| 亚洲乱码一区二区三区在线观看| 蜜桃视频免费观看一区| av不卡在线播放| 欧美成人aa大片| 一区二区在线看| 国产综合色产在线精品| 精品视频一区 二区 三区| 久久精品亚洲一区二区三区浴池| 亚洲午夜电影网| 岛国一区二区在线观看| 91精品国产综合久久精品图片| 国产午夜亚洲精品不卡| 日日骚欧美日韩| 91免费在线视频观看| 久久午夜国产精品| 五月天中文字幕一区二区| 99精品视频在线播放观看| 亚洲精品一区二区三区在线观看 | 成人一区二区视频| 91精品国产免费| 亚洲一区二区三区三| eeuss鲁片一区二区三区在线看| 欧美一区二区三区公司| 亚洲精品久久久蜜桃| 粉嫩久久99精品久久久久久夜 | 日本大香伊一区二区三区| 久久精品亚洲麻豆av一区二区| 午夜成人免费电影| 欧洲精品一区二区三区在线观看| 国产精品久久久久久久第一福利| 伦理电影国产精品| 欧美精品1区2区3区| 亚洲精品国产第一综合99久久| 成人免费毛片片v| 久久久久亚洲综合| 韩国精品久久久| 337p日本欧洲亚洲大胆色噜噜| 日本三级亚洲精品| 欧美日本视频在线| 天堂蜜桃一区二区三区| 欧美日本高清视频在线观看| 亚洲精品精品亚洲| 91九色最新地址| 一区二区三区不卡视频在线观看| 99re热视频这里只精品 | 亚洲一区二区三区四区中文字幕| 99久久久久免费精品国产 | 在线免费亚洲电影| 亚洲午夜精品网| 欧美天堂亚洲电影院在线播放| 尤物av一区二区| 色八戒一区二区三区| 亚洲综合色自拍一区| 欧美欧美午夜aⅴ在线观看| 亚洲福利一二三区| 91精品国产色综合久久| 日本不卡在线视频| 精品国产伦一区二区三区免费| 精品一区二区三区在线观看国产| 欧美成人精品3d动漫h| 韩国午夜理伦三级不卡影院| 久久久99免费| 成人做爰69片免费看网站| 中文字幕一区二区三区不卡在线 | 国产aⅴ综合色| 国产精品卡一卡二卡三| 91免费看片在线观看| 午夜国产精品一区| 精品日韩成人av| av中文字幕一区| 午夜精品一区二区三区电影天堂| 日韩欧美二区三区| 国产成a人亚洲| 亚洲一区二区三区激情| 欧美一级二级三级蜜桃| 国产综合色产在线精品| 国产精品美女久久久久aⅴ| 色综合中文字幕国产 | 日韩一区二区三区四区| 国产成人av福利| 亚洲一区二区av在线| 欧美精品一区二区精品网| 成人午夜在线视频|