Commit graph

5 commits

Author SHA1 Message Date
Laurent Pinchart
ce739e616c libcamera: ipa: Merge controls and v4l2controls in IPAOperationData
Now that the V4L2ControlList is merely a helper to construct a
ControlList for V4L2 controls, without any data member, all controls can
be transferred between pipeline handlers and IPAs using ControlList
only. Remove the v4l2controls member for IPAOperationData and use the
control member instead.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
Tested-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
2019-10-13 20:37:57 +03:00
Niklas Söderlund
bf0915a4e8 libcamera: ipa: rkisp1: Add basic control of auto exposure
Add an IPA which controls the exposure time and analog gain for a sensor
connected to the rkisp1 pipeline. The IPA supports turning AE on and off
and informing the camera of the status of the AE control loop.

Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2019-10-11 15:30:54 +02:00
Niklas Söderlund
5c35fa04d0 libcamera: ipa: Extend to support IPA interactions
The IPA interface needs to support interactions with the pipeline; add
interfaces to control the sensor and handling of request ISP parameters
and statistics.

Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2019-10-11 14:32:51 +02:00
Jacopo Mondi
c86dc5e00e ipa: vimc: Add support for tracing operations
Add support to the dummy VIMC IPA for tracing operation by using a FIFO
channel that will be used by the IPA Interface test to verify
communications with the IPA.

At the moment only add support for the init() operation as it's the only
defined one.

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
2019-10-08 15:37:15 +02:00
Laurent Pinchart
1e704c84a9 libcamera: Move ipa includes to the same level as libcamera
The ipa includes are located in include/libcamera/ipa/. This gives an
incorrect impression that they are a sub-part of the rest of the
libcamera API, while they are the API towards the IPA the same way that
include/libcamera/ contains the API towards applications. To clarify
this, move them to include/ipa/.

The IPA headers are however still part of libcamera, so installing them
to ${prefix}/include/ipa/ would make little sense. To fix this, move the
application facing API to ${prefix}/include/libcamera/libcamera/ when
installed, and the IPA to ${prefix}/include/libcamera/ipa/. When major
versions of libcamera will be released, they could then be installed
side by side in ${prefix}/include/libcamera-${version}/.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
2019-09-15 13:57:08 +03:00