diff options
author | Boyuan Zhang <[email protected]> | 2016-07-13 18:51:11 -0400 |
---|---|---|
committer | Christian König <[email protected]> | 2016-07-14 09:49:07 +0200 |
commit | b86bf4b568634b4bf11c645c60025840a0dcab5c (patch) | |
tree | 49098a91045aa5a8784cfad65738fe8650f765a8 | |
parent | 9ce52baf7f479d506bcea17a371dcf2fad92f139 (diff) |
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 <[email protected]>
Reviewed-by: Christian König <[email protected]>
-rw-r--r-- | src/gallium/include/pipe/p_video_state.h | 33 |
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 d353be60759..754d0137f1a 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 |