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 ]
}
}
}
// 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 ]
}
}
}