We are mostly concerned with this to eliminate banding and give nice smooth gradients.
bpc = bits per channel.
RGB = 3 channels, so 8bpc is 24bit colour. This is what we’re used to, and most codecs work in 8bpc.
8bpc gives 256 levels of brightness in each channel. (2X2X2X2X2X2X2X2=2^8=256)
10bpc gives 2^10 levels, which is 1024 levels of gray in each channel.
16 gives 2^16, and so on.
Imagine a grayscale gradient in 8bpc. If the gradient is 256 pixels wide, it will look smooth, with one level (gray value) per pixel.
But if the gradient is now 1024 pixels wide, you will see banding, with one gray level for every 4 pixels. You’ll see stripes 4 pixels wide.
But if you switch to work in 16bpc mode, that gradient will smooth out, since you’ll now have more levels of gray available.
But then it’s time to render. If you’re rendering to an 8-bpc codec, the codec will quantize the grayscale image back to 256 levels, and you’ll see banding again. However, rendering to a 10bpc codec will give you a smoother image.
In practice, if you see banding, you can work in 16bpc and render to an 8bpc codec, and it might look okay. Oftentimes, you have to render to an 8bpc codec, because that’s what the editor uses.
But if you’re going to DVD yourself, and you have banding issues, consider working in 8bpc, switching to 16 before rendering, then render to a 10bpc codec. That’s the movie that you then compress to DVD.
32bpc is even smoother, but you should check the help for that — I haven’t needed it yet.