Files
pmaports-rtwo/temp/libcamera/0001-debayer_egl-Include-stats-computation-into-benchmark.patch
T
Robert Mader 093a6b017b temp/libcamera: update downstream patch to merged version
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>
2026-06-20 01:41:18 +00:00

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