diff options
-rw-r--r-- | va/va.h | 118 | ||||
-rw-r--r-- | va/va_backend.h | 6 | ||||
-rw-r--r-- | va/va_backend_vpp.h | 3 | ||||
-rw-r--r-- | va/va_dec_hevc.h | 7 | ||||
-rw-r--r-- | va/va_dec_jpeg.h | 9 | ||||
-rw-r--r-- | va/va_dec_vp8.h | 11 | ||||
-rw-r--r-- | va/va_dec_vp9.h | 8 | ||||
-rw-r--r-- | va/va_drmcommon.h | 2 | ||||
-rw-r--r-- | va/va_enc_h264.h | 14 | ||||
-rw-r--r-- | va/va_enc_hevc.h | 12 | ||||
-rw-r--r-- | va/va_enc_jpeg.h | 8 | ||||
-rw-r--r-- | va/va_enc_mpeg2.h | 9 | ||||
-rw-r--r-- | va/va_enc_vp8.h | 13 | ||||
-rw-r--r-- | va/va_enc_vp9.h | 10 | ||||
-rw-r--r-- | va/va_fei_h264.h | 2 | ||||
-rw-r--r-- | va/va_vpp.h | 27 | ||||
-rw-r--r-- | va/wayland/va_backend_wayland.h | 3 | ||||
-rw-r--r-- | va/x11/va_dricommon.h | 4 |
18 files changed, 264 insertions, 2 deletions
@@ -231,6 +231,12 @@ typedef int VAStatus; /** Return status type from functions */ #define VA_FILTER_SCALING_NL_ANAMORPHIC 0x00000300 #define VA_FILTER_SCALING_MASK 0x00000f00 +/** Padding size in 4-bytes */ +#define VA_PADDING_LOW 4 +#define VA_PADDING_MEDIUM 8 +#define VA_PADDING_HIGH 16 +#define VA_PADDING_LARGE 32 + /** * Returns a short english description of error_status */ @@ -1306,6 +1312,9 @@ typedef struct _VAEncPackedHeaderParameterBuffer { uint32_t bit_length; /** \brief Flag: buffer contains start code emulation prevention bytes? */ uint8_t has_emulation_bytes; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAEncPackedHeaderParameterBuffer; /** @@ -1345,6 +1354,9 @@ typedef struct _VAEncMiscParameterTemporalLayerStructure * ids for frames starting from the 2nd frame. */ uint32_t layer_id[32]; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAEncMiscParameterTemporalLayerStructure; @@ -1378,10 +1390,14 @@ typedef struct _VAEncMiscParameterRateControl * The temporal layer that the rate control parameters are specified for. */ uint32_t temporal_id : 8; + /** \brief Reserved for future use, must be zero */ uint32_t reserved : 17; } bits; uint32_t value; } rc_flags; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_MEDIUM]; } VAEncMiscParameterRateControl; typedef struct _VAEncMiscParameterFrameRate @@ -1417,6 +1433,9 @@ typedef struct _VAEncMiscParameterFrameRate } bits; uint32_t value; } framerate_flags; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAEncMiscParameterFrameRate; /** @@ -1427,6 +1446,9 @@ typedef struct _VAEncMiscParameterFrameRate typedef struct _VAEncMiscParameterMaxSliceSize { uint32_t max_slice_size; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAEncMiscParameterMaxSliceSize; typedef struct _VAEncMiscParameterAIR @@ -1434,12 +1456,18 @@ typedef struct _VAEncMiscParameterAIR uint32_t air_num_mbs; uint32_t air_threshold; uint32_t air_auto; /* if set to 1 then hardware auto-tune the AIR threshold */ + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAEncMiscParameterAIR; typedef struct _VAEncMiscParameterHRD { uint32_t initial_buffer_fullness; /* in bits */ uint32_t buffer_size; /* in bits */ + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAEncMiscParameterHRD; /** @@ -1456,6 +1484,9 @@ typedef struct _VAEncMiscParameterBufferMaxFrameSize { VAEncMiscParameterType type; /** \brief Maximum size of a frame (in bits). */ uint32_t max_frame_size; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAEncMiscParameterBufferMaxFrameSize; /** @@ -1474,6 +1505,9 @@ typedef struct _VAEncMiscParameterBufferQualityLevel { * level is used. */ uint32_t quality_level; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAEncMiscParameterBufferQualityLevel; /** @@ -1498,6 +1532,9 @@ typedef struct _VAEncMiscParameterSkipFrame { /** \brief When skip_frame_flag = 1, the size of the skipped frames in bits. When skip_frame_flag = 2, * the size of the current skipped frame that is to be packed/encrypted in bits. */ uint32_t size_skip_frames; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAEncMiscParameterSkipFrame; /** @@ -1568,6 +1605,9 @@ typedef struct _VAEncMiscParameterBufferROI { } bits; uint32_t value; } roi_flags; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAEncMiscParameterBufferROI; /** @@ -1628,6 +1668,9 @@ typedef struct _VAHuffmanTableBufferJPEGBaseline { uint8_t pad[2]; /**@}*/ } huffman_table[2]; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAHuffmanTableBufferJPEGBaseline; /**************************** @@ -1666,6 +1709,9 @@ typedef struct _VAPictureParameterBufferMPEG2 } bits; uint32_t value; } picture_coding_extension; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAPictureParameterBufferMPEG2; /** MPEG-2 Inverse Quantization Matrix Buffer */ @@ -1687,6 +1733,9 @@ typedef struct _VAIQMatrixBufferMPEG2 uint8_t chroma_intra_quantiser_matrix[64]; /** \brief Chroma non-intra matrix, in zig-zag scan order. */ uint8_t chroma_non_intra_quantiser_matrix[64]; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAIQMatrixBufferMPEG2; /** MPEG-2 Slice Parameter Buffer */ @@ -1700,6 +1749,9 @@ typedef struct _VASliceParameterBufferMPEG2 uint32_t slice_vertical_position; int32_t quantiser_scale_code; int32_t intra_slice_flag; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VASliceParameterBufferMPEG2; /** MPEG-2 Macroblock Parameter Buffer */ @@ -1739,6 +1791,9 @@ typedef struct _VAMacroblockParameterBufferMPEG2 /* Number of skipped macroblocks after this macroblock */ uint16_t num_skipped_macroblocks; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAMacroblockParameterBufferMPEG2; /* @@ -1810,6 +1865,9 @@ typedef struct _VAPictureParameterBufferMPEG4 /* for direct mode prediction */ int16_t TRB; int16_t TRD; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAPictureParameterBufferMPEG4; /** MPEG-4 Inverse Quantization Matrix Buffer */ @@ -1823,6 +1881,9 @@ typedef struct _VAIQMatrixBufferMPEG4 uint8_t intra_quant_mat[64]; /** The matrix for non-intra blocks, in zig-zag scan order. */ uint8_t non_intra_quant_mat[64]; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAIQMatrixBufferMPEG4; /** MPEG-4 Slice Parameter Buffer */ @@ -1834,6 +1895,9 @@ typedef struct _VASliceParameterBufferMPEG4 uint32_t macroblock_offset;/* the offset to the first bit of MB from the first byte of slice data */ uint32_t macroblock_number; int32_t quant_scale; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VASliceParameterBufferMPEG4; /** @@ -2007,6 +2071,9 @@ typedef struct _VAPictureParameterBufferVC1 } bits; uint32_t value; } transform_fields; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_MEDIUM]; } VAPictureParameterBufferVC1; /** VC-1 Bitplane Buffer @@ -2035,6 +2102,9 @@ typedef struct _VASliceParameterBufferVC1 uint32_t slice_data_flag; /* see VA_SLICE_DATA_FLAG_XXX defintions */ uint32_t macroblock_offset;/* the offset to the first bit of MB from the first byte of slice data */ uint32_t slice_vertical_position; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VASliceParameterBufferVC1; /* VC-1 Slice Data Buffer */ @@ -2053,6 +2123,9 @@ typedef struct _VAPictureH264 uint32_t flags; int32_t TopFieldOrderCnt; int32_t BottomFieldOrderCnt; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAPictureH264; /* flags in VAPictureH264 could be OR of the following */ #define VA_PICTURE_H264_INVALID 0x00000001 @@ -2115,6 +2188,9 @@ typedef struct _VAPictureParameterBufferH264 uint32_t value; } pic_fields; uint16_t frame_num; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_MEDIUM]; } VAPictureParameterBufferH264; /** H.264 Inverse Quantization Matrix Buffer */ @@ -2124,6 +2200,9 @@ typedef struct _VAIQMatrixBufferH264 uint8_t ScalingList4x4[6][16]; /** \brief 8x8 scaling list, in raster scan order. */ uint8_t ScalingList8x8[2][64]; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAIQMatrixBufferH264; /** H.264 Slice Parameter Buffer */ @@ -2182,6 +2261,9 @@ typedef struct _VASliceParameterBufferH264 uint8_t chroma_weight_l1_flag; int16_t chroma_weight_l1[32][2]; int16_t chroma_offset_l1[32][2]; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VASliceParameterBufferH264; /**************************** @@ -2208,6 +2290,9 @@ typedef struct _VAEncSliceParameterBuffer } bits; uint32_t value; } slice_flags; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAEncSliceParameterBuffer; @@ -2222,6 +2307,9 @@ typedef struct _VAEncSequenceParameterBufferH263 uint32_t frame_rate; uint32_t initial_qp; uint32_t min_qp; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAEncSequenceParameterBufferH263; typedef struct _VAEncPictureParameterBufferH263 @@ -2232,6 +2320,9 @@ typedef struct _VAEncPictureParameterBufferH263 uint16_t picture_width; uint16_t picture_height; VAEncPictureType picture_type; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAEncPictureParameterBufferH263; /**************************** @@ -2251,6 +2342,9 @@ typedef struct _VAEncSequenceParameterBufferMPEG4 uint32_t frame_rate; uint32_t initial_qp; uint32_t min_qp; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAEncSequenceParameterBufferMPEG4; typedef struct _VAEncPictureParameterBufferMPEG4 @@ -2263,6 +2357,9 @@ typedef struct _VAEncPictureParameterBufferMPEG4 uint32_t modulo_time_base; /* number of 1s */ uint32_t vop_time_increment; VAEncPictureType picture_type; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAEncPictureParameterBufferMPEG4; @@ -2373,6 +2470,9 @@ typedef struct _VACodedBufferSegment { * or \c NULL if there is none. */ void *next; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VACodedBufferSegment; /** @@ -2430,6 +2530,9 @@ typedef struct { uint32_t mem_type; /** \brief Size of the underlying buffer. */ size_t mem_size; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VABufferInfo; /** @@ -2608,6 +2711,9 @@ typedef struct _VASurfaceDecodeMBErrors uint32_t start_mb; /* start mb address with errors */ uint32_t end_mb; /* end mb address with errors */ VADecodeErrorType decode_error_type; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VASurfaceDecodeMBErrors; /** @@ -2700,6 +2806,9 @@ typedef struct _VAImageFormat uint32_t green_mask; uint32_t blue_mask; uint32_t alpha_mask; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAImageFormat; typedef VAGenericID VAImageID; @@ -2743,6 +2852,9 @@ typedef struct _VAImage * Only entry_bytes characters of the string are used. */ int8_t component_order[4]; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAImage; /** Get maximum number of image formats supported by the implementation */ @@ -3122,6 +3234,9 @@ typedef struct _VADisplayAttribute int32_t value; /* used by the set/get attribute functions */ /* flags can be VA_DISPLAY_ATTRIB_GETTABLE or VA_DISPLAY_ATTRIB_SETTABLE or OR'd together */ uint32_t flags; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VADisplayAttribute; /** Get maximum number of display attributs supported by the implementation */ @@ -3190,6 +3305,9 @@ typedef struct _VAPictureHEVC int32_t pic_order_cnt; /* described below */ uint32_t flags; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAPictureHEVC; /* flags in VAPictureHEVC could be OR of the following */ diff --git a/va/va_backend.h b/va/va_backend.h index 4600d79..39663e1 100644 --- a/va/va_backend.h +++ b/va/va_backend.h @@ -435,6 +435,9 @@ struct VADriverVTable VADriverContextP ctx, VABufferID buf_id /* in */ ); + + /** \brief Reserved bytes for future use, must be zero */ + unsigned long reserved[64]; }; struct VADriverContext @@ -558,6 +561,9 @@ struct VADisplayContext void *error_callback_user_context; VAMessageCallback info_callback; void *info_callback_user_context; + + /** \brief Reserved bytes for future use, must be zero */ + unsigned long reserved[32]; }; typedef VAStatus (*VADriverInit) ( diff --git a/va/va_backend_vpp.h b/va/va_backend_vpp.h index b776ef6..8ed10d5 100644 --- a/va/va_backend_vpp.h +++ b/va/va_backend_vpp.h @@ -62,6 +62,9 @@ struct VADriverVTableVPP { unsigned int num_filters, VAProcPipelineCaps *pipeline_caps ); + + /** \brief Reserved bytes for future use, must be zero */ + unsigned long reserved[16]; }; #ifdef __cplusplus diff --git a/va/va_dec_hevc.h b/va/va_dec_hevc.h index 3c10121..0bbe616 100644 --- a/va/va_dec_hevc.h +++ b/va/va_dec_hevc.h @@ -190,6 +190,8 @@ typedef struct _VAPictureParameterBufferHEVC */ uint32_t st_rps_bits; + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_MEDIUM]; } VAPictureParameterBufferHEVC; /** @@ -321,6 +323,8 @@ typedef struct _VASliceParameterBufferHEVC uint8_t five_minus_max_num_merge_cand; /**@}*/ + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VASliceParameterBufferHEVC; @@ -379,6 +383,9 @@ typedef struct _VAIQMatrixBufferHEVC * with sizeID = 3 and matrixID in the range of 0 to 1, inclusive. */ uint8_t ScalingListDC32x32[2]; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAIQMatrixBufferHEVC; diff --git a/va/va_dec_jpeg.h b/va/va_dec_jpeg.h index 4b66229..0b44ffd 100644 --- a/va/va_dec_jpeg.h +++ b/va/va_dec_jpeg.h @@ -70,6 +70,9 @@ typedef struct _VAPictureParameterBufferJPEGBaseline { } components[255]; /** \brief Number of components in frame (Nf). */ uint8_t num_components; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_MEDIUM]; } VAPictureParameterBufferJPEGBaseline; /** @@ -91,6 +94,9 @@ typedef struct _VAIQMatrixBufferJPEGBaseline { uint8_t load_quantiser_table[4]; /** \brief Quanziation tables indexed by table identifier (Tqi). */ uint8_t quantiser_table[4][64]; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAIQMatrixBufferJPEGBaseline; /** @@ -131,6 +137,9 @@ typedef struct _VASliceParameterBufferJPEGBaseline { uint16_t restart_interval; /** \brief Number of MCUs in a scan. */ uint32_t num_mcus; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VASliceParameterBufferJPEGBaseline; /**@}*/ diff --git a/va/va_dec_vp8.h b/va/va_dec_vp8.h index c45e476..7e6eb00 100644 --- a/va/va_dec_vp8.h +++ b/va/va_dec_vp8.h @@ -157,6 +157,8 @@ typedef struct _VAPictureParameterBufferVP8 VABoolCoderContextVPX bool_coder_ctx; + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAPictureParameterBufferVP8; /** @@ -197,6 +199,9 @@ typedef struct _VASliceParameterBufferVP8 * exclude the uncompress data chunk since first_part_size 'excluding the uncompressed data chunk' */ uint32_t partition_size[9]; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VASliceParameterBufferVP8; /** @@ -216,6 +221,9 @@ typedef struct _VASliceParameterBufferVP8 typedef struct _VAProbabilityDataBufferVP8 { uint8_t dct_coeff_probs[4][8][3][11]; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAProbabilityDataBufferVP8; /** @@ -232,6 +240,9 @@ typedef struct _VAIQMatrixBufferVP8 * all Q indexs should be clipped to be range [0, 127] */ uint16_t quantization_index[4][6]; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAIQMatrixBufferVP8; /**@}*/ diff --git a/va/va_dec_vp9.h b/va/va_dec_vp9.h index 37252be..bbc39fd 100644 --- a/va/va_dec_vp9.h +++ b/va/va_dec_vp9.h @@ -191,6 +191,9 @@ typedef struct _VADecPictureParameterBufferVP9 */ uint8_t bit_depth; + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_MEDIUM]; + /**@}*/ } VADecPictureParameterBufferVP9; @@ -263,6 +266,9 @@ typedef struct _VASegmentParameterVP9 */ int16_t chroma_dc_quant_scale; + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; + /**@}*/ } VASegmentParameterVP9; @@ -307,6 +313,8 @@ typedef struct _VASliceParameterBufferVP9 */ VASegmentParameterVP9 seg_param[8]; + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; /**@}*/ } VASliceParameterBufferVP9; diff --git a/va/va_drmcommon.h b/va/va_drmcommon.h index 76820a3..3bad528 100644 --- a/va/va_drmcommon.h +++ b/va/va_drmcommon.h @@ -66,6 +66,8 @@ struct drm_state { int fd; /** \brief DRM authentication type. */ int auth_type; + /** \brief Reserved bytes for future use, must be zero */ + int va_reserved[8]; }; /** \brief Kernel DRM buffer memory type. */ diff --git a/va/va_enc_h264.h b/va/va_enc_h264.h index 079a91f..f647539 100644 --- a/va/va_enc_h264.h +++ b/va/va_enc_h264.h @@ -246,6 +246,8 @@ typedef struct _VAEncSequenceParameterBufferH264 { uint32_t log2_max_mv_length_horizontal : 5; /** \brief Range: 0 to 16, inclusive. */ uint32_t log2_max_mv_length_vertical : 5; + /** \brief Reserved for future use, must be zero */ + uint32_t reserved : 19; } bits; uint32_t value; } vui_fields; @@ -259,6 +261,9 @@ typedef struct _VAEncSequenceParameterBufferH264 { uint32_t num_units_in_tick; /** \brief Same as the H.264 bitstream syntax element. */ uint32_t time_scale; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; /**@}*/ } VAEncSequenceParameterBufferH264; @@ -371,6 +376,9 @@ typedef struct _VAEncPictureParameterBufferH264 { } bits; uint32_t value; } pic_fields; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAEncPictureParameterBufferH264; typedef struct _VAEncQPBufferH264 { @@ -514,6 +522,9 @@ typedef struct _VAEncSliceParameterBufferH264 { int8_t slice_alpha_c0_offset_div2; /** \brief Same as the H.264 bitstream syntax element. */ int8_t slice_beta_offset_div2; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; /**@}*/ } VAEncSliceParameterBufferH264; @@ -595,6 +606,9 @@ typedef struct _VAEncMacroblockParameterBufferH264 { } inter_fields; /**@}*/ } info; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAEncMacroblockParameterBufferH264; /**@}*/ diff --git a/va/va_enc_hevc.h b/va/va_enc_hevc.h index 127b7b9..eb07c3b 100644 --- a/va/va_enc_hevc.h +++ b/va/va_enc_hevc.h @@ -316,6 +316,9 @@ typedef struct _VAEncSequenceParameterBufferHEVC { uint8_t max_bytes_per_pic_denom; /** \brief Same as the HEVC bitstream syntax element. */ uint8_t max_bits_per_min_cu_denom; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_MEDIUM]; /**@}*/ } VAEncSequenceParameterBufferHEVC; @@ -517,6 +520,9 @@ typedef struct _VAEncPictureParameterBufferHEVC { } bits; uint32_t value; } pic_fields; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_HIGH]; } VAEncPictureParameterBufferHEVC; /** @@ -640,6 +646,9 @@ typedef struct _VAEncSliceParameterBufferHEVC { } bits; uint32_t value; } slice_fields; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_MEDIUM]; /**@}*/ } VAEncSliceParameterBufferHEVC; @@ -695,6 +704,9 @@ typedef struct _VAQMatrixBufferHEVC * with sizeID = 3 and matrixID in the range of 0 to 1, inclusive. */ uint8_t scaling_list_dc_32x32[2]; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAQMatrixBufferHEVC; /**@}*/ diff --git a/va/va_enc_jpeg.h b/va/va_enc_jpeg.h index f43f0b6..e8e69ad 100644 --- a/va/va_enc_jpeg.h +++ b/va/va_enc_jpeg.h @@ -107,6 +107,8 @@ typedef struct _VAEncPictureParameterBufferJPEG /** \brief number from 1 to 100 that specifies quality of image. */ uint8_t quality; + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAEncPictureParameterBufferJPEG; @@ -129,6 +131,9 @@ typedef struct _VAEncSliceParameterBufferJPEG { /** \brief AC entropy coding table selector (Taj). */ uint8_t ac_table_selector; } components[4]; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAEncSliceParameterBufferJPEG; /** @@ -145,6 +150,9 @@ typedef struct _VAQMatrixBufferJPEG uint8_t lum_quantiser_matrix[64]; /** \brief chroma quantization table. */ uint8_t chroma_quantiser_matrix[64]; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAQMatrixBufferJPEG; /**@}*/ diff --git a/va/va_enc_mpeg2.h b/va/va_enc_mpeg2.h index 5cd632d..06f0e63 100644 --- a/va/va_enc_mpeg2.h +++ b/va/va_enc_mpeg2.h @@ -165,6 +165,9 @@ typedef struct _VAEncSequenceParameterBufferMPEG2 { } bits; uint32_t value; } gop_header; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAEncSequenceParameterBufferMPEG2; /** @@ -261,6 +264,9 @@ typedef struct _VAEncPictureParameterBufferMPEG2 { } bits; uint32_t value; } composite_display; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAEncPictureParameterBufferMPEG2; /** @@ -276,6 +282,9 @@ typedef struct _VAEncSliceParameterBufferMPEG2 { int32_t quantiser_scale_code; /** \brief Flag to indicate intra slice */ int32_t is_intra_slice; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAEncSliceParameterBufferMPEG2; /**@}*/ diff --git a/va/va_enc_vp8.h b/va/va_enc_vp8.h index d03a5e8..f7cab40 100644 --- a/va/va_enc_vp8.h +++ b/va/va_enc_vp8.h @@ -93,6 +93,8 @@ typedef struct _VAEncSequenceParameterBufferVP8 */ VASurfaceID reference_frames[4]; + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAEncSequenceParameterBufferVP8; @@ -128,6 +130,7 @@ typedef struct _VAEncPictureParameterBufferVP8 uint32_t no_ref_gf : 1; /* don't reference the alternate reference frame */ uint32_t no_ref_arf : 1; + /** \brief Reserved for future use, must be zero */ uint32_t reserved : 28; } bits; uint32_t value; @@ -278,7 +281,9 @@ typedef struct _VAEncPictureParameterBufferVP8 * otherwise they are ignored. */ uint8_t clamp_qindex_low; - + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAEncPictureParameterBufferVP8; @@ -302,6 +307,9 @@ typedef struct _VAEncMBMapBufferVP8 * per MB Segmentation ID Buffer */ uint8_t *mb_segment_id; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAEncMBMapBufferVP8; @@ -317,6 +325,9 @@ typedef struct _VAQMatrixBufferVP8 { uint16_t quantization_index[4]; int16_t quantization_index_delta[5]; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAQMatrixBufferVP8; diff --git a/va/va_enc_vp9.h b/va/va_enc_vp9.h index cd870e7..fce22a4 100644 --- a/va/va_enc_vp9.h +++ b/va/va_enc_vp9.h @@ -83,6 +83,8 @@ typedef struct _VACodedBufferVP9Status /* suggested next frame height */ uint16_t next_frame_height; + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VACodedBufferVP9Status; /** @@ -136,6 +138,8 @@ typedef struct _VAEncSequenceParameterBufferVP9 /* Period between key frames */ uint32_t intra_period; + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAEncSequenceParameterBufferVP9; @@ -506,6 +510,8 @@ typedef struct _VAEncPictureParameterBufferVP9 */ uint32_t skip_frames_size; + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_MEDIUM]; } VAEncPictureParameterBufferVP9; @@ -557,6 +563,8 @@ typedef struct _VAEncSegParamVP9 */ int16_t segment_qindex_delta; + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAEncSegParamVP9; /** @@ -575,6 +583,8 @@ typedef struct _VAEncMiscParameterTypeVP9PerSegmantParam */ VAEncSegParamVP9 seg_data[8]; + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAEncMiscParameterTypeVP9PerSegmantParam; diff --git a/va/va_fei_h264.h b/va/va_fei_h264.h index 4f3654a..5048491 100644 --- a/va/va_fei_h264.h +++ b/va/va_fei_h264.h @@ -134,7 +134,7 @@ typedef struct _VAEncMiscParameterFEIFrameControlH264 uint32_t num_passes; /** \brief delta QP list for every pass */ uint8_t *delta_qp; - uint32_t reserved3[2]; + uint32_t reserved3[VA_PADDING_LOW]; } VAEncMiscParameterFEIFrameControlH264; /** \brief FEI MB level control data structure */ diff --git a/va/va_vpp.h b/va/va_vpp.h index 60c274a..2c1fb51 100644 --- a/va/va_vpp.h +++ b/va/va_vpp.h @@ -354,6 +354,9 @@ typedef struct _VAProcPipelineCaps { VAProcColorStandardType *output_color_standards; /** \brief Number of elements in \ref output_color_standards array. */ uint32_t num_output_color_standards; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LARGE]; } VAProcPipelineCaps; /** \brief Specification of values supported by the filter. */ @@ -366,6 +369,9 @@ typedef struct _VAProcFilterValueRange { float default_value; /** \brief Step value that alters the filter behaviour in a sensible way. */ float step; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAProcFilterValueRange; /** @@ -501,6 +507,9 @@ typedef struct _VAProcPipelineParameterBuffer { VASurfaceID *backward_references; /** \brief Number of backward reference frames that were supplied. */ uint32_t num_backward_references; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LARGE]; } VAProcPipelineParameterBuffer; /** @@ -526,6 +535,9 @@ typedef struct _VAProcFilterParameterBuffer { VAProcFilterType type; /** \brief Value. */ float value; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAProcFilterParameterBuffer; /** @name De-interlacing flags */ @@ -555,6 +567,9 @@ typedef struct _VAProcFilterParameterBufferDeinterlacing { VAProcDeinterlacingType algorithm; /** \brief Deinterlacing flags. */ uint32_t flags; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAProcFilterParameterBufferDeinterlacing; /** @@ -616,6 +631,9 @@ typedef struct _VAProcFilterParameterBufferColorBalance { * disabled and other attribute of the same type is used instead. */ float value; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAProcFilterParameterBufferColorBalance; /** @@ -627,12 +645,18 @@ typedef struct _VAProcFilterParameterBufferColorBalance { typedef struct _VAProcFilterCap { /** \brief Range of supported values for the filter. */ VAProcFilterValueRange range; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAProcFilterCap; /** \brief Capabilities specification for the deinterlacing filter. */ typedef struct _VAProcFilterCapDeinterlacing { /** \brief Deinterlacing algorithm. */ VAProcDeinterlacingType type; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAProcFilterCapDeinterlacing; /** \brief Capabilities specification for the color balance filter. */ @@ -641,6 +665,9 @@ typedef struct _VAProcFilterCapColorBalance { VAProcColorBalanceType type; /** \brief Range of supported values for the specified operation. */ VAProcFilterValueRange range; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_LOW]; } VAProcFilterCapColorBalance; /** diff --git a/va/wayland/va_backend_wayland.h b/va/wayland/va_backend_wayland.h index 67d0004..9e5740a 100644 --- a/va/wayland/va_backend_wayland.h +++ b/va/wayland/va_backend_wayland.h @@ -63,6 +63,9 @@ struct VADriverVTableWayland { /** \brief Indicate whether buffer sharing with prime fd is supported. */ unsigned int has_prime_sharing; + + /** \brief Reserved bytes for future use, must be zero */ + unsigned long reserved[8]; }; #endif /* VA_BACKEND_WAYLAND_H */ diff --git a/va/x11/va_dricommon.h b/va/x11/va_dricommon.h index 1566e85..ae17fac 100644 --- a/va/x11/va_dricommon.h +++ b/va/x11/va_dricommon.h @@ -55,6 +55,8 @@ union dri_buffer unsigned int pitch; unsigned int cpp; unsigned int flags; + /** \brief Reserved bytes for future use, must be zero */ + unsigned int va_reserved[8]; } dri2; }; @@ -82,6 +84,8 @@ struct dri_state union dri_buffer *(*getRenderingBuffer)(VADriverContextP ctx, struct dri_drawable *dri_drawable); void (*close)(VADriverContextP ctx); #endif + /** \brief Reserved bytes for future use, must be zero */ + unsigned long va_reserved[16]; }; Bool va_isDRI2Connected(VADriverContextP ctx, char **driver_name); |