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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? image.c

?? 一個(gè)簡單的視頻會(huì)議VC++MFC工程文件
?? C
?? 第 1 頁 / 共 5 頁
字號(hào):
    snr->snr_u1 = snr->snr_u;  // keep croma u snr for first frame
    snr->snr_v1 = snr->snr_v;  // keep croma v snr for first frame
    snr->snr_ya = snr->snr_y1;
    snr->snr_ua = snr->snr_u1;
    snr->snr_va = snr->snr_v1;
  }
  // B pictures
  else
  {
    snr->snr_ya = (float) (snr->snr_ya * (img->number + Bframe_ctr) + snr->snr_y) / (img->number + Bframe_ctr + 1); // average snr lume for all frames inc. first
    snr->snr_ua = (float) (snr->snr_ua * (img->number + Bframe_ctr) + snr->snr_u) / (img->number + Bframe_ctr + 1); // average snr u croma for all frames inc. first
    snr->snr_va = (float) (snr->snr_va * (img->number + Bframe_ctr) + snr->snr_v) / (img->number + Bframe_ctr + 1); // average snr v croma for all frames inc. first
  }
}

/*!
 ************************************************************************
 * \brief
 *    Find distortion for all three components
 ************************************************************************
 */
static void find_distortion ()
{
  int i, j;
  int64 diff_y, diff_u, diff_v;
  int impix;
  
  //  Calculate  PSNR for Y, U and V.
  
  //     Luma.
  impix = img->height * img->width;
  
  if (img->structure!=FRAME)
  {

    diff_y = 0;
    for (i = 0; i < img->width; ++i)
    {
      for (j = 0; j < img->height; ++j)
      {
        diff_y += img->quad[abs (imgY_org[j][i] - imgY_com[j][i])];
      }
    }
  
    diff_u = 0;
    diff_v = 0;
    
    if (img->yuv_format != YUV400)
    {
      //     Chroma.
      for (i = 0; i < img->width_cr; i++)
      {
        for (j = 0; j < img->height_cr; j++)
        {
          diff_u += img->quad[abs (imgUV_org[0][j][i] - imgUV_com[0][j][i])];
          diff_v += img->quad[abs (imgUV_org[1][j][i] - imgUV_com[1][j][i])];
        }
      }
    }
  }
  else
  {
      imgY_org   = imgY_org_frm;
      imgUV_org = imgUV_org_frm;

      diff_y = 0;
      for (i = 0; i < img->width; ++i)
      {
        for (j = 0; j < img->height; ++j)
        {
          diff_y += img->quad[abs (imgY_org[j][i] - enc_picture->imgY[j][i])];
        }
      }
      
      diff_u = 0;
      diff_v = 0;

      if (img->yuv_format != YUV400)
      {
        //     Chroma.
        for (i = 0; i < img->width_cr; i++)
        {
          for (j = 0; j < img->height_cr; j++)
          {
            diff_u += img->quad[abs (imgUV_org[0][j][i] - enc_picture->imgUV[0][j][i])];
            diff_v += img->quad[abs (imgUV_org[1][j][i] - enc_picture->imgUV[1][j][i])];
          }
        }
      }
  }
  // Calculate real PSNR at find_snr_avg()
  snr->snr_y = (float) diff_y;
  snr->snr_u = (float) diff_u;
  snr->snr_v = (float) diff_v;
}

  
  /*!
 ************************************************************************
 * \brief
 *    Just a placebo
 ************************************************************************
 */
Boolean dummy_slice_too_big (int bits_slice)
{
  return FALSE;
}


/*! 
***************************************************************************
// For MB level field/frame coding
***************************************************************************
*/
void copy_rdopt_data (int bot_block)
{
  int mb_nr = img->current_mb_nr;
  Macroblock *currMB = &img->mb_data[mb_nr];
  int i, j, k, l;

  int bframe = (img->type == B_SLICE);
  int mode;
  int b8mode, b8pdir;

  int list_offset = ((img->MbaffFrameFlag)&&(currMB->mb_field))? img->current_mb_nr%2 ? 4 : 2 : 0;

  mode             = rdopt->mode;
  currMB->mb_type  = rdopt->mb_type;   // copy mb_type 
  currMB->cbp      = rdopt->cbp;   // copy cbp
  currMB->cbp_blk  = rdopt->cbp_blk;   // copy cbp_blk
  img->i16offset   = rdopt->i16offset;

  currMB->prev_qp=rdopt->prev_qp;
  currMB->prev_delta_qp=rdopt->prev_delta_qp;
  currMB->qp=rdopt->qp;

  currMB->c_ipred_mode = rdopt->c_ipred_mode;

  for (i = 0; i < 4+img->num_blk8x8_uv; i++)
    for (j = 0; j < 4; j++)
      for (k = 0; k < 2; k++)
        for (l = 0; l < 65; l++)
          img->cofAC[i][j][k][l] = rdopt->cofAC[i][j][k][l];

  for (i = 0; i < 3; i++)
    for (k = 0; k < 2; k++)
      for (l = 0; l < 18; l++)
        img->cofDC[i][k][l] = rdopt->cofDC[i][k][l];

  for (j = 0; j < 4; j++)
    for (i = 0; i < 4; i++)
    {
      enc_picture->ref_idx[LIST_0][img->block_x + i][img->block_y + j] = rdopt->refar[LIST_0][j][i];
      enc_picture->ref_pic_id [LIST_0][img->block_x+i][img->block_y+j] = enc_picture->ref_pic_num[LIST_0 + list_offset][enc_picture->ref_idx[LIST_0][img->block_x+i][img->block_y+j]];
      if (bframe)
      {
        enc_picture->ref_idx[LIST_1][img->block_x + i][img->block_y + j] = rdopt->refar[LIST_1][j][i];
        enc_picture->ref_pic_id [LIST_1][img->block_x+i][img->block_y+j] = enc_picture->ref_pic_num[LIST_1 + list_offset][enc_picture->ref_idx[LIST_1][img->block_x+i][img->block_y+j]];
      }
    }
    
    //===== reconstruction values =====
  for (j = 0; j < 16; j++)
    for (i = 0; i < 16; i++)
    {
      enc_picture->imgY[img->pix_y + j][img->pix_x + i] = rdopt->rec_mbY[j][i];
    }
      
     
    if (img->yuv_format != YUV400)
    {
      for (j = 0; j < img->mb_cr_size_y; j++)
        for (i = 0; i < img->mb_cr_size_x; i++)
        {
          enc_picture->imgUV[0][img->pix_c_y + j][img->pix_c_x + i] = rdopt->rec_mbU[j][i];
          enc_picture->imgUV[1][img->pix_c_y + j][img->pix_c_x + i] = rdopt->rec_mbV[j][i];
        }
    }

  for (i = 0; i < 4; i++)
  {
    currMB->b8mode[i] = rdopt->b8mode[i];
    currMB->b8pdir[i] = rdopt->b8pdir[i];
  }

  currMB->luma_transform_size_8x8_flag = rdopt->luma_transform_size_8x8_flag;
//  currMB->NoMbPartLessThan8x8Flag  = rdopt->NoMbPartLessThan8x8Flag;  //DEL-VG-29072004
  
  //==== intra prediction modes ====
  if (mode == P8x8)
  {
    for (k = 0, j = img->block_y; j < img->block_y + 4; j++)
      for (i = img->block_x; i < img->block_x + 4; i++, k++)
      {
        img->ipredmode[i][j]        = rdopt->ipredmode[i][j];
        currMB->intra_pred_modes[k] = rdopt->intra_pred_modes[k];
      }
  }
  else if (mode != I4MB && mode != I8MB)
  {
    for (k = 0, j = img->block_y; j < img->block_y + 4; j++)
      for (     i = img->block_x; i < img->block_x + 4; i++, k++)
      {
        img->ipredmode[i][j]        = DC_PRED;
        currMB->intra_pred_modes[k] = DC_PRED;
      }
  }
  else if (mode == I4MB || mode == I8MB)
  {
    for (k = 0, j = img->block_y; j < img->block_y + 4; j++)
      for (     i = img->block_x; i < img->block_x + 4; i++, k++)
      {
        img->ipredmode[i][j]        = rdopt->ipredmode[i][j];
        currMB->intra_pred_modes[k] = rdopt->intra_pred_modes[k];
        
      }
      
  }

  if (img->MbaffFrameFlag)
  {
    // motion vectors
    copy_motion_vectors_MB ();
    
    
    if (!IS_INTRA(currMB))
    {
      for (j = 0; j < 4; j++)
        for (i = 0; i < 4; i++)
        {
          b8mode = currMB->b8mode[i/2+2*(j/2)];
          b8pdir = currMB->b8pdir[i/2+2*(j/2)];

          if (b8pdir!=1)
          {
            enc_picture->mv[LIST_0][i+img->block_x][j+img->block_y][0] = rdopt->all_mv[i][j][LIST_0][rdopt->refar[LIST_0][j][i]][b8mode][0];
            enc_picture->mv[LIST_0][i+img->block_x][j+img->block_y][1] = rdopt->all_mv[i][j][LIST_0][rdopt->refar[LIST_0][j][i]][b8mode][1];
          }
          else
          {
            enc_picture->mv[LIST_0][i+img->block_x][j+img->block_y][0] = 0;
            enc_picture->mv[LIST_0][i+img->block_x][j+img->block_y][1] = 0;
          }
          if (bframe)
          {
            if (b8pdir!=0)
            {
              enc_picture->mv[LIST_1][i+img->block_x][j+img->block_y][0] = rdopt->all_mv[i][j][LIST_1][rdopt->refar[LIST_1][j][i]][b8mode][0];
              enc_picture->mv[LIST_1][i+img->block_x][j+img->block_y][1] = rdopt->all_mv[i][j][LIST_1][rdopt->refar[LIST_1][j][i]][b8mode][1];
            }
            else
            {
              enc_picture->mv[LIST_1][i+img->block_x][j+img->block_y][0] = 0;
              enc_picture->mv[LIST_1][i+img->block_x][j+img->block_y][1] = 0;
            }
          }
        }
    }
    else
    {
      for (j = 0; j < 4; j++)
        for (i = 0; i < 4; i++)
        {
          enc_picture->mv[LIST_0][i+img->block_x][j+img->block_y][0] = 0;
          enc_picture->mv[LIST_0][i+img->block_x][j+img->block_y][1] = 0;
          
          if (bframe)
          {
            enc_picture->mv[LIST_1][i+img->block_x][j+img->block_y][0] = 0;
            enc_picture->mv[LIST_1][i+img->block_x][j+img->block_y][1] = 0;
          }
        }
    }
  }
  
}                             // end of copy_rdopt_data
  
static void copy_motion_vectors_MB ()
{
  int i,j,k,l;

  for (i = 0; i < 4; i++)
  {
    for (j = 0; j < 4; j++)
    {
      for (k = 0; k < img->max_num_references; k++)
      {
        for (l = 0; l < 9; l++)
        {
          img->all_mv[i][j][LIST_0][k][l][0] = rdopt->all_mv[i][j][LIST_0][k][l][0];
          img->all_mv[i][j][LIST_0][k][l][1] = rdopt->all_mv[i][j][LIST_0][k][l][1];

          img->all_mv[i][j][LIST_1][k][l][0] = rdopt->all_mv[i][j][LIST_1][k][l][0];
          img->all_mv[i][j][LIST_1][k][l][1] = rdopt->all_mv[i][j][LIST_1][k][l][1];

          img->pred_mv[i][j][LIST_0][k][l][0] = rdopt->pred_mv[i][j][LIST_0][k][l][0];
          img->pred_mv[i][j][LIST_0][k][l][1] = rdopt->pred_mv[i][j][LIST_0][k][l][1];
          
          img->pred_mv[i][j][LIST_1][k][l][0] = rdopt->pred_mv[i][j][LIST_1][k][l][0];
          img->pred_mv[i][j][LIST_1][k][l][1] = rdopt->pred_mv[i][j][LIST_1][k][l][1];
          
        }
      }
    }
  }
}
  

static void ReportNALNonVLCBits(int tmp_time, int me_time)
{
  //! Need to add type (i.e. SPS, PPS, SEI etc).
    printf ("%04d(NVB)%8d \n", frame_no, stats->bit_ctr_parametersets_n);

}
static void ReportFirstframe(int tmp_time,int me_time)
{
  //Rate control
  int bits;
  printf ("%04d(IDR)%8d %1d %2d %7.3f %7.3f %7.3f  %7d   %5d     %3s   %3d\n",
    frame_no, stats->bit_ctr - stats->bit_ctr_n,0,
    img->qp, snr->snr_y, snr->snr_u, snr->snr_v, tmp_time, me_time,
    img->fld_flag ? "FLD" : "FRM", intras);

  //Rate control
  if(input->RCEnable)
  {
    if((!input->PicInterlace)&&(!input->MbInterlace))
        bits = stats->bit_ctr-stats->bit_ctr_n; // used for rate control update 
    else
    {
      bits = stats->bit_ctr - Iprev_bits; // used for rate control update 
      Iprev_bits = stats->bit_ctr;
    }
  }

  stats->bitr0 = stats->bitr;
  stats->bit_ctr_0 = stats->bit_ctr;
  stats->bit_ctr = 0;
}


static void ReportIntra(int tmp_time, int me_time)
{
	
  if (img->currentPicture->idr_flag == 1)
    printf ("%04d(IDR)%8d %1d %2d %7.3f %7.3f %7.3f  %7d   %5d     %3s   %3d\n",
    frame_no, stats->bit_ctr - stats->bit_ctr_n, 0,
    img->qp, snr->snr_y, snr->snr_u, snr->snr_v, tmp_time, me_time,
    img->fld_flag ? "FLD" : "FRM", intras); 
  else
    printf ("%04d(I)  %8d %1d %2d %7.3f %7.3f %7.3f  %7d   %5d     %3s   %3d\n",
    frame_no, stats->bit_ctr - stats->bit_ctr_n, 0,
    img->qp, snr->snr_y, snr->snr_u, snr->snr_v, tmp_time, me_time,
    img->fld_flag ? "FLD" : "FRM", intras);

}

static void ReportSP(int tmp_time, int me_time)
{
  printf ("%04d(SP) %8d %1d %2d %7.3f %7.3f %7.3f  %7d   %5d     %3s   %3d\n",
    frame_no, stats->bit_ctr - stats->bit_ctr_n, active_pps->weighted_pred_flag, img->qp, snr->snr_y,
    snr->snr_u, snr->snr_v, tmp_time, me_time,
          img->fld_flag ? "FLD" : "FRM", intras);
}

static void ReportRB(int tmp_time, int me_time)
{
  printf ("%04d(RB) %8d %1d %2d %7.3f %7.3f %7.3f  %7d   %5d     %3s   %3d %1d\n",
    frame_no, stats->bit_ctr - stats->bit_ctr_n, active_pps->weighted_bipred_idc, img->qp, snr->snr_y,
    snr->snr_u, snr->snr_v, tmp_time, me_time,
    img->fld_flag ? "FLD" : "FRM", intras,img->direct_spatial_mv_pred_flag);
}

static void ReportB(int tmp_time, int me_time)
{
    printf ("%04d(B)  %8d %1d %2d %7.3f %7.3f %7.3f  %7d   %5d     %3s   %3d %1d\n",
    frame_no, stats->bit_ctr - stats->bit_ctr_n, active_pps->weighted_bipred_idc,img->qp,
    snr->snr_y, snr->snr_u, snr->snr_v, tmp_time,me_time,
    img->fld_flag ? "FLD" : "FRM",intras,img->direct_spatial_mv_pred_flag);
}


static void ReportP(int tmp_time, int me_time)
{            
    printf ("%04d(P)  %8d %1d %2d %7.3f %7.3f %7.3f  %7d   %5d     %3s   %3d\n",
    frame_no, stats->bit_ctr - stats->bit_ctr_n, active_pps->weighted_pred_flag, img->qp, snr->snr_y,
    snr->snr_u, snr->snr_v, tmp_time, me_time,
          img->fld_flag ? "FLD" : "FRM", intras);

}

/*!
 ************************************************************************
 * \brief
 *    Padding of automatically added border for picture sizes that are not
 *     multiples of macroblock/macroblock pair size
 *
 * \param org_size_x
 *    original image horizontal size (luma)
 * \param org_size_y
 *    original image vertical size (luma)
 * \param img_size_x
 *    coded image horizontal size (luma)
 * \param img_size_y
 *    code image vertical size (luma)
 * \param org_size_x_cr
 *    original image horizontal size (chroma)
 * \param org_size_y_cr
 *    original image vertical size (chroma)
 * \param img_size_x_cr
 *    coded image horizontal size (chroma)
 * \param img_size_y_cr
 *    code image vertical size (c

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人中文字幕在线| 亚洲午夜电影网| 韩国精品一区二区| 精品卡一卡二卡三卡四在线| 麻豆久久一区二区| 欧美videos中文字幕| 激情图区综合网| 精品久久久久久久久久久久久久久| 老司机免费视频一区二区三区| 日韩欧美另类在线| 成人免费毛片嘿嘿连载视频| 亚洲免费电影在线| 国精产品一区一区三区mba桃花| 中文字幕av一区二区三区高| 强制捆绑调教一区二区| 亚洲资源中文字幕| 亚洲第一主播视频| 免费在线观看视频一区| 激情六月婷婷综合| 欧美亚洲自拍偷拍| 国产网站一区二区| 日韩精品一级中文字幕精品视频免费观看| 国产成人免费视频一区| 91日韩在线专区| 日韩电影在线观看电影| 国产视频一区二区在线观看| 色狠狠一区二区三区香蕉| 亚洲成人动漫av| 久久久久国产免费免费| 一本久道久久综合中文字幕| 日本麻豆一区二区三区视频| 中文字幕久久午夜不卡| 69堂国产成人免费视频| eeuss鲁一区二区三区| 一区二区三区鲁丝不卡| 精品国产1区二区| 色菇凉天天综合网| 国产精品白丝jk黑袜喷水| 亚洲综合免费观看高清完整版| 欧美大片国产精品| 在线区一区二视频| 国产成人精品免费网站| 日韩国产高清在线| 亚洲精品五月天| 久久久激情视频| 欧美一卡二卡三卡| 日本韩国欧美国产| jlzzjlzz欧美大全| 国产精品亚洲第一| 免费在线观看日韩欧美| 亚洲一二三四久久| 国产精品国产精品国产专区不蜜 | 一区二区三区色| 久久九九99视频| 日韩亚洲欧美一区| 欧美三级电影精品| 99久久免费视频.com| 国产成人精品影院| 美国一区二区三区在线播放| 亚洲国产欧美在线| 亚洲欧美日韩国产中文在线| 国产女人18毛片水真多成人如厕 | 欧美成人一区二区三区片免费| 色女孩综合影院| 99久久精品久久久久久清纯| 国产成人一区在线| 激情综合网最新| 久久99日本精品| 美女视频黄免费的久久| 日韩—二三区免费观看av| 亚洲成人在线网站| 亚洲1区2区3区4区| 日韩精品三区四区| 日韩影院免费视频| 奇米影视一区二区三区| 日本伊人色综合网| 日韩综合一区二区| 免费成人结看片| 日本视频一区二区| 奇米影视一区二区三区小说| 麻豆视频观看网址久久| 99精品视频免费在线观看| 国产91精品入口| www.欧美亚洲| 91麻豆视频网站| 欧美亚洲一区三区| 欧美日韩国产123区| 欧美日韩高清在线播放| 欧美一区二区三区白人| 日韩视频免费直播| 久久综合久久久久88| 久久久国产精品麻豆| 国产日韩精品一区二区三区在线| 国产精品天美传媒| 国产精品久久777777| 中文字幕一区在线| 亚洲黄色片在线观看| 亚洲va欧美va人人爽| 久久精品国产亚洲a| 激情综合色综合久久综合| 国产大片一区二区| 93久久精品日日躁夜夜躁欧美| av网站一区二区三区| 欧美亚洲高清一区| 欧美精品自拍偷拍动漫精品| 日韩欧美一级精品久久| 久久综合国产精品| 日韩码欧中文字| 视频一区国产视频| 国产激情精品久久久第一区二区 | 亚洲精选在线视频| 无吗不卡中文字幕| 青青青爽久久午夜综合久久午夜 | av电影在线观看一区| 欧亚洲嫩模精品一区三区| 欧美高清视频不卡网| 精品国产不卡一区二区三区| 国产女主播一区| 午夜视频在线观看一区二区三区| 免费成人美女在线观看.| 成人av电影免费在线播放| 欧美日韩精品是欧美日韩精品| 26uuu色噜噜精品一区二区| 亚洲视频一二区| 久久草av在线| 91麻豆国产在线观看| 精品播放一区二区| 亚洲婷婷综合久久一本伊一区 | 成人av网在线| 9191成人精品久久| 中文乱码免费一区二区| 日韩成人av影视| 91麻豆免费看片| 26uuu色噜噜精品一区| 亚洲国产欧美一区二区三区丁香婷| 国内精品久久久久影院一蜜桃| 色诱视频网站一区| 久久久夜色精品亚洲| 日韩黄色免费电影| 91亚洲精品一区二区乱码| 精品99一区二区三区| 天天亚洲美女在线视频| 91视视频在线直接观看在线看网页在线看 | 亚洲国产你懂的| 99久久精品国产精品久久| 久久久噜噜噜久噜久久综合| 天天操天天综合网| 91久久精品网| 亚洲男同性恋视频| 97久久精品人人做人人爽| 久久久久久一二三区| 丝袜a∨在线一区二区三区不卡| 在线亚洲免费视频| ●精品国产综合乱码久久久久| 国产精品一区免费在线观看| 日韩三级视频在线观看| 天天色天天爱天天射综合| 欧美午夜精品一区二区三区| 亚洲精品免费在线观看| 成人免费视频视频| 日本一区二区三区四区| 国产成都精品91一区二区三| 欧美精品一区二区久久婷婷 | 亚洲女人****多毛耸耸8| 国产专区综合网| 2024国产精品视频| 韩国视频一区二区| 精品国产一区二区精华 | 国产在线精品一区二区不卡了| 日韩欧美国产一二三区| 秋霞成人午夜伦在线观看| 日韩西西人体444www| 日本sm残虐另类| 日韩欧美一区二区不卡| 麻豆中文一区二区| xnxx国产精品| 成人在线综合网站| 国产精品少妇自拍| 91色九色蝌蚪| 午夜伊人狠狠久久| 91精品国产综合久久蜜臀| 日韩专区一卡二卡| 精品国内二区三区| 成人午夜视频网站| 亚洲精品视频在线观看网站| 欧美亚洲图片小说| 久久国产精品99精品国产| 欧美精品一区二区三区很污很色的| 国产黄色成人av| 亚洲人123区| 91精品一区二区三区在线观看| 美日韩一区二区| 国产亚洲自拍一区| 99热国产精品| 亚洲va欧美va天堂v国产综合| 欧美一级午夜免费电影| 成熟亚洲日本毛茸茸凸凹| 亚洲黄一区二区三区| 欧美精品99久久久**| 日本一区二区三区电影|