Fast CinemaDNG Processor on GPU
Updated:
Fast CinemaDNG Processor decodes and develops CinemaDNG and RAW footage entirely on the GPU, faster than real time: it processes 4K CinemaDNG at 24–30 fps on NVIDIA GPUs through a full RAW-to-RGB pipeline with TIFF, EXR, and ProRes export.
Detailed benchmark data. Measured results are published on our benchmark pages: all benchmarks.
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.”
Advantages of Fast CinemaDNG Processor
How fast is 4K CinemaDNG processing on GPU?
- 4K CinemaDNG processing at 24-30 fps, up to 60 fps
- 8K DNG photo editing with fast response
- High performance DNG decoding on CPU
- RAW Curves and Levels before demosaicing
- High quality demosaicing with MG algorithm
- High speed denoising for raw, luma and chroma
- No proxies, 4K dailies can be processed in real-time
- Smooth and scalable Player for CinemaDNG footages
- MLV and DNG player, viewer, converter, transcoder
- Software for footage Culling and Reviewing before editing
We have implemented full image processing pipeline on CUDA to make fast each stage of RAW data workflow. That gives us opportunity to significantly decrease data transfer time over PCI-Express bus and to improve total performance. Now we can do CUDA-based DNG rendering much faster than real time. At the same time, output image quality is comparable with Adobe Camera Raw (ACR) and LightRoom (LR), etc.
Fast CinemaDNG Processor GPU benchmark
In a RAW-to-RGB benchmark on an NVIDIA GeForce RTX 2080ti, Fast CinemaDNG Processor converted 3000 eight-bit 12-MPix DNG frames from an IO Industries camera per minute — 50 fps — through a full pipeline: read from SSD and upload to GPU, white balance, high-quality MG demosaicing, DCP profile, gamma, and JPEG (4:4:4, quality 100%) encoding back to SSD. Throughput was limited by the SSD at 600 MB/s, not by the GPU: raw GPU processing ran about 3 times faster, and GPU load stayed near 30% for a single-thread run, so a faster SSD or higher GPU load leaves significant headroom for RAW-to-JPEG acceleration.
See the full RAW-to-RGB benchmark test and discussion on LinkedIn.
| Fast CinemaDNG Processor RAW-to-RGB benchmark | Value |
| GPU | NVIDIA GeForce RTX 2080ti |
| Input | 8-bit 12-MPix DNG (IO Industries camera) |
| Throughput | 3000 frames/min (50 fps) |
| Bottleneck | SSD at 600 MB/s (GPU ~3× faster) |
| GPU load | ~30% (single-thread) |
Features of CUDA RAW Processor
- Import images: 8/10/12/14/16-bit DNG or CinemaDNG (compressed or uncompressed)
- Other input image formats: MLV, SEQ, CR2, CR3, NEF, ARW, IIQ
- Input video (CinemaDNG or MLV): 1080, 2K, 4K CDNG clips and more, up to 8K
- Output formats for image series: JPEG (8/12-bit), TIFF (16-bit), EXR (16/32-bit)
- Output video compression: Apple ProRes (MOV), Motion JPEG (AVI), any codec from external FFmpeg
- Output Color Spaces: sRGB, Rec.709, AdobeRGB, Rec.2020, BMD Film, BMD Film 4K, BMD Film 4.6K
- Highly optimized multi-threaded DNG and MLV reading, parsing and decoding on CPU
- White Balance and Exposure Correction
- Curves and Levels for each channel of RAW data
- RAW denoising (float workflow)
- Demosaicing algorithms: L7 (7×7), DFPD (11×11), MG (23×23)
- Denoise adaptive algorithms for luma and chroma (float workflow)
- Correlated Color Temperature and Tint control
- Color correction with matrix or DCP profile
- RGB and HSV Curves and Levels
- 3D LUTs for RGB and HSV, DCP support, Tone curve
- Image rotation to arbitrary angle, other geometric transforms
- LCP support: undistortion, chromatic aberrations, vignetting suppression
- RGB Histograms for each frame in real-time
- RGB Parade monitor
- Resize algorithm: Lanczos (float workflow)
- Adaptive local tone mapping
- Sharpening with Unsharp Mask algorithm (float workflow)
- Smooth playback of CinemaDNG, MLV, or SEQ sequences via OpenGL in real-time
Compatibility
- Windows-10/11 (64-bit)
- NVIDIA GPU driver 572.83 or later
- CUDA-12.6 (64-bit)
- NVIDIA GPU for laptop, desktop, server
- Compatibility with FFmpeg to read/write MJPEG streams (FFmpeg is under LGPLv2.1)
CinemaDNG Workflow on CUDA
Which cameras and RAW formats does Fast CinemaDNG Processor support?
The software supports DNG/CinemaDNG files, produced either by DNG-enabled digital cameras or by Adobe software such as the Adobe DNG Converter or Adobe Lightroom (DNG 1.4 specification). Current list of supported cameras could be found at Adobe's list of supported cameras. Fast CinemaDNG Processor also supports 8/10/12/14/16-bit DNG created by 3rd-party applications.
DNG-enabled digital cameras
- Blackmagic Design 4K Micro Studio Camera
- Kinefinity cameras: KINEMINI 4K, KINEMAX 6K, KINERAW-MINI (Full HD), KINERAW-S35 (Full HD), MAVO, Terra 4K, Terra 6K
- AJA CION 4K/UHD and 2K/HD Production Camera
- DJI Zenmuse X5S, X5R or X7 cameras for Mavic, Phantom, Inspire, Matrice drones
- Digital Bolex D16 and D16M
- Atomos Ninja Shogun
- Ikonoskop
- XIMEA 4/5/8/12/20/26/50/65 MPix
- IO Industries cameras: Volucam, Redwood, Flare, Victorem
Image/Video Processing Pipeline for DNG/CinemaDNG/MLV on CUDA
- Ingestion of DNG images from HDD/SSD
- Multithreaded reading of RAW data from SSD to CPU memory
- CinemaDNG / MLV parsing
- DNG / CR2 / CR3 / NEF / ARW / IIQ parsing
- SEQ format support
- Multithreaded decoding for lossless JPEG
- Data transfer from CPU to GPU
- Data linearization and transform to 16-bit representation
- Dark Frame Subtraction and Flat-Field Correction
- Bad Pixel Correction
- RAW histogram
- White/Black points
- White Balance (R, G1, G2, B)
- Exposure compensation
- Raw Curve for each channel of Bayer data
- Raw denoising
- Demosaicing
- Adaptive noise suppression
- Color Correlated Temperature and Tint control
- Color Correction with matrix or DCP profile
- Tone mapping
- Histogram and RGB Parade for processed image
- Monitor output
- Crop
- Resize to specified width and height in output window
- Sharp with USM
- Transform with monitor profile
- LUT 16-bit to 8/10-bit for each color channel
- Copy data to OpenGL texture
- Real-time monitor output via OpenGL (DNG video player)
- Histogram output for RAW and processed data
- RGB Parade output
- Compressed video output
- Crop
- Resize to Full HD
- Sharp with USM
- LUT 16-bit to 8/10-bit for each color channel
- Native MJPEG encoding
- Native export to Apple ProRes 422 LT, 422, 422 HQ, 4444, 4444 XQ
- External compression via FFmpeg
- Data transfer from GPU to CPU memory
- Save compressed video to SSD/HDD
- Image sequence output
- Data transform to 16-bit TIFF / EXR or to 8/12-bit JPEG for each frame
- Data transfer from GPU to CPU memory
- Save image sequence to SSD/HDD
Standard tasks to solve with Fast CinemaDNG Processor
- Batch image processing for DNG image sequences
- Real-time full frame rendering, compression, preview and playback for video streams with RAW data
- Full image processing pipeline for industrial cameras with 8/10/12/14/16-bit Bayer frames, including SEQ support
- Fast processing of MLV video files from Canon cameras with Magic Lantern firmware
- RAW Converter: MLV to DNG, MLV to ProRes, CinemaDNG to ProRes, etc.
- Converter from SEQ/MLV/DNG to ProRes
Workflow example for Fast CinemaDNG Processor
- Upload video footage to computer (PC) from camera or card reader
- Convert RAW files to DNG format with Adobe DNG Converter (option)
- Create new project and import DNG images
- DNG image processing with Fast CinemaDNG Processor
- DNG video player
- Export JPEG (8/12-bit), TIFF (16-bit), EXR (16/32-bit) files
- Export video to Apple ProRes 422 LT, 422, 422 HQ, 4444, 4444 XQ
- External FFmpeg options: export H.264/H.265 video in MP4, etc.
Roadmap for Fast CinemaDNG Processor
- SEQ format support (RAW format from StreamPix software) - done
- Support of IOI cameras: IOI format, transcoding of IOI files to CinemaDNG, IOI Player - done
- Defringe module - done
- Highlight Recovery on GPU - done
- CUDA 12.6 support - done
- Adaptive local tone mapping - done
- Chromatic aberration removal - in progress
- Noise profiles support - in progress
- Linux (Ubuntu 22.04) support - in progress

