Daniel2
Daniel2 – World's Fastest Video Codec
Use GPU compute power to massively accelerate your content creation, image processing and production workflows.
Many times faster than Apple ProRes, AVID DNxHR and of course JPEG2000. Achieve more in less time.
Overview
Daniel2 Codec Summary
Traditionally video codecs have been defined by chip makers and not by software developers. Daniel2 is different. It was designed by software developers that for decades had suffered implementing "industry standard" codecs such as MPEG2 or H.264 in software running on ordinary PC hardware, but these had not been created with PC hardware in mind. Daniel2 was designed to be a massively multi-threaded parallel processing software codec that runs extremely fast on CPUs and even faster on GPUs with their thousands of parallel cores and ultra fast RAM.
The Daniel2 codec is acquisition and production codec meant to be used for recording from camera sources, editing and post-production as well as playout. Daniel2 is aiming for the same space in the production workflow as AVID’s DNxHR, Apple’s ProRes, JPEG2000 or Sony’s XAVC.
Application Areas
- Post-production - massively improved throughput and faster processing
- High density multi-channel HD, UHD/4K or 8K recording
- HFR Cinema, 8K and beyond broadcast acquisitions - perform ultra high-res HDR recording using commodity IT hardware
- High-end AR/VR/xR Production – ultra high-res 360 degree recording and playback
- Ultra high-speed recording – in HD, 4K, 8K, 16K, 32k or even higher custom resolutions
- Mobile 8K and/or multi-cam 4K editing on notebooks
- Ultra large scale imaging – much faster processing combined with variable compression quality ranging from lossy to lossless
- Medical imaging - visually lossless or mathematically lossless many times faster than JPEG2000
- Video over IP for broadcast, film, security, telco and many other applications
- High-end KVM over IP with very low latency and better fidelity than H.264 or H.265
- Display walls and tiled multi-screen / multi-projector presentations
- AI & Computer Vision – vastly improved throughput and lower memory consumption for faster deep learning and computer vision
The Daniel2 GPU based codec is inevitable. There is no way around it. The advantages are so compelling making this a no-brainer. It is a win, win, win scenario!
Specifications
Daniel2 Codec Tech Specs
- From 4:2:2 to 4:4:4:4 color space - YUV to RGBA/RGBZ
- From 8 to 12 bit as well as 16 bit color depth
- Extremely low encoding and decoding latency (< 1 ms for 8K)
- Multi-generation re-compression without artifacts
- Freely selectable compression ratio / bitrate
- Variable bit rate, constant bit rate or constant quality encoding
- Lossy or lossless encoding modes
- CUDA or OpenCL based GPU acceleration and very fast CPU fallback mode
- Region of Interest Decode - only decode selected window inside the image
- Scale while decode - only consume the memory of the target size, avoid separate scaling stage
- Available for Windows, Linux, MacOS, iOS, and Android (latest OS versions, x64 and ARM, 64-bit only)
- Intelligent alpha channel / Z-depth support for small file sizes
- IP video support - perfect codec for low-latency, high-quality compressed IP video transmission
- Extremely high speed GPU decoder and almost equally fast CPU decoder
About Daniel2

Jan Weigner, CTO
The Secret Sauce of Daniel2
The performance secret of the Daniel2 codec is being architected and developed from ground up to be GPU based. All legacy dependencies and old codec architectures were left behind. This of course means that Daniel2 is only compatible to itself. But the benefits of this approach are enormous and outweigh the drawbacks by far.
The Daniel2 codec is acquisition and production codec meant to be used for recording from camera sources, editing and post-production as well as playout. Daniel2 is aiming for the same space in the production workflow as AVID’s DNxHR, Apple’s ProRes, JPEG2000 or Sony’s XAVC.
Bottleneck Circumvention
A problem one faces when designing 4K, 8K or soon 16K systems that need to handle multiple streams and that need to manipulate them in realtime, is that even if you could decode the streams using the CPU then you would probably still want to use the power of the GPU for effects and filters. Now you face the bottleneck of the system bus to transfer the decoded streams into the GPU’s memory. This is where Daniel2 shines as streams a fraction of the size of their uncompressed counterparts are read from disk or via the network and passed to the GPU to be decompressed faster than the uncompressed frames can be copied. So three wins at once – less bandwidth of the system bus being used, less space or bandwidth consumed on disk or network and the CPU is free to do other tasks as it does not need to decode the streams anymore.
The Daniel2 GPU based codec is inevitable. There is no way around it. The advantages are so compelling making this a no-brainer. It is a win, win, win scenario!
Need For Speed
The following chart illustrates the speed advantage that Daniel2 has over Apple’s ProRes and AVID’s DNxHR. Neither of them has the smallest fighting chance to come anywhere near the 8K decoding performance of Daniel2.

Of course this is an unfair comparison as the Core i7-6700 is only a four core processor… With the Daniel2 codec in the above benchmark example the quad core Intel processor did not get loaded above 50%.

If we are in the lucky situation to have the GPU itself as the video source… the encoding speed is encumbered from PCIe bus bottlenecks.

Speed is nice, so is quality… Daniel2 with encode settings CQ90 exceeds all other codecs by far with an average of 4 dB higher than best other codec.
GPU related speed is nice, but Daniel2 is also very fast when it comes to CPU based encoding… With a dual Xeon or dual Epyc? Do the math.
The above chart shows the different codecs and their bitrates in relation to their image quality measured in dB using APSNR… the fastest codec of them all.
Daniel2 Codec Tech Specs
- From 4:2:2 to 4:4:4:4 color space – YUV to RGBA/RGBZ
- From 8 to 12 bit as well as 16-bit color depth
- Extremely low encoding and decoding latency (< 1 ms for 8K)
- Multi-generation re-compression without artifacts
- Freely selectable compression ratio/bitrate
- Variable bit rate, constant bit rate or constant quality encoding
- Lossy or lossless encoding modes
- CUDA or OpenCL GPU acceleration and fast CPU fallback
- Region of Interest Decode and scale-while-decode modes
- Available on Windows, Linux, MacOS, iOS, Android (x64 & ARM, 64-bit)
- Intelligent alpha channel / Z-depth support
- IP video support for low-latency, high-quality transmission
- Extremely high speed GPU and CPU decoders
Daniel2 Recommended Bitrates & Depths
- 1920×1080 p29.97 @ 10-bit 4:2:2 – 120 Mbps (visually lossless, not for post), 160 Mbps (light post), 200 Mbps (heavy post)
- 3840×2160 p59.94 @ 10-bit 4:2:2 – 720 Mbps (visually lossless, not for post), 960 Mbps (light post), 1200 Mbps (heavy post)
These are recommendations; results vary with source material. Alternatively use Constant Quality (CQ): CQ 65 – light post; CQ 75 – moderate; CQ 85 – heavy post.
Developers
Daniel2 Developer Information
If you want to integrate the Daniel2 codec into your own application, here is how you can get started.
The Daniel2 SDK is is available for the latest versions of Windows, Linux and Mac OS – x64 or ARM 64bit, as well as the latest versions of Android and iOS/iPadOS. Daniel2 even works on Raspberry Pi (64bit) and Nvidia Jetson devices.
Code Samples on Github
We have some source code samples on Github already on how to use the Daniel2 codec (part of Cinecoder SDK). We will be continuously adding sample code and sample apps to the Github repository. The code samples are cross platform and compile for all supported platforms (e.g. Windows, Linux, Mac). A simple player app reading, decoding and displaying Daniel2 files has been added.
The link to Github is here: https://github.com/Cinegy/Cinecoder.Samples
Binary of Cinecoder SDK on Nuget
The Daniel2 codec is a part of the Cinecoder SDK. The Cinecoder SDK binary is available on Nuget. All supported OSes are included.
The link to Nuget is here: https://www.nuget.org/packages/Cinecoder
Cinecoder SDK Documentation
The old fashioned way to learn about the Cinecoder SDK is reading its documentation. On page 333 the documentation about Daniel2 starts.
The link to Cinegy Cinecoder SDK documentation is here: https://www.daniel2.com/images/pdf/Cinegy-Cinecoder3-SDK-Doc.pdf
Licensing
The Cinecoder SDK, or Daniel2 as a part of it, is not open source. If you want to use it in an application you want to publish, distribute or sell commercially you need to license it from us first. The SDK comes pre-licensed with a trial license key. If this does not work or you need an extension, please contact us.
More details about licensing can be obtained by emailing daniel2@cinegy.com and/or by looking at the information in our forum.
