[RESEND PATCH v0 0/3] Performance improvement of decoder

From: Jackson.lee
Date: Tue Mar 18 2025 - 23:50:57 EST


From: Jackson Lee <jackson.lee@xxxxxxxxxxxxxxx>

The wave5 codec driver is a stateful encoder/decoder.
The following patches is for improving decoder performance.

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

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 1 parallel job(s)
Ran 133/147 tests successfully in 68.517 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 35.015 secs

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


Jackson Lee (3):
media: chips-media: wave5: Improve performance of decoder
media: chips-media: wave5: Reduce high CPU load
media: chips-media: wave5: Fix Null reference while testing fluster

.../platform/chips-media/wave5/wave5-helper.c | 10 +-
.../chips-media/wave5/wave5-vpu-dec.c | 361 ++++++++++--------
.../chips-media/wave5/wave5-vpu-enc.c | 8 +-
.../platform/chips-media/wave5/wave5-vpu.c | 69 +++-
.../platform/chips-media/wave5/wave5-vpuapi.c | 25 +-
.../platform/chips-media/wave5/wave5-vpuapi.h | 12 +-
6 files changed, 307 insertions(+), 178 deletions(-)

--
2.43.0