openexr-user
[Top][All Lists]
Advanced

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

Re: [Openexr-user] Does OpenEXR Handle Large Images


From: Florian Kainz
Subject: Re: [Openexr-user] Does OpenEXR Handle Large Images
Date: Wed, 16 Feb 2011 10:48:15 -0800
User-agent: Thunderbird 2.0.0.24 (X11/20100428)

Hi Ben,

There's one more limitation on the file size - the raw data for
a compressed block in the file cannot be larger than 2GBytes.
In scanline files a block is a group of contiguous scanlines
(32 for PIZ, B44 and B44A; 16 for PXR24 and ZIP; and 1 for the
rest).  In tiled files each tile is its own block.

You could hit the compression block size limit with extremely wide
multi-channel files, but this is more of a theoretical issue. For
example, a 10-channel, 16-bit PIZ-compressed file would have to be
over 3.3 million pixels wide.  With tiled files, the maximum size
of the compression block size is unlikely to be a problem unless
the tiles are very large.

Florian


Michael Wolf wrote:
On Tue, 15 Feb 2011 20:38:10 +0100, Ben Thompson <address@hidden> wrote:

Hello Everyone,

Hello Ben,

I'm trying to create large HDR image files. I have been using
applications that write both .hdr and .exr; I have been using the former
for no special reason.

However, it seems that the applications generate invalid .hdr files when
the image is more than 32767 pixels wide. I believe this is because they
write RLE-compressed .hdr and RLE is not supported for images this wide.

I'd like to know if .exr files have any limits on image size both in the
case of no compression and compression with each/any of the available
compression methods. I know of RLE, Zip (with and without
multi-scanline, PIZ and PXR24.

The largest file I've created is a tiled EXR at 86,400 x 43,200 pixels, half, ZIP compressed, 3.9GB.

So far the only major limitation I've encountered is the C++ i/o library on windows capping at 2GB, which is why I have a patch for windows that uses OS specific i/o routines. (it works as expected out of the box on OSX, the only other platform we support so far).

Basically, pointers into the file are 64-bit and dimensions 32-bit integer. I suspect those to be the only limits.

I can send you the patch if you need it.

Cheers,
Mike




reply via email to

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