Fastvideo SDK for GPU Image Processing
Updated:
Fastvideo SDK is a C++/CUDA library that runs the complete camera image processing pipeline on NVIDIA GPUs — from raw image acquisition to JPEG or JPEG2000 compression and storage — without round-trips to the CPU. On an NVIDIA GeForce RTX 4090 the full RAW-to-RGB pipeline is so fast that end-to-end throughput is limited by the SSD, not the GPU: running entirely in GPU memory it processes a 65 MPix frame at about 60 fps, while a complete workflow that reads and writes to disk reaches up to 60 fps for 12-bit 4K images end-to-end. Individual modules run far higher — JPEG encoding at about 5500 fps (Full HD) or 3800 fps (4K), visually lossless JPEG2000 encoding at up to about 2100 fps (2K, batch mode), and demosaicing at up to 69 GPix/s. Frames are uploaded once, processed end-to-end in GPU memory, and the results are ready for display, streaming, or writing to disk in real time.
Detailed benchmark data. Measured results are published on our benchmark pages: all benchmarks.
Want the internals? See how the modules chain in GPU memory on the CUDA image processing library architecture page. This page is the Fastvideo SDK product — features, benchmarks, and licensing.
The SDK is built for applications where both throughput and image quality matter: machine vision and industrial cameras, digital cinema, broadcasting, medical imaging, aerial, aerospace and street-view imaging, and embedded systems on NVIDIA Jetson. Beyond camera pipelines, the same components power offline RAW processing, FFmpeg codecs and filters, and preprocessing for AI applications.

Fastvideo SDK at a glance
- What it is: C++ library with CUDA backend, ships with sample applications and source code, API, and documentation
- Pipeline: full ISP from RAW/Bayer to compressed output, entirely on GPU
- Input sources: camera, frame grabber, HDD/SSD/RAM or GPU memory
- Input formats: PGM, BMP, PPM, JPG, YCbCr, RAW, DNG, byte array, OpenGL texture/PBO
- Output: display via OpenGL, JPEG and JPEG2000 compressed streams, AVI/MXF containers
- Platforms: Windows 10/11, Linux Ubuntu, Linux4Tegra; NVIDIA GPUs from mobile to server, including Jetson
- Performance: real-time processing of multi-camera pipelines at resolutions from 4K up to 12K and beyond
Fastvideo SDK performance benchmarks
How fast are the Fastvideo SDK modules on a GPU?
Representative peak throughput of the main SDK modules on an NVIDIA GeForce RTX 4090 (pure GPU processing time, 24-bit color; the mode is noted per row). Exact numbers depend on your GPU, resolution and quality — full per-module results are on the linked benchmark pages.
| Module | Operation | Resolution | Speed on RTX 4090 |
|---|---|---|---|
| RAW→RGB pipeline | Min pipeline, in GPU memory | 65 MPix | 60 fps |
| Full RAW→RGB pipeline | End-to-end, incl. SSD read/write | 4K, 12-bit | 60 fps |
| JPEG codec | Encoding | Full HD / 4K / 6K | 5500 / 3800 / 1500 fps |
| JPEG codec | Decoding | 4K / 8K | 1350 / 650 fps |
| JPEG2000 codec | Encoding (batch, visually lossless) | 2K / 4K | 2108 / 732 fps |
| JPEG2000 codec | Decoding (batch, visually lossless) | 2K / 4K | 1317 / 362 fps |
| Debayer / demosaic | HQLI … MG algorithms | peak throughput | 20 - 69 GPix/s |
The RAW→RGB rows are the full ISP pipeline: the in-memory case is GPU-bound, while the end-to-end case is limited by the SSD, not the GPU. JPEG figures are single-thread single-image; JPEG2000 figures are for multithreaded batch mode — single-image results and full tables are on the JPEG2000 encoder and decoder benchmark pages. The JPEG codec reaches about 117 GB/s on a 24 MPix (6K) frame. See detailed benchmarks for every module.
Why Fastvideo SDK
Why run the full image processing pipeline on the GPU?
The whole pipeline on the GPU, not just parts of it. Individual GPU-accelerated functions lose their advantage if the data has to travel back to the CPU between stages. Fastvideo SDK keeps the entire pipeline in GPU memory, so the PCIe bus is crossed only twice — raw data in, final result out. This is what makes real-time 4K and multi-camera processing achievable in practice.
Performance without sacrificing image quality. Every module is designed to hold its own against the best CPU implementations in quality — including Bilateral and NLM denoising, DFPD and MG demosaicing, and Lanczos resizing — while running significantly faster. Published benchmarks for every major module back this up.
One SDK across the full NVIDIA range. The same API runs on everything from Jetson modules to laptop, desktop, and server GPUs. An application developed on a workstation deploys to an embedded Jetson system without code changes — only the performance envelope changes.
Lower total cost of the final application. GPU processing offloads the CPU, so a single machine handles workloads that would otherwise require several — fewer computers per camera system, less rack space, simpler maintenance. The SDK is compatible with third-party CPU and GPU libraries, so it integrates into existing applications instead of replacing them.
Trusted by imaging teams
“Fastvideo SDK is lightning fast… we can now process a 28,800 image sequence set in under 10 minutes, instead of 10 hours.”
Image & Video Processing SDK Features
Image acquisition
Fastvideo works as an image acquisition SDK: frames from any source go straight into GPU memory for processing.
- Image ingestion from a camera, frame grabber, HDD/SSD/RAM or GPU memory
- Input formats: PGM, BMP, PPM, JPG, YCbCr, RAW, DNG, byte array, OpenGL texture or PBO
RAW domain processing
- RAW data linearization
- Dark frame subtraction (FPN)
- Flat-field correction (shading correction)
- Dynamic bad pixel correction
- Binning for grayscale images
- White balance
- 1D LUT for each bayer channel
- RAW histograms and RAW Bayer curves (master and RGB)
- RAW denoising — in development
- Chromatic aberration removal in the RAW domain — in development
Demosaicing
- Algorithms: HQLI, L7, DFPD, MG
- Demosaicing with binning (B2, B4, B8)
- After-demosaicing filter — in development
Color and tone
- Exposure correction and highlight recovery
- Color correction with matrix profile
- Color transforms: RGB↔YCbCr, RGB↔HSV, and more
- Composite or per-channel 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
- Gamma transform (composite or per-channel)
- Transforms to Rec.601 (SD), Rec.709 (HD), Rec.2020 (4K) for broadcasting
Denoising and enhancement
- Denoising: bilateral, NLM
- Sharpening with Unsharp Mask filter (USM)
- Defringe
- Tone mapping with ALTMapper algorithm — in development
- Fog removal and dehaze — in development
Geometric transforms
- Crop, resize (downscale or upscale)
- Rotate to 90/180/270 degrees, flip/flop
- Standard remap: rotation to an arbitrary angle, affine, perspective, projection, arbitrary warping
Analysis and monitoring
- RGB histograms
- RGB parade
- Waveform monitor
Output and codecs
- Real-time display output via OpenGL
- JPEG codec (8/12 bits per channel)
- JPEG2000 encoder and decoder (8–16 bits per channel, tiles, batch, multithreading, multithreaded batch)
Pipeline infrastructure
- Stream-per-thread support for better performance
- CUDA MPS support for Linux
- FFmpeg filters and codecs on GPU for high performance video processing
SDK Options
The following modules are also part of the SDK. They target less common tasks and are licensed on demand.
Extended format support
- Unpacking module for various RAW formats
- RAW and DNG (CinemaDNG) image and video processing
- MLV raw video processing
- OME-TIFF, BigTIFF, GeoTIFF support (tiles, pyramids, encoding)
- HDR for high bit depth image sensors
Video codecs
- H.264 codec (NVENC and NVDEC)
- H.265 codec (NVENC and NVDEC)
- J2K codec on GPU for FFmpeg
I/O and integration
- Input from SD/HD-SDI and 3G/6G/12G-SDI grabbers: Blackmagic, Imperx
- Multiple camera solutions for real-time image processing
Compatibility
- OS: Windows 10/11, Linux Ubuntu, Linux4Tegra (L4T)
- NVIDIA GPUs: Pascal, Volta, Turing, Ampere, and Ada generations — mobile, laptop, desktop, and server models; support for the latest GPU generations is in progress
- NVIDIA Jetson: Nano, Xavier NX/AGX, Orin NX/AGX
- CUDA 12.6; MSVS 2022 on Windows
- Ships with sample C++ applications with source code, video processing API, and manual
- Motion JPEG integration with FFmpeg (reader/writer); FFmpeg is under LGPL v2.1
SDK Sample Applications with Source Code
- CUDA JPEG codec
- Debayer, and Debayer + JPEG
- Denoiser
- Resizer
- J2K codec
- SDI converter
- JPEG Resize (Jpeg2Jpeg): JPEG decoding, crop, resize, sharp, JPEG encoding
- Camera application in C++ and CUDA: 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, remap, undistortion, sharp, OpenGL output, JPEG or JPEG2000 compression, writer to AVI (MJPEG) or MXF (JPEG2000)
- FFmpeg Remap filter
- FFmpeg J2K decoder
Open Source Projects from Fastvideo on GitHub
- PGM2DNG converter — converts PGM images to DNG
- GPU Camera Sample — software for machine vision and industrial cameras with GPU image processing; Windows binaries are available from the same repository
GPU-Based Demo Applications for Download
- JPEG codec
- JPEG2000 codec
- Debayer
- Resizer
- Fast CinemaDNG Processor
- FastVCR software for XIMEA cameras
- FastVCR software for Emergent Vision cameras
Licensing and Custom Development
We license the GPU Image & Video Processing SDK and its components for Windows, Linux, and L4T to software developers, camera manufacturers, system integrators, and resellers. The SDK is used in a wide range of real-time imaging applications, from machine vision to digital cinema and broadcasting.
Fastvideo also develops custom image and video processing solutions according to an agreed specification, and offers integration services to connect the SDK with your existing software. If your image processing pipeline includes a stage that is not listed on this page, contact us to discuss it — you can also check our projects in development.
Frequently asked questions
What is Fastvideo SDK?
Fastvideo SDK is a C++/CUDA library that runs the complete camera image processing pipeline on NVIDIA GPUs — from raw acquisition, demosaicing, denoising, color correction and tone mapping, and resize to JPEG and JPEG2000 compression — entirely in GPU memory.
How fast is it?
On an NVIDIA GeForce RTX 4090 the full RAW-to-RGB pipeline processes a 65 MPix frame at about 60 fps in GPU memory (up to 60 fps end-to-end for 12-bit 4K, where throughput is limited by the SSD, not the GPU). Individual modules run higher still: JPEG encoding at about 5500 fps (Full HD) and 3800 fps (4K), visually lossless JPEG2000 encoding at up to about 2100 fps (2K, batch mode), and demosaicing at up to 69 GPix/s — see the benchmark methodology.
Which GPUs and platforms are supported?
Any CUDA-capable NVIDIA GPU, from Jetson embedded modules (Xavier, Orin) to laptop, desktop, and server cards, on Windows 10/11, Linux Ubuntu, and Linux4Tegra. The same C++/CUDA API runs across the whole range without code changes.
Which pipeline stages does the SDK cover?
RAW-domain preprocessing, demosaicing, denoising, color correction and tone mapping, geometric transforms, analysis and monitoring, and output codecs — JPEG, JPEG2000, and H.264/H.265 via NVENC/NVDEC. It also integrates FFmpeg filters and codecs on the GPU.
Can I test the performance myself?
Yes. Download the free demo apps for individual modules and measure the speed on your own GPU — see the benchmark methodology and the Fastvideo SDK benchmark report (PDF).
Is the Fastvideo SDK an image acquisition SDK?
Yes. The SDK covers the full image-acquisition path — ingesting frames from a camera, frame grabber, SSD/RAM or GPU memory in formats such as PGM, RAW, DNG and OpenGL textures — and then runs the complete ISP (demosaicing, color, denoising, tone mapping) and JPEG/JPEG2000 encoding on the GPU, so image acquisition and processing stay in one GPU pipeline.
How is the Fastvideo SDK different from NVIDIA NPP?
NPP gives you low-level GPU primitives that you assemble into a pipeline yourself. The Fastvideo SDK is a ready end-to-end camera ISP — RAW-to-RGB (demosaicing, color, denoising, tone) plus JPEG/JPEG2000 output — that runs the whole pipeline in GPU memory in up to 16-bit precision, so you link one library instead of building the pipeline from parts. See the detailed comparison in Fastvideo SDK vs NVIDIA NPP.
Roadmap for CUDA Image Processing SDK
Fastvideo SDK is a mature product, developed and refined since 2009; its latest releases (2026) add support for the newest NVIDIA GPUs and CUDA versions. The items below are the most recent additions and the work currently in progress.
Released:
- Latency improvement for GPU-based ISP
- High quality color calibration software
- CUDA 12.6 support; CUDA 12.2 support for Jetson Orin
- FastVCR software for XIMEA cameras (real-time raw processing on Jetson with integrated camera control)
In progress:
- ALTMapper (Adaptive Local Tone Mapping) engine for single shot HDR
- Chromatic aberration removal in the RAW domain with self-calibration
- RawZipper — Raw Bayer codec on GPU for lossy compression
- CUDA 13.3 support
- Jetson Thor support
- Accelerated Remap
- GPU memory manager

