• Home
Name Date Size #Lines LOC

..--

capi/03-May-2024-834584

cl_kernel/03-May-2024-4,3303,616

clx_kernel/03-May-2024-4235

doc/03-May-2024-2,4251,850

m4/03-May-2024-3932

modules/03-May-2024-35,80626,233

pkgconfig/03-May-2024-2618

plugins/03-May-2024-2,5071,839

tests/03-May-2024-5,0024,117

tools/03-May-2024-11979

wrapper/03-May-2024-4,5493,182

xcore/03-May-2024-18,95313,370

.gitignoreD03-May-2024297 2923

AUTHORSD03-May-2024494 1815

Android.bpD03-May-20241.9 KiB7665

COPYINGD03-May-202410.5 KiB194160

ChangeLogD03-May-20249.7 KiB207180

LICENSED03-May-202410.5 KiB194160

METADATAD03-May-2024577 1917

Makefile.amD03-May-2024331 2421

NEWSD03-May-20240

NOTICED03-May-2024264 64

OWNERSD03-May-2024139 43

README.mdD03-May-20244.4 KiB10083

autogen.shD03-May-2024561 2719

code_style.shD03-May-2024135 41

configure.acD03-May-202412.8 KiB406353

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