From 2eba014c17fe9b299754efef1270d998fc68d444 Mon Sep 17 00:00:00 2001 From: Thomas Mansencal Date: Sat, 9 Aug 2025 09:08:24 +1200 Subject: [PATCH 01/17] Use `https://github.com/ampas/aces`and fix old `ACEStransformID` for the *ARRI* transforms. Closes #157. Signed-off-by: Thomas Mansencal --- .gitmodules | 6 +++--- opencolorio_config_aces/clf/transforms/arri/generate.py | 6 +++++- .../input/ARRI.Input.ARRI_LogC3_EI800_to_ACES2065-1.clf | 2 +- .../arri/input/ARRI.Input.ARRI_LogC4_to_ACES2065-1.clf | 2 +- opencolorio_config_aces/config/reference/aces | 1 + opencolorio_config_aces/config/reference/aces-system | 1 - .../config/reference/discover/classify.py | 2 +- ...ping.csv => Loading... - Reference Config - Mapping.csv} | 4 ++-- ...Mapping.csv => Loading... - Studio Config - Mapping.csv} | 4 ++-- pyproject.toml | 2 +- 10 files changed, 17 insertions(+), 13 deletions(-) create mode 160000 opencolorio_config_aces/config/reference/aces delete mode 160000 opencolorio_config_aces/config/reference/aces-system rename opencolorio_config_aces/config/reference/generate/resources/{OpenColorIO-Config-ACES Reference Transforms - v3 - Reference Config - Mapping.csv => Loading... - Reference Config - Mapping.csv} (97%) rename opencolorio_config_aces/config/studio/generate/resources/{OpenColorIO-Config-ACES CG and Studio Transforms - v3 - Studio Config - Mapping.csv => Loading... - Studio Config - Mapping.csv} (98%) diff --git a/.gitmodules b/.gitmodules index 189f2238..e019b581 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ -[submodule "opencolorio_config_aces/config/reference/aces-system"] - path = opencolorio_config_aces/config/reference/aces-system - url = https://github.com/colour-science/aces-system +[submodule "opencolorio_config_aces/config/reference/aces"] + path = opencolorio_config_aces/config/reference/aces + url = https://github.com/ampas/aces diff --git a/opencolorio_config_aces/clf/transforms/arri/generate.py b/opencolorio_config_aces/clf/transforms/arri/generate.py index ba3e3a94..ee0ef70b 100644 --- a/opencolorio_config_aces/clf/transforms/arri/generate.py +++ b/opencolorio_config_aces/clf/transforms/arri/generate.py @@ -273,6 +273,10 @@ def _generate_logc3_transforms( # Generate ARRI LogC3 to ACES 2065-1 Transform name = f"ARRI_LogC3_EI{ei}_to_ACES2065-1" aces_id = f"urn:ampas:aces:transformId:v1.5:IDT.ARRI.Alexa-v3-logC-EI{ei}.a1.v2" + + if ei == 800: + aces_id = "urn:ampas:aces:transformId:v2.0:CSC.Arri.LogC3_to_ACES.a2.v1" + input_descriptor = f"ARRI LogC3 (EI{ei})" output_descriptor = "ACES2065-1" clf_transform_id = format_clf_transform_id(FAMILY, GENUS, name, VERSION) @@ -342,7 +346,7 @@ def _generate_logc4_transforms( # Generate ARRI LogC4 to ACES 2065-1 Transform name = "ARRI_LogC4_to_ACES2065-1" - aces_id = "urn:ampas:aces:transformId:v2.0:CSC.Arri.LogCv4_to_ACES.a2.v1" + aces_id = "urn:ampas:aces:transformId:v2.0:CSC.Arri.LogC4_to_ACES.a2.v1" input_descriptor = "ARRI LogC4" output_descriptor = "ACES2065-1" clf_transform_id = format_clf_transform_id(FAMILY, GENUS, name, VERSION) diff --git a/opencolorio_config_aces/clf/transforms/arri/input/ARRI.Input.ARRI_LogC3_EI800_to_ACES2065-1.clf b/opencolorio_config_aces/clf/transforms/arri/input/ARRI.Input.ARRI_LogC3_EI800_to_ACES2065-1.clf index 2f1455df..69848ae7 100644 --- a/opencolorio_config_aces/clf/transforms/arri/input/ARRI.Input.ARRI_LogC3_EI800_to_ACES2065-1.clf +++ b/opencolorio_config_aces/clf/transforms/arri/input/ARRI.Input.ARRI_LogC3_EI800_to_ACES2065-1.clf @@ -3,7 +3,7 @@ ARRI LogC3 (EI800) ACES2065-1 - urn:ampas:aces:transformId:v2.0:CSC.Arri.LogCv3_to_ACES.a2.v1 + urn:ampas:aces:transformId:v2.0:CSC.Arri.LogC3_to_ACES.a2.v1 diff --git a/opencolorio_config_aces/clf/transforms/arri/input/ARRI.Input.ARRI_LogC4_to_ACES2065-1.clf b/opencolorio_config_aces/clf/transforms/arri/input/ARRI.Input.ARRI_LogC4_to_ACES2065-1.clf index 55b30872..9e6be0db 100644 --- a/opencolorio_config_aces/clf/transforms/arri/input/ARRI.Input.ARRI_LogC4_to_ACES2065-1.clf +++ b/opencolorio_config_aces/clf/transforms/arri/input/ARRI.Input.ARRI_LogC4_to_ACES2065-1.clf @@ -3,7 +3,7 @@ ARRI LogC4 ACES2065-1 - urn:ampas:aces:transformId:v2.0:CSC.Arri.LogCv4_to_ACES.a2.v1 + urn:ampas:aces:transformId:v2.0:CSC.Arri.LogC4_to_ACES.a2.v1 diff --git a/opencolorio_config_aces/config/reference/aces b/opencolorio_config_aces/config/reference/aces new file mode 160000 index 00000000..35e1e6ac --- /dev/null +++ b/opencolorio_config_aces/config/reference/aces @@ -0,0 +1 @@ +Subproject commit 35e1e6ac2c26ec75433547d5d0a3a881f39bd9f5 diff --git a/opencolorio_config_aces/config/reference/aces-system b/opencolorio_config_aces/config/reference/aces-system deleted file mode 160000 index c2c58130..00000000 --- a/opencolorio_config_aces/config/reference/aces-system +++ /dev/null @@ -1 +0,0 @@ -Subproject commit c2c58130ab8e1d288ed2fb415efae0672fdbf6d4 diff --git a/opencolorio_config_aces/config/reference/discover/classify.py b/opencolorio_config_aces/config/reference/discover/classify.py index caeaafa3..d51bf3f1 100644 --- a/opencolorio_config_aces/config/reference/discover/classify.py +++ b/opencolorio_config_aces/config/reference/discover/classify.py @@ -255,7 +255,7 @@ def patch_invalid_aces_transform_id(aces_transform_id: str) -> str: ROOT_TRANSFORMS_CTL: str = os.path.normpath( os.environ.get( "OPENCOLORIO_CONFIG_CTL__CTL_TRANSFORMS_ROOT", - os.path.join(os.path.dirname(__file__), "../", "aces-system"), + os.path.join(os.path.dirname(__file__), "../", "aces"), ) ) """ diff --git a/opencolorio_config_aces/config/reference/generate/resources/OpenColorIO-Config-ACES Reference Transforms - v3 - Reference Config - Mapping.csv b/opencolorio_config_aces/config/reference/generate/resources/Loading... - Reference Config - Mapping.csv similarity index 97% rename from opencolorio_config_aces/config/reference/generate/resources/OpenColorIO-Config-ACES Reference Transforms - v3 - Reference Config - Mapping.csv rename to opencolorio_config_aces/config/reference/generate/resources/Loading... - Reference Config - Mapping.csv index 10175256..d746b066 100644 --- a/opencolorio_config_aces/config/reference/generate/resources/OpenColorIO-Config-ACES Reference Transforms - v3 - Reference Config - Mapping.csv +++ b/opencolorio_config_aces/config/reference/generate/resources/Loading... - Reference Config - Mapping.csv @@ -5,8 +5,8 @@ Ordering,ACEStransformID,Colorspace,Legacy,BuiltinTransform Style,Linked Display 100,urn:ampas:aces:transformId:v2.0:CSC.Academy.ADX10_to_ACES.a2.v1,Input - ADX - ADX10,TRUE,ADX10_to_ACES2065-1,,ColorSpace,log,file-io,adx10 100,urn:ampas:aces:transformId:v2.0:CSC.Academy.ADX16_to_ACES.a2.v1,Input - ADX - ADX16,TRUE,ADX16_to_ACES2065-1,,ColorSpace,log,file-io,adx16 105,urn:ampas:aces:transformId:v2.0:CSC.Apple.AppleLog_BT2020_to_ACES.a2.v1,,FALSE,APPLE_LOG_to_ACES2065-1,,ColorSpace,log,file-io, -110,urn:ampas:aces:transformId:v2.0:CSC.Arri.LogCv3_to_ACES.a2.v1,,FALSE,ARRI_ALEXA-LOGC-EI800-AWG_to_ACES2065-1,,ColorSpace,log,file-io,logc3ei800_alexawide -110,urn:ampas:aces:transformId:v2.0:CSC.Arri.LogCv4_to_ACES.a2.v1,,FALSE,ARRI_LOGC4_to_ACES2065-1,,ColorSpace,log,file-io, +110,urn:ampas:aces:transformId:v2.0:CSC.Arri.LogC3_to_ACES.a2.v1,,FALSE,ARRI_ALEXA-LOGC-EI800-AWG_to_ACES2065-1,,ColorSpace,log,file-io,logc3ei800_alexawide +110,urn:ampas:aces:transformId:v2.0:CSC.Arri.LogC4_to_ACES.a2.v1,,FALSE,ARRI_LOGC4_to_ACES2065-1,,ColorSpace,log,file-io, 130,urn:ampas:aces:transformId:v2.0:CSC.Panasonic.VLog_VGamut_to_ACES.a2.v1,,FALSE,PANASONIC_VLOG-VGAMUT_to_ACES2065-1,,ColorSpace,log,file-io,vlog_vgamut 135,urn:ampas:aces:transformId:v2.0:CSC.Red.Log3G10_RWG_to_ACES.a2.v1,,FALSE,RED_LOG3G10-RWG_to_ACES2065-1,,ColorSpace,log,file-io,log3g10_rwg 140,urn:ampas:aces:transformId:v2.0:CSC.Sony.SLog3_SGamut3_to_ACES.a2.v1,,FALSE,SONY_SLOG3-SGAMUT3_to_ACES2065-1,,ColorSpace,log,file-io,slog3_sgamut3 diff --git a/opencolorio_config_aces/config/studio/generate/resources/OpenColorIO-Config-ACES CG and Studio Transforms - v3 - Studio Config - Mapping.csv b/opencolorio_config_aces/config/studio/generate/resources/Loading... - Studio Config - Mapping.csv similarity index 98% rename from opencolorio_config_aces/config/studio/generate/resources/OpenColorIO-Config-ACES CG and Studio Transforms - v3 - Studio Config - Mapping.csv rename to opencolorio_config_aces/config/studio/generate/resources/Loading... - Studio Config - Mapping.csv index cf252256..5c29ae76 100644 --- a/opencolorio_config_aces/config/studio/generate/resources/OpenColorIO-Config-ACES CG and Studio Transforms - v3 - Studio Config - Mapping.csv +++ b/opencolorio_config_aces/config/studio/generate/resources/Loading... - Studio Config - Mapping.csv @@ -7,9 +7,9 @@ Ordering,Colorspace,Legacy,ACEStransformID,CLFtransformID,Interface,BuiltinTrans 105,Apple Log,FALSE,urn:ampas:aces:transformId:v2.0:CSC.Apple.AppleLog_BT2020_to_ACES.a2.v1,urn:aswf:ocio:transformId:1.0:Apple:Input:Apple_Log_to_ACES2065-1:1.0,ColorSpace,APPLE_LOG_to_ACES2065-1,,log,file-io 105,Apple Log - Curve,FALSE,,urn:aswf:ocio:transformId:1.0:Apple:Input:Apple_Log-Curve_to_Linear:1.0,NamedTransform,CURVE - APPLE_LOG_to_LINEAR,,log,file-io 110,ARRI LogC3 - Curve (EI800),TRUE,,urn:aswf:ocio:transformId:1.0:ARRI:Input:ARRI_LogC3_Curve_EI800_to_Linear:1.0,NamedTransform,,crv_logc3ei800,log,file-io -110,ARRI LogC3 (EI800),TRUE,urn:ampas:aces:transformId:v2.0:CSC.Arri.LogCv3_to_ACES.a2.v1,urn:aswf:ocio:transformId:1.0:ARRI:Input:ARRI_LogC3_EI800_to_ACES2065-1:1.0,ColorSpace,,"logc3ei800_alexawide,Input - ARRI - V3 LogC (EI800) - Wide Gamut",log,file-io +110,ARRI LogC3 (EI800),TRUE,urn:ampas:aces:transformId:v2.0:CSC.Arri.LogC3_to_ACES.a2.v1,urn:aswf:ocio:transformId:1.0:ARRI:Input:ARRI_LogC3_EI800_to_ACES2065-1:1.0,ColorSpace,,"logc3ei800_alexawide,Input - ARRI - V3 LogC (EI800) - Wide Gamut",log,file-io 110,Linear ARRI Wide Gamut 3,TRUE,,urn:aswf:ocio:transformId:1.0:ARRI:Input:Linear_ARRI_Wide_Gamut_3_to_ACES2065-1:1.0,ColorSpace,,"lin_alexawide,Input - ARRI - Linear - ALEXA Wide Gamut",scene-linear,file-io -111,ARRI LogC4,FALSE,urn:ampas:aces:transformId:v2.0:CSC.Arri.LogCv4_to_ACES.a2.v1,urn:aswf:ocio:transformId:1.0:ARRI:Input:ARRI_LogC4_to_ACES2065-1:1.0,ColorSpace,,,log,file-io +111,ARRI LogC4,FALSE,urn:ampas:aces:transformId:v2.0:CSC.Arri.LogC4_to_ACES.a2.v1,urn:aswf:ocio:transformId:1.0:ARRI:Input:ARRI_LogC4_to_ACES2065-1:1.0,ColorSpace,,,log,file-io 111,ARRI LogC4 - Curve,FALSE,,urn:aswf:ocio:transformId:1.0:ARRI:Input:ARRI_LogC4_Curve_to_Linear:1.0,NamedTransform,,,log,file-io 111,Linear ARRI Wide Gamut 4,FALSE,,urn:aswf:ocio:transformId:1.0:ARRI:Input:Linear_ARRI_Wide_Gamut_4_to_ACES2065-1:1.0,ColorSpace,,lin_awg4,scene-linear,file-io 115,BMDFilm Gen5 Log - Curve,FALSE,,urn:aswf:ocio:transformId:1.0:BlackmagicDesign:Input:BMDFilm_Gen5_Log-Curve_to_Linear:1.0,NamedTransform,,,log,file-io diff --git a/pyproject.toml b/pyproject.toml index 7970baad..a8c6460d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -108,7 +108,7 @@ reportUnnecessaryTypeIgnoreComment = true reportUnsupportedDunderAll = false reportUnusedExpression = false reportAttributeAccessIssue = false # OpenColorIO does not have typing stubs. -exclude = ["**/aces-system", "**/.venv"] +exclude = ["**/aces", "**/.venv"] [tool.ruff] target-version = "py310" From b136185291d9f5460057175c7228ff6026f81152 Mon Sep 17 00:00:00 2001 From: Thomas Mansencal Date: Sun, 10 Aug 2025 18:15:02 +1200 Subject: [PATCH 02/17] Enable *Rec.709* *Gamma 2.2* display rendering transforms. Closes #145. Signed-off-by: Thomas Mansencal --- ...v => Loading... - CG Config - Mapping.csv} | 15 +-- ...oading... - Reference Config - Mapping.csv | 100 +++++++++--------- .../Loading... - Studio Config - Mapping.csv | 90 ++++++++-------- 3 files changed, 104 insertions(+), 101 deletions(-) rename opencolorio_config_aces/config/cg/generate/resources/{OpenColorIO-Config-ACES CG and Studio Transforms - v3 - CG Config - Mapping.csv => Loading... - CG Config - Mapping.csv} (88%) diff --git a/opencolorio_config_aces/config/cg/generate/resources/OpenColorIO-Config-ACES CG and Studio Transforms - v3 - CG Config - Mapping.csv b/opencolorio_config_aces/config/cg/generate/resources/Loading... - CG Config - Mapping.csv similarity index 88% rename from opencolorio_config_aces/config/cg/generate/resources/OpenColorIO-Config-ACES CG and Studio Transforms - v3 - CG Config - Mapping.csv rename to opencolorio_config_aces/config/cg/generate/resources/Loading... - CG Config - Mapping.csv index 84779512..c02d4365 100644 --- a/opencolorio_config_aces/config/cg/generate/resources/OpenColorIO-Config-ACES CG and Studio Transforms - v3 - CG Config - Mapping.csv +++ b/opencolorio_config_aces/config/cg/generate/resources/Loading... - CG Config - Mapping.csv @@ -4,15 +4,16 @@ Ordering,Colorspace,Legacy,ACEStransformID,CLFtransformID,Interface,BuiltinTrans 100,ACEScg,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Academy.ACEScg_to_ACES.a2.v1,,ColorSpace,ACEScg_to_ACES2065-1,"acescg,lin_ap1,lin_ap1_scene,ACES - ACEScg",scene-linear,"file-io,working-space,texture" 300,ACES 1.3 Reference Gamut Compression,FALSE,urn:ampas:aces:transformId:v2.0:Look.Academy.ReferenceGamutCompress.a2.v1,,Look,,,scene-linear, 400,Rec709-D65_100nit_in_Rec709-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io -410,P3-D65_100nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,,sdr-video,file-io -415,P3-D65_1000nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,,hdr-video,file-io -425,P3-D65_48nit_in_P3-D65_Gamma2pt6,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,,sdr-video,file-io -435,Rec709-D65_100nit_in_Rec709-D65_BT1886,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_BT1886.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io +405,Rec709-D65_100nit_in_Rec709-D65_Gamma2pt2,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_Gamma2pt2.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io +415,P3-D65_100nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,,sdr-video,file-io +420,P3-D65_1000nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,,hdr-video,file-io +430,P3-D65_48nit_in_P3-D65_Gamma2pt6,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,,sdr-video,file-io +440,Rec709-D65_100nit_in_Rec709-D65_BT1886,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_BT1886.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io 440,sRGB - Curve,TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:Linear_to_sRGB-Curve:1.0,NamedTransform,,"crv_srgb,Utility - Curve - sRGB",sdr-video,file-io 441,Rec.1886 - Curve,TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:Linear_to_Rec1886-Curve:1.0,NamedTransform,,"crv_rec1886,Utility - Curve - Rec.1886",sdr-video,file-io -446,P3-D65_1000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,,hdr-video,file-io -456,Rec2100-D65_1000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-REC2020_2.0,,hdr-video,file-io -477,P3-D65_1000nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,,hdr-video,file-io +451,P3-D65_1000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,,hdr-video,file-io +461,Rec2100-D65_1000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-REC2020_2.0,,hdr-video,file-io +482,P3-D65_1000nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,,hdr-video,file-io 500,sRGB Encoded Rec.709 (sRGB),TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_sRGB-Encoded-Rec709:1.0,ColorSpace,,"srgb_texture,srgb_rec709_scene,Utility - sRGB - Texture,Input - Generic - sRGB - Texture,sRGB - Texture,srgb_tx",sdr-video,"file-io,texture" 501,Gamma 1.8 Encoded Rec.709,TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma1.8_Encoded_Rec709:1.0,ColorSpace,,"g18_rec709,Utility - Gamma 1.8 - Rec.709 - Texture,Gamma 1.8 Rec.709 - Texture,g18_rec709_tx,g18_rec709_scene",sdr-video,"file-io,texture" 502,Gamma 2.2 Encoded Rec.709,TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma2.2_Encoded_Rec709:1.0,ColorSpace,,"g22_rec709,Utility - Gamma 2.2 - Rec.709 - Texture,Gamma 2.2 Rec.709 - Texture,g22_rec709_tx,g22_rec709_scene",sdr-video,"file-io,texture" diff --git a/opencolorio_config_aces/config/reference/generate/resources/Loading... - Reference Config - Mapping.csv b/opencolorio_config_aces/config/reference/generate/resources/Loading... - Reference Config - Mapping.csv index d746b066..fe45a120 100644 --- a/opencolorio_config_aces/config/reference/generate/resources/Loading... - Reference Config - Mapping.csv +++ b/opencolorio_config_aces/config/reference/generate/resources/Loading... - Reference Config - Mapping.csv @@ -16,53 +16,53 @@ Ordering,ACEStransformID,Colorspace,Legacy,BuiltinTransform Style,Linked Display 300,urn:ampas:aces:transformId:v2.0:Look.Academy.ReferenceGamutCompress.a2.v1,,FALSE,ACES-LMT - ACES 1.3 Reference Gamut Compression,,Look,,, 400,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_sRGB,ViewTransform,sdr-video,file-io, 401,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC709-D65_2.0,DISPLAY - CIE-XYZ-D65_to_sRGB,ViewTransform,sdr-video,file-io, -405,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_48nit_in_XYZ-E_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DCDM-D65,ViewTransform,sdr-video,file-io, -406,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_48nit_in_XYZ-E_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D60-in-XYZ-E_2.0,DISPLAY - CIE-XYZ-D65_to_DCDM-D65,ViewTransform,sdr-video,file-io, -410,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3,ViewTransform,sdr-video,file-io, -411,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3,ViewTransform,sdr-video,file-io, -415,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,hdr-video,file-io, -416,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,hdr-video,file-io, -417,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,hdr-video,file-io, -418,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,hdr-video,file-io, -420,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_Gamma2pt2.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_G2.2-REC.709,ViewTransform,sdr-video,file-io, -421,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec709-D65_Gamma2pt2.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC709-D65_2.0,DISPLAY - CIE-XYZ-D65_to_G2.2-REC.709,ViewTransform,sdr-video,file-io, -425,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D65,ViewTransform,sdr-video,file-io, -426,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_48nit_in_P3-D65_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D65,ViewTransform,sdr-video,file-io, -430,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D65,ViewTransform,sdr-video,file-io, -431,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_48nit_in_P3-D65_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D65,ViewTransform,sdr-video,file-io, -435,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_BT1886.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_REC.1886-REC.709,ViewTransform,sdr-video,file-io, -436,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec709-D65_BT1886.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC709-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.1886-REC.709,ViewTransform,sdr-video,file-io, -440,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_Rec2100-D65_HLG.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-HLG-1000nit,ViewTransform,hdr-video,file-io, -441,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_Rec2100-D65_HLG.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-HLG-1000nit,ViewTransform,hdr-video,file-io, -445,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_500nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, -446,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, -446,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_2000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, -446,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_4000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, -450,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_500nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, -451,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, -451,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_2000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, -451,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_4000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, -455,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_500nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-REC2020_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, -456,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-REC2020_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, -456,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_2000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-REC2020_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, -456,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_4000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-REC2020_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, -460,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_500nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-REC2020-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, -461,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_1000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-REC2020-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, -461,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_2000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-REC2020-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, -461,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_4000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-REC2020-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, -465,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,sdr-video,file-io, -465,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,sdr-video,file-io, -470,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_300nit_in_XYZ-E_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-300nit-P3-D60-in-XYZ-E_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-DCDM-D65,ViewTransform,hdr-video,file-io, -470,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_300nit_in_XYZ-E_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-300nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-DCDM-D65,ViewTransform,hdr-video,file-io, -475,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_108nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-108nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io, -476,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_500nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io, -477,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io, -477,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_2000nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io, -477,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_4000nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io, -480,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_108nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-108nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io, -481,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_500nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io, -482,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io, -482,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_2000nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io, -482,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_4000nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io, -485,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,sdr-video,file-io, -486,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,sdr-video,file-io, +405,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_Gamma2pt2.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_G2.2-REC.709,ViewTransform,sdr-video,file-io, +406,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec709-D65_Gamma2pt2.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC709-D65_2.0,DISPLAY - CIE-XYZ-D65_to_G2.2-REC.709,ViewTransform,sdr-video,file-io, +410,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_48nit_in_XYZ-E_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DCDM-D65,ViewTransform,sdr-video,file-io, +411,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_48nit_in_XYZ-E_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D60-in-XYZ-E_2.0,DISPLAY - CIE-XYZ-D65_to_DCDM-D65,ViewTransform,sdr-video,file-io, +415,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3,ViewTransform,sdr-video,file-io, +416,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3,ViewTransform,sdr-video,file-io, +420,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,hdr-video,file-io, +421,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,hdr-video,file-io, +422,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,hdr-video,file-io, +423,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,hdr-video,file-io, +430,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D65,ViewTransform,sdr-video,file-io, +431,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_48nit_in_P3-D65_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D65,ViewTransform,sdr-video,file-io, +435,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D65,ViewTransform,sdr-video,file-io, +436,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_48nit_in_P3-D65_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D65,ViewTransform,sdr-video,file-io, +440,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_BT1886.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_REC.1886-REC.709,ViewTransform,sdr-video,file-io, +441,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec709-D65_BT1886.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC709-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.1886-REC.709,ViewTransform,sdr-video,file-io, +445,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_Rec2100-D65_HLG.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-HLG-1000nit,ViewTransform,hdr-video,file-io, +446,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_Rec2100-D65_HLG.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-HLG-1000nit,ViewTransform,hdr-video,file-io, +450,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_500nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, +451,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, +451,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_2000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, +451,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_4000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, +455,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_500nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, +456,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, +456,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_2000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, +456,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_4000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, +460,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_500nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-REC2020_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, +461,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-REC2020_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, +461,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_2000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-REC2020_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, +461,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_4000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-REC2020_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, +465,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_500nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-REC2020-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, +466,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_1000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-REC2020-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, +466,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_2000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-REC2020-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, +466,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_4000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-REC2020-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, +470,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,sdr-video,file-io, +470,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,sdr-video,file-io, +475,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_300nit_in_XYZ-E_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-300nit-P3-D60-in-XYZ-E_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-DCDM-D65,ViewTransform,hdr-video,file-io, +475,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_300nit_in_XYZ-E_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-300nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-DCDM-D65,ViewTransform,hdr-video,file-io, +480,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_108nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-108nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io, +481,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_500nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io, +482,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io, +482,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_2000nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io, +482,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_4000nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io, +485,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_108nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-108nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io, +486,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_500nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io, +487,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io, +487,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_2000nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io, +487,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_4000nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io, +490,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,sdr-video,file-io, +491,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,sdr-video,file-io, diff --git a/opencolorio_config_aces/config/studio/generate/resources/Loading... - Studio Config - Mapping.csv b/opencolorio_config_aces/config/studio/generate/resources/Loading... - Studio Config - Mapping.csv index 5c29ae76..c18cd9a6 100644 --- a/opencolorio_config_aces/config/studio/generate/resources/Loading... - Studio Config - Mapping.csv +++ b/opencolorio_config_aces/config/studio/generate/resources/Loading... - Studio Config - Mapping.csv @@ -42,54 +42,56 @@ Ordering,Colorspace,Legacy,ACEStransformID,CLFtransformID,Interface,BuiltinTrans 300,SDR Tonescale Match,FALSE,urn:ampas:aces:transformId:v2.0:Look.Academy.v1_SDR_Tonescale_Match.a2.v1,,Look,,,scene-linear, 400,Rec709-D65_100nit_in_Rec709-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io 401,Rec709-D60_100nit_in_Rec709-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC709-D65_2.0,,sdr-video,file-io -410,P3-D65_100nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,,sdr-video,file-io -411,P3-D60_100nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D60-in-P3-D65_2.0,,sdr-video,file-io -415,P3-D65_1000nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,,hdr-video,file-io -416,P3-D60_1000nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-P3-D65_2.0,,hdr-video,file-io -417,Rec709-D65_100nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,hdr-video,file-io -418,Rec709-D60_100nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-P3-D65_2.0,,hdr-video,file-io -425,P3-D65_48nit_in_P3-D65_Gamma2pt6,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,,sdr-video,file-io -426,P3-D60_48nit_in_P3-D65_Gamma2pt6,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_48nit_in_P3-D65_Gamma2pt6.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D60-in-P3-D65_2.0,,sdr-video,file-io -430,Rec709-D65_48nit_in_P3-D65_Gamma2pt6,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io -431,Rec709-D60_48nit_in_P3-D65_Gamma2pt6,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_48nit_in_P3-D65_Gamma2pt6.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-P3-D65_2.0,,sdr-video,file-io -435,Rec709-D65_100nit_in_Rec709-D65_BT1886,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_BT1886.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io -436,Rec709-D60_100nit_in_Rec709-D65_BT1886,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec709-D65_BT1886.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC709-D65_2.0,,sdr-video,file-io -440,P3-D65_1000nit_in_Rec2100-D65_HLG,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_Rec2100-D65_HLG.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,,hdr-video,file-io +405,Rec709-D65_100nit_in_Rec709-D65_Gamma2pt2,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_Gamma2pt2.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io +406,Rec709-D60_100nit_in_Rec709-D65_Gamma2pt2,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec709-D65_Gamma2pt2.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC709-D65_2.0,,sdr-video,file-io +415,P3-D65_100nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,,sdr-video,file-io +416,P3-D60_100nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D60-in-P3-D65_2.0,,sdr-video,file-io +420,P3-D65_1000nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,,hdr-video,file-io +421,P3-D60_1000nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-P3-D65_2.0,,hdr-video,file-io +422,Rec709-D65_100nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,hdr-video,file-io +423,Rec709-D60_100nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-P3-D65_2.0,,hdr-video,file-io +430,P3-D65_48nit_in_P3-D65_Gamma2pt6,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,,sdr-video,file-io +431,P3-D60_48nit_in_P3-D65_Gamma2pt6,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_48nit_in_P3-D65_Gamma2pt6.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D60-in-P3-D65_2.0,,sdr-video,file-io +435,Rec709-D65_48nit_in_P3-D65_Gamma2pt6,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io +436,Rec709-D60_48nit_in_P3-D65_Gamma2pt6,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_48nit_in_P3-D65_Gamma2pt6.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-P3-D65_2.0,,sdr-video,file-io +440,Rec709-D65_100nit_in_Rec709-D65_BT1886,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_BT1886.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io 440,sRGB - Curve,TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:Linear_to_sRGB-Curve:1.0,NamedTransform,,"crv_srgb,Utility - Curve - sRGB",sdr-video,file-io -441,P3-D60_1000nit_in_Rec2100-D65_HLG,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_Rec2100-D65_HLG.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-REC2020-D65_2.0,,hdr-video,file-io 441,Rec.1886 - Curve,TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:Linear_to_Rec1886-Curve:1.0,NamedTransform,,"crv_rec1886,Utility - Curve - Rec.1886",sdr-video,file-io +441,Rec709-D60_100nit_in_Rec709-D65_BT1886,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec709-D65_BT1886.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC709-D65_2.0,,sdr-video,file-io 442,Rec.709 - Curve,TRUE,,urn:aswf:ocio:transformId:1.0:ITU:Utility:Linear_to_Rec709-Curve:1.0,NamedTransform,,"crv_rec709,Utility - Curve - Rec.709",sdr-video,file-io 443,ST-2084 - Curve,FALSE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:Linear_to_ST2084-Curve:1.0,NamedTransform,CURVE - LINEAR_to_ST-2084,,hdr-video,file-io -445,P3-D65_500nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_500nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D65_2.0,,hdr-video,file-io -446,P3-D65_1000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,,hdr-video,file-io -446,P3-D65_2000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_2000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D65_2.0,,hdr-video,file-io -446,P3-D65_4000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_4000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D65_2.0,,hdr-video,file-io -450,P3-D60_500nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_500nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D60-in-REC2020-D65_2.0,,hdr-video,file-io -451,P3-D60_1000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-REC2020-D65_2.0,,hdr-video,file-io -451,P3-D60_2000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_2000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D60-in-REC2020-D65_2.0,,hdr-video,file-io -451,P3-D60_4000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_4000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D60-in-REC2020-D65_2.0,,hdr-video,file-io -455,Rec2100-D65_500nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_500nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-REC2020_2.0,,hdr-video,file-io -456,Rec2100-D65_1000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-REC2020_2.0,,hdr-video,file-io -456,Rec2100-D65_2000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_2000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-REC2020_2.0,,hdr-video,file-io -456,Rec2100-D65_4000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_4000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-REC2020_2.0,,hdr-video,file-io -460,Rec2100-D60_500nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_500nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-REC2020-D60-in-REC2020-D65_2.0,,hdr-video,file-io -461,Rec2100-D60_1000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_1000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-REC2020-D60-in-REC2020-D65_2.0,,hdr-video,file-io -461,Rec2100-D60_2000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_2000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-REC2020-D60-in-REC2020-D65_2.0,,hdr-video,file-io -461,Rec2100-D60_4000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_4000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-REC2020-D60-in-REC2020-D65_2.0,,hdr-video,file-io -465,Rec709-D60_100nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC2020-D65_2.0,,sdr-video,file-io -465,Rec709-D65_100nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io -475,P3-D65_108nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_108nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-108nit-P3-D65_2.0,,hdr-video,file-io -476,P3-D65_500nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_500nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D65_2.0,,hdr-video,file-io -477,P3-D65_1000nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,,hdr-video,file-io -477,P3-D65_2000nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_2000nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D65_2.0,,hdr-video,file-io -477,P3-D65_4000nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_4000nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D65_2.0,,hdr-video,file-io -480,P3-D60_108nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_108nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-108nit-P3-D60-in-P3-D65_2.0,,hdr-video,file-io -481,P3-D60_500nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_500nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D60-in-P3-D65_2.0,,hdr-video,file-io -482,P3-D60_1000nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-P3-D65_2.0,,hdr-video,file-io -482,P3-D60_2000nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_2000nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D60-in-P3-D65_2.0,,hdr-video,file-io -482,P3-D60_4000nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_4000nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D60-in-P3-D65_2.0,,hdr-video,file-io -485,Rec709-D65_100nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io -486,Rec709-D60_100nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC2020-D65_2.0,,sdr-video,file-io +445,P3-D65_1000nit_in_Rec2100-D65_HLG,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_Rec2100-D65_HLG.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,,hdr-video,file-io +446,P3-D60_1000nit_in_Rec2100-D65_HLG,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_Rec2100-D65_HLG.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-REC2020-D65_2.0,,hdr-video,file-io +450,P3-D65_500nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_500nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D65_2.0,,hdr-video,file-io +451,P3-D65_1000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,,hdr-video,file-io +451,P3-D65_2000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_2000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D65_2.0,,hdr-video,file-io +451,P3-D65_4000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_4000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D65_2.0,,hdr-video,file-io +455,P3-D60_500nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_500nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D60-in-REC2020-D65_2.0,,hdr-video,file-io +456,P3-D60_1000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-REC2020-D65_2.0,,hdr-video,file-io +456,P3-D60_2000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_2000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D60-in-REC2020-D65_2.0,,hdr-video,file-io +456,P3-D60_4000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_4000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D60-in-REC2020-D65_2.0,,hdr-video,file-io +460,Rec2100-D65_500nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_500nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-REC2020_2.0,,hdr-video,file-io +461,Rec2100-D65_1000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-REC2020_2.0,,hdr-video,file-io +461,Rec2100-D65_2000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_2000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-REC2020_2.0,,hdr-video,file-io +461,Rec2100-D65_4000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_4000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-REC2020_2.0,,hdr-video,file-io +465,Rec2100-D60_500nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_500nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-REC2020-D60-in-REC2020-D65_2.0,,hdr-video,file-io +466,Rec2100-D60_1000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_1000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-REC2020-D60-in-REC2020-D65_2.0,,hdr-video,file-io +466,Rec2100-D60_2000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_2000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-REC2020-D60-in-REC2020-D65_2.0,,hdr-video,file-io +466,Rec2100-D60_4000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_4000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-REC2020-D60-in-REC2020-D65_2.0,,hdr-video,file-io +470,Rec709-D60_100nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC2020-D65_2.0,,sdr-video,file-io +470,Rec709-D65_100nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io +480,P3-D65_108nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_108nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-108nit-P3-D65_2.0,,hdr-video,file-io +481,P3-D65_500nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_500nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D65_2.0,,hdr-video,file-io +482,P3-D65_1000nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,,hdr-video,file-io +482,P3-D65_2000nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_2000nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D65_2.0,,hdr-video,file-io +482,P3-D65_4000nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_4000nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D65_2.0,,hdr-video,file-io +485,P3-D60_108nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_108nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-108nit-P3-D60-in-P3-D65_2.0,,hdr-video,file-io +486,P3-D60_500nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_500nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D60-in-P3-D65_2.0,,hdr-video,file-io +487,P3-D60_1000nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-P3-D65_2.0,,hdr-video,file-io +487,P3-D60_2000nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_2000nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D60-in-P3-D65_2.0,,hdr-video,file-io +487,P3-D60_4000nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_4000nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D60-in-P3-D65_2.0,,hdr-video,file-io +490,Rec709-D65_100nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io +491,Rec709-D60_100nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC2020-D65_2.0,,sdr-video,file-io 500,sRGB Encoded Rec.709 (sRGB),TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_sRGB-Encoded-Rec709:1.0,ColorSpace,,"srgb_texture,srgb_rec709_scene,Utility - sRGB - Texture,Input - Generic - sRGB - Texture,sRGB - Texture,srgb_tx",sdr-video,"file-io,texture" 501,Gamma 1.8 Encoded Rec.709,TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma1.8_Encoded_Rec709:1.0,ColorSpace,,"g18_rec709,Utility - Gamma 1.8 - Rec.709 - Texture,Gamma 1.8 Rec.709 - Texture,g18_rec709_tx,g18_rec709_scene",sdr-video,"file-io,texture" 502,Gamma 2.2 Encoded Rec.709,TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma2.2_Encoded_Rec709:1.0,ColorSpace,,"g22_rec709,Utility - Gamma 2.2 - Rec.709 - Texture,Gamma 2.2 Rec.709 - Texture,g22_rec709_tx,g22_rec709_scene",sdr-video,"file-io,texture" From b9a5b5e36e69f5c13d513d052ec3a7f08c1249b0 Mon Sep 17 00:00:00 2001 From: Thomas Mansencal Date: Sat, 16 Aug 2025 15:44:02 +1200 Subject: [PATCH 03/17] Implement support for *DJI D-Log - D-Gamut*. Closes #146. Signed-off-by: Thomas Mansencal --- docs/opencolorio_config_aces.clf.rst | 1 + opencolorio_config_aces/clf/__init__.py | 2 + .../clf/transforms/__init__.py | 6 + .../clf/transforms/dji/__init__.py | 10 + .../clf/transforms/dji/generate.py | 173 ++++++++++++++++++ .../dji/input/DJI.Input.DLog-Curve.clf | 8 + .../DJI.Input.DLog_DGamut_to_ACES2065-1.clf | 18 ++ .../DJI.Input.Linear_DGamut_to_ACES2065-1.clf | 12 ++ .../Loading... - Studio Config - Mapping.csv | 21 ++- 9 files changed, 242 insertions(+), 9 deletions(-) create mode 100644 opencolorio_config_aces/clf/transforms/dji/__init__.py create mode 100644 opencolorio_config_aces/clf/transforms/dji/generate.py create mode 100644 opencolorio_config_aces/clf/transforms/dji/input/DJI.Input.DLog-Curve.clf create mode 100644 opencolorio_config_aces/clf/transforms/dji/input/DJI.Input.DLog_DGamut_to_ACES2065-1.clf create mode 100644 opencolorio_config_aces/clf/transforms/dji/input/DJI.Input.Linear_DGamut_to_ACES2065-1.clf diff --git a/docs/opencolorio_config_aces.clf.rst b/docs/opencolorio_config_aces.clf.rst index 895a0405..0e46651f 100644 --- a/docs/opencolorio_config_aces.clf.rst +++ b/docs/opencolorio_config_aces.clf.rst @@ -43,6 +43,7 @@ Common LUT Format Generation generate_clf_transforms_bmdfilm generate_clf_transforms_canon generate_clf_transforms_davinci + generate_clf_transforms_dji generate_clf_transforms_itu generate_clf_transforms_ocio generate_clf_transforms_panasonic diff --git a/opencolorio_config_aces/clf/__init__.py b/opencolorio_config_aces/clf/__init__.py index e8aadc4b..c5a07164 100644 --- a/opencolorio_config_aces/clf/__init__.py +++ b/opencolorio_config_aces/clf/__init__.py @@ -14,6 +14,7 @@ generate_clf_transforms_bmdfilm, generate_clf_transforms_canon, generate_clf_transforms_davinci, + generate_clf_transforms_dji, generate_clf_transforms_itu, generate_clf_transforms_ocio, generate_clf_transforms_panasonic, @@ -35,6 +36,7 @@ "generate_clf_transforms_bmdfilm", "generate_clf_transforms_canon", "generate_clf_transforms_davinci", + "generate_clf_transforms_dji", "generate_clf_transforms_itu", "generate_clf_transforms_ocio", "generate_clf_transforms_panasonic", diff --git a/opencolorio_config_aces/clf/transforms/__init__.py b/opencolorio_config_aces/clf/transforms/__init__.py index 950f54e6..5981a46e 100644 --- a/opencolorio_config_aces/clf/transforms/__init__.py +++ b/opencolorio_config_aces/clf/transforms/__init__.py @@ -19,6 +19,9 @@ from .canon import ( generate_clf_transforms_canon, ) +from .dji import ( + generate_clf_transforms_dji, +) from .itu import ( generate_clf_transforms_itu, ) @@ -53,6 +56,9 @@ __all__ += [ "generate_clf_transforms_canon", ] +__all__ += [ + "generate_clf_transforms_dji", +] __all__ += [ "generate_clf_transforms_itu", ] diff --git a/opencolorio_config_aces/clf/transforms/dji/__init__.py b/opencolorio_config_aces/clf/transforms/dji/__init__.py new file mode 100644 index 00000000..6cb50b1d --- /dev/null +++ b/opencolorio_config_aces/clf/transforms/dji/__init__.py @@ -0,0 +1,10 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright Contributors to the OpenColorIO Project. + +from .generate import ( + generate_clf_transforms_dji, +) + +__all__ = [ + "generate_clf_transforms_dji", +] diff --git a/opencolorio_config_aces/clf/transforms/dji/generate.py b/opencolorio_config_aces/clf/transforms/dji/generate.py new file mode 100644 index 00000000..0525c943 --- /dev/null +++ b/opencolorio_config_aces/clf/transforms/dji/generate.py @@ -0,0 +1,173 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright Contributors to the OpenColorIO Project. +""" +*DJI* CLF Transforms Generation +================================ + +Defines procedures for generating DJI *Common LUT Format* (CLF) +transforms: + +- :func:`opencolorio_config_aces.clf.generate_clf_transforms_dji` +""" + +from __future__ import annotations + +from pathlib import Path + +import PyOpenColorIO as ocio + +from opencolorio_config_aces.clf.transforms import ( + clf_basename, + format_clf_transform_id, + generate_clf_transform, + matrix_RGB_to_RGB_transform, +) +from opencolorio_config_aces.config import transform_factory + +__author__ = "OpenColorIO Contributors" +__copyright__ = "Copyright Contributors to the OpenColorIO Project." +__license__ = "New BSD License - https://opensource.org/licenses/BSD-3-Clause" +__maintainer__ = "OpenColorIO Contributors" +__email__ = "ocio-dev@lists.aswf.io" +__status__ = "Production" + +__all__ = [ + "FAMILY", + "GENUS", + "VERSION", + "generate_clf_transforms_dji", +] + +FAMILY: str = "DJI" +""" +*CLF* transforms family. +""" + +GENUS: str = "Input" +""" +*CLF* transforms genus. +""" + +VERSION: str = "1.0" +""" +*CLF* transforms version. +""" + + +def generate_clf_transforms_dji( + output_directory: Path, +) -> dict[Path, ocio.GroupTransform]: + """ + Generate the *CLF* transforms for *D-Log - D-Gamut* plus matrix/curve. + + Parameters + ---------- + output_directory + Directory to write the *CLF* transform(s) to. + + Returns + ------- + :class:`dict` + Dictionary of *CLF* transforms and *OpenColorIO* `GroupTransform` + instances. + + References + ---------- + - Dji. (2017). White Paper on D-Log and D-Gamut of DJI Cinema Color + System (pp. 1-5). https://dl.djicdn.com/downloads/zenmuse+x7/20171010/\ +D-Log_D-Gamut_Whitepaper.pdf + """ + + output_directory.mkdir(parents=True, exist_ok=True) + + clf_transforms = {} + + base = 10.0 + + # Mathematically correct for transition at log = 0.14: + # lin_side_break = (0.14 - 0.0929) / 6.025 = 0.007817427385892119 + # Optimized: + lin_side_break = 0.00758078675 + + log_side_slope = 1.0 / 3.89616 + log_side_offset = 2.27752 / 3.89616 + lin_side_slope = 0.9892 + lin_side_offset = 0.0108 + + lct = transform_factory( + transform_type="LogCameraTransform", + transform_factory="Constructor", + base=base, + linSideBreak=[lin_side_break] * 3, + logSideSlope=[log_side_slope] * 3, + logSideOffset=[log_side_offset] * 3, + linSideSlope=[lin_side_slope] * 3, + linSideOffset=[lin_side_offset] * 3, + direction=ocio.TRANSFORM_DIR_INVERSE, + ) + + mtx = matrix_RGB_to_RGB_transform("DJI D-Gamut", "ACES2065-1", "CAT02") + + # ACES transform ID from the CTL file + aces_transform_id = ( + "urn:ampas:aces:transformId:v2.0:CSC.DJI.DLog_DGamut_to_ACES.a1.v1" + ) + + # Generate full transform. + name = "DLog_DGamut_to_ACES2065-1" + input_descriptor = "DJI D-Log - D-Gamut" + output_descriptor = "ACES2065-1" + clf_transform_id = format_clf_transform_id(FAMILY, GENUS, name, VERSION) + filename = output_directory / clf_basename(clf_transform_id) + clf_transforms[filename] = generate_clf_transform( + filename, + [lct, mtx], + clf_transform_id, + f"{input_descriptor} to {output_descriptor}", + input_descriptor, + output_descriptor, + aces_transform_id, + ) + + # Generate transform for primaries only. + name = "Linear_DGamut_to_ACES2065-1" + input_descriptor = "Linear DJI D-Gamut" + output_descriptor = "ACES2065-1" + clf_transform_id = format_clf_transform_id(FAMILY, GENUS, name, VERSION) + filename = output_directory / clf_basename(clf_transform_id) + clf_transforms[filename] = generate_clf_transform( + filename, + [mtx], + clf_transform_id, + f"{input_descriptor} to {output_descriptor}", + input_descriptor, + output_descriptor, + ) + + # Generate `NamedTransform` for log curve only. + name = "DLog-Curve_to_Linear" + input_descriptor = "DJI D-Log Log (arbitrary primaries)" + output_descriptor = "DJI D-Log Linear (arbitrary primaries)" + clf_transform_id = format_clf_transform_id(FAMILY, GENUS, name, VERSION) + filename = output_directory / clf_basename(clf_transform_id) + clf_transforms[filename] = generate_clf_transform( + filename, + [lct], + clf_transform_id, + f'{input_descriptor.replace(" (arbitrary primaries)", "")} to Linear Curve', + input_descriptor, + output_descriptor, + ) + + return clf_transforms + + +if __name__ == "__main__": + import logging + + logging.basicConfig() + logging.getLogger().setLevel(logging.INFO) + + output_directory = Path(__file__).parent.resolve() / "input" + + generate_clf_transforms_dji(output_directory) diff --git a/opencolorio_config_aces/clf/transforms/dji/input/DJI.Input.DLog-Curve.clf b/opencolorio_config_aces/clf/transforms/dji/input/DJI.Input.DLog-Curve.clf new file mode 100644 index 00000000..2c039395 --- /dev/null +++ b/opencolorio_config_aces/clf/transforms/dji/input/DJI.Input.DLog-Curve.clf @@ -0,0 +1,8 @@ + + + DJI D-Log Log (arbitrary primaries) + DJI D-Log Linear (arbitrary primaries) + + + + diff --git a/opencolorio_config_aces/clf/transforms/dji/input/DJI.Input.DLog_DGamut_to_ACES2065-1.clf b/opencolorio_config_aces/clf/transforms/dji/input/DJI.Input.DLog_DGamut_to_ACES2065-1.clf new file mode 100644 index 00000000..d8e9e7b9 --- /dev/null +++ b/opencolorio_config_aces/clf/transforms/dji/input/DJI.Input.DLog_DGamut_to_ACES2065-1.clf @@ -0,0 +1,18 @@ + + + DJI D-Log - D-Gamut + ACES2065-1 + + urn:ampas:aces:transformId:v2.0:CSC.DJI.DLog_DGamut_to_ACES.a1.v1 + + + + + + + 0.691279245585754 0.214382527745956 0.0943382266682902 + 0.0662224037667752 1.0116160801876 -0.0778384839543733 +-0.0172985410341745 -0.0773788501012682 1.09467739113544 + + + diff --git a/opencolorio_config_aces/clf/transforms/dji/input/DJI.Input.Linear_DGamut_to_ACES2065-1.clf b/opencolorio_config_aces/clf/transforms/dji/input/DJI.Input.Linear_DGamut_to_ACES2065-1.clf new file mode 100644 index 00000000..aed9d69a --- /dev/null +++ b/opencolorio_config_aces/clf/transforms/dji/input/DJI.Input.Linear_DGamut_to_ACES2065-1.clf @@ -0,0 +1,12 @@ + + + Linear DJI D-Gamut + ACES2065-1 + + + 0.691279245585754 0.214382527745956 0.0943382266682902 + 0.0662224037667752 1.0116160801876 -0.0778384839543733 +-0.0172985410341745 -0.0773788501012682 1.09467739113544 + + + diff --git a/opencolorio_config_aces/config/studio/generate/resources/Loading... - Studio Config - Mapping.csv b/opencolorio_config_aces/config/studio/generate/resources/Loading... - Studio Config - Mapping.csv index c18cd9a6..64388d77 100644 --- a/opencolorio_config_aces/config/studio/generate/resources/Loading... - Studio Config - Mapping.csv +++ b/opencolorio_config_aces/config/studio/generate/resources/Loading... - Studio Config - Mapping.csv @@ -23,21 +23,24 @@ Ordering,Colorspace,Legacy,ACEStransformID,CLFtransformID,Interface,BuiltinTrans 120,Linear CinemaGamut D55,TRUE,,urn:aswf:ocio:transformId:1.0:Canon:Input:Linear-CinemaGamut-D55_to_ACES2065-1:1.0,ColorSpace,,"lin_canoncgamutday,Input - Canon - Linear - Canon Cinema Gamut Daylight",scene-linear,file-io 121,C-Log3 - Curve,TRUE,,urn:aswf:ocio:transformId:1.0:Canon:Input:CLog3-Curve_to_Linear:1.0,NamedTransform,CURVE - CANON_CLOG3_to_LINEAR,"crv_canonlog3,Input - Canon - Curve - Canon-Log3",log,file-io 121,CanonLog3 CinemaGamut D55,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Canon.CLog3_CGamut_to_ACES.a1.v1,urn:aswf:ocio:transformId:1.0:Canon:Input:CanonLog3_CinemaGamut-D55_to_ACES2065-1:1.0,ColorSpace,CANON_CLOG3-CGAMUT_to_ACES2065-1,"canonlog3_cgamutday,Input - Canon - Canon-Log3 - Cinema Gamut Daylight",log,file-io -130,Linear V-Gamut,TRUE,,urn:aswf:ocio:transformId:1.0:Panasonic:Input:Linear_VGamut_to_ACES2065-1:1.0,ColorSpace,,"lin_vgamut,Input - Panasonic - Linear - V-Gamut",scene-linear,file-io -130,V-Log - Curve,TRUE,,urn:aswf:ocio:transformId:1.0:Panasonic:Input:VLog-Curve_to_Linear:1.0,NamedTransform,,"crv_vlog,Input - Panasonic - Curve - V-Log",log,file-io +125,Input - DJI - D-Log - D-Gamut,FALSE,urn:ampas:aces:transformId:v2.0:CSC.DJI.DLog_DGamut_to_ACES.a1.v1,urn:aswf:ocio:transformId:1.0:DJI:Input:DLog_DGamut_to_ACES2065-1:1.0,ColorSpace,,dlog_dgamut,log,file-io +130,D-Log - Curve,TRUE,,urn:aswf:ocio:transformId:1.0:DJI:Input:DLog-Curve_to_Linear:1.0,NamedTransform,,crv_dlog,log,file-io +130,Linear D-Gamut,TRUE,,urn:aswf:ocio:transformId:1.0:DJI:Input:Linear_DGamut_to_ACES2065-1:1.0,ColorSpace,,lin_dgamut,scene-linear,file-io 130,V-Log V-Gamut,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Panasonic.VLog_VGamut_to_ACES.a2.v1,urn:aswf:ocio:transformId:1.0:Panasonic:Input:VLog_VGamut_to_ACES2065-1:1.0,ColorSpace,,"vlog_vgamut,Input - Panasonic - V-Log - V-Gamut",log,file-io -135,Linear REDWideGamutRGB,TRUE,,urn:aswf:ocio:transformId:1.0:RED:Input:Linear_REDWideGamutRGB_to_ACES2065-1:1.0,ColorSpace,,"lin_rwg,Input - RED - Linear - REDWideGamutRGB",scene-linear,file-io -135,Log3G10 - Curve,TRUE,,urn:aswf:ocio:transformId:1.0:RED:Input:Log3G10-Curve_to_Linear:1.0,NamedTransform,,"crv_rl3g10,Input - RED - Curve - REDLog3G10",log,file-io +135,Linear V-Gamut,TRUE,,urn:aswf:ocio:transformId:1.0:Panasonic:Input:Linear_VGamut_to_ACES2065-1:1.0,ColorSpace,,"lin_vgamut,Input - Panasonic - Linear - V-Gamut",scene-linear,file-io 135,Log3G10 REDWideGamutRGB,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Red.Log3G10_RWG_to_ACES.a2.v1,urn:aswf:ocio:transformId:1.0:RED:Input:Log3G10_REDWideGamutRGB_to_ACES2065-1:1.0,ColorSpace,,"rl3g10_rwg,Input - RED - REDLog3G10 - REDWideGamutRGB",log,file-io -140,Linear S-Gamut3,TRUE,,urn:aswf:ocio:transformId:1.0:Sony:Input:Linear_SGamut3_to_ACES2065-1:1.0,ColorSpace,,"lin_sgamut3,Input - Sony - Linear - S-Gamut3",scene-linear,file-io -140,S-Log3 - Curve,TRUE,,urn:aswf:ocio:transformId:1.0:Sony:Input:SLog3-Curve_to_Linear:1.0,NamedTransform,,"crv_slog3,Input - Sony - Curve - S-Log3",log,file-io +135,V-Log - Curve,TRUE,,urn:aswf:ocio:transformId:1.0:Panasonic:Input:VLog-Curve_to_Linear:1.0,NamedTransform,,"crv_vlog,Input - Panasonic - Curve - V-Log",log,file-io +140,Linear REDWideGamutRGB,TRUE,,urn:aswf:ocio:transformId:1.0:RED:Input:Linear_REDWideGamutRGB_to_ACES2065-1:1.0,ColorSpace,,"lin_rwg,Input - RED - Linear - REDWideGamutRGB",scene-linear,file-io +140,Log3G10 - Curve,TRUE,,urn:aswf:ocio:transformId:1.0:RED:Input:Log3G10-Curve_to_Linear:1.0,NamedTransform,,"crv_rl3g10,Input - RED - Curve - REDLog3G10",log,file-io 140,S-Log3 S-Gamut3,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Sony.SLog3_SGamut3_to_ACES.a2.v1,urn:aswf:ocio:transformId:1.0:Sony:Input:SLog3_SGamut3_to_ACES2065-1:1.0,ColorSpace,,"slog3_sgamut3,Input - Sony - S-Log3 - S-Gamut3",log,file-io -141,Linear S-Gamut3.Cine,TRUE,,urn:aswf:ocio:transformId:1.0:Sony:Input:Linear_SGamut3Cine_to_ACES2065-1:1.0,ColorSpace,,"lin_sgamut3cine,Input - Sony - Linear - S-Gamut3.Cine",scene-linear,file-io 141,S-Log3 S-Gamut3.Cine,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Sony.SLog3_SGamut3Cine_to_ACES.a2.v1,urn:aswf:ocio:transformId:1.0:Sony:Input:SLog3_SGamut3Cine_to_ACES2065-1:1.0,ColorSpace,,"slog3_sgamutcine,Input - Sony - S-Log3 - S-Gamut3.Cine",log,file-io -142,Linear Venice S-Gamut3,TRUE,,urn:aswf:ocio:transformId:1.0:Sony:Input:Linear_Venice_SGamut3_to_ACES2065-1:1.0,ColorSpace,,"lin_venice_sgamut3,Input - Sony - Linear - Venice S-Gamut3",scene-linear,file-io 142,S-Log3 Venice S-Gamut3,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Sony.Venice_SLog3_SGamut3_to_ACES.a2.v1,urn:aswf:ocio:transformId:1.0:Sony:Input:SLog3_Venice_SGamut3_to_ACES2065-1:1.0,ColorSpace,,"slog3_venice_sgamut3,Input - Sony - S-Log3 - Venice S-Gamut3",log,file-io -143,Linear Venice S-Gamut3.Cine,TRUE,,urn:aswf:ocio:transformId:1.0:Sony:Input:Linear_Venice_SGamut3Cine_to_ACES2065-1:1.0,ColorSpace,,"lin_venice_sgamut3cine,Input - Sony - Linear - Venice S-Gamut3.Cine",scene-linear,file-io 143,S-Log3 Venice S-Gamut3.Cine,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Sony.Venice_SLog3_SGamut3Cine_to_ACES.a2.v1,urn:aswf:ocio:transformId:1.0:Sony:Input:SLog3_Venice_SGamut3Cine_to_ACES2065-1:1.0,ColorSpace,,"slog3_venice_sgamutcine,Input - Sony - S-Log3 - Venice S-Gamut3.Cine",log,file-io +145,Linear S-Gamut3,TRUE,,urn:aswf:ocio:transformId:1.0:Sony:Input:Linear_SGamut3_to_ACES2065-1:1.0,ColorSpace,,"lin_sgamut3,Input - Sony - Linear - S-Gamut3",scene-linear,file-io +145,S-Log3 - Curve,TRUE,,urn:aswf:ocio:transformId:1.0:Sony:Input:SLog3-Curve_to_Linear:1.0,NamedTransform,,"crv_slog3,Input - Sony - Curve - S-Log3",log,file-io +146,Linear S-Gamut3.Cine,TRUE,,urn:aswf:ocio:transformId:1.0:Sony:Input:Linear_SGamut3Cine_to_ACES2065-1:1.0,ColorSpace,,"lin_sgamut3cine,Input - Sony - Linear - S-Gamut3.Cine",scene-linear,file-io +147,Linear Venice S-Gamut3,TRUE,,urn:aswf:ocio:transformId:1.0:Sony:Input:Linear_Venice_SGamut3_to_ACES2065-1:1.0,ColorSpace,,"lin_venice_sgamut3,Input - Sony - Linear - Venice S-Gamut3",scene-linear,file-io +148,Linear Venice S-Gamut3.Cine,TRUE,,urn:aswf:ocio:transformId:1.0:Sony:Input:Linear_Venice_SGamut3Cine_to_ACES2065-1:1.0,ColorSpace,,"lin_venice_sgamut3cine,Input - Sony - Linear - Venice S-Gamut3.Cine",scene-linear,file-io 300,ACES 1.3 Reference Gamut Compression,FALSE,urn:ampas:aces:transformId:v2.0:Look.Academy.ReferenceGamutCompress.a2.v1,,Look,,,scene-linear, 300,SDR Tonescale Match,FALSE,urn:ampas:aces:transformId:v2.0:Look.Academy.v1_SDR_Tonescale_Match.a2.v1,,Look,,,scene-linear, 400,Rec709-D65_100nit_in_Rec709-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io From 6aee0307b50df7bc294706efd569455e3ee32d01 Mon Sep 17 00:00:00 2001 From: Thomas Mansencal Date: Sat, 6 Sep 2025 18:23:51 +1200 Subject: [PATCH 04/17] Prepare ground for *AMF* updates. Signed-off-by: Thomas Mansencal --- opencolorio_config_aces/config/reference/aces | 2 +- .../config/reference/discover/classify.py | 119 +++++++++--------- .../resources/ACES_AMF_Components.json | 43 ------- 3 files changed, 60 insertions(+), 104 deletions(-) delete mode 100644 opencolorio_config_aces/config/reference/discover/resources/ACES_AMF_Components.json diff --git a/opencolorio_config_aces/config/reference/aces b/opencolorio_config_aces/config/reference/aces index 35e1e6ac..101f126a 160000 --- a/opencolorio_config_aces/config/reference/aces +++ b/opencolorio_config_aces/config/reference/aces @@ -1 +1 @@ -Subproject commit 35e1e6ac2c26ec75433547d5d0a3a881f39bd9f5 +Subproject commit 101f126a2f39fd951db4e7ed711afaec74dfb435 diff --git a/opencolorio_config_aces/config/reference/discover/classify.py b/opencolorio_config_aces/config/reference/discover/classify.py index d51bf3f1..cff85e17 100644 --- a/opencolorio_config_aces/config/reference/discover/classify.py +++ b/opencolorio_config_aces/config/reference/discover/classify.py @@ -195,14 +195,12 @@ def _exclusion_filterer_ARRIIDT(ctl_transform: CTLTransform) -> bool: PATTERNS_DESCRIPTION_CTL : dict """ -PATH_AMF_COMPONENTS_FILE: Path = ( - Path(__file__).parents[0] / "resources" / "ACES_AMF_Components.json" -) +PATH_TRANSFORMS_FILE: Path = Path(__file__).parents[1] / "aces" / "transforms.json" """ -Path to the *ACES* *AMF* components file. +Path to the *ACES* transforms file containing comprehensive metadata. -PATH_AMF_COMPONENTS_FILE : unicode +PATH_TRANSFORMS_FILE : unicode """ @@ -1461,10 +1459,10 @@ def print_aces_taxonomy() -> None: def generate_amf_components( ctl_transforms: dict[str, dict[str, dict[str, CTLTransform | CTLTransformPair]]] | list[CTLTransform], - raise_exception: bool = False, + include_previous_transform_ids: bool = False, ) -> dict[str, list[str]]: """ - Generate the *ACES* *AMF* components from given *ACES* *CTL* transforms. + Generate the *ACES* *AMF* components from the `transforms.json` file. Parameters ---------- @@ -1473,9 +1471,9 @@ def generate_amf_components( :func:`opencolorio_config_aces.classify_aces_ctl_transforms` or :func:`opencolorio_config_aces.unclassify_aces_ctl_transforms` definitions. - raise_exception : bool, optional - Whether to raise an exception if an *ACES* *ACEStransformID* is - missing. + include_previous_transform_ids : bool + Whether to include the previous *ACEStransformID* in the *ACES* *AMF* + components. Returns ------- @@ -1485,47 +1483,49 @@ def generate_amf_components( amf_components = defaultdict(list) - with open(PATH_AMF_COMPONENTS_FILE) as json_file: - content = json_file.readlines() - content = json.loads( - "\n".join([line for line in content if not line.strip().startswith("//")]) - ) - - attest(content["header"]["schema_version"].split(".")[0] == "1") - - amf_components_implicit = content["amf_components"] + with open(PATH_TRANSFORMS_FILE) as json_file: + json_data = json.load(json_file) + + all_transforms = [ + transform + for version_data in json_data["transformsData"].values() + for transform in version_data["transforms"] + ] + + for transform in all_transforms: + transform_id = transform["transformId"] + + if ( + include_previous_transform_ids + and "previousEquivalentTransformIds" in transform + ): + for previous_transform_id in transform["previousEquivalentTransformIds"]: + if ( + previous_transform_id + and transform_id + and transform_id not in amf_components[previous_transform_id] + ): + amf_components[previous_transform_id].append(transform_id) + + inverse_transform_id = transform.get("inverseTransformId", "") + + if ( + inverse_transform_id + and transform_id + and inverse_transform_id not in amf_components[transform_id] + ): + amf_components[transform_id].append(inverse_transform_id) + + if ( + inverse_transform_id + and transform_id + and transform_id not in amf_components[inverse_transform_id] + ): + amf_components[inverse_transform_id].append(transform_id) if isinstance(ctl_transforms, Mapping): ctl_transforms = unclassify_ctl_transforms(ctl_transforms) - # Checking that the explicit "ACEStransformID" do exist. - for aces_transform_id, relations in amf_components_implicit.items(): - explicit_aces_transform_ids = [aces_transform_id] - explicit_aces_transform_ids.extend(relations) - - for explicit_aces_transform_id in explicit_aces_transform_ids: - filtered_ctl_transforms = filter_ctl_transforms( - ctl_transforms, - [ - lambda x, y=explicit_aces_transform_id: ( - x.aces_transform_id.aces_transform_id == y - ) - ], - ) - - ctl_transform = next(iter(filtered_ctl_transforms), None) - - if ctl_transform is None: - exception_message = ( - f'"aces-dev" has no transform with ' - f'"{explicit_aces_transform_id}" "ACEStransformID!' - ) - - if raise_exception: - attest(False, exception_message) - else: - LOGGER.critical(exception_message) - for ctl_transform in ctl_transforms: aces_transform_id = ctl_transform.aces_transform_id.aces_transform_id @@ -1541,22 +1541,21 @@ def generate_amf_components( ) ]: for sibling in siblings: - amf_components[aces_transform_id].append( - sibling.aces_transform_id.aces_transform_id - ) - - # Extending with explicit relations. - for aces_transform_id, relations in amf_components_implicit.items(): - amf_components[aces_transform_id].extend(relations) + sibling_id = sibling.aces_transform_id.aces_transform_id + if sibling_id not in amf_components[aces_transform_id]: + amf_components[aces_transform_id].append(sibling_id) - # Generating the permutations. - for aces_transform_id, relations in amf_components.copy().items(): + for aces_transform_id, relations in list(amf_components.items()): for relation in relations: - amf_components[relation] = sorted( - {*relations, *amf_components[relation], aces_transform_id} - {relation} - ) + if relation in amf_components: + amf_components[relation] = sorted( + set(amf_components[relation] + relations + [aces_transform_id]) + - {relation} + ) + + result = {key: sorted(set(value)) for key, value in amf_components.items() if value} - return dict(amf_components) + return result if __name__ == "__main__": diff --git a/opencolorio_config_aces/config/reference/discover/resources/ACES_AMF_Components.json b/opencolorio_config_aces/config/reference/discover/resources/ACES_AMF_Components.json deleted file mode 100644 index 93d01bc7..00000000 --- a/opencolorio_config_aces/config/reference/discover/resources/ACES_AMF_Components.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "header": { - "schema_version": "1.0.0" - }, - "amf_components": { - "urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.BMDFilm_WideGamut_Gen5_to_ACES.a1.v1": [ - "urn:ampas:aces:transformId:v2.0:CSC.Blackmagic.BMDFilm_WideGamut_Gen5_to_ACES.a2.v1" - ], - "urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.LogC_EI800_AWG_to_ACES.a1.1.0": [ - "urn:ampas:aces:transformId:v2.0:CSC.Arri.LogCv3_to_ACES.a2.v1" - ], - "urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.SLog3_SGamut3_to_ACES.a1.1.0": [ - "urn:ampas:aces:transformId:v2.0:CSC.Sony.SLog3_SGamut3_to_ACES.a2.v1" - ], - "urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.SLog3_SGamut3Cine_to_ACES.a1.1.0": [ - "urn:ampas:aces:transformId:v2.0:CSC.Sony.SLog3_SGamut3Cine_to_ACES.a2.v1" - ], - "urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.SLog3_Venice_SGamut3_to_ACES.a1.1.0": [ - "urn:ampas:aces:transformId:v2.0:CSC.Sony.Venice_SLog3_SGamut3_to_ACES.a2.v1" - ], - "urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.SLog3_Venice_SGamut3Cine_to_ACES.a1.1.0": [ - "urn:ampas:aces:transformId:v2.0:CSC.Sony.Venice_SLog3_SGamut3Cine_to_ACES.a2.v1" - ], - // Not a published "ACEStransformID" but was approved by "Graeme Natress" - // during private discussions with "Carol Payne" and "Doug Walker" in March 2022. - "urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.Log3G10_RWG_to_ACES.a1.1.0": [ - "urn:ampas:aces:transformId:v2.0:CSC.Red.Log3G10_RWG_to_ACES.a2.v1" - ], - // The related "ACEStransformID" is not in "aces-dev" but available online - // in the following "IDT" : https://pro-av.panasonic.net/en/\ - // cinema_camera_varicam_eva/support/download_data/\ - // idt_panasonic_forV35_ver100.zip - "urn:ampas:aces:transformId:v2.0:CSC.Panasonic.VLog_VGamut_to_ACES.a2.v1": [ - "urn:ampas:aces:transformId:v1.5:IDT.Panasonic.VLog_VGamut.a1.v1" - ], - // The related "ACEStransformID" are not yet in "aces-dev" but pending in - // a pull request: https://github.com/ampas/aces-dev/pull/137 - "urn:ampas:aces:transformId:v2.0:CSC.Arri.LogCv4_to_ACES.a2.v1": [ - "urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.LogC4_to_ACES.a1.1.0", - "urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.ACES_to_LogC4.a1.1.0" - ] - } -} From 2f86e97d8bc8e1e948502c2dd6da6a400da2d269 Mon Sep 17 00:00:00 2001 From: Thomas Mansencal Date: Sun, 14 Sep 2025 10:11:14 +1200 Subject: [PATCH 05/17] Implement support for adding virtual displays. Closes #133. Signed-off-by: Thomas Mansencal --- .../config/cg/generate/config.py | 28 +++++++++++++++ .../config/generation/common.py | 34 +++++++++++++++++++ 2 files changed, 62 insertions(+) diff --git a/opencolorio_config_aces/config/cg/generate/config.py b/opencolorio_config_aces/config/cg/generate/config.py index 5765327f..e881c1af 100644 --- a/opencolorio_config_aces/config/cg/generate/config.py +++ b/opencolorio_config_aces/config/cg/generate/config.py @@ -1341,6 +1341,34 @@ def ordering(element: dict[str, Any]) -> int: data.view_transforms = sorted(data.view_transforms, key=ordering) data.looks = sorted(data.looks, key=ordering) + # Virtual Display Shared Views + # ============================ + data.virtual_display_shared_views = list( + { + shared_view["view"] + for shared_view in data.shared_views + if shared_view["display"] + in [ + a["name"] + for a in data.colorspaces + if a.get("family") == "Display" and a.get("encoding") == "sdr-video" + ] + } + ) + + # Virtual Display Views + # ===================== + data.virtual_display_views = [ + { + "view": "Raw", + "view_transform": "", + "colorspace": "Raw", + "looks": "", + "rule": "", + "description": "", + } + ] + data.profile_version = build_configuration.ocio config = generate_config(data, config_name, validate) diff --git a/opencolorio_config_aces/config/generation/common.py b/opencolorio_config_aces/config/generation/common.py index bb64decb..6e33dcb6 100644 --- a/opencolorio_config_aces/config/generation/common.py +++ b/opencolorio_config_aces/config/generation/common.py @@ -93,6 +93,11 @@ class ConfigData: views : array_like, optional Config views, an iterable of dicts of display, view and `Colorspace` names. + virtual_display_shared_views : array_like, optional + Config virtual display shared views, an iterable of shared view names. + virtual_display_views : array_like, optional + Config virtual display views, an iterable of dicts of view, `ViewTransform`, + `Colorspace` names, looks, rule name and description. active_displays : array_like, optional Config active displays, an iterable of display names. active_views : array_like, optional @@ -144,6 +149,8 @@ class ConfigData: looks: list[dict[str, Any] | ocio.Look] = field(default_factory=list) shared_views: list[dict[str, Any]] = field(default_factory=list) views: list[dict[str, Any]] = field(default_factory=list) + virtual_display_shared_views: list[str] = field(default_factory=list) + virtual_display_views: list[dict[str, Any]] = field(default_factory=list) active_displays: list[str] = field(default_factory=list) active_views: list[str] = field(default_factory=list) file_rules: list[dict[str, Any]] = field(default_factory=list) @@ -365,6 +372,33 @@ def generate_config( LOGGER.debug('Adding "%s" view to "%s" display.', view, display) config.addDisplaySharedView(display, view) + for virtual_display_shared_view in data.virtual_display_shared_views: + LOGGER.debug( + 'Adding "%s" virtual display shared view.', virtual_display_shared_view + ) + config.addVirtualDisplaySharedView(virtual_display_shared_view) + + for virtual_display_view in data.virtual_display_views: + view_name = virtual_display_view["view"] + view_transform = virtual_display_view["view_transform"] + colorspace = virtual_display_view["colorspace"] + looks = virtual_display_view.get("looks", "") + rule = virtual_display_view.get("rule", "") + description = virtual_display_view.get("description", "") + LOGGER.debug( + 'Adding "%s" virtual display view using "%s" view transform, "%s" ' + 'colorspace, "%s" looks, "%s" rule and "%s" description.', + view_name, + view_transform, + colorspace, + looks, + rule, + description, + ) + config.addVirtualDisplayView( + view_name, view_transform, colorspace, looks, rule, description + ) + if data.active_displays: LOGGER.debug('Activating "%s" displays.', data.active_displays) config.setActiveDisplays(",".join(data.active_displays)) From 380cf02a75d629b1fef75efc8cdd46db9e9d1fdf Mon Sep 17 00:00:00 2001 From: Thomas Mansencal Date: Thu, 18 Sep 2025 22:19:23 +1200 Subject: [PATCH 06/17] Implement support for `interop_id` and new mirrored display builtins transforms. Closes #153. References #154. Signed-off-by: Thomas Mansencal --- .../config/cg/generate/config.py | 2 + .../Loading... - CG Config - Mapping.csv | 58 ++--- .../config/generation/beautifiers.py | 1 + .../config/generation/factories.py | 13 +- .../config/reference/generate/config.py | 7 + ...oading... - Reference Config - Mapping.csv | 136 +++++------ .../Loading... - Studio Config - Mapping.csv | 222 +++++++++--------- 7 files changed, 229 insertions(+), 210 deletions(-) diff --git a/opencolorio_config_aces/config/cg/generate/config.py b/opencolorio_config_aces/config/cg/generate/config.py index e881c1af..6c61f6d2 100644 --- a/opencolorio_config_aces/config/cg/generate/config.py +++ b/opencolorio_config_aces/config/cg/generate/config.py @@ -926,6 +926,7 @@ def clf_transform_from_style(style: str) -> CLFTransform | None: "aliases", "encoding", "categories", + "interop_id", ], ) @@ -1194,6 +1195,7 @@ def remove_existing_named_transform(name: str) -> None: "aliases": transform_data_aliases(transform_data), "encoding": transform_data.get("encoding"), "categories": transform_data.get("categories"), + "interop_id": transform_data.get("interop_id"), } style = transform_data["builtin_transform_style"] diff --git a/opencolorio_config_aces/config/cg/generate/resources/Loading... - CG Config - Mapping.csv b/opencolorio_config_aces/config/cg/generate/resources/Loading... - CG Config - Mapping.csv index c02d4365..9683f820 100644 --- a/opencolorio_config_aces/config/cg/generate/resources/Loading... - CG Config - Mapping.csv +++ b/opencolorio_config_aces/config/cg/generate/resources/Loading... - CG Config - Mapping.csv @@ -1,29 +1,29 @@ -Ordering,Colorspace,Legacy,ACEStransformID,CLFtransformID,Interface,BuiltinTransform Style,Aliases,Encoding,Categories -100,ACEScc,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Academy.ACEScc_to_ACES.a2.v1,,ColorSpace,ACEScc_to_ACES2065-1,"acescc,acescc_ap1,ACES - ACEScc",log,file-io -100,ACEScct,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Academy.ACEScct_to_ACES.a2.v1,,ColorSpace,ACEScct_to_ACES2065-1,"acescct,acescct_ap1,ACES - ACEScct",log,"file-io,working-space" -100,ACEScg,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Academy.ACEScg_to_ACES.a2.v1,,ColorSpace,ACEScg_to_ACES2065-1,"acescg,lin_ap1,lin_ap1_scene,ACES - ACEScg",scene-linear,"file-io,working-space,texture" -300,ACES 1.3 Reference Gamut Compression,FALSE,urn:ampas:aces:transformId:v2.0:Look.Academy.ReferenceGamutCompress.a2.v1,,Look,,,scene-linear, -400,Rec709-D65_100nit_in_Rec709-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io -405,Rec709-D65_100nit_in_Rec709-D65_Gamma2pt2,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_Gamma2pt2.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io -415,P3-D65_100nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,,sdr-video,file-io -420,P3-D65_1000nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,,hdr-video,file-io -430,P3-D65_48nit_in_P3-D65_Gamma2pt6,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,,sdr-video,file-io -440,Rec709-D65_100nit_in_Rec709-D65_BT1886,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_BT1886.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io -440,sRGB - Curve,TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:Linear_to_sRGB-Curve:1.0,NamedTransform,,"crv_srgb,Utility - Curve - sRGB",sdr-video,file-io -441,Rec.1886 - Curve,TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:Linear_to_Rec1886-Curve:1.0,NamedTransform,,"crv_rec1886,Utility - Curve - Rec.1886",sdr-video,file-io -451,P3-D65_1000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,,hdr-video,file-io -461,Rec2100-D65_1000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-REC2020_2.0,,hdr-video,file-io -482,P3-D65_1000nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,,hdr-video,file-io -500,sRGB Encoded Rec.709 (sRGB),TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_sRGB-Encoded-Rec709:1.0,ColorSpace,,"srgb_texture,srgb_rec709_scene,Utility - sRGB - Texture,Input - Generic - sRGB - Texture,sRGB - Texture,srgb_tx",sdr-video,"file-io,texture" -501,Gamma 1.8 Encoded Rec.709,TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma1.8_Encoded_Rec709:1.0,ColorSpace,,"g18_rec709,Utility - Gamma 1.8 - Rec.709 - Texture,Gamma 1.8 Rec.709 - Texture,g18_rec709_tx,g18_rec709_scene",sdr-video,"file-io,texture" -502,Gamma 2.2 Encoded Rec.709,TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma2.2_Encoded_Rec709:1.0,ColorSpace,,"g22_rec709,Utility - Gamma 2.2 - Rec.709 - Texture,Gamma 2.2 Rec.709 - Texture,g22_rec709_tx,g22_rec709_scene",sdr-video,"file-io,texture" -503,Gamma 2.4 Encoded Rec.709,FALSE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma2.4_Encoded_Rec709:1.0,ColorSpace,,"g24_rec709,rec709_display,Utility - Rec.709 - Display,Gamma 2.4 Rec.709 - Texture,g24_rec709_tx",sdr-video,"file-io,texture" -505,sRGB Encoded P3-D65,FALSE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_sRGB_Encoded_P3-D65:1.0,ColorSpace,,"srgb_p3d65,srgb_displayp3,srgb_p3d65_scene,sRGB Encoded P3-D65 - Texture,srgb_encoded_p3d65_tx",sdr-video,"file-io,texture" -506,Gamma 2.2 Encoded AdobeRGB,FALSE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma2.2_Encoded_AdobeRGB:1.0,ColorSpace,,"adobergb,g22_adobergb_scene",sdr-video,"file-io,texture" -507,sRGB Encoded AP1,FALSE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_sRGB_Encoded_AP1:1.0,ColorSpace,,"srgb_ap1,srgb_ap1_scene,sRGB Encoded AP1 - Texture,srgb_encoded_ap1_tx",sdr-video,"file-io,texture" -508,Gamma 2.2 Encoded AP1,FALSE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma2.2_Encoded_AP1:1.0,ColorSpace,,"g22_ap1,Gamma 2.2 AP1 - Texture,g22_ap1_tx,g22_ap1_scene",sdr-video,"file-io,texture" -520,CIE XYZ-D65 - Scene-referred,FALSE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_CIE_XYZ-D65-Scene-referred:1.0,ColorSpace,,lin_ciexyzd65_scene,scene-linear,file-io -520,Linear AdobeRGB,FALSE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Linear_AdobeRGB:1.0,ColorSpace,,"lin_adobergb,lin_adobergb_scene,Utility - Linear - Adobe RGB",scene-linear,"file-io,texture" -520,Linear P3-D65,TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Linear_P3-D65:1.0,ColorSpace,,"lin_p3d65,lin_displayp3,lin_p3d65_scene,Utility - Linear - P3-D65,Linear Display P3",scene-linear,"file-io,working-space,texture" -520,Linear Rec.2020,TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Linear_Rec2020:1.0,ColorSpace,,"lin_rec2020,lin_rec2020_scene,Utility - Linear - Rec.2020",scene-linear,"file-io,texture" -520,Linear Rec.709 (sRGB),TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Linear_Rec709:1.0,ColorSpace,,"lin_rec709,lin_rec709_scene,lin_srgb,Utility - Linear - sRGB,Utility - Linear - Rec.709",scene-linear,"file-io,working-space,texture" +Ordering,Colorspace,Legacy,ACEStransformID,CLFtransformID,Interface,BuiltinTransform Style,Aliases,Encoding,Categories,InteropId +100,ACEScc,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Academy.ACEScc_to_ACES.a2.v1,,ColorSpace,ACEScc_to_ACES2065-1,"acescc,acescc_ap1,ACES - ACEScc",log,file-io,ocio:acescc_ap1_scene +100,ACEScct,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Academy.ACEScct_to_ACES.a2.v1,,ColorSpace,ACEScct_to_ACES2065-1,"acescct,acescct_ap1,ACES - ACEScct",log,"file-io,working-space",ocio:acescct_ap1_scene +100,ACEScg,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Academy.ACEScg_to_ACES.a2.v1,,ColorSpace,ACEScg_to_ACES2065-1,"acescg,lin_ap1,lin_ap1_scene,ACES - ACEScg",scene-linear,"file-io,working-space,texture",lin_ap1_scene +300,ACES 1.3 Reference Gamut Compression,FALSE,urn:ampas:aces:transformId:v2.0:Look.Academy.ReferenceGamutCompress.a2.v1,,Look,,,scene-linear,, +400,Rec709-D65_100nit_in_Rec709-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io,srgb_rec709_display +405,Rec709-D65_100nit_in_Rec709-D65_Gamma2pt2,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_Gamma2pt2.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io,g22_rec709_display +415,P3-D65_100nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,,sdr-video,file-io,srgb_p3d65_display +420,P3-D65_1000nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,,xdr-video,file-io,srgbx_p3d65_display +430,P3-D65_48nit_in_P3-D65_Gamma2pt6,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,,sdr-video,file-io,g26_p3d65_display +440,Rec709-D65_100nit_in_Rec709-D65_BT1886,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_BT1886.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io,g24_rec709_display +440,sRGB - Curve,TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:Linear_to_sRGB-Curve:1.0,NamedTransform,,"crv_srgb,Utility - Curve - sRGB",sdr-video,file-io, +441,Rec.1886 - Curve,TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:Linear_to_Rec1886-Curve:1.0,NamedTransform,,"crv_rec1886,Utility - Curve - Rec.1886",sdr-video,file-io, +451,P3-D65_1000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,,hdr-video,file-io,pq_rec2020_display +461,Rec2100-D65_1000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-REC2020_2.0,,hdr-video,file-io,pq_rec2020_display +482,P3-D65_1000nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,,hdr-video,file-io,pq_p3d65_display +500,sRGB Encoded Rec.709 (sRGB),TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_sRGB-Encoded-Rec709:1.0,ColorSpace,,"srgb_texture,srgb_rec709_scene,Utility - sRGB - Texture,Input - Generic - sRGB - Texture,sRGB - Texture,srgb_tx",sdr-video,"file-io,texture",srgb_rec709_scene +501,Gamma 1.8 Encoded Rec.709,TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma1.8_Encoded_Rec709:1.0,ColorSpace,,"g18_rec709,Utility - Gamma 1.8 - Rec.709 - Texture,Gamma 1.8 Rec.709 - Texture,g18_rec709_tx,g18_rec709_scene",sdr-video,"file-io,texture",g18_rec709_scene +502,Gamma 2.2 Encoded Rec.709,TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma2.2_Encoded_Rec709:1.0,ColorSpace,,"g22_rec709,Utility - Gamma 2.2 - Rec.709 - Texture,Gamma 2.2 Rec.709 - Texture,g22_rec709_tx,g22_rec709_scene",sdr-video,"file-io,texture",g22_rec709_scene +503,Gamma 2.4 Encoded Rec.709,FALSE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma2.4_Encoded_Rec709:1.0,ColorSpace,,"g24_rec709,rec709_display,Utility - Rec.709 - Display,Gamma 2.4 Rec.709 - Texture,g24_rec709_tx",sdr-video,"file-io,texture",ocio:g24_rec709_scene +505,sRGB Encoded P3-D65,FALSE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_sRGB_Encoded_P3-D65:1.0,ColorSpace,,"srgb_p3d65,srgb_displayp3,srgb_p3d65_scene,sRGB Encoded P3-D65 - Texture,srgb_encoded_p3d65_tx",sdr-video,"file-io,texture",srgb_p3d65_scene +506,Gamma 2.2 Encoded AdobeRGB,FALSE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma2.2_Encoded_AdobeRGB:1.0,ColorSpace,,"adobergb,g22_adobergb_scene",sdr-video,"file-io,texture",g22_adobergb_scene +507,sRGB Encoded AP1,FALSE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_sRGB_Encoded_AP1:1.0,ColorSpace,,"srgb_ap1,srgb_ap1_scene,sRGB Encoded AP1 - Texture,srgb_encoded_ap1_tx",sdr-video,"file-io,texture",srgb_ap1_scene +508,Gamma 2.2 Encoded AP1,FALSE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma2.2_Encoded_AP1:1.0,ColorSpace,,"g22_ap1,Gamma 2.2 AP1 - Texture,g22_ap1_tx,g22_ap1_scene",sdr-video,"file-io,texture",g22_ap1_scene +520,CIE XYZ-D65 - Scene-referred,FALSE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_CIE_XYZ-D65-Scene-referred:1.0,ColorSpace,,lin_ciexyzd65_scene,scene-linear,file-io,lin_ciexyzd65_scene +520,Linear AdobeRGB,FALSE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Linear_AdobeRGB:1.0,ColorSpace,,"lin_adobergb,lin_adobergb_scene,Utility - Linear - Adobe RGB",scene-linear,"file-io,texture",lin_adobergb_scene +520,Linear P3-D65,TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Linear_P3-D65:1.0,ColorSpace,,"lin_p3d65,lin_displayp3,lin_p3d65_scene,Utility - Linear - P3-D65,Linear Display P3",scene-linear,"file-io,working-space,texture",lin_p3d65_scene +520,Linear Rec.2020,TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Linear_Rec2020:1.0,ColorSpace,,"lin_rec2020,lin_rec2020_scene,Utility - Linear - Rec.2020",scene-linear,"file-io,texture",lin_rec2020_scene +520,Linear Rec.709 (sRGB),TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Linear_Rec709:1.0,ColorSpace,,"lin_rec709,lin_rec709_scene,lin_srgb,Utility - Linear - sRGB,Utility - Linear - Rec.709",scene-linear,"file-io,working-space,texture",lin_rec709_scene diff --git a/opencolorio_config_aces/config/generation/beautifiers.py b/opencolorio_config_aces/config/generation/beautifiers.py index aa748072..8442da09 100644 --- a/opencolorio_config_aces/config/generation/beautifiers.py +++ b/opencolorio_config_aces/config/generation/beautifiers.py @@ -182,6 +182,7 @@ "-Rec.": " Rec.", "-1000nit": "", "P3-HDR": "P3 HDR", + "- MIRROR NEGS": "", # Legacy Substitutions "dcdm": "DCDM", "p3": "P3", diff --git a/opencolorio_config_aces/config/generation/factories.py b/opencolorio_config_aces/config/generation/factories.py index 49601815..34c8a17b 100644 --- a/opencolorio_config_aces/config/generation/factories.py +++ b/opencolorio_config_aces/config/generation/factories.py @@ -124,6 +124,7 @@ def colorspace_factory( from_reference: Mapping[str, Any] | ocio.Transform | None = None, is_data: bool | None = None, reference_space: str | int | None = None, + interop_id: str | None = None, base_colorspace: Mapping[str, Any] | ocio.ColorSpace | None = None, **kwargs: Any, ) -> ocio.ColorSpace: @@ -156,10 +157,15 @@ def colorspace_factory( *To Reference* *OpenColorIO* transform. from_reference : dict or object, optional *From Reference* *OpenColorIO* transform. - reference_space : unicode or ReferenceSpaceType, optional - *OpenColorIO* `Colorspace` reference space. is_data : bool, optional Whether the `Colorspace` represents data. + reference_space : unicode or ReferenceSpaceType, optional + *OpenColorIO* `Colorspace` reference space. + interop_id : unicode, optional + *Color Interop Forum* ID. + See https://github.com/AcademySoftwareFoundation/ColorInterop/blob/\ +5aebc3f37ac192c86694a47bb92fa65cc95e4e67/Recommendations/\ +01_TextureAssetColorSpaces/TextureAssetColorSpaces.md base_colorspace : dict or ColorSpace, optional *OpenColorIO* base `Colorspace` inherited for initial attribute values. @@ -252,6 +258,9 @@ def colorspace_factory( if is_data is not None: colorspace.setIsData(is_data) # pyright: ignore + if interop_id is not None: + colorspace.setInteropID(interop_id) # pyright: ignore + return colorspace diff --git a/opencolorio_config_aces/config/reference/generate/config.py b/opencolorio_config_aces/config/reference/generate/config.py index 2a9bc10e..c5734330 100644 --- a/opencolorio_config_aces/config/reference/generate/config.py +++ b/opencolorio_config_aces/config/reference/generate/config.py @@ -1031,6 +1031,7 @@ def generate_config_aces( "encoding", "categories", "aliases", + "interop_id", ], ) @@ -1129,6 +1130,7 @@ def generate_config_aces( "description": 'The "Academy Color Encoding System" reference colorspace.', "encoding": "scene-linear", "categories": ["file-io", "texture"], + "interop_id": "lin_ap0_scene", } scene_reference_colorspace["aliases"] = [ beautify_alias(scene_reference_colorspace["name"]), @@ -1143,10 +1145,12 @@ def generate_config_aces( "description": 'The "CIE XYZ (D65)" display connection colorspace.', "reference_space": "REFERENCE_SPACE_DISPLAY", "encoding": "display-linear", + "interop_id": "ocio:lin_ciexyzd65_display", } display_reference_colorspace["aliases"] = [ # pyright: ignore "cie_xyz_d65_display", "lin_ciexyzd65_display", + "ocio:lin_ciexyzd65_display", ] raw_colorspace = { @@ -1156,6 +1160,7 @@ def generate_config_aces( "is_data": True, "categories": ["file-io", "texture"], "encoding": "data", + "interop_id": "data", } raw_colorspace["aliases"] = [ beautify_alias(raw_colorspace["name"]), @@ -1204,6 +1209,7 @@ def generate_config_aces( encoding=transform_data.get("encoding"), categories=transform_data.get("categories"), aliases=transform_data_aliases(transform_data), + interop_id=transform_data.get("interop_id"), ) display["transforms_data"] = [transform_data] display_name = display["name"] @@ -1267,6 +1273,7 @@ def generate_config_aces( encoding=transform_data.get("encoding"), categories=transform_data.get("categories"), aliases=transform_data_aliases(transform_data), + interop_id=transform_data.get("interop_id"), ) colorspace["transforms_data"] = [transform_data] if colorspace not in colorspaces: diff --git a/opencolorio_config_aces/config/reference/generate/resources/Loading... - Reference Config - Mapping.csv b/opencolorio_config_aces/config/reference/generate/resources/Loading... - Reference Config - Mapping.csv index fe45a120..5e723d77 100644 --- a/opencolorio_config_aces/config/reference/generate/resources/Loading... - Reference Config - Mapping.csv +++ b/opencolorio_config_aces/config/reference/generate/resources/Loading... - Reference Config - Mapping.csv @@ -1,68 +1,68 @@ -Ordering,ACEStransformID,Colorspace,Legacy,BuiltinTransform Style,Linked DisplayColorSpace Style,Interface,Encoding,Categories,Aliases -100,urn:ampas:aces:transformId:v2.0:CSC.Academy.ACEScc_to_ACES.a2.v1,ACES - ACEScc,TRUE,ACEScc_to_ACES2065-1,,ColorSpace,log,file-io,"acescc,acescc_ap1" -100,urn:ampas:aces:transformId:v2.0:CSC.Academy.ACEScct_to_ACES.a2.v1,ACES - ACEScct,TRUE,ACEScct_to_ACES2065-1,,ColorSpace,log,"file-io,working-space","acescct,acescct_ap1" -100,urn:ampas:aces:transformId:v2.0:CSC.Academy.ACEScg_to_ACES.a2.v1,ACES - ACEScg,TRUE,ACEScg_to_ACES2065-1,,ColorSpace,scene-linear,"file-io,working-space,texture","acescg,lin_ap1,lin_ap1_scene,ACES - ACEScg" -100,urn:ampas:aces:transformId:v2.0:CSC.Academy.ADX10_to_ACES.a2.v1,Input - ADX - ADX10,TRUE,ADX10_to_ACES2065-1,,ColorSpace,log,file-io,adx10 -100,urn:ampas:aces:transformId:v2.0:CSC.Academy.ADX16_to_ACES.a2.v1,Input - ADX - ADX16,TRUE,ADX16_to_ACES2065-1,,ColorSpace,log,file-io,adx16 -105,urn:ampas:aces:transformId:v2.0:CSC.Apple.AppleLog_BT2020_to_ACES.a2.v1,,FALSE,APPLE_LOG_to_ACES2065-1,,ColorSpace,log,file-io, -110,urn:ampas:aces:transformId:v2.0:CSC.Arri.LogC3_to_ACES.a2.v1,,FALSE,ARRI_ALEXA-LOGC-EI800-AWG_to_ACES2065-1,,ColorSpace,log,file-io,logc3ei800_alexawide -110,urn:ampas:aces:transformId:v2.0:CSC.Arri.LogC4_to_ACES.a2.v1,,FALSE,ARRI_LOGC4_to_ACES2065-1,,ColorSpace,log,file-io, -130,urn:ampas:aces:transformId:v2.0:CSC.Panasonic.VLog_VGamut_to_ACES.a2.v1,,FALSE,PANASONIC_VLOG-VGAMUT_to_ACES2065-1,,ColorSpace,log,file-io,vlog_vgamut -135,urn:ampas:aces:transformId:v2.0:CSC.Red.Log3G10_RWG_to_ACES.a2.v1,,FALSE,RED_LOG3G10-RWG_to_ACES2065-1,,ColorSpace,log,file-io,log3g10_rwg -140,urn:ampas:aces:transformId:v2.0:CSC.Sony.SLog3_SGamut3_to_ACES.a2.v1,,FALSE,SONY_SLOG3-SGAMUT3_to_ACES2065-1,,ColorSpace,log,file-io,slog3_sgamut3 -140,urn:ampas:aces:transformId:v2.0:CSC.Sony.SLog3_SGamut3Cine_to_ACES.a2.v1,,FALSE,SONY_SLOG3-SGAMUT3.CINE_to_ACES2065-1,,ColorSpace,log,file-io,slog3_sgamut3cine -140,urn:ampas:aces:transformId:v2.0:CSC.Sony.Venice_SLog3_SGamut3_to_ACES.a2.v1,,FALSE,SONY_SLOG3-SGAMUT3-VENICE_to_ACES2065-1,,ColorSpace,log,file-io,slog3_venice_sgamut3 -140,urn:ampas:aces:transformId:v2.0:CSC.Sony.Venice_SLog3_SGamut3Cine_to_ACES.a2.v1,,FALSE,SONY_SLOG3-SGAMUT3.CINE-VENICE_to_ACES2065-1,,ColorSpace,log,file-io,slog3_venice_sgamut3cine -300,urn:ampas:aces:transformId:v2.0:Look.Academy.ReferenceGamutCompress.a2.v1,,FALSE,ACES-LMT - ACES 1.3 Reference Gamut Compression,,Look,,, -400,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_sRGB,ViewTransform,sdr-video,file-io, -401,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC709-D65_2.0,DISPLAY - CIE-XYZ-D65_to_sRGB,ViewTransform,sdr-video,file-io, -405,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_Gamma2pt2.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_G2.2-REC.709,ViewTransform,sdr-video,file-io, -406,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec709-D65_Gamma2pt2.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC709-D65_2.0,DISPLAY - CIE-XYZ-D65_to_G2.2-REC.709,ViewTransform,sdr-video,file-io, -410,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_48nit_in_XYZ-E_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DCDM-D65,ViewTransform,sdr-video,file-io, -411,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_48nit_in_XYZ-E_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D60-in-XYZ-E_2.0,DISPLAY - CIE-XYZ-D65_to_DCDM-D65,ViewTransform,sdr-video,file-io, -415,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3,ViewTransform,sdr-video,file-io, -416,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3,ViewTransform,sdr-video,file-io, -420,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,hdr-video,file-io, -421,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,hdr-video,file-io, -422,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,hdr-video,file-io, -423,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,hdr-video,file-io, -430,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D65,ViewTransform,sdr-video,file-io, -431,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_48nit_in_P3-D65_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D65,ViewTransform,sdr-video,file-io, -435,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D65,ViewTransform,sdr-video,file-io, -436,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_48nit_in_P3-D65_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D65,ViewTransform,sdr-video,file-io, -440,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_BT1886.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_REC.1886-REC.709,ViewTransform,sdr-video,file-io, -441,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec709-D65_BT1886.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC709-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.1886-REC.709,ViewTransform,sdr-video,file-io, -445,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_Rec2100-D65_HLG.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-HLG-1000nit,ViewTransform,hdr-video,file-io, -446,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_Rec2100-D65_HLG.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-HLG-1000nit,ViewTransform,hdr-video,file-io, -450,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_500nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, -451,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, -451,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_2000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, -451,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_4000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, -455,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_500nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, -456,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, -456,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_2000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, -456,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_4000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, -460,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_500nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-REC2020_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, -461,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-REC2020_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, -461,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_2000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-REC2020_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, -461,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_4000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-REC2020_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, -465,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_500nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-REC2020-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, -466,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_1000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-REC2020-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, -466,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_2000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-REC2020-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, -466,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_4000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-REC2020-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io, -470,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,sdr-video,file-io, -470,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,sdr-video,file-io, -475,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_300nit_in_XYZ-E_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-300nit-P3-D60-in-XYZ-E_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-DCDM-D65,ViewTransform,hdr-video,file-io, -475,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_300nit_in_XYZ-E_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-300nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-DCDM-D65,ViewTransform,hdr-video,file-io, -480,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_108nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-108nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io, -481,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_500nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io, -482,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io, -482,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_2000nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io, -482,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_4000nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io, -485,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_108nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-108nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io, -486,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_500nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io, -487,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io, -487,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_2000nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io, -487,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_4000nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io, -490,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,sdr-video,file-io, -491,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,sdr-video,file-io, +Ordering,ACEStransformID,Colorspace,Legacy,BuiltinTransform Style,Linked DisplayColorSpace Style,Interface,Encoding,Categories,Aliases,InteropId +100,urn:ampas:aces:transformId:v2.0:CSC.Academy.ACEScc_to_ACES.a2.v1,ACES - ACEScc,TRUE,ACEScc_to_ACES2065-1,,ColorSpace,log,file-io,"acescc,acescc_ap1",acescc_ap1_scene +100,urn:ampas:aces:transformId:v2.0:CSC.Academy.ACEScct_to_ACES.a2.v1,ACES - ACEScct,TRUE,ACEScct_to_ACES2065-1,,ColorSpace,log,"file-io,working-space","acescct,acescct_ap1",ocio:acescct_ap1_scene +100,urn:ampas:aces:transformId:v2.0:CSC.Academy.ACEScg_to_ACES.a2.v1,ACES - ACEScg,TRUE,ACEScg_to_ACES2065-1,,ColorSpace,scene-linear,"file-io,working-space,texture","acescg,lin_ap1,lin_ap1_scene,ACES - ACEScg",lin_ap1_scene +100,urn:ampas:aces:transformId:v2.0:CSC.Academy.ADX10_to_ACES.a2.v1,Input - ADX - ADX10,TRUE,ADX10_to_ACES2065-1,,ColorSpace,log,file-io,adx10,ocio:adx10_apd_scene +100,urn:ampas:aces:transformId:v2.0:CSC.Academy.ADX16_to_ACES.a2.v1,Input - ADX - ADX16,TRUE,ADX16_to_ACES2065-1,,ColorSpace,log,file-io,adx16,ocio:adx16_apd_scene +105,urn:ampas:aces:transformId:v2.0:CSC.Apple.AppleLog_BT2020_to_ACES.a2.v1,,FALSE,APPLE_LOG_to_ACES2065-1,,ColorSpace,log,file-io,,ocio:applelog_rec2020_scene +110,urn:ampas:aces:transformId:v2.0:CSC.Arri.LogC3_to_ACES.a2.v1,,FALSE,ARRI_ALEXA-LOGC-EI800-AWG_to_ACES2065-1,,ColorSpace,log,file-io,logc3ei800_alexawide,ocio:arrilogc3_awg3_scene +110,urn:ampas:aces:transformId:v2.0:CSC.Arri.LogC4_to_ACES.a2.v1,,FALSE,ARRI_LOGC4_to_ACES2065-1,,ColorSpace,log,file-io,, +130,urn:ampas:aces:transformId:v2.0:CSC.Panasonic.VLog_VGamut_to_ACES.a2.v1,,FALSE,PANASONIC_VLOG-VGAMUT_to_ACES2065-1,,ColorSpace,log,file-io,vlog_vgamut,ocio:vlog_vgamut_scene +135,urn:ampas:aces:transformId:v2.0:CSC.Red.Log3G10_RWG_to_ACES.a2.v1,,FALSE,RED_LOG3G10-RWG_to_ACES2065-1,,ColorSpace,log,file-io,log3g10_rwg,ocio:redlog3g10_rwg_scene +140,urn:ampas:aces:transformId:v2.0:CSC.Sony.SLog3_SGamut3_to_ACES.a2.v1,,FALSE,SONY_SLOG3-SGAMUT3_to_ACES2065-1,,ColorSpace,log,file-io,slog3_sgamut3,ocio:slog3_sgamut3_scene +140,urn:ampas:aces:transformId:v2.0:CSC.Sony.SLog3_SGamut3Cine_to_ACES.a2.v1,,FALSE,SONY_SLOG3-SGAMUT3.CINE_to_ACES2065-1,,ColorSpace,log,file-io,slog3_sgamut3cine,ocio:slog3_sgamut3cine_scene +140,urn:ampas:aces:transformId:v2.0:CSC.Sony.Venice_SLog3_SGamut3_to_ACES.a2.v1,,FALSE,SONY_SLOG3-SGAMUT3-VENICE_to_ACES2065-1,,ColorSpace,log,file-io,slog3_venice_sgamut3,ocio:slog3_sgamut3venice_scene +140,urn:ampas:aces:transformId:v2.0:CSC.Sony.Venice_SLog3_SGamut3Cine_to_ACES.a2.v1,,FALSE,SONY_SLOG3-SGAMUT3.CINE-VENICE_to_ACES2065-1,,ColorSpace,log,file-io,slog3_venice_sgamut3cine,ocio:slog3_sgamut3cinevenice_scene +300,urn:ampas:aces:transformId:v2.0:Look.Academy.ReferenceGamutCompress.a2.v1,,FALSE,ACES-LMT - ACES 1.3 Reference Gamut Compression,,Look,,,, +400,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_sRGB - MIRROR NEGS,ViewTransform,sdr-video,file-io,,srgb_rec709_display +401,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC709-D65_2.0,DISPLAY - CIE-XYZ-D65_to_sRGB - MIRROR NEGS,ViewTransform,sdr-video,file-io,,srgb_rec709_display +405,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_Gamma2pt2.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_G2.2-REC.709 - MIRROR NEGS,ViewTransform,sdr-video,file-io,,g22_rec709_display +406,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec709-D65_Gamma2pt2.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC709-D65_2.0,DISPLAY - CIE-XYZ-D65_to_G2.2-REC.709 - MIRROR NEGS,ViewTransform,sdr-video,file-io,,g22_rec709_display +410,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_48nit_in_XYZ-E_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DCDM-D65,ViewTransform,sdr-video,file-io,,g26_xyzd65_display +411,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_48nit_in_XYZ-E_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D60-in-XYZ-E_2.0,DISPLAY - CIE-XYZ-D65_to_DCDM-D65,ViewTransform,sdr-video,file-io,,g26_xyzd65_display +415,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3,ViewTransform,sdr-video,file-io,,srgb_p3d65_display +416,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3,ViewTransform,sdr-video,file-io,,srgb_p3d65_display +420,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,hdr-video,file-io,,srgbx_p3d65_display +421,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,hdr-video,file-io,,srgbx_p3d65_display +422,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,hdr-video,file-io,,srgb_p3d65_display +423,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,hdr-video,file-io,,srgb_p3d65_display +430,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D65 - MIRROR NEGS,ViewTransform,sdr-video,file-io,,g26_p3d65_display +431,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_48nit_in_P3-D65_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D65 - MIRROR NEGS,ViewTransform,sdr-video,file-io,,g26_p3d65_display +435,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D65 - MIRROR NEGS,ViewTransform,sdr-video,file-io,,g26_p3d65_display +436,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_48nit_in_P3-D65_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D65 - MIRROR NEGS,ViewTransform,sdr-video,file-io,,g26_p3d65_display +440,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_BT1886.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_REC.1886-REC.709 - MIRROR NEGS,ViewTransform,sdr-video,file-io,,g24_rec709_display +441,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec709-D65_BT1886.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC709-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.1886-REC.709 - MIRROR NEGS,ViewTransform,sdr-video,file-io,,g24_rec709_display +445,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_Rec2100-D65_HLG.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-HLG-1000nit,ViewTransform,hdr-video,file-io,,hlg_rec2020_display +446,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_Rec2100-D65_HLG.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-HLG-1000nit,ViewTransform,hdr-video,file-io,,hlg_rec2020_display +450,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_500nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io,,pq_rec2020_display +451,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io,,pq_rec2020_display +451,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_2000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io,,pq_rec2020_display +451,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_4000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io,,pq_rec2020_display +455,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_500nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io,,pq_rec2020_display +456,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io,,pq_rec2020_display +456,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_2000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io,,pq_rec2020_display +456,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_4000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io,,pq_rec2020_display +460,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_500nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-REC2020_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io,,pq_rec2020_display +461,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-REC2020_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io,,pq_rec2020_display +461,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_2000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-REC2020_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io,,pq_rec2020_display +461,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_4000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-REC2020_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io,,pq_rec2020_display +465,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_500nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-REC2020-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io,,pq_rec2020_display +466,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_1000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-REC2020-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io,,pq_rec2020_display +466,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_2000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-REC2020-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io,,pq_rec2020_display +466,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_4000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-REC2020-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io,,pq_rec2020_display +470,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,sdr-video,file-io,,pq_rec2020_display +470,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,sdr-video,file-io,,pq_rec2020_display +475,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_300nit_in_XYZ-E_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-300nit-P3-D60-in-XYZ-E_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-DCDM-D65,ViewTransform,hdr-video,file-io,,pq_xyzd65_display +475,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_300nit_in_XYZ-E_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-300nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-DCDM-D65,ViewTransform,hdr-video,file-io,,pq_xyzd65_display +480,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_108nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-108nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io,,pq_p3d65_display +481,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_500nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io,,pq_p3d65_display +482,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io,,pq_p3d65_display +482,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_2000nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io,,pq_p3d65_display +482,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_4000nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io,,pq_p3d65_display +485,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_108nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-108nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io,,pq_p3d65_display +486,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_500nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io,,pq_p3d65_display +487,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io,,pq_p3d65_display +487,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_2000nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io,,pq_p3d65_display +487,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_4000nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io,,pq_p3d65_display +490,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,sdr-video,file-io,,pq_p3d65_display +491,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,sdr-video,file-io,,pq_p3d65_display diff --git a/opencolorio_config_aces/config/studio/generate/resources/Loading... - Studio Config - Mapping.csv b/opencolorio_config_aces/config/studio/generate/resources/Loading... - Studio Config - Mapping.csv index 64388d77..6f0ae67a 100644 --- a/opencolorio_config_aces/config/studio/generate/resources/Loading... - Studio Config - Mapping.csv +++ b/opencolorio_config_aces/config/studio/generate/resources/Loading... - Studio Config - Mapping.csv @@ -1,111 +1,111 @@ -Ordering,Colorspace,Legacy,ACEStransformID,CLFtransformID,Interface,BuiltinTransform Style,Aliases,Encoding,Categories -100,ACEScc,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Academy.ACEScc_to_ACES.a2.v1,,ColorSpace,ACEScc_to_ACES2065-1,"acescc,acescc_ap1,ACES - ACEScc",log,file-io -100,ACEScct,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Academy.ACEScct_to_ACES.a2.v1,,ColorSpace,ACEScct_to_ACES2065-1,"acescct,acescct_ap1,ACES - ACEScct",log,"file-io,working-space" -100,ACEScg,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Academy.ACEScg_to_ACES.a2.v1,,ColorSpace,ACEScg_to_ACES2065-1,"acescg,lin_ap1,lin_ap1_scene,ACES - ACEScg",scene-linear,"file-io,working-space,texture" -100,Input - ADX - ADX10,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Academy.ADX10_to_ACES.a2.v1,,ColorSpace,ADX10_to_ACES2065-1,"adx10,Input - ADX - ADX10",log,file-io -100,Input - ADX - ADX16,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Academy.ADX16_to_ACES.a2.v1,,ColorSpace,ADX16_to_ACES2065-1,"adx16,Input - ADX - ADX16",log,file-io -105,Apple Log,FALSE,urn:ampas:aces:transformId:v2.0:CSC.Apple.AppleLog_BT2020_to_ACES.a2.v1,urn:aswf:ocio:transformId:1.0:Apple:Input:Apple_Log_to_ACES2065-1:1.0,ColorSpace,APPLE_LOG_to_ACES2065-1,,log,file-io -105,Apple Log - Curve,FALSE,,urn:aswf:ocio:transformId:1.0:Apple:Input:Apple_Log-Curve_to_Linear:1.0,NamedTransform,CURVE - APPLE_LOG_to_LINEAR,,log,file-io -110,ARRI LogC3 - Curve (EI800),TRUE,,urn:aswf:ocio:transformId:1.0:ARRI:Input:ARRI_LogC3_Curve_EI800_to_Linear:1.0,NamedTransform,,crv_logc3ei800,log,file-io -110,ARRI LogC3 (EI800),TRUE,urn:ampas:aces:transformId:v2.0:CSC.Arri.LogC3_to_ACES.a2.v1,urn:aswf:ocio:transformId:1.0:ARRI:Input:ARRI_LogC3_EI800_to_ACES2065-1:1.0,ColorSpace,,"logc3ei800_alexawide,Input - ARRI - V3 LogC (EI800) - Wide Gamut",log,file-io -110,Linear ARRI Wide Gamut 3,TRUE,,urn:aswf:ocio:transformId:1.0:ARRI:Input:Linear_ARRI_Wide_Gamut_3_to_ACES2065-1:1.0,ColorSpace,,"lin_alexawide,Input - ARRI - Linear - ALEXA Wide Gamut",scene-linear,file-io -111,ARRI LogC4,FALSE,urn:ampas:aces:transformId:v2.0:CSC.Arri.LogC4_to_ACES.a2.v1,urn:aswf:ocio:transformId:1.0:ARRI:Input:ARRI_LogC4_to_ACES2065-1:1.0,ColorSpace,,,log,file-io -111,ARRI LogC4 - Curve,FALSE,,urn:aswf:ocio:transformId:1.0:ARRI:Input:ARRI_LogC4_Curve_to_Linear:1.0,NamedTransform,,,log,file-io -111,Linear ARRI Wide Gamut 4,FALSE,,urn:aswf:ocio:transformId:1.0:ARRI:Input:Linear_ARRI_Wide_Gamut_4_to_ACES2065-1:1.0,ColorSpace,,lin_awg4,scene-linear,file-io -115,BMDFilm Gen5 Log - Curve,FALSE,,urn:aswf:ocio:transformId:1.0:BlackmagicDesign:Input:BMDFilm_Gen5_Log-Curve_to_Linear:1.0,NamedTransform,,,log,file-io -115,BMDFilm WideGamut Gen5,FALSE,urn:ampas:aces:transformId:v2.0:CSC.Blackmagic.BMDFilm_WideGamut_Gen5_to_ACES.a2.v1,urn:aswf:ocio:transformId:1.0:BlackmagicDesign:Input:BMDFilm_WideGamut_Gen5_to_ACES2065-1:1.0,ColorSpace,,,log,file-io -115,Linear BMD WideGamut Gen5,FALSE,,urn:aswf:ocio:transformId:1.0:BlackmagicDesign:Input:Linear_BMD_WideGamut_Gen5_to_ACES2065-1:1.0,ColorSpace,,,scene-linear,file-io -116,DaVinci Intermediate Log - Curve,FALSE,,urn:aswf:ocio:transformId:1.0:BlackmagicDesign:Input:DaVinci_Intermediate_Log-Curve_to_Linear:1.0,NamedTransform,,,log,file-io -116,DaVinci Intermediate WideGamut,FALSE,,urn:aswf:ocio:transformId:1.0:BlackmagicDesign:Input:DaVinci_Intermediate_WideGamut_to_ACES2065-1:1.0,ColorSpace,,,log,file-io -116,Linear DaVinci WideGamut,FALSE,,urn:aswf:ocio:transformId:1.0:BlackmagicDesign:Input:Linear_DaVinci_WideGamut_to_ACES2065-1:1.0,ColorSpace,,,scene-linear,file-io -120,C-Log2 - Curve,TRUE,,urn:aswf:ocio:transformId:1.0:Canon:Input:CLog2-Curve_to_Linear:1.0,NamedTransform,CURVE - CANON_CLOG2_to_LINEAR,"crv_canonlog2,Input - Canon - Curve - Canon-Log2",log,file-io -120,CanonLog2 CinemaGamut D55,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Canon.CLog2_CGamut_to_ACES.a1.v1,urn:aswf:ocio:transformId:1.0:Canon:Input:CanonLog2_CinemaGamut-D55_to_ACES2065-1:1.0,ColorSpace,CANON_CLOG2-CGAMUT_to_ACES2065-1,"canonlog2_cgamutday,Input - Canon - Canon-Log2 - Cinema Gamut Daylight",log,file-io -120,Linear CinemaGamut D55,TRUE,,urn:aswf:ocio:transformId:1.0:Canon:Input:Linear-CinemaGamut-D55_to_ACES2065-1:1.0,ColorSpace,,"lin_canoncgamutday,Input - Canon - Linear - Canon Cinema Gamut Daylight",scene-linear,file-io -121,C-Log3 - Curve,TRUE,,urn:aswf:ocio:transformId:1.0:Canon:Input:CLog3-Curve_to_Linear:1.0,NamedTransform,CURVE - CANON_CLOG3_to_LINEAR,"crv_canonlog3,Input - Canon - Curve - Canon-Log3",log,file-io -121,CanonLog3 CinemaGamut D55,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Canon.CLog3_CGamut_to_ACES.a1.v1,urn:aswf:ocio:transformId:1.0:Canon:Input:CanonLog3_CinemaGamut-D55_to_ACES2065-1:1.0,ColorSpace,CANON_CLOG3-CGAMUT_to_ACES2065-1,"canonlog3_cgamutday,Input - Canon - Canon-Log3 - Cinema Gamut Daylight",log,file-io -125,Input - DJI - D-Log - D-Gamut,FALSE,urn:ampas:aces:transformId:v2.0:CSC.DJI.DLog_DGamut_to_ACES.a1.v1,urn:aswf:ocio:transformId:1.0:DJI:Input:DLog_DGamut_to_ACES2065-1:1.0,ColorSpace,,dlog_dgamut,log,file-io -130,D-Log - Curve,TRUE,,urn:aswf:ocio:transformId:1.0:DJI:Input:DLog-Curve_to_Linear:1.0,NamedTransform,,crv_dlog,log,file-io -130,Linear D-Gamut,TRUE,,urn:aswf:ocio:transformId:1.0:DJI:Input:Linear_DGamut_to_ACES2065-1:1.0,ColorSpace,,lin_dgamut,scene-linear,file-io -130,V-Log V-Gamut,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Panasonic.VLog_VGamut_to_ACES.a2.v1,urn:aswf:ocio:transformId:1.0:Panasonic:Input:VLog_VGamut_to_ACES2065-1:1.0,ColorSpace,,"vlog_vgamut,Input - Panasonic - V-Log - V-Gamut",log,file-io -135,Linear V-Gamut,TRUE,,urn:aswf:ocio:transformId:1.0:Panasonic:Input:Linear_VGamut_to_ACES2065-1:1.0,ColorSpace,,"lin_vgamut,Input - Panasonic - Linear - V-Gamut",scene-linear,file-io -135,Log3G10 REDWideGamutRGB,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Red.Log3G10_RWG_to_ACES.a2.v1,urn:aswf:ocio:transformId:1.0:RED:Input:Log3G10_REDWideGamutRGB_to_ACES2065-1:1.0,ColorSpace,,"rl3g10_rwg,Input - RED - REDLog3G10 - REDWideGamutRGB",log,file-io -135,V-Log - Curve,TRUE,,urn:aswf:ocio:transformId:1.0:Panasonic:Input:VLog-Curve_to_Linear:1.0,NamedTransform,,"crv_vlog,Input - Panasonic - Curve - V-Log",log,file-io -140,Linear REDWideGamutRGB,TRUE,,urn:aswf:ocio:transformId:1.0:RED:Input:Linear_REDWideGamutRGB_to_ACES2065-1:1.0,ColorSpace,,"lin_rwg,Input - RED - Linear - REDWideGamutRGB",scene-linear,file-io -140,Log3G10 - Curve,TRUE,,urn:aswf:ocio:transformId:1.0:RED:Input:Log3G10-Curve_to_Linear:1.0,NamedTransform,,"crv_rl3g10,Input - RED - Curve - REDLog3G10",log,file-io -140,S-Log3 S-Gamut3,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Sony.SLog3_SGamut3_to_ACES.a2.v1,urn:aswf:ocio:transformId:1.0:Sony:Input:SLog3_SGamut3_to_ACES2065-1:1.0,ColorSpace,,"slog3_sgamut3,Input - Sony - S-Log3 - S-Gamut3",log,file-io -141,S-Log3 S-Gamut3.Cine,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Sony.SLog3_SGamut3Cine_to_ACES.a2.v1,urn:aswf:ocio:transformId:1.0:Sony:Input:SLog3_SGamut3Cine_to_ACES2065-1:1.0,ColorSpace,,"slog3_sgamutcine,Input - Sony - S-Log3 - S-Gamut3.Cine",log,file-io -142,S-Log3 Venice S-Gamut3,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Sony.Venice_SLog3_SGamut3_to_ACES.a2.v1,urn:aswf:ocio:transformId:1.0:Sony:Input:SLog3_Venice_SGamut3_to_ACES2065-1:1.0,ColorSpace,,"slog3_venice_sgamut3,Input - Sony - S-Log3 - Venice S-Gamut3",log,file-io -143,S-Log3 Venice S-Gamut3.Cine,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Sony.Venice_SLog3_SGamut3Cine_to_ACES.a2.v1,urn:aswf:ocio:transformId:1.0:Sony:Input:SLog3_Venice_SGamut3Cine_to_ACES2065-1:1.0,ColorSpace,,"slog3_venice_sgamutcine,Input - Sony - S-Log3 - Venice S-Gamut3.Cine",log,file-io -145,Linear S-Gamut3,TRUE,,urn:aswf:ocio:transformId:1.0:Sony:Input:Linear_SGamut3_to_ACES2065-1:1.0,ColorSpace,,"lin_sgamut3,Input - Sony - Linear - S-Gamut3",scene-linear,file-io -145,S-Log3 - Curve,TRUE,,urn:aswf:ocio:transformId:1.0:Sony:Input:SLog3-Curve_to_Linear:1.0,NamedTransform,,"crv_slog3,Input - Sony - Curve - S-Log3",log,file-io -146,Linear S-Gamut3.Cine,TRUE,,urn:aswf:ocio:transformId:1.0:Sony:Input:Linear_SGamut3Cine_to_ACES2065-1:1.0,ColorSpace,,"lin_sgamut3cine,Input - Sony - Linear - S-Gamut3.Cine",scene-linear,file-io -147,Linear Venice S-Gamut3,TRUE,,urn:aswf:ocio:transformId:1.0:Sony:Input:Linear_Venice_SGamut3_to_ACES2065-1:1.0,ColorSpace,,"lin_venice_sgamut3,Input - Sony - Linear - Venice S-Gamut3",scene-linear,file-io -148,Linear Venice S-Gamut3.Cine,TRUE,,urn:aswf:ocio:transformId:1.0:Sony:Input:Linear_Venice_SGamut3Cine_to_ACES2065-1:1.0,ColorSpace,,"lin_venice_sgamut3cine,Input - Sony - Linear - Venice S-Gamut3.Cine",scene-linear,file-io -300,ACES 1.3 Reference Gamut Compression,FALSE,urn:ampas:aces:transformId:v2.0:Look.Academy.ReferenceGamutCompress.a2.v1,,Look,,,scene-linear, -300,SDR Tonescale Match,FALSE,urn:ampas:aces:transformId:v2.0:Look.Academy.v1_SDR_Tonescale_Match.a2.v1,,Look,,,scene-linear, -400,Rec709-D65_100nit_in_Rec709-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io -401,Rec709-D60_100nit_in_Rec709-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC709-D65_2.0,,sdr-video,file-io -405,Rec709-D65_100nit_in_Rec709-D65_Gamma2pt2,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_Gamma2pt2.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io -406,Rec709-D60_100nit_in_Rec709-D65_Gamma2pt2,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec709-D65_Gamma2pt2.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC709-D65_2.0,,sdr-video,file-io -415,P3-D65_100nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,,sdr-video,file-io -416,P3-D60_100nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D60-in-P3-D65_2.0,,sdr-video,file-io -420,P3-D65_1000nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,,hdr-video,file-io -421,P3-D60_1000nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-P3-D65_2.0,,hdr-video,file-io -422,Rec709-D65_100nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,hdr-video,file-io -423,Rec709-D60_100nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-P3-D65_2.0,,hdr-video,file-io -430,P3-D65_48nit_in_P3-D65_Gamma2pt6,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,,sdr-video,file-io -431,P3-D60_48nit_in_P3-D65_Gamma2pt6,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_48nit_in_P3-D65_Gamma2pt6.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D60-in-P3-D65_2.0,,sdr-video,file-io -435,Rec709-D65_48nit_in_P3-D65_Gamma2pt6,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io -436,Rec709-D60_48nit_in_P3-D65_Gamma2pt6,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_48nit_in_P3-D65_Gamma2pt6.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-P3-D65_2.0,,sdr-video,file-io -440,Rec709-D65_100nit_in_Rec709-D65_BT1886,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_BT1886.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io -440,sRGB - Curve,TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:Linear_to_sRGB-Curve:1.0,NamedTransform,,"crv_srgb,Utility - Curve - sRGB",sdr-video,file-io -441,Rec.1886 - Curve,TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:Linear_to_Rec1886-Curve:1.0,NamedTransform,,"crv_rec1886,Utility - Curve - Rec.1886",sdr-video,file-io -441,Rec709-D60_100nit_in_Rec709-D65_BT1886,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec709-D65_BT1886.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC709-D65_2.0,,sdr-video,file-io -442,Rec.709 - Curve,TRUE,,urn:aswf:ocio:transformId:1.0:ITU:Utility:Linear_to_Rec709-Curve:1.0,NamedTransform,,"crv_rec709,Utility - Curve - Rec.709",sdr-video,file-io -443,ST-2084 - Curve,FALSE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:Linear_to_ST2084-Curve:1.0,NamedTransform,CURVE - LINEAR_to_ST-2084,,hdr-video,file-io -445,P3-D65_1000nit_in_Rec2100-D65_HLG,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_Rec2100-D65_HLG.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,,hdr-video,file-io -446,P3-D60_1000nit_in_Rec2100-D65_HLG,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_Rec2100-D65_HLG.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-REC2020-D65_2.0,,hdr-video,file-io -450,P3-D65_500nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_500nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D65_2.0,,hdr-video,file-io -451,P3-D65_1000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,,hdr-video,file-io -451,P3-D65_2000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_2000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D65_2.0,,hdr-video,file-io -451,P3-D65_4000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_4000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D65_2.0,,hdr-video,file-io -455,P3-D60_500nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_500nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D60-in-REC2020-D65_2.0,,hdr-video,file-io -456,P3-D60_1000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-REC2020-D65_2.0,,hdr-video,file-io -456,P3-D60_2000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_2000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D60-in-REC2020-D65_2.0,,hdr-video,file-io -456,P3-D60_4000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_4000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D60-in-REC2020-D65_2.0,,hdr-video,file-io -460,Rec2100-D65_500nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_500nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-REC2020_2.0,,hdr-video,file-io -461,Rec2100-D65_1000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-REC2020_2.0,,hdr-video,file-io -461,Rec2100-D65_2000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_2000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-REC2020_2.0,,hdr-video,file-io -461,Rec2100-D65_4000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_4000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-REC2020_2.0,,hdr-video,file-io -465,Rec2100-D60_500nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_500nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-REC2020-D60-in-REC2020-D65_2.0,,hdr-video,file-io -466,Rec2100-D60_1000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_1000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-REC2020-D60-in-REC2020-D65_2.0,,hdr-video,file-io -466,Rec2100-D60_2000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_2000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-REC2020-D60-in-REC2020-D65_2.0,,hdr-video,file-io -466,Rec2100-D60_4000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_4000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-REC2020-D60-in-REC2020-D65_2.0,,hdr-video,file-io -470,Rec709-D60_100nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC2020-D65_2.0,,sdr-video,file-io -470,Rec709-D65_100nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io -480,P3-D65_108nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_108nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-108nit-P3-D65_2.0,,hdr-video,file-io -481,P3-D65_500nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_500nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D65_2.0,,hdr-video,file-io -482,P3-D65_1000nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,,hdr-video,file-io -482,P3-D65_2000nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_2000nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D65_2.0,,hdr-video,file-io -482,P3-D65_4000nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_4000nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D65_2.0,,hdr-video,file-io -485,P3-D60_108nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_108nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-108nit-P3-D60-in-P3-D65_2.0,,hdr-video,file-io -486,P3-D60_500nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_500nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D60-in-P3-D65_2.0,,hdr-video,file-io -487,P3-D60_1000nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-P3-D65_2.0,,hdr-video,file-io -487,P3-D60_2000nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_2000nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D60-in-P3-D65_2.0,,hdr-video,file-io -487,P3-D60_4000nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_4000nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D60-in-P3-D65_2.0,,hdr-video,file-io -490,Rec709-D65_100nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io -491,Rec709-D60_100nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC2020-D65_2.0,,sdr-video,file-io -500,sRGB Encoded Rec.709 (sRGB),TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_sRGB-Encoded-Rec709:1.0,ColorSpace,,"srgb_texture,srgb_rec709_scene,Utility - sRGB - Texture,Input - Generic - sRGB - Texture,sRGB - Texture,srgb_tx",sdr-video,"file-io,texture" -501,Gamma 1.8 Encoded Rec.709,TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma1.8_Encoded_Rec709:1.0,ColorSpace,,"g18_rec709,Utility - Gamma 1.8 - Rec.709 - Texture,Gamma 1.8 Rec.709 - Texture,g18_rec709_tx,g18_rec709_scene",sdr-video,"file-io,texture" -502,Gamma 2.2 Encoded Rec.709,TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma2.2_Encoded_Rec709:1.0,ColorSpace,,"g22_rec709,Utility - Gamma 2.2 - Rec.709 - Texture,Gamma 2.2 Rec.709 - Texture,g22_rec709_tx,g22_rec709_scene",sdr-video,"file-io,texture" -503,Gamma 2.4 Encoded Rec.709,FALSE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma2.4_Encoded_Rec709:1.0,ColorSpace,,"g24_rec709,rec709_display,Utility - Rec.709 - Display,Gamma 2.4 Rec.709 - Texture,g24_rec709_tx",sdr-video,"file-io,texture" -504,Camera Rec.709,TRUE,,urn:aswf:ocio:transformId:1.0:ITU:Utility:AP0_to_Camera_Rec709:1.0,ColorSpace,,"rec709_camera,Utility - Rec.709 - Camera",sdr-video,file-io -505,sRGB Encoded P3-D65,FALSE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_sRGB_Encoded_P3-D65:1.0,ColorSpace,,"srgb_p3d65,srgb_displayp3,srgb_p3d65_scene,sRGB Encoded P3-D65 - Texture,srgb_encoded_p3d65_tx",sdr-video,"file-io,texture" -506,Gamma 2.2 Encoded AdobeRGB,FALSE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma2.2_Encoded_AdobeRGB:1.0,ColorSpace,,"adobergb,g22_adobergb_scene",sdr-video,"file-io,texture" -507,sRGB Encoded AP1,FALSE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_sRGB_Encoded_AP1:1.0,ColorSpace,,"srgb_ap1,srgb_ap1_scene,sRGB Encoded AP1 - Texture,srgb_encoded_ap1_tx",sdr-video,"file-io,texture" -508,Gamma 2.2 Encoded AP1,FALSE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma2.2_Encoded_AP1:1.0,ColorSpace,,"g22_ap1,Gamma 2.2 AP1 - Texture,g22_ap1_tx,g22_ap1_scene",sdr-video,"file-io,texture" -520,CIE XYZ-D65 - Scene-referred,FALSE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_CIE_XYZ-D65-Scene-referred:1.0,ColorSpace,,lin_ciexyzd65_scene,scene-linear,file-io -520,Linear AdobeRGB,FALSE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Linear_AdobeRGB:1.0,ColorSpace,,"lin_adobergb,lin_adobergb_scene,Utility - Linear - Adobe RGB",scene-linear,"file-io,texture" -520,Linear P3-D65,TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Linear_P3-D65:1.0,ColorSpace,,"lin_p3d65,lin_displayp3,lin_p3d65_scene,Utility - Linear - P3-D65,Linear Display P3",scene-linear,"file-io,working-space,texture" -520,Linear Rec.2020,TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Linear_Rec2020:1.0,ColorSpace,,"lin_rec2020,lin_rec2020_scene,Utility - Linear - Rec.2020",scene-linear,"file-io,texture" -520,Linear Rec.709 (sRGB),TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Linear_Rec709:1.0,ColorSpace,,"lin_rec709,lin_rec709_scene,lin_srgb,Utility - Linear - sRGB,Utility - Linear - Rec.709",scene-linear,"file-io,working-space,texture" +Ordering,Colorspace,Legacy,ACEStransformID,CLFtransformID,Interface,BuiltinTransform Style,Aliases,Encoding,Categories,InteropId +100,ACEScc,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Academy.ACEScc_to_ACES.a2.v1,,ColorSpace,ACEScc_to_ACES2065-1,"acescc,acescc_ap1,ACES - ACEScc",log,file-io,ocio:acescc_ap1_scene +100,ACEScct,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Academy.ACEScct_to_ACES.a2.v1,,ColorSpace,ACEScct_to_ACES2065-1,"acescct,acescct_ap1,ACES - ACEScct",log,"file-io,working-space",ocio:acescct_ap1_scene +100,ACEScg,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Academy.ACEScg_to_ACES.a2.v1,,ColorSpace,ACEScg_to_ACES2065-1,"acescg,lin_ap1,lin_ap1_scene,ACES - ACEScg",scene-linear,"file-io,working-space,texture",lin_ap1_scene +100,Input - ADX - ADX10,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Academy.ADX10_to_ACES.a2.v1,,ColorSpace,ADX10_to_ACES2065-1,"adx10,Input - ADX - ADX10",log,file-io,ocio:adx10_apd_scene +100,Input - ADX - ADX16,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Academy.ADX16_to_ACES.a2.v1,,ColorSpace,ADX16_to_ACES2065-1,"adx16,Input - ADX - ADX16",log,file-io,ocio:adx16_apd_scene +105,Apple Log,FALSE,urn:ampas:aces:transformId:v2.0:CSC.Apple.AppleLog_BT2020_to_ACES.a2.v1,urn:aswf:ocio:transformId:1.0:Apple:Input:Apple_Log_to_ACES2065-1:1.0,ColorSpace,APPLE_LOG_to_ACES2065-1,,log,file-io,ocio:applelog_rec2020_scene +105,Apple Log - Curve,FALSE,,urn:aswf:ocio:transformId:1.0:Apple:Input:Apple_Log-Curve_to_Linear:1.0,NamedTransform,CURVE - APPLE_LOG_to_LINEAR,,log,file-io, +110,ARRI LogC3 - Curve (EI800),TRUE,,urn:aswf:ocio:transformId:1.0:ARRI:Input:ARRI_LogC3_Curve_EI800_to_Linear:1.0,NamedTransform,,crv_logc3ei800,log,file-io, +110,ARRI LogC3 (EI800),TRUE,urn:ampas:aces:transformId:v2.0:CSC.Arri.LogC3_to_ACES.a2.v1,urn:aswf:ocio:transformId:1.0:ARRI:Input:ARRI_LogC3_EI800_to_ACES2065-1:1.0,ColorSpace,,"logc3ei800_alexawide,Input - ARRI - V3 LogC (EI800) - Wide Gamut",log,file-io,ocio:arrilogc3_awg3_scene +110,Linear ARRI Wide Gamut 3,TRUE,,urn:aswf:ocio:transformId:1.0:ARRI:Input:Linear_ARRI_Wide_Gamut_3_to_ACES2065-1:1.0,ColorSpace,,"lin_alexawide,Input - ARRI - Linear - ALEXA Wide Gamut",scene-linear,file-io,ocio:lin_awg3_scene +111,ARRI LogC4,FALSE,urn:ampas:aces:transformId:v2.0:CSC.Arri.LogC4_to_ACES.a2.v1,urn:aswf:ocio:transformId:1.0:ARRI:Input:ARRI_LogC4_to_ACES2065-1:1.0,ColorSpace,,,log,file-io,ocio:arrilogc4_awg4_scene +111,ARRI LogC4 - Curve,FALSE,,urn:aswf:ocio:transformId:1.0:ARRI:Input:ARRI_LogC4_Curve_to_Linear:1.0,NamedTransform,,,log,file-io, +111,Linear ARRI Wide Gamut 4,FALSE,,urn:aswf:ocio:transformId:1.0:ARRI:Input:Linear_ARRI_Wide_Gamut_4_to_ACES2065-1:1.0,ColorSpace,,lin_awg4,scene-linear,file-io,ocio:lin_awg4_scene +115,BMDFilm Gen5 Log - Curve,FALSE,,urn:aswf:ocio:transformId:1.0:BlackmagicDesign:Input:BMDFilm_Gen5_Log-Curve_to_Linear:1.0,NamedTransform,,,log,file-io, +115,BMDFilm WideGamut Gen5,FALSE,urn:ampas:aces:transformId:v2.0:CSC.Blackmagic.BMDFilm_WideGamut_Gen5_to_ACES.a2.v1,urn:aswf:ocio:transformId:1.0:BlackmagicDesign:Input:BMDFilm_WideGamut_Gen5_to_ACES2065-1:1.0,ColorSpace,,,log,file-io,ocio:bmdfilm5_wg5_scene +115,Linear BMD WideGamut Gen5,FALSE,,urn:aswf:ocio:transformId:1.0:BlackmagicDesign:Input:Linear_BMD_WideGamut_Gen5_to_ACES2065-1:1.0,ColorSpace,,,scene-linear,file-io,ocio:lin_bmdwg5_scene +116,DaVinci Intermediate Log - Curve,FALSE,,urn:aswf:ocio:transformId:1.0:BlackmagicDesign:Input:DaVinci_Intermediate_Log-Curve_to_Linear:1.0,NamedTransform,,,log,file-io, +116,DaVinci Intermediate WideGamut,FALSE,,urn:aswf:ocio:transformId:1.0:BlackmagicDesign:Input:DaVinci_Intermediate_WideGamut_to_ACES2065-1:1.0,ColorSpace,,,log,file-io,ocio:davinci_dwg_scene +116,Linear DaVinci WideGamut,FALSE,,urn:aswf:ocio:transformId:1.0:BlackmagicDesign:Input:Linear_DaVinci_WideGamut_to_ACES2065-1:1.0,ColorSpace,,,scene-linear,file-io,ocio:lin_dwg_scene +120,C-Log2 - Curve,TRUE,,urn:aswf:ocio:transformId:1.0:Canon:Input:CLog2-Curve_to_Linear:1.0,NamedTransform,CURVE - CANON_CLOG2_to_LINEAR,"crv_canonlog2,Input - Canon - Curve - Canon-Log2",log,file-io, +120,CanonLog2 CinemaGamut D55,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Canon.CLog2_CGamut_to_ACES.a1.v1,urn:aswf:ocio:transformId:1.0:Canon:Input:CanonLog2_CinemaGamut-D55_to_ACES2065-1:1.0,ColorSpace,CANON_CLOG2-CGAMUT_to_ACES2065-1,"canonlog2_cgamutday,Input - Canon - Canon-Log2 - Cinema Gamut Daylight",log,file-io,ocio:canonlog2_cgamutd55_scene +120,Linear CinemaGamut D55,TRUE,,urn:aswf:ocio:transformId:1.0:Canon:Input:Linear-CinemaGamut-D55_to_ACES2065-1:1.0,ColorSpace,,"lin_canoncgamutday,Input - Canon - Linear - Canon Cinema Gamut Daylight",scene-linear,file-io,ocio:lin_cgamutd55_scene +121,C-Log3 - Curve,TRUE,,urn:aswf:ocio:transformId:1.0:Canon:Input:CLog3-Curve_to_Linear:1.0,NamedTransform,CURVE - CANON_CLOG3_to_LINEAR,"crv_canonlog3,Input - Canon - Curve - Canon-Log3",log,file-io, +121,CanonLog3 CinemaGamut D55,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Canon.CLog3_CGamut_to_ACES.a1.v1,urn:aswf:ocio:transformId:1.0:Canon:Input:CanonLog3_CinemaGamut-D55_to_ACES2065-1:1.0,ColorSpace,CANON_CLOG3-CGAMUT_to_ACES2065-1,"canonlog3_cgamutday,Input - Canon - Canon-Log3 - Cinema Gamut Daylight",log,file-io,ocio:canonlog3_cgamutd55_scene +125,Input - DJI - D-Log - D-Gamut,FALSE,urn:ampas:aces:transformId:v2.0:CSC.DJI.DLog_DGamut_to_ACES.a1.v1,urn:aswf:ocio:transformId:1.0:DJI:Input:DLog_DGamut_to_ACES2065-1:1.0,ColorSpace,,dlog_dgamut,log,file-io,ocio:djilog_dgamut_scene +130,D-Log - Curve,TRUE,,urn:aswf:ocio:transformId:1.0:DJI:Input:DLog-Curve_to_Linear:1.0,NamedTransform,,crv_dlog,log,file-io, +130,Linear D-Gamut,TRUE,,urn:aswf:ocio:transformId:1.0:DJI:Input:Linear_DGamut_to_ACES2065-1:1.0,ColorSpace,,lin_dgamut,scene-linear,file-io,ocio:lin_dgamut_scene +130,V-Log V-Gamut,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Panasonic.VLog_VGamut_to_ACES.a2.v1,urn:aswf:ocio:transformId:1.0:Panasonic:Input:VLog_VGamut_to_ACES2065-1:1.0,ColorSpace,,"vlog_vgamut,Input - Panasonic - V-Log - V-Gamut",log,file-io,ocio:vlog_vgamut_scene +135,Linear V-Gamut,TRUE,,urn:aswf:ocio:transformId:1.0:Panasonic:Input:Linear_VGamut_to_ACES2065-1:1.0,ColorSpace,,"lin_vgamut,Input - Panasonic - Linear - V-Gamut",scene-linear,file-io,ocio:lin_vgamut_scene +135,Log3G10 REDWideGamutRGB,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Red.Log3G10_RWG_to_ACES.a2.v1,urn:aswf:ocio:transformId:1.0:RED:Input:Log3G10_REDWideGamutRGB_to_ACES2065-1:1.0,ColorSpace,,"rl3g10_rwg,Input - RED - REDLog3G10 - REDWideGamutRGB",log,file-io,ocio:redlog3g10_rwg_scene +135,V-Log - Curve,TRUE,,urn:aswf:ocio:transformId:1.0:Panasonic:Input:VLog-Curve_to_Linear:1.0,NamedTransform,,"crv_vlog,Input - Panasonic - Curve - V-Log",log,file-io, +140,Linear REDWideGamutRGB,TRUE,,urn:aswf:ocio:transformId:1.0:RED:Input:Linear_REDWideGamutRGB_to_ACES2065-1:1.0,ColorSpace,,"lin_rwg,Input - RED - Linear - REDWideGamutRGB",scene-linear,file-io,ocio:lin_rwg_scene +140,Log3G10 - Curve,TRUE,,urn:aswf:ocio:transformId:1.0:RED:Input:Log3G10-Curve_to_Linear:1.0,NamedTransform,,"crv_rl3g10,Input - RED - Curve - REDLog3G10",log,file-io, +140,S-Log3 S-Gamut3,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Sony.SLog3_SGamut3_to_ACES.a2.v1,urn:aswf:ocio:transformId:1.0:Sony:Input:SLog3_SGamut3_to_ACES2065-1:1.0,ColorSpace,,"slog3_sgamut3,Input - Sony - S-Log3 - S-Gamut3",log,file-io,ocio:slog3_sgamut3_scene +141,S-Log3 S-Gamut3.Cine,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Sony.SLog3_SGamut3Cine_to_ACES.a2.v1,urn:aswf:ocio:transformId:1.0:Sony:Input:SLog3_SGamut3Cine_to_ACES2065-1:1.0,ColorSpace,,"slog3_sgamutcine,Input - Sony - S-Log3 - S-Gamut3.Cine",log,file-io,ocio:slog3_sgamut3cine_scene +142,S-Log3 Venice S-Gamut3,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Sony.Venice_SLog3_SGamut3_to_ACES.a2.v1,urn:aswf:ocio:transformId:1.0:Sony:Input:SLog3_Venice_SGamut3_to_ACES2065-1:1.0,ColorSpace,,"slog3_venice_sgamut3,Input - Sony - S-Log3 - Venice S-Gamut3",log,file-io,ocio:slog3_sgamut3venice_scene +143,S-Log3 Venice S-Gamut3.Cine,TRUE,urn:ampas:aces:transformId:v2.0:CSC.Sony.Venice_SLog3_SGamut3Cine_to_ACES.a2.v1,urn:aswf:ocio:transformId:1.0:Sony:Input:SLog3_Venice_SGamut3Cine_to_ACES2065-1:1.0,ColorSpace,,"slog3_venice_sgamutcine,Input - Sony - S-Log3 - Venice S-Gamut3.Cine",log,file-io,ocio:slog3_sgamut3cinevenice_scene +145,Linear S-Gamut3,TRUE,,urn:aswf:ocio:transformId:1.0:Sony:Input:Linear_SGamut3_to_ACES2065-1:1.0,ColorSpace,,"lin_sgamut3,Input - Sony - Linear - S-Gamut3",scene-linear,file-io,ocio:lin_sgamut3_scene +145,S-Log3 - Curve,TRUE,,urn:aswf:ocio:transformId:1.0:Sony:Input:SLog3-Curve_to_Linear:1.0,NamedTransform,,"crv_slog3,Input - Sony - Curve - S-Log3",log,file-io, +146,Linear S-Gamut3.Cine,TRUE,,urn:aswf:ocio:transformId:1.0:Sony:Input:Linear_SGamut3Cine_to_ACES2065-1:1.0,ColorSpace,,"lin_sgamut3cine,Input - Sony - Linear - S-Gamut3.Cine",scene-linear,file-io,ocio:lin_sgamut3cine_scene +147,Linear Venice S-Gamut3,TRUE,,urn:aswf:ocio:transformId:1.0:Sony:Input:Linear_Venice_SGamut3_to_ACES2065-1:1.0,ColorSpace,,"lin_venice_sgamut3,Input - Sony - Linear - Venice S-Gamut3",scene-linear,file-io,ocio:lin_sgamut3venice_scene +148,Linear Venice S-Gamut3.Cine,TRUE,,urn:aswf:ocio:transformId:1.0:Sony:Input:Linear_Venice_SGamut3Cine_to_ACES2065-1:1.0,ColorSpace,,"lin_venice_sgamut3cine,Input - Sony - Linear - Venice S-Gamut3.Cine",scene-linear,file-io,ocio:lin_sgamut3cinevenice_scene +300,ACES 1.3 Reference Gamut Compression,FALSE,urn:ampas:aces:transformId:v2.0:Look.Academy.ReferenceGamutCompress.a2.v1,,Look,,,scene-linear,, +300,SDR Tonescale Match,FALSE,urn:ampas:aces:transformId:v2.0:Look.Academy.v1_SDR_Tonescale_Match.a2.v1,,Look,,,scene-linear,, +400,Rec709-D65_100nit_in_Rec709-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io,srgb_rec709_display +401,Rec709-D60_100nit_in_Rec709-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC709-D65_2.0,,sdr-video,file-io,srgb_rec709_display +405,Rec709-D65_100nit_in_Rec709-D65_Gamma2pt2,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_Gamma2pt2.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io,g22_rec709_display +406,Rec709-D60_100nit_in_Rec709-D65_Gamma2pt2,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec709-D65_Gamma2pt2.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC709-D65_2.0,,sdr-video,file-io,g22_rec709_display +415,P3-D65_100nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,,sdr-video,file-io,srgb_p3d65_display +416,P3-D60_100nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D60-in-P3-D65_2.0,,sdr-video,file-io,srgb_p3d65_display +420,P3-D65_1000nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,,xdr-video,file-io,srgbx_p3d65_display +421,P3-D60_1000nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-P3-D65_2.0,,xdr-video,file-io,srgbx_p3d65_display +422,Rec709-D65_100nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,xdr-video,file-io,srgb_p3d65_display +423,Rec709-D60_100nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-P3-D65_2.0,,xdr-video,file-io,srgb_p3d65_display +430,P3-D65_48nit_in_P3-D65_Gamma2pt6,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,,sdr-video,file-io,g26_p3d65_display +431,P3-D60_48nit_in_P3-D65_Gamma2pt6,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_48nit_in_P3-D65_Gamma2pt6.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D60-in-P3-D65_2.0,,sdr-video,file-io,g26_p3d65_display +435,Rec709-D65_48nit_in_P3-D65_Gamma2pt6,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io,g26_p3d65_display +436,Rec709-D60_48nit_in_P3-D65_Gamma2pt6,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_48nit_in_P3-D65_Gamma2pt6.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-P3-D65_2.0,,sdr-video,file-io,g26_p3d65_display +440,Rec709-D65_100nit_in_Rec709-D65_BT1886,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_BT1886.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io,g24_rec709_display +440,sRGB - Curve,TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:Linear_to_sRGB-Curve:1.0,NamedTransform,,"crv_srgb,Utility - Curve - sRGB",sdr-video,file-io, +441,Rec.1886 - Curve,TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:Linear_to_Rec1886-Curve:1.0,NamedTransform,,"crv_rec1886,Utility - Curve - Rec.1886",sdr-video,file-io, +441,Rec709-D60_100nit_in_Rec709-D65_BT1886,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec709-D65_BT1886.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC709-D65_2.0,,sdr-video,file-io,g24_rec709_display +442,Rec.709 - Curve,TRUE,,urn:aswf:ocio:transformId:1.0:ITU:Utility:Linear_to_Rec709-Curve:1.0,NamedTransform,,"crv_rec709,Utility - Curve - Rec.709",sdr-video,file-io, +443,ST-2084 - Curve,FALSE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:Linear_to_ST2084-Curve:1.0,NamedTransform,CURVE - LINEAR_to_ST-2084,,hdr-video,file-io, +445,P3-D65_1000nit_in_Rec2100-D65_HLG,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_Rec2100-D65_HLG.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,,hdr-video,file-io,hlg_rec2020_display +446,P3-D60_1000nit_in_Rec2100-D65_HLG,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_Rec2100-D65_HLG.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-REC2020-D65_2.0,,hdr-video,file-io,hlg_rec2020_display +450,P3-D65_500nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_500nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D65_2.0,,hdr-video,file-io,pq_rec2020_display +451,P3-D65_1000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,,hdr-video,file-io,pq_rec2020_display +451,P3-D65_2000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_2000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D65_2.0,,hdr-video,file-io,pq_rec2020_display +451,P3-D65_4000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_4000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D65_2.0,,hdr-video,file-io,pq_rec2020_display +455,P3-D60_500nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_500nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D60-in-REC2020-D65_2.0,,hdr-video,file-io,pq_rec2020_display +456,P3-D60_1000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-REC2020-D65_2.0,,hdr-video,file-io,pq_rec2020_display +456,P3-D60_2000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_2000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D60-in-REC2020-D65_2.0,,hdr-video,file-io,pq_rec2020_display +456,P3-D60_4000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_4000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D60-in-REC2020-D65_2.0,,hdr-video,file-io,pq_rec2020_display +460,Rec2100-D65_500nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_500nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-REC2020_2.0,,hdr-video,file-io,pq_rec2020_display +461,Rec2100-D65_1000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-REC2020_2.0,,hdr-video,file-io,pq_rec2020_display +461,Rec2100-D65_2000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_2000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-REC2020_2.0,,hdr-video,file-io,pq_rec2020_display +461,Rec2100-D65_4000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_4000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-REC2020_2.0,,hdr-video,file-io,pq_rec2020_display +465,Rec2100-D60_500nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_500nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-REC2020-D60-in-REC2020-D65_2.0,,hdr-video,file-io,pq_rec2020_display +466,Rec2100-D60_1000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_1000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-REC2020-D60-in-REC2020-D65_2.0,,hdr-video,file-io,pq_rec2020_display +466,Rec2100-D60_2000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_2000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-REC2020-D60-in-REC2020-D65_2.0,,hdr-video,file-io,pq_rec2020_display +466,Rec2100-D60_4000nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_4000nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-REC2020-D60-in-REC2020-D65_2.0,,hdr-video,file-io,pq_rec2020_display +470,Rec709-D60_100nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC2020-D65_2.0,,sdr-video,file-io,pq_rec2020_display +470,Rec709-D65_100nit_in_Rec2100-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec2100-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io,pq_rec2020_display +480,P3-D65_108nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_108nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-108nit-P3-D65_2.0,,hdr-video,file-io,pq_p3d65_display +481,P3-D65_500nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_500nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D65_2.0,,hdr-video,file-io,pq_p3d65_display +482,P3-D65_1000nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,,hdr-video,file-io,pq_p3d65_display +482,P3-D65_2000nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_2000nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D65_2.0,,hdr-video,file-io,pq_p3d65_display +482,P3-D65_4000nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_4000nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D65_2.0,,hdr-video,file-io,pq_p3d65_display +485,P3-D60_108nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_108nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-108nit-P3-D60-in-P3-D65_2.0,,hdr-video,file-io,pq_p3d65_display +486,P3-D60_500nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_500nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D60-in-P3-D65_2.0,,hdr-video,file-io,pq_p3d65_display +487,P3-D60_1000nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-P3-D65_2.0,,hdr-video,file-io,pq_p3d65_display +487,P3-D60_2000nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_2000nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D60-in-P3-D65_2.0,,hdr-video,file-io,pq_p3d65_display +487,P3-D60_4000nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_4000nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D60-in-P3-D65_2.0,,hdr-video,file-io,pq_p3d65_display +490,Rec709-D65_100nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io,pq_p3d65_display +491,Rec709-D60_100nit_in_P3-D65_ST2084,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_P3-D65_ST2084.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC2020-D65_2.0,,sdr-video,file-io,pq_p3d65_display +500,sRGB Encoded Rec.709 (sRGB),TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_sRGB-Encoded-Rec709:1.0,ColorSpace,,"srgb_texture,srgb_rec709_scene,Utility - sRGB - Texture,Input - Generic - sRGB - Texture,sRGB - Texture,srgb_tx",sdr-video,"file-io,texture",srgb_rec709_scene +501,Gamma 1.8 Encoded Rec.709,TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma1.8_Encoded_Rec709:1.0,ColorSpace,,"g18_rec709,Utility - Gamma 1.8 - Rec.709 - Texture,Gamma 1.8 Rec.709 - Texture,g18_rec709_tx,g18_rec709_scene",sdr-video,"file-io,texture",g18_rec709_scene +502,Gamma 2.2 Encoded Rec.709,TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma2.2_Encoded_Rec709:1.0,ColorSpace,,"g22_rec709,Utility - Gamma 2.2 - Rec.709 - Texture,Gamma 2.2 Rec.709 - Texture,g22_rec709_tx,g22_rec709_scene",sdr-video,"file-io,texture",g22_rec709_scene +503,Gamma 2.4 Encoded Rec.709,FALSE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma2.4_Encoded_Rec709:1.0,ColorSpace,,"g24_rec709,rec709_display,Utility - Rec.709 - Display,Gamma 2.4 Rec.709 - Texture,g24_rec709_tx",sdr-video,"file-io,texture",ocio:g24_rec709_scene +504,Camera Rec.709,TRUE,,urn:aswf:ocio:transformId:1.0:ITU:Utility:AP0_to_Camera_Rec709:1.0,ColorSpace,,"rec709_camera,Utility - Rec.709 - Camera",sdr-video,file-io,itu709_rec709_scene +505,sRGB Encoded P3-D65,FALSE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_sRGB_Encoded_P3-D65:1.0,ColorSpace,,"srgb_p3d65,srgb_displayp3,srgb_p3d65_scene,sRGB Encoded P3-D65 - Texture,srgb_encoded_p3d65_tx",sdr-video,"file-io,texture",srgb_p3d65_scene +506,Gamma 2.2 Encoded AdobeRGB,FALSE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma2.2_Encoded_AdobeRGB:1.0,ColorSpace,,"adobergb,g22_adobergb_scene",sdr-video,"file-io,texture",g22_adobergb_scene +507,sRGB Encoded AP1,FALSE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_sRGB_Encoded_AP1:1.0,ColorSpace,,"srgb_ap1,srgb_ap1_scene,sRGB Encoded AP1 - Texture,srgb_encoded_ap1_tx",sdr-video,"file-io,texture",srgb_ap1_scene +508,Gamma 2.2 Encoded AP1,FALSE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma2.2_Encoded_AP1:1.0,ColorSpace,,"g22_ap1,Gamma 2.2 AP1 - Texture,g22_ap1_tx,g22_ap1_scene",sdr-video,"file-io,texture",g22_ap1_scene +520,CIE XYZ-D65 - Scene-referred,FALSE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_CIE_XYZ-D65-Scene-referred:1.0,ColorSpace,,lin_ciexyzd65_scene,scene-linear,file-io,lin_ciexyzd65_scene +520,Linear AdobeRGB,FALSE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Linear_AdobeRGB:1.0,ColorSpace,,"lin_adobergb,lin_adobergb_scene,Utility - Linear - Adobe RGB",scene-linear,"file-io,texture",lin_adobergb_scene +520,Linear P3-D65,TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Linear_P3-D65:1.0,ColorSpace,,"lin_p3d65,lin_displayp3,lin_p3d65_scene,Utility - Linear - P3-D65,Linear Display P3",scene-linear,"file-io,working-space,texture",lin_p3d65_scene +520,Linear Rec.2020,TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Linear_Rec2020:1.0,ColorSpace,,"lin_rec2020,lin_rec2020_scene,Utility - Linear - Rec.2020",scene-linear,"file-io,texture",lin_rec2020_scene +520,Linear Rec.709 (sRGB),TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Linear_Rec709:1.0,ColorSpace,,"lin_rec709,lin_rec709_scene,lin_srgb,Utility - Linear - sRGB,Utility - Linear - Rec.709",scene-linear,"file-io,working-space,texture",lin_rec709_scene From e9e1b2aa837de984fc1fc88843680213abcb1477 Mon Sep 17 00:00:00 2001 From: Thomas Mansencal Date: Thu, 18 Sep 2025 23:25:04 +1200 Subject: [PATCH 07/17] Implement support for `amf_transform_ids`. Closes #154. Signed-off-by: Thomas Mansencal --- docs/opencolorio_config_aces.config.rst | 1 + opencolorio_config_aces/__init__.py | 2 + opencolorio_config_aces/config/__init__.py | 2 + .../config/cg/generate/config.py | 92 ++++++-------- .../config/generation/configuration.py | 6 +- .../config/generation/factories.py | 8 ++ .../config/reference/__init__.py | 2 + .../config/reference/discover/__init__.py | 2 + .../config/reference/discover/classify.py | 98 ++++++-------- .../config/reference/generate/config.py | 120 ++++-------------- 10 files changed, 122 insertions(+), 211 deletions(-) diff --git a/docs/opencolorio_config_aces.config.rst b/docs/opencolorio_config_aces.config.rst index c6c04e4d..371d19d8 100644 --- a/docs/opencolorio_config_aces.config.rst +++ b/docs/opencolorio_config_aces.config.rst @@ -82,6 +82,7 @@ Reference Configuration version_aces_dev classify_aces_ctl_transforms discover_aces_ctl_transforms + filter_amf_components filter_ctl_transforms generate_amf_components print_aces_taxonomy diff --git a/opencolorio_config_aces/__init__.py b/opencolorio_config_aces/__init__.py index 57c8e4ca..4c127b21 100644 --- a/opencolorio_config_aces/__init__.py +++ b/opencolorio_config_aces/__init__.py @@ -49,6 +49,7 @@ conversion_path, ctl_transform_to_node, discover_aces_ctl_transforms, + filter_amf_components, filter_ctl_transforms, filter_nodes, generate_amf_components, @@ -108,6 +109,7 @@ "conversion_path", "ctl_transform_to_node", "discover_aces_ctl_transforms", + "filter_amf_components", "filter_ctl_transforms", "filter_nodes", "generate_amf_components", diff --git a/opencolorio_config_aces/config/__init__.py b/opencolorio_config_aces/config/__init__.py index c37ad899..484883ae 100644 --- a/opencolorio_config_aces/config/__init__.py +++ b/opencolorio_config_aces/config/__init__.py @@ -30,6 +30,7 @@ conversion_path, ctl_transform_to_node, discover_aces_ctl_transforms, + filter_amf_components, filter_ctl_transforms, filter_nodes, generate_amf_components, @@ -75,6 +76,7 @@ "conversion_path", "ctl_transform_to_node", "discover_aces_ctl_transforms", + "filter_amf_components", "filter_ctl_transforms", "filter_nodes", "generate_amf_components", diff --git a/opencolorio_config_aces/config/cg/generate/config.py b/opencolorio_config_aces/config/cg/generate/config.py index 6c61f6d2..268aede8 100644 --- a/opencolorio_config_aces/config/cg/generate/config.py +++ b/opencolorio_config_aces/config/cg/generate/config.py @@ -14,7 +14,7 @@ import logging import re from collections import defaultdict -from collections.abc import Callable, Mapping +from collections.abc import Callable from pathlib import Path from typing import Any @@ -42,11 +42,11 @@ ) from opencolorio_config_aces.config.reference import ( DescriptionStyle, + filter_amf_components, generate_config_aces, ) from opencolorio_config_aces.config.reference.generate.config import ( COLORSPACE_SCENE_ENCODING_REFERENCE, - HEADER_AMF_COMPONENTS, TEMPLATE_ACES_TRANSFORM_ID, format_optional_prefix, transform_data_aliases, @@ -170,7 +170,6 @@ def clf_transform_to_colorspace_name(clf_transform: CLFTransform) -> str: def clf_transform_to_description( clf_transform: CLFTransform, describe: DescriptionStyle = DescriptionStyle.LONG_UNION, - amf_components: Mapping[str, Any] | None = None, direction: str = "Forward", ) -> str | None: """ @@ -184,9 +183,6 @@ def clf_transform_to_description( describe : bool, optional Whether to use the full *CLF* transform description or just the first line. - amf_components : mapping, optional - *ACES* *AMF* components used to extend the *ACES* *CTL* transform - description. direction : str, optional Direction of transform -- determines order of transform descriptors. {"Forward", "Reverse"} @@ -198,8 +194,6 @@ def clf_transform_to_description( *OpenColorIO* `Colorspace` or `NamedTransform` description. """ - amf_components = optional(amf_components, {}) - description = None if describe != DescriptionStyle.NONE: description = [] @@ -242,22 +236,6 @@ def clf_transform_to_description( aces_transform_id = aces_transform_id.aces_transform_id description.append(TEMPLATE_ACES_TRANSFORM_ID.format(aces_transform_id)) - if describe in ( - DescriptionStyle.AMF, - DescriptionStyle.SHORT_UNION, - DescriptionStyle.LONG_UNION, - ): - amf_components_description = [ - TEMPLATE_ACES_TRANSFORM_ID.format(amf_aces_transform_id) - for amf_aces_transform_id in amf_components.get( - aces_transform_id, [] - ) - ] - if amf_components_description: - description.append("") - description.append(HEADER_AMF_COMPONENTS) - description.extend(amf_components_description) - description = "\n".join(description).strip() return description @@ -300,7 +278,6 @@ def clf_transform_to_family( def clf_transform_to_colorspace( clf_transform: CLFTransform, describe: DescriptionStyle = DescriptionStyle.LONG_UNION, - amf_components: Mapping[str, Any] | None = None, signature_only: bool = False, **kwargs: Any, ) -> dict[str, Any] | ocio.ColorSpace: @@ -313,9 +290,6 @@ def clf_transform_to_colorspace( *CLF* transform. describe : bool, optional *CLF* transform description style. - amf_components : mapping, optional - *ACES* *AMF* components used to extend the *ACES* *CTL* transform - description. signature_only : bool, optional Whether to return the *OpenColorIO* `Colorspace` signature only, i.e., the arguments for its instantiation. @@ -335,9 +309,7 @@ def clf_transform_to_colorspace( signature = { "name": clf_transform_to_colorspace_name(clf_transform), "family": clf_transform_to_family(clf_transform), - "description": clf_transform_to_description( - clf_transform, describe, amf_components, "Forward" - ), + "description": clf_transform_to_description(clf_transform, describe, "Forward"), } file_transform = { @@ -367,7 +339,6 @@ def clf_transform_to_colorspace( def clf_transform_to_named_transform( clf_transform: CLFTransform, describe: DescriptionStyle = DescriptionStyle.LONG_UNION, - amf_components: Mapping[str, Any] | None = None, signature_only: bool = False, **kwargs: Any, ) -> dict[str, Any] | ocio.NamedTransform: @@ -380,9 +351,6 @@ def clf_transform_to_named_transform( *CLF* transform. describe : bool, optional *CLF* transform description style. - amf_components : mapping, optional - *ACES* *AMF* components used to extend the *ACES* *CTL* transform - description. signature_only : bool, optional Whether to return the *OpenColorIO* `NamedTransform` signature only, i.e., the arguments for its instantiation. @@ -412,12 +380,12 @@ def clf_transform_to_named_transform( if is_reference(clf_transform.source): signature["inverse_transform"] = file_transform # pyright: ignore signature["description"] = clf_transform_to_description( # pyright: ignore - clf_transform, describe, amf_components, direction="Reverse" + clf_transform, describe, direction="Reverse" ) else: signature["forward_transform"] = file_transform # pyright: ignore signature["description"] = clf_transform_to_description( # pyright: ignore - clf_transform, describe, amf_components, direction="Forward" + clf_transform, describe, direction="Forward" ) signature.update(kwargs) @@ -437,7 +405,6 @@ def clf_transform_to_named_transform( def style_to_colorspace( style: str, describe: DescriptionStyle = DescriptionStyle.LONG_UNION, - amf_components: Mapping[str, Any] | None = None, signature_only: bool = False, scheme: str = "Modern 1", # noqa: ARG001 **kwargs: Any, @@ -452,9 +419,6 @@ def style_to_colorspace( describe : int, optional Any value from the :class:`opencolorio_config_aces.DescriptionStyle` enum. - amf_components : mapping, optional - *ACES* *AMF* components used to extend the *ACES* *CTL* transform - description. signature_only : bool, optional Whether to return the *OpenColorIO* view `Colorspace` signature only, i.e., the arguments for its instantiation. @@ -494,7 +458,7 @@ def style_to_colorspace( clf_transform = kwargs.pop("clf_transform", None) if clf_transform: colorspace_signature = clf_transform_to_colorspace( - clf_transform, describe, amf_components, True, **kwargs + clf_transform, describe, True, **kwargs ) description = colorspace_signature["description"] signature.update(colorspace_signature) @@ -547,7 +511,6 @@ def style_to_colorspace( def style_to_named_transform( style: str, describe: DescriptionStyle = DescriptionStyle.LONG_UNION, - amf_components: Mapping[str, Any] | None = None, signature_only: bool = False, scheme: str = "Modern 1", # noqa: ARG001 **kwargs: Any, @@ -562,9 +525,6 @@ def style_to_named_transform( describe : int, optional Any value from the :class:`opencolorio_config_aces.DescriptionStyle` enum. - amf_components : mapping, optional - *ACES* *AMF* components used to extend the *ACES* *CTL* transform - description. signature_only : bool, optional Whether to return the *OpenColorIO* view `Colorspace` signature only, i.e., the arguments for its instantiation. @@ -604,7 +564,7 @@ def style_to_named_transform( clf_transform = kwargs.pop("clf_transform", None) if clf_transform: colorspace_signature = clf_transform_to_colorspace( - clf_transform, describe, amf_components, True, **kwargs + clf_transform, describe, True, **kwargs ) signature.update(colorspace_signature) signature.pop("from_reference", None) @@ -612,7 +572,6 @@ def style_to_named_transform( description = clf_transform_to_description( clf_transform, describe, - amf_components, "Reverse" if is_reference(source) else "Forward", ) else: @@ -1190,7 +1149,6 @@ def remove_existing_named_transform(name: str) -> None: kwargs = { "describe": describe, - "amf_components": amf_components, "signature_only": True, "aliases": transform_data_aliases(transform_data), "encoding": transform_data.get("encoding"), @@ -1202,10 +1160,25 @@ def remove_existing_named_transform(name: str) -> None: clf_transform_id = transform_data["clf_transform_id"] if style: + clf_transform = clf_transform_from_style(style) + + filtered_amf_components = None + if ( + aces_transform_id := clf_transform.information.get( # pyright: ignore + "ACEStransformID" + ) + ) is not None: + filtered_amf_components = filter_amf_components( + amf_components, aces_transform_id.aces_transform_id + ) + kwargs.update( { "style": style, - "clf_transform": clf_transform_from_style(style), + "clf_transform": clf_transform, + "interchange_mapping": None + if filtered_amf_components is None + else {"amf_transform_ids": "\n".join(filtered_amf_components)}, } ) @@ -1250,7 +1223,24 @@ def remove_existing_named_transform(name: str) -> None: f'"{clf_transform_id}" "CLF" transform does not exist!', ) - kwargs["clf_transform"] = clf_transform + filtered_amf_components = None + if ( + aces_transform_id := clf_transform.information.get( # pyright: ignore + "ACEStransformID" + ) + ) is not None: + filtered_amf_components = filter_amf_components( + amf_components, aces_transform_id.aces_transform_id + ) + + kwargs.update( + { + "clf_transform": clf_transform, + "interchange_mapping": None + if filtered_amf_components is None + else {"amf_transform_ids": "\n".join(filtered_amf_components)}, + } + ) if transform_data["interface"] == "NamedTransform": LOGGER.info( diff --git a/opencolorio_config_aces/config/generation/configuration.py b/opencolorio_config_aces/config/generation/configuration.py index 2c9e8658..c338a5e0 100644 --- a/opencolorio_config_aces/config/generation/configuration.py +++ b/opencolorio_config_aces/config/generation/configuration.py @@ -91,19 +91,19 @@ def extended_fields(self) -> dict[str, str]: BuildConfiguration( aces=Version(2, 0), colorspaces=Version(3, 0, 0), - ocio=Version(2, 4), + ocio=Version(2, 5), variant="", ), BuildConfiguration( aces=Version(2, 0), colorspaces=Version(3, 0, 0), - ocio=Version(2, 4), + ocio=Version(2, 5), variant="D60 Views", ), BuildConfiguration( aces=Version(2, 0), colorspaces=Version(3, 0, 0), - ocio=Version(2, 4), + ocio=Version(2, 5), variant="All Views", ), ] diff --git a/opencolorio_config_aces/config/generation/factories.py b/opencolorio_config_aces/config/generation/factories.py index 34c8a17b..d570a1c4 100644 --- a/opencolorio_config_aces/config/generation/factories.py +++ b/opencolorio_config_aces/config/generation/factories.py @@ -125,6 +125,7 @@ def colorspace_factory( is_data: bool | None = None, reference_space: str | int | None = None, interop_id: str | None = None, + interchange_mapping: dict[str, str] | None = None, base_colorspace: Mapping[str, Any] | ocio.ColorSpace | None = None, **kwargs: Any, ) -> ocio.ColorSpace: @@ -166,6 +167,9 @@ def colorspace_factory( See https://github.com/AcademySoftwareFoundation/ColorInterop/blob/\ 5aebc3f37ac192c86694a47bb92fa65cc95e4e67/Recommendations/\ 01_TextureAssetColorSpaces/TextureAssetColorSpaces.md + interchange_mapping : dict, optional + Mapping of key and value pairs for interchange, e.g., + `amf_transform_ids` or `icc_profile_name`. base_colorspace : dict or ColorSpace, optional *OpenColorIO* base `Colorspace` inherited for initial attribute values. @@ -261,6 +265,10 @@ def colorspace_factory( if interop_id is not None: colorspace.setInteropID(interop_id) # pyright: ignore + if interchange_mapping is not None: + for key, value in interchange_mapping.items(): + colorspace.setInterchangeAttribute(key, value) # pyright: ignore + return colorspace diff --git a/opencolorio_config_aces/config/reference/__init__.py b/opencolorio_config_aces/config/reference/__init__.py index 8d94d86f..28e5ae0f 100644 --- a/opencolorio_config_aces/config/reference/__init__.py +++ b/opencolorio_config_aces/config/reference/__init__.py @@ -6,6 +6,7 @@ discover_aces_ctl_transforms, classify_aces_ctl_transforms, unclassify_ctl_transforms, + filter_amf_components, filter_ctl_transforms, generate_amf_components, print_aces_taxonomy, @@ -26,6 +27,7 @@ "discover_aces_ctl_transforms", "classify_aces_ctl_transforms", "unclassify_ctl_transforms", + "filter_amf_components", "filter_ctl_transforms", "generate_amf_components", "print_aces_taxonomy", diff --git a/opencolorio_config_aces/config/reference/discover/__init__.py b/opencolorio_config_aces/config/reference/discover/__init__.py index 39ffe4b3..4d32aeb5 100644 --- a/opencolorio_config_aces/config/reference/discover/__init__.py +++ b/opencolorio_config_aces/config/reference/discover/__init__.py @@ -6,6 +6,7 @@ discover_aces_ctl_transforms, classify_aces_ctl_transforms, unclassify_ctl_transforms, + filter_amf_components, filter_ctl_transforms, generate_amf_components, print_aces_taxonomy, @@ -24,6 +25,7 @@ "discover_aces_ctl_transforms", "classify_aces_ctl_transforms", "unclassify_ctl_transforms", + "filter_amf_components", "filter_ctl_transforms", "generate_amf_components", "print_aces_taxonomy", diff --git a/opencolorio_config_aces/config/reference/discover/classify.py b/opencolorio_config_aces/config/reference/discover/classify.py index cff85e17..60725064 100644 --- a/opencolorio_config_aces/config/reference/discover/classify.py +++ b/opencolorio_config_aces/config/reference/discover/classify.py @@ -70,6 +70,7 @@ "filter_ctl_transforms", "print_aces_taxonomy", "generate_amf_components", + "filter_amf_components", ] LOGGER: logging.Logger = logging.getLogger(__name__) @@ -1457,8 +1458,6 @@ def print_aces_taxonomy() -> None: def generate_amf_components( - ctl_transforms: dict[str, dict[str, dict[str, CTLTransform | CTLTransformPair]]] - | list[CTLTransform], include_previous_transform_ids: bool = False, ) -> dict[str, list[str]]: """ @@ -1466,11 +1465,6 @@ def generate_amf_components( Parameters ---------- - ctl_transforms : dict or list - *ACES* *CTL* transforms as returned by - :func:`opencolorio_config_aces.classify_aces_ctl_transforms` or - :func:`opencolorio_config_aces.unclassify_aces_ctl_transforms` - definitions. include_previous_transform_ids : bool Whether to include the previous *ACEStransformID* in the *ACES* *AMF* components. @@ -1495,67 +1489,49 @@ def generate_amf_components( for transform in all_transforms: transform_id = transform["transformId"] - if ( - include_previous_transform_ids - and "previousEquivalentTransformIds" in transform - ): - for previous_transform_id in transform["previousEquivalentTransformIds"]: - if ( - previous_transform_id - and transform_id - and transform_id not in amf_components[previous_transform_id] - ): - amf_components[previous_transform_id].append(transform_id) - - inverse_transform_id = transform.get("inverseTransformId", "") - - if ( - inverse_transform_id - and transform_id - and inverse_transform_id not in amf_components[transform_id] - ): - amf_components[transform_id].append(inverse_transform_id) + amf_components[transform_id].append(transform_id) + + if include_previous_transform_ids: + amf_components[transform_id].extend( + transform["previousEquivalentTransformIds"] + ) - if ( - inverse_transform_id - and transform_id - and transform_id not in amf_components[inverse_transform_id] - ): + if (inverse_transform_id := transform.get("inverseTransformId")) is not None: + amf_components[inverse_transform_id].append(inverse_transform_id) amf_components[inverse_transform_id].append(transform_id) - if isinstance(ctl_transforms, Mapping): - ctl_transforms = unclassify_ctl_transforms(ctl_transforms) + amf_components[transform_id].append(inverse_transform_id) - for ctl_transform in ctl_transforms: - aces_transform_id = ctl_transform.aces_transform_id.aces_transform_id - - for siblings in [ - ctl_transform.siblings - for ctl_transform in filter_ctl_transforms( - ctl_transforms, - [ - lambda x, y=aces_transform_id: ( - x.aces_transform_id.aces_transform_id == y - ) - ], - ) - ]: - for sibling in siblings: - sibling_id = sibling.aces_transform_id.aces_transform_id - if sibling_id not in amf_components[aces_transform_id]: - amf_components[aces_transform_id].append(sibling_id) - - for aces_transform_id, relations in list(amf_components.items()): - for relation in relations: - if relation in amf_components: - amf_components[relation] = sorted( - set(amf_components[relation] + relations + [aces_transform_id]) - - {relation} + if include_previous_transform_ids: + amf_components[inverse_transform_id].extend( + transform["previousEquivalentTransformIds"] ) - result = {key: sorted(set(value)) for key, value in amf_components.items() if value} + return {key: sorted(set(value)) for key, value in amf_components.items() if value} + + +def filter_amf_components( + amf_components: dict[str, list[str]], aces_transform_id: str +) -> list[str] | None: + """ + Filter the *ACES* *AMF* components for specified *ACEStransformID*. + + Parameters + ---------- + amf_components : dict + *ACES* *AMF* components to filter. + aces_transform_id : str + *ACEStransformID* to filter the *ACES* *AMF* components with. + + Returns + ------- + :class:`list` + Filtered *ACES* *AMF* components. + """ + + filtered_amf_components = list(amf_components.get(aces_transform_id, [])) - return result + return filtered_amf_components if len(filtered_amf_components) else None if __name__ == "__main__": diff --git a/opencolorio_config_aces/config/reference/generate/config.py b/opencolorio_config_aces/config/reference/generate/config.py index c5734330..ccf08693 100644 --- a/opencolorio_config_aces/config/reference/generate/config.py +++ b/opencolorio_config_aces/config/reference/generate/config.py @@ -44,6 +44,7 @@ from opencolorio_config_aces.config.reference import ( classify_aces_ctl_transforms, discover_aces_ctl_transforms, + filter_amf_components, filter_ctl_transforms, generate_amf_components, unclassify_ctl_transforms, @@ -54,7 +55,6 @@ from opencolorio_config_aces.utilities import ( as_bool, attest, - optional, timestamp, validate_method, ) @@ -72,7 +72,6 @@ "COLORSPACE_SCENE_ENCODING_REFERENCE", "FAMILY_DISPLAY_REFERENCE", "TEMPLATE_ACES_TRANSFORM_ID", - "HEADER_AMF_COMPONENTS", "DescriptionStyle", "format_optional_prefix", "format_swapped_affix", @@ -134,13 +133,6 @@ TEMPLATE_ACES_TRANSFORM_ID : unicode """ -HEADER_AMF_COMPONENTS: str = "AMF Components\n--------------" -""" -Header for the description of the *ACES* *AMF* components. - -HEADER_AMF_COMPONENTS : unicode -""" - class DescriptionStyle(Flag): """ @@ -152,9 +144,8 @@ class DescriptionStyle(Flag): OPENCOLORIO = auto() SHORT = auto() LONG = auto() - AMF = auto() - SHORT_UNION = ACES | OPENCOLORIO | SHORT | AMF - LONG_UNION = ACES | OPENCOLORIO | LONG | AMF + SHORT_UNION = ACES | OPENCOLORIO | SHORT + LONG_UNION = ACES | OPENCOLORIO | LONG def format_optional_prefix(name: str, prefix: str, scheme: str = "Modern 1") -> str: @@ -316,7 +307,6 @@ def ctl_transform_to_transform_family( def ctl_transform_to_description( ctl_transform: CTLTransform, describe: DescriptionStyle = DescriptionStyle.LONG_UNION, - amf_components: dict[str, list[str]] | None = None, factory: Callable[..., Any] = colorspace_factory, **kwargs: Any, ) -> str | None: @@ -331,9 +321,6 @@ def ctl_transform_to_description( describe : bool, optional *ACES* *CTL* transform description style. Any value from the :class:`opencolorio_config_aces.DescriptionStyle` enum. - amf_components : mapping, optional - *ACES* *AMF* components used to extend the *ACES* *CTL* transform - description. factory : callable, optional Factory used to adjust the code paths because of slight difference of signature between the *OpenColorIO* `Colorspace` and `Look`. @@ -350,8 +337,6 @@ def ctl_transform_to_description( *OpenColorIO* `Colorspace` or `Look` description. """ - amf_components = optional(amf_components, {}) - description = None if describe != DescriptionStyle.NONE: description = [] @@ -404,22 +389,6 @@ def ctl_transform_to_description( description.append(f"{ctl_transform.description}\n") description.append(TEMPLATE_ACES_TRANSFORM_ID.format(aces_transform_id)) - if describe in ( - DescriptionStyle.AMF, - DescriptionStyle.SHORT_UNION, - DescriptionStyle.LONG_UNION, - ): - amf_components_description = [ - TEMPLATE_ACES_TRANSFORM_ID.format(amf_aces_transform_id) - for amf_aces_transform_id in amf_components.get( - aces_transform_id, [] - ) - ] - if amf_components_description: - description.append("") - description.append(HEADER_AMF_COMPONENTS) - description.extend(amf_components_description) - description = "\n".join(description) return description @@ -428,7 +397,6 @@ def ctl_transform_to_description( def ctl_transform_to_colorspace( ctl_transform: CTLTransform, describe: DescriptionStyle = DescriptionStyle.LONG_UNION, - amf_components: dict[str, list[str]] | None = None, signature_only: bool = False, scheme: str = "Modern 1", analytical: bool = True, @@ -445,9 +413,6 @@ def ctl_transform_to_colorspace( describe : bool, optional *ACES* *CTL* transform description style. Any value from the :class:`opencolorio_config_aces.DescriptionStyle` enum. - amf_components : mapping, optional - *ACES* *AMF* components used to extend the *OpenColorIO* `Colorspace` - description. signature_only : bool, optional Whether to return the *OpenColorIO* `Colorspace` signature only, i.e., the arguments for its instantiation. @@ -474,7 +439,7 @@ def ctl_transform_to_colorspace( name = ctl_transform_to_colorspace_name(ctl_transform) family = ctl_transform_to_transform_family(ctl_transform, analytical) description = ctl_transform_to_description( - ctl_transform, describe, amf_components, colorspace_factory, **kwargs + ctl_transform, describe, colorspace_factory, **kwargs ) signature = { @@ -499,7 +464,6 @@ def ctl_transform_to_colorspace( def ctl_transform_to_look( ctl_transform: CTLTransform, describe: DescriptionStyle = DescriptionStyle.LONG_UNION, - amf_components: dict[str, list[str]] | None = None, signature_only: bool = False, scheme: str = "Modern 1", analytical: bool = True, @@ -516,9 +480,6 @@ def ctl_transform_to_look( describe : bool, optional *ACES* *CTL* transform description style. Any value from the :class:`opencolorio_config_aces.DescriptionStyle` enum. - amf_components : mapping, optional - *ACES* *AMF* components used to extend the *OpenColorIO* `Look` - description. signature_only : bool, optional Whether to return the *OpenColorIO* `Look` signature only, i.e., the arguments for its instantiation. @@ -545,7 +506,7 @@ def ctl_transform_to_look( name = ctl_transform_to_look_name(ctl_transform) family = ctl_transform_to_transform_family(ctl_transform, analytical) description = ctl_transform_to_description( - ctl_transform, describe, amf_components, look_factory, **kwargs + ctl_transform, describe, look_factory, **kwargs ) signature = { @@ -566,7 +527,6 @@ def style_to_view_transform( style: str, ctl_transforms: list[CTLTransform], describe: DescriptionStyle = DescriptionStyle.LONG_UNION, - amf_components: dict[str, list[str]] | None = None, signature_only: bool = False, scheme: str = "Modern 1", **kwargs: Any, @@ -584,9 +544,6 @@ class instances corresponding to the given style. describe : int, optional Any value from the :class:`opencolorio_config_aces.DescriptionStyle` enum. - amf_components : mapping, optional - *ACES* *AMF* components used to extend the *OpenColorIO* `ViewTransform` - description. signature_only : bool, optional Whether to return the *OpenColorIO* `ViewTransform` signature only, i.e., the arguments for its instantiation. @@ -606,9 +563,6 @@ class instances corresponding to the given style. *OpenColorIO* `ViewTransform` or its signature for given style. """ - if amf_components is None: - amf_components = {} - name = beautify_view_transform_name(style) builtin_transform = ocio.BuiltinTransform(style) @@ -670,26 +624,6 @@ class instances corresponding to the given style. ) ) - if describe in ( - DescriptionStyle.AMF, - DescriptionStyle.SHORT_UNION, - DescriptionStyle.LONG_UNION, - ): - amf_components_description = [] - for aces_transform_id in aces_transform_ids: - amf_components_description.extend( - [ - TEMPLATE_ACES_TRANSFORM_ID.format(amf_aces_transform_id) - for amf_aces_transform_id in amf_components.get( - aces_transform_id, [] - ) - ] - ) - if amf_components_description: - description.append("") - description.append(HEADER_AMF_COMPONENTS) - description.extend(amf_components_description) - description = "\n".join(description) version = style.split(SEPARATOR_COLORSPACE_NAME)[-1].split("_")[-1] @@ -719,7 +653,6 @@ class instances corresponding to the given style. def style_to_display_colorspace( style: str, describe: DescriptionStyle = DescriptionStyle.OPENCOLORIO, - amf_components: dict[str, list[str]] | None = None, signature_only: bool = False, scheme: str = "Modern 1", **kwargs: Any, @@ -735,9 +668,6 @@ def style_to_display_colorspace( describe : int, optional Any value from the :class:`opencolorio_config_aces.DescriptionStyle` enum. - amf_components : mapping, optional - *ACES* *AMF* components used to extend the *OpenColorIO* display - `Colorspace` description. signature_only : bool, optional Whether to return the *OpenColorIO* display `Colorspace` signature only, i.e., the arguments for its instantiation. @@ -757,9 +687,6 @@ def style_to_display_colorspace( *OpenColorIO* display `Colorspace` or its signature for given style. """ - if amf_components is None: - amf_components = {} - kwargs.setdefault("family", FAMILY_DISPLAY_REFERENCE) name = beautify_display_name(style) @@ -779,19 +706,6 @@ def style_to_display_colorspace( if len(description) > 0: description.append("") - if describe in ( - DescriptionStyle.AMF, - DescriptionStyle.SHORT_UNION, - DescriptionStyle.LONG_UNION, - ): - amf_components_description = [ - TEMPLATE_ACES_TRANSFORM_ID.format(amf_aces_transform_id) - for amf_aces_transform_id in amf_components.get(style, []) - ] - if amf_components_description: - description.append(HEADER_AMF_COMPONENTS) - description.extend(amf_components_description) - description = "\n".join(description) signature = { @@ -1009,7 +923,7 @@ def generate_config_aces( ctl_transforms = unclassify_ctl_transforms( classify_aces_ctl_transforms(discover_aces_ctl_transforms()) ) - amf_components = generate_amf_components(ctl_transforms) + amf_components = generate_amf_components() LOGGER.debug('Using %s "CTL" transforms...', ctl_transforms) @@ -1187,7 +1101,6 @@ def generate_config_aces( style, [transform_data["ctl_transform"]], describe, - amf_components, signature_only=True, scheme=scheme, ) @@ -1200,16 +1113,24 @@ def generate_config_aces( display_style = transform_data["linked_display_colorspace_style"] + filtered_amf_components = filter_amf_components( + amf_components, display_style + ) + display = style_to_display_colorspace( display_style, describe, - amf_components, signature_only=True, scheme=scheme, encoding=transform_data.get("encoding"), categories=transform_data.get("categories"), aliases=transform_data_aliases(transform_data), interop_id=transform_data.get("interop_id"), + interchange_mapping=( + None + if filtered_amf_components is None + else {"amf_transform_ids": "\n".join(filtered_amf_components)} + ), ) display["transforms_data"] = [transform_data] display_name = display["name"] @@ -1240,7 +1161,6 @@ def generate_config_aces( look = ctl_transform_to_look( ctl_transform, describe, - amf_components, signature_only=True, scheme=scheme, analytical=analytical, @@ -1259,10 +1179,13 @@ def generate_config_aces( style, ) + filtered_amf_components = filter_amf_components( + amf_components, ctl_transform.aces_transform_id.aces_transform_id + ) + colorspace = ctl_transform_to_colorspace( ctl_transform, describe, - amf_components, signature_only=True, scheme=scheme, analytical=analytical, @@ -1274,6 +1197,11 @@ def generate_config_aces( categories=transform_data.get("categories"), aliases=transform_data_aliases(transform_data), interop_id=transform_data.get("interop_id"), + interchange_mapping=( + None + if filtered_amf_components is None + else {"amf_transform_ids": "\n".join(filtered_amf_components)} + ), ) colorspace["transforms_data"] = [transform_data] if colorspace not in colorspaces: From 9fccca1cd0a184beeb36f1dee59bbe9f0adc14de Mon Sep 17 00:00:00 2001 From: Thomas Mansencal Date: Fri, 19 Sep 2025 16:55:32 +1200 Subject: [PATCH 08/17] Address various code review notes. Signed-off-by: Thomas Mansencal --- .../config/cg/generate/config.py | 34 ++++----- .../Loading... - CG Config - Mapping.csv | 2 +- .../config/generation/beautifiers.py | 1 + .../config/reference/generate/config.py | 76 ++++++------------- ...oading... - Reference Config - Mapping.csv | 10 +-- .../Loading... - Studio Config - Mapping.csv | 10 +-- 6 files changed, 50 insertions(+), 83 deletions(-) diff --git a/opencolorio_config_aces/config/cg/generate/config.py b/opencolorio_config_aces/config/cg/generate/config.py index 268aede8..9245fb36 100644 --- a/opencolorio_config_aces/config/cg/generate/config.py +++ b/opencolorio_config_aces/config/cg/generate/config.py @@ -198,11 +198,7 @@ def clf_transform_to_description( if describe != DescriptionStyle.NONE: description = [] - if describe in ( - DescriptionStyle.OPENCOLORIO, - DescriptionStyle.SHORT, - DescriptionStyle.SHORT_UNION, - ): + if describe in (DescriptionStyle.SHORT_UNION, DescriptionStyle.LONG_UNION): if clf_transform.description is not None: if direction.lower() == "forward": description.append( @@ -214,27 +210,23 @@ def clf_transform_to_description( f"Convert {clf_transform.output_descriptor} " f"to {clf_transform.input_descriptor}" ) - elif describe in ( # noqa: SIM102 - DescriptionStyle.OPENCOLORIO, - DescriptionStyle.LONG, - DescriptionStyle.LONG_UNION, - ): + elif describe in (DescriptionStyle.LONG_UNION,): if clf_transform.description is not None: description.append("\n" + clf_transform.description) - if len(description) > 0: - description.append("") + if len(description) > 0: + description.append("") - description.append( - TEMPLATE_CLF_TRANSFORM_ID.format( - clf_transform.clf_transform_id.clf_transform_id - ), - ) + description.append( + TEMPLATE_CLF_TRANSFORM_ID.format( + clf_transform.clf_transform_id.clf_transform_id + ), + ) - aces_transform_id = clf_transform.information.get("ACEStransformID") - if aces_transform_id: - aces_transform_id = aces_transform_id.aces_transform_id - description.append(TEMPLATE_ACES_TRANSFORM_ID.format(aces_transform_id)) + aces_transform_id = clf_transform.information.get("ACEStransformID") + if aces_transform_id: + aces_transform_id = aces_transform_id.aces_transform_id + description.append(TEMPLATE_ACES_TRANSFORM_ID.format(aces_transform_id)) description = "\n".join(description).strip() diff --git a/opencolorio_config_aces/config/cg/generate/resources/Loading... - CG Config - Mapping.csv b/opencolorio_config_aces/config/cg/generate/resources/Loading... - CG Config - Mapping.csv index 9683f820..31d10a67 100644 --- a/opencolorio_config_aces/config/cg/generate/resources/Loading... - CG Config - Mapping.csv +++ b/opencolorio_config_aces/config/cg/generate/resources/Loading... - CG Config - Mapping.csv @@ -6,7 +6,7 @@ Ordering,Colorspace,Legacy,ACEStransformID,CLFtransformID,Interface,BuiltinTrans 400,Rec709-D65_100nit_in_Rec709-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io,srgb_rec709_display 405,Rec709-D65_100nit_in_Rec709-D65_Gamma2pt2,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_Gamma2pt2.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io,g22_rec709_display 415,P3-D65_100nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,,sdr-video,file-io,srgb_p3d65_display -420,P3-D65_1000nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,,xdr-video,file-io,srgbx_p3d65_display +420,P3-D65_1000nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,,edr-video,file-io,srgbx_p3d65_display 430,P3-D65_48nit_in_P3-D65_Gamma2pt6,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,,sdr-video,file-io,g26_p3d65_display 440,Rec709-D65_100nit_in_Rec709-D65_BT1886,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_BT1886.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io,g24_rec709_display 440,sRGB - Curve,TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:Linear_to_sRGB-Curve:1.0,NamedTransform,,"crv_srgb,Utility - Curve - sRGB",sdr-video,file-io, diff --git a/opencolorio_config_aces/config/generation/beautifiers.py b/opencolorio_config_aces/config/generation/beautifiers.py index 8442da09..11772390 100644 --- a/opencolorio_config_aces/config/generation/beautifiers.py +++ b/opencolorio_config_aces/config/generation/beautifiers.py @@ -173,6 +173,7 @@ PATTERNS_DISPLAY_NAME: dict[str, str] = { "G2.6-": "", + "G2.2": "Gamma 2.2", "-BFD": "", "DisplayP3": "Display P3", "REC.1886": "Rec.1886", diff --git a/opencolorio_config_aces/config/reference/generate/config.py b/opencolorio_config_aces/config/reference/generate/config.py index ccf08693..f5b63302 100644 --- a/opencolorio_config_aces/config/reference/generate/config.py +++ b/opencolorio_config_aces/config/reference/generate/config.py @@ -340,9 +340,7 @@ def ctl_transform_to_description( description = None if describe != DescriptionStyle.NONE: description = [] - if describe in ( - DescriptionStyle.OPENCOLORIO, DescriptionStyle.SHORT_UNION, DescriptionStyle.LONG_UNION, ): @@ -357,37 +355,28 @@ def ctl_transform_to_description( "inverse_transform", ] ) + transforms = [ transform for transform in (kwargs.get(forward), kwargs.get(inverse)) if transform is not None ] + transform = produce_transform(next(iter(transforms), None)) + if isinstance(transform, ocio.BuiltinTransform): description.append(transform.getDescription()) - if describe in ( - DescriptionStyle.ACES, - DescriptionStyle.ACES | DescriptionStyle.SHORT, - DescriptionStyle.SHORT_UNION, - DescriptionStyle.LONG_UNION, - ): + if describe in (DescriptionStyle.LONG_UNION,): if len(description) > 0: description.append("") aces_transform_id = ctl_transform.aces_transform_id.aces_transform_id - if describe in ( - DescriptionStyle.ACES, - DescriptionStyle.ACES | DescriptionStyle.SHORT, - DescriptionStyle.SHORT_UNION, - ): - description.append(TEMPLATE_ACES_TRANSFORM_ID.format(aces_transform_id)) - else: - description.append("CTL Transform") - description.append(f'{"=" * len(description[-1])}\n') - description.append(f"{ctl_transform.description}\n") - description.append(TEMPLATE_ACES_TRANSFORM_ID.format(aces_transform_id)) + description.append("CTL Transform") + description.append(f'{"=" * len(description[-1])}\n') + description.append(f"{ctl_transform.description}\n") + description.append(TEMPLATE_ACES_TRANSFORM_ID.format(aces_transform_id)) description = "\n".join(description) @@ -571,18 +560,12 @@ class instances corresponding to the given style. description = [] if describe in ( - DescriptionStyle.OPENCOLORIO, DescriptionStyle.SHORT_UNION, DescriptionStyle.LONG_UNION, ): description.append(builtin_transform.getDescription()) - if describe in ( - DescriptionStyle.ACES, - DescriptionStyle.ACES | DescriptionStyle.SHORT, - DescriptionStyle.SHORT_UNION, - DescriptionStyle.LONG_UNION, - ): + if describe in (DescriptionStyle.LONG_UNION,): aces_transform_ids, aces_descriptions = zip( *[ ( @@ -596,33 +579,22 @@ class instances corresponding to the given style. if len(description) > 0: description.append("") - if describe in ( - DescriptionStyle.ACES | DescriptionStyle.SHORT, - DescriptionStyle.SHORT_UNION, - ): - description.extend( + description.append( + f'CTL Transform{"s" if len(aces_transform_ids) >= 2 else ""}' + ) + description.append(f'{"=" * len(description[-1])}\n') + + description.append( + f'\n{"-" * 80}\n\n'.join( [ - f"ACEStransformID: {aces_transform_id}" - for aces_transform_id in aces_transform_ids + ( + f"{aces_descriptions[i]}\n\n" + f"ACEStransformID: {aces_transform_id}\n" + ) + for i, aces_transform_id in enumerate(aces_transform_ids) ] ) - else: - description.append( - f'CTL Transform{"s" if len(aces_transform_ids) >= 2 else ""}' - ) - description.append(f'{"=" * len(description[-1])}\n') - - description.append( - f'\n{"-" * 80}\n\n'.join( - [ - ( - f"{aces_descriptions[i]}\n\n" - f"ACEStransformID: {aces_transform_id}\n" - ) - for i, aces_transform_id in enumerate(aces_transform_ids) - ] - ) - ) + ) description = "\n".join(description) @@ -697,7 +669,6 @@ def style_to_display_colorspace( description = [] if describe in ( - DescriptionStyle.OPENCOLORIO, DescriptionStyle.SHORT_UNION, DescriptionStyle.LONG_UNION, ): @@ -754,6 +725,9 @@ def transform_data_aliases(transform_data: dict[str, Any]) -> list[str]: if not aliases: aliases = [] + if (interop_id := transform_data.get("interop_id")) is not None: + aliases.append(interop_id) + if as_bool(transform_data["legacy"]): return [transform_data["colorspace"], *aliases] else: diff --git a/opencolorio_config_aces/config/reference/generate/resources/Loading... - Reference Config - Mapping.csv b/opencolorio_config_aces/config/reference/generate/resources/Loading... - Reference Config - Mapping.csv index 5e723d77..3737d4fa 100644 --- a/opencolorio_config_aces/config/reference/generate/resources/Loading... - Reference Config - Mapping.csv +++ b/opencolorio_config_aces/config/reference/generate/resources/Loading... - Reference Config - Mapping.csv @@ -1,5 +1,5 @@ Ordering,ACEStransformID,Colorspace,Legacy,BuiltinTransform Style,Linked DisplayColorSpace Style,Interface,Encoding,Categories,Aliases,InteropId -100,urn:ampas:aces:transformId:v2.0:CSC.Academy.ACEScc_to_ACES.a2.v1,ACES - ACEScc,TRUE,ACEScc_to_ACES2065-1,,ColorSpace,log,file-io,"acescc,acescc_ap1",acescc_ap1_scene +100,urn:ampas:aces:transformId:v2.0:CSC.Academy.ACEScc_to_ACES.a2.v1,ACES - ACEScc,TRUE,ACEScc_to_ACES2065-1,,ColorSpace,log,file-io,"acescc,acescc_ap1",ocio:acescc_ap1_scene 100,urn:ampas:aces:transformId:v2.0:CSC.Academy.ACEScct_to_ACES.a2.v1,ACES - ACEScct,TRUE,ACEScct_to_ACES2065-1,,ColorSpace,log,"file-io,working-space","acescct,acescct_ap1",ocio:acescct_ap1_scene 100,urn:ampas:aces:transformId:v2.0:CSC.Academy.ACEScg_to_ACES.a2.v1,ACES - ACEScg,TRUE,ACEScg_to_ACES2065-1,,ColorSpace,scene-linear,"file-io,working-space,texture","acescg,lin_ap1,lin_ap1_scene,ACES - ACEScg",lin_ap1_scene 100,urn:ampas:aces:transformId:v2.0:CSC.Academy.ADX10_to_ACES.a2.v1,Input - ADX - ADX10,TRUE,ADX10_to_ACES2065-1,,ColorSpace,log,file-io,adx10,ocio:adx10_apd_scene @@ -22,10 +22,10 @@ Ordering,ACEStransformID,Colorspace,Legacy,BuiltinTransform Style,Linked Display 411,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_48nit_in_XYZ-E_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D60-in-XYZ-E_2.0,DISPLAY - CIE-XYZ-D65_to_DCDM-D65,ViewTransform,sdr-video,file-io,,g26_xyzd65_display 415,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3,ViewTransform,sdr-video,file-io,,srgb_p3d65_display 416,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3,ViewTransform,sdr-video,file-io,,srgb_p3d65_display -420,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,hdr-video,file-io,,srgbx_p3d65_display -421,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,hdr-video,file-io,,srgbx_p3d65_display -422,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,hdr-video,file-io,,srgb_p3d65_display -423,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,hdr-video,file-io,,srgb_p3d65_display +420,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,edr-video,file-io,,srgbx_p3d65_display +421,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,edr-video,file-io,,srgbx_p3d65_display +422,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,edr-video,file-io,,srgb_p3d65_display +423,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,edr-video,file-io,,srgb_p3d65_display 430,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D65 - MIRROR NEGS,ViewTransform,sdr-video,file-io,,g26_p3d65_display 431,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_48nit_in_P3-D65_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D65 - MIRROR NEGS,ViewTransform,sdr-video,file-io,,g26_p3d65_display 435,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D65 - MIRROR NEGS,ViewTransform,sdr-video,file-io,,g26_p3d65_display diff --git a/opencolorio_config_aces/config/studio/generate/resources/Loading... - Studio Config - Mapping.csv b/opencolorio_config_aces/config/studio/generate/resources/Loading... - Studio Config - Mapping.csv index 6f0ae67a..857cda58 100644 --- a/opencolorio_config_aces/config/studio/generate/resources/Loading... - Studio Config - Mapping.csv +++ b/opencolorio_config_aces/config/studio/generate/resources/Loading... - Studio Config - Mapping.csv @@ -49,10 +49,10 @@ Ordering,Colorspace,Legacy,ACEStransformID,CLFtransformID,Interface,BuiltinTrans 406,Rec709-D60_100nit_in_Rec709-D65_Gamma2pt2,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec709-D65_Gamma2pt2.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC709-D65_2.0,,sdr-video,file-io,g22_rec709_display 415,P3-D65_100nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,,sdr-video,file-io,srgb_p3d65_display 416,P3-D60_100nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D60-in-P3-D65_2.0,,sdr-video,file-io,srgb_p3d65_display -420,P3-D65_1000nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,,xdr-video,file-io,srgbx_p3d65_display -421,P3-D60_1000nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-P3-D65_2.0,,xdr-video,file-io,srgbx_p3d65_display -422,Rec709-D65_100nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,xdr-video,file-io,srgb_p3d65_display -423,Rec709-D60_100nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-P3-D65_2.0,,xdr-video,file-io,srgb_p3d65_display +420,P3-D65_1000nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,,edr-video,file-io,srgbx_p3d65_display +421,P3-D60_1000nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-P3-D65_2.0,,edr-video,file-io,srgbx_p3d65_display +422,Rec709-D65_100nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,edr-video,file-io,srgb_p3d65_display +423,Rec709-D60_100nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-P3-D65_2.0,,edr-video,file-io,srgb_p3d65_display 430,P3-D65_48nit_in_P3-D65_Gamma2pt6,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,,sdr-video,file-io,g26_p3d65_display 431,P3-D60_48nit_in_P3-D65_Gamma2pt6,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_48nit_in_P3-D65_Gamma2pt6.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D60-in-P3-D65_2.0,,sdr-video,file-io,g26_p3d65_display 435,Rec709-D65_48nit_in_P3-D65_Gamma2pt6,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io,g26_p3d65_display @@ -99,7 +99,7 @@ Ordering,Colorspace,Legacy,ACEStransformID,CLFtransformID,Interface,BuiltinTrans 501,Gamma 1.8 Encoded Rec.709,TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma1.8_Encoded_Rec709:1.0,ColorSpace,,"g18_rec709,Utility - Gamma 1.8 - Rec.709 - Texture,Gamma 1.8 Rec.709 - Texture,g18_rec709_tx,g18_rec709_scene",sdr-video,"file-io,texture",g18_rec709_scene 502,Gamma 2.2 Encoded Rec.709,TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma2.2_Encoded_Rec709:1.0,ColorSpace,,"g22_rec709,Utility - Gamma 2.2 - Rec.709 - Texture,Gamma 2.2 Rec.709 - Texture,g22_rec709_tx,g22_rec709_scene",sdr-video,"file-io,texture",g22_rec709_scene 503,Gamma 2.4 Encoded Rec.709,FALSE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma2.4_Encoded_Rec709:1.0,ColorSpace,,"g24_rec709,rec709_display,Utility - Rec.709 - Display,Gamma 2.4 Rec.709 - Texture,g24_rec709_tx",sdr-video,"file-io,texture",ocio:g24_rec709_scene -504,Camera Rec.709,TRUE,,urn:aswf:ocio:transformId:1.0:ITU:Utility:AP0_to_Camera_Rec709:1.0,ColorSpace,,"rec709_camera,Utility - Rec.709 - Camera",sdr-video,file-io,itu709_rec709_scene +504,Camera Rec.709,TRUE,,urn:aswf:ocio:transformId:1.0:ITU:Utility:AP0_to_Camera_Rec709:1.0,ColorSpace,,"rec709_camera,Utility - Rec.709 - Camera",sdr-video,file-io,ocio:itu709_rec709_scene 505,sRGB Encoded P3-D65,FALSE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_sRGB_Encoded_P3-D65:1.0,ColorSpace,,"srgb_p3d65,srgb_displayp3,srgb_p3d65_scene,sRGB Encoded P3-D65 - Texture,srgb_encoded_p3d65_tx",sdr-video,"file-io,texture",srgb_p3d65_scene 506,Gamma 2.2 Encoded AdobeRGB,FALSE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_Gamma2.2_Encoded_AdobeRGB:1.0,ColorSpace,,"adobergb,g22_adobergb_scene",sdr-video,"file-io,texture",g22_adobergb_scene 507,sRGB Encoded AP1,FALSE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:AP0_to_sRGB_Encoded_AP1:1.0,ColorSpace,,"srgb_ap1,srgb_ap1_scene,sRGB Encoded AP1 - Texture,srgb_encoded_ap1_tx",sdr-video,"file-io,texture",srgb_ap1_scene From 71c64e904ebba465e98cfe05401b00325b90eac1 Mon Sep 17 00:00:00 2001 From: Thomas Mansencal Date: Fri, 19 Sep 2025 17:38:52 +1200 Subject: [PATCH 09/17] Implement support for viewing rules. Signed-off-by: Thomas Mansencal --- .../config/generation/common.py | 21 +-- .../config/reference/generate/config.py | 59 +++++++- ...oading... - Reference Config - Mapping.csv | 136 +++++++++--------- 3 files changed, 137 insertions(+), 79 deletions(-) diff --git a/opencolorio_config_aces/config/generation/common.py b/opencolorio_config_aces/config/generation/common.py index 6e33dcb6..5fda3095 100644 --- a/opencolorio_config_aces/config/generation/common.py +++ b/opencolorio_config_aces/config/generation/common.py @@ -409,8 +409,7 @@ def generate_config( if data.file_rules: file_rules = ocio.FileRules() - rule_index = 0 - for file_rule in reversed(data.file_rules): + for i, file_rule in enumerate(data.file_rules): name = file_rule["name"] colorspace = file_rule["colorspace"] regex = file_rule.get("regex") @@ -431,8 +430,7 @@ def generate_config( regex, colorspace, ) - file_rules.insertRule(rule_index, name, colorspace, regex) - rule_index += 1 + file_rules.insertRule(i, name, colorspace, regex) else: LOGGER.debug( 'Adding "%s" file rule with "%s" pattern and "%s" ' @@ -442,15 +440,20 @@ def generate_config( extension, colorspace, ) - file_rules.insertRule(rule_index, name, colorspace, pattern, extension) - rule_index += 1 + file_rules.insertRule(i, name, colorspace, pattern, extension) config.setFileRules(file_rules) if data.viewing_rules: viewing_rules = ocio.ViewingRules() - for _i, _viewing_rule in enumerate(reversed(data.viewing_rules)): - LOGGER.warning("Inserting a viewing rule is not supported yet!") - # viewing_rules.insertRule() + for i, viewing_rule in enumerate(data.viewing_rules): + name = viewing_rule["name"] + encodings = viewing_rule["encodings"] + LOGGER.debug( + 'Adding "%s" viewing rule with "%s" encodings.', name, encodings + ) + viewing_rules.insertRule(i, name) + for encoding in encodings: + viewing_rules.addEncoding(i, encoding) config.setViewingRules(viewing_rules) if data.default_view_transform is not None: diff --git a/opencolorio_config_aces/config/reference/generate/config.py b/opencolorio_config_aces/config/reference/generate/config.py index f5b63302..6e2e0f24 100644 --- a/opencolorio_config_aces/config/reference/generate/config.py +++ b/opencolorio_config_aces/config/reference/generate/config.py @@ -916,6 +916,7 @@ def generate_config_aces( "builtin_transform_style", "linked_display_colorspace_style", "interface", + "viewing_rule", "encoding", "categories", "aliases", @@ -1121,6 +1122,7 @@ def generate_config_aces( "display": display_name, "view": view_transform_name, "view_transform": view_transform_name, + "rule": transform_data["viewing_rule"], } if shared_view not in shared_views: LOGGER.info( @@ -1239,12 +1241,42 @@ def ordering(element: str) -> int: "transform_type": "BuiltinTransform", "style": "UTILITY - ACES-AP0_to_CIE-XYZ-D65_BFD", }, + "rule": "Any Scene-linear or Log", } + + video_view_transform = { + "name": "Video (colorimetric)", + "from_reference": { + "transform_type": "MatrixTransform", + "matrix": [ + 1.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 1.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 1.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 0.0000000000, + 1.0000000000, + ], + }, + "reference_space": ocio.REFERENCE_SPACE_DISPLAY, + "rule": "Any Video", + } + for display_name in display_names: untonemapped_shared_view = { "display": display_name, "view": untonemapped_view_transform["name"], "view_transform": untonemapped_view_transform["name"], + "rule": untonemapped_view_transform["rule"], } LOGGER.info( 'Adding "%s" shared view to "%s" display.', @@ -1255,6 +1287,21 @@ def ordering(element: str) -> int: if untonemapped_shared_view not in shared_views: shared_views.append(untonemapped_shared_view) + video_shared_view = { + "display": display_name, + "view": video_view_transform["name"], + "view_transform": video_view_transform["name"], + "rule": video_view_transform["rule"], + } + LOGGER.info( + 'Adding "%s" shared view to "%s" display.', + video_shared_view["view"], + display_name, + ) + + if video_shared_view not in shared_views: + shared_views.append(video_shared_view) + raw_view = { "display": display_name, "view": "Raw", @@ -1291,17 +1338,25 @@ def ordering(element: str) -> int: }, colorspaces=colorspaces + displays, looks=looks, - view_transforms=[*view_transforms, untonemapped_view_transform], + view_transforms=[ + *view_transforms, + untonemapped_view_transform, + video_view_transform, + ], shared_views=shared_views, views=shared_views + views, active_displays=display_names, - active_views=[*active_views, "Un-tone-mapped", "Raw"], + active_views=[*active_views, "Un-tone-mapped", "Video (colorimetric)", "Raw"], file_rules=[ { "name": "Default", "colorspace": scene_reference_colorspace["name"], } ], + viewing_rules=[ + {"name": "Any Scene-linear or Log", "encodings": ["log", "scene-linear"]}, + {"name": "Any Video", "encodings": ["sdr-video", "hdr-video"]}, + ], default_view_transform=untonemapped_view_transform["name"], profile_version=build_configuration.ocio, ) diff --git a/opencolorio_config_aces/config/reference/generate/resources/Loading... - Reference Config - Mapping.csv b/opencolorio_config_aces/config/reference/generate/resources/Loading... - Reference Config - Mapping.csv index 3737d4fa..8b3c3a2e 100644 --- a/opencolorio_config_aces/config/reference/generate/resources/Loading... - Reference Config - Mapping.csv +++ b/opencolorio_config_aces/config/reference/generate/resources/Loading... - Reference Config - Mapping.csv @@ -1,68 +1,68 @@ -Ordering,ACEStransformID,Colorspace,Legacy,BuiltinTransform Style,Linked DisplayColorSpace Style,Interface,Encoding,Categories,Aliases,InteropId -100,urn:ampas:aces:transformId:v2.0:CSC.Academy.ACEScc_to_ACES.a2.v1,ACES - ACEScc,TRUE,ACEScc_to_ACES2065-1,,ColorSpace,log,file-io,"acescc,acescc_ap1",ocio:acescc_ap1_scene -100,urn:ampas:aces:transformId:v2.0:CSC.Academy.ACEScct_to_ACES.a2.v1,ACES - ACEScct,TRUE,ACEScct_to_ACES2065-1,,ColorSpace,log,"file-io,working-space","acescct,acescct_ap1",ocio:acescct_ap1_scene -100,urn:ampas:aces:transformId:v2.0:CSC.Academy.ACEScg_to_ACES.a2.v1,ACES - ACEScg,TRUE,ACEScg_to_ACES2065-1,,ColorSpace,scene-linear,"file-io,working-space,texture","acescg,lin_ap1,lin_ap1_scene,ACES - ACEScg",lin_ap1_scene -100,urn:ampas:aces:transformId:v2.0:CSC.Academy.ADX10_to_ACES.a2.v1,Input - ADX - ADX10,TRUE,ADX10_to_ACES2065-1,,ColorSpace,log,file-io,adx10,ocio:adx10_apd_scene -100,urn:ampas:aces:transformId:v2.0:CSC.Academy.ADX16_to_ACES.a2.v1,Input - ADX - ADX16,TRUE,ADX16_to_ACES2065-1,,ColorSpace,log,file-io,adx16,ocio:adx16_apd_scene -105,urn:ampas:aces:transformId:v2.0:CSC.Apple.AppleLog_BT2020_to_ACES.a2.v1,,FALSE,APPLE_LOG_to_ACES2065-1,,ColorSpace,log,file-io,,ocio:applelog_rec2020_scene -110,urn:ampas:aces:transformId:v2.0:CSC.Arri.LogC3_to_ACES.a2.v1,,FALSE,ARRI_ALEXA-LOGC-EI800-AWG_to_ACES2065-1,,ColorSpace,log,file-io,logc3ei800_alexawide,ocio:arrilogc3_awg3_scene -110,urn:ampas:aces:transformId:v2.0:CSC.Arri.LogC4_to_ACES.a2.v1,,FALSE,ARRI_LOGC4_to_ACES2065-1,,ColorSpace,log,file-io,, -130,urn:ampas:aces:transformId:v2.0:CSC.Panasonic.VLog_VGamut_to_ACES.a2.v1,,FALSE,PANASONIC_VLOG-VGAMUT_to_ACES2065-1,,ColorSpace,log,file-io,vlog_vgamut,ocio:vlog_vgamut_scene -135,urn:ampas:aces:transformId:v2.0:CSC.Red.Log3G10_RWG_to_ACES.a2.v1,,FALSE,RED_LOG3G10-RWG_to_ACES2065-1,,ColorSpace,log,file-io,log3g10_rwg,ocio:redlog3g10_rwg_scene -140,urn:ampas:aces:transformId:v2.0:CSC.Sony.SLog3_SGamut3_to_ACES.a2.v1,,FALSE,SONY_SLOG3-SGAMUT3_to_ACES2065-1,,ColorSpace,log,file-io,slog3_sgamut3,ocio:slog3_sgamut3_scene -140,urn:ampas:aces:transformId:v2.0:CSC.Sony.SLog3_SGamut3Cine_to_ACES.a2.v1,,FALSE,SONY_SLOG3-SGAMUT3.CINE_to_ACES2065-1,,ColorSpace,log,file-io,slog3_sgamut3cine,ocio:slog3_sgamut3cine_scene -140,urn:ampas:aces:transformId:v2.0:CSC.Sony.Venice_SLog3_SGamut3_to_ACES.a2.v1,,FALSE,SONY_SLOG3-SGAMUT3-VENICE_to_ACES2065-1,,ColorSpace,log,file-io,slog3_venice_sgamut3,ocio:slog3_sgamut3venice_scene -140,urn:ampas:aces:transformId:v2.0:CSC.Sony.Venice_SLog3_SGamut3Cine_to_ACES.a2.v1,,FALSE,SONY_SLOG3-SGAMUT3.CINE-VENICE_to_ACES2065-1,,ColorSpace,log,file-io,slog3_venice_sgamut3cine,ocio:slog3_sgamut3cinevenice_scene -300,urn:ampas:aces:transformId:v2.0:Look.Academy.ReferenceGamutCompress.a2.v1,,FALSE,ACES-LMT - ACES 1.3 Reference Gamut Compression,,Look,,,, -400,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_sRGB - MIRROR NEGS,ViewTransform,sdr-video,file-io,,srgb_rec709_display -401,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC709-D65_2.0,DISPLAY - CIE-XYZ-D65_to_sRGB - MIRROR NEGS,ViewTransform,sdr-video,file-io,,srgb_rec709_display -405,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_Gamma2pt2.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_G2.2-REC.709 - MIRROR NEGS,ViewTransform,sdr-video,file-io,,g22_rec709_display -406,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec709-D65_Gamma2pt2.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC709-D65_2.0,DISPLAY - CIE-XYZ-D65_to_G2.2-REC.709 - MIRROR NEGS,ViewTransform,sdr-video,file-io,,g22_rec709_display -410,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_48nit_in_XYZ-E_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DCDM-D65,ViewTransform,sdr-video,file-io,,g26_xyzd65_display -411,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_48nit_in_XYZ-E_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D60-in-XYZ-E_2.0,DISPLAY - CIE-XYZ-D65_to_DCDM-D65,ViewTransform,sdr-video,file-io,,g26_xyzd65_display -415,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3,ViewTransform,sdr-video,file-io,,srgb_p3d65_display -416,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3,ViewTransform,sdr-video,file-io,,srgb_p3d65_display -420,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,edr-video,file-io,,srgbx_p3d65_display -421,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,edr-video,file-io,,srgbx_p3d65_display -422,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,edr-video,file-io,,srgb_p3d65_display -423,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,edr-video,file-io,,srgb_p3d65_display -430,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D65 - MIRROR NEGS,ViewTransform,sdr-video,file-io,,g26_p3d65_display -431,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_48nit_in_P3-D65_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D65 - MIRROR NEGS,ViewTransform,sdr-video,file-io,,g26_p3d65_display -435,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D65 - MIRROR NEGS,ViewTransform,sdr-video,file-io,,g26_p3d65_display -436,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_48nit_in_P3-D65_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D65 - MIRROR NEGS,ViewTransform,sdr-video,file-io,,g26_p3d65_display -440,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_BT1886.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_REC.1886-REC.709 - MIRROR NEGS,ViewTransform,sdr-video,file-io,,g24_rec709_display -441,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec709-D65_BT1886.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC709-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.1886-REC.709 - MIRROR NEGS,ViewTransform,sdr-video,file-io,,g24_rec709_display -445,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_Rec2100-D65_HLG.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-HLG-1000nit,ViewTransform,hdr-video,file-io,,hlg_rec2020_display -446,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_Rec2100-D65_HLG.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-HLG-1000nit,ViewTransform,hdr-video,file-io,,hlg_rec2020_display -450,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_500nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io,,pq_rec2020_display -451,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io,,pq_rec2020_display -451,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_2000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io,,pq_rec2020_display -451,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_4000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io,,pq_rec2020_display -455,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_500nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io,,pq_rec2020_display -456,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io,,pq_rec2020_display -456,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_2000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io,,pq_rec2020_display -456,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_4000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io,,pq_rec2020_display -460,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_500nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-REC2020_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io,,pq_rec2020_display -461,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-REC2020_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io,,pq_rec2020_display -461,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_2000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-REC2020_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io,,pq_rec2020_display -461,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_4000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-REC2020_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io,,pq_rec2020_display -465,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_500nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-REC2020-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io,,pq_rec2020_display -466,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_1000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-REC2020-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io,,pq_rec2020_display -466,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_2000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-REC2020-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io,,pq_rec2020_display -466,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_4000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-REC2020-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,hdr-video,file-io,,pq_rec2020_display -470,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,sdr-video,file-io,,pq_rec2020_display -470,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,sdr-video,file-io,,pq_rec2020_display -475,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_300nit_in_XYZ-E_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-300nit-P3-D60-in-XYZ-E_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-DCDM-D65,ViewTransform,hdr-video,file-io,,pq_xyzd65_display -475,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_300nit_in_XYZ-E_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-300nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-DCDM-D65,ViewTransform,hdr-video,file-io,,pq_xyzd65_display -480,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_108nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-108nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io,,pq_p3d65_display -481,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_500nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io,,pq_p3d65_display -482,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io,,pq_p3d65_display -482,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_2000nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io,,pq_p3d65_display -482,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_4000nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io,,pq_p3d65_display -485,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_108nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-108nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io,,pq_p3d65_display -486,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_500nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io,,pq_p3d65_display -487,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io,,pq_p3d65_display -487,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_2000nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io,,pq_p3d65_display -487,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_4000nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,hdr-video,file-io,,pq_p3d65_display -490,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,sdr-video,file-io,,pq_p3d65_display -491,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,sdr-video,file-io,,pq_p3d65_display +Ordering,ACEStransformID,Colorspace,Legacy,BuiltinTransform Style,Linked DisplayColorSpace Style,Interface,ViewingRule,Encoding,Categories,Aliases,InteropId +100,urn:ampas:aces:transformId:v2.0:CSC.Academy.ACEScc_to_ACES.a2.v1,ACES - ACEScc,TRUE,ACEScc_to_ACES2065-1,,ColorSpace,,log,file-io,"acescc,acescc_ap1",ocio:acescc_ap1_scene +100,urn:ampas:aces:transformId:v2.0:CSC.Academy.ACEScct_to_ACES.a2.v1,ACES - ACEScct,TRUE,ACEScct_to_ACES2065-1,,ColorSpace,,log,"file-io,working-space","acescct,acescct_ap1",ocio:acescct_ap1_scene +100,urn:ampas:aces:transformId:v2.0:CSC.Academy.ACEScg_to_ACES.a2.v1,ACES - ACEScg,TRUE,ACEScg_to_ACES2065-1,,ColorSpace,,scene-linear,"file-io,working-space,texture","acescg,lin_ap1,lin_ap1_scene,ACES - ACEScg",lin_ap1_scene +100,urn:ampas:aces:transformId:v2.0:CSC.Academy.ADX10_to_ACES.a2.v1,Input - ADX - ADX10,TRUE,ADX10_to_ACES2065-1,,ColorSpace,,log,file-io,adx10,ocio:adx10_apd_scene +100,urn:ampas:aces:transformId:v2.0:CSC.Academy.ADX16_to_ACES.a2.v1,Input - ADX - ADX16,TRUE,ADX16_to_ACES2065-1,,ColorSpace,,log,file-io,adx16,ocio:adx16_apd_scene +105,urn:ampas:aces:transformId:v2.0:CSC.Apple.AppleLog_BT2020_to_ACES.a2.v1,,FALSE,APPLE_LOG_to_ACES2065-1,,ColorSpace,,log,file-io,,ocio:applelog_rec2020_scene +110,urn:ampas:aces:transformId:v2.0:CSC.Arri.LogC3_to_ACES.a2.v1,,FALSE,ARRI_ALEXA-LOGC-EI800-AWG_to_ACES2065-1,,ColorSpace,,log,file-io,logc3ei800_alexawide,ocio:arrilogc3_awg3_scene +110,urn:ampas:aces:transformId:v2.0:CSC.Arri.LogC4_to_ACES.a2.v1,,FALSE,ARRI_LOGC4_to_ACES2065-1,,ColorSpace,,log,file-io,, +130,urn:ampas:aces:transformId:v2.0:CSC.Panasonic.VLog_VGamut_to_ACES.a2.v1,,FALSE,PANASONIC_VLOG-VGAMUT_to_ACES2065-1,,ColorSpace,,log,file-io,vlog_vgamut,ocio:vlog_vgamut_scene +135,urn:ampas:aces:transformId:v2.0:CSC.Red.Log3G10_RWG_to_ACES.a2.v1,,FALSE,RED_LOG3G10-RWG_to_ACES2065-1,,ColorSpace,,log,file-io,log3g10_rwg,ocio:redlog3g10_rwg_scene +140,urn:ampas:aces:transformId:v2.0:CSC.Sony.SLog3_SGamut3_to_ACES.a2.v1,,FALSE,SONY_SLOG3-SGAMUT3_to_ACES2065-1,,ColorSpace,,log,file-io,slog3_sgamut3,ocio:slog3_sgamut3_scene +140,urn:ampas:aces:transformId:v2.0:CSC.Sony.SLog3_SGamut3Cine_to_ACES.a2.v1,,FALSE,SONY_SLOG3-SGAMUT3.CINE_to_ACES2065-1,,ColorSpace,,log,file-io,slog3_sgamut3cine,ocio:slog3_sgamut3cine_scene +140,urn:ampas:aces:transformId:v2.0:CSC.Sony.Venice_SLog3_SGamut3_to_ACES.a2.v1,,FALSE,SONY_SLOG3-SGAMUT3-VENICE_to_ACES2065-1,,ColorSpace,,log,file-io,slog3_venice_sgamut3,ocio:slog3_sgamut3venice_scene +140,urn:ampas:aces:transformId:v2.0:CSC.Sony.Venice_SLog3_SGamut3Cine_to_ACES.a2.v1,,FALSE,SONY_SLOG3-SGAMUT3.CINE-VENICE_to_ACES2065-1,,ColorSpace,,log,file-io,slog3_venice_sgamut3cine,ocio:slog3_sgamut3cinevenice_scene +300,urn:ampas:aces:transformId:v2.0:Look.Academy.ReferenceGamutCompress.a2.v1,,FALSE,ACES-LMT - ACES 1.3 Reference Gamut Compression,,Look,,,,, +400,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_sRGB - MIRROR NEGS,ViewTransform,Any Scene-linear or Log,sdr-video,file-io,,srgb_rec709_display +401,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC709-D65_2.0,DISPLAY - CIE-XYZ-D65_to_sRGB - MIRROR NEGS,ViewTransform,Any Scene-linear or Log,sdr-video,file-io,,srgb_rec709_display +405,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_Gamma2pt2.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_G2.2-REC.709 - MIRROR NEGS,ViewTransform,Any Scene-linear or Log,sdr-video,file-io,,g22_rec709_display +406,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec709-D65_Gamma2pt2.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC709-D65_2.0,DISPLAY - CIE-XYZ-D65_to_G2.2-REC.709 - MIRROR NEGS,ViewTransform,Any Scene-linear or Log,sdr-video,file-io,,g22_rec709_display +410,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_48nit_in_XYZ-E_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DCDM-D65,ViewTransform,Any Scene-linear or Log,sdr-video,file-io,,g26_xyzd65_display +411,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_48nit_in_XYZ-E_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D60-in-XYZ-E_2.0,DISPLAY - CIE-XYZ-D65_to_DCDM-D65,ViewTransform,Any Scene-linear or Log,sdr-video,file-io,,g26_xyzd65_display +415,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3,ViewTransform,Any Scene-linear or Log,sdr-video,file-io,,srgb_p3d65_display +416,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3,ViewTransform,Any Scene-linear or Log,sdr-video,file-io,,srgb_p3d65_display +420,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,Any Scene-linear or Log,edr-video,file-io,,srgbx_p3d65_display +421,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,Any Scene-linear or Log,edr-video,file-io,,srgbx_p3d65_display +422,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,Any Scene-linear or Log,edr-video,file-io,,srgb_p3d65_display +423,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,Any Scene-linear or Log,edr-video,file-io,,srgb_p3d65_display +430,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D65 - MIRROR NEGS,ViewTransform,Any Scene-linear or Log,sdr-video,file-io,,g26_p3d65_display +431,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_48nit_in_P3-D65_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D65 - MIRROR NEGS,ViewTransform,Any Scene-linear or Log,sdr-video,file-io,,g26_p3d65_display +435,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D65 - MIRROR NEGS,ViewTransform,Any Scene-linear or Log,sdr-video,file-io,,g26_p3d65_display +436,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_48nit_in_P3-D65_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D65 - MIRROR NEGS,ViewTransform,Any Scene-linear or Log,sdr-video,file-io,,g26_p3d65_display +440,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_BT1886.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_REC.1886-REC.709 - MIRROR NEGS,ViewTransform,Any Scene-linear or Log,sdr-video,file-io,,g24_rec709_display +441,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec709-D65_BT1886.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC709-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.1886-REC.709 - MIRROR NEGS,ViewTransform,Any Scene-linear or Log,sdr-video,file-io,,g24_rec709_display +445,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_Rec2100-D65_HLG.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-HLG-1000nit,ViewTransform,Any Scene-linear or Log,hdr-video,file-io,,hlg_rec2020_display +446,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_Rec2100-D65_HLG.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-HLG-1000nit,ViewTransform,Any Scene-linear or Log,hdr-video,file-io,,hlg_rec2020_display +450,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_500nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,Any Scene-linear or Log,hdr-video,file-io,,pq_rec2020_display +451,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,Any Scene-linear or Log,hdr-video,file-io,,pq_rec2020_display +451,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_2000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,Any Scene-linear or Log,hdr-video,file-io,,pq_rec2020_display +451,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_4000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,Any Scene-linear or Log,hdr-video,file-io,,pq_rec2020_display +455,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_500nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,Any Scene-linear or Log,hdr-video,file-io,,pq_rec2020_display +456,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,Any Scene-linear or Log,hdr-video,file-io,,pq_rec2020_display +456,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_2000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,Any Scene-linear or Log,hdr-video,file-io,,pq_rec2020_display +456,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_4000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,Any Scene-linear or Log,hdr-video,file-io,,pq_rec2020_display +460,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_500nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-REC2020_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,Any Scene-linear or Log,hdr-video,file-io,,pq_rec2020_display +461,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_1000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-REC2020_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,Any Scene-linear or Log,hdr-video,file-io,,pq_rec2020_display +461,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_2000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-REC2020_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,Any Scene-linear or Log,hdr-video,file-io,,pq_rec2020_display +461,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D65_4000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-REC2020_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,Any Scene-linear or Log,hdr-video,file-io,,pq_rec2020_display +465,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_500nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-REC2020-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,Any Scene-linear or Log,hdr-video,file-io,,pq_rec2020_display +466,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_1000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-REC2020-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,Any Scene-linear or Log,hdr-video,file-io,,pq_rec2020_display +466,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_2000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-REC2020-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,Any Scene-linear or Log,hdr-video,file-io,,pq_rec2020_display +466,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec2100-D60_4000nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-REC2020-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,Any Scene-linear or Log,hdr-video,file-io,,pq_rec2020_display +470,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,Any Scene-linear or Log,sdr-video,file-io,,pq_rec2020_display +470,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec2100-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ,ViewTransform,Any Scene-linear or Log,sdr-video,file-io,,pq_rec2020_display +475,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_300nit_in_XYZ-E_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-300nit-P3-D60-in-XYZ-E_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-DCDM-D65,ViewTransform,Any Scene-linear or Log,hdr-video,file-io,,pq_xyzd65_display +475,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_300nit_in_XYZ-E_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-300nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-DCDM-D65,ViewTransform,Any Scene-linear or Log,hdr-video,file-io,,pq_xyzd65_display +480,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_108nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-108nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,Any Scene-linear or Log,hdr-video,file-io,,pq_p3d65_display +481,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_500nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,Any Scene-linear or Log,hdr-video,file-io,,pq_p3d65_display +482,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,Any Scene-linear or Log,hdr-video,file-io,,pq_p3d65_display +482,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_2000nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,Any Scene-linear or Log,hdr-video,file-io,,pq_p3d65_display +482,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_4000nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,Any Scene-linear or Log,hdr-video,file-io,,pq_p3d65_display +485,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_108nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-108nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,Any Scene-linear or Log,hdr-video,file-io,,pq_p3d65_display +486,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_500nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,Any Scene-linear or Log,hdr-video,file-io,,pq_p3d65_display +487,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,Any Scene-linear or Log,hdr-video,file-io,,pq_p3d65_display +487,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_2000nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,Any Scene-linear or Log,hdr-video,file-io,,pq_p3d65_display +487,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_4000nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,Any Scene-linear or Log,hdr-video,file-io,,pq_p3d65_display +490,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,Any Scene-linear or Log,sdr-video,file-io,,pq_p3d65_display +491,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_P3-D65_ST2084.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC2020-D65_2.0,DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65,ViewTransform,Any Scene-linear or Log,sdr-video,file-io,,pq_p3d65_display From 2f75f84501e1b2829a3b4ed5bbb9252c54b1cc9c Mon Sep 17 00:00:00 2001 From: Thomas Mansencal Date: Fri, 19 Sep 2025 17:55:37 +1200 Subject: [PATCH 10/17] Implement support for file rules. Signed-off-by: Thomas Mansencal --- .../config/reference/generate/config.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/opencolorio_config_aces/config/reference/generate/config.py b/opencolorio_config_aces/config/reference/generate/config.py index 6e2e0f24..8749d823 100644 --- a/opencolorio_config_aces/config/reference/generate/config.py +++ b/opencolorio_config_aces/config/reference/generate/config.py @@ -1349,9 +1349,20 @@ def ordering(element: str) -> int: active_views=[*active_views, "Un-tone-mapped", "Video (colorimetric)", "Raw"], file_rules=[ { - "name": "Default", + "name": "EXR", "colorspace": scene_reference_colorspace["name"], - } + "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"]}, From bb25a6690a97a872ca819dbf8b00e99b13b67ccb Mon Sep 17 00:00:00 2001 From: Thomas Mansencal Date: Fri, 19 Sep 2025 18:15:14 +1200 Subject: [PATCH 11/17] Bump *colorspaces* version to 4.0.0. Signed-off-by: Thomas Mansencal --- opencolorio_config_aces/config/generation/configuration.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/opencolorio_config_aces/config/generation/configuration.py b/opencolorio_config_aces/config/generation/configuration.py index c338a5e0..c1eeaf9a 100644 --- a/opencolorio_config_aces/config/generation/configuration.py +++ b/opencolorio_config_aces/config/generation/configuration.py @@ -90,19 +90,19 @@ def extended_fields(self) -> dict[str, str]: BUILD_CONFIGURATIONS: list[BuildConfiguration] = [ BuildConfiguration( aces=Version(2, 0), - colorspaces=Version(3, 0, 0), + colorspaces=Version(4, 0, 0), ocio=Version(2, 5), variant="", ), BuildConfiguration( aces=Version(2, 0), - colorspaces=Version(3, 0, 0), + colorspaces=Version(4, 0, 0), ocio=Version(2, 5), variant="D60 Views", ), BuildConfiguration( aces=Version(2, 0), - colorspaces=Version(3, 0, 0), + colorspaces=Version(4, 0, 0), ocio=Version(2, 5), variant="All Views", ), From 827208fb0f172d33555592de03d8963cc5f6b5d7 Mon Sep 17 00:00:00 2001 From: Thomas Mansencal Date: Sun, 21 Sep 2025 10:19:18 +1200 Subject: [PATCH 12/17] Implement support for *AMF* components filtering by config variant. Signed-off-by: Thomas Mansencal --- docs/opencolorio_config_aces.utilities.rst | 2 + .../config/cg/generate/config.py | 24 ++--- .../config/generation/configuration.py | 4 + .../config/reference/discover/classify.py | 78 ++++++++++++++-- .../config/reference/generate/config.py | 27 +++++- opencolorio_config_aces/utilities/__init__.py | 4 + opencolorio_config_aces/utilities/common.py | 89 +++++++++++++++++++ 7 files changed, 203 insertions(+), 25 deletions(-) diff --git a/docs/opencolorio_config_aces.utilities.rst b/docs/opencolorio_config_aces.utilities.rst index a08aa824..fe9ea87c 100644 --- a/docs/opencolorio_config_aces.utilities.rst +++ b/docs/opencolorio_config_aces.utilities.rst @@ -40,3 +40,5 @@ Common timestamp as_bool optional + filter_any + filter_all diff --git a/opencolorio_config_aces/config/cg/generate/config.py b/opencolorio_config_aces/config/cg/generate/config.py index 9245fb36..4ff8707a 100644 --- a/opencolorio_config_aces/config/cg/generate/config.py +++ b/opencolorio_config_aces/config/cg/generate/config.py @@ -53,6 +53,8 @@ ) from opencolorio_config_aces.utilities import ( attest, + filter_all, + filter_any, optional, timestamp, validate_method, @@ -816,6 +818,7 @@ def generate_config_cg( describe=describe, scheme=scheme, analytical=False, + additional_filterers=additional_filterers, additional_data=True, ) @@ -969,24 +972,6 @@ def transform_filterer(transform: dict[str, Any]) -> bool: return False - def filter_any( - array: list[dict[str, Any]], filterers: list[Callable[[dict[str, Any]], bool]] - ) -> list[dict[str, Any]]: - """Filter array elements passing any of the filterers.""" - - filtered = [a for a in array if any(filterer(a) for filterer in filterers)] - - return filtered - - def filter_all( - array: list[dict[str, Any]], filterers: list[Callable[[dict[str, Any]], bool]] - ) -> list[dict[str, Any]]: - """Filter array elements passing all of the filterers.""" - - filtered = [a for a in array if all(filterer(a) for filterer in filterers)] - - return filtered - # "Colorspaces" Filtering # ======================= any_colorspace_filterers = [ @@ -1161,7 +1146,8 @@ def remove_existing_named_transform(name: str) -> None: ) ) is not None: filtered_amf_components = filter_amf_components( - amf_components, aces_transform_id.aces_transform_id + amf_components, + aces_transform_id.aces_transform_id, ) kwargs.update( diff --git a/opencolorio_config_aces/config/generation/configuration.py b/opencolorio_config_aces/config/generation/configuration.py index c1eeaf9a..39a6264c 100644 --- a/opencolorio_config_aces/config/generation/configuration.py +++ b/opencolorio_config_aces/config/generation/configuration.py @@ -120,6 +120,9 @@ def extended_fields(self) -> dict[str, str]: "view_transform_filterers": [lambda x: "D60 in" not in x["name"]], "shared_view_filterers": [lambda x: "D60 in" not in x["view_transform"]], "view_filterers": [lambda x: "D60 in" not in x["view"]], + "amf_component_display_filterers": [ + lambda x: "-D60_" not in x["transform_id"] + ], }, }, "D60 Views": { @@ -140,6 +143,7 @@ def extended_fields(self) -> dict[str, str]: or x["view"] == "Un-tone-mapped" or x["view"] == "Raw" ], + "amf_component_display_filterers": [lambda x: "-D60_" in x["transform_id"]], }, }, "All Views": {"any": {}, "all": {}}, diff --git a/opencolorio_config_aces/config/reference/discover/classify.py b/opencolorio_config_aces/config/reference/discover/classify.py index 60725064..bff37137 100644 --- a/opencolorio_config_aces/config/reference/discover/classify.py +++ b/opencolorio_config_aces/config/reference/discover/classify.py @@ -32,6 +32,8 @@ from opencolorio_config_aces.utilities import ( attest, + filter_all, + filter_any, message_box, optional, paths_common_ancestor, @@ -1511,8 +1513,11 @@ def generate_amf_components( def filter_amf_components( - amf_components: dict[str, list[str]], aces_transform_id: str -) -> list[str] | None: + amf_components: dict[str, list[str]], + aces_transform_id: str, + filter_any_filterers: list[Callable[[dict[str, Any]], bool]] | None = None, + filter_all_filterers: list[Callable[[dict[str, Any]], bool]] | None = None, +) -> list[str]: """ Filter the *ACES* *AMF* components for specified *ACEStransformID*. @@ -1522,16 +1527,79 @@ def filter_amf_components( *ACES* *AMF* components to filter. aces_transform_id : str *ACEStransformID* to filter the *ACES* *AMF* components with. + filter_any_filterers : list[Callable[[dict[str, Any]], bool]] | None, optional + List of filter functions for OR logic filtering. Each function should + accept a dictionary with *transform_id* key and return True if the + element passes the filter condition. + filter_all_filterers : list[Callable[[dict[str, Any]], bool]] | None, optional + List of filter functions for AND logic filtering. Each function should + accept a dictionary with *transform_id* key and return True if the + element passes the filter condition. Returns ------- - :class:`list` + list Filtered *ACES* *AMF* components. + + Examples + -------- + >>> amf_components = { + ... "DISPLAY - CIE-XYZ-D65_to_sRGB - MIRROR NEGS": [ + ... 'urn:ampas:aces:transformId:v2.0:Output.Academy.\ +Rec709-D65_100nit_in_Rec709-D65_sRGB-Piecewise.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:Output.Academy.\ +Rec709-D60_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1', + ... 'urn:ampas:aces:transformId:v2.0:InvOutput.Academy.\ +Rec709-D60_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1' + ... ] + ... } + >>> filterers_all = [lambda x: "-D60_" not in x['transform_id']] + >>> filter_amf_components( + ... amf_components, + ... "DISPLAY - CIE-XYZ-D65_to_sRGB - MIRROR NEGS", + ... filterers_all + ... ) # doctest: +ELLIPSIS + ['urn:ampas:aces:transformId:v2.0:Output.Academy.\ +Rec709-D65_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1', \ +'urn:ampas:aces:transformId:v2.0:InvOutput.Academy.\ +Rec709-D65_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1'] + >>> filterers_all = [lambda x: "-D60_" in x['transform_id']] + >>> filter_amf_components( + ... amf_components, + ... "DISPLAY - CIE-XYZ-D65_to_sRGB - MIRROR NEGS", + ... filterers_all + ... ) # doctest: +ELLIPSIS + ['urn:ampas:aces:transformId:v2.0:Output.Academy.\ +Rec709-D60_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1', \ +'urn:ampas:aces:transformId:v2.0:InvOutput.Academy.\ +Rec709-D60_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1'] """ - filtered_amf_components = list(amf_components.get(aces_transform_id, [])) + filtered_amf_components = amf_components.get(aces_transform_id, []) + + if filter_any_filterers or filter_all_filterers: + filtered_amf_components_dicts = [ + {"transform_id": transform_id} for transform_id in filtered_amf_components + ] + + if filter_any_filterers: + filtered_amf_components_dicts = filter_any( + filtered_amf_components_dicts, filter_any_filterers + ) + + if filter_all_filterers: + filtered_amf_components_dicts = filter_all( + filtered_amf_components_dicts, filter_all_filterers + ) + + filtered_amf_components = [ + filtered_amf_components_dict["transform_id"] + for filtered_amf_components_dict in filtered_amf_components_dicts + ] - return filtered_amf_components if len(filtered_amf_components) else None + return filtered_amf_components if __name__ == "__main__": diff --git a/opencolorio_config_aces/config/reference/generate/config.py b/opencolorio_config_aces/config/reference/generate/config.py index 8749d823..5d6fc50b 100644 --- a/opencolorio_config_aces/config/reference/generate/config.py +++ b/opencolorio_config_aces/config/reference/generate/config.py @@ -55,6 +55,7 @@ from opencolorio_config_aces.utilities import ( as_bool, attest, + optional, timestamp, validate_method, ) @@ -839,6 +840,8 @@ def generate_config_aces( config_mapping_file_path: Any = PATH_TRANSFORMS_MAPPING_FILE_REFERENCE, scheme: str = "Modern 1", analytical: bool = True, + additional_filterers: dict[str, dict[str, list[Callable[[Any], bool]]]] + | None = None, additional_data: bool = False, ) -> Any: """ @@ -876,6 +879,21 @@ def generate_config_aces( Whether to generate *OpenColorIO* transform families that analytically match the given *ACES* *CTL* transform, i.e., true to the *aces-dev* reference but not necessarily user-friendly. + additional_filterers : dict, optional + Additional filterers to further include or exclude components from the + generated config. + + .. code-block:: python + + filterer = [lambda x: "-D60_" not in x["transform_id"]] + + { + "any": {}, + "all": { + "amf_component_display_filterers": filterer, + }, + }, + additional_data : bool, optional Whether to return additional data. @@ -892,6 +910,10 @@ def generate_config_aces( config_name_aces(build_configuration), ) + # TODO: Implement full filtering for all the transforms that is defined + # in the *CG* config. + additional_filterers = optional(additional_filterers, {"any": {}, "all": {}}) + LOGGER.debug('Using %s "Builtin" transforms...', list(BUILTIN_TRANSFORMS.keys())) ctl_transforms = unclassify_ctl_transforms( @@ -1089,7 +1111,10 @@ def generate_config_aces( display_style = transform_data["linked_display_colorspace_style"] filtered_amf_components = filter_amf_components( - amf_components, display_style + amf_components, + display_style, + additional_filterers["any"].get("amf_component_display_filterers"), + additional_filterers["all"].get("amf_component_display_filterers"), ) display = style_to_display_colorspace( diff --git a/opencolorio_config_aces/utilities/__init__.py b/opencolorio_config_aces/utilities/__init__.py index 5cb87486..d18e32fe 100644 --- a/opencolorio_config_aces/utilities/__init__.py +++ b/opencolorio_config_aces/utilities/__init__.py @@ -27,6 +27,8 @@ timestamp, as_bool, optional, + filter_any, + filter_all, ) __all__ = [ @@ -55,4 +57,6 @@ "timestamp", "as_bool", "optional", + "filter_any", + "filter_all", ] diff --git a/opencolorio_config_aces/utilities/common.py b/opencolorio_config_aces/utilities/common.py index 38c245f3..17831092 100644 --- a/opencolorio_config_aces/utilities/common.py +++ b/opencolorio_config_aces/utilities/common.py @@ -60,6 +60,8 @@ "timestamp", "as_bool", "optional", + "filter_any", + "filter_all", ] LOGGER = logging.getLogger(__name__) @@ -842,3 +844,90 @@ def optional(value: T | None, default: T) -> T: return default else: return value + + +def filter_any( + array: list[dict[str, Any]], filterers: list[Callable[[dict[str, Any]], bool]] +) -> list[dict[str, Any]]: + """ + Filter array elements that pass any of the provided filter functions. + + This function applies multiple filter functions to each element in the array + and returns elements that satisfy at least one filter condition (OR logic). + + Parameters + ---------- + array : list[dict[str, Any]] + The list of dictionaries to filter. + filterers : list[Callable[[dict[str, Any]], bool]] + A list of callable filter functions. Each function should accept a + dictionary and return True if the element passes the filter condition, + False otherwise. + + Returns + ------- + list[dict[str, Any]] + A new list containing only the elements that pass at least one of the + filter conditions. + + Examples + -------- + >>> transforms = [ + ... {'name': 'ACEScc', 'type': 'CSC', 'family': 'aces'}, + ... {'name': 'ACEScg', 'type': 'CSC', 'family': 'aces'}, + ... {'name': 'sRGB', 'type': 'Output', 'family': 'display'}, + ... ] + >>> is_csc = lambda x: x['type'] == 'CSC' + >>> is_output = lambda x: x['type'] == 'Output' + >>> filter_any(transforms, [is_csc, is_output]) + [{'name': 'ACEScc', 'type': 'CSC', 'family': 'aces'}, \ +{'name': 'ACEScg', 'type': 'CSC', 'family': 'aces'}, \ +{'name': 'sRGB', 'type': 'Output', 'family': 'display'}] + """ + + filtered = [a for a in array if any(filterer(a) for filterer in filterers)] + + return filtered + + +def filter_all( + array: list[dict[str, Any]], filterers: list[Callable[[dict[str, Any]], bool]] +) -> list[dict[str, Any]]: + """ + Filter array elements that pass all of the provided filter functions. + + This function applies multiple filter functions to each element in the array + and returns only elements that satisfy every filter condition (AND logic). + + Parameters + ---------- + array : list[dict[str, Any]] + The list of dictionaries to filter. + filterers : list[Callable[[dict[str, Any]], bool]] + A list of callable filter functions. Each function should accept a + dictionary and return True if the element passes the filter condition, + False otherwise. + + Returns + ------- + list[dict[str, Any]] + A new list containing only the elements that pass all of the filter + conditions. + + Examples + -------- + >>> transforms = [ + ... {'name': 'ACEScc', 'type': 'CSC', 'family': 'aces'}, + ... {'name': 'Rec709', 'type': 'Output', 'family': 'display'}, + ... {'name': 'sRGB', 'type': 'Output', 'family': 'display'}, + ... ] + >>> is_output = lambda x: x['type'] == 'Output' + >>> is_display = lambda x: x['family'] == 'display' + >>> filter_all(transforms, [is_output, is_display]) + [{'name': 'Rec709', 'type': 'Output', 'family': 'display'}, \ +{'name': 'sRGB', 'type': 'Output', 'family': 'display'}] + """ + + filtered = [a for a in array if all(filterer(a) for filterer in filterers)] + + return filtered From 9756e9552c245ac5062c1b1fa04376479c0dfe78 Mon Sep 17 00:00:00 2001 From: Thomas Mansencal Date: Sat, 27 Sep 2025 08:51:57 +1200 Subject: [PATCH 13/17] Add *AMF* component IDs to *Look* and *ViewTransform*. Signed-off-by: Thomas Mansencal --- .../config/generation/factories.py | 10 +++ .../config/reference/discover/classify.py | 10 +-- .../config/reference/generate/config.py | 67 +++++++++++++------ 3 files changed, 61 insertions(+), 26 deletions(-) diff --git a/opencolorio_config_aces/config/generation/factories.py b/opencolorio_config_aces/config/generation/factories.py index d570a1c4..d65bab85 100644 --- a/opencolorio_config_aces/config/generation/factories.py +++ b/opencolorio_config_aces/config/generation/factories.py @@ -383,6 +383,7 @@ def view_transform_factory( from_reference: Mapping[str, Any] | ocio.Transform | None = None, reference_space: str | int | None = None, base_view_transform: Mapping[str, Any] | ocio.ViewTransform | None = None, + interchange_mapping: dict[str, str] | None = None, **kwargs: Any, ) -> ocio.ViewTransform: """ @@ -463,6 +464,10 @@ def view_transform_factory( if description is not None: view_transform.setDescription(description) # pyright: ignore + if interchange_mapping is not None: + for key, value in interchange_mapping.items(): + view_transform.setInterchangeAttribute(key, value) # pyright: ignore + return view_transform @@ -473,6 +478,7 @@ def look_factory( forward_transform: Mapping[str, Any] | ocio.Transform | None = None, inverse_transform: Mapping[str, Any] | ocio.Transform | None = None, base_look: Mapping[str, Any] | ocio.Look | None = None, + interchange_mapping: dict[str, str] | None = None, **kwargs: Any, ) -> ocio.Look: """ @@ -534,6 +540,10 @@ def look_factory( if description is not None: look.setDescription(description) # pyright: ignore + if interchange_mapping is not None: + for key, value in interchange_mapping.items(): + look.setInterchangeAttribute(key, value) # pyright: ignore + return look diff --git a/opencolorio_config_aces/config/reference/discover/classify.py b/opencolorio_config_aces/config/reference/discover/classify.py index bff37137..96736f6c 100644 --- a/opencolorio_config_aces/config/reference/discover/classify.py +++ b/opencolorio_config_aces/config/reference/discover/classify.py @@ -1561,9 +1561,9 @@ def filter_amf_components( ... "DISPLAY - CIE-XYZ-D65_to_sRGB - MIRROR NEGS", ... filterers_all ... ) # doctest: +ELLIPSIS - ['urn:ampas:aces:transformId:v2.0:Output.Academy.\ + ['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.\ +'urn:ampas:aces:transformId:v2.0:Output.Academy.\ Rec709-D65_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1'] >>> filterers_all = [lambda x: "-D60_" in x['transform_id']] >>> filter_amf_components( @@ -1571,9 +1571,9 @@ def filter_amf_components( ... "DISPLAY - CIE-XYZ-D65_to_sRGB - MIRROR NEGS", ... filterers_all ... ) # doctest: +ELLIPSIS - ['urn:ampas:aces:transformId:v2.0:Output.Academy.\ + ['urn:ampas:aces:transformId:v2.0:InvOutput.Academy.\ Rec709-D60_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1', \ -'urn:ampas:aces:transformId:v2.0:InvOutput.Academy.\ +'urn:ampas:aces:transformId:v2.0:Output.Academy.\ Rec709-D60_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1'] """ @@ -1599,7 +1599,7 @@ def filter_amf_components( for filtered_amf_components_dict in filtered_amf_components_dicts ] - return filtered_amf_components + return sorted(filtered_amf_components) if __name__ == "__main__": diff --git a/opencolorio_config_aces/config/reference/generate/config.py b/opencolorio_config_aces/config/reference/generate/config.py index 5d6fc50b..0feda4ff 100644 --- a/opencolorio_config_aces/config/reference/generate/config.py +++ b/opencolorio_config_aces/config/reference/generate/config.py @@ -967,6 +967,20 @@ def generate_config_aces( ) continue + # Extending the "AMF" relations. + if not amf_components.get(style): + amf_components[style] = [] + + if ( + aces_transform_id := transform_data.get("aces_transform_id") + ) is not None: + amf_components[style].extend( + { + aces_transform_id, + *amf_components.get(aces_transform_id, []), + } + ) + # Checking whether the linked "DisplayColorspace" # "BuiltinTransform" style exists. style = transform_data["linked_display_colorspace_style"] @@ -1100,6 +1114,11 @@ def generate_config_aces( describe, signature_only=True, scheme=scheme, + interchange_mapping={ + "amf_transform_ids": "\n".join( + filter_amf_components(amf_components, style) + ) + }, ) view_transform["transforms_data"] = [transform_data] view_transforms.append(view_transform) @@ -1110,13 +1129,6 @@ def generate_config_aces( display_style = transform_data["linked_display_colorspace_style"] - filtered_amf_components = filter_amf_components( - amf_components, - display_style, - additional_filterers["any"].get("amf_component_display_filterers"), - additional_filterers["all"].get("amf_component_display_filterers"), - ) - display = style_to_display_colorspace( display_style, describe, @@ -1126,11 +1138,20 @@ def generate_config_aces( categories=transform_data.get("categories"), aliases=transform_data_aliases(transform_data), interop_id=transform_data.get("interop_id"), - interchange_mapping=( - None - if filtered_amf_components is None - else {"amf_transform_ids": "\n".join(filtered_amf_components)} - ), + interchange_mapping={ + "amf_transform_ids": "\n".join( + filter_amf_components( + amf_components, + display_style, + additional_filterers["any"].get( + "amf_component_display_filterers" + ), + additional_filterers["all"].get( + "amf_component_display_filterers" + ), + ) + ) + }, ) display["transforms_data"] = [transform_data] display_name = display["name"] @@ -1170,6 +1191,11 @@ def generate_config_aces( "style": style, }, process_space=scene_reference_colorspace["name"], + interchange_mapping={ + "amf_transform_ids": "\n".join( + filter_amf_components(amf_components, style) + ) + }, ) look["transforms_data"] = [transform_data] if look not in looks: @@ -1180,10 +1206,6 @@ def generate_config_aces( style, ) - filtered_amf_components = filter_amf_components( - amf_components, ctl_transform.aces_transform_id.aces_transform_id - ) - colorspace = ctl_transform_to_colorspace( ctl_transform, describe, @@ -1198,11 +1220,14 @@ def generate_config_aces( categories=transform_data.get("categories"), aliases=transform_data_aliases(transform_data), interop_id=transform_data.get("interop_id"), - interchange_mapping=( - None - if filtered_amf_components is None - else {"amf_transform_ids": "\n".join(filtered_amf_components)} - ), + interchange_mapping={ + "amf_transform_ids": "\n".join( + filter_amf_components( + amf_components, + ctl_transform.aces_transform_id.aces_transform_id, + ) + ) + }, ) colorspace["transforms_data"] = [transform_data] if colorspace not in colorspaces: From 204e3e808893b49aa389d589c5307f7b36006aa4 Mon Sep 17 00:00:00 2001 From: Thomas Mansencal Date: Sat, 27 Sep 2025 19:18:34 +1200 Subject: [PATCH 14/17] Update CSV files. Signed-off-by: Thomas Mansencal --- .../generate/resources/Loading... - CG Config - Mapping.csv | 2 +- .../resources/Loading... - Reference Config - Mapping.csv | 4 ++-- .../resources/Loading... - Studio Config - Mapping.csv | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/opencolorio_config_aces/config/cg/generate/resources/Loading... - CG Config - Mapping.csv b/opencolorio_config_aces/config/cg/generate/resources/Loading... - CG Config - Mapping.csv index 31d10a67..d4ea56d7 100644 --- a/opencolorio_config_aces/config/cg/generate/resources/Loading... - CG Config - Mapping.csv +++ b/opencolorio_config_aces/config/cg/generate/resources/Loading... - CG Config - Mapping.csv @@ -6,7 +6,7 @@ Ordering,Colorspace,Legacy,ACEStransformID,CLFtransformID,Interface,BuiltinTrans 400,Rec709-D65_100nit_in_Rec709-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io,srgb_rec709_display 405,Rec709-D65_100nit_in_Rec709-D65_Gamma2pt2,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_Gamma2pt2.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io,g22_rec709_display 415,P3-D65_100nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,,sdr-video,file-io,srgb_p3d65_display -420,P3-D65_1000nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,,edr-video,file-io,srgbx_p3d65_display +420,P3-D65_1000nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,,edr-video,file-io,srgbe_p3d65_display 430,P3-D65_48nit_in_P3-D65_Gamma2pt6,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,,sdr-video,file-io,g26_p3d65_display 440,Rec709-D65_100nit_in_Rec709-D65_BT1886,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_Rec709-D65_BT1886.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,sdr-video,file-io,g24_rec709_display 440,sRGB - Curve,TRUE,,urn:aswf:ocio:transformId:1.0:OCIO:Utility:Linear_to_sRGB-Curve:1.0,NamedTransform,,"crv_srgb,Utility - Curve - sRGB",sdr-video,file-io, diff --git a/opencolorio_config_aces/config/reference/generate/resources/Loading... - Reference Config - Mapping.csv b/opencolorio_config_aces/config/reference/generate/resources/Loading... - Reference Config - Mapping.csv index 8b3c3a2e..cdb98e71 100644 --- a/opencolorio_config_aces/config/reference/generate/resources/Loading... - Reference Config - Mapping.csv +++ b/opencolorio_config_aces/config/reference/generate/resources/Loading... - Reference Config - Mapping.csv @@ -22,8 +22,8 @@ Ordering,ACEStransformID,Colorspace,Legacy,BuiltinTransform Style,Linked Display 411,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_48nit_in_XYZ-E_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D60-in-XYZ-E_2.0,DISPLAY - CIE-XYZ-D65_to_DCDM-D65,ViewTransform,Any Scene-linear or Log,sdr-video,file-io,,g26_xyzd65_display 415,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3,ViewTransform,Any Scene-linear or Log,sdr-video,file-io,,srgb_p3d65_display 416,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3,ViewTransform,Any Scene-linear or Log,sdr-video,file-io,,srgb_p3d65_display -420,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,Any Scene-linear or Log,edr-video,file-io,,srgbx_p3d65_display -421,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,Any Scene-linear or Log,edr-video,file-io,,srgbx_p3d65_display +420,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,Any Scene-linear or Log,edr-video,file-io,,srgbe_p3d65_display +421,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,Any Scene-linear or Log,edr-video,file-io,,srgbe_p3d65_display 422,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,Any Scene-linear or Log,edr-video,file-io,,srgb_p3d65_display 423,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_DisplayP3-HDR,ViewTransform,Any Scene-linear or Log,edr-video,file-io,,srgb_p3d65_display 430,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1,,FALSE,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D65 - MIRROR NEGS,ViewTransform,Any Scene-linear or Log,sdr-video,file-io,,g26_p3d65_display diff --git a/opencolorio_config_aces/config/studio/generate/resources/Loading... - Studio Config - Mapping.csv b/opencolorio_config_aces/config/studio/generate/resources/Loading... - Studio Config - Mapping.csv index 857cda58..70044ceb 100644 --- a/opencolorio_config_aces/config/studio/generate/resources/Loading... - Studio Config - Mapping.csv +++ b/opencolorio_config_aces/config/studio/generate/resources/Loading... - Studio Config - Mapping.csv @@ -49,8 +49,8 @@ Ordering,Colorspace,Legacy,ACEStransformID,CLFtransformID,Interface,BuiltinTrans 406,Rec709-D60_100nit_in_Rec709-D65_Gamma2pt2,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_Rec709-D65_Gamma2pt2.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC709-D65_2.0,,sdr-video,file-io,g22_rec709_display 415,P3-D65_100nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,,sdr-video,file-io,srgb_p3d65_display 416,P3-D60_100nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D60-in-P3-D65_2.0,,sdr-video,file-io,srgb_p3d65_display -420,P3-D65_1000nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,,edr-video,file-io,srgbx_p3d65_display -421,P3-D60_1000nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-P3-D65_2.0,,edr-video,file-io,srgbx_p3d65_display +420,P3-D65_1000nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0,,edr-video,file-io,srgbe_p3d65_display +421,P3-D60_1000nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D60_1000nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-P3-D65_2.0,,edr-video,file-io,srgbe_p3d65_display 422,Rec709-D65_100nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D65_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0,,edr-video,file-io,srgb_p3d65_display 423,Rec709-D60_100nit_in_P3-D65_sRGB-Piecewise,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.Rec709-D60_100nit_in_P3-D65_sRGB-Piecewise.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-P3-D65_2.0,,edr-video,file-io,srgb_p3d65_display 430,P3-D65_48nit_in_P3-D65_Gamma2pt6,FALSE,urn:ampas:aces:transformId:v2.0:Output.Academy.P3-D65_48nit_in_P3-D65_Gamma2pt6.a2.v1,,ViewTransform,ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0,,sdr-video,file-io,g26_p3d65_display From e54faa082692f1de065c9ed06bf3303824c24841 Mon Sep 17 00:00:00 2001 From: Thomas Mansencal Date: Sat, 27 Sep 2025 19:32:11 +1200 Subject: [PATCH 15/17] Use `https://github.com/scottdyer/aces` remote `arri-csc-aces-to-logC3` branch. Signed-off-by: Thomas Mansencal --- opencolorio_config_aces/config/reference/aces | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opencolorio_config_aces/config/reference/aces b/opencolorio_config_aces/config/reference/aces index 101f126a..c2a37a08 160000 --- a/opencolorio_config_aces/config/reference/aces +++ b/opencolorio_config_aces/config/reference/aces @@ -1 +1 @@ -Subproject commit 101f126a2f39fd951db4e7ed711afaec74dfb435 +Subproject commit c2a37a08f898d28ba589a7835028c1442b95f02e From 89932e22e70fbfc7342db9bae61059821a95891e Mon Sep 17 00:00:00 2001 From: Thomas Mansencal Date: Sun, 28 Sep 2025 08:16:40 +1300 Subject: [PATCH 16/17] Update viewing rules. Signed-off-by: Thomas Mansencal --- opencolorio_config_aces/config/reference/generate/config.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/opencolorio_config_aces/config/reference/generate/config.py b/opencolorio_config_aces/config/reference/generate/config.py index 0feda4ff..b38250ba 100644 --- a/opencolorio_config_aces/config/reference/generate/config.py +++ b/opencolorio_config_aces/config/reference/generate/config.py @@ -1416,7 +1416,10 @@ def ordering(element: str) -> int: ], viewing_rules=[ {"name": "Any Scene-linear or Log", "encodings": ["log", "scene-linear"]}, - {"name": "Any Video", "encodings": ["sdr-video", "hdr-video"]}, + { + "name": "Any Video", + "encodings": ["sdr-video", "hdr-video", "edr-video", "display-linear"], + }, ], default_view_transform=untonemapped_view_transform["name"], profile_version=build_configuration.ocio, From 2c36aeb3867ea5b7ef0d5ab22b65a1e1f3036240 Mon Sep 17 00:00:00 2001 From: Thomas Mansencal Date: Mon, 29 Sep 2025 08:03:54 +1300 Subject: [PATCH 17/17] Ensure that there are no empty *ACEStransformID* in the *AMF* components. Signed-off-by: Thomas Mansencal --- .../config/reference/discover/classify.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/opencolorio_config_aces/config/reference/discover/classify.py b/opencolorio_config_aces/config/reference/discover/classify.py index 96736f6c..a2112927 100644 --- a/opencolorio_config_aces/config/reference/discover/classify.py +++ b/opencolorio_config_aces/config/reference/discover/classify.py @@ -1509,7 +1509,11 @@ def generate_amf_components( transform["previousEquivalentTransformIds"] ) - return {key: sorted(set(value)) for key, value in amf_components.items() if value} + return { + key: sorted({transform_id for transform_id in transform_ids if transform_id}) + for key, transform_ids in amf_components.items() + if transform_ids + } def filter_amf_components(