jm像素(当前帧-前一帧)

想实现一下其中的论文算法

算法是关于帧间预测,基本相邻帧间的相关性,在对当前帧进行预测时要用到前一帧的像素信息。所以要保存前一帧的各个块的像素值。
从inputfile读入的值先存在 p_Vid->imgData0中,再copy到 p_Vid->imgData
(p_Vid->imgData是当前待编码的帧(场)的原始像素);
image.c中,在把读入的像素copy到p_Vid->imgData之前,先把 p_Vid->imgData保存到 pre_image,这样就可以在编码当前帧时,使用前一帧各个块的像素值了。
(只保存了亮度值)
     imgpel *pre_image ;
     memcpy(pre_image,*p_Vid->imgData.frm_data [0],p_Vid->width *p_Vid->height *sizeof(imgpel));

当前帧的像素值在
  imgpel **cur_img = &currMB->p_Vid->pCurImg[currMB->pix_y];
当前块:
   imgpel curr_mb[16][16];
   int  x=currMB->pix_x;
   int  y=currMB->pix_y;

  for (j = 0; j < 16; j++)
  {
    memcpy(curr_mb[j],&cur_img[j][x], 16* sizeof(imgpel));
  }

另一种读当前帧所有像素的方法:
imgpel **curr_f = p_Vid->imgData0.frm_data [0]
其中:
**curr_f++      指向图像中下一行的起始位置的像素点
*(*curr_f)++   指向下一个像素点

你可能感兴趣的:(算法,image)