83 #include <va/va_version.h>
142 typedef int VAStatus;
144 #define VA_STATUS_SUCCESS 0x00000000
145 #define VA_STATUS_ERROR_OPERATION_FAILED 0x00000001
146 #define VA_STATUS_ERROR_ALLOCATION_FAILED 0x00000002
147 #define VA_STATUS_ERROR_INVALID_DISPLAY 0x00000003
148 #define VA_STATUS_ERROR_INVALID_CONFIG 0x00000004
149 #define VA_STATUS_ERROR_INVALID_CONTEXT 0x00000005
150 #define VA_STATUS_ERROR_INVALID_SURFACE 0x00000006
151 #define VA_STATUS_ERROR_INVALID_BUFFER 0x00000007
152 #define VA_STATUS_ERROR_INVALID_IMAGE 0x00000008
153 #define VA_STATUS_ERROR_INVALID_SUBPICTURE 0x00000009
154 #define VA_STATUS_ERROR_ATTR_NOT_SUPPORTED 0x0000000a
155 #define VA_STATUS_ERROR_MAX_NUM_EXCEEDED 0x0000000b
156 #define VA_STATUS_ERROR_UNSUPPORTED_PROFILE 0x0000000c
157 #define VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT 0x0000000d
158 #define VA_STATUS_ERROR_UNSUPPORTED_RT_FORMAT 0x0000000e
159 #define VA_STATUS_ERROR_UNSUPPORTED_BUFFERTYPE 0x0000000f
160 #define VA_STATUS_ERROR_SURFACE_BUSY 0x00000010
161 #define VA_STATUS_ERROR_FLAG_NOT_SUPPORTED 0x00000011
162 #define VA_STATUS_ERROR_INVALID_PARAMETER 0x00000012
163 #define VA_STATUS_ERROR_RESOLUTION_NOT_SUPPORTED 0x00000013
164 #define VA_STATUS_ERROR_UNIMPLEMENTED 0x00000014
165 #define VA_STATUS_ERROR_SURFACE_IN_DISPLAYING 0x00000015
166 #define VA_STATUS_ERROR_INVALID_IMAGE_FORMAT 0x00000016
167 #define VA_STATUS_ERROR_DECODING_ERROR 0x00000017
168 #define VA_STATUS_ERROR_ENCODING_ERROR 0x00000018
176 #define VA_STATUS_ERROR_INVALID_VALUE 0x00000019
178 #define VA_STATUS_ERROR_UNSUPPORTED_FILTER 0x00000020
180 #define VA_STATUS_ERROR_INVALID_FILTER_CHAIN 0x00000021
182 #define VA_STATUS_ERROR_HW_BUSY 0x00000022
184 #define VA_STATUS_ERROR_UNSUPPORTED_MEMORY_TYPE 0x00000024
185 #define VA_STATUS_ERROR_UNKNOWN 0xFFFFFFFF
188 #define VA_FRAME_PICTURE 0x00000000
189 #define VA_TOP_FIELD 0x00000001
190 #define VA_BOTTOM_FIELD 0x00000002
198 #define VA_ENABLE_BLEND 0x00000004
205 #define VA_CLEAR_DRAWABLE 0x00000008
208 #define VA_SRC_BT601 0x00000010
209 #define VA_SRC_BT709 0x00000020
210 #define VA_SRC_SMPTE_240 0x00000040
213 #define VA_FILTER_SCALING_DEFAULT 0x00000000
214 #define VA_FILTER_SCALING_FAST 0x00000100
215 #define VA_FILTER_SCALING_HQ 0x00000200
216 #define VA_FILTER_SCALING_NL_ANAMORPHIC 0x00000300
217 #define VA_FILTER_SCALING_MASK 0x00000f00
222 const char *
vaErrorStr(VAStatus error_status);
233 int vaDisplayIsValid(VADisplay dpy);
263 typedef int (*VAPrivFunc)();
279 VAProfileMPEG2Simple = 0,
280 VAProfileMPEG2Main = 1,
281 VAProfileMPEG4Simple = 2,
282 VAProfileMPEG4AdvancedSimple = 3,
283 VAProfileMPEG4Main = 4,
284 VAProfileH264Baseline = 5,
285 VAProfileH264Main = 6,
286 VAProfileH264High = 7,
287 VAProfileVC1Simple = 8,
288 VAProfileVC1Main = 9,
289 VAProfileVC1Advanced = 10,
290 VAProfileH263Baseline = 11,
291 VAProfileJPEGBaseline = 12,
292 VAProfileH264ConstrainedBaseline = 13,
293 VAProfileVP8Version0_3 = 14,
294 VAProfileH264MultiviewHigh = 15,
295 VAProfileH264StereoHigh = 16,
296 VAProfileHEVCMain = 17,
297 VAProfileHEVCMain10 = 18
307 VAEntrypointIDCT = 3,
308 VAEntrypointMoComp = 4,
309 VAEntrypointDeblocking = 5,
310 VAEntrypointEncSlice = 6,
311 VAEntrypointEncPicture = 7,
318 VAConfigAttribRTFormat = 0,
319 VAConfigAttribSpatialResidual = 1,
320 VAConfigAttribSpatialClipping = 2,
321 VAConfigAttribIntraResidual = 3,
322 VAConfigAttribEncryption = 4,
323 VAConfigAttribRateControl = 5,
412 VAConfigAttribTypeMax
421 typedef struct _VAConfigAttrib {
427 #define VA_RT_FORMAT_YUV420 0x00000001
428 #define VA_RT_FORMAT_YUV422 0x00000002
429 #define VA_RT_FORMAT_YUV444 0x00000004
430 #define VA_RT_FORMAT_YUV411 0x00000008
431 #define VA_RT_FORMAT_YUV400 0x00000010
432 #define VA_RT_FORMAT_RGB16 0x00010000
433 #define VA_RT_FORMAT_RGB32 0x00020000
435 #define VA_RT_FORMAT_RGBP 0x00100000
436 #define VA_RT_FORMAT_PROTECTED 0x80000000
441 #define VA_RC_NONE 0x00000001
443 #define VA_RC_CBR 0x00000002
445 #define VA_RC_VBR 0x00000004
447 #define VA_RC_VCM 0x00000008
449 #define VA_RC_CQP 0x00000010
451 #define VA_RC_VBR_CONSTRAINED 0x00000020
457 #define VA_ENC_PACKED_HEADER_NONE 0x00000000
459 #define VA_ENC_PACKED_HEADER_SEQUENCE 0x00000001
461 #define VA_ENC_PACKED_HEADER_PICTURE 0x00000002
463 #define VA_ENC_PACKED_HEADER_SLICE 0x00000004
465 #define VA_ENC_PACKED_HEADER_MISC 0x00000008
467 #define VA_ENC_PACKED_HEADER_RAW_DATA 0x00000010
473 #define VA_ENC_INTERLACED_NONE 0x00000000
475 #define VA_ENC_INTERLACED_FRAME 0x00000001
477 #define VA_ENC_INTERLACED_FIELD 0x00000002
479 #define VA_ENC_INTERLACED_MBAFF 0x00000004
481 #define VA_ENC_INTERLACED_PAFF 0x00000008
487 #define VA_ENC_SLICE_STRUCTURE_ARBITRARY_ROWS 0x00000000
489 #define VA_ENC_SLICE_STRUCTURE_POWER_OF_TWO_ROWS 0x00000001
491 #define VA_ENC_SLICE_STRUCTURE_ARBITRARY_MACROBLOCKS 0x00000002
495 typedef union _VAConfigAttribValEncJPEG {
498 unsigned int arithmatic_coding_mode : 1;
500 unsigned int progressive_dct_mode : 1;
502 unsigned int non_interleaved_mode : 1;
504 unsigned int differential_mode : 1;
505 unsigned int max_num_components : 3;
506 unsigned int max_num_scans : 4;
507 unsigned int max_num_huffman_tables : 3;
508 unsigned int max_num_quantization_tables : 3;
517 #define VA_ATTRIB_NOT_SUPPORTED 0x80000000
578 typedef VAGenericID VAConfigID;
591 VAConfigID *config_id
612 VAConfigID config_id,
638 typedef VAGenericID VASurfaceID;
640 #define VA_INVALID_ID 0xffffffff
641 #define VA_INVALID_SURFACE VA_INVALID_ID
655 typedef struct _VAGenericValue {
674 #define VA_SURFACE_ATTRIB_NOT_SUPPORTED 0x00000000
676 #define VA_SURFACE_ATTRIB_GETTABLE 0x00000001
678 #define VA_SURFACE_ATTRIB_SETTABLE 0x00000002
683 VASurfaceAttribNone = 0,
715 typedef struct _VASurfaceAttrib {
732 #define VA_SURFACE_ATTRIB_MEM_TYPE_VA 0x00000001
734 #define VA_SURFACE_ATTRIB_MEM_TYPE_V4L2 0x00000002
736 #define VA_SURFACE_ATTRIB_MEM_TYPE_USER_PTR 0x00000004
743 typedef struct _VASurfaceAttribExternalBuffers {
755 unsigned int pitches[4];
757 unsigned int offsets[4];
771 #define VA_SURFACE_EXTBUF_DESC_ENABLE_TILING 0x00000001
773 #define VA_SURFACE_EXTBUF_DESC_CACHED 0x00000002
775 #define VA_SURFACE_EXTBUF_DESC_UNCACHED 0x00000004
777 #define VA_SURFACE_EXTBUF_DESC_WC 0x00000008
779 #define VA_SURFACE_EXTBUF_DESC_PROTECTED 0x80000000
784 #define VA_SURFACE_ATTRIB_USAGE_HINT_GENERIC 0x00000000
786 #define VA_SURFACE_ATTRIB_USAGE_HINT_DECODER 0x00000001
788 #define VA_SURFACE_ATTRIB_USAGE_HINT_ENCODER 0x00000002
790 #define VA_SURFACE_ATTRIB_USAGE_HINT_VPP_READ 0x00000004
792 #define VA_SURFACE_ATTRIB_USAGE_HINT_VPP_WRITE 0x00000008
794 #define VA_SURFACE_ATTRIB_USAGE_HINT_DISPLAY 0x00000010
831 unsigned int *num_attribs
858 VASurfaceID *surfaces,
859 unsigned int num_surfaces,
861 unsigned int num_attribs
874 VASurfaceID *surfaces,
878 #define VA_PROGRESSIVE 0x1
893 VAConfigID config_id,
897 VASurfaceID *render_targets,
898 int num_render_targets,
924 VAPictureParameterBufferType = 0,
925 VAIQMatrixBufferType = 1,
926 VABitPlaneBufferType = 2,
927 VASliceGroupMapBufferType = 3,
928 VASliceParameterBufferType = 4,
929 VASliceDataBufferType = 5,
930 VAMacroblockParameterBufferType = 6,
931 VAResidualDataBufferType = 7,
932 VADeblockingParameterBufferType = 8,
933 VAImageBufferType = 9,
934 VAProtectedSliceDataBufferType = 10,
935 VAQMatrixBufferType = 11,
936 VAHuffmanTableBufferType = 12,
937 VAProbabilityBufferType = 13,
940 VAEncCodedBufferType = 21,
941 VAEncSequenceParameterBufferType = 22,
942 VAEncPictureParameterBufferType = 23,
943 VAEncSliceParameterBufferType = 24,
944 VAEncPackedHeaderParameterBufferType = 25,
945 VAEncPackedHeaderDataBufferType = 26,
946 VAEncMiscParameterBufferType = 27,
947 VAEncMacroblockParameterBufferType = 28,
948 VAEncMacroblockMapBufferType = 29,
975 VAEncMiscParameterTypeFrameRate = 0,
976 VAEncMiscParameterTypeRateControl = 1,
977 VAEncMiscParameterTypeMaxSliceSize = 2,
978 VAEncMiscParameterTypeAIR = 3,
983 VAEncMiscParameterTypeQualityLevel = 6,
1008 typedef struct _VAEncPackedHeaderParameterBuffer {
1034 typedef struct _VAEncMiscParameterBuffer
1037 unsigned int data[0];
1042 typedef struct _VAEncMiscParameterRateControl
1045 unsigned int bits_per_second;
1050 unsigned int target_percentage;
1054 unsigned int window_size;
1056 unsigned int initial_qp;
1057 unsigned int min_qp;
1058 unsigned int basic_unit_size;
1063 unsigned int reset : 1;
1064 unsigned int disable_frame_skip : 1;
1065 unsigned int disable_bit_stuffing : 1;
1071 typedef struct _VAEncMiscParameterFrameRate
1073 unsigned int framerate;
1074 } VAEncMiscParameterFrameRate;
1081 typedef struct _VAEncMiscParameterMaxSliceSize
1083 unsigned int max_slice_size;
1086 typedef struct _VAEncMiscParameterAIR
1088 unsigned int air_num_mbs;
1089 unsigned int air_threshold;
1090 unsigned int air_auto;
1091 } VAEncMiscParameterAIR;
1093 typedef struct _VAEncMiscParameterHRD
1095 unsigned int initial_buffer_fullness;
1096 unsigned int buffer_size;
1097 } VAEncMiscParameterHRD;
1108 typedef struct _VAEncMiscParameterBufferMaxFrameSize {
1126 typedef struct _VAEncMiscParameterBufferQualityLevel {
1141 #define VA_SLICE_DATA_FLAG_ALL 0x00
1142 #define VA_SLICE_DATA_FLAG_BEGIN 0x01
1143 #define VA_SLICE_DATA_FLAG_MIDDLE 0x02
1144 #define VA_SLICE_DATA_FLAG_END 0x04
1147 typedef struct _VASliceParameterBufferBase
1149 unsigned int slice_data_size;
1150 unsigned int slice_data_offset;
1151 unsigned int slice_data_flag;
1152 } VASliceParameterBufferBase;
1154 #include <va/va_dec_jpeg.h>
1165 typedef struct _VAPictureParameterBufferMPEG2
1167 unsigned short horizontal_size;
1168 unsigned short vertical_size;
1169 VASurfaceID forward_reference_picture;
1170 VASurfaceID backward_reference_picture;
1172 int picture_coding_type;
1176 unsigned int intra_dc_precision : 2;
1177 unsigned int picture_structure : 2;
1178 unsigned int top_field_first : 1;
1179 unsigned int frame_pred_frame_dct : 1;
1180 unsigned int concealment_motion_vectors : 1;
1181 unsigned int q_scale_type : 1;
1182 unsigned int intra_vlc_format : 1;
1183 unsigned int alternate_scan : 1;
1184 unsigned int repeat_first_field : 1;
1185 unsigned int progressive_frame : 1;
1186 unsigned int is_first_field : 1;
1191 } picture_coding_extension;
1192 } VAPictureParameterBufferMPEG2;
1195 typedef struct _VAIQMatrixBufferMPEG2
1206 unsigned char intra_quantiser_matrix[64];
1208 unsigned char non_intra_quantiser_matrix[64];
1210 unsigned char chroma_intra_quantiser_matrix[64];
1212 unsigned char chroma_non_intra_quantiser_matrix[64];
1216 typedef struct _VASliceParameterBufferMPEG2
1218 unsigned int slice_data_size;
1219 unsigned int slice_data_offset;
1220 unsigned int slice_data_flag;
1221 unsigned int macroblock_offset;
1222 unsigned int slice_horizontal_position;
1223 unsigned int slice_vertical_position;
1224 int quantiser_scale_code;
1225 int intra_slice_flag;
1229 typedef struct _VAMacroblockParameterBufferMPEG2
1231 unsigned short macroblock_address;
1237 unsigned char macroblock_type;
1240 unsigned int frame_motion_type : 2;
1241 unsigned int field_motion_type : 2;
1242 unsigned int dct_type : 1;
1246 unsigned char motion_vertical_field_select;
1257 unsigned short coded_block_pattern;
1264 unsigned short num_skipped_macroblocks;
1270 #define VA_MB_TYPE_MOTION_FORWARD 0x02
1271 #define VA_MB_TYPE_MOTION_BACKWARD 0x04
1272 #define VA_MB_TYPE_MOTION_PATTERN 0x08
1273 #define VA_MB_TYPE_MOTION_INTRA 0x10
1290 typedef struct _VAPictureParameterBufferMPEG4
1292 unsigned short vop_width;
1293 unsigned short vop_height;
1294 VASurfaceID forward_reference_picture;
1295 VASurfaceID backward_reference_picture;
1298 unsigned int short_video_header : 1;
1299 unsigned int chroma_format : 2;
1300 unsigned int interlaced : 1;
1301 unsigned int obmc_disable : 1;
1302 unsigned int sprite_enable : 2;
1303 unsigned int sprite_warping_accuracy : 2;
1304 unsigned int quant_type : 1;
1305 unsigned int quarter_sample : 1;
1306 unsigned int data_partitioned : 1;
1307 unsigned int reversible_vlc : 1;
1308 unsigned int resync_marker_disable : 1;
1312 unsigned char no_of_sprite_warping_points;
1313 short sprite_trajectory_du[3];
1314 short sprite_trajectory_dv[3];
1315 unsigned char quant_precision;
1318 unsigned int vop_coding_type : 2;
1319 unsigned int backward_reference_vop_coding_type : 2;
1320 unsigned int vop_rounding_type : 1;
1321 unsigned int intra_dc_vlc_thr : 3;
1322 unsigned int top_field_first : 1;
1323 unsigned int alternate_vertical_scan_flag : 1;
1327 unsigned char vop_fcode_forward;
1328 unsigned char vop_fcode_backward;
1329 unsigned short vop_time_increment_resolution;
1331 unsigned char num_gobs_in_vop;
1332 unsigned char num_macroblocks_in_gob;
1339 typedef struct _VAIQMatrixBufferMPEG4
1346 unsigned char intra_quant_mat[64];
1348 unsigned char non_intra_quant_mat[64];
1352 typedef struct _VASliceParameterBufferMPEG4
1354 unsigned int slice_data_size;
1355 unsigned int slice_data_offset;
1356 unsigned int slice_data_flag;
1357 unsigned int macroblock_offset;
1358 unsigned int macroblock_number;
1369 VAMvMode1MvHalfPel = 1,
1370 VAMvMode1MvHalfPelBilinear = 2,
1371 VAMvModeMixedMv = 3,
1372 VAMvModeIntensityCompensation = 4
1388 typedef struct _VAPictureParameterBufferVC1
1390 VASurfaceID forward_reference_picture;
1391 VASurfaceID backward_reference_picture;
1395 VASurfaceID inloop_decoded_picture;
1400 unsigned int pulldown : 1;
1401 unsigned int interlace : 1;
1402 unsigned int tfcntrflag : 1;
1403 unsigned int finterpflag : 1;
1404 unsigned int psf : 1;
1405 unsigned int multires : 1;
1406 unsigned int overlap : 1;
1407 unsigned int syncmarker : 1;
1408 unsigned int rangered : 1;
1409 unsigned int max_b_frames : 3;
1410 unsigned int profile : 2;
1415 unsigned short coded_width;
1416 unsigned short coded_height;
1419 unsigned int broken_link : 1;
1420 unsigned int closed_entry : 1;
1421 unsigned int panscan_flag : 1;
1422 unsigned int loopfilter : 1;
1425 } entrypoint_fields;
1426 unsigned char conditional_overlap_flag;
1427 unsigned char fast_uvmc_flag;
1430 unsigned int luma_flag : 1;
1431 unsigned int luma : 3;
1432 unsigned int chroma_flag : 1;
1433 unsigned int chroma : 3;
1436 } range_mapping_fields;
1438 unsigned char b_picture_fraction;
1439 unsigned char cbp_table;
1440 unsigned char mb_mode_table;
1441 unsigned char range_reduction_frame;
1442 unsigned char rounding_control;
1443 unsigned char post_processing;
1444 unsigned char picture_resolution_index;
1445 unsigned char luma_scale;
1446 unsigned char luma_shift;
1449 unsigned int picture_type : 3;
1450 unsigned int frame_coding_mode : 3;
1451 unsigned int top_field_first : 1;
1452 unsigned int is_first_field : 1;
1453 unsigned int intensity_compensation : 1;
1459 unsigned int mv_type_mb : 1;
1460 unsigned int direct_mb : 1;
1461 unsigned int skip_mb : 1;
1462 unsigned int field_tx : 1;
1463 unsigned int forward_mb : 1;
1464 unsigned int ac_pred : 1;
1465 unsigned int overflags : 1;
1471 unsigned int bp_mv_type_mb : 1;
1472 unsigned int bp_direct_mb : 1;
1473 unsigned int bp_skip_mb : 1;
1474 unsigned int bp_field_tx : 1;
1475 unsigned int bp_forward_mb : 1;
1476 unsigned int bp_ac_pred : 1;
1477 unsigned int bp_overflags : 1;
1483 unsigned int reference_distance_flag : 1;
1484 unsigned int reference_distance : 5;
1485 unsigned int num_reference_pictures: 1;
1486 unsigned int reference_field_pic_indicator : 1;
1492 unsigned int mv_mode : 3;
1493 unsigned int mv_mode2 : 3;
1494 unsigned int mv_table : 3;
1495 unsigned int two_mv_block_pattern_table: 2;
1496 unsigned int four_mv_switch : 1;
1497 unsigned int four_mv_block_pattern_table : 2;
1498 unsigned int extended_mv_flag : 1;
1499 unsigned int extended_mv_range : 2;
1500 unsigned int extended_dmv_flag : 1;
1501 unsigned int extended_dmv_range : 2;
1507 unsigned int dquant : 2;
1508 unsigned int quantizer : 2;
1509 unsigned int half_qp : 1;
1510 unsigned int pic_quantizer_scale : 5;
1511 unsigned int pic_quantizer_type : 1;
1512 unsigned int dq_frame : 1;
1513 unsigned int dq_profile : 2;
1514 unsigned int dq_sb_edge : 2;
1515 unsigned int dq_db_edge : 2;
1516 unsigned int dq_binary_level : 1;
1517 unsigned int alt_pic_quantizer : 5;
1520 } pic_quantizer_fields;
1523 unsigned int variable_sized_transform_flag : 1;
1524 unsigned int mb_level_transform_type_flag : 1;
1525 unsigned int frame_level_transform_type : 2;
1526 unsigned int transform_ac_codingset_idx1 : 2;
1527 unsigned int transform_ac_codingset_idx2 : 2;
1528 unsigned int intra_transform_dc_table : 1;
1553 typedef struct _VASliceParameterBufferVC1
1555 unsigned int slice_data_size;
1556 unsigned int slice_data_offset;
1557 unsigned int slice_data_flag;
1558 unsigned int macroblock_offset;
1559 unsigned int slice_vertical_position;
1571 typedef struct _VAPictureH264
1573 VASurfaceID picture_id;
1574 unsigned int frame_idx;
1576 signed int TopFieldOrderCnt;
1577 signed int BottomFieldOrderCnt;
1580 #define VA_PICTURE_H264_INVALID 0x00000001
1581 #define VA_PICTURE_H264_TOP_FIELD 0x00000002
1582 #define VA_PICTURE_H264_BOTTOM_FIELD 0x00000004
1583 #define VA_PICTURE_H264_SHORT_TERM_REFERENCE 0x00000008
1584 #define VA_PICTURE_H264_LONG_TERM_REFERENCE 0x00000010
1591 typedef struct _VAPictureParameterBufferH264
1593 VAPictureH264 CurrPic;
1594 VAPictureH264 ReferenceFrames[16];
1595 unsigned short picture_width_in_mbs_minus1;
1596 unsigned short picture_height_in_mbs_minus1;
1597 unsigned char bit_depth_luma_minus8;
1598 unsigned char bit_depth_chroma_minus8;
1599 unsigned char num_ref_frames;
1602 unsigned int chroma_format_idc : 2;
1603 unsigned int residual_colour_transform_flag : 1;
1604 unsigned int gaps_in_frame_num_value_allowed_flag : 1;
1605 unsigned int frame_mbs_only_flag : 1;
1606 unsigned int mb_adaptive_frame_field_flag : 1;
1607 unsigned int direct_8x8_inference_flag : 1;
1608 unsigned int MinLumaBiPredSize8x8 : 1;
1609 unsigned int log2_max_frame_num_minus4 : 4;
1610 unsigned int pic_order_cnt_type : 2;
1611 unsigned int log2_max_pic_order_cnt_lsb_minus4 : 4;
1612 unsigned int delta_pic_order_always_zero_flag : 1;
1616 unsigned char num_slice_groups_minus1;
1617 unsigned char slice_group_map_type;
1618 unsigned short slice_group_change_rate_minus1;
1619 signed char pic_init_qp_minus26;
1620 signed char pic_init_qs_minus26;
1621 signed char chroma_qp_index_offset;
1622 signed char second_chroma_qp_index_offset;
1625 unsigned int entropy_coding_mode_flag : 1;
1626 unsigned int weighted_pred_flag : 1;
1627 unsigned int weighted_bipred_idc : 2;
1628 unsigned int transform_8x8_mode_flag : 1;
1629 unsigned int field_pic_flag : 1;
1630 unsigned int constrained_intra_pred_flag : 1;
1631 unsigned int pic_order_present_flag : 1;
1632 unsigned int deblocking_filter_control_present_flag : 1;
1633 unsigned int redundant_pic_cnt_present_flag : 1;
1634 unsigned int reference_pic_flag : 1;
1638 unsigned short frame_num;
1642 typedef struct _VAIQMatrixBufferH264
1645 unsigned char ScalingList4x4[6][16];
1647 unsigned char ScalingList8x8[2][64];
1661 typedef struct _VASliceParameterBufferH264
1663 unsigned int slice_data_size;
1666 unsigned int slice_data_flag;
1678 unsigned short first_mb_in_slice;
1679 unsigned char slice_type;
1680 unsigned char direct_spatial_mv_pred_flag;
1681 unsigned char num_ref_idx_l0_active_minus1;
1682 unsigned char num_ref_idx_l1_active_minus1;
1683 unsigned char cabac_init_idc;
1684 char slice_qp_delta;
1685 unsigned char disable_deblocking_filter_idc;
1686 char slice_alpha_c0_offset_div2;
1687 char slice_beta_offset_div2;
1688 VAPictureH264 RefPicList0[32];
1689 VAPictureH264 RefPicList1[32];
1690 unsigned char luma_log2_weight_denom;
1691 unsigned char chroma_log2_weight_denom;
1692 unsigned char luma_weight_l0_flag;
1693 short luma_weight_l0[32];
1694 short luma_offset_l0[32];
1695 unsigned char chroma_weight_l0_flag;
1696 short chroma_weight_l0[32][2];
1697 short chroma_offset_l0[32][2];
1698 unsigned char luma_weight_l1_flag;
1699 short luma_weight_l1[32];
1700 short luma_offset_l1[32];
1701 unsigned char chroma_weight_l1_flag;
1702 short chroma_weight_l1[32][2];
1703 short chroma_offset_l1[32][2];
1711 VAEncPictureTypeIntra = 0,
1712 VAEncPictureTypePredictive = 1,
1713 VAEncPictureTypeBidirectional = 2,
1717 typedef struct _VAEncSliceParameterBuffer
1719 unsigned int start_row_number;
1720 unsigned int slice_height;
1723 unsigned int is_intra : 1;
1724 unsigned int disable_deblocking_filter_idc : 2;
1725 unsigned int uses_long_term_ref :1;
1726 unsigned int is_long_term_ref :1;
1730 } VAEncSliceParameterBuffer;
1737 typedef struct _VAEncSequenceParameterBufferH263
1739 unsigned int intra_period;
1740 unsigned int bits_per_second;
1741 unsigned int frame_rate;
1742 unsigned int initial_qp;
1743 unsigned int min_qp;
1744 } VAEncSequenceParameterBufferH263;
1746 typedef struct _VAEncPictureParameterBufferH263
1748 VASurfaceID reference_picture;
1749 VASurfaceID reconstructed_picture;
1750 VABufferID coded_buf;
1751 unsigned short picture_width;
1752 unsigned short picture_height;
1753 VAEncPictureType picture_type;
1754 } VAEncPictureParameterBufferH263;
1760 typedef struct _VAEncSequenceParameterBufferMPEG4
1762 unsigned char profile_and_level_indication;
1763 unsigned int intra_period;
1764 unsigned int video_object_layer_width;
1765 unsigned int video_object_layer_height;
1766 unsigned int vop_time_increment_resolution;
1767 unsigned int fixed_vop_rate;
1768 unsigned int fixed_vop_time_increment;
1769 unsigned int bits_per_second;
1770 unsigned int frame_rate;
1771 unsigned int initial_qp;
1772 unsigned int min_qp;
1773 } VAEncSequenceParameterBufferMPEG4;
1775 typedef struct _VAEncPictureParameterBufferMPEG4
1777 VASurfaceID reference_picture;
1778 VASurfaceID reconstructed_picture;
1779 VABufferID coded_buf;
1780 unsigned short picture_width;
1781 unsigned short picture_height;
1782 unsigned int modulo_time_base;
1783 unsigned int vop_time_increment;
1784 VAEncPictureType picture_type;
1785 } VAEncPictureParameterBufferMPEG4;
1807 VAContextID context,
1810 unsigned int num_elements,
1824 unsigned int num_elements
1842 #define VA_CODED_BUF_STATUS_PICTURE_AVE_QP_MASK 0xff
1843 #define VA_CODED_BUF_STATUS_LARGE_SLICE_MASK 0x100
1844 #define VA_CODED_BUF_STATUS_SLICE_OVERFLOW_MASK 0x200
1845 #define VA_CODED_BUF_STATUS_BITRATE_OVERFLOW 0x400
1846 #define VA_CODED_BUF_STATUS_BITRATE_HIGH 0x800
1854 #define VA_CODED_BUF_STATUS_FRAME_SIZE_OVERFLOW 0x1000
1855 #define VA_CODED_BUF_STATUS_AIR_MB_OVER_THRESHOLD 0xff0000
1864 #define VA_CODED_BUF_STATUS_SINGLE_NALU 0x10000000
1876 typedef struct _VACodedBufferSegment {
1926 VABufferID buffer_id
2044 VAContextID context,
2045 VASurfaceID render_target
2054 VAContextID context,
2055 VABufferID *buffers,
2083 VASurfaceID render_target
2088 VASurfaceRendering = 1,
2089 VASurfaceDisplaying = 2,
2093 VASurfaceSkipped = 8
2101 VASurfaceID render_target,
2102 VASurfaceStatus *status
2107 VADecodeSliceMissing = 0,
2108 VADecodeMBError = 1,
2109 } VADecodeErrorType;
2115 typedef struct _VASurfaceDecodeMBErrors
2118 unsigned int start_mb;
2119 unsigned int end_mb;
2120 VADecodeErrorType decode_error_type;
2133 VASurfaceID surface,
2134 VAStatus error_status,
2145 #define VA_FOURCC(ch0, ch1, ch2, ch3) \
2146 ((unsigned long)(unsigned char) (ch0) | ((unsigned long)(unsigned char) (ch1) << 8) | \
2147 ((unsigned long)(unsigned char) (ch2) << 16) | ((unsigned long)(unsigned char) (ch3) << 24 ))
2152 #define VA_FOURCC_NV12 0x3231564E
2153 #define VA_FOURCC_AI44 0x34344149
2154 #define VA_FOURCC_RGBA 0x41424752
2155 #define VA_FOURCC_RGBX 0x58424752
2156 #define VA_FOURCC_BGRA 0x41524742
2157 #define VA_FOURCC_BGRX 0x58524742
2158 #define VA_FOURCC_ARGB 0x42475241
2159 #define VA_FOURCC_XRGB 0x42475258
2160 #define VA_FOURCC_ABGR 0x52474241
2161 #define VA_FOURCC_XBGR 0x52474258
2162 #define VA_FOURCC_UYVY 0x59565955
2163 #define VA_FOURCC_YUY2 0x32595559
2164 #define VA_FOURCC_AYUV 0x56555941
2165 #define VA_FOURCC_NV11 0x3131564e
2166 #define VA_FOURCC_YV12 0x32315659
2167 #define VA_FOURCC_P208 0x38303250
2168 #define VA_FOURCC_IYUV 0x56555949
2169 #define VA_FOURCC_YV24 0x34325659
2170 #define VA_FOURCC_YV32 0x32335659
2171 #define VA_FOURCC_Y800 0x30303859
2172 #define VA_FOURCC_IMC3 0x33434D49
2173 #define VA_FOURCC_411P 0x50313134
2174 #define VA_FOURCC_422H 0x48323234
2175 #define VA_FOURCC_422V 0x56323234
2176 #define VA_FOURCC_444P 0x50343434
2177 #define VA_FOURCC_RGBP 0x50424752
2178 #define VA_FOURCC_BGRP 0x50524742
2179 #define VA_FOURCC_411R 0x52313134
2182 #define VA_LSB_FIRST 1
2183 #define VA_MSB_FIRST 2
2185 typedef struct _VAImageFormat
2187 unsigned int fourcc;
2188 unsigned int byte_order;
2189 unsigned int bits_per_pixel;
2192 unsigned int red_mask;
2193 unsigned int green_mask;
2194 unsigned int blue_mask;
2195 unsigned int alpha_mask;
2198 typedef VAGenericID VAImageID;
2200 typedef struct _VAImage
2203 VAImageFormat format;
2212 unsigned short width;
2213 unsigned short height;
2214 unsigned int data_size;
2215 unsigned int num_planes;
2220 unsigned int pitches[3];
2225 unsigned int offsets[3];
2228 int num_palette_entries;
2238 char component_order[4];
2254 VAImageFormat *format_list,
2267 VAImageFormat *format,
2281 VAStatus vaSetImagePalette (
2289 unsigned char *palette
2298 VASurfaceID surface,
2302 unsigned int height,
2314 VASurfaceID surface,
2318 unsigned int src_width,
2319 unsigned int src_height,
2322 unsigned int dest_width,
2323 unsigned int dest_height
2359 VASurfaceID surface,
2378 #define VA_SUBPICTURE_CHROMA_KEYING 0x0001
2379 #define VA_SUBPICTURE_GLOBAL_ALPHA 0x0002
2380 #define VA_SUBPICTURE_DESTINATION_IS_SCREEN_COORD 0x0004
2395 VAImageFormat *format_list,
2396 unsigned int *flags,
2397 unsigned int *num_formats
2406 VASubpictureID *subpicture
2414 VASubpictureID subpicture
2423 VASubpictureID subpicture,
2438 VASubpictureID subpicture,
2439 unsigned int chromakey_min,
2440 unsigned int chromakey_max,
2441 unsigned int chromakey_mask
2451 VASubpictureID subpicture,
2464 VASubpictureID subpicture,
2465 VASurfaceID *target_surfaces,
2469 unsigned short src_width,
2470 unsigned short src_height,
2473 unsigned short dest_width,
2474 unsigned short dest_height,
2487 VASubpictureID subpicture,
2488 VASurfaceID *target_surfaces,
2492 typedef struct _VARectangle
2496 unsigned short width;
2497 unsigned short height;
2510 VADISPLAYATTRIB_BLE_OFF = 0x00,
2511 VADISPLAYATTRIB_BLE_LOW,
2512 VADISPLAYATTRIB_BLE_MEDIUM,
2513 VADISPLAYATTRIB_BLE_HIGH,
2514 VADISPLAYATTRIB_BLE_NONE,
2518 #define VA_ROTATION_NONE 0x00000000
2519 #define VA_ROTATION_90 0x00000001
2520 #define VA_ROTATION_180 0x00000002
2521 #define VA_ROTATION_270 0x00000003
2524 #define VA_OOL_DEBLOCKING_FALSE 0x00000000
2525 #define VA_OOL_DEBLOCKING_TRUE 0x00000001
2528 #define VA_RENDER_MODE_UNDEFINED 0
2529 #define VA_RENDER_MODE_LOCAL_OVERLAY 1
2530 #define VA_RENDER_MODE_LOCAL_GPU 2
2531 #define VA_RENDER_MODE_EXTERNAL_OVERLAY 4
2532 #define VA_RENDER_MODE_EXTERNAL_GPU 8
2535 #define VA_RENDER_DEVICE_UNDEFINED 0
2536 #define VA_RENDER_DEVICE_LOCAL 1
2537 #define VA_RENDER_DEVICE_EXTERNAL 2
2542 VADisplayAttribBrightness = 0,
2543 VADisplayAttribContrast = 1,
2544 VADisplayAttribHue = 2,
2545 VADisplayAttribSaturation = 3,
2551 VADisplayAttribBackgroundColor = 4,
2563 VADisplayAttribDirectSurface = 5,
2564 VADisplayAttribRotation = 6,
2565 VADisplayAttribOutofLoopDeblock = 7,
2568 VADisplayAttribBLEBlackMode = 8,
2569 VADisplayAttribBLEWhiteMode = 9,
2570 VADisplayAttribBlueStretch = 10,
2571 VADisplayAttribSkinColorCorrection = 11,
2576 VADisplayAttribCSCMatrix = 12,
2584 VADisplayAttribBlendColor = 13,
2589 VADisplayAttribOverlayAutoPaintColorKey = 14,
2594 VADisplayAttribOverlayColorKey = 15,
2600 VADisplayAttribRenderMode = 16,
2606 VADisplayAttribRenderDevice = 17,
2610 VADisplayAttribRenderRect = 18,
2614 #define VA_DISPLAY_ATTRIB_NOT_SUPPORTED 0x0000
2615 #define VA_DISPLAY_ATTRIB_GETTABLE 0x0001
2616 #define VA_DISPLAY_ATTRIB_SETTABLE 0x0002
2618 typedef struct _VADisplayAttribute
2626 } VADisplayAttribute;
2641 VADisplayAttribute *attr_list,
2653 VADisplayAttribute *attr_list,
2665 VADisplayAttribute *attr_list,
2681 typedef struct _VAPictureHEVC
2697 #define VA_PICTURE_HEVC_INVALID 0x00000001
2701 #define VA_PICTURE_HEVC_FIELD_PIC 0x00000002
2706 #define VA_PICTURE_HEVC_BOTTOM_FIELD 0x00000004
2708 #define VA_PICTURE_HEVC_LONG_TERM_REFERENCE 0x00000008
2723 #define VA_PICTURE_HEVC_RPS_ST_CURR_BEFORE 0x00000010
2728 #define VA_PICTURE_HEVC_RPS_ST_CURR_AFTER 0x00000020
2733 #define VA_PICTURE_HEVC_RPS_LT_CURR 0x00000040
VAStatus vaQueryConfigAttributes(VADisplay dpy, VAConfigID config_id, VAProfile *profile, VAEntrypoint *entrypoint, VAConfigAttrib *attrib_list, int *num_attribs)
void(* VAGenericFunc)(void)
Generic function type.
Definition: va.h:652
VAStatus vaBeginPicture(VADisplay dpy, VAContextID context, VASurfaceID render_target)
VAStatus vaSetDisplayAttributes(VADisplay dpy, VADisplayAttribute *attr_list, int num_attributes)
Video processing pipeline parameter buffer.
Definition: va.h:956
Buffer type used for HRD parameters.
Definition: va.h:982
Number of surface attributes.
Definition: va.h:711
int load_non_intra_quant_mat
Definition: va.h:1344
Surface attribute.
Definition: va.h:715
int vaMaxNumImageFormats(VADisplay dpy)
VAMvModeVC1
Definition: va.h:1366
VAGenericID VAContextID
Definition: va.h:636
Misc packed header. See codec-specific definitions.
Definition: va.h:1004
VAStatus vaQuerySurfaceError(VADisplay dpy, VASurfaceID surface, VAStatus error_status, void **error_info)
void * private_data
reserved for passing private data
Definition: va.h:765
VAStatus vaDestroySurfaces(VADisplay dpy, VASurfaceID *surfaces, int num_surfaces)
VAStatus vaTerminate(VADisplay dpy)
VAStatus vaSyncSurface(VADisplay dpy, VASurfaceID render_target)
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)
unsigned int pixel_format
pixel format in fourcc.
Definition: va.h:745
int vaMaxNumEntrypoints(VADisplay dpy)
Rate control parameters.
Definition: va.h:1042
unsigned short slice_data_bit_offset
Bit offset from NAL Header Unit to the begining of slice_data().
Definition: va.h:1677
VAStatus vaSetSubpictureImage(VADisplay dpy, VASubpictureID subpicture, VAImageID image)
int load_non_intra_quantiser_matrix
Same as the MPEG-2 bitstream syntax element.
Definition: va.h:1200
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 vaAssociateSubpicture(VADisplay dpy, VASubpictureID subpicture, VASurfaceID *target_surfaces, int num_surfaces, short src_x, short src_y, unsigned short src_width, unsigned short src_height, short dest_x, short dest_y, unsigned short dest_width, unsigned short dest_height, unsigned int flags)
VA buffer information.
Definition: va.h:1930
Packed headers mode. Read/write.
Definition: va.h:337
Slice structure. Read-only.
Definition: va.h:381
const char * vaErrorStr(VAStatus error_status)
VAStatus vaQueryImageFormats(VADisplay dpy, VAImageFormat *format_list, int *num_formats)
VAEncMiscParameterType
Definition: va.h:973
JPEG encoding attribute. Read-only.
Definition: va.h:401
Defines a maximum frame size (in bits).
Definition: va.h:1108
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:1945
VAStatus vaQuerySurfaceAttributes(VADisplay dpy, VAConfigID config, VASurfaceAttrib *attrib_list, unsigned int *num_attribs)
Queries surface attributes for the supplied config.
Encoding quality range attribute. Read-only.
Definition: va.h:410
VAStatus vaEndPicture(VADisplay dpy, VAContextID context)
unsigned int height
height in pixels.
Definition: va.h:749
unsigned int slice_data_offset
Byte offset to the NAL Header Unit for this slice.
Definition: va.h:1665
VADisplayAttribType
Definition: va.h:2540
VAProfile
Definition: va.h:275
int i
32-bit signed integer.
Definition: va.h:661
VAStatus vaSetSubpictureChromakey(VADisplay dpy, VASubpictureID subpicture, unsigned int chromakey_min, unsigned int chromakey_max, unsigned int chromakey_mask)
unsigned int max_frame_size
Maximum size of a frame (in bits).
Definition: va.h:1112
VAStatus vaCreateConfig(VADisplay dpy, VAProfile profile, VAEntrypoint entrypoint, VAConfigAttrib *attrib_list, int num_attribs, VAConfigID *config_id)
int load_intra_quantiser_matrix
Same as the MPEG-2 bitstream syntax element.
Definition: va.h:1198
const char * vaQueryVendorString(VADisplay dpy)
VAEntrypoint
Definition: va.h:303
VABufferType
Definition: va.h:922
VAStatus vaCreateImage(VADisplay dpy, VAImageFormat *format, int width, int height, VAImage *image)
unsigned int quality_level
Encoding quality level setting. When set to 0, default quality level is used.
Definition: va.h:1130
Packed picture header.
Definition: va.h:991
VAGenericID VABufferID
Definition: va.h:920
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:2691
VAStatus vaQueryDisplayAttributes(VADisplay dpy, VADisplayAttribute *attr_list, int *num_attributes)
VAStatus vaDestroyImage(VADisplay dpy, VAImageID image)
Buffer type used to express a maximum frame size (in bits).
Definition: va.h:980
int vaMaxNumSubpictureFormats(VADisplay dpy)
Minimal height in pixels (int, read-only).
Definition: va.h:700
void * buf
Pointer to the start of the data buffer.
Definition: va.h:1888
uint32_t type
Buffer type (See VABufferType).
Definition: va.h:1934
VAStatus vaAcquireBufferHandle(VADisplay dpy, VABufferID buf_id, VABufferInfo *buf_info)
Acquires buffer handle for external API usage.
VAStatus vaDestroySubpicture(VADisplay dpy, VASubpictureID subpicture)
unsigned int width
width in pixels.
Definition: va.h:747
uintptr_t handle
Buffer handle.
Definition: va.h:1932
VADisplayAttribBLEMode
Definition: va.h:2508
VAPrivFunc vaGetLibFunc(VADisplay dpy, const char *func)
VAStatus vaDestroyContext(VADisplay dpy, VAContextID context)
unsigned long * buffers
buffer handles or user pointers
Definition: va.h:759
VAStatus vaMapBuffer(VADisplay dpy, VABufferID buf_id, void **pbuf)
VAGenericID VASubpictureID
Definition: va.h:2370
VAStatus vaQueryConfigProfiles(VADisplay dpy, VAProfile *profile_list, int *num_profiles)
VAStatus vaCreateSubpicture(VADisplay dpy, VAImageID image, VASubpictureID *subpicture)
VASurfaceAttribType
Surface attribute types.
Definition: va.h:682
VAGenericValue value
Value. See "Surface attribute types" for the expected types.
Definition: va.h:721
Maximum number of slices per frame. Read-only.
Definition: va.h:364
VAStatus vaRenderPicture(VADisplay dpy, VAContextID context, VABufferID *buffers, int num_buffers)
Maximum number of reference frames. Read-only.
Definition: va.h:357
VAStatus vaBufferSetNumElements(VADisplay dpy, VABufferID buf_id, unsigned int num_elements)
VAStatus vaInitialize(VADisplay dpy, int *major_version, int *minor_version)
uint32_t mem_type
Buffer memory type (See VASurfaceAttribMemoryType).
Definition: va.h:1943
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:278
VAGenericFunc fn
Pointer to function.
Definition: va.h:667
Video filter parameter buffer.
Definition: va.h:969
int vaMaxNumDisplayAttributes(VADisplay dpy)
Maximal width in pixels (int, read-only).
Definition: va.h:698
VAGenericValueType
Generic value types.
Definition: va.h:644
VASurfaceID picture_id
reconstructed picture buffer surface index invalid when taking value VA_INVALID_SURFACE.
Definition: va.h:2686
VAStatus vaDestroyConfig(VADisplay dpy, VAConfigID config_id)
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:989
Encoding quality level.
Definition: va.h:1126
Macroblock information. Read-only.
Definition: va.h:393
int vaMaxNumProfiles(VADisplay dpy)
VASurfaceAttribType type
Type.
Definition: va.h:717
unsigned int reserved
Reserved for future use.
Definition: va.h:1886
unsigned int flags
Flags. See "Surface attribute flags".
Definition: va.h:719
VAStatus vaCreateBuffer(VADisplay dpy, VAContextID context, VABufferType type, unsigned int size, unsigned int num_elements, void *data, VABufferID *buf_id)
Surface usage hint, gives the driver a hint of intended usage to optimize allocation (e...
Definition: va.h:709
VAStatus vaReleaseBufferHandle(VADisplay dpy, VABufferID buf_id)
Releases buffer after usage from external API.
int load_chroma_intra_quantiser_matrix
Same as the MPEG-2 bitstream syntax element.
Definition: va.h:1202
void * next
Pointer to the next VACodedBufferSegment element, or NULL if there is none.
Definition: va.h:1893
VAStatus vaGetDisplayAttributes(VADisplay dpy, VADisplayAttribute *attr_list, int num_attributes)
int load_intra_quant_mat
Definition: va.h:1342
void * VANativeDisplay
Definition: va.h:231
unsigned int data_size
total size of the buffer in bytes.
Definition: va.h:751
Interlaced mode. Read/write.
Definition: va.h:346
int load_chroma_non_intra_quantiser_matrix
Same as the MPEG-2 bitstream syntax element.
Definition: va.h:1204
unsigned int size
Size of the data buffer in this segment (in bytes).
Definition: va.h:1880
Packed raw header.
Definition: va.h:1002
float f
32-bit float.
Definition: va.h:663
Pixel format (fourcc).
Definition: va.h:694
VAStatus vaDestroyBuffer(VADisplay dpy, VABufferID buffer_id)
unsigned int VAGenericID
Definition: va.h:576
VAEncPackedHeaderType
Packed header type.
Definition: va.h:987
unsigned int num_buffers
number of elements in the "buffers" array
Definition: va.h:761
VAConfigAttribType
Definition: va.h:316
void * VADisplay
Definition: va.h:140
unsigned int num_planes
number of planes for planar layout
Definition: va.h:753
VAGenericValueType type
Value type. See VAGenericValueType.
Definition: va.h:657
VAStatus vaQueryConfigEntrypoints(VADisplay dpy, VAProfile profile, VAEntrypoint *entrypoint_list, int *num_entrypoints)
int vaMaxNumConfigAttributes(VADisplay dpy)
Attribute value for VAConfigAttribEncJPEG.
Definition: va.h:495
unsigned int status
Status set by the driver. See VA_CODED_BUF_STATUS_*.
Definition: va.h:1884
VAStatus vaDeriveImage(VADisplay dpy, VASurfaceID surface, VAImage *image)
unsigned int bit_offset
Bit offset into the data buffer where the video data starts.
Definition: va.h:1882
Generic value.
Definition: va.h:655
VAStatus vaDeassociateSubpicture(VADisplay dpy, VASubpictureID subpicture, VASurfaceID *target_surfaces, int num_surfaces)
VAStatus vaQuerySubpictureFormats(VADisplay dpy, VAImageFormat *format_list, unsigned int *flags, unsigned int *num_formats)
Minimal width in pixels (int, read-only).
Definition: va.h:696
unsigned int flags
flags. See "Surface external buffer descriptor flags".
Definition: va.h:763
Surface memory type expressed in bit fields (int, read/write).
Definition: va.h:704
VAEncMiscParameterType type
Type. Shall be set to VAEncMiscParameterTypeMaxFrameSize.
Definition: va.h:1110
Coded buffer segment.
Definition: va.h:1876
void * p
Generic pointer.
Definition: va.h:665
External buffer descriptor (pointer, write).
Definition: va.h:706
Description of picture properties of those in DPB surfaces.
Definition: va.h:2681
Maximal height in pixels (int, read-only).
Definition: va.h:702
VAStatus vaQuerySurfaceStatus(VADisplay dpy, VASurfaceID render_target, VASurfaceStatus *status)
Packed slice header.
Definition: va.h:993
VAStatus vaUnmapBuffer(VADisplay dpy, VABufferID buf_id)
VASurfaceAttribExternalBuffers structure for the VASurfaceAttribExternalBufferDescriptor attribute...
Definition: va.h:743