Skip to main content

Crate moq_vaapi

Crate moq_vaapi 

Source
Expand description

Implements a lightweight and safe interface over libva.

The starting point to using this crate is to open a Display, from which a Context and Surfaces can be allocated and used for doing actual work.

Re-exports§

pub use buffer::*;

Modules§

VAAV1TransformationType
VABufferType
VAConfigAttribType
VACopyObjectType
VADecodeErrorType
VADisplayAttribType
VAEncMiscParameterType
VAEncPackedHeaderType
VAEncPackedHeaderTypeAV1
VAEncPackedHeaderTypeH264
VAEncPackedHeaderTypeHEVC
VAEncPackedHeaderTypeMPEG2
VAEncPictureType
VAEncTransformationTypeAV1
VAEntrypoint
VAGenericValueType
VAProfile
VASurfaceAttribType
VASurfaceStatus
_bindgen_ty_1
bitstream_utils
buffer
Wrappers and helpers around VABuffers.
codec
encode
Thin VA-API H.264 encoder built on the vendored libva binding.

Structs§

Config
A configuration for a given Display.
Context
A VA context for a particular Display.
Display
A VADisplay opened over DRM.
DrmDeviceIterator
Iterates over existing DRM devices.
DrmPrimeSurfaceDescriptor
Safe wrapper around VADRMPRIMESurfaceDescriptor.
DrmPrimeSurfaceDescriptorLayer
Safe wrapper for the layers member of VADRMPRIMESurfaceDescriptor.
DrmPrimeSurfaceDescriptorObject
Safe wrapper for the object member of VADRMPRIMESurfaceDescriptor.
Image
Wrapper around VAImage that is tied to the lifetime of a given Picture.
Picture
A Surface that is being rendered into.
Resolution
A frame resolution in pixels. (Vendored from discord/cros-codecs, BSD-3-Clause.)
Surface
An owned VA surface that is tied to a particular Display.
SurfaceDecodeMBError
Decode error details extracted from VASurfaceDecodeMBErrors, result of vaQuerySurfaceError.
UsageHint
Gives the driver a hint of intended usage to optimize allocation (e.g. tiling).
VABufferInfo
\brief VA buffer information
VAConfigAttribValDecAV1Features__bindgen_ty_1
VAConfigAttribValEncHEVCBlockSizes__bindgen_ty_1
VAConfigAttribValEncHEVCFeatures__bindgen_ty_1
VADRMPRIMESurfaceDescriptorLayer
Description of each layer in the surface.
VADRMPRIMESurfaceDescriptorObject
Description of each object.
VARefFrameCtrlAV1__bindgen_ty_1
VaError
A VAStatus that is guaranteed to not be VA_STATUS_SUCCESS.
_VABlendState
\brief Video blending state definition.
_VABoolCoderContextVPX
\brief VPX Bool Coder Context structure
_VACodedBufferSegment
\brief Coded buffer segment.
_VACodedBufferVP9Status
\brief VP9 Encoding Status Data Buffer Structure
_VAConfigAttrib
Configuration attributes If there is more than one value for an attribute, a default value will be assigned to the attribute if the client does not specify the attribute when creating a configuration
_VAConfigAttribValDecJPEG__bindgen_ty_1
_VAConfigAttribValEncAV1Ext1__bindgen_ty_1
_VAConfigAttribValEncAV1Ext2__bindgen_ty_1
_VAConfigAttribValEncAV1__bindgen_ty_1
_VAConfigAttribValEncJPEG__bindgen_ty_1
_VAConfigAttribValEncVP9__bindgen_ty_1
_VACopyObject
_VACopyOption__bindgen_ty_1
_VADRMPRIME3SurfaceDescriptor
\brief External buffer descriptor for a DRM PRIME surface with flags
_VADRMPRIME3SurfaceDescriptor__bindgen_ty_1
Description of each object.
_VADRMPRIME3SurfaceDescriptor__bindgen_ty_2
Description of each layer in the surface.
_VADRMPRIMESurfaceDescriptor
\brief External buffer descriptor for a DRM PRIME surface.
_VADRMPRIMESurfaceDescriptor__bindgen_ty_1
Description of each object.
_VADRMPRIMESurfaceDescriptor__bindgen_ty_2
Description of each layer in the surface.
_VADecPictureParameterBufferAV1
\brief AV1 Decoding Picture Parameter Buffer Structure
_VADecPictureParameterBufferAV1__bindgen_ty_1__bindgen_ty_1
_VADecPictureParameterBufferAV1__bindgen_ty_2__bindgen_ty_1
_VADecPictureParameterBufferAV1__bindgen_ty_3__bindgen_ty_1
_VADecPictureParameterBufferAV1__bindgen_ty_4__bindgen_ty_1
_VADecPictureParameterBufferAV1__bindgen_ty_5__bindgen_ty_1
_VADecPictureParameterBufferAV1__bindgen_ty_6__bindgen_ty_1
_VADecPictureParameterBufferVP9
\brief VP9 Decoding Picture Parameter Buffer Structure
_VADecPictureParameterBufferVP9__bindgen_ty_1__bindgen_ty_1
_VADisplayAttribute
_VAEncFEICTBControlHEVC
\brief FEI CTB level control data structure
_VAEncFEIDistortionH264
\brief VAEncFEIDistortionH264 defines the data structure for VAEncFEIDistortionBufferType per 16x16 MB block. It is output buffer of ENC and ENC_PAK modes, The 16x16 block is in raster scan order. Buffer size shall not be less than the number of 16x16 blocks multiple by sizeof(VAEncFEIDistortionH264).
_VAEncFEIMBCodeH264
\brief VAEncFEIMBCodeH264 defines the data structure for VAEncFEIMBCodeBufferType per 16x16 MB block. it is output buffer of ENC and ENC_PAK modes, it’s also input buffer of PAK mode. The 16x16 block is in raster scan order. Buffer size shall not be less than the number of 16x16 blocks multiplied by sizeof(VAEncFEIMBCodeH264). Note that, when separate ENC and PAK is enabled, the exact layout of this buffer is needed for PAK input. App can reuse this buffer, or copy to a different buffer as PAK input, reserved elements must not be modified when used as PAK input.
_VAEncFEIMBCodeH264__bindgen_ty_1__bindgen_ty_1
_VAEncFEIMBCodeH264__bindgen_ty_1__bindgen_ty_2
_VAEncFEIMBControlH264
\brief FEI MB level control data structure
_VAEncFEIMVPredictorH264
\brief Application can use this definition as reference to allocate the buffer based on MaxNumPredictor returned from attribute VAConfigAttribFEIMVPredictors query.
_VAEncFEIMVPredictorH264__bindgen_ty_1
\brief Reference index corresponding to the entry of RefPicList0 & RefPicList1 in VAEncSliceParameterBufferH264. Note that RefPicList0 & RefPicList1 needs to be the same for all slices. ref_idx_l0_x : index to RefPicList0; ref_idx_l1_x : index to RefPicList1; x : 0 - MaxNumPredictor.
_VAEncFEIMVPredictorHEVC
\brief Application can use this definition as reference to allocate the buffer based on MaxNumPredictor returned from attribute VAConfigAttribFEIMVPredictors query. this buffer allocation is always based on 16x16 block even block size is indicated as 32x32 or 64x64, and buffer layout is always in 32x32 block raster scan order even block size is 16x16 or 64x64. If 32x32 block size is set, only the data in the first 16x16 block (block 0) is used for 32x32 block. If 64x64 block size is set MV layout is still in 32x32 raster scan order, the same as 32x32 and the first 16x16 block within each 32x32 block needs to have intended MV data (four 32x32 blocks will have the same MV data in the correspondent first 16x16 block). Data structure for each 16x16 block is defined as below (same as AVC except BlockSize/Reserved bits).
_VAEncFEIMVPredictorHEVC__bindgen_ty_1
\brief Feference index corresponding to the entry of RefPicList0 & RefPicList1 in slice header (final reference list). Note that RefPicList0 & RefPicList1 needs to be the same for all slices. Ref0xIndex – RefPicList0; Ref1xIndex – RefPicList1; x – 0 ~ MaxNumPredictor
_VAEncMBMapBufferVP8
\brief VP8 MB Segmentation ID Buffer
_VAEncMacroblockParameterBufferH264
\brief Macroblock parameter for H.264 encoding in baseline, main & high profiles.
_VAEncMacroblockParameterBufferH264__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1
_VAEncMacroblockParameterBufferH264__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1
_VAEncMiscParameterAIR
_VAEncMiscParameterBuffer
For application, e.g. set a new bitrate VABufferID buf_id; VAEncMiscParameterBuffer *misc_param; VAEncMiscParameterRateControl *misc_rate_ctrl;
_VAEncMiscParameterBufferDirtyRect
_VAEncMiscParameterBufferMaxFrameSize
\brief Defines a maximum frame size (in bits).
_VAEncMiscParameterBufferMultiPassFrameSize
\brief Maximum frame size (in bytes) settings for multiple pass.
_VAEncMiscParameterBufferQualityLevel
\brief Encoding quality level.
_VAEncMiscParameterBufferROI
_VAEncMiscParameterBufferROI__bindgen_ty_1__bindgen_ty_1
_VAEncMiscParameterCustomRoundingControl
\brief Custom Encoder Rounding Offset Control. Application may use this structure to set customized rounding offset parameters for quantization. Valid when \c VAConfigAttribCustomRoundingControl equals 1.
_VAEncMiscParameterCustomRoundingControl__bindgen_ty_1__bindgen_ty_1
_VAEncMiscParameterEncQuality
per frame encoder quality controls, once set they will persist for all future frames till it is updated again.
_VAEncMiscParameterEncQuality__bindgen_ty_1__bindgen_ty_1
_VAEncMiscParameterExtensionDataSeqDisplayMPEG2
_VAEncMiscParameterFEIFrameControlH264
\brief FEI frame level control buffer for H.264
_VAEncMiscParameterFEIFrameControlHEVC
\brief FEI frame level control buffer for HEVC
_VAEncMiscParameterFrameRate
Encode framerate parameters.
_VAEncMiscParameterFrameRate__bindgen_ty_1__bindgen_ty_1
_VAEncMiscParameterHRD
HRD / VBV buffering parameters for encoding.
_VAEncMiscParameterMaxSliceSize
Allow a maximum slice size to be specified (in bits). The encoder will attempt to make sure that individual slices do not exceed this size Or to signal applicate if the slice size exceed this size, see “status” of VACodedBufferSegment
_VAEncMiscParameterParallelRateControl
\brief Attribute value for VAConfigAttribEncParallelRateControl
_VAEncMiscParameterQuantization
\brief Quantization settings for encoding.
_VAEncMiscParameterQuantization__bindgen_ty_1__bindgen_ty_1
_VAEncMiscParameterRIR
_VAEncMiscParameterRIR__bindgen_ty_1__bindgen_ty_1
_VAEncMiscParameterRateControl
\brief Rate control parameters
_VAEncMiscParameterRateControl__bindgen_ty_1__bindgen_ty_1
_VAEncMiscParameterSkipFrame
\brief Encoding skip frame.
_VAEncMiscParameterSubMbPartPelH264
\brief MB partition modes and 1/2 1/4 motion search configuration
_VAEncMiscParameterSubMbPartPelH264__bindgen_ty_1__bindgen_ty_1
_VAEncMiscParameterTemporalLayerStructure
\brief Temporal layer Structure
_VAEncMiscParameterTypeVP9PerSegmantParam
Structure to convey all segment related information. If segmentation is disabled, this data structure is still required. In this case, only seg_data[0] contains valid data. This buffer is sent once per frame.
_VAEncPackedHeaderParameterBuffer
\brief Packed header parameter.
_VAEncPictureParameterBufferAV1
\brief AV1 Encoding Picture Parameter Buffer Structure.
_VAEncPictureParameterBufferAV1__bindgen_ty_1__bindgen_ty_1
_VAEncPictureParameterBufferAV1__bindgen_ty_2__bindgen_ty_1
_VAEncPictureParameterBufferAV1__bindgen_ty_3__bindgen_ty_1
_VAEncPictureParameterBufferAV1__bindgen_ty_4__bindgen_ty_1
_VAEncPictureParameterBufferAV1__bindgen_ty_5__bindgen_ty_1
_VAEncPictureParameterBufferAV1__bindgen_ty_6__bindgen_ty_1
_VAEncPictureParameterBufferH264
\brief Picture parameter for H.264 encoding in baseline, main & high profiles.
_VAEncPictureParameterBufferH264__bindgen_ty_1__bindgen_ty_1
_VAEncPictureParameterBufferHEVC
HEVC data structures / /** \brief Picture parameter for HEVC encoding in main & main 10 profiles.
_VAEncPictureParameterBufferHEVC__bindgen_ty_1__bindgen_ty_1
_VAEncPictureParameterBufferHEVC__bindgen_ty_2__bindgen_ty_1
_VAEncPictureParameterBufferJPEG
\brief JPEG Encoding Picture Parameter Buffer Structure
_VAEncPictureParameterBufferJPEG__bindgen_ty_1__bindgen_ty_1
_VAEncPictureParameterBufferMPEG2
\brief Picture parameter for MPEG-2 encoding
_VAEncPictureParameterBufferMPEG2__bindgen_ty_1__bindgen_ty_1
_VAEncPictureParameterBufferMPEG2__bindgen_ty_2__bindgen_ty_1
_VAEncPictureParameterBufferVP8
\brief VP8 Encoding Picture Parameter Buffer Structure
_VAEncPictureParameterBufferVP9
\brief VP9 Encoding Picture Parameter Buffer Structure
_VAEncPictureParameterBufferVP8__bindgen_ty_1__bindgen_ty_1
_VAEncPictureParameterBufferVP8__bindgen_ty_2__bindgen_ty_1
_VAEncPictureParameterBufferVP9__bindgen_ty_1__bindgen_ty_1
_VAEncPictureParameterBufferVP9__bindgen_ty_2__bindgen_ty_1
_VAEncQPBufferH264
_VAEncROI
\brief Encoding region-of-interest (ROI).
_VAEncSegMapBufferAV1
\brief Segment map data buffer.
_VAEncSegParamAV1
\brief Segment parameters
_VAEncSegParamAV1__bindgen_ty_1__bindgen_ty_1
_VAEncSegParamVP9
\brief Per segment parameters
_VAEncSegParamVP9__bindgen_ty_1__bindgen_ty_1
_VAEncSequenceParameterBufferAV1
\brief AV1 Encoding Sequence Parameter Buffer Structure.
_VAEncSequenceParameterBufferAV1__bindgen_ty_1__bindgen_ty_1
_VAEncSequenceParameterBufferH264
\brief Sequence parameter for H.264 encoding in baseline, main & high profiles.
_VAEncSequenceParameterBufferH264__bindgen_ty_1__bindgen_ty_1
_VAEncSequenceParameterBufferH264__bindgen_ty_2__bindgen_ty_1
_VAEncSequenceParameterBufferHEVC
\brief Sequence parameter for HEVC encoding in main & main 10 profiles.
_VAEncSequenceParameterBufferHEVC__bindgen_ty_1__bindgen_ty_1
_VAEncSequenceParameterBufferHEVC__bindgen_ty_2__bindgen_ty_1
_VAEncSequenceParameterBufferHEVC__bindgen_ty_3__bindgen_ty_1
_VAEncSequenceParameterBufferMPEG2
\brief Sequence parameter for MPEG-2 encoding
_VAEncSequenceParameterBufferMPEG2__bindgen_ty_1__bindgen_ty_1
_VAEncSequenceParameterBufferMPEG2__bindgen_ty_2__bindgen_ty_1
_VAEncSequenceParameterBufferVP8
\brief VP8 Encoding Sequence Parameter Buffer Structure
_VAEncSequenceParameterBufferVP9
\brief VP9 Encoding Sequence Parameter Buffer Structure
_VAEncSliceParameterBufferH264
\brief Slice parameter for H.264 encoding in baseline, main & high profiles.
_VAEncSliceParameterBufferHEVC
\brief Slice parameter for HEVC encoding in main & main 10 profiles.
_VAEncSliceParameterBufferHEVC__bindgen_ty_1__bindgen_ty_1
_VAEncSliceParameterBufferJPEG
\brief Slice parameter for JPEG encoding.
_VAEncSliceParameterBufferJPEG__bindgen_ty_1
_VAEncSliceParameterBufferMPEG2
\brief Slice parameter for MPEG-2 encoding
_VAEncTileGroupBufferAV1
\brief Tile Group Buffer.
_VAEncWarpedMotionParamsAV1
_VAFilmGrainStructAV1
\brief Film Grain Information
_VAFilmGrainStructAV1__bindgen_ty_1__bindgen_ty_1
_VAGenericValue
\brief Generic value.
_VAHdrMetaData
\brief High Dynamic Range Meta Data.
_VAHuffmanTableBufferJPEGBaseline
JPEG common data structures / /** \brief Huffman table for JPEG decoding.
_VAHuffmanTableBufferJPEGBaseline__bindgen_ty_1
\brief Huffman tables indexed by table identifier (Th).
_VAIQMatrixBufferH264
H.264 Inverse Quantization Matrix Buffer
_VAIQMatrixBufferHEVC
\brief HEVC Inverse Quantization Matrix Buffer Structure
_VAIQMatrixBufferJPEGBaseline
\brief Quantization table for JPEG decoding.
_VAIQMatrixBufferMPEG2
MPEG-2 Inverse Quantization Matrix Buffer
_VAIQMatrixBufferVP8
\brief VP8 Inverse Quantization Matrix Buffer Structure
_VAImage
_VAImageFormat
_VAMacroblockParameterBufferMPEG2
MPEG-2 Macroblock Parameter Buffer
_VAMacroblockParameterBufferMPEG2__bindgen_ty_1__bindgen_ty_1
_VAMotionVector
\brief Generic motion vector data structure.
_VAPictureH264
H.264/AVC data structures
_VAPictureHEVC
HEVC data structures / /** \brief Description of picture properties of those in DPB surfaces.
_VAPictureParameterBufferH264
H.264 Picture Parameter Buffer
_VAPictureParameterBufferH264__bindgen_ty_1__bindgen_ty_1
_VAPictureParameterBufferH264__bindgen_ty_2__bindgen_ty_1
_VAPictureParameterBufferHEVC
\brief HEVC Decoding Picture Parameter Buffer Structure
_VAPictureParameterBufferHEVCExtension
\brief HEVC Decoding Picture Parameter Buffer Structure including Extensions
_VAPictureParameterBufferHEVCRext
\brief HEVC Decoding Picture Parameter Buffer Structure for Range Extension
_VAPictureParameterBufferHEVCRext__bindgen_ty_1__bindgen_ty_1
_VAPictureParameterBufferHEVCScc
\brief HEVC Decoding Picture Parameter Buffer Structure for Screen Content extension
_VAPictureParameterBufferHEVCScc__bindgen_ty_1__bindgen_ty_1
_VAPictureParameterBufferHEVC__bindgen_ty_1__bindgen_ty_1
_VAPictureParameterBufferHEVC__bindgen_ty_2__bindgen_ty_1
_VAPictureParameterBufferJPEGBaseline
\brief Picture parameter for JPEG decoding.
_VAPictureParameterBufferJPEGBaseline__bindgen_ty_1
_VAPictureParameterBufferMPEG2
MPEG-2 data structures
_VAPictureParameterBufferMPEG2__bindgen_ty_1__bindgen_ty_1
_VAPictureParameterBufferVP8
\brief VP8 Decoding Picture Parameter Buffer Structure
_VAPictureParameterBufferVP8__bindgen_ty_1__bindgen_ty_1
_VAPictureStats
_VAProbabilityDataBufferVP8
\brief VP8 Coefficient Probability Data Buffer Structure
_VAProcColorProperties
_VAProcFilterCap
\brief Default filter cap specification (single range value).
_VAProcFilterCap3DLUT
\brief Capabilities specification for the 3DLUT filter.
_VAProcFilterCapColorBalance
\brief Capabilities specification for the color balance filter.
_VAProcFilterCapDeinterlacing
\brief Capabilities specification for the deinterlacing filter.
_VAProcFilterCapHighDynamicRange
\brief Capabilities specification for the High Dynamic Range filter.
_VAProcFilterCapTotalColorCorrection
\brief Capabilities specification for the Total Color Correction filter.
_VAProcFilterParameterBuffer
\brief Default filter parametrization.
_VAProcFilterParameterBuffer3DLUT
\brief 3DLUT filter parametrization.
_VAProcFilterParameterBufferBase
\brief Filter parameter buffer base.
_VAProcFilterParameterBufferColorBalance
\brief Color balance filter parametrization.
_VAProcFilterParameterBufferDeinterlacing
\brief Deinterlacing filter parametrization.
_VAProcFilterParameterBufferHDRToneMapping
\brief High Dynamic Range(HDR) Tone Mapping filter parametrization.
_VAProcFilterParameterBufferHVSNoiseReduction
\brief Human Vision System(HVS) Noise reduction filter parametrization.
_VAProcFilterParameterBufferTotalColorCorrection
\brief Total color correction filter parametrization.
_VAProcFilterValueRange
\brief Specification of values supported by the filter.
_VAProcPipelineCaps
\brief Video processing pipeline capabilities.
_VAProcPipelineParameterBuffer
\brief Video processing pipeline configuration.
_VAProcessingRateParameter
_VAProcessingRateParameterDec
Processing rate parameter for decode.
_VAProcessingRateParameterEnc
Processing rate parameter for encode.
_VAQMatrixBufferHEVC
\brief HEVC Quantization Matrix Buffer Structure
_VAQMatrixBufferJPEG
\brief Quantization table for JPEG encoding.
_VAQMatrixBufferVP8
\brief VP8 Quantization Matrix Buffer Structure
_VARectangle
\brief Structure to describe rectangle.
_VASegmentParameterVP9
\brief VP9 Segmentation Parameter Data Structure
_VASegmentParameterVP9__bindgen_ty_1__bindgen_ty_1
_VASegmentationStructAV1
\brief Segmentation Information
_VASegmentationStructAV1__bindgen_ty_1__bindgen_ty_1
_VASliceParameterBufferAV1
\brief AV1 Slice Parameter Buffer Structure
_VASliceParameterBufferH264
H.264 Slice Parameter Buffer
_VASliceParameterBufferHEVC
\brief HEVC Slice Parameter Buffer Structure For Long Format
_VASliceParameterBufferHEVCExtension
\brief HEVC Decoding Slice Parameter Buffer Structure For Long Format including Extensions
_VASliceParameterBufferHEVCRext
\brief HEVC Extented Slice Parameter Buffer Structure For Long Format
_VASliceParameterBufferHEVCRext__bindgen_ty_1__bindgen_ty_1
_VASliceParameterBufferHEVC__bindgen_ty_1__bindgen_ty_1
_VASliceParameterBufferJPEGBaseline
\brief Slice parameter for JPEG decoding.
_VASliceParameterBufferJPEGBaseline__bindgen_ty_1
_VASliceParameterBufferMPEG2
MPEG-2 Slice Parameter Buffer
_VASliceParameterBufferVP8
\brief VP8 Slice Parameter Buffer Structure
_VASliceParameterBufferVP9
\brief VP9 Slice Parameter Buffer Structure
_VAStatsStatisticsH264
\brief VAStatsStatisticsH264. H264 Statistics buffer layout for VAStatsStatisticsBufferType and VAStatsStatisticsBottomFieldBufferType(for interlaced only). Statistics output is per 16x16 block. Data structure per 16x16 block is defined below. The 16x16 block is in raster scan order. The buffer size shall be greater than or equal to the number of 16x16 blocks multiplied by sizeof(VAStatsStatisticsH264).
_VAStatsStatisticsParameter
\brief Motion Vector and Statistics frame level controls. common part VAStatsStatisticsParameterBufferType for a MB or CTB
_VAStatsStatisticsParameterH264
\brief Motion Vector and Statistics frame level controls. VAStatsStatisticsParameterBufferType for H264 16x16 block
_VASurfaceAttrib
\brief Surface attribute.
_VASurfaceAttribExternalBuffers
\brief VASurfaceAttribExternalBuffers structure for the VASurfaceAttribExternalBufferDescriptor attribute.
_VASurfaceDecodeMBErrors
Client calls vaQuerySurfaceError with VA_STATUS_ERROR_DECODING_ERROR, server side returns an array of structure VASurfaceDecodeMBErrors, and the array is terminated by setting status=-1
_VAWarpedMotionParamsAV1
__BindgenBitfieldUnit
__IncompleteArrayField

Enums§

DecodeErrorType
Decode error type aka VADecodeErrorType
GenericValue
A wrapper over VAGenericValue giving us safe access to the underlying union members.
GenericValueError
MemoryType
VA memory types, aka VA_SURFACE_ATTRIB_MEM_TYPE_*.
OpenDrmDisplayError
Error type for Display::open_drm_display.
PictureBegin
Represents a Picture after vaBeginPicture has been called.
PictureEnd
Represents a Picture after vaEndPicture has been called.
PictureNew
Represents a Picture that has just been created.
PictureRender
Represents a Picture after vaRenderPicture has been called.
PictureSync
Represents a Picture after vaSyncSurface has been called on the underlying surface.
QuerySurfaceAttributesError

Constants§

VA_3DLUT_CHANNEL_RGB_RGB
VA_3DLUT_CHANNEL_UNKNOWN
VA_3DLUT_CHANNEL_VUY_RGB
VA_3DLUT_CHANNEL_YUV_RGB
VA_ATTRIB_NOT_SUPPORTED
VA_AV1_MAX_SEGMENTS
VA_AV1_SEG_LVL_MAX
VA_BLEND_GLOBAL_ALPHA
VA_BLEND_LUMA_KEY
VA_BLEND_PREMULTIPLIED_ALPHA
VA_BOTTOM_FIELD
VA_BOTTOM_FIELD_FIRST
VA_CHROMA_SITING_HORIZONTAL_CENTER
VA_CHROMA_SITING_HORIZONTAL_LEFT
VA_CHROMA_SITING_UNKNOWN
VA_CHROMA_SITING_VERTICAL_BOTTOM
VA_CHROMA_SITING_VERTICAL_CENTER
VA_CHROMA_SITING_VERTICAL_TOP
VA_CLEAR_DRAWABLE
VA_CODED_BUF_STATUS_AIR_MB_OVER_THRESHOLD
VA_CODED_BUF_STATUS_BAD_BITSTREAM
VA_CODED_BUF_STATUS_BITRATE_HIGH
VA_CODED_BUF_STATUS_BITRATE_OVERFLOW
VA_CODED_BUF_STATUS_FRAME_SIZE_OVERFLOW
VA_CODED_BUF_STATUS_LARGE_SLICE_MASK
VA_CODED_BUF_STATUS_NUMBER_PASSES_MASK
VA_CODED_BUF_STATUS_PICTURE_AVE_QP_MASK
VA_CODED_BUF_STATUS_SINGLE_NALU
VA_CODED_BUF_STATUS_SLICE_OVERFLOW_MASK
VA_DEC_PROCESSING
VA_DEC_PROCESSING_NONE
VA_DEC_SLICE_MODE_BASE
VA_DEC_SLICE_MODE_NORMAL
VA_DEINTERLACING_BOTTOM_FIELD
VA_DEINTERLACING_BOTTOM_FIELD_FIRST
VA_DEINTERLACING_FMD_ENABLE
VA_DEINTERLACING_ONE_FIELD
VA_DEINTERLACING_SCD_ENABLE
VA_DISPLAY_ATTRIB_GETTABLE
VA_DISPLAY_ATTRIB_NOT_SUPPORTED
VA_DISPLAY_ATTRIB_SETTABLE
VA_ENABLE_BLEND
VA_ENCRYPTION_TYPE_FULLSAMPLE_CBC
VA_ENCRYPTION_TYPE_FULLSAMPLE_CTR
VA_ENCRYPTION_TYPE_SUBSAMPLE_CBC
VA_ENCRYPTION_TYPE_SUBSAMPLE_CTR
VA_ENC_INTERLACED_FIELD
VA_ENC_INTERLACED_FRAME
VA_ENC_INTERLACED_MBAFF
VA_ENC_INTERLACED_NONE
VA_ENC_INTERLACED_PAFF
VA_ENC_INTRA_REFRESH_ADAPTIVE
VA_ENC_INTRA_REFRESH_B_FRAME
VA_ENC_INTRA_REFRESH_CYCLIC
VA_ENC_INTRA_REFRESH_MULTI_REF
VA_ENC_INTRA_REFRESH_NONE
VA_ENC_INTRA_REFRESH_P_FRAME
VA_ENC_INTRA_REFRESH_ROLLING_COLUMN
VA_ENC_INTRA_REFRESH_ROLLING_ROW
VA_ENC_PACKED_HEADER_MISC
VA_ENC_PACKED_HEADER_NONE
VA_ENC_PACKED_HEADER_PICTURE
VA_ENC_PACKED_HEADER_RAW_DATA
VA_ENC_PACKED_HEADER_SEQUENCE
VA_ENC_PACKED_HEADER_SLICE
VA_ENC_QUANTIZATION_NONE
VA_ENC_QUANTIZATION_TRELLIS_SUPPORTED
VA_ENC_SLICE_STRUCTURE_ARBITRARY_MACROBLOCKS
VA_ENC_SLICE_STRUCTURE_ARBITRARY_ROWS
VA_ENC_SLICE_STRUCTURE_EQUAL_MULTI_ROWS
VA_ENC_SLICE_STRUCTURE_EQUAL_ROWS
VA_ENC_SLICE_STRUCTURE_MAX_SLICE_SIZE
VA_ENC_SLICE_STRUCTURE_POWER_OF_TWO_ROWS
VA_EXEC_ASYNC
VA_EXEC_MODE_DEFAULT
VA_EXEC_MODE_PERFORMANCE
VA_EXEC_MODE_POWER_SAVING
VA_EXEC_SYNC
VA_EXPORT_SURFACE_COMPOSED_LAYERS
VA_EXPORT_SURFACE_READ_ONLY
VA_EXPORT_SURFACE_READ_WRITE
VA_EXPORT_SURFACE_SEPARATE_LAYERS
VA_EXPORT_SURFACE_WRITE_ONLY
VA_FEATURE_NOT_SUPPORTED
VA_FEATURE_REQUIRED
VA_FEATURE_SUPPORTED
VA_FEI_FUNCTION_ENC
VA_FEI_FUNCTION_ENC_PAK
VA_FEI_FUNCTION_PAK
VA_FILTER_INTERPOLATION_ADVANCED
VA_FILTER_INTERPOLATION_BILINEAR
VA_FILTER_INTERPOLATION_DEFAULT
VA_FILTER_INTERPOLATION_MASK
VA_FILTER_INTERPOLATION_NEAREST_NEIGHBOR
VA_FILTER_SCALING_DEFAULT
VA_FILTER_SCALING_FAST
VA_FILTER_SCALING_HQ
VA_FILTER_SCALING_MASK
VA_FILTER_SCALING_NL_ANAMORPHIC
VA_FOURCC_411P
VA_FOURCC_411R
VA_FOURCC_422H
VA_FOURCC_422V
VA_FOURCC_444P
VA_FOURCC_A2B10G10R10
VA_FOURCC_A2R10G10B10
VA_FOURCC_ABGR
VA_FOURCC_ABGR64
VA_FOURCC_AI44
VA_FOURCC_ARGB
VA_FOURCC_ARGB64
VA_FOURCC_AYUV
VA_FOURCC_BGR565
VA_FOURCC_BGRA
VA_FOURCC_BGRP
VA_FOURCC_BGRX
VA_FOURCC_I010
VA_FOURCC_I420
VA_FOURCC_IMC3
VA_FOURCC_IYUV
VA_FOURCC_NV11
VA_FOURCC_NV12
VA_FOURCC_NV21
VA_FOURCC_P010
VA_FOURCC_P012
VA_FOURCC_P016
VA_FOURCC_P208
VA_FOURCC_Q416
VA_FOURCC_RGB565
VA_FOURCC_RGBA
VA_FOURCC_RGBP
VA_FOURCC_RGBX
VA_FOURCC_UYVY
VA_FOURCC_VYUY
VA_FOURCC_X2B10G10R10
VA_FOURCC_X2R10G10B10
VA_FOURCC_XBGR
VA_FOURCC_XRGB
VA_FOURCC_XYUV
VA_FOURCC_Y8
VA_FOURCC_Y16
VA_FOURCC_Y210
VA_FOURCC_Y212
VA_FOURCC_Y216
VA_FOURCC_Y410
VA_FOURCC_Y412
VA_FOURCC_Y416
VA_FOURCC_Y800
VA_FOURCC_YUY2
VA_FOURCC_YV12
VA_FOURCC_YV16
VA_FOURCC_YV24
VA_FOURCC_YV32
VA_FOURCC_YVYU
VA_FRAME_PICTURE
VA_INVALID_ID
VA_INVALID_SURFACE
VA_LSB_FIRST
VA_MAJOR_VERSION
VA_MAPBUFFER_FLAG_DEFAULT
VA_MAPBUFFER_FLAG_READ
VA_MAPBUFFER_FLAG_WRITE
VA_MB_PRED_AVAIL_LEFT
VA_MB_PRED_AVAIL_TOP
VA_MB_PRED_AVAIL_TOP_LEFT
VA_MB_PRED_AVAIL_TOP_RIGHT
VA_MB_TYPE_MOTION_BACKWARD
VA_MB_TYPE_MOTION_FORWARD
VA_MB_TYPE_MOTION_INTRA
VA_MB_TYPE_MOTION_PATTERN
VA_MICRO_VERSION
VA_MINOR_VERSION
VA_MIRROR_HORIZONTAL
VA_MIRROR_NONE
VA_MIRROR_VERTICAL
VA_MSB_FIRST
VA_OOL_DEBLOCKING_FALSE
VA_OOL_DEBLOCKING_TRUE
VA_PADDING_HIGH
VA_PADDING_LARGE
VA_PADDING_LOW
VA_PADDING_MEDIUM
VA_PC_BLOCK_SIZE_128
VA_PC_BLOCK_SIZE_192
VA_PC_BLOCK_SIZE_256
VA_PC_CIPHER_AES
VA_PC_CIPHER_MODE_CBC
VA_PC_CIPHER_MODE_CTR
VA_PC_CIPHER_MODE_ECB
VA_PC_SAMPLE_TYPE_FULLSAMPLE
VA_PC_SAMPLE_TYPE_SUBSAMPLE
VA_PC_USAGE_DEFAULT
VA_PC_USAGE_WIDEVINE
VA_PICTURE_H264_BOTTOM_FIELD
VA_PICTURE_H264_INVALID
VA_PICTURE_H264_LONG_TERM_REFERENCE
VA_PICTURE_H264_SHORT_TERM_REFERENCE
VA_PICTURE_H264_TOP_FIELD
VA_PICTURE_HEVC_BOTTOM_FIELD
VA_PICTURE_HEVC_FIELD_PIC
VA_PICTURE_HEVC_INVALID
VA_PICTURE_HEVC_LONG_TERM_REFERENCE
VA_PICTURE_HEVC_RPS_LT_CURR
VA_PICTURE_HEVC_RPS_ST_CURR_AFTER
VA_PICTURE_HEVC_RPS_ST_CURR_BEFORE
VA_PICTURE_STATS_BOTTOM_FIELD
VA_PICTURE_STATS_CONTENT_UPDATED
VA_PICTURE_STATS_INVALID
VA_PICTURE_STATS_PROGRESSIVE
VA_PICTURE_STATS_TOP_FIELD
VA_PICTURE_VVC_INVALID
VA_PICTURE_VVC_LONG_TERM_REFERENCE
VA_PICTURE_VVC_UNAVAILABLE_REFERENCE
VA_PIPELINE_FLAG_END
VA_PREDICTION_DIRECTION_BI_NOT_EMPTY
VA_PREDICTION_DIRECTION_FUTURE
VA_PREDICTION_DIRECTION_PREVIOUS
VA_PROCESSING_RATE_DECODE
VA_PROCESSING_RATE_ENCODE
VA_PROCESSING_RATE_NONE
VA_PROC_FILTER_MANDATORY
VA_PROC_HVS_DENOISE_AUTO_BDRATE
VA_PROC_HVS_DENOISE_AUTO_SUBJECTIVE
VA_PROC_HVS_DENOISE_DEFAULT
VA_PROC_HVS_DENOISE_MANUAL
VA_PROC_PIPELINE_FAST
VA_PROC_PIPELINE_SUBPICTURES
VA_PROGRESSIVE
VA_RC_AVBR
VA_RC_CBR
VA_RC_CFS
VA_RC_CQP
VA_RC_ICQ
VA_RC_MB
VA_RC_NONE
VA_RC_PARALLEL
VA_RC_QVBR
VA_RC_TCBRC
VA_RC_VBR
VA_RC_VBR_CONSTRAINED
VA_RC_VCM
VA_RENDER_DEVICE_EXTERNAL
VA_RENDER_DEVICE_LOCAL
VA_RENDER_DEVICE_UNDEFINED
VA_RENDER_MODE_EXTERNAL_GPU
VA_RENDER_MODE_EXTERNAL_OVERLAY
VA_RENDER_MODE_LOCAL_GPU
VA_RENDER_MODE_LOCAL_OVERLAY
VA_RENDER_MODE_UNDEFINED
VA_ROTATION_90
VA_ROTATION_180
VA_ROTATION_270
VA_ROTATION_NONE
VA_RT_FORMAT_PROTECTED
VA_RT_FORMAT_RGB16
VA_RT_FORMAT_RGB32
VA_RT_FORMAT_RGB32_10
VA_RT_FORMAT_RGB32_10BPP
VA_RT_FORMAT_RGBP
VA_RT_FORMAT_YUV400
VA_RT_FORMAT_YUV411
VA_RT_FORMAT_YUV420
VA_RT_FORMAT_YUV422
VA_RT_FORMAT_YUV444
VA_RT_FORMAT_YUV420_10
VA_RT_FORMAT_YUV420_12
VA_RT_FORMAT_YUV420_10BPP
VA_RT_FORMAT_YUV422_10
VA_RT_FORMAT_YUV422_12
VA_RT_FORMAT_YUV444_10
VA_RT_FORMAT_YUV444_12
VA_SEGID_BLOCK_8X8
VA_SEGID_BLOCK_16X16
VA_SEGID_BLOCK_32X32
VA_SEGID_BLOCK_64X64
VA_SLICE_DATA_FLAG_ALL
VA_SLICE_DATA_FLAG_BEGIN
VA_SLICE_DATA_FLAG_END
VA_SLICE_DATA_FLAG_MIDDLE
VA_SOURCE_RANGE_FULL
VA_SOURCE_RANGE_REDUCED
VA_SOURCE_RANGE_UNKNOWN
VA_SRC_BT601
VA_SRC_BT709
VA_SRC_COLOR_MASK
VA_SRC_SMPTE_240
VA_STATUS_ERROR_ALLOCATION_FAILED
VA_STATUS_ERROR_ATTR_NOT_SUPPORTED
VA_STATUS_ERROR_DECODING_ERROR
VA_STATUS_ERROR_ENCODING_ERROR
VA_STATUS_ERROR_FLAG_NOT_SUPPORTED
VA_STATUS_ERROR_HW_BUSY
VA_STATUS_ERROR_INVALID_BUFFER
VA_STATUS_ERROR_INVALID_CONFIG
VA_STATUS_ERROR_INVALID_CONTEXT
VA_STATUS_ERROR_INVALID_DISPLAY
VA_STATUS_ERROR_INVALID_FILTER_CHAIN
VA_STATUS_ERROR_INVALID_IMAGE
VA_STATUS_ERROR_INVALID_IMAGE_FORMAT
VA_STATUS_ERROR_INVALID_PARAMETER
VA_STATUS_ERROR_INVALID_SUBPICTURE
VA_STATUS_ERROR_INVALID_SURFACE
VA_STATUS_ERROR_INVALID_VALUE
VA_STATUS_ERROR_MAX_NUM_EXCEEDED
VA_STATUS_ERROR_NOT_ENOUGH_BUFFER
VA_STATUS_ERROR_OPERATION_FAILED
VA_STATUS_ERROR_RESOLUTION_NOT_SUPPORTED
VA_STATUS_ERROR_SURFACE_BUSY
VA_STATUS_ERROR_SURFACE_IN_DISPLAYING
VA_STATUS_ERROR_TIMEDOUT
VA_STATUS_ERROR_UNIMPLEMENTED
VA_STATUS_ERROR_UNKNOWN
VA_STATUS_ERROR_UNSUPPORTED_BUFFERTYPE
VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT
VA_STATUS_ERROR_UNSUPPORTED_FILTER
VA_STATUS_ERROR_UNSUPPORTED_MEMORY_TYPE
VA_STATUS_ERROR_UNSUPPORTED_PROFILE
VA_STATUS_ERROR_UNSUPPORTED_RT_FORMAT
VA_STATUS_SUCCESS
VA_SUBPICTURE_CHROMA_KEYING
VA_SUBPICTURE_DESTINATION_IS_SCREEN_COORD
VA_SUBPICTURE_GLOBAL_ALPHA
VA_SURFACE_ATTRIB_GETTABLE
VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME
VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME_2
VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME_3
VA_SURFACE_ATTRIB_MEM_TYPE_KERNEL_DRM
VA_SURFACE_ATTRIB_MEM_TYPE_USER_PTR
VA_SURFACE_ATTRIB_MEM_TYPE_V4L2
VA_SURFACE_ATTRIB_MEM_TYPE_VA
VA_SURFACE_ATTRIB_NOT_SUPPORTED
VA_SURFACE_ATTRIB_SETTABLE
VA_SURFACE_ATTRIB_USAGE_HINT_DECODER
VA_SURFACE_ATTRIB_USAGE_HINT_DISPLAY
VA_SURFACE_ATTRIB_USAGE_HINT_ENCODER
VA_SURFACE_ATTRIB_USAGE_HINT_EXPORT
VA_SURFACE_ATTRIB_USAGE_HINT_GENERIC
VA_SURFACE_ATTRIB_USAGE_HINT_VPP_READ
VA_SURFACE_ATTRIB_USAGE_HINT_VPP_WRITE
VA_SURFACE_EXTBUF_DESC_CACHED
VA_SURFACE_EXTBUF_DESC_ENABLE_TILING
VA_SURFACE_EXTBUF_DESC_PROTECTED
VA_SURFACE_EXTBUF_DESC_UNCACHED
VA_SURFACE_EXTBUF_DESC_WC
VA_TIMEOUT_INFINITE
VA_TONE_MAPPING_HDR_TO_EDR
VA_TONE_MAPPING_HDR_TO_HDR
VA_TONE_MAPPING_HDR_TO_SDR
VA_TONE_MAPPING_SDR_TO_HDR
VA_TOP_FIELD
VA_TOP_FIELD_FIRST
VA_VERSION_HEX
VA_VERSION_S
_VAProcColorBalanceType_VAProcColorBalanceAutoBrightness
\brief Automatically adjusted brightness.
_VAProcColorBalanceType_VAProcColorBalanceAutoContrast
\brief Automatically adjusted contrast.
_VAProcColorBalanceType_VAProcColorBalanceAutoSaturation
\brief Automatically adjusted saturation.
_VAProcColorBalanceType_VAProcColorBalanceBrightness
\brief Brightness.
_VAProcColorBalanceType_VAProcColorBalanceContrast
\brief Contrast.
_VAProcColorBalanceType_VAProcColorBalanceCount
\brief Number of color balance attributes.
_VAProcColorBalanceType_VAProcColorBalanceHue
\brief Hue.
_VAProcColorBalanceType_VAProcColorBalanceNone
_VAProcColorBalanceType_VAProcColorBalanceSaturation
\brief Saturation.
_VAProcColorStandardType_VAProcColorStandardBT601
\brief ITU-R BT.601.
_VAProcColorStandardType_VAProcColorStandardBT709
\brief ITU-R BT.709.
_VAProcColorStandardType_VAProcColorStandardBT470BG
\brief ITU-R BT.470-2 System B, G.
_VAProcColorStandardType_VAProcColorStandardBT470M
\brief ITU-R BT.470-2 System M.
_VAProcColorStandardType_VAProcColorStandardBT2020
\brief ITU-R BT.2020.
_VAProcColorStandardType_VAProcColorStandardCount
\brief Number of color standards.
_VAProcColorStandardType_VAProcColorStandardExplicit
\brief Explicitly specified color properties.
_VAProcColorStandardType_VAProcColorStandardGenericFilm
\brief Generic film.
_VAProcColorStandardType_VAProcColorStandardNone
_VAProcColorStandardType_VAProcColorStandardSMPTE170M
\brief SMPTE-170M.
_VAProcColorStandardType_VAProcColorStandardSMPTE240M
\brief SMPTE-240M.
_VAProcColorStandardType_VAProcColorStandardSRGB
\brief sRGB.
_VAProcColorStandardType_VAProcColorStandardSTRGB
\brief stRGB.
_VAProcColorStandardType_VAProcColorStandardXVYCC601
\brief xvYCC601.
_VAProcColorStandardType_VAProcColorStandardXVYCC709
\brief xvYCC709.
_VAProcDeinterlacingType_VAProcDeinterlacingBob
\brief Bob deinterlacing algorithm.
_VAProcDeinterlacingType_VAProcDeinterlacingCount
\brief Number of deinterlacing algorithms.
_VAProcDeinterlacingType_VAProcDeinterlacingMotionAdaptive
\brief Motion adaptive deinterlacing algorithm.
_VAProcDeinterlacingType_VAProcDeinterlacingMotionCompensated
\brief Motion compensated deinterlacing algorithm.
_VAProcDeinterlacingType_VAProcDeinterlacingNone
_VAProcDeinterlacingType_VAProcDeinterlacingWeave
\brief Weave deinterlacing algorithm.
_VAProcFilterType_VAProcFilter3DLUT
\brief Three-Dimensional Look Up Table (3DLUT).
_VAProcFilterType_VAProcFilterColorBalance
\brief Color balance parameters.
_VAProcFilterType_VAProcFilterCount
\brief Number of video filters.
_VAProcFilterType_VAProcFilterDeinterlacing
\brief Deinterlacing filter.
_VAProcFilterType_VAProcFilterHVSNoiseReduction
\brief Human Vision System(HVS) Noise reduction filter.
_VAProcFilterType_VAProcFilterHighDynamicRangeToneMapping
\brief High Dynamic Range Tone Mapping.
_VAProcFilterType_VAProcFilterNoiseReduction
\brief Noise reduction filter.
_VAProcFilterType_VAProcFilterNone
_VAProcFilterType_VAProcFilterSharpening
\brief Sharpening filter.
_VAProcFilterType_VAProcFilterSkinToneEnhancement
\brief Skin Tone Enhancement.
_VAProcFilterType_VAProcFilterTotalColorCorrection
\brief Total Color Correction.
_VAProcHighDynamicRangeMetadataType_VAProcHighDynamicRangeMetadataHDR10
\brief Metadata type for HDR10.
_VAProcHighDynamicRangeMetadataType_VAProcHighDynamicRangeMetadataNone
_VAProcHighDynamicRangeMetadataType_VAProcHighDynamicRangeMetadataTypeCount
\brief Number of Metadata type.
_VAProcMode_VAProcDefaultMode
\brief Default Mode. In this mode, pipeline is decided in driver to the appropriate mode. e.g. a mode that’s a balance between power and performance.
_VAProcMode_VAProcPerformanceMode
\brief Performance Mode. In this mode, pipeline is optimized for performance.
_VAProcMode_VAProcPowerSavingMode
\brief Power Saving Mode. In this mode, pipeline is optimized for power saving.
_VAProcTotalColorCorrectionType_VAProcTotalColorCorrectionBlue
\brief Blue Saturation.
_VAProcTotalColorCorrectionType_VAProcTotalColorCorrectionCount
\brief Number of color correction attributes.
_VAProcTotalColorCorrectionType_VAProcTotalColorCorrectionCyan
\brief Cyan Saturation.
_VAProcTotalColorCorrectionType_VAProcTotalColorCorrectionGreen
\brief Green Saturation.
_VAProcTotalColorCorrectionType_VAProcTotalColorCorrectionMagenta
\brief Magenta Saturation.
_VAProcTotalColorCorrectionType_VAProcTotalColorCorrectionNone
_VAProcTotalColorCorrectionType_VAProcTotalColorCorrectionRed
\brief Red Saturation.
_VAProcTotalColorCorrectionType_VAProcTotalColorCorrectionYellow
\brief Yellow Saturation.

Traits§

ExternalBufferDescriptor
Trait allowing to import an external memory source to use with a surface by setting the VASurfaceAttribMemoryType and VASurfaceAttribExternalBuffers attributes.
PictureReclaimableSurface
Represents a state where one can reclaim the underlying Surface for this Picture. This is true when either no decoding has been initiated or, alternatively, when the decoding operation has completed for the underlying vaSurface
PictureState
A Picture will only have valid YUV data after a sequence of operations are performed in a particular order. This order correspond to the following VA-API calls: vaBeginPicture, vaRenderPicture, vaEndPicture and vaSyncSurface. This trait enforces this ordering by implementing the Typestate pattern to constrain what operations are available in what particular states.
SurfaceExternalDescriptor
Trait for types that can be used as a VASurfaceAttribExternalBufferDescriptor.
SurfaceMemoryDescriptor
Trait describing a memory backing for surfaces.

Functions§

vaAcquireBufferHandle
\brief Acquires buffer handle for external API usage
vaAssociateSubpicture
vaAssociateSubpicture associates the subpicture with target_surfaces. It defines the region mapping between the subpicture and the target surfaces through source and destination rectangles (with the same width and height). Both will be displayed at the next call to vaPutSurface. Additional associations before the call to vaPutSurface simply overrides the association.
vaAttachProtectedSession
\brief Attach a protected content session to VA context
vaBeginPicture
Get ready for a video pipeline
vaBufferSetNumElements
Convey to the server how many valid elements are in the buffer. e.g. if multiple slice parameters are being held in a single buffer, this will communicate to the server the number of slice parameters that are valid in the buffer.
vaCopy
\brief Copies an object.
vaCreateBuffer
Creates a buffer for “num_elements” elements of “size” bytes and initalize with “data”. if “data” is null, then the contents of the buffer data store are undefined. Basically there are two ways to get buffer data to the server side. One is to call vaCreateBuffer() with a non-null “data”, which results the data being copied to the data store on the server side. A different method that eliminates this copy is to pass null as “data” when calling vaCreateBuffer(), and then use vaMapBuffer() to map the data store from the server side to the client address space for access. The user must call vaDestroyBuffer() to destroy a buffer. Note: image buffers are created by the library, not the client. Please see vaCreateImage on how image buffers are managed.
vaCreateBuffer2
Create a buffer for given width & height get unit_size, pitch, buf_id for 2D buffer for permb qp buffer, it will return unit_size for one MB or LCU and the pitch for alignments can call vaMapBuffer with this Buffer ID to get virtual address. e.g. AVC 1080P encode, 1920x1088, the size in MB is 120x68,but inside driver, maybe it should align with 256, and one byte present one Qp.so, call the function. then get unit_size = 1, pitch = 256. call vaMapBuffer to get the virtual address (pBuf). then read write the memory like 2D. the size is 256x68, application can only use 120x68 pBuf + 256 is the start of next line. different driver implementation maybe return different unit_size and pitch
vaCreateConfig
Create a configuration for the video decode/encode/processing pipeline it passes in the attribute list that specifies the attributes it cares about, with the rest taking default values.
vaCreateContext
vaCreateContext - Create a context dpy: display config_id: configuration for the context picture_width: coded picture width picture_height: coded picture height flag: any combination of the following: VA_PROGRESSIVE (only progressive frame pictures in the sequence when set) render_targets: a hint for render targets (surfaces) tied to the context num_render_targets: number of render targets in the above array context: created context id upon return
vaCreateImage
Create a VAImage structure The width and height fields returned in the VAImage structure may get enlarged for some YUV formats. Upon return from this function, image->buf has been created and proper storage allocated by the library. The client can access the image through the Map/Unmap calls.
vaCreateMFContext
vaCreateMFContext - Create a multi-frame context interface encapsulating common for all streams memory objects and structures required for single GPU task submission from several VAContextID’s. Allocation: This call only creates an instance, doesn’t allocate any additional memory. Support identification: Application can identify multi-frame feature support by ability to create multi-frame context. If driver supports multi-frame - call successful, mf_context != NULL and VAStatus = VA_STATUS_SUCCESS, otherwise if multi-frame processing not supported driver returns VA_STATUS_ERROR_UNIMPLEMENTED and mf_context = NULL. return values: VA_STATUS_SUCCESS - operation successful. VA_STATUS_ERROR_UNIMPLEMENTED - no support for multi-frame. dpy: display adapter. mf_context: Multi-Frame context encapsulating all associated context for multi-frame submission.
vaCreateProtectedSession
\brief Create a protected session
vaCreateSubpicture
Subpictures are created with an image associated.
vaCreateSurfaces
\brief Creates an array of surfaces
vaDeassociateSubpicture
vaDeassociateSubpicture removes the association of the subpicture with target_surfaces.
vaDeriveImage
Derive an VAImage from an existing surface. This interface will derive a VAImage and corresponding image buffer from an existing VA Surface. The image buffer can then be mapped/unmapped for direct CPU access. This operation is only possible on implementations with direct rendering capabilities and internal surface formats that can be represented with a VAImage. When the operation is not possible this interface will return VA_STATUS_ERROR_OPERATION_FAILED. Clients should then fall back to using vaCreateImage + vaPutImage to accomplish the same task in an indirect manner.
vaDestroyBuffer
After this call, the buffer is deleted and this buffer_id is no longer valid
vaDestroyConfig
Free resources associdated with a given config
vaDestroyContext
vaDestroyContext - Destroy a context dpy: display context: context to be destroyed
vaDestroyImage
Should call DestroyImage before destroying the surface it is bound to
vaDestroyProtectedSession
\brief Destroy a protected session
vaDestroySubpicture
Destroy the subpicture before destroying the image it is assocated to
vaDestroySurfaces
vaDestroySurfaces - Destroy resources associated with surfaces. Surfaces can only be destroyed after all contexts using these surfaces have been destroyed. dpy: display surfaces: array of surfaces to destroy num_surfaces: number of surfaces in the array to be destroyed.
vaDetachProtectedSession
\brief Detach the protected content session from the VA context
vaDisplayIsValid
vaEndPicture
Make the end of rendering for a picture. The server should start processing all pending operations for this surface. This call is non-blocking. The client can start another Begin/Render/End sequence on a different render target. if VAContextID used in this function previously successfully passed vaMFAddContext call, real processing will be started during vaMFSubmit
vaErrorStr
Returns a short english description of error_status
vaExportSurfaceHandle
\brief Export a handle to a surface for use with an external API
vaGetConfigAttributes
Get attributes for a given profile/entrypoint pair The caller must provide an “attrib_list” with all attributes to be retrieved. Upon return, the attributes in “attrib_list” have been updated with their value. Unknown attributes or attributes that are not supported for the given profile/entrypoint pair will have their value set to VA_ATTRIB_NOT_SUPPORTED
vaGetDisplayAttributes
Get display attributes This function returns the current attribute values in “attr_list”. Only attributes returned with VA_DISPLAY_ATTRIB_GETTABLE set in the “flags” field from vaQueryDisplayAttributes() can have their values retrieved.
vaGetDisplayDRM
\brief Returns a VA display derived from the specified DRM connection.
vaGetImage
Retrive surface data into a VAImage Image must be in a format supported by the implementation
vaGetLibFunc
Return a function pointer given a function name in the library. This allows private interfaces into the library
vaInitialize
Initialize the library
vaMFAddContext
vaMFAddContext - Provide ability to associate each context used for Multi-Frame submission and common Multi-Frame context. Try to add context to understand if it is supported. Allocation: this call allocates and/or reallocates all memory objects common for all contexts associated with particular Multi-Frame context. All memory required for each context(pixel buffers, internal driver buffers required for processing) allocated during standard vaCreateContext call for each context. Runtime dependency - if current implementation doesn’t allow to run different entry points/profile, first context added will set entry point/profile for whole Multi-Frame context, all other entry points and profiles can be rejected to be added. Return values: VA_STATUS_SUCCESS - operation successful, context was added. VA_STATUS_ERROR_OPERATION_FAILED - something unexpected happened - application have to close current mf_context and associated contexts and start working with new ones. VA_STATUS_ERROR_INVALID_CONTEXT - ContextID is invalid, means: 1 - mf_context is not valid context or 2 - driver can’t suport different VAEntrypoint or VAProfile simultaneosly and current context contradicts with previously added, application can continue with current mf_context and other contexts passed this call, rejected context can continue work in stand-alone mode or other mf_context. VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT - particular context being added was created with with unsupported VAEntrypoint. Application can continue with current mf_context and other contexts passed this call, rejected context can continue work in stand-alone mode. VA_STATUS_ERROR_UNSUPPORTED_PROFILE - Current context with Particular VAEntrypoint is supported but VAProfile is not supported. Application can continue with current mf_context and other contexts passed this call, rejected context can continue work in stand-alone mode. dpy: display adapter. context: context being associated with Multi-Frame context. mf_context: - multi-frame context used to associate contexts for multi-frame submission.
vaMFReleaseContext
vaMFReleaseContext - Removes context from multi-frame and association with multi-frame context. After association removed vaEndPicture will submit tasks, but not vaMFSubmit. Return values: VA_STATUS_SUCCESS - operation successful, context was removed. VA_STATUS_ERROR_OPERATION_FAILED - something unexpected happened. application need to destroy this VAMFContextID and all assotiated VAContextID dpy: display mf_context: VAMFContextID where context is added context: VAContextID to be added
vaMFSubmit
Make the end of rendering for a pictures in contexts passed with submission. The server should start processing all pending operations for contexts. All contexts passed should be associated through vaMFAddContext and call sequence Begin/Render/End performed. This call is non-blocking. The client can start another Begin/Render/End/vaMFSubmit sequence on a different render targets. Return values: VA_STATUS_SUCCESS - operation successful, context was removed. VA_STATUS_ERROR_INVALID_CONTEXT - mf_context or one of contexts are invalid due to mf_context not created or one of contexts not assotiated with mf_context through vaAddContext. VA_STATUS_ERROR_INVALID_PARAMETER - one of context has not submitted it’s frame through vaBeginPicture vaRenderPicture vaEndPicture call sequence. dpy: display mf_context: Multi-Frame context contexts: list of contexts submitting their tasks for multi-frame operation. num_contexts: number of passed contexts.
vaMapBuffer
Map data store of the buffer into the client’s address space vaCreateBuffer() needs to be called with “data” set to NULL before calling vaMapBuffer()
vaMapBuffer2
vaMaxNumConfigAttributes
Get maximum number of attributs supported by the implementation
vaMaxNumDisplayAttributes
Get maximum number of display attributs supported by the implementation
vaMaxNumEntrypoints
Get maximum number of entrypoints supported by the implementation
vaMaxNumImageFormats
Get maximum number of image formats supported by the implementation
vaMaxNumProfiles
Get maximum number of profiles supported by the implementation
vaMaxNumSubpictureFormats
Get maximum number of subpicture formats supported by the implementation
vaProtectedSessionExecute
\brief Execute provides a general mechanism for TEE client tasks execution.
vaPutImage
Copy data from a VAImage to a surface Image must be in a format supported by the implementation Returns a VA_STATUS_ERROR_SURFACE_BUSY if the surface shouldn’t be rendered into when this is called
vaQueryConfigAttributes
Query all attributes for a given configuration The profile of the configuration is returned in “profile” The entrypoint of the configuration is returned in “entrypoint” The caller must provide an “attrib_list” array that can hold at least vaMaxNumConfigAttributes() entries. The actual number of attributes returned in “attrib_list” is returned in “num_attribs”
vaQueryConfigEntrypoints
Query supported entrypoints for a given profile The caller must provide an “entrypoint_list” array that can hold at least vaMaxNumEntrypoints() entries. The actual number of entrypoints returned in “entrypoint_list” is returned in “num_entrypoints”.
vaQueryConfigProfiles
Query supported profiles The caller must provide a “profile_list” array that can hold at least vaMaxNumProfile() entries. The actual number of profiles returned in “profile_list” is returned in “num_profile”.
vaQueryDisplayAttributes
Query display attributes The caller must provide a “attr_list” array that can hold at least vaMaxNumDisplayAttributes() entries. The actual number of attributes returned in “attr_list” is returned in “num_attributes”.
vaQueryImageFormats
Query supported image formats The caller must provide a “format_list” array that can hold at least vaMaxNumImageFormats() entries. The actual number of formats returned in “format_list” is returned in “num_formats”.
vaQueryProcessingRate
\brief Queries processing rate for the supplied config.
vaQuerySubpictureFormats
Query supported subpicture formats The caller must provide a “format_list” array that can hold at least vaMaxNumSubpictureFormats() entries. The flags arrary holds the flag for each format to indicate additional capabilities for that format. The actual number of formats returned in “format_list” is returned in “num_formats”. flags: returned value to indicate addtional capabilities VA_SUBPICTURE_CHROMA_KEYING - supports chroma-keying VA_SUBPICTURE_GLOBAL_ALPHA - supports global alpha VA_SUBPICTURE_DESTINATION_IS_SCREEN_COORD - supports unscaled screen relative subpictures for On Screen Display
vaQuerySurfaceAttributes
\brief Queries surface attributes for the supplied config.
vaQuerySurfaceError
After the application gets VA_STATUS_ERROR_DECODING_ERROR after calling vaSyncSurface(), it can call vaQuerySurfaceError to find out further details on the particular error. VA_STATUS_ERROR_DECODING_ERROR should be passed in as “error_status”.
vaQuerySurfaceStatus
Find out any pending ops on the render target
vaQueryVendorString
vaQueryVendorString returns a pointer to a zero-terminated string describing some aspects of the VA implemenation on a specific hardware accelerator. The format of the returned string is vendor specific and at the discretion of the implementer. e.g. for the Intel GMA500 implementation, an example would be: “Intel GMA500 - 2.0.0.32L.0005”
vaQueryVideoProcFilterCaps
\brief Queries video filter capabilities.
vaQueryVideoProcFilters
\brief Queries video processing filters.
vaQueryVideoProcPipelineCaps
\brief Queries video processing pipeline capabilities.
vaReleaseBufferHandle
\brief Releases buffer after usage from external API
vaRenderPicture
Send video decode, encode or processing buffers to the server.
vaSetDisplayAttributes
Set display attributes Only attributes returned with VA_DISPLAY_ATTRIB_SETTABLE set in the “flags” field from vaQueryDisplayAttributes() can be set. If the attribute is not settable or the value is out of range, the function returns VA_STATUS_ERROR_ATTR_NOT_SUPPORTED
vaSetDriverName
Set the override driver name instead of queried driver driver.
vaSetErrorCallback
Set the callback for error messages, or NULL for no logging. Returns the previous one, or NULL if it was disabled.
vaSetImagePalette
vaSetInfoCallback
Set the callback for info messages, or NULL for no logging. Returns the previous one, or NULL if it was disabled.
vaSetSubpictureChromakey
If chromakey is enabled, then the area where the source value falls within the chromakey [min, max] range is transparent The chromakey component format is the following: For RGB: [0:7] Red [8:15] Blue [16:23] Green For YUV: [0:7] V [8:15] U [16:23] Y The chromakey mask can be used to mask out certain components for chromakey comparision
vaSetSubpictureGlobalAlpha
Global alpha value is between 0 and 1. A value of 1 means fully opaque and a value of 0 means fully transparent. If per-pixel alpha is also specified then the overall alpha is per-pixel alpha multiplied by the global alpha
vaSetSubpictureImage
Bind an image to the subpicture. This image will now be associated with the subpicture instead of the one at creation.
vaSyncBuffer
\brief Synchronizes pending operations associated with the supplied buffer.
vaSyncSurface
This function blocks until all pending operations on the render target have been completed. Upon return it is safe to use the render target for a different picture.
vaSyncSurface2
\brief Synchronizes pending operations associated with the supplied surface.
vaTerminate
After this call, all library internal resources will be cleaned up
vaUnmapBuffer
After client making changes to a mapped data store, it needs to “Unmap” it to let the server know that the data is ready to be consumed by the server

Type Aliases§

VABlendState
\brief Video blending state definition.
VABoolCoderContextVPX
\brief VPX Bool Coder Context structure
VABufferID
Buffers Buffers are used to pass various types of data from the client to the server. The server maintains a data store for each buffer created, and the client idenfies a buffer through a unique buffer id assigned by the server.
VACodedBufferSegment
\brief Coded buffer segment.
VACodedBufferVP9Status
\brief VP9 Encoding Status Data Buffer Structure
VAConfigAttrib
Configuration attributes If there is more than one value for an attribute, a default value will be assigned to the attribute if the client does not specify the attribute when creating a configuration
VAConfigAttribValDecJPEG
@name Attribute values for VAConfigAttribDecJPEG */ /**@{
VAConfigAttribValEncAV1
\brief Attribute value for VAConfigAttribEncAV1.
VAConfigAttribValEncAV1Ext1
\brief Attribute value for VAConfigAttribEncAV1Ext1.
VAConfigAttribValEncAV1Ext2
\brief Attribute value for VAConfigAttribEncAV1Ext2.
VAConfigAttribValEncJPEG
\brief Attribute value for VAConfigAttribEncJPEG
VAConfigAttribValEncVP9
\brief Attribute value for VAConfigAttribEncVP9.
VAConfigID
VAContextID
Contexts and Surfaces
VACopyObject
VACopyOption
VADRMPRIME3SurfaceDescriptor
\brief External buffer descriptor for a DRM PRIME surface with flags
VADRMPRIMESurfaceDescriptor
\brief External buffer descriptor for a DRM PRIME surface.
VADecPictureParameterBufferAV1
\brief AV1 Decoding Picture Parameter Buffer Structure
VADecPictureParameterBufferVP9
\brief VP9 Decoding Picture Parameter Buffer Structure
VADisplay
Overview
VADisplayAttribute
VAEncFEICTBControlHEVC
\brief FEI CTB level control data structure
VAEncFEIDistortionH264
\brief VAEncFEIDistortionH264 defines the data structure for VAEncFEIDistortionBufferType per 16x16 MB block. It is output buffer of ENC and ENC_PAK modes, The 16x16 block is in raster scan order. Buffer size shall not be less than the number of 16x16 blocks multiple by sizeof(VAEncFEIDistortionH264).
VAEncFEIMBCodeH264
\brief VAEncFEIMBCodeH264 defines the data structure for VAEncFEIMBCodeBufferType per 16x16 MB block. it is output buffer of ENC and ENC_PAK modes, it’s also input buffer of PAK mode. The 16x16 block is in raster scan order. Buffer size shall not be less than the number of 16x16 blocks multiplied by sizeof(VAEncFEIMBCodeH264). Note that, when separate ENC and PAK is enabled, the exact layout of this buffer is needed for PAK input. App can reuse this buffer, or copy to a different buffer as PAK input, reserved elements must not be modified when used as PAK input.
VAEncFEIMBControlH264
\brief FEI MB level control data structure
VAEncFEIMVPredictorH264
\brief Application can use this definition as reference to allocate the buffer based on MaxNumPredictor returned from attribute VAConfigAttribFEIMVPredictors query.
VAEncFEIMVPredictorHEVC
\brief Application can use this definition as reference to allocate the buffer based on MaxNumPredictor returned from attribute VAConfigAttribFEIMVPredictors query. this buffer allocation is always based on 16x16 block even block size is indicated as 32x32 or 64x64, and buffer layout is always in 32x32 block raster scan order even block size is 16x16 or 64x64. If 32x32 block size is set, only the data in the first 16x16 block (block 0) is used for 32x32 block. If 64x64 block size is set MV layout is still in 32x32 raster scan order, the same as 32x32 and the first 16x16 block within each 32x32 block needs to have intended MV data (four 32x32 blocks will have the same MV data in the correspondent first 16x16 block). Data structure for each 16x16 block is defined as below (same as AVC except BlockSize/Reserved bits).
VAEncMBMapBufferVP8
\brief VP8 MB Segmentation ID Buffer
VAEncMacroblockParameterBufferH264
\brief Macroblock parameter for H.264 encoding in baseline, main & high profiles.
VAEncMiscParameterAIR
VAEncMiscParameterBuffer
For application, e.g. set a new bitrate VABufferID buf_id; VAEncMiscParameterBuffer *misc_param; VAEncMiscParameterRateControl *misc_rate_ctrl;
VAEncMiscParameterBufferDirtyRect
VAEncMiscParameterBufferMaxFrameSize
\brief Defines a maximum frame size (in bits).
VAEncMiscParameterBufferMultiPassFrameSize
\brief Maximum frame size (in bytes) settings for multiple pass.
VAEncMiscParameterBufferQualityLevel
\brief Encoding quality level.
VAEncMiscParameterBufferROI
VAEncMiscParameterCustomRoundingControl
\brief Custom Encoder Rounding Offset Control. Application may use this structure to set customized rounding offset parameters for quantization. Valid when \c VAConfigAttribCustomRoundingControl equals 1.
VAEncMiscParameterEncQuality
per frame encoder quality controls, once set they will persist for all future frames till it is updated again.
VAEncMiscParameterExtensionDataSeqDisplayMPEG2
VAEncMiscParameterFEIFrameControlH264
\brief FEI frame level control buffer for H.264
VAEncMiscParameterFEIFrameControlHEVC
\brief FEI frame level control buffer for HEVC
VAEncMiscParameterFrameRate
Encode framerate parameters.
VAEncMiscParameterHRD
HRD / VBV buffering parameters for encoding.
VAEncMiscParameterMaxSliceSize
Allow a maximum slice size to be specified (in bits). The encoder will attempt to make sure that individual slices do not exceed this size Or to signal applicate if the slice size exceed this size, see “status” of VACodedBufferSegment
VAEncMiscParameterParallelRateControl
\brief Attribute value for VAConfigAttribEncParallelRateControl
VAEncMiscParameterQuantization
\brief Quantization settings for encoding.
VAEncMiscParameterRIR
VAEncMiscParameterRateControl
\brief Rate control parameters
VAEncMiscParameterSkipFrame
\brief Encoding skip frame.
VAEncMiscParameterSubMbPartPelH264
\brief MB partition modes and 1/2 1/4 motion search configuration
VAEncMiscParameterTemporalLayerStructure
\brief Temporal layer Structure
VAEncMiscParameterTypeVP9PerSegmantParam
Structure to convey all segment related information. If segmentation is disabled, this data structure is still required. In this case, only seg_data[0] contains valid data. This buffer is sent once per frame.
VAEncPackedHeaderParameterBuffer
\brief Packed header parameter.
VAEncPictureParameterBufferAV1
\brief AV1 Encoding Picture Parameter Buffer Structure.
VAEncPictureParameterBufferH264
\brief Picture parameter for H.264 encoding in baseline, main & high profiles.
VAEncPictureParameterBufferHEVC
HEVC data structures / /** \brief Picture parameter for HEVC encoding in main & main 10 profiles.
VAEncPictureParameterBufferJPEG
\brief JPEG Encoding Picture Parameter Buffer Structure
VAEncPictureParameterBufferMPEG2
\brief Picture parameter for MPEG-2 encoding
VAEncPictureParameterBufferVP8
\brief VP8 Encoding Picture Parameter Buffer Structure
VAEncPictureParameterBufferVP9
\brief VP9 Encoding Picture Parameter Buffer Structure
VAEncQPBufferH264
VAEncROI
\brief Encoding region-of-interest (ROI).
VAEncSegMapBufferAV1
\brief Segment map data buffer.
VAEncSegParamAV1
\brief Segment parameters
VAEncSegParamVP9
\brief Per segment parameters
VAEncSequenceParameterBufferAV1
\brief AV1 Encoding Sequence Parameter Buffer Structure.
VAEncSequenceParameterBufferH264
\brief Sequence parameter for H.264 encoding in baseline, main & high profiles.
VAEncSequenceParameterBufferHEVC
\brief Sequence parameter for HEVC encoding in main & main 10 profiles.
VAEncSequenceParameterBufferMPEG2
\brief Sequence parameter for MPEG-2 encoding
VAEncSequenceParameterBufferVP8
\brief VP8 Encoding Sequence Parameter Buffer Structure
VAEncSequenceParameterBufferVP9
\brief VP9 Encoding Sequence Parameter Buffer Structure
VAEncSliceParameterBufferH264
\brief Slice parameter for H.264 encoding in baseline, main & high profiles.
VAEncSliceParameterBufferHEVC
\brief Slice parameter for HEVC encoding in main & main 10 profiles.
VAEncSliceParameterBufferJPEG
\brief Slice parameter for JPEG encoding.
VAEncSliceParameterBufferMPEG2
\brief Slice parameter for MPEG-2 encoding
VAEncTileGroupBufferAV1
\brief Tile Group Buffer.
VAEncWarpedMotionParamsAV1
VAFilmGrainStructAV1
\brief Film Grain Information
VAGenericFunc
\brief Generic function type.
VAGenericID
Generic ID type, can be re-typed for specific implementation
VAGenericValue
\brief Generic value.
VAHdrMetaData
\brief High Dynamic Range Meta Data.
VAHuffmanTableBufferJPEGBaseline
JPEG common data structures / /** \brief Huffman table for JPEG decoding.
VAIQMatrixBufferH264
H.264 Inverse Quantization Matrix Buffer
VAIQMatrixBufferHEVC
\brief HEVC Inverse Quantization Matrix Buffer Structure
VAIQMatrixBufferJPEGBaseline
\brief Quantization table for JPEG decoding.
VAIQMatrixBufferMPEG2
MPEG-2 Inverse Quantization Matrix Buffer
VAIQMatrixBufferVP8
\brief VP8 Inverse Quantization Matrix Buffer Structure
VAImage
VAImageFormat
VAImageID
VAMFContextID
VAMacroblockParameterBufferMPEG2
MPEG-2 Macroblock Parameter Buffer
VAMessageCallback
Type of a message callback, used for both error and info log.
VAMotionVector
\brief Generic motion vector data structure.
VAPictureH264
H.264/AVC data structures
VAPictureHEVC
HEVC data structures / /** \brief Description of picture properties of those in DPB surfaces.
VAPictureParameterBufferH264
H.264 Picture Parameter Buffer
VAPictureParameterBufferHEVC
\brief HEVC Decoding Picture Parameter Buffer Structure
VAPictureParameterBufferHEVCExtension
\brief HEVC Decoding Picture Parameter Buffer Structure including Extensions
VAPictureParameterBufferHEVCRext
\brief HEVC Decoding Picture Parameter Buffer Structure for Range Extension
VAPictureParameterBufferHEVCScc
\brief HEVC Decoding Picture Parameter Buffer Structure for Screen Content extension
VAPictureParameterBufferJPEGBaseline
\brief Picture parameter for JPEG decoding.
VAPictureParameterBufferMPEG2
MPEG-2 data structures
VAPictureParameterBufferVP8
\brief VP8 Decoding Picture Parameter Buffer Structure
VAPictureStats
VAPrivFunc
VAProbabilityDataBufferVP8
\brief VP8 Coefficient Probability Data Buffer Structure
VAProcColorBalanceType
\brief Color balance types.
VAProcColorProperties
VAProcColorStandardType
\brief Color standard types.
VAProcDeinterlacingType
\brief Deinterlacing types.
VAProcFilterCap
\brief Default filter cap specification (single range value).
VAProcFilterCap3DLUT
\brief Capabilities specification for the 3DLUT filter.
VAProcFilterCapColorBalance
\brief Capabilities specification for the color balance filter.
VAProcFilterCapDeinterlacing
\brief Capabilities specification for the deinterlacing filter.
VAProcFilterCapHighDynamicRange
\brief Capabilities specification for the High Dynamic Range filter.
VAProcFilterCapTotalColorCorrection
\brief Capabilities specification for the Total Color Correction filter.
VAProcFilterParameterBuffer
\brief Default filter parametrization.
VAProcFilterParameterBuffer3DLUT
\brief 3DLUT filter parametrization.
VAProcFilterParameterBufferBase
\brief Filter parameter buffer base.
VAProcFilterParameterBufferColorBalance
\brief Color balance filter parametrization.
VAProcFilterParameterBufferDeinterlacing
\brief Deinterlacing filter parametrization.
VAProcFilterParameterBufferHDRToneMapping
\brief High Dynamic Range(HDR) Tone Mapping filter parametrization.
VAProcFilterParameterBufferHVSNoiseReduction
\brief Human Vision System(HVS) Noise reduction filter parametrization.
VAProcFilterParameterBufferTotalColorCorrection
\brief Total color correction filter parametrization.
VAProcFilterType
\brief Video filter types.
VAProcFilterValueRange
\brief Specification of values supported by the filter.
VAProcHighDynamicRangeMetadataType
\brief High Dynamic Range Metadata types.
VAProcMode
\brief Video Processing Mode.
VAProcPipelineCaps
\brief Video processing pipeline capabilities.
VAProcPipelineParameterBuffer
\brief Video processing pipeline configuration.
VAProcTotalColorCorrectionType
\brief Total color correction types.
VAProcessingRateParameter
VAProcessingRateParameterDec
Processing rate parameter for decode.
VAProcessingRateParameterEnc
Processing rate parameter for encode.
VAProtectedSessionID
ProtectedSessions and Contexts
VAQMatrixBufferHEVC
\brief HEVC Quantization Matrix Buffer Structure
VAQMatrixBufferJPEG
\brief Quantization table for JPEG encoding.
VAQMatrixBufferMPEG2
\brief MPEG-2 Quantization Matrix Buffer
VAQMatrixBufferVP8
\brief VP8 Quantization Matrix Buffer Structure
VARectangle
\brief Structure to describe rectangle.
VASegmentParameterVP9
\brief VP9 Segmentation Parameter Data Structure
VASegmentationStructAV1
\brief Segmentation Information
VASliceParameterBufferAV1
\brief AV1 Slice Parameter Buffer Structure
VASliceParameterBufferH264
H.264 Slice Parameter Buffer
VASliceParameterBufferHEVC
\brief HEVC Slice Parameter Buffer Structure For Long Format
VASliceParameterBufferHEVCExtension
\brief HEVC Decoding Slice Parameter Buffer Structure For Long Format including Extensions
VASliceParameterBufferHEVCRext
\brief HEVC Extented Slice Parameter Buffer Structure For Long Format
VASliceParameterBufferJPEGBaseline
\brief Slice parameter for JPEG decoding.
VASliceParameterBufferMPEG2
MPEG-2 Slice Parameter Buffer
VASliceParameterBufferVP8
\brief VP8 Slice Parameter Buffer Structure
VASliceParameterBufferVP9
\brief VP9 Slice Parameter Buffer Structure
VAStatsStatisticsH264
\brief VAStatsStatisticsH264. H264 Statistics buffer layout for VAStatsStatisticsBufferType and VAStatsStatisticsBottomFieldBufferType(for interlaced only). Statistics output is per 16x16 block. Data structure per 16x16 block is defined below. The 16x16 block is in raster scan order. The buffer size shall be greater than or equal to the number of 16x16 blocks multiplied by sizeof(VAStatsStatisticsH264).
VAStatsStatisticsParameter
\brief Motion Vector and Statistics frame level controls. common part VAStatsStatisticsParameterBufferType for a MB or CTB
VAStatsStatisticsParameterH264
\brief Motion Vector and Statistics frame level controls. VAStatsStatisticsParameterBufferType for H264 16x16 block
VAStatus
VASubpictureID
Subpictures Subpicture is a special type of image that can be blended with a surface during vaPutSurface(). Subpicture can be used to render DVD sub-titles or closed captioning text etc.
VASurfaceAttrib
\brief Surface attribute.
VASurfaceAttribExternalBuffers
\brief VASurfaceAttribExternalBuffers structure for the VASurfaceAttribExternalBufferDescriptor attribute.
VASurfaceDecodeMBErrors
Client calls vaQuerySurfaceError with VA_STATUS_ERROR_DECODING_ERROR, server side returns an array of structure VASurfaceDecodeMBErrors, and the array is terminated by setting status=-1
VASurfaceID
VAWarpedMotionParamsAV1
_VAProcColorBalanceType
\brief Color balance types.
_VAProcColorStandardType
\brief Color standard types.
_VAProcDeinterlacingType
\brief Deinterlacing types.
_VAProcFilterType
\brief Video filter types.
_VAProcHighDynamicRangeMetadataType
\brief High Dynamic Range Metadata types.
_VAProcMode
\brief Video Processing Mode.
_VAProcTotalColorCorrectionType
\brief Total color correction types.

Unions§

VAConfigAttribValDecAV1Features
Attribute value for VAConfigAttribDecAV1Features.
VAConfigAttribValEncHEVCBlockSizes
Attribute value for VAConfigAttribEncHEVCBlockSizes.
VAConfigAttribValEncHEVCFeatures
Attribute value for VAConfigAttribEncHEVCFeatures.
VARefFrameCtrlAV1
\brief Reference frame control.
_VAConfigAttribValDecJPEG
@name Attribute values for VAConfigAttribDecJPEG */ /**@{
_VAConfigAttribValEncAV1
\brief Attribute value for VAConfigAttribEncAV1.
_VAConfigAttribValEncAV1Ext1
\brief Attribute value for VAConfigAttribEncAV1Ext1.
_VAConfigAttribValEncAV1Ext2
\brief Attribute value for VAConfigAttribEncAV1Ext2.
_VAConfigAttribValEncJPEG
\brief Attribute value for VAConfigAttribEncJPEG
_VAConfigAttribValEncVP9
\brief Attribute value for VAConfigAttribEncVP9.
_VACopyObject__bindgen_ty_1
_VACopyOption
_VADecPictureParameterBufferAV1__bindgen_ty_1
_VADecPictureParameterBufferAV1__bindgen_ty_2
_VADecPictureParameterBufferAV1__bindgen_ty_3
_VADecPictureParameterBufferAV1__bindgen_ty_4
\brief quantization_matrix
_VADecPictureParameterBufferAV1__bindgen_ty_5
_VADecPictureParameterBufferAV1__bindgen_ty_6
\brief loop restoration parameters
_VADecPictureParameterBufferVP9__bindgen_ty_1
_VAEncFEIMBCodeH264__bindgen_ty_1
_VAEncMacroblockParameterBufferH264__bindgen_ty_1
_VAEncMacroblockParameterBufferH264__bindgen_ty_1__bindgen_ty_1
@name Data for intra macroblock */ /**@{
_VAEncMacroblockParameterBufferH264__bindgen_ty_1__bindgen_ty_2
@name Data for inter macroblock */ /**@{
_VAEncMiscParameterBufferROI__bindgen_ty_1
_VAEncMiscParameterCustomRoundingControl__bindgen_ty_1
_VAEncMiscParameterEncQuality__bindgen_ty_1
_VAEncMiscParameterFrameRate__bindgen_ty_1
_VAEncMiscParameterQuantization__bindgen_ty_1
_VAEncMiscParameterRIR__bindgen_ty_1
_VAEncMiscParameterRateControl__bindgen_ty_1
_VAEncMiscParameterSubMbPartPelH264__bindgen_ty_1
_VAEncPictureParameterBufferAV1__bindgen_ty_1
_VAEncPictureParameterBufferAV1__bindgen_ty_2
_VAEncPictureParameterBufferAV1__bindgen_ty_3
\brief Quantization matrix.
_VAEncPictureParameterBufferAV1__bindgen_ty_4
_VAEncPictureParameterBufferAV1__bindgen_ty_5
_VAEncPictureParameterBufferAV1__bindgen_ty_6
\brief Tile Group OBU header
_VAEncPictureParameterBufferH264__bindgen_ty_1
_VAEncPictureParameterBufferHEVC__bindgen_ty_1
_VAEncPictureParameterBufferHEVC__bindgen_ty_2
\brief SCC flags to enable/disable feature, only IBC at present.
_VAEncPictureParameterBufferJPEG__bindgen_ty_1
\brief pic_flags
_VAEncPictureParameterBufferMPEG2__bindgen_ty_1
_VAEncPictureParameterBufferMPEG2__bindgen_ty_2
_VAEncPictureParameterBufferVP8__bindgen_ty_1
_VAEncPictureParameterBufferVP8__bindgen_ty_2
_VAEncPictureParameterBufferVP9__bindgen_ty_1
_VAEncPictureParameterBufferVP9__bindgen_ty_2
_VAEncSegParamAV1__bindgen_ty_1
_VAEncSegParamVP9__bindgen_ty_1
_VAEncSequenceParameterBufferAV1__bindgen_ty_1
_VAEncSequenceParameterBufferH264__bindgen_ty_1
_VAEncSequenceParameterBufferH264__bindgen_ty_2
_VAEncSequenceParameterBufferHEVC__bindgen_ty_1
_VAEncSequenceParameterBufferHEVC__bindgen_ty_2
_VAEncSequenceParameterBufferHEVC__bindgen_ty_3
\brief SCC flags to enable/disable features, including IBC and palette mode at present.
_VAEncSequenceParameterBufferMPEG2__bindgen_ty_1
_VAEncSequenceParameterBufferMPEG2__bindgen_ty_2
_VAEncSliceParameterBufferHEVC__bindgen_ty_1
_VAFilmGrainStructAV1__bindgen_ty_1
_VAGenericValue__bindgen_ty_1
\brief Value holder.
_VAMacroblockParameterBufferMPEG2__bindgen_ty_1
_VAPictureParameterBufferH264__bindgen_ty_1
_VAPictureParameterBufferH264__bindgen_ty_2
_VAPictureParameterBufferHEVCRext__bindgen_ty_1
_VAPictureParameterBufferHEVCScc__bindgen_ty_1
_VAPictureParameterBufferHEVC__bindgen_ty_1
_VAPictureParameterBufferHEVC__bindgen_ty_2
\brief Parameters needed for parsing slice segment headers
_VAPictureParameterBufferMPEG2__bindgen_ty_1
_VAPictureParameterBufferVP8__bindgen_ty_1
_VAProcessingRateParameter__bindgen_ty_1
_VASegmentParameterVP9__bindgen_ty_1
_VASegmentationStructAV1__bindgen_ty_1
_VASliceParameterBufferHEVCRext__bindgen_ty_1
_VASliceParameterBufferHEVC__bindgen_ty_1