[automerger skipped] DO NOT MERGE - Merge pi-dev@5234907 into stage-aosp-master
am: c47a3ffb71 -s ours
am skip reason: subject contains skip directive

Change-Id: I0d862e76a66fe0801b3a4095e7269b14c057471f
tree: 5e6dfdb098437c76176568daedddbd7397a67198
  1. .gitignore
  3. Android.bp
  5. ChangeLog
  8. Makefile.am
  9. NEWS
  10. NOTICE
  11. OWNERS
  12. README.md
  13. autogen.sh
  14. capi/
  15. cl_kernel/
  16. clx_kernel/
  17. code_style.sh
  18. configure.ac
  19. doc/
  20. m4/
  21. modules/
  22. pkgconfig/
  23. plugins/
  24. tests/
  25. tools/
  26. wrapper/
  27. xcore/


Copyright (C) 2014-2017 Intel Corporation

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


libXCam is a project for extended camera features and focus on image quality improvement and video analysis. There are lots features supported in image pre-processing, image post-processing and smart analysis. This library makes GPU/CPU/ISP working together to improve image quality. OpenCL is used to improve performance in different platforms.


  • Image processing features.
    • Advanced features
      • 360 Image stiching: generate 360 degree panorama photography by stitching multiple neighbor fisheye images.
      • Digital Video Stabilization:
        • OpenCV feature-matched based video stabilization.
        • gyroscope 3-DoF (orientation) based video stabilization.
      • Blender: multi-band blender.
      • Noise reduction.
        • adaptive NR based on wavelet-haar and Bayersian shrinkage.
        • 3D-NR with inter-block and intra-block reference.
        • wavelet-hat NR (obsolete).
      • Wide dynamic range (WDR).
        • histogram adjustment tone-mapping.
        • gaussian-based tone-mapping (obsolete).
      • Fog removal: retinex and dark channel prior algorithm.
        • dark channel prior algorithm based defog.
        • multi-scale retinex based defog (obsolete).
    • Basic pipeline from bayer to YUV/RGB format.
      • Gamma correction, MACC, color space, demosaicing, simple bilateral noise reduction, edge enhancement and temporal noise reduction.
    • 3A features.
      • Auto whitebalance, auto exposure, auto focus, black level correction, color correction, 3a-statistics calculation.
  • Support 3rd party 3A lib which can be loaded dynamically.
    • hybrid 3a plugin.
  • Support 3a analysis tuning framework for different features.
  • Support smart analysis framework.
    • Face detection interface/plugin.
  • Enable gstreamer plugin.
    • xcamsrc, capture from usb/isp camera, process 3a/basic/advanced features.
    • xcamfilter, improve image quality by advanced features and smart analysis.


Building and installing:

  • Environment variable settings
    For different --prefix options, the environment variables may be different. Please set the environment variable according to the actual situation.

    export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH
    export GST_PLUGIN_PATH=/usr/local/lib/gstreamer-1.0:$GST_PLUGIN_PATH


    export LD_LIBRARY_PATH=/usr/lib/:$LD_LIBRARY_PATH
    export GST_PLUGIN_PATH=/usr/lib/gstreamer-1.0:$GST_PLUGIN_PATH
  • $ ./autogen.sh [options]

    --prefix=PREFIX         install architecture-independent files in PREFIX [default=/usr/local]
    --enable-debug          enable debug, [default=no]
    --enable-profiling      enable profiling, [default=no]
    --enable-drm            enable drm buffer, [default=yes]
    --enable-aiq            enable Aiq 3A algorithm build, [default=no]
    --enable-gst            enable gstreamer plugin build, [default=no]
    --enable-libcl          enable libcl image processor, [default=yes]
    --enable-opencv         enable opencv library, [default=no]
    --enable-docs           build Doxygen documentation [default=no]
    --enable-3alib          enable 3A lib build, [default=no]
    --enable-smartlib       enable smart analysis lib build, [default=no]

    For example:

    $ ./autogen.sh --prefix=/usr --enable-3alib --enable-aiq --enable-gst --enable-drm \
      --enable-libcl --enable-opencv --enable-profiling --enable-smartlib
  • $ make

  • $ sudo make install


Reporting Bugs: