[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <3b3e4cba-645a-f5b1-5efa-fb5932c78563@quicinc.com>
Date: Wed, 5 Apr 2023 13:51:40 +0530
From: Dikshita Agarwal <quic_dikshita@...cinc.com>
To: Konrad Dybcio <konrad.dybcio@...aro.org>,
<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 2/3] venus: enable sufficient sequence change support for
vp9
On 4/5/2023 12:35 AM, Konrad Dybcio wrote:
>
> On 4.04.2023 08:17, 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: Dikshita Agarwal <quic_dikshita@...cinc.com>
>> Signed-off-by: Vikash Garodia <quic_vgarodia@...cinc.com>
>> Signed-off-by: Viswanath Boma <quic_vboma@...cinc.com>
>> Tested-by: Nathan Hebert <nhebert@...omium.org>
>> ---
>> 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..20516b4 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 \
>> + 0x0100300b
> Also, nit: this one has a leading zero, whereas other properties don't
>
> Konrad
Sure, Will fix in next version.
Thanks,
Dikshita
>>
>> /*
>> * 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