ffmpeg中的idct解码算法

sno_guo 2012-10-04 09:23:31
请问下 谁研究过ffmpeg中h264解码器的idct算法,我想请教下h264pred_template.c这个文件里的函数是怎么计算的,谢谢
我不明白的是:
他在idct的时候,为什么不是乘法运算,而是直接把数据依行或列的形式 累加上去呢,谢谢!
比如下面的函数:
static void FUNCC(pred4x4_vertical_add)(uint8_t *p_pix, const DCTELEM *p_block, int stride){
int i;
pixel *pix = (pixel*)p_pix;
const dctcoef *block = (const dctcoef*)p_block;
stride >>= sizeof(pixel)-1;
pix -= stride;
for(i=0; i<4; i++){
pixel v = pix[0];
pix[1*stride]= v += block[0]; //这里的操作就是把列的上一个数据+现在的数据等于结果,可是为什么这样操作呢,
pix[2*stride]= v += block[4];
pix[3*stride]= v += block[8];
pix[4*stride]= v + block[12];
pix++;
block++;
}
}
...全文
101 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

2,543

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧