Neat.  No, there's nothing wrong with wanting to do this; it's just odd for 
this format to be used for big images, so the 64 bit safety has probably not 
been adequately exercised.


On Sep 9, 2013, at 11:46 AM, Ramiro Pereira de Magalhães wrote:

> Although weird, this is desirable.
> 
> This image will be used as a database of 20x20 clutter objects that will be 
> used to train a face classifier I'm working on. This was probably the 
> simplest arrangement of pixels devised for this purpose.
> 
> 
> 2013/9/9 Larry Gritz <[email protected]>
> Does that look correct?  It's not just big overall, but very long and thin?
> 
> OK, I'll take a quick skim over that code and see if I can spot where the 
> overflow is happening.
> 
> 
> 
> On Sep 9, 2013, at 11:33 AM, Ramiro Pereira de Magalhães wrote:
> 
>> /home/ramiro/Imagens/0.pgm : 536468780 x   20, 1 channel, uint8 pnm
>>     channel list: I
>>     pnm:binary: 1
>>     oiio:BitsPerSample: 8
>> 
>> 
>> 
>> 2013/9/9 Larry Gritz <[email protected]>
>> If you do this:
>> 
>> iinfo -v myfile.pgm        # or whatever the name of your file actually is
>> 
>> what does it say?
>> 
>> 
>> On Sep 9, 2013, at 8:16 AM, Ramiro Pereira de Magalhães wrote:
>> 
>> > Hi,
>> >
>> > I have just learned about OIIO and I wrote a simple program with 
>> > OpenImageIO to load a 10GB PGM file into memory. To try things out I wrote 
>> > a simple program to load a 10GB PGM (yeah, PGM) file into memory. Sadly, 
>> > the program crashes prior to completing its task with a Segmentation 
>> > Fault. The machine where this is running has 64GB RAM, most of it free. 
>> > Can anyone help me figure out this issue?
>> >
>> > Bellow is the program I wrote. It is pretty simple: load the image given 
>> > as argument to it into a buffer, then close the file, clean the buffers 
>> > and leave.
>> >
>> > ================CODE================
>> > #include <iostream>
>> > #include <string>
>> > #include <sstream>
>> > #include <OpenImageIO/imageio.h>
>> >
>> > OIIO_NAMESPACE_USING
>> >
>> > int main(int argc, char* args[])
>> > {
>> >     if (argc != 2)
>> >     {
>> >         return 1;
>> >     }
>> >     const std::string filePath = args[1];
>> >
>> >     ImageInput *in = ImageInput::open (filePath);
>> >     const ImageSpec & spec = in->spec();
>> >     const int size = spec.width * spec.height;
>> >
>> >     unsigned char * pixels = new unsigned char[size];
>> >     in->read_image(TypeDesc::UCHAR, pixels);
>> >     std::cout << "Done reading." << std::endl;
>> >     in->close();
>> >     std::cout << "Closed file." << std::endl;
>> >
>> >     delete in;
>> >     delete pixels;
>> >
>> >     std::cout << "Outta here." << std::endl;
>> >     return 0;
>> > }
>> > ================CODE================
>> >
>> >
>> > Segfault happens at line 173 of onminput.cpp. Here is the call stack given 
>> > by Qt Builder:
>> >
>> > 0    OpenImageIO::v1_3::raw_to_raw<unsigned char>    pnminput.cpp    173   
>> >  0x7ffff798c1e6
>> > 1    OpenImageIO::v1_3::PNMInput::read_file_scanline    pnminput.cpp    
>> > 272    0x7ffff798b09c
>> > 2    OpenImageIO::v1_3::PNMInput::read_native_scanline    pnminput.cpp    
>> > 385    0x7ffff798b91e
>> > 3    OpenImageIO::v1_3::ImageInput::read_native_scanlines    
>> > imageinput.cpp    260    0x7ffff76d9280
>> > 4    OpenImageIO::v1_3::ImageInput::read_scanlines    imageinput.cpp    
>> > 197    0x7ffff76d8c24
>> > 5    OpenImageIO::v1_3::ImageInput::read_scanlines    imageinput.cpp    
>> > 165    0x7ffff76d8977
>> > 6    OpenImageIO::v1_3::ImageInput::read_image    imageinput.cpp    631    
>> > 0x7ffff76db3c8
>> > 7    main    show.cpp    31    0x4012b7
>> >
>> >
>> > I compiled OIIO from the git commit 
>> > d64b9ac8a63261040ae0263b0709924d8fecf4df (Tue Sep 3 12:53:12 2013 -0700).
>> >
>> > I appreciate any help.
>> > _______________________________________________
>> > 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
>> 
>> _______________________________________________
>> 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
> 
> 
> _______________________________________________
> 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