pub type VAIQMatrixBufferHEVC = _VAIQMatrixBufferHEVC;Expand description
\brief HEVC Inverse Quantization Matrix Buffer Structure
This structure is sent once per frame, and only when scaling_list_enabled_flag = 1. When sps_scaling_list_data_present_flag = 0, app still needs to send in this structure with default matrix values.
Matrix entries are in raster scan order which follows HEVC spec.
Aliased Type§
#[repr(C)]pub struct VAIQMatrixBufferHEVC {
pub ScalingList4x4: [[u8; 16]; 6],
pub ScalingList8x8: [[u8; 64]; 6],
pub ScalingList16x16: [[u8; 64]; 6],
pub ScalingList32x32: [[u8; 64]; 2],
pub ScalingListDC16x16: [u8; 6],
pub ScalingListDC32x32: [u8; 2],
pub va_reserved: [u32; 4],
}Fields§
§ScalingList4x4: [[u8; 16]; 6]\brief scaling lists, corresponds to same HEVC spec syntax element ScalingList[ i ][ MatrixID ][ j ].
\brief 4x4 scaling, correspongs i = 0, MatrixID is in the range of 0 to 5, inclusive. And j is in the range of 0 to 15, inclusive.
ScalingList8x8: [[u8; 64]; 6]\brief 8x8 scaling, correspongs i = 1, MatrixID is in the range of 0 to 5, inclusive. And j is in the range of 0 to 63, inclusive.
ScalingList16x16: [[u8; 64]; 6]\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.
ScalingList32x32: [[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.
ScalingListDC16x16: [u8; 6]\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.
ScalingListDC32x32: [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