summaryrefslogtreecommitdiffstats
path: root/src/gallium/include
diff options
context:
space:
mode:
authorBoyuan Zhang <boyuan.zhang@amd.com>2016-07-13 18:51:11 -0400
committerChristian König <christian.koenig@amd.com>2016-07-14 09:49:07 +0200
commitb86bf4b568634b4bf11c645c60025840a0dcab5c (patch)
tree49098a91045aa5a8784cfad65738fe8650f765a8 /src/gallium/include
parent9ce52baf7f479d506bcea17a371dcf2fad92f139 (diff)
downloadexternal_mesa3d-b86bf4b568634b4bf11c645c60025840a0dcab5c.zip
external_mesa3d-b86bf4b568634b4bf11c645c60025840a0dcab5c.tar.gz
external_mesa3d-b86bf4b568634b4bf11c645c60025840a0dcab5c.tar.bz2
vl: add parameters for VAAPI encode
Allow to specify more parameters in the encoding interface which previously just hardcoded in the encoder Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com>
Diffstat (limited to 'src/gallium/include')
-rw-r--r--src/gallium/include/pipe/p_video_state.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/gallium/include/pipe/p_video_state.h b/src/gallium/include/pipe/p_video_state.h
index d353be6..754d013 100644
--- a/src/gallium/include/pipe/p_video_state.h
+++ b/src/gallium/include/pipe/p_video_state.h
@@ -352,9 +352,29 @@ struct pipe_h264_enc_rate_control
unsigned frame_rate_num;
unsigned frame_rate_den;
unsigned vbv_buffer_size;
+ unsigned vbv_buf_lv;
unsigned target_bits_picture;
unsigned peak_bits_picture_integer;
unsigned peak_bits_picture_fraction;
+ unsigned fill_data_enable;
+ unsigned enforce_hrd;
+};
+
+struct pipe_h264_enc_motion_estimation
+{
+ unsigned motion_est_quarter_pixel;
+ unsigned enc_disable_sub_mode;
+ unsigned lsmvert;
+ unsigned enc_en_ime_overw_dis_subm;
+ unsigned enc_ime_overw_dis_subm_no;
+ unsigned enc_ime2_search_range_x;
+ unsigned enc_ime2_search_range_y;
+};
+
+struct pipe_h264_enc_pic_control
+{
+ unsigned enc_cabac_enable;
+ unsigned enc_constraint_set_flags;
};
struct pipe_h264_enc_picture_desc
@@ -363,17 +383,30 @@ struct pipe_h264_enc_picture_desc
struct pipe_h264_enc_rate_control rate_ctrl;
+ struct pipe_h264_enc_motion_estimation motion_est;
+ struct pipe_h264_enc_pic_control pic_ctrl;
+
unsigned quant_i_frames;
unsigned quant_p_frames;
unsigned quant_b_frames;
enum pipe_h264_enc_picture_type picture_type;
unsigned frame_num;
+ unsigned frame_num_cnt;
+ unsigned p_remain;
+ unsigned i_remain;
+ unsigned idr_pic_id;
+ unsigned gop_cnt;
unsigned pic_order_cnt;
unsigned ref_idx_l0;
unsigned ref_idx_l1;
+ unsigned gop_size;
+ unsigned ref_pic_mode;
bool not_referenced;
+ bool is_idr;
+ bool enable_vui;
+ unsigned int frame_idx[32];
};
struct pipe_h265_sps