Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
63b3f8f
ProPhotoRGB builtin transforms
ssh4net Oct 30, 2025
f594bdc
reverting ocio rst and white space in BuiltinTransforRegistry
ssh4net Oct 31, 2025
078b30c
Revert colorspaces doc. Removed inverse transforms
ssh4net Oct 31, 2025
ae4bf52
Tests update
ssh4net Oct 31, 2025
73fa432
Update ProPhotoRGB transform and tests
ssh4net Nov 3, 2025
46f75db
Fix test data structure in BuiltinTransform_tests.cpp
ssh4net Nov 3, 2025
c53956a
Merge branch 'AcademySoftwareFoundation:main' into ROMM
ssh4net Apr 7, 2026
a970185
Remove ProPhoto sRGB-gamma variant and tests
ssh4net Apr 7, 2026
4680cbf
fix CPU test sources
ssh4net Apr 8, 2026
4667582
Add ROMM->CIE-XYZ builtin and update tests
ssh4net Apr 8, 2026
07bb550
Use ROMM RGB -> XYZ(D50) matrix and adapt
ssh4net Apr 9, 2026
c653713
Update ProPhotoRGB conversion matrix and cleanup
ssh4net Apr 14, 2026
26d5d00
Update ProPhotoRGB conversion matrix and cleanup
ssh4net Apr 14, 2026
7381983
Update ProPhotoRGB conversion matrix and cleanup
ssh4net Apr 14, 2026
728cbac
Merge branch 'ROMM' of https://github.com/ssh4net/OpenColorIO into ROMM
ssh4net Apr 14, 2026
4d42e43
Merge branch 'ROMM' of https://github.com/ssh4net/OpenColorIO into ROMM
ssh4net Apr 14, 2026
6be541c
Merge branch 'ROMM' of https://github.com/ssh4net/OpenColorIO into ROMM
ssh4net Apr 14, 2026
4516b53
Build ROMM->CIE XYZ D65 matrix dynamically
ssh4net Apr 15, 2026
68a797e
Update expected BFD values in BuiltinTransform tests
ssh4net Apr 15, 2026
5b62bea
Require config v2.6 for ROMM/LINEAR builtins
ssh4net Apr 16, 2026
f0a41a9
Fix parentheses in version consistency check
ssh4net Apr 16, 2026
80d0fd1
Support OCIO config minor version 2.6 and tests
ssh4net Apr 17, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 72 additions & 1 deletion docs/guides/authoring/colorspaces.rst
Original file line number Diff line number Diff line change
Expand Up @@ -579,7 +579,7 @@ its transforms.

- !<ColorSpace>
name: sRGB
family:
family:
description: |
sRGB monitor (piecewise EOTF)
isdata: false
Expand All @@ -589,3 +589,74 @@ its transforms.
children:
- !<BuiltinTransform> {style: "DISPLAY - CIE-XYZ-D65_to_sRGB"}
- !<RangeTransform> {min_in_value: 0., min_out_value: 0., max_in_value: 1., max_out_value: 1.}


Using Builtin Transforms
-------------------------
Comment thread
ssh4net marked this conversation as resolved.
Outdated

OCIO provides a set of builtin transforms that implement common color space conversions. These
transforms are pre-defined and maintained as part of the OCIO library, ensuring consistent
behavior across applications.

To use a builtin transform, specify it with the ``!<BuiltinTransform>`` tag and provide the
``style`` parameter with the name of the desired transform. For example:

.. code-block:: yaml

- !<ColorSpace>
name: ProPhoto RGB
description: |
ProPhoto RGB / ROMM RGB (D50 white point, gamma 1.8 encoded)
from_scene_reference: !<BuiltinTransform> {style: "ACES2065-1_to_PROPHOTO-RGB-ENCODED"}

The available builtin transform styles can be queried programmatically using the
BuiltinTransformRegistry API, or by using the ``ociocheck`` command-line tool with the
``--list-builtins`` option.
Comment thread
ssh4net marked this conversation as resolved.
Outdated

ProPhotoRGB / ROMM RGB Builtin Transforms
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

ProPhotoRGB (also known as ROMM RGB) is a wide-gamut color space specified in ANSI/I3A
IT10.7666:2003. OCIO provides builtin transforms to convert between ProPhotoRGB and ACES2065-1.

The following builtin transform styles are available:

Native ROMM RGB (Gamma 1.8):
* ``PROPHOTO-RGB_to_ACES2065-1`` - Linear ProPhoto RGB to ACES2065-1
* ``PROPHOTO-RGB-ENCODED_to_ACES2065-1`` - Gamma 1.8 encoded ProPhoto RGB to ACES2065-1
* ``ACES2065-1_to_PROPHOTO-RGB`` - ACES2065-1 to linear ProPhoto RGB
* ``ACES2065-1_to_PROPHOTO-RGB-ENCODED`` - ACES2065-1 to gamma 1.8 encoded ProPhoto RGB

ProPhoto RGB with sRGB Gamma:
* ``PROPHOTO-RGB-SRGB-GAMMA_to_ACES2065-1`` - sRGB gamma encoded ProPhoto RGB to ACES2065-1
* ``ACES2065-1_to_PROPHOTO-RGB-SRGB-GAMMA`` - ACES2065-1 to sRGB gamma encoded ProPhoto RGB

Example using ProPhotoRGB with gamma 1.8 encoding:

.. code-block:: yaml

colorspaces:
- !<ColorSpace>
name: ProPhoto-RGB-Gamma1.8
family: Input/ProPhotoRGB
description: |
ProPhoto RGB / ROMM RGB with native gamma 1.8 encoding
isdata: false
categories: [ file-io, working-space ]
encoding: sdr-video
to_scene_reference: !<BuiltinTransform> {style: "PROPHOTO-RGB-ENCODED_to_ACES2065-1"}

Example using ProPhotoRGB with sRGB gamma encoding (common in Adobe workflows):

.. code-block:: yaml

colorspaces:
- !<ColorSpace>
name: ProPhoto-RGB-sRGB-Gamma
family: Input/ProPhotoRGB
description: |
ProPhoto RGB with sRGB transfer function (Adobe variant)
isdata: false
categories: [ file-io, working-space ]
encoding: sdr-video
to_scene_reference: !<BuiltinTransform> {style: "PROPHOTO-RGB-SRGB-GAMMA_to_ACES2065-1"}
38 changes: 38 additions & 0 deletions docs/releases/ocio_2_5.rst
Original file line number Diff line number Diff line change
Expand Up @@ -315,6 +315,44 @@ around the origin to pass negative values rather than clamp them:
* ``DISPLAY - CIE-XYZ-D65_to_sRGB - MIRROR NEGS``
* ``DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D65 - MIRROR NEGS``

Comment thread
ssh4net marked this conversation as resolved.
ProPhotoRGB / ROMM RGB Built-in Transforms
*******************************************

For Config Authors
++++++++++++++++++

ProPhotoRGB (also known as ROMM RGB, Reference Output Medium Metric RGB) is now supported as
a set of builtin transforms. ProPhotoRGB is specified in the ANSI/I3A IT10.7666:2003 standard
and is a wide-gamut color space commonly used in photography workflows.

The ProPhotoRGB color primaries are combined with the ACES2065-1 AP0 reference connection
space using Bradford chromatic adaptation to convert between the D50 white point (ProPhotoRGB)
and D60 white point (ACES AP0).

Two transfer function variants are provided:

Native ROMM RGB (Gamma 1.8)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The following styles implement the standard ROMM RGB gamma 1.8 piecewise transfer function:

* ``PROPHOTO-RGB_to_ACES2065-1`` - Convert ProPhoto RGB (linear) to ACES2065-1
* ``PROPHOTO-RGB-ENCODED_to_ACES2065-1`` - Convert ProPhoto RGB (gamma 1.8 encoded) to ACES2065-1
* ``ACES2065-1_to_PROPHOTO-RGB`` - Convert ACES2065-1 to ProPhoto RGB (linear)
* ``ACES2065-1_to_PROPHOTO-RGB-ENCODED`` - Convert ACES2065-1 to ProPhoto RGB (gamma 1.8 encoded)

The gamma 1.8 curve is a piecewise function with a linear segment below 0.001953 (slope of 16)
and a power function above that breakpoint.

ProPhoto RGB with sRGB Gamma
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The following styles use ProPhotoRGB primaries but with the sRGB transfer function (gamma 2.4,
offset 0.055). This variant is commonly used in Adobe applications and other photography workflows:

* ``PROPHOTO-RGB-SRGB-GAMMA_to_ACES2065-1`` - Convert ProPhoto RGB (sRGB gamma) to ACES2065-1
* ``ACES2065-1_to_PROPHOTO-RGB-SRGB-GAMMA`` - Convert ACES2065-1 to ProPhoto RGB (sRGB gamma)


Release Notes
=============
Expand Down
1 change: 1 addition & 0 deletions src/OpenColorIO/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,7 @@ set(SOURCES
transforms/builtins/CanonCameras.cpp
transforms/builtins/Displays.cpp
transforms/builtins/PanasonicCameras.cpp
transforms/builtins/ProPhotoRGB.cpp
transforms/builtins/RedCameras.cpp
transforms/builtins/SonyCameras.cpp
transforms/BuiltinTransform.cpp
Expand Down
Loading
Loading