From: Boyuan Zhang Date: Wed, 13 Jul 2016 22:51:11 +0000 (-0400) Subject: vl: add parameters for VAAPI encode X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b86bf4b568634b4bf11c645c60025840a0dcab5c;p=mesa.git 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 Reviewed-by: Christian König --- 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