We discuss the theory and practice of achieving 10 bit video output support, and why (or why not!) it may be important.
First, we present a quick summary of the state of play - below that we go in to more detail for those of you looking for the full explanation.
(N.B. if you're looking for 10 bit support when using 'breakout' devices like BlackMagics for Video Reference monitors, see the bottom section).
(There's a video at the bottom or the article if you prefer video to reading!)
This summary is all you really need to know about getting 10 bit video output working in 2017 and beyond, for still image making purposes. It's finally relatively easy to achieve this on both Mac and PC - as long as you have up to date hardware and applications.
If you want to know why you might want 10 bit, read on below. The short version is that 10 bit is better for colour (smoother gradients, mainly) - but it's definitely not essential for general use. If you're upgrading your equipment anyway, then sure go ahead and add hardware if needed for 10 bit support - but unless you have unusual needs, it's not really worth upgrading anything specifically for 10 bit.
Things changed finally, in late 2015:
You must be using El Capitan or above (i.e. OSX 10.11+), and you must be using up to date hardware - something like the 5K imac, or basically hardware from 2016 on seems generally to be ok.
There is still very limited actual application support for 10 bit colour but this is presumably going to change fairly rapidly now that the OS and Mac hardware supports it. You must update to the latest Creative Cloud Adobe apps, for instance.
There are really two types of 10 bit on the PC. There is 'standard' 10 bit support, which is used for video etc. and now regularly available even with consumer video cards, and 10 bit support with OpenGL acceleration, needed for specific Adobe Apps like Photoshop.
General 10 bit support has been possible for years and years already. You just need a 10
bit capable card, and the vast majority of cards and drivers currently available support general 10 bit display.
However, for imaging work, you should get a workstation level card - as these support 10 bit OpenGL display, used by most major imaging applications.
This means getting an NVIDIA Quadro card (best, stable drivers) or AMD FirePro
(notoriously flakey drivers).
Actual application support for 10 bit is still much wider on the PC than the Mac. Adobe apps like Photoshop have supported 10 bit for several years now, but again - they use their own specific OpenGL based solution for 10 bit.
THUS - If you want reliable 10 bit support - both general and for imaging applications - then the advice on the PC remains the same as it has for several years now - your best & most stable option is an NVIDIA Quadro workstation card.
Bit depth, in this particular context, is a measure of how many discrete values the system can do its processing with - and more is better.
10 Bit video output is a confusing issue for a lot of people. This article tries to simplify and explain the issue. (In some ways it's over-simplified for the sake of clarity rather than getting bogged down in too much detail).
The key thing is not to confuse the bit depth of your video cards output signal with the bit depth of your monitor's Look Up Tables (LUTs - 6,8,10, 12, 14 or even 16 bit with the very latest Eizo CG and NEC PA monitors). Also, your digital image files have a bit depth that is a separate issue as well.
First, what is bit depth in this particular context?
Well, it's a measure of how many discrete values the system can do its processing with - and more is better.
For example, any 6 bit system has just 64 signals to play with - meaning there are only 64 possible adjustments you can make to this signal. Put very simply, you can choose 31 (might be too red) or 32 (might be too blue), but there's no concept of 31.5 (which might be just right). With 8 bit systems, you have only 256 signal levels to play with - and this is the normal scenario for video card output signals - your computer can only ever output a value of between 0 and 255 for each of Red Green and Blue, which combined form a specific colour. 99.99% of computers and monitors on the planet work this way.
Once the signal actually reaches the monitor, and for example lets choose (128, 0, 0) which is a medium strength red - then the monitor uses it's LUTs (look up tables) to choose which colour to actually display for this signal. With, for example, a 6 bit LUT, there are only 64 shades of red available. So choices for the actual tone the monitor displays are very, very limited and it's basically impossible for the monitor to choose a correct colour (as odds are Red 31 is not right, and neither is Red 32).
Move up to an 8 bit monitor, and the choice is improved somewhat as there are now 256 reds to play with - this increases accuracy, as Red 127 might be a bit too strong, 128 is closer, 129 is too strong, so 128 is chosen as the best option. But odds are this is still not enough finesse to get the right colour. (When you calibrate a monitor, this is what is happening - the calibrator tells the monitor to display Red 127, Red 128, Red 129 etc, measures them, and creates a table of what actual colours these values represent - this table is then used to know what signal to send the monitor to later get the right colour).
This is the way it works for almost all normal scenarios, except for quite cheap or quite expensive monitors - 8 bit video cards and 8 bit LUTs are standard. Also, the monitor LUTs are single dimension - that is they only work on one colour at once. Good monitors now have so called 3D LUTs which allow them to adjust R, G and B simultaneously, which helps as colour error is rarely just along one axis.
As monitors get more expensive, the LUTs get better, with 10 and 12 bit being most common in higher end monitors. This means the signal quality (really the amount of signal finessing that can be done) moves up - 10 bit means 1024 levels, 12 bit means 4096 and 14 bit means 16,384 levels - and the best is 16 bit with over 65000 levels - basically, vastly more precision is available in the mapping of input tones from the computer to output tones on the monitor (remember - because the video card signal is 8 bit, these values range from 0 to 255).
However, the bottleneck in this system is the video card - it can only output 8 bit signals (because there are three channels (RGB) means a total palette of approximately 16.7 million colours - which sounds like a lot but there's still only 256 pure greys in there). To solve this bottleneck, systems are moving toward having 10 bit output from the video card. Meaning 1024 possible signals for each of R, G and B, or a palette of over 1 billion colours (1024 along the pure grey axis).
So, to look at it holistically - there are several components to the complete video path:
Your actual digital image file -> OS -> Software (e.g. Photoshop) -> Video Card Digital Signal -> Monitor LUTs -> Panel Depth
Each and every one of these can have a different bit depth.
The classic path, and this is true of nearly all computers (Mac and PC) before about 2015, is to have an 8 bit video output signal. With consumer class monitors, processing on these signals is done in the monitor with 6 (really bad office monitors) or 8 bit LUTs (almost all consumer monitors). Better monitors, such as those from NEC (the PA series) and Eizo (the CG series), have LUTs that are 10, 12 or even up to 16 bit.
Video cards are now appearing that support 10 bit output, and Windows versions 7 and on facilitate 10 bit output (older OSes do not reliably work with 10 bit outputs), OSX 10.11 and on (El Captian) support 10 bit output, Photoshop CS6 (on PC) and PS CC 2016 and on (Mac) support 10 bit output.
The practical result is yet smoother, more accurate colour (particularly on very wide gamut monitors) and a more robust system in general that can cope with calibration to wider, more exotic targets and a greater variety of brightness levels.
A lot of people think they're getting 10 bit output because their video card or monitor ostensibly support it - however surprisingly few people actually have 10 bit output working in reality.
January 2016 and beyond - The best advice currently on the PC is to use NVIDIA Quadro cards - these have much better drivers than the ATI cards. We recommend the P620 or ideally the faster P2000 based cards, as used in our Photoshop PCs. 10 bit is completely reliable with these setups in our experience, up to and including with Windows 10, and works with both general applications and those requiring 10 bit OpenGL support, like Photoshop.
Here you can find a file you can use to test your output called '10 bit test ramp.psd' - if you open this in Photoshop you will see banding if you have an 8 bit output path, and complete silky smoothness on a proper 10 bit path. That said, it is not without glitches in practice - Photoshop will, when using some tools like 'clone' for example, render a small part of the working area in 8 bit around your pointer. Also, Windows 7 will lose the Aero transparency features with ATI video cards. So while it works, it is not without glitches and while it may be useful in some circumstances, the performances of these screens with 8 bit input is already so good it's debatable whether the glitches are worth it on a day to day basis right now.
A lot of people think they're getting 10 bit output because their video card or monitor ostensibly support it - however very few people actually have 10 bit output working in reality. If you're trying to set it up, make sure you actually test your system to be sure it's all operating as expected.
On The PC:
On The Mac:
When using a 'breakout' box to set up an external Video Reference monitor, this situation can be a little more complicated again.
We strongly recommend you contact BlackMagic (or whoever makes your particular breakout box) - to confirm what 10 bit support they offer (to the interface level - e.g. some only offer 10 bit over SDI, others offer it over both SDI and HDMI, for example).
You should also ideally confirm with BlackMagic or the monitor manufacturer that the monitor will accept the precise type of 10 bit output by your breakout box - with video the signal is typically YUV rather than RGB, and not all monitors will accept this.
We have found Eizo to be particularly good for this sort of thing - if there are issues, they will generally solve them with firmware updates and the like. Our favourite models for external video reference monitors - in particular the CG-X series of monitors have excellent performance and 10 bit support:
Jeremy explains how and why (or why not) to set up 10 bit video support
- Tom K -
Keep up the great work you’re doing on your website. I’ve found it one of the best sites around for good technical advice.