diff --git a/include/OpenColorIO/OpenColorIO.h b/include/OpenColorIO/OpenColorIO.h index 1143d8318e..c02a6c8344 100644 --- a/include/OpenColorIO/OpenColorIO.h +++ b/include/OpenColorIO/OpenColorIO.h @@ -219,8 +219,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.4, "ocio://default" should be saved - * as "ocio://cg-config-v2.2.0_aces-v1.3_ocio-v2.4". + * change of behavior in the future. For example, as of OCIO 2.5, "ocio://default" should be saved + * as "ocio://cg-config-v4.0.0_aces-v2.0_ocio-v2.5". * * 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 @@ -378,11 +378,13 @@ class OCIOEXPORT Config * "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" + * "studio-config-v4.0.0_aces-v2.0_ocio-v2.5" * * 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" + * "cg-config-v4.0.0_aces-v2.0_ocio-v2.5" * * More information is available at: * %https://github.com/AcademySoftwareFoundation/OpenColorIO-Config-ACES @@ -4014,9 +4016,6 @@ class OCIOEXPORT BuiltinConfigRegistry */ virtual bool isBuiltinConfigRecommended(size_t configIndex) const = 0; - // Return the full forward-compatible name of the default built-in config. - OCIO_DEPRECATED("This was marked as deprecated starting in v2.3, please use ResolveConfigPath(\"ocio://default\").") - virtual const char * getDefaultBuiltinConfigName() const = 0; protected: BuiltinConfigRegistry() = default; virtual ~BuiltinConfigRegistry() = default; diff --git a/src/OpenColorIO/builtinconfigs/BuiltinConfigRegistry.cpp b/src/OpenColorIO/builtinconfigs/BuiltinConfigRegistry.cpp index 3b5a7f924d..bced3f4144 100644 --- a/src/OpenColorIO/builtinconfigs/BuiltinConfigRegistry.cpp +++ b/src/OpenColorIO/builtinconfigs/BuiltinConfigRegistry.cpp @@ -18,14 +18,11 @@ 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.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.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 DEFAULT_BUILTIN_CONFIG_URI[] = "ocio://cg-config-v4.0.0_aces-v2.0_ocio-v2.5"; +static constexpr char LATEST_CG_BUILTIN_CONFIG_URI[] = "ocio://cg-config-v4.0.0_aces-v2.0_ocio-v2.5"; +static constexpr char LATEST_STUDIO_BUILTIN_CONFIG_URI[] = "ocio://studio-config-v4.0.0_aces-v2.0_ocio-v2.5"; static constexpr char BUILTIN_DEFAULT_NAME[] = "default"; static constexpr char BUILTIN_LATEST_CG_NAME[] = "cg-config-latest"; @@ -168,9 +165,4 @@ bool BuiltinConfigRegistryImpl::isBuiltinConfigRecommended(size_t configIndex) c return m_builtinConfigs[configIndex].m_isRecommended; } -const char * BuiltinConfigRegistryImpl::getDefaultBuiltinConfigName() const -{ - return DEFAULT_BUILTIN_CONFIG; -} - } // namespace OCIO_NAMESPACE diff --git a/src/OpenColorIO/builtinconfigs/BuiltinConfigRegistry.h b/src/OpenColorIO/builtinconfigs/BuiltinConfigRegistry.h index 6395e96c74..21adb63598 100644 --- a/src/OpenColorIO/builtinconfigs/BuiltinConfigRegistry.h +++ b/src/OpenColorIO/builtinconfigs/BuiltinConfigRegistry.h @@ -93,8 +93,6 @@ using BuiltinConfigs = std::vector; /// Throws for illegal index. bool isBuiltinConfigRecommended(size_t configIndex) const override; - /// Get the default recommended built-in config. - const char * getDefaultBuiltinConfigName() const override; private: BuiltinConfigs m_builtinConfigs; }; diff --git a/src/OpenColorIO/builtinconfigs/CG.cpp.in b/src/OpenColorIO/builtinconfigs/CG.cpp.in index 1be9524231..0012e61106 100644 --- a/src/OpenColorIO/builtinconfigs/CG.cpp.in +++ b/src/OpenColorIO/builtinconfigs/CG.cpp.in @@ -11,3 +11,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@ }; +constexpr char CG_CONFIG_V400_ACES_V20_OCIO_V25[] = { @cg-config-v4.0.0_aces-v2.0_ocio-v2.5@ }; \ No newline at end of file diff --git a/src/OpenColorIO/builtinconfigs/CGConfig.cpp b/src/OpenColorIO/builtinconfigs/CGConfig.cpp index be127d14a0..7ba2f6929a 100644 --- a/src/OpenColorIO/builtinconfigs/CGConfig.cpp +++ b/src/OpenColorIO/builtinconfigs/CGConfig.cpp @@ -38,6 +38,13 @@ void Register(BuiltinConfigRegistryImpl & registry) noexcept "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, + false + ); + + registry.addBuiltin( + "cg-config-v4.0.0_aces-v2.0_ocio-v2.5", + "Academy Color Encoding System - CG Config [COLORSPACES v4.0.0] [ACES v2.0] [OCIO v2.5]", + CG_CONFIG_V400_ACES_V20_OCIO_V25, true ); } diff --git a/src/OpenColorIO/builtinconfigs/Studio.cpp.in b/src/OpenColorIO/builtinconfigs/Studio.cpp.in index bee34d4662..fc9c60783f 100644 --- a/src/OpenColorIO/builtinconfigs/Studio.cpp.in +++ b/src/OpenColorIO/builtinconfigs/Studio.cpp.in @@ -15,3 +15,7 @@ constexpr char STUDIO_CONFIG_V210_ACES_V13_OCIO_V23[] = { constexpr char STUDIO_CONFIG_V220_ACES_V13_OCIO_V24[] = { @studio-config-v2.2.0_aces-v1.3_ocio-v2.4@ }; + +constexpr char STUDIO_CONFIG_V400_ACES_V20_OCIO_V25[] = { + @studio-config-v4.0.0_aces-v2.0_ocio-v2.5@ +}; diff --git a/src/OpenColorIO/builtinconfigs/StudioConfig.cpp b/src/OpenColorIO/builtinconfigs/StudioConfig.cpp index a791c55983..fee300ecc8 100644 --- a/src/OpenColorIO/builtinconfigs/StudioConfig.cpp +++ b/src/OpenColorIO/builtinconfigs/StudioConfig.cpp @@ -38,6 +38,13 @@ void Register(BuiltinConfigRegistryImpl & registry) noexcept "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, + false + ); + + registry.addBuiltin( + "studio-config-v4.0.0_aces-v2.0_ocio-v2.5", + "Academy Color Encoding System - Studio Config [COLORSPACES v4.0.0] [ACES v2.0] [OCIO v2.5]", + STUDIO_CONFIG_V400_ACES_V20_OCIO_V25, true ); } diff --git a/src/OpenColorIO/builtinconfigs/configs/cg-config-v4.0.0_aces-v2.0_ocio-v2.5.ocio b/src/OpenColorIO/builtinconfigs/configs/cg-config-v4.0.0_aces-v2.0_ocio-v2.5.ocio new file mode 100644 index 0000000000..6abfcf9cd1 --- /dev/null +++ b/src/OpenColorIO/builtinconfigs/configs/cg-config-v4.0.0_aces-v2.0_ocio-v2.5.ocio @@ -0,0 +1,678 @@ +ocio_profile_version: 2.5 + +environment: + {} +search_path: "" +strictparsing: true +luma: [0.2126, 0.7152, 0.0722] +name: cg-config-v4.0.0_aces-v2.0_ocio-v2.5 +description: | + Academy Color Encoding System - CG Config [COLORSPACES v4.0.0] [ACES v2.0] [OCIO v2.5] + -------------------------------------------------------------------------------------- + + 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: EXR, colorspace: ACES2065-1, pattern: "*", extension: exr} + - ! {name: Movies, colorspace: Rec.1886 Rec.709 - Display, regex: ".*\\.([mM][pP]4|[mM][oO][vV]|[mM][xX][fF])$"} + - ! {name: Default, colorspace: sRGB - Display} + +viewing_rules: + - ! {name: Any Scene-linear or Log, encodings: [log, scene-linear]} + - ! {name: Any Video, encodings: [sdr-video, hdr-video, edr-video, display-linear]} + +shared_views: + - ! {name: ACES 2.0 - SDR 100 nits (Rec.709), view_transform: ACES 2.0 - SDR 100 nits (Rec.709), display_colorspace: , rule: Any Scene-linear or Log} + - ! {name: ACES 2.0 - SDR 100 nits (P3 D65), view_transform: ACES 2.0 - SDR 100 nits (P3 D65), display_colorspace: , rule: Any Scene-linear or Log} + - ! {name: ACES 2.0 - HDR 1000 nits (P3 D65), view_transform: ACES 2.0 - HDR 1000 nits (P3 D65), display_colorspace: , rule: Any Scene-linear or Log} + - ! {name: ACES 2.0 - HDR 1000 nits (Rec.2020), view_transform: ACES 2.0 - HDR 1000 nits (Rec.2020), display_colorspace: , rule: Any Scene-linear or Log} + - ! {name: Un-tone-mapped, view_transform: Un-tone-mapped, display_colorspace: , rule: Any Scene-linear or Log} + - ! {name: Video (colorimetric), view_transform: Video (colorimetric), display_colorspace: , rule: Any Video} + +displays: + sRGB - Display: + - ! {name: Raw, colorspace: Raw} + - ! [ACES 2.0 - SDR 100 nits (Rec.709), Un-tone-mapped, Video (colorimetric)] + Gamma 2.2 Rec.709 - Display: + - ! {name: Raw, colorspace: Raw} + - ! [ACES 2.0 - SDR 100 nits (Rec.709), Un-tone-mapped, Video (colorimetric)] + Display P3 - Display: + - ! {name: Raw, colorspace: Raw} + - ! [ACES 2.0 - SDR 100 nits (P3 D65), Un-tone-mapped, Video (colorimetric)] + Display P3 HDR - Display: + - ! {name: Raw, colorspace: Raw} + - ! [ACES 2.0 - HDR 1000 nits (P3 D65), ACES 2.0 - SDR 100 nits (Rec.709), Un-tone-mapped, Video (colorimetric)] + P3-D65 - Display: + - ! {name: Raw, colorspace: Raw} + - ! [ACES 2.0 - SDR 100 nits (P3 D65), ACES 2.0 - SDR 100 nits (Rec.709), Un-tone-mapped, Video (colorimetric)] + Rec.1886 Rec.709 - Display: + - ! {name: Raw, colorspace: Raw} + - ! [ACES 2.0 - SDR 100 nits (Rec.709), Un-tone-mapped, Video (colorimetric)] + Rec.2100-PQ - Display: + - ! {name: Raw, colorspace: Raw} + - ! [ACES 2.0 - HDR 1000 nits (P3 D65), ACES 2.0 - HDR 1000 nits (Rec.2020), ACES 2.0 - SDR 100 nits (Rec.709), Un-tone-mapped, Video (colorimetric)] + ST2084-P3-D65 - Display: + - ! {name: Raw, colorspace: Raw} + - ! [ACES 2.0 - HDR 1000 nits (P3 D65), ACES 2.0 - SDR 100 nits (Rec.709), Un-tone-mapped, Video (colorimetric)] + +virtual_display: + - ! {name: Raw, colorspace: Raw} + - ! [ACES 2.0 - SDR 100 nits (P3 D65), Un-tone-mapped, ACES 2.0 - SDR 100 nits (Rec.709), Video (colorimetric)] + +active_displays: [sRGB - Display, Display P3 - Display, Display P3 HDR - Display, Gamma 2.2 Rec.709 - Display, P3-D65 - Display, Rec.1886 Rec.709 - Display, Rec.2100-PQ - Display, ST2084-P3-D65 - Display] +active_views: [ACES 2.0 - HDR 1000 nits (P3 D65), ACES 2.0 - HDR 1000 nits (Rec.2020), ACES 2.0 - SDR 100 nits (P3 D65), ACES 2.0 - SDR 100 nits (Rec.709), Un-tone-mapped, Video (colorimetric), 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 + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:InvLook.Academy.ReferenceGamutCompress.a2.v1 + urn:ampas:aces:transformId:v2.0:Look.Academy.ReferenceGamutCompress.a2.v1 + transform: ! {style: ACES-LMT - ACES 1.3 Reference Gamut Compression} + + +default_view_transform: Un-tone-mapped + +view_transforms: + - ! + name: Un-tone-mapped + from_scene_reference: ! {style: UTILITY - ACES-AP0_to_CIE-XYZ-D65_BFD} + + - ! + name: Video (colorimetric) + from_display_reference: ! {} + + - ! + name: ACES 2.0 - SDR 100 nits (Rec.709) + description: Component of ACES 2 Output Transforms for 100 nit SDR Rec709 + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec709-D65_100nit_in_P3-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec709-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec709-D65_100nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec709-D65_100nit_in_Rec709-D65_BT1886.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec709-D65_100nit_in_Rec709-D65_Gamma2pt2.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec709-D65_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec709-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_P3-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_BT1886.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_Gamma2pt2.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1 + from_scene_reference: ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0} + + - ! + name: ACES 2.0 - SDR 100 nits (P3 D65) + description: Component of ACES 2 Output Transforms for 100 nit SDR P3-D65 + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_48nit_in_XYZ-E_Gamma2pt6.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_48nit_in_XYZ-E_Gamma2pt6.a2.v1 + from_scene_reference: ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0} + + - ! + name: ACES 2.0 - HDR 1000 nits (P3 D65) + description: Component of ACES 2 Output Transforms for 1000 nit HDR P3-D65 + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_1000nit_in_P3-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_1000nit_in_Rec2100-D65_HLG.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_Rec2100-D65_HLG.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1 + from_scene_reference: ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0} + + - ! + name: ACES 2.0 - HDR 1000 nits (Rec.2020) + description: Component of ACES 2 Output Transforms for 1000 nit HDR Rec2020 + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec2100-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1 + from_scene_reference: ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-REC2020_2.0} + +display_colorspaces: + - ! + name: CIE XYZ-D65 - Display-referred + aliases: [cie_xyz_d65_display, lin_ciexyzd65_display, ocio:lin_ciexyzd65_display] + interop_id: ocio: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, srgb_rec709_display] + interop_id: srgb_rec709_display + family: Display + equalitygroup: "" + bitdepth: 32f + description: Convert CIE XYZ (D65 white) to sRGB (piecewise EOTF), mirror neg. values + isdata: false + categories: [file-io] + encoding: sdr-video + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec709-D65_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1 + allocation: uniform + from_display_reference: ! {style: DISPLAY - CIE-XYZ-D65_to_sRGB - MIRROR NEGS} + + - ! + name: Gamma 2.2 Rec.709 - Display + aliases: [g22_rec709_display] + interop_id: g22_rec709_display + family: Display + equalitygroup: "" + bitdepth: 32f + description: Convert CIE XYZ (D65 white) to Gamma2.2, Rec.709, mirror neg. values + isdata: false + categories: [file-io] + encoding: sdr-video + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec709-D65_100nit_in_Rec709-D65_Gamma2pt2.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_Gamma2pt2.a2.v1 + allocation: uniform + from_display_reference: ! {style: DISPLAY - CIE-XYZ-D65_to_G2.2-REC.709 - MIRROR NEGS} + + - ! + name: Display P3 - Display + aliases: [displayp3_display, srgb_p3d65_display] + interop_id: srgb_p3d65_display + family: Display + equalitygroup: "" + bitdepth: 32f + description: Convert CIE XYZ (D65 white) to Apple Display P3, mirror neg. values + isdata: false + categories: [file-io] + encoding: sdr-video + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1 + allocation: uniform + from_display_reference: ! {style: DISPLAY - CIE-XYZ-D65_to_DisplayP3} + + - ! + name: Display P3 HDR - Display + aliases: [displayp3_hdr_display, srgbe_p3d65_display] + interop_id: srgbe_p3d65_display + family: Display + equalitygroup: "" + bitdepth: 32f + description: Convert CIE XYZ (D65 white) to Apple Display P3 (HDR), mirror neg. values + isdata: false + categories: [file-io] + encoding: edr-video + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec709-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1 + allocation: uniform + from_display_reference: ! {style: DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR} + + - ! + name: P3-D65 - Display + aliases: [p3d65_display, g26_p3d65_display] + interop_id: g26_p3d65_display + family: Display + equalitygroup: "" + bitdepth: 32f + description: Convert CIE XYZ (D65 white) to Gamma 2.6, P3-D65, mirror neg. values + isdata: false + categories: [file-io] + encoding: sdr-video + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec709-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1 + allocation: uniform + from_display_reference: ! {style: DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D65 - MIRROR NEGS} + + - ! + name: Rec.1886 Rec.709 - Display + aliases: [rec1886_rec709_display, g24_rec709_display] + interop_id: g24_rec709_display + family: Display + equalitygroup: "" + bitdepth: 32f + description: Convert CIE XYZ (D65 white) to Rec.1886/Rec.709, mirror neg. values + isdata: false + categories: [file-io] + encoding: sdr-video + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec709-D65_100nit_in_Rec709-D65_BT1886.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_BT1886.a2.v1 + allocation: uniform + from_display_reference: ! {style: DISPLAY - CIE-XYZ-D65_to_REC.1886-REC.709 - MIRROR NEGS} + + - ! + name: Rec.2100-PQ - Display + aliases: [rec2100_pq_display, pq_rec2020_display] + interop_id: pq_rec2020_display + family: Display + equalitygroup: "" + bitdepth: 32f + description: Convert CIE XYZ (D65 white) to Rec.2100-PQ + isdata: false + categories: [file-io] + encoding: hdr-video + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_2000nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_4000nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_500nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec2100-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec2100-D65_2000nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec2100-D65_4000nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec2100-D65_500nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec709-D65_100nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_2000nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_4000nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_500nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_2000nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_4000nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_500nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec2100-D65_ST2084.a2.v1 + allocation: uniform + from_display_reference: ! {style: DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ} + + - ! + name: ST2084-P3-D65 - Display + aliases: [st2084_p3d65_display, pq_p3d65_display] + interop_id: pq_p3d65_display + family: Display + equalitygroup: "" + bitdepth: 32f + description: Convert CIE XYZ (D65 white) to ST-2084 (PQ), P3-D65 primaries + isdata: false + categories: [file-io] + encoding: hdr-video + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_1000nit_in_P3-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_108nit_in_P3-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_2000nit_in_P3-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_4000nit_in_P3-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_500nit_in_P3-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec709-D65_100nit_in_P3-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_108nit_in_P3-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_2000nit_in_P3-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_4000nit_in_P3-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_500nit_in_P3-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_P3-D65_ST2084.a2.v1 + allocation: uniform + from_display_reference: ! {style: DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65} + +colorspaces: + - ! + name: ACES2065-1 + aliases: [aces2065_1, aces, ACES - ACES2065-1, lin_ap0, lin_ap0_scene] + interop_id: 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, ocio:acescc_ap1_scene] + interop_id: ocio:acescc_ap1_scene + family: ACES + equalitygroup: "" + bitdepth: 32f + description: Convert ACEScc to ACES2065-1 + isdata: false + categories: [file-io] + encoding: log + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:CSC.Academy.ACES_to_ACEScc.a2.v1 + urn:ampas:aces:transformId:v2.0:CSC.Academy.ACEScc_to_ACES.a2.v1 + allocation: uniform + to_scene_reference: ! {style: ACEScc_to_ACES2065-1} + + - ! + name: ACEScct + aliases: [ACES - ACEScct, acescct_ap1, ocio:acescct_ap1_scene] + interop_id: ocio:acescct_ap1_scene + family: ACES + equalitygroup: "" + bitdepth: 32f + description: Convert ACEScct to ACES2065-1 + isdata: false + categories: [file-io, working-space] + encoding: log + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:CSC.Academy.ACES_to_ACEScct.a2.v1 + urn:ampas:aces:transformId:v2.0:CSC.Academy.ACEScct_to_ACES.a2.v1 + allocation: uniform + to_scene_reference: ! {style: ACEScct_to_ACES2065-1} + + - ! + name: ACEScg + aliases: [ACES - ACEScg, lin_ap1, lin_ap1_scene] + interop_id: lin_ap1_scene + family: ACES + equalitygroup: "" + bitdepth: 32f + description: Convert ACEScg to ACES2065-1 + isdata: false + categories: [file-io, working-space, texture] + encoding: scene-linear + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:CSC.Academy.ACES_to_ACEScg.a2.v1 + urn:ampas:aces:transformId:v2.0:CSC.Academy.ACEScg_to_ACES.a2.v1 + allocation: uniform + to_scene_reference: ! {style: ACEScg_to_ACES2065-1} + + - ! + name: sRGB Encoded Rec.709 (sRGB) + aliases: [srgb_encoded_rec709_srgb, srgb_texture, srgb_rec709_scene, Utility - sRGB - Texture, Input - Generic - sRGB - Texture, sRGB - Texture, srgb_tx] + interop_id: srgb_rec709_scene + family: Utility + equalitygroup: "" + bitdepth: 32f + description: Convert ACES2065-1 to sRGB + 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, g18_rec709, Utility - Gamma 1.8 - Rec.709 - Texture, Gamma 1.8 Rec.709 - Texture, g18_rec709_tx, g18_rec709_scene] + interop_id: g18_rec709_scene + family: Utility + equalitygroup: "" + bitdepth: 32f + description: Convert ACES2065-1 to 1.8 gamma-corrected Rec.709 primaries, D65 white point + 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, g22_rec709, Utility - Gamma 2.2 - Rec.709 - Texture, Gamma 2.2 Rec.709 - Texture, g22_rec709_tx, g22_rec709_scene] + interop_id: g22_rec709_scene + family: Utility + equalitygroup: "" + bitdepth: 32f + description: Convert ACES2065-1 to 2.2 gamma-corrected Rec.709 primaries, D65 white point + 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, ocio:g24_rec709_scene] + interop_id: ocio:g24_rec709_scene + family: Utility + equalitygroup: "" + bitdepth: 32f + description: Convert ACES2065-1 to 2.4 gamma-corrected Rec.709 primaries, D65 white point + 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] + interop_id: srgb_p3d65_scene + family: Utility + equalitygroup: "" + bitdepth: 32f + description: Convert ACES2065-1 to sRGB Encoded P3-D65 primaries, D65 white point + 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] + interop_id: g22_adobergb_scene + family: Utility + equalitygroup: "" + bitdepth: 32f + description: Convert ACES2065-1 to 2.2 gamma-corrected AdobeRGB primaries, D65 white point + 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] + interop_id: srgb_ap1_scene + family: Utility + equalitygroup: "" + bitdepth: 32f + description: Convert ACES2065-1 to sRGB Encoded AP1 primaries, ACES ~=D60 white point + 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] + interop_id: g22_ap1_scene + family: Utility + equalitygroup: "" + bitdepth: 32f + description: Convert ACES2065-1 to 2.2 gamma-corrected AP1 primaries, ACES ~=D60 white point + 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: CIE XYZ-D65 - Scene-referred + aliases: [cie_xyz_d65_scene, lin_ciexyzd65_scene] + interop_id: lin_ciexyzd65_scene + family: Utility + equalitygroup: "" + bitdepth: 32f + description: Convert ACES2065-1 to CIE XYZ, D65 white point + 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: Linear AdobeRGB + aliases: [lin_adobergb, lin_adobergb_scene, Utility - Linear - Adobe RGB] + interop_id: lin_adobergb_scene + family: Utility + equalitygroup: "" + bitdepth: 32f + description: Convert ACES2065-1 to linear Adobe RGB (1998) primaries, D65 white point + 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 P3-D65 + aliases: [lin_p3d65, lin_displayp3, lin_p3d65_scene, Utility - Linear - P3-D65, Linear Display P3] + interop_id: lin_p3d65_scene + family: Utility + equalitygroup: "" + bitdepth: 32f + description: Convert ACES2065-1 to linear P3 primaries, D65 white point + 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 Rec.2020 + aliases: [lin_rec2020, lin_rec2020_scene, Utility - Linear - Rec.2020] + interop_id: lin_rec2020_scene + family: Utility + equalitygroup: "" + bitdepth: 32f + description: Convert ACES2065-1 to linear Rec.2020 primaries, D65 white point + 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: Linear Rec.709 (sRGB) + aliases: [lin_rec709_srgb, lin_rec709, lin_rec709_scene, lin_srgb, Utility - Linear - sRGB, Utility - Linear - Rec.709] + interop_id: lin_rec709_scene + family: Utility + equalitygroup: "" + bitdepth: 32f + description: Convert ACES2065-1 to linear Rec.709 primaries, D65 white point + 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: Raw + aliases: [Utility - Raw, none] + interop_id: data + 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, crv_srgb, Utility - Curve - sRGB] + description: Convert sRGB encoded RGB to generic linear RGB + 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, crv_rec1886, Utility - Curve - Rec.1886] + description: Convert Rec.1886 encoded RGB to generic linear RGB + 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-v4.0.0_aces-v2.0_ocio-v2.5.ocio b/src/OpenColorIO/builtinconfigs/configs/studio-config-v4.0.0_aces-v2.0_ocio-v2.5.ocio new file mode 100644 index 0000000000..902084b39e --- /dev/null +++ b/src/OpenColorIO/builtinconfigs/configs/studio-config-v4.0.0_aces-v2.0_ocio-v2.5.ocio @@ -0,0 +1,1465 @@ +ocio_profile_version: 2.5 + +environment: + {} +search_path: "" +strictparsing: true +luma: [0.2126, 0.7152, 0.0722] +name: studio-config-v4.0.0_aces-v2.0_ocio-v2.5 +description: | + Academy Color Encoding System - Studio Config [COLORSPACES v4.0.0] [ACES v2.0] [OCIO v2.5] + ------------------------------------------------------------------------------------------ + + 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: EXR, colorspace: ACES2065-1, pattern: "*", extension: exr} + - ! {name: Movies, colorspace: Rec.1886 Rec.709 - Display, regex: ".*\\.([mM][pP]4|[mM][oO][vV]|[mM][xX][fF])$"} + - ! {name: Default, colorspace: sRGB - Display} + +viewing_rules: + - ! {name: Any Scene-linear or Log, encodings: [log, scene-linear]} + - ! {name: Any Video, encodings: [sdr-video, hdr-video, edr-video, display-linear]} + +shared_views: + - ! {name: ACES 2.0 - SDR 100 nits (Rec.709), view_transform: ACES 2.0 - SDR 100 nits (Rec.709), display_colorspace: , rule: Any Scene-linear or Log} + - ! {name: ACES 2.0 - SDR 100 nits (P3 D65), view_transform: ACES 2.0 - SDR 100 nits (P3 D65), display_colorspace: , rule: Any Scene-linear or Log} + - ! {name: ACES 2.0 - HDR 1000 nits (P3 D65), view_transform: ACES 2.0 - HDR 1000 nits (P3 D65), display_colorspace: , rule: Any Scene-linear or Log} + - ! {name: ACES 2.0 - HDR 500 nits (P3 D65), view_transform: ACES 2.0 - HDR 500 nits (P3 D65), display_colorspace: , rule: Any Scene-linear or Log} + - ! {name: ACES 2.0 - HDR 2000 nits (P3 D65), view_transform: ACES 2.0 - HDR 2000 nits (P3 D65), display_colorspace: , rule: Any Scene-linear or Log} + - ! {name: ACES 2.0 - HDR 4000 nits (P3 D65), view_transform: ACES 2.0 - HDR 4000 nits (P3 D65), display_colorspace: , rule: Any Scene-linear or Log} + - ! {name: ACES 2.0 - HDR 500 nits (Rec.2020), view_transform: ACES 2.0 - HDR 500 nits (Rec.2020), display_colorspace: , rule: Any Scene-linear or Log} + - ! {name: ACES 2.0 - HDR 1000 nits (Rec.2020), view_transform: ACES 2.0 - HDR 1000 nits (Rec.2020), display_colorspace: , rule: Any Scene-linear or Log} + - ! {name: ACES 2.0 - HDR 2000 nits (Rec.2020), view_transform: ACES 2.0 - HDR 2000 nits (Rec.2020), display_colorspace: , rule: Any Scene-linear or Log} + - ! {name: ACES 2.0 - HDR 4000 nits (Rec.2020), view_transform: ACES 2.0 - HDR 4000 nits (Rec.2020), display_colorspace: , rule: Any Scene-linear or Log} + - ! {name: ACES 2.0 - HDR 108 nits (P3 D65), view_transform: ACES 2.0 - HDR 108 nits (P3 D65), display_colorspace: , rule: Any Scene-linear or Log} + - ! {name: Un-tone-mapped, view_transform: Un-tone-mapped, display_colorspace: , rule: Any Scene-linear or Log} + - ! {name: Video (colorimetric), view_transform: Video (colorimetric), display_colorspace: , rule: Any Video} + +displays: + sRGB - Display: + - ! {name: Raw, colorspace: Raw} + - ! [ACES 2.0 - SDR 100 nits (Rec.709), Un-tone-mapped, Video (colorimetric)] + Gamma 2.2 Rec.709 - Display: + - ! {name: Raw, colorspace: Raw} + - ! [ACES 2.0 - SDR 100 nits (Rec.709), Un-tone-mapped, Video (colorimetric)] + Display P3 - Display: + - ! {name: Raw, colorspace: Raw} + - ! [ACES 2.0 - SDR 100 nits (P3 D65), Un-tone-mapped, Video (colorimetric)] + Display P3 HDR - Display: + - ! {name: Raw, colorspace: Raw} + - ! [ACES 2.0 - HDR 1000 nits (P3 D65), ACES 2.0 - SDR 100 nits (Rec.709), Un-tone-mapped, Video (colorimetric)] + P3-D65 - Display: + - ! {name: Raw, colorspace: Raw} + - ! [ACES 2.0 - SDR 100 nits (P3 D65), ACES 2.0 - SDR 100 nits (Rec.709), Un-tone-mapped, Video (colorimetric)] + Rec.1886 Rec.709 - Display: + - ! {name: Raw, colorspace: Raw} + - ! [ACES 2.0 - SDR 100 nits (Rec.709), Un-tone-mapped, Video (colorimetric)] + Rec.2100-HLG - Display: + - ! {name: Raw, colorspace: Raw} + - ! [ACES 2.0 - HDR 1000 nits (P3 D65), Un-tone-mapped, Video (colorimetric)] + Rec.2100-PQ - Display: + - ! {name: Raw, colorspace: Raw} + - ! [ACES 2.0 - HDR 500 nits (P3 D65), ACES 2.0 - HDR 1000 nits (P3 D65), ACES 2.0 - HDR 2000 nits (P3 D65), ACES 2.0 - HDR 4000 nits (P3 D65), ACES 2.0 - HDR 500 nits (Rec.2020), ACES 2.0 - HDR 1000 nits (Rec.2020), ACES 2.0 - HDR 2000 nits (Rec.2020), ACES 2.0 - HDR 4000 nits (Rec.2020), ACES 2.0 - SDR 100 nits (Rec.709), Un-tone-mapped, Video (colorimetric)] + ST2084-P3-D65 - Display: + - ! {name: Raw, colorspace: Raw} + - ! [ACES 2.0 - HDR 108 nits (P3 D65), ACES 2.0 - HDR 500 nits (P3 D65), ACES 2.0 - HDR 1000 nits (P3 D65), ACES 2.0 - HDR 2000 nits (P3 D65), ACES 2.0 - HDR 4000 nits (P3 D65), ACES 2.0 - SDR 100 nits (Rec.709), Un-tone-mapped, Video (colorimetric)] + +virtual_display: + - ! {name: Raw, colorspace: Raw} + - ! [ACES 2.0 - SDR 100 nits (Rec.709), Un-tone-mapped, Video (colorimetric), ACES 2.0 - SDR 100 nits (P3 D65)] + +active_displays: [sRGB - Display, Display P3 - Display, Display P3 HDR - Display, Gamma 2.2 Rec.709 - Display, P3-D65 - Display, Rec.1886 Rec.709 - Display, Rec.2100-HLG - Display, Rec.2100-PQ - Display, ST2084-P3-D65 - Display] +active_views: [ACES 2.0 - HDR 1000 nits (P3 D65), ACES 2.0 - HDR 1000 nits (Rec.2020), ACES 2.0 - HDR 2000 nits (P3 D65), ACES 2.0 - HDR 2000 nits (Rec.2020), ACES 2.0 - HDR 4000 nits (P3 D65), ACES 2.0 - HDR 4000 nits (Rec.2020), ACES 2.0 - HDR 500 nits (P3 D65), ACES 2.0 - HDR 500 nits (Rec.2020), ACES 2.0 - HDR 108 nits (P3 D65), ACES 2.0 - SDR 100 nits (P3 D65), ACES 2.0 - SDR 100 nits (Rec.709), Un-tone-mapped, Video (colorimetric), 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 + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:InvLook.Academy.ReferenceGamutCompress.a2.v1 + urn:ampas:aces:transformId:v2.0:Look.Academy.ReferenceGamutCompress.a2.v1 + transform: ! {style: ACES-LMT - ACES 1.3 Reference Gamut Compression} + + +default_view_transform: Un-tone-mapped + +view_transforms: + - ! + name: Un-tone-mapped + from_scene_reference: ! {style: UTILITY - ACES-AP0_to_CIE-XYZ-D65_BFD} + + - ! + name: Video (colorimetric) + from_display_reference: ! {} + + - ! + name: ACES 2.0 - SDR 100 nits (Rec.709) + description: Component of ACES 2 Output Transforms for 100 nit SDR Rec709 + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec709-D65_100nit_in_P3-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec709-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec709-D65_100nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec709-D65_100nit_in_Rec709-D65_BT1886.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec709-D65_100nit_in_Rec709-D65_Gamma2pt2.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec709-D65_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec709-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_P3-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_BT1886.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_Gamma2pt2.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1 + from_scene_reference: ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0} + + - ! + name: ACES 2.0 - SDR 100 nits (P3 D65) + description: Component of ACES 2 Output Transforms for 100 nit SDR P3-D65 + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_48nit_in_XYZ-E_Gamma2pt6.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_48nit_in_XYZ-E_Gamma2pt6.a2.v1 + from_scene_reference: ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0} + + - ! + name: ACES 2.0 - HDR 1000 nits (P3 D65) + description: Component of ACES 2 Output Transforms for 1000 nit HDR P3-D65 + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_1000nit_in_P3-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_1000nit_in_Rec2100-D65_HLG.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_Rec2100-D65_HLG.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1 + from_scene_reference: ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0} + + - ! + name: ACES 2.0 - HDR 500 nits (P3 D65) + description: Component of ACES 2 Output Transforms for 500 nit HDR P3-D65 + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_500nit_in_P3-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_500nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_500nit_in_P3-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_500nit_in_Rec2100-D65_ST2084.a2.v1 + from_scene_reference: ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D65_2.0} + + - ! + name: ACES 2.0 - HDR 2000 nits (P3 D65) + description: Component of ACES 2 Output Transforms for 2000 nit HDR P3-D65 + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_2000nit_in_P3-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_2000nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_2000nit_in_P3-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_2000nit_in_Rec2100-D65_ST2084.a2.v1 + from_scene_reference: ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D65_2.0} + + - ! + name: ACES 2.0 - HDR 4000 nits (P3 D65) + description: Component of ACES 2 Output Transforms for 4000 nit HDR P3-D65 + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_4000nit_in_P3-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_4000nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_4000nit_in_P3-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_4000nit_in_Rec2100-D65_ST2084.a2.v1 + from_scene_reference: ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D65_2.0} + + - ! + name: ACES 2.0 - HDR 500 nits (Rec.2020) + description: Component of ACES 2 Output Transforms for 500 nit HDR Rec2020 + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec2100-D65_500nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_500nit_in_Rec2100-D65_ST2084.a2.v1 + from_scene_reference: ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-REC2020_2.0} + + - ! + name: ACES 2.0 - HDR 1000 nits (Rec.2020) + description: Component of ACES 2 Output Transforms for 1000 nit HDR Rec2020 + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec2100-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1 + from_scene_reference: ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-REC2020_2.0} + + - ! + name: ACES 2.0 - HDR 2000 nits (Rec.2020) + description: Component of ACES 2 Output Transforms for 2000 nit HDR Rec2020 + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec2100-D65_2000nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_2000nit_in_Rec2100-D65_ST2084.a2.v1 + from_scene_reference: ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-REC2020_2.0} + + - ! + name: ACES 2.0 - HDR 4000 nits (Rec.2020) + description: Component of ACES 2 Output Transforms for 4000 nit HDR Rec2020 + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec2100-D65_4000nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_4000nit_in_Rec2100-D65_ST2084.a2.v1 + from_scene_reference: ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-REC2020_2.0} + + - ! + name: ACES 2.0 - HDR 108 nits (P3 D65) + description: Component of ACES 2 Output Transforms for 108 nit HDR P3-D65 + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_108nit_in_P3-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_108nit_in_P3-D65_ST2084.a2.v1 + from_scene_reference: ! {style: ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-108nit-P3-D65_2.0} + +display_colorspaces: + - ! + name: CIE XYZ-D65 - Display-referred + aliases: [cie_xyz_d65_display, lin_ciexyzd65_display, ocio:lin_ciexyzd65_display] + interop_id: ocio: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, srgb_rec709_display] + interop_id: srgb_rec709_display + family: Display + equalitygroup: "" + bitdepth: 32f + description: Convert CIE XYZ (D65 white) to sRGB (piecewise EOTF), mirror neg. values + isdata: false + categories: [file-io] + encoding: sdr-video + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec709-D65_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1 + allocation: uniform + from_display_reference: ! {style: DISPLAY - CIE-XYZ-D65_to_sRGB - MIRROR NEGS} + + - ! + name: Gamma 2.2 Rec.709 - Display + aliases: [g22_rec709_display] + interop_id: g22_rec709_display + family: Display + equalitygroup: "" + bitdepth: 32f + description: Convert CIE XYZ (D65 white) to Gamma2.2, Rec.709, mirror neg. values + isdata: false + categories: [file-io] + encoding: sdr-video + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec709-D65_100nit_in_Rec709-D65_Gamma2pt2.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_Gamma2pt2.a2.v1 + allocation: uniform + from_display_reference: ! {style: DISPLAY - CIE-XYZ-D65_to_G2.2-REC.709 - MIRROR NEGS} + + - ! + name: Display P3 - Display + aliases: [displayp3_display, srgb_p3d65_display] + interop_id: srgb_p3d65_display + family: Display + equalitygroup: "" + bitdepth: 32f + description: Convert CIE XYZ (D65 white) to Apple Display P3, mirror neg. values + isdata: false + categories: [file-io] + encoding: sdr-video + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1 + allocation: uniform + from_display_reference: ! {style: DISPLAY - CIE-XYZ-D65_to_DisplayP3} + + - ! + name: Display P3 HDR - Display + aliases: [displayp3_hdr_display, srgbe_p3d65_display] + interop_id: srgbe_p3d65_display + family: Display + equalitygroup: "" + bitdepth: 32f + description: Convert CIE XYZ (D65 white) to Apple Display P3 (HDR), mirror neg. values + isdata: false + categories: [file-io] + encoding: edr-video + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec709-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1 + allocation: uniform + from_display_reference: ! {style: DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR} + + - ! + name: P3-D65 - Display + aliases: [p3d65_display, g26_p3d65_display] + interop_id: g26_p3d65_display + family: Display + equalitygroup: "" + bitdepth: 32f + description: Convert CIE XYZ (D65 white) to Gamma 2.6, P3-D65, mirror neg. values + isdata: false + categories: [file-io] + encoding: sdr-video + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec709-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1 + allocation: uniform + from_display_reference: ! {style: DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D65 - MIRROR NEGS} + + - ! + name: Rec.1886 Rec.709 - Display + aliases: [rec1886_rec709_display, g24_rec709_display] + interop_id: g24_rec709_display + family: Display + equalitygroup: "" + bitdepth: 32f + description: Convert CIE XYZ (D65 white) to Rec.1886/Rec.709, mirror neg. values + isdata: false + categories: [file-io] + encoding: sdr-video + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec709-D65_100nit_in_Rec709-D65_BT1886.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_BT1886.a2.v1 + allocation: uniform + from_display_reference: ! {style: DISPLAY - CIE-XYZ-D65_to_REC.1886-REC.709 - MIRROR NEGS} + + - ! + name: Rec.2100-HLG - Display + aliases: [rec2100_hlg_display, hlg_rec2020_display] + interop_id: hlg_rec2020_display + family: Display + equalitygroup: "" + bitdepth: 32f + description: Convert CIE XYZ (D65 white) to Rec.2100-HLG, 1000 nit + isdata: false + categories: [file-io] + encoding: hdr-video + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_1000nit_in_Rec2100-D65_HLG.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_Rec2100-D65_HLG.a2.v1 + allocation: uniform + from_display_reference: ! {style: DISPLAY - CIE-XYZ-D65_to_REC.2100-HLG-1000nit} + + - ! + name: Rec.2100-PQ - Display + aliases: [rec2100_pq_display, pq_rec2020_display] + interop_id: pq_rec2020_display + family: Display + equalitygroup: "" + bitdepth: 32f + description: Convert CIE XYZ (D65 white) to Rec.2100-PQ + isdata: false + categories: [file-io] + encoding: hdr-video + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_2000nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_4000nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_500nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec2100-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec2100-D65_2000nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec2100-D65_4000nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec2100-D65_500nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec709-D65_100nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_2000nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_4000nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_500nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_2000nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_4000nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_500nit_in_Rec2100-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec2100-D65_ST2084.a2.v1 + allocation: uniform + from_display_reference: ! {style: DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ} + + - ! + name: ST2084-P3-D65 - Display + aliases: [st2084_p3d65_display, pq_p3d65_display] + interop_id: pq_p3d65_display + family: Display + equalitygroup: "" + bitdepth: 32f + description: Convert CIE XYZ (D65 white) to ST-2084 (PQ), P3-D65 primaries + isdata: false + categories: [file-io] + encoding: hdr-video + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_1000nit_in_P3-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_108nit_in_P3-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_2000nit_in_P3-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_4000nit_in_P3-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.P3-D65_500nit_in_P3-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:InvOutput.Academy.Rec709-D65_100nit_in_P3-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_108nit_in_P3-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_2000nit_in_P3-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_4000nit_in_P3-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_500nit_in_P3-D65_ST2084.a2.v1 + urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_P3-D65_ST2084.a2.v1 + allocation: uniform + from_display_reference: ! {style: DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65} + +colorspaces: + - ! + name: ACES2065-1 + aliases: [aces2065_1, aces, ACES - ACES2065-1, lin_ap0, lin_ap0_scene] + interop_id: 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, ocio:acescc_ap1_scene] + interop_id: ocio:acescc_ap1_scene + family: ACES + equalitygroup: "" + bitdepth: 32f + description: Convert ACEScc to ACES2065-1 + isdata: false + categories: [file-io] + encoding: log + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:CSC.Academy.ACES_to_ACEScc.a2.v1 + urn:ampas:aces:transformId:v2.0:CSC.Academy.ACEScc_to_ACES.a2.v1 + allocation: uniform + to_scene_reference: ! {style: ACEScc_to_ACES2065-1} + + - ! + name: ACEScct + aliases: [ACES - ACEScct, acescct_ap1, ocio:acescct_ap1_scene] + interop_id: ocio:acescct_ap1_scene + family: ACES + equalitygroup: "" + bitdepth: 32f + description: Convert ACEScct to ACES2065-1 + isdata: false + categories: [file-io, working-space] + encoding: log + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:CSC.Academy.ACES_to_ACEScct.a2.v1 + urn:ampas:aces:transformId:v2.0:CSC.Academy.ACEScct_to_ACES.a2.v1 + allocation: uniform + to_scene_reference: ! {style: ACEScct_to_ACES2065-1} + + - ! + name: ACEScg + aliases: [ACES - ACEScg, lin_ap1, lin_ap1_scene] + interop_id: lin_ap1_scene + family: ACES + equalitygroup: "" + bitdepth: 32f + description: Convert ACEScg to ACES2065-1 + isdata: false + categories: [file-io, working-space, texture] + encoding: scene-linear + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:CSC.Academy.ACES_to_ACEScg.a2.v1 + urn:ampas:aces:transformId:v2.0:CSC.Academy.ACEScg_to_ACES.a2.v1 + allocation: uniform + to_scene_reference: ! {style: ACEScg_to_ACES2065-1} + + - ! + name: ADX10 + aliases: [Input - ADX - ADX10, ocio:adx10_apd_scene] + interop_id: ocio:adx10_apd_scene + family: ACES + equalitygroup: "" + bitdepth: 32f + description: Convert ADX10 to ACES2065-1 + isdata: false + categories: [file-io] + encoding: log + interchange: + amf_transform_ids: urn:ampas:aces:transformId:v2.0:CSC.Academy.ADX10_to_ACES.a2.v1 + allocation: uniform + to_scene_reference: ! {style: ADX10_to_ACES2065-1} + + - ! + name: ADX16 + aliases: [Input - ADX - ADX16, ocio:adx16_apd_scene] + interop_id: ocio:adx16_apd_scene + family: ACES + equalitygroup: "" + bitdepth: 32f + description: Convert ADX16 to ACES2065-1 + isdata: false + categories: [file-io] + encoding: log + interchange: + amf_transform_ids: urn:ampas:aces:transformId:v2.0:CSC.Academy.ADX16_to_ACES.a2.v1 + allocation: uniform + to_scene_reference: ! {style: ADX16_to_ACES2065-1} + + - ! + name: Apple Log + aliases: [apple_log, ocio:applelog_rec2020_scene] + interop_id: ocio:applelog_rec2020_scene + family: Input/Apple + equalitygroup: "" + bitdepth: 32f + description: Convert Apple Log to ACES2065-1 + isdata: false + categories: [file-io] + encoding: log + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:CSC.Apple.ACES_to_AppleLog_BT2020.a2.v1 + urn:ampas:aces:transformId:v2.0:CSC.Apple.AppleLog_BT2020_to_ACES.a2.v1 + allocation: uniform + to_scene_reference: ! {style: APPLE_LOG_to_ACES2065-1} + + - ! + name: ARRI LogC3 (EI800) + aliases: [arri_logc3_ei800, logc3ei800_alexawide, Input - ARRI - V3 LogC (EI800) - Wide Gamut, ocio:arrilogc3_awg3_scene] + interop_id: ocio:arrilogc3_awg3_scene + family: Input/ARRI + equalitygroup: "" + bitdepth: 32f + description: Convert ARRI LogC3 (EI800) to ACES2065-1 + isdata: false + categories: [file-io] + encoding: log + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:CSC.Arri.ACES_to_LogC3.a2.v1 + urn:ampas:aces:transformId:v2.0:CSC.Arri.LogC3_to_ACES.a2.v1 + 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: Linear ARRI Wide Gamut 3 + aliases: [lin_arri_wide_gamut_3, lin_alexawide, Input - ARRI - Linear - ALEXA Wide Gamut, ocio:lin_awg3_scene] + interop_id: ocio:lin_awg3_scene + family: Input/ARRI + equalitygroup: "" + bitdepth: 32f + description: Convert Linear ARRI Wide Gamut 3 to ACES2065-1 + 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 LogC4 + aliases: [arri_logc4, ocio:arrilogc4_awg4_scene] + interop_id: ocio:arrilogc4_awg4_scene + family: Input/ARRI + equalitygroup: "" + bitdepth: 32f + description: Convert ARRI LogC4 to ACES2065-1 + isdata: false + categories: [file-io] + encoding: log + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:CSC.Arri.ACES_to_LogC4.a2.v1 + urn:ampas:aces:transformId:v2.0:CSC.Arri.LogC4_to_ACES.a2.v1 + 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, ocio:lin_awg4_scene] + interop_id: ocio:lin_awg4_scene + family: Input/ARRI + equalitygroup: "" + bitdepth: 32f + description: Convert Linear ARRI Wide Gamut 4 to ACES2065-1 + 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, ocio:bmdfilm5_wg5_scene] + interop_id: ocio:bmdfilm5_wg5_scene + family: Input/BlackmagicDesign + equalitygroup: "" + bitdepth: 32f + description: Convert Blackmagic Film Wide Gamut (Gen 5) to ACES2065-1 + isdata: false + categories: [file-io] + encoding: log + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:CSC.Academy.ACES_to_BMDFilm_WideGamut_Gen5.a2.v1 + urn:ampas:aces:transformId:v2.0:CSC.Blackmagic.BMDFilm_WideGamut_Gen5_to_ACES.a2.v1 + 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: Linear BMD WideGamut Gen5 + aliases: [lin_bmd_widegamut_gen5, ocio:lin_bmdwg5_scene] + interop_id: ocio:lin_bmdwg5_scene + family: Input/BlackmagicDesign + equalitygroup: "" + bitdepth: 32f + description: Convert Linear Blackmagic Wide Gamut (Gen 5) to ACES2065-1 + 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: DaVinci Intermediate WideGamut + aliases: [davinci_intermediate_widegamut, ocio:davinci_dwg_scene] + interop_id: ocio:davinci_dwg_scene + family: Input/BlackmagicDesign + equalitygroup: "" + bitdepth: 32f + description: Convert DaVinci Intermediate Wide Gamut to ACES2065-1 + isdata: false + categories: [file-io] + encoding: log + allocation: uniform + to_scene_reference: ! + name: DaVinci Intermediate Wide Gamut to ACES2065-1 + children: + - ! {log_side_slope: 0.07329248, log_side_offset: 0.51304736, lin_side_offset: 0.0075, lin_side_break: 0.00262409, linear_slope: 10.44426855, direction: inverse} + - ! {matrix: [0.748270290272981, 0.167694659554328, 0.0840350501726906, 0, 0.0208421234689102, 1.11190474268894, -0.132746866157851, 0, -0.0915122574225729, -0.127746712807307, 1.21925897022988, 0, 0, 0, 0, 1]} + + - ! + name: Linear DaVinci WideGamut + aliases: [lin_davinci_widegamut, ocio:lin_dwg_scene] + interop_id: ocio:lin_dwg_scene + family: Input/BlackmagicDesign + equalitygroup: "" + bitdepth: 32f + description: Convert Linear DaVinci Wide Gamut to ACES2065-1 + 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: CanonLog2 CinemaGamut D55 + aliases: [canonlog2_cinemagamut_d55, canonlog2_cgamutday, Input - Canon - Canon-Log2 - Cinema Gamut Daylight, ocio:canonlog2_cgamutd55_scene] + interop_id: ocio:canonlog2_cgamutd55_scene + family: Input/Canon + equalitygroup: "" + bitdepth: 32f + description: Convert Canon Log 2 Cinema Gamut (Daylight) to ACES2065-1 + isdata: false + categories: [file-io] + encoding: log + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:CSC.Canon.ACES_to_CLog2_CGamut.a1.v1 + urn:ampas:aces:transformId:v2.0:CSC.Canon.CLog2_CGamut_to_ACES.a1.v1 + allocation: uniform + to_scene_reference: ! {style: CANON_CLOG2-CGAMUT_to_ACES2065-1} + + - ! + name: Linear CinemaGamut D55 + aliases: [lin_cinemagamut_d55, lin_canoncgamutday, Input - Canon - Linear - Canon Cinema Gamut Daylight, ocio:lin_cgamutd55_scene] + interop_id: ocio:lin_cgamutd55_scene + family: Input/Canon + equalitygroup: "" + bitdepth: 32f + description: Convert Linear Canon Cinema Gamut (Daylight) to ACES2065-1 + 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: CanonLog3 CinemaGamut D55 + aliases: [canonlog3_cinemagamut_d55, canonlog3_cgamutday, Input - Canon - Canon-Log3 - Cinema Gamut Daylight, ocio:canonlog3_cgamutd55_scene] + interop_id: ocio:canonlog3_cgamutd55_scene + family: Input/Canon + equalitygroup: "" + bitdepth: 32f + description: Convert Canon Log 3 Cinema Gamut (Daylight) to ACES2065-1 + isdata: false + categories: [file-io] + encoding: log + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:CSC.Canon.ACES_to_CLog3_CGamut.a1.v1 + urn:ampas:aces:transformId:v2.0:CSC.Canon.CLog3_CGamut_to_ACES.a1.v1 + allocation: uniform + to_scene_reference: ! {style: CANON_CLOG3-CGAMUT_to_ACES2065-1} + + - ! + name: D-Log D-Gamut + aliases: [dlog_dgamut, ocio:djilog_dgamut_scene] + interop_id: ocio:djilog_dgamut_scene + family: Input/DJI + equalitygroup: "" + bitdepth: 32f + description: Convert DJI D-Log - D-Gamut to ACES2065-1 + isdata: false + categories: [file-io] + encoding: log + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:CSC.DJI.ACES_to_DLog_DGamut.a1.v1 + urn:ampas:aces:transformId:v2.0:CSC.DJI.DLog_DGamut_to_ACES.a1.v1 + allocation: uniform + to_scene_reference: ! + name: DJI D-Log - D-Gamut to ACES2065-1 + children: + - ! {base: 10, log_side_slope: 0.256662970719888, log_side_offset: 0.58455504907396, lin_side_slope: 0.9892, lin_side_offset: 0.0108, lin_side_break: 0.00758078675, direction: inverse} + - ! {matrix: [0.691279245585754, 0.214382527745956, 0.0943382266682902, 0, 0.0662224037667752, 1.0116160801876, -0.0778384839543733, 0, -0.0172985410341745, -0.0773788501012682, 1.09467739113544, 0, 0, 0, 0, 1]} + + - ! + name: Linear D-Gamut + aliases: [lin_dgamut, ocio:lin_dgamut_scene] + interop_id: ocio:lin_dgamut_scene + family: Input/DJI + equalitygroup: "" + bitdepth: 32f + description: Convert Linear DJI D-Gamut to ACES2065-1 + isdata: false + categories: [file-io] + encoding: scene-linear + allocation: uniform + to_scene_reference: ! + name: Linear DJI D-Gamut to ACES2065-1 + children: + - ! {matrix: [0.691279245585754, 0.214382527745956, 0.0943382266682902, 0, 0.0662224037667752, 1.0116160801876, -0.0778384839543733, 0, -0.0172985410341745, -0.0773788501012682, 1.09467739113544, 0, 0, 0, 0, 1]} + + - ! + name: V-Log V-Gamut + aliases: [vlog_vgamut, Input - Panasonic - V-Log - V-Gamut, ocio:vlog_vgamut_scene] + interop_id: ocio:vlog_vgamut_scene + family: Input/Panasonic + equalitygroup: "" + bitdepth: 32f + description: Convert Panasonic V-Log - V-Gamut to ACES2065-1 + isdata: false + categories: [file-io] + encoding: log + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:CSC.Panasonic.ACES_to_VLog_VGamut.a2.v1 + urn:ampas:aces:transformId:v2.0:CSC.Panasonic.VLog_VGamut_to_ACES.a2.v1 + 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 V-Gamut + aliases: [lin_vgamut, Input - Panasonic - Linear - V-Gamut, ocio:lin_vgamut_scene] + interop_id: ocio:lin_vgamut_scene + family: Input/Panasonic + equalitygroup: "" + bitdepth: 32f + description: Convert Linear Panasonic V-Gamut to ACES2065-1 + 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: Log3G10 REDWideGamutRGB + aliases: [log3g10_redwidegamutrgb, rl3g10_rwg, Input - RED - REDLog3G10 - REDWideGamutRGB, ocio:redlog3g10_rwg_scene] + interop_id: ocio:redlog3g10_rwg_scene + family: Input/RED + equalitygroup: "" + bitdepth: 32f + description: Convert RED Log3G10 REDWideGamutRGB to ACES2065-1 + isdata: false + categories: [file-io] + encoding: log + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:CSC.Red.ACES_to_Log3G10_RWG.a2.v1 + urn:ampas:aces:transformId:v2.0:CSC.Red.Log3G10_RWG_to_ACES.a2.v1 + 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 REDWideGamutRGB + aliases: [lin_redwidegamutrgb, lin_rwg, Input - RED - Linear - REDWideGamutRGB, ocio:lin_rwg_scene] + interop_id: ocio:lin_rwg_scene + family: Input/RED + equalitygroup: "" + bitdepth: 32f + description: Convert Linear REDWideGamutRGB to ACES2065-1 + 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: S-Log3 S-Gamut3 + aliases: [slog3_sgamut3, Input - Sony - S-Log3 - S-Gamut3, ocio:slog3_sgamut3_scene] + interop_id: ocio:slog3_sgamut3_scene + family: Input/Sony + equalitygroup: "" + bitdepth: 32f + description: Convert Sony S-Log3 S-Gamut3 to ACES2065-1 + isdata: false + categories: [file-io] + encoding: log + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:CSC.Sony.ACES_to_SLog3_SGamut3.a2.v1 + urn:ampas:aces:transformId:v2.0:CSC.Sony.SLog3_SGamut3_to_ACES.a2.v1 + 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, slog3_sgamutcine, Input - Sony - S-Log3 - S-Gamut3.Cine, ocio:slog3_sgamut3cine_scene] + interop_id: ocio:slog3_sgamut3cine_scene + family: Input/Sony + equalitygroup: "" + bitdepth: 32f + description: Convert Sony S-Log3 S-Gamut3.Cine to ACES2065-1 + isdata: false + categories: [file-io] + encoding: log + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:CSC.Sony.ACES_to_SLog3_SGamut3Cine.a2.v1 + urn:ampas:aces:transformId:v2.0:CSC.Sony.SLog3_SGamut3Cine_to_ACES.a2.v1 + 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, ocio:slog3_sgamut3venice_scene] + interop_id: ocio:slog3_sgamut3venice_scene + family: Input/Sony + equalitygroup: "" + bitdepth: 32f + description: Convert Sony S-Log3 Venice S-Gamut3 to ACES2065-1 + isdata: false + categories: [file-io] + encoding: log + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:CSC.Sony.ACES_to_Venice_SLog3_SGamut3.a2.v1 + urn:ampas:aces:transformId:v2.0:CSC.Sony.Venice_SLog3_SGamut3_to_ACES.a2.v1 + 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, slog3_venice_sgamutcine, Input - Sony - S-Log3 - Venice S-Gamut3.Cine, ocio:slog3_sgamut3cinevenice_scene] + interop_id: ocio:slog3_sgamut3cinevenice_scene + family: Input/Sony + equalitygroup: "" + bitdepth: 32f + description: Convert Sony S-Log3 Venice S-Gamut3.Cine to ACES2065-1 + isdata: false + categories: [file-io] + encoding: log + interchange: + amf_transform_ids: | + urn:ampas:aces:transformId:v2.0:CSC.Sony.ACES_to_Venice_SLog3_SGamut3Cine.a2.v1 + urn:ampas:aces:transformId:v2.0:CSC.Sony.Venice_SLog3_SGamut3Cine_to_ACES.a2.v1 + 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 S-Gamut3 + aliases: [lin_sgamut3, Input - Sony - Linear - S-Gamut3, ocio:lin_sgamut3_scene] + interop_id: ocio:lin_sgamut3_scene + family: Input/Sony + equalitygroup: "" + bitdepth: 32f + description: Convert Linear S-Gamut3 to ACES2065-1 + 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, ocio:lin_sgamut3cine_scene] + interop_id: ocio:lin_sgamut3cine_scene + family: Input/Sony + equalitygroup: "" + bitdepth: 32f + description: Convert Linear S-Gamut3.Cine to ACES2065-1 + 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, ocio:lin_sgamut3venice_scene] + interop_id: ocio:lin_sgamut3venice_scene + family: Input/Sony + equalitygroup: "" + bitdepth: 32f + description: Convert Linear Venice S-Gamut3 to ACES2065-1 + 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, ocio:lin_sgamut3cinevenice_scene] + interop_id: ocio:lin_sgamut3cinevenice_scene + family: Input/Sony + equalitygroup: "" + bitdepth: 32f + description: Convert Linear Venice S-Gamut3.Cine to ACES2065-1 + 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: sRGB Encoded Rec.709 (sRGB) + aliases: [srgb_encoded_rec709_srgb, srgb_texture, srgb_rec709_scene, Utility - sRGB - Texture, Input - Generic - sRGB - Texture, sRGB - Texture, srgb_tx] + interop_id: srgb_rec709_scene + family: Utility + equalitygroup: "" + bitdepth: 32f + description: Convert ACES2065-1 to sRGB + 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, g18_rec709, Utility - Gamma 1.8 - Rec.709 - Texture, Gamma 1.8 Rec.709 - Texture, g18_rec709_tx, g18_rec709_scene] + interop_id: g18_rec709_scene + family: Utility + equalitygroup: "" + bitdepth: 32f + description: Convert ACES2065-1 to 1.8 gamma-corrected Rec.709 primaries, D65 white point + 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, g22_rec709, Utility - Gamma 2.2 - Rec.709 - Texture, Gamma 2.2 Rec.709 - Texture, g22_rec709_tx, g22_rec709_scene] + interop_id: g22_rec709_scene + family: Utility + equalitygroup: "" + bitdepth: 32f + description: Convert ACES2065-1 to 2.2 gamma-corrected Rec.709 primaries, D65 white point + 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, ocio:g24_rec709_scene] + interop_id: ocio:g24_rec709_scene + family: Utility + equalitygroup: "" + bitdepth: 32f + description: Convert ACES2065-1 to 2.4 gamma-corrected Rec.709 primaries, D65 white point + 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, rec709_camera, Utility - Rec.709 - Camera, ocio:itu709_rec709_scene] + interop_id: ocio:itu709_rec709_scene + family: Utility/ITU + equalitygroup: "" + bitdepth: 32f + description: Convert ACES2065-1 to Rec.709 camera OETF Rec.709 primaries, D65 white point + 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] + interop_id: srgb_p3d65_scene + family: Utility + equalitygroup: "" + bitdepth: 32f + description: Convert ACES2065-1 to sRGB Encoded P3-D65 primaries, D65 white point + 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] + interop_id: g22_adobergb_scene + family: Utility + equalitygroup: "" + bitdepth: 32f + description: Convert ACES2065-1 to 2.2 gamma-corrected AdobeRGB primaries, D65 white point + 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] + interop_id: srgb_ap1_scene + family: Utility + equalitygroup: "" + bitdepth: 32f + description: Convert ACES2065-1 to sRGB Encoded AP1 primaries, ACES ~=D60 white point + 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] + interop_id: g22_ap1_scene + family: Utility + equalitygroup: "" + bitdepth: 32f + description: Convert ACES2065-1 to 2.2 gamma-corrected AP1 primaries, ACES ~=D60 white point + 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: CIE XYZ-D65 - Scene-referred + aliases: [cie_xyz_d65_scene, lin_ciexyzd65_scene] + interop_id: lin_ciexyzd65_scene + family: Utility + equalitygroup: "" + bitdepth: 32f + description: Convert ACES2065-1 to CIE XYZ, D65 white point + 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: Linear AdobeRGB + aliases: [lin_adobergb, lin_adobergb_scene, Utility - Linear - Adobe RGB] + interop_id: lin_adobergb_scene + family: Utility + equalitygroup: "" + bitdepth: 32f + description: Convert ACES2065-1 to linear Adobe RGB (1998) primaries, D65 white point + 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 P3-D65 + aliases: [lin_p3d65, lin_displayp3, lin_p3d65_scene, Utility - Linear - P3-D65, Linear Display P3] + interop_id: lin_p3d65_scene + family: Utility + equalitygroup: "" + bitdepth: 32f + description: Convert ACES2065-1 to linear P3 primaries, D65 white point + 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 Rec.2020 + aliases: [lin_rec2020, lin_rec2020_scene, Utility - Linear - Rec.2020] + interop_id: lin_rec2020_scene + family: Utility + equalitygroup: "" + bitdepth: 32f + description: Convert ACES2065-1 to linear Rec.2020 primaries, D65 white point + 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: Linear Rec.709 (sRGB) + aliases: [lin_rec709_srgb, lin_rec709, lin_rec709_scene, lin_srgb, Utility - Linear - sRGB, Utility - Linear - Rec.709] + interop_id: lin_rec709_scene + family: Utility + equalitygroup: "" + bitdepth: 32f + description: Convert ACES2065-1 to linear Rec.709 primaries, D65 white point + 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: Raw + aliases: [Utility - Raw, none] + interop_id: data + 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) + 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, crv_logc3ei800] + description: Convert ARRI LogC3 Curve (EI800) to Relative Scene Linear + 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 + 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 + 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 + 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, crv_canonlog2, Input - Canon - Curve - Canon-Log2] + description: Convert CLog2 Log (arbitrary primaries) to CLog2 Linear (arbitrary primaries) + family: Input/Canon + categories: [file-io] + encoding: log + transform: ! {style: CURVE - CANON_CLOG2_to_LINEAR} + + - ! + name: C-Log3 - Curve + aliases: [clog3_crv, crv_canonlog3, Input - Canon - Curve - Canon-Log3] + description: Convert CLog3 Log (arbitrary primaries) to CLog3 Linear (arbitrary primaries) + family: Input/Canon + categories: [file-io] + encoding: log + transform: ! {style: CURVE - CANON_CLOG3_to_LINEAR} + + - ! + name: D-Log - Curve + aliases: [dlog_crv, crv_dlog] + description: Convert DJI D-Log Log (arbitrary primaries) to DJI D-Log Linear (arbitrary primaries) + family: Input/DJI + categories: [file-io] + encoding: log + transform: ! + name: DJI D-Log Log to Linear Curve + children: + - ! {base: 10, log_side_slope: 0.256662970719888, log_side_offset: 0.58455504907396, lin_side_slope: 0.9892, lin_side_offset: 0.0108, lin_side_break: 0.00758078675, direction: inverse} + + - ! + name: V-Log - Curve + aliases: [vlog_crv, crv_vlog, Input - Panasonic - Curve - V-Log] + description: Convert Panasonic V-Log Log (arbitrary primaries) to Panasonic V-Log Linear (arbitrary primaries) + 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, crv_rl3g10, Input - RED - Curve - REDLog3G10] + description: Convert RED Log3G10 Log (arbitrary primaries) to RED Log3G10 Linear (arbitrary primaries) + 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, crv_slog3, Input - Sony - Curve - S-Log3] + description: Convert S-Log3 Log (arbitrary primaries) to S-Log3 Linear (arbitrary primaries) + 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, crv_srgb, Utility - Curve - sRGB] + description: Convert sRGB encoded RGB to generic linear RGB + 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, crv_rec1886, Utility - Curve - Rec.1886] + description: Convert Rec.1886 encoded RGB to generic linear RGB + 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, crv_rec709, Utility - Curve - Rec.709] + description: Convert generic gamma-corrected RGB to generic linear RGB + 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 + family: Utility + categories: [file-io] + encoding: hdr-video + inverse_transform: ! {style: CURVE - LINEAR_to_ST-2084} diff --git a/src/bindings/python/PyBuiltinConfigRegistry.cpp b/src/bindings/python/PyBuiltinConfigRegistry.cpp index eba6dec198..615dfbb93b 100644 --- a/src/bindings/python/PyBuiltinConfigRegistry.cpp +++ b/src/bindings/python/PyBuiltinConfigRegistry.cpp @@ -61,13 +61,7 @@ void bindPyBuiltinConfigRegistry(py::module & m) .def("getBuiltinConfigs", [](PyBuiltinConfigRegistry & self) { return BuiltinConfigIterator(self); - }) - .def("getDefaultBuiltinConfigName", [](PyBuiltinConfigRegistry & self) - { - return self.getDefaultBuiltinConfigName(); - }, - DOC(BuiltinConfigRegistry, getDefaultBuiltinConfigName)); - + }); clsBuiltinConfigIterator .def("__len__", [](BuiltinConfigIterator & it) { return it.m_obj.getNumBuiltinConfigs(); }) @@ -77,8 +71,8 @@ void bindPyBuiltinConfigRegistry(py::module & m) it.m_obj.getBuiltinConfigUIName(i), it.m_obj.isBuiltinConfigRecommended(i), StringUtils::Compare( - std::string(it.m_obj.getBuiltinConfigName(i)), - std::string(it.m_obj.getDefaultBuiltinConfigName()))); + std::string("ocio://") + std::string(it.m_obj.getBuiltinConfigName(i)), + std::string(ResolveConfigPath("ocio://default")))); }) .def("__iter__", [](BuiltinConfigIterator & it) -> BuiltinConfigIterator & { return it; }) .def("__next__", [](BuiltinConfigIterator & it) @@ -88,8 +82,8 @@ void bindPyBuiltinConfigRegistry(py::module & m) it.m_obj.getBuiltinConfigUIName(i), it.m_obj.isBuiltinConfigRecommended(i), StringUtils::Compare( - std::string(it.m_obj.getBuiltinConfigName(i)), - std::string(it.m_obj.getDefaultBuiltinConfigName()))); + std::string("ocio://") + std::string(it.m_obj.getBuiltinConfigName(i)), + std::string(ResolveConfigPath("ocio://default")))); }); clsBuiltinConfigNameIterator diff --git a/src/bindings/python/PyBuiltinConfigRegistry.h b/src/bindings/python/PyBuiltinConfigRegistry.h index 4e937b3f1e..e0dd960a8c 100644 --- a/src/bindings/python/PyBuiltinConfigRegistry.h +++ b/src/bindings/python/PyBuiltinConfigRegistry.h @@ -45,11 +45,6 @@ class OCIOHIDDEN PyBuiltinConfigRegistry { return BuiltinConfigRegistry::Get().isBuiltinConfigRecommended(configIndex); } - - const char * getDefaultBuiltinConfigName() const - { - return BuiltinConfigRegistry::Get().getDefaultBuiltinConfigName(); - } }; } // namespace OCIO_NAMESPACE diff --git a/tests/cpu/builtinconfigs/BuiltinConfig_tests.cpp b/tests/cpu/builtinconfigs/BuiltinConfig_tests.cpp index 9db5a1bae5..c58c3edd24 100644 --- a/tests/cpu/builtinconfigs/BuiltinConfig_tests.cpp +++ b/tests/cpu/builtinconfigs/BuiltinConfig_tests.cpp @@ -17,25 +17,26 @@ OCIO_ADD_TEST(BuiltinConfigs, basic) { const OCIO::BuiltinConfigRegistry & registry = OCIO::BuiltinConfigRegistry::Get(); - OCIO_CHECK_EQUAL(registry.getNumBuiltinConfigs(), 6); + OCIO_CHECK_EQUAL(registry.getNumBuiltinConfigs(), 8); // Test builtin config cg-config-v1.0.0_aces-v1.3_ocio-v2.1. { + constexpr size_t cfgidx = 0; const std::string cgConfigName = "cg-config-v1.0.0_aces-v1.3_ocio-v2.1"; OCIO_CHECK_EQUAL( - std::string(registry.getBuiltinConfigName(0)), + std::string(registry.getBuiltinConfigName(cfgidx)), cgConfigName ); OCIO_CHECK_EQUAL( - std::string(registry.getBuiltinConfigUIName(0)), + std::string(registry.getBuiltinConfigUIName(cfgidx)), std::string("Academy Color Encoding System - CG Config [COLORSPACES v1.0.0] "\ "[ACES v1.3] [OCIO v2.1]") ); OCIO_CHECK_EQUAL( - std::string(registry.getBuiltinConfig(0)), + std::string(registry.getBuiltinConfig(cfgidx)), std::string(CG_CONFIG_V100_ACES_V13_OCIO_V21) ); @@ -44,26 +45,27 @@ OCIO_ADD_TEST(BuiltinConfigs, basic) std::string(CG_CONFIG_V100_ACES_V13_OCIO_V21) ); - OCIO_CHECK_EQUAL(registry.isBuiltinConfigRecommended(0), false); + OCIO_CHECK_EQUAL(registry.isBuiltinConfigRecommended(cfgidx), false); } // Test builtin config cg-config-v2.1.0_aces-v1.3_ocio-v2.3. { + constexpr size_t cfgidx = 1; const std::string cgConfigName = "cg-config-v2.1.0_aces-v1.3_ocio-v2.3"; OCIO_CHECK_EQUAL( - std::string(registry.getBuiltinConfigName(1)), + std::string(registry.getBuiltinConfigName(cfgidx)), cgConfigName ); OCIO_CHECK_EQUAL( - std::string(registry.getBuiltinConfigUIName(1)), + std::string(registry.getBuiltinConfigUIName(cfgidx)), std::string("Academy Color Encoding System - CG Config [COLORSPACES v2.0.0] "\ "[ACES v1.3] [OCIO v2.3]") ); OCIO_CHECK_EQUAL( - std::string(registry.getBuiltinConfig(1)), + std::string(registry.getBuiltinConfig(cfgidx)), std::string(CG_CONFIG_V210_ACES_V13_OCIO_V23) ); @@ -72,26 +74,27 @@ OCIO_ADD_TEST(BuiltinConfigs, basic) std::string(CG_CONFIG_V210_ACES_V13_OCIO_V23) ); - OCIO_CHECK_EQUAL(registry.isBuiltinConfigRecommended(1), false); + OCIO_CHECK_EQUAL(registry.isBuiltinConfigRecommended(cfgidx), false); } // Test builtin config cg-config-v2.2.0_aces-v1.3_ocio-v2.4. { + constexpr size_t cfgidx = 2; const std::string cgConfigName = "cg-config-v2.2.0_aces-v1.3_ocio-v2.4"; OCIO_CHECK_EQUAL( - std::string(registry.getBuiltinConfigName(2)), + std::string(registry.getBuiltinConfigName(cfgidx)), cgConfigName ); OCIO_CHECK_EQUAL( - std::string(registry.getBuiltinConfigUIName(2)), + std::string(registry.getBuiltinConfigUIName(cfgidx)), 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(registry.getBuiltinConfig(cfgidx)), std::string(CG_CONFIG_V220_ACES_V13_OCIO_V24) ); @@ -100,26 +103,56 @@ OCIO_ADD_TEST(BuiltinConfigs, basic) std::string(CG_CONFIG_V220_ACES_V13_OCIO_V24) ); - OCIO_CHECK_EQUAL(registry.isBuiltinConfigRecommended(2), true); + OCIO_CHECK_EQUAL(registry.isBuiltinConfigRecommended(cfgidx), false); + } + + // Test builtin config cg-config-v4.0.0_aces-v2.0_ocio-v2.5. + { + constexpr size_t cfgidx = 3; + const std::string cgConfigName = "cg-config-v4.0.0_aces-v2.0_ocio-v2.5"; + + OCIO_CHECK_EQUAL( + std::string(registry.getBuiltinConfigName(cfgidx)), + cgConfigName + ); + + OCIO_CHECK_EQUAL( + std::string(registry.getBuiltinConfigUIName(cfgidx)), + std::string("Academy Color Encoding System - CG Config [COLORSPACES v4.0.0] "\ + "[ACES v2.0] [OCIO v2.5]") + ); + + OCIO_CHECK_EQUAL( + std::string(registry.getBuiltinConfig(cfgidx)), + std::string(CG_CONFIG_V400_ACES_V20_OCIO_V25) + ); + + OCIO_CHECK_EQUAL( + std::string(registry.getBuiltinConfigByName(cgConfigName.c_str())), + std::string(CG_CONFIG_V400_ACES_V20_OCIO_V25) + ); + + OCIO_CHECK_EQUAL(registry.isBuiltinConfigRecommended(cfgidx), true); } // Test builtin config studio-config-v1.0.0_aces-v1.3_ocio-v2.1. { + constexpr size_t cfgidx = 4; const std::string studioConfigName = "studio-config-v1.0.0_aces-v1.3_ocio-v2.1"; OCIO_CHECK_EQUAL( - std::string(registry.getBuiltinConfigName(3)), + std::string(registry.getBuiltinConfigName(cfgidx)), studioConfigName ); OCIO_CHECK_EQUAL( - std::string(registry.getBuiltinConfigUIName(3)), + std::string(registry.getBuiltinConfigUIName(cfgidx)), 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(3)), + std::string(registry.getBuiltinConfig(cfgidx)), std::string(STUDIO_CONFIG_V100_ACES_V13_OCIO_V21) ); @@ -128,26 +161,27 @@ OCIO_ADD_TEST(BuiltinConfigs, basic) std::string(STUDIO_CONFIG_V100_ACES_V13_OCIO_V21) ); - OCIO_CHECK_EQUAL(registry.isBuiltinConfigRecommended(3), false); + OCIO_CHECK_EQUAL(registry.isBuiltinConfigRecommended(cfgidx), false); } // Test builtin config studio-config-v2.1.0_aces-v1.3_ocio-v2.3. { + constexpr size_t cfgidx = 5; const std::string studioConfigName = "studio-config-v2.1.0_aces-v1.3_ocio-v2.3"; OCIO_CHECK_EQUAL( - std::string(registry.getBuiltinConfigName(4)), + std::string(registry.getBuiltinConfigName(cfgidx)), studioConfigName ); OCIO_CHECK_EQUAL( - std::string(registry.getBuiltinConfigUIName(4)), + std::string(registry.getBuiltinConfigUIName(cfgidx)), 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(4)), + std::string(registry.getBuiltinConfig(cfgidx)), std::string(STUDIO_CONFIG_V210_ACES_V13_OCIO_V23) ); @@ -156,26 +190,27 @@ OCIO_ADD_TEST(BuiltinConfigs, basic) std::string(STUDIO_CONFIG_V210_ACES_V13_OCIO_V23) ); - OCIO_CHECK_EQUAL(registry.isBuiltinConfigRecommended(4), false); + OCIO_CHECK_EQUAL(registry.isBuiltinConfigRecommended(cfgidx), false); } // Test builtin config studio-config-v2.2.0_aces-v1.3_ocio-v2.4. { + constexpr size_t cfgidx = 6; const std::string studioConfigName = "studio-config-v2.2.0_aces-v1.3_ocio-v2.4"; OCIO_CHECK_EQUAL( - std::string(registry.getBuiltinConfigName(5)), + std::string(registry.getBuiltinConfigName(cfgidx)), studioConfigName ); OCIO_CHECK_EQUAL( - std::string(registry.getBuiltinConfigUIName(5)), + std::string(registry.getBuiltinConfigUIName(cfgidx)), 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(registry.getBuiltinConfig(cfgidx)), std::string(STUDIO_CONFIG_V220_ACES_V13_OCIO_V24) ); @@ -184,9 +219,37 @@ OCIO_ADD_TEST(BuiltinConfigs, basic) std::string(STUDIO_CONFIG_V220_ACES_V13_OCIO_V24) ); - OCIO_CHECK_EQUAL(registry.isBuiltinConfigRecommended(5), true); + OCIO_CHECK_EQUAL(registry.isBuiltinConfigRecommended(cfgidx), false); } + // Test builtin config studio-config-v4.0.0_aces-v2.0_ocio-v2.5. + { + constexpr size_t cfgidx = 7; + const std::string studioConfigName = "studio-config-v4.0.0_aces-v2.0_ocio-v2.5"; + + OCIO_CHECK_EQUAL( + std::string(registry.getBuiltinConfigName(cfgidx)), + studioConfigName + ); + + OCIO_CHECK_EQUAL( + std::string(registry.getBuiltinConfigUIName(cfgidx)), + std::string("Academy Color Encoding System - Studio Config [COLORSPACES v4.0.0] "\ + "[ACES v2.0] [OCIO v2.5]") + ); + + OCIO_CHECK_EQUAL( + std::string(registry.getBuiltinConfig(cfgidx)), + std::string(STUDIO_CONFIG_V400_ACES_V20_OCIO_V25) + ); + + OCIO_CHECK_EQUAL( + std::string(registry.getBuiltinConfigByName(studioConfigName.c_str())), + std::string(STUDIO_CONFIG_V400_ACES_V20_OCIO_V25) + ); + + OCIO_CHECK_EQUAL(registry.isBuiltinConfigRecommended(cfgidx), true); + } // ******************************** // Testing some expected failures. // ******************************** @@ -415,12 +478,26 @@ OCIO_ADD_TEST(BuiltinConfigs, create_builtin_config) testFromEnvAndFromFile(uriPrefix + studioConfigName, nbOfColorspacesForStudioConfig1, studioConfigName, __LINE__); } + { + const std::string cgConfigName = "cg-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"; + // Test CG builtin config #3 + int nbOfColorspacesForCGConfig1 = 23; + testFromBuiltinConfig(cgConfigName, nbOfColorspacesForCGConfig1, "", __LINE__); + testFromEnvAndFromFile(uriPrefix + cgConfigName, nbOfColorspacesForCGConfig1, cgConfigName, __LINE__); + + // Test STUDIO builtin config #3 + int nbOfColorspacesForStudioConfig1 = 54; + testFromBuiltinConfig(studioConfigName, nbOfColorspacesForStudioConfig1, "", __LINE__); + testFromEnvAndFromFile(uriPrefix + studioConfigName, nbOfColorspacesForStudioConfig1, studioConfigName, __LINE__); + } + { // Test default config. - 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"; + int nbOfColorspacesForDefaultCGConfig = 25; + int nbOfColorspacesForDefaultStudioConfig = 55; + std::string expectedCGName = "cg-config-v4.0.0_aces-v2.0_ocio-v2.5"; + std::string expectedStudioName = "studio-config-v4.0.0_aces-v2.0_ocio-v2.5"; testFromBuiltinConfig(defaultName, nbOfColorspacesForDefaultCGConfig, expectedCGName, __LINE__); testFromBuiltinConfig(uriPrefix + defaultName, nbOfColorspacesForDefaultCGConfig, expectedCGName, __LINE__); diff --git a/tests/python/BuiltinConfigRegistryTest.py b/tests/python/BuiltinConfigRegistryTest.py index e715721ffe..dace98cd24 100644 --- a/tests/python/BuiltinConfigRegistryTest.py +++ b/tests/python/BuiltinConfigRegistryTest.py @@ -104,88 +104,114 @@ def test_get_builtin_configs(self): # Config specific tests # Test number of configs. - self.assertEqual(len(self.REGISTRY), 6) + self.assertEqual(len(self.REGISTRY), 8) # Test for the default built-in config. self.assertEqual( - self.REGISTRY.getDefaultBuiltinConfigName(), - "cg-config-v2.2.0_aces-v1.3_ocio-v2.4" + OCIO.ResolveConfigPath('ocio://default'), + "ocio://cg-config-v4.0.0_aces-v2.0_ocio-v2.5" ) # Test the CG configs. + + cfgidx = 0 # Name - self.assertEqual(values[0][0], "cg-config-v1.0.0_aces-v1.3_ocio-v2.1") + self.assertEqual(values[cfgidx][0], "cg-config-v1.0.0_aces-v1.3_ocio-v2.1") # UI name - self.assertEqual( - values[0][1], + self.assertEqual(values[cfgidx][1], ("Academy Color Encoding System - CG Config [COLORSPACES v1.0.0] [ACES v1.3] " "[OCIO v2.1]")) # isRecommended - self.assertEqual(values[0][2], False) + self.assertEqual(values[cfgidx][2], False) # isDefault - self.assertEqual(values[0][3], False) + self.assertEqual(values[cfgidx][3], False) + cfgidx += 1 # Name - self.assertEqual(values[1][0], "cg-config-v2.1.0_aces-v1.3_ocio-v2.3") + self.assertEqual(values[cfgidx][0], "cg-config-v2.1.0_aces-v1.3_ocio-v2.3") # UI name - self.assertEqual( - values[1][1], + self.assertEqual(values[cfgidx][1], ("Academy Color Encoding System - CG Config [COLORSPACES v2.0.0] [ACES v1.3] " "[OCIO v2.3]")) # isRecommended - self.assertEqual(values[1][2], False) + self.assertEqual(values[cfgidx][2], False) # isDefault - self.assertEqual(values[1][3], False) + self.assertEqual(values[cfgidx][3], False) + cfgidx += 1 # Name - self.assertEqual(values[2][0], "cg-config-v2.2.0_aces-v1.3_ocio-v2.4") + self.assertEqual(values[cfgidx][0], "cg-config-v2.2.0_aces-v1.3_ocio-v2.4") # UI name - self.assertEqual( - values[2][1], + self.assertEqual(values[cfgidx][1], ("Academy Color Encoding System - CG Config [COLORSPACES v2.2.0] [ACES v1.3] " "[OCIO v2.4]")) # isRecommended - self.assertEqual(values[2][2], True) + self.assertEqual(values[cfgidx][2], False) + # isDefault + self.assertEqual(values[cfgidx][3], False) + + cfgidx += 1 + # Name + self.assertEqual(values[cfgidx][0], "cg-config-v4.0.0_aces-v2.0_ocio-v2.5") + # UI name + self.assertEqual(values[cfgidx][1], + ("Academy Color Encoding System - CG Config [COLORSPACES v4.0.0] [ACES v2.0] " + "[OCIO v2.5]")) + # isRecommended + self.assertEqual(values[cfgidx][2], True) # isDefault - self.assertEqual(values[2][3], True) + self.assertEqual(values[cfgidx][3], True) + # Test the Studio configs + + cfgidx += 1 # Test the Studio configs # Name - self.assertEqual(values[3][0], "studio-config-v1.0.0_aces-v1.3_ocio-v2.1") + self.assertEqual(values[cfgidx][0], "studio-config-v1.0.0_aces-v1.3_ocio-v2.1") # UI name - self.assertEqual( - values[3][1], + self.assertEqual(values[cfgidx][1], ("Academy Color Encoding System - Studio Config [COLORSPACES v1.0.0] [ACES v1.3] " "[OCIO v2.1]")) # isRecommended - self.assertEqual(values[3][2], False) + self.assertEqual(values[cfgidx][2], False) # isDefault - self.assertEqual(values[3][3], False) + self.assertEqual(values[cfgidx][3], False) + cfgidx += 1 # Name - self.assertEqual(values[4][0], "studio-config-v2.1.0_aces-v1.3_ocio-v2.3") + self.assertEqual(values[cfgidx][0], "studio-config-v2.1.0_aces-v1.3_ocio-v2.3") # UI name - self.assertEqual( - values[4][1], + self.assertEqual(values[cfgidx][1], ("Academy Color Encoding System - Studio Config [COLORSPACES v2.0.0] [ACES v1.3] " "[OCIO v2.3]")) # isRecommended - self.assertEqual(values[4][2], False) + self.assertEqual(values[cfgidx][2], False) # isDefault - self.assertEqual(values[4][3], False) + self.assertEqual(values[cfgidx][3], False) + cfgidx += 1 # Name - self.assertEqual(values[5][0], "studio-config-v2.2.0_aces-v1.3_ocio-v2.4") + self.assertEqual(values[cfgidx][0], "studio-config-v2.2.0_aces-v1.3_ocio-v2.4") # UI name - self.assertEqual( - values[5][1], + self.assertEqual(values[cfgidx][1], ("Academy Color Encoding System - Studio Config [COLORSPACES v2.2.0] [ACES v1.3] " "[OCIO v2.4]")) # isRecommended - self.assertEqual(values[5][2], True) + self.assertEqual(values[cfgidx][2], False) # isDefault - self.assertEqual(values[5][3], False) + self.assertEqual(values[cfgidx][3], False) + cfgidx += 1 + # Name + self.assertEqual(values[cfgidx][0], "studio-config-v4.0.0_aces-v2.0_ocio-v2.5") + # UI name + self.assertEqual(values[cfgidx][1], + ("Academy Color Encoding System - Studio Config [COLORSPACES v4.0.0] [ACES v2.0] " + "[OCIO v2.5]")) + # isRecommended + self.assertEqual(values[cfgidx][2], True) + # isDefault + self.assertEqual(values[cfgidx][3], False) def test_multi_reference(self): # Registry is a singleton. Make sure multiple Python diff --git a/tests/python/ConfigTest.py b/tests/python/ConfigTest.py index 57b12b7d7c..9debc3da2e 100644 --- a/tests/python/ConfigTest.py +++ b/tests/python/ConfigTest.py @@ -1001,14 +1001,14 @@ def testFromEnvAndFromFile(uri, numberOfExpectedColorspaces, expectedConfigName) self.assertEqual(len(builtinCfgC.getColorSpaceNames()), numberOfExpectedColorspaces) uriPrefix = OCIO.OCIO_BUILTIN_URI_PREFIX; - cgConfigName = "cg-config-v2.2.0_aces-v1.3_ocio-v2.4" - studioConfigName = "studio-config-v2.2.0_aces-v1.3_ocio-v2.4" + cgConfigName = "cg-config-v4.0.0_aces-v2.0_ocio-v2.5" + studioConfigName = "studio-config-v4.0.0_aces-v2.0_ocio-v2.5" defaultName = "default" latestCGName = "cg-config-latest" latestStudioName = "studio-config-latest" - nbOfColorspacesForCGConfig = 23 - nbOfColorspacesForStudioConfig = 54 + nbOfColorspacesForCGConfig = 25 + nbOfColorspacesForStudioConfig = 55 # Test that CreateFromFile does not work without ocio:// prefix for built-in config. with self.assertRaises(OCIO.Exception) as cm: @@ -1276,9 +1276,9 @@ def lutExists(filepath): OCIO.ClearAllCaches() def test_resolve_config(self): - 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" + defaultBuiltinConfig = "ocio://cg-config-v4.0.0_aces-v2.0_ocio-v2.5" + cgLatestBuiltinConfig = "ocio://cg-config-v4.0.0_aces-v2.0_ocio-v2.5" + studioLatestBuiltinConfig = "ocio://studio-config-v4.0.0_aces-v2.0_ocio-v2.5" # Testing just a few built-in config path. self.assertEqual(