openexr-devel
[Top][All Lists]
Advanced

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

Re: [Openexr-devel] Tiled Exr question re: dataWindowForLevel


From: Florian Kainz
Subject: Re: [Openexr-devel] Tiled Exr question re: dataWindowForLevel
Date: Fri, 14 Nov 2008 11:15:00 -0800
User-agent: Mozilla Thunderbird 1.0 (X11/20041207)

Hi Jeremy,

you are right, the the origin of the data window does not
change from level to level.  Only the width and height of the
window change.  Mipmapped files have always behaved this way;
the corresponding code has not changed since the first version
of OpenEXR that supported tiled images in 2004.

If I remember correctly, the rationale for the current behavior
was this: if we scaled the coordinates of the upper left and lower
right corners of the data window by 0.5 while going from one level
to the next, then the size of each level would depend not only on
the level size rounding mode but also on the location of the data
window.  For example, in ROUND_DOWN mode, we'd might get:

    level   xMin    xMax    width = xMax-xMin+1
    0       5       10      6
    1       2       5       4

    level   xMin    xMax    width
    0       6       11      6   <-- same as in level 0 above
    1       3       5       3   <-- differs from level 1 above

Alternatively, we could scale the coordinates of the upper left
corner and the size of the window.  Then we'd get an unexpected
location for the lower right corner:

    level   xMin    width   xMax = xMin+width-1
    0       5       6       10
    1       2       3       4   <-- not equal to floor(10/2)

Keeping the origin the same from level to level may not be great,
but the alternatives aren't perfect either.

Florian






reply via email to

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