openexr-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Openexr-devel] Implementing low level file IO


From: Paul Schneider
Subject: Re: [Openexr-devel] Implementing low level file IO
Date: Mon, 23 May 2005 11:41:13 -0700


Hi, Brad,

I believe random access is required for EXR reading. The library makes an effort to read as sequentially as possible, but in order to support tiled files, mipmaps, and arbitrary scanline access, you need to be able to seek.

The use of the filename[] argument depends on the implementation. Some implementations (like the std::ifstream and std::ofstream classes included with OpenEXR) use the filename[] to locate the file to read or write. Others ignore it - I believe the Photoshop plugin just passes the string "EXR file". If an exception occurs, the filename[] will be presented to the user as part of the error message by default ("the file "filename[]" could not be written, because you are out of disk space"), so it's probably a good idea to pass something meaningful.

- Paul



On May 23, 2005, at 1:23 AM, Brad Hards wrote:

I'm looking at the manual section 7.2 (Custom Low-Level File I/O), and having
a few concerns. I think I need to do this to get good integration into
Qt4/KDE4 - so I can use a QIODevice, which is the base class for all kinds of IO concepts (network sockets, files, generic buffers and process output).

The problem is that sometimes a QIODevice doesn't support random access - you cannot seek. So the question is "what is OpenEXR going to do if tellg just returns zero"? If it is going to break, I'll just disable reading files from non-seekable devices, but some indication of the dragons lurking might be
very useful before I get too much into this.

Brad
_______________________________________________
Openexr-devel mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/openexr-devel






reply via email to

[Prev in Thread] Current Thread [Next in Thread]