README.md
1## libXCam
2
3Copyright (C) 2014-2017 Intel Corporation
4
5libxcam core source code under the terms of Apache License, Version 2.0
6
7#### Description:
8libXCam is a project for extended camera features and focus on image
9quality improvement and video analysis. There are lots features supported
10in image pre-processing, image post-processing and smart analysis. This
11library makes GPU/CPU/ISP working together to improve image quality.
12OpenCL is used to improve performance in different platforms.
13
14#### Features:
15 * Image processing features.
16 - Advanced features
17 - 360 Image stiching: generate 360 degree panorama photography by
18 stitching multiple neighbor fisheye images.
19 - Digital Video Stabilization:
20 - OpenCV feature-matched based video stabilization.
21 - gyroscope 3-DoF (orientation) based video stabilization.
22 - Blender: multi-band blender.
23 - Noise reduction.
24 - adaptive NR based on wavelet-haar and Bayersian shrinkage.
25 - 3D-NR with inter-block and intra-block reference.
26 - wavelet-hat NR (obsolete).
27 - Wide dynamic range (WDR).
28 - histogram adjustment tone-mapping.
29 - gaussian-based tone-mapping (obsolete).
30 - Fog removal: retinex and dark channel prior algorithm.
31 - dark channel prior algorithm based defog.
32 - multi-scale retinex based defog (obsolete).
33 - Basic pipeline from bayer to YUV/RGB format.
34 - Gamma correction, MACC, color space, demosaicing, simple bilateral
35 noise reduction, edge enhancement and temporal noise reduction.
36 - 3A features.
37 - Auto whitebalance, auto exposure, auto focus, black level correction,
38 color correction, 3a-statistics calculation.
39 * Support 3rd party 3A lib which can be loaded dynamically.
40 - hybrid 3a plugin.
41 * Support 3a analysis tuning framework for different features.
42 * Support smart analysis framework.
43 - Face detection interface/plugin.
44 * Enable gstreamer plugin.
45 - xcamsrc, capture from usb/isp camera, process 3a/basic/advanced features.
46 - xcamfilter, improve image quality by advanced features and smart analysis.
47
48#### Prerequisite:
49 * install gcc/g++, automake, autoconf, libtool, gawk, pkg-config
50 * Linux kernel > 3.10
51 * install libdrm-dev
52 * install ocl-icd-dev, ocl-icd-opencl-dev
53 * If --enable-libcl, need compile ocl driver <https://www.freedesktop.org/wiki/Software/Beignet/>
54 * If --enable-opencv, need compile opencv <http://opencv.org> (or: <https://github.com/opencv/opencv/wiki>)
55 * If --enable-gst, need install libgstreamer1.0-dev, libgstreamer-plugins-base1.0-dev
56 * If --enable-aiq, need get ia_imaging lib which we don't support.
57
58#### Building and installing:
59 * Environment variable settings<BR>
60 For different --prefix options, the environment variables may be different. Please set the environment variable according to the actual situation.<BR>
61 --prefix=/usr/local:
62
63 export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH
64 export GST_PLUGIN_PATH=/usr/local/lib/gstreamer-1.0:$GST_PLUGIN_PATH
65
66 --prefix=/usr:
67
68 export LD_LIBRARY_PATH=/usr/lib/:$LD_LIBRARY_PATH
69 export GST_PLUGIN_PATH=/usr/lib/gstreamer-1.0:$GST_PLUGIN_PATH
70
71 * $ ./autogen.sh [options]
72
73 --prefix=PREFIX install architecture-independent files in PREFIX [default=/usr/local]
74 --enable-debug enable debug, [default=no]
75 --enable-profiling enable profiling, [default=no]
76 --enable-drm enable drm buffer, [default=yes]
77 --enable-aiq enable Aiq 3A algorithm build, [default=no]
78 --enable-gst enable gstreamer plugin build, [default=no]
79 --enable-libcl enable libcl image processor, [default=yes]
80 --enable-opencv enable opencv library, [default=no]
81 --enable-docs build Doxygen documentation [default=no]
82 --enable-3alib enable 3A lib build, [default=no]
83 --enable-smartlib enable smart analysis lib build, [default=no]
84
85 For example:
86
87 $ ./autogen.sh --prefix=/usr --enable-3alib --enable-aiq --enable-gst --enable-drm \
88 --enable-libcl --enable-opencv --enable-profiling --enable-smartlib
89
90 * $ make
91 * $ sudo make install
92
93#### Testing:
94 * For detailed test cases, please refer to:<BR>
95 <https://github.com/01org/libxcam/wiki/Tests>
96
97#### Reporting Bugs:
98 * Bugs or suggestions can be reported on the github issues page:<BR>
99 <https://github.com/01org/libxcam/issues>
100