[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ac3faf07-7974-fb26-2d58-0ddc014fce66@quicinc.com>
Date: Wed, 5 Apr 2023 11:16:41 +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/4/2023 11:52 PM, 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
>>
>> /*
>> * 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;
>> + }
> Does it never have to be turned off? Or does it happen automatically
> at session closure?
>
> Konrad
Any property set to FW is applied for entire video session and it
doesn't need to change so
there is no need to turn it off or unset it.
Thanks,
Dikshita
>> +
>> 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