83 #include <va/va_version.h> 89 #if defined(__GNUC__) && !defined(__COVERITY__) 90 #define va_deprecated __attribute__((deprecated)) 92 #define va_deprecated_enum va_deprecated 94 #define va_deprecated_enum 98 #define va_deprecated_enum 260 typedef int VAStatus;
262 #define VA_STATUS_SUCCESS 0x00000000 263 #define VA_STATUS_ERROR_OPERATION_FAILED 0x00000001 264 #define VA_STATUS_ERROR_ALLOCATION_FAILED 0x00000002 265 #define VA_STATUS_ERROR_INVALID_DISPLAY 0x00000003 266 #define VA_STATUS_ERROR_INVALID_CONFIG 0x00000004 267 #define VA_STATUS_ERROR_INVALID_CONTEXT 0x00000005 268 #define VA_STATUS_ERROR_INVALID_SURFACE 0x00000006 269 #define VA_STATUS_ERROR_INVALID_BUFFER 0x00000007 270 #define VA_STATUS_ERROR_INVALID_IMAGE 0x00000008 271 #define VA_STATUS_ERROR_INVALID_SUBPICTURE 0x00000009 272 #define VA_STATUS_ERROR_ATTR_NOT_SUPPORTED 0x0000000a 273 #define VA_STATUS_ERROR_MAX_NUM_EXCEEDED 0x0000000b 274 #define VA_STATUS_ERROR_UNSUPPORTED_PROFILE 0x0000000c 275 #define VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT 0x0000000d 276 #define VA_STATUS_ERROR_UNSUPPORTED_RT_FORMAT 0x0000000e 277 #define VA_STATUS_ERROR_UNSUPPORTED_BUFFERTYPE 0x0000000f 278 #define VA_STATUS_ERROR_SURFACE_BUSY 0x00000010 279 #define VA_STATUS_ERROR_FLAG_NOT_SUPPORTED 0x00000011 280 #define VA_STATUS_ERROR_INVALID_PARAMETER 0x00000012 281 #define VA_STATUS_ERROR_RESOLUTION_NOT_SUPPORTED 0x00000013 282 #define VA_STATUS_ERROR_UNIMPLEMENTED 0x00000014 283 #define VA_STATUS_ERROR_SURFACE_IN_DISPLAYING 0x00000015 284 #define VA_STATUS_ERROR_INVALID_IMAGE_FORMAT 0x00000016 285 #define VA_STATUS_ERROR_DECODING_ERROR 0x00000017 286 #define VA_STATUS_ERROR_ENCODING_ERROR 0x00000018 294 #define VA_STATUS_ERROR_INVALID_VALUE 0x00000019 296 #define VA_STATUS_ERROR_UNSUPPORTED_FILTER 0x00000020 298 #define VA_STATUS_ERROR_INVALID_FILTER_CHAIN 0x00000021 300 #define VA_STATUS_ERROR_HW_BUSY 0x00000022 302 #define VA_STATUS_ERROR_UNSUPPORTED_MEMORY_TYPE 0x00000024 304 #define VA_STATUS_ERROR_NOT_ENOUGH_BUFFER 0x00000025 306 #define VA_STATUS_ERROR_TIMEDOUT 0x00000026 307 #define VA_STATUS_ERROR_UNKNOWN 0xFFFFFFFF 316 #define VA_FRAME_PICTURE 0x00000000 317 #define VA_TOP_FIELD 0x00000001 318 #define VA_BOTTOM_FIELD 0x00000002 319 #define VA_TOP_FIELD_FIRST 0x00000004 320 #define VA_BOTTOM_FIELD_FIRST 0x00000008 328 #define VA_ENABLE_BLEND 0x00000004 335 #define VA_CLEAR_DRAWABLE 0x00000008 338 #define VA_SRC_COLOR_MASK 0x000000f0 339 #define VA_SRC_BT601 0x00000010 340 #define VA_SRC_BT709 0x00000020 341 #define VA_SRC_SMPTE_240 0x00000040 344 #define VA_FILTER_SCALING_DEFAULT 0x00000000 345 #define VA_FILTER_SCALING_FAST 0x00000100 346 #define VA_FILTER_SCALING_HQ 0x00000200 347 #define VA_FILTER_SCALING_NL_ANAMORPHIC 0x00000300 348 #define VA_FILTER_SCALING_MASK 0x00000f00 351 #define VA_FILTER_INTERPOLATION_DEFAULT 0x00000000 352 #define VA_FILTER_INTERPOLATION_NEAREST_NEIGHBOR 0x00001000 353 #define VA_FILTER_INTERPOLATION_BILINEAR 0x00002000 354 #define VA_FILTER_INTERPOLATION_ADVANCED 0x00003000 355 #define VA_FILTER_INTERPOLATION_MASK 0x0000f000 358 #define VA_PADDING_LOW 4 359 #define VA_PADDING_MEDIUM 8 360 #define VA_PADDING_HIGH 16 361 #define VA_PADDING_LARGE 32 365 #define VA_EXEC_SYNC 0x0 367 #define VA_EXEC_ASYNC 0x1 370 #define VA_EXEC_MODE_DEFAULT 0x0 371 #define VA_EXEC_MODE_POWER_SAVING 0x1 372 #define VA_EXEC_MODE_PERFORMANCE 0x2 379 #define VA_FEATURE_NOT_SUPPORTED 0 389 #define VA_FEATURE_SUPPORTED 1 396 #define VA_FEATURE_REQUIRED 2 401 const char *
vaErrorStr(VAStatus error_status);
403 typedef struct _VARectangle
412 typedef struct _VAMotionVector {
445 int vaDisplayIsValid(VADisplay dpy);
482 typedef int (*VAPrivFunc)(void);
498 VAProfileMPEG2Simple = 0,
499 VAProfileMPEG2Main = 1,
500 VAProfileMPEG4Simple = 2,
501 VAProfileMPEG4AdvancedSimple = 3,
502 VAProfileMPEG4Main = 4,
504 VAProfileH264Main = 6,
505 VAProfileH264High = 7,
506 VAProfileVC1Simple = 8,
507 VAProfileVC1Main = 9,
508 VAProfileVC1Advanced = 10,
509 VAProfileH263Baseline = 11,
510 VAProfileJPEGBaseline = 12,
511 VAProfileH264ConstrainedBaseline = 13,
512 VAProfileVP8Version0_3 = 14,
513 VAProfileH264MultiviewHigh = 15,
514 VAProfileH264StereoHigh = 16,
515 VAProfileHEVCMain = 17,
516 VAProfileHEVCMain10 = 18,
517 VAProfileVP9Profile0 = 19,
518 VAProfileVP9Profile1 = 20,
519 VAProfileVP9Profile2 = 21,
520 VAProfileVP9Profile3 = 22,
521 VAProfileHEVCMain12 = 23,
522 VAProfileHEVCMain422_10 = 24,
523 VAProfileHEVCMain422_12 = 25,
524 VAProfileHEVCMain444 = 26,
525 VAProfileHEVCMain444_10 = 27,
526 VAProfileHEVCMain444_12 = 28,
527 VAProfileHEVCSccMain = 29,
528 VAProfileHEVCSccMain10 = 30,
529 VAProfileHEVCSccMain444 = 31,
530 VAProfileAV1Profile0 = 32,
531 VAProfileAV1Profile1 = 33,
532 VAProfileHEVCSccMain444_10 = 34,
544 VAEntrypointIDCT = 3,
545 VAEntrypointMoComp = 4,
546 VAEntrypointDeblocking = 5,
547 VAEntrypointEncSlice = 6,
548 VAEntrypointEncPicture = 7,
557 VAEntrypointEncSliceLP = 8,
610 VAConfigAttribRTFormat = 0,
611 VAConfigAttribSpatialResidual = 1,
612 VAConfigAttribSpatialClipping = 2,
613 VAConfigAttribIntraResidual = 3,
614 VAConfigAttribEncryption = 4,
615 VAConfigAttribRateControl = 5,
1004 VAConfigAttribTypeMax
1013 typedef struct _VAConfigAttrib {
1014 VAConfigAttribType type;
1020 #define VA_RT_FORMAT_YUV420 0x00000001 1021 #define VA_RT_FORMAT_YUV422 0x00000002 1022 #define VA_RT_FORMAT_YUV444 0x00000004 1023 #define VA_RT_FORMAT_YUV411 0x00000008 1024 #define VA_RT_FORMAT_YUV400 0x00000010 1025 #define VA_RT_FORMAT_YUV420_10 0x00000100 1026 #define VA_RT_FORMAT_YUV422_10 0x00000200 1027 #define VA_RT_FORMAT_YUV444_10 0x00000400 1028 #define VA_RT_FORMAT_YUV420_12 0x00001000 1029 #define VA_RT_FORMAT_YUV422_12 0x00002000 1030 #define VA_RT_FORMAT_YUV444_12 0x00004000 1032 #define VA_RT_FORMAT_RGB16 0x00010000 1033 #define VA_RT_FORMAT_RGB32 0x00020000 1034 #define VA_RT_FORMAT_RGBP 0x00100000 1035 #define VA_RT_FORMAT_RGB32_10 0x00200000 1037 #define VA_RT_FORMAT_PROTECTED 0x80000000 1039 #define VA_RT_FORMAT_RGB32_10BPP VA_RT_FORMAT_RGB32_10 1040 #define VA_RT_FORMAT_YUV420_10BPP VA_RT_FORMAT_YUV420_10 1045 #define VA_RC_NONE 0x00000001 1047 #define VA_RC_CBR 0x00000002 1049 #define VA_RC_VBR 0x00000004 1051 #define VA_RC_VCM 0x00000008 1053 #define VA_RC_CQP 0x00000010 1055 #define VA_RC_VBR_CONSTRAINED 0x00000020 1058 #define VA_RC_ICQ 0x00000040 1061 #define VA_RC_MB 0x00000080 1063 #define VA_RC_CFS 0x00000100 1074 #define VA_RC_PARALLEL 0x00000200 1081 #define VA_RC_QVBR 0x00000400 1092 #define VA_RC_AVBR 0x00000800 1101 #define VA_RC_TCBRC 0x00001000 1108 #define VA_DEC_SLICE_MODE_NORMAL 0x00000001 1110 #define VA_DEC_SLICE_MODE_BASE 0x00000002 1114 typedef union _VAConfigAttribValDecJPEG {
1117 uint32_t rotation : 4;
1119 uint32_t reserved : 28;
1122 } VAConfigAttribValDecJPEG;
1126 #define VA_DEC_PROCESSING_NONE 0x00000000 1128 #define VA_DEC_PROCESSING 0x00000001 1134 #define VA_ENC_PACKED_HEADER_NONE 0x00000000 1141 #define VA_ENC_PACKED_HEADER_SEQUENCE 0x00000001 1148 #define VA_ENC_PACKED_HEADER_PICTURE 0x00000002 1155 #define VA_ENC_PACKED_HEADER_SLICE 0x00000004 1164 #define VA_ENC_PACKED_HEADER_MISC 0x00000008 1166 #define VA_ENC_PACKED_HEADER_RAW_DATA 0x00000010 1172 #define VA_ENC_INTERLACED_NONE 0x00000000 1174 #define VA_ENC_INTERLACED_FRAME 0x00000001 1176 #define VA_ENC_INTERLACED_FIELD 0x00000002 1178 #define VA_ENC_INTERLACED_MBAFF 0x00000004 1180 #define VA_ENC_INTERLACED_PAFF 0x00000008 1186 #define VA_ENC_SLICE_STRUCTURE_POWER_OF_TWO_ROWS 0x00000001 1188 #define VA_ENC_SLICE_STRUCTURE_ARBITRARY_MACROBLOCKS 0x00000002 1190 #define VA_ENC_SLICE_STRUCTURE_EQUAL_ROWS 0x00000004 1192 #define VA_ENC_SLICE_STRUCTURE_MAX_SLICE_SIZE 0x00000008 1194 #define VA_ENC_SLICE_STRUCTURE_ARBITRARY_ROWS 0x00000010 1198 #define VA_ENC_SLICE_STRUCTURE_EQUAL_MULTI_ROWS 0x00000020 1202 typedef union _VAConfigAttribValMaxFrameSize {
1219 typedef union _VAConfigAttribValEncJPEG {
1229 uint32_t max_num_components : 3;
1230 uint32_t max_num_scans : 4;
1231 uint32_t max_num_huffman_tables : 3;
1232 uint32_t max_num_quantization_tables : 3;
1240 #define VA_ENC_QUANTIZATION_NONE 0x00000000 1242 #define VA_ENC_QUANTIZATION_TRELLIS_SUPPORTED 0x00000001 1253 #define VA_PREDICTION_DIRECTION_PREVIOUS 0x00000001 1255 #define VA_PREDICTION_DIRECTION_FUTURE 0x00000002 1257 #define VA_PREDICTION_DIRECTION_BI_NOT_EMPTY 0x00000004 1263 #define VA_ENC_INTRA_REFRESH_NONE 0x00000000 1265 #define VA_ENC_INTRA_REFRESH_ROLLING_COLUMN 0x00000001 1267 #define VA_ENC_INTRA_REFRESH_ROLLING_ROW 0x00000002 1269 #define VA_ENC_INTRA_REFRESH_ADAPTIVE 0x00000010 1271 #define VA_ENC_INTRA_REFRESH_CYCLIC 0x00000020 1273 #define VA_ENC_INTRA_REFRESH_P_FRAME 0x00010000 1275 #define VA_ENC_INTRA_REFRESH_B_FRAME 0x00020000 1277 #define VA_ENC_INTRA_REFRESH_MULTI_REF 0x00040000 1282 typedef union _VAConfigAttribValEncROI {
1310 uint32_t reserved : 22;
1316 typedef union _VAConfigAttribValEncRateControlExt {
1351 uint32_t reserved : 23;
1357 typedef union _VAConfigAttribValMultipleFrame {
1372 typedef union _VAConfigAttribValContextPriority{
1385 #define VA_PC_CIPHER_AES 0x00000001 1389 #define VA_PC_BLOCK_SIZE_128 0x00000001 1391 #define VA_PC_BLOCK_SIZE_192 0x00000002 1393 #define VA_PC_BLOCK_SIZE_256 0x00000004 1397 #define VA_PC_CIPHER_MODE_ECB 0x00000001 1399 #define VA_PC_CIPHER_MODE_CBC 0x00000002 1401 #define VA_PC_CIPHER_MODE_CTR 0x00000004 1405 #define VA_PC_SAMPLE_TYPE_FULLSAMPLE 0x00000001 1407 #define VA_PC_SAMPLE_TYPE_SUBSAMPLE 0x00000002 1411 #define VA_PC_USAGE_DEFAULT 0x00000000 1413 #define VA_PC_USAGE_WIDEVINE 0x00000001 1418 #define VA_PROCESSING_RATE_NONE 0x00000000 1420 #define VA_PROCESSING_RATE_ENCODE 0x00000001 1422 #define VA_PROCESSING_RATE_DECODE 0x00000002 1428 #define VA_ATTRIB_NOT_SUPPORTED 0x80000000 1467 int *num_entrypoints
1489 typedef VAGenericID VAConfigID;
1502 VAConfigID *config_id
1510 VAConfigID config_id
1523 VAConfigID config_id,
1552 typedef VAGenericID VASurfaceID;
1554 #define VA_INVALID_ID 0xffffffff 1555 #define VA_INVALID_SURFACE VA_INVALID_ID 1569 typedef struct _VAGenericValue {
1588 #define VA_SURFACE_ATTRIB_NOT_SUPPORTED 0x00000000 1590 #define VA_SURFACE_ATTRIB_GETTABLE 0x00000001 1592 #define VA_SURFACE_ATTRIB_SETTABLE 0x00000002 1597 VASurfaceAttribNone = 0,
1640 typedef struct _VASurfaceAttrib {
1657 #define VA_SURFACE_ATTRIB_MEM_TYPE_VA 0x00000001 1659 #define VA_SURFACE_ATTRIB_MEM_TYPE_V4L2 0x00000002 1661 #define VA_SURFACE_ATTRIB_MEM_TYPE_USER_PTR 0x00000004 1668 typedef struct _VASurfaceAttribExternalBuffers {
1680 uint32_t pitches[4];
1682 uint32_t offsets[4];
1696 #define VA_SURFACE_EXTBUF_DESC_ENABLE_TILING 0x00000001 1698 #define VA_SURFACE_EXTBUF_DESC_CACHED 0x00000002 1700 #define VA_SURFACE_EXTBUF_DESC_UNCACHED 0x00000004 1702 #define VA_SURFACE_EXTBUF_DESC_WC 0x00000008 1704 #define VA_SURFACE_EXTBUF_DESC_PROTECTED 0x80000000 1709 #define VA_SURFACE_ATTRIB_USAGE_HINT_GENERIC 0x00000000 1711 #define VA_SURFACE_ATTRIB_USAGE_HINT_DECODER 0x00000001 1713 #define VA_SURFACE_ATTRIB_USAGE_HINT_ENCODER 0x00000002 1715 #define VA_SURFACE_ATTRIB_USAGE_HINT_VPP_READ 0x00000004 1717 #define VA_SURFACE_ATTRIB_USAGE_HINT_VPP_WRITE 0x00000008 1719 #define VA_SURFACE_ATTRIB_USAGE_HINT_DISPLAY 0x00000010 1722 #define VA_SURFACE_ATTRIB_USAGE_HINT_EXPORT 0x00000020 1758 unsigned int *num_attribs
1781 unsigned int format,
1783 unsigned int height,
1784 VASurfaceID *surfaces,
1785 unsigned int num_surfaces,
1787 unsigned int num_attribs
1800 VASurfaceID *surfaces,
1804 #define VA_PROGRESSIVE 0x1 1819 VAConfigID config_id,
1823 VASurfaceID *render_targets,
1824 int num_render_targets,
1825 VAContextID *context
1839 typedef VAGenericID VAMFContextID;
1858 VAMFContextID *mf_context
1896 VAMFContextID mf_context,
1914 VAMFContextID mf_context,
1930 VAPictureParameterBufferType = 0,
1931 VAIQMatrixBufferType = 1,
1932 VABitPlaneBufferType = 2,
1933 VASliceGroupMapBufferType = 3,
1934 VASliceParameterBufferType = 4,
1935 VASliceDataBufferType = 5,
1936 VAMacroblockParameterBufferType = 6,
1937 VAResidualDataBufferType = 7,
1938 VADeblockingParameterBufferType = 8,
1939 VAImageBufferType = 9,
1940 VAProtectedSliceDataBufferType = 10,
1941 VAQMatrixBufferType = 11,
1942 VAHuffmanTableBufferType = 12,
1943 VAProbabilityBufferType = 13,
1946 VAEncCodedBufferType = 21,
1947 VAEncSequenceParameterBufferType = 22,
1948 VAEncPictureParameterBufferType = 23,
1949 VAEncSliceParameterBufferType = 24,
1950 VAEncPackedHeaderParameterBufferType = 25,
1951 VAEncPackedHeaderDataBufferType = 26,
1952 VAEncMiscParameterBufferType = 27,
1953 VAEncMacroblockParameterBufferType = 28,
1954 VAEncMacroblockMapBufferType = 29,
1989 VAEncFEIMBCodeBufferType = 44,
1990 VAEncFEIDistortionBufferType = 45,
1991 VAEncFEIMBControlBufferType = 46,
1992 VAEncFEIMVPredictorBufferType = 47,
1993 VAStatsStatisticsParameterBufferType = 48,
1998 VAStatsMVBufferType = 51,
1999 VAStatsMVPredictorBufferType = 52,
2060 typedef struct _VAContextParameterUpdateBuffer
2074 uint32_t reserved[VA_PADDING_MEDIUM];
2089 #define VA_ENCRYPTION_TYPE_FULLSAMPLE_CTR 0x00000001 2090 #define VA_ENCRYPTION_TYPE_FULLSAMPLE_CBC 0x00000002 2091 #define VA_ENCRYPTION_TYPE_SUBSAMPLE_CTR 0x00000004 2092 #define VA_ENCRYPTION_TYPE_SUBSAMPLE_CBC 0x00000008 2095 typedef struct _VAEncryptionSegmentInfo {
2109 uint8_t aes_cbc_iv_or_ctr[64];
2111 uint32_t va_reserved[VA_PADDING_MEDIUM];
2115 typedef struct _VAEncryptionParameters {
2132 uint8_t wrapped_decrypt_blob[64];
2135 uint8_t wrapped_encrypt_blob[64];
2158 uint32_t va_reserved[VA_PADDING_MEDIUM];
2164 typedef struct _VAProcessingRateParameterEnc {
2167 uint8_t reserved[3];
2181 typedef struct _VAProcessingRateParameterDec {
2184 uint8_t reserved0[3];
2188 typedef struct _VAProcessingRateParameter {
2193 } VAProcessingRateParameter;
2219 VAProcessingRateParameter *proc_buf,
2220 unsigned int *processing_rate
2225 VAEncMiscParameterTypeFrameRate = 0,
2226 VAEncMiscParameterTypeRateControl = 1,
2227 VAEncMiscParameterTypeMaxSliceSize = 2,
2228 VAEncMiscParameterTypeAIR = 3,
2233 VAEncMiscParameterTypeQualityLevel = 6,
2291 typedef struct _VAEncPackedHeaderParameterBuffer {
2320 typedef struct _VAEncMiscParameterBuffer
2327 typedef struct _VAEncMiscParameterTemporalLayerStructure
2339 uint32_t layer_id[32];
2347 typedef struct _VAEncMiscParameterRateControl
2410 uint32_t enable_dynamic_scaling : 1;
2467 typedef struct _VAEncMiscParameterFrameRate
2510 typedef struct _VAEncMiscParameterMaxSliceSize
2512 uint32_t max_slice_size;
2518 typedef struct _VAEncMiscParameterAIR
2520 uint32_t air_num_mbs;
2521 uint32_t air_threshold;
2526 } VAEncMiscParameterAIR;
2531 typedef struct _VAEncMiscParameterRIR
2544 uint32_t enable_rir_column : 1;
2546 uint32_t enable_rir_row : 1;
2547 uint32_t reserved : 30;
2555 uint16_t intra_insertion_location;
2560 uint16_t intra_insert_size;
2565 uint8_t qp_delta_for_inserted_intra;
2568 } VAEncMiscParameterRIR;
2578 typedef struct _VAEncMiscParameterHRD
2611 typedef struct _VAEncMiscParameterBufferMaxFrameSize {
2631 typedef struct _VAEncMiscParameterBufferMultiPassFrameSize {
2659 typedef struct _VAEncMiscParameterBufferQualityLevel {
2675 typedef struct _VAEncMiscParameterQuantization
2683 uint32_t disable_trellis : 1;
2685 uint32_t enable_trellis_I : 1;
2687 uint32_t enable_trellis_P : 1;
2689 uint32_t enable_trellis_B : 1;
2690 uint32_t reserved : 28;
2693 } quantization_flags;
2694 uint32_t va_reserved;
2706 typedef struct _VAEncMiscParameterSkipFrame {
2733 typedef struct _VAEncROI
2760 typedef struct _VAEncMiscParameterBufferROI {
2767 int8_t max_delta_qp;
2768 int8_t min_delta_qp;
2787 uint32_t roi_value_is_qp_delta : 1;
2788 uint32_t reserved : 31;
2795 } VAEncMiscParameterBufferROI;
2807 typedef struct _VAEncMiscParameterBufferDirtyRect
2810 uint32_t num_roi_rectangle;
2813 VARectangle *roi_rectangle;
2814 } VAEncMiscParameterBufferDirtyRect;
2817 typedef struct _VAEncMiscParameterParallelRateControl {
2829 typedef struct _VAEncMiscParameterEncQuality
2853 uint32_t ReservedBit : 1;
2888 uint32_t encControls;
2892 uint8_t FTQSkipThresholdLUT[52];
2894 uint16_t NonFTQSkipThresholdLUT[52];
2896 uint32_t reserved[VA_PADDING_HIGH];
2906 typedef struct _VAEncMiscParameterCustomRoundingControl
2933 uint32_t reserved :16;
2936 } rounding_offset_setting;
2947 #define VA_SLICE_DATA_FLAG_ALL 0x00 2948 #define VA_SLICE_DATA_FLAG_BEGIN 0x01 2949 #define VA_SLICE_DATA_FLAG_MIDDLE 0x02 2950 #define VA_SLICE_DATA_FLAG_END 0x04 2953 typedef struct _VASliceParameterBufferBase
2955 uint32_t slice_data_size;
2956 uint32_t slice_data_offset;
2957 uint32_t slice_data_flag;
2958 } VASliceParameterBufferBase;
2975 typedef struct _VAHuffmanTableBufferJPEGBaseline {
2977 uint8_t load_huffman_table[2];
2983 uint8_t num_dc_codes[16];
2985 uint8_t dc_values[12];
2990 uint8_t num_ac_codes[16];
2992 uint8_t ac_values[162];
3011 typedef struct _VAPictureParameterBufferMPEG2
3013 uint16_t horizontal_size;
3014 uint16_t vertical_size;
3015 VASurfaceID forward_reference_picture;
3016 VASurfaceID backward_reference_picture;
3018 int32_t picture_coding_type;
3022 uint32_t intra_dc_precision : 2;
3023 uint32_t picture_structure : 2;
3024 uint32_t top_field_first : 1;
3025 uint32_t frame_pred_frame_dct : 1;
3026 uint32_t concealment_motion_vectors : 1;
3027 uint32_t q_scale_type : 1;
3028 uint32_t intra_vlc_format : 1;
3029 uint32_t alternate_scan : 1;
3030 uint32_t repeat_first_field : 1;
3031 uint32_t progressive_frame : 1;
3032 uint32_t is_first_field : 1;
3037 } picture_coding_extension;
3041 } VAPictureParameterBufferMPEG2;
3044 typedef struct _VAIQMatrixBufferMPEG2
3055 uint8_t intra_quantiser_matrix[64];
3057 uint8_t non_intra_quantiser_matrix[64];
3059 uint8_t chroma_intra_quantiser_matrix[64];
3061 uint8_t chroma_non_intra_quantiser_matrix[64];
3068 typedef struct _VASliceParameterBufferMPEG2
3070 uint32_t slice_data_size;
3071 uint32_t slice_data_offset;
3072 uint32_t slice_data_flag;
3073 uint32_t macroblock_offset;
3074 uint32_t slice_horizontal_position;
3075 uint32_t slice_vertical_position;
3076 int32_t quantiser_scale_code;
3077 int32_t intra_slice_flag;
3084 typedef struct _VAMacroblockParameterBufferMPEG2
3086 uint16_t macroblock_address;
3092 uint8_t macroblock_type;
3095 uint32_t frame_motion_type : 2;
3096 uint32_t field_motion_type : 2;
3097 uint32_t dct_type : 1;
3101 uint8_t motion_vertical_field_select;
3111 int16_t PMV[2][2][2];
3112 uint16_t coded_block_pattern;
3119 uint16_t num_skipped_macroblocks;
3128 #define VA_MB_TYPE_MOTION_FORWARD 0x02 3129 #define VA_MB_TYPE_MOTION_BACKWARD 0x04 3130 #define VA_MB_TYPE_MOTION_PATTERN 0x08 3131 #define VA_MB_TYPE_MOTION_INTRA 0x10 3148 typedef struct _VAPictureParameterBufferMPEG4
3151 uint16_t vop_height;
3152 VASurfaceID forward_reference_picture;
3153 VASurfaceID backward_reference_picture;
3156 uint32_t short_video_header : 1;
3157 uint32_t chroma_format : 2;
3158 uint32_t interlaced : 1;
3159 uint32_t obmc_disable : 1;
3160 uint32_t sprite_enable : 2;
3161 uint32_t sprite_warping_accuracy : 2;
3162 uint32_t quant_type : 1;
3163 uint32_t quarter_sample : 1;
3164 uint32_t data_partitioned : 1;
3165 uint32_t reversible_vlc : 1;
3166 uint32_t resync_marker_disable : 1;
3170 uint8_t no_of_sprite_warping_points;
3171 int16_t sprite_trajectory_du[3];
3172 int16_t sprite_trajectory_dv[3];
3173 uint8_t quant_precision;
3176 uint32_t vop_coding_type : 2;
3177 uint32_t backward_reference_vop_coding_type : 2;
3178 uint32_t vop_rounding_type : 1;
3179 uint32_t intra_dc_vlc_thr : 3;
3180 uint32_t top_field_first : 1;
3181 uint32_t alternate_vertical_scan_flag : 1;
3185 uint8_t vop_fcode_forward;
3186 uint8_t vop_fcode_backward;
3187 uint16_t vop_time_increment_resolution;
3189 uint8_t num_gobs_in_vop;
3190 uint8_t num_macroblocks_in_gob;
3200 typedef struct _VAIQMatrixBufferMPEG4
3207 uint8_t intra_quant_mat[64];
3209 uint8_t non_intra_quant_mat[64];
3216 typedef struct _VASliceParameterBufferMPEG4
3218 uint32_t slice_data_size;
3219 uint32_t slice_data_offset;
3220 uint32_t slice_data_flag;
3221 uint32_t macroblock_offset;
3222 uint32_t macroblock_number;
3223 int32_t quant_scale;
3236 VAMvMode1MvHalfPel = 1,
3237 VAMvMode1MvHalfPelBilinear = 2,
3238 VAMvModeMixedMv = 3,
3239 VAMvModeIntensityCompensation = 4
3255 typedef struct _VAPictureParameterBufferVC1
3257 VASurfaceID forward_reference_picture;
3258 VASurfaceID backward_reference_picture;
3262 VASurfaceID inloop_decoded_picture;
3267 uint32_t pulldown : 1;
3268 uint32_t interlace : 1;
3269 uint32_t tfcntrflag : 1;
3270 uint32_t finterpflag : 1;
3272 uint32_t multires : 1;
3273 uint32_t overlap : 1;
3274 uint32_t syncmarker : 1;
3275 uint32_t rangered : 1;
3276 uint32_t max_b_frames : 3;
3277 uint32_t profile : 2;
3282 uint16_t coded_width;
3283 uint16_t coded_height;
3286 uint32_t broken_link : 1;
3287 uint32_t closed_entry : 1;
3288 uint32_t panscan_flag : 1;
3289 uint32_t loopfilter : 1;
3292 } entrypoint_fields;
3293 uint8_t conditional_overlap_flag;
3294 uint8_t fast_uvmc_flag;
3297 uint32_t luma_flag : 1;
3299 uint32_t chroma_flag : 1;
3300 uint32_t chroma : 3;
3303 } range_mapping_fields;
3305 uint8_t b_picture_fraction;
3307 uint8_t mb_mode_table;
3308 uint8_t range_reduction_frame;
3309 uint8_t rounding_control;
3310 uint8_t post_processing;
3311 uint8_t picture_resolution_index;
3317 uint32_t picture_type : 3;
3318 uint32_t frame_coding_mode : 3;
3319 uint32_t top_field_first : 1;
3320 uint32_t is_first_field : 1;
3321 uint32_t intensity_compensation : 1;
3327 uint32_t mv_type_mb : 1;
3328 uint32_t direct_mb : 1;
3329 uint32_t skip_mb : 1;
3330 uint32_t field_tx : 1;
3331 uint32_t forward_mb : 1;
3332 uint32_t ac_pred : 1;
3333 uint32_t overflags : 1;
3339 uint32_t bp_mv_type_mb : 1;
3340 uint32_t bp_direct_mb : 1;
3341 uint32_t bp_skip_mb : 1;
3342 uint32_t bp_field_tx : 1;
3343 uint32_t bp_forward_mb : 1;
3344 uint32_t bp_ac_pred : 1;
3345 uint32_t bp_overflags : 1;
3351 uint32_t reference_distance_flag : 1;
3352 uint32_t reference_distance : 5;
3353 uint32_t num_reference_pictures: 1;
3354 uint32_t reference_field_pic_indicator : 1;
3360 uint32_t mv_mode : 3;
3361 uint32_t mv_mode2 : 3;
3362 uint32_t mv_table : 3;
3363 uint32_t two_mv_block_pattern_table: 2;
3364 uint32_t four_mv_switch : 1;
3365 uint32_t four_mv_block_pattern_table : 2;
3366 uint32_t extended_mv_flag : 1;
3367 uint32_t extended_mv_range : 2;
3368 uint32_t extended_dmv_flag : 1;
3369 uint32_t extended_dmv_range : 2;
3375 uint32_t dquant : 2;
3376 uint32_t quantizer : 2;
3377 uint32_t half_qp : 1;
3378 uint32_t pic_quantizer_scale : 5;
3379 uint32_t pic_quantizer_type : 1;
3380 uint32_t dq_frame : 1;
3381 uint32_t dq_profile : 2;
3382 uint32_t dq_sb_edge : 2;
3383 uint32_t dq_db_edge : 2;
3384 uint32_t dq_binary_level : 1;
3385 uint32_t alt_pic_quantizer : 5;
3388 } pic_quantizer_fields;
3391 uint32_t variable_sized_transform_flag : 1;
3392 uint32_t mb_level_transform_type_flag : 1;
3393 uint32_t frame_level_transform_type : 2;
3394 uint32_t transform_ac_codingset_idx1 : 2;
3395 uint32_t transform_ac_codingset_idx2 : 2;
3396 uint32_t intra_transform_dc_table : 1;
3401 uint8_t luma_scale2;
3402 uint8_t luma_shift2;
3403 uint8_t intensity_compensation_field;
3406 uint32_t va_reserved[VA_PADDING_MEDIUM - 1];
3428 typedef struct _VASliceParameterBufferVC1
3430 uint32_t slice_data_size;
3431 uint32_t slice_data_offset;
3432 uint32_t slice_data_flag;
3433 uint32_t macroblock_offset;
3434 uint32_t slice_vertical_position;
3449 typedef struct _VAPictureH264
3451 VASurfaceID picture_id;
3454 int32_t TopFieldOrderCnt;
3455 int32_t BottomFieldOrderCnt;
3461 #define VA_PICTURE_H264_INVALID 0x00000001 3462 #define VA_PICTURE_H264_TOP_FIELD 0x00000002 3463 #define VA_PICTURE_H264_BOTTOM_FIELD 0x00000004 3464 #define VA_PICTURE_H264_SHORT_TERM_REFERENCE 0x00000008 3465 #define VA_PICTURE_H264_LONG_TERM_REFERENCE 0x00000010 3472 typedef struct _VAPictureParameterBufferH264
3474 VAPictureH264 CurrPic;
3475 VAPictureH264 ReferenceFrames[16];
3476 uint16_t picture_width_in_mbs_minus1;
3477 uint16_t picture_height_in_mbs_minus1;
3478 uint8_t bit_depth_luma_minus8;
3479 uint8_t bit_depth_chroma_minus8;
3480 uint8_t num_ref_frames;
3483 uint32_t chroma_format_idc : 2;
3484 uint32_t residual_colour_transform_flag : 1;
3485 uint32_t gaps_in_frame_num_value_allowed_flag : 1;
3486 uint32_t frame_mbs_only_flag : 1;
3487 uint32_t mb_adaptive_frame_field_flag : 1;
3488 uint32_t direct_8x8_inference_flag : 1;
3489 uint32_t MinLumaBiPredSize8x8 : 1;
3490 uint32_t log2_max_frame_num_minus4 : 4;
3491 uint32_t pic_order_cnt_type : 2;
3492 uint32_t log2_max_pic_order_cnt_lsb_minus4 : 4;
3493 uint32_t delta_pic_order_always_zero_flag : 1;
3498 va_deprecated uint8_t num_slice_groups_minus1;
3499 va_deprecated uint8_t slice_group_map_type;
3500 va_deprecated uint16_t slice_group_change_rate_minus1;
3501 int8_t pic_init_qp_minus26;
3502 int8_t pic_init_qs_minus26;
3503 int8_t chroma_qp_index_offset;
3504 int8_t second_chroma_qp_index_offset;
3507 uint32_t entropy_coding_mode_flag : 1;
3508 uint32_t weighted_pred_flag : 1;
3509 uint32_t weighted_bipred_idc : 2;
3510 uint32_t transform_8x8_mode_flag : 1;
3511 uint32_t field_pic_flag : 1;
3512 uint32_t constrained_intra_pred_flag : 1;
3513 uint32_t pic_order_present_flag : 1;
3514 uint32_t deblocking_filter_control_present_flag : 1;
3515 uint32_t redundant_pic_cnt_present_flag : 1;
3516 uint32_t reference_pic_flag : 1;
3523 uint32_t va_reserved[VA_PADDING_MEDIUM];
3527 typedef struct _VAIQMatrixBufferH264
3530 uint8_t ScalingList4x4[6][16];
3532 uint8_t ScalingList8x8[2][64];
3539 typedef struct _VASliceParameterBufferH264
3541 uint32_t slice_data_size;
3544 uint32_t slice_data_flag;
3556 uint16_t first_mb_in_slice;
3558 uint8_t direct_spatial_mv_pred_flag;
3573 uint8_t cabac_init_idc;
3574 int8_t slice_qp_delta;
3575 uint8_t disable_deblocking_filter_idc;
3576 int8_t slice_alpha_c0_offset_div2;
3577 int8_t slice_beta_offset_div2;
3578 VAPictureH264 RefPicList0[32];
3579 VAPictureH264 RefPicList1[32];
3580 uint8_t luma_log2_weight_denom;
3581 uint8_t chroma_log2_weight_denom;
3582 uint8_t luma_weight_l0_flag;
3583 int16_t luma_weight_l0[32];
3584 int16_t luma_offset_l0[32];
3585 uint8_t chroma_weight_l0_flag;
3586 int16_t chroma_weight_l0[32][2];
3587 int16_t chroma_offset_l0[32][2];
3588 uint8_t luma_weight_l1_flag;
3589 int16_t luma_weight_l1[32];
3590 int16_t luma_offset_l1[32];
3591 uint8_t chroma_weight_l1_flag;
3592 int16_t chroma_weight_l1[32][2];
3593 int16_t chroma_offset_l1[32][2];
3604 VAEncPictureTypeIntra = 0,
3605 VAEncPictureTypePredictive = 1,
3606 VAEncPictureTypeBidirectional = 2,
3616 typedef struct _VAEncSliceParameterBuffer
3618 uint32_t start_row_number;
3619 uint32_t slice_height;
3622 uint32_t is_intra : 1;
3623 uint32_t disable_deblocking_filter_idc : 2;
3624 uint32_t uses_long_term_ref :1;
3625 uint32_t is_long_term_ref :1;
3639 typedef struct _VAEncSequenceParameterBufferH263
3641 uint32_t intra_period;
3642 uint32_t bits_per_second;
3643 uint32_t frame_rate;
3644 uint32_t initial_qp;
3649 } VAEncSequenceParameterBufferH263;
3651 typedef struct _VAEncPictureParameterBufferH263
3653 VASurfaceID reference_picture;
3654 VASurfaceID reconstructed_picture;
3655 VABufferID coded_buf;
3656 uint16_t picture_width;
3657 uint16_t picture_height;
3658 VAEncPictureType picture_type;
3662 } VAEncPictureParameterBufferH263;
3668 typedef struct _VAEncSequenceParameterBufferMPEG4
3670 uint8_t profile_and_level_indication;
3671 uint32_t intra_period;
3672 uint32_t video_object_layer_width;
3673 uint32_t video_object_layer_height;
3674 uint32_t vop_time_increment_resolution;
3675 uint32_t fixed_vop_rate;
3676 uint32_t fixed_vop_time_increment;
3677 uint32_t bits_per_second;
3678 uint32_t frame_rate;
3679 uint32_t initial_qp;
3684 } VAEncSequenceParameterBufferMPEG4;
3686 typedef struct _VAEncPictureParameterBufferMPEG4
3688 VASurfaceID reference_picture;
3689 VASurfaceID reconstructed_picture;
3690 VABufferID coded_buf;
3691 uint16_t picture_width;
3692 uint16_t picture_height;
3693 uint32_t modulo_time_base;
3694 uint32_t vop_time_increment;
3695 VAEncPictureType picture_type;
3699 } VAEncPictureParameterBufferMPEG4;
3722 VAContextID context,
3725 unsigned int num_elements,
3743 VAContextID context,
3746 unsigned int height,
3747 unsigned int *unit_size,
3748 unsigned int *pitch,
3761 unsigned int num_elements
3779 #define VA_CODED_BUF_STATUS_PICTURE_AVE_QP_MASK 0xff 3780 #define VA_CODED_BUF_STATUS_LARGE_SLICE_MASK 0x100 3781 #define VA_CODED_BUF_STATUS_SLICE_OVERFLOW_MASK 0x200 3782 #define VA_CODED_BUF_STATUS_BITRATE_OVERFLOW 0x400 3783 #define VA_CODED_BUF_STATUS_BITRATE_HIGH 0x800 3791 #define VA_CODED_BUF_STATUS_FRAME_SIZE_OVERFLOW 0x1000 3795 #define VA_CODED_BUF_STATUS_BAD_BITSTREAM 0x8000 3796 #define VA_CODED_BUF_STATUS_AIR_MB_OVER_THRESHOLD 0xff0000 3806 #define VA_CODED_BUF_STATUS_NUMBER_PASSES_MASK 0xf000000 3815 #define VA_CODED_BUF_STATUS_SINGLE_NALU 0x10000000 3827 typedef struct _VACodedBufferSegment {
3885 VABufferID buffer_id
3998 #define VA_EXPORT_SURFACE_READ_ONLY 0x0001 4000 #define VA_EXPORT_SURFACE_WRITE_ONLY 0x0002 4002 #define VA_EXPORT_SURFACE_READ_WRITE 0x0003 4008 #define VA_EXPORT_SURFACE_SEPARATE_LAYERS 0x0004 4014 #define VA_EXPORT_SURFACE_COMPOSED_LAYERS 0x0008 4051 VASurfaceID surface_id,
4052 uint32_t mem_type, uint32_t flags,
4072 VAContextID context,
4073 VASurfaceID render_target
4081 VAContextID context,
4082 VABufferID *buffers,
4120 VAMFContextID mf_context,
4121 VAContextID * contexts,
4138 VASurfaceID render_target
4142 #define VA_TIMEOUT_INFINITE 0xFFFFFFFFFFFFFFFF 4166 VASurfaceID surface,
4172 VASurfaceRendering = 1,
4173 VASurfaceDisplaying = 2,
4177 VASurfaceSkipped = 8
4185 VASurfaceID render_target,
4186 VASurfaceStatus *status
4191 VADecodeSliceMissing = 0,
4192 VADecodeMBError = 1,
4193 } VADecodeErrorType;
4199 typedef struct _VASurfaceDecodeMBErrors
4204 VADecodeErrorType decode_error_type;
4220 VASurfaceID surface,
4221 VAStatus error_status,
4272 #define VA_FOURCC(ch0, ch1, ch2, ch3) \ 4273 ((unsigned long)(unsigned char) (ch0) | ((unsigned long)(unsigned char) (ch1) << 8) | \ 4274 ((unsigned long)(unsigned char) (ch2) << 16) | ((unsigned long)(unsigned char) (ch3) << 24 )) 4281 #define VA_FOURCC_NV12 0x3231564E 4285 #define VA_FOURCC_NV21 0x3132564E 4291 #define VA_FOURCC_AI44 0x34344149 4297 #define VA_FOURCC_RGBA 0x41424752 4302 #define VA_FOURCC_RGBX 0x58424752 4307 #define VA_FOURCC_BGRA 0x41524742 4312 #define VA_FOURCC_BGRX 0x58524742 4317 #define VA_FOURCC_ARGB 0x42475241 4322 #define VA_FOURCC_XRGB 0x42475258 4327 #define VA_FOURCC_ABGR 0x52474241 4332 #define VA_FOURCC_XBGR 0x52474258 4338 #define VA_FOURCC_UYVY 0x59565955 4343 #define VA_FOURCC_YUY2 0x32595559 4348 #define VA_FOURCC_AYUV 0x56555941 4353 #define VA_FOURCC_NV11 0x3131564e 4358 #define VA_FOURCC_YV12 0x32315659 4363 #define VA_FOURCC_P208 0x38303250 4368 #define VA_FOURCC_I420 0x30323449 4373 #define VA_FOURCC_YV24 0x34325659 4378 #define VA_FOURCC_YV32 0x32335659 4381 #define VA_FOURCC_Y800 0x30303859 4387 #define VA_FOURCC_IMC3 0x33434D49 4392 #define VA_FOURCC_411P 0x50313134 4398 #define VA_FOURCC_411R 0x52313134 4403 #define VA_FOURCC_422H 0x48323234 4408 #define VA_FOURCC_422V 0x56323234 4413 #define VA_FOURCC_444P 0x50343434 4419 #define VA_FOURCC_RGBP 0x50424752 4424 #define VA_FOURCC_BGRP 0x50524742 4430 #define VA_FOURCC_RGB565 0x36314752 4436 #define VA_FOURCC_BGR565 0x36314742 4443 #define VA_FOURCC_Y210 0x30313259 4449 #define VA_FOURCC_Y212 0x32313259 4455 #define VA_FOURCC_Y216 0x36313259 4461 #define VA_FOURCC_Y410 0x30313459 4467 #define VA_FOURCC_Y412 0x32313459 4473 #define VA_FOURCC_Y416 0x36313459 4479 #define VA_FOURCC_YV16 0x36315659 4485 #define VA_FOURCC_P010 0x30313050 4491 #define VA_FOURCC_P012 0x32313050 4497 #define VA_FOURCC_P016 0x36313050 4504 #define VA_FOURCC_I010 0x30313049 4510 #define VA_FOURCC_IYUV 0x56555949 4514 #define VA_FOURCC_A2R10G10B10 0x30335241 4518 #define VA_FOURCC_A2B10G10R10 0x30334241 4522 #define VA_FOURCC_X2R10G10B10 0x30335258 4526 #define VA_FOURCC_X2B10G10R10 0x30334258 4532 #define VA_FOURCC_Y8 0x20203859 4537 #define VA_FOURCC_Y16 0x20363159 4542 #define VA_FOURCC_VYUY 0x59555956 4547 #define VA_FOURCC_YVYU 0x55595659 4552 #define VA_FOURCC_ARGB64 0x34475241 4557 #define VA_FOURCC_ABGR64 0x34474241 4562 #define VA_FOURCC_XYUV 0x56555958 4565 #define VA_LSB_FIRST 1 4566 #define VA_MSB_FIRST 2 4568 typedef struct _VAImageFormat
4571 uint32_t byte_order;
4572 uint32_t bits_per_pixel;
4576 uint32_t green_mask;
4578 uint32_t alpha_mask;
4584 typedef VAGenericID VAImageID;
4586 typedef struct _VAImage
4589 VAImageFormat format;
4601 uint32_t num_planes;
4606 uint32_t pitches[3];
4611 uint32_t offsets[3];
4614 int32_t num_palette_entries;
4619 int32_t entry_bytes;
4624 int8_t component_order[4];
4643 VAImageFormat *format_list,
4656 VAImageFormat *format,
4670 VAStatus vaSetImagePalette (
4678 unsigned char *palette
4687 VASurfaceID surface,
4691 unsigned int height,
4703 VASurfaceID surface,
4707 unsigned int src_width,
4708 unsigned int src_height,
4711 unsigned int dest_width,
4712 unsigned int dest_height
4748 VASurfaceID surface,
4767 #define VA_SUBPICTURE_CHROMA_KEYING 0x0001 4768 #define VA_SUBPICTURE_GLOBAL_ALPHA 0x0002 4769 #define VA_SUBPICTURE_DESTINATION_IS_SCREEN_COORD 0x0004 4784 VAImageFormat *format_list,
4785 unsigned int *flags,
4786 unsigned int *num_formats
4795 VASubpictureID *subpicture
4803 VASubpictureID subpicture
4812 VASubpictureID subpicture,
4827 VASubpictureID subpicture,
4828 unsigned int chromakey_min,
4829 unsigned int chromakey_max,
4830 unsigned int chromakey_mask
4840 VASubpictureID subpicture,
4853 VASubpictureID subpicture,
4854 VASurfaceID *target_surfaces,
4859 uint16_t src_height,
4862 uint16_t dest_width,
4863 uint16_t dest_height,
4876 VASubpictureID subpicture,
4877 VASurfaceID *target_surfaces,
4901 VADISPLAYATTRIB_BLE_OFF = 0x00,
4902 VADISPLAYATTRIB_BLE_LOW,
4903 VADISPLAYATTRIB_BLE_MEDIUM,
4904 VADISPLAYATTRIB_BLE_HIGH,
4905 VADISPLAYATTRIB_BLE_NONE,
4909 #define VA_ROTATION_NONE 0x00000000 4910 #define VA_ROTATION_90 0x00000001 4911 #define VA_ROTATION_180 0x00000002 4912 #define VA_ROTATION_270 0x00000003 4924 #define VA_MIRROR_NONE 0x00000000 4926 #define VA_MIRROR_HORIZONTAL 0x00000001 4928 #define VA_MIRROR_VERTICAL 0x00000002 4932 #define VA_OOL_DEBLOCKING_FALSE 0x00000000 4933 #define VA_OOL_DEBLOCKING_TRUE 0x00000001 4936 #define VA_RENDER_MODE_UNDEFINED 0 4937 #define VA_RENDER_MODE_LOCAL_OVERLAY 1 4938 #define VA_RENDER_MODE_LOCAL_GPU 2 4939 #define VA_RENDER_MODE_EXTERNAL_OVERLAY 4 4940 #define VA_RENDER_MODE_EXTERNAL_GPU 8 4943 #define VA_RENDER_DEVICE_UNDEFINED 0 4944 #define VA_RENDER_DEVICE_LOCAL 1 4945 #define VA_RENDER_DEVICE_EXTERNAL 2 4960 typedef union _VADisplayAttribValSubDevice{
4991 VADisplayAttribBrightness = 0,
4992 VADisplayAttribContrast = 1,
4993 VADisplayAttribHue = 2,
4994 VADisplayAttribSaturation = 3,
5000 VADisplayAttribBackgroundColor = 4,
5012 VADisplayAttribDirectSurface = 5,
5013 VADisplayAttribRotation = 6,
5014 VADisplayAttribOutofLoopDeblock = 7,
5017 VADisplayAttribBLEBlackMode = 8,
5018 VADisplayAttribBLEWhiteMode = 9,
5019 VADisplayAttribBlueStretch = 10,
5020 VADisplayAttribSkinColorCorrection = 11,
5025 VADisplayAttribCSCMatrix = 12,
5033 VADisplayAttribBlendColor = 13,
5038 VADisplayAttribOverlayAutoPaintColorKey = 14,
5043 VADisplayAttribOverlayColorKey = 15,
5049 VADisplayAttribRenderMode = 16,
5055 VADisplayAttribRenderDevice = 17,
5059 VADisplayAttribRenderRect = 18,
5063 VADisplayAttribSubDevice = 19,
5069 VADisplayAttribCopy = 20,
5073 #define VA_DISPLAY_ATTRIB_NOT_SUPPORTED 0x0000 5074 #define VA_DISPLAY_ATTRIB_GETTABLE 0x0001 5075 #define VA_DISPLAY_ATTRIB_SETTABLE 0x0002 5077 typedef struct _VADisplayAttribute
5088 } VADisplayAttribute;
5103 VADisplayAttribute *attr_list,
5115 VADisplayAttribute *attr_list,
5127 VADisplayAttribute *attr_list,
5143 typedef struct _VAPictureHEVC
5162 #define VA_PICTURE_HEVC_INVALID 0x00000001 5166 #define VA_PICTURE_HEVC_FIELD_PIC 0x00000002 5171 #define VA_PICTURE_HEVC_BOTTOM_FIELD 0x00000004 5173 #define VA_PICTURE_HEVC_LONG_TERM_REFERENCE 0x00000008 5188 #define VA_PICTURE_HEVC_RPS_ST_CURR_BEFORE 0x00000010 5193 #define VA_PICTURE_HEVC_RPS_ST_CURR_AFTER 0x00000020 5198 #define VA_PICTURE_HEVC_RPS_LT_CURR 0x00000040 5201 VACopyObjectSurface = 0,
5202 VACopyObjectBuffer = 1,
5205 typedef struct _VACopyObject {
5206 VACopyObjectType obj_type;
5209 VASurfaceID surface_id;
5210 VABufferID buffer_id;
5213 uint32_t va_reserved[VA_PADDING_MEDIUM];
5216 typedef union _VACopyOption{
5219 uint32_t va_copy_sync : 2;
5221 uint32_t va_copy_mode : 4;
5222 uint32_t reserved :26;
5239 VAStatus
vaCopy(VADisplay dpy, VACopyObject * dst, VACopyObject * src, VACopyOption option);
5243 #include <va/va_dec_vp8.h> combined submission of multiple frames from different streams, it is optimization for different HW im...
Definition: va.h:930
Encoding skip frame attribute. Read-only.
Definition: va.h:794
VAStatus vaCreateBuffer2(VADisplay dpy, VAContextID context, VABufferType type, unsigned int width, unsigned int height, unsigned int *unit_size, unsigned int *pitch, VABufferID *buf_id)
Decryption sample type of the protected content session.
Definition: va.h:974
The video processing API.
VAStatus vaQueryConfigAttributes(VADisplay dpy, VAConfigID config_id, VAProfile *profile, VAEntrypoint *entrypoint, VAConfigAttrib *attrib_list, int *num_attribs)
uint32_t max_num_concurrent_frames
max num of concurrent frames from different stream
Definition: va.h:1360
Tile Support Attribute. Read-only.
Definition: va.h:897
VAStatus vaBeginPicture(VADisplay dpy, VAContextID context, VASurfaceID render_target)
Video processing pipeline parameter buffer.
Definition: va.h:1971
Buffer type used for HRD parameters.
Definition: va.h:2232
uint32_t status_report_index
The status report index reserved for CENC fullsample workload. The related structures and definitions...
Definition: va.h:2127
uint32_t max_qp
Definition: va.h:2442
uint32_t ForceRepartitionCheck
Definition: va.h:2885
Set MB partion mode mask and Half-pel/Quant-pel motion search.
Definition: va.h:2252
Number of surface attributes.
Definition: va.h:1636
Attribute value for VAConfigAttribEncParallelRateControl.
Definition: va.h:2817
VAStatus vaSyncSurface2(VADisplay dpy, VASurfaceID surface, uint64_t timeout_ns)
Synchronizes pending operations associated with the supplied surface.
uint32_t data_size
total size of the buffer in bytes.
Definition: va.h:1676
uint32_t disable_frame_skip
Definition: va.h:2390
int32_t load_intra_quant_mat
Definition: va.h:3203
HEVC/H.265 encoding block sizes. Read-only.
Definition: va.h:1002
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.
Surface attribute.
Definition: va.h:1640
#define va_deprecated_enum
Misc packed header. See codec-specific definitions.
Definition: va.h:98
Buffer type used for parallel BRC parameters.
Definition: va.h:2250
inter frame prediction directrion attribute. Read-only. this attribute conveys the prediction directi...
Definition: va.h:926
int vaMaxNumImageFormats(VADisplay dpy)
uint32_t num_buffers
number of elements in the "buffers" array
Definition: va.h:1686
uint32_t enable_custom_rouding_intra
Enable customized rounding offset for intra blocks. If 0, default value would be taken by driver for ...
Definition: va.h:2914
VAMvModeVC1
Definition: va.h:3233
VAGenericID VAContextID
Definition: va.h:1550
VAStatus vaMFSubmit(VADisplay dpy, VAMFContextID mf_context, VAContextID *contexts, int num_contexts)
uint32_t max_frame_size
support max frame size if max_frame_size == 1, VAEncMiscParameterTypeMaxFrameSize/VAEncMiscParameterB...
Definition: va.h:1209
uint32_t num_planes
number of planes for planar layout
Definition: va.h:1678
int32_t i
32-bit signed integer.
Definition: va.h:1575
uint32_t framerate
Definition: va.h:2488
uint8_t num_passes
number of passes, every pass has different QP, currently AVC encoder can support up to 4 passes ...
Definition: va.h:2640
uint32_t FTQOverride
Definition: va.h:2844
VAStatus vaQuerySurfaceError(VADisplay dpy, VASurfaceID surface, VAStatus error_status, void **error_info)
uint32_t mixed_quality_level
indicate whether all stream must support same quality level if mixed_quality_level == 0...
Definition: va.h:1364
uint32_t non_interleaved_mode
set to 1 for non-interleaved.
Definition: va.h:1226
uint32_t multiple_pass
multiple_pass support
Definition: va.h:1211
void * private_data
reserved for passing private data
Definition: va.h:1690
uint32_t max_frame_size
Maximum size of a frame (in byte)
Definition: va.h:2636
uint32_t initial_buffer_fullness
Definition: va.h:2590
uint32_t NonFTQSkipThresholdLUTInput
Definition: va.h:2852
VAStatus vaDestroySurfaces(VADisplay dpy, VASurfaceID *surfaces, int num_surfaces)
VAStatus vaTerminate(VADisplay dpy)
VAStatus vaSyncSurface(VADisplay dpy, VASurfaceID render_target)
VAMessageCallback vaSetInfoCallback(VADisplay dpy, VAMessageCallback callback, void *user_context)
VAStatus vaSetSubpictureGlobalAlpha(VADisplay dpy, VASubpictureID subpicture, float global_alpha)
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)
int vaMaxNumEntrypoints(VADisplay dpy)
Rate control parameters.
Definition: va.h:2347
encode max frame size attribute. Read-only attribute value VAConfigAttribValMaxFrameSize represent ma...
Definition: va.h:914
uint32_t FTQEnable
Definition: va.h:2846
Attribute value for VAConfigAttribEncRateControlExt.
Definition: va.h:1316
set encode quality tuning
Definition: va.h:2254
Encode Slice Parameter Buffer.
Definition: va.h:3616
uint32_t height
height in pixels.
Definition: va.h:1674
uint32_t reserved
reserved bit for future, must be zero
Definition: va.h:1366
HEVC FEI CU level data buffer it's CTB level information for future usage.
Definition: va.h:2016
uint8_t * delta_qp
delta QP list for every pass
Definition: va.h:2642
VAStatus vaSetSubpictureImage(VADisplay dpy, VASubpictureID subpicture, VAImageID image)
Encoding skip frame.
Definition: va.h:2706
VAStatus vaCreateContext(VADisplay dpy, VAConfigID config_id, int picture_width, int picture_height, int flag, VASurfaceID *render_targets, int num_render_targets, VAContextID *context)
uint32_t buffer_size
Definition: va.h:2596
VA buffer information.
Definition: va.h:3889
HEVC Decoding Subset Parameter buffer type.
Definition: va.h:2031
Buffer type used for temporal layer structure.
Definition: va.h:2246
uint32_t rounding_offset_inter
Inter rounding offset Ignored if enable_custom_rouding_inter equals 0.
Definition: va.h:2930
uint32_t temporal_id
Definition: va.h:2402
Packed headers mode. Read/write.
Definition: va.h:684
Slice structure. Read-only.
Definition: va.h:728
const char * vaErrorStr(VAStatus error_status)
uint32_t roi_rc_priority_support
A flag indicates whether ROI priority is supported.
Definition: va.h:1297
VAStatus vaCopy(VADisplay dpy, VACopyObject *dst, VACopyObject *src, VACopyOption option)
Copies an object.
The FEI encoding HEVC special API.
Generic motion vector data structure.
Definition: va.h:412
uint32_t status
Status set by the driver. See VA_CODED_BUF_STATUS_*.
Definition: va.h:3835
uint32_t reserved
Reserved for future use.
Definition: va.h:3837
VAStatus vaQueryImageFormats(VADisplay dpy, VAImageFormat *format_list, int *num_formats)
VAEncMiscParameterType
Definition: va.h:2223
JPEG encoding attribute. Read-only.
Definition: va.h:762
AV1 decoding features. Read-only.
Definition: va.h:942
Statistics attribute. Read-only.
Definition: va.h:889
Defines a maximum frame size (in bits).
Definition: va.h:2611
VAStatus vaGetConfigAttributes(VADisplay dpy, VAProfile profile, VAEntrypoint entrypoint, VAConfigAttrib *attrib_list, int num_attribs)
size_t mem_size
Size of the underlying buffer.
Definition: va.h:3904
uint32_t periodicity
The length of the array defining frame layer membership. Should be 1-32.
Definition: va.h:2332
uint16_t slice_data_bit_offset
Bit offset from NAL Header Unit to the begining of slice_data().
Definition: va.h:3555
VAStatus vaQuerySurfaceAttributes(VADisplay dpy, VAConfigID config, VASurfaceAttrib *attrib_list, unsigned int *num_attribs)
Queries surface attributes for the supplied config.
uint32_t window_size
Definition: va.h:2362
Encoding quality range attribute. Read-only.
Definition: va.h:771
VAStatus vaEndPicture(VADisplay dpy, VAContextID context)
uint32_t reserved
Definition: va.h:2427
uint32_t basic_unit_size
Definition: va.h:2378
Cipher block size of the protected content session.
Definition: va.h:960
Buffer type used for Rolling intra refresh.
Definition: va.h:2235
uint32_t size_of_length
CENC counter length.
Definition: va.h:2129
uint32_t sub_device_count
sub devices count, read - only
Definition: va.h:4965
Buffer type used for quantization parameters, it's per-sequence parameter.
Definition: va.h:2237
Temporal layer Structure.
Definition: va.h:2327
VAProfile
Definition: va.h:494
uint32_t HMEDisable
Definition: va.h:2872
VAStatus vaSetSubpictureChromakey(VADisplay dpy, VASubpictureID subpicture, unsigned int chromakey_min, unsigned int chromakey_max, unsigned int chromakey_mask)
VAStatus vaCreateConfig(VADisplay dpy, VAProfile profile, VAEntrypoint entrypoint, VAConfigAttrib *attrib_list, int num_attribs, VAConfigID *config_id)
const char * vaQueryVendorString(VADisplay dpy)
uint32_t target_percentage
Definition: va.h:2356
VAEntrypoint
Definition: va.h:540
VABufferType
Definition: va.h:1928
uint32_t current_sub_device
current sub device index, read - write
Definition: va.h:4963
Maximum picture height. Read-only.
Definition: va.h:754
uint32_t quality_level
quality level. When set to 0, default quality level is used.
Definition: va.h:2171
VAStatus vaCreateImage(VADisplay dpy, VAImageFormat *format, int width, int height, VAImage *image)
Parallel Rate Control (hierachical B) attribute. Read-only.
Definition: va.h:850
uint32_t bit_offset
Bit offset into the data buffer where the video data starts.
Definition: va.h:3833
uint32_t reserved
Reserved bits for future use, must be zero.
Definition: va.h:2067
Processing rate reporting attribute. Read-only.
Definition: va.h:824
Quantization settings for encoding.
Definition: va.h:2675
uint32_t size
Size of the data buffer in this segment (in bytes).
Definition: va.h:3831
Huffman table for JPEG decoding.
Definition: va.h:2975
Packed picture header.
Definition: va.h:2268
uint32_t number_of_layers
The number of temporal layers.
Definition: va.h:2330
uint32_t roi_rc_qp_delta_support
A flag indicates whether ROI delta QP is supported.
Definition: va.h:1309
Encryption parameters buffer for VAEncryptionParameterBufferType.
Definition: va.h:2115
uint32_t blocks_stripe_encrypted
Indicates the number of 16-byte BLOCKS that are encrypted in any given encrypted region of segments...
Definition: va.h:2149
Cipher algorithm of the protected content session.
Definition: va.h:953
VAGenericID VABufferID
Definition: va.h:1926
VAStatus vaSetDriverName(VADisplay dpy, char *driver_name)
VAStatus vaGetDisplayAttributes(VADisplay dpy, VADisplayAttribute *attr_list, int num_attributes)
Custom Encoder Rounding Offset Control. Application may use this structure to set customized rounding...
Definition: va.h:2906
int32_t pic_order_cnt
picture order count. in HEVC, POCs for top and bottom fields of same picture should take different va...
Definition: va.h:5153
VAStatus vaDestroyImage(VADisplay dpy, VAImageID image)
uint32_t skipCheckDisable
Definition: va.h:2841
Buffer type used to express a maximum frame size (in bits).
Definition: va.h:2230
int vaMaxNumSubpictureFormats(VADisplay dpy)
uint8_t level_idc
Profile level.
Definition: va.h:2183
uint32_t bits_per_second
Definition: va.h:2350
HEVC/H.265 encoding features. Read-only.
Definition: va.h:992
void(* VAMessageCallback)(void *user_context, const char *message)
Definition: va.h:422
uint32_t useRawPicForRef
Definition: va.h:2838
Buffer type used for FEI input frame level parameters.
Definition: va.h:2258
VAEntrypointStats.
Definition: va.h:592
VAStatus vaMFReleaseContext(VADisplay dpy, VAMFContextID mf_context, VAContextID context)
Minimal height in pixels (int, read-only).
Definition: va.h:1613
void * buf
Pointer to the start of the data buffer.
Definition: va.h:3839
priority setting for the context. Read-Write attribute value is VAConfigAttribValContextPriority this...
Definition: va.h:935
uint32_t frame_tolerance_mode
Definition: va.h:2425
Encoding intra refresh attribute. Read-only.
Definition: va.h:786
HEVC FEI CTB level cmd buffer it is CTB level information for future usage.
Definition: va.h:2011
Special usage attribute of the protected session.
Definition: va.h:981
uint32_t max_num_temporal_layers_minus1
The maximum number of temporal layers minus 1.
Definition: va.h:1325
Encryption parameters buffer for protected content session.
Definition: va.h:2050
uint32_t type
Buffer type (See VABufferType).
Definition: va.h:3893
uint32_t disable_bit_stuffing
Definition: va.h:2392
uint32_t num_roi_regions
The number of ROI regions supported, 0 if ROI is not supported.
Definition: va.h:1285
uint32_t cfs_I_frames
Definition: va.h:2404
VAStatus vaAcquireBufferHandle(VADisplay dpy, VABufferID buf_id, VABufferInfo *buf_info)
Acquires buffer handle for external API usage.
Maximum frame size (in bytes) settings for multiple pass.
Definition: va.h:2631
Protected session execution buffer type.
Definition: va.h:2044
uint32_t reserved
reserved bits for future, must be zero
Definition: va.h:4967
uint32_t PanicModeDisable
Definition: va.h:2880
VAEntrypointProtectedTEEComm.
Definition: va.h:598
VAStatus vaDestroySubpicture(VADisplay dpy, VASubpictureID subpicture)
Encoding extended rate control attribute. Read-only.
Definition: va.h:813
Maximum picture width. Read-only.
Definition: va.h:747
uintptr_t handle
Buffer handle.
Definition: va.h:3891
VADisplayAttribBLEMode
Definition: va.h:4899
VAPrivFunc vaGetLibFunc(VADisplay dpy, const char *func)
The FEI encoding common API.
int32_t load_chroma_intra_quantiser_matrix
Same as the MPEG-2 bitstream syntax element.
Definition: va.h:3051
VAMessageCallback vaSetErrorCallback(VADisplay dpy, VAMessageCallback callback, void *user_context)
VAStatus vaDestroyContext(VADisplay dpy, VAContextID context)
uint32_t context_priority_update
indicate whether context priority changed
Definition: va.h:2065
uint32_t globalMotionBiasAdjustmentEnable
Definition: va.h:2863
VAStatus vaMapBuffer(VADisplay dpy, VABufferID buf_id, void **pbuf)
VAGenericID VASubpictureID
Definition: va.h:4759
uint8_t num_ref_idx_l0_active_minus1
Definition: va.h:3565
uint32_t enable_parallel_brc
Definition: va.h:2409
VAStatus vaQueryConfigProfiles(VADisplay dpy, VAProfile *profile_list, int *num_profiles)
VAStatus vaCreateSubpicture(VADisplay dpy, VAImageID image, VASubpictureID *subpicture)
The FEI encoding H264 special API.
VASurfaceAttribType
Surface attribute types.
Definition: va.h:1596
VAGenericValue value
Value. See "Surface attribute types" for the expected types.
Definition: va.h:1646
TEE could be any HW secure device. Read-only.
Definition: va.h:944
Encoding region-of-interest (ROI) attribute. Read-only.
Definition: va.h:805
Maximum number of slices per frame. Read-only.
Definition: va.h:711
VAStatus vaRenderPicture(VADisplay dpy, VAContextID context, VABufferID *buffers, int num_buffers)
Maximum number of reference frames. Read-only.
Definition: va.h:704
Encode function type for FEI.
Definition: va.h:873
Slice Decoding mode. Read/write.
Definition: va.h:630
VAStatus vaBufferSetNumElements(VADisplay dpy, VABufferID buf_id, unsigned int num_elements)
uint32_t reserved
Reserved bytes for future use, must be zero.
Definition: va.h:2638
uint8_t level_idc
Profile level.
Definition: va.h:2166
uint32_t reserved
Definition: va.h:2496
VAStatus vaInitialize(VADisplay dpy, int *major_version, int *minor_version)
VAStatus vaSyncBuffer(VADisplay dpy, VABufferID buf_id, uint64_t timeout_ns)
Synchronizes pending operations associated with the supplied buffer.
uint32_t mem_type
Buffer memory type (See VASurfaceAttribMemoryType).
Definition: va.h:3902
VAStatus vaGetImage(VADisplay dpy, VASurfaceID surface, int x, int y, unsigned int width, unsigned int height, VAImageID image)
Profile ID used for video processing.
Definition: va.h:497
VAGenericFunc fn
Pointer to function.
Definition: va.h:1581
uint32_t num_layers
Definition: va.h:2819
uint32_t target_frame_size
Definition: va.h:2456
Video filter parameter buffer.
Definition: va.h:1984
uint32_t differential_mode
set to 1 for differential.
Definition: va.h:1228
Maximal width in pixels (int, read-only).
Definition: va.h:1611
uint32_t FTQSkipThresholdLUTInput
Definition: va.h:2849
VAGenericValueType
Generic value types.
Definition: va.h:1558
uint8_t num_ref_idx_l1_active_minus1
Definition: va.h:3572
frame size tolerance support it indicates the tolerance of frame size
Definition: va.h:864
Buffer type used for dirty region-of-interest (ROI) parameters.
Definition: va.h:2248
VASurfaceID picture_id
reconstructed picture buffer surface index invalid when taking value VA_INVALID_SURFACE.
Definition: va.h:5148
List of possible DRM format modifiers (pointer, write).
Definition: va.h:1634
uint32_t temporal_layer_bitrate_control_flag
Definition: va.h:1350
VAStatus vaDestroyConfig(VADisplay dpy, VAConfigID config_id)
VAStatus vaSetDisplayAttributes(VADisplay dpy, VADisplayAttribute *attr_list, int num_attributes)
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.
Packed sequence header.
Definition: va.h:2266
uint32_t mb_rate_control
Definition: va.h:2400
Attribute value for VAConfigAttribEncROI.
Definition: va.h:1282
uint32_t * num_b_in_gop
Definition: va.h:2824
uint32_t width
width in pixels.
Definition: va.h:1672
uint32_t arithmatic_coding_mode
set to 1 for arithmatic coding.
Definition: va.h:1222
uint32_t reserved
reserved bits for future, must be zero
Definition: va.h:1213
VAEntrypointProtectedContent.
Definition: va.h:604
Encoding quality level.
Definition: va.h:2659
uint32_t initial_qp
Definition: va.h:2367
update the context parameter this structure is used to update context parameters, such as priority of...
Definition: va.h:2060
uint32_t temporal_id
Definition: va.h:2494
uint32_t priority
the priority , for the Query operation (read) it represents highest priority for the set operation (w...
Definition: va.h:1376
Macroblock information. Read-only.
Definition: va.h:740
int vaMaxNumProfiles(VADisplay dpy)
VASurfaceAttribType type
Type.
Definition: va.h:1642
VAStatus vaCreateBuffer(VADisplay dpy, VAContextID context, VABufferType type, unsigned int size, unsigned int num_elements, void *data, VABufferID *buf_id)
Buffer type used for encoder rounding offset parameters.
Definition: va.h:2256
Surface usage hint, gives the driver a hint of intended usage to optimize allocation (e...
Definition: va.h:1627
uint32_t pixel_format
pixel format in fourcc.
Definition: va.h:1670
VAStatus vaReleaseBufferHandle(VADisplay dpy, VABufferID buf_id)
Releases buffer after usage from external API.
Maximum number of FEI MV predictors. Read-only.
Definition: va.h:881
VAEncryptionSegmentInfo * segment_info
Pointer of segments.
Definition: va.h:2123
void * next
Pointer to the next VACodedBufferSegment element, or NULL if there is none.
Definition: va.h:3844
int32_t load_non_intra_quant_mat
Definition: va.h:3205
void * VANativeDisplay
Definition: va.h:443
uint32_t sub_device_mask
bit mask to indicate which sub_device is available, read only
Definition: va.h:4983
uint8_t skip_frame_flag
Indicates skip frames as below. 0: Encode as normal, no skip. 1: One or more frames were skipped prio...
Definition: va.h:2713
Interlaced mode. Read/write.
Definition: va.h:693
VAEntrypointFEI.
Definition: va.h:575
uint32_t HMEMVCostScalingFactor
Definition: va.h:2870
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)
int8_t roi_value
ROI value.
Definition: va.h:2757
Dynamic Scaling Attribute. Read-only.
Definition: va.h:859
Buffer type used to express a maximum frame size (in bytes) settings for multiple pass...
Definition: va.h:2244
uint32_t ip_period
Period between I/P frames.
Definition: va.h:2175
#define VA_PADDING_LOW
Definition: va.h:358
uint32_t max_frame_size
Maximum size of a frame (in bits).
Definition: va.h:2616
structure for encrypted segment info.
Definition: va.h:2095
int32_t load_intra_quantiser_matrix
Same as the MPEG-2 bitstream syntax element.
Definition: va.h:3047
uint32_t init_byte_length
The length in bytes of the initial clear data.
Definition: va.h:2105
Packed raw header.
Definition: va.h:2279
float f
32-bit float.
Definition: va.h:1577
VAStatus vaCreateMFContext(VADisplay dpy, VAMFContextID *mf_context)
Pixel format as a FOURCC (int, read/write).
Definition: va.h:1607
VAStatus vaDestroyBuffer(VADisplay dpy, VABufferID buffer_id)
uint32_t quality_factor
Definition: va.h:2447
uint32_t reset
Definition: va.h:2388
unsigned int VAGenericID
Definition: va.h:1487
VAEncPackedHeaderType
Packed header type.
Definition: va.h:2264
VAConfigAttribType
Definition: va.h:608
uint32_t progressive_dct_mode
set to 1 for progressive dct.
Definition: va.h:1224
uint32_t size_skip_frames
When skip_frame_flag = 1, the size of the skipped frames in bits. When skip_frame_flag = 2...
Definition: va.h:2718
uintptr_t * buffers
buffer handles or user pointers
Definition: va.h:1684
adjust context parameters dynamically
Definition: va.h:2037
void * VADisplay
Definition: va.h:258
int32_t load_chroma_non_intra_quantiser_matrix
Same as the MPEG-2 bitstream syntax element.
Definition: va.h:3053
VAStatus vaQueryDisplayAttributes(VADisplay dpy, VADisplayAttribute *attr_list, int *num_attributes)
VAGenericValueType type
Value type. See VAGenericValueType.
Definition: va.h:1571
Decode processing support. Read/write.
Definition: va.h:671
VAStatus vaQueryConfigEntrypoints(VADisplay dpy, VAProfile profile, VAEntrypoint *entrypoint_list, int *num_entrypoints)
uint32_t partial_aes_block_size
The length in bytes of the remainder of an incomplete block from a previous segment.
Definition: va.h:2103
Statistics output for VAEntrypointStats progressive and top field of interlaced case.
Definition: va.h:1995
uint32_t key_blob_size
key blob size It could be VA_PC_BLOCK_SIZE_128, VA_PC_BLOCK_SIZE_192, or VA_PC_BLOCK_SIZE_256 ...
Definition: va.h:2140
int vaMaxNumConfigAttributes(VADisplay dpy)
Buffer type used for region-of-interest (ROI) parameters.
Definition: va.h:2242
Attribute value for VAConfigAttribEncJPEG.
Definition: va.h:1219
void(* VAGenericFunc)(void)
Generic function type.
Definition: va.h:1566
uint32_t flags
flags. See "Surface external buffer descriptor flags".
Definition: va.h:1688
VAStatus vaDeriveImage(VADisplay dpy, VASurfaceID surface, VAImage *image)
uint8_t num_skip_frames
The number of frames skipped prior to the current frame. Valid when skip_frame_flag = 1...
Definition: va.h:2715
JPEG decoding attribute. Read-only.
Definition: va.h:638
Generic value.
Definition: va.h:1569
VAStatus vaDeassociateSubpicture(VADisplay dpy, VASubpictureID subpicture, VASurfaceID *target_surfaces, int num_surfaces)
encode extension buffer, ect. MPEG2 Sequence extenstion data
Definition: va.h:2260
sub device info Sub-device is the concept basing on the "device" behind "vaDisplay". If a device could be divided to several sub devices, the task of decode/encode/vpp could be assigned on one sub-device. So, application could choose the sub device before any other operations. After that, all of the task execution/resource allocation will be dispatched to the sub device. If application does not choose the sub device, driver will assign one as default.
Definition: va.h:4960
Buffer type used for sending skip frame parameters to the encoder's rate control, when the user has e...
Definition: va.h:2240
uint32_t intra_period
Period between I frames.
Definition: va.h:2173
VAStatus vaQueryProcessingRate(VADisplay dpy, VAConfigID config, VAProcessingRateParameter *proc_buf, unsigned int *processing_rate)
Queries processing rate for the supplied config.
VAStatus vaQuerySubpictureFormats(VADisplay dpy, VAImageFormat *format_list, unsigned int *flags, unsigned int *num_formats)
uint32_t quality_level
Encoding quality level setting. When set to 0, default quality level is used.
Definition: va.h:2663
Minimal width in pixels (int, read-only).
Definition: va.h:1609
Encoding QP info block size attribute. Read-only. This attribute conveys the block sizes that underly...
Definition: va.h:909
Encoding dirty rectangle. Read-only.
Definition: va.h:838
Surface memory type expressed in bit fields (int, read/write).
Definition: va.h:1617
whether accept rouding setting from application. Read-only. This attribute is for encode quality...
Definition: va.h:903
int vaMaxNumDisplayAttributes(VADisplay dpy)
uint32_t flags
Flags. See "Surface attribute flags".
Definition: va.h:1644
Coded buffer segment.
Definition: va.h:3827
void * p
Generic pointer.
Definition: va.h:1579
Statistics output for VAEntrypointStats bottom field of interlaced case.
Definition: va.h:1997
uint32_t min_qp
Definition: va.h:2373
External buffer descriptor (pointer, write).
Definition: va.h:1624
uint32_t enable_custom_rounding_inter
Enable customized rounding offset for inter blocks. If 0, default value would be taken by driver for ...
Definition: va.h:2925
uint32_t rounding_offset_intra
Intra rounding offset Ignored if enable_custom_rouding_intra equals 0.
Definition: va.h:2919
uint32_t SuperHMEDisable
Definition: va.h:2874
VAConfigAttribValContextPriority context_priority
task/context priority
Definition: va.h:2072
Description of picture properties of those in DPB surfaces.
Definition: va.h:5143
int32_t load_non_intra_quantiser_matrix
Same as the MPEG-2 bitstream syntax element.
Definition: va.h:3049
Maximal height in pixels (int, read-only).
Definition: va.h:1615
uint32_t blocks_stripe_clear
Indicates the number of 16-byte BLOCKS that are clear in any given encrypted region of segments...
Definition: va.h:2156
TEE type client is a specific module supporting specific functions in TEE. Read-only.
Definition: va.h:946
VAStatus vaMFAddContext(VADisplay dpy, VAMFContextID mf_context, VAContextID context)
Encoding quantization attribute. Read-only.
Definition: va.h:778
FEI specific buffer types.
Definition: va.h:1988
uint32_t slice_data_offset
Byte offset to the NAL Header Unit for this slice.
Definition: va.h:3543
uint32_t directBiasAdjustmentEnable
Definition: va.h:2856
Attribute value for VAConfigAttribMultipleFrame.
Definition: va.h:1357
uint32_t encryption_type
Encryption type, refer to VA_ENCRYPTION_TYPE_FULLSAMPLE_CTR, VA_ENCRYPTION_TYPE_FULLSAMPLE_CBC, VA_ENCRYPTION_TYPE_SUBSAMPLE_CTR, or VA_ENCRYPTION_TYPE_SUBSAMPLE_CBC.
Definition: va.h:2119
Encoding QP buffer.
Definition: va.h:1963
uint32_t ICQ_quality_factor
Definition: va.h:2436
VAStatus vaQuerySurfaceStatus(VADisplay dpy, VASurfaceID render_target, VASurfaceStatus *status)
Encoding region-of-interest (ROI).
Definition: va.h:2733
Profile ID used for protected video playback.
Definition: va.h:534
Packed slice header.
Definition: va.h:2270
uint32_t segment_length
The length of the segments in bytes.
Definition: va.h:2100
uint32_t segment_start_offset
The offset relative to the start of the bitstream input in bytes of the start of the segment...
Definition: va.h:2098
uint32_t reserved
reserved bits for future, must be zero
Definition: va.h:1378
VAStatus vaUnmapBuffer(VADisplay dpy, VABufferID buf_id)
VASurfaceAttribExternalBuffers structure for the VASurfaceAttribExternalBufferDescriptor attribute...
Definition: va.h:1668
Attribute value for VAConfigAttribMaxFrameSize.
Definition: va.h:1202
VARectangle roi_rectangle
Defines the ROI boundary in pixels, the driver will map it to appropriate codec coding units...
Definition: va.h:2738
uint32_t UltraHMEDisable
Definition: va.h:2876
VADisplayAttribType
Definition: va.h:4989
Cipher mode of the protected content session.
Definition: va.h:967
uint32_t num_segments
The number of sengments.
Definition: va.h:2121