Merge "video: driver: Add HFI and internal buffer changes for AV1 DRAP"

这个提交包含在:
qctecmdr
2022-02-02 13:53:27 -08:00
提交者 Gerrit - the friendly Code Review server
当前提交 8f0905c717
修改 8 个文件,包含 95 行新增14 行删除

查看文件

@@ -540,6 +540,8 @@ enum hfi_nal_length_field_type {
#define HFI_PROP_OPB_ENABLE 0x03000184
#define HFI_PROP_AV1_DRAP_CONFIG 0x03000189
#define HFI_PROP_END 0x03FFFFFF
#define HFI_SESSION_ERROR_BEGIN 0x04000000
@@ -556,6 +558,8 @@ enum hfi_nal_length_field_type {
#define HFI_ERROR_BUFFER_NOT_SET 0x04000006
#define HFI_ERROR_DRAP_CONFIG_EXCEED 0x04000007
#define HFI_SESSION_ERROR_END 0x04FFFFFF
#define HFI_SYSTEM_ERROR_BEGIN 0x05000000

查看文件

@@ -458,6 +458,7 @@ enum msm_vidc_inst_capability_type {
DPB_LIST,
FILM_GRAIN,
SUPER_BLOCK,
DRAP,
ALL_INTRA,
INPUT_METADATA_FD,
META_BITSTREAM_RESOLUTION,

查看文件

@@ -886,6 +886,32 @@ static int msm_vdec_set_av1_operating_point(struct msm_vidc_inst *inst,
return rc;
}
static int msm_vdec_set_av1_drap_config(struct msm_vidc_inst *inst,
enum msm_vidc_port_type port)
{
int rc = 0;
u32 drap_config;
if (inst->codec != MSM_VIDC_AV1)
return 0;
drap_config = inst->capabilities->cap[DRAP].value;
i_vpr_h(inst, "%s: drap_config: %u\n", __func__, drap_config);
rc = venus_hfi_session_property(inst,
HFI_PROP_AV1_DRAP_CONFIG,
HFI_HOST_FLAGS_NONE,
get_hfi_port(inst, port),
HFI_PAYLOAD_U32,
&drap_config,
sizeof(u32));
if (rc) {
i_vpr_e(inst, "%s: set property failed\n", __func__);
return rc;
}
return rc;
}
static int msm_vdec_set_input_properties(struct msm_vidc_inst *inst)
{
int rc = 0;
@@ -935,6 +961,10 @@ static int msm_vdec_set_input_properties(struct msm_vidc_inst *inst)
if (rc)
return rc;
rc = msm_vdec_set_av1_drap_config(inst, INPUT_PORT);
if (rc)
return rc;
return rc;
}

查看文件

@@ -187,7 +187,8 @@ u32 msm_vidc_internal_buffer_count(struct msm_vidc_inst *inst,
buffer_type == MSM_VIDC_BUF_NON_COMV) {
if (inst->codec == MSM_VIDC_H264 ||
inst->codec == MSM_VIDC_HEVC ||
inst->codec == MSM_VIDC_HEIC)
inst->codec == MSM_VIDC_HEIC ||
inst->codec == MSM_VIDC_AV1)
count = 1;
else
count = 0;

查看文件

@@ -175,6 +175,7 @@ static const struct msm_vidc_cap_name cap_name_arr[] = {
{DPB_LIST, "DPB_LIST" },
{FILM_GRAIN, "FILM_GRAIN" },
{SUPER_BLOCK, "SUPER_BLOCK" },
{DRAP, "DRAP" },
{ALL_INTRA, "ALL_INTRA" },
{INPUT_METADATA_FD, "INPUT_METADATA_FD" },
{META_BITSTREAM_RESOLUTION, "META_BITSTREAM_RESOLUTION" },