@@ -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" ,
@@ -1120,6 +1121,7 @@ def generate_config_aces(
11201121 "display" : display_name ,
11211122 "view" : view_transform_name ,
11221123 "view_transform" : view_transform_name ,
1124+ "rule" : transform_data ["viewing_rule" ],
11231125 }
11241126 if shared_view not in shared_views :
11251127 LOGGER .info (
@@ -1238,12 +1240,41 @@ def ordering(element: str) -> int:
12381240 "transform_type" : "BuiltinTransform" ,
12391241 "style" : "UTILITY - ACES-AP0_to_CIE-XYZ-D65_BFD" ,
12401242 },
1243+ "rule" : "Any Scene-linear or Log" ,
12411244 }
1245+
1246+ video_view_transform = {
1247+ "name" : "Video (colorimetric)" ,
1248+ "from_reference" : {
1249+ "transform_type" : "MatrixTransform" ,
1250+ "matrix" : [
1251+ 1.0000000000 ,
1252+ 0.0000000000 ,
1253+ 0.0000000000 ,
1254+ 0.0000000000 ,
1255+ 0.0000000000 ,
1256+ 1.0000000000 ,
1257+ 0.0000000000 ,
1258+ 0.0000000000 ,
1259+ 0.0000000000 ,
1260+ 0.0000000000 ,
1261+ 1.0000000000 ,
1262+ 0.0000000000 ,
1263+ 0.0000000000 ,
1264+ 0.0000000000 ,
1265+ 0.0000000000 ,
1266+ 1.0000000000 ,
1267+ ],
1268+ },
1269+ "rule" : "Any Video" ,
1270+ }
1271+
12421272 for display_name in display_names :
12431273 untonemapped_shared_view = {
12441274 "display" : display_name ,
12451275 "view" : untonemapped_view_transform ["name" ],
12461276 "view_transform" : untonemapped_view_transform ["name" ],
1277+ "rule" : untonemapped_view_transform ["rule" ],
12471278 }
12481279 LOGGER .info (
12491280 'Adding "%s" shared view to "%s" display.' ,
@@ -1254,6 +1285,21 @@ def ordering(element: str) -> int:
12541285 if untonemapped_shared_view not in shared_views :
12551286 shared_views .append (untonemapped_shared_view )
12561287
1288+ video_shared_view = {
1289+ "display" : display_name ,
1290+ "view" : video_view_transform ["name" ],
1291+ "view_transform" : video_view_transform ["name" ],
1292+ "rule" : video_view_transform ["rule" ],
1293+ }
1294+ LOGGER .info (
1295+ 'Adding "%s" shared view to "%s" display.' ,
1296+ video_shared_view ["view" ],
1297+ display_name ,
1298+ )
1299+
1300+ if video_shared_view not in shared_views :
1301+ shared_views .append (video_shared_view )
1302+
12571303 raw_view = {
12581304 "display" : display_name ,
12591305 "view" : "Raw" ,
@@ -1290,17 +1336,25 @@ def ordering(element: str) -> int:
12901336 },
12911337 colorspaces = colorspaces + displays ,
12921338 looks = looks ,
1293- view_transforms = [* view_transforms , untonemapped_view_transform ],
1339+ view_transforms = [
1340+ * view_transforms ,
1341+ untonemapped_view_transform ,
1342+ video_view_transform ,
1343+ ],
12941344 shared_views = shared_views ,
12951345 views = shared_views + views ,
12961346 active_displays = display_names ,
1297- active_views = [* active_views , "Un-tone-mapped" , "Raw" ],
1347+ active_views = [* active_views , "Un-tone-mapped" , "Video (colorimetric)" , " Raw" ],
12981348 file_rules = [
12991349 {
13001350 "name" : "Default" ,
13011351 "colorspace" : scene_reference_colorspace ["name" ],
13021352 }
13031353 ],
1354+ viewing_rules = [
1355+ {"name" : "Any Scene-linear or Log" , "encodings" : ["log" , "scene-linear" ]},
1356+ {"name" : "Any Video" , "encodings" : ["sdr-video" , "hdr-video" ]},
1357+ ],
13041358 default_view_transform = untonemapped_view_transform ["name" ],
13051359 profile_version = build_configuration .ocio ,
13061360 )
0 commit comments