[libcamera-devel,v8,0/4] generate and use fixed-sized Span Control types
mbox series

Message ID 20220610120338.96883-1-Rauch.Christian@gmx.de
Headers show
Series
  • generate and use fixed-sized Span Control types
Related show

Message

Christian Rauch June 10, 2022, 12:03 p.m. UTC
Hello,

In the latest version of this, I am just rebasing on master. This essentially removes one already merged commit from this patch set.

Due to previous reports on compilation issues, I set up a CI workflow/pipeline for native amd64 and arm64 builds, and an arm64 cross-compilation build [1]. Those three workflows pass for the full set of libcamera features as well as for gcc and clang [2], [3], [4]. The workflow configurations are not included in this patch set. Please see the GitHub link if you want to fork and modify them.

If you encounter further compilation issues, then please let me know how to reproduce them, e.g. provide a CI configuration or docker image.


[1] https://github.com/christianrauch/libcamera-ci/tree/ci/.github/workflows

[2] https://github.com/christianrauch/libcamera-ci/actions/runs/2474771137
[3] https://github.com/christianrauch/libcamera-ci/actions/runs/2474771142
[4] https://github.com/christianrauch/libcamera-ci/actions/runs/2474771143

Christian Rauch (4):
  libcamera: controls: Use std::optional to handle invalid control
    values
  libcamera: controls: Define size of array controls as a shape vector
  libcamera: controls: Generate fixed- and variable-sized Span Controls
  libcamera: controls: Apply explicit fixed-sized Span type casts

 include/libcamera/controls.h                  |  7 ++--
 src/android/camera_capabilities.cpp           | 12 +++----
 src/android/camera_device.cpp                 | 21 ++++++------
 src/android/camera_hal_manager.cpp            |  2 +-
 src/cam/main.cpp                              |  4 +--
 src/ipa/raspberrypi/raspberrypi.cpp           | 21 ++++++------
 src/libcamera/control_ids.yaml                |  4 +--
 src/libcamera/pipeline/ipu3/ipu3.cpp          |  9 +++---
 .../pipeline/raspberrypi/raspberrypi.cpp      |  9 +++---
 src/libcamera/property_ids.yaml               |  4 +--
 src/qcam/dng_writer.cpp                       | 22 ++++++-------
 utils/gen-controls.py                         | 32 +++++++++++++------
 12 files changed, 80 insertions(+), 67 deletions(-)

--
2.34.1

Comments

Christian Rauch June 20, 2022, 9:37 a.m. UTC | #1
Hi,

Regarding my "std::optional" changes, I haven't received new feedback on
compilation issues. The "std::optional" change compiles correctly on a
variety of compilers and CPU architectures (see CI workflows).

Can you let me know what is missing to go on with this and get it merged
eventually?

Thanks,
Christian


-------- Weitergeleitete Nachricht --------
Betreff: [PATCH v8 0/4] generate and use fixed-sized Span Control types
Datum: Fri, 10 Jun 2022 13:03:34 +0100
Von: Christian Rauch <Rauch.Christian@gmx.de>
An: libcamera-devel@lists.libcamera.org
Kopie (CC): Christian Rauch <Rauch.Christian@gmx.de>

Hello,

In the latest version of this, I am just rebasing on master. This
essentially removes one already merged commit from this patch set.

Due to previous reports on compilation issues, I set up a CI
workflow/pipeline for native amd64 and arm64 builds, and an arm64
cross-compilation build [1]. Those three workflows pass for the full set
of libcamera features as well as for gcc and clang [2], [3], [4]. The
workflow configurations are not included in this patch set. Please see
the GitHub link if you want to fork and modify them.

If you encounter further compilation issues, then please let me know how
to reproduce them, e.g. provide a CI configuration or docker image.


[1] https://github.com/christianrauch/libcamera-ci/tree/ci/.github/workflows

[2] https://github.com/christianrauch/libcamera-ci/actions/runs/2474771137
[3] https://github.com/christianrauch/libcamera-ci/actions/runs/2474771142
[4] https://github.com/christianrauch/libcamera-ci/actions/runs/2474771143

Christian Rauch (4):
  libcamera: controls: Use std::optional to handle invalid control
    values
  libcamera: controls: Define size of array controls as a shape vector
  libcamera: controls: Generate fixed- and variable-sized Span Controls
  libcamera: controls: Apply explicit fixed-sized Span type casts

 include/libcamera/controls.h                  |  7 ++--
 src/android/camera_capabilities.cpp           | 12 +++----
 src/android/camera_device.cpp                 | 21 ++++++------
 src/android/camera_hal_manager.cpp            |  2 +-
 src/cam/main.cpp                              |  4 +--
 src/ipa/raspberrypi/raspberrypi.cpp           | 21 ++++++------
 src/libcamera/control_ids.yaml                |  4 +--
 src/libcamera/pipeline/ipu3/ipu3.cpp          |  9 +++---
 .../pipeline/raspberrypi/raspberrypi.cpp      |  9 +++---
 src/libcamera/property_ids.yaml               |  4 +--
 src/qcam/dng_writer.cpp                       | 22 ++++++-------
 utils/gen-controls.py                         | 32 +++++++++++++------
 12 files changed, 80 insertions(+), 67 deletions(-)

--
2.34.1