-
Notifications
You must be signed in to change notification settings - Fork 230
Home
libXCam is a project for extended camera features and focus on image/video quality improvement. There are lots of features supported in image reprocessing and smart analysis. This library makes GPU/CPU/ISP working together to improve image quality. OpenCL is used to improve performance in different platforms.
libXCam code is accepted by Google and merged into AOSP (Android Open Source Project). Android EVS (Exterior View System) automotive features of surround view integration with libXCam stitching is WIP.
Features:
-
Image processing features.
- Advanced features.
- 360-degree video stitching.
- support ultra-high resolution (8K) video stitching.
- support 2/3/4 fish-eye cameras (FoV >180 degree) video stitching.
- stitching image adopts equirectangular projection (ERP).
- algorithms are optimized by AVX512 instruction, GLES and Vulkan.
- stitching quality tuning supports OpenCV fisheye camera calibration parameters.
- Automotive surround view (360-degree) stitching (OpenCL/CPU/GLES/Vulkan).
- support bowl view mode 3D-stitching by 4 intput videos.
- enable geometry remap for WFoV camera calibration(intrinsic and extrinsic data).
- enable 3D surround view scene rendering and manipulation (CPU/GLES/Vulkan).
- quality and performance improved (OpenCL/CPU/GLES).
- CPU version upstreamed into AOSP for automotive surround view.
- Digital video stabilization.
- OpenCV feature-match homograph based video stabilization.
- gyroscope 3-DoF (orientation) based video stabilization.
- Multi-band Blender (OpenCL/CPU/GLES/Vulkan).
- Noise reduction (OpenCL).
- adaptive NR based on wavelet with Bayersian shrinkage.
- 3D-NR with inter-block and intra-block reference.
- Wide dynamic range (WDR) (OpenCL).
- histogram adjustment local tone-mapping.
- gaussian-based tone-mapping (obsolete).
- Fog removal (OpenCL).
- dark channel prior based defog.
- retinex based. (obsolete)
- 360-degree video stitching.
- Basic features (OpenCL, AtomISP).
- 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.
- Advanced features.
-
Support DMA buffer-sharing from capture, image processing to HW encoder.
-
Support 3rd party 3A lib which can be loaded dynamically. (hybrid 3a plugin)
-
Support smart analysis framework.
-
Enable gstreamer plugin.
-
xcamsrc
; capture from usb/isp camera, process 3a/basic/advanced features. -
xcamfilter
; improve image quality by advanced features and smart analysis.
-
-
Enable ffmpeg-xcam modules and webRTC VR stitching (WIP)
-
3 cameras input stitching
-
2 cameras input stitching
- Enable blind deblurring feature in libXCam [GSoC 2017].
- Enable Super Resolution image from low resolution image feature in libXCam [GSoC 2019].
- Enable Equirectangular Projection (ERP) and Cubemap Projection (CMP) conversion feature in libXCam [GSoC 2021].
- To register libxcam public maillist, please go to registration page
- To post a message to all the list members, please send email to [email protected].
- Public issues, go to issues page
- Security issues, please mail to [email protected] directly
Releases
- libxcam 1.5.0 release
- libxcam 1.4.0 release
- libxcam 1.3.0 release
- libxcam 1.2.2 release
- libxcam 1.2.1 release
- libxcam 1.2.0 release
- libxcam 1.1.0 release
- libxcam 1.0.0 release
- libxcam 0.9.0 release
- libxcam 0.8.0 release
- libxcam 0.7.0 release
- libxcam 0.6.1 release
- libxcam 0.6.0 release
- libxcam 0.5.0 release
- libxcam 0.4.0 release
- libxcam 0.2.1 release
- libxcam 0.2.0 release