summaryrefslogtreecommitdiff
path: root/aic/parameter_encoder.h
diff options
context:
space:
mode:
authorKieran Bingham <kieran.bingham@ideasonboard.com>2021-05-10 23:18:59 +0530
committerUmang Jain <umang.jain@ideasonboard.com>2021-06-28 17:54:08 +0530
commit809edb381ccdd367e2b425dd5f186322968de015 (patch)
tree01ecea298616a12e21f33cc3867fb044958daf3a /aic/parameter_encoder.h
parentc1c0f554051200ea051e5e31ee286e5f5e83c744 (diff)
aic: Add IPU3 parameter encoder
The Parameter Encoder is imported from the ChromeOS implementation, with some small changes to fit style and support building independantly. The parameter encoders have assertions in them to check that the required input data is valid. ispAwbFrEncode() is currently disabled due to failing assertions around grid widths. Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
Diffstat (limited to 'aic/parameter_encoder.h')
-rw-r--r--aic/parameter_encoder.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/aic/parameter_encoder.h b/aic/parameter_encoder.h
new file mode 100644
index 0000000..08d3573
--- /dev/null
+++ b/aic/parameter_encoder.h
@@ -0,0 +1,28 @@
+/* SPDX-License-Identifier: Apache-2.0 */
+/*
+ * Copyright (C) 2017 Intel Corporation.
+ *
+ * ParameterEncoder.h: Encode AIC parameters to IPU3 kernel interface
+ *
+ * This implementation is highly derived from ChromeOS:
+ * platform2/camera/hal/intel/ipu3/psl/ipu3/workers/IPU3AicToFwEncoder.h
+ */
+
+#include <ia_imaging/ia_aiq.h>
+#include <linux/intel-ipu3.h>
+
+/* We wrap the AIC headers to disable compiler warnings */
+#include "kbl_aic.h"
+
+#ifndef IPA_IPU3_PARAMETER_ENCODER
+#define IPA_IPU3_PARAMETER_ENCODER
+
+namespace libcamera::ipa::ipu3::aic {
+
+namespace ParameterEncoder {
+void encode(aic_config *config, ipu3_uapi_params *params);
+}
+
+} /* namespace libcamera::ipa::ipu3::aic */
+
+#endif /* IPA_IPU3_PARAMETER_ENCODER */