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 processing SDKGPU 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)
  • 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.)
  • RGB Histograms
  • RGB Parade (waveform monitor)
  • Crop
  • Rotate to 90/180/270 degrees and flip/flop
  • Resize (downscale or upscale)
  • 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 encoder (8-16 bits per channel)

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
  • Trace module
  • Multiplexor module
  • 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 processing
  • NVIDIA Tegra K1, X1 and X2 support
  • Stream-per-thread option for better performance
  • H.264 encoder
  • RAW and DNG (CinemaDNG) image and video processing on GPU

We are developing and optimizing software for the latest NVIDIA GPUs as well and we are designing new image and video processing algorithms to get high image quality and excellent performance.

cuda image & video processing sdk from Fastvideo

*OS Windows-7 (64-bit), CUDA-8.0 (64-bit). Timing includes GPU computations only, single frame image processing at one GPU (no batch mode, no streaming). JPEG encoding with compression ratio ~10:1 (24-bit data, jpeg quality 90%) and subsampling 4:2:0. Debayer algorithm is DFPD. Resize algorithm is Lanczos (2x downscaling). Denoising with CDF97 wavelet. Here you can find other benchmarks for our SDK.

Compatbility

  • OS Windows-7/8/10 (64-bit), Linux (64-bit), Linux4Tegra (L4T)
  • CUDA-8.0, MSVS 2015, sample C/C++ applications with source code
  • NVIDIA GPUs (Fermi, Kepler, Maxwell and Pascal) 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
  • 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

Download our GPU-based demo applications

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 2017 for CUDA Image & Video Processing SDK from Fastvideo

     Home                   Contacts                 Site Map
GPU Image Processing