I have a fix in review (https://github.com/OpenImageIO/oiio/pull/1665 
<https://github.com/OpenImageIO/oiio/pull/1665>) that will make it legal to 
copy-construct an ImageBuf where the source wraps an application buffer (the 
newly constructed IB also will wrap the same buffer). 

        -- lg


> On Apr 11, 2017, at 12:51 AM, Anders Langlands <[email protected]> 
> wrote:
> 
> Thanks Larry, I've already coded around it, but I'll try and backtrack, see 
> if I can reproduce the bug and get you a stack trace.
> 
> And yeah, if the buffer is just wrapping a non-owning pointer it makes sense 
> to be able to copy it.
> 
> Cheers,
> 
> Anders
> 
> On Tue, 11 Apr 2017 at 19:12 Larry Gritz <[email protected] 
> <mailto:[email protected]>> wrote:
> That assertion appears to be associated with an ImageBuf copy constructor. 
> I'm not sure how it can happen for the constructor ImageBuf(ImageSpec&, 
> void*buffer).
> 
> Are you sure you're not hitting the assertion at some point other than when 
> you first construct it as in your example?
> 
> Maybe... is it possible you have a function that's intended to receive an 
> ImageBuf&, but instead you mis-declared the function as taking an 'ImageBuf' 
> so it's passing by value and copy-constructing, instead of passing by 
> reference?  (It's also possible it's ME who is doing that somewhere.)
> 
> I don't suppose I could convince you to use a DEBUG-compiled build of OIIO 
> and try to catch it in the debugger and show us the full stack trace?
> 
> On my end, I'll try to figure out why I have that assertion there. What 
> caused me to think it was invalid to copy an ImageBuf that wrapped a user 
> buffer?
> 
> 
>> On Apr 10, 2017, at 11:55 PM, Anders Langlands <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> It's along the lines of (as per page 163 of the manual):
>> 
>>     float* data = ...;
>>     ImageBuf buf(ImageSpec(correct, params, for, data), data);
>> 
>> This triggers the following assertion:
>> libOpenImageIO/imagebuf.cpp
>> 390:            ASSERT (0 && "ImageBuf wrapping client buffer not yet 
>> supported");
>> 
>> On Tue, 11 Apr 2017 at 18:47 Larry Gritz <[email protected] 
>> <mailto:[email protected]>> wrote:
>> As far as I know, it works. Can you sketch out how you're setting it up and 
>> exactly what calls you're making?
>> 
>> 
>> > On Apr 10, 2017, at 10:34 PM, Anders Langlands <[email protected] 
>> > <mailto:[email protected]>> wrote:
>> >
>> > Hi there, I just found out the hard way that wrapping a client data buffer 
>> > in an ImageBuf doesn't appear to be implemented (I'm building off master). 
>> > I was hoping to use this as an easy way to write out images given a block 
>> > of pixel data. Is there another way of doing this with the library, or 
>> > should I just create a local-storage ImageBuf and copy my data into it?
>> >
>> > Cheers,
>> >
>> > Anders
>> >
>> 
>> --
>> Larry Gritz
>> [email protected] <mailto:[email protected]>
>> 
>> 
>> _______________________________________________
>> Oiio-dev mailing list
>> [email protected] <mailto:[email protected]>
>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org 
>> <http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org>
>> _______________________________________________
>> Oiio-dev mailing list
>> [email protected] <mailto:[email protected]>
>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org 
>> <http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org>
> 
> --
> Larry Gritz
> [email protected] <mailto:[email protected]>
> 
> 
> _______________________________________________
> Oiio-dev mailing list
> [email protected] <mailto:[email protected]>
> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org 
> <http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org>
> _______________________________________________
> Oiio-dev mailing list
> [email protected]
> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

--
Larry Gritz
[email protected]


_______________________________________________
Oiio-dev mailing list
[email protected]
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

Reply via email to