First Look at Codecs: ProRes 422 vs DNxHD
I'm not a codec guy. I don't know the ins and outs of codecs the way engineers do. All I want to know is how how true to the original image the resulting file is when I use a codec, how much space I'm saving, and how much processing power it takes to compress and display it.
I just received Final Cut Studio 2 – quite an impressive package. Among the new features is the ProRes 422 video codec. It comes in two flavors – regular and HQ, and boasts file sizes 20% of uncompressed HD. Sounds a lot like Avid's DNxHD codecs.
So I came up with a little test. I generated six QuickTime video files in Adobe After Effects (neutral territory.) The test pattern was simple enough – an animated blue to white gradient background with a noise filter added to the lower half and a 16:9 box in the center with a waving silky texture. You can download the After Effects CS3 project that I used.
As a control, I used Apple's Uncompressed 10-bit 4:2:2 codec. I rendered the animation to the ProRes 422 (HQ), ProRes 422, Avid DNxHD 175, Avid DNxHD 115, and Avid DNxHD 36 codecs. (Note: The DNxHD flavors are specific to 1080/24p format video. The 30i versions would be DNxHD 220 and 145.)
After re-importing the results in After Effects, I placed each file in a composition along with the Uncompressed 10-bit 4:2:2 version and used the Difference transfer mode to illustrate where the compressed image varied from the uncompressed. The results were quite surprising.
The DNxHD 175 file's difference from the uncompressed was barely visible to the naked eye, but the ProRes 422 (HQ) codec showed significant differences. In fact, in my test, the DNxHD 115 codec also outperformed the ProRes (HQ).
The images below are scaled JPEGs, but they are fair representations of the files rendered in After Effects. The first image is a still frame from the fully rendered animation out of After Effects. Below it are the comparison images' difference mattes against the uncompressed animation.
Thanks to everyone for the comments and suggestions., especially Graeme Natress.
Inspired, I ran the following test. AJA Kona 3 uncompressed 1080i. Transcoded it to ProRes 422 (HQ) through compressor. Imported the ProRes material back into the FCP 6 project. Placed in a timeline on top of the orignal mater, changed the composite mode to Difference and <drum roll> … the frame was virtually black.
Using the ProRes 422 (HQ) codec as intended… it delivers as promised and a bit better than expected.
Have not had the time to test the Avid codecs under similar conditions within an Avid system, but there's no reason to suspect DNxHD won't perform as well in that test as it did in the more informal test.
Further, I have been able to determine that most of the difference spotted in the Difference mode tests in After Effects was due to some sort of a gamma shift.
The Avid codecs allow you to select the color space (709 or RGB) and I believe that is why the RGB-YUV conversions are apparently handled better by the Avid codecs. (Something to keep in mind when embarking on projects that may require material to meander into the RGB space.)
The big surprise for me was the performance of Avid's DNxHD 36 codec. 3.5% of the original file size… and look at how amazing it did. (Since it's a progressive-only codec, I couldn't run it on my second set of tests.)
I'll give Graeme's red on black test a try sometime in the future.
For the record: 4:4:4 filtering was on in all applicable ProRes renders.
Uncompressed file size 15 sec. animation: 1.61 GB.
DNxHD 175 file size 15 sec. animation: 273 MB.
ProRes 422 (HQ) file size 15 sec. animation: 262.1 MB.
DNxHD 115 file size 15 sec. animation: 180.4 MB.
ProRes 422 file size 15 sec. animation: 178.8 MB.
DNxHD 175 file size 15 sec. animation: 56.1 MB.
This test is not meant to be the definitive codec comparison. It's meant as a conversation starter. I only tested using one computer generated file. To the naked eye, all codecs delivered exceptionally well, but the difference mode comparisons show that the Avid codecs were truer to the original image. I'd love to hear from others testing different file types.