想实现一下其中的论文算法
算法是关于帧间预测,基本相邻帧间的相关性,在对当前帧进行预测时要用到前一帧的像素信息。所以要保存前一帧的各个块的像素值。
从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)++ 指向下一个像素点