temp/libcamera: upgrade to 0.7.1
See https://gitlab.freedesktop.org/camera/libcamera/-/releases/v0.7.1 Also sync dependencies to upstream. Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8449>
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
From 91b13b6c3b596775a80cdb661259fbd90b4189b2 Mon Sep 17 00:00:00 2001
|
From ccbfcbaf782fc66fe4600902fb51f043f44bf105 Mon Sep 17 00:00:00 2001
|
||||||
From: Robert Mader <robert.mader@collabora.com>
|
From: Robert Mader <robert.mader@collabora.com>
|
||||||
Date: Wed, 1 May 2024 18:12:02 +0200
|
Date: Wed, 1 May 2024 18:12:02 +0200
|
||||||
Subject: [PATCH 1/3] libcamera: simple: Enable softISP for the Pinephone
|
Subject: [PATCH 1/3] libcamera: simple: Enable softISP for the Pinephone
|
||||||
@@ -17,7 +17,7 @@ Signed-off-by: Robert Mader <robert.mader@collabora.com>
|
|||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp
|
diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp
|
||||||
index 4a0b9f58d..8a3bc14fa 100644
|
index c6fe12d65..89b86f59c 100644
|
||||||
--- a/src/libcamera/pipeline/simple/simple.cpp
|
--- a/src/libcamera/pipeline/simple/simple.cpp
|
||||||
+++ b/src/libcamera/pipeline/simple/simple.cpp
|
+++ b/src/libcamera/pipeline/simple/simple.cpp
|
||||||
@@ -264,7 +264,7 @@ static const SimplePipelineInfo supportedDevices[] = {
|
@@ -264,7 +264,7 @@ static const SimplePipelineInfo supportedDevices[] = {
|
||||||
@@ -30,5 +30,5 @@ index 4a0b9f58d..8a3bc14fa 100644
|
|||||||
|
|
||||||
bool isRaw(const StreamConfiguration &cfg)
|
bool isRaw(const StreamConfiguration &cfg)
|
||||||
--
|
--
|
||||||
2.52.0
|
2.54.0
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
From b7695ae18562170ea2e8955f72844cc287724a06 Mon Sep 17 00:00:00 2001
|
From 00e2f3ed19756080d709bd86d46c3c27ec8cea80 Mon Sep 17 00:00:00 2001
|
||||||
From: Robert Mader <robert.mader@collabora.com>
|
From: Robert Mader <robert.mader@collabora.com>
|
||||||
Date: Mon, 6 May 2024 21:21:57 +0200
|
Date: Mon, 6 May 2024 21:21:57 +0200
|
||||||
Subject: [PATCH 2/3] libcamera: simple: Skip hwISP formats if swISP is active
|
Subject: [PATCH 2/3] libcamera: simple: Skip hwISP formats if swISP is active
|
||||||
@@ -15,7 +15,7 @@ Signed-off-by: Robert Mader <robert.mader@collabora.com>
|
|||||||
1 file changed, 1 insertion(+), 3 deletions(-)
|
1 file changed, 1 insertion(+), 3 deletions(-)
|
||||||
|
|
||||||
diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp
|
diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp
|
||||||
index 8a3bc14fa..5dec1bd11 100644
|
index 89b86f59c..1daee387e 100644
|
||||||
--- a/src/libcamera/pipeline/simple/simple.cpp
|
--- a/src/libcamera/pipeline/simple/simple.cpp
|
||||||
+++ b/src/libcamera/pipeline/simple/simple.cpp
|
+++ b/src/libcamera/pipeline/simple/simple.cpp
|
||||||
@@ -745,9 +745,7 @@ void SimpleCameraData::tryPipeline(unsigned int code, const Size &size)
|
@@ -745,9 +745,7 @@ void SimpleCameraData::tryPipeline(unsigned int code, const Size &size)
|
||||||
@@ -30,5 +30,5 @@ index 8a3bc14fa..5dec1bd11 100644
|
|||||||
} else {
|
} else {
|
||||||
config.outputFormats = { pixelFormat };
|
config.outputFormats = { pixelFormat };
|
||||||
--
|
--
|
||||||
2.52.0
|
2.54.0
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
From d8405610c1830f71ffd0ca09a3c18509fc4a8892 Mon Sep 17 00:00:00 2001
|
From 08b9cc8401e57b05cd8b73e1dd1d7bf0691a048b Mon Sep 17 00:00:00 2001
|
||||||
From: Robert Mader <robert.mader@collabora.com>
|
From: Robert Mader <robert.mader@collabora.com>
|
||||||
Date: Fri, 19 Dec 2025 20:31:16 +0100
|
Date: Fri, 19 Dec 2025 20:31:16 +0100
|
||||||
Subject: [PATCH 3/3] RFC: egl: Implement DMABuf import for input buffers
|
Subject: [PATCH 3/3] RFC: egl: Implement DMABuf import for input buffers
|
||||||
@@ -31,19 +31,19 @@ Signed-off-by: Robert Mader <robert.mader@collabora.com>
|
|||||||
4 files changed, 44 insertions(+), 20 deletions(-)
|
4 files changed, 44 insertions(+), 20 deletions(-)
|
||||||
|
|
||||||
diff --git a/include/libcamera/internal/egl.h b/include/libcamera/internal/egl.h
|
diff --git a/include/libcamera/internal/egl.h b/include/libcamera/internal/egl.h
|
||||||
index 8a2d96d7a..32e9cecdd 100644
|
index 0ad2320b1..bb97b0c7c 100644
|
||||||
--- a/include/libcamera/internal/egl.h
|
--- a/include/libcamera/internal/egl.h
|
||||||
+++ b/include/libcamera/internal/egl.h
|
+++ b/include/libcamera/internal/egl.h
|
||||||
@@ -102,7 +102,7 @@ public:
|
@@ -101,7 +101,7 @@ public:
|
||||||
|
|
||||||
int initEGLContext();
|
int initEGLContext();
|
||||||
|
|
||||||
- int createInputDMABufTexture2D(eGLImage &eglImage, int fd);
|
- int createInputDMABufTexture2D(eGLImage &eglImage, int fd);
|
||||||
+ int createInputDMABufTexture2D(eGLImage &eglImage, int fd, GLint format, uint32_t width, uint32_t height);
|
+ int createInputDMABufTexture2D(eGLImage &eglImage, int fd, GLint format, uint32_t width, uint32_t height);
|
||||||
int createOutputDMABufTexture2D(eGLImage &eglImage, int fd);
|
int createOutputDMABufTexture2D(eGLImage &eglImage, int fd);
|
||||||
void destroyDMABufTexture(eGLImage &eglImage);
|
|
||||||
void createTexture2D(eGLImage &eglImage, GLint format, uint32_t width, uint32_t height, void *data);
|
void createTexture2D(eGLImage &eglImage, GLint format, uint32_t width, uint32_t height, void *data);
|
||||||
@@ -135,7 +135,7 @@ private:
|
|
||||||
|
@@ -133,7 +133,7 @@ private:
|
||||||
unsigned int shaderDataLen,
|
unsigned int shaderDataLen,
|
||||||
Span<const std::string> shaderEnv);
|
Span<const std::string> shaderEnv);
|
||||||
|
|
||||||
@@ -53,7 +53,7 @@ index 8a2d96d7a..32e9cecdd 100644
|
|||||||
PFNGLEGLIMAGETARGETTEXTURE2DOESPROC glEGLImageTargetTexture2DOES;
|
PFNGLEGLIMAGETARGETTEXTURE2DOESPROC glEGLImageTargetTexture2DOES;
|
||||||
PFNEGLCREATEIMAGEKHRPROC eglCreateImageKHR;
|
PFNEGLCREATEIMAGEKHRPROC eglCreateImageKHR;
|
||||||
diff --git a/src/libcamera/egl.cpp b/src/libcamera/egl.cpp
|
diff --git a/src/libcamera/egl.cpp b/src/libcamera/egl.cpp
|
||||||
index 5b9bbf410..3a90cf54b 100644
|
index f65929470..febfd4bba 100644
|
||||||
--- a/src/libcamera/egl.cpp
|
--- a/src/libcamera/egl.cpp
|
||||||
+++ b/src/libcamera/egl.cpp
|
+++ b/src/libcamera/egl.cpp
|
||||||
@@ -19,6 +19,7 @@
|
@@ -19,6 +19,7 @@
|
||||||
@@ -74,16 +74,14 @@ index 5b9bbf410..3a90cf54b 100644
|
|||||||
* \param[in] output If true, create framebuffer for render target
|
* \param[in] output If true, create framebuffer for render target
|
||||||
*
|
*
|
||||||
* Internal implementation for creating DMA-BUF textures. Creates an EGL
|
* Internal implementation for creating DMA-BUF textures. Creates an EGL
|
||||||
@@ -110,7 +114,7 @@ void eGL::syncOutput()
|
@@ -110,15 +114,15 @@ void eGL::syncOutput()
|
||||||
*
|
*
|
||||||
* \return 0 on success, or -ENODEV on failure
|
* \return 0 on success, or -ENODEV on failure
|
||||||
*/
|
*/
|
||||||
-int eGL::createDMABufTexture2D(eGLImage &eglImage, int fd, bool output)
|
-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 eGL::createDMABufTexture2D(eGLImage &eglImage, int fd, uint32_t drm_format, uint32_t width, uint32_t height, bool output)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
ASSERT(tid_ == Thread::currentId());
|
||||||
|
|
||||||
@@ -118,9 +122,9 @@ int eGL::createDMABufTexture2D(eGLImage &eglImage, int fd, bool output)
|
|
||||||
|
|
||||||
// clang-format off
|
// clang-format off
|
||||||
EGLint image_attrs[] = {
|
EGLint image_attrs[] = {
|
||||||
@@ -96,16 +94,16 @@ index 5b9bbf410..3a90cf54b 100644
|
|||||||
EGL_DMA_BUF_PLANE0_FD_EXT, fd,
|
EGL_DMA_BUF_PLANE0_FD_EXT, fd,
|
||||||
EGL_DMA_BUF_PLANE0_OFFSET_EXT, 0,
|
EGL_DMA_BUF_PLANE0_OFFSET_EXT, 0,
|
||||||
EGL_DMA_BUF_PLANE0_PITCH_EXT, (EGLint)eglImage.stride_,
|
EGL_DMA_BUF_PLANE0_PITCH_EXT, (EGLint)eglImage.stride_,
|
||||||
@@ -135,7 +139,7 @@ int eGL::createDMABufTexture2D(eGLImage &eglImage, int fd, bool output)
|
@@ -133,7 +137,7 @@ int eGL::createDMABufTexture2D(eGLImage &eglImage, int fd, bool output)
|
||||||
NULL, image_attrs);
|
NULL, image_attrs);
|
||||||
|
|
||||||
if (eglImage.image_ == EGL_NO_IMAGE_KHR) {
|
if (image == EGL_NO_IMAGE_KHR) {
|
||||||
- LOG(eGL, Error) << "eglCreateImageKHR fail";
|
- LOG(eGL, Error) << "eglCreateImageKHR fail";
|
||||||
+ LOG(eGL, Debug) << "eglCreateImageKHR fail";
|
+ LOG(eGL, Debug) << "eglCreateImageKHR fail";
|
||||||
ret = -ENODEV;
|
return -ENODEV;
|
||||||
goto done;
|
|
||||||
}
|
}
|
||||||
@@ -176,6 +180,9 @@ done:
|
|
||||||
|
@@ -172,6 +176,9 @@ int eGL::createDMABufTexture2D(eGLImage &eglImage, int fd, bool output)
|
||||||
* \brief Create an input DMA-BUF backed texture
|
* \brief Create an input DMA-BUF backed texture
|
||||||
* \param[in,out] eglImage EGL image to associate with the DMA-BUF
|
* \param[in,out] eglImage EGL image to associate with the DMA-BUF
|
||||||
* \param[in] fd DMA-BUF file descriptor
|
* \param[in] fd DMA-BUF file descriptor
|
||||||
@@ -115,7 +113,7 @@ index 5b9bbf410..3a90cf54b 100644
|
|||||||
*
|
*
|
||||||
* Creates an EGL image from a DMA-BUF file descriptor and binds it to
|
* 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
|
* a 2D texture for use as an input texture in shaders. The texture is
|
||||||
@@ -183,11 +190,25 @@ done:
|
@@ -179,11 +186,25 @@ int eGL::createDMABufTexture2D(eGLImage &eglImage, int fd, bool output)
|
||||||
*
|
*
|
||||||
* \return 0 on success, or -ENODEV on failure
|
* \return 0 on success, or -ENODEV on failure
|
||||||
*/
|
*/
|
||||||
@@ -143,7 +141,7 @@ index 5b9bbf410..3a90cf54b 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -206,7 +227,7 @@ int eGL::createOutputDMABufTexture2D(eGLImage &eglImage, int fd)
|
@@ -202,7 +223,7 @@ int eGL::createOutputDMABufTexture2D(eGLImage &eglImage, int fd)
|
||||||
{
|
{
|
||||||
ASSERT(tid_ == Thread::currentId());
|
ASSERT(tid_ == Thread::currentId());
|
||||||
|
|
||||||
@@ -153,15 +151,15 @@ index 5b9bbf410..3a90cf54b 100644
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
diff --git a/src/libcamera/software_isp/debayer_egl.cpp b/src/libcamera/software_isp/debayer_egl.cpp
|
diff --git a/src/libcamera/software_isp/debayer_egl.cpp b/src/libcamera/software_isp/debayer_egl.cpp
|
||||||
index 4d0caa6ef..5e7812a13 100644
|
index 8f0c229fd..f4fc2a6f9 100644
|
||||||
--- a/src/libcamera/software_isp/debayer_egl.cpp
|
--- a/src/libcamera/software_isp/debayer_egl.cpp
|
||||||
+++ b/src/libcamera/software_isp/debayer_egl.cpp
|
+++ b/src/libcamera/software_isp/debayer_egl.cpp
|
||||||
@@ -506,13 +506,22 @@ void DebayerEGL::setShaderVariableValues(DebayerParams ¶ms)
|
@@ -495,13 +495,22 @@ void DebayerEGL::setShaderVariableValues(const DebayerParams ¶ms)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
-int DebayerEGL::debayerGPU(MappedFrameBuffer &in, int out_fd, DebayerParams ¶ms)
|
-int DebayerEGL::debayerGPU(MappedFrameBuffer &in, int out_fd, const DebayerParams ¶ms)
|
||||||
+int DebayerEGL::debayerGPU(FrameBuffer *input, int out_fd, DebayerParams ¶ms)
|
+int DebayerEGL::debayerGPU(FrameBuffer *input, int out_fd, const DebayerParams ¶ms)
|
||||||
{
|
{
|
||||||
/* eGL context switch */
|
/* eGL context switch */
|
||||||
egl_.makeCurrent();
|
egl_.makeCurrent();
|
||||||
@@ -181,7 +179,7 @@ index 4d0caa6ef..5e7812a13 100644
|
|||||||
|
|
||||||
/* Generate the output render framebuffer as render to texture */
|
/* Generate the output render framebuffer as render to texture */
|
||||||
egl_.createOutputDMABufTexture2D(*eglImageBayerOut_, out_fd);
|
egl_.createOutputDMABufTexture2D(*eglImageBayerOut_, out_fd);
|
||||||
@@ -547,13 +556,7 @@ void DebayerEGL::process(uint32_t frame, FrameBuffer *input, FrameBuffer *output
|
@@ -536,13 +545,7 @@ void DebayerEGL::process(uint32_t frame, FrameBuffer *input, FrameBuffer *output
|
||||||
metadata.sequence = input->metadata().sequence;
|
metadata.sequence = input->metadata().sequence;
|
||||||
metadata.timestamp = input->metadata().timestamp;
|
metadata.timestamp = input->metadata().timestamp;
|
||||||
|
|
||||||
@@ -197,18 +195,18 @@ index 4d0caa6ef..5e7812a13 100644
|
|||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
diff --git a/src/libcamera/software_isp/debayer_egl.h b/src/libcamera/software_isp/debayer_egl.h
|
diff --git a/src/libcamera/software_isp/debayer_egl.h b/src/libcamera/software_isp/debayer_egl.h
|
||||||
index cfbaf8e9d..19aa7d0ea 100644
|
index fcd281f4c..5a1e4dfe3 100644
|
||||||
--- a/src/libcamera/software_isp/debayer_egl.h
|
--- a/src/libcamera/software_isp/debayer_egl.h
|
||||||
+++ b/src/libcamera/software_isp/debayer_egl.h
|
+++ b/src/libcamera/software_isp/debayer_egl.h
|
||||||
@@ -74,7 +74,7 @@ private:
|
@@ -66,7 +66,7 @@ private:
|
||||||
|
int initBayerShaders(PixelFormat inputFormat, PixelFormat outputFormat);
|
||||||
int getShaderVariableLocations();
|
int getShaderVariableLocations();
|
||||||
void setShaderVariableValues(DebayerParams ¶ms);
|
void setShaderVariableValues(const DebayerParams ¶ms);
|
||||||
void configureTexture(GLuint &texture);
|
- int debayerGPU(MappedFrameBuffer &in, int out_fd, const DebayerParams ¶ms);
|
||||||
- int debayerGPU(MappedFrameBuffer &in, int out_fd, DebayerParams ¶ms);
|
+ int debayerGPU(FrameBuffer *input, int out_fd, const DebayerParams ¶ms);
|
||||||
+ int debayerGPU(FrameBuffer *input, int out_fd, DebayerParams ¶ms);
|
|
||||||
|
|
||||||
/* Shader program identifiers */
|
/* Shader program identifiers */
|
||||||
GLuint vertexShaderId_ = 0;
|
GLuint vertexShaderId_ = 0;
|
||||||
--
|
--
|
||||||
2.52.0
|
2.54.0
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
# Forked from Alpine for temporary downstream patches
|
# Forked from Alpine for temporary downstream patches
|
||||||
maintainer="Robert Mader <robert.mader@collabora.com>"
|
maintainer="Robert Mader <robert.mader@collabora.com>"
|
||||||
pkgname=libcamera
|
pkgname=libcamera
|
||||||
_pkgver=0.7.0
|
_pkgver=0.7.1
|
||||||
pkgver=9999$_pkgver
|
pkgver=9999$_pkgver
|
||||||
pkgrel=1
|
pkgrel=0
|
||||||
pkgdesc="Linux camera framework"
|
pkgdesc="Linux camera framework"
|
||||||
url="https://libcamera.org/"
|
url="https://libcamera.org/"
|
||||||
arch="all"
|
arch="all"
|
||||||
@@ -16,7 +16,7 @@ makedepends="
|
|||||||
glib-dev
|
glib-dev
|
||||||
gnutls-dev
|
gnutls-dev
|
||||||
graphviz
|
graphviz
|
||||||
gst-plugins-bad-dev
|
gst-plugins-base-dev
|
||||||
gtest-dev
|
gtest-dev
|
||||||
libevent-dev
|
libevent-dev
|
||||||
libpisp-dev
|
libpisp-dev
|
||||||
@@ -170,10 +170,10 @@ py3() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
sha512sums="
|
sha512sums="
|
||||||
3d34792d3fd6a75a84150921b66875e4f8c5b8771e1218618fb58bee32d76b9e2b23226ef7ec850cdcd41b5bdd08ab41f61d4d69fca619a488c5ac0f1dcb283b libcamera-v0.7.0.tar.gz
|
0e886021a3bbd668184b581248b9d89a8e909360a7f138237a2c03b41b477cb255bd6daf4932fdebf86c3410b4deccc4c5db93264ed0c6c9969076cdbae8a77b libcamera-v0.7.1.tar.gz
|
||||||
e94ba31d69cad9ca9f9d895a253e849ac79b73bafea58987c078f9144049896138f61f3ea63a4c00de44e5a480622aed0bebe1b062d6c52757ce5f62f3a642f3 0001-libcamera-simple-Enable-softISP-for-the-Pinephone.patch
|
aa24b1caab3d0e6bca413ff149aafa5233ba8141c2585b1b55c655759dd663612091222135ec5add402e60bf53d58c307f3f3127385efaa11b6cef866e03906e 0001-libcamera-simple-Enable-softISP-for-the-Pinephone.patch
|
||||||
1850f847a5a8597b78c5bf2cd88e9012531634ac7141925edf52f49fbca8c3b432a1e8d4270971741adbca150ed9928a86f86cdcb6f4ed04f5488ab21002074d 0002-libcamera-simple-Skip-hwISP-formats-if-swISP-is-acti.patch
|
cd1559a70dabe8711bb2cc1a8c6dca114e9f5b83088000935845ad90e5d109e2b215f0810f709f5bf00dd76be76e937bad4db49a1c6662135ec1704809a9a62b 0002-libcamera-simple-Skip-hwISP-formats-if-swISP-is-acti.patch
|
||||||
4ba352092bc5ed0b982efe854a7a079c363497b54b5ef5693975bd2c4d1ca0c134fb3278b60d9d77f5a87039ba2b165b5786497b7e1d74343580f2ecdc0a7049 0003-RFC-egl-Implement-DMABuf-import-for-input-buffers.patch
|
6bca235e430e7392f68c94742d1bc1cd19cffe12ac03c8890ffa27b756972df67f5a408f4c806149a6b4f52827881a73d14d7f6a00bab9d4692f5eb9b06478a5 0003-RFC-egl-Implement-DMABuf-import-for-input-buffers.patch
|
||||||
22167a4eceb6d1b40b0b7c45fdf116c71684f5340de7f767535cb8e160ad9d2ae0f00cb3d461f73a344520a48a4641cf46226841d78bee06bfbfd2a91337f754 qcam.desktop
|
22167a4eceb6d1b40b0b7c45fdf116c71684f5340de7f767535cb8e160ad9d2ae0f00cb3d461f73a344520a48a4641cf46226841d78bee06bfbfd2a91337f754 qcam.desktop
|
||||||
2ee566653b17d565d2c0de67cbe6ebad25df5aac6051cad78e6bae52016fa2ca0247e964d735ac776b3e0bd447ead9c4fcb26cd7629228cdba3ceb91b46f378f hi846.yaml
|
2ee566653b17d565d2c0de67cbe6ebad25df5aac6051cad78e6bae52016fa2ca0247e964d735ac776b3e0bd447ead9c4fcb26cd7629228cdba3ceb91b46f378f hi846.yaml
|
||||||
2ee566653b17d565d2c0de67cbe6ebad25df5aac6051cad78e6bae52016fa2ca0247e964d735ac776b3e0bd447ead9c4fcb26cd7629228cdba3ceb91b46f378f imx355.yaml
|
2ee566653b17d565d2c0de67cbe6ebad25df5aac6051cad78e6bae52016fa2ca0247e964d735ac776b3e0bd447ead9c4fcb26cd7629228cdba3ceb91b46f378f imx355.yaml
|
||||||
|
|||||||
Reference in New Issue
Block a user