x264(一)---cqm表的理解

来源:互联网 发布:知乎评论 编辑:程序博客网 时间:2024/05/18 11:25

好久没有更新博客了,最近在看一看x264代码,里面的好多细节的东西我想对于好多网友有可能还是很有参考价值的,这里简要列出一些,望有所帮助,

第一个主题是cqm表,这里引用转载来的一篇文章,我想可以很好的诠释一下~


x264 common/set.h static const uint8_t x264_cqm_jvt4i[16]  

2011-08-01 22:44:38|  分类: H264|字号 订阅

/*
 default quant matrices (默认量化?)
 这几个数组,写成下面的方块形式,看上去是以一个对角线对称的
 firstime在论坛上解释:就是自定义量化矩阵啊。跟 H.264 协议 200503 版表 7-3、7-4 的数字对照一下就明白了
 hai296 在论坛上解释 这是根据大量图像经过概率总结出来的最优的量化表,在标准中有明确的规定的
*/
static const uint8_t x264_cqm_jvt4i[16] =
{
      6,13,20,28,
     13,20,28,32,
     20,28,32,37,
     28,32,37,42
};

看到这个函数的时候,不知道是什么意思,在网上搜了也搜不到什么说明,后来在论坛上发了个帖问询,firstime给了个如上的解释,真是雪中送炭啊。

x264 common/set.h static const uint8_t x264_cqm_jvt4i[16] - 加菲 -  .

 一方面作为自己学习过程的一个记录,同时也防止以后遗忘,更对firstime的无私表示感谢,不敢独享,尽量的把过程记录全面一些。

 

x264 common/set.h static const uint8_t x264_cqm_jvt4i[16] - 加菲 -  .
 
可以看到,函数中故意把一个一维的数组写成一个4*4的矩形,用Z扫描,正好和表7-3里的第一行吻合。
我画的太粗糙了,我去装个ps,不过ps画线也很麻烦,呵呵,去试试。
 
本来想漂漂亮亮画个图,PS画图功能太弱了,呵呵,实在画不好个直线,凑合着看吧,也就我这种外行需要,要是有比我更外行的,QQ上说,呵呵,我的QQ:1023266328
 
x264 common/set.h static const uint8_t x264_cqm_jvt4i[16] - 加菲 -  .
 

原文出处:http://wmnmtm.blog.163.com/blog/static/38245714201171104438360/

原创粉丝点击