From db6f675bce90b545d19399aed9de4f54f130a8f5 Mon Sep 17 00:00:00 2001 From: Cuneyt Ozdas Date: Thu, 26 Sep 2024 12:55:35 -0700 Subject: [PATCH] Adsk Contrib - Adding the new cg and studio configs (issue #1999) (#2039) * For issue #1999 adding the new cg and studio configs. - Added new configs cg-config-v2.2.0_aces-v1.3_ocio-v2.4.ocio and studio-config-v2.2.0_aces-v1.3_ocio-v2.4.ocio - Made default config cg-config-v2.2.0_aces-v1.3_ocio-v2.4 - Updated the tests accordingly. TODO: Some documents such as aces_cg.rst and aces_studio.srt need to be updated. Signed-off-by: cuneyt.ozdas * - minor white-space fixes. Signed-off-by: cuneyt.ozdas * renaming P3 display scene referred aliases: -- lin_displayp3_scene --> lin_p3d65_scene -- srgb_displayp3_scene --> srgb_p3d65_scene Signed-off-by: cuneyt.ozdas * Make CIE-XYZ Scene-referred inactive Signed-off-by: Doug Walker --------- Signed-off-by: cuneyt.ozdas Signed-off-by: Doug Walker Co-authored-by: Doug Walker --- include/OpenColorIO/OpenColorIO.h | 6 +- .../builtinconfigs/BuiltinConfigRegistry.cpp | 8 +- src/OpenColorIO/builtinconfigs/CG.cpp.in | 1 + src/OpenColorIO/builtinconfigs/CGConfig.cpp | 7 + src/OpenColorIO/builtinconfigs/Studio.cpp.in | 3 + .../builtinconfigs/StudioConfig.cpp | 7 + .../cg-config-v2.2.0_aces-v1.3_ocio-v2.4.ocio | 654 +++++++ ...dio-config-v2.2.0_aces-v1.3_ocio-v2.4.ocio | 1637 +++++++++++++++++ tests/cpu/ColorSpace_tests.cpp | 6 +- .../builtinconfigs/BuiltinConfig_tests.cpp | 98 +- tests/python/BuiltinConfigRegistryTest.py | 52 +- tests/python/ConfigTest.py | 14 +- 12 files changed, 2453 insertions(+), 40 deletions(-) create mode 100644 src/OpenColorIO/builtinconfigs/configs/cg-config-v2.2.0_aces-v1.3_ocio-v2.4.ocio create mode 100644 src/OpenColorIO/builtinconfigs/configs/studio-config-v2.2.0_aces-v1.3_ocio-v2.4.ocio diff --git a/include/OpenColorIO/OpenColorIO.h b/include/OpenColorIO/OpenColorIO.h index a62b76904e..5f11ec9eb9 100644 --- a/include/OpenColorIO/OpenColorIO.h +++ b/include/OpenColorIO/OpenColorIO.h @@ -218,8 +218,8 @@ extern OCIOEXPORT void SetCurrentConfig(const ConstConfigRcPtr & config); * "ocio://studio-config-latest" will point to newer versions of those configs. Therefore, it is * recommended that application developers not save those strings and instead save the string that * refers to the current version of that config. That way, it's guaranteed that there will be no - * change of behavior in the future. For example, as of OCIO 2.3, "ocio://default" should be saved - * as "ocio://cg-config-v2.1.0_aces-v1.3_ocio-v2.3". + * change of behavior in the future. For example, as of OCIO 2.4, "ocio://default" should be saved + * as "ocio://cg-config-v2.2.0_aces-v1.3_ocio-v2.4". * * Note that there is no validation done on the path. That is left to the application since * typically the application will load the config before attempting to save its path @@ -376,10 +376,12 @@ class OCIOEXPORT Config * ACES Studio config, contains a more complete collection of color spaces and displays: * "studio-config-v1.0.0_aces-v1.3_ocio-v2.1" * "studio-config-v2.1.0_aces-v1.3_ocio-v2.3" + * "studio-config-v2.2.0_aces-v1.3_ocio-v2.4" * * ACES CG config, basic color spaces for computer graphics apps: * "cg-config-v1.0.0_aces-v1.3_ocio-v2.1" * "cg-config-v2.1.0_aces-v1.3_ocio-v2.3" + * "cg-config-v2.2.0_aces-v1.3_ocio-v2.4" * * More information is available at: * %https://github.com/AcademySoftwareFoundation/OpenColorIO-Config-ACES diff --git a/src/OpenColorIO/builtinconfigs/BuiltinConfigRegistry.cpp b/src/OpenColorIO/builtinconfigs/BuiltinConfigRegistry.cpp index 2cffa39c44..3b5a7f924d 100644 --- a/src/OpenColorIO/builtinconfigs/BuiltinConfigRegistry.cpp +++ b/src/OpenColorIO/builtinconfigs/BuiltinConfigRegistry.cpp @@ -19,13 +19,13 @@ static constexpr char OUT_OF_RANGE_EXCEPTION_TEXT[] = "Config index is out of range."; // TODO: Remove once getDefaultBuiltinConfigName is removed. -static constexpr char DEFAULT_BUILTIN_CONFIG[] = "cg-config-v2.1.0_aces-v1.3_ocio-v2.3"; +static constexpr char DEFAULT_BUILTIN_CONFIG[] = "cg-config-v2.2.0_aces-v1.3_ocio-v2.4"; // These are used for ResolveConfigPath function and we need to return a variable that still exists // once the function finishes since we are returning a const char *. -static constexpr char DEFAULT_BUILTIN_CONFIG_URI[] = "ocio://cg-config-v2.1.0_aces-v1.3_ocio-v2.3"; -static constexpr char LATEST_CG_BUILTIN_CONFIG_URI[] = "ocio://cg-config-v2.1.0_aces-v1.3_ocio-v2.3"; -static constexpr char LATEST_STUDIO_BUILTIN_CONFIG_URI[] = "ocio://studio-config-v2.1.0_aces-v1.3_ocio-v2.3"; +static constexpr char DEFAULT_BUILTIN_CONFIG_URI[] = "ocio://cg-config-v2.2.0_aces-v1.3_ocio-v2.4"; +static constexpr char LATEST_CG_BUILTIN_CONFIG_URI[] = "ocio://cg-config-v2.2.0_aces-v1.3_ocio-v2.4"; +static constexpr char LATEST_STUDIO_BUILTIN_CONFIG_URI[] = "ocio://studio-config-v2.2.0_aces-v1.3_ocio-v2.4"; static constexpr char BUILTIN_DEFAULT_NAME[] = "default"; static constexpr char BUILTIN_LATEST_CG_NAME[] = "cg-config-latest"; diff --git a/src/OpenColorIO/builtinconfigs/CG.cpp.in b/src/OpenColorIO/builtinconfigs/CG.cpp.in index 67138542bd..1be9524231 100644 --- a/src/OpenColorIO/builtinconfigs/CG.cpp.in +++ b/src/OpenColorIO/builtinconfigs/CG.cpp.in @@ -10,3 +10,4 @@ constexpr char CG_CONFIG_V100_ACES_V13_OCIO_V21[] = { @cg-config-v1.0.0_aces-v1.3_ocio-v2.1@ }; constexpr char CG_CONFIG_V210_ACES_V13_OCIO_V23[] = { @cg-config-v2.1.0_aces-v1.3_ocio-v2.3@ }; +constexpr char CG_CONFIG_V220_ACES_V13_OCIO_V24[] = { @cg-config-v2.2.0_aces-v1.3_ocio-v2.4@ }; diff --git a/src/OpenColorIO/builtinconfigs/CGConfig.cpp b/src/OpenColorIO/builtinconfigs/CGConfig.cpp index 6157497109..be127d14a0 100644 --- a/src/OpenColorIO/builtinconfigs/CGConfig.cpp +++ b/src/OpenColorIO/builtinconfigs/CGConfig.cpp @@ -31,6 +31,13 @@ void Register(BuiltinConfigRegistryImpl & registry) noexcept "cg-config-v2.1.0_aces-v1.3_ocio-v2.3", "Academy Color Encoding System - CG Config [COLORSPACES v2.0.0] [ACES v1.3] [OCIO v2.3]", CG_CONFIG_V210_ACES_V13_OCIO_V23, + false + ); + + registry.addBuiltin( + "cg-config-v2.2.0_aces-v1.3_ocio-v2.4", + "Academy Color Encoding System - CG Config [COLORSPACES v2.2.0] [ACES v1.3] [OCIO v2.4]", + CG_CONFIG_V220_ACES_V13_OCIO_V24, true ); } diff --git a/src/OpenColorIO/builtinconfigs/Studio.cpp.in b/src/OpenColorIO/builtinconfigs/Studio.cpp.in index 2a75cdc96b..bee34d4662 100644 --- a/src/OpenColorIO/builtinconfigs/Studio.cpp.in +++ b/src/OpenColorIO/builtinconfigs/Studio.cpp.in @@ -12,3 +12,6 @@ constexpr char STUDIO_CONFIG_V210_ACES_V13_OCIO_V23[] = { @studio-config-v2.1.0_aces-v1.3_ocio-v2.3@ }; +constexpr char STUDIO_CONFIG_V220_ACES_V13_OCIO_V24[] = { + @studio-config-v2.2.0_aces-v1.3_ocio-v2.4@ +}; diff --git a/src/OpenColorIO/builtinconfigs/StudioConfig.cpp b/src/OpenColorIO/builtinconfigs/StudioConfig.cpp index 2b68b7e9ec..a791c55983 100644 --- a/src/OpenColorIO/builtinconfigs/StudioConfig.cpp +++ b/src/OpenColorIO/builtinconfigs/StudioConfig.cpp @@ -31,6 +31,13 @@ void Register(BuiltinConfigRegistryImpl & registry) noexcept "studio-config-v2.1.0_aces-v1.3_ocio-v2.3", "Academy Color Encoding System - Studio Config [COLORSPACES v2.0.0] [ACES v1.3] [OCIO v2.3]", STUDIO_CONFIG_V210_ACES_V13_OCIO_V23, + false + ); + + registry.addBuiltin( + "studio-config-v2.2.0_aces-v1.3_ocio-v2.4", + "Academy Color Encoding System - Studio Config [COLORSPACES v2.2.0] [ACES v1.3] [OCIO v2.4]", + STUDIO_CONFIG_V220_ACES_V13_OCIO_V24, true ); } diff --git a/src/OpenColorIO/builtinconfigs/configs/cg-config-v2.2.0_aces-v1.3_ocio-v2.4.ocio b/src/OpenColorIO/builtinconfigs/configs/cg-config-v2.2.0_aces-v1.3_ocio-v2.4.ocio new file mode 100644 index 0000000000..0d4ece6fc3 --- /dev/null +++ b/src/OpenColorIO/builtinconfigs/configs/cg-config-v2.2.0_aces-v1.3_ocio-v2.4.ocio @@ -0,0 +1,654 @@ +ocio_profile_version: 2.4 + +environment: + {} +search_path: "" +strictparsing: true +luma: [0.2126, 0.7152, 0.0722] +name: cg-config-v2.2.0_aces-v1.3_ocio-v2.4 +description: | + Academy Color Encoding System - CG Config [COLORSPACES v2.2.0] [ACES v1.3] [OCIO v2.4] + -------------------------------------------------------------------------------------- + + 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. + +roles: + aces_interchange: ACES2065-1 + cie_xyz_d65_interchange: CIE XYZ-D65 - Display-referred + color_picking: sRGB Encoded Rec.709 (sRGB) + color_timing: ACEScct + compositing_log: ACEScct + data: Raw + matte_paint: ACEScct + scene_linear: ACEScg + texture_paint: sRGB Encoded Rec.709 (sRGB) + +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.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: + sRGB - Display: + - ! {name: Raw, colorspace: Raw} + - ! [ACES 1.0 - SDR Video, Un-tone-mapped] + Display P3 - 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, Display P3 - 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 - Display-referred, CIE XYZ-D65 - Scene-referred] + +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.ReferenceGamutCompress.a1.v1.0 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvLMT.Academy.ReferenceGamutCompress.a1.v1.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.DisplayP3_dim.a1.0.0 + 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 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.Academy.RGBmonitor_100nits_dim.a1.0.3 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.Academy.DisplayP3_dim.a1.0.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.Academy.Rec709_100nits_dim.a1.0.3 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.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.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 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvRRTODT.Academy.Rec2020_1000nits_15nits_HLG.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvRRTODT.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 (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 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvRRTODT.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.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 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.Academy.P3D60_48nits.a1.0.3 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.Academy.P3D65_48nits.a1.1.0 + from_scene_reference: ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-CINEMA_1.0} + + - ! + name: Un-tone-mapped + from_scene_reference: ! {style: UTILITY - ACES-AP0_to_CIE-XYZ-D65_BFD} + +display_colorspaces: + - ! + name: CIE XYZ-D65 - Display-referred + aliases: [cie_xyz_d65_display, lin_ciexyzd65_display] + family: "" + equalitygroup: "" + bitdepth: 32f + description: The "CIE XYZ (D65)" display connection colorspace. + isdata: false + encoding: display-linear + allocation: uniform + + - ! + name: sRGB - Display + aliases: [srgb_display] + family: Display + equalitygroup: "" + bitdepth: 32f + description: | + Convert CIE XYZ (D65 white) to sRGB (piecewise EOTF) + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.RGBmonitor_100nits_dim.a1.0.3 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.Academy.RGBmonitor_100nits_dim.a1.0.3 + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.RGBmonitor_D60sim_100nits_dim.a1.0.3 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.Academy.RGBmonitor_D60sim_100nits_dim.a1.0.3 + isdata: false + categories: [file-io] + encoding: sdr-video + allocation: uniform + from_display_reference: ! {style: DISPLAY - CIE-XYZ-D65_to_sRGB} + + - ! + name: Display P3 - Display + aliases: [displayp3_display] + family: Display + equalitygroup: "" + bitdepth: 32f + description: | + Convert CIE XYZ (D65 white) to Apple Display P3 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.DisplayP3_dim.a1.0.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.Academy.DisplayP3_dim.a1.0.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.DisplayP3_D60sim_dim.a1.0.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.Academy.DisplayP3_D60sim_dim.a1.0.0 + isdata: false + categories: [file-io] + encoding: sdr-video + allocation: uniform + from_display_reference: ! {style: DISPLAY - CIE-XYZ-D65_to_DisplayP3} + + - ! + 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) + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.Rec709_100nits_dim.a1.0.3 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.Academy.Rec709_100nits_dim.a1.0.3 + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.Rec709_D60sim_100nits_dim.a1.0.3 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.Academy.Rec709_D60sim_100nits_dim.a1.0.3 + 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.2100-PQ - Display + aliases: [rec2100_pq_display] + family: Display + equalitygroup: "" + bitdepth: 32f + description: | + Convert CIE XYZ (D65 white) to Rec.2100-PQ + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:RRTODT.Academy.Rec2020_1000nits_15nits_ST2084.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvRRTODT.Academy.Rec2020_1000nits_15nits_ST2084.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:RRTODT.Academy.Rec2020_2000nits_15nits_ST2084.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvRRTODT.Academy.Rec2020_2000nits_15nits_ST2084.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:RRTODT.Academy.Rec2020_4000nits_15nits_ST2084.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvRRTODT.Academy.Rec2020_4000nits_15nits_ST2084.a1.1.0 + 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 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:RRTODT.Academy.P3D65_1000nits_15nits_ST2084.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvRRTODT.Academy.P3D65_1000nits_15nits_ST2084.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:RRTODT.Academy.P3D65_2000nits_15nits_ST2084.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvRRTODT.Academy.P3D65_2000nits_15nits_ST2084.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:RRTODT.Academy.P3D65_4000nits_15nits_ST2084.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvRRTODT.Academy.P3D65_4000nits_15nits_ST2084.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:RRTODT.Academy.P3D65_108nits_7point2nits_ST2084.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvRRTODT.Academy.P3D65_108nits_7point2nits_ST2084.a1.1.0 + isdata: false + categories: [file-io] + encoding: hdr-video + allocation: uniform + from_display_reference: ! {style: DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65} + + - ! + name: P3-D65 - Display + aliases: [p3d65_display] + family: Display + equalitygroup: "" + bitdepth: 32f + description: | + Convert CIE XYZ (D65 white) to Gamma 2.6, P3-D65 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.P3D65_48nits.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.Academy.P3D65_48nits.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.P3D65_Rec709limited_48nits.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.P3D65_D60sim_48nits.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.Academy.P3D65_D60sim_48nits.a1.1.0 + isdata: false + categories: [file-io] + encoding: sdr-video + allocation: uniform + from_display_reference: ! {style: DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D65} + +colorspaces: + - ! + name: ACES2065-1 + aliases: [aces2065_1, aces, ACES - ACES2065-1, lin_ap0, lin_ap0_scene] + family: ACES + equalitygroup: "" + bitdepth: 32f + description: The "Academy Color Encoding System" reference colorspace. + isdata: false + categories: [file-io, texture] + 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 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.ACES_to_ACEScc.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 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.ACES_to_ACEScct.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, lin_ap1_scene] + 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 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.ACES_to_ACEScg.a1.0.3 + isdata: false + categories: [file-io, working-space, texture] + encoding: scene-linear + allocation: uniform + to_scene_reference: ! {style: ACEScg_to_ACES2065-1} + + - ! + name: sRGB Encoded Rec.709 (sRGB) + aliases: [srgb_encoded_rec709_srgb, Utility - sRGB - Texture, srgb_texture, srgb_rec709_scene, Input - Generic - sRGB - Texture, sRGB - Texture, srgb_tx] + family: Utility + equalitygroup: "" + bitdepth: 32f + description: | + Convert ACES2065-1 to sRGB + + CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_sRGB-Encoded-Rec709:1.0 + isdata: false + categories: [file-io, texture] + encoding: sdr-video + allocation: uniform + from_scene_reference: ! + name: AP0 to sRGB Encoded 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]} + - ! {gamma: 2.4, offset: 0.055, direction: inverse} + + - ! + name: Gamma 1.8 Encoded Rec.709 + aliases: [g18_encoded_rec709, Utility - Gamma 1.8 - Rec.709 - Texture, g18_rec709, Gamma 1.8 Rec.709 - Texture, g18_rec709_tx, g18_rec709_scene] + 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_Encoded_Rec709:1.0 + isdata: false + categories: [file-io, texture] + encoding: sdr-video + allocation: uniform + from_scene_reference: ! + name: AP0 to Gamma 1.8 Encoded 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]} + - ! {value: 1.8, style: pass_thru, direction: inverse} + + - ! + name: Gamma 2.2 Encoded Rec.709 + aliases: [g22_encoded_rec709, Utility - Gamma 2.2 - Rec.709 - Texture, g22_rec709, Gamma 2.2 Rec.709 - Texture, g22_rec709_tx, g22_rec709_scene] + 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_Encoded_Rec709:1.0 + isdata: false + categories: [file-io, texture] + encoding: sdr-video + allocation: uniform + from_scene_reference: ! + name: AP0 to Gamma 2.2 Encoded 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]} + - ! {value: 2.2, style: pass_thru, direction: inverse} + + - ! + name: Gamma 2.4 Encoded Rec.709 + aliases: [g24_encoded_rec709, g24_rec709, rec709_display, Utility - Rec.709 - Display, Gamma 2.4 Rec.709 - Texture, g24_rec709_tx] + 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_Encoded_Rec709:1.0 + isdata: false + categories: [file-io, texture] + encoding: sdr-video + allocation: uniform + from_scene_reference: ! + name: AP0 to Gamma 2.4 Encoded 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]} + - ! {value: 2.4, style: pass_thru, direction: inverse} + + - ! + name: sRGB Encoded P3-D65 + aliases: [srgb_encoded_p3d65, srgb_p3d65, srgb_displayp3, srgb_p3d65_scene, sRGB Encoded P3-D65 - Texture, srgb_encoded_p3d65_tx] + family: Utility + equalitygroup: "" + bitdepth: 32f + description: | + Convert ACES2065-1 to sRGB Encoded P3-D65 primaries, D65 white point + + CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_sRGB_Encoded_P3-D65:1.0 + isdata: false + categories: [file-io, texture] + encoding: sdr-video + allocation: uniform + from_scene_reference: ! + name: AP0 to sRGB Encoded 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]} + - ! {gamma: 2.4, offset: 0.055, direction: inverse} + + - ! + name: Gamma 2.2 Encoded AdobeRGB + aliases: [g22_encoded_adobergb, adobergb, g22_adobergb_scene] + family: Utility + equalitygroup: "" + bitdepth: 32f + description: | + Convert ACES2065-1 to 2.2 gamma-corrected AdobeRGB primaries, D65 white point + + CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma2.2_Encoded_AdobeRGB:1.0 + isdata: false + categories: [file-io, texture] + encoding: sdr-video + allocation: uniform + from_scene_reference: ! + name: AP0 to Gamma 2.2 Encoded AdobeRGB + children: + - ! {matrix: [1.72456031681181, -0.419993594161504, -0.304566722650304, 0, -0.276479914229922, 1.37271908766826, -0.0962391734383339, 0, -0.0261255258256649, -0.0901747806551909, 1.11630030648086, 0, 0, 0, 0, 1]} + - ! {value: 2.19921875, style: pass_thru, direction: inverse} + + - ! + name: sRGB Encoded AP1 + aliases: [srgb_encoded_ap1, srgb_ap1, srgb_ap1_scene, sRGB Encoded AP1 - Texture, srgb_encoded_ap1_tx] + family: Utility + equalitygroup: "" + bitdepth: 32f + description: | + Convert ACES2065-1 to sRGB Encoded AP1 primaries, ACES ~=D60 white point + + CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_sRGB_Encoded_AP1:1.0 + isdata: false + categories: [file-io, texture] + encoding: sdr-video + allocation: uniform + from_scene_reference: ! + name: AP0 to sRGB Encoded AP1 + 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: Gamma 2.2 Encoded AP1 + aliases: [g22_encoded_ap1, g22_ap1, Gamma 2.2 AP1 - Texture, g22_ap1_tx, g22_ap1_scene] + family: Utility + equalitygroup: "" + bitdepth: 32f + description: | + Convert ACES2065-1 to 2.2 gamma-corrected AP1 primaries, ACES ~=D60 white point + + CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma2.2_Encoded_AP1:1.0 + isdata: false + categories: [file-io, texture] + encoding: sdr-video + allocation: uniform + from_scene_reference: ! + name: AP0 to Gamma 2.2 Encoded AP1 + 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: Linear Rec.709 (sRGB) + aliases: [lin_rec709_srgb, Utility - Linear - Rec.709, lin_rec709, lin_rec709_scene, 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, texture] + 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: Linear P3-D65 + aliases: [lin_p3d65, Utility - Linear - P3-D65, lin_displayp3, lin_p3d65_scene, Linear Display P3] + 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, texture] + 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 AdobeRGB + aliases: [lin_adobergb, Utility - Linear - Adobe RGB, lin_adobergb_scene] + family: Utility + equalitygroup: "" + bitdepth: 32f + description: | + Convert ACES2065-1 to linear Adobe RGB (1998) primaries, D65 white point + + CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Linear_AdobeRGB:1.0 + isdata: false + categories: [file-io, texture] + encoding: scene-linear + allocation: uniform + from_scene_reference: ! + name: AP0 to Linear Adobe RGB (1998) + children: + - ! {matrix: [1.72456031681181, -0.419993594161504, -0.304566722650304, 0, -0.276479914229922, 1.37271908766826, -0.0962391734383339, 0, -0.0261255258256649, -0.0901747806551909, 1.11630030648086, 0, 0, 0, 0, 1]} + + - ! + name: Linear Rec.2020 + aliases: [lin_rec2020, Utility - Linear - Rec.2020, lin_rec2020_scene] + 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, texture] + 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: CIE XYZ-D65 - Scene-referred + aliases: [cie_xyz_d65_scene, lin_ciexyzd65_scene] + family: Utility + equalitygroup: "" + bitdepth: 32f + description: | + Convert ACES2065-1 to CIE XYZ, D65 white point + + CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_CIE_XYZ-D65-Scene-referred:1.0 + isdata: false + categories: [file-io] + encoding: scene-linear + allocation: uniform + from_scene_reference: ! + name: AP0 to CIE XYZ-D65 + children: + - ! {matrix: [0.938279849239345, -0.00445144581227847, 0.0166275235564231, 0, 0.337368890823117, 0.729521566676754, -0.066890457499083, 0, 0.00117395084939056, -0.00371070640198378, 1.09159450636463, 0, 0, 0, 0, 1]} + + - ! + name: Raw + aliases: [Utility - Raw, none] + family: Utility + equalitygroup: "" + bitdepth: 32f + description: The utility "Raw" colorspace. + isdata: true + categories: [file-io, texture] + encoding: data + allocation: uniform + +named_transforms: + - ! + name: sRGB - Curve + aliases: [srgb_crv, Utility - Curve - sRGB, crv_srgb] + description: | + Convert sRGB encoded RGB to generic linear 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: Rec.1886 - Curve + aliases: [rec1886_crv, Utility - Curve - Rec.1886, crv_rec1886] + description: | + Convert Rec.1886 encoded RGB to generic linear 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} diff --git a/src/OpenColorIO/builtinconfigs/configs/studio-config-v2.2.0_aces-v1.3_ocio-v2.4.ocio b/src/OpenColorIO/builtinconfigs/configs/studio-config-v2.2.0_aces-v1.3_ocio-v2.4.ocio new file mode 100644 index 0000000000..0ebd14b4c2 --- /dev/null +++ b/src/OpenColorIO/builtinconfigs/configs/studio-config-v2.2.0_aces-v1.3_ocio-v2.4.ocio @@ -0,0 +1,1637 @@ +ocio_profile_version: 2.4 + +environment: + {} +search_path: "" +strictparsing: true +luma: [0.2126, 0.7152, 0.0722] +name: studio-config-v2.2.0_aces-v1.3_ocio-v2.4 +description: | + Academy Color Encoding System - Studio Config [COLORSPACES v2.2.0] [ACES v1.3] [OCIO v2.4] + ------------------------------------------------------------------------------------------ + + This "OpenColorIO" config is geared toward studios requiring a config that includes a wide variety of camera colorspaces, displays and looks. + +roles: + aces_interchange: ACES2065-1 + cie_xyz_d65_interchange: CIE XYZ-D65 - Display-referred + color_picking: sRGB Encoded Rec.709 (sRGB) + color_timing: ACEScct + compositing_log: ACEScct + data: Raw + matte_paint: ACEScct + scene_linear: ACEScg + texture_paint: sRGB Encoded Rec.709 (sRGB) + +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 (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 (D60 sim on D65), view_transform: ACES 1.1 - SDR Cinema (D60 sim on D65), 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] + Display P3 - 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 (Rec.709 lim), ACES 1.1 - SDR Cinema (D60 sim on D65), 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, Display P3 - 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 (Rec.709 lim), ACES 1.0 - SDR Cinema (D60 sim on DCI), ACES 1.1 - SDR Cinema (D60 sim on D65), 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 - Display-referred, CIE XYZ-D65 - Scene-referred] + +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.ReferenceGamutCompress.a1.v1.0 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvLMT.Academy.ReferenceGamutCompress.a1.v1.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.DisplayP3_dim.a1.0.0 + 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 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.Academy.RGBmonitor_100nits_dim.a1.0.3 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.Academy.DisplayP3_dim.a1.0.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.Academy.Rec709_100nits_dim.a1.0.3 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.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.DisplayP3_D60sim_dim.a1.0.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.Rec709_D60sim_100nits_dim.a1.0.3 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.Academy.RGBmonitor_D60sim_100nits_dim.a1.0.3 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.Academy.DisplayP3_D60sim_dim.a1.0.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.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 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvRRTODT.Academy.Rec2020_1000nits_15nits_HLG.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvRRTODT.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 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvRRTODT.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 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvRRTODT.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 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvRRTODT.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 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvRRTODT.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 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvRRTODT.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 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.Academy.P3D60_48nits.a1.0.3 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.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 (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 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.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 (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 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.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 (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 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.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 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvRRTODT.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 - Display-referred + aliases: [cie_xyz_d65_display, lin_ciexyzd65_display] + family: "" + equalitygroup: "" + bitdepth: 32f + description: The "CIE XYZ (D65)" display connection colorspace. + isdata: false + encoding: display-linear + allocation: uniform + + - ! + name: sRGB - Display + aliases: [srgb_display] + family: Display + equalitygroup: "" + bitdepth: 32f + description: | + Convert CIE XYZ (D65 white) to sRGB (piecewise EOTF) + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.RGBmonitor_100nits_dim.a1.0.3 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.Academy.RGBmonitor_100nits_dim.a1.0.3 + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.RGBmonitor_D60sim_100nits_dim.a1.0.3 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.Academy.RGBmonitor_D60sim_100nits_dim.a1.0.3 + isdata: false + categories: [file-io] + encoding: sdr-video + allocation: uniform + from_display_reference: ! {style: DISPLAY - CIE-XYZ-D65_to_sRGB} + + - ! + name: Display P3 - Display + aliases: [displayp3_display] + family: Display + equalitygroup: "" + bitdepth: 32f + description: | + Convert CIE XYZ (D65 white) to Apple Display P3 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.DisplayP3_dim.a1.0.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.Academy.DisplayP3_dim.a1.0.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.DisplayP3_D60sim_dim.a1.0.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.Academy.DisplayP3_D60sim_dim.a1.0.0 + isdata: false + categories: [file-io] + encoding: sdr-video + allocation: uniform + from_display_reference: ! {style: DISPLAY - CIE-XYZ-D65_to_DisplayP3} + + - ! + 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) + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.Rec709_100nits_dim.a1.0.3 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.Academy.Rec709_100nits_dim.a1.0.3 + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.Rec709_D60sim_100nits_dim.a1.0.3 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.Academy.Rec709_D60sim_100nits_dim.a1.0.3 + 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) + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.Rec2020_100nits_dim.a1.0.3 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.Academy.Rec2020_100nits_dim.a1.0.3 + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.Rec2020_P3D65limited_100nits_dim.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.Rec2020_Rec709limited_100nits_dim.a1.1.0 + 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 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:RRTODT.Academy.Rec2020_1000nits_15nits_HLG.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvRRTODT.Academy.Rec2020_1000nits_15nits_HLG.a1.1.0 + 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 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:RRTODT.Academy.Rec2020_1000nits_15nits_ST2084.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvRRTODT.Academy.Rec2020_1000nits_15nits_ST2084.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:RRTODT.Academy.Rec2020_2000nits_15nits_ST2084.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvRRTODT.Academy.Rec2020_2000nits_15nits_ST2084.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:RRTODT.Academy.Rec2020_4000nits_15nits_ST2084.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvRRTODT.Academy.Rec2020_4000nits_15nits_ST2084.a1.1.0 + 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 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:RRTODT.Academy.P3D65_1000nits_15nits_ST2084.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvRRTODT.Academy.P3D65_1000nits_15nits_ST2084.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:RRTODT.Academy.P3D65_2000nits_15nits_ST2084.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvRRTODT.Academy.P3D65_2000nits_15nits_ST2084.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:RRTODT.Academy.P3D65_4000nits_15nits_ST2084.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvRRTODT.Academy.P3D65_4000nits_15nits_ST2084.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:RRTODT.Academy.P3D65_108nits_7point2nits_ST2084.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvRRTODT.Academy.P3D65_108nits_7point2nits_ST2084.a1.1.0 + 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) + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.P3D60_48nits.a1.0.3 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.Academy.P3D60_48nits.a1.0.3 + 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 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.P3D65_48nits.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.Academy.P3D65_48nits.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.P3D65_Rec709limited_48nits.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.P3D65_D60sim_48nits.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.Academy.P3D65_D60sim_48nits.a1.1.0 + 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) + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.P3DCI_48nits.a1.0.3 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.Academy.P3DCI_48nits.a1.0.3 + ACEStransformID: urn:ampas:aces:transformId:v1.5:ODT.Academy.P3DCI_D65sim_48nits.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:InvODT.Academy.P3DCI_D65sim_48nits.a1.1.0 + 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, ACES - ACES2065-1, lin_ap0, lin_ap0_scene] + family: ACES + equalitygroup: "" + bitdepth: 32f + description: The "Academy Color Encoding System" reference colorspace. + isdata: false + categories: [file-io, texture] + 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 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.ACES_to_ACEScc.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 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.ACES_to_ACEScct.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, lin_ap1_scene] + 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 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.ACES_to_ACEScg.a1.0.3 + isdata: false + categories: [file-io, working-space, texture] + 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: Apple Log + aliases: [apple_log] + family: Input/Apple + equalitygroup: "" + bitdepth: 32f + description: | + Convert Apple Log to ACES2065-1 + + CLFtransformID: urn:aswf:ocio:transformId:1.0:Apple:Input:Apple_Log_to_ACES2065-1:1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:IDT.Apple.AppleLog_BT2020.a1.v1 + isdata: false + categories: [file-io] + encoding: log + allocation: uniform + to_scene_reference: ! {style: APPLE_LOG_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.0836578932872398, 0, 0.0854149797421404, 1.01747087860704, -0.102885858349182, 0, 0.00205652166929683, -0.0625625003847921, 1.06050597871549, 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 + ACEStransformID: urn:ampas:aces:transformId:v1.5:IDT.ARRI.Alexa-v3-logC-EI800.a1.v2 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.ACES_to_LogC_EI800_AWG.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.LogC_EI800_AWG_to_ACES.a1.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.0836578932872398, 0, 0.0854149797421404, 1.01747087860704, -0.102885858349182, 0, 0.00205652166929683, -0.0625625003847921, 1.06050597871549, 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 + ACEStransformID: urn:ampas:aces:transformId:v1.5:IDT.ARRI.ARRI-LogC4.a1.v1 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.LogC4_to_ACES.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.ACES_to_LogC4.a1.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: 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: 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 + ACEStransformID: urn:ampas:aces:transformId:v1.5:IDT.BlackmagicDesign.BMDFilm_WideGamut_Gen5.a1.v1 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.ACES_to_BMDFilm_WideGamut_Gen5.a1.v1 + ACEStransformID: urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.BMDFilm_WideGamut_Gen5_to_ACES.a1.v1 + 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 + ACEStransformID: urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.DaVinci_Intermediate_WideGamut_to_ACES.a1.v1 + 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: CanonLog2 CinemaGamut D55 + aliases: [canonlog2_cinemagamut_d55, Input - Canon - Canon-Log2 - Cinema Gamut Daylight, canonlog2_cgamutday] + family: Input/Canon + equalitygroup: "" + bitdepth: 32f + description: | + Convert Canon Log 2 Cinema Gamut (Daylight) to ACES2065-1 + + CLFtransformID: urn:aswf:ocio:transformId:1.0:Canon:Input:CanonLog2_CinemaGamut-D55_to_ACES2065-1:1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.CLog2_CGamut_to_ACES.a1.1.0 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.ACES_to_CLog2_CGamut.a1.1.0 + isdata: false + categories: [file-io] + encoding: log + allocation: uniform + to_scene_reference: ! {style: CANON_CLOG2-CGAMUT_to_ACES2065-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 (Daylight) to ACES2065-1 + + CLFtransformID: urn:aswf:ocio:transformId:1.0:Canon:Input:CanonLog3_CinemaGamut-D55_to_ACES2065-1:1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.CLog3_CGamut_to_ACES.a1.1.0 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.ACES_to_CLog3_CGamut.a1.1.0 + 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 + ACEStransformID: urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.VLog_VGamut_to_ACES.a1.1.0 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.ACES_to_VLog_VGamut.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:IDT.Panasonic.VLog_VGamut.a1.v1 + 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 + ACEStransformID: urn:ampas:aces:transformId:v1.5:IDT.RED.Log3G10_REDWideGamutRGB.a1.v1 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.ACES_to_Log3G10_RWG.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.Log3G10_RWG_to_ACES.a1.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.089078625620677, 0.117591633232888, 0, 0.0155810585252582, 1.03271230692988, -0.0482933654551394, 0, -0.0188647477991488, 0.0127694120973433, 1.00609533570181, 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 + ACEStransformID: urn:ampas:aces:transformId:v1.5:IDT.Sony.SLog3_SGamut3.a1.v1 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.ACES_to_SLog3_SGamut3.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.SLog3_SGamut3_to_ACES.a1.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 + ACEStransformID: urn:ampas:aces:transformId:v1.5:IDT.Sony.SLog3_SGamut3Cine.a1.v1 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.ACES_to_SLog3_SGamut3Cine.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.SLog3_SGamut3Cine_to_ACES.a1.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 + ACEStransformID: urn:ampas:aces:transformId:v1.5:IDT.Sony.Venice_SLog3_SGamut3.a1.v1 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.ACES_to_SLog3_Venice_SGamut3.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.SLog3_Venice_SGamut3_to_ACES.a1.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 + ACEStransformID: urn:ampas:aces:transformId:v1.5:IDT.Sony.Venice_SLog3_SGamut3Cine.a1.v1 + + AMF Components + -------------- + ACEStransformID: urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.ACES_to_SLog3_Venice_SGamut3Cine.a1.1.0 + ACEStransformID: urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.SLog3_Venice_SGamut3Cine_to_ACES.a1.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: 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: sRGB Encoded Rec.709 (sRGB) + aliases: [srgb_encoded_rec709_srgb, Utility - sRGB - Texture, srgb_texture, srgb_rec709_scene, Input - Generic - sRGB - Texture, sRGB - Texture, srgb_tx] + family: Utility + equalitygroup: "" + bitdepth: 32f + description: | + Convert ACES2065-1 to sRGB + + CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_sRGB-Encoded-Rec709:1.0 + isdata: false + categories: [file-io, texture] + encoding: sdr-video + allocation: uniform + from_scene_reference: ! + name: AP0 to sRGB Encoded 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]} + - ! {gamma: 2.4, offset: 0.055, direction: inverse} + + - ! + name: Gamma 1.8 Encoded Rec.709 + aliases: [g18_encoded_rec709, Utility - Gamma 1.8 - Rec.709 - Texture, g18_rec709, Gamma 1.8 Rec.709 - Texture, g18_rec709_tx, g18_rec709_scene] + 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_Encoded_Rec709:1.0 + isdata: false + categories: [file-io, texture] + encoding: sdr-video + allocation: uniform + from_scene_reference: ! + name: AP0 to Gamma 1.8 Encoded 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]} + - ! {value: 1.8, style: pass_thru, direction: inverse} + + - ! + name: Gamma 2.2 Encoded Rec.709 + aliases: [g22_encoded_rec709, Utility - Gamma 2.2 - Rec.709 - Texture, g22_rec709, Gamma 2.2 Rec.709 - Texture, g22_rec709_tx, g22_rec709_scene] + 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_Encoded_Rec709:1.0 + isdata: false + categories: [file-io, texture] + encoding: sdr-video + allocation: uniform + from_scene_reference: ! + name: AP0 to Gamma 2.2 Encoded 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]} + - ! {value: 2.2, style: pass_thru, direction: inverse} + + - ! + name: Gamma 2.4 Encoded Rec.709 + aliases: [g24_encoded_rec709, g24_rec709, rec709_display, Utility - Rec.709 - Display, Gamma 2.4 Rec.709 - Texture, g24_rec709_tx] + 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_Encoded_Rec709:1.0 + isdata: false + categories: [file-io, texture] + encoding: sdr-video + allocation: uniform + from_scene_reference: ! + name: AP0 to Gamma 2.4 Encoded 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]} + - ! {value: 2.4, style: pass_thru, direction: inverse} + + - ! + 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: sRGB Encoded P3-D65 + aliases: [srgb_encoded_p3d65, srgb_p3d65, srgb_displayp3, srgb_p3d65_scene, sRGB Encoded P3-D65 - Texture, srgb_encoded_p3d65_tx] + family: Utility + equalitygroup: "" + bitdepth: 32f + description: | + Convert ACES2065-1 to sRGB Encoded P3-D65 primaries, D65 white point + + CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_sRGB_Encoded_P3-D65:1.0 + isdata: false + categories: [file-io, texture] + encoding: sdr-video + allocation: uniform + from_scene_reference: ! + name: AP0 to sRGB Encoded 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]} + - ! {gamma: 2.4, offset: 0.055, direction: inverse} + + - ! + name: Gamma 2.2 Encoded AdobeRGB + aliases: [g22_encoded_adobergb, adobergb, g22_adobergb_scene] + family: Utility + equalitygroup: "" + bitdepth: 32f + description: | + Convert ACES2065-1 to 2.2 gamma-corrected AdobeRGB primaries, D65 white point + + CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma2.2_Encoded_AdobeRGB:1.0 + isdata: false + categories: [file-io, texture] + encoding: sdr-video + allocation: uniform + from_scene_reference: ! + name: AP0 to Gamma 2.2 Encoded AdobeRGB + children: + - ! {matrix: [1.72456031681181, -0.419993594161504, -0.304566722650304, 0, -0.276479914229922, 1.37271908766826, -0.0962391734383339, 0, -0.0261255258256649, -0.0901747806551909, 1.11630030648086, 0, 0, 0, 0, 1]} + - ! {value: 2.19921875, style: pass_thru, direction: inverse} + + - ! + name: sRGB Encoded AP1 + aliases: [srgb_encoded_ap1, srgb_ap1, srgb_ap1_scene, sRGB Encoded AP1 - Texture, srgb_encoded_ap1_tx] + family: Utility + equalitygroup: "" + bitdepth: 32f + description: | + Convert ACES2065-1 to sRGB Encoded AP1 primaries, ACES ~=D60 white point + + CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_sRGB_Encoded_AP1:1.0 + isdata: false + categories: [file-io, texture] + encoding: sdr-video + allocation: uniform + from_scene_reference: ! + name: AP0 to sRGB Encoded AP1 + 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: Gamma 2.2 Encoded AP1 + aliases: [g22_encoded_ap1, g22_ap1, Gamma 2.2 AP1 - Texture, g22_ap1_tx, g22_ap1_scene] + family: Utility + equalitygroup: "" + bitdepth: 32f + description: | + Convert ACES2065-1 to 2.2 gamma-corrected AP1 primaries, ACES ~=D60 white point + + CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma2.2_Encoded_AP1:1.0 + isdata: false + categories: [file-io, texture] + encoding: sdr-video + allocation: uniform + from_scene_reference: ! + name: AP0 to Gamma 2.2 Encoded AP1 + 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: Linear Rec.709 (sRGB) + aliases: [lin_rec709_srgb, Utility - Linear - Rec.709, lin_rec709, lin_rec709_scene, 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, texture] + 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: Linear P3-D65 + aliases: [lin_p3d65, Utility - Linear - P3-D65, lin_displayp3, lin_p3d65_scene, Linear Display P3] + 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, texture] + 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 AdobeRGB + aliases: [lin_adobergb, Utility - Linear - Adobe RGB, lin_adobergb_scene] + family: Utility + equalitygroup: "" + bitdepth: 32f + description: | + Convert ACES2065-1 to linear Adobe RGB (1998) primaries, D65 white point + + CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Linear_AdobeRGB:1.0 + isdata: false + categories: [file-io, texture] + encoding: scene-linear + allocation: uniform + from_scene_reference: ! + name: AP0 to Linear Adobe RGB (1998) + children: + - ! {matrix: [1.72456031681181, -0.419993594161504, -0.304566722650304, 0, -0.276479914229922, 1.37271908766826, -0.0962391734383339, 0, -0.0261255258256649, -0.0901747806551909, 1.11630030648086, 0, 0, 0, 0, 1]} + + - ! + name: Linear Rec.2020 + aliases: [lin_rec2020, Utility - Linear - Rec.2020, lin_rec2020_scene] + 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, texture] + 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: CIE XYZ-D65 - Scene-referred + aliases: [cie_xyz_d65_scene, lin_ciexyzd65_scene] + family: Utility + equalitygroup: "" + bitdepth: 32f + description: | + Convert ACES2065-1 to CIE XYZ, D65 white point + + CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_CIE_XYZ-D65-Scene-referred:1.0 + isdata: false + categories: [file-io] + encoding: scene-linear + allocation: uniform + from_scene_reference: ! + name: AP0 to CIE XYZ-D65 + children: + - ! {matrix: [0.938279849239345, -0.00445144581227847, 0.0166275235564231, 0, 0.337368890823117, 0.729521566676754, -0.066890457499083, 0, 0.00117395084939056, -0.00371070640198378, 1.09159450636463, 0, 0, 0, 0, 1]} + + - ! + name: Raw + aliases: [Utility - Raw, none] + family: Utility + equalitygroup: "" + bitdepth: 32f + description: The utility "Raw" colorspace. + isdata: true + categories: [file-io, texture] + encoding: data + allocation: uniform + +named_transforms: + - ! + name: Apple Log - Curve + aliases: [apple_log_crv] + description: | + Convert Apple Log (arbitrary primaries) to Linear (arbitrary primaries) + + CLFtransformID: urn:aswf:ocio:transformId:1.0:Apple:Input:Apple_Log-Curve_to_Linear:1.0 + family: Input/Apple + categories: [file-io] + encoding: log + transform: ! {style: CURVE - APPLE_LOG_to_LINEAR} + + - ! + 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: C-Log2 - Curve + aliases: [clog2_crv, Input - Canon - Curve - Canon-Log2, crv_canonlog2] + description: | + Convert CLog2 Log (arbitrary primaries) to CLog2 Linear (arbitrary primaries) + + CLFtransformID: urn:aswf:ocio:transformId:1.0:Canon:Input:CLog2-Curve_to_Linear:1.0 + family: Input/Canon + categories: [file-io] + encoding: log + transform: ! {style: CURVE - CANON_CLOG2_to_LINEAR} + + - ! + name: C-Log3 - Curve + aliases: [clog3_crv, Input - Canon - Curve - Canon-Log3, crv_canonlog3] + description: | + Convert CLog3 Log (arbitrary primaries) to CLog3 Linear (arbitrary primaries) + + CLFtransformID: urn:aswf:ocio:transformId:1.0:Canon:Input:CLog3-Curve_to_Linear:1.0 + family: Input/Canon + categories: [file-io] + encoding: log + transform: ! {style: CURVE - CANON_CLOG3_to_LINEAR} + + - ! + 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: sRGB - Curve + aliases: [srgb_crv, Utility - Curve - sRGB, crv_srgb] + description: | + Convert sRGB encoded RGB to generic linear 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: Rec.1886 - Curve + aliases: [rec1886_crv, Utility - Curve - Rec.1886, crv_rec1886] + description: | + Convert Rec.1886 encoded RGB to generic linear 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 gamma-corrected RGB to generic linear 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: ST-2084 - Curve + aliases: [st_2084_crv] + description: | + Convert generic ST.2084 (PQ) encoded RGB mapping 1.0 to 100nits to generic linear RGB + + CLFtransformID: urn:aswf:ocio:transformId:1.0:OCIO:Utility:Linear_to_ST2084-Curve:1.0 + family: Utility + categories: [file-io] + encoding: hdr-video + inverse_transform: ! {style: CURVE - LINEAR_to_ST-2084} diff --git a/tests/cpu/ColorSpace_tests.cpp b/tests/cpu/ColorSpace_tests.cpp index ac793b81e3..20d026de4d 100644 --- a/tests/cpu/ColorSpace_tests.cpp +++ b/tests/cpu/ColorSpace_tests.cpp @@ -1526,7 +1526,7 @@ inactive_colorspaces: [scene-linear Rec.709-sRGB, ACES2065-1] // affect the tests below, it simply confirms that inactive spaces are working as // expected.) builtinConfig->setInactiveColorSpaces( - "ACES2065-1, ACEScg, Linear Rec.709 (sRGB), Linear P3-D65, Linear Rec.2020, CIE-XYZ-D65, sRGB - Display" + "ACES2065-1, ACEScg, Linear Rec.709 (sRGB), Linear P3-D65, Linear Rec.2020, CIE XYZ-D65 - Display-referred, sRGB - Display" ); // @@ -1609,7 +1609,7 @@ inactive_colorspaces: [scene-linear Rec.709-sRGB, ACES2065-1] { // Note that it still works even if the built-in color space is inactive (though not for the source). const std::string inactives{builtinConfig->getInactiveColorSpaces()}; - OCIO_CHECK_EQUAL(StringUtils::Find(inactives, "sRGB - Display"), 88); + OCIO_CHECK_EQUAL(StringUtils::Find(inactives, "sRGB - Display"), 107); const char * csname = OCIO::Config::IdentifyBuiltinColorSpace(editableCfg, builtinConfig, "sRGB - Display"); OCIO_CHECK_EQUAL(std::string(csname), std::string("sRGB")); } @@ -1682,7 +1682,7 @@ inactive_colorspaces: [scene-linear Rec.709-sRGB, ACES2065-1] OCIO_CHECK_THROW_WHAT( OCIO::Config::IdentifyInterchangeSpace(&srcInterchange, &builtinInterchange, editableCfg, "CIE-XYZ D65", - builtinConfig, "CIE-XYZ-D65"), + builtinConfig, "CIE XYZ-D65 - Display-referred"), OCIO::Exception, "The heuristics currently only support scene-referred color spaces. Please set the interchange roles." ); diff --git a/tests/cpu/builtinconfigs/BuiltinConfig_tests.cpp b/tests/cpu/builtinconfigs/BuiltinConfig_tests.cpp index bc93dc485b..9db5a1bae5 100644 --- a/tests/cpu/builtinconfigs/BuiltinConfig_tests.cpp +++ b/tests/cpu/builtinconfigs/BuiltinConfig_tests.cpp @@ -17,7 +17,7 @@ OCIO_ADD_TEST(BuiltinConfigs, basic) { const OCIO::BuiltinConfigRegistry & registry = OCIO::BuiltinConfigRegistry::Get(); - OCIO_CHECK_EQUAL(registry.getNumBuiltinConfigs(), 4); + OCIO_CHECK_EQUAL(registry.getNumBuiltinConfigs(), 6); // Test builtin config cg-config-v1.0.0_aces-v1.3_ocio-v2.1. { @@ -72,7 +72,35 @@ OCIO_ADD_TEST(BuiltinConfigs, basic) std::string(CG_CONFIG_V210_ACES_V13_OCIO_V23) ); - OCIO_CHECK_EQUAL(registry.isBuiltinConfigRecommended(1), true); + OCIO_CHECK_EQUAL(registry.isBuiltinConfigRecommended(1), false); + } + + // Test builtin config cg-config-v2.2.0_aces-v1.3_ocio-v2.4. + { + const std::string cgConfigName = "cg-config-v2.2.0_aces-v1.3_ocio-v2.4"; + + OCIO_CHECK_EQUAL( + std::string(registry.getBuiltinConfigName(2)), + cgConfigName + ); + + OCIO_CHECK_EQUAL( + std::string(registry.getBuiltinConfigUIName(2)), + std::string("Academy Color Encoding System - CG Config [COLORSPACES v2.2.0] "\ + "[ACES v1.3] [OCIO v2.4]") + ); + + OCIO_CHECK_EQUAL( + std::string(registry.getBuiltinConfig(2)), + std::string(CG_CONFIG_V220_ACES_V13_OCIO_V24) + ); + + OCIO_CHECK_EQUAL( + std::string(registry.getBuiltinConfigByName(cgConfigName.c_str())), + std::string(CG_CONFIG_V220_ACES_V13_OCIO_V24) + ); + + OCIO_CHECK_EQUAL(registry.isBuiltinConfigRecommended(2), true); } // Test builtin config studio-config-v1.0.0_aces-v1.3_ocio-v2.1. @@ -80,18 +108,18 @@ OCIO_ADD_TEST(BuiltinConfigs, basic) const std::string studioConfigName = "studio-config-v1.0.0_aces-v1.3_ocio-v2.1"; OCIO_CHECK_EQUAL( - std::string(registry.getBuiltinConfigName(2)), + std::string(registry.getBuiltinConfigName(3)), studioConfigName ); OCIO_CHECK_EQUAL( - std::string(registry.getBuiltinConfigUIName(2)), + std::string(registry.getBuiltinConfigUIName(3)), 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(2)), + std::string(registry.getBuiltinConfig(3)), std::string(STUDIO_CONFIG_V100_ACES_V13_OCIO_V21) ); @@ -100,7 +128,7 @@ OCIO_ADD_TEST(BuiltinConfigs, basic) std::string(STUDIO_CONFIG_V100_ACES_V13_OCIO_V21) ); - OCIO_CHECK_EQUAL(registry.isBuiltinConfigRecommended(2), false); + OCIO_CHECK_EQUAL(registry.isBuiltinConfigRecommended(3), false); } // Test builtin config studio-config-v2.1.0_aces-v1.3_ocio-v2.3. @@ -108,18 +136,18 @@ OCIO_ADD_TEST(BuiltinConfigs, basic) const std::string studioConfigName = "studio-config-v2.1.0_aces-v1.3_ocio-v2.3"; OCIO_CHECK_EQUAL( - std::string(registry.getBuiltinConfigName(3)), + std::string(registry.getBuiltinConfigName(4)), studioConfigName ); OCIO_CHECK_EQUAL( - std::string(registry.getBuiltinConfigUIName(3)), + std::string(registry.getBuiltinConfigUIName(4)), std::string("Academy Color Encoding System - Studio Config [COLORSPACES v2.0.0] "\ "[ACES v1.3] [OCIO v2.3]") ); OCIO_CHECK_EQUAL( - std::string(registry.getBuiltinConfig(3)), + std::string(registry.getBuiltinConfig(4)), std::string(STUDIO_CONFIG_V210_ACES_V13_OCIO_V23) ); @@ -128,7 +156,35 @@ OCIO_ADD_TEST(BuiltinConfigs, basic) std::string(STUDIO_CONFIG_V210_ACES_V13_OCIO_V23) ); - OCIO_CHECK_EQUAL(registry.isBuiltinConfigRecommended(3), true); + OCIO_CHECK_EQUAL(registry.isBuiltinConfigRecommended(4), false); + } + + // Test builtin config studio-config-v2.2.0_aces-v1.3_ocio-v2.4. + { + const std::string studioConfigName = "studio-config-v2.2.0_aces-v1.3_ocio-v2.4"; + + OCIO_CHECK_EQUAL( + std::string(registry.getBuiltinConfigName(5)), + studioConfigName + ); + + OCIO_CHECK_EQUAL( + std::string(registry.getBuiltinConfigUIName(5)), + std::string("Academy Color Encoding System - Studio Config [COLORSPACES v2.2.0] "\ + "[ACES v1.3] [OCIO v2.4]") + ); + + OCIO_CHECK_EQUAL( + std::string(registry.getBuiltinConfig(5)), + std::string(STUDIO_CONFIG_V220_ACES_V13_OCIO_V24) + ); + + OCIO_CHECK_EQUAL( + std::string(registry.getBuiltinConfigByName(studioConfigName.c_str())), + std::string(STUDIO_CONFIG_V220_ACES_V13_OCIO_V24) + ); + + OCIO_CHECK_EQUAL(registry.isBuiltinConfigRecommended(5), true); } // ******************************** @@ -345,12 +401,26 @@ OCIO_ADD_TEST(BuiltinConfigs, create_builtin_config) testFromEnvAndFromFile(uriPrefix + studioConfigName, nbOfColorspacesForStudioConfig1, studioConfigName, __LINE__); } + { + const std::string cgConfigName = "cg-config-v2.1.0_aces-v1.3_ocio-v2.3"; + const std::string studioConfigName = "studio-config-v2.1.0_aces-v1.3_ocio-v2.3"; + // Test CG builtin config #2 + int nbOfColorspacesForCGConfig1 = 15; + testFromBuiltinConfig(cgConfigName, nbOfColorspacesForCGConfig1, "", __LINE__); + testFromEnvAndFromFile(uriPrefix + cgConfigName, nbOfColorspacesForCGConfig1, cgConfigName, __LINE__); + + // Test STUDIO builtin config #2 + int nbOfColorspacesForStudioConfig1 = 41; + testFromBuiltinConfig(studioConfigName, nbOfColorspacesForStudioConfig1, "", __LINE__); + testFromEnvAndFromFile(uriPrefix + studioConfigName, nbOfColorspacesForStudioConfig1, studioConfigName, __LINE__); + } + { // Test default config. - int nbOfColorspacesForDefaultCGConfig = 15; - int nbOfColorspacesForDefaultStudioConfig = 41; - std::string expectedCGName = "cg-config-v2.1.0_aces-v1.3_ocio-v2.3"; - std::string expectedStudioName = "studio-config-v2.1.0_aces-v1.3_ocio-v2.3"; + int nbOfColorspacesForDefaultCGConfig = 23; + int nbOfColorspacesForDefaultStudioConfig = 54; + std::string expectedCGName = "cg-config-v2.2.0_aces-v1.3_ocio-v2.4"; + std::string expectedStudioName = "studio-config-v2.2.0_aces-v1.3_ocio-v2.4"; testFromBuiltinConfig(defaultName, nbOfColorspacesForDefaultCGConfig, expectedCGName, __LINE__); testFromBuiltinConfig(uriPrefix + defaultName, nbOfColorspacesForDefaultCGConfig, expectedCGName, __LINE__); diff --git a/tests/python/BuiltinConfigRegistryTest.py b/tests/python/BuiltinConfigRegistryTest.py index 2b802e51cd..e715721ffe 100644 --- a/tests/python/BuiltinConfigRegistryTest.py +++ b/tests/python/BuiltinConfigRegistryTest.py @@ -59,7 +59,7 @@ def test_get_builtin_configs(self): # tuple iterator (like dict.items()) for item in self.REGISTRY.getBuiltinConfigs(): self.assertIsInstance(item, tuple) - # check if there are three items per tuple. + # check if there are four items per tuple. self.assertEqual(len(item), 4) # name self.assertIsInstance(item[0], STRING_TYPES) @@ -104,12 +104,12 @@ def test_get_builtin_configs(self): # Config specific tests # Test number of configs. - self.assertEqual(len(self.REGISTRY), 4) + self.assertEqual(len(self.REGISTRY), 6) # Test for the default built-in config. self.assertEqual( self.REGISTRY.getDefaultBuiltinConfigName(), - "cg-config-v2.1.0_aces-v1.3_ocio-v2.3" + "cg-config-v2.2.0_aces-v1.3_ocio-v2.4" ) # Test the CG configs. @@ -122,6 +122,8 @@ def test_get_builtin_configs(self): "[OCIO v2.1]")) # isRecommended self.assertEqual(values[0][2], False) + # isDefault + self.assertEqual(values[0][3], False) # Name self.assertEqual(values[1][0], "cg-config-v2.1.0_aces-v1.3_ocio-v2.3") @@ -131,28 +133,58 @@ def test_get_builtin_configs(self): ("Academy Color Encoding System - CG Config [COLORSPACES v2.0.0] [ACES v1.3] " "[OCIO v2.3]")) # isRecommended - self.assertEqual(values[1][2], True) + self.assertEqual(values[1][2], False) + # isDefault + self.assertEqual(values[1][3], False) - # Test the Studio configs # Name - self.assertEqual(values[2][0], "studio-config-v1.0.0_aces-v1.3_ocio-v2.1") + self.assertEqual(values[2][0], "cg-config-v2.2.0_aces-v1.3_ocio-v2.4") # UI name self.assertEqual( values[2][1], + ("Academy Color Encoding System - CG Config [COLORSPACES v2.2.0] [ACES v1.3] " + "[OCIO v2.4]")) + # isRecommended + self.assertEqual(values[2][2], True) + # isDefault + self.assertEqual(values[2][3], True) + + # Test the Studio configs + # Name + self.assertEqual(values[3][0], "studio-config-v1.0.0_aces-v1.3_ocio-v2.1") + # UI name + self.assertEqual( + values[3][1], ("Academy Color Encoding System - Studio Config [COLORSPACES v1.0.0] [ACES v1.3] " "[OCIO v2.1]")) # isRecommended - self.assertEqual(values[2][2], False) + self.assertEqual(values[3][2], False) + # isDefault + self.assertEqual(values[3][3], False) # Name - self.assertEqual(values[3][0], "studio-config-v2.1.0_aces-v1.3_ocio-v2.3") + self.assertEqual(values[4][0], "studio-config-v2.1.0_aces-v1.3_ocio-v2.3") # UI name self.assertEqual( - values[3][1], + values[4][1], ("Academy Color Encoding System - Studio Config [COLORSPACES v2.0.0] [ACES v1.3] " "[OCIO v2.3]")) # isRecommended - self.assertEqual(values[1][2], True) + self.assertEqual(values[4][2], False) + # isDefault + self.assertEqual(values[4][3], False) + + # Name + self.assertEqual(values[5][0], "studio-config-v2.2.0_aces-v1.3_ocio-v2.4") + # UI name + self.assertEqual( + values[5][1], + ("Academy Color Encoding System - Studio Config [COLORSPACES v2.2.0] [ACES v1.3] " + "[OCIO v2.4]")) + # isRecommended + self.assertEqual(values[5][2], True) + # isDefault + self.assertEqual(values[5][3], False) def test_multi_reference(self): diff --git a/tests/python/ConfigTest.py b/tests/python/ConfigTest.py index d5af5db148..c6ca03c1ed 100644 --- a/tests/python/ConfigTest.py +++ b/tests/python/ConfigTest.py @@ -945,14 +945,14 @@ def testFromEnvAndFromFile(uri, numberOfExpectedColorspaces, expectedConfigName) self.assertEqual(len(builtinCfgC.getColorSpaceNames()), numberOfExpectedColorspaces) uriPrefix = OCIO.OCIO_BUILTIN_URI_PREFIX; - cgConfigName = "cg-config-v2.1.0_aces-v1.3_ocio-v2.3" - studioConfigName = "studio-config-v2.1.0_aces-v1.3_ocio-v2.3" + cgConfigName = "cg-config-v2.2.0_aces-v1.3_ocio-v2.4" + studioConfigName = "studio-config-v2.2.0_aces-v1.3_ocio-v2.4" defaultName = "default" latestCGName = "cg-config-latest" latestStudioName = "studio-config-latest" - nbOfColorspacesForCGConfig = 15 - nbOfColorspacesForStudioConfig = 41 + nbOfColorspacesForCGConfig = 23 + nbOfColorspacesForStudioConfig = 54 # Test that CreateFromFile does not work without ocio:// prefix for built-in config. with self.assertRaises(OCIO.Exception) as cm: @@ -1191,9 +1191,9 @@ def lutExists(filepath): processor.getDefaultCPUProcessor() def test_resolve_config(self): - defaultBuiltinConfig = "ocio://cg-config-v2.1.0_aces-v1.3_ocio-v2.3" - cgLatestBuiltinConfig = "ocio://cg-config-v2.1.0_aces-v1.3_ocio-v2.3" - studioLatestBuiltinConfig = "ocio://studio-config-v2.1.0_aces-v1.3_ocio-v2.3" + defaultBuiltinConfig = "ocio://cg-config-v2.2.0_aces-v1.3_ocio-v2.4" + cgLatestBuiltinConfig = "ocio://cg-config-v2.2.0_aces-v1.3_ocio-v2.4" + studioLatestBuiltinConfig = "ocio://studio-config-v2.2.0_aces-v1.3_ocio-v2.4" # Testing just a few built-in config path. self.assertEqual(