ffmpeg中的idct解码算法
我不明白的是:
他在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++;
}
}
相关推荐
ffmpeg参数解释
ffmpeg编译时的命令详解 通用选项 • -L license • -h 帮助 • -fromats 显示可用的格式,编解码的,协议的... • -f fmt 强迫采用格式fmt • -I filename 输入文件 • -y 覆盖输出文件 • -t duration 设置纪录时间 hh:mm:ss[.xxx]格式的记录时间也支持 • -ss position 搜索到指定的时间 [-]hh:mm:ss[.xxx]的格式也支持 • -title string 设置标题 • -author string 设置作者 • -copyright string 设置版权 • -comment string 设置评论 • -target type 设置目标文件类型(vcd,svcd,dvd) 所有的格式选项(比特率,编解码以及缓冲区大小)自动设置,只需要输入如下的就可以了:ffmpeg -i myfile.avi -target vcd /tmp/vcd.mpg • -hq 激活高质量设置 • -itsoffset offset 设置以秒为基准的时间偏移,该选项影响所有后面的输入文件。该偏移被加到输入文件的时戳,定义一个正偏移意味着相应的流被延迟了 offset秒。 [-]hh:mm:ss[.xxx]的格式也支持
ffmpeg H264解码 版本2.2 源码及实现
ffmpeg H264 解码源码实现,包括ffmpeg 2.2版本所有代码;H264解码实现示例;及ffmpeg编译的sh脚本;
FFmpegH264 多线程 优化
提取FFmpeg中H264解码库的代码,支持多线程和MMX、SSE和AVX等优化。
ffmpeg参数解释--中文详细
开发人员:ffmpeg参数解释--中文详细
java使用FFmpeg合成视频和音频并获取视频中的音频等操作(实例代码详解)
主要介绍了java使用FFmpeg合成视频和音频并获取视频中的音频等操作,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下


多媒体/流媒体开发

