[libcamera-devel] [PATCH v3 00/13] libcamera: Add CameraSensorInfo

Jacopo Mondi jacopo at jmondi.org
Fri Apr 24 23:52:51 CEST 2020


Hello,
   this series implements support for CameraSensorInfo as it has been already
sent in conjunction with CameraSensorFactory, which has been removed from
this series.

This new version retrieves all the information required to assemble the
CameraSensorInfo from the kernel interface, by introducing requriements on
the sensor driver to expose:

- Selection API targets
  - NATIVE_SIZE
  - CROP

- HBLANK control
- PIXEL_RATE control

CameraSensorFactory could be re-introduced on top to add per-sensor specific
controls support and to support reporting more properties whose information
are not available from the kernel API at the moment.

Thanks
  j

Jacopo Mondi (13):
  libcamera: geometry: Rename Rectangle fields
  libcamera: properties: Define pixel array properties
  libcamera: properties: Define 'lens' properties
  libcamera: v4l2_subdevice: Implement get selection
  libcamera: camera_sensor: Break out properties initialization
  libcamera: camera_sensor: Collect pixel array properties
  libcamera: camera_sensor: Define CameraSensorInfo
  libcamera: v4l2_subdevice: Add format information
  libcamera: v4l2_device: Add method to read a control
  test: v4l2_device: Test getControl() API
  libcamera: camera_sensor: Add method to get sensor info
  libcamera: v4l2_device: Update documentation
  libcamera: ipa: Add support for CameraSensorInfo

 include/ipa/ipa_interface.h                 |  21 +-
 include/libcamera/geometry.h                |   4 +-
 src/ipa/libipa/ipa_interface_wrapper.cpp    |  19 +-
 src/ipa/libipa/ipa_interface_wrapper.h      |   1 +
 src/ipa/rkisp1/rkisp1.cpp                   |  13 +-
 src/ipa/vimc/vimc.cpp                       |   4 +-
 src/libcamera/camera_sensor.cpp             | 305 +++++++++++++++++---
 src/libcamera/geometry.cpp                  |   8 +-
 src/libcamera/include/camera_sensor.h       |  15 +
 src/libcamera/include/ipa_context_wrapper.h |   4 +-
 src/libcamera/include/v4l2_device.h         |  18 ++
 src/libcamera/include/v4l2_subdevice.h      |   9 +
 src/libcamera/ipa_context_wrapper.cpp       |  24 +-
 src/libcamera/ipa_interface.cpp             |  60 ++++
 src/libcamera/pipeline/ipu3/ipu3.cpp        |   4 +-
 src/libcamera/pipeline/rkisp1/rkisp1.cpp    |   9 +-
 src/libcamera/property_ids.yaml             | 189 ++++++++++++
 src/libcamera/proxy/ipa_proxy_linux.cpp     |   4 +-
 src/libcamera/proxy/ipa_proxy_thread.cpp    |   9 +-
 src/libcamera/v4l2_device.cpp               |  30 +-
 src/libcamera/v4l2_subdevice.cpp            | 213 +++++++++++++-
 src/libcamera/v4l2_videodevice.cpp          |   8 +-
 test/ipa/ipa_wrappers_test.cpp              |  21 +-
 test/v4l2_videodevice/controls.cpp          |  16 +
 24 files changed, 921 insertions(+), 87 deletions(-)

--
2.26.1



More information about the libcamera-devel mailing list