On Sat, Jun 23, 2012 at 7:24 PM, Stefan Stavrev <[email protected]> wrote:
> I implemented everything we talked about so far, so you can comment
> the pull request and see the result images:
>
> https://github.com/StefanStavrev/oiio/commit/9cbf5cb1c6705d31c6e7709df3cf320b79969574
Yikes, I can see I'm going to have trouble keeping up :) I'll try to have to
look at this in more detail tomorrow.
Thoughts about channel masks: I think these would be really handy if we can
get them in there without making the API too complicated. There is probably a
nice way to specify them in oiiotool as well: How about a --channelmask option
which specifies the set of channels to act on. For example:
oiiotool foo.jpg --channelmask 110 --contrast 0.5
would specify that we're acting on channels 0,1, and leaving channel 2 alone.
Keeping with this general idea, could the channel mask just be a char array?
That would be nice and simple to use in the API, for example:
contrast(R, A, 0.5, "110");
We would have:
ImageBufAlgo::contrast (ImageBuf &R, const ImageBuf &A, float contrast,
const char* channels_mask = 0,
ROI roi = ROI(), int nthreads = -1)
(Presumably we'd have an internal function to convert the const char* channel
mask string into a short array of bools for convenience.)
> PS: Compile time increased significantly. Chris could it be because of
> the type specialization functions?
Absolutely, though I'd expect it to mostly be coming from over() rather than
contrast(), since over() has 11 times more specializations!
~Chris
_______________________________________________
Oiio-dev mailing list
[email protected]
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org