A color space defines how RGB values map to visible colors through specified primaries, a reference white point, and a transfer function. Rec. 709 is used for SDR and HD video, Rec. 2020 for HDR and UHD workflows, and sRGB for standard web and display content. Each space has strict definitions that influence encoding, rendering, and display accuracy across devices.

Understanding Color Spaces

A color space is a system that defines how colors are represented in digital images or video. It ensures that the colors you see on one screen look the same on another. A color space has three key parts:

I. Primaries

These are the specific shades of red, green, and blue used to create all the other colors. Each primary color has its chromaticity coordinates, which define exactly what → red, → → green, → and → blue → mean in that color space.

II. White Point

This defines what the color white looks like in that space. The most commonly used white point is D65, which represents daylight at around 6500K (Kelvin). It helps balance the overall color tone.

III. Transfer Function (OETF/EOTF)

This describes how digital values (like 0"255) are converted into actual light intensity on your screen. OETF (Opto-Electronic Transfer Function) is used when capturing video (camera input). EOTF (Electro-Optical Transfer Function) is used when displaying video (screen output).

These elements together define how digital RGB values correspond to visible color output on a display device.

Rec. 709

Rec. 709 is the standard color space for HD (high definition) television and video production. It is based on the ITU-R BT.709 specification.

  • Primaries: Narrower than Rec. 2020, matching CRT-era displays.
  • White Point: D65
  • Transfer Function: Gamma (approx. 2.4 for mastering, 1.96 for camera capture)
  • Bit Depth: Usually 8-bit, optionally 10-bit in professional formats
  • Color Gamut: Limited, suitable for SDR workflows
Rec. 709

Rec. 709 is intended to display a peak brightness of around 100 nits. It cannot represent high-luminance highlights or extended color ranges seen in HDR content.

Usage SDR: video workflows, broadcast TV, legacy streaming platforms, and environments where color grading is not HDR-aware.

Rec. 2020

Rec. 2020 (ITU-R BT.2020) defines a wide color gamut color space designed for UHD (Ultra High Definition) and HDR video formats.

  • Primaries: Much wider than Rec. 709, encompassing 75.8% of CIE 1931 color space
  • White Point: D65
  • Transfer Functions: PQ (ST 2084), HLG, or linear (depending on HDR format)
  • Bit Depth: Requires minimum 10-bit encoding; supports 12-bit
  • Color Gamut: Wide, includes saturated reds, greens, and blues
Rec. 2020

Rec. 2020 does not assume a fixed transfer function. The EOTF must be explicitly defined using metadata or container signaling. PQ and HLG are commonly used for HDR encoding within Rec. 2020.

Usage: HDR10, Dolby Vision, HLG workflows; UHD Blu-ray; high-fidelity streaming; professional video mastering.

Notes on Compatibility: Displays must support Rec. 2020 and the selected transfer function. Content encoded in Rec. 2020 and decoded without proper tone mapping will exhibit color inaccuracies.

sRGB

sRGB is a standard color space for computer graphics and consumer monitors. It is based on the same primaries and white points as Rec. 709 but uses a different transfer function.

  • Primaries: Identical to Rec. 709
  • White Point: D65
  • Transfer Function: Piecewise gamma (approx. 2.2)
  • Bit Depth: 8-bit standard
  • Color Gamut: Matches Rec. 709
sRGB

The key difference between sRGB and Rec. 709 lies in the transfer function. sRGB is optimized for computer displays and assumes a standard viewing environment. It lacks the precise display-referred brightness expectations used in video systems.

Usage: Web video thumbnails, preview images, UI overlays, still image rendering, and applications where display targets are general-purpose monitors.

Conversion Considerations: When mixing sRGB content (e.g., graphics overlays) with video in Rec. 709 or Rec. 2020, tone mapping or transfer function matching must be applied to avoid perceptual mismatches.

Conversion and Workflow Implications

Color space mismatches can cause clipping, banding, or desaturation. Key points in conversion workflows:

  • Rec. 709 → Rec. 2020: Requires gamut mapping to prevent oversaturation. Expand bit depth during conversion to minimize quantization errors.
  • sRGB → Rec. 709: Match gamma curves or use a linearization + re-encoding pipeline.
  • Rec. 2020 → Rec. 709: Compresses the gamut; tone mapping required for HDR-to-SDR workflows.
  • Metadata Preservation: Ensure proper signaling of color primaries, transfer characteristics, and matrix coefficients in the encoded stream (e.g., via FFmpeg flags or container metadata).

Example FFmpeg command for Rec. 2020 HDR10 encoding:

code
ffmpeg -i input.mov -c:v libx265 -pix_fmt yuv420p10le \-x265-params "colorprim=bt2020:transfer=smpte2084:colormatrix=bt2020nc" \output_hdr10.mp4
HDR10 Encoding Output (Rec. 2020 Workflow)

Summary Table

AttributeRec. 709Rec. 2020sRGB
Use CaseHD video, SDRUHD, HDRGraphics, web
PrimariesNarrowWideNarrow (same as 709)
Transfer FunctionGamma (2.4)PQ, HLG, or linearsRGB gamma (~2.2)
Bit Depth8"10-bit10"12-bit8-bit
Gamut SizeLimitedWideLimited
White PointD65D65D65