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

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

?? block.c

?? TML的參考源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
    M6[3]= M5[1]*17+M5[3]*7;

    for (i=0;i<2;i++)
    {
      i1=3-i;
      img->cof[i ][j][0][0]= M6[i]+M6[i1];
      img->cof[i1][j][0][0]=M6[i]-M6[i1];
    }
  }

  // vertical
  for (i=0;i<4;i++)
  {
    for (j=0;j<4;j++)
      M5[j]=img->cof[i][j][0][0];

    M6[0]=(M5[0]+M5[2])*13;
    M6[1]=(M5[0]-M5[2])*13;
    M6[2]= M5[1]*7 -M5[3]*17;
    M6[3]= M5[1]*17+M5[3]*7;

    for (j=0;j<2;j++)
    {
      j1=3-j;
      img->cof[i][j][0][0] = ((M6[j]+M6[j1])/8) *JQ1[img->qp];
      img->cof[i][j1][0][0]= ((M6[j]-M6[j1])/8) *JQ1[img->qp];
    }
  }
  for (j=0;j<4;j++)
  {
    for (i=0;i<4;i++)
    {
      img->cof[i][j][0][0] = 3 * img->cof[i][j][0][0]/256;
    }
  }
}


void itrans_sp(struct img_par *img,  //!< image parameters
               int ioff,             //!< index to 4x4 block
               int joff,             //!<
               int i0,               //!<
               int j0)               //!<
{
  int i,j,i1,j1;
  int m5[4];
  int m6[4];
  int predicted_block[BLOCK_SIZE][BLOCK_SIZE],Fq1q2,ilev;

  for (j=0; j< BLOCK_SIZE; j++)
    for (i=0; i< BLOCK_SIZE; i++)
    {
      predicted_block[i][j]=img->mpr[i+ioff][j+joff];
    }
  for (j=0; j < BLOCK_SIZE; j++)
  {
    for (i=0; i < 2; i++)
    {
      i1=3-i;
      m5[i]=predicted_block[i][j]+predicted_block[i1][j];
      m5[i1]=predicted_block[i][j]-predicted_block[i1][j];
    }
    predicted_block[0][j]=(m5[0]+m5[1])*13;
    predicted_block[2][j]=(m5[0]-m5[1])*13;
    predicted_block[1][j]=m5[3]*17+m5[2]*7;
    predicted_block[3][j]=m5[3]*7-m5[2]*17;
  }

  //  Vertival transform

  for (i=0; i < BLOCK_SIZE; i++)
  {
    for (j=0; j < 2; j++)
    {
      j1=3-j;
      m5[j]=predicted_block[i][j]+predicted_block[i][j1];
      m5[j1]=predicted_block[i][j]-predicted_block[i][j1];
    }
    predicted_block[i][0]=(m5[0]+m5[1])*13;
    predicted_block[i][2]=(m5[0]-m5[1])*13;
    predicted_block[i][1]=m5[3]*17+m5[2]*7;
    predicted_block[i][3]=m5[3]*7-m5[2]*17;
  }

  Fq1q2=(JQQ*JQ[img->qpsp]+JQ[img->qp]/2)/JQ[img->qp];

  for (j=0;j<BLOCK_SIZE;j++)
    for (i=0;i<BLOCK_SIZE;i++)
    {
      ilev=img->cof[i0][j0][i][j]/JQ1[img->qp]*Fq1q2+predicted_block[i][j]*JQ[img->qpsp];
      img->cof[i0][j0][i][j]=sign((abs(ilev)+JQQ2)/ JQQ,ilev)*JQ1[img->qpsp];
    }
  // horizontal
  for (j=0;j<BLOCK_SIZE;j++)
  {
    for (i=0;i<BLOCK_SIZE;i++)
    {
      m5[i]=img->cof[i0][j0][i][j];
    }
    m6[0]=(m5[0]+m5[2])*13;
    m6[1]=(m5[0]-m5[2])*13;
    m6[2]=m5[1]*7-m5[3]*17;
    m6[3]=m5[1]*17+m5[3]*7;

    for (i=0;i<2;i++)
    {
      i1=3-i;
      img->m7[i][j]=m6[i]+m6[i1];
      img->m7[i1][j]=m6[i]-m6[i1];
    }
  }
  // vertical
  for (i=0;i<BLOCK_SIZE;i++)
  {
    for (j=0;j<BLOCK_SIZE;j++)
      m5[j]=img->m7[i][j];

    m6[0]=(m5[0]+m5[2])*13;
    m6[1]=(m5[0]-m5[2])*13;
    m6[2]=m5[1]*7-m5[3]*17;
    m6[3]=m5[1]*17+m5[3]*7;

    for (j=0;j<2;j++)
    {
      j1=3-j;
      img->m7[i][j]=mmax(0,mmin(255,(m6[j]+m6[j1]+JQQ2)/JQQ));
      img->m7[i][j1]=mmax(0,mmin(255,(m6[j]-m6[j1]+JQQ2)/JQQ));
    }
  }

}

/*!
 ***********************************************************************
 * \brief
 *    The routine performs transform,quantization,inverse transform, adds the diff.
 *    to the prediction and writes the result to the decoded luma frame. Includes the
 *    RD constrained quantization also.
 *
 * \par Input:
 *    block_x,block_y: Block position inside a macro block (0,4,8,12).
 *
 * \par Output:
 *    nonzero: 0 if no levels are nonzero.  1 if there are nonzero levels. \n
 *    coeff_cost: Counter for nonzero coefficients, used to discard expencive levels.
 ************************************************************************
 */
void copyblock_sp(struct img_par *img,int block_x,int block_y)
{
  int sign(int a,int b);

  int i,j,i1,j1,m5[4],m6[4];

  int predicted_block[BLOCK_SIZE][BLOCK_SIZE],quant_set1;

  //  Horizontal transform
  for (j=0; j< BLOCK_SIZE; j++)
    for (i=0; i< BLOCK_SIZE; i++)
    {
      predicted_block[i][j]=img->mpr[i+block_x][j+block_y];
    }

  for (j=0; j < BLOCK_SIZE; j++)
  {
    for (i=0; i < 2; i++)
    {
      i1=3-i;
      m5[i]=predicted_block[i][j]+predicted_block[i1][j];
      m5[i1]=predicted_block[i][j]-predicted_block[i1][j];
    }
    predicted_block[0][j]=(m5[0]+m5[1])*13;
    predicted_block[2][j]=(m5[0]-m5[1])*13;
    predicted_block[1][j]=m5[3]*17+m5[2]*7;
    predicted_block[3][j]=m5[3]*7-m5[2]*17;
  }

  //  Vertical transform

  for (i=0; i < BLOCK_SIZE; i++)
  {
    for (j=0; j < 2; j++)
    {
      j1=3-j;
      m5[j]=predicted_block[i][j]+predicted_block[i][j1];
      m5[j1]=predicted_block[i][j]-predicted_block[i][j1];
    }
    predicted_block[i][0]=(m5[0]+m5[1])*13;
    predicted_block[i][2]=(m5[0]-m5[1])*13;
    predicted_block[i][1]=m5[3]*17+m5[2]*7;
    predicted_block[i][3]=m5[3]*7-m5[2]*17;
  }

  // Quant
  quant_set1=img->qpsp;
  for (j=0;j < BLOCK_SIZE; j++)
    for (i=0; i < BLOCK_SIZE; i++)
      img->m7[i][j]=sign((abs(predicted_block[i][j])*JQ[quant_set1]+JQQ2)/ JQQ,predicted_block[i][j])*JQ1[quant_set1];

  //     IDCT.
  //     horizontal

  for (j=0; j < BLOCK_SIZE; j++)
  {
    for (i=0; i < BLOCK_SIZE; i++)
    {
      m5[i]=img->m7[i][j];
    }
    m6[0]=(m5[0]+m5[2])*13;
    m6[1]=(m5[0]-m5[2])*13;
    m6[2]=m5[1]*7-m5[3]*17;
    m6[3]=m5[1]*17+m5[3]*7;

    for (i=0; i < 2; i++)
    {
      i1=3-i;
      img->m7[i][j]=m6[i]+m6[i1];
      img->m7[i1][j]=m6[i]-m6[i1];
    }
  }

  //  vertical

  for (i=0; i < BLOCK_SIZE; i++)
  {
    for (j=0; j < BLOCK_SIZE; j++)
    {
      m5[j]=img->m7[i][j];
    }
    m6[0]=(m5[0]+m5[2])*13;
    m6[1]=(m5[0]-m5[2])*13;
    m6[2]=m5[1]*7-m5[3]*17;
    m6[3]=m5[1]*17+m5[3]*7;

    for (j=0; j < 2; j++)
    {
      j1=3-j;
      img->m7[i][j] =min(255,max(0,(m6[j]+m6[j1]+JQQ2)/JQQ));
      img->m7[i][j1]=min(255,max(0,(m6[j]-m6[j1]+JQQ2)/JQQ));
    }
  }

  //  Decoded block moved to frame memory

  for (j=0; j < BLOCK_SIZE; j++)
    for (i=0; i < BLOCK_SIZE; i++)
      imgY[img->pix_y+block_y+j][img->pix_x+block_x+i]=img->m7[i][j];

}

void itrans_sp_chroma(struct img_par *img,int ll)
{
  int i,j,i1,j2,ilev,n2,n1,j1,mb_y,qp_const,quant_set;
  int m5[BLOCK_SIZE];
  int predicted_chroma_block[MB_BLOCK_SIZE/2][MB_BLOCK_SIZE/2],Fq1q2,mp1[BLOCK_SIZE],quant_set1;

  qp_const=JQQ4;

  for (j=0; j < MB_BLOCK_SIZE/2; j++)
    for (i=0; i < MB_BLOCK_SIZE/2; i++)
    {
      predicted_chroma_block[i][j]=img->mpr[i][j];
      img->mpr[i][j]=0;
    }

  for (n2=0; n2 <= BLOCK_SIZE; n2 += BLOCK_SIZE)
  {
    for (n1=0; n1 <= BLOCK_SIZE; n1 += BLOCK_SIZE)
    {

      //  Horizontal transform.
      for (j=0; j < BLOCK_SIZE; j++)
      {
        mb_y=n2+j;
        for (i=0; i < 2; i++)
        {
          i1=3-i;
          m5[i]=predicted_chroma_block[i+n1][mb_y]+predicted_chroma_block[i1+n1][mb_y];
          m5[i1]=predicted_chroma_block[i+n1][mb_y]-predicted_chroma_block[i1+n1][mb_y];
        }
        predicted_chroma_block[n1][mb_y]=(m5[0]+m5[1])*13;
        predicted_chroma_block[n1+2][mb_y]=(m5[0]-m5[1])*13;
        predicted_chroma_block[n1+1][mb_y]=m5[3]*17+m5[2]*7;
        predicted_chroma_block[n1+3][mb_y]=m5[3]*7-m5[2]*17;
      }

      //  Vertical transform.

      for (i=0; i < BLOCK_SIZE; i++)
      {
        j1=n1+i;
        for (j=0; j < 2; j++)
        {
          j2=3-j;
          m5[j]=predicted_chroma_block[j1][n2+j]+predicted_chroma_block[j1][n2+j2];
          m5[j2]=predicted_chroma_block[j1][n2+j]-predicted_chroma_block[j1][n2+j2];
        }
        predicted_chroma_block[j1][n2+0]=(m5[0]+m5[1])*13;
        predicted_chroma_block[j1][n2+2]=(m5[0]-m5[1])*13;
        predicted_chroma_block[j1][n2+1]=m5[3]*17+m5[2]*7;
        predicted_chroma_block[j1][n2+3]=m5[3]*7-m5[2]*17;
      }
    }
  }

  //     2X2 transform of DC coeffs.
  mp1[0]=(predicted_chroma_block[0][0]+predicted_chroma_block[4][0]+predicted_chroma_block[0][4]+predicted_chroma_block[4][4])/2;
  mp1[1]=(predicted_chroma_block[0][0]-predicted_chroma_block[4][0]+predicted_chroma_block[0][4]-predicted_chroma_block[4][4])/2;
  mp1[2]=(predicted_chroma_block[0][0]+predicted_chroma_block[4][0]-predicted_chroma_block[0][4]-predicted_chroma_block[4][4])/2;
  mp1[3]=(predicted_chroma_block[0][0]-predicted_chroma_block[4][0]-predicted_chroma_block[0][4]+predicted_chroma_block[4][4])/2;

  quant_set=QP_SCALE_CR[img->qp];
  quant_set1=QP_SCALE_CR[img->qpsp];
  Fq1q2=(JQQ*JQ[quant_set1]+JQ[quant_set]/2)/JQ[quant_set];

  ilev=img->cof[0+ll][4][0][0]*Fq1q2+mp1[0]*JQ[quant_set1];
  mp1[0]=sign((abs(ilev)+JQQ2)/ JQQ,ilev)*JQ1[quant_set1];
  ilev=img->cof[1+ll][4][0][0]*Fq1q2+mp1[1]*JQ[quant_set1];
  mp1[1]=sign((abs(ilev)+JQQ2)/ JQQ,ilev)*JQ1[quant_set1];
  ilev=img->cof[0+ll][5][0][0]*Fq1q2+mp1[2]*JQ[quant_set1];
  mp1[2]=sign((abs(ilev)+JQQ2)/ JQQ,ilev)*JQ1[quant_set1];
  ilev=img->cof[1+ll][5][0][0]*Fq1q2+mp1[3]*JQ[quant_set1];
  mp1[3]=sign((abs(ilev)+JQQ2)/ JQQ,ilev)*JQ1[quant_set1];

  img->cof[0+ll][4][0][0]=(mp1[0]+mp1[1]+mp1[2]+mp1[3])/2;
  img->cof[1+ll][4][0][0]=(mp1[0]-mp1[1]+mp1[2]-mp1[3])/2;
  img->cof[0+ll][5][0][0]=(mp1[0]+mp1[1]-mp1[2]-mp1[3])/2;
  img->cof[1+ll][5][0][0]=(mp1[0]-mp1[1]-mp1[2]+mp1[3])/2;

  for (n2=0; n2 <= BLOCK_SIZE; n2 += BLOCK_SIZE)
    for (n1=0; n1 <= BLOCK_SIZE; n1 += BLOCK_SIZE)
      for (i=0;i< BLOCK_SIZE; i++)
        for (j=0;j< BLOCK_SIZE; j++)
        if ((i!=0) || (j!=0))
        {
          ilev=img->cof[n1/BLOCK_SIZE+ll][4+n2/BLOCK_SIZE][i][j]/JQ1[QP_SCALE_CR[img->qp]]*Fq1q2+predicted_chroma_block[n1+i][n2+j]*JQ[quant_set1];
          img->cof[n1/BLOCK_SIZE+ll][4+n2/BLOCK_SIZE][i][j]=sign((abs(ilev)+JQQ2)/ JQQ,ilev)*JQ1[quant_set1];
        }
}

int sign(int a , int b)
{
  int x;

  x=abs(a);
  if (b>0)
    return(x);
  else return(-x);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产精华液网站w| 奇米四色…亚洲| 国精产品一区一区三区mba视频| 97超碰欧美中文字幕| 国产欧美一区二区精品性色超碰 | 日韩和欧美一区二区| 风间由美中文字幕在线看视频国产欧美| 色综合久久精品| 一区二区中文视频| 91久久精品日日躁夜夜躁欧美| 国产精品人人做人人爽人人添 | 中文字幕在线一区二区三区| 成人精品一区二区三区中文字幕| 精品国产3级a| 成人永久aaa| 亚洲欧美中日韩| 欧美久久婷婷综合色| 久久精品国产99国产| 欧美大片在线观看一区| 国产成人99久久亚洲综合精品| 国产日韩欧美在线一区| 99久久免费视频.com| 日本不卡视频在线| 国产欧美日韩综合精品一区二区| aaa亚洲精品| 久久66热偷产精品| 亚洲色图在线看| 日韩一区二区电影| 成人不卡免费av| 日本一区中文字幕| 亚洲精品乱码久久久久| 日韩一区二区免费在线电影| 高清不卡一二三区| 爽爽淫人综合网网站| 中文字幕在线不卡一区二区三区| 欧美一二三四在线| 91丨porny丨蝌蚪视频| 精品一区二区三区免费播放| 亚洲另类一区二区| 国产欧美日韩综合精品一区二区| 欧美一二三区在线| 欧美色倩网站大全免费| av不卡在线播放| 高潮精品一区videoshd| 国内精品写真在线观看| 麻豆精品一区二区三区| 综合色中文字幕| 亚洲欧洲av一区二区三区久久| 久久免费偷拍视频| 欧美va亚洲va| 精品av久久707| 欧美一区二区三区白人| 欧美日韩久久久一区| 91麻豆精品一区二区三区| 亚洲综合色在线| 亚洲午夜激情av| 一区二区三区日韩精品视频| 亚洲精品va在线观看| 亚洲一二三四区| 日韩av网站在线观看| 蜜桃av一区二区| 国产一区二区女| 丁香六月综合激情| 一本色道a无线码一区v| 色婷婷激情综合| 在线成人高清不卡| 日韩精品在线一区二区| 久久久久国产精品麻豆| 久久久五月婷婷| 亚洲情趣在线观看| 青青草97国产精品免费观看无弹窗版| 日本不卡高清视频| 99久久免费视频.com| 欧美男男青年gay1069videost| 欧美一区二区精美| 国产精品久久久久久久久晋中| 樱花影视一区二区| 国产成人免费视频网站| 懂色av一区二区三区免费观看 | 国产成人高清视频| 欧美日韩三级视频| 欧美国产乱子伦| 日韩不卡一区二区三区| www.爱久久.com| 日韩欧美国产综合一区| 日韩一区欧美小说| 国产精品88888| 欧美刺激午夜性久久久久久久| 中文字幕一区二区三区在线不卡 | 亚洲精品一二三区| 国内成人精品2018免费看| 欧美日韩高清影院| 中文字幕一区二区在线观看 | 亚洲品质自拍视频网站| 福利一区在线观看| 国产日韩欧美一区二区三区综合| 免费看日韩精品| 91麻豆精品91久久久久同性| 亚洲天天做日日做天天谢日日欢| 激情综合色播五月| 日韩免费电影网站| 久久av资源网| 日韩三级视频中文字幕| 午夜精品福利视频网站| 欧美色精品在线视频| 亚洲一区二区三区四区在线观看| 成人美女在线视频| 中文字幕av资源一区| 91亚洲国产成人精品一区二三 | 日韩电影在线一区二区三区| 欧洲国产伦久久久久久久| 亚洲午夜精品在线| 欧美一区二区大片| 国产高清精品网站| 亚洲欧洲日韩av| 欧美午夜影院一区| 日本伊人色综合网| 欧美va天堂va视频va在线| 天堂蜜桃一区二区三区 | 6080亚洲精品一区二区| 人人精品人人爱| 国产午夜亚洲精品午夜鲁丝片| 成人ar影院免费观看视频| 亚洲成人福利片| 国产亚洲精品bt天堂精选| 在线免费观看日本一区| 国产一区在线观看视频| 中文字幕一区二区三区视频| 欧美日韩一二区| jizzjizzjizz欧美| 蜜桃av一区二区| 亚洲国产成人tv| 亚洲欧美另类图片小说| 宅男在线国产精品| 91视频观看免费| 国产91丝袜在线播放| 久久er精品视频| 男女视频一区二区| 亚洲国产综合色| 亚洲综合成人网| 亚洲精品中文在线| 亚洲女同ⅹxx女同tv| 国产三级精品三级在线专区| 欧美tickling挠脚心丨vk| 欧美日韩aaa| 欧美日韩国产经典色站一区二区三区| 国产综合色在线| 麻豆精品一区二区| 另类中文字幕网| 久久国产精品无码网站| 久久99国产精品成人| 美女一区二区在线观看| 日韩成人一区二区三区在线观看| 亚洲一区二区三区中文字幕在线| 99精品视频在线观看| 日本一区中文字幕 | 精品一区二区在线播放| 久久国产免费看| 成人午夜看片网址| 成人网在线免费视频| eeuss鲁片一区二区三区在线看| 国产精品综合在线视频| 国产+成+人+亚洲欧洲自线| 国产精品一品视频| 一本到不卡免费一区二区| 欧美麻豆精品久久久久久| 欧美一级专区免费大片| 中文字幕欧美激情| 亚洲与欧洲av电影| 国内精品在线播放| 色婷婷综合五月| 亚洲精品一区二区三区99| 国产精品午夜电影| 亚洲成人自拍网| 国产综合成人久久大片91| 成人免费毛片app| 欧美一区二区三区四区在线观看| 久久嫩草精品久久久精品一| 亚洲一区二区视频在线观看| 免费的国产精品| 欧美午夜精品一区二区三区 | 欧美日韩三级在线| 国产亚洲精品久| 天天综合天天综合色| 99视频热这里只有精品免费| 日韩免费电影网站| 视频一区免费在线观看| 成人国产精品免费网站| 3751色影院一区二区三区| 亚洲精品午夜久久久| 成人av在线网| 国产网站一区二区三区| 黄色精品一二区| 亚洲精品一区二区三区精华液| 五月婷婷激情综合网| 欧美美女bb生活片| 日韩av一区二区在线影视| 色999日韩国产欧美一区二区| 国产精品久久久久久户外露出 | 色婷婷亚洲一区二区三区|