12 bit goodness in an 8 bit world

With v5/8 of FFI, you can now benefit from 12bit rendering without switching to a different partitions. In fact, you can even use most of that 12 bit goodness without using a single 12 bit frame on your framestore.

To see how much difference 12bit rendering can make, try this Batch setup.

8 bit clip –> CC 10% gain –> RGB Blur 20 points –> CC 1000% gain.

This should generate lots of banding artifacts.

Now, tell Batch to treat your clip as a 12bit source even if it is actually 8 bits on the framestore.

– Select your clip.
– Switch to “Edit LUT” mode.
– Turn on “Active”
– Make sure the output bit depth is set to “Out 12 bits”

Now, look at the result. Banding should be severly reduced.

This is because all the calculations are done in 12 bits now, giving FFI 4096 values per channel to play with instead of 256.

In 8 bits, the first CC node (10% gain) is compressing the signal to a maximum of 26 different levels per channel. All subsequent calculations only have those 26 levels of data to play with.

In 12 bits, that same CC is compressing the signal to about 410 levels — more levels than the original 8 bit image had in the first place!

So next time you have banding creeping up in your Batch setups, consider rendering in 12 bits even if your source clips are at 8 bits. (Of course, if your source material is already banded, then this trick won’t work).

Other hints:

1) Use the LUT node to bump up part of a branch to 12 bits and bump it down to 8 bits after “critical” calculations. (It can act like the Bytes node in Shake)
2) Don’t forget to switch your action nodes to 12 bits! (Under Setup -> 12 bits -> Apply)
3) If you don’t want to render the final output at 12 bits, just use a Regrain node *BEFORE* switching back to 8 bits to create pseudo-Dithering

UPDATE:
Please note that if you are running on Octane/Octane2/Tezro, you should set your project to use 12 BIT GRAPHICS.

This is set in the Project setup and is different from the “partition” bit depth.

If you fail to do this, all the operations that are computed in graphics (mainly stuff in Action) will render at 8 bits no matter what.

Thanks to JFP for pointing that out.

 

Submitter: Xavier Bourque