
How to identify content with 10-bit color depth. How to check what color depth is used in a photo and video
August 31, 2023
How can I tell if 10-bit depth is being used in a video or photo?
How to determine color depth in an image
First of all, if the photo is in JPG format, then it is safe to say that 10-bit color depth is not used in it, because this format simply does not support it.
Examples of formats that support 10-bit color depth are:
- PNG
- HEIF (High Efficiency Image Format)
Moreover, if any of these formats is used, then it is completely uncharacteristic that they use a greater color depth than 8-bit. The specific color depth value does not necessarily depend on the format, this value needs to be checked.
See also: How to enable saving photos in HEIC (HEIF) format in Android and whether it should be done
Let's look at how to determine the color depth of images used in applications with a graphical user interface, as well as on the command line.
Color depth in images can be determined using the following GUI programs:
- MediaInfo-GUI
- GIMP
- Krita
If you prefer a command line interface, then the color depth in images can be determined using the following utilities:
- file (for PNG)
- mediainfo
- identify (from the ImageMagick package)
- MediaInfo
See also: ImageMagick guide: installing, using, and troubleshooting
Let's start with GUI applications.
Launch the MediaInfo-GUI application. You can find MediaInfo in the Menu (Start button), or run the command in the terminal:
mediainfo-gui
Open a media file, such as a photo.
In the “Bit depth” line you will see the color depth that the image uses.
The popular and advanced image editor GIMP supports many image formats and can show file properties for them, including color depth.
Start by opening the image in GIMP for which you want to view information.
Then in the GIMP menu, go to the menu items “Image” → “Image Properties”.
The “Precision” line will show the color depth of this image.
The Krita application is similar – it supports many graphic formats, while allowing you to view detailed image properties.
Open the image you are interested in.
From the Krita program menu, go to “Image” → “Properties”
In the window that opens, go to the “Image Color Space” tab. In the “Depth” line you will see the color depth of this image.
Now let's look at how to determine the color depth of photographs using command line utilities.
An example of determining color depth using the “file” utility for a file named gradient_3840-2160_0-50.png:
file gradient_3840-2160_0-50.png
This image uses 16-bit color depth per color:
gradient_3840-2160_0-50.png: PNG image data, 3840 x 2160, 16-bit/color RGBA, non-interlaced
Note that for the HEIF format, the file utility did not show any useful information about the number of bits per color channel for the pattaya.heif file:
file pattaya.heif
Example output:
pattaya.heif: ISO Media, HEIF Image HEVC Main or Main Still Picture Profile
The “identify” utility from the imagemagick package can be used like this:
identify IMAGE_FILE
Or, if you want to get as much information as possible, then additionally specify the -verbose option:
identify -verbose IMAGE_FILE
Example commands and output without the -verbose option:
identify gradient_3840-2160_0-50.png gradient_3840-2160_0-50.png PNG 3840x2160 3840x2160+0+0 16-bit sRGB 1.01734MiB 0.000u 0:00.000 identify pattaya.heif pattaya.heif HEIF 4000x2252 4000x2252+0+0 8-bit sRGB 1.05563MiB 0.000u 0:00.001
Example command with -verbose option:
identify -verbose gradient_3840-2160_0-50.png
Example output for a PNG file with 16-bit color depth:
An example of a command with the -verbose option for a file in HEIF format:
identify -verbose pattaya.heif
The HEIF format supports 10-bit color depth, but in this case this image only uses 8-bit color.
An example of the mediainfo command to show the properties, including color depth, of the file gradient_3840-2160_0-50.png:
mediainfo gradient_3840-2160_0-50.png
Example output:
General Complete name : gradient_3840-2160_0-50.png Format : PNG Format/Info : Portable Network Graphic File size : 1.02 MiB Image Format : PNG Format/Info : Portable Network Graphic Compression : Deflate Width : 3 840 pixels Height : 2 160 pixels Color space : RGBA Bit depth : 16 bits Compression mode : Lossless Stream size : 1.02 MiB (100%)
And this mediainfo command will display the technical information for the media file in HEIF format:
mediainfo pattaya.heif
As you can see once again in the following example output, the color depth of this file is 8-bits:
General Complete name : pattaya.heif Format : heic Codec ID : heic (mif1/heic/miaf) File size : 1.06 MiB Image ID : 1 Format : HEVC Format/Info : High Efficiency Video Coding Format profile : Main Still@L6@Main Codec ID : hvc1 Codec ID/Info : High Efficiency Video Coding Width : 4 000 pixels Height : 2 252 pixels Color space : YUV Chroma subsampling : 4:2:0 Bit depth : 8 bits Stream size : 1 000 KiB (93%) Matrix coefficients : BT.601 Color range : Full Describes : 2,3 Codec configuration box : hvcC
How to determine color depth in video
To determine the color depth in a video, you can use the mediainfo utility already mentioned above. By the way, you can also use the GUI version.
Checking the color depth for the video file gradient_1920-1080_25-50_gbrp10le_x265.mp4:
mediainfo gradient_1920-1080_25-50_gbrp10le_x265.mp4
Example output:
Checking another test video file that I shot on my phone with HDR10+ activated for one of the articles:
mediainfo '4K (3840x2160), 30 fps (HDR10+).mp4'
Example output:
Based on the information shown, this video uses 10-bit color depth. But, in fact, I have doubts about this. The thing is that I'm not sure whether my phone's camera sensor supports 10-bit color depth or not. I'm leaning towards the fact that it only supports 8-bit color depth.
By the way, there are similar situations with TVs: some TVs, while claiming to support 8-bit color depth, are actually only capable of displaying 6-bit color.
Related articles:
- How to enable 10-bit color depth on Linux (and whether to enable 30-bit color) (100%)
- WebP image format: converting between formats, WebP lossless and lossy creation and verification in Linux (60.6%)
- Why Google Chrome web browser is gray when 10-bit color is enabled and how to fix it (58%)
- How to watch HDR videos on YouTube on Linux (58%)
- How to determine the number of colors (bits per pixel) in X11 (57.9%)
- Configuring Squid Proxy with Multiple IP Addresses (RANDOM - 50%)