cs = ColorSpace(name)
cs.description = 'The %s color space' % name
- cs.aliases = ["acescc_ap1"]
+ cs.aliases = ["acescc", "acescc_ap1"]
cs.equality_group = ''
cs.family = 'ACES'
cs.is_data = False
cs.allocation_type = ocio.Constants.ALLOCATION_UNIFORM
cs.allocation_vars = [min_value, max_value]
+ cs.aces_transform_id = "ACEScsc.ACEScc_to_ACES.a1.0.0"
ctls = [os.path.join(aces_ctl_directory,
'ACEScc',
- 'ACEScsc.ACEScc_to_ACES.a1.0.0.ctl')]
+ 'ACEScsc.ACEScc_to_ACES.a1.0.0.ctl'),
+ # This transform gets back to the *AP1* primaries.
+ # Useful as the 1d LUT is only covering the transfer function.
+ # The primaries switch is covered by the matrix below:
+ os.path.join(aces_ctl_directory,
+ 'ACEScg',
+ 'ACEScsc.ACES_to_ACEScg.a1.0.0.ctl')]
lut = '%s_to_linear.spi1d' % name
lut = sanitize(lut)
'float',
input_scale,
1,
- {'transferFunctionOnly': 1},
+ {},
cleanup,
aces_ctl_directory,
min_value,
cs = ColorSpace(name)
cs.description = 'The %s color space' % name
- cs.aliases = ["acesproxy_ap1"]
+ cs.aliases = ["acesproxy", "acesproxy_ap1"]
cs.equality_group = ''
cs.family = 'ACES'
cs.is_data = False
+ cs.aces_transform_id = "ACEScsc.ACESproxy10i_to_ACES.a1.0.0"
+
ctls = [os.path.join(aces_ctl_directory,
'ACESproxy',
'ACEScsc.ACESproxy10i_to_ACES.a1.0.0.ctl'),
os.path.join(lut_directory, lut),
ctls,
lut_resolution_1d,
- 'uint16',
- 64,
+ 'float',
+ 1,
1,
{},
cleanup,
cs = ColorSpace(name)
cs.description = 'The %s color space' % name
- cs.aliases = ["lin_ap1"]
+ cs.aliases = ["acescg", "lin_ap1"]
cs.equality_group = ''
cs.family = 'ACES'
cs.is_data = False
cs.allocation_type = ocio.Constants.ALLOCATION_LG2
cs.allocation_vars = [-8, 5, 0.00390625]
+ cs.aces_transform_id = "ACEScsc.ACEScg_to_ACES.a1.0.0"
+
cs.to_reference_transforms = []
# *AP1* primaries to *AP0* primaries.
'direction': 'forward'})
cs.from_reference_transforms = []
+
+ # *AP1* primaries to *AP0* primaries.
+ cs.from_reference_transforms.append({
+ 'type': 'matrix',
+ 'matrix': mat44_from_mat33(ACES_AP0_TO_AP1),
+ 'direction': 'forward'})
+
return cs
cs.is_data = False
if bit_depth == 10:
+ cs.aces_transform_id = "ACEScsc.ADX10_to_ACES.a1.0.0"
+
cs.bit_depth = ocio.Constants.BIT_DEPTH_UINT10
ADX_to_CDD = [1023 / 500, 0, 0, 0,
0, 1023 / 500, 0, 0,
0, 0, 0, 1]
offset = [-95 / 500, -95 / 500, -95 / 500, 0]
elif bit_depth == 16:
+ cs.aces_transform_id = "ACEScsc.ADX16_to_ACES.a1.0.0"
+
cs.bit_depth = ocio.Constants.BIT_DEPTH_UINT16
ADX_to_CDD = [65535 / 8000, 0, 0, 0,
0, 65535 / 8000, 0, 0,
ctls = [os.path.join(
aces_ctl_directory,
'utilities',
- 'ACESlib.OCIO_shaper_log2_to_lin_param.a1.0.0.ctl')]
+ 'ACESlib.Log2_to_Lin_param.a1.0.0.ctl')]
lut = '%s_to_linear.spi1d' % name
lut = sanitize(lut)
ctls = [os.path.join(
aces_CTL_directory,
'utilities',
- 'ACESlib.OCIO_shaper_dolbypq_to_lin.a1.0.0.ctl')]
+ 'ACESlib.DolbyPQ_to_Lin.a1.0.0.ctl')]
lut = '%s_to_linear.spi1d' % name
lut = sanitize(lut)
ctls = [os.path.join(
aces_CTL_directory,
'utilities',
- 'ACESlib.OCIO_shaper_dolbypq_to_lin_param.a1.0.0.ctl')]
+ 'ACESlib.DolbyPQ_to_lin_param.a1.0.0.ctl')]
lut = '%s_to_linear.spi1d' % name
lut = sanitize(lut)
lmt_shaper_name,
os.path.join('%s',
'utilities',
- 'ACESlib.OCIO_shaper_log2_to_lin_param.a1.0.0.ctl'),
+ 'ACESlib.Log2_to_Lin_param.a1.0.0.ctl'),
os.path.join('%s',
'utilities',
- 'ACESlib.OCIO_shaper_lin_to_log2_param.a1.0.0.ctl'),
+ 'ACESlib.Lin_to_Log2_param.a1.0.0.ctl'),
shaper_input_scale_generic_log2,
lmt_params]
cs.family = 'Output'
cs.is_data = False
+ cs.aces_transform_id = odt_values['transformID']
+
pprint.pprint(odt_values)
# Generating the *shaper* transform.
log2_shaper_name,
os.path.join('%s',
'utilities',
- 'ACESlib.OCIO_shaper_log2_to_lin_param.a1.0.0.ctl'),
+ 'ACESlib.Log2_to_Lin_param.a1.0.0.ctl'),
os.path.join('%s',
'utilities',
- 'ACESlib.OCIO_shaper_lin_to_log2_param.a1.0.0.ctl'),
+ 'ACESlib.Lin_to_Log2_param.a1.0.0.ctl'),
shaper_input_scale_generic_log2,
log2_params]
dolbypq_shaper_name,
os.path.join('%s',
'utilities',
- 'ACESlib.OCIO_shaper_dolbypq_to_lin.a1.0.0.ctl'),
+ 'ACESlib.DolbyPQ_to_Lin.a1.0.0.ctl'),
os.path.join('%s',
'utilities',
- 'ACESlib.OCIO_shaper_lin_to_dolbypq.a1.0.0.ctl'),
+ 'ACESlib.Lin_to_DolbyPQ.a1.0.0.ctl'),
1.0,
{}]
dolbypq_scaled_shaper_name,
os.path.join('%s',
'utilities',
- 'ACESlib.OCIO_shaper_dolbypq_to_lin_param.a1.0.0.ctl'),
+ 'ACESlib.DolbyPQ_to_Lin_param.a1.0.0.ctl'),
os.path.join('%s',
'utilities',
- 'ACESlib.OCIO_shaper_lin_to_dolbypq_param.a1.0.0.ctl'),
+ 'ACESlib.Lin_to_DolbyPQ_param.a1.0.0.ctl'),
1.0,
log2_params]
for odt in sorted_odts:
(odt_name, odt_values) = odt
- # Generating legal range transform for *ODTs* that can generate
+ # Generating only full range transform for *ODTs* that can generate
# either *legal* or *full* output.
+
+ # Uncomment these lines and the lower section and flip the 'legalRange' value to 1
+ # to recover the old behavior, where both legal and full range LUTs were generated
if odt_values['transformHasFullLegalSwitch']:
- odt_name_legal = '%s - Legal' % odt_values['transformUserName']
- else:
- odt_name_legal = odt_values['transformUserName']
+ #odt_name_legal = '%s - Legal' % odt_values['transformUserName']
+ odt_legal['legalRange'] = 0
+ #else:
+ # odt_name_legal = odt_values['transformUserName']
+
+ odt_name_legal = odt_values['transformUserName']
odt_legal = odt_values.copy()
- odt_legal['legalRange'] = 1
odt_aliases = ["out_%s" % compact(odt_name_legal)]
colorspaces.append(cs)
displays[odt_name_legal] = {
- 'Linear': linear_display_space,
+ 'Raw': linear_display_space,
'Log': log_display_space,
'Output Transform': cs}
-
+ '''
# Generating full range transform for *ODTs* that can generate
# either *legal* or *full* output.
if odt_values['transformHasFullLegalSwitch']:
colorspaces.append(cs_full)
displays[odt_name_full] = {
- 'Linear': linear_display_space,
+ 'Raw': linear_display_space,
'Log': log_display_space,
'Output Transform': cs_full}
+ '''
return (colorspaces, displays)
'default': ACES.name,
'matte_paint': ACEScc.name,
'reference': '',
- 'scene_linear': ACES.name,
+ 'scene_linear': ACEScg.name,
'texture_paint': ''}
return ACES, colorspaces, displays, ACEScc, roles, defaultDisplay