openexr-devel
[Top][All Lists]
Advanced

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

Re: [Openexr-devel] Writing single EXR file with very many channels?


From: Florian Kainz
Subject: Re: [Openexr-devel] Writing single EXR file with very many channels?
Date: Wed, 9 Dec 2009 11:20:43 -0800
User-agent: Thunderbird 2.0.0.23 (X11/20090821)

Hi Kora,

the IlmImf library does not allow writing the file channel by channel;
all channels must be written at the same time.  The OpenEXR file layout
would channel-by-channel writing very inefficient.
However, you can write a few scanlines at a time or a few tiles at a
time; your frame buffer only has to be large enough to hold the portion
of the image you are writing.  (In the extreme, a single scan line or
a single tile is enough.)

Florian


Koraxen wrote:
Hey guys,

I have a question regarding how to deal memory consumption and multi-layered EXR files.

I need to write an EXR file that contains 10 different versions of a same high res (5120 x 2880) image. This translates into an EXR file that contains 10 layers x 4 channels = 40 channels.

What I am doing is:
1. Instantiate an exr framebuffer
2. Allocate memory for 40 high-res channels, and insert() them all into framebuffer
3. Instantiate OutputFile object, and set the framebuffer to it
4. Write the OutputFile

The problem is that host system obviously runs out of memory during step #2.

What's needed here is the ability to:
- Insert a channel to framebuffer
- Write it to disk
- Free memory
- Repeat 40 times
- End up with a *single* EXR file containing 40 channels

How can this be done?

Thanks a ton!
- Kora


------------------------------------------------------------------------

_______________________________________________
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]