Closed nick-shaw closed 7 months ago
I'm trying to remember the reason why we did put that but I cannot. It is consistent with the P-2013-001 generator and its CLF output. @aforsythe : Any reason why we would have clamped the output? The CLT and DCTL are not for example.
I didn't previously notice there was a clamp in a CLF generated by the P-2013-001 generator. But there is one. Oddly it is between the white balance gain matrix and the IDT matrix.
At least there is a Range
node with a maxOutValue
, but it is not set to clamp
mode like the prosumer version.
Prosumer:
<Range inBitDepth="32f" outBitDepth="32f" style="clamp">
<maxInValue>1</maxInValue>
<maxOutValue>1</maxOutValue>
</Range>
P-2013-001:
<Range inBitDepth="32f" outBitDepth="32f">
<maxOutValue>1</maxOutValue>
</Range>
But checking the CLF documentation, Range nodes clamp by default unless noClamp
is specified.
The CLFs generated by the P-2013-001 version are also different in that the matrix process nodes have no descriptions.
This was fixed in #76.
https://github.com/ampas/idt-calculator/blob/55c59d74149c2d32c3604e7d11cbb93a95849a54/aces/idt/prosumer_camera.py#L1404
The range element at the end of the prosumer CLF IDT is unnecessary, and is fact in set to clamp the output to a maximum value of 1.0, which is clearly undesirable in an ACES IDT.