ipa: Allow short-circuiting the ipa_context_ops

When an IPA module is loaded without isolation and implements the
IPAInterface internally, going through ipa_context_ops is a waste of
time. Add an operation to retrieve the IPAInterface, and use it directly
in the IPAContextWrapper.

For debugging purpose, make it possible to forcing usage of the C API by
defining the LIBCAMERA_IPA_FORCE_C_API environment variable.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
Laurent Pinchart
2019-09-28 06:41:22 +03:00
parent 8162ac1647
commit d7e0985ce1
6 changed files with 64 additions and 2 deletions

View File

@@ -33,7 +33,11 @@ private:
struct ipa_operation_data &data);
static const struct ipa_callback_ops callbacks_;
void doQueueFrameAction(unsigned int frame,
const IPAOperationData &data);
struct ipa_context *ctx_;
IPAInterface *intf_;
ControlSerializer serializer_;
};