mbox series

[v0,0/6] Improve decoder performance and fix critical bugs

Message ID 20241112021517.121-1-jackson.lee@chipsnmedia.com
Headers show
Series Improve decoder performance and fix critical bugs | expand

Message

jackson.lee Nov. 12, 2024, 2:15 a.m. UTC
The wave5 codec driver is a stateful encoder/decoder.
The following patches is for improving decoder performance and fix
critical bugs

v4l2-compliance results:
========================

v4l2-compliance 1.26.1-5142, 64 bits, 64-bit time_t

Buffer ioctls:
                warn: v4l2-test-buffers.cpp(693): VIDIOC_CREATE_BUFS not supported
                warn: v4l2-test-buffers.cpp(693): VIDIOC_CREATE_BUFS not supported
        test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK
        test CREATE_BUFS maximum buffers: OK
        test VIDIOC_EXPBUF: OK
        test Requests: OK (Not Supported)

Total for wave5-dec device /dev/video0: 46, Succeeded: 46, Failed: 0, Warnings: 2
Total for wave5-enc device /dev/video1: 46, Succeeded: 46, Failed: 0, Warnings: 0

Fluster test results:
=====================

Running test suite JCT-VC-HEVC_V1 with decoder GStreamer-H.265-V4L2-Gst1.0 Using 1 parallel job(s)
Ran 132/147 tests successfully               in 67.220 secs

(1 test fails because of not supporting to parse multi frames, 1 test fails because of a missing frame and slight corruption,
 2 tests fail because of sizes which are incompatible with the IP, 11 tests fail because of unsupported 10 bit format)

Running test suite JVT-AVC_V1 with decoder GStreamer-H.264-V4L2-Gst1.0 Using 1 parallel job(s)
Ran 78/135 tests successfully               in 31.808 secs

(57 fail because the hardware is unable to decode  MBAFF / FMO / Field / Extended profile streams.)


Jackson.lee (6):
  media: chips-media: wave5: Fix to display gray color on screen
  media: chips-media: wave5: Avoid race condition for interrupt handling
  media: chips-media: wave5: Improve performance of decoder
  media: chips-media: wave5: Fix Multistream Decode Hang with no IRQ
    Present
  media: chips-media: wave5: Fix hang after seeking
  media: chips-media: wave5: Fix timeout while testing 10bit hevc
    fluster

 .../platform/chips-media/wave5/wave5-helper.c |   6 +
 .../platform/chips-media/wave5/wave5-hw.c     |   2 +-
 .../chips-media/wave5/wave5-vpu-dec.c         | 410 +++++++++++-------
 .../platform/chips-media/wave5/wave5-vpu.c    |  23 +-
 .../platform/chips-media/wave5/wave5-vpuapi.c |  11 +
 .../platform/chips-media/wave5/wave5-vpuapi.h |   6 +
 6 files changed, 305 insertions(+), 153 deletions(-)

Comments

jackson.lee Nov. 22, 2024, 3:54 a.m. UTC | #1
Hello Sebastian and Nicolas

Can you review the following patch ?

Thanks
Jackson

> -----Original Message-----
> From: jackson.lee
> Sent: Tuesday, November 12, 2024 11:15 AM
> To: mchehab@kernel.org; nicolas@ndufresne.ca;
> sebastian.fricke@collabora.com
> Cc: linux-media@vger.kernel.org; linux-kernel@vger.kernel.org;
> hverkuil@xs4all.nl; Nas Chung <nas.chung@chipsnmedia.com>; lafley.kim
> <lafley.kim@chipsnmedia.com>; b-brnich@ti.com; jackson.lee
> <jackson.lee@chipsnmedia.com>
> Subject: [PATCH v0 0/6] Improve decoder performance and fix critical bugs
> 
> The wave5 codec driver is a stateful encoder/decoder.
> The following patches is for improving decoder performance and fix
> critical bugs
> 
> v4l2-compliance results:
> ========================
> 
> v4l2-compliance 1.26.1-5142, 64 bits, 64-bit time_t
> 
> Buffer ioctls:
>                 warn: v4l2-test-buffers.cpp(693): VIDIOC_CREATE_BUFS not
> supported
>                 warn: v4l2-test-buffers.cpp(693): VIDIOC_CREATE_BUFS not
> supported
>         test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK
>         test CREATE_BUFS maximum buffers: OK
>         test VIDIOC_EXPBUF: OK
>         test Requests: OK (Not Supported)
> 
> Total for wave5-dec device /dev/video0: 46, Succeeded: 46, Failed: 0,
> Warnings: 2 Total for wave5-enc device /dev/video1: 46, Succeeded: 46,
> Failed: 0, Warnings: 0
> 
> Fluster test results:
> =====================
> 
> Running test suite JCT-VC-HEVC_V1 with decoder GStreamer-H.265-V4L2-Gst1.0
> Using 1 parallel job(s)
> Ran 132/147 tests successfully               in 67.220 secs
> 
> (1 test fails because of not supporting to parse multi frames, 1 test
> fails because of a missing frame and slight corruption,
>  2 tests fail because of sizes which are incompatible with the IP, 11
> tests fail because of unsupported 10 bit format)
> 
> Running test suite JVT-AVC_V1 with decoder GStreamer-H.264-V4L2-Gst1.0
> Using 1 parallel job(s)
> Ran 78/135 tests successfully               in 31.808 secs
> 
> (57 fail because the hardware is unable to decode  MBAFF / FMO / Field /
> Extended profile streams.)
> 
> 
> Jackson.lee (6):
>   media: chips-media: wave5: Fix to display gray color on screen
>   media: chips-media: wave5: Avoid race condition for interrupt handling
>   media: chips-media: wave5: Improve performance of decoder
>   media: chips-media: wave5: Fix Multistream Decode Hang with no IRQ
>     Present
>   media: chips-media: wave5: Fix hang after seeking
>   media: chips-media: wave5: Fix timeout while testing 10bit hevc
>     fluster
> 
>  .../platform/chips-media/wave5/wave5-helper.c |   6 +
>  .../platform/chips-media/wave5/wave5-hw.c     |   2 +-
>  .../chips-media/wave5/wave5-vpu-dec.c         | 410 +++++++++++-------
>  .../platform/chips-media/wave5/wave5-vpu.c    |  23 +-
>  .../platform/chips-media/wave5/wave5-vpuapi.c |  11 +
>  .../platform/chips-media/wave5/wave5-vpuapi.h |   6 +
>  6 files changed, 305 insertions(+), 153 deletions(-)
> 
> --
> 2.43.0
Sebastian Fricke Nov. 26, 2024, 8:09 a.m. UTC | #2
Hey Jackson,

On 22.11.2024 03:54, jackson.lee wrote:
>Hello Sebastian and Nicolas
>
>Can you review the following patch ?

Currently on that I'll try to give you another update by the end of the
week.

>
>Thanks
>Jackson

Regards,
Sebastian

>
>> -----Original Message-----
>> From: jackson.lee
>> Sent: Tuesday, November 12, 2024 11:15 AM
>> To: mchehab@kernel.org; nicolas@ndufresne.ca;
>> sebastian.fricke@collabora.com
>> Cc: linux-media@vger.kernel.org; linux-kernel@vger.kernel.org;
>> hverkuil@xs4all.nl; Nas Chung <nas.chung@chipsnmedia.com>; lafley.kim
>> <lafley.kim@chipsnmedia.com>; b-brnich@ti.com; jackson.lee
>> <jackson.lee@chipsnmedia.com>
>> Subject: [PATCH v0 0/6] Improve decoder performance and fix critical bugs
>>
>> The wave5 codec driver is a stateful encoder/decoder.
>> The following patches is for improving decoder performance and fix
>> critical bugs
>>
>> v4l2-compliance results:
>> ========================
>>
>> v4l2-compliance 1.26.1-5142, 64 bits, 64-bit time_t
>>
>> Buffer ioctls:
>>                 warn: v4l2-test-buffers.cpp(693): VIDIOC_CREATE_BUFS not
>> supported
>>                 warn: v4l2-test-buffers.cpp(693): VIDIOC_CREATE_BUFS not
>> supported
>>         test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK
>>         test CREATE_BUFS maximum buffers: OK
>>         test VIDIOC_EXPBUF: OK
>>         test Requests: OK (Not Supported)
>>
>> Total for wave5-dec device /dev/video0: 46, Succeeded: 46, Failed: 0,
>> Warnings: 2 Total for wave5-enc device /dev/video1: 46, Succeeded: 46,
>> Failed: 0, Warnings: 0
>>
>> Fluster test results:
>> =====================
>>
>> Running test suite JCT-VC-HEVC_V1 with decoder GStreamer-H.265-V4L2-Gst1.0
>> Using 1 parallel job(s)
>> Ran 132/147 tests successfully               in 67.220 secs
>>
>> (1 test fails because of not supporting to parse multi frames, 1 test
>> fails because of a missing frame and slight corruption,
>>  2 tests fail because of sizes which are incompatible with the IP, 11
>> tests fail because of unsupported 10 bit format)
>>
>> Running test suite JVT-AVC_V1 with decoder GStreamer-H.264-V4L2-Gst1.0
>> Using 1 parallel job(s)
>> Ran 78/135 tests successfully               in 31.808 secs
>>
>> (57 fail because the hardware is unable to decode  MBAFF / FMO / Field /
>> Extended profile streams.)
>>
>>
>> Jackson.lee (6):
>>   media: chips-media: wave5: Fix to display gray color on screen
>>   media: chips-media: wave5: Avoid race condition for interrupt handling
>>   media: chips-media: wave5: Improve performance of decoder
>>   media: chips-media: wave5: Fix Multistream Decode Hang with no IRQ
>>     Present
>>   media: chips-media: wave5: Fix hang after seeking
>>   media: chips-media: wave5: Fix timeout while testing 10bit hevc
>>     fluster
>>
>>  .../platform/chips-media/wave5/wave5-helper.c |   6 +
>>  .../platform/chips-media/wave5/wave5-hw.c     |   2 +-
>>  .../chips-media/wave5/wave5-vpu-dec.c         | 410 +++++++++++-------
>>  .../platform/chips-media/wave5/wave5-vpu.c    |  23 +-
>>  .../platform/chips-media/wave5/wave5-vpuapi.c |  11 +
>>  .../platform/chips-media/wave5/wave5-vpuapi.h |   6 +
>>  6 files changed, 305 insertions(+), 153 deletions(-)
>>
>> --
>> 2.43.0
>
>
jackson.lee Nov. 27, 2024, 1:21 a.m. UTC | #3
Thanks, Sebastian


> -----Original Message-----
> From: sebastian.fricke@collabora.com <sebastian.fricke@collabora.com>
> Sent: Tuesday, November 26, 2024 5:09 PM
> To: jackson.lee <jackson.lee@chipsnmedia.com>
> Cc: mchehab@kernel.org; nicolas@ndufresne.ca; linux-media@vger.kernel.org;
> linux-kernel@vger.kernel.org; hverkuil@xs4all.nl; Nas Chung
> <nas.chung@chipsnmedia.com>; lafley.kim <lafley.kim@chipsnmedia.com>; b-
> brnich@ti.com
> Subject: Re: [PATCH v0 0/6] Improve decoder performance and fix critical
> bugs
> 
> Hey Jackson,
> 
> On 22.11.2024 03:54, jackson.lee wrote:
> >Hello Sebastian and Nicolas
> >
> >Can you review the following patch ?
> 
> Currently on that I'll try to give you another update by the end of the
> week.
> 
> >
> >Thanks
> >Jackson
> 
> Regards,
> Sebastian
> 
> >
> >> -----Original Message-----
> >> From: jackson.lee
> >> Sent: Tuesday, November 12, 2024 11:15 AM
> >> To: mchehab@kernel.org; nicolas@ndufresne.ca;
> >> sebastian.fricke@collabora.com
> >> Cc: linux-media@vger.kernel.org; linux-kernel@vger.kernel.org;
> >> hverkuil@xs4all.nl; Nas Chung <nas.chung@chipsnmedia.com>; lafley.kim
> >> <lafley.kim@chipsnmedia.com>; b-brnich@ti.com; jackson.lee
> >> <jackson.lee@chipsnmedia.com>
> >> Subject: [PATCH v0 0/6] Improve decoder performance and fix critical
> >> bugs
> >>
> >> The wave5 codec driver is a stateful encoder/decoder.
> >> The following patches is for improving decoder performance and fix
> >> critical bugs
> >>
> >> v4l2-compliance results:
> >> ========================
> >>
> >> v4l2-compliance 1.26.1-5142, 64 bits, 64-bit time_t
> >>
> >> Buffer ioctls:
> >>                 warn: v4l2-test-buffers.cpp(693): VIDIOC_CREATE_BUFS
> >> not supported
> >>                 warn: v4l2-test-buffers.cpp(693): VIDIOC_CREATE_BUFS
> >> not supported
> >>         test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK
> >>         test CREATE_BUFS maximum buffers: OK
> >>         test VIDIOC_EXPBUF: OK
> >>         test Requests: OK (Not Supported)
> >>
> >> Total for wave5-dec device /dev/video0: 46, Succeeded: 46, Failed: 0,
> >> Warnings: 2 Total for wave5-enc device /dev/video1: 46, Succeeded:
> >> 46,
> >> Failed: 0, Warnings: 0
> >>
> >> Fluster test results:
> >> =====================
> >>
> >> Running test suite JCT-VC-HEVC_V1 with decoder
> >> GStreamer-H.265-V4L2-Gst1.0 Using 1 parallel job(s)
> >> Ran 132/147 tests successfully               in 67.220 secs
> >>
> >> (1 test fails because of not supporting to parse multi frames, 1 test
> >> fails because of a missing frame and slight corruption,
> >>  2 tests fail because of sizes which are incompatible with the IP, 11
> >> tests fail because of unsupported 10 bit format)
> >>
> >> Running test suite JVT-AVC_V1 with decoder
> >> GStreamer-H.264-V4L2-Gst1.0 Using 1 parallel job(s)
> >> Ran 78/135 tests successfully               in 31.808 secs
> >>
> >> (57 fail because the hardware is unable to decode  MBAFF / FMO /
> >> Field / Extended profile streams.)
> >>
> >>
> >> Jackson.lee (6):
> >>   media: chips-media: wave5: Fix to display gray color on screen
> >>   media: chips-media: wave5: Avoid race condition for interrupt
> handling
> >>   media: chips-media: wave5: Improve performance of decoder
> >>   media: chips-media: wave5: Fix Multistream Decode Hang with no IRQ
> >>     Present
> >>   media: chips-media: wave5: Fix hang after seeking
> >>   media: chips-media: wave5: Fix timeout while testing 10bit hevc
> >>     fluster
> >>
> >>  .../platform/chips-media/wave5/wave5-helper.c |   6 +
> >>  .../platform/chips-media/wave5/wave5-hw.c     |   2 +-
> >>  .../chips-media/wave5/wave5-vpu-dec.c         | 410 +++++++++++-------
> >>  .../platform/chips-media/wave5/wave5-vpu.c    |  23 +-
> >>  .../platform/chips-media/wave5/wave5-vpuapi.c |  11 +
> >>  .../platform/chips-media/wave5/wave5-vpuapi.h |   6 +
> >>  6 files changed, 305 insertions(+), 153 deletions(-)
> >>
> >> --
> >> 2.43.0
> >
> >