@@ -916,6 +916,7 @@ def generate_config_aces(
916916 "builtin_transform_style" ,
917917 "linked_display_colorspace_style" ,
918918 "interface" ,
919+ "viewing_rule" ,
919920 "encoding" ,
920921 "categories" ,
921922 "aliases" ,
@@ -1121,6 +1122,7 @@ def generate_config_aces(
11211122 "display" : display_name ,
11221123 "view" : view_transform_name ,
11231124 "view_transform" : view_transform_name ,
1125+ "rule" : transform_data ["viewing_rule" ],
11241126 }
11251127 if shared_view not in shared_views :
11261128 LOGGER .info (
@@ -1239,12 +1241,41 @@ def ordering(element: str) -> int:
12391241 "transform_type" : "BuiltinTransform" ,
12401242 "style" : "UTILITY - ACES-AP0_to_CIE-XYZ-D65_BFD" ,
12411243 },
1244+ "rule" : "Any Scene-linear or Log" ,
12421245 }
1246+
1247+ video_view_transform = {
1248+ "name" : "Video (colorimetric)" ,
1249+ "from_reference" : {
1250+ "transform_type" : "MatrixTransform" ,
1251+ "matrix" : [
1252+ 1.0000000000 ,
1253+ 0.0000000000 ,
1254+ 0.0000000000 ,
1255+ 0.0000000000 ,
1256+ 0.0000000000 ,
1257+ 1.0000000000 ,
1258+ 0.0000000000 ,
1259+ 0.0000000000 ,
1260+ 0.0000000000 ,
1261+ 0.0000000000 ,
1262+ 1.0000000000 ,
1263+ 0.0000000000 ,
1264+ 0.0000000000 ,
1265+ 0.0000000000 ,
1266+ 0.0000000000 ,
1267+ 1.0000000000 ,
1268+ ],
1269+ },
1270+ "rule" : "Any Video" ,
1271+ }
1272+
12431273 for display_name in display_names :
12441274 untonemapped_shared_view = {
12451275 "display" : display_name ,
12461276 "view" : untonemapped_view_transform ["name" ],
12471277 "view_transform" : untonemapped_view_transform ["name" ],
1278+ "rule" : untonemapped_view_transform ["rule" ],
12481279 }
12491280 LOGGER .info (
12501281 'Adding "%s" shared view to "%s" display.' ,
@@ -1255,6 +1286,21 @@ def ordering(element: str) -> int:
12551286 if untonemapped_shared_view not in shared_views :
12561287 shared_views .append (untonemapped_shared_view )
12571288
1289+ video_shared_view = {
1290+ "display" : display_name ,
1291+ "view" : video_view_transform ["name" ],
1292+ "view_transform" : video_view_transform ["name" ],
1293+ "rule" : video_view_transform ["rule" ],
1294+ }
1295+ LOGGER .info (
1296+ 'Adding "%s" shared view to "%s" display.' ,
1297+ video_shared_view ["view" ],
1298+ display_name ,
1299+ )
1300+
1301+ if video_shared_view not in shared_views :
1302+ shared_views .append (video_shared_view )
1303+
12581304 raw_view = {
12591305 "display" : display_name ,
12601306 "view" : "Raw" ,
@@ -1291,17 +1337,25 @@ def ordering(element: str) -> int:
12911337 },
12921338 colorspaces = colorspaces + displays ,
12931339 looks = looks ,
1294- view_transforms = [* view_transforms , untonemapped_view_transform ],
1340+ view_transforms = [
1341+ * view_transforms ,
1342+ untonemapped_view_transform ,
1343+ video_view_transform ,
1344+ ],
12951345 shared_views = shared_views ,
12961346 views = shared_views + views ,
12971347 active_displays = display_names ,
1298- active_views = [* active_views , "Un-tone-mapped" , "Raw" ],
1348+ active_views = [* active_views , "Un-tone-mapped" , "Video (colorimetric)" , " Raw" ],
12991349 file_rules = [
13001350 {
13011351 "name" : "Default" ,
13021352 "colorspace" : scene_reference_colorspace ["name" ],
13031353 }
13041354 ],
1355+ viewing_rules = [
1356+ {"name" : "Any Scene-linear or Log" , "encodings" : ["log" , "scene-linear" ]},
1357+ {"name" : "Any Video" , "encodings" : ["sdr-video" , "hdr-video" ]},
1358+ ],
13051359 default_view_transform = untonemapped_view_transform ["name" ],
13061360 profile_version = build_configuration .ocio ,
13071361 )
0 commit comments