解决了输出JM编码AC系数和解码系数不一致的情况
来源:互联网 发布:主要的网络侦查技术 编辑:程序博客网 时间:2024/05/16 05:28
cbp一共6bit,高2bit表示cbpc(2:cb、cr中至少一个4x4块的AC系数不全为0;1:cb、cr中至少一个2x2的DC系数不全为0;0:所有色度系数全0)
低4bit分别表示4个8x8亮度块,其中从最低一位开始的4位分别对应00,10,01,11位置的8*8亮度块。如果某位为1,表示该对应8*8块的4个4*4块中至少有一个的系数不全为0。
ICBPTAB[0] = 0 (00 0000)表示既没有亮度系数,也没有色差系数
ICBPTAB[1] = 16 (01 0000)表示没有亮度系数,有色差直流系数(没有交流系数)
ICBPTAB[2] = 32 (10 0000)表示没有亮度系数,有色差交流系数(可能含有直流系数)
ICBPTAB[3] = 15 (00 1111)表示有亮度系数,没有色差系数
ICBPTAB[4] = 31 (01 1111)表示有亮度系数,有色差直流系数(没有交流系数)
ICBPTAB[5] = 47 (10 1111)表示有亮度系数,有色差交流系数(可能含有直流系数)
例如cbp=7 (00 0111) ,代表色度系数全0,四个8x8亮度块中,(1,1)位置的全为0
JM lencod 中
int writeCBPandLumaCoeff ()
上述代码中, if(cbp&(1<<i)) 的含义就是看第 i 个位置的8x8亮度块是否全是零,是的话就不用写编码了。
也就是有些宏块编码的子宏块数不一定都是16,可能是12个(少一个8x8),或者8个等等。所以enc_trace文件才会出现不是16个子宏块的情况。
今天终于解决一个大问题,多亏师兄的帮助!特此记录一下,等下整理一下代码上传,做备份,呵呵
- 解决了输出JM编码AC系数和解码系数不一致的情况
- DC系数和AC系数
- DC系数和AC系数
- DC系数和AC系数
- H.264的两个概念:DC系数和AC系数。 MV预测过程详解(附图)
- H.264的两个概念:DC系数和AC系数。 MV预测过程详解(附图)
- H.264的两个概念:DC系数和AC系数。 MV预测过程详解(附图)
- 图像中的DC和AC系数
- FLeiss Kappa系数和Kappa系数的Python实现
- JPEG 推荐的DC和AC系数的huffman(哈夫曼)码表
- 距离和相似系数
- Matlab 根据系数输出多项式
- 在JM8.6解码端提取DCT系数和残差并模拟验证itrans函数的功能
- 量化系数的数组
- 系数叠加的问题
- 电阻的温度系数
- 一元二次方程的系数
- 二项式的系数规律
- MTK中的tick时间相关函数(转)
- 求向量的最大子向量和
- php调试
- 基本 MDX 查询 ( MDX 语法 教程 )
- 计算机述语大全
- 解决了输出JM编码AC系数和解码系数不一致的情况
- interesting macro
- 捕捉鼠标停留WM_MOUSEHOVER和离开WM_MOUSELEAVE消息
- 逆向思维
- 学习与记忆
- ZOJ 3203 Light Bulb
- 煎饼问题(Pan Cake Problem)
- ComponentArt:ComboBox 绑定值的方法
- 程序员的笑话等