H.264句法和语法总结(七)加权预测句法

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

你可能感兴趣的:(table,h.264)