|
CUDA Image & Video Processing SDK for NVIDIA GPUs
Fastvideo has designed high performance SDK for image and video processing on GPU. That SDK is a set of separate components which correspond to standard image processing pipeline for camera applications. We cover all image processing stages starting from camera raw image acquisition to JPEG compression with storage to RAM or HDD. All image processing is done completely on GPU and this leads to exceptionally high performance. We can also offer high speed imaging SDKs for non-camera applications.
GPU Image & Video Processing SDK Features
- Image ingestion from a camera, frame grabber, HDD/SSD/RAM or GPU memory (PGM, BMP, PPM, JPG, YCbCr, RAW, DNG, byte array, OpenGL texture or PBO, etc.)
- Raw data linearization
- Dark frame subtraction (FPN)
- Flat-Field Correction (Shading Correction)
- Bad pixel correction
- White Balance
- Exposure correction
- Raw Bayer Curves (master and RGB)
- Raw Denoising with wavelets and with median filter
- Demosaicing with HQLI, DFPD, MG algorithms + enhance option
- Denoising for luma and chroma
- Color Correction with matrix profile
- Color Transforms: RGB->YCbCr, YCbCr->RGB, RGB->HSV, HSV->RGB, etc.
- Composite or per-color component 8/10/12/14/16-bit 1D LUTs for tone mapping in RGB or HSV (Hue->Hue, Hue->Saturation, etc.)
- 3D LUT for RGB and HSV
- RGB Histograms
- RGB Parade (waveform monitor)
- Crop
- Rotate to 90/180/270 degrees and flip/flop
- Resize (downscale or upscale)
- Remap
- Gamma transform (composite or per-color component)
- Sharpening with Unsharp Mask filter (USM)
- Realtime output via OpenGL
- JPEG codec (8/12 bits per channel)
- Raw Bayer codec for lossy compression or decompression (8/12 bits per channel)
- JPEG2000 codec (8-16 bits per channel)
- Trace
- Multiplexor
- Stream-per-thread support for better performance
- NVIDIA Jetson NANO, TK1, TX1, TX2, TX2i and AGX Xavier support
- CUDA MPS support for Linux
- FFmpeg filters on GPU for high performance video processing
GPU Image & Video Processing SDK Options
- Unpacking module for various raw formats
- GPU Direct option for Linux to get images on GPU from a camera over DMA
- Image tiling
- Pyramid images
- Image split into separate planes
- Auto White Balance
- RGB to Gray transform
- Discrete Cosine Transform
- Discrete Wavelet Transforms: CDF 5/3 and 9/7, Haar, UHaar, UCDF
- Time measurements for all SDK modules
- Encoding and decoding for BMD RAW 3:1, 4:1 and 5:1 formats
- Support for input data from HD-SDI grabbers: Bluefish, Deltacast, Imperx
- Multiple camera solutions for realtime image processing
- H.264 encoder
- H.265 encoder
- RAW and DNG (CinemaDNG) image and video processing on GPU
Compatibility
- OS Windows-7/8/10, Linux Ubuntu/CentOS, Linux4Tegra (L4T)
- CUDA-10.1, MSVS 2017, sample C/C++ applications with source code
- NVIDIA GPUs (Kepler, Maxwell, Pascal, Volta, Turing) for mobile, laptop, desktop, server
- MJPEG integration with FFmpeg (reader/writer), FFmpeg is under LGPLv2.1
SDK sample applications with source codes
- CUDA JPEG Codec
- Debayer
- Debayer + JPEG
- Raw Bayer Codec
- Denoiser
- Resizer
- J2K Encoder
- SDI converter
- JPEG Resize (jpeg decoding, crop, resize, sharp, jpeg encoding)
- Camera application: raw data acquisition and unpacking, dark frame subtraction, shading correction, white balance, exposure correction, debayer, luma and chroma denoising, color correction, tone mapping with LUT (curves and levels), rotate, crop, resize, sharp, OpenGL output, JPEG compression, writer to AVI (MJPEG)
- AVI player (MJPEG) via GLFW
- CUDA Streams sample application
Open source projects from Fastvideo
Custom GPU Accelerated Image & Video Processing SDK
We can offer services to integrate your software with our image and video processing SDK. To achieve high performance on GPU for specific imaging applications, Fastvideo is also developing GPU custom image and video processing solutions according to agreed specifications. If you can't find above your image processing pipeline, call us to discuss that possibility. You can also have a look at our projects in development.
Licensing for CUDA Image & Video Processing SDK
We license GPU Image & Video Processing SDK and its components to software developers, camera manufacturers and resellers, internet providers, software integrators, etc. That SDK is utilized in wide range of imaging applications. Demo version of SDK, documentation, licensing info and quotation are available upon request. We are also offering custom software design according to agreed specification. If you need to get significant speed up or to improve quality of your image processing application, don't hesitate to contact us.
Roadmap for CUDA Image & Video Processing SDK from Fastvideo
|