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

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

Message

Christian Rauch June 1, 2022, 11:17 p.m. UTC
Hello,

This is the rebased version of my patch set with minor modifications for an additional control value that was added in the meantime. I additionally prefixed and capitalised the commit messages to follow the estalished commit style.

The last remaining concern was about the use of "std::optional". This has been resolved now by accepting std::optional in the public API.

Best,

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/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      | 10 +++---
 src/libcamera/property_ids.yaml               |  4 +--
 src/qcam/dng_writer.cpp                       | 15 +++++----
 utils/gen-controls.py                         | 32 +++++++++++++------
 9 files changed, 62 insertions(+), 44 deletions(-)

--
2.34.1

Comments

Laurent Pinchart June 2, 2022, 2:04 p.m. UTC | #1
Hi Christian,

On Thu, Jun 02, 2022 at 12:17:58AM +0100, Christian Rauch via libcamera-devel wrote:
> Hello,
> 
> This is the rebased version of my patch set with minor modifications
> for an additional control value that was added in the meantime. I
> additionally prefixed and capitalised the commit messages to follow
> the estalished commit style.
> 
> The last remaining concern was about the use of "std::optional". This
> has been resolved now by accepting std::optional in the public API.

I'm getting lots of compilation errors in the Android camera HAL
implementation (src/android/). Could you enable compilation of that
component (meson configure -D android=enabled) and fix them ?

> 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/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      | 10 +++---
>  src/libcamera/property_ids.yaml               |  4 +--
>  src/qcam/dng_writer.cpp                       | 15 +++++----
>  utils/gen-controls.py                         | 32 +++++++++++++------
>  9 files changed, 62 insertions(+), 44 deletions(-)
Jacopo Mondi June 3, 2022, 7:42 a.m. UTC | #2
Hi

On Thu, Jun 02, 2022 at 05:04:20PM +0300, Laurent Pinchart via libcamera-devel wrote:
> Hi Christian,
>
> On Thu, Jun 02, 2022 at 12:17:58AM +0100, Christian Rauch via libcamera-devel wrote:
> > Hello,
> >
> > This is the rebased version of my patch set with minor modifications
> > for an additional control value that was added in the meantime. I
> > additionally prefixed and capitalised the commit messages to follow
> > the estalished commit style.
> >
> > The last remaining concern was about the use of "std::optional". This
> > has been resolved now by accepting std::optional in the public API.
>
> I'm getting lots of compilation errors in the Android camera HAL
> implementation (src/android/). Could you enable compilation of that
> component (meson configure -D android=enabled) and fix them ?
>

FTR I also get:

        AttributeError: module 'math' has no attribute 'prod'

when building with Python 3.6 installed (chrome os SDK in my case)

> > 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/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      | 10 +++---
> >  src/libcamera/property_ids.yaml               |  4 +--
> >  src/qcam/dng_writer.cpp                       | 15 +++++----
> >  utils/gen-controls.py                         | 32 +++++++++++++------
> >  9 files changed, 62 insertions(+), 44 deletions(-)
>
> --
> Regards,
>
> Laurent Pinchart