summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-06-28aic: Add IPU3 parameter encoderKieran Bingham
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>
2021-06-28aiq: Provide initial Intel AIQ Wrapper supportKieran Bingham
The AIQ class is the entry point for running IPA algorithms for the requested frame and handles the statistics being generated. It comprises of wrapping the ia_aiq_*_run() functions and provide helper functions that take in the input parameters and location for their results after the run. These results(AiqResults) can be used for subsequent runs and setting statistics as required. Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
2021-06-28stats: Create IPAIPU3Stats and import intel_skycam_statistics_convert()Umang Jain
This is will be used to convert statistics received from kernel to AIQ stats format. Specific 3a conversion functions will be added in IPAIP3Stats in subsequent commits. ipu3_stats_get_3a() will extract, memcpy each of 3A relevant structures. It's is intended just before setting the stats for next frame in AIQ::setStatistics(). It receives ipu3_uapi_stats_3a struct from the kernel. This API will be developed per parameter of ipu3_uapi_stats_3a struct in subsequent commit. IPAIPU3Stats will be responsible to take in the AIQ algorithms results set and hardware statistics as input and generate(and convert) AIQ consumable ia_aiq_statistics_input_param structure. Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
2021-06-28stats: Import SharedItemPool for stats' grid buffersUmang Jain
Import the SharedItemPool implementation to managed grid buffers. Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
2021-06-28aiq: AiqInputParametersUmang Jain
Import the AiqInputParameters structures to facilitate configuring and managing the algorithms as they run. Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
2021-06-28aiq: Provide managed AIQ Results structuresUmang Jain
The AIQ results structures returned from the AIQ library has many complex and deeply nested data structures which must be copied out. This class handles the correct initialisation of a full set of AIQ results, along with the allocations required, and the ability to copy data into those structures correctly. Signed-off-by: Umang Jain <umang.jain@ideasonboard.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2021-06-28aiq: Provide a BinaryData wrapperKieran Bingham
The AIQ class loads data as instances of ia_binary_data. The data for this structure should be loaded from files, and the lifetime of the data is managed by the lifetime of the class. Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
2021-06-28include: Link to ia_imaging library and import headersUmang Jain
libia_imaging is provided by the ChromeOS system, however the headers aren't installed at the system's $includedir locations. We need to carry them in-tree, to be able to use them. Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
2021-06-28data: Add tuning data filesUmang Jain
Signed-off-by: Umang Jain <umang.jain@ideasonboard.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2021-06-28ipu3: Import the Intel IPA skeleton from libcameraUmang Jain
Import the raw Intel IPU3 IPA from libcamera master at revision b2cc8a2f57333f. Also, copy the build enviroment and adapt the meson.build to build the shared library. The ipu3.cpp is now ready for integration with the Intel IPA library. Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
2021-06-28src: Import MappedBuffer class from libcameraUmang Jain
This libcamera internal class, needs to be imported from libcamera code base, in order to have standalone ipu3-ipa build. Other libcamera components required by ipu3-ipa, will be linked through libcamera_platform.so in subsequent commit. Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
2021-05-20Intel IPU3 IPAKieran Bingham
Provide an IPA implementation for the Intel IPU3 using the Intel IA Imaging library to handle the image algorithm control and configuration of the IPU3 hardware. Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>