libxcam source code

Copyright (C) 2014-2015 Intel Corporation

libxcam core source code under the terms of Apache License, Version 2.0

Description:
libXCam is a project for extended camera features, especially 3A process.
It separates 3A algorithm and ISP image processor, and makes user defined
algorithm possible. This framework is also trying to make GPU joining the
image process.

Features:
  * 3A common APIs for Auto whitebalance, auto exposure, noise reduction, color correction,
    edge enhancement, gamma correction and so on.
  * Capture features support memory type of mmap and dma buffer.
  * 3A algorithms: 'simple' to guilde users how to write specific algorithm
  * Support dynamically load a 3rd party 3A algorithm
  * image processing based on Atom isp.
  * OpenCL image processing interface is ready and some basic features in progress
  * gstreamer plugin, xcamsrc is in progress

Plans
  * Improve gstreamer wrapper with different image processor.
  * Improve cl features.
  * Add vaapi image processing to co-work with CL and ISP.
