[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b4abc8aa-bcd6-ae5c-1bab-5916f1e4a541@linaro.org>
Date: Thu, 4 May 2023 11:43:32 +0200
From: Konrad Dybcio <konrad.dybcio@...aro.org>
To: Dikshita Agarwal <quic_dikshita@...cinc.com>,
linux-media@...r.kernel.org, stanimir.k.varbanov@...il.com,
quic_vgarodia@...cinc.com, agross@...nel.org, andersson@...nel.org,
mchehab@...nel.org
Cc: linux-kernel@...r.kernel.org, linux-arm-msm@...r.kernel.org,
Viswanath Boma <quic_vboma@...cinc.com>
Subject: Re: [PATCH v3 2/3] venus: enable sufficient sequence change support
for vp9
On 4.05.2023 11:39, Dikshita Agarwal wrote:
> VP9 supports resolution change at interframe.
> Currenlty, if sequence change is detected at interframe and
> resources are sufficient, sequence change event is not raised
> by firmware to driver until the next keyframe.
> This change add the HFI to notify the sequence change in this
> case to driver.
>
> Signed-off-by: Vikash Garodia <quic_vgarodia@...cinc.com>
> Signed-off-by: Viswanath Boma <quic_vboma@...cinc.com>
> Signed-off-by: Dikshita Agarwal <quic_dikshita@...cinc.com>
> Tested-by: Nathan Hebert <nhebert@...omium.org>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@...aro.org>
Konrad
> drivers/media/platform/qcom/venus/hfi_cmds.c | 1 +
> drivers/media/platform/qcom/venus/hfi_helper.h | 2 ++
> drivers/media/platform/qcom/venus/vdec.c | 8 ++++++++
> 3 files changed, 11 insertions(+)
>
> diff --git a/drivers/media/platform/qcom/venus/hfi_cmds.c b/drivers/media/platform/qcom/venus/hfi_cmds.c
> index 930b743..e2539b5 100644
> --- a/drivers/media/platform/qcom/venus/hfi_cmds.c
> +++ b/drivers/media/platform/qcom/venus/hfi_cmds.c
> @@ -521,6 +521,7 @@ static int pkt_session_set_property_1x(struct hfi_session_set_property_pkt *pkt,
> pkt->shdr.hdr.size += sizeof(u32) + sizeof(*en);
> break;
> }
> + case HFI_PROPERTY_PARAM_VDEC_ENABLE_SUFFICIENT_SEQCHANGE_EVENT:
> case HFI_PROPERTY_CONFIG_VDEC_POST_LOOP_DEBLOCKER: {
> struct hfi_enable *in = pdata;
> struct hfi_enable *en = prop_data;
> diff --git a/drivers/media/platform/qcom/venus/hfi_helper.h b/drivers/media/platform/qcom/venus/hfi_helper.h
> index d2d6719..2e03b6e 100644
> --- a/drivers/media/platform/qcom/venus/hfi_helper.h
> +++ b/drivers/media/platform/qcom/venus/hfi_helper.h
> @@ -469,6 +469,8 @@
> #define HFI_PROPERTY_PARAM_VDEC_PIXEL_BITDEPTH 0x1003007
> #define HFI_PROPERTY_PARAM_VDEC_PIC_STRUCT 0x1003009
> #define HFI_PROPERTY_PARAM_VDEC_COLOUR_SPACE 0x100300a
> +#define HFI_PROPERTY_PARAM_VDEC_ENABLE_SUFFICIENT_SEQCHANGE_EVENT \
> + 0x100300b
>
> /*
> * HFI_PROPERTY_CONFIG_VDEC_COMMON_START
> diff --git a/drivers/media/platform/qcom/venus/vdec.c b/drivers/media/platform/qcom/venus/vdec.c
> index 4ceaba3..f0394b9 100644
> --- a/drivers/media/platform/qcom/venus/vdec.c
> +++ b/drivers/media/platform/qcom/venus/vdec.c
> @@ -671,6 +671,14 @@ static int vdec_set_properties(struct venus_inst *inst)
> return ret;
> }
>
> + /* Enabling sufficient sequence change support for VP9 */
> + if (is_fw_rev_or_newer(inst->core, 5, 4, 51)) {
> + ptype = HFI_PROPERTY_PARAM_VDEC_ENABLE_SUFFICIENT_SEQCHANGE_EVENT;
> + ret = hfi_session_set_property(inst, ptype, &en);
> + if (ret)
> + return ret;
> + }
> +
> ptype = HFI_PROPERTY_PARAM_VDEC_CONCEAL_COLOR;
> conceal = ctr->conceal_color & 0xffff;
> conceal |= ((ctr->conceal_color >> 16) & 0xffff) << 10;
Powered by blists - more mailing lists