[libcamera-devel] [PATCH v5 00/13] libcamera: Introduce SensorConfiguration
Jacopo Mondi
jacopo.mondi at ideasonboard.com
Thu Sep 21 18:55:37 CEST 2023
Hello,
the series introduces a slightly more formally defined camera sensor model
used to model a SensorConfiguration class, an instance of which is added to
the CameraConfiguration class. The newly introduced class allows to control the
sensor configuration without abusing the RAW stream configuration, reason
being some platforms do not allow to capture RAW frames as they get produced
by the sensor.
Introduce a model for the SensorConfiguration class and implement its handling
on the RaspberryPi pipeline handler as a proof of concept.
Tested with an imx219, configured to capture frames with different sensor
configurations, without using any RAW stream.
On top of the previously sent patches a series from Naush that simplifies the
RaspberryPi validatation and configuration code.
v4->v5:
- Address Laurent's comment on documentation
- Use std::optional<> for CameraConfiguration::sensorConfig
- Add a patch for the cam test application to allow setting a sensor
configuration
v3->v4:
- Address Laurent's comment on documentation:
- Replace images from CCS specs with custom ones
- use .svg instead than .png
- Describe the model before the parameters
- Move part of the documentation to doxygen
- Add SensorConfig::populated() to replace operator bool()
v2->v3:
- Address Kieran's comments on documentation
- Add Naush's patches on top
v1->v2:
- Fix spelling in 2/4 as suggested by Naush
- Add Naush's tags
Jacopo Mondi (6):
documentation: Introduce Camera Sensor Model
libcamera: camera: Introduce SensorConfiguration
libcamera: camera_sensor: Support SensorConfiguration
libcamera: rpi: Handle SensorConfiguration
libcamera: rpi: Fix wrong comment indentation
apps: cam: Add option to configure sensor
Naushir Patuck (7):
libcamera: rpi: Allow platformValidate() to adjust format strides
libcamera: rpi: Make isRaw/isYuv/isRgb static functions
libcamera: rpi: Cache rawStreams and outStreams
libcamera: rpi: Add some helpers to PipelineHandlerBase
libcamera: rpi: Simplify validate() and configure() for RAW streams
libcamera: rpi: Change default stream formats
libcamera: rpi: Simplify validate() and configure() for YUV/RGB
streams
.reuse/dep5 | 6 +
Documentation/binning.svg | 5053 +++++++++++++++++
Documentation/camera-sensor-model.rst | 174 +
Documentation/index.rst | 1 +
Documentation/meson.build | 1 +
Documentation/sensor_model.svg | 4870 ++++++++++++++++
Documentation/skipping.svg | 1720 ++++++
include/libcamera/camera.h | 27 +
include/libcamera/internal/camera_sensor.h | 5 +
src/apps/cam/camera_session.cpp | 7 +
src/apps/cam/main.cpp | 4 +
src/apps/cam/main.h | 1 +
src/apps/common/stream_options.cpp | 42 +
src/apps/common/stream_options.h | 8 +
src/libcamera/camera.cpp | 144 +
src/libcamera/camera_sensor.cpp | 86 +
.../pipeline/rpi/common/pipeline_base.cpp | 285 +-
.../pipeline/rpi/common/pipeline_base.h | 55 +-
src/libcamera/pipeline/rpi/vc4/vc4.cpp | 86 +-
19 files changed, 12392 insertions(+), 183 deletions(-)
create mode 100644 Documentation/binning.svg
create mode 100644 Documentation/camera-sensor-model.rst
create mode 100644 Documentation/sensor_model.svg
create mode 100644 Documentation/skipping.svg
--
2.42.0
More information about the libcamera-devel
mailing list