pipe: Add pipe_enc_qpmap_input_info to contain GPU & CPU QP Maps
Add a new pipe struct to contain - GPU QP Map Handle - CPU QP Map (8-bit and 16-bit) Reviewed-by: Ruijing Dong <ruijing.dong@amd.com> Reviewed-by: Jesse Natalie <jenatali@microsoft.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37581>
This commit is contained in:
committed by
Silvio Vilerino
parent
52c7b0d20c
commit
1636620eab
@@ -528,6 +528,26 @@ struct pipe_enc_roi
|
||||
struct pipe_enc_region_in_roi region[PIPE_ENC_ROI_REGION_NUM_MAX];
|
||||
};
|
||||
|
||||
enum pipe_enc_qpmap_input_mode
|
||||
{
|
||||
PIPE_ENC_QPMAP_INPUT_MODE_DISABLED = 0,
|
||||
PIPE_ENC_QPMAP_INPUT_MODE_CPU_BUFFER_8BIT = 1,
|
||||
PIPE_ENC_QPMAP_INPUT_MODE_CPU_BUFFER_16BIT = 2,
|
||||
PIPE_ENC_QPMAP_INPUT_MODE_GPU_RESOURCE = 3,
|
||||
};
|
||||
|
||||
struct pipe_enc_qpmap_input_info
|
||||
{
|
||||
/* Selects the input mode and app sets different params below */
|
||||
enum pipe_enc_qpmap_input_mode input_qp_mode;
|
||||
/* Count of the number entries contained by input_qpmap_cpu */
|
||||
uint32_t qp_map_values_count;
|
||||
/* Used with CPU modes */
|
||||
void *input_qpmap_cpu;
|
||||
/* Used with PIPE_ENC_QPMAP_INPUT_GPU_MODE */
|
||||
struct pipe_resource *input_gpu_qpmap;
|
||||
};
|
||||
|
||||
enum pipe_enc_dirty_info_type
|
||||
{
|
||||
PIPE_ENC_DIRTY_INFO_TYPE_DIRTY = 0,
|
||||
@@ -966,8 +986,8 @@ struct pipe_h264_enc_picture_desc
|
||||
/* See PIPE_VIDEO_CAP_ENC_GPU_STATS_PSNR */
|
||||
struct pipe_resource *gpu_stats_psnr;
|
||||
|
||||
/* See PIPE_VIDEO_CAP_ENC_QP_MAPS */
|
||||
struct pipe_resource *input_gpu_qpmap;
|
||||
struct pipe_resource *input_gpu_qpmap; // to be removed.
|
||||
struct pipe_enc_qpmap_input_info input_qpmap_info;
|
||||
|
||||
bool not_referenced;
|
||||
bool is_ltr;
|
||||
@@ -1366,8 +1386,8 @@ struct pipe_h265_enc_picture_desc
|
||||
/* See PIPE_VIDEO_CAP_ENC_GPU_STATS_PSNR */
|
||||
struct pipe_resource *gpu_stats_psnr;
|
||||
|
||||
/* See PIPE_VIDEO_CAP_ENC_QP_MAPS */
|
||||
struct pipe_resource *input_gpu_qpmap;
|
||||
struct pipe_resource *input_gpu_qpmap; // to be remove
|
||||
struct pipe_enc_qpmap_input_info input_qpmap_info;
|
||||
|
||||
unsigned num_ref_idx_l0_active_minus1;
|
||||
unsigned num_ref_idx_l1_active_minus1;
|
||||
@@ -1550,8 +1570,8 @@ struct pipe_av1_enc_picture_desc
|
||||
struct pipe_enc_quality_modes quality_modes;
|
||||
struct pipe_enc_intra_refresh intra_refresh;
|
||||
struct pipe_enc_roi roi;
|
||||
/* See PIPE_VIDEO_CAP_ENC_QP_MAPS */
|
||||
struct pipe_resource *input_gpu_qpmap;
|
||||
struct pipe_resource *input_gpu_qpmap; // to be removed
|
||||
struct pipe_enc_qpmap_input_info input_qpmap_info;
|
||||
uint32_t tile_rows;
|
||||
uint32_t tile_cols;
|
||||
unsigned num_tile_groups;
|
||||
|
||||
Reference in New Issue
Block a user