diff --git a/include/OpenColorIO/OpenColorIO.h b/include/OpenColorIO/OpenColorIO.h index 034ff03f43..514fcc3db0 100644 --- a/include/OpenColorIO/OpenColorIO.h +++ b/include/OpenColorIO/OpenColorIO.h @@ -343,8 +343,14 @@ class OCIOEXPORT Config * \param configName Built-in config name. * * The available configNames are: - * "cg-config-v0.1.0_aces-v1.3_ocio-v2.1.1" -- ACES CG config, basic color spaces for computer - * graphics apps. More information about these configs is available at: + * + * ACES Studio config, contains a more complete collection of color spaces and displays: + * "studio-config-v1.0.0_aces-v1.3_ocio-v2.1" + * + * ACES CG config, basic color spaces for computer graphics apps: + * "cg-config-v1.0.0_aces-v1.3_ocio-v2.1" + * + * More information is available at: * %https://github.com/AcademySoftwareFoundation/OpenColorIO-Config-ACES * * Information about the available configs is available from the \ref BuiltinConfigRegistry. diff --git a/src/OpenColorIO/CMakeLists.txt b/src/OpenColorIO/CMakeLists.txt index f11605bd06..ab9c048126 100755 --- a/src/OpenColorIO/CMakeLists.txt +++ b/src/OpenColorIO/CMakeLists.txt @@ -12,6 +12,7 @@ set(SOURCES BitDepthUtils.cpp builtinconfigs/BuiltinConfigRegistry.cpp builtinconfigs/CGConfig.cpp + builtinconfigs/StudioConfig.cpp Caching.cpp ColorSpace.cpp ColorSpaceSet.cpp diff --git a/src/OpenColorIO/builtinconfigs/BuiltinConfigRegistry.cpp b/src/OpenColorIO/builtinconfigs/BuiltinConfigRegistry.cpp index 2726262275..f9f3f95300 100644 --- a/src/OpenColorIO/builtinconfigs/BuiltinConfigRegistry.cpp +++ b/src/OpenColorIO/builtinconfigs/BuiltinConfigRegistry.cpp @@ -13,6 +13,7 @@ #include "builtinconfigs/BuiltinConfigRegistry.h" #include "builtinconfigs/CGConfig.h" +#include "builtinconfigs/StudioConfig.h" #define OUT_OF_RANGE_EXCEPTION_TEXT "Config index is out of range." @@ -42,9 +43,11 @@ void BuiltinConfigRegistryImpl::init() noexcept if (m_builtinConfigs.empty()) { m_builtinConfigs.clear(); + CGCONFIG::Register(*this); + STUDIOCONFIG::Register(*this); - this->setDefaultBuiltinConfig("cg-config-v0.1.0_aces-v1.3_ocio-v2.1.1"); + this->setDefaultBuiltinConfig("cg-config-v1.0.0_aces-v1.3_ocio-v2.1"); } } diff --git a/src/OpenColorIO/builtinconfigs/CG.cpp.in b/src/OpenColorIO/builtinconfigs/CG.cpp.in index 8ba516bab0..62d2b19e22 100644 --- a/src/OpenColorIO/builtinconfigs/CG.cpp.in +++ b/src/OpenColorIO/builtinconfigs/CG.cpp.in @@ -8,4 +8,4 @@ // - CGConfig.cpp for the Built-in config feature. // - BuiltinConfigRegistry_tests.cpp for the unit tests -constexpr char CG_CONFIG_V010_ACES_V130_OCIO_V211[] = { @cg-config-v0.1.0_aces-v1.3_ocio-v2.1.1@ }; +constexpr char CG_CONFIG_V100_ACES_V13_OCIO_V21[] = { @cg-config-v1.0.0_aces-v1.3_ocio-v2.1@ }; diff --git a/src/OpenColorIO/builtinconfigs/CGConfig.cpp b/src/OpenColorIO/builtinconfigs/CGConfig.cpp index b70fe2e798..489e856bb5 100644 --- a/src/OpenColorIO/builtinconfigs/CGConfig.cpp +++ b/src/OpenColorIO/builtinconfigs/CGConfig.cpp @@ -15,13 +15,12 @@ namespace OCIO_NAMESPACE namespace CGCONFIG { -// Register CG configs. void Register(BuiltinConfigRegistryImpl & registry) noexcept { registry.addBuiltin( - "cg-config-v0.1.0_aces-v1.3_ocio-v2.1.1", - "Academy Color Encoding System - CG Config [COLORSPACES v0.1.0] [ACES v1.3] [OCIO v2.1.1]", - CG_CONFIG_V010_ACES_V130_OCIO_V211, + "cg-config-v1.0.0_aces-v1.3_ocio-v2.1", + "Academy Color Encoding System - CG Config [COLORSPACES v1.0.0] [ACES v1.3] [OCIO v2.1]", + CG_CONFIG_V100_ACES_V13_OCIO_V21, true ); } diff --git a/src/OpenColorIO/builtinconfigs/Studio.cpp.in b/src/OpenColorIO/builtinconfigs/Studio.cpp.in new file mode 100644 index 0000000000..71f037226c --- /dev/null +++ b/src/OpenColorIO/builtinconfigs/Studio.cpp.in @@ -0,0 +1,9 @@ +// SPDX-License-Identifier: BSD-3-Clause +// Copyright Contributors to the OpenColorIO Project. + +// The file extension cpp (instead of an header .h) was used here to highlight the fact that +// this file should not be included more then ONCE in OCIO. + +constexpr char STUDIO_CONFIG_V100_ACES_V13_OCIO_V21[] = { + @studio-config-v1.0.0_aces-v1.3_ocio-v2.1@ +}; diff --git a/src/OpenColorIO/builtinconfigs/StudioConfig.cpp b/src/OpenColorIO/builtinconfigs/StudioConfig.cpp new file mode 100644 index 0000000000..bb850999aa --- /dev/null +++ b/src/OpenColorIO/builtinconfigs/StudioConfig.cpp @@ -0,0 +1,29 @@ +// SPDX-License-Identifier: BSD-3-Clause +// Copyright Contributors to the OpenColorIO Project. + +#include +#include "builtinconfigs/BuiltinConfigRegistry.h" +#include "builtinconfigs/StudioConfig.h" + +#include "Studio.cpp" + +namespace OCIO_NAMESPACE +{ +// Create the built-in configs for all versions of the OCIO Studio config for ACES. +// For backwards compatibility, previous versions are kept in the registry but the +// isRecommended flag should be set to false. + +namespace STUDIOCONFIG +{ +void Register(BuiltinConfigRegistryImpl & registry) noexcept +{ + registry.addBuiltin( + "studio-config-v1.0.0_aces-v1.3_ocio-v2.1", + "Academy Color Encoding System - Studio Config [COLORSPACES v1.0.0] [ACES v1.3] [OCIO v2.1]", + STUDIO_CONFIG_V100_ACES_V13_OCIO_V21, + true + ); +} + +} // namespace STUDIOCONFIG +} // namespace OCIO_NAMESPACE diff --git a/src/OpenColorIO/builtinconfigs/StudioConfig.h b/src/OpenColorIO/builtinconfigs/StudioConfig.h new file mode 100644 index 0000000000..43266c5cd7 --- /dev/null +++ b/src/OpenColorIO/builtinconfigs/StudioConfig.h @@ -0,0 +1,24 @@ +// SPDX-License-Identifier: BSD-3-Clause +// Copyright Contributors to the OpenColorIO Project. + + +#ifndef INCLUDED_OCIO_STUDIOCONFIG_H +#define INCLUDED_OCIO_STUDIOCONFIG_H + + +#include +#include "builtinconfigs/BuiltinConfigRegistry.h" + +namespace OCIO_NAMESPACE +{ + +class BuiltinConfigRegistryImpl; + +namespace STUDIOCONFIG +{ + void Register(BuiltinConfigRegistryImpl & registry) noexcept; +} // namespace STUDIOCONFIG + +} // namespace OCIO_NAMESPACE + +#endif // INCLUDED_OCIO_STUDIOCONFIG_H diff --git a/src/OpenColorIO/builtinconfigs/configs/cg-config-v0.1.0_aces-v1.3_ocio-v2.1.1.ocio b/src/OpenColorIO/builtinconfigs/configs/cg-config-v1.0.0_aces-v1.3_ocio-v2.1.ocio similarity index 56% rename from src/OpenColorIO/builtinconfigs/configs/cg-config-v0.1.0_aces-v1.3_ocio-v2.1.1.ocio rename to src/OpenColorIO/builtinconfigs/configs/cg-config-v1.0.0_aces-v1.3_ocio-v2.1.ocio index 5450988121..bae8f68094 100644 --- a/src/OpenColorIO/builtinconfigs/configs/cg-config-v0.1.0_aces-v1.3_ocio-v2.1.1.ocio +++ b/src/OpenColorIO/builtinconfigs/configs/cg-config-v1.0.0_aces-v1.3_ocio-v2.1.ocio @@ -5,60 +5,73 @@ environment: search_path: "" strictparsing: true luma: [0.2126, 0.7152, 0.0722] -name: cg-config-v0.1.0_aces-v1.3_ocio-v2.1.1 +name: cg-config-v1.0.0_aces-v1.3_ocio-v2.1 description: | - The "Academy Color Encoding System" (ACES v1.3) "CG Config" - ----------------------------------------------------------- + Academy Color Encoding System - CG Config [COLORSPACES v1.0.0] [ACES v1.3] [OCIO v2.1] + -------------------------------------------------------------------------------------- This minimalistic "OpenColorIO" config is geared toward computer graphics artists requiring a lean config that does not include camera colorspaces and the less common displays and looks. - Generated with "OpenColorIO-Config-ACES" v0.1.1-14-gec7d1cf on the 2022/05/12 at 00:34. + Generated with "OpenColorIO-Config-ACES" v1.0.0 on the 2022/10/26 at 05:59. roles: - aces_interchange: ACES - ACES2065-1 + aces_interchange: ACES2065-1 cie_xyz_d65_interchange: CIE-XYZ-D65 - color_timing: ACES - ACEScct - compositing_log: ACES - ACEScct - data: Utility - Raw - default: ACES - ACES2065-1 - scene_linear: ACES - ACEScg + color_picking: sRGB - Texture + color_timing: ACEScct + compositing_log: ACEScct + data: Raw + matte_paint: sRGB - Texture + scene_linear: ACEScg + texture_paint: ACEScct file_rules: - - ! {name: Default, colorspace: ACES - ACES2065-1} + - ! {name: Default, colorspace: ACES2065-1} shared_views: - - ! {name: Output - SDR Video - ACES 1.0, view_transform: Output - SDR Video - ACES 1.0, display_colorspace: } - - ! {name: Output - HDR Video (1000 nits & Rec.2020 lim) - ACES 1.1, view_transform: Output - HDR Video (1000 nits & Rec.2020 lim) - ACES 1.1, display_colorspace: } - - ! {name: Output - HDR Video (1000 nits & P3 lim) - ACES 1.1, view_transform: Output - HDR Video (1000 nits & P3 lim) - ACES 1.1, display_colorspace: } - - ! {name: Output - SDR Cinema - ACES 1.0, view_transform: Output - SDR Cinema - ACES 1.0, display_colorspace: } + - ! {name: ACES 1.0 - SDR Video, view_transform: ACES 1.0 - SDR Video, display_colorspace: } + - ! {name: ACES 1.1 - HDR Video (1000 nits & Rec.2020 lim), view_transform: ACES 1.1 - HDR Video (1000 nits & Rec.2020 lim), display_colorspace: } + - ! {name: ACES 1.1 - HDR Video (1000 nits & P3 lim), view_transform: ACES 1.1 - HDR Video (1000 nits & P3 lim), display_colorspace: } + - ! {name: ACES 1.0 - SDR Cinema, view_transform: ACES 1.0 - SDR Cinema, display_colorspace: } - ! {name: Un-tone-mapped, view_transform: Un-tone-mapped, display_colorspace: } displays: - Display - sRGB: - - ! {name: Raw, colorspace: Utility - Raw} - - ! [Output - SDR Video - ACES 1.0, Un-tone-mapped] - Display - Rec.1886 / Rec.709 Video: - - ! {name: Raw, colorspace: Utility - Raw} - - ! [Output - SDR Video - ACES 1.0, Un-tone-mapped] - Display - Rec.2100-PQ: - - ! {name: Raw, colorspace: Utility - Raw} - - ! [Output - HDR Video (1000 nits & Rec.2020 lim) - ACES 1.1, Un-tone-mapped] - Display - ST2084-P3-D65: - - ! {name: Raw, colorspace: Utility - Raw} - - ! [Output - HDR Video (1000 nits & P3 lim) - ACES 1.1, Un-tone-mapped] - Display - P3-D65: - - ! {name: Raw, colorspace: Utility - Raw} - - ! [Output - SDR Cinema - ACES 1.0, Un-tone-mapped] - -active_displays: [Display - sRGB, Display - Rec.1886 / Rec.709 Video, Display - Rec.2100-PQ, Display - ST2084-P3-D65, Display - P3-D65] -active_views: [Output - SDR Video - ACES 1.0, Output - HDR Video (1000 nits & Rec.2020 lim) - ACES 1.1, Output - HDR Video (1000 nits & P3 lim) - ACES 1.1, Output - SDR Cinema - ACES 1.0, Raw] -inactive_colorspaces: [CIE-XYZ-D65] + sRGB - Display: + - ! {name: Raw, colorspace: Raw} + - ! [ACES 1.0 - SDR Video, Un-tone-mapped] + Rec.1886 Rec.709 - Display: + - ! {name: Raw, colorspace: Raw} + - ! [ACES 1.0 - SDR Video, Un-tone-mapped] + Rec.2100-PQ - Display: + - ! {name: Raw, colorspace: Raw} + - ! [ACES 1.1 - HDR Video (1000 nits & Rec.2020 lim), Un-tone-mapped] + ST2084-P3-D65 - Display: + - ! {name: Raw, colorspace: Raw} + - ! [ACES 1.1 - HDR Video (1000 nits & P3 lim), Un-tone-mapped] + P3-D65 - Display: + - ! {name: Raw, colorspace: Raw} + - ! [ACES 1.0 - SDR Cinema, Un-tone-mapped] + +active_displays: [sRGB - Display, Rec.1886 Rec.709 - Display, Rec.2100-PQ - Display, ST2084-P3-D65 - Display, P3-D65 - Display] +active_views: [ACES 1.0 - SDR Video, ACES 1.1 - HDR Video (1000 nits & Rec.2020 lim), ACES 1.1 - HDR Video (1000 nits & P3 lim), ACES 1.0 - SDR Cinema, Un-tone-mapped, Raw] +inactive_colorspaces: [CIE-XYZ-D65, sRGB - Display, Rec.1886 Rec.709 - Display, Rec.1886 Rec.2020 - Display, sRGB - Display, Rec.1886 Rec.709 - Display, Rec.1886 Rec.2020 - Display, Rec.1886 Rec.2020 - Display, Rec.2100-HLG - Display, Rec.2100-PQ - Display, Rec.2100-PQ - Display, Rec.2100-PQ - Display, ST2084-P3-D65 - Display, ST2084-P3-D65 - Display, ST2084-P3-D65 - Display, P3-D60 - Display, P3-D65 - Display, P3-D65 - Display, P3-D65 - Display, P3-DCI - Display, P3-DCI - Display, ST2084-P3-D65 - Display] + +looks: + - ! + name: ACES 1.3 Reference Gamut Compression + process_space: ACES2065-1 + description: | + LMT (applied in ACES2065-1) to compress scene-referred values from common cameras into the AP1 gamut + + ACEStransformID: urn:ampas:aces:transformId:v1.5:LMT.Academy.GamutCompress.a1.3.0 + transform: ! {style: ACES-LMT - ACES 1.3 Reference Gamut Compression} + default_view_transform: Un-tone-mapped view_transforms: - ! - name: Output - SDR Video - ACES 1.0 + name: ACES 1.0 - SDR Video description: | Component of ACES Output Transforms for SDR D65 video @@ -68,7 +81,7 @@ view_transforms: from_scene_reference: ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-VIDEO_1.0} - ! - name: Output - HDR Video (1000 nits & Rec.2020 lim) - ACES 1.1 + name: ACES 1.1 - HDR Video (1000 nits & Rec.2020 lim) description: | Component of ACES Output Transforms for 1000 nit HDR D65 video @@ -77,7 +90,7 @@ view_transforms: from_scene_reference: ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-VIDEO-1000nit-15nit-REC2020lim_1.1} - ! - name: Output - HDR Video (1000 nits & P3 lim) - ACES 1.1 + name: ACES 1.1 - HDR Video (1000 nits & P3 lim) description: | Component of ACES Output Transforms for 1000 nit HDR D65 video @@ -85,7 +98,7 @@ view_transforms: from_scene_reference: ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-VIDEO-1000nit-15nit-P3lim_1.1} - ! - name: Output - SDR Cinema - ACES 1.0 + name: ACES 1.0 - SDR Cinema description: | Component of ACES Output Transforms for SDR cinema @@ -100,6 +113,7 @@ view_transforms: display_colorspaces: - ! name: CIE-XYZ-D65 + aliases: [cie_xyz_d65] family: "" equalitygroup: "" bitdepth: 32f @@ -108,7 +122,8 @@ display_colorspaces: allocation: uniform - ! - name: Display - sRGB + name: sRGB - Display + aliases: [srgb_display] family: Display equalitygroup: "" bitdepth: 32f @@ -120,7 +135,8 @@ display_colorspaces: from_display_reference: ! {style: DISPLAY - CIE-XYZ-D65_to_sRGB} - ! - name: Display - Rec.1886 / Rec.709 Video + name: Rec.1886 Rec.709 - Display + aliases: [rec1886_rec709_display] family: Display equalitygroup: "" bitdepth: 32f @@ -132,7 +148,8 @@ display_colorspaces: from_display_reference: ! {style: DISPLAY - CIE-XYZ-D65_to_REC.1886-REC.709} - ! - name: Display - Rec.2100-PQ + name: Rec.2100-PQ - Display + aliases: [rec2100_pq_display] family: Display equalitygroup: "" bitdepth: 32f @@ -144,7 +161,8 @@ display_colorspaces: from_display_reference: ! {style: DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ} - ! - name: Display - ST2084-P3-D65 + name: ST2084-P3-D65 - Display + aliases: [st2084_p3d65_display] family: Display equalitygroup: "" bitdepth: 32f @@ -156,7 +174,8 @@ display_colorspaces: from_display_reference: ! {style: DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65} - ! - name: Display - P3-D65 + name: P3-D65 - Display + aliases: [p3d65_display] family: Display equalitygroup: "" bitdepth: 32f @@ -169,27 +188,20 @@ display_colorspaces: colorspaces: - ! - name: ACES - ACES2065-1 + name: ACES2065-1 + aliases: [aces2065_1, ACES - ACES2065-1, lin_ap0] family: ACES equalitygroup: "" bitdepth: 32f description: The "Academy Color Encoding System" reference colorspace. isdata: false - encoding: scene-linear - allocation: uniform - - - ! - name: Utility - Raw - family: Utility - equalitygroup: "" - bitdepth: 32f - description: The utility "Raw" colorspace. - isdata: true categories: [file-io] + encoding: scene-linear allocation: uniform - ! - name: ACES - ACEScc + name: ACEScc + aliases: [ACES - ACEScc, acescc_ap1] family: ACES equalitygroup: "" bitdepth: 32f @@ -204,7 +216,8 @@ colorspaces: to_scene_reference: ! {style: ACEScc_to_ACES2065-1} - ! - name: ACES - ACEScct + name: ACEScct + aliases: [ACES - ACEScct, acescct_ap1] family: ACES equalitygroup: "" bitdepth: 32f @@ -219,7 +232,8 @@ colorspaces: to_scene_reference: ! {style: ACEScct_to_ACES2065-1} - ! - name: ACES - ACEScg + name: ACEScg + aliases: [ACES - ACEScg, lin_ap1] family: ACES equalitygroup: "" bitdepth: 32f @@ -234,197 +248,219 @@ colorspaces: to_scene_reference: ! {style: ACEScg_to_ACES2065-1} - ! - name: Input - Generic - sRGB - Texture - family: Input + name: Linear P3-D65 + aliases: [lin_p3d65, Utility - Linear - P3-D65] + family: Utility equalitygroup: "" bitdepth: 32f description: | - Convert ACES2065-1 to sRGB + Convert ACES2065-1 to linear P3 primaries, D65 white point - CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Input:AP0_to_Rec709-sRGB:1.0 + CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Linear_P3-D65:1.0 isdata: false - categories: [file-io] - encoding: sdr-video + categories: [file-io, working-space] + encoding: scene-linear allocation: uniform from_scene_reference: ! - name: AP0 to Rec.709 - sRGB + name: AP0 to Linear P3-D65 children: - - ! {matrix: [2.52140088857822, -1.13399574938275, -0.387561856768867, 0, -0.276214061561748, 1.37259556630409, -0.0962823557364663, 0, -0.0153202000774786, -0.152992561800699, 1.16838719961932, 0, 0, 0, 0, 1]} - - ! {gamma: 2.4, offset: 0.055, direction: inverse} + - ! {matrix: [2.02490528596679, -0.689069761034766, -0.335835524932019, 0, -0.183597032256178, 1.28950620775902, -0.105909175502841, 0, 0.00905856112234766, -0.0592796840575522, 1.0502211229352, 0, 0, 0, 0, 1]} - ! - name: Utility - Gamma 1.8 - Rec.709 - Texture + name: Linear Rec.2020 + aliases: [lin_rec2020, Utility - Linear - Rec.2020] family: Utility equalitygroup: "" bitdepth: 32f description: | - Convert ACES2065-1 to 1.8 gamma-corrected Rec.709 primaries, D65 white point + Convert ACES2065-1 to linear Rec.2020 primaries, D65 white point - CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Rec709-Gamma1.8:1.0 + CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Linear_Rec2020:1.0 isdata: false categories: [file-io] - encoding: sdr-video + encoding: scene-linear allocation: uniform from_scene_reference: ! - name: AP0 to Rec.709 - Gamma 1.8 + name: AP0 to Linear Rec.2020 children: - - ! {matrix: [2.52168618656692, -1.13413098821872, -0.387555198596398, 0, -0.276479914127004, 1.37271908764283, -0.096239173446097, 0, -0.0153780649756516, -0.152975335864565, 1.16835340089139, 0, 0, 0, 0, 1]} - - ! {value: 1.8, style: pass_thru, direction: inverse} + - ! {matrix: [1.49040952054172, -0.26617091926613, -0.224238601275593, 0, -0.0801674998722558, 1.18216712109757, -0.10199962122531, 0, 0.00322763119162216, -0.0347764757450576, 1.03154884455344, 0, 0, 0, 0, 1]} - ! - name: Utility - Gamma 2.2 - AP1 - Texture + name: Linear Rec.709 (sRGB) + aliases: [lin_rec709_srgb, Utility - Linear - Rec.709, lin_rec709, lin_srgb, Utility - Linear - sRGB] family: Utility equalitygroup: "" bitdepth: 32f description: | - Convert ACES2065-1 to 2.2 gamma-corrected AP1 primaries, D60 white point + Convert ACES2065-1 to linear Rec.709 primaries, D65 white point - CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_AP1-Gamma2.2:1.0 + CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Linear_Rec709:1.0 isdata: false - categories: [file-io] - encoding: sdr-video + categories: [file-io, working-space] + encoding: scene-linear allocation: uniform from_scene_reference: ! - name: AP0 to AP1 - Gamma 2.2 + name: AP0 to Linear Rec.709 (sRGB) children: - - ! {matrix: [1.45143931607166, -0.23651074688936, -0.214928569308364, 0, -0.0765537733142628, 1.17622969981179, -0.0996759264503605, 0, 0.00831614842496078, -0.0060324497909093, 0.997716301412982, 0, 0, 0, 0, 1]} - - ! {value: 2.2, style: pass_thru, direction: inverse} + - ! {matrix: [2.52168618674388, -1.13413098823972, -0.387555198504164, 0, -0.276479914229922, 1.37271908766826, -0.096239173438334, 0, -0.0153780649660342, -0.152975335867399, 1.16835340083343, 0, 0, 0, 0, 1]} - ! - name: Utility - Gamma 2.2 - Rec.709 - Texture + name: Gamma 1.8 Rec.709 - Texture + aliases: [g18_rec709_tx, Utility - Gamma 1.8 - Rec.709 - Texture, g18_rec709] family: Utility equalitygroup: "" bitdepth: 32f description: | - Convert ACES2065-1 to 2.2 gamma-corrected Rec.709 primaries, D65 white point + Convert ACES2065-1 to 1.8 gamma-corrected Rec.709 primaries, D65 white point - CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Rec709-Gamma2.2:1.0 + CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma1.8_Rec709-Texture:1.0 isdata: false categories: [file-io] encoding: sdr-video allocation: uniform from_scene_reference: ! - name: AP0 to Rec.709 - Gamma 2.2 + name: AP0 to Gamma 1.8 Rec.709 - Texture children: - - ! {matrix: [2.52168618656692, -1.13413098821872, -0.387555198596398, 0, -0.276479914127004, 1.37271908764283, -0.096239173446097, 0, -0.0153780649756516, -0.152975335864565, 1.16835340089139, 0, 0, 0, 0, 1]} - - ! {value: 2.2, style: pass_thru, direction: inverse} + - ! {matrix: [2.52168618674388, -1.13413098823972, -0.387555198504164, 0, -0.276479914229922, 1.37271908766826, -0.096239173438334, 0, -0.0153780649660342, -0.152975335867399, 1.16835340083343, 0, 0, 0, 0, 1]} + - ! {value: 1.8, style: pass_thru, direction: inverse} - ! - name: Utility - Gamma 2.4 - Rec.709 - Texture + name: Gamma 2.2 AP1 - Texture + aliases: [g22_ap1_tx, g22_ap1] family: Utility equalitygroup: "" bitdepth: 32f description: | - Convert ACES2065-1 to 2.4 gamma-corrected Rec.709 primaries, D65 white point + Convert ACES2065-1 to 2.2 gamma-corrected AP1 primaries, D60 white point - CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Rec709-Gamma2.4:1.0 + CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma2.2_AP1-Texture:1.0 isdata: false categories: [file-io] encoding: sdr-video allocation: uniform from_scene_reference: ! - name: AP0 to Rec.709 - Gamma 2.4 + name: AP0 to Gamma 2.2 AP1 - Texture children: - - ! {matrix: [2.52168618656692, -1.13413098821872, -0.387555198596398, 0, -0.276479914127004, 1.37271908764283, -0.096239173446097, 0, -0.0153780649756516, -0.152975335864565, 1.16835340089139, 0, 0, 0, 0, 1]} - - ! {value: 2.4, style: pass_thru, direction: inverse} + - ! {matrix: [1.45143931614567, -0.23651074689374, -0.214928569251925, 0, -0.0765537733960206, 1.17622969983357, -0.0996759264375522, 0, 0.00831614842569772, -0.00603244979102102, 0.997716301365323, 0, 0, 0, 0, 1]} + - ! {value: 2.2, style: pass_thru, direction: inverse} - ! - name: Utility - Linear - P3-D65 + name: Gamma 2.2 Rec.709 - Texture + aliases: [g22_rec709_tx, Utility - Gamma 2.2 - Rec.709 - Texture, g22_rec709] family: Utility equalitygroup: "" bitdepth: 32f description: | - Convert ACES2065-1 to linear P3 primaries, D65 white point + Convert ACES2065-1 to 2.2 gamma-corrected Rec.709 primaries, D65 white point - CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_P3-D65-Linear:1.0 + CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma2.2_Rec709-Texture:1.0 isdata: false categories: [file-io] - encoding: scene-linear + encoding: sdr-video allocation: uniform from_scene_reference: ! - name: AP0 to P3-D65 - Linear + name: AP0 to Gamma 2.2 Rec.709 - Texture children: - - ! {matrix: [2.02490528583951, -0.689069761022005, -0.335835525009256, 0, -0.18359703216255, 1.28950620773514, -0.105909175513408, 0, 0.00905856111801875, -0.0592796840564543, 1.05022112298584, 0, 0, 0, 0, 1]} + - ! {matrix: [2.52168618674388, -1.13413098823972, -0.387555198504164, 0, -0.276479914229922, 1.37271908766826, -0.096239173438334, 0, -0.0153780649660342, -0.152975335867399, 1.16835340083343, 0, 0, 0, 0, 1]} + - ! {value: 2.2, style: pass_thru, direction: inverse} - ! - name: Utility - Linear - Rec.2020 + name: Gamma 2.4 Rec.709 - Texture + aliases: [g24_rec709_tx, g24_rec709, rec709_display, Utility - Rec.709 - Display] family: Utility equalitygroup: "" bitdepth: 32f description: | - Convert ACES2065-1 to linear Rec.2020 primaries, D65 white point + Convert ACES2065-1 to 2.4 gamma-corrected Rec.709 primaries, D65 white point - CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Rec2020-Linear:1.0 + CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma2.4_Rec709-Texture:1.0 isdata: false categories: [file-io] - encoding: scene-linear + encoding: sdr-video allocation: uniform from_scene_reference: ! - name: AP0 to Rec.2020 - Linear + name: AP0 to Gamma 2.4 Rec.709 - Texture children: - - ! {matrix: [1.49040952046417, -0.2661709192612, -0.224238601333507, 0, -0.080167499789956, 1.18216712107567, -0.101999621238164, 0, 0.00322763118916624, -0.0347764757444135, 1.03154884460315, 0, 0, 0, 0, 1]} + - ! {matrix: [2.52168618674388, -1.13413098823972, -0.387555198504164, 0, -0.276479914229922, 1.37271908766826, -0.096239173438334, 0, -0.0153780649660342, -0.152975335867399, 1.16835340083343, 0, 0, 0, 0, 1]} + - ! {value: 2.4, style: pass_thru, direction: inverse} - ! - name: Utility - Linear - Rec.709 + name: sRGB Encoded AP1 - Texture + aliases: [srgb_encoded_ap1_tx, srgb_ap1] family: Utility equalitygroup: "" bitdepth: 32f description: | - Convert ACES2065-1 to linear Rec.709 primaries, D65 white point + Convert ACES2065-1 to sRGB Encoded AP1 primaries, D60 white point - CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Rec709-Linear:1.0 + CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_sRGB_Encoded_AP1-Texture:1.0 isdata: false - categories: [file-io, working-space] - encoding: scene-linear + categories: [file-io] + encoding: sdr-video allocation: uniform from_scene_reference: ! - name: AP0 to Rec.709 - Linear + name: AP0 to sRGB Encoded AP1 - Texture children: - - ! {matrix: [2.52168618656692, -1.13413098821872, -0.387555198596398, 0, -0.276479914127004, 1.37271908764283, -0.096239173446097, 0, -0.0153780649756516, -0.152975335864565, 1.16835340089139, 0, 0, 0, 0, 1]} + - ! {matrix: [1.45143931614567, -0.23651074689374, -0.214928569251925, 0, -0.0765537733960206, 1.17622969983357, -0.0996759264375522, 0, 0.00831614842569772, -0.00603244979102102, 0.997716301365323, 0, 0, 0, 0, 1]} + - ! {gamma: 2.4, offset: 0.055, direction: inverse} - ! - name: Utility - Linear - sRGB + name: sRGB - Texture + aliases: [srgb_tx, Utility - sRGB - Texture, srgb_texture, Input - Generic - sRGB - Texture] family: Utility equalitygroup: "" bitdepth: 32f description: | - Convert ACES2065-1 to linear Rec.709 primaries, D65 white point + Convert ACES2065-1 to sRGB - CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Rec709-Linear:1.0 + CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_sRGB-Texture:1.0 isdata: false - categories: [file-io, working-space] - encoding: scene-linear + categories: [file-io] allocation: uniform from_scene_reference: ! - name: AP0 to Rec.709 - Linear + name: AP0 to sRGB Rec.709 children: - - ! {matrix: [2.52168618656692, -1.13413098821872, -0.387555198596398, 0, -0.276479914127004, 1.37271908764283, -0.096239173446097, 0, -0.0153780649756516, -0.152975335864565, 1.16835340089139, 0, 0, 0, 0, 1]} + - ! {matrix: [2.52168618674388, -1.13413098823972, -0.387555198504164, 0, -0.276479914229922, 1.37271908766826, -0.096239173438334, 0, -0.0153780649660342, -0.152975335867399, 1.16835340083343, 0, 0, 0, 0, 1]} + - ! {gamma: 2.4, offset: 0.055, direction: inverse} + + - ! + name: Raw + aliases: [Utility - Raw] + family: Utility + equalitygroup: "" + bitdepth: 32f + description: The utility "Raw" colorspace. + isdata: true + categories: [file-io] + allocation: uniform named_transforms: - ! - name: Utility - Curve - Rec.1886 + name: Rec.1886 - Curve + aliases: [rec1886_crv, Utility - Curve - Rec.1886, crv_rec1886] description: | Convert generic linear RGB to generic gamma-corrected RGB - CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:Linear_to_Rec1886:1.0 + CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:Linear_to_Rec1886-Curve:1.0 family: Utility categories: [file-io] encoding: sdr-video - transform: ! + inverse_transform: ! name: Linear to Rec.1886 children: - ! {value: 2.4, style: pass_thru, direction: inverse} - ! - name: Utility - Curve - sRGB + name: sRGB - Curve + aliases: [srgb_crv, Utility - Curve - sRGB, crv_srgb] description: | Convert generic linear RGB to generic gamma-corrected RGB - CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:Linear_to_sRGB:1.0 + CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:Linear_to_sRGB-Curve:1.0 family: Utility categories: [file-io] encoding: sdr-video - transform: ! + inverse_transform: ! name: Linear to sRGB children: - ! {gamma: 2.4, offset: 0.055, direction: inverse} diff --git a/src/OpenColorIO/builtinconfigs/configs/studio-config-v1.0.0_aces-v1.3_ocio-v2.1.ocio b/src/OpenColorIO/builtinconfigs/configs/studio-config-v1.0.0_aces-v1.3_ocio-v2.1.ocio new file mode 100644 index 0000000000..a33a6aaf94 --- /dev/null +++ b/src/OpenColorIO/builtinconfigs/configs/studio-config-v1.0.0_aces-v1.3_ocio-v2.1.ocio @@ -0,0 +1,1242 @@ +ocio_profile_version: 2.1 + +environment: + {} +search_path: "" +strictparsing: true +luma: [0.2126, 0.7152, 0.0722] +name: studio-config-v1.0.0_aces-v1.3_ocio-v2.1 +description: | + Academy Color Encoding System - Studio Config [COLORSPACES v1.0.0] [ACES v1.3] [OCIO v2.1] + ------------------------------------------------------------------------------------------ + + This "OpenColorIO" config is geared toward studios requiring a config that includes a wide variety of camera colorspaces, displays and looks. + + Generated with "OpenColorIO-Config-ACES" v1.0.0 on the 2022/10/26 at 05:59. + +roles: + aces_interchange: ACES2065-1 + cie_xyz_d65_interchange: CIE-XYZ-D65 + color_picking: sRGB - Texture + color_timing: ACEScct + compositing_log: ACEScct + data: Raw + matte_paint: sRGB - Texture + scene_linear: ACEScg + texture_paint: ACEScct + +file_rules: + - ! {name: Default, colorspace: ACES2065-1} + +shared_views: + - ! {name: ACES 1.0 - SDR Video, view_transform: ACES 1.0 - SDR Video, display_colorspace: } + - ! {name: ACES 1.0 - SDR Video (D60 sim on D65), view_transform: ACES 1.0 - SDR Video (D60 sim on D65), display_colorspace: } + - ! {name: ACES 1.1 - SDR Video (P3 lim), view_transform: ACES 1.1 - SDR Video (P3 lim), display_colorspace: } + - ! {name: ACES 1.1 - SDR Video (Rec.709 lim), view_transform: ACES 1.1 - SDR Video (Rec.709 lim), display_colorspace: } + - ! {name: ACES 1.1 - HDR Video (1000 nits & Rec.2020 lim), view_transform: ACES 1.1 - HDR Video (1000 nits & Rec.2020 lim), display_colorspace: } + - ! {name: ACES 1.1 - HDR Video (2000 nits & Rec.2020 lim), view_transform: ACES 1.1 - HDR Video (2000 nits & Rec.2020 lim), display_colorspace: } + - ! {name: ACES 1.1 - HDR Video (4000 nits & Rec.2020 lim), view_transform: ACES 1.1 - HDR Video (4000 nits & Rec.2020 lim), display_colorspace: } + - ! {name: ACES 1.1 - HDR Video (1000 nits & P3 lim), view_transform: ACES 1.1 - HDR Video (1000 nits & P3 lim), display_colorspace: } + - ! {name: ACES 1.1 - HDR Video (2000 nits & P3 lim), view_transform: ACES 1.1 - HDR Video (2000 nits & P3 lim), display_colorspace: } + - ! {name: ACES 1.1 - HDR Video (4000 nits & P3 lim), view_transform: ACES 1.1 - HDR Video (4000 nits & P3 lim), display_colorspace: } + - ! {name: ACES 1.0 - SDR Cinema, view_transform: ACES 1.0 - SDR Cinema, display_colorspace: } + - ! {name: ACES 1.1 - SDR Cinema (D60 sim on D65), view_transform: ACES 1.1 - SDR Cinema (D60 sim on D65), display_colorspace: } + - ! {name: ACES 1.1 - SDR Cinema (Rec.709 lim), view_transform: ACES 1.1 - SDR Cinema (Rec.709 lim), display_colorspace: } + - ! {name: ACES 1.0 - SDR Cinema (D60 sim on DCI), view_transform: ACES 1.0 - SDR Cinema (D60 sim on DCI), display_colorspace: } + - ! {name: ACES 1.1 - SDR Cinema (D65 sim on DCI), view_transform: ACES 1.1 - SDR Cinema (D65 sim on DCI), display_colorspace: } + - ! {name: ACES 1.1 - HDR Cinema (108 nits & P3 lim), view_transform: ACES 1.1 - HDR Cinema (108 nits & P3 lim), display_colorspace: } + - ! {name: Un-tone-mapped, view_transform: Un-tone-mapped, display_colorspace: } + +displays: + sRGB - Display: + - ! {name: Raw, colorspace: Raw} + - ! [ACES 1.0 - SDR Video, ACES 1.0 - SDR Video (D60 sim on D65), Un-tone-mapped] + Rec.1886 Rec.709 - Display: + - ! {name: Raw, colorspace: Raw} + - ! [ACES 1.0 - SDR Video, ACES 1.0 - SDR Video (D60 sim on D65), Un-tone-mapped] + Rec.1886 Rec.2020 - Display: + - ! {name: Raw, colorspace: Raw} + - ! [ACES 1.0 - SDR Video, ACES 1.1 - SDR Video (P3 lim), ACES 1.1 - SDR Video (Rec.709 lim), Un-tone-mapped] + Rec.2100-HLG - Display: + - ! {name: Raw, colorspace: Raw} + - ! [ACES 1.1 - HDR Video (1000 nits & Rec.2020 lim), Un-tone-mapped] + Rec.2100-PQ - Display: + - ! {name: Raw, colorspace: Raw} + - ! [ACES 1.1 - HDR Video (1000 nits & Rec.2020 lim), ACES 1.1 - HDR Video (2000 nits & Rec.2020 lim), ACES 1.1 - HDR Video (4000 nits & Rec.2020 lim), Un-tone-mapped] + ST2084-P3-D65 - Display: + - ! {name: Raw, colorspace: Raw} + - ! [ACES 1.1 - HDR Video (1000 nits & P3 lim), ACES 1.1 - HDR Video (2000 nits & P3 lim), ACES 1.1 - HDR Video (4000 nits & P3 lim), ACES 1.1 - HDR Cinema (108 nits & P3 lim), Un-tone-mapped] + P3-D60 - Display: + - ! {name: Raw, colorspace: Raw} + - ! [ACES 1.0 - SDR Cinema, Un-tone-mapped] + P3-D65 - Display: + - ! {name: Raw, colorspace: Raw} + - ! [ACES 1.0 - SDR Cinema, ACES 1.1 - SDR Cinema (D60 sim on D65), ACES 1.1 - SDR Cinema (Rec.709 lim), Un-tone-mapped] + P3-DCI - Display: + - ! {name: Raw, colorspace: Raw} + - ! [ACES 1.0 - SDR Cinema (D60 sim on DCI), ACES 1.1 - SDR Cinema (D65 sim on DCI), Un-tone-mapped] + +active_displays: [sRGB - Display, Rec.1886 Rec.709 - Display, Rec.1886 Rec.2020 - Display, Rec.2100-HLG - Display, Rec.2100-PQ - Display, ST2084-P3-D65 - Display, P3-D60 - Display, P3-D65 - Display, P3-DCI - Display] +active_views: [ACES 1.0 - SDR Video, ACES 1.0 - SDR Video (D60 sim on D65), ACES 1.1 - SDR Video (P3 lim), ACES 1.1 - SDR Video (Rec.709 lim), ACES 1.1 - HDR Video (1000 nits & Rec.2020 lim), ACES 1.1 - HDR Video (2000 nits & Rec.2020 lim), ACES 1.1 - HDR Video (4000 nits & Rec.2020 lim), ACES 1.1 - HDR Video (1000 nits & P3 lim), ACES 1.1 - HDR Video (2000 nits & P3 lim), ACES 1.1 - HDR Video (4000 nits & P3 lim), ACES 1.0 - SDR Cinema, ACES 1.1 - SDR Cinema (D60 sim on D65), ACES 1.1 - SDR Cinema (Rec.709 lim), ACES 1.0 - SDR Cinema (D60 sim on DCI), ACES 1.1 - SDR Cinema (D65 sim on DCI), ACES 1.1 - HDR Cinema (108 nits & P3 lim), Un-tone-mapped, Raw] +inactive_colorspaces: [CIE-XYZ-D65, sRGB - Display, Rec.1886 Rec.709 - Display, Rec.1886 Rec.2020 - Display, sRGB - Display, Rec.1886 Rec.709 - Display, Rec.1886 Rec.2020 - Display, Rec.1886 Rec.2020 - Display, Rec.2100-HLG - Display, Rec.2100-PQ - Display, Rec.2100-PQ - Display, Rec.2100-PQ - Display, ST2084-P3-D65 - Display, ST2084-P3-D65 - Display, ST2084-P3-D65 - Display, P3-D60 - Display, P3-D65 - Display, P3-D65 - Display, P3-D65 - Display, P3-DCI - Display, P3-DCI - Display, ST2084-P3-D65 - Display] + +looks: + - ! + name: ACES 1.3 Reference Gamut Compression + process_space: ACES2065-1 + description: | + LMT (applied in ACES2065-1) to compress scene-referred values from common cameras into the AP1 gamut + + ACEStransformID: urn:ampas:aces:transformId:v1.5:LMT.Academy.GamutCompress.a1.3.0 + transform: ! {style: ACES-LMT - ACES 1.3 Reference Gamut Compression} + + +default_view_transform: Un-tone-mapped + +view_transforms: + - ! + name: ACES 1.0 - SDR Video + description: | + Component of ACES Output Transforms for SDR D65 video + + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.RGBmonitor_100nits_dim.a1.0.3 + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.Rec709_100nits_dim.a1.0.3 + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.Rec2020_100nits_dim.a1.0.3 + from_scene_reference: ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-VIDEO_1.0} + + - ! + name: ACES 1.0 - SDR Video (D60 sim on D65) + description: | + Component of ACES Output Transforms for SDR D65 video simulating D60 white + + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.RGBmonitor_D60sim_100nits_dim.a1.0.3 + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.Rec709_D60sim_100nits_dim.a1.0.3 + from_scene_reference: ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-VIDEO-D60sim-D65_1.0} + + - ! + name: ACES 1.1 - SDR Video (P3 lim) + description: | + Component of ACES Output Transforms for SDR D65 video + + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.Rec2020_P3D65limited_100nits_dim.a1.1.0 + from_scene_reference: ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-VIDEO-P3lim_1.1} + + - ! + name: ACES 1.1 - SDR Video (Rec.709 lim) + description: | + Component of ACES Output Transforms for SDR D65 video + + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.Rec2020_Rec709limited_100nits_dim.a1.1.0 + from_scene_reference: ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-VIDEO-REC709lim_1.1} + + - ! + name: ACES 1.1 - HDR Video (1000 nits & Rec.2020 lim) + description: | + Component of ACES Output Transforms for 1000 nit HDR D65 video + + ACEStransformID: urn:ampas:aces:transformId:v1.5:RRTODT.Academy.Rec2020_1000nits_15nits_HLG.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:RRTODT.Academy.Rec2020_1000nits_15nits_ST2084.a1.1.0 + from_scene_reference: ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-VIDEO-1000nit-15nit-REC2020lim_1.1} + + - ! + name: ACES 1.1 - HDR Video (2000 nits & Rec.2020 lim) + description: | + Component of ACES Output Transforms for 2000 nit HDR D65 video + + ACEStransformID: urn:ampas:aces:transformId:v1.5:RRTODT.Academy.Rec2020_2000nits_15nits_ST2084.a1.1.0 + from_scene_reference: ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-VIDEO-2000nit-15nit-REC2020lim_1.1} + + - ! + name: ACES 1.1 - HDR Video (4000 nits & Rec.2020 lim) + description: | + Component of ACES Output Transforms for 4000 nit HDR D65 video + + ACEStransformID: urn:ampas:aces:transformId:v1.5:RRTODT.Academy.Rec2020_4000nits_15nits_ST2084.a1.1.0 + from_scene_reference: ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-VIDEO-4000nit-15nit-REC2020lim_1.1} + + - ! + name: ACES 1.1 - HDR Video (1000 nits & P3 lim) + description: | + Component of ACES Output Transforms for 1000 nit HDR D65 video + + ACEStransformID: urn:ampas:aces:transformId:v1.5:RRTODT.Academy.P3D65_1000nits_15nits_ST2084.a1.1.0 + from_scene_reference: ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-VIDEO-1000nit-15nit-P3lim_1.1} + + - ! + name: ACES 1.1 - HDR Video (2000 nits & P3 lim) + description: | + Component of ACES Output Transforms for 2000 nit HDR D65 video + + ACEStransformID: urn:ampas:aces:transformId:v1.5:RRTODT.Academy.P3D65_2000nits_15nits_ST2084.a1.1.0 + from_scene_reference: ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-VIDEO-2000nit-15nit-P3lim_1.1} + + - ! + name: ACES 1.1 - HDR Video (4000 nits & P3 lim) + description: | + Component of ACES Output Transforms for 4000 nit HDR D65 video + + ACEStransformID: urn:ampas:aces:transformId:v1.5:RRTODT.Academy.P3D65_4000nits_15nits_ST2084.a1.1.0 + from_scene_reference: ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-VIDEO-4000nit-15nit-P3lim_1.1} + + - ! + name: ACES 1.0 - SDR Cinema + description: | + Component of ACES Output Transforms for SDR cinema + + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.P3D60_48nits.a1.0.3 + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.P3D65_48nits.a1.1.0 + from_scene_reference: ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-CINEMA_1.0} + + - ! + name: ACES 1.1 - SDR Cinema (D60 sim on D65) + description: | + Component of ACES Output Transforms for SDR D65 cinema simulating D60 white + + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.P3D65_D60sim_48nits.a1.1.0 + from_scene_reference: ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-CINEMA-D60sim-D65_1.1} + + - ! + name: ACES 1.1 - SDR Cinema (Rec.709 lim) + description: | + Component of ACES Output Transforms for SDR cinema + + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.P3D65_Rec709limited_48nits.a1.1.0 + from_scene_reference: ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-CINEMA-REC709lim_1.1} + + - ! + name: ACES 1.0 - SDR Cinema (D60 sim on DCI) + description: | + Component of ACES Output Transforms for SDR DCI cinema simulating D60 white + + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.P3DCI_48nits.a1.0.3 + from_scene_reference: ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-CINEMA-D60sim-DCI_1.0} + + - ! + name: ACES 1.1 - SDR Cinema (D65 sim on DCI) + description: | + Component of ACES Output Transforms for SDR DCI cinema simulating D65 white + + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.P3DCI_D65sim_48nits.a1.1.0 + from_scene_reference: ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-CINEMA-D65sim-DCI_1.1} + + - ! + name: ACES 1.1 - HDR Cinema (108 nits & P3 lim) + description: | + Component of ACES Output Transforms for 108 nit HDR D65 cinema + + ACEStransformID: urn:ampas:aces:transformId:v1.5:RRTODT.Academy.P3D65_108nits_7point2nits_ST2084.a1.1.0 + from_scene_reference: ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-CINEMA-108nit-7.2nit-P3lim_1.1} + + - ! + name: Un-tone-mapped + from_scene_reference: ! {style: UTILITY - ACES-AP0_to_CIE-XYZ-D65_BFD} + +display_colorspaces: + - ! + name: CIE-XYZ-D65 + aliases: [cie_xyz_d65] + family: "" + equalitygroup: "" + bitdepth: 32f + description: The "CIE XYZ (D65)" display connection colorspace. + isdata: false + allocation: uniform + + - ! + name: sRGB - Display + aliases: [srgb_display] + family: Display + equalitygroup: "" + bitdepth: 32f + description: Convert CIE XYZ (D65 white) to sRGB (piecewise EOTF) + isdata: false + categories: [file-io] + encoding: sdr-video + allocation: uniform + from_display_reference: ! {style: DISPLAY - CIE-XYZ-D65_to_sRGB} + + - ! + name: Rec.1886 Rec.709 - Display + aliases: [rec1886_rec709_display] + family: Display + equalitygroup: "" + bitdepth: 32f + description: Convert CIE XYZ (D65 white) to Rec.1886/Rec.709 (HD video) + isdata: false + categories: [file-io] + encoding: sdr-video + allocation: uniform + from_display_reference: ! {style: DISPLAY - CIE-XYZ-D65_to_REC.1886-REC.709} + + - ! + name: Rec.1886 Rec.2020 - Display + aliases: [rec1886_rec2020_display] + family: Display + equalitygroup: "" + bitdepth: 32f + description: Convert CIE XYZ (D65 white) to Rec.1886/Rec.2020 (UHD video) + isdata: false + categories: [file-io] + encoding: sdr-video + allocation: uniform + from_display_reference: ! {style: DISPLAY - CIE-XYZ-D65_to_REC.1886-REC.2020} + + - ! + name: Rec.2100-HLG - Display + aliases: [rec2100_hlg_display] + family: Display + equalitygroup: "" + bitdepth: 32f + description: Convert CIE XYZ (D65 white) to Rec.2100-HLG, 1000 nit + isdata: false + categories: [file-io] + encoding: hdr-video + allocation: uniform + from_display_reference: ! {style: DISPLAY - CIE-XYZ-D65_to_REC.2100-HLG-1000nit} + + - ! + name: Rec.2100-PQ - Display + aliases: [rec2100_pq_display] + family: Display + equalitygroup: "" + bitdepth: 32f + description: Convert CIE XYZ (D65 white) to Rec.2100-PQ + isdata: false + categories: [file-io] + encoding: hdr-video + allocation: uniform + from_display_reference: ! {style: DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ} + + - ! + name: ST2084-P3-D65 - Display + aliases: [st2084_p3d65_display] + family: Display + equalitygroup: "" + bitdepth: 32f + description: Convert CIE XYZ (D65 white) to ST-2084 (PQ), P3-D65 primaries + isdata: false + categories: [file-io] + encoding: hdr-video + allocation: uniform + from_display_reference: ! {style: DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65} + + - ! + name: P3-D60 - Display + aliases: [p3d60_display] + family: Display + equalitygroup: "" + bitdepth: 32f + description: Convert CIE XYZ (D65 white) to Gamma 2.6, P3-D60 (Bradford adaptation) + isdata: false + categories: [file-io] + encoding: sdr-video + allocation: uniform + from_display_reference: ! {style: DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D60-BFD} + + - ! + name: P3-D65 - Display + aliases: [p3d65_display] + family: Display + equalitygroup: "" + bitdepth: 32f + description: Convert CIE XYZ (D65 white) to Gamma 2.6, P3-D65 + isdata: false + categories: [file-io] + encoding: sdr-video + allocation: uniform + from_display_reference: ! {style: DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D65} + + - ! + name: P3-DCI - Display + aliases: [p3_dci_display] + family: Display + equalitygroup: "" + bitdepth: 32f + description: Convert CIE XYZ (D65 white) to Gamma 2.6, P3-DCI (DCI white with Bradford adaptation) + isdata: false + categories: [file-io] + encoding: sdr-video + allocation: uniform + from_display_reference: ! {style: DISPLAY - CIE-XYZ-D65_to_G2.6-P3-DCI-BFD} + +colorspaces: + - ! + name: ACES2065-1 + aliases: [aces2065_1, ACES - ACES2065-1, lin_ap0] + family: ACES + equalitygroup: "" + bitdepth: 32f + description: The "Academy Color Encoding System" reference colorspace. + isdata: false + categories: [file-io] + encoding: scene-linear + allocation: uniform + + - ! + name: ACEScc + aliases: [ACES - ACEScc, acescc_ap1] + family: ACES + equalitygroup: "" + bitdepth: 32f + description: | + Convert ACEScc to ACES2065-1 + + ACEStransformID: urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.ACEScc_to_ACES.a1.0.3 + isdata: false + categories: [file-io] + encoding: log + allocation: uniform + to_scene_reference: ! {style: ACEScc_to_ACES2065-1} + + - ! + name: ACEScct + aliases: [ACES - ACEScct, acescct_ap1] + family: ACES + equalitygroup: "" + bitdepth: 32f + description: | + Convert ACEScct to ACES2065-1 + + ACEStransformID: urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.ACEScct_to_ACES.a1.0.3 + isdata: false + categories: [file-io, working-space] + encoding: log + allocation: uniform + to_scene_reference: ! {style: ACEScct_to_ACES2065-1} + + - ! + name: ACEScg + aliases: [ACES - ACEScg, lin_ap1] + family: ACES + equalitygroup: "" + bitdepth: 32f + description: | + Convert ACEScg to ACES2065-1 + + ACEStransformID: urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.ACEScg_to_ACES.a1.0.3 + isdata: false + categories: [file-io, working-space] + encoding: scene-linear + allocation: uniform + to_scene_reference: ! {style: ACEScg_to_ACES2065-1} + + - ! + name: ADX10 + aliases: [Input - ADX - ADX10] + family: ACES + equalitygroup: "" + bitdepth: 32f + description: | + Convert ADX10 to ACES2065-1 + + ACEStransformID: urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.ADX10_to_ACES.a1.0.3 + isdata: false + categories: [file-io] + encoding: log + allocation: uniform + to_scene_reference: ! {style: ADX10_to_ACES2065-1} + + - ! + name: ADX16 + aliases: [Input - ADX - ADX16] + family: ACES + equalitygroup: "" + bitdepth: 32f + description: | + Convert ADX16 to ACES2065-1 + + ACEStransformID: urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.ADX16_to_ACES.a1.0.3 + isdata: false + categories: [file-io] + encoding: log + allocation: uniform + to_scene_reference: ! {style: ADX16_to_ACES2065-1} + + - ! + name: Linear ARRI Wide Gamut 3 + aliases: [lin_arri_wide_gamut_3, Input - ARRI - Linear - ALEXA Wide Gamut, lin_alexawide] + family: Input/ARRI + equalitygroup: "" + bitdepth: 32f + description: | + Convert Linear ARRI Wide Gamut 3 to ACES2065-1 + + CLFtransformID: urn:aswf:ocio:transformId:1.0:ARRI:Input:Linear_ARRI_Wide_Gamut_3_to_ACES2065-1:1.0 + isdata: false + categories: [file-io] + encoding: scene-linear + allocation: uniform + to_scene_reference: ! + name: Linear ARRI Wide Gamut 3 to ACES2065-1 + children: + - ! {matrix: [0.680205505106279, 0.236136601606481, 0.0836578932872399, 0, 0.0854149797421404, 1.01747087860704, -0.102885858349182, 0, 0.00205652166929683, -0.0625625003847921, 1.0605059787155, 0, 0, 0, 0, 1]} + + - ! + name: ARRI LogC3 (EI800) + aliases: [arri_logc3_ei800, Input - ARRI - V3 LogC (EI800) - Wide Gamut, logc3ei800_alexawide] + family: Input/ARRI + equalitygroup: "" + bitdepth: 32f + description: | + Convert ARRI LogC3 (EI800) to ACES2065-1 + + CLFtransformID: urn:aswf:ocio:transformId:1.0:ARRI:Input:ARRI_LogC3_EI800_to_ACES2065-1:1.0 + isdata: false + categories: [file-io] + encoding: log + allocation: uniform + to_scene_reference: ! + name: ARRI LogC3 (EI800) to ACES2065-1 + children: + - ! {base: 10, log_side_slope: 0.247189638318671, log_side_offset: 0.385536998692443, lin_side_slope: 5.55555555555556, lin_side_offset: 0.0522722750251688, lin_side_break: 0.0105909904954696, direction: inverse} + - ! {matrix: [0.680205505106279, 0.236136601606481, 0.0836578932872399, 0, 0.0854149797421404, 1.01747087860704, -0.102885858349182, 0, 0.00205652166929683, -0.0625625003847921, 1.0605059787155, 0, 0, 0, 0, 1]} + + - ! + name: Linear ARRI Wide Gamut 4 + aliases: [lin_arri_wide_gamut_4, lin_awg4] + family: Input/ARRI + equalitygroup: "" + bitdepth: 32f + description: | + Convert Linear ARRI Wide Gamut 4 to ACES2065-1 + + CLFtransformID: urn:aswf:ocio:transformId:1.0:ARRI:Input:Linear_ARRI_Wide_Gamut_4_to_ACES2065-1:1.0 + isdata: false + categories: [file-io] + encoding: scene-linear + allocation: uniform + to_scene_reference: ! + name: Linear ARRI Wide Gamut 4 to ACES2065-1 + children: + - ! {matrix: [0.750957362824734, 0.144422786709757, 0.104619850465509, 0, 0.000821837079380207, 1.007397584885, -0.00821942196438358, 0, -0.000499952143533471, -0.000854177231436971, 1.00135412937497, 0, 0, 0, 0, 1]} + + - ! + name: ARRI LogC4 + aliases: [arri_logc4] + family: Input/ARRI + equalitygroup: "" + bitdepth: 32f + description: | + Convert ARRI LogC4 to ACES2065-1 + + CLFtransformID: urn:aswf:ocio:transformId:1.0:ARRI:Input:ARRI_LogC4_to_ACES2065-1:1.0 + isdata: false + categories: [file-io] + encoding: log + allocation: uniform + to_scene_reference: ! + name: ARRI LogC4 to ACES2065-1 + children: + - ! {log_side_slope: 0.0647954196341293, log_side_offset: -0.295908392682586, lin_side_slope: 2231.82630906769, lin_side_offset: 64, lin_side_break: -0.0180569961199113, direction: inverse} + - ! {matrix: [0.750957362824734, 0.144422786709757, 0.104619850465509, 0, 0.000821837079380207, 1.007397584885, -0.00821942196438358, 0, -0.000499952143533471, -0.000854177231436971, 1.00135412937497, 0, 0, 0, 0, 1]} + + - ! + name: BMDFilm WideGamut Gen5 + aliases: [bmdfilm_widegamut_gen5] + family: Input/BlackmagicDesign + equalitygroup: "" + bitdepth: 32f + description: | + Convert Blackmagic Film Wide Gamut (Gen 5) to ACES2065-1 + + CLFtransformID: urn:aswf:ocio:transformId:1.0:BlackmagicDesign:Input:BMDFilm_WideGamut_Gen5_to_ACES2065-1:1.0 + isdata: false + categories: [file-io] + encoding: log + allocation: uniform + to_scene_reference: ! + name: Blackmagic Film Wide Gamut (Gen 5) to ACES2065-1 + children: + - ! {base: 2.71828182845905, log_side_slope: 0.0869287606549122, log_side_offset: 0.530013339229194, lin_side_offset: 0.00549407243225781, lin_side_break: 0.005, direction: inverse} + - ! {matrix: [0.647091325580708, 0.242595385134207, 0.110313289285085, 0, 0.0651915997328519, 1.02504756760476, -0.0902391673376125, 0, -0.0275570729194699, -0.0805887097177784, 1.10814578263725, 0, 0, 0, 0, 1]} + + - ! + name: DaVinci Intermediate WideGamut + aliases: [davinci_intermediate_widegamut] + family: Input/BlackmagicDesign + equalitygroup: "" + bitdepth: 32f + description: | + Convert DaVinci Intermediate Wide Gamut to ACES2065-1 + + CLFtransformID: urn:aswf:ocio:transformId:1.0:BlackmagicDesign:Input:DaVinci_Intermediate_WideGamut_to_ACES2065-1:1.0 + isdata: false + categories: [file-io] + encoding: log + allocation: uniform + to_scene_reference: ! + name: DaVinci Intermediate Wide Gamut to ACES2065-1 + children: + - ! {log_side_slope: 0.07329248, log_side_offset: 0.51304736, lin_side_offset: 0.0075, lin_side_break: 0.00262409, linear_slope: 10.44426855, direction: inverse} + - ! {matrix: [0.748270290272981, 0.167694659554328, 0.0840350501726906, 0, 0.0208421234689102, 1.11190474268894, -0.132746866157851, 0, -0.0915122574225729, -0.127746712807307, 1.21925897022988, 0, 0, 0, 0, 1]} + + - ! + name: Linear BMD WideGamut Gen5 + aliases: [lin_bmd_widegamut_gen5] + family: Input/BlackmagicDesign + equalitygroup: "" + bitdepth: 32f + description: | + Convert Linear Blackmagic Wide Gamut (Gen 5) to ACES2065-1 + + CLFtransformID: urn:aswf:ocio:transformId:1.0:BlackmagicDesign:Input:Linear_BMD_WideGamut_Gen5_to_ACES2065-1:1.0 + isdata: false + categories: [file-io] + encoding: scene-linear + allocation: uniform + to_scene_reference: ! + name: Linear Blackmagic Wide Gamut (Gen 5) to ACES2065-1 + children: + - ! {matrix: [0.647091325580708, 0.242595385134207, 0.110313289285085, 0, 0.0651915997328519, 1.02504756760476, -0.0902391673376125, 0, -0.0275570729194699, -0.0805887097177784, 1.10814578263725, 0, 0, 0, 0, 1]} + + - ! + name: Linear DaVinci WideGamut + aliases: [lin_davinci_widegamut] + family: Input/BlackmagicDesign + equalitygroup: "" + bitdepth: 32f + description: | + Convert Linear DaVinci Wide Gamut to ACES2065-1 + + CLFtransformID: urn:aswf:ocio:transformId:1.0:BlackmagicDesign:Input:Linear_DaVinci_WideGamut_to_ACES2065-1:1.0 + isdata: false + categories: [file-io] + encoding: scene-linear + allocation: uniform + to_scene_reference: ! + name: Linear DaVinci Wide Gamut to ACES2065-1 + children: + - ! {matrix: [0.748270290272981, 0.167694659554328, 0.0840350501726906, 0, 0.0208421234689102, 1.11190474268894, -0.132746866157851, 0, -0.0915122574225729, -0.127746712807307, 1.21925897022988, 0, 0, 0, 0, 1]} + + - ! + name: CanonLog3 CinemaGamut D55 + aliases: [canonlog3_cinemagamut_d55, Input - Canon - Canon-Log3 - Cinema Gamut Daylight, canonlog3_cgamutday] + family: Input/Canon + equalitygroup: "" + bitdepth: 32f + description: Convert Canon Log 3 Cinema Gamut to ACES2065-1 + isdata: false + categories: [file-io] + encoding: log + allocation: uniform + to_scene_reference: ! {style: CANON_CLOG3-CGAMUT_to_ACES2065-1} + + - ! + name: Linear CinemaGamut D55 + aliases: [lin_cinemagamut_d55, Input - Canon - Linear - Canon Cinema Gamut Daylight, lin_canoncgamutday] + family: Input/Canon + equalitygroup: "" + bitdepth: 32f + description: | + Convert Linear Canon Cinema Gamut (Daylight) to ACES2065-1 + + CLFtransformID: urn:aswf:ocio:transformId:1.0:Canon:Input:Linear-CinemaGamut-D55_to_ACES2065-1:1.0 + isdata: false + categories: [file-io] + encoding: scene-linear + allocation: uniform + to_scene_reference: ! + name: Linear Canon Cinema Gamut (Daylight) to ACES2065-1 + children: + - ! {matrix: [0.763064454775734, 0.14902116113706, 0.0879143840872056, 0, 0.00365745670512393, 1.10696038037622, -0.110617837081339, 0, -0.0094077940457189, -0.218383304989987, 1.22779109903571, 0, 0, 0, 0, 1]} + + - ! + name: Linear V-Gamut + aliases: [lin_vgamut, Input - Panasonic - Linear - V-Gamut] + family: Input/Panasonic + equalitygroup: "" + bitdepth: 32f + description: | + Convert Linear Panasonic V-Gamut to ACES2065-1 + + CLFtransformID: urn:aswf:ocio:transformId:1.0:Panasonic:Input:Linear_VGamut_to_ACES2065-1:1.0 + isdata: false + categories: [file-io] + encoding: scene-linear + allocation: uniform + to_scene_reference: ! + name: Linear Panasonic V-Gamut to ACES2065-1 + children: + - ! {matrix: [0.72461670413153, 0.166915288193706, 0.108468007674764, 0, 0.021390245413146, 0.984908155703054, -0.00629840111620089, 0, -0.00923556287076561, -0.00105690563900513, 1.01029246850977, 0, 0, 0, 0, 1]} + + - ! + name: V-Log V-Gamut + aliases: [vlog_vgamut, Input - Panasonic - V-Log - V-Gamut] + family: Input/Panasonic + equalitygroup: "" + bitdepth: 32f + description: | + Convert Panasonic V-Log - V-Gamut to ACES2065-1 + + CLFtransformID: urn:aswf:ocio:transformId:1.0:Panasonic:Input:VLog_VGamut_to_ACES2065-1:1.0 + isdata: false + categories: [file-io] + encoding: log + allocation: uniform + to_scene_reference: ! + name: Panasonic V-Log - V-Gamut to ACES2065-1 + children: + - ! {base: 10, log_side_slope: 0.241514, log_side_offset: 0.598206, lin_side_offset: 0.00873, lin_side_break: 0.01, direction: inverse} + - ! {matrix: [0.72461670413153, 0.166915288193706, 0.108468007674764, 0, 0.021390245413146, 0.984908155703054, -0.00629840111620089, 0, -0.00923556287076561, -0.00105690563900513, 1.01029246850977, 0, 0, 0, 0, 1]} + + - ! + name: Linear REDWideGamutRGB + aliases: [lin_redwidegamutrgb, Input - RED - Linear - REDWideGamutRGB, lin_rwg] + family: Input/RED + equalitygroup: "" + bitdepth: 32f + description: | + Convert Linear REDWideGamutRGB to ACES2065-1 + + CLFtransformID: urn:aswf:ocio:transformId:1.0:RED:Input:Linear_REDWideGamutRGB_to_ACES2065-1:1.0 + isdata: false + categories: [file-io] + encoding: scene-linear + allocation: uniform + to_scene_reference: ! + name: Linear REDWideGamutRGB to ACES2065-1 + children: + - ! {matrix: [0.785058804068092, 0.0838587565440846, 0.131082439387823, 0, 0.0231738348454756, 1.08789754919233, -0.111071384037806, 0, -0.0737604353682082, -0.314590072290208, 1.38835050765842, 0, 0, 0, 0, 1]} + + - ! + name: Log3G10 REDWideGamutRGB + aliases: [log3g10_redwidegamutrgb, Input - RED - REDLog3G10 - REDWideGamutRGB, rl3g10_rwg] + family: Input/RED + equalitygroup: "" + bitdepth: 32f + description: | + Convert RED Log3G10 REDWideGamutRGB to ACES2065-1 + + CLFtransformID: urn:aswf:ocio:transformId:1.0:RED:Input:Log3G10_REDWideGamutRGB_to_ACES2065-1:1.0 + isdata: false + categories: [file-io] + encoding: log + allocation: uniform + to_scene_reference: ! + name: RED Log3G10 REDWideGamutRGB to ACES2065-1 + children: + - ! {base: 10, log_side_slope: 0.224282, lin_side_slope: 155.975327, lin_side_offset: 2.55975327, lin_side_break: -0.01, direction: inverse} + - ! {matrix: [0.785058804068092, 0.0838587565440846, 0.131082439387823, 0, 0.0231738348454756, 1.08789754919233, -0.111071384037806, 0, -0.0737604353682082, -0.314590072290208, 1.38835050765842, 0, 0, 0, 0, 1]} + + - ! + name: Linear S-Gamut3 + aliases: [lin_sgamut3, Input - Sony - Linear - S-Gamut3] + family: Input/Sony + equalitygroup: "" + bitdepth: 32f + description: | + Convert Linear S-Gamut3 to ACES2065-1 + + CLFtransformID: urn:aswf:ocio:transformId:1.0:Sony:Input:Linear_SGamut3_to_ACES2065-1:1.0 + isdata: false + categories: [file-io] + encoding: scene-linear + allocation: uniform + to_scene_reference: ! + name: Linear S-Gamut3 to ACES2065-1 + children: + - ! {matrix: [0.75298259539984, 0.143370216235557, 0.103647188364603, 0, 0.0217076974414429, 1.01531883550528, -0.0370265329467195, 0, -0.00941605274963355, 0.00337041785882367, 1.00604563489081, 0, 0, 0, 0, 1]} + + - ! + name: Linear S-Gamut3.Cine + aliases: [lin_sgamut3cine, Input - Sony - Linear - S-Gamut3.Cine] + family: Input/Sony + equalitygroup: "" + bitdepth: 32f + description: | + Convert Linear S-Gamut3.Cine to ACES2065-1 + + CLFtransformID: urn:aswf:ocio:transformId:1.0:Sony:Input:Linear_SGamut3Cine_to_ACES2065-1:1.0 + isdata: false + categories: [file-io] + encoding: scene-linear + allocation: uniform + to_scene_reference: ! + name: Linear S-Gamut3.Cine to ACES2065-1 + children: + - ! {matrix: [0.638788667185978, 0.272351433711262, 0.0888598991027595, 0, -0.00391590602528224, 1.0880732308974, -0.0841573248721177, 0, -0.0299072021239151, -0.0264325799101947, 1.05633978203411, 0, 0, 0, 0, 1]} + + - ! + name: Linear Venice S-Gamut3 + aliases: [lin_venice_sgamut3, Input - Sony - Linear - Venice S-Gamut3] + family: Input/Sony + equalitygroup: "" + bitdepth: 32f + description: | + Convert Linear Venice S-Gamut3 to ACES2065-1 + + CLFtransformID: urn:aswf:ocio:transformId:1.0:Sony:Input:Linear_Venice_SGamut3_to_ACES2065-1:1.0 + isdata: false + categories: [file-io] + encoding: scene-linear + allocation: uniform + to_scene_reference: ! + name: Linear Venice S-Gamut3 to ACES2065-1 + children: + - ! {matrix: [0.793329741146434, 0.0890786256206771, 0.117591633232888, 0, 0.0155810585252582, 1.03271230692988, -0.0482933654551394, 0, -0.0188647477991488, 0.0127694120973433, 1.0060953357018, 0, 0, 0, 0, 1]} + + - ! + name: Linear Venice S-Gamut3.Cine + aliases: [lin_venice_sgamut3cine, Input - Sony - Linear - Venice S-Gamut3.Cine] + family: Input/Sony + equalitygroup: "" + bitdepth: 32f + description: | + Convert Linear Venice S-Gamut3.Cine to ACES2065-1 + + CLFtransformID: urn:aswf:ocio:transformId:1.0:Sony:Input:Linear_Venice_SGamut3Cine_to_ACES2065-1:1.0 + isdata: false + categories: [file-io] + encoding: scene-linear + allocation: uniform + to_scene_reference: ! + name: Linear Venice S-Gamut3.Cine to ACES2065-1 + children: + - ! {matrix: [0.674257092126512, 0.220571735923397, 0.10517117195009, 0, -0.00931360607857167, 1.10595886142466, -0.0966452553460855, 0, -0.0382090673002312, -0.017938376600236, 1.05614744390047, 0, 0, 0, 0, 1]} + + - ! + name: S-Log3 S-Gamut3 + aliases: [slog3_sgamut3, Input - Sony - S-Log3 - S-Gamut3] + family: Input/Sony + equalitygroup: "" + bitdepth: 32f + description: | + Convert Sony S-Log3 S-Gamut3 to ACES2065-1 + + CLFtransformID: urn:aswf:ocio:transformId:1.0:Sony:Input:SLog3_SGamut3_to_ACES2065-1:1.0 + isdata: false + categories: [file-io] + encoding: log + allocation: uniform + to_scene_reference: ! + name: Sony S-Log3 S-Gamut3 to ACES2065-1 + children: + - ! {base: 10, log_side_slope: 0.255620723362659, log_side_offset: 0.410557184750733, lin_side_slope: 5.26315789473684, lin_side_offset: 0.0526315789473684, lin_side_break: 0.01125, linear_slope: 6.62194371177582, direction: inverse} + - ! {matrix: [0.75298259539984, 0.143370216235557, 0.103647188364603, 0, 0.0217076974414429, 1.01531883550528, -0.0370265329467195, 0, -0.00941605274963355, 0.00337041785882367, 1.00604563489081, 0, 0, 0, 0, 1]} + + - ! + name: S-Log3 S-Gamut3.Cine + aliases: [slog3_sgamut3cine, Input - Sony - S-Log3 - S-Gamut3.Cine, slog3_sgamutcine] + family: Input/Sony + equalitygroup: "" + bitdepth: 32f + description: | + Convert Sony S-Log3 S-Gamut3.Cine to ACES2065-1 + + CLFtransformID: urn:aswf:ocio:transformId:1.0:Sony:Input:SLog3_SGamut3Cine_to_ACES2065-1:1.0 + isdata: false + categories: [file-io] + encoding: log + allocation: uniform + to_scene_reference: ! + name: Sony S-Log3 S-Gamut3.Cine to ACES2065-1 + children: + - ! {base: 10, log_side_slope: 0.255620723362659, log_side_offset: 0.410557184750733, lin_side_slope: 5.26315789473684, lin_side_offset: 0.0526315789473684, lin_side_break: 0.01125, linear_slope: 6.62194371177582, direction: inverse} + - ! {matrix: [0.638788667185978, 0.272351433711262, 0.0888598991027595, 0, -0.00391590602528224, 1.0880732308974, -0.0841573248721177, 0, -0.0299072021239151, -0.0264325799101947, 1.05633978203411, 0, 0, 0, 0, 1]} + + - ! + name: S-Log3 Venice S-Gamut3 + aliases: [slog3_venice_sgamut3, Input - Sony - S-Log3 - Venice S-Gamut3] + family: Input/Sony + equalitygroup: "" + bitdepth: 32f + description: | + Convert Sony S-Log3 Venice S-Gamut3 to ACES2065-1 + + CLFtransformID: urn:aswf:ocio:transformId:1.0:Sony:Input:SLog3_Venice_SGamut3_to_ACES2065-1:1.0 + isdata: false + categories: [file-io] + encoding: log + allocation: uniform + to_scene_reference: ! + name: Sony S-Log3 Venice S-Gamut3 to ACES2065-1 + children: + - ! {base: 10, log_side_slope: 0.255620723362659, log_side_offset: 0.410557184750733, lin_side_slope: 5.26315789473684, lin_side_offset: 0.0526315789473684, lin_side_break: 0.01125, linear_slope: 6.62194371177582, direction: inverse} + - ! {matrix: [0.793329741146434, 0.089078625620677, 0.117591633232888, 0, 0.0155810585252582, 1.03271230692988, -0.0482933654551394, 0, -0.0188647477991488, 0.0127694120973433, 1.00609533570181, 0, 0, 0, 0, 1]} + + - ! + name: S-Log3 Venice S-Gamut3.Cine + aliases: [slog3_venice_sgamut3cine, Input - Sony - S-Log3 - Venice S-Gamut3.Cine, slog3_venice_sgamutcine] + family: Input/Sony + equalitygroup: "" + bitdepth: 32f + description: | + Convert Sony S-Log3 Venice S-Gamut3.Cine to ACES2065-1 + + CLFtransformID: urn:aswf:ocio:transformId:1.0:Sony:Input:SLog3_Venice_SGamut3Cine_to_ACES2065-1:1.0 + isdata: false + categories: [file-io] + encoding: log + allocation: uniform + to_scene_reference: ! + name: Sony S-Log3 Venice S-Gamut3.Cine to ACES2065-1 + children: + - ! {base: 10, log_side_slope: 0.255620723362659, log_side_offset: 0.410557184750733, lin_side_slope: 5.26315789473684, lin_side_offset: 0.0526315789473684, lin_side_break: 0.01125, linear_slope: 6.62194371177582, direction: inverse} + - ! {matrix: [0.674257092126512, 0.220571735923397, 0.10517117195009, 0, -0.00931360607857167, 1.10595886142466, -0.0966452553460855, 0, -0.0382090673002312, -0.017938376600236, 1.05614744390047, 0, 0, 0, 0, 1]} + + - ! + name: Camera Rec.709 + aliases: [camera_rec709, Utility - Rec.709 - Camera, rec709_camera] + family: Utility/ITU + equalitygroup: "" + bitdepth: 32f + description: | + Convert ACES2065-1 to Rec.709 camera OETF Rec.709 primaries, D65 white point + + CLFtransformID: urn:aswf:ocio:transformId:1.0:ITU:Utility:AP0_to_Camera_Rec709:1.0 + isdata: false + categories: [file-io] + encoding: sdr-video + allocation: uniform + from_scene_reference: ! + name: AP0 to Camera Rec.709 + children: + - ! {matrix: [2.52168618674388, -1.13413098823972, -0.387555198504164, 0, -0.276479914229922, 1.37271908766826, -0.096239173438334, 0, -0.0153780649660342, -0.152975335867399, 1.16835340083343, 0, 0, 0, 0, 1]} + - ! {gamma: 2.22222222222222, offset: 0.099, direction: inverse} + + - ! + name: Linear P3-D65 + aliases: [lin_p3d65, Utility - Linear - P3-D65] + family: Utility + equalitygroup: "" + bitdepth: 32f + description: | + Convert ACES2065-1 to linear P3 primaries, D65 white point + + CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Linear_P3-D65:1.0 + isdata: false + categories: [file-io, working-space] + encoding: scene-linear + allocation: uniform + from_scene_reference: ! + name: AP0 to Linear P3-D65 + children: + - ! {matrix: [2.02490528596679, -0.689069761034766, -0.335835524932019, 0, -0.183597032256178, 1.28950620775902, -0.105909175502841, 0, 0.00905856112234766, -0.0592796840575522, 1.0502211229352, 0, 0, 0, 0, 1]} + + - ! + name: Linear Rec.2020 + aliases: [lin_rec2020, Utility - Linear - Rec.2020] + family: Utility + equalitygroup: "" + bitdepth: 32f + description: | + Convert ACES2065-1 to linear Rec.2020 primaries, D65 white point + + CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Linear_Rec2020:1.0 + isdata: false + categories: [file-io] + encoding: scene-linear + allocation: uniform + from_scene_reference: ! + name: AP0 to Linear Rec.2020 + children: + - ! {matrix: [1.49040952054172, -0.26617091926613, -0.224238601275593, 0, -0.0801674998722558, 1.18216712109757, -0.10199962122531, 0, 0.00322763119162216, -0.0347764757450576, 1.03154884455344, 0, 0, 0, 0, 1]} + + - ! + name: Linear Rec.709 (sRGB) + aliases: [lin_rec709_srgb, Utility - Linear - Rec.709, lin_rec709, lin_srgb, Utility - Linear - sRGB] + family: Utility + equalitygroup: "" + bitdepth: 32f + description: | + Convert ACES2065-1 to linear Rec.709 primaries, D65 white point + + CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Linear_Rec709:1.0 + isdata: false + categories: [file-io, working-space] + encoding: scene-linear + allocation: uniform + from_scene_reference: ! + name: AP0 to Linear Rec.709 (sRGB) + children: + - ! {matrix: [2.52168618674388, -1.13413098823972, -0.387555198504164, 0, -0.276479914229922, 1.37271908766826, -0.096239173438334, 0, -0.0153780649660342, -0.152975335867399, 1.16835340083343, 0, 0, 0, 0, 1]} + + - ! + name: Gamma 1.8 Rec.709 - Texture + aliases: [g18_rec709_tx, Utility - Gamma 1.8 - Rec.709 - Texture, g18_rec709] + family: Utility + equalitygroup: "" + bitdepth: 32f + description: | + Convert ACES2065-1 to 1.8 gamma-corrected Rec.709 primaries, D65 white point + + CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma1.8_Rec709-Texture:1.0 + isdata: false + categories: [file-io] + encoding: sdr-video + allocation: uniform + from_scene_reference: ! + name: AP0 to Gamma 1.8 Rec.709 - Texture + children: + - ! {matrix: [2.52168618674388, -1.13413098823972, -0.387555198504164, 0, -0.276479914229922, 1.37271908766826, -0.096239173438334, 0, -0.0153780649660342, -0.152975335867399, 1.16835340083343, 0, 0, 0, 0, 1]} + - ! {value: 1.8, style: pass_thru, direction: inverse} + + - ! + name: Gamma 2.2 AP1 - Texture + aliases: [g22_ap1_tx, g22_ap1] + family: Utility + equalitygroup: "" + bitdepth: 32f + description: | + Convert ACES2065-1 to 2.2 gamma-corrected AP1 primaries, D60 white point + + CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma2.2_AP1-Texture:1.0 + isdata: false + categories: [file-io] + encoding: sdr-video + allocation: uniform + from_scene_reference: ! + name: AP0 to Gamma 2.2 AP1 - Texture + children: + - ! {matrix: [1.45143931614567, -0.23651074689374, -0.214928569251925, 0, -0.0765537733960206, 1.17622969983357, -0.0996759264375522, 0, 0.00831614842569772, -0.00603244979102102, 0.997716301365323, 0, 0, 0, 0, 1]} + - ! {value: 2.2, style: pass_thru, direction: inverse} + + - ! + name: Gamma 2.2 Rec.709 - Texture + aliases: [g22_rec709_tx, Utility - Gamma 2.2 - Rec.709 - Texture, g22_rec709] + family: Utility + equalitygroup: "" + bitdepth: 32f + description: | + Convert ACES2065-1 to 2.2 gamma-corrected Rec.709 primaries, D65 white point + + CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma2.2_Rec709-Texture:1.0 + isdata: false + categories: [file-io] + encoding: sdr-video + allocation: uniform + from_scene_reference: ! + name: AP0 to Gamma 2.2 Rec.709 - Texture + children: + - ! {matrix: [2.52168618674388, -1.13413098823972, -0.387555198504164, 0, -0.276479914229922, 1.37271908766826, -0.096239173438334, 0, -0.0153780649660342, -0.152975335867399, 1.16835340083343, 0, 0, 0, 0, 1]} + - ! {value: 2.2, style: pass_thru, direction: inverse} + + - ! + name: Gamma 2.4 Rec.709 - Texture + aliases: [g24_rec709_tx, g24_rec709, rec709_display, Utility - Rec.709 - Display] + family: Utility + equalitygroup: "" + bitdepth: 32f + description: | + Convert ACES2065-1 to 2.4 gamma-corrected Rec.709 primaries, D65 white point + + CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma2.4_Rec709-Texture:1.0 + isdata: false + categories: [file-io] + encoding: sdr-video + allocation: uniform + from_scene_reference: ! + name: AP0 to Gamma 2.4 Rec.709 - Texture + children: + - ! {matrix: [2.52168618674388, -1.13413098823972, -0.387555198504164, 0, -0.276479914229922, 1.37271908766826, -0.096239173438334, 0, -0.0153780649660342, -0.152975335867399, 1.16835340083343, 0, 0, 0, 0, 1]} + - ! {value: 2.4, style: pass_thru, direction: inverse} + + - ! + name: sRGB Encoded AP1 - Texture + aliases: [srgb_encoded_ap1_tx, srgb_ap1] + family: Utility + equalitygroup: "" + bitdepth: 32f + description: | + Convert ACES2065-1 to sRGB Encoded AP1 primaries, D60 white point + + CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_sRGB_Encoded_AP1-Texture:1.0 + isdata: false + categories: [file-io] + encoding: sdr-video + allocation: uniform + from_scene_reference: ! + name: AP0 to sRGB Encoded AP1 - Texture + children: + - ! {matrix: [1.45143931614567, -0.23651074689374, -0.214928569251925, 0, -0.0765537733960206, 1.17622969983357, -0.0996759264375522, 0, 0.00831614842569772, -0.00603244979102102, 0.997716301365323, 0, 0, 0, 0, 1]} + - ! {gamma: 2.4, offset: 0.055, direction: inverse} + + - ! + name: sRGB - Texture + aliases: [srgb_tx, Utility - sRGB - Texture, srgb_texture, Input - Generic - sRGB - Texture] + family: Utility + equalitygroup: "" + bitdepth: 32f + description: | + Convert ACES2065-1 to sRGB + + CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_sRGB-Texture:1.0 + isdata: false + categories: [file-io] + allocation: uniform + from_scene_reference: ! + name: AP0 to sRGB Rec.709 + children: + - ! {matrix: [2.52168618674388, -1.13413098823972, -0.387555198504164, 0, -0.276479914229922, 1.37271908766826, -0.096239173438334, 0, -0.0153780649660342, -0.152975335867399, 1.16835340083343, 0, 0, 0, 0, 1]} + - ! {gamma: 2.4, offset: 0.055, direction: inverse} + + - ! + name: Raw + aliases: [Utility - Raw] + family: Utility + equalitygroup: "" + bitdepth: 32f + description: The utility "Raw" colorspace. + isdata: true + categories: [file-io] + allocation: uniform + +named_transforms: + - ! + name: ARRI LogC3 - Curve (EI800) + aliases: [arri_logc3_crv_ei800, Input - ARRI - Curve - V3 LogC (EI800), crv_logc3ei800] + description: | + Convert ARRI LogC3 Curve (EI800) to Relative Scene Linear + + CLFtransformID: urn:aswf:ocio:transformId:1.0:ARRI:Input:ARRI_LogC3_Curve_EI800_to_Linear:1.0 + family: Input/ARRI + categories: [file-io] + encoding: log + transform: ! + name: ARRI LogC3 Curve (EI800) to Relative Scene Linear + children: + - ! {base: 10, log_side_slope: 0.247189638318671, log_side_offset: 0.385536998692443, lin_side_slope: 5.55555555555556, lin_side_offset: 0.0522722750251688, lin_side_break: 0.0105909904954696, direction: inverse} + + - ! + name: ARRI LogC4 - Curve + aliases: [arri_logc4_crv] + description: | + Convert ARRI LogC4 Curve to Relative Scene Linear + + CLFtransformID: urn:aswf:ocio:transformId:1.0:ARRI:Input:ARRI_LogC4_Curve_to_Linear:1.0 + family: Input/ARRI + categories: [file-io] + encoding: log + transform: ! + name: ARRI LogC4 Curve to Relative Scene Linear + children: + - ! {log_side_slope: 0.0647954196341293, log_side_offset: -0.295908392682586, lin_side_slope: 2231.82630906769, lin_side_offset: 64, lin_side_break: -0.0180569961199113, direction: inverse} + + - ! + name: BMDFilm Gen5 Log - Curve + aliases: [bmdfilm_gen5_log_crv] + description: | + Convert Blackmagic Film (Gen 5) Log to Blackmagic Film (Gen 5) Linear + + CLFtransformID: urn:aswf:ocio:transformId:1.0:BlackmagicDesign:Input:BMDFilm_Gen5_Log-Curve_to_Linear:1.0 + family: Input/BlackmagicDesign + categories: [file-io] + encoding: log + transform: ! + name: Blackmagic Film (Gen 5) Log to Linear Curve + children: + - ! {base: 2.71828182845905, log_side_slope: 0.0869287606549122, log_side_offset: 0.530013339229194, lin_side_offset: 0.00549407243225781, lin_side_break: 0.005, direction: inverse} + + - ! + name: DaVinci Intermediate Log - Curve + aliases: [davinci_intermediate_log_crv] + description: | + Convert DaVinci Intermediate Log to DaVinci Intermediate Linear + + CLFtransformID: urn:aswf:ocio:transformId:1.0:BlackmagicDesign:Input:DaVinci_Intermediate_Log-Curve_to_Linear:1.0 + family: Input/BlackmagicDesign + categories: [file-io] + encoding: log + transform: ! + name: DaVinci Intermediate Log to Linear Curve + children: + - ! {log_side_slope: 0.07329248, log_side_offset: 0.51304736, lin_side_offset: 0.0075, lin_side_break: 0.00262409, linear_slope: 10.44426855, direction: inverse} + + - ! + name: V-Log - Curve + aliases: [vlog_crv, Input - Panasonic - Curve - V-Log, crv_vlog] + description: | + Convert Panasonic V-Log Log (arbitrary primaries) to Panasonic V-Log Linear (arbitrary primaries) + + CLFtransformID: urn:aswf:ocio:transformId:1.0:Panasonic:Input:VLog-Curve_to_Linear:1.0 + family: Input/Panasonic + categories: [file-io] + encoding: log + transform: ! + name: Panasonic V-Log Log to Linear Curve + children: + - ! {base: 10, log_side_slope: 0.241514, log_side_offset: 0.598206, lin_side_offset: 0.00873, lin_side_break: 0.01, direction: inverse} + + - ! + name: Log3G10 - Curve + aliases: [log3g10_crv, Input - RED - Curve - REDLog3G10, crv_rl3g10] + description: | + Convert RED Log3G10 Log (arbitrary primaries) to RED Log3G10 Linear (arbitrary primaries) + + CLFtransformID: urn:aswf:ocio:transformId:1.0:RED:Input:Log3G10-Curve_to_Linear:1.0 + family: Input/RED + categories: [file-io] + encoding: log + transform: ! + name: RED Log3G10 Log to Linear Curve + children: + - ! {base: 10, log_side_slope: 0.224282, lin_side_slope: 155.975327, lin_side_offset: 2.55975327, lin_side_break: -0.01, direction: inverse} + + - ! + name: S-Log3 - Curve + aliases: [slog3_crv, Input - Sony - Curve - S-Log3, crv_slog3] + description: | + Convert S-Log3 Log (arbitrary primaries) to S-Log3 Linear (arbitrary primaries) + + CLFtransformID: urn:aswf:ocio:transformId:1.0:Sony:Input:SLog3-Curve_to_Linear:1.0 + family: Input/Sony + categories: [file-io] + encoding: log + transform: ! + name: S-Log3 Log to Linear Curve + children: + - ! {base: 10, log_side_slope: 0.255620723362659, log_side_offset: 0.410557184750733, lin_side_slope: 5.26315789473684, lin_side_offset: 0.0526315789473684, lin_side_break: 0.01125, linear_slope: 6.62194371177582, direction: inverse} + + - ! + name: Rec.1886 - Curve + aliases: [rec1886_crv, Utility - Curve - Rec.1886, crv_rec1886] + description: | + Convert generic linear RGB to generic gamma-corrected RGB + + CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:Linear_to_Rec1886-Curve:1.0 + family: Utility + categories: [file-io] + encoding: sdr-video + inverse_transform: ! + name: Linear to Rec.1886 + children: + - ! {value: 2.4, style: pass_thru, direction: inverse} + + - ! + name: Rec.709 - Curve + aliases: [rec709_crv, Utility - Curve - Rec.709, crv_rec709] + description: | + Convert generic linear RGB to generic gamma-corrected RGB + + CLFtransformID: urn:aswf:ocio:transformId:1.0:ITU:Utility:Linear_to_Rec709-Curve:1.0 + family: Utility/ITU + categories: [file-io] + encoding: sdr-video + inverse_transform: ! + name: Linear to Rec.709 + children: + - ! {gamma: 2.22222222222222, offset: 0.099, direction: inverse} + + - ! + name: sRGB - Curve + aliases: [srgb_crv, Utility - Curve - sRGB, crv_srgb] + description: | + Convert generic linear RGB to generic gamma-corrected RGB + + CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:Linear_to_sRGB-Curve:1.0 + family: Utility + categories: [file-io] + encoding: sdr-video + inverse_transform: ! + name: Linear to sRGB + children: + - ! {gamma: 2.4, offset: 0.055, direction: inverse} + + - ! + name: ST-2084 - Curve + aliases: [st_2084_crv] + description: Convert linear nits/100 to SMPTE ST-2084 (PQ) full-range + family: Utility + categories: [file-io] + encoding: hdr-video + inverse_transform: ! {style: CURVE - LINEAR_to_ST-2084} diff --git a/tests/cpu/CMakeLists.txt b/tests/cpu/CMakeLists.txt index c228e495f2..ff3b19dc78 100755 --- a/tests/cpu/CMakeLists.txt +++ b/tests/cpu/CMakeLists.txt @@ -77,6 +77,7 @@ endfunction(add_ocio_test) # OpenColorIO target set(SOURCES builtinconfigs/CGConfig.cpp + builtinconfigs/StudioConfig.cpp fileformats/cdl/CDLParser.cpp fileformats/cdl/CDLReaderHelper.cpp fileformats/cdl/CDLWriter.cpp diff --git a/tests/cpu/ColorSpace_tests.cpp b/tests/cpu/ColorSpace_tests.cpp index 0b1be643ab..fc3a6581a6 100644 --- a/tests/cpu/ColorSpace_tests.cpp +++ b/tests/cpu/ColorSpace_tests.cpp @@ -1102,7 +1102,7 @@ ocio_profile_version: 2 editableCfg->setInactiveColorSpaces("ACES cg, Linear ITU-R BT.709, Texture -- sRGB"); std::string srcColorSpaceName = "not sRGB"; - std::string builtinColorSpaceName = "Utility - Gamma 2.2 - AP1 - Texture"; + std::string builtinColorSpaceName = "Gamma 2.2 AP1 - Texture"; { // Test throw if no suitable spaces are present. diff --git a/tests/cpu/Config_tests.cpp b/tests/cpu/Config_tests.cpp index b274fa3694..329bd63ef5 100644 --- a/tests/cpu/Config_tests.cpp +++ b/tests/cpu/Config_tests.cpp @@ -8967,27 +8967,34 @@ OCIO_ADD_TEST(Config, look_fallback) OCIO_ADD_TEST(Config, create_builtin_config) { + // ******************************** + // Testing CG config. + // ******************************** + int numberOfExpectedColorspaces = 14; + const std::string cgConfigName = "cg-config-v1.0.0_aces-v1.3_ocio-v2.1"; + const std::string cgConfigURI = std::string("ocio://") + cgConfigName; + { // Testing CreateFromBuiltinConfig with a known built-in config name. OCIO::ConstConfigRcPtr config; OCIO_CHECK_NO_THROW( - config = OCIO::Config::CreateFromBuiltinConfig("cg-config-v0.1.0_aces-v1.3_ocio-v2.1.1") + config = OCIO::Config::CreateFromBuiltinConfig(cgConfigName.c_str()) ); OCIO_REQUIRE_ASSERT(config); OCIO_CHECK_NO_THROW(config->validate()); OCIO_CHECK_EQUAL( std::string(config->getName()), - std::string("cg-config-v0.1.0_aces-v1.3_ocio-v2.1.1") + cgConfigName ); - OCIO_CHECK_EQUAL(config->getNumColorSpaces(), 19); + OCIO_CHECK_EQUAL(config->getNumColorSpaces(), numberOfExpectedColorspaces); } { // Testing CreateFromEnv with an known built-in config name using URI Syntax. - OCIO::EnvironmentVariableGuard guard("OCIO", "ocio://cg-config-v0.1.0_aces-v1.3_ocio-v2.1.1"); + OCIO::EnvironmentVariableGuard guard("OCIO", cgConfigURI); OCIO::ConstConfigRcPtr config; OCIO_CHECK_NO_THROW(config = OCIO::Config::CreateFromEnv()); @@ -8996,9 +9003,9 @@ OCIO_ADD_TEST(Config, create_builtin_config) OCIO_CHECK_NO_THROW(config->validate()); OCIO_CHECK_EQUAL( std::string(config->getName()), - std::string("cg-config-v0.1.0_aces-v1.3_ocio-v2.1.1") + cgConfigName ); - OCIO_CHECK_EQUAL(config->getNumColorSpaces(), 19); + OCIO_CHECK_EQUAL(config->getNumColorSpaces(), numberOfExpectedColorspaces); } { @@ -9006,18 +9013,79 @@ OCIO_ADD_TEST(Config, create_builtin_config) OCIO::ConstConfigRcPtr config; OCIO_CHECK_NO_THROW( - config = OCIO::Config::CreateFromFile("ocio://cg-config-v0.1.0_aces-v1.3_ocio-v2.1.1") + config = OCIO::Config::CreateFromFile(cgConfigURI.c_str()) ); OCIO_REQUIRE_ASSERT(config); OCIO_CHECK_NO_THROW(config->validate()); OCIO_CHECK_EQUAL( std::string(config->getName()), - std::string("cg-config-v0.1.0_aces-v1.3_ocio-v2.1.1") + cgConfigName ); - OCIO_CHECK_EQUAL(config->getNumColorSpaces(), 19); + OCIO_CHECK_EQUAL(config->getNumColorSpaces(), numberOfExpectedColorspaces); } + // ******************************** + // Testing STUDIO config. + // ******************************** + numberOfExpectedColorspaces = 39; + const std::string studioConfigName = "studio-config-v1.0.0_aces-v1.3_ocio-v2.1"; + const std::string studioConfigURI = std::string("ocio://") + studioConfigName; + + { + // Testing CreateFromBuiltinConfig with a known built-in config name. + + OCIO::ConstConfigRcPtr config; + OCIO_CHECK_NO_THROW( + config = OCIO::Config::CreateFromBuiltinConfig(studioConfigName.c_str()) + ); + OCIO_REQUIRE_ASSERT(config); + + OCIO_CHECK_NO_THROW(config->validate()); + OCIO_CHECK_EQUAL( + std::string(config->getName()), + studioConfigName + ); + OCIO_CHECK_EQUAL(config->getNumColorSpaces(), numberOfExpectedColorspaces); + } + + { + // Testing CreateFromEnv with an known built-in config name using URI Syntax. + + OCIO::EnvironmentVariableGuard guard("OCIO", studioConfigURI); + + OCIO::ConstConfigRcPtr config; + OCIO_CHECK_NO_THROW(config = OCIO::Config::CreateFromEnv()); + OCIO_REQUIRE_ASSERT(config); + + OCIO_CHECK_NO_THROW(config->validate()); + OCIO_CHECK_EQUAL( + std::string(config->getName()), + studioConfigName + ); + OCIO_CHECK_EQUAL(config->getNumColorSpaces(), numberOfExpectedColorspaces); + } + + { + // Testing CreateFromFile with an known built-in config name using URI Syntax. + + OCIO::ConstConfigRcPtr config; + OCIO_CHECK_NO_THROW( + config = OCIO::Config::CreateFromFile(studioConfigURI.c_str()) + ); + OCIO_REQUIRE_ASSERT(config); + + OCIO_CHECK_NO_THROW(config->validate()); + OCIO_CHECK_EQUAL( + std::string(config->getName()), + studioConfigName + ); + OCIO_CHECK_EQUAL(config->getNumColorSpaces(), numberOfExpectedColorspaces); + } + + // ******************************** + // Testing default config. + // ******************************** { // Testing CreateFromEnv with the default config using URI Syntax. @@ -9031,9 +9099,9 @@ OCIO_ADD_TEST(Config, create_builtin_config) OCIO_CHECK_NO_THROW(config->validate()); OCIO_CHECK_EQUAL( std::string(config->getName()), - std::string("cg-config-v0.1.0_aces-v1.3_ocio-v2.1.1") + std::string("cg-config-v1.0.0_aces-v1.3_ocio-v2.1") ); - OCIO_CHECK_EQUAL(config->getNumColorSpaces(), 19); + OCIO_CHECK_EQUAL(config->getNumColorSpaces(), 14); } { @@ -9046,9 +9114,9 @@ OCIO_ADD_TEST(Config, create_builtin_config) OCIO_CHECK_NO_THROW(config->validate()); OCIO_CHECK_EQUAL( std::string(config->getName()), - std::string("cg-config-v0.1.0_aces-v1.3_ocio-v2.1.1") + std::string("cg-config-v1.0.0_aces-v1.3_ocio-v2.1") ); - OCIO_CHECK_EQUAL(config->getNumColorSpaces(), 19); + OCIO_CHECK_EQUAL(config->getNumColorSpaces(), 14); } // ******************************** @@ -9347,4 +9415,4 @@ OCIO_ADD_TEST(Config, create_from_config_io_proxy) OCIO_REQUIRE_ASSERT(proc); OCIO_CHECK_NO_THROW(proc->getDefaultCPUProcessor()); } -} +} \ No newline at end of file diff --git a/tests/cpu/builtinconfigs/BuiltinConfigRegistry_tests.cpp b/tests/cpu/builtinconfigs/BuiltinConfigRegistry_tests.cpp index f1279d427b..d452d60e24 100644 --- a/tests/cpu/builtinconfigs/BuiltinConfigRegistry_tests.cpp +++ b/tests/cpu/builtinconfigs/BuiltinConfigRegistry_tests.cpp @@ -5,6 +5,7 @@ #include "testutils/UnitTest.h" #include "CG.cpp" +#include "Studio.cpp" namespace OCIO = OCIO_NAMESPACE; @@ -12,34 +13,70 @@ OCIO_ADD_TEST(BuiltinConfigs, basic) { const OCIO::BuiltinConfigRegistry & registry = OCIO::BuiltinConfigRegistry::Get(); - OCIO_CHECK_EQUAL(registry.getNumBuiltinConfigs(), 1); + OCIO_CHECK_EQUAL(registry.getNumBuiltinConfigs(), 2); + // Test default builtin config. + const std::string cgConfigName = "cg-config-v1.0.0_aces-v1.3_ocio-v2.1"; + + OCIO_CHECK_EQUAL( + std::string(registry.getDefaultBuiltinConfigName()), + cgConfigName + ); + + // ******************************************* + // Testing the first config. (ACES CG config) + // ******************************************* + OCIO_CHECK_EQUAL( std::string(registry.getBuiltinConfigName(0)), - std::string("cg-config-v0.1.0_aces-v1.3_ocio-v2.1.1") + cgConfigName ); OCIO_CHECK_EQUAL( std::string(registry.getBuiltinConfigUIName(0)), - std::string("Academy Color Encoding System - CG Config [COLORSPACES v0.1.0] [ACES v1.3] [OCIO v2.1.1]") + std::string("Academy Color Encoding System - CG Config [COLORSPACES v1.0.0] "\ + "[ACES v1.3] [OCIO v2.1]") ); OCIO_CHECK_EQUAL( std::string(registry.getBuiltinConfig(0)), - std::string(CG_CONFIG_V010_ACES_V130_OCIO_V211) + std::string(CG_CONFIG_V100_ACES_V13_OCIO_V21) ); OCIO_CHECK_EQUAL( - std::string(registry.getBuiltinConfigByName("cg-config-v0.1.0_aces-v1.3_ocio-v2.1.1")), - std::string(CG_CONFIG_V010_ACES_V130_OCIO_V211) + std::string(registry.getBuiltinConfigByName(cgConfigName.c_str())), + std::string(CG_CONFIG_V100_ACES_V13_OCIO_V21) ); + OCIO_CHECK_EQUAL(registry.isBuiltinConfigRecommended(0), true); + + // ************************************************ + // Testing the second config. (ACES Studio config) + // ************************************************ + const std::string studioConfigName = "studio-config-v1.0.0_aces-v1.3_ocio-v2.1"; + OCIO_CHECK_EQUAL( - std::string(registry.getDefaultBuiltinConfigName()), - std::string("cg-config-v0.1.0_aces-v1.3_ocio-v2.1.1") - ); + std::string(registry.getBuiltinConfigName(1)), + studioConfigName + ); - OCIO_CHECK_EQUAL(registry.isBuiltinConfigRecommended(0), true); + OCIO_CHECK_EQUAL( + std::string(registry.getBuiltinConfigUIName(1)), + std::string("Academy Color Encoding System - Studio Config [COLORSPACES v1.0.0] "\ + "[ACES v1.3] [OCIO v2.1]") + ); + + OCIO_CHECK_EQUAL( + std::string(registry.getBuiltinConfig(1)), + std::string(STUDIO_CONFIG_V100_ACES_V13_OCIO_V21) + ); + + OCIO_CHECK_EQUAL( + std::string(registry.getBuiltinConfigByName(studioConfigName.c_str())), + std::string(STUDIO_CONFIG_V100_ACES_V13_OCIO_V21) + ); + + OCIO_CHECK_EQUAL(registry.isBuiltinConfigRecommended(1), true); // ******************************** // Testing some expected failures. diff --git a/tests/python/BuiltinConfigRegistryTest.py b/tests/python/BuiltinConfigRegistryTest.py index fc671be206..ebb476e478 100644 --- a/tests/python/BuiltinConfigRegistryTest.py +++ b/tests/python/BuiltinConfigRegistryTest.py @@ -104,24 +104,35 @@ def test_get_builtin_configs(self): # Config specific tests # Test number of configs. - self.assertEqual(len(self.REGISTRY), 1) + self.assertEqual(len(self.REGISTRY), 2) - # Test the first config. + # Test for the default built-in config. + self.assertEqual( + self.REGISTRY.getDefaultBuiltinConfigName(), + "cg-config-v1.0.0_aces-v1.3_ocio-v2.1" + ) + + # Test the CG config. # Name - self.assertEqual(values[0][0], "cg-config-v0.1.0_aces-v1.3_ocio-v2.1.1") + self.assertEqual(values[0][0], "cg-config-v1.0.0_aces-v1.3_ocio-v2.1") # UI name self.assertEqual( values[0][1], - ("Academy Color Encoding System - CG Config [COLORSPACES v0.1.0] [ACES v1.3] " - "[OCIO v2.1.1]")) + ("Academy Color Encoding System - CG Config [COLORSPACES v1.0.0] [ACES v1.3] " + "[OCIO v2.1]")) # isRecommended self.assertEqual(values[0][2], True) - # Test for the default built-in config. + # Test the Studio config. + # Name + self.assertEqual(values[1][0], "studio-config-v1.0.0_aces-v1.3_ocio-v2.1") + # UI name self.assertEqual( - self.REGISTRY.getDefaultBuiltinConfigName(), - "cg-config-v0.1.0_aces-v1.3_ocio-v2.1.1" - ) + values[1][1], + ("Academy Color Encoding System - Studio Config [COLORSPACES v1.0.0] [ACES v1.3] " + "[OCIO v2.1]")) + # isRecommended + self.assertEqual(values[1][2], True) def test_multi_reference(self): # Registry is a singleton. Make sure multiple Python diff --git a/tests/python/ColorSpaceTest.py b/tests/python/ColorSpaceTest.py index 166ecaf3fc..792bcf5fec 100644 --- a/tests/python/ColorSpaceTest.py +++ b/tests/python/ColorSpaceTest.py @@ -714,7 +714,7 @@ def check_processor_inv(self, p): cfg.setInactiveColorSpaces("ACES cg, Linear ITU-R BT.709, Texture -- sRGB") src_csname = "not sRGB" - builtin_csname = "Utility - Gamma 2.2 - AP1 - Texture" + builtin_csname = "Gamma 2.2 AP1 - Texture" # Test throw if no suitable spaces are present. with self.assertRaises(OCIO.Exception): diff --git a/tests/python/ConfigTest.py b/tests/python/ConfigTest.py index 0c53947000..1ea0e2d928 100644 --- a/tests/python/ConfigTest.py +++ b/tests/python/ConfigTest.py @@ -904,43 +904,79 @@ def test_virtual_display(self): self.assertEqual(0, len(cfg.getVirtualDisplayViews(OCIO.VIEW_SHARED))) def test_create_builtin_config(self): + # ******************************** + # Testing CG config. + # ******************************** + + numberOfExpectedColorspaces = 14 + # Testing CreateFromBuiltinConfig with a known built-in config name. + builtinCfgA = OCIO.Config.CreateFromBuiltinConfig("cg-config-v1.0.0_aces-v1.3_ocio-v2.1") + builtinCfgA.validate() + self.assertEqual(builtinCfgA.getName(), "cg-config-v1.0.0_aces-v1.3_ocio-v2.1") + self.assertEqual(len(builtinCfgA.getColorSpaceNames()), numberOfExpectedColorspaces) + + # Testing CreateFromEnv with an known built-in config name using URI Syntax. + try: + OCIO.SetEnvVariable('OCIO', 'ocio://cg-config-v1.0.0_aces-v1.3_ocio-v2.1') + builtinCfgB = OCIO.Config.CreateFromEnv() + builtinCfgB.validate() + self.assertEqual(builtinCfgB.getName(), "cg-config-v1.0.0_aces-v1.3_ocio-v2.1") + self.assertEqual(len(builtinCfgB.getColorSpaceNames()), numberOfExpectedColorspaces) + finally: + OCIO.UnsetEnvVariable('OCIO') + + # Testing CreateFromFile with an known built-in config name using URI Syntax. + builtinCfgC = OCIO.Config.CreateFromFile("ocio://cg-config-v1.0.0_aces-v1.3_ocio-v2.1") + builtinCfgC.validate() + self.assertEqual(builtinCfgC.getName(), "cg-config-v1.0.0_aces-v1.3_ocio-v2.1") + self.assertEqual(len(builtinCfgC.getColorSpaceNames()), numberOfExpectedColorspaces) + + # ******************************** + # Testing STUDIO config. + # ******************************** + + numberOfExpectedColorspaces = 39; # Testing CreateFromBuiltinConfig with a known built-in config name. - builtinCfgA = OCIO.Config.CreateFromBuiltinConfig("cg-config-v0.1.0_aces-v1.3_ocio-v2.1.1") + builtinCfgA = OCIO.Config.CreateFromBuiltinConfig("studio-config-v1.0.0_aces-v1.3_ocio-v2.1") builtinCfgA.validate() - self.assertEqual(builtinCfgA.getName(), "cg-config-v0.1.0_aces-v1.3_ocio-v2.1.1") - self.assertEqual(len(builtinCfgA.getColorSpaceNames()), 19) + self.assertEqual(builtinCfgA.getName(), "studio-config-v1.0.0_aces-v1.3_ocio-v2.1") + self.assertEqual(len(builtinCfgA.getColorSpaceNames()), numberOfExpectedColorspaces) # Testing CreateFromEnv with an known built-in config name using URI Syntax. try: - OCIO.SetEnvVariable('OCIO', 'ocio://cg-config-v0.1.0_aces-v1.3_ocio-v2.1.1') + OCIO.SetEnvVariable('OCIO', 'ocio://studio-config-v1.0.0_aces-v1.3_ocio-v2.1') builtinCfgB = OCIO.Config.CreateFromEnv() builtinCfgB.validate() - self.assertEqual(builtinCfgB.getName(), "cg-config-v0.1.0_aces-v1.3_ocio-v2.1.1") - self.assertEqual(len(builtinCfgB.getColorSpaceNames()), 19) + self.assertEqual(builtinCfgB.getName(), "studio-config-v1.0.0_aces-v1.3_ocio-v2.1") + self.assertEqual(len(builtinCfgB.getColorSpaceNames()), numberOfExpectedColorspaces) finally: OCIO.UnsetEnvVariable('OCIO') # Testing CreateFromFile with an known built-in config name using URI Syntax. - builtinCfgC = OCIO.Config.CreateFromFile("ocio://cg-config-v0.1.0_aces-v1.3_ocio-v2.1.1") + builtinCfgC = OCIO.Config.CreateFromFile("ocio://studio-config-v1.0.0_aces-v1.3_ocio-v2.1") builtinCfgC.validate() - self.assertEqual(builtinCfgC.getName(), "cg-config-v0.1.0_aces-v1.3_ocio-v2.1.1") - self.assertEqual(len(builtinCfgC.getColorSpaceNames()), 19) + self.assertEqual(builtinCfgC.getName(), "studio-config-v1.0.0_aces-v1.3_ocio-v2.1") + self.assertEqual(len(builtinCfgC.getColorSpaceNames()), numberOfExpectedColorspaces) + # ******************************** + # Testing default config. + # ******************************** + # Testing CreateFromEnv with the default config using URI Syntax. try: OCIO.SetEnvVariable('OCIO', 'ocio://default') builtinCfgD = OCIO.Config.CreateFromEnv() builtinCfgD.validate() - self.assertEqual(builtinCfgD.getName(), "cg-config-v0.1.0_aces-v1.3_ocio-v2.1.1") - self.assertEqual(len(builtinCfgD.getColorSpaceNames()), 19) + self.assertEqual(builtinCfgD.getName(), "cg-config-v1.0.0_aces-v1.3_ocio-v2.1") + self.assertEqual(len(builtinCfgD.getColorSpaceNames()), 14) finally: OCIO.UnsetEnvVariable('OCIO') # Testing CreateFromFile with the default config using URI Syntax. builtinCfgE = OCIO.Config.CreateFromFile("ocio://default") builtinCfgE.validate() - self.assertEqual(builtinCfgE.getName(), "cg-config-v0.1.0_aces-v1.3_ocio-v2.1.1") - self.assertEqual(len(builtinCfgE.getColorSpaceNames()), 19) + self.assertEqual(builtinCfgE.getName(), "cg-config-v1.0.0_aces-v1.3_ocio-v2.1") + self.assertEqual(len(builtinCfgE.getColorSpaceNames()), 14) # ******************************** # Testing some expected failures.