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