Oliver - could you email be your jp_lin2log.lut (directly)? I'd like
to re-create this on my end. Dont worry about the Kodak cube lut, I
can use one of my own there instead.
One thing I notice, the Dreamcolor family shouldnt be 'lin'. I'd
probably set it to 'Dreamcolor' on the absence of other information.
(The family is often used to short-circuit conversions of the same
type, but at differing bit depths). I should probably update the API
so people can leave it blank if they dont know it, and to assume the
color-space name in that case).
-- Jeremy
If I understood the code right, it does..
CSP prelut: input to shaperspace as 1D LUT
3D LUT: shaperspace to output space
If omit the shaperspace arg, then it's all done in the cube (and the prelut is a no-op)
...so I think your display colourspace needs to have a 0-1 log input (just the kodak LUT). Then you would do:
--inputspace graded_linear --shaperspace jplog --outputspace kodak2383_dreamcolour
Not ideal, although you could possibly do the grade in the dreamcolor space by doing a log2lin, CDL then lin2log, and replace the graded_linear space with your scene_grey18
Ideally the Baker would inspect the transform op-tree and put as much of the 1D transform (the CDL and lin2log parts) in the prelut, and the rest in the cube.. Not sure how difficult this would be to achieve (think there's todos in the code about this)
- Ben
Sorry I haven't had a chance to look into this yet. I will do my best
to get to it first thing tomorrow. (Mon AM). My expectation is that
this shouldn't be too hard, OCIO is designed to work with HDR float32
-- and we use it internally in exactly the way you describe - so it's
likely just a minor bug you've run into first.
-- Jeremy
I played around a bit with the settings. The scene_grey18 entry in the config file contains no transform whatsoever, so I assumed the next would do nothing at all.ociobakelut --inputspace scene_grey18 --outputspace scene_grey18But the highlights get clamped. This means that it's not the jplinlog or the print lut that's causing the clamping.
I've checked this out and am able to recreate exactly what you
describe. I see the clamping when playing back the 'no shaper' baked
lut using OCIO. And also see the brightness increase when using the
shaper lut. For both tests I am just comparing the unbaked lut
application to that using OCIOFileTransform (in nuke).
The issue is related to some assumptions the Baker class is making
internally. I will try to refactor the Baker code to address this
issue this week (though it may push to next week). I will also touch
up a bunch of 'todos' in that part of the code (allowing for looser
input restrictions). Afterwards, the syntax you describe (both with,
and without, the shaperlut) will support HDR allocations. (For those
who dont specify shaperluts, the gpu allocation will be used to
achieve a similar effect).
In the meantime I am providing a simple workaround script which can be
used to generate HDR friendly csp luts. Note that for this csp lut
I'm taking advantage of non-uniformly sampled input domains. I am not
sure if all apps support this feature of .csp files. If your client
apps do not support this, let me know and we can work around this with
a one or two line change.
http://github.com/jeremyselan/OpenColorIO/tree/shapertest/testdata/csp/oliverbug
-- Jeremy
Oliver Farkas <oliver...@gmail.com> wrote:
>Hey guys,
>
>thanks for the feedback from both of you. Jeremy's workaround does the
>trick
>brilliantly, that's exactly what I was looking for. Thanks very much
>Jeremy.
>
>Malcolm, I know about the Vectorfield node problem in Nuke, because
>I've
>checked with your csp lut as well and saw it was blown out. By now I've
>tried an endless number of combinations of inputspace, shaperspace,
>outputspace, but the tops were always clamped. I'm happy that this
>workaround does the trick.
>There's just one thing I don't understand, Malcolm: how were you able
>to
>bake out the Kodak2383_sRGB.csp if this bug was in the code before?
Its good that Jeremy could get a fix for you. I built all the luts before I left with ociobakelut to make sure we were not using any pre ocio data. This was checked with all the host apps and the ocio nuke nodes so its a bit strange that it doesn't work now or in this case. The baker was a pretty quick first pass so its not a complete surprise that it has issues but this sounds like its broke.
--
Sent from my phone.