summaryrefslogtreecommitdiffstats
path: root/src/gallium/include
diff options
context:
space:
mode:
authorChristian König <[email protected]>2012-01-09 14:48:40 +0100
committerChristian König <[email protected]>2012-01-15 12:40:44 +0100
commitd6aa0ad55dc245bfacb7d9c3b479fe5a6557d43f (patch)
tree8a9a0ab0cea01abd5fa979943d0cb56e031ede53 /src/gallium/include
parent8ea416f35de0c664ef47b71841756758f22d7faa (diff)
vl: add h264 infrastructure
No implementation so far, just the defines for VDPAUs picture info structure. Signed-off-by: Christian König <[email protected]>
Diffstat (limited to 'src/gallium/include')
-rw-r--r--src/gallium/include/pipe/p_video_state.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/gallium/include/pipe/p_video_state.h b/src/gallium/include/pipe/p_video_state.h
index ad726d8cdfa..b73c94b7a5d 100644
--- a/src/gallium/include/pipe/p_video_state.h
+++ b/src/gallium/include/pipe/p_video_state.h
@@ -247,6 +247,49 @@ struct pipe_vc1_picture_desc
struct pipe_video_buffer *ref[2];
};
+struct pipe_h264_picture_desc
+{
+ struct pipe_picture_desc base;
+
+ uint32_t slice_count;
+ int32_t field_order_cnt[2];
+ bool is_reference;
+ uint32_t frame_num;
+ uint8_t field_pic_flag;
+ uint8_t bottom_field_flag;
+ uint8_t num_ref_frames;
+ uint8_t mb_adaptive_frame_field_flag;
+ uint8_t constrained_intra_pred_flag;
+ uint8_t weighted_pred_flag;
+ uint8_t weighted_bipred_idc;
+ uint8_t frame_mbs_only_flag;
+ uint8_t transform_8x8_mode_flag;
+ int8_t chroma_qp_index_offset;
+ int8_t second_chroma_qp_index_offset;
+ int8_t pic_init_qp_minus26;
+ uint8_t num_ref_idx_l0_active_minus1;
+ uint8_t num_ref_idx_l1_active_minus1;
+ uint8_t log2_max_frame_num_minus4;
+ uint8_t pic_order_cnt_type;
+ uint8_t log2_max_pic_order_cnt_lsb_minus4;
+ uint8_t delta_pic_order_always_zero_flag;
+ uint8_t direct_8x8_inference_flag;
+ uint8_t entropy_coding_mode_flag;
+ uint8_t pic_order_present_flag;
+ uint8_t deblocking_filter_control_present_flag;
+ uint8_t redundant_pic_cnt_present_flag;
+ uint8_t scaling_lists_4x4[6][16];
+ uint8_t scaling_lists_8x8[2][64];
+
+ bool is_long_term[16];
+ bool top_is_reference[16];
+ bool bottom_is_reference[16];
+ uint32_t field_order_cnt_list[16][2];
+ uint32_t frame_num_list[16];
+
+ struct pipe_video_buffer *ref[16];
+};
+
#ifdef __cplusplus
}
#endif