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 _______________________________________________ Openexr-devel mailing list Openexr-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/openexr-devel