Re: [RESEND PATCH v1 0/7] Performance improvement of decoder

From: Nicolas Dufresne
Date: Thu Apr 10 2025 - 08:42:23 EST


Hi,

Le jeudi 10 avril 2025 à 12:39 +0900, Jackson.lee a écrit :
> From: Jackson Lee <jackson.lee@xxxxxxxxxxxxxxx>
>
> v4l2-compliance results:
> ========================

What there reason for a resend within 3h ?

Nicolas

>
> v4l2-compliance 1.28.1-5233, 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 3 parallel job(s)
> Ran 133/147 tests successfully               in 41.629 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 3 parallel job(s)
> Ran 78/135 tests successfully               in 44.578 secs
>
> (57 fail because the hardware is unable to decode  MBAFF / FMO /
> Field / Extended profile streams.)
>
> Seek test
> =====================
> 1. gst-play-1.0 seek.264
> 2. this will use waylandsink since gst-play-1.0 uses playbin.
>    if you don't want to hook up display,
>    you can run gst-play-1.0 seek.264 --videosink=fakevideosink
> instead
> 3. Let pipeline run for 2-3 seconds
> 4. press SPACE key to pause
> 5. press 0 to reset
> press SPACE to start again
>
> gst-play-1.0 seek.264 --videosink=fakevideosink
> Press 'k' to see a list of keyboard shortcuts.
> Now playing /root/seek.264
> Redistribute latency...
> Redistribute latency...
> Redistribute latency...
> Redistribute latency...
> Redistribute latency...aused
> 0:00:09.9 / 0:00:09.7
> Reached end of play list.
>
> Sequence Change test
> =====================
> gst-launch-1.0 filesrc location=./switch_1080p_720p_240frames.h264 !
> h264parse ! v4l2h264dec ! filesink location=./h264_output_420.yuv
> Setting pipeline to PAUSED ...
> Pipeline is PREROLLING ...
> Redistribute latency...
> Redistribute latency...
> Pipeline is PREROLLED ...
> Setting pipeline to PLAYING ...
> Redistribute latency...
> New clock: GstSystemClock
> Got EOS from element "pipeline0".
> Execution ended after 0:00:05.772414400
> Setting pipeline to NULL ...
> Freeing pipeline ...
>
> Change since v0:
> ===================
> * For [PATCH v1 2/7] media: chips-media: wave5: Improve performance
> of decoder
>  - separates the previous patch to a few patches
>
> * For [PATCH v1 3/7] media: chips-media: wave5: Fix not to be closed
>  - separated from the previous patch of performance improvement of
>    decoder
>
> * For [PATCH v1 4/7] media: chips-media: wave5: Use spinlock whenever
> state is changed
>  - separated from the previous patch of performance improvement of
>    decoder
>
> * For [PATCH v1 5/7] media: chips-media: wave5: Fix not to free
> resources normally when
>     instance was destroyed
>  - separated from the previous patch of performance improvement of
>    decoder
>
> * For [PATCH v1 7/7] media: chips-media: wave5: Fix SError of kernel
> panic when closed
>  - separated from the previous patch of performance improvement of
>    decoder
>
> Jackson Lee (7):
>   media: chips-media: wave5: Fix Null reference while testing fluster
>   media: chips-media: wave5: Improve performance of decoder
>   media: chips-media: wave5: Fix not to be closed
>   media: chips-media: wave5: Use spinlock whenever state is changed
>   media: chips-media: wave5: Fix not to free resources normally when
>     instance was destroyed
>   media: chips-media: wave5: Reduce high CPU load
>   media: chips-media: wave5: Fix SError of kernel panic when closed
>
>  .../platform/chips-media/wave5/wave5-helper.c |  10 +-
>  .../chips-media/wave5/wave5-vpu-dec.c         | 116 +++++++++++-----
> --
>  .../chips-media/wave5/wave5-vpu-enc.c         |   8 +-
>  .../platform/chips-media/wave5/wave5-vpu.c    |  70 +++++++++--
>  .../platform/chips-media/wave5/wave5-vpuapi.c |  36 +++---
>  .../platform/chips-media/wave5/wave5-vpuapi.h |  10 ++
>  .../chips-media/wave5/wave5-vpuconfig.h       |   1 +
>  7 files changed, 179 insertions(+), 72 deletions(-)

--
Nicolas Dufresne
Principal Engineer at Collabora