H.264句法和语法总结(十三)残差句法
2017-01-17 10:06
525 查看
转载地址:
http://blog.csdn.net/tanningzhong/article/details/52415854
residual( ) {
if( !entropy_coding_mode_flag )
residual_block = residual_block_cavlc
else
residual_block = residual_block_cabac
if( MbPartPredMode( mb_type, 0 ) = = Intra_16x16 )
residual_block( Intra16x16DCLevel, 16 )
for( i8x8 = 0; i8x8 < 4; i8x8++ ) /* each luma 8x8 block */
for( i4x4 = 0; i4x4 < 4; i4x4++ ) /* each 4x4 sub-block of block */
if( CodedBlockPatternLuma & ( 1 << i8x8 ) ) {
if( MbPartPredMode( mb_type, 0 ) = = Intra_16x16 )
residual_block( Intra16x16ACLevel[ i8x8 * 4 + i4x4 ], 15 )
else
residual_block( LumaLevel[ i8x8 * 4 + i4x4 ], 16 )
} else {
if( MbPartPredMode( mb_type, 0 ) = = Intra_16x16 )
for( i = 0; i < 15; i++ )
Intra16x16ACLevel[ i8x8 * 4 + i4x4 ][ i ] = 0
else
for( i = 0; i < 16; i++ )
LumaLevel[ i8x8 * 4 + i4x4 ][ i ] = 0
}
for( iCbCr = 0; iCbCr < 2; iCbCr++ )
if( CodedBlockPatternChroma & 3 ) /* chroma DC residual present */
residual_block( ChromaDCLevel[ iCbCr ], 4 )
else
for( i = 0; i < 4; i++ )
ChromaDCLevel[ iCbCr ][ i ] = 0
for( iCbCr = 0; iCbCr < 2; iCbCr++ )
for( i4x4 = 0; i4x4 < 4; i4x4++ )
if( CodedBlockPatternChroma & 2 )
/* chroma AC residual present */
residual_block( ChromaACLevel[ iCbCr ][ i4x4 ], 15 )
else
for( i = 0; i < 15; i++ )
ChromaACLevel[ iCbCr ][ i4x4 ][ i ] = 0
}
转载地址:
http://blog.csdn.net/tanningzhong/article/details/52415854
residual( ) {
if( !entropy_coding_mode_flag )
residual_block = residual_block_cavlc
else
residual_block = residual_block_cabac
if( MbPartPredMode( mb_type, 0 ) = = Intra_16x16 )
residual_block( Intra16x16DCLevel, 16 )
for( i8x8 = 0; i8x8 < 4; i8x8++ ) /* each luma 8x8 block */
for( i4x4 = 0; i4x4 < 4; i4x4++ ) /* each 4x4 sub-block of block */
if( CodedBlockPatternLuma & ( 1 << i8x8 ) ) {
if( MbPartPredMode( mb_type, 0 ) = = Intra_16x16 )
residual_block( Intra16x16ACLevel[ i8x8 * 4 + i4x4 ], 15 )
else
residual_block( LumaLevel[ i8x8 * 4 + i4x4 ], 16 )
} else {
if( MbPartPredMode( mb_type, 0 ) = = Intra_16x16 )
for( i = 0; i < 15; i++ )
Intra16x16ACLevel[ i8x8 * 4 + i4x4 ][ i ] = 0
else
for( i = 0; i < 16; i++ )
LumaLevel[ i8x8 * 4 + i4x4 ][ i ] = 0
}
for( iCbCr = 0; iCbCr < 2; iCbCr++ )
if( CodedBlockPatternChroma & 3 ) /* chroma DC residual present */
residual_block( ChromaDCLevel[ iCbCr ], 4 )
else
for( i = 0; i < 4; i++ )
ChromaDCLevel[ iCbCr ][ i ] = 0
for( iCbCr = 0; iCbCr < 2; iCbCr++ )
for( i4x4 = 0; i4x4 < 4; i4x4++ )
if( CodedBlockPatternChroma & 2 )
/* chroma AC residual present */
residual_block( ChromaACLevel[ iCbCr ][ i4x4 ], 15 )
else
for( i = 0; i < 15; i++ )
ChromaACLevel[ iCbCr ][ i4x4 ][ i ] = 0
}
相关文章推荐
- 去掉html标签和所有空格
- Ubuntu16.04 升级内核至4.8
- linux学前小结
- java中HashSet的add的使用,以及equals和hashcode的重写
- Fiddler自动响应AutoResponder正则匹配
- 【linux】Linux学习总结-套接字
- jboss7开发配置指南
- 算法库的重要性
- 详解通过Nginx部署Django(基于ubuntu)
- execute、executeUpdate、executeQuery三者的区别(及返回值)
- 查看linux ssh服务信息及运行状态
- Java正则表达式详解(Pattern类和Matcher类)
- log4j笔记
- asp.net 查询sql数据表的网页模板
- H.264句法和语法总结(十二)子宏块预测句法
- RecyclerView+index索引实现仿微信通讯录
- python基础教程之匿名函数lambda
- Kd-Tree算法原理和开源实现代码
- 剑指offer 二维数组中的查找
- php页面静态化