Have you wondered what the difference is between 8-bit and 10-bit media? Or thought about whether bit depth would make a difference to your projects?
Well, let me explain.
In video, bit depth determines the number of steps between the minimum and maximum values of a color or grayscale. In audio, the bit depth determines the number of steps between silence and maximum volume.
Bit depth is written as a number, for example 8-bit depth. However, what that bit depth number represents is a power of 2. Thus:
(I suspect all three of those values feel very familiar.) While SDR video is generally distributed at 8-bit, HDR requires using 10-bit values to support the extended grayscale values of HDR.
Think of bit depth as a ladder between two floors of a house. The bottom floor (minimum) is fixed. The top floor (maximum) is also fixed. The position of the floors doesn’t change.
However, if there are only a few steps in the ladder, its hard to smoothly climb up or down. The more steps you add, the smoother and easier it is to move between floors.
Bit depth is the same thing. The minimum and maximum values don’t change, but the smoothness between different values improves as bit depth increases because the change in value gets smaller.
The top image is an exaggerated example of the effect of limited bit depth. See all the banding? There aren’t enough color values to smoothly represent the sunrise gradient.
NOTE: OK, this is a severe example created in Photoshop to illustrate my point. The actually difference caused by a gradient using 8-bit colors are easily visible, but not THIS visible!
The bottom image shows the color and grayscale smoothness that results from using 10-bit values. There are more values and the distance between each value is smaller, creating smoother gradients and far less banding.
PUTTING THIS INTO ACTION
ProRes files, including ProRes Proxy, are 10 bit, except for ProRes 4444 and 4444 XQ, which are 12 bit. Most AVC and H.264 files are 8 bit. HEVC files can be either 8 bit or 10 bit. Most low-cost cameras shoot only 8-bit images, while higher-end cameras can shoot 10-, 12-, even 14-bit media.
While shooting 8-bit media is fine, as soon as you add effects or color correction, you run into banding. There just aren’t enough color values to subtly stretch colors without creating banding.
NOTE: You’ll also see 8-bit banding when you dissolve or fade a clip to or from black.
This is one of the reasons I recommend converting 8-bit media into ProRes. ProRes is a 10-bit format and provides reduced banding and smoother color changes in effects and color grading because you are working with more color values.
When you convert 8-bit media to 10 bit for editing by transcoding into a different codec, the 10-bit file still contains only 8-bit source images. However, converting 8-bit media into 10-bit media has a big advantage. As an analogy, if I dump five gallons of water into a bathtub, the bathtub may be bigger, but there’s still only five gallons of water in it. The cool part about the extra space in the bathtub, though, is that if I add more water, perfume, or soap and stir quickly, nothing spills out. The tub has plenty of room for whatever I want to add.
Moving 8-bit images into a 10-bit environment gives you more room to make changes without damaging image quality.
Bit depth makes a difference when you are adding dissolves, creating effects, color grading or working with HDR material. Given that all major editing platforms support 10-bit media, it makes sense to convert any 8-bit media to 10-bit for the edit and color grade.
Then when your project is done you can convert it back into what ever bit-depth the distribution codec requires.
2 Responses to Why Video Bit-depth Matters
Love the analogies and examples. It helps clarify the concept.
What is the effect of transcoding 8 bit to 10 or 12 have on machine capacity and speed? Does it slow it down and take longer for effects such as dissolves? I’ve recently switched from Adobe to DaVinci and am working my way through all the myriad features and functions. I’ve noticed that playback often stutters.
In brief, as bit depth increases, file size increases. This would slow down renders. However, ProRes, which is 10-bit, has hardware acceleration built into the M1/2 series of chips, so that the degree of perceived slowdown would be minimal.