Skip to main content

VAQMatrixBufferHEVC

Type Alias VAQMatrixBufferHEVC 

Source
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