H.264句法和语法总结(七)加权预测句法
2017-01-17 10:02
337 查看
转载地址:
http://blog.csdn.net/tanningzhong/article/details/52415780
pred_weight_table( ) {
// luma_log2_weight_denom 给出参考帧列表中参考图像所有亮度的加权系数,是个初始值luma_log2_weight_denom
值的范围是 0 to 7。
luma_log2_weight_denom
// chroma_log2_weight_denom 给出参考帧列表中参考图像所有色度的加权系数,是个初始值chroma_log2_weight_denom
值的范围是 0 to 7。
chroma_log2_weight_denom
for( i = 0; i <= num_ref_idx_l0_active_minus1;
i++ ) {
// luma_weight_l0_flag 等于 1 时,指的是在参考序列 0 中的亮度的加权系数存在;等于 0 时,在参考序列 0
中的亮度的加权系数不存在。
luma_weight_l0_flag
if( luma_weight_l0_flag )
{
// luma_weight_l0[ i ] 用参考序列 0 预测亮度值时,所用的加权系数。如果 luma_weight_l0_flag
is = 0, luma_weight_l0[ i ] = pow(2, luma_log2_weight_denom )
luma_weight_l0[
i ]
// luma_offset_l0[ i ] 用参考序列 0 预测亮度值时,所用的加权系数的额外的偏移。luma_offset_l0[
i ] 值的范围–128 to 127。如果 luma_weight_l0_flag is = 0, luma_offset_l0[ i ] = 0
luma_offset_l0[
i ]
}
chroma_weight_l0_flag
if( chroma_weight_l0_flag )
for( j =0; j < 2; j++ ) {
chroma_weight_l0[
i ][ j ]
chroma_offset_l0[
i ][ j ]
}
}
if( slice_type
= = B )
for( i = 0; i <= num_ref_idx_l1_active_minus1;
i++ ) {
luma_weight_l1_flag
if( luma_weight_l1_flag )
{
luma_weight_l1[
i ]
luma_offset_l1[
i ]
}
chroma_weight_l1_flag
if( chroma_weight_l1_flag )
for( j = 0; j < 2; j++ ) {
chroma_weight_l1[
i ][ j ]
chroma_offset_l1[
i ][ j ]
}
}
}
http://blog.csdn.net/tanningzhong/article/details/52415780
pred_weight_table( ) {
// luma_log2_weight_denom 给出参考帧列表中参考图像所有亮度的加权系数,是个初始值luma_log2_weight_denom
值的范围是 0 to 7。
luma_log2_weight_denom
// chroma_log2_weight_denom 给出参考帧列表中参考图像所有色度的加权系数,是个初始值chroma_log2_weight_denom
值的范围是 0 to 7。
chroma_log2_weight_denom
for( i = 0; i <= num_ref_idx_l0_active_minus1;
i++ ) {
// luma_weight_l0_flag 等于 1 时,指的是在参考序列 0 中的亮度的加权系数存在;等于 0 时,在参考序列 0
中的亮度的加权系数不存在。
luma_weight_l0_flag
if( luma_weight_l0_flag )
{
// luma_weight_l0[ i ] 用参考序列 0 预测亮度值时,所用的加权系数。如果 luma_weight_l0_flag
is = 0, luma_weight_l0[ i ] = pow(2, luma_log2_weight_denom )
luma_weight_l0[
i ]
// luma_offset_l0[ i ] 用参考序列 0 预测亮度值时,所用的加权系数的额外的偏移。luma_offset_l0[
i ] 值的范围–128 to 127。如果 luma_weight_l0_flag is = 0, luma_offset_l0[ i ] = 0
luma_offset_l0[
i ]
}
chroma_weight_l0_flag
if( chroma_weight_l0_flag )
for( j =0; j < 2; j++ ) {
chroma_weight_l0[
i ][ j ]
chroma_offset_l0[
i ][ j ]
}
}
if( slice_type
= = B )
for( i = 0; i <= num_ref_idx_l1_active_minus1;
i++ ) {
luma_weight_l1_flag
if( luma_weight_l1_flag )
{
luma_weight_l1[
i ]
luma_offset_l1[
i ]
}
chroma_weight_l1_flag
if( chroma_weight_l1_flag )
for( j = 0; j < 2; j++ ) {
chroma_weight_l1[
i ][ j ]
chroma_offset_l1[
i ][ j ]
}
}
}
相关文章推荐
- 嵌套标签以及标签内容垂直水平居中
- 软负载均衡之haproxy(一)
- 使用slf4j或logback替换掉commons-logging
- HDU3363-Ice-sugar Gourd
- 将Mule ESB Http项目转换为Tomcat项目(1) 总论
- RabbitMQ各种交换机类型Exchange Types介绍
- 为什么要学习Go语言
- linux pc 桌面配置同步的设想
- iOS学习笔记-001.第一个程序初体验
- C# 调试动态库(DLL)
- nginx设置为系统服务
- PSNR和SSIM计算工具
- SSM整合XML版(Maven Project)
- 推荐一款github管理神器SourceTree
- NumPy 将一个数组分割(split)成几个小数组
- hibernate注解详解
- H.264句法和语法总结(六)参考帧队列重排序(reordering)句法
- 项目管理系统Collabtive
- 如何为Keepalived服务创建基于Rancher的Catalog
- 解决JBoss7部署应用时Not installing optional component org.springframework.web.context.request.async.Standar