The LUT1D element specifies a 1D LUT to apply.
Contains
Note: The IndexMap element is not supported. The most efficient way to achieve the same result is to precede the operator with another LUT1D element, or to combine both LUTs into a single one.
Attributes
- id, name, bypass, inBitDepth, outBitDepth
- See Common Operator Attributes.
- interpolation
- Optional. The only currently supported value is "linear".
- halfDomain
- Optional. If this attribute is present, its value must be "true". In this case, the input domain is all possible 16-bit floating-point values, and there must be exactly 65536 entries in the Array element. For example, the unsigned integer 15360 has the same bit-pattern (0011110000000000) as the half-float value 1.0, so the 15360th entry (zero-indexed) in the Array element is the output value corresponding to an input value of 1.0.
- rawHalfs
- Optional. If this attribute is present, its value must be "true". In this case, the values in the array should be 16-bit floating point values expressed as unsigned 16-bit integers representing the equivalent bit pattern. For example, to represent the value 1.0, you would enter the integer 15360 in the Array element because it has the same bit-pattern. This allows you to specify the exact half-float values you want without relying on conversion from decimal text strings.
Example
1D LUT
<ProcessList id="8a52d5fb-a903-4805-8bae-24f7553bfb70" version="1.2">
<LUT1D inBitDepth="10i" outBitDepth="32f">
<Array dim="1024 1">
-0.014279292
-0.014160193
-0.014040368
<!-- 1021 lines omitted -->
</Array>
</LUT1D>
</ProcessList>
3×1D LUT
<ProcessList id="a76dbe2e-e610-49a6-8c3b-5962375a8b4a" version="1.2">
<LUT1D inBitDepth="16i" outBitDepth="32f">
<Array dim="2 3">
-0.092903227 -0.092903227 -0.092903227
11.798709869 11.798709869 11.798709869
</Array>
</LUT1D>
</ProcessList>