Commit 1b38fc90 authored by Austin Yuan's avatar Austin Yuan

Fix binary compatibility issue caused by VAAPI ISO-C conformance fix

Signed-off-by: default avatarAustin Yuan <shengquan.yuan@intel.com>
parent 85fae814
...@@ -28,6 +28,7 @@ libva_la_LTLIBRARIES = libva.la ...@@ -28,6 +28,7 @@ libva_la_LTLIBRARIES = libva.la
libva_ladir = $(libdir) libva_ladir = $(libdir)
libva_la_LDFLAGS = -version-number 0:30:0 -no-undefined libva_la_LDFLAGS = -version-number 0:30:0 -no-undefined
libva_la_LIBADD = $(LIBVA_LIBS) -ldl -ldrm -lX11 -lXext -lXv X11/libva_X11.la libva_la_LIBADD = $(LIBVA_LIBS) -ldl -ldrm -lX11 -lXext -lXv X11/libva_X11.la
CFLAGS = -ansi -O2
SUBDIRS = X11 SUBDIRS = X11
......
...@@ -26,3 +26,4 @@ libva_X11includedir = ${includedir}/va ...@@ -26,3 +26,4 @@ libva_X11includedir = ${includedir}/va
libva_X11include_HEADERS = va_x11.h va_dri.h va_dri2.h libva_X11include_HEADERS = va_x11.h va_dri.h va_dri2.h
libva_X11_la_SOURCES = va_x11.c va_dri.c va_dri2.c libva_X11_la_SOURCES = va_x11.c va_dri.c va_dri2.c
CFLAGS = -ansi -O2
...@@ -464,6 +464,7 @@ typedef enum ...@@ -464,6 +464,7 @@ typedef enum
VAEncH264SEIBufferType = 26, VAEncH264SEIBufferType = 26,
} VABufferType; } VABufferType;
/**************************** /****************************
* MPEG-2 data structures * MPEG-2 data structures
****************************/ ****************************/
...@@ -556,7 +557,7 @@ typedef struct _VAMacroblockParameterBufferMPEG2 ...@@ -556,7 +557,7 @@ typedef struct _VAMacroblockParameterBufferMPEG2
unsigned int field_motion_type : 2; unsigned int field_motion_type : 2;
unsigned int dct_type : 1; unsigned int dct_type : 1;
} bits; } bits;
unsigned int value; unsigned char value;
} macroblock_modes; } macroblock_modes;
unsigned char motion_vertical_field_select; unsigned char motion_vertical_field_select;
/* /*
...@@ -610,18 +611,18 @@ typedef struct _VAPictureParameterBufferMPEG4 ...@@ -610,18 +611,18 @@ typedef struct _VAPictureParameterBufferMPEG4
VASurfaceID backward_reference_picture; VASurfaceID backward_reference_picture;
union { union {
struct { struct {
unsigned int short_video_header : 1; unsigned char short_video_header : 1;
unsigned int chroma_format : 2; unsigned char chroma_format : 2;
unsigned int interlaced : 1; unsigned char interlaced : 1;
unsigned int obmc_disable : 1; unsigned char obmc_disable : 1;
unsigned int sprite_enable : 2; unsigned char sprite_enable : 2;
unsigned int sprite_warping_accuracy : 2; unsigned char sprite_warping_accuracy : 2;
unsigned int quant_type : 1; unsigned char quant_type : 1;
unsigned int quarter_sample : 1; unsigned char quarter_sample : 1;
unsigned int data_partitioned : 1; unsigned char data_partitioned : 1;
unsigned int reversible_vlc : 1; unsigned char reversible_vlc : 1;
} bits; } bits;
unsigned int value; unsigned short value;
} vol_fields; } vol_fields;
unsigned char no_of_sprite_warping_points; unsigned char no_of_sprite_warping_points;
short sprite_trajectory_du[3]; short sprite_trajectory_du[3];
...@@ -629,14 +630,14 @@ typedef struct _VAPictureParameterBufferMPEG4 ...@@ -629,14 +630,14 @@ typedef struct _VAPictureParameterBufferMPEG4
unsigned char quant_precision; unsigned char quant_precision;
union { union {
struct { struct {
unsigned int vop_coding_type : 2; unsigned char vop_coding_type : 2;
unsigned int backward_reference_vop_coding_type : 2; unsigned char backward_reference_vop_coding_type : 2;
unsigned int vop_rounding_type : 1; unsigned char vop_rounding_type : 1;
unsigned int intra_dc_vlc_thr : 3; unsigned char intra_dc_vlc_thr : 3;
unsigned int top_field_first : 1; unsigned char top_field_first : 1;
unsigned int alternate_vertical_scan_flag : 1; unsigned char alternate_vertical_scan_flag : 1;
} bits; } bits;
unsigned int value; unsigned short value;
} vop_fields; } vop_fields;
unsigned char vop_fcode_forward; unsigned char vop_fcode_forward;
unsigned char vop_fcode_backward; unsigned char vop_fcode_backward;
...@@ -706,11 +707,11 @@ typedef struct _VAPictureParameterBufferVC1 ...@@ -706,11 +707,11 @@ typedef struct _VAPictureParameterBufferVC1
/* sequence layer for AP or meta data for SP and MP */ /* sequence layer for AP or meta data for SP and MP */
union { union {
struct { struct {
unsigned int interlace : 1; /* SEQUENCE_LAYER::INTERLACE */ unsigned char interlace : 1; /* SEQUENCE_LAYER::INTERLACE */
unsigned int syncmarker : 1;/* METADATA::SYNCMARKER */ unsigned char syncmarker : 1;/* METADATA::SYNCMARKER */
unsigned int overlap : 1;/* METADATA::OVERLAP */ unsigned char overlap : 1;/* METADATA::OVERLAP */
} bits; } bits;
unsigned int value; unsigned char value;
} sequence_fields; } sequence_fields;
unsigned short coded_width; /* ENTRY_POINT_LAYER::CODED_WIDTH */ unsigned short coded_width; /* ENTRY_POINT_LAYER::CODED_WIDTH */
...@@ -722,12 +723,12 @@ typedef struct _VAPictureParameterBufferVC1 ...@@ -722,12 +723,12 @@ typedef struct _VAPictureParameterBufferVC1
unsigned char fast_uvmc_flag; /* ENTRY_POINT_LAYER::FASTUVMC */ unsigned char fast_uvmc_flag; /* ENTRY_POINT_LAYER::FASTUVMC */
union { union {
struct { struct {
unsigned int luma_flag : 1; /* ENTRY_POINT_LAYER::RANGE_MAPY_FLAG */ unsigned char luma_flag : 1; /* ENTRY_POINT_LAYER::RANGE_MAPY_FLAG */
unsigned int luma : 3; /* ENTRY_POINT_LAYER::RANGE_MAPY */ unsigned char luma : 3; /* ENTRY_POINT_LAYER::RANGE_MAPY */
unsigned int chroma_flag : 1; /* ENTRY_POINT_LAYER::RANGE_MAPUV_FLAG */ unsigned char chroma_flag : 1; /* ENTRY_POINT_LAYER::RANGE_MAPUV_FLAG */
unsigned int chroma : 3; /* ENTRY_POINT_LAYER::RANGE_MAPUV */ unsigned char chroma : 3; /* ENTRY_POINT_LAYER::RANGE_MAPUV */
} bits; } bits;
unsigned int value; unsigned char value;
} range_mapping_fields; } range_mapping_fields;
unsigned char b_picture_fraction; /* PICTURE_LAYER::BFRACTION */ unsigned char b_picture_fraction; /* PICTURE_LAYER::BFRACTION */
...@@ -741,88 +742,88 @@ typedef struct _VAPictureParameterBufferVC1 ...@@ -741,88 +742,88 @@ typedef struct _VAPictureParameterBufferVC1
unsigned char luma_shift; /* PICTURE_LAYER::LUMSHIFT */ unsigned char luma_shift; /* PICTURE_LAYER::LUMSHIFT */
union { union {
struct { struct {
unsigned int picture_type : 2; /* PICTURE_LAYER::PTYPE */ unsigned char picture_type : 2; /* PICTURE_LAYER::PTYPE */
unsigned int frame_coding_mode : 3; /* PICTURE_LAYER::FCM */ unsigned char frame_coding_mode : 3; /* PICTURE_LAYER::FCM */
unsigned int top_field_first : 1; /* PICTURE_LAYER::TFF */ unsigned char top_field_first : 1; /* PICTURE_LAYER::TFF */
unsigned int is_first_field : 1; /* set to 1 if it is the first field */ unsigned char is_first_field : 1; /* set to 1 if it is the first field */
unsigned int intensity_compensation : 1; /* PICTURE_LAYER::INTCOMP */ unsigned char intensity_compensation : 1; /* PICTURE_LAYER::INTCOMP */
} bits; } bits;
unsigned int value; unsigned char value;
} picture_fields; } picture_fields;
union { union {
struct { struct {
unsigned int mv_type_mb : 1; /* PICTURE::MVTYPEMB */ unsigned char mv_type_mb : 1; /* PICTURE::MVTYPEMB */
unsigned int direct_mb : 1; /* PICTURE::DIRECTMB */ unsigned char direct_mb : 1; /* PICTURE::DIRECTMB */
unsigned int skip_mb : 1; /* PICTURE::SKIPMB */ unsigned char skip_mb : 1; /* PICTURE::SKIPMB */
unsigned int field_tx : 1; /* PICTURE::FIELDTX */ unsigned char field_tx : 1; /* PICTURE::FIELDTX */
unsigned int forward_mb : 1; /* PICTURE::FORWARDMB */ unsigned char forward_mb : 1; /* PICTURE::FORWARDMB */
unsigned int ac_pred : 1; /* PICTURE::ACPRED */ unsigned char ac_pred : 1; /* PICTURE::ACPRED */
unsigned int overflags : 1; /* PICTURE::OVERFLAGS */ unsigned char overflags : 1; /* PICTURE::OVERFLAGS */
} flags; } flags;
unsigned int value; unsigned char value;
} raw_coding; } raw_coding;
union { union {
struct { struct {
unsigned int bp_mv_type_mb : 1; /* PICTURE::MVTYPEMB */ unsigned char bp_mv_type_mb : 1; /* PICTURE::MVTYPEMB */
unsigned int bp_direct_mb : 1; /* PICTURE::DIRECTMB */ unsigned char bp_direct_mb : 1; /* PICTURE::DIRECTMB */
unsigned int bp_skip_mb : 1; /* PICTURE::SKIPMB */ unsigned char bp_skip_mb : 1; /* PICTURE::SKIPMB */
unsigned int bp_field_tx : 1; /* PICTURE::FIELDTX */ unsigned char bp_field_tx : 1; /* PICTURE::FIELDTX */
unsigned int bp_forward_mb : 1; /* PICTURE::FORWARDMB */ unsigned char bp_forward_mb : 1; /* PICTURE::FORWARDMB */
unsigned int bp_ac_pred : 1; /* PICTURE::ACPRED */ unsigned char bp_ac_pred : 1; /* PICTURE::ACPRED */
unsigned int bp_overflags : 1; /* PICTURE::OVERFLAGS */ unsigned char bp_overflags : 1; /* PICTURE::OVERFLAGS */
} flags; } flags;
unsigned int value; unsigned char value;
} bitplane_present; /* signal what bitplane is being passed via the bitplane buffer */ } bitplane_present; /* signal what bitplane is being passed via the bitplane buffer */
union { union {
struct { struct {
unsigned int reference_distance_flag : 1;/* PICTURE_LAYER::REFDIST_FLAG */ unsigned char reference_distance_flag : 1;/* PICTURE_LAYER::REFDIST_FLAG */
unsigned int reference_distance : 5;/* PICTURE_LAYER::REFDIST */ unsigned char reference_distance : 5;/* PICTURE_LAYER::REFDIST */
unsigned int num_reference_pictures: 1;/* PICTURE_LAYER::NUMREF */ unsigned char num_reference_pictures: 1;/* PICTURE_LAYER::NUMREF */
unsigned int reference_field_pic_indicator : 1;/* PICTURE_LAYER::REFFIELD */ unsigned char reference_field_pic_indicator : 1;/* PICTURE_LAYER::REFFIELD */
} bits; } bits;
unsigned int value; unsigned short value;
} reference_fields; } reference_fields;
union { union {
struct { struct {
unsigned int mv_mode : 3; /* PICTURE_LAYER::MVMODE */ unsigned char mv_mode : 3; /* PICTURE_LAYER::MVMODE */
unsigned int mv_mode2 : 3; /* PICTURE_LAYER::MVMODE2 */ unsigned char mv_mode2 : 3; /* PICTURE_LAYER::MVMODE2 */
unsigned int mv_table : 3; /* PICTURE_LAYER::MVTAB/IMVTAB */ unsigned char mv_table : 3; /* PICTURE_LAYER::MVTAB/IMVTAB */
unsigned int two_mv_block_pattern_table: 2; /* PICTURE_LAYER::2MVBPTAB */ unsigned char two_mv_block_pattern_table: 2; /* PICTURE_LAYER::2MVBPTAB */
unsigned int four_mv_switch : 1; /* PICTURE_LAYER::4MVSWITCH */ unsigned char four_mv_switch : 1; /* PICTURE_LAYER::4MVSWITCH */
unsigned int four_mv_block_pattern_table : 2; /* PICTURE_LAYER::4MVBPTAB */ unsigned char four_mv_block_pattern_table : 2; /* PICTURE_LAYER::4MVBPTAB */
unsigned int extended_mv_flag : 1; /* ENTRY_POINT_LAYER::EXTENDED_MV */ unsigned char extended_mv_flag : 1; /* ENTRY_POINT_LAYER::EXTENDED_MV */
unsigned int extended_mv_range : 2; /* PICTURE_LAYER::MVRANGE */ unsigned char extended_mv_range : 2; /* PICTURE_LAYER::MVRANGE */
unsigned int extended_dmv_flag : 1; /* ENTRY_POINT_LAYER::EXTENDED_DMV */ unsigned char extended_dmv_flag : 1; /* ENTRY_POCHAR_LAYER::EXTENDED_DMV */
unsigned int extended_dmv_range : 2; /* PICTURE_LAYER::DMVRANGE */ unsigned char extended_dmv_range : 2; /* PICTURE_LAYER::DMVRANGE */
} bits; } bits;
unsigned int value; unsigned int value;
} mv_fields; } mv_fields;
union { union {
struct { struct {
unsigned int dquant : 2; /* ENTRY_POINT_LAYER::DQUANT */ unsigned char dquant : 2; /* ENTRY_POINT_LAYER::DQUANT */
unsigned int quantizer : 2; /* ENTRY_POINT_LAYER::QUANTIZER */ unsigned char quantizer : 2; /* ENTRY_POINT_LAYER::QUANTIZER */
unsigned int half_qp : 1; /* PICTURE_LAYER::HALFQP */ unsigned char half_qp : 1; /* PICTURE_LAYER::HALFQP */
unsigned int pic_quantizer_scale : 5;/* PICTURE_LAYER::PQUANT */ unsigned char pic_quantizer_scale : 5;/* PICTURE_LAYER::PQUANT */
unsigned int pic_quantizer_type : 1;/* PICTURE_LAYER::PQUANTIZER */ unsigned char pic_quantizer_type : 1;/* PICTURE_LAYER::PQUANTIZER */
unsigned int dq_frame : 1; /* VOPDQUANT::DQUANTFRM */ unsigned char dq_frame : 1; /* VOPDQUANT::DQUANTFRM */
unsigned int dq_profile : 2; /* VOPDQUANT::DQPROFILE */ unsigned char dq_profile : 2; /* VOPDQUANT::DQPROFILE */
unsigned int dq_sb_edge : 2; /* VOPDQUANT::DQSBEDGE */ unsigned char dq_sb_edge : 2; /* VOPDQUANT::DQSBEDGE */
unsigned int dq_db_edge : 2; /* VOPDQUANT::DQDBEDGE */ unsigned char dq_db_edge : 2; /* VOPDQUANT::DQDBEDGE */
unsigned int dq_binary_level : 1; /* VOPDQUANT::DQBILEVEL */ unsigned char dq_binary_level : 1; /* VOPDQUANT::DQBILEVEL */
unsigned int alt_pic_quantizer : 5;/* VOPDQUANT::ALTPQUANT */ unsigned char alt_pic_quantizer : 5;/* VOPDQUANT::ALTPQUANT */
} bits; } bits;
unsigned int value; unsigned long value;
} pic_quantizer_fields; } pic_quantizer_fields;
union { union {
struct { struct {
unsigned int variable_sized_transform_flag : 1;/* ENTRY_POINT_LAYER::VSTRANSFORM */ unsigned char variable_sized_transform_flag : 1;/* ENTRY_POINT_LAYER::VSTRANSFORM */
unsigned int mb_level_transform_type_flag : 1;/* PICTURE_LAYER::TTMBF */ unsigned char mb_level_transform_type_flag : 1;/* PICTURE_LAYER::TTMBF */
unsigned int frame_level_transform_type : 2;/* PICTURE_LAYER::TTFRM */ unsigned char frame_level_transform_type : 2;/* PICTURE_LAYER::TTFRM */
unsigned int transform_ac_codingset_idx1 : 2;/* PICTURE_LAYER::TRANSACFRM */ unsigned char transform_ac_codingset_idx1 : 2;/* PICTURE_LAYER::TRANSACFRM */
unsigned int transform_ac_codingset_idx2 : 2;/* PICTURE_LAYER::TRANSACFRM2 */ unsigned char transform_ac_codingset_idx2 : 2;/* PICTURE_LAYER::TRANSACFRM2 */
unsigned int intra_transform_dc_table : 1;/* PICTURE_LAYER::TRANSDCTAB */ unsigned char intra_transform_dc_table : 1;/* PICTURE_LAYER::TRANSDCTAB */
} bits; } bits;
unsigned int value; unsigned short value;
} transform_fields; } transform_fields;
} VAPictureParameterBufferVC1; } VAPictureParameterBufferVC1;
...@@ -893,14 +894,14 @@ typedef struct _VAPictureParameterBufferH264 ...@@ -893,14 +894,14 @@ typedef struct _VAPictureParameterBufferH264
unsigned char num_ref_frames; unsigned char num_ref_frames;
union { union {
struct { struct {
unsigned int chroma_format_idc : 2; unsigned char chroma_format_idc : 2;
unsigned int residual_colour_transform_flag : 1; unsigned char residual_colour_transform_flag : 1;
unsigned int frame_mbs_only_flag : 1; unsigned char frame_mbs_only_flag : 1;
unsigned int mb_adaptive_frame_field_flag : 1; unsigned char mb_adaptive_frame_field_flag : 1;
unsigned int direct_8x8_inference_flag : 1; unsigned char direct_8x8_inference_flag : 1;
unsigned int MinLumaBiPredSize8x8 : 1; /* see A.3.3.2 */ unsigned char MinLumaBiPredSize8x8 : 1; /* see A.3.3.2 */
} bits; } bits;
unsigned int value; unsigned char value;
} seq_fields; } seq_fields;
unsigned char num_slice_groups_minus1; unsigned char num_slice_groups_minus1;
unsigned char slice_group_map_type; unsigned char slice_group_map_type;
...@@ -909,14 +910,14 @@ typedef struct _VAPictureParameterBufferH264 ...@@ -909,14 +910,14 @@ typedef struct _VAPictureParameterBufferH264
signed char second_chroma_qp_index_offset; signed char second_chroma_qp_index_offset;
union { union {
struct { struct {
unsigned int entropy_coding_mode_flag : 1; unsigned char entropy_coding_mode_flag : 1;
unsigned int weighted_pred_flag : 1; unsigned char weighted_pred_flag : 1;
unsigned int weighted_bipred_idc : 2; unsigned char weighted_bipred_idc : 2;
unsigned int transform_8x8_mode_flag : 1; unsigned char transform_8x8_mode_flag : 1;
unsigned int field_pic_flag : 1; unsigned char field_pic_flag : 1;
unsigned int constrained_intra_pred_flag : 1; unsigned char constrained_intra_pred_flag : 1;
} bits; } bits;
unsigned int value; unsigned char value;
} pic_fields; } pic_fields;
unsigned short frame_num; unsigned short frame_num;
} VAPictureParameterBufferH264; } VAPictureParameterBufferH264;
...@@ -993,8 +994,8 @@ typedef struct _VAEncSliceParameterBuffer ...@@ -993,8 +994,8 @@ typedef struct _VAEncSliceParameterBuffer
unsigned char is_intra : 1; unsigned char is_intra : 1;
unsigned char disable_deblocking_filter_idc : 2; unsigned char disable_deblocking_filter_idc : 2;
} bits; } bits;
unsigned char flags; unsigned char value;
}; } slice_flags;
} VAEncSliceParameterBuffer; } VAEncSliceParameterBuffer;
/**************************** /****************************
...@@ -1079,6 +1080,8 @@ typedef struct _VAEncPictureParameterBufferMPEG4 ...@@ -1079,6 +1080,8 @@ typedef struct _VAEncPictureParameterBufferMPEG4
VAEncPictureType picture_type; VAEncPictureType picture_type;
} VAEncPictureParameterBufferMPEG4; } VAEncPictureParameterBufferMPEG4;
/* Buffer functions */ /* Buffer functions */
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment