VA-API
Classes | Macros | Typedefs | Enumerations | Functions
va.h File Reference

The Core API. More...

#include <stddef.h>
#include <stdint.h>
#include <va/va_version.h>
#include <va/va_dec_hevc.h>
#include <va/va_dec_jpeg.h>
#include <va/va_dec_vp8.h>
#include <va/va_dec_vp9.h>
#include <va/va_enc_hevc.h>
#include <va/va_fei_hevc.h>
#include <va/va_enc_h264.h>
#include <va/va_enc_jpeg.h>
#include <va/va_enc_mpeg2.h>
#include <va/va_enc_vp8.h>
#include <va/va_enc_vp9.h>
#include <va/va_fei.h>
#include <va/va_fei_h264.h>
#include <va/va_vpp.h>

Go to the source code of this file.

Classes

struct  VAMotionVector
 Generic motion vector data structure. More...
 
struct  VAConfigAttrib
 
union  VAConfigAttribValEncJPEG
 Attribute value for VAConfigAttribEncJPEG. More...
 
union  VAConfigAttribValEncROI
 Attribute value for VAConfigAttribEncROI. More...
 
union  VAConfigAttribValEncRateControlExt
 Attribute value for VAConfigAttribEncRateControlExt. More...
 
struct  VAGenericValue
 Generic value. More...
 
struct  VASurfaceAttrib
 Surface attribute. More...
 
struct  VASurfaceAttribExternalBuffers
 VASurfaceAttribExternalBuffers structure for the VASurfaceAttribExternalBufferDescriptor attribute. More...
 
struct  VAProcessingRateParameterEnc
 
struct  VAProcessingRateParameterDec
 
struct  VAEncPackedHeaderParameterBuffer
 Packed header parameter. More...
 
struct  VAEncMiscParameterBuffer
 
struct  VAEncMiscParameterTemporalLayerStructure
 Temporal layer Structure. More...
 
struct  VAEncMiscParameterRateControl
 Rate control parameters. More...
 
struct  VAEncMiscParameterMaxSliceSize
 
struct  VAEncMiscParameterBufferMaxFrameSize
 Defines a maximum frame size (in bits). More...
 
struct  VAEncMiscParameterBufferQualityLevel
 Encoding quality level. More...
 
struct  VAEncMiscParameterQuantization
 Quantization settings for encoding. More...
 
struct  VAEncMiscParameterSkipFrame
 Encoding skip frame. More...
 
struct  VAEncROI
 Encoding region-of-interest (ROI). More...
 
struct  VAEncMiscParameterParallelRateControl
 Attribute value for VAConfigAttribEncParallelRateControl. More...
 
struct  VAEncMiscParameterEncQuality
 
struct  VAEncMiscParameterCustomRoundingControl
 Custom Encoder Rounding Offset Control. Application may use this structure to set customized rounding offset parameters for quantization. Valid when VAConfigAttribCustomRoundingControl equals 1. More...
 
struct  VAHuffmanTableBufferJPEGBaseline
 Huffman table for JPEG decoding. More...
 
struct  VAIQMatrixBufferMPEG2
 
struct  VASliceParameterBufferMPEG2
 
struct  VAMacroblockParameterBufferMPEG2
 
struct  VAPictureParameterBufferMPEG4
 
struct  VAIQMatrixBufferMPEG4
 
struct  VASliceParameterBufferMPEG4
 
struct  VAPictureParameterBufferVC1
 
struct  VASliceParameterBufferVC1
 
struct  VAPictureParameterBufferH264
 
struct  VAIQMatrixBufferH264
 
struct  VASliceParameterBufferH264
 
struct  VAEncSliceParameterBuffer
 Encode Slice Parameter Buffer. More...
 
struct  VACodedBufferSegment
 Coded buffer segment. More...
 
struct  VABufferInfo
 VA buffer information. More...
 
struct  VASurfaceDecodeMBErrors
 
struct  VAPictureHEVC
 Description of picture properties of those in DPB surfaces. More...
 

Macros

#define va_deprecated_enum   = 0x80000000
 Misc packed header. See codec-specific definitions. More...
 
#define VA_STATUS_SUCCESS   0x00000000
 
#define VA_STATUS_ERROR_INVALID_VALUE   0x00000019
 An invalid/unsupported value was supplied. More...
 
#define VA_STATUS_ERROR_UNSUPPORTED_FILTER   0x00000020
 An unsupported filter was supplied.
 
#define VA_STATUS_ERROR_INVALID_FILTER_CHAIN   0x00000021
 An invalid filter chain was supplied.
 
#define VA_STATUS_ERROR_HW_BUSY   0x00000022
 Indicate HW busy (e.g. run multiple encoding simultaneously).
 
#define VA_STATUS_ERROR_UNSUPPORTED_MEMORY_TYPE   0x00000024
 An unsupported memory type was supplied.
 
#define VA_FRAME_PICTURE   0x00000000
 
#define VA_ENABLE_BLEND   0x00000004 /* video area blend with the constant color */
 
#define VA_CLEAR_DRAWABLE   0x00000008
 
#define VA_SRC_COLOR_MASK   0x000000f0
 
#define VA_FILTER_SCALING_DEFAULT   0x00000000
 
#define VA_PADDING_LOW   4
 
#define VA_RT_FORMAT_YUV420   0x00000001
 
#define VA_RT_FORMAT_YUV420_10BPP   0x00000100
 
#define VA_RT_FORMAT_RGB16   0x00010000
 
#define VA_RT_FORMAT_RGB32_10BPP   0x00200000
 
#define VA_ATTRIB_NOT_SUPPORTED   0x80000000
 
#define VA_SLICE_DATA_FLAG_ALL   0x00 /* whole slice is in the buffer */
 
#define VA_CODED_BUF_STATUS_PICTURE_AVE_QP_MASK   0xff
 
#define VA_CODED_BUF_STATUS_FRAME_SIZE_OVERFLOW   0x1000
 The frame has exceeded the maximum requested size. More...
 
#define VA_CODED_BUF_STATUS_BAD_BITSTREAM   0x8000
 the bitstream is bad or corrupt.
 
#define VA_CODED_BUF_STATUS_NUMBER_PASSES_MASK   0xf000000
 The coded buffer segment status contains frame encoding passes number. More...
 
#define VA_CODED_BUF_STATUS_SINGLE_NALU   0x10000000
 The coded buffer segment contains a single NAL unit. More...
 
#define VA_FOURCC(ch0, ch1, ch2, ch3)
 
#define VA_FOURCC_YV16   0x36315659
 
#define VA_FOURCC_P010   0x30313050
 
#define VA_FOURCC_I010   0x30313049
 
#define VA_SUBPICTURE_CHROMA_KEYING   0x0001
 
#define VA_ROTATION_NONE   0x00000000
 
#define VA_OOL_DEBLOCKING_FALSE   0x00000000
 
#define VA_RENDER_MODE_UNDEFINED   0
 
#define VA_RENDER_DEVICE_UNDEFINED   0
 
#define VA_PICTURE_HEVC_FIELD_PIC   0x00000002
 indication of interlace scan picture. should take same value for all the pictures in sequence.
 
#define VA_PICTURE_HEVC_BOTTOM_FIELD   0x00000004
 polarity of the field picture. top field takes even lines of buffer surface. bottom field takes odd lines of buffer surface.
 
#define VA_PICTURE_HEVC_LONG_TERM_REFERENCE   0x00000008
 Long term reference picture.
 
#define VA_PICTURE_HEVC_RPS_ST_CURR_BEFORE   0x00000010
 RefPicSetStCurrBefore of HEVC spec variable Number of ReferenceFrames[] entries with this bit set equals NumPocStCurrBefore. More...
 
#define VA_PICTURE_HEVC_RPS_ST_CURR_AFTER   0x00000020
 RefPicSetStCurrAfter of HEVC spec variable Number of ReferenceFrames[] entries with this bit set equals NumPocStCurrAfter.
 
#define VA_PICTURE_HEVC_RPS_LT_CURR   0x00000040
 RefPicSetLtCurr of HEVC spec variable Number of ReferenceFrames[] entries with this bit set equals NumPocLtCurr.
 
Attribute values for VAConfigAttribRateControl
#define VA_RC_NONE   0x00000001
 Driver does not support any form of rate control.
 
#define VA_RC_CBR   0x00000002
 Constant bitrate.
 
#define VA_RC_VBR   0x00000004
 Variable bitrate.
 
#define VA_RC_VCM   0x00000008
 Video conference mode.
 
#define VA_RC_CQP   0x00000010
 Constant QP.
 
#define VA_RC_VBR_CONSTRAINED   0x00000020
 Variable bitrate with peak rate higher than average bitrate.
 
#define VA_RC_ICQ   0x00000040
 Intelligent Constant Quality. Provided an initial ICQ_quality_factor, adjusts QP at a frame and MB level based on motion to improve subjective quality.
 
#define VA_RC_MB   0x00000080
 Macroblock based rate control. Per MB control is decided internally in the encoder. It may be combined with other RC modes, except CQP.
 
#define VA_RC_CFS   0x00000100
 Constant Frame Size, it is used for small tolerent.
 
#define VA_RC_PARALLEL   0x00000200
 Parallel BRC, for hierachical B. More...
 
Attribute values for VAConfigAttribDecSliceMode
#define VA_DEC_SLICE_MODE_NORMAL   0x00000001
 Driver supports normal mode for slice decoding.
 
#define VA_DEC_SLICE_MODE_BASE   0x00000002
 Driver supports base mode for slice decoding.
 
Attribute values for VAConfigAttribDecProcessing
#define VA_DEC_PROCESSING_NONE   0x00000000
 No decoding + processing in a single decoding call.
 
#define VA_DEC_PROCESSING   0x00000001
 Decode + processing in a single decoding call.
 
Attribute values for VAConfigAttribEncPackedHeaders
#define VA_ENC_PACKED_HEADER_NONE   0x00000000
 Driver does not support any packed headers mode.
 
#define VA_ENC_PACKED_HEADER_SEQUENCE   0x00000001
 Driver supports packed sequence headers. e.g. SPS for H.264. More...
 
#define VA_ENC_PACKED_HEADER_PICTURE   0x00000002
 Driver supports packed picture headers. e.g. PPS for H.264. More...
 
#define VA_ENC_PACKED_HEADER_SLICE   0x00000004
 Driver supports packed slice headers. e.g. slice_header() for H.264. More...
 
#define VA_ENC_PACKED_HEADER_MISC   0x00000008
 Driver supports misc packed headers. e.g. SEI for H.264. More...
 
#define VA_ENC_PACKED_HEADER_RAW_DATA   0x00000010
 Driver supports raw packed header, see VAEncPackedHeaderRawData.
 
Attribute values for VAConfigAttribEncInterlaced
#define VA_ENC_INTERLACED_NONE   0x00000000
 Driver does not support interlaced coding.
 
#define VA_ENC_INTERLACED_FRAME   0x00000001
 Driver supports interlaced frame coding.
 
#define VA_ENC_INTERLACED_FIELD   0x00000002
 Driver supports interlaced field coding.
 
#define VA_ENC_INTERLACED_MBAFF   0x00000004
 Driver supports macroblock adaptive frame field coding.
 
#define VA_ENC_INTERLACED_PAFF   0x00000008
 Driver supports picture adaptive frame field coding.
 
Attribute values for VAConfigAttribEncSliceStructure
#define VA_ENC_SLICE_STRUCTURE_POWER_OF_TWO_ROWS   0x00000001
 Driver supports a power-of-two number of rows per slice.
 
#define VA_ENC_SLICE_STRUCTURE_ARBITRARY_MACROBLOCKS   0x00000002
 Driver supports an arbitrary number of macroblocks per slice.
 
#define VA_ENC_SLICE_STRUCTURE_EQUAL_ROWS   0x00000004
 Dirver support 1 rows per slice.
 
#define VA_ENC_SLICE_STRUCTURE_MAX_SLICE_SIZE   0x00000008
 Dirver support max encoded slice size per slice.
 
#define VA_ENC_SLICE_STRUCTURE_ARBITRARY_ROWS   0x00000010
 Driver supports an arbitrary number of rows per slice.
 
Attribute values for VAConfigAttribEncQuantization
#define VA_ENC_QUANTIZATION_NONE   0x00000000
 Driver does not support special types of quantization.
 
#define VA_ENC_QUANTIZATION_TRELLIS_SUPPORTED   0x00000001
 Driver supports trellis quantization.
 
Attribute values for VAConfigAttribEncIntraRefresh
#define VA_ENC_INTRA_REFRESH_NONE   0x00000000
 Driver does not support intra refresh.
 
#define VA_ENC_INTRA_REFRESH_ROLLING_COLUMN   0x00000001
 Driver supports column based rolling intra refresh.
 
#define VA_ENC_INTRA_REFRESH_ROLLING_ROW   0x00000002
 Driver supports row based rolling intra refresh.
 
#define VA_ENC_INTRA_REFRESH_ADAPTIVE   0x00000010
 Driver supports adaptive intra refresh.
 
#define VA_ENC_INTRA_REFRESH_CYCLIC   0x00000020
 Driver supports cyclic intra refresh.
 
#define VA_ENC_INTRA_REFRESH_P_FRAME   0x00010000
 Driver supports intra refresh of P frame.
 
#define VA_ENC_INTRA_REFRESH_B_FRAME   0x00020000
 Driver supports intra refresh of B frame.
 
#define VA_ENC_INTRA_REFRESH_MULTI_REF   0x00040000
 Driver supports intra refresh of multiple reference encoder.
 
Attribute values for VAConfigAttribProcessingRate.
#define VA_PROCESSING_RATE_NONE   0x00000000
 Driver does not support processing rate report.
 
#define VA_PROCESSING_RATE_ENCODE   0x00000001
 Driver supports encode processing rate report.
 
#define VA_PROCESSING_RATE_DECODE   0x00000002
 Driver supports decode processing rate report.
 
Surface attribute flags
#define VA_SURFACE_ATTRIB_NOT_SUPPORTED   0x00000000
 Surface attribute is not supported.
 
#define VA_SURFACE_ATTRIB_GETTABLE   0x00000001
 Surface attribute can be got through vaQuerySurfaceAttributes().
 
#define VA_SURFACE_ATTRIB_SETTABLE   0x00000002
 Surface attribute can be set through vaCreateSurfaces().
 
VASurfaceAttribMemoryType values in bit fields.

Bit 0:7 are reserved for generic types, Bit 31:28 are reserved for Linux DRM, Bit 23:20 are reserved for Android. DRM and Android specific types are defined in DRM and Android header files.

#define VA_SURFACE_ATTRIB_MEM_TYPE_VA   0x00000001
 VA memory type (default) is supported.
 
#define VA_SURFACE_ATTRIB_MEM_TYPE_V4L2   0x00000002
 V4L2 buffer memory type is supported.
 
#define VA_SURFACE_ATTRIB_MEM_TYPE_USER_PTR   0x00000004
 User pointer memory type is supported.
 
VASurfaceAttribExternalBuffers flags
#define VA_SURFACE_EXTBUF_DESC_ENABLE_TILING   0x00000001
 Enable memory tiling.
 
#define VA_SURFACE_EXTBUF_DESC_CACHED   0x00000002
 Memory is cacheable.
 
#define VA_SURFACE_EXTBUF_DESC_UNCACHED   0x00000004
 Memory is non-cacheable.
 
#define VA_SURFACE_EXTBUF_DESC_WC   0x00000008
 Memory is write-combined.
 
#define VA_SURFACE_EXTBUF_DESC_PROTECTED   0x80000000
 Memory is protected.
 
VASurfaceAttribUsageHint attribute usage hint flags
#define VA_SURFACE_ATTRIB_USAGE_HINT_GENERIC   0x00000000
 Surface usage not indicated.
 
#define VA_SURFACE_ATTRIB_USAGE_HINT_DECODER   0x00000001
 Surface used by video decoder.
 
#define VA_SURFACE_ATTRIB_USAGE_HINT_ENCODER   0x00000002
 Surface used by video encoder.
 
#define VA_SURFACE_ATTRIB_USAGE_HINT_VPP_READ   0x00000004
 Surface read by video post-processing.
 
#define VA_SURFACE_ATTRIB_USAGE_HINT_VPP_WRITE   0x00000008
 Surface written by video post-processing.
 
#define VA_SURFACE_ATTRIB_USAGE_HINT_DISPLAY   0x00000010
 Surface used for display.
 
vaExportSurfaceHandle() flags
#define VA_EXPORT_SURFACE_READ_ONLY   0x0001
 
#define VA_EXPORT_SURFACE_WRITE_ONLY   0x0002
 
#define VA_EXPORT_SURFACE_READ_WRITE   0x0003
 
#define VA_EXPORT_SURFACE_SEPARATE_LAYERS   0x0004
 
#define VA_EXPORT_SURFACE_COMPOSED_LAYERS   0x0008
 
Mirroring directions

Those values could be used for VADisplayAttribMirror attribute or VAProcPipelineParameterBuffer::mirror_state.

#define VA_MIRROR_NONE   0x00000000
 No Mirroring.
 
#define VA_MIRROR_HORIZONTAL   0x00000001
 Horizontal Mirroring.
 
#define VA_MIRROR_VERTICAL   0x00000002
 Vertical Mirroring.
 

Typedefs

typedef void * VADisplay
 
typedef void(* VAMessageCallback) (void *user_context, const char *message)
 
typedef void * VANativeDisplay
 
typedef unsigned int VAGenericID
 
typedef VAGenericID VAContextID
 
typedef void(* VAGenericFunc) (void)
 Generic function type.
 
typedef VAGenericID VABufferID
 
typedef VAGenericID VASubpictureID
 

Enumerations

Functions

const char * vaErrorStr (VAStatus error_status)
 
VAMessageCallback vaSetErrorCallback (VADisplay dpy, VAMessageCallback callback, void *user_context)
 
VAMessageCallback vaSetInfoCallback (VADisplay dpy, VAMessageCallback callback, void *user_context)
 
VAStatus vaSetDriverName (VADisplay dpy, char *driver_name)
 
VAStatus vaInitialize (VADisplay dpy, int *major_version, int *minor_version)
 
VAStatus vaTerminate (VADisplay dpy)
 
const char * vaQueryVendorString (VADisplay dpy)
 
VAPrivFunc vaGetLibFunc (VADisplay dpy, const char *func)
 
int vaMaxNumProfiles (VADisplay dpy)
 
int vaMaxNumEntrypoints (VADisplay dpy)
 
int vaMaxNumConfigAttributes (VADisplay dpy)
 
VAStatus vaQueryConfigProfiles (VADisplay dpy, VAProfile *profile_list, int *num_profiles)
 
VAStatus vaQueryConfigEntrypoints (VADisplay dpy, VAProfile profile, VAEntrypoint *entrypoint_list, int *num_entrypoints)
 
VAStatus vaGetConfigAttributes (VADisplay dpy, VAProfile profile, VAEntrypoint entrypoint, VAConfigAttrib *attrib_list, int num_attribs)
 
VAStatus vaCreateConfig (VADisplay dpy, VAProfile profile, VAEntrypoint entrypoint, VAConfigAttrib *attrib_list, int num_attribs, VAConfigID *config_id)
 
VAStatus vaDestroyConfig (VADisplay dpy, VAConfigID config_id)
 
VAStatus vaQueryConfigAttributes (VADisplay dpy, VAConfigID config_id, VAProfile *profile, VAEntrypoint *entrypoint, VAConfigAttrib *attrib_list, int *num_attribs)
 
VAStatus vaQuerySurfaceAttributes (VADisplay dpy, VAConfigID config, VASurfaceAttrib *attrib_list, unsigned int *num_attribs)
 Queries surface attributes for the supplied config. More...
 
VAStatus vaCreateSurfaces (VADisplay dpy, unsigned int format, unsigned int width, unsigned int height, VASurfaceID *surfaces, unsigned int num_surfaces, VASurfaceAttrib *attrib_list, unsigned int num_attribs)
 Creates an array of surfaces. More...
 
VAStatus vaDestroySurfaces (VADisplay dpy, VASurfaceID *surfaces, int num_surfaces)
 
VAStatus vaCreateContext (VADisplay dpy, VAConfigID config_id, int picture_width, int picture_height, int flag, VASurfaceID *render_targets, int num_render_targets, VAContextID *context)
 
VAStatus vaDestroyContext (VADisplay dpy, VAContextID context)
 
VAStatus vaCreateMFContext (VADisplay dpy, VAMFContextID *mf_context)
 
VAStatus vaMFAddContext (VADisplay dpy, VAMFContextID mf_context, VAContextID context)
 
VAStatus vaMFReleaseContext (VADisplay dpy, VAMFContextID mf_context, VAContextID context)
 
VAStatus vaQueryProcessingRate (VADisplay dpy, VAConfigID config, VAProcessingRateParameter *proc_buf, unsigned int *processing_rate)
 Queries processing rate for the supplied config. More...
 
VAStatus vaCreateBuffer (VADisplay dpy, VAContextID context, VABufferType type, unsigned int size, unsigned int num_elements, void *data, VABufferID *buf_id)
 
VAStatus vaCreateBuffer2 (VADisplay dpy, VAContextID context, VABufferType type, unsigned int width, unsigned int height, unsigned int *unit_size, unsigned int *pitch, VABufferID *buf_id)
 
VAStatus vaBufferSetNumElements (VADisplay dpy, VABufferID buf_id, unsigned int num_elements)
 
VAStatus vaMapBuffer (VADisplay dpy, VABufferID buf_id, void **pbuf)
 
VAStatus vaUnmapBuffer (VADisplay dpy, VABufferID buf_id)
 
VAStatus vaDestroyBuffer (VADisplay dpy, VABufferID buffer_id)
 
VAStatus vaAcquireBufferHandle (VADisplay dpy, VABufferID buf_id, VABufferInfo *buf_info)
 Acquires buffer handle for external API usage. More...
 
VAStatus vaReleaseBufferHandle (VADisplay dpy, VABufferID buf_id)
 Releases buffer after usage from external API. More...
 
VAStatus vaExportSurfaceHandle (VADisplay dpy, VASurfaceID surface_id, uint32_t mem_type, uint32_t flags, void *descriptor)
 Export a handle to a surface for use with an external API. More...
 
VAStatus vaBeginPicture (VADisplay dpy, VAContextID context, VASurfaceID render_target)
 
VAStatus vaRenderPicture (VADisplay dpy, VAContextID context, VABufferID *buffers, int num_buffers)
 
VAStatus vaEndPicture (VADisplay dpy, VAContextID context)
 
VAStatus vaMFSubmit (VADisplay dpy, VAMFContextID mf_context, VAContextID *contexts, int num_contexts)
 
VAStatus vaSyncSurface (VADisplay dpy, VASurfaceID render_target)
 
VAStatus vaQuerySurfaceStatus (VADisplay dpy, VASurfaceID render_target, VASurfaceStatus *status)
 
VAStatus vaQuerySurfaceError (VADisplay dpy, VASurfaceID surface, VAStatus error_status, void **error_info)
 
int vaMaxNumImageFormats (VADisplay dpy)
 
VAStatus vaQueryImageFormats (VADisplay dpy, VAImageFormat *format_list, int *num_formats)
 
VAStatus vaCreateImage (VADisplay dpy, VAImageFormat *format, int width, int height, VAImage *image)
 
VAStatus vaDestroyImage (VADisplay dpy, VAImageID image)
 
VAStatus vaGetImage (VADisplay dpy, VASurfaceID surface, int x, int y, unsigned int width, unsigned int height, VAImageID image)
 
VAStatus vaPutImage (VADisplay dpy, VASurfaceID surface, VAImageID image, int src_x, int src_y, unsigned int src_width, unsigned int src_height, int dest_x, int dest_y, unsigned int dest_width, unsigned int dest_height)
 
VAStatus vaDeriveImage (VADisplay dpy, VASurfaceID surface, VAImage *image)
 
int vaMaxNumSubpictureFormats (VADisplay dpy)
 
VAStatus vaQuerySubpictureFormats (VADisplay dpy, VAImageFormat *format_list, unsigned int *flags, unsigned int *num_formats)
 
VAStatus vaCreateSubpicture (VADisplay dpy, VAImageID image, VASubpictureID *subpicture)
 
VAStatus vaDestroySubpicture (VADisplay dpy, VASubpictureID subpicture)
 
VAStatus vaSetSubpictureImage (VADisplay dpy, VASubpictureID subpicture, VAImageID image)
 
VAStatus vaSetSubpictureChromakey (VADisplay dpy, VASubpictureID subpicture, unsigned int chromakey_min, unsigned int chromakey_max, unsigned int chromakey_mask)
 
VAStatus vaSetSubpictureGlobalAlpha (VADisplay dpy, VASubpictureID subpicture, float global_alpha)
 
VAStatus vaAssociateSubpicture (VADisplay dpy, VASubpictureID subpicture, VASurfaceID *target_surfaces, int num_surfaces, int16_t src_x, int16_t src_y, uint16_t src_width, uint16_t src_height, int16_t dest_x, int16_t dest_y, uint16_t dest_width, uint16_t dest_height, uint32_t flags)
 
VAStatus vaDeassociateSubpicture (VADisplay dpy, VASubpictureID subpicture, VASurfaceID *target_surfaces, int num_surfaces)
 
int vaMaxNumDisplayAttributes (VADisplay dpy)
 
VAStatus vaQueryDisplayAttributes (VADisplay dpy, VADisplayAttribute *attr_list, int *num_attributes)
 
VAStatus vaGetDisplayAttributes (VADisplay dpy, VADisplayAttribute *attr_list, int num_attributes)
 
VAStatus vaSetDisplayAttributes (VADisplay dpy, VADisplayAttribute *attr_list, int num_attributes)
 

Detailed Description

The Core API.

This file contains the Core API.

Macro Definition Documentation

va_deprecated_enum   = 0x80000000

Misc packed header. See codec-specific definitions.

Deprecated:
This is a deprecated packed header type. All applications can use VAEncPackedHeaderRawData to insert a codec-specific packed header
#define VA_OOL_DEBLOCKING_FALSE   0x00000000

attribute value for VADisplayAttribOutOfLoopDeblock

#define VA_PICTURE_HEVC_RPS_ST_CURR_BEFORE   0x00000010

RefPicSetStCurrBefore of HEVC spec variable Number of ReferenceFrames[] entries with this bit set equals NumPocStCurrBefore.

VA_PICTURE_HEVC_RPS_ST_CURR_BEFORE, VA_PICTURE_HEVC_RPS_ST_CURR_AFTER and VA_PICTURE_HEVC_RPS_LT_CURR of any picture in ReferenceFrames[] should be exclusive. No more than one of them can be set for any picture. Sum of NumPocStCurrBefore, NumPocStCurrAfter and NumPocLtCurr equals NumPocTotalCurr, which should be equal to or smaller than 8. Application should provide valid values for both short format and long format. The pictures in DPB with any of these three flags turned on are referred by the current picture.

#define VA_RENDER_DEVICE_UNDEFINED   0

Render device

#define VA_RENDER_MODE_UNDEFINED   0

Render mode

Enumeration Type Documentation

Currently defined display attribute types

Function Documentation

VAStatus vaGetDisplayAttributes ( VADisplay  dpy,
VADisplayAttribute *  attr_list,
int  num_attributes 
)

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.

int vaMaxNumDisplayAttributes ( VADisplay  dpy)

Get maximum number of display attributs supported by the implementation

VAStatus vaQueryDisplayAttributes ( VADisplay  dpy,
VADisplayAttribute *  attr_list,
int *  num_attributes 
)

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".

VAStatus vaSetDisplayAttributes ( VADisplay  dpy,
VADisplayAttribute *  attr_list,
int  num_attributes 
)

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