mbox series

[RESEND,v7,0/4] Add features to an existing driver

Message ID 20240812070823.125-1-jackson.lee@chipsnmedia.com (mailing list archive)
Headers show
Series Add features to an existing driver | expand

Message

Jackson.lee Aug. 12, 2024, 7:08 a.m. UTC
The wave5 codec driver is a stateful encoder/decoder.
The following patches is for supporting yuv422 inpuy format,
supporting runtime suspend/resume feature and extra things.

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

v4l2-compliance 1.24.1, 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 VIDIOC_EXPBUF: OK
    test Requests: OK (Not Supported)

Total for wave5-dec device /dev/video0: 45, Succeeded: 45, Failed: 0, Warnings: 2
Total for wave5-enc device /dev/video1: 45, Succeeded: 45, 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 89.870 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 77/135 tests successfully               in 30.364 secs

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

Change since v6:
================
* For [PATCH v4 2/4] media: chips-media: wave5: Support runtime suspend/resume
 - Change autosuspend delay to 100ms
 - Add to enable/disable hrtimer in the runtime suspend/resume function for hw not using irq 

Change since v5:
================
* For [PATCH v4 3/4] media: chips-media: wave5: Use helpers to calculate bytesperline and sizeimage.
 - Fix v4l2-compliance error for the vidioc_enum_framesizes

* For [PATCH v4 1/4] media: chips-media: wave5: Support SPS/PPS generation for each IDR
 - Remove warning messages for the checkpatch.pl script

Change since v4:
================
* For [PATCH v4 2/4] media: chips-media: wave5: Support runtime suspend/resume
 - Fix warning message

* For [PATCH v4 3/4] media: chips-media: wave5: Use helpers to calculate bytesperline and sizeimage.
 - Fix warning message
 - add Reviewed-By tag

* For [PATCH v4 4/4] media: chips-media: wave5: Support YUV422 raw pixel-formats on the encoder
 - add Reviewed-By tag

Change since v3:
=================

* For [PATCH v4 1/4] media: chips-media: wave5: Support SPS/PPS generation for each IDR
 - add Reviewed-By tag

* For [PATCH v4 2/4] media: chips-media: wave5: Support runtime suspend/resume
 - add Reviewed-By tag

* For [PATCH v4 3/4] media: chips-media: wave5: Use helpers to calculate bytesperline and sizeimage.
 - modify the commit message
 - define three framesize structures for decoder

* For [PATCH v4 4/4] media: chips-media: wave5: Support YUV422 raw pixel-formats on the encoder
 - modify the commit message
 - use the v4l2_format_info to calculate luma, chroma size

Change since v2:
=================

* For [PATCH v3 0/4] media: chips-media: wave5: Support SPS/PPS generation for each IDR
 - add the suggested _SHIFT suffix

* For [PATCH v3 1/4] media: chips-media: wave5: Support runtime suspend/resume
 - change a commit message

* For [PATCH v3 2/4] media: chips-media: wave5: Use helpers to calculate bytesperline and sizeimage
 - add pix_fmt_type parameter into wave5_update_pix_fmt function
 - add min/max width/height values into dec_fmt_list 

Change since v1:
=================

* For [PATCH v2 0/4] media: chips-media: wave5: Support SPS/PPS generation for each IDR
 - define a macro for register addresses

* For [PATCH v2 1/4] media: chips-media: wave5: Support runtime suspend/resume
 - add auto suspend/resume

* For [PATCH v2 2/4] media: chips-media: wave5: Use helpers to calculate bytesperline and sizeimage
 - use helper functions to calculate bytesperline and sizeimage

* For [PATCH v2 3/4] media: chips-media: wave5: Support YUV422 raw pixel-formats on the encoder
 - remove unnecessary codes

Change since v0:
=================
The DEFAULT_SRC_SIZE macro was defined using multiple lines, To make a simple define, tab and multiple lines has been removed, The macro is defined using one line.

Jackson.lee (4):
  media: chips-media: wave5: Support SPS/PPS generation for each IDR
  media: chips-media: wave5: Support runtime suspend/resume
  media: chips-media: wave5: Use helpers to calculate bytesperline and
    sizeimage.
  media: chips-media: wave5: Support YUV422 raw pixel-formats on the
    encoder.

 .../platform/chips-media/wave5/wave5-helper.c |  37 +-
 .../platform/chips-media/wave5/wave5-helper.h |   5 +
 .../platform/chips-media/wave5/wave5-hw.c     |  30 +-
 .../chips-media/wave5/wave5-vpu-dec.c         | 321 +++++++-----------
 .../chips-media/wave5/wave5-vpu-enc.c         | 313 +++++++++--------
 .../platform/chips-media/wave5/wave5-vpu.c    |  50 +++
 .../platform/chips-media/wave5/wave5-vpu.h    |   5 +-
 .../platform/chips-media/wave5/wave5-vpuapi.c |  33 +-
 .../platform/chips-media/wave5/wave5-vpuapi.h |   1 +
 .../chips-media/wave5/wave5-vpuconfig.h       |  27 +-
 .../media/platform/chips-media/wave5/wave5.h  |   3 +
 11 files changed, 460 insertions(+), 365 deletions(-)

Comments

Jackson.lee Aug. 20, 2024, 4:17 a.m. UTC | #1
Hi nicolas and Sebastian

I sent v7 patch for upstreaming , can you review the following ?

https://patchwork.linuxtv.org/project/linux-media/cover/20240812070823.125-1-jackson.lee@chipsnmedia.com/

thanks


> -----Original Message-----
> From: jackson.lee
> Sent: Monday, August 12, 2024 4:09 PM
> 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: [RESEND PATCH v7 0/4] Add features to an existing driver
> 
> The wave5 codec driver is a stateful encoder/decoder.
> The following patches is for supporting yuv422 inpuy format, supporting
> runtime suspend/resume feature and extra things.
> 
> v4l2-compliance results:
> ========================
> 
> v4l2-compliance 1.24.1, 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 VIDIOC_EXPBUF: OK
>     test Requests: OK (Not Supported)
> 
> Total for wave5-dec device /dev/video0: 45, Succeeded: 45, Failed: 0,
> Warnings: 2 Total for wave5-enc device /dev/video1: 45, Succeeded: 45, 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 89.870 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 77/135 tests successfully               in 30.364 secs
> 
> (58 fail because the hardware is unable to decode  MBAFF / FMO / Field /
> Extended profile streams.)
> 
> Change since v6:
> ================
> * For [PATCH v4 2/4] media: chips-media: wave5: Support runtime
> suspend/resume
>  - Change autosuspend delay to 100ms
>  - Add to enable/disable hrtimer in the runtime suspend/resume function for
> hw not using irq
> 
> Change since v5:
> ================
> * For [PATCH v4 3/4] media: chips-media: wave5: Use helpers to calculate
> bytesperline and sizeimage.
>  - Fix v4l2-compliance error for the vidioc_enum_framesizes
> 
> * For [PATCH v4 1/4] media: chips-media: wave5: Support SPS/PPS generation
> for each IDR
>  - Remove warning messages for the checkpatch.pl script
> 
> Change since v4:
> ================
> * For [PATCH v4 2/4] media: chips-media: wave5: Support runtime
> suspend/resume
>  - Fix warning message
> 
> * For [PATCH v4 3/4] media: chips-media: wave5: Use helpers to calculate
> bytesperline and sizeimage.
>  - Fix warning message
>  - add Reviewed-By tag
> 
> * For [PATCH v4 4/4] media: chips-media: wave5: Support YUV422 raw pixel-
> formats on the encoder
>  - add Reviewed-By tag
> 
> Change since v3:
> =================
> 
> * For [PATCH v4 1/4] media: chips-media: wave5: Support SPS/PPS generation
> for each IDR
>  - add Reviewed-By tag
> 
> * For [PATCH v4 2/4] media: chips-media: wave5: Support runtime
> suspend/resume
>  - add Reviewed-By tag
> 
> * For [PATCH v4 3/4] media: chips-media: wave5: Use helpers to calculate
> bytesperline and sizeimage.
>  - modify the commit message
>  - define three framesize structures for decoder
> 
> * For [PATCH v4 4/4] media: chips-media: wave5: Support YUV422 raw pixel-
> formats on the encoder
>  - modify the commit message
>  - use the v4l2_format_info to calculate luma, chroma size
> 
> Change since v2:
> =================
> 
> * For [PATCH v3 0/4] media: chips-media: wave5: Support SPS/PPS generation
> for each IDR
>  - add the suggested _SHIFT suffix
> 
> * For [PATCH v3 1/4] media: chips-media: wave5: Support runtime
> suspend/resume
>  - change a commit message
> 
> * For [PATCH v3 2/4] media: chips-media: wave5: Use helpers to calculate
> bytesperline and sizeimage
>  - add pix_fmt_type parameter into wave5_update_pix_fmt function
>  - add min/max width/height values into dec_fmt_list
> 
> Change since v1:
> =================
> 
> * For [PATCH v2 0/4] media: chips-media: wave5: Support SPS/PPS generation
> for each IDR
>  - define a macro for register addresses
> 
> * For [PATCH v2 1/4] media: chips-media: wave5: Support runtime
> suspend/resume
>  - add auto suspend/resume
> 
> * For [PATCH v2 2/4] media: chips-media: wave5: Use helpers to calculate
> bytesperline and sizeimage
>  - use helper functions to calculate bytesperline and sizeimage
> 
> * For [PATCH v2 3/4] media: chips-media: wave5: Support YUV422 raw pixel-
> formats on the encoder
>  - remove unnecessary codes
> 
> Change since v0:
> =================
> The DEFAULT_SRC_SIZE macro was defined using multiple lines, To make a simple
> define, tab and multiple lines has been removed, The macro is defined using
> one line.
> 
> Jackson.lee (4):
>   media: chips-media: wave5: Support SPS/PPS generation for each IDR
>   media: chips-media: wave5: Support runtime suspend/resume
>   media: chips-media: wave5: Use helpers to calculate bytesperline and
>     sizeimage.
>   media: chips-media: wave5: Support YUV422 raw pixel-formats on the
>     encoder.
> 
>  .../platform/chips-media/wave5/wave5-helper.c |  37 +-
>  .../platform/chips-media/wave5/wave5-helper.h |   5 +
>  .../platform/chips-media/wave5/wave5-hw.c     |  30 +-
>  .../chips-media/wave5/wave5-vpu-dec.c         | 321 +++++++-----------
>  .../chips-media/wave5/wave5-vpu-enc.c         | 313 +++++++++--------
>  .../platform/chips-media/wave5/wave5-vpu.c    |  50 +++
>  .../platform/chips-media/wave5/wave5-vpu.h    |   5 +-
>  .../platform/chips-media/wave5/wave5-vpuapi.c |  33 +-
>  .../platform/chips-media/wave5/wave5-vpuapi.h |   1 +
>  .../chips-media/wave5/wave5-vpuconfig.h       |  27 +-
>  .../media/platform/chips-media/wave5/wave5.h  |   3 +
>  11 files changed, 460 insertions(+), 365 deletions(-)
> 
> --
> 2.43.0
Jackson.lee Sept. 4, 2024, 12:30 a.m. UTC | #2
Hi nicolas and Sebastian

I sent v7 patch for upstreaming , can you review the following ?

https://patchwork.linuxtv.org/project/linux-media/cover/20240812070823.125-1-jackson.lee@chipsnmedia.com/

thanks


> -----Original Message-----
> From: jackson.lee
> Sent: Monday, August 12, 2024 4:09 PM
> 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: [RESEND PATCH v7 0/4] Add features to an existing driver
> 
> The wave5 codec driver is a stateful encoder/decoder.
> The following patches is for supporting yuv422 inpuy format, 
> supporting runtime suspend/resume feature and extra things.
> 
> v4l2-compliance results:
> ========================
> 
> v4l2-compliance 1.24.1, 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 VIDIOC_EXPBUF: OK
>     test Requests: OK (Not Supported)
> 
> Total for wave5-dec device /dev/video0: 45, Succeeded: 45, Failed: 0,
> Warnings: 2 Total for wave5-enc device /dev/video1: 45, Succeeded: 45, 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 89.870 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 77/135 tests successfully               in 30.364 secs
> 
> (58 fail because the hardware is unable to decode  MBAFF / FMO / Field 
> / Extended profile streams.)
> 
> Change since v6:
> ================
> * For [PATCH v4 2/4] media: chips-media: wave5: Support runtime 
> suspend/resume
>  - Change autosuspend delay to 100ms
>  - Add to enable/disable hrtimer in the runtime suspend/resume 
> function for hw not using irq
> 
> Change since v5:
> ================
> * For [PATCH v4 3/4] media: chips-media: wave5: Use helpers to 
> calculate bytesperline and sizeimage.
>  - Fix v4l2-compliance error for the vidioc_enum_framesizes
> 
> * For [PATCH v4 1/4] media: chips-media: wave5: Support SPS/PPS 
> generation for each IDR
>  - Remove warning messages for the checkpatch.pl script
> 
> Change since v4:
> ================
> * For [PATCH v4 2/4] media: chips-media: wave5: Support runtime 
> suspend/resume
>  - Fix warning message
> 
> * For [PATCH v4 3/4] media: chips-media: wave5: Use helpers to 
> calculate bytesperline and sizeimage.
>  - Fix warning message
>  - add Reviewed-By tag
> 
> * For [PATCH v4 4/4] media: chips-media: wave5: Support YUV422 raw 
> pixel- formats on the encoder
>  - add Reviewed-By tag
> 
> Change since v3:
> =================
> 
> * For [PATCH v4 1/4] media: chips-media: wave5: Support SPS/PPS 
> generation for each IDR
>  - add Reviewed-By tag
> 
> * For [PATCH v4 2/4] media: chips-media: wave5: Support runtime 
> suspend/resume
>  - add Reviewed-By tag
> 
> * For [PATCH v4 3/4] media: chips-media: wave5: Use helpers to 
> calculate bytesperline and sizeimage.
>  - modify the commit message
>  - define three framesize structures for decoder
> 
> * For [PATCH v4 4/4] media: chips-media: wave5: Support YUV422 raw 
> pixel- formats on the encoder
>  - modify the commit message
>  - use the v4l2_format_info to calculate luma, chroma size
> 
> Change since v2:
> =================
> 
> * For [PATCH v3 0/4] media: chips-media: wave5: Support SPS/PPS 
> generation for each IDR
>  - add the suggested _SHIFT suffix
> 
> * For [PATCH v3 1/4] media: chips-media: wave5: Support runtime 
> suspend/resume
>  - change a commit message
> 
> * For [PATCH v3 2/4] media: chips-media: wave5: Use helpers to 
> calculate bytesperline and sizeimage
>  - add pix_fmt_type parameter into wave5_update_pix_fmt function
>  - add min/max width/height values into dec_fmt_list
> 
> Change since v1:
> =================
> 
> * For [PATCH v2 0/4] media: chips-media: wave5: Support SPS/PPS 
> generation for each IDR
>  - define a macro for register addresses
> 
> * For [PATCH v2 1/4] media: chips-media: wave5: Support runtime 
> suspend/resume
>  - add auto suspend/resume
> 
> * For [PATCH v2 2/4] media: chips-media: wave5: Use helpers to 
> calculate bytesperline and sizeimage
>  - use helper functions to calculate bytesperline and sizeimage
> 
> * For [PATCH v2 3/4] media: chips-media: wave5: Support YUV422 raw 
> pixel- formats on the encoder
>  - remove unnecessary codes
> 
> Change since v0:
> =================
> The DEFAULT_SRC_SIZE macro was defined using multiple lines, To make a 
> simple define, tab and multiple lines has been removed, The macro is 
> defined using one line.
> 
> Jackson.lee (4):
>   media: chips-media: wave5: Support SPS/PPS generation for each IDR
>   media: chips-media: wave5: Support runtime suspend/resume
>   media: chips-media: wave5: Use helpers to calculate bytesperline and
>     sizeimage.
>   media: chips-media: wave5: Support YUV422 raw pixel-formats on the
>     encoder.
> 
>  .../platform/chips-media/wave5/wave5-helper.c |  37 +-
>  .../platform/chips-media/wave5/wave5-helper.h |   5 +
>  .../platform/chips-media/wave5/wave5-hw.c     |  30 +-
>  .../chips-media/wave5/wave5-vpu-dec.c         | 321 +++++++-----------
>  .../chips-media/wave5/wave5-vpu-enc.c         | 313 +++++++++--------
>  .../platform/chips-media/wave5/wave5-vpu.c    |  50 +++
>  .../platform/chips-media/wave5/wave5-vpu.h    |   5 +-
>  .../platform/chips-media/wave5/wave5-vpuapi.c |  33 +-
>  .../platform/chips-media/wave5/wave5-vpuapi.h |   1 +
>  .../chips-media/wave5/wave5-vpuconfig.h       |  27 +-
>  .../media/platform/chips-media/wave5/wave5.h  |   3 +
>  11 files changed, 460 insertions(+), 365 deletions(-)
> 
> --
> 2.43.0
Sebastian Fricke Sept. 4, 2024, 8:21 a.m. UTC | #3
Hey Jackson,

On 04.09.2024 00:30, jackson.lee wrote:
>
>Hi nicolas and Sebastian
>
>I sent v7 patch for upstreaming , can you review the following ?

Yes we have that on our list and look into that as soon as possible.

>
>https://patchwork.linuxtv.org/project/linux-media/cover/20240812070823.125-1-jackson.lee@chipsnmedia.com/
>
>thanks

Regards,
Sebastian

>
>
>> -----Original Message-----
>> From: jackson.lee
>> Sent: Monday, August 12, 2024 4:09 PM
>> 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: [RESEND PATCH v7 0/4] Add features to an existing driver
>>
>> The wave5 codec driver is a stateful encoder/decoder.
>> The following patches is for supporting yuv422 inpuy format,
>> supporting runtime suspend/resume feature and extra things.
>>
>> v4l2-compliance results:
>> ========================
>>
>> v4l2-compliance 1.24.1, 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 VIDIOC_EXPBUF: OK
>>     test Requests: OK (Not Supported)
>>
>> Total for wave5-dec device /dev/video0: 45, Succeeded: 45, Failed: 0,
>> Warnings: 2 Total for wave5-enc device /dev/video1: 45, Succeeded: 45, 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 89.870 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 77/135 tests successfully               in 30.364 secs
>>
>> (58 fail because the hardware is unable to decode  MBAFF / FMO / Field
>> / Extended profile streams.)
>>
>> Change since v6:
>> ================
>> * For [PATCH v4 2/4] media: chips-media: wave5: Support runtime
>> suspend/resume
>>  - Change autosuspend delay to 100ms
>>  - Add to enable/disable hrtimer in the runtime suspend/resume
>> function for hw not using irq
>>
>> Change since v5:
>> ================
>> * For [PATCH v4 3/4] media: chips-media: wave5: Use helpers to
>> calculate bytesperline and sizeimage.
>>  - Fix v4l2-compliance error for the vidioc_enum_framesizes
>>
>> * For [PATCH v4 1/4] media: chips-media: wave5: Support SPS/PPS
>> generation for each IDR
>>  - Remove warning messages for the checkpatch.pl script
>>
>> Change since v4:
>> ================
>> * For [PATCH v4 2/4] media: chips-media: wave5: Support runtime
>> suspend/resume
>>  - Fix warning message
>>
>> * For [PATCH v4 3/4] media: chips-media: wave5: Use helpers to
>> calculate bytesperline and sizeimage.
>>  - Fix warning message
>>  - add Reviewed-By tag
>>
>> * For [PATCH v4 4/4] media: chips-media: wave5: Support YUV422 raw
>> pixel- formats on the encoder
>>  - add Reviewed-By tag
>>
>> Change since v3:
>> =================
>>
>> * For [PATCH v4 1/4] media: chips-media: wave5: Support SPS/PPS
>> generation for each IDR
>>  - add Reviewed-By tag
>>
>> * For [PATCH v4 2/4] media: chips-media: wave5: Support runtime
>> suspend/resume
>>  - add Reviewed-By tag
>>
>> * For [PATCH v4 3/4] media: chips-media: wave5: Use helpers to
>> calculate bytesperline and sizeimage.
>>  - modify the commit message
>>  - define three framesize structures for decoder
>>
>> * For [PATCH v4 4/4] media: chips-media: wave5: Support YUV422 raw
>> pixel- formats on the encoder
>>  - modify the commit message
>>  - use the v4l2_format_info to calculate luma, chroma size
>>
>> Change since v2:
>> =================
>>
>> * For [PATCH v3 0/4] media: chips-media: wave5: Support SPS/PPS
>> generation for each IDR
>>  - add the suggested _SHIFT suffix
>>
>> * For [PATCH v3 1/4] media: chips-media: wave5: Support runtime
>> suspend/resume
>>  - change a commit message
>>
>> * For [PATCH v3 2/4] media: chips-media: wave5: Use helpers to
>> calculate bytesperline and sizeimage
>>  - add pix_fmt_type parameter into wave5_update_pix_fmt function
>>  - add min/max width/height values into dec_fmt_list
>>
>> Change since v1:
>> =================
>>
>> * For [PATCH v2 0/4] media: chips-media: wave5: Support SPS/PPS
>> generation for each IDR
>>  - define a macro for register addresses
>>
>> * For [PATCH v2 1/4] media: chips-media: wave5: Support runtime
>> suspend/resume
>>  - add auto suspend/resume
>>
>> * For [PATCH v2 2/4] media: chips-media: wave5: Use helpers to
>> calculate bytesperline and sizeimage
>>  - use helper functions to calculate bytesperline and sizeimage
>>
>> * For [PATCH v2 3/4] media: chips-media: wave5: Support YUV422 raw
>> pixel- formats on the encoder
>>  - remove unnecessary codes
>>
>> Change since v0:
>> =================
>> The DEFAULT_SRC_SIZE macro was defined using multiple lines, To make a
>> simple define, tab and multiple lines has been removed, The macro is
>> defined using one line.
>>
>> Jackson.lee (4):
>>   media: chips-media: wave5: Support SPS/PPS generation for each IDR
>>   media: chips-media: wave5: Support runtime suspend/resume
>>   media: chips-media: wave5: Use helpers to calculate bytesperline and
>>     sizeimage.
>>   media: chips-media: wave5: Support YUV422 raw pixel-formats on the
>>     encoder.
>>
>>  .../platform/chips-media/wave5/wave5-helper.c |  37 +-
>>  .../platform/chips-media/wave5/wave5-helper.h |   5 +
>>  .../platform/chips-media/wave5/wave5-hw.c     |  30 +-
>>  .../chips-media/wave5/wave5-vpu-dec.c         | 321 +++++++-----------
>>  .../chips-media/wave5/wave5-vpu-enc.c         | 313 +++++++++--------
>>  .../platform/chips-media/wave5/wave5-vpu.c    |  50 +++
>>  .../platform/chips-media/wave5/wave5-vpu.h    |   5 +-
>>  .../platform/chips-media/wave5/wave5-vpuapi.c |  33 +-
>>  .../platform/chips-media/wave5/wave5-vpuapi.h |   1 +
>>  .../chips-media/wave5/wave5-vpuconfig.h       |  27 +-
>>  .../media/platform/chips-media/wave5/wave5.h  |   3 +
>>  11 files changed, 460 insertions(+), 365 deletions(-)
>>
>> --
>> 2.43.0
>
>
Sebastian Fricke
Consultant Software Engineer

Collabora Ltd
Platinum Building, St John's Innovation Park, Cambridge CB4 0DS, UK
Registered in England & Wales no 5513718.
Jackson.lee Sept. 4, 2024, 8:36 a.m. UTC | #4
Thanks Sebastian.

> -----Original Message-----
> From: Sebastian Fricke <sebastian.fricke@collabora.com>
> Sent: Wednesday, September 4, 2024 5:21 PM
> To: jackson.lee <jackson.lee@chipsnmedia.com>
> Cc: Mauro Carvalho Chehab <mchehab@kernel.org>; Nicolas Dufresne
> <nicolas@ndufresne.ca>; linux-media@vger.kernel.org; linux-
> kernel@vger.kernel.org; Hans Verkuil <hverkuil@xs4all.nl>; Nas Chung
> <nas.chung@chipsnmedia.com>; lafley.kim <lafley.kim@chipsnmedia.com>;
> Brnich, Brandon <b-brnich@ti.com>
> Subject: Re: [RESEND PATCH v7 0/4] Add features to an existing driver
> 
> Hey Jackson,
> 
> On 04.09.2024 00:30, jackson.lee wrote:
> >
> >Hi nicolas and Sebastian
> >
> >I sent v7 patch for upstreaming , can you review the following ?
> 
> Yes we have that on our list and look into that as soon as possible.
> 
> >
> >https://patchwork.linuxtv.org/project/linux-media/cover/20240812070823.
> >125-1-jackson.lee@chipsnmedia.com/
> >
> >thanks
> 
> Regards,
> Sebastian
> 
> >
> >
> >> -----Original Message-----
> >> From: jackson.lee
> >> Sent: Monday, August 12, 2024 4:09 PM
> >> 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: [RESEND PATCH v7 0/4] Add features to an existing driver
> >>
> >> The wave5 codec driver is a stateful encoder/decoder.
> >> The following patches is for supporting yuv422 inpuy format,
> >> supporting runtime suspend/resume feature and extra things.
> >>
> >> v4l2-compliance results:
> >> ========================
> >>
> >> v4l2-compliance 1.24.1, 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 VIDIOC_EXPBUF: OK
> >>     test Requests: OK (Not Supported)
> >>
> >> Total for wave5-dec device /dev/video0: 45, Succeeded: 45, Failed: 0,
> >> Warnings: 2 Total for wave5-enc device /dev/video1: 45, Succeeded: 45,
> 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 89.870 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 77/135 tests successfully               in 30.364 secs
> >>
> >> (58 fail because the hardware is unable to decode  MBAFF / FMO /
> >> Field / Extended profile streams.)
> >>
> >> Change since v6:
> >> ================
> >> * For [PATCH v4 2/4] media: chips-media: wave5: Support runtime
> >> suspend/resume
> >>  - Change autosuspend delay to 100ms
> >>  - Add to enable/disable hrtimer in the runtime suspend/resume
> >> function for hw not using irq
> >>
> >> Change since v5:
> >> ================
> >> * For [PATCH v4 3/4] media: chips-media: wave5: Use helpers to
> >> calculate bytesperline and sizeimage.
> >>  - Fix v4l2-compliance error for the vidioc_enum_framesizes
> >>
> >> * For [PATCH v4 1/4] media: chips-media: wave5: Support SPS/PPS
> >> generation for each IDR
> >>  - Remove warning messages for the checkpatch.pl script
> >>
> >> Change since v4:
> >> ================
> >> * For [PATCH v4 2/4] media: chips-media: wave5: Support runtime
> >> suspend/resume
> >>  - Fix warning message
> >>
> >> * For [PATCH v4 3/4] media: chips-media: wave5: Use helpers to
> >> calculate bytesperline and sizeimage.
> >>  - Fix warning message
> >>  - add Reviewed-By tag
> >>
> >> * For [PATCH v4 4/4] media: chips-media: wave5: Support YUV422 raw
> >> pixel- formats on the encoder
> >>  - add Reviewed-By tag
> >>
> >> Change since v3:
> >> =================
> >>
> >> * For [PATCH v4 1/4] media: chips-media: wave5: Support SPS/PPS
> >> generation for each IDR
> >>  - add Reviewed-By tag
> >>
> >> * For [PATCH v4 2/4] media: chips-media: wave5: Support runtime
> >> suspend/resume
> >>  - add Reviewed-By tag
> >>
> >> * For [PATCH v4 3/4] media: chips-media: wave5: Use helpers to
> >> calculate bytesperline and sizeimage.
> >>  - modify the commit message
> >>  - define three framesize structures for decoder
> >>
> >> * For [PATCH v4 4/4] media: chips-media: wave5: Support YUV422 raw
> >> pixel- formats on the encoder
> >>  - modify the commit message
> >>  - use the v4l2_format_info to calculate luma, chroma size
> >>
> >> Change since v2:
> >> =================
> >>
> >> * For [PATCH v3 0/4] media: chips-media: wave5: Support SPS/PPS
> >> generation for each IDR
> >>  - add the suggested _SHIFT suffix
> >>
> >> * For [PATCH v3 1/4] media: chips-media: wave5: Support runtime
> >> suspend/resume
> >>  - change a commit message
> >>
> >> * For [PATCH v3 2/4] media: chips-media: wave5: Use helpers to
> >> calculate bytesperline and sizeimage
> >>  - add pix_fmt_type parameter into wave5_update_pix_fmt function
> >>  - add min/max width/height values into dec_fmt_list
> >>
> >> Change since v1:
> >> =================
> >>
> >> * For [PATCH v2 0/4] media: chips-media: wave5: Support SPS/PPS
> >> generation for each IDR
> >>  - define a macro for register addresses
> >>
> >> * For [PATCH v2 1/4] media: chips-media: wave5: Support runtime
> >> suspend/resume
> >>  - add auto suspend/resume
> >>
> >> * For [PATCH v2 2/4] media: chips-media: wave5: Use helpers to
> >> calculate bytesperline and sizeimage
> >>  - use helper functions to calculate bytesperline and sizeimage
> >>
> >> * For [PATCH v2 3/4] media: chips-media: wave5: Support YUV422 raw
> >> pixel- formats on the encoder
> >>  - remove unnecessary codes
> >>
> >> Change since v0:
> >> =================
> >> The DEFAULT_SRC_SIZE macro was defined using multiple lines, To make
> >> a simple define, tab and multiple lines has been removed, The macro
> >> is defined using one line.
> >>
> >> Jackson.lee (4):
> >>   media: chips-media: wave5: Support SPS/PPS generation for each IDR
> >>   media: chips-media: wave5: Support runtime suspend/resume
> >>   media: chips-media: wave5: Use helpers to calculate bytesperline and
> >>     sizeimage.
> >>   media: chips-media: wave5: Support YUV422 raw pixel-formats on the
> >>     encoder.
> >>
> >>  .../platform/chips-media/wave5/wave5-helper.c |  37 +-
> >>  .../platform/chips-media/wave5/wave5-helper.h |   5 +
> >>  .../platform/chips-media/wave5/wave5-hw.c     |  30 +-
> >>  .../chips-media/wave5/wave5-vpu-dec.c         | 321 +++++++-----------
> >>  .../chips-media/wave5/wave5-vpu-enc.c         | 313 +++++++++--------
> >>  .../platform/chips-media/wave5/wave5-vpu.c    |  50 +++
> >>  .../platform/chips-media/wave5/wave5-vpu.h    |   5 +-
> >>  .../platform/chips-media/wave5/wave5-vpuapi.c |  33 +-
> >>  .../platform/chips-media/wave5/wave5-vpuapi.h |   1 +
> >>  .../chips-media/wave5/wave5-vpuconfig.h       |  27 +-
> >>  .../media/platform/chips-media/wave5/wave5.h  |   3 +
> >>  11 files changed, 460 insertions(+), 365 deletions(-)
> >>
> >> --
> >> 2.43.0
> >
> >
> Sebastian Fricke
> Consultant Software Engineer
> 
> Collabora Ltd
> Platinum Building, St John's Innovation Park, Cambridge CB4 0DS, UK
> Registered in England & Wales no 5513718.