Replace the dmabuf import patch with the two series that it grow into during upstreaming, shipping in the next libcamera release. This will: 1. Improve performance for all devices using the GPU-ISP, including those not able to use dmabuf import. 2. Simplify debugging. 3. Ensure the patches get enough testing before the upstream release. While on it backport some additional patches: 1. A follow-up patch adding the last required step to allow dmabuf import for input buffers to work in almost all cases *if* the V4L2 driver handles custom bytesperline requests for bayer formats. 2. A small logging fix 3. A fix for bad bottom lines of pixels seen on some devices. This is the only patch with visual impact - and a quite desirable one. 4. A patch to log the used driver for easier debugging. This leaves us with only two downstream patches, both specific to the PinePhone (OG). Finally, add a "py3-$pkgname-pyc:pyc" subpackage in order to stay in sync with the upstream package. Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8650>
45 lines
1.5 KiB
Diff
45 lines
1.5 KiB
Diff
From 5a53056f12094b5077453e1393640b979fc40fde Mon Sep 17 00:00:00 2001
|
|
From: Robert Mader <robert.mader@collabora.com>
|
|
Date: Tue, 26 May 2026 10:06:38 +0200
|
|
Subject: [PATCH 01/13] debayer_egl: Include stats computation into benchmark
|
|
|
|
The following commit will allow debayering on the GPU and stats
|
|
computation on the CPU to happen in parallel, requiring this change in
|
|
order to keep the benchmark meaningful.
|
|
|
|
Do the change first in order to make before/after comparisons simpler.
|
|
|
|
Signed-off-by: Robert Mader <robert.mader@collabora.com>
|
|
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
|
|
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
|
|
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
|
|
(cherry picked from commit 1556025bae58b9e02625587728af349b987a14fa)
|
|
---
|
|
src/libcamera/software_isp/debayer_egl.cpp | 4 ++--
|
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/src/libcamera/software_isp/debayer_egl.cpp b/src/libcamera/software_isp/debayer_egl.cpp
|
|
index 8f0c229fd..565aee9f1 100644
|
|
--- a/src/libcamera/software_isp/debayer_egl.cpp
|
|
+++ b/src/libcamera/software_isp/debayer_egl.cpp
|
|
@@ -547,14 +547,14 @@ void DebayerEGL::process(uint32_t frame, FrameBuffer *input, FrameBuffer *output
|
|
goto error;
|
|
}
|
|
|
|
- bench_.finishFrame();
|
|
-
|
|
metadata.planes()[0].bytesused = output->planes()[0].length;
|
|
|
|
/* Calculate stats for the whole frame */
|
|
stats_->processFrame(frame, 0, input);
|
|
dmaSyncers.clear();
|
|
|
|
+ bench_.finishFrame();
|
|
+
|
|
outputBufferReady.emit(output);
|
|
inputBufferReady.emit(input);
|
|
|
|
--
|
|
2.54.0
|
|
|