From 809edb381ccdd367e2b425dd5f186322968de015 Mon Sep 17 00:00:00 2001 From: Kieran Bingham Date: Mon, 10 May 2021 23:18:59 +0530 Subject: 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 Signed-off-by: Umang Jain --- aic/parameter_encoder.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 aic/parameter_encoder.h (limited to 'aic/parameter_encoder.h') 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 +#include + +/* 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 */ -- cgit v1.2.1