pub type VAQMatrixBufferHEVC = _VAQMatrixBufferHEVC;Expand description
\brief HEVC Quantization Matrix Buffer Structure
This structure is sent once per frame, and only when scaling_list_enabled_flag = 1 and scaling_list_data_present_flag = 1. Only when scaling_list_data_present_flag = 1, app still needs to send in this structure. When scaling_list_enabled_flag = 1 and scaling_list_data_present_flag = 0, driver is responsible to generate the default scaling list values.
Matrix entries are in raster scan order which follows HEVC spec.
Aliased Type§
#[repr(C)]pub struct VAQMatrixBufferHEVC {
pub scaling_lists_4x4: [[[u8; 16]; 2]; 3],
pub scaling_lists_8x8: [[[u8; 64]; 2]; 3],
pub scaling_lists_16x16: [[[u8; 64]; 2]; 3],
pub scaling_lists_32x32: [[u8; 64]; 2],
pub scaling_list_dc_16x16: [[u8; 2]; 3],
pub scaling_list_dc_32x32: [u8; 2],
pub va_reserved: [u32; 4],
}Fields§
§scaling_lists_4x4: [[[u8; 16]; 2]; 3]\brief scaling lists, corresponds to same HEVC spec syntax element ScalingList[ i ][ MatrixID ][ j ].
\brief 4x4 scaling,
scaling_lists_8x8: [[[u8; 64]; 2]; 3]\brief 8x8 scaling,
scaling_lists_16x16: [[[u8; 64]; 2]; 3]\brief 16x16 scaling, correspongs i = 2, MatrixID is in the range of 0 to 5, inclusive. And j is in the range of 0 to 63, inclusive.
scaling_lists_32x32: [[u8; 64]; 2]\brief 32x32 scaling, correspongs i = 3, MatrixID is in the range of 0 to 1, inclusive. And j is in the range of 0 to 63, inclusive.
scaling_list_dc_16x16: [[u8; 2]; 3]\brief DC values of the 16x16 scaling lists, corresponds to HEVC spec syntax scaling_list_dc_coef_minus8[ sizeID - 2 ][ matrixID ] + 8 with sizeID = 2 and matrixID in the range of 0 to 5, inclusive.
scaling_list_dc_32x32: [u8; 2]\brief DC values of the 32x32 scaling lists, corresponds to HEVC spec syntax scaling_list_dc_coef_minus8[ sizeID - 2 ][ matrixID ] + 8 with sizeID = 3 and matrixID in the range of 0 to 1, inclusive.
va_reserved: [u32; 4]\brief Reserved bytes for future use, must be zero