New Codec and Workflow Options Announced

There were two announcements this week that will impact post-production workflows.  The first was Wednesday night’s celebration of the launch of Red’s new SDK, which leverages NVidia’s GPU accelerated CUDA framework to deliver real-time playback of 8K Red Footage.  NVidia was demonstrating an early version of this technology at Adobe MAX in October, and I have been looking forward to this development, as I am about to start post on a feature film shot on the Red Monstro camera.  This should effectively render the Red Rocket accelerator cards obsolete, replacing them with cheaper, multipurpose hardware that can also accelerate other computational tasks.

While accelerating playing back of 8K content at full resolution requires a top-end RTX series card from NVidia (Quadro RTX 6000, Titan RTX, or GeForce RTX 2080Ti) the technology is not dependent on RTX’s new architecture, (RT and Tensor cores) allowing earlier generation hardware to accelerate smooth playback at smaller frame sizes.  Lots of existing Red footage is shot at 4K and 6K, and playback of these files will be accelerated on widely deployed legacy products from previous generations of NVidia GPU architecture.  It will still be a while before this functionality is in the hands of end users, as now Adobe, Apple, Blackmagic, and other software vendors have to integrate the new SDK functionality into their individual applications.  But hopefully we will see those updates hitting the market soon. (Targeting late Q1 of 2019)

One other significant update that is already available to users as of this week, is Adobe’s addition of ProRes encoding support on its video apps in Windows.  Developed by Apple, ProRes encoding has been available on Mac for a long time, and ProRes decoding and playback has been available on Windows for over ten years.  But creating ProRes files on Windows has always been a challenge.  This was less a technical challenge than a political one, as Apple owns the codec and it is not technically a standard.  So while there were some hacks available at various points during that time, Apple has severely restricted the official encoding options available on Windows, until now.  With the 13.0.2 release of Premiere Pro and Media Encoder, as well as the newest update to After Effects, Adobe users on Windows systems can now create ProRes files in whatever flavor they happen to need.  This is especially useful since many places require delivery of final products in ProRes format.  In this case the new export support is obviously a win all the way around.

But now users have yet another codec option for all of their intermediate files, prompting another look at the question, which codec is best for your workflow?  With this release, that gives Adobe users at least three major options for high quality intermediate codecs: Cineform, DNxHR, and now ProRes.  I am limiting the scope to integrated cross-platform codecs supporting 10bit color depth, variable levels of image compression, and customizable frame-sizes.  Here is a quick overview of the strengths and weaknesses of each option:

ProRes was created by Apple over ten years ago, and has become a de-facto standard throughout the industry, irregardless of the fact that it is entirely owned by Apple.  ProRes is now fully cross platform compatible, has options for both YUV and RGB color, and has 6 variations, all of which support at least 10bit color depth.  The variable bit rate compression scheme scales well with content complexity, so encoding black or static images doesn’t require as much space as full motion video.  It also supports alpha channels with compression, but only in the 444 variants of the codec.  My recent tests on my Windows 10 workstation also result in ProRes taking 3-5x as much CPU power to playback as similar DNxHR of Cineform files, especially as frame-sizes get larger.  The codec supports 8K frame sizes, but playback will require much more processing power.  I can’t even playback UHD files in ProRes444 at full resolution, while the Cineform and DNxHR files have no problem, even at 444.  This is less of concern if you are only working at 1080p.

Cineform has been available since 2004, and was acquired by GoPro in 2011.  They have licensed the codec to Adobe, (among other vendors) and it is available as “GoPro Cineform” in the AVI or Quicktime sections of the Adobe export window.  Cineform is a wavelet compression codec, with 10bit YUV and 12bit RGB variants, which like ProRes, support compressed alpha channels in the RGB variant.  The five levels of encoding quality are selected separately from the format, so higher levels of compression are available for 4444 content, compared to the limited options available in the other codecs.  It usually plays back extremely efficiently on Windows, but my recent tests show that encoding to the format is much slower than it used to be.  And while it has some level of support outside of Adobe applications, it is not as universally recognized as ProRes or DNx.

DNxHD was created by AVID for compressed HD playback, and has now been extended to DNxHR (High Resolution).  It is fixed bit-rate codec, with each variant having a locked multiplier based on resolution and frame-rate.  This makes it easy to calculate storage needs, but wastes space for files that are black or contain an lot of static content.  It is available in MXF and MOV wrappers, and has 5 levels of quality.  The top option is 444 RGB, and all variants support alpha channels in MOV, but uncompressed, which takes a lot of space.  For whatever reason, Adobe has greatly optimized DNxHR playback in Premiere Pro, of all variants, in both MXF and MOV wrappers.  On my project 6Below, I was able to get 6K 444 files to playback, with lots of effects, without dropping frames.  The encodes to and from DNxHR are faster in Adobe apps as well.

1080p File size (Sec/Min/Hr) ProRes Cineform DNxHR
4.5MB/270MB/16GB Proxy LB
9MB/540MB/32GB LT YUV-1 (Low)
14MB/850MB/50GB 422 YUV-3 (High) SQ
22MB/1300MB/80GB 422HQ YUV-4 (FS1) HQ/HQX
33MB/2000MB/120GB 444 RGB-4 (FS1)
50MB/3000MB/180GB 444XQ RGB-5 (FS2) RGB-444

Multiply those file sizes by 4 for UHD content (and by 16 for 8K  content).

So for most PC Adobe users, DNxHR-LB is probably the best codec to use for intermediate work.  We are using it to offline my current project, with 2.2K DNxHR-LB,MOV files.  People with heavy Mac interchange may lean towards ProRes, but up your CPU specs for the same level of application performance.

Leave a Reply

Your email address will not be published. Required fields are marked *