diff --git a/temp/libcamera/0003-libcamera-simple-Enable-softISP-for-the-Pinephone.patch b/temp/libcamera/0001-libcamera-simple-Enable-softISP-for-the-Pinephone.patch similarity index 73% rename from temp/libcamera/0003-libcamera-simple-Enable-softISP-for-the-Pinephone.patch rename to temp/libcamera/0001-libcamera-simple-Enable-softISP-for-the-Pinephone.patch index 84f7b9d59..e7a4f5682 100644 --- a/temp/libcamera/0003-libcamera-simple-Enable-softISP-for-the-Pinephone.patch +++ b/temp/libcamera/0001-libcamera-simple-Enable-softISP-for-the-Pinephone.patch @@ -1,7 +1,7 @@ -From 8e43d2a54de04dff85816fdcc1723b6abcd2fef8 Mon Sep 17 00:00:00 2001 +From 91b13b6c3b596775a80cdb661259fbd90b4189b2 Mon Sep 17 00:00:00 2001 From: Robert Mader Date: Wed, 1 May 2024 18:12:02 +0200 -Subject: [PATCH 03/12] libcamera: simple: Enable softISP for the Pinephone +Subject: [PATCH 1/3] libcamera: simple: Enable softISP for the Pinephone In theory the PP should be able to use the actual HW ISP, however in practice this does not work well yet - especially as the driver for the @@ -10,15 +10,17 @@ front camera in Megi differs heavily from the upstream one. Thus enable the swISP to make both cameras work reliably for now. This is essentially what Megapixels does as well. If the HW ISP situation improves, this can be dropped again. + +Signed-off-by: Robert Mader --- src/libcamera/pipeline/simple/simple.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp -index a0aad052f..cc3bdc84b 100644 +index 4a0b9f58d..8a3bc14fa 100644 --- a/src/libcamera/pipeline/simple/simple.cpp +++ b/src/libcamera/pipeline/simple/simple.cpp -@@ -262,7 +262,7 @@ static const SimplePipelineInfo supportedDevices[] = { +@@ -264,7 +264,7 @@ static const SimplePipelineInfo supportedDevices[] = { { "mtk-seninf", { { "mtk-mdp", 3 } }, false }, { "mxc-isi", {}, false }, { "qcom-camss", {}, true }, @@ -26,7 +28,7 @@ index a0aad052f..cc3bdc84b 100644 + { "sun6i-csi", {}, true }, }; - } /* namespace */ + bool isRaw(const StreamConfiguration &cfg) -- 2.52.0 diff --git a/temp/libcamera/0001-libcamera-simple-Enable-softwareISP-for-the-librem5.patch b/temp/libcamera/0001-libcamera-simple-Enable-softwareISP-for-the-librem5.patch deleted file mode 100644 index 7d3d9e12f..000000000 --- a/temp/libcamera/0001-libcamera-simple-Enable-softwareISP-for-the-librem5.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 0667741f5e4769a9918cc94f5d2a699d7bdaf9b3 Mon Sep 17 00:00:00 2001 -From: Robert Mader -Date: Mon, 22 Apr 2024 23:30:31 +0200 -Subject: [PATCH 01/12] libcamera: simple: Enable softwareISP for the librem5 - -And - in theory - on similar devices. ---- - src/libcamera/pipeline/simple/simple.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp -index a06a52926..a62fa7b8c 100644 ---- a/src/libcamera/pipeline/simple/simple.cpp -+++ b/src/libcamera/pipeline/simple/simple.cpp -@@ -254,7 +254,7 @@ namespace { - - static const SimplePipelineInfo supportedDevices[] = { - { "dcmipp", {}, false }, -- { "imx7-csi", { { "pxp", 1 } }, false }, -+ { "imx7-csi", { { "pxp", 1 } }, true }, - { "intel-ipu6", {}, true }, - { "intel-ipu7", {}, true }, - { "j721e-csi2rx", {}, true }, --- -2.52.0 - diff --git a/temp/libcamera/0002-libcamera-simple-Force-disable-softwareISP-for-milli.patch b/temp/libcamera/0002-libcamera-simple-Force-disable-softwareISP-for-milli.patch deleted file mode 100644 index a37f19099..000000000 --- a/temp/libcamera/0002-libcamera-simple-Force-disable-softwareISP-for-milli.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 125ab037a4395c1e9fffb0bd68fb2c3eeae95078 Mon Sep 17 00:00:00 2001 -From: Robert Mader -Date: Thu, 9 May 2024 21:07:07 +0200 -Subject: [PATCH 02/12] libcamera: simple: Force-disable softwareISP for - millipixels - -As the later uses libcamera and requires raw-streams to get passed -through. In the future, libcamera will likely support both - raw and -swIsp - at the same time. ---- - src/libcamera/pipeline/simple/simple.cpp | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp -index a62fa7b8c..a0aad052f 100644 ---- a/src/libcamera/pipeline/simple/simple.cpp -+++ b/src/libcamera/pipeline/simple/simple.cpp -@@ -7,6 +7,7 @@ - */ - - #include -+#include - #include - #include - #include -@@ -1773,6 +1774,14 @@ bool SimplePipelineHandler::matchDevice(std::shared_ptr media, - } - } - -+ std::string comm_string; -+ std::ifstream("/proc/self/comm") >> comm_string; -+ if (comm_string == "millipixels") { -+ LOG(SimplePipeline, Warning) -+ << "Detected millipixels, disabling swIsp"; -+ swIspEnabled_ = false; -+ } -+ - /* Locate the sensors. */ - std::vector sensors = locateSensors(media.get()); - if (sensors.empty()) { --- -2.52.0 - diff --git a/temp/libcamera/0004-libcamera-simple-Skip-hwISP-formats-if-swISP-is-acti.patch b/temp/libcamera/0002-libcamera-simple-Skip-hwISP-formats-if-swISP-is-acti.patch similarity index 79% rename from temp/libcamera/0004-libcamera-simple-Skip-hwISP-formats-if-swISP-is-acti.patch rename to temp/libcamera/0002-libcamera-simple-Skip-hwISP-formats-if-swISP-is-acti.patch index 3fbdda85b..3b1e85620 100644 --- a/temp/libcamera/0004-libcamera-simple-Skip-hwISP-formats-if-swISP-is-acti.patch +++ b/temp/libcamera/0002-libcamera-simple-Skip-hwISP-formats-if-swISP-is-acti.patch @@ -1,23 +1,24 @@ -From 5e94fb4563b44ba1fd9c4d3109ddc5a0f35cfa2c Mon Sep 17 00:00:00 2001 +From b7695ae18562170ea2e8955f72844cc287724a06 Mon Sep 17 00:00:00 2001 From: Robert Mader Date: Mon, 6 May 2024 21:21:57 +0200 -Subject: [PATCH 04/12] libcamera: simple: Skip hwISP formats if swISP is - active +Subject: [PATCH 2/3] libcamera: simple: Skip hwISP formats if swISP is active On devices like the Pinephone libcamera will advertise support for formats provided by the HW ISP and the SW ISP at the same time. The reason why we enable the SW ISP in the first place is, however, that the HW ISP does not work reliable atm. Thus filter out formats from the HW ISP when the SW ISP is enabled, to ensure we use the later. + +Signed-off-by: Robert Mader --- src/libcamera/pipeline/simple/simple.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp -index cc3bdc84b..f44c2aa8e 100644 +index 8a3bc14fa..5dec1bd11 100644 --- a/src/libcamera/pipeline/simple/simple.cpp +++ b/src/libcamera/pipeline/simple/simple.cpp -@@ -736,9 +736,7 @@ void SimpleCameraData::tryPipeline(unsigned int code, const Size &size) +@@ -745,9 +745,7 @@ void SimpleCameraData::tryPipeline(unsigned int code, const Size &size) config.outputFormats = swIsp_->formats(pixelFormat); config.outputSizes = swIsp_->sizes(pixelFormat, format.size); if (config.outputFormats.empty()) { diff --git a/temp/libcamera/0003-RFC-egl-Implement-DMABuf-import-for-input-buffers.patch b/temp/libcamera/0003-RFC-egl-Implement-DMABuf-import-for-input-buffers.patch new file mode 100644 index 000000000..e0db6db06 --- /dev/null +++ b/temp/libcamera/0003-RFC-egl-Implement-DMABuf-import-for-input-buffers.patch @@ -0,0 +1,214 @@ +From d8405610c1830f71ffd0ca09a3c18509fc4a8892 Mon Sep 17 00:00:00 2001 +From: Robert Mader +Date: Fri, 19 Dec 2025 20:31:16 +0100 +Subject: [PATCH 3/3] RFC: egl: Implement DMABuf import for input buffers + +In many cases we can import the GPU-ISP input buffer, a dmabuf from v4l2, +directly into EGL instead of mapping and uploading - i.e. copying - it. +This reduces memory bandwith usage and can even slightly improve +latency. +This main reason this doesn't work in many cases is the stride +alignment, as GPUs often have stricter requirements (often 128 or even +256 bytes) than hardware ISPs. + +Thus try to import buffer directly and - if that fails - fall back to +the previous upload path. To do so, adjust some function parameters and +turn down error messages. Failing imports should come at low cost as +drivers know the limitations and can bail out early, without causing +additional IO or context switches. + +In the future we might be able to request buffers with a matching stride +from v4l2 drivers in many cases, making direct import the norm instead +of a hit-or-miss. An optional kernel API for that exists, but doesn't +seem to be implemented by any driver tested so far. + +Signed-off-by: Robert Mader +--- + include/libcamera/internal/egl.h | 4 +-- + src/libcamera/egl.cpp | 37 +++++++++++++++++----- + src/libcamera/software_isp/debayer_egl.cpp | 21 ++++++------ + src/libcamera/software_isp/debayer_egl.h | 2 +- + 4 files changed, 44 insertions(+), 20 deletions(-) + +diff --git a/include/libcamera/internal/egl.h b/include/libcamera/internal/egl.h +index 8a2d96d7a..32e9cecdd 100644 +--- a/include/libcamera/internal/egl.h ++++ b/include/libcamera/internal/egl.h +@@ -102,7 +102,7 @@ public: + + int initEGLContext(); + +- int createInputDMABufTexture2D(eGLImage &eglImage, int fd); ++ int createInputDMABufTexture2D(eGLImage &eglImage, int fd, GLint format, uint32_t width, uint32_t height); + int createOutputDMABufTexture2D(eGLImage &eglImage, int fd); + void destroyDMABufTexture(eGLImage &eglImage); + void createTexture2D(eGLImage &eglImage, GLint format, uint32_t width, uint32_t height, void *data); +@@ -135,7 +135,7 @@ private: + unsigned int shaderDataLen, + Span shaderEnv); + +- int createDMABufTexture2D(eGLImage &eglImage, int fd, bool output); ++ int createDMABufTexture2D(eGLImage &eglImage, int fd, uint32_t drm_format, uint32_t width, uint32_t height, bool output); + + PFNGLEGLIMAGETARGETTEXTURE2DOESPROC glEGLImageTargetTexture2DOES; + PFNEGLCREATEIMAGEKHRPROC eglCreateImageKHR; +diff --git a/src/libcamera/egl.cpp b/src/libcamera/egl.cpp +index 5b9bbf410..3a90cf54b 100644 +--- a/src/libcamera/egl.cpp ++++ b/src/libcamera/egl.cpp +@@ -19,6 +19,7 @@ + + #include + ++#include + #include + + namespace libcamera { +@@ -102,6 +103,9 @@ void eGL::syncOutput() + * \brief Create a DMA-BUF backed 2D texture + * \param[in,out] eglImage EGL image to associate with the DMA-BUF + * \param[in] fd DMA-BUF file descriptor ++ * \param[in] drm_format the DRM fourcc ++ * \param[in] width the buffer width ++ * \param[in] height the buffer height + * \param[in] output If true, create framebuffer for render target + * + * Internal implementation for creating DMA-BUF textures. Creates an EGL +@@ -110,7 +114,7 @@ void eGL::syncOutput() + * + * \return 0 on success, or -ENODEV on failure + */ +-int eGL::createDMABufTexture2D(eGLImage &eglImage, int fd, bool output) ++int eGL::createDMABufTexture2D(eGLImage &eglImage, int fd, uint32_t drm_format, uint32_t width, uint32_t height, bool output) + { + int ret = 0; + +@@ -118,9 +122,9 @@ int eGL::createDMABufTexture2D(eGLImage &eglImage, int fd, bool output) + + // clang-format off + EGLint image_attrs[] = { +- EGL_WIDTH, (EGLint)eglImage.width_, +- EGL_HEIGHT, (EGLint)eglImage.height_, +- EGL_LINUX_DRM_FOURCC_EXT, DRM_FORMAT_ARGB8888, ++ EGL_WIDTH, (EGLint)width, ++ EGL_HEIGHT, (EGLint)height, ++ EGL_LINUX_DRM_FOURCC_EXT, (EGLint)drm_format, + EGL_DMA_BUF_PLANE0_FD_EXT, fd, + EGL_DMA_BUF_PLANE0_OFFSET_EXT, 0, + EGL_DMA_BUF_PLANE0_PITCH_EXT, (EGLint)eglImage.stride_, +@@ -135,7 +139,7 @@ int eGL::createDMABufTexture2D(eGLImage &eglImage, int fd, bool output) + NULL, image_attrs); + + if (eglImage.image_ == EGL_NO_IMAGE_KHR) { +- LOG(eGL, Error) << "eglCreateImageKHR fail"; ++ LOG(eGL, Debug) << "eglCreateImageKHR fail"; + ret = -ENODEV; + goto done; + } +@@ -176,6 +180,9 @@ done: + * \brief Create an input DMA-BUF backed texture + * \param[in,out] eglImage EGL image to associate with the DMA-BUF + * \param[in] fd DMA-BUF file descriptor ++ * \param[in] format the GL format ++ * \param[in] width the buffer width ++ * \param[in] height the buffer height + * + * Creates an EGL image from a DMA-BUF file descriptor and binds it to + * a 2D texture for use as an input texture in shaders. The texture is +@@ -183,11 +190,25 @@ done: + * + * \return 0 on success, or -ENODEV on failure + */ +-int eGL::createInputDMABufTexture2D(eGLImage &eglImage, int fd) ++int eGL::createInputDMABufTexture2D(eGLImage &eglImage, int fd, GLint format, uint32_t width, uint32_t height) + { ++ EGLint drm_format; ++ + ASSERT(tid_ == Thread::currentId()); + +- return createDMABufTexture2D(eglImage, fd, false); ++ switch (format) { ++ case GL_LUMINANCE: ++ drm_format = DRM_FORMAT_R8; ++ break; ++ case GL_RG: ++ drm_format = DRM_FORMAT_RG88; ++ break; ++ default: ++ LOG(eGL, Error) << "unhandled GL format"; ++ return -ENODEV; ++ } ++ ++ return createDMABufTexture2D(eglImage, fd, drm_format, width, height, false); + } + + /** +@@ -206,7 +227,7 @@ int eGL::createOutputDMABufTexture2D(eGLImage &eglImage, int fd) + { + ASSERT(tid_ == Thread::currentId()); + +- return createDMABufTexture2D(eglImage, fd, true); ++ return createDMABufTexture2D(eglImage, fd, DRM_FORMAT_ARGB8888, eglImage.width_, eglImage.height_, true); + } + + /** +diff --git a/src/libcamera/software_isp/debayer_egl.cpp b/src/libcamera/software_isp/debayer_egl.cpp +index 4d0caa6ef..5e7812a13 100644 +--- a/src/libcamera/software_isp/debayer_egl.cpp ++++ b/src/libcamera/software_isp/debayer_egl.cpp +@@ -506,13 +506,22 @@ void DebayerEGL::setShaderVariableValues(DebayerParams ¶ms) + return; + } + +-int DebayerEGL::debayerGPU(MappedFrameBuffer &in, int out_fd, DebayerParams ¶ms) ++int DebayerEGL::debayerGPU(FrameBuffer *input, int out_fd, DebayerParams ¶ms) + { + /* eGL context switch */ + egl_.makeCurrent(); + + /* Create a standard texture input */ +- egl_.createTexture2D(*eglImageBayerIn_, glFormat_, inputConfig_.stride / bytesPerPixel_, height_, in.planes()[0].data()); ++ if (egl_.createInputDMABufTexture2D(*eglImageBayerIn_, input->planes()[0].fd.get(), glFormat_, inputConfig_.stride / bytesPerPixel_, height_) != 0) { ++ MappedFrameBuffer in(input, MappedFrameBuffer::MapFlag::Read); ++ if (!in.isValid()) { ++ LOG(Debayer, Error) << "mmap-ing buffer(s) failed"; ++ return -ENODEV; ++ } ++ ++ LOG(Debayer, Debug) << "Importing input buffer with DMABuf import failed, falling back to upload"; ++ egl_.createTexture2D(*eglImageBayerIn_, glFormat_, inputConfig_.stride / bytesPerPixel_, height_, in.planes()[0].data()); ++ } + + /* Generate the output render framebuffer as render to texture */ + egl_.createOutputDMABufTexture2D(*eglImageBayerOut_, out_fd); +@@ -547,13 +556,7 @@ void DebayerEGL::process(uint32_t frame, FrameBuffer *input, FrameBuffer *output + metadata.sequence = input->metadata().sequence; + metadata.timestamp = input->metadata().timestamp; + +- MappedFrameBuffer in(input, MappedFrameBuffer::MapFlag::Read); +- if (!in.isValid()) { +- LOG(Debayer, Error) << "mmap-ing buffer(s) failed"; +- goto error; +- } +- +- if (debayerGPU(in, output->planes()[0].fd.get(), params)) { ++ if (debayerGPU(input, output->planes()[0].fd.get(), params)) { + LOG(Debayer, Error) << "debayerGPU failed"; + goto error; + } +diff --git a/src/libcamera/software_isp/debayer_egl.h b/src/libcamera/software_isp/debayer_egl.h +index cfbaf8e9d..19aa7d0ea 100644 +--- a/src/libcamera/software_isp/debayer_egl.h ++++ b/src/libcamera/software_isp/debayer_egl.h +@@ -74,7 +74,7 @@ private: + int getShaderVariableLocations(); + void setShaderVariableValues(DebayerParams ¶ms); + void configureTexture(GLuint &texture); +- int debayerGPU(MappedFrameBuffer &in, int out_fd, DebayerParams ¶ms); ++ int debayerGPU(FrameBuffer *input, int out_fd, DebayerParams ¶ms); + + /* Shader program identifiers */ + GLuint vertexShaderId_ = 0; +-- +2.52.0 + diff --git a/temp/libcamera/APKBUILD b/temp/libcamera/APKBUILD index fab1c8189..e16d5baed 100644 --- a/temp/libcamera/APKBUILD +++ b/temp/libcamera/APKBUILD @@ -1,22 +1,15 @@ # Forked from Alpine for temporary downstream patches maintainer="Robert Mader " pkgname=libcamera -_pkgver=0.6.0 +_pkgver=0.7.0 pkgver=9999$_pkgver -pkgrel=1 +pkgrel=0 pkgdesc="Linux camera framework" url="https://libcamera.org/" arch="all" license="LGPL-2.1-or-later AND GPL-2.0-or-later" -depends_dev=" - eudev-dev - glib-dev - gnutls-dev - gst-plugins-bad-dev - qt6-qtbase-dev - " # upstream calls 'date' with a non-POSIX option so we pull in coreutils -makedepends="$depends_dev +makedepends=" coreutils doxygen eudev-dev @@ -62,10 +55,9 @@ _tuning_files=" s5kjn1.yaml " source="https://gitlab.freedesktop.org/camera/libcamera/-/archive/v$_pkgver/libcamera-v$_pkgver.tar.gz - 0001-libcamera-simple-Enable-softwareISP-for-the-librem5.patch - 0002-libcamera-simple-Force-disable-softwareISP-for-milli.patch - 0003-libcamera-simple-Enable-softISP-for-the-Pinephone.patch - 0004-libcamera-simple-Skip-hwISP-formats-if-swISP-is-acti.patch + 0001-libcamera-simple-Enable-softISP-for-the-Pinephone.patch + 0002-libcamera-simple-Skip-hwISP-formats-if-swISP-is-acti.patch + 0003-RFC-egl-Implement-DMABuf-import-for-input-buffers.patch qcam.desktop $_tuning_files " @@ -92,6 +84,7 @@ esac build() { abuild-meson \ + -Dpipelines=auto,virtual \ -Dv4l2=true \ -Dwerror=false \ -Ddocumentation=disabled \ @@ -177,18 +170,17 @@ py3() { } sha512sums=" -901debb8fe864ab5b7b9a9011c760165e0a94f9c14bb6654e297161aaadb6ed1929f1cf4fe20357c188bf24bd00db3953ddd257a0ac726973ad3ceeea07d959f libcamera-v0.6.0.tar.gz -b6e4d79bb3e206bec84804100033bec80d0c3a2408d5d0643c5c52c658b2a3ff2eb4bf4df0d1c21b91b510eecdeb59af826d324c64fcc481790952836cca2ea8 0001-libcamera-simple-Enable-softwareISP-for-the-librem5.patch -82b1e5278f571ff734bce80ded4395ac18191ea2ba94c7cb4f3d0bf5b1ff96e142a419ee6edec395e1af50fc131959b7c3bb963734bd0e573e3c197d00e99493 0002-libcamera-simple-Force-disable-softwareISP-for-milli.patch -7b9e97b1cc866cd0ad6e52c7980ebe5561d3e9a092912602cc85ff502cee5d69b6487ef16419a248a720617be3f1817aa92f8f15992869b87af5c02859fa6aa6 0003-libcamera-simple-Enable-softISP-for-the-Pinephone.patch -48de0e1e1acefb0a901dcfc4c266d633e73463f3ce2a89d7b83eed4833f6459abdc98528afe96d88c7bac78e75035a491f9228ed937e251849e9926e7d80216d 0004-libcamera-simple-Skip-hwISP-formats-if-swISP-is-acti.patch +3d34792d3fd6a75a84150921b66875e4f8c5b8771e1218618fb58bee32d76b9e2b23226ef7ec850cdcd41b5bdd08ab41f61d4d69fca619a488c5ac0f1dcb283b libcamera-v0.7.0.tar.gz +e94ba31d69cad9ca9f9d895a253e849ac79b73bafea58987c078f9144049896138f61f3ea63a4c00de44e5a480622aed0bebe1b062d6c52757ce5f62f3a642f3 0001-libcamera-simple-Enable-softISP-for-the-Pinephone.patch +1850f847a5a8597b78c5bf2cd88e9012531634ac7141925edf52f49fbca8c3b432a1e8d4270971741adbca150ed9928a86f86cdcb6f4ed04f5488ab21002074d 0002-libcamera-simple-Skip-hwISP-formats-if-swISP-is-acti.patch +4ba352092bc5ed0b982efe854a7a079c363497b54b5ef5693975bd2c4d1ca0c134fb3278b60d9d77f5a87039ba2b165b5786497b7e1d74343580f2ecdc0a7049 0003-RFC-egl-Implement-DMABuf-import-for-input-buffers.patch 22167a4eceb6d1b40b0b7c45fdf116c71684f5340de7f767535cb8e160ad9d2ae0f00cb3d461f73a344520a48a4641cf46226841d78bee06bfbfd2a91337f754 qcam.desktop -fa9e4736c7651d4f97d97b58eef2d1d7ddd4616b1de67c840c4804585c62c78bb5ce80cb14669ae462414faa1c6af10c60cad0c416d69f685bc96434ad73e08a hi846.yaml -fa9e4736c7651d4f97d97b58eef2d1d7ddd4616b1de67c840c4804585c62c78bb5ce80cb14669ae462414faa1c6af10c60cad0c416d69f685bc96434ad73e08a imx355.yaml -fa9e4736c7651d4f97d97b58eef2d1d7ddd4616b1de67c840c4804585c62c78bb5ce80cb14669ae462414faa1c6af10c60cad0c416d69f685bc96434ad73e08a imx363.yaml -fa9e4736c7651d4f97d97b58eef2d1d7ddd4616b1de67c840c4804585c62c78bb5ce80cb14669ae462414faa1c6af10c60cad0c416d69f685bc96434ad73e08a imx371.yaml -fa9e4736c7651d4f97d97b58eef2d1d7ddd4616b1de67c840c4804585c62c78bb5ce80cb14669ae462414faa1c6af10c60cad0c416d69f685bc96434ad73e08a imx376.yaml -fa9e4736c7651d4f97d97b58eef2d1d7ddd4616b1de67c840c4804585c62c78bb5ce80cb14669ae462414faa1c6af10c60cad0c416d69f685bc96434ad73e08a imx858.yaml -fa9e4736c7651d4f97d97b58eef2d1d7ddd4616b1de67c840c4804585c62c78bb5ce80cb14669ae462414faa1c6af10c60cad0c416d69f685bc96434ad73e08a s5k3l6xx.yaml -fa9e4736c7651d4f97d97b58eef2d1d7ddd4616b1de67c840c4804585c62c78bb5ce80cb14669ae462414faa1c6af10c60cad0c416d69f685bc96434ad73e08a s5kjn1.yaml +2ee566653b17d565d2c0de67cbe6ebad25df5aac6051cad78e6bae52016fa2ca0247e964d735ac776b3e0bd447ead9c4fcb26cd7629228cdba3ceb91b46f378f hi846.yaml +2ee566653b17d565d2c0de67cbe6ebad25df5aac6051cad78e6bae52016fa2ca0247e964d735ac776b3e0bd447ead9c4fcb26cd7629228cdba3ceb91b46f378f imx355.yaml +2ee566653b17d565d2c0de67cbe6ebad25df5aac6051cad78e6bae52016fa2ca0247e964d735ac776b3e0bd447ead9c4fcb26cd7629228cdba3ceb91b46f378f imx363.yaml +2ee566653b17d565d2c0de67cbe6ebad25df5aac6051cad78e6bae52016fa2ca0247e964d735ac776b3e0bd447ead9c4fcb26cd7629228cdba3ceb91b46f378f imx371.yaml +2ee566653b17d565d2c0de67cbe6ebad25df5aac6051cad78e6bae52016fa2ca0247e964d735ac776b3e0bd447ead9c4fcb26cd7629228cdba3ceb91b46f378f imx376.yaml +2ee566653b17d565d2c0de67cbe6ebad25df5aac6051cad78e6bae52016fa2ca0247e964d735ac776b3e0bd447ead9c4fcb26cd7629228cdba3ceb91b46f378f imx858.yaml +2ee566653b17d565d2c0de67cbe6ebad25df5aac6051cad78e6bae52016fa2ca0247e964d735ac776b3e0bd447ead9c4fcb26cd7629228cdba3ceb91b46f378f s5k3l6xx.yaml +2ee566653b17d565d2c0de67cbe6ebad25df5aac6051cad78e6bae52016fa2ca0247e964d735ac776b3e0bd447ead9c4fcb26cd7629228cdba3ceb91b46f378f s5kjn1.yaml " diff --git a/temp/libcamera/hi846.yaml b/temp/libcamera/hi846.yaml index f7d01b738..e903d96a8 100644 --- a/temp/libcamera/hi846.yaml +++ b/temp/libcamera/hi846.yaml @@ -6,6 +6,6 @@ algorithms: - BlackLevel: blackLevel: 4096 - Awb: - - Lut: + - Adjust: - Agc: ... diff --git a/temp/libcamera/imx355.yaml b/temp/libcamera/imx355.yaml index f7d01b738..e903d96a8 100644 --- a/temp/libcamera/imx355.yaml +++ b/temp/libcamera/imx355.yaml @@ -6,6 +6,6 @@ algorithms: - BlackLevel: blackLevel: 4096 - Awb: - - Lut: + - Adjust: - Agc: ... diff --git a/temp/libcamera/imx363.yaml b/temp/libcamera/imx363.yaml index f7d01b738..e903d96a8 100644 --- a/temp/libcamera/imx363.yaml +++ b/temp/libcamera/imx363.yaml @@ -6,6 +6,6 @@ algorithms: - BlackLevel: blackLevel: 4096 - Awb: - - Lut: + - Adjust: - Agc: ... diff --git a/temp/libcamera/imx371.yaml b/temp/libcamera/imx371.yaml index f7d01b738..e903d96a8 100644 --- a/temp/libcamera/imx371.yaml +++ b/temp/libcamera/imx371.yaml @@ -6,6 +6,6 @@ algorithms: - BlackLevel: blackLevel: 4096 - Awb: - - Lut: + - Adjust: - Agc: ... diff --git a/temp/libcamera/imx376.yaml b/temp/libcamera/imx376.yaml index f7d01b738..e903d96a8 100644 --- a/temp/libcamera/imx376.yaml +++ b/temp/libcamera/imx376.yaml @@ -6,6 +6,6 @@ algorithms: - BlackLevel: blackLevel: 4096 - Awb: - - Lut: + - Adjust: - Agc: ... diff --git a/temp/libcamera/imx858.yaml b/temp/libcamera/imx858.yaml index f7d01b738..e903d96a8 100644 --- a/temp/libcamera/imx858.yaml +++ b/temp/libcamera/imx858.yaml @@ -6,6 +6,6 @@ algorithms: - BlackLevel: blackLevel: 4096 - Awb: - - Lut: + - Adjust: - Agc: ... diff --git a/temp/libcamera/s5k3l6xx.yaml b/temp/libcamera/s5k3l6xx.yaml index f7d01b738..e903d96a8 100644 --- a/temp/libcamera/s5k3l6xx.yaml +++ b/temp/libcamera/s5k3l6xx.yaml @@ -6,6 +6,6 @@ algorithms: - BlackLevel: blackLevel: 4096 - Awb: - - Lut: + - Adjust: - Agc: ... diff --git a/temp/libcamera/s5kjn1.yaml b/temp/libcamera/s5kjn1.yaml index f7d01b738..e903d96a8 100644 --- a/temp/libcamera/s5kjn1.yaml +++ b/temp/libcamera/s5kjn1.yaml @@ -6,6 +6,6 @@ algorithms: - BlackLevel: blackLevel: 4096 - Awb: - - Lut: + - Adjust: - Agc: ...