[libcamera-devel,0/5] libcamera: camera_sensor: Collect camera location and sizes
mbox series

Message ID 20190817105937.29353-1-jacopo@jmondi.org
Headers show
Series
  • libcamera: camera_sensor: Collect camera location and sizes
Related show

Message

Jacopo Mondi Aug. 17, 2019, 10:59 a.m. UTC
Hello, this small series add to the CameraSensor class informations on the
camera sensor location, the pixel array size and the active area sizes.

The information are required to populate the Android static metadata:
android.sensor.info.activeArraySize
android.sensor.info.pixelArraySize

and the 'struct camera_info.facing' flag.

Now that information are collected in the CameraSensor class, a way to expose
them through the Camera class is required. In example, adding the CameraSensor
that a Camera uses to the Camera class and collects all its Property in a single
properties vector might be the simplest way forward.

The series depends on the following kernel patch series:
https://patchwork.kernel.org/project/linux-media/list/?series=161169
https://patchwork.kernel.org/project/linux-media/list/?series=160901

Tested on IPU3 Soraka.

Jacopo Mondi (5):
  [TEMP] include: linux: Update v4l2-controls.h
  libcamera: controls: Add camera location control
  libcamera: camera_sensor: Store the camera location
  libcamera: v4l2_subdevice: Add G_SELECTION ioctl support
  libcamera: camera_sensor: Retrieve sensor sizes

 include/libcamera/control_ids.h        |  7 ++++
 include/linux/v4l2-controls.h          |  5 +++
 src/libcamera/camera_sensor.cpp        | 39 +++++++++++++++++++++
 src/libcamera/include/camera_sensor.h  |  5 +++
 src/libcamera/include/v4l2_subdevice.h |  4 +++
 src/libcamera/v4l2_subdevice.cpp       | 48 ++++++++++++++++++++++++++
 6 files changed, 108 insertions(+)

--
2.22.0

Comments

Laurent Pinchart Aug. 17, 2019, 4:22 p.m. UTC | #1
Hi Jacopo,

Thank you for the patches.

On Sat, Aug 17, 2019 at 12:59:32PM +0200, Jacopo Mondi wrote:
> Hello, this small series add to the CameraSensor class informations on the
> camera sensor location, the pixel array size and the active area sizes.
> 
> The information are required to populate the Android static metadata:
> android.sensor.info.activeArraySize
> android.sensor.info.pixelArraySize
> 
> and the 'struct camera_info.facing' flag.
> 
> Now that information are collected in the CameraSensor class, a way to expose
> them through the Camera class is required. In example, adding the CameraSensor
> that a Camera uses to the Camera class and collects all its Property in a single
> properties vector might be the simplest way forward.
> 
> The series depends on the following kernel patch series:
> https://patchwork.kernel.org/project/linux-media/list/?series=161169
> https://patchwork.kernel.org/project/linux-media/list/?series=160901
> 
> Tested on IPU3 Soraka.
> 
> Jacopo Mondi (5):
>   [TEMP] include: linux: Update v4l2-controls.h
>   libcamera: controls: Add camera location control
>   libcamera: camera_sensor: Store the camera location
>   libcamera: v4l2_subdevice: Add G_SELECTION ioctl support
>   libcamera: camera_sensor: Retrieve sensor sizes

It would be nice to add a test for the new camera_sensor public methods.
This would require adding the location control to the vimc driver, but
that shouldn't be a big deal.

> 
>  include/libcamera/control_ids.h        |  7 ++++
>  include/linux/v4l2-controls.h          |  5 +++
>  src/libcamera/camera_sensor.cpp        | 39 +++++++++++++++++++++
>  src/libcamera/include/camera_sensor.h  |  5 +++
>  src/libcamera/include/v4l2_subdevice.h |  4 +++
>  src/libcamera/v4l2_subdevice.cpp       | 48 ++++++++++++++++++++++++++
>  6 files changed, 108 insertions(+)
>
Jacopo Mondi Aug. 19, 2019, 7:33 a.m. UTC | #2
Hi Laurent,

On Sat, Aug 17, 2019 at 07:22:03PM +0300, Laurent Pinchart wrote:
> Hi Jacopo,
>
> Thank you for the patches.
>
> On Sat, Aug 17, 2019 at 12:59:32PM +0200, Jacopo Mondi wrote:
> > Hello, this small series add to the CameraSensor class informations on the
> > camera sensor location, the pixel array size and the active area sizes.
> >
> > The information are required to populate the Android static metadata:
> > android.sensor.info.activeArraySize
> > android.sensor.info.pixelArraySize
> >
> > and the 'struct camera_info.facing' flag.
> >
> > Now that information are collected in the CameraSensor class, a way to expose
> > them through the Camera class is required. In example, adding the CameraSensor
> > that a Camera uses to the Camera class and collects all its Property in a single
> > properties vector might be the simplest way forward.
> >
> > The series depends on the following kernel patch series:
> > https://patchwork.kernel.org/project/linux-media/list/?series=161169
> > https://patchwork.kernel.org/project/linux-media/list/?series=160901
> >
> > Tested on IPU3 Soraka.
> >
> > Jacopo Mondi (5):
> >   [TEMP] include: linux: Update v4l2-controls.h
> >   libcamera: controls: Add camera location control
> >   libcamera: camera_sensor: Store the camera location
> >   libcamera: v4l2_subdevice: Add G_SELECTION ioctl support
> >   libcamera: camera_sensor: Retrieve sensor sizes
>
> It would be nice to add a test for the new camera_sensor public methods.
> This would require adding the location control to the vimc driver, but
> that shouldn't be a big deal.
>

Where is the VIMC camera locatated ? :D

> >
> >  include/libcamera/control_ids.h        |  7 ++++
> >  include/linux/v4l2-controls.h          |  5 +++
> >  src/libcamera/camera_sensor.cpp        | 39 +++++++++++++++++++++
> >  src/libcamera/include/camera_sensor.h  |  5 +++
> >  src/libcamera/include/v4l2_subdevice.h |  4 +++
> >  src/libcamera/v4l2_subdevice.cpp       | 48 ++++++++++++++++++++++++++
> >  6 files changed, 108 insertions(+)
> >
>
> --
> Regards,
>
> Laurent Pinchart
Laurent Pinchart Aug. 19, 2019, 12:22 p.m. UTC | #3
Hi Jacopo,

On Mon, Aug 19, 2019 at 09:33:23AM +0200, Jacopo Mondi wrote:
> On Sat, Aug 17, 2019 at 07:22:03PM +0300, Laurent Pinchart wrote:
> > On Sat, Aug 17, 2019 at 12:59:32PM +0200, Jacopo Mondi wrote:
> > > Hello, this small series add to the CameraSensor class informations on the
> > > camera sensor location, the pixel array size and the active area sizes.
> > >
> > > The information are required to populate the Android static metadata:
> > > android.sensor.info.activeArraySize
> > > android.sensor.info.pixelArraySize
> > >
> > > and the 'struct camera_info.facing' flag.
> > >
> > > Now that information are collected in the CameraSensor class, a way to expose
> > > them through the Camera class is required. In example, adding the CameraSensor
> > > that a Camera uses to the Camera class and collects all its Property in a single
> > > properties vector might be the simplest way forward.
> > >
> > > The series depends on the following kernel patch series:
> > > https://patchwork.kernel.org/project/linux-media/list/?series=161169
> > > https://patchwork.kernel.org/project/linux-media/list/?series=160901
> > >
> > > Tested on IPU3 Soraka.
> > >
> > > Jacopo Mondi (5):
> > >   [TEMP] include: linux: Update v4l2-controls.h
> > >   libcamera: controls: Add camera location control
> > >   libcamera: camera_sensor: Store the camera location
> > >   libcamera: v4l2_subdevice: Add G_SELECTION ioctl support
> > >   libcamera: camera_sensor: Retrieve sensor sizes
> >
> > It would be nice to add a test for the new camera_sensor public methods.
> > This would require adding the location control to the vimc driver, but
> > that shouldn't be a big deal.
> 
> Where is the VIMC camera locatated ? :D

Let's not add virtual locations ;-) There are two sensors, I would make
one front and the other one back. It's just for testing purpose.

> > >
> > >  include/libcamera/control_ids.h        |  7 ++++
> > >  include/linux/v4l2-controls.h          |  5 +++
> > >  src/libcamera/camera_sensor.cpp        | 39 +++++++++++++++++++++
> > >  src/libcamera/include/camera_sensor.h  |  5 +++
> > >  src/libcamera/include/v4l2_subdevice.h |  4 +++
> > >  src/libcamera/v4l2_subdevice.cpp       | 48 ++++++++++++++++++++++++++
> > >  6 files changed, 108 insertions(+)
> > >