Daniel2 Codec

Jan Weigner, CTO
Jan Weigner

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.

Daniel2 8K Decoding Speed Comparison

Of course this is an unfair comparison as the Core i7-6700 is only a four core processor. But even when spending an additional six to eight thousand dollars more on a very fast dual Intel Xeon processor machine, the speed of either CPU based codecs is not going to reach a quarter of the GPU based Daniel2 codec which utilizes a $500 graphics card to achieve all this and to offload the CPU. In case of the CPU based codecs the processor cores would be fully loaded leaving no processing power for other tasks. With the Daniel2 codec in the above benchmark example the quad core Intel processor did not get loaded above 50%.


Daniel2 Codec Tech Specs

  • From 4:2:2 to 4:4:4:4 color space - YUV to RGBA
  • From 8 to 12 bit as well a 16bit color depth
  • Extremely low decoding latency (< 1 ms for 8K)
  • Multi-generation re-compression without artefacts
  • Freely selectable compression factor
  • Variable bit rate, constant bit rate or constant quality encoding
  • Lossy or lossless encoding modes
  • Nvidia CUDA acceleration and CPU fallback for VM or cloud w/o GPU
  • Intelligent alpha channel support for small file sizes
  • IP video - perfect codec for low-latency, high-quality compressed IP video transmission
  • Very high speed GPU decoder - faster than the PCIe bus and GPU RAM.