linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/1] Fix for H265 decoding failure .
@ 2022-11-15 12:10 quic_vboma
  2022-11-15 12:10 ` [PATCH 1/1] venus : " quic_vboma
  0 siblings, 1 reply; 8+ messages in thread
From: quic_vboma @ 2022-11-15 12:10 UTC (permalink / raw)
  To: Stanimir Varbanov, Andy Gross, Bjorn Andersson,
	Mauro Carvalho Chehab, linux-media, linux-arm-msm, linux-kernel
  Cc: Viswanath Boma

From: Viswanath Boma <quic_vboma@quicinc.com>

Fixed the buffer size calculation mismatch with firmware requirements.
Tested  on v5.15 and v5.4 kernels .
For testing utilised the chrome utilities .


Viswanath Boma (1):
  venus : Fix for H265 decoding failure.

 drivers/media/platform/qcom/venus/hfi_plat_bufs_v6.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/1] venus : Fix for H265 decoding failure.
  2022-11-15 12:10 [PATCH 0/1] Fix for H265 decoding failure quic_vboma
@ 2022-11-15 12:10 ` quic_vboma
  2022-12-02  0:12   ` Nathan Hebert
                     ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: quic_vboma @ 2022-11-15 12:10 UTC (permalink / raw)
  To: Stanimir Varbanov, Andy Gross, Bjorn Andersson,
	Mauro Carvalho Chehab, linux-media, linux-arm-msm, linux-kernel
  Cc: Viswanath Boma, Vikash Garodia

From: Viswanath Boma <quic_vboma@quicinc.com>

Aligned the mismatch of persist1 and scratch1 buffer calculation,
as per the firmware requirements .

Signed-off-by: Vikash Garodia <vgarodia@qti.qualcomm.com>
Signed-off-by: Viswanath Boma <quic_vboma@quicinc.com>
---
 drivers/media/platform/qcom/venus/hfi_plat_bufs_v6.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/media/platform/qcom/venus/hfi_plat_bufs_v6.c b/drivers/media/platform/qcom/venus/hfi_plat_bufs_v6.c
index ea25c451222b..a9be31ec6927 100644
--- a/drivers/media/platform/qcom/venus/hfi_plat_bufs_v6.c
+++ b/drivers/media/platform/qcom/venus/hfi_plat_bufs_v6.c
@@ -93,7 +93,7 @@
 #define LCU_MIN_SIZE_PELS		16
 #define SIZE_SEI_USERDATA		4096
 
-#define H265D_MAX_SLICE			600
+#define H265D_MAX_SLICE			3600
 #define SIZE_H265D_HW_PIC_T		SIZE_H264D_HW_PIC_T
 #define SIZE_H265D_BSE_CMD_PER_BUF	(16 * sizeof(u32))
 #define SIZE_H265D_VPP_CMD_PER_BUF	256
@@ -1021,7 +1021,7 @@ static u32 h264d_persist1_size(void)
 static u32 h265d_persist1_size(void)
 {
 	return ALIGN((SIZE_SLIST_BUF_H265 * NUM_SLIST_BUF_H265 + H265_NUM_TILE
-			* sizeof(u32)), HFI_DMA_ALIGNMENT);
+			* sizeof(u32) + NUM_HW_PIC_BUF * SIZE_SEI_USERDATA), HFI_DMA_ALIGNMENT);
 }
 
 static u32 vp8d_persist1_size(void)
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/1] venus : Fix for H265 decoding failure.
  2022-11-15 12:10 ` [PATCH 1/1] venus : " quic_vboma
@ 2022-12-02  0:12   ` Nathan Hebert
  2022-12-02 19:48     ` Nathan Hebert
  2022-12-02  0:51   ` Bryan O'Donoghue
  2023-03-16  7:57   ` [[v1]PATCH 0/1] " quic_vboma
  2 siblings, 1 reply; 8+ messages in thread
From: Nathan Hebert @ 2022-12-02  0:12 UTC (permalink / raw)
  To: quic_vboma
  Cc: Stanimir Varbanov, Andy Gross, Bjorn Andersson,
	Mauro Carvalho Chehab, linux-media, linux-arm-msm, linux-kernel,
	Vikash Garodia

On Tue, Nov 15, 2022 at 4:10 AM <quic_vboma@quicinc.com> wrote:
>
> From: Viswanath Boma <quic_vboma@quicinc.com>
>
> Aligned the mismatch of persist1 and scratch1 buffer calculation,
> as per the firmware requirements .
>
> Signed-off-by: Vikash Garodia <vgarodia@qti.qualcomm.com>
> Signed-off-by: Viswanath Boma <quic_vboma@quicinc.com>
> ---
>  drivers/media/platform/qcom/venus/hfi_plat_bufs_v6.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/media/platform/qcom/venus/hfi_plat_bufs_v6.c b/drivers/media/platform/qcom/venus/hfi_plat_bufs_v6.c
> index ea25c451222b..a9be31ec6927 100644
> --- a/drivers/media/platform/qcom/venus/hfi_plat_bufs_v6.c
> +++ b/drivers/media/platform/qcom/venus/hfi_plat_bufs_v6.c
> @@ -93,7 +93,7 @@
>  #define LCU_MIN_SIZE_PELS              16
>  #define SIZE_SEI_USERDATA              4096
>
> -#define H265D_MAX_SLICE                        600
> +#define H265D_MAX_SLICE                        3600
>  #define SIZE_H265D_HW_PIC_T            SIZE_H264D_HW_PIC_T
>  #define SIZE_H265D_BSE_CMD_PER_BUF     (16 * sizeof(u32))
>  #define SIZE_H265D_VPP_CMD_PER_BUF     256
> @@ -1021,7 +1021,7 @@ static u32 h264d_persist1_size(void)
>  static u32 h265d_persist1_size(void)
>  {
>         return ALIGN((SIZE_SLIST_BUF_H265 * NUM_SLIST_BUF_H265 + H265_NUM_TILE
> -                       * sizeof(u32)), HFI_DMA_ALIGNMENT);
> +                       * sizeof(u32) + NUM_HW_PIC_BUF * SIZE_SEI_USERDATA), HFI_DMA_ALIGNMENT);
>  }
>
>  static u32 vp8d_persist1_size(void)
> --
> 2.17.1
>
Hi Viswanath. I tested this patch on ChromiumOS's downstream
5.15-based fork. Using ITU-T HEVC test vectors [0] I am seeing
firmware errors "qcom-venus-decoder aa00000.video-codec:video-decoder:
VenusMed : event not sufficient resources". Does this change fix HEVC
decoding for you?

[0]: https://www.itu.int/wftp3/av-arch/jctvc-site/bitstream_exchange/draft_conformance/HEVC_v1/

Best regards,
Nathan Hebert

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/1] venus : Fix for H265 decoding failure.
  2022-11-15 12:10 ` [PATCH 1/1] venus : " quic_vboma
  2022-12-02  0:12   ` Nathan Hebert
@ 2022-12-02  0:51   ` Bryan O'Donoghue
  2023-03-16  7:57   ` [[v1]PATCH 0/1] " quic_vboma
  2 siblings, 0 replies; 8+ messages in thread
From: Bryan O'Donoghue @ 2022-12-02  0:51 UTC (permalink / raw)
  To: quic_vboma, Stanimir Varbanov, Andy Gross, Bjorn Andersson,
	Mauro Carvalho Chehab, linux-media, linux-arm-msm, linux-kernel
  Cc: Vikash Garodia

On 15/11/2022 12:10, quic_vboma@quicinc.com wrote:
> From: Viswanath Boma <quic_vboma@quicinc.com>
> 
> Aligned the mismatch of persist1 and scratch1 buffer calculation,
> as per the firmware requirements .
> 
> Signed-off-by: Vikash Garodia <vgarodia@qti.qualcomm.com>
> Signed-off-by: Viswanath Boma <quic_vboma@quicinc.com>
> ---
>   drivers/media/platform/qcom/venus/hfi_plat_bufs_v6.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/media/platform/qcom/venus/hfi_plat_bufs_v6.c b/drivers/media/platform/qcom/venus/hfi_plat_bufs_v6.c
> index ea25c451222b..a9be31ec6927 100644
> --- a/drivers/media/platform/qcom/venus/hfi_plat_bufs_v6.c
> +++ b/drivers/media/platform/qcom/venus/hfi_plat_bufs_v6.c
> @@ -93,7 +93,7 @@
>   #define LCU_MIN_SIZE_PELS		16
>   #define SIZE_SEI_USERDATA		4096
>   
> -#define H265D_MAX_SLICE			600
> +#define H265D_MAX_SLICE			3600
>   #define SIZE_H265D_HW_PIC_T		SIZE_H264D_HW_PIC_T
>   #define SIZE_H265D_BSE_CMD_PER_BUF	(16 * sizeof(u32))
>   #define SIZE_H265D_VPP_CMD_PER_BUF	256
> @@ -1021,7 +1021,7 @@ static u32 h264d_persist1_size(void)
>   static u32 h265d_persist1_size(void)
>   {
>   	return ALIGN((SIZE_SLIST_BUF_H265 * NUM_SLIST_BUF_H265 + H265_NUM_TILE
> -			* sizeof(u32)), HFI_DMA_ALIGNMENT);
> +			* sizeof(u32) + NUM_HW_PIC_BUF * SIZE_SEI_USERDATA), HFI_DMA_ALIGNMENT);
>   }
>   
>   static u32 vp8d_persist1_size(void)

If this is a real fix it need to be applied elsewhere

Please add a Fixes tag

Fixes: 3a75bf4e7925 ("media: venus: Add platform buffers for v6")

and

Cc: <stable@vger.kernel.org> # 5.14.x

---
bod

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/1] venus : Fix for H265 decoding failure.
  2022-12-02  0:12   ` Nathan Hebert
@ 2022-12-02 19:48     ` Nathan Hebert
  2022-12-05  4:48       ` Viswanath Boma (Temp)
  0 siblings, 1 reply; 8+ messages in thread
From: Nathan Hebert @ 2022-12-02 19:48 UTC (permalink / raw)
  To: quic_vboma
  Cc: Stanimir Varbanov, Andy Gross, Bjorn Andersson,
	Mauro Carvalho Chehab, linux-media, linux-arm-msm, linux-kernel,
	Vikash Garodia

On Thu, Dec 1, 2022 at 4:12 PM Nathan Hebert <nhebert@chromium.org> wrote:
>
> On Tue, Nov 15, 2022 at 4:10 AM <quic_vboma@quicinc.com> wrote:
> >
> > From: Viswanath Boma <quic_vboma@quicinc.com>
> >
> > Aligned the mismatch of persist1 and scratch1 buffer calculation,
> > as per the firmware requirements .
> >
> > Signed-off-by: Vikash Garodia <vgarodia@qti.qualcomm.com>
> > Signed-off-by: Viswanath Boma <quic_vboma@quicinc.com>
> > ---
> >  drivers/media/platform/qcom/venus/hfi_plat_bufs_v6.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/media/platform/qcom/venus/hfi_plat_bufs_v6.c b/drivers/media/platform/qcom/venus/hfi_plat_bufs_v6.c
> > index ea25c451222b..a9be31ec6927 100644
> > --- a/drivers/media/platform/qcom/venus/hfi_plat_bufs_v6.c
> > +++ b/drivers/media/platform/qcom/venus/hfi_plat_bufs_v6.c
> > @@ -93,7 +93,7 @@
> >  #define LCU_MIN_SIZE_PELS              16
> >  #define SIZE_SEI_USERDATA              4096
> >
> > -#define H265D_MAX_SLICE                        600
> > +#define H265D_MAX_SLICE                        3600
> >  #define SIZE_H265D_HW_PIC_T            SIZE_H264D_HW_PIC_T
> >  #define SIZE_H265D_BSE_CMD_PER_BUF     (16 * sizeof(u32))
> >  #define SIZE_H265D_VPP_CMD_PER_BUF     256
> > @@ -1021,7 +1021,7 @@ static u32 h264d_persist1_size(void)
> >  static u32 h265d_persist1_size(void)
> >  {
> >         return ALIGN((SIZE_SLIST_BUF_H265 * NUM_SLIST_BUF_H265 + H265_NUM_TILE
> > -                       * sizeof(u32)), HFI_DMA_ALIGNMENT);
> > +                       * sizeof(u32) + NUM_HW_PIC_BUF * SIZE_SEI_USERDATA), HFI_DMA_ALIGNMENT);
> >  }
> >
> >  static u32 vp8d_persist1_size(void)
> > --
> > 2.17.1
> >
> Hi Viswanath. I tested this patch on ChromiumOS's downstream
> 5.15-based fork. Using ITU-T HEVC test vectors [0] I am seeing
> firmware errors "qcom-venus-decoder aa00000.video-codec:video-decoder:
> VenusMed : event not sufficient resources". Does this change fix HEVC
> decoding for you?
>

Hi Viswanath. Thanks for looking at the logs offline. I re-tested
after adding Q08C (UBWC) support to my decoder client, and it fixed
the error that I was seeing. My mistake. Each of the main profile test
vectors now decodes correctly after applying your patch!

Tested-by: Nathan Hebert <nhebert@chromium.org>

> [0]: https://www.itu.int/wftp3/av-arch/jctvc-site/bitstream_exchange/draft_conformance/HEVC_v1/
>
> Best regards,
> Nathan Hebert

^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: [PATCH 1/1] venus : Fix for H265 decoding failure.
  2022-12-02 19:48     ` Nathan Hebert
@ 2022-12-05  4:48       ` Viswanath Boma (Temp)
  0 siblings, 0 replies; 8+ messages in thread
From: Viswanath Boma (Temp) @ 2022-12-05  4:48 UTC (permalink / raw)
  To: Nathan Hebert, Viswanath Boma (Temp) (QUIC)
  Cc: stanimir.varbanov, Andy Gross, bjorn.andersson,
	Mauro Carvalho Chehab, linux-media, linux-arm-msm, linux-kernel,
	Vikash Garodia



-----Original Message-----
From: Nathan Hebert <nhebert@chromium.org> 
Sent: Saturday, December 3, 2022 1:19 AM
To: Viswanath Boma (Temp) (QUIC) <quic_vboma@quicinc.com>
Cc: stanimir.varbanov@linaro.org; Andy Gross <agross@kernel.org>; bjorn.andersson@linaro.org; Mauro Carvalho Chehab <mchehab@kernel.org>; linux-media@vger.kernel.org; linux-arm-msm@vger.kernel.org; linux-kernel@vger.kernel.org; Vikash Garodia <vgarodia@qti.qualcomm.com>
Subject: Re: [PATCH 1/1] venus : Fix for H265 decoding failure.

WARNING: This email originated from outside of Qualcomm. Please be wary of any links or attachments, and do not enable macros.

On Thu, Dec 1, 2022 at 4:12 PM Nathan Hebert <nhebert@chromium.org> wrote:
>
> On Tue, Nov 15, 2022 at 4:10 AM <quic_vboma@quicinc.com> wrote:
> >
> > From: Viswanath Boma <quic_vboma@quicinc.com>
> >
> > Aligned the mismatch of persist1 and scratch1 buffer calculation, as 
> > per the firmware requirements .
> >
> > Signed-off-by: Vikash Garodia <vgarodia@qti.qualcomm.com>
> > Signed-off-by: Viswanath Boma <quic_vboma@quicinc.com>
> > ---
> >  drivers/media/platform/qcom/venus/hfi_plat_bufs_v6.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/media/platform/qcom/venus/hfi_plat_bufs_v6.c 
> > b/drivers/media/platform/qcom/venus/hfi_plat_bufs_v6.c
> > index ea25c451222b..a9be31ec6927 100644
> > --- a/drivers/media/platform/qcom/venus/hfi_plat_bufs_v6.c
> > +++ b/drivers/media/platform/qcom/venus/hfi_plat_bufs_v6.c
> > @@ -93,7 +93,7 @@
> >  #define LCU_MIN_SIZE_PELS              16
> >  #define SIZE_SEI_USERDATA              4096
> >
> > -#define H265D_MAX_SLICE                        600
> > +#define H265D_MAX_SLICE                        3600
> >  #define SIZE_H265D_HW_PIC_T            SIZE_H264D_HW_PIC_T
> >  #define SIZE_H265D_BSE_CMD_PER_BUF     (16 * sizeof(u32))
> >  #define SIZE_H265D_VPP_CMD_PER_BUF     256
> > @@ -1021,7 +1021,7 @@ static u32 h264d_persist1_size(void)  static 
> > u32 h265d_persist1_size(void)  {
> >         return ALIGN((SIZE_SLIST_BUF_H265 * NUM_SLIST_BUF_H265 + H265_NUM_TILE
> > -                       * sizeof(u32)), HFI_DMA_ALIGNMENT);
> > +                       * sizeof(u32) + NUM_HW_PIC_BUF * 
> > + SIZE_SEI_USERDATA), HFI_DMA_ALIGNMENT);
> >  }
> >
> >  static u32 vp8d_persist1_size(void)
> > --
> > 2.17.1
> >
> Hi Viswanath. I tested this patch on ChromiumOS's downstream 
> 5.15-based fork. Using ITU-T HEVC test vectors [0] I am seeing 
> firmware errors "qcom-venus-decoder aa00000.video-codec:video-decoder:
> VenusMed : event not sufficient resources". Does this change fix HEVC 
> decoding for you?
>

Hi Viswanath. Thanks for looking at the logs offline. I re-tested after adding Q08C (UBWC) support to my decoder client, and it fixed the error that I was seeing. My mistake. Each of the main profile test vectors now decodes correctly after applying your patch!
[vboma] Thank you Nathan for the update .

Tested-by: Nathan Hebert <nhebert@chromium.org>

> [0]: 
> https://www.itu.int/wftp3/av-arch/jctvc-site/bitstream_exchange/draft_
> conformance/HEVC_v1/
>
> Best regards,
> Nathan Hebert

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [[v1]PATCH 0/1] Fix for H265 decoding failure .
  2022-11-15 12:10 ` [PATCH 1/1] venus : " quic_vboma
  2022-12-02  0:12   ` Nathan Hebert
  2022-12-02  0:51   ` Bryan O'Donoghue
@ 2023-03-16  7:57   ` quic_vboma
  2023-03-16  7:57     ` [PATCH] venus : " quic_vboma
  2 siblings, 1 reply; 8+ messages in thread
From: quic_vboma @ 2023-03-16  7:57 UTC (permalink / raw)
  To: Stanimir Varbanov, Vikash Garodia, Viswanath Boma, Andy Gross,
	Bjorn Andersson, Konrad Dybcio, Mauro Carvalho Chehab,
	linux-media, linux-arm-msm, linux-kernel

From: Viswanath Boma <quic_vboma@quicinc.com>

Fixed strict patch warnings and ensured rebase.

Fixed the buffer size calculation mismatch with firmware requirements.
Tested  on v5.15  kernel.
For testing utilised the chrome utilities .


Viswanath Boma (1):
  venus : Fix for H265 decoding failure.

 drivers/media/platform/qcom/venus/hfi_plat_bufs_v6.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH] venus : Fix for H265 decoding failure.
  2023-03-16  7:57   ` [[v1]PATCH 0/1] " quic_vboma
@ 2023-03-16  7:57     ` quic_vboma
  0 siblings, 0 replies; 8+ messages in thread
From: quic_vboma @ 2023-03-16  7:57 UTC (permalink / raw)
  To: Stanimir Varbanov, Vikash Garodia, Viswanath Boma, Andy Gross,
	Bjorn Andersson, Konrad Dybcio, Mauro Carvalho Chehab,
	linux-media, linux-arm-msm, linux-kernel
  Cc: Vikash Garodia

From: Viswanath Boma <quic_vboma@quicinc.com>

Aligned the mismatch of persist1 and scratch1 buffer calculation,
as per the firmware requirements .

Signed-off-by: Vikash Garodia <vgarodia@qti.qualcomm.com>
Signed-off-by: Viswanath Boma <quic_vboma@quicinc.com>
Tested-by: Nathan Hebert <nhebert@chromium.org>
---
 drivers/media/platform/qcom/venus/hfi_plat_bufs_v6.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/media/platform/qcom/venus/hfi_plat_bufs_v6.c b/drivers/media/platform/qcom/venus/hfi_plat_bufs_v6.c
index ea25c451222b..a9be31ec6927 100644
--- a/drivers/media/platform/qcom/venus/hfi_plat_bufs_v6.c
+++ b/drivers/media/platform/qcom/venus/hfi_plat_bufs_v6.c
@@ -93,7 +93,7 @@
 #define LCU_MIN_SIZE_PELS		16
 #define SIZE_SEI_USERDATA		4096
 
-#define H265D_MAX_SLICE			600
+#define H265D_MAX_SLICE			3600
 #define SIZE_H265D_HW_PIC_T		SIZE_H264D_HW_PIC_T
 #define SIZE_H265D_BSE_CMD_PER_BUF	(16 * sizeof(u32))
 #define SIZE_H265D_VPP_CMD_PER_BUF	256
@@ -1021,7 +1021,7 @@ static u32 h264d_persist1_size(void)
 static u32 h265d_persist1_size(void)
 {
 	return ALIGN((SIZE_SLIST_BUF_H265 * NUM_SLIST_BUF_H265 + H265_NUM_TILE
-			* sizeof(u32)), HFI_DMA_ALIGNMENT);
+			* sizeof(u32) + NUM_HW_PIC_BUF * SIZE_SEI_USERDATA), HFI_DMA_ALIGNMENT);
 }
 
 static u32 vp8d_persist1_size(void)
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2023-03-16  7:57 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-15 12:10 [PATCH 0/1] Fix for H265 decoding failure quic_vboma
2022-11-15 12:10 ` [PATCH 1/1] venus : " quic_vboma
2022-12-02  0:12   ` Nathan Hebert
2022-12-02 19:48     ` Nathan Hebert
2022-12-05  4:48       ` Viswanath Boma (Temp)
2022-12-02  0:51   ` Bryan O'Donoghue
2023-03-16  7:57   ` [[v1]PATCH 0/1] " quic_vboma
2023-03-16  7:57     ` [PATCH] venus : " quic_vboma

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).