Skip to content

Rec. 709 (OETF)

New 2.4

The Rec. 709 (OETF) color space is not registered in Color by default

Properties

Name: rec709-oetf

White Point: D65 / 2˚

Coordinates:

Name Range*
r [0, 1]
g [0, 1]
b [0, 1]

* Range denotes in gamut colors, but the color space supports an extended range beyond the gamut.

sRGB

Figure 1. CIE 1931 xy Chromaticity – Rec. 709 Chromaticities

Rec. 709 (also known as Rec.709, BT.709, and ITU 709) is a standard developed by ITU-R for image encoding and signal characteristics of high-definition television (HDTV). The color space is similar to sRGB in the fact that the primary chromaticities and white points are identical, the difference is the transfer function.

This Rec. 709 variant uses the same transfer function as specified in Rec. 2020's spec, though the precision of the constants are at 10 bit instead of 12 bit or greater. This provides a scene-referred color space.

Learn about Rec. 709

Channel Aliases

Channels Aliases
r red
g green
b blue

Input/Output

Rec. 709 is not supported via the CSS spec and the parser input and string output only supports the color() function format using the custom name --rec709-oetf:

color(--rec709-oetf r g b / a)  // Color function

When manually creating a color via raw data or specifying a color space as a parameter in a function, the color space name is always used:

Color("rec709-oetf", [0, 0, 0], 1)

The string representation of the color object and the default string output will be in the color(--rec709-oetf r g b / a) form.

>>> Color("rec709-oetf", [1, 0, 0], 1)
color(--rec709-oetf 1 0 0 / 1)
>>> Color("rec709-oetf", [1, 0.60879, 0], 1).to_string()
'color(--rec709-oetf 1 0.60879 0)'

Registering

from coloraide import Color as Base
from coloraide.spaces.rec709 import Rec709

class Color(Base): ...

Color.register(Rec709())