@@ -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" ,
@@ -1119,6 +1120,7 @@ def generate_config_aces(
11191120 "display" : display_name ,
11201121 "view" : view_transform_name ,
11211122 "view_transform" : view_transform_name ,
1123+ "rule" : transform_data ["viewing_rule" ],
11221124 }
11231125 if shared_view not in shared_views :
11241126 LOGGER .info (
@@ -1237,12 +1239,41 @@ def ordering(element: str) -> int:
12371239 "transform_type" : "BuiltinTransform" ,
12381240 "style" : "UTILITY - ACES-AP0_to_CIE-XYZ-D65_BFD" ,
12391241 },
1242+ "rule" : "Any Scene-linear or Log" ,
12401243 }
1244+
1245+ video_view_transform = {
1246+ "name" : "Video (colorimetric)" ,
1247+ "from_reference" : {
1248+ "transform_type" : "MatrixTransform" ,
1249+ "matrix" : [
1250+ 1.0000000000 ,
1251+ 0.0000000000 ,
1252+ 0.0000000000 ,
1253+ 0.0000000000 ,
1254+ 0.0000000000 ,
1255+ 1.0000000000 ,
1256+ 0.0000000000 ,
1257+ 0.0000000000 ,
1258+ 0.0000000000 ,
1259+ 0.0000000000 ,
1260+ 1.0000000000 ,
1261+ 0.0000000000 ,
1262+ 0.0000000000 ,
1263+ 0.0000000000 ,
1264+ 0.0000000000 ,
1265+ 1.0000000000 ,
1266+ ],
1267+ },
1268+ "rule" : "Any Video" ,
1269+ }
1270+
12411271 for display_name in display_names :
12421272 untonemapped_shared_view = {
12431273 "display" : display_name ,
12441274 "view" : untonemapped_view_transform ["name" ],
12451275 "view_transform" : untonemapped_view_transform ["name" ],
1276+ "rule" : untonemapped_view_transform ["rule" ],
12461277 }
12471278 LOGGER .info (
12481279 'Adding "%s" shared view to "%s" display.' ,
@@ -1253,6 +1284,21 @@ def ordering(element: str) -> int:
12531284 if untonemapped_shared_view not in shared_views :
12541285 shared_views .append (untonemapped_shared_view )
12551286
1287+ video_shared_view = {
1288+ "display" : display_name ,
1289+ "view" : video_view_transform ["name" ],
1290+ "view_transform" : video_view_transform ["name" ],
1291+ "rule" : video_view_transform ["rule" ],
1292+ }
1293+ LOGGER .info (
1294+ 'Adding "%s" shared view to "%s" display.' ,
1295+ video_shared_view ["view" ],
1296+ display_name ,
1297+ )
1298+
1299+ if video_shared_view not in shared_views :
1300+ shared_views .append (video_shared_view )
1301+
12561302 raw_view = {
12571303 "display" : display_name ,
12581304 "view" : "Raw" ,
@@ -1289,17 +1335,25 @@ def ordering(element: str) -> int:
12891335 },
12901336 colorspaces = colorspaces + displays ,
12911337 looks = looks ,
1292- view_transforms = [* view_transforms , untonemapped_view_transform ],
1338+ view_transforms = [
1339+ * view_transforms ,
1340+ untonemapped_view_transform ,
1341+ video_view_transform ,
1342+ ],
12931343 shared_views = shared_views ,
12941344 views = shared_views + views ,
12951345 active_displays = display_names ,
1296- active_views = [* active_views , "Un-tone-mapped" , "Raw" ],
1346+ active_views = [* active_views , "Un-tone-mapped" , "Video (colorimetric)" , " Raw" ],
12971347 file_rules = [
12981348 {
12991349 "name" : "Default" ,
13001350 "colorspace" : scene_reference_colorspace ["name" ],
13011351 }
13021352 ],
1353+ viewing_rules = [
1354+ {"name" : "Any Scene-linear or Log" , "encodings" : ["log" , "scene-linear" ]},
1355+ {"name" : "Any Video" , "encodings" : ["sdr-video" , "hdr-video" ]},
1356+ ],
13031357 default_view_transform = untonemapped_view_transform ["name" ],
13041358 profile_version = build_configuration .ocio ,
13051359 )
0 commit comments