[libcamera-devel] [PATCH v6 0/9] libcamera: ipa: Add basic IPA support
Niklas Söderlund
niklas.soderlund at ragnatech.se
Fri Oct 11 05:22:07 CEST 2019
Hi,
This series adds basic support for Image Processing Algorithms (IPA). It
extends the pipeline handler framework to optionally allow an IPA plugin
to interact with buffers and to send actions to the pipeline.
This series adds an Auto Exposure control and extends the rkisp1
pipeline with and IPA that implements a very basic control loop for
exposure time and gain. The series compared to v2 have been merged with
the meta data series that was developed on top of this and now supports
reporting meta data back to the application about the control loop
state.
* Changes since v5
- Improved documentation, a BIG thanks to Laurent, Jacopo and Paul for
helping me with this.
- Dropped the IPABuffer::type filed, leading to a rewrite of the IPA
protocol for the RkISP1 pipeline.
- Moved all buffer selection to the RkISP1 pipeline instead of keeping
it in the IPA.
- Changes to specific pipeline and to some degree IPA is completely
rewritten in this version.
* Changes since v4
- Improved documentation.
- Moved the generic Timeline to be RkISP1 specific. Documentation for
the Timeline is kept to make it easier to break out later if needed.
* Changes since v3
- Rebase to make use of ControlLists.
- Total redesign on the IPA/pipeline interface. Fall out of this is
more or less all patches in the series have been reworked compared to
v3.
* Changes since v2
- The series is more or less rewritten from v2 so a meaningful change
log is hard to produce.
Niklas Söderlund (9):
libcamera: pipeline: Move IPA from pipeline to camera data
libcamera: controls: Fix documentation of AwbEnable
libcamera: controls: Add AeEnable control
libcamera: controls: Add AeLocked control
libcamera: request: Add metadata information
libcamera: ipa: Extend to support IPA interactions
include: linux: Add rkisp1 kernel header and format definitions
libcamera: ipa: rkisp1: Add basic control of auto exposure
libcamera: pipeline: rkisp1: Attach to an IPA
include/ipa/ipa_interface.h | 36 +
include/ipa/rkisp1.h | 18 +
include/libcamera/request.h | 2 +
include/linux/rkisp1-config.h | 816 +++++++++++++++++++++
include/linux/videodev2.h | 4 +
src/ipa/ipa_vimc.cpp | 7 +-
src/ipa/meson.build | 2 +
src/ipa/rkisp1/meson.build | 6 +
src/ipa/rkisp1/rkisp1.cpp | 264 +++++++
src/libcamera/control_ids.yaml | 20 +-
src/libcamera/include/pipeline_handler.h | 2 +
src/libcamera/ipa_interface.cpp | 219 ++++++
src/libcamera/pipeline/rkisp1/meson.build | 1 +
src/libcamera/pipeline/rkisp1/rkisp1.cpp | 548 +++++++++++++-
src/libcamera/pipeline/rkisp1/timeline.cpp | 227 ++++++
src/libcamera/pipeline/rkisp1/timeline.h | 72 ++
src/libcamera/pipeline/vimc.cpp | 12 +-
src/libcamera/pipeline_handler.cpp | 8 +
src/libcamera/proxy/ipa_proxy_linux.cpp | 14 +-
src/libcamera/request.cpp | 14 +
20 files changed, 2258 insertions(+), 34 deletions(-)
create mode 100644 include/ipa/rkisp1.h
create mode 100644 include/linux/rkisp1-config.h
create mode 100644 src/ipa/rkisp1/meson.build
create mode 100644 src/ipa/rkisp1/rkisp1.cpp
create mode 100644 src/libcamera/pipeline/rkisp1/timeline.cpp
create mode 100644 src/libcamera/pipeline/rkisp1/timeline.h
--
2.23.0
More information about the libcamera-devel
mailing list