projects
/
OpenColorIO-Configs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Roles now have some assignments
[OpenColorIO-Configs.git]
/
aces_1.0.0
/
python
/
aces_ocio
/
create_sony_colorspaces.py
diff --git
a/aces_1.0.0/python/aces_ocio/create_sony_colorspaces.py
b/aces_1.0.0/python/aces_ocio/create_sony_colorspaces.py
index
94d1201
..
2419f03
100644
(file)
--- a/
aces_1.0.0/python/aces_ocio/create_sony_colorspaces.py
+++ b/
aces_1.0.0/python/aces_ocio/create_sony_colorspaces.py
@@
-5,9
+5,13
@@
Implements support for *Sony* colorspaces conversions and transfer functions.
"""
Implements support for *Sony* colorspaces conversions and transfer functions.
"""
+from __future__ import division
+
import array
import os
import array
import os
+import PyOpenColorIO as ocio
+
import aces_ocio.generate_lut as genlut
from aces_ocio.utilities import ColorSpace, mat44_from_mat33
import aces_ocio.generate_lut as genlut
from aces_ocio.utilities import ColorSpace, mat44_from_mat33
@@
-57,6
+61,11
@@
def create_s_log(gamut,
cs.family = 'Sony'
cs.is_data = False
cs.family = 'Sony'
cs.is_data = False
+ # A linear space needs allocation variables
+ if transfer_function == '':
+ cs.allocation_type = ocio.Constants.ALLOCATION_LG2
+ cs.allocation_vars = [-8, 5, 0.00390625]
+
def s_log1_to_linear(s_log):
b = 64.
ab = 90.
def s_log1_to_linear(s_log):
b = 64.
ab = 90.
@@
-89,10
+98,10
@@
def create_s_log(gamut,
def s_log3_to_linear(code_value):
if code_value >= 171.2102946929:
def s_log3_to_linear(code_value):
if code_value >= 171.2102946929:
- linear = (pow(10
.0, ((code_value - 420.
0) / 261.5)) *
+ linear = (pow(10
, ((code_value - 42
0) / 261.5)) *
(0.18 + 0.01) - 0.01)
else:
(0.18 + 0.01) - 0.01)
else:
- linear = (code_value - 95
.0) * 0.01125000 / (171.2102946929 - 95.0
)
+ linear = (code_value - 95
) * 0.01125000 / (171.2102946929 - 95
)
return linear
return linear
@@
-101,13
+110,13
@@
def create_s_log(gamut,
if transfer_function == 'S-Log1':
data = array.array('f', '\0' * lut_resolution_1d * 4)
for c in range(lut_resolution_1d):
if transfer_function == 'S-Log1':
data = array.array('f', '\0' * lut_resolution_1d * 4)
for c in range(lut_resolution_1d):
- data[c] = s_log1_to_linear(1023
.0
* c / (lut_resolution_1d - 1))
+ data[c] = s_log1_to_linear(1023 * c / (lut_resolution_1d - 1))
lut = '%s_to_linear.spi1d' % transfer_function
genlut.write_SPI_1d(
os.path.join(lut_directory, lut),
lut = '%s_to_linear.spi1d' % transfer_function
genlut.write_SPI_1d(
os.path.join(lut_directory, lut),
- 0
.0
,
- 1
.0
,
+ 0,
+ 1,
data,
lut_resolution_1d,
1)
data,
lut_resolution_1d,
1)
@@
-120,13
+129,13
@@
def create_s_log(gamut,
elif transfer_function == 'S-Log2':
data = array.array('f', '\0' * lut_resolution_1d * 4)
for c in range(lut_resolution_1d):
elif transfer_function == 'S-Log2':
data = array.array('f', '\0' * lut_resolution_1d * 4)
for c in range(lut_resolution_1d):
- data[c] = s_log2_to_linear(1023
.0
* c / (lut_resolution_1d - 1))
+ data[c] = s_log2_to_linear(1023 * c / (lut_resolution_1d - 1))
lut = '%s_to_linear.spi1d' % transfer_function
genlut.write_SPI_1d(
os.path.join(lut_directory, lut),
lut = '%s_to_linear.spi1d' % transfer_function
genlut.write_SPI_1d(
os.path.join(lut_directory, lut),
- 0
.0
,
- 1
.0
,
+ 0,
+ 1,
data,
lut_resolution_1d,
1)
data,
lut_resolution_1d,
1)
@@
-139,13
+148,13
@@
def create_s_log(gamut,
elif transfer_function == 'S-Log3':
data = array.array('f', '\0' * lut_resolution_1d * 4)
for c in range(lut_resolution_1d):
elif transfer_function == 'S-Log3':
data = array.array('f', '\0' * lut_resolution_1d * 4)
for c in range(lut_resolution_1d):
- data[c] = s_log3_to_linear(1023
.0
* c / (lut_resolution_1d - 1))
+ data[c] = s_log3_to_linear(1023 * c / (lut_resolution_1d - 1))
lut = '%s_to_linear.spi1d' % transfer_function
genlut.write_SPI_1d(
os.path.join(lut_directory, lut),
lut = '%s_to_linear.spi1d' % transfer_function
genlut.write_SPI_1d(
os.path.join(lut_directory, lut),
- 0
.0
,
- 1
.0
,
+ 0,
+ 1,
data,
lut_resolution_1d,
1)
data,
lut_resolution_1d,
1)