Executive Summary: Adobe’s HEVC implementation renders footage to <7 bits when HDR is selected, even when set to deliver 10 bits.
Description:
I’ve been experimenting with UHD HEVC encoding options for a while now, and was very interested in the new HDR options.
Unfortunately, while the Rec2020 option now renders smoothly to SMPTE range, when the HDR switch is enabled, the same setting will render to less than 7 bits, producing a lot of banding artifacts.
Here’s some screen grabs:
Source comp in AE:
This was made from an Illustrator file, when I did a blend with the specific number of steps (Blend maxes out at 1000 steps, so I couldn't do 1024 for 10 bit). Just note that there is more and more banding the further down you go in the chart.
If I output enable Main10 (gives me 10 bits/channel instead of default 8), and enable Rec2020 and render it, I can get this:
It is clipping the blacks, but OK, that's potentially resolvable with an Adjustment Layer. We'll deal with that another time. But my 8 bit gradations are still nice and smooth, so far so good.
Here's what happens when I take the exact same setting, and turn on the HDR switch:
Notice I now have banding where I didn't before - the top three bars that were smooth before are now in discrete steps.
If you look carefully at the 128 steps - 7 bit bar (the one under those words), you'll see some inconsistencies - it isn't a smooth blend. There are a lot of these inconsistencies, where the width from one step to the next varies every few bars. 6 bit, with 64 steps, seems to be OK, so I'd say I'm getting between 6 and 7 bits of detail out of this.
Well....[expletive]. This format is supposed to have 10 bits. And in fact, you can't access it UNTIL you turn on "Main10" which is what gives you 10 bits/channel.
This is just a bug. OK Adobe - this needs fixing STAT.
Want to prove it yourself? Here's a link to my Public Dropbox so you can download the After Effects file, media, and Adobe Media Encoder settings used to create this situation. I've done a ton of testing with the Media Encoder presets to try to work around this, and after 40 or 50 settings and innumerable attempts, I can't get it to work and I'm confident the problem is with Media Encoder.
https://dl.dropboxusercontent.com/u/46125841/HDR_ProblemDemo.zip
Proof:
Attached is a .zip archive, which contains an After Effects project, and two Adobe Media Encoder settings.
Open the After Effects Project, and the GradationTest will be open. Go to the Composition pulldown menu and select Add to Adobe Media Encoder Queue.
In Adobe Media Encoder, in the Preset Browser, select Import Settings (the fifth icon under the words Preset Browser).
Navigate to the folder I provided, in MediaEncoderPresets, and select the two .epr files starting with 11- and 12-.
These settings are otherwise identical, but 11 is HDR and 12 is SDR.
Apply these two settings to the queued GradationTest and render.
Open and compare, as you’ve seen in the above description.
Comments? Suggestions?
-mike