@@ -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,42 @@ 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+ "reference_space" : ocio .REFERENCE_SPACE_DISPLAY ,
1271+ "rule" : "Any Video" ,
1272+ }
1273+
12431274 for display_name in display_names :
12441275 untonemapped_shared_view = {
12451276 "display" : display_name ,
12461277 "view" : untonemapped_view_transform ["name" ],
12471278 "view_transform" : untonemapped_view_transform ["name" ],
1279+ "rule" : untonemapped_view_transform ["rule" ],
12481280 }
12491281 LOGGER .info (
12501282 'Adding "%s" shared view to "%s" display.' ,
@@ -1255,6 +1287,21 @@ def ordering(element: str) -> int:
12551287 if untonemapped_shared_view not in shared_views :
12561288 shared_views .append (untonemapped_shared_view )
12571289
1290+ video_shared_view = {
1291+ "display" : display_name ,
1292+ "view" : video_view_transform ["name" ],
1293+ "view_transform" : video_view_transform ["name" ],
1294+ "rule" : video_view_transform ["rule" ],
1295+ }
1296+ LOGGER .info (
1297+ 'Adding "%s" shared view to "%s" display.' ,
1298+ video_shared_view ["view" ],
1299+ display_name ,
1300+ )
1301+
1302+ if video_shared_view not in shared_views :
1303+ shared_views .append (video_shared_view )
1304+
12581305 raw_view = {
12591306 "display" : display_name ,
12601307 "view" : "Raw" ,
@@ -1291,17 +1338,25 @@ def ordering(element: str) -> int:
12911338 },
12921339 colorspaces = colorspaces + displays ,
12931340 looks = looks ,
1294- view_transforms = [* view_transforms , untonemapped_view_transform ],
1341+ view_transforms = [
1342+ * view_transforms ,
1343+ untonemapped_view_transform ,
1344+ video_view_transform ,
1345+ ],
12951346 shared_views = shared_views ,
12961347 views = shared_views + views ,
12971348 active_displays = display_names ,
1298- active_views = [* active_views , "Un-tone-mapped" , "Raw" ],
1349+ active_views = [* active_views , "Un-tone-mapped" , "Video (colorimetric)" , " Raw" ],
12991350 file_rules = [
13001351 {
13011352 "name" : "Default" ,
13021353 "colorspace" : scene_reference_colorspace ["name" ],
13031354 }
13041355 ],
1356+ viewing_rules = [
1357+ {"name" : "Any Scene-linear or Log" , "encodings" : ["log" , "scene-linear" ]},
1358+ {"name" : "Any Video" , "encodings" : ["sdr-video" , "hdr-video" ]},
1359+ ],
13051360 default_view_transform = untonemapped_view_transform ["name" ],
13061361 profile_version = build_configuration .ocio ,
13071362 )
0 commit comments