<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jun 6, 2016 at 10:51 AM, Mateusz Loskot <span dir="ltr"><<a href="mailto:mateusz@loskot.net" target="_blank">mateusz@loskot.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="">On 6 June 2016 at 10:45, Pol Monsó Purtí <<a href="mailto:lluna.nova@gmail.com">lluna.nova@gmail.com</a>> wrote:<br>
><br>
> In my case I have a std::vector<GByte*> of the 3 bands,  where the GByte* are<br>
> allocated in the heap with new GByte[width*height].<br>
> I guess that won't work<br>
> because the three bands have to be one single memory chunk, am I right?<br>
<br>
</span>vector allocates is single continuous block of memory.<br>
...or I don't understand the problem.<br></blockquote><div><br>The std::vector has 3 GByte* elements. The three pointers will reside contiguous, but the memory they are pointing to (containing the R,G and B data) don't necessarily have to be.<br><br></div><div>I guess BANDS=3 makes the bands contiguous in memory <br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<span class=""><br>
> I guess the only solution is to switch to single band float and merge rgb to<br>
> float. I'd prefer not having to refactor the rest of the code. Is it<br>
> possible to have a different address for each band?<br>
<br>
</span>I might not know all GDAL tricks, but I don't think it is possible.<br>
<div class=""><div class="h5"><br>
Best regards,<br>
--<br>
Mateusz Loskot, <a href="http://mateusz.loskot.net" rel="noreferrer" target="_blank">http://mateusz.loskot.net</a><br>
</div></div></blockquote></div><br></div></div>