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
decode
Thin VA-API H.264 decoder built on the vendored libva binding.
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
Va
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.

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