#[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],
}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.
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
Trait Implementations§
Source§impl Clone for _VAQMatrixBufferHEVC
impl Clone for _VAQMatrixBufferHEVC
Source§fn clone(&self) -> _VAQMatrixBufferHEVC
fn clone(&self) -> _VAQMatrixBufferHEVC
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for _VAQMatrixBufferHEVC
Source§impl Debug for _VAQMatrixBufferHEVC
impl Debug for _VAQMatrixBufferHEVC
Source§impl Default for _VAQMatrixBufferHEVC
impl Default for _VAQMatrixBufferHEVC
impl Eq for _VAQMatrixBufferHEVC
Source§impl PartialEq for _VAQMatrixBufferHEVC
impl PartialEq for _VAQMatrixBufferHEVC
Source§fn eq(&self, other: &_VAQMatrixBufferHEVC) -> bool
fn eq(&self, other: &_VAQMatrixBufferHEVC) -> bool
self and other values to be equal, and is used by ==.