From d94474a2efc4d1b22e89f00ca5f625ffaf7de83a Mon Sep 17 00:00:00 2001 From: Geedoubleu Date: Fri, 26 Sep 2025 16:48:11 +0200 Subject: [PATCH] Color Management: Add ACES 1.0 and 1.1 view transforms for SDR and HDR Useful for: - Matching old looks - ACES 1.0 based pipelines - Software support - Stylistic reasons Ref #146805 Pull Request: https://projects.blender.org/blender/blender/pulls/146805 --- release/datafiles/colormanagement/config.ocio | 83 ++++++++++++++++++- 1 file changed, 82 insertions(+), 1 deletion(-) diff --git a/release/datafiles/colormanagement/config.ocio b/release/datafiles/colormanagement/config.ocio index 9270b5a7db6..474de2a1b61 100644 --- a/release/datafiles/colormanagement/config.ocio +++ b/release/datafiles/colormanagement/config.ocio @@ -57,6 +57,7 @@ roles: displays: sRGB: - ! {name: Standard, view_transform: Standard, display_colorspace: sRGB} + - ! {name: ACES 1.3, view_transform: ACES 1.3 Rec.1886, display_colorspace: sRGB} - ! {name: ACES 2.0, view_transform: ACES 2.0 Rec.1886, display_colorspace: sRGB} - ! {name: Khronos PBR Neutral, view_transform: Khronos PBR Neutral sRGB, display_colorspace: sRGB} - ! {name: AgX, view_transform: AgX Base Rec.1886, display_colorspace: sRGB} @@ -66,24 +67,31 @@ displays: - ! {name: Raw, colorspace: Non-Color} Display P3: - ! {name: Standard, view_transform: Standard, display_colorspace: Display P3} + - ! {name: ACES 1.3, view_transform: ACES 1.3 Display P3, display_colorspace: Display P3} - ! {name: ACES 2.0, view_transform: ACES 2.0 Display P3, display_colorspace: Display P3} - ! {name: AgX, view_transform: AgX Base Display P3, display_colorspace: Display P3} - ! {name: False Color, view_transform: AgX False Color Rec.709, display_colorspace: Display P3} - ! {name: Raw, colorspace: Non-Color} Rec.1886: - ! {name: Standard, view_transform: Standard, display_colorspace: Rec.1886} + - ! {name: ACES 1.3, view_transform: ACES 1.3 Rec.1886, display_colorspace: Rec.1886} - ! {name: ACES 2.0, view_transform: ACES 2.0 Rec.1886, display_colorspace: Rec.1886} - ! {name: AgX, view_transform: AgX Base Rec.1886, display_colorspace: Rec.1886} - ! {name: False Color, view_transform: AgX False Color Rec.709, display_colorspace: Rec.1886} - ! {name: Raw, colorspace: Non-Color} Rec.2020: - ! {name: Standard, view_transform: Standard, display_colorspace: Rec.2020} + - ! {name: ACES 1.3, view_transform: ACES 1.3 Display P3, display_colorspace: Rec.2020} - ! {name: ACES 2.0, view_transform: ACES 2.0 Display P3, display_colorspace: Rec.2020} - ! {name: AgX, view_transform: AgX Base Rec.2020, display_colorspace: Rec.2020} - ! {name: False Color, view_transform: AgX False Color Rec.709, display_colorspace: Rec.2020} - ! {name: Raw, colorspace: Non-Color} Rec.2100-PQ: - ! {name: Standard, view_transform: Standard, display_colorspace: Rec.2100-PQ} + - ! {name: ACES 1.3 - HDR 1000 nits, view_transform: ACES 1.1 Rec.2100-PQ - HDR 1000 nits, display_colorspace: Rec.2100-PQ} + - ! {name: ACES 1.3 - HDR 2000 nits, view_transform: ACES 1.1 Rec.2100-PQ - HDR 2000 nits, display_colorspace: Rec.2100-PQ} + - ! {name: ACES 1.3 - HDR 4000 nits, view_transform: ACES 1.1 Rec.2100-PQ - HDR 4000 nits, display_colorspace: Rec.2100-PQ} + - ! {name: ACES 1.3 - SDR, view_transform: ACES 1.3 Rec.1886, display_colorspace: Rec.2100-PQ} - ! {name: ACES 2.0 - HDR 500 nits, view_transform: ACES 2.0 Rec.2100-PQ - HDR 500 nits, display_colorspace: Rec.2100-PQ} - ! {name: ACES 2.0 - HDR 1000 nits, view_transform: ACES 2.0 Rec.2100-PQ - HDR 1000 nits, display_colorspace: Rec.2100-PQ} - ! {name: ACES 2.0 - HDR 2000 nits, view_transform: ACES 2.0 Rec.2100-PQ - HDR 2000 nits, display_colorspace: Rec.2100-PQ} @@ -95,6 +103,8 @@ displays: - ! {name: Raw, colorspace: Non-Color} Rec.2100-HLG: - ! {name: Standard, view_transform: Standard, display_colorspace: Rec.2100-HLG} + - ! {name: ACES 1.3 - HDR 1000 nits, view_transform: ACES 1.1 Rec.2100-PQ - HDR 1000 nits, display_colorspace: Rec.2100-HLG} + - ! {name: ACES 1.3 - SDR, view_transform: ACES 1.3 Rec.1886, display_colorspace: Rec.2100-HLG} - ! {name: ACES 2.0 - HDR 1000 nits, view_transform: ACES 2.0 Rec.2100-PQ - HDR 1000 nits, display_colorspace: Rec.2100-HLG} - ! {name: ACES 2.0 - SDR, view_transform: ACES 2.0 Rec.1886, display_colorspace: Rec.2100-HLG} - ! {name: AgX - HDR 1000 nits, view_transform: AgX Rec.2100-HLG - HDR 1000 nits (P3 D65), display_colorspace: Rec.2100-HLG} @@ -102,7 +112,7 @@ displays: - ! {name: False Color, view_transform: AgX False Color Rec.709, display_colorspace: Rec.2100-HLG} - ! {name: Raw, colorspace: Non-Color} active_displays: [sRGB, Display P3, Rec.1886, Rec.2020, Rec.2100-PQ, Rec.2100-HLG] -active_views: [Standard, ACES 2.0, ACES 2.0 - HDR 500 nits, ACES 2.0 - HDR 1000 nits, ACES 2.0 - HDR 2000 nits, ACES 2.0 - HDR 4000 nits, ACES 2.0 - SDR, Khronos PBR Neutral, AgX, AgX - HDR 1000 nits, AgX - SDR, Filmic, Filmic Log, False Color, Raw] +active_views: [Standard, ACES 1.3, ACES 1.3 - HDR 1000 nits, ACES 1.3 - HDR 2000 nits, ACES 1.3 - HDR 4000 nits, ACES 1.3 - SDR, ACES 2.0, ACES 2.0 - HDR 500 nits, ACES 2.0 - HDR 1000 nits, ACES 2.0 - HDR 2000 nits, ACES 2.0 - HDR 4000 nits, ACES 2.0 - SDR, Khronos PBR Neutral, AgX, AgX - HDR 1000 nits, AgX - SDR, Filmic, Filmic Log, False Color, Raw] inactive_colorspaces: [Luminance Compensation Rec.2020] display_colorspaces: @@ -225,6 +235,21 @@ display_colorspaces: - ! {src: AgX_Base_sRGB.cube, interpolation: tetrahedral} - ! {src: Rec.1886, dst: sRGB} + - ! + name: ACES 1.3 sRGB + family: Legacy + equalitygroup: + bitdepth: 32f + description: | + ACES 1.0 Output Transform for SDR D65 video, limited to Rec.709 gamut + encoding: sdr-video + isdata: false + from_display_reference: ! + children: + - ! {src: cie_xyz_d65_interchange, dst: ACES2065-1} + - ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-VIDEO_1.0} + - ! {style: DISPLAY - CIE-XYZ-D65_to_sRGB} + - ! name: ACES 2.0 sRGB family: Legacy @@ -352,6 +377,56 @@ view_transforms: - ! {src: pbrNeutral.cube, interpolation: tetrahedral} - ! {src: Linear Rec.709, dst: cie_xyz_d65_interchange} + - ! + name: ACES 1.3 Display P3 + family: ACES + description: | + ACES 1.1 Output Transform for SDR D65 video, limited to P3 gamut + from_scene_reference: ! + children: + - ! {src: Linear CIE-XYZ E, dst: ACES2065-1} + - ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-VIDEO-P3lim_1.1} + + - ! + name: ACES 1.3 Rec.1886 + family: ACES + description: | + ACES 1.0 Output Transform for SDR D65 video, limited to Rec.709 gamut + from_scene_reference: ! + children: + - ! {src: Linear CIE-XYZ E, dst: ACES2065-1} + - ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-VIDEO_1.0} + + - ! + name: ACES 1.1 Rec.2100-PQ - HDR 1000 nits + family: ACES + description: | + ACES 1.1 Output Transform for 1000 nit HDR D65 video, limited to Rec.2020 gamut + from_scene_reference: ! + children: + - ! {src: Linear CIE-XYZ E, dst: ACES2065-1} + - ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-VIDEO-1000nit-15nit-REC2020lim_1.1} + + - ! + name: ACES 1.1 Rec.2100-PQ - HDR 2000 nits + family: ACES + description: | + ACES Output Transform for 2000 nit HDR D65 video, limited to Rec.2020 gamut + from_scene_reference: ! + children: + - ! {src: Linear CIE-XYZ E, dst: ACES2065-1} + - ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-VIDEO-2000nit-15nit-REC2020lim_1.1} + + - ! + name: ACES 1.1 Rec.2100-PQ - HDR 4000 nits + family: ACES + description: | + ACES Output Transform for 4000 nit HDR D65 video, limited to Rec.2020 gamut + from_scene_reference: ! + children: + - ! {src: Linear CIE-XYZ E, dst: ACES2065-1} + - ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-VIDEO-4000nit-15nit-REC2020lim_1.1} + - ! name: ACES 2.0 Display P3 family: ACES @@ -834,6 +909,12 @@ looks: saturation: 1.15 pivot: {contrast: -0.2} + - ! + name: ACES 1.3 - Reference Gamut Compression + process_space: ACES2065-1 + description: Compress scene-referred values from common cameras into the ACEScg gamut + transform: ! {style: ACES-LMT - ACES 1.3 Reference Gamut Compression} + - ! name: ACES 2.0 - Reference Gamut Compression process_space: ACES2065-1