05 2012 档案

5_29 率失真最优化解释
摘要:http://hi.baidu.com/vv1133/blog/item/d03a6723688b054dac34de2b.html源地址所谓率失真(distortion-rate),其实指的是图像失真度与编码码率二者之间的相互关系。其中的图像失真度,目前一般采用原始图像与编码重建图像之间的峰值性噪比PSNR来衡量,这个PSNR可以是亮度PSNR,也可以是亮度与色度PSNR的线性组合。一般最简单的情况下,采用亮度的PSNR(Y-PSNR)来作为主要衡量依据。其中所谓的峰值信号,即图像中像素的最大值(比方说像素亮度的最大值);其中所谓的噪声,指的是原始图像与重建图像中各像素值的均方差(差值的平方 阅读全文

posted @ 2012-05-29 16:56 hatreds 阅读(2200) 评论(0) 推荐(0)

5_9 __3 scan8分析
摘要:大体上将一个宏块的编码过程跟下来上面分析完事宏块位置问题,下面看一个宏块的编码过程。Macroblock.h中的一个编码过程h->dctf.sub4x4_dct(dct4x4,p_src,p_dst);//mutiplytwoparametermatrixnz=x264_quant_4x4(h,dct4x4,i_qp,ctx_cat_plane[DCT_LUMA_4x4][p],1,p,idx);h->mb.cache.non_zero_count[x264_scan8[p*16+idx]]=nz;if(nz){ h->mb.i_cbp_luma|=1<<(idx 阅读全文

posted @ 2012-05-09 14:39 hatreds 阅读(390) 评论(0) 推荐(0)

5_9 ___3 DCT
摘要:大体上将一个宏块的编码过程跟下来上面分析完事宏块位置问题,下面看一个宏块的编码过程。Macroblock.h中的一个编码过程h->dctf.sub4x4_dct(dct4x4,p_src,p_dst);//mutiplytwoparametermatrixnz=x264_quant_4x4(h,dct4x4,i_qp,ctx_cat_plane[DCT_LUMA_4x4][p],1,p,idx);h->mb.cache.non_zero_count[x264_scan8[p*16+idx]]=nz;if(nz){ h->mb.i_cbp_luma|=1<<(idx 阅读全文

posted @ 2012-05-09 14:04 hatreds 阅读(356) 评论(0) 推荐(0)

5_9 ___2 mc函数
摘要:同样追本朔源上面那个load里面有一个mc的拷贝函数这里进行分析x264_mc_init(h->param.cpu,&h->mc);//函数声明以及要找的函数mc_copy_w16是以宏定义方式来声明的voidx264_mc_init(intcpu,x264_mc_functions_t*pf)pf->copy[PIXEL_16x16]=mc_copy_w16;宏定义#defineMC_COPY(W)\staticvoidmc_copy_w##W(pixel*dst,intptr_ti_dst,pixel*src,intptr_ti_src,inti_height)\ 阅读全文

posted @ 2012-05-09 13:12 hatreds 阅读(230) 评论(0) 推荐(0)

5_9 代码分析 load_pic_pointers
摘要:#defineMB_INTERLACED0#defineCHROMA_V_SHIFT0staticvoidload_pic_pointers(intmb_x,intmb_y,intb_mbaff,intb_chroma){//就是对于场或者帧的一个设置标识符intmb_interlaced=b_mbaff&&MB_INTERLACED;//height=16宏块是亮度还是色度的 亮度就是16intheight=b_chroma?16>>CHROMA_V_SHIFT:16;//inti_stride=h->fdec->i_stride[i];经过boder 阅读全文

posted @ 2012-05-09 12:48 hatreds 阅读(336) 评论(0) 推荐(0)

5_8 ffmpeg参数
摘要:http://hi.baidu.com/hanyan_007/blog/item/5433b10f1160f5fa36d122d3.html1.Formatsshowavaliableformats可以使用的格式并且表明了多路复用一些问题2.Codecsshowavaiablecodecs可以使用的编解码器,对一些格式可能有的可以编码有的可以解码,这个参数就是介绍每种格式可以使用的编解码器。D只支持解码E只支持编码V可支持视频编解码A可支持音频编解码S字幕编解码SDT不明白Dsupportsdirectrenderingmethod1Tsupportsweirdframetruncation3 阅读全文

posted @ 2012-05-08 15:30 hatreds 阅读(415) 评论(0) 推荐(0)

5_4 calvc
摘要:Cavlc需要内容coeff_token编码非零系数的个数(totalcoeff)和trailingones(没个宏块一个)Trailing_ones_sign_flagtrailingone值得符号Level_prefix非零系数码字的第一部分(每个系数一个,除了trailingones)Level_suffix非零系数码字的第二部分(不总是存在)Total_zeros编码第一个非零系数后面发生的零的总数(按zigzag顺序)(每个块一个)Run_before编码每个非零系数前的零的个数,按照反zigzag顺序函数中对应代码最开始调用计算非零个数函数在x264_quant_init中初始化调 阅读全文

posted @ 2012-05-04 17:23 hatreds 阅读(243) 评论(0) 推荐(0)

5_4 编码重新总结
摘要:1.dct变换对象是MxN的图像块或残差块,其处理单位为块。简单说,两边同时乘以一个A然后将原本时域信号投射到频域信号(个人理解就是颜色变换的频率),频域信号中相关性比较小。这个过程完事之后就将原来的每个信号点变成了一系列的系数矩阵。在解码端如果直到A转置的话,将解码得到的系数矩阵重新乘以这个转置A就得到了原来的信号值(残差块或者图像块)。这样变换完系数矩阵后,主要的信息其实集中在DC系数,也就是最左上角那个,其他的信息由于相关性很强并不是很重要,所以可以某种程度上,丢弃一部分。下一步的量化就是讲系数矩阵中一部分值丢弃掉,通过一定的准则。下一步的量化就是讲系数矩阵一部分某种程度上的一种丢弃。这 阅读全文

posted @ 2012-05-04 17:22 hatreds 阅读(319) 评论(0) 推荐(0)

5_3 calvc
摘要:http://blog.csdn.net/sunshine1314/article/details/1685948前缀和后缀http://bbs.chinavideo.org/viewthread.php?tid=1057过程详解 还有拖尾http://www.chinavideo.org/viewthread.php?tid=1033bs编码过程http://hi.baidu.com/denglinglong/blog/item/5a4c7ea96cab3ef81e17a2f9.html代码http://www.chinavideo.org/viewthread.php?tid=14185& 阅读全文

posted @ 2012-05-03 17:34 hatreds 阅读(182) 评论(0) 推荐(0)

5_3 x264_slice_write 博客地址
摘要:两个局部变量i_mb_x,i_mb_y,全局的控制一个slice中的每个宏块的位置没有帧场自适应,所以初始化两个都为0在一个大的循环中While(1){/********************对于当前宏块编码完成*******************///对于两个变量进行更新然后进行写一个宏块的编码if(SLICE_MBAFF){i_mb_x+=i_mb_y&1;i_mb_y^=i_mb_x<h->mb.i_mb_width;}elsei_mb_x++;if(i_mb_x==h->mb.i_mb_width){i_mb_y++;i_mb_x=0;}}在while(1 阅读全文

posted @ 2012-05-03 17:30 hatreds 阅读(532) 评论(0) 推荐(0)

5_3 zig
摘要:最初调用位置h->zigzagf.scan_4x4(h->dct.luma4x4[p*16+idx],dct4x4);第一个参数就是个空的一维数组,第二个是4x4的宏块,经过dct和量化后的。目的就是为了将第二个数组中的内容线性的放入第一个数组Encoder_open中初始化通过参数分了帧和场主要先看帧progressivevoidx264_zigzag_init(intcpu,x264_zigzag_function_t*pf_progressive,x264_zigzag_function_t*pf_interlaced)pf_interlaced->scan_8x8=z 阅读全文

posted @ 2012-05-03 17:28 hatreds 阅读(497) 评论(0) 推荐(0)

5_2 实现过程中
摘要:1.别人的mbcmp函数讲解http://wangluohongren.wangluoliuxing.com/hongren-708672ad01010p4n.htm2.hardamard变换http://zh.wikipedia.org/wiki/%E9%98%BF%E8%BE%BE%E9%A9%AC%E5%8F%98%E6%8D%A2文档http://bbs.chinavideo.org/viewthread.php?tid=10602一个老版本注释4.scan8 ffmpeg 代码http://bbs.chinavideo.org/viewthread.php?tid=2310x264_ 阅读全文

posted @ 2012-05-02 17:39 hatreds 阅读(445) 评论(0) 推荐(0)