What's the main task for Fast CinemaDNG Processor?
Task description: you have many terabytes of footages in CinemaDNG format from any camera, CinemaDNG RAW 3:1 or 4:1 from BlackMagic cameras, MLV from Canon cameras with Magic Lantern firmware, and you need fast preview for these footages. Before NLE one have to choose the best series, to remove bad footages, etc. It will last too long with Adobe Camera Raw or Lightroom. It could be much faster with Adobe Premier Pro, but it just can't work with CinemaDNG RAW format from Blackmagic or with MLV, debayer quality is not excellent and there are no denoisers in that software. Full version of Davinci Resolve software can do that in realtime only with proxies, though free version doesn't have built-in denoisers.
Solution: Fast CinemaDNG Processor in realtime can read CinemaDNG images or MLV video from SSD, parse and decode RAW, do all image processing on GPU and play video smoothly with any resolution. Now you don't need proxies at all, everything could be done on GPU in realtime with maximum resolution. Finally one can get at output image series of JPEG (8/12 bits per channel, quality 95-100%, 4:4:4), 16-bit TIFF or high quality video in Motion JPEG (AVI) or MotionJPEG2000 (MXF). Other output encoding options and formats are available via external FFmpeg. So we can see Cinema DNG video directly from raw data.
What's CinemaDNG format?
The CinemaDNG file format (CDNG) is designed to store high-resolution video streams in camera raw format and typically adds several KBs of overhead per image. Each video frame is independently encoded in a lossless way using the DNG (Digital Negative) image format. The video stream is stored either as a picture track in an MXF (Material Exchange Format) file or as a sequence of individual frame files. CinemaDNG uses fully-documented, vendor-neutral, standard formats for video and imaging – DNG, TIFF/EP, and MXF. The format is unencrypted and free from intellectual property encumbrances or license requirements. The CinemaDNG format allows vendors to add functionality on set or in post, for example, by extending the decoder SDKs with additional image processing or metadata processing.
What's the DNG format? The camera sensor output can be stored directly into the DNG image file, without in-camera pixel processing or repackaging of the sensor data. The DNG image format is widely used to capture and archive camera raw images. Tools are available to convert images from over 200 proprietary camera raw file formats to the DNG format. The DNG format specification is now being incorporated into the ISO 12234-2 standard as TIFF/EP Profile 2.
Which CinemaDNG images could be processed with Fast CinemaDNG Processor software?
Fast CinemaDNG Processor software can work with uncompressed and losslessly compressed CinemaDNG images. It can also work with proprietary extension to the CinemaDNG format, usually referred to as BMD RAW 3:1 and 4:1 or CinemaDNG RAW, introduced by Blackmagic Design in DaVinci Resolve for their URSA cameras. Now this is the only option for Blackmagic Pocket 4K, Micro and URSA Mini Pro cameras to shoot RAW. CinemaDNG parsing and decoding are performed on multicore CPU in realtime. Bit depth of RAW data could vary from 8-bit to 16-bit.
Can the software work with non-DNG RAW images?
The software can work with various RAW images from cameras which have Bayer pattern, but not directly at the moment. First you need to convert these RAW images to DNG format with Adobe DNG Converter software. Usually it's better to run Adobe DNG Converter to create corresponding DNG images and to store them in a separate folder. Then one can run Fast CinemaDNG Processor software.
Can we run the software at PC or laptop without NVIDIA GPU?
No. GPU-based image and video processing in Fast CinemaDNG Processor is implemented for NVIDIA GPUs only. The software doesn't have CPU-based version because one can't get realtime processing on CPU for CinemaDNG footage with modern camera resolutions and bit depths without proxies. To get better results, please utilize GPU with NVIDIA Maxwell or Pascal architecture and 8-12 GB memory or more.
Is it possible to get a speedup with AMD or Intel GPUs?
No. In Fast CinemaDNG Processor software, AMD and Intel GPUs could be utilized for visualization purposes only.
How one can get significant acceleration from GPU for image and video processing?
To get significant acceleration from GPU usage we need to perform full image and video processing pipeline on GPU, rather than to get GPU acceleration for some stages of image processing. There are lots of software which announce significant acceleration on GPU for image and video processing. Nevertheless, quite often this is not the case. For example, one could easily get 10-20-30 times acceleration on GPU for White Balance transform in comparison with CPU, but it could hardly improve the total performance for full image processing pipeline. We need to consider the timing for the whole pipeline to be able to say that we do have acceleration. Usually we have up to ~20 transforms in the pipeline and we need to accelerate all of them on GPU to get better performance. That's exactly what we do with Fast CinemaDNG Processor.
How to choose PC and monitor for realtime CinemaDNG processing?
Realtime CinemaDNG processing is very complicated task, so the hardware should be powerfull and well balanced to do lots of things at the same time at frame rate 24-30 fps or even more. For example, just to read 4.6K losslessly compressed 12-bit CinemaDNG images at 24-30 fps, we need SSD or NVMe with minimum performance 250-350 MB/s for reading, that's why the choice of SSD/NVMe with 500 MB/s or better is quite reasonable. For fast DNG decoding we need powerfull multicore CPU as well. Below you can find some recommendations concerning the hardware:
- Fast SSD or NVM Express for image and video reading/writing
- RAM 8-16-32 GB or more: CPU processing (mostly decoding), cache, all temp buffers
- Intel Core i7 or Xeon with 8-12 logical cores for multithreaded software: CDNG reading, parsing and decoding, other CPU-based computations, optional output encoding on CPU
- NVIDIA GeForce/Quadro (Maxwell or Pascal): main part of CinemaDNG processing
- Motherboard with PCI-Express 3.0 to ensure fast data transfer over PCIE to and from GPU
- Well-calibrated monitor with resolution from Full HD to 4K
Frequently asked questions and topics for discussion
- How to import Blackmagic Raw files to Adobe Premiere Pro CC
- Workflow for footages from Blackmagic cameras
- Adobe Premiere Pro workflow
- High performance CinemaDNG demosaicing on NVIDIA GPU
- DNG decoding on CPU
- Lossless codec for DNG, MLV, CinemaDND RAW
- DNG Viewer on GPU
- Batch Convert DNG to JPG
- Fast Transform: CinemaDNG to MP4
- How to import Magic Lantern MLV raw files to Adobe Premiere Pro CC and AE
- Fast MLV processing on GPU
- Fast MLV Converter: MLV to TIFF and MLV ro JPG
- Fast MLV to MP4 video converter
- Focus pixels removal for MLV
- Batch Converter CR2 to JPG on GPU
- Image processing pipeline with 3D LUTs
- Fast CinemaDNG Processor interoperability with FFmpeg
- DNG to ACES transform on NVIDIA GPU
- RAW ingestion software for VFX