From 0c312c5c59c6e9215dc609db06f4ef5577638ba1 Mon Sep 17 00:00:00 2001 From: Sil Vilerino Date: Thu, 9 Nov 2023 16:36:21 -0500 Subject: [PATCH] pipe: Add H264 VUI encode params Reviewed-by: Jesse Natalie Reviewed-by: Ruijing Dong Part-of: --- src/gallium/include/pipe/p_video_state.h | 30 ++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/gallium/include/pipe/p_video_state.h b/src/gallium/include/pipe/p_video_state.h index e1e47c57bc6..b8199576257 100644 --- a/src/gallium/include/pipe/p_video_state.h +++ b/src/gallium/include/pipe/p_video_state.h @@ -523,6 +523,20 @@ struct h265_slice_descriptor enum pipe_h265_slice_type slice_type; }; +typedef struct pipe_h264_enc_hrd_params +{ + uint32_t cpb_cnt_minus1; + uint32_t bit_rate_scale; + uint32_t cpb_size_scale; + uint32_t bit_rate_value_minus1[32]; + uint32_t cpb_size_value_minus1[32]; + uint32_t cbr_flag[32]; + uint32_t initial_cpb_removal_delay_length_minus1; + uint32_t cpb_removal_delay_length_minus1; + uint32_t dpb_output_delay_length_minus1; + uint32_t time_offset_length; +} pipe_h264_enc_hrd_params; + struct pipe_h264_enc_seq_param { unsigned enc_constraint_set_flags; @@ -540,6 +554,15 @@ struct pipe_h264_enc_seq_param uint32_t video_signal_type_present_flag: 1; uint32_t colour_description_present_flag: 1; uint32_t chroma_loc_info_present_flag: 1; + uint32_t overscan_info_present_flag: 1; + uint32_t overscan_appropriate_flag: 1; + uint32_t fixed_frame_rate_flag: 1; + uint32_t nal_hrd_parameters_present_flag: 1; + uint32_t vcl_hrd_parameters_present_flag: 1; + uint32_t low_delay_hrd_flag: 1; + uint32_t pic_struct_present_flag: 1; + uint32_t bitstream_restriction_flag: 1; + uint32_t motion_vectors_over_pic_boundaries_flag: 1; } vui_flags; uint32_t aspect_ratio_idc; uint32_t sar_width; @@ -554,6 +577,13 @@ struct pipe_h264_enc_seq_param uint32_t chroma_sample_loc_type_top_field; uint32_t chroma_sample_loc_type_bottom_field; uint32_t max_num_reorder_frames; + pipe_h264_enc_hrd_params nal_hrd_parameters; + pipe_h264_enc_hrd_params vcl_hrd_parameters; + uint32_t max_bytes_per_pic_denom; + uint32_t max_bits_per_mb_denom; + uint32_t log2_max_mv_length_vertical; + uint32_t log2_max_mv_length_horizontal; + uint32_t max_dec_frame_buffering; }; struct pipe_h264_enc_picture_desc