Hmm, I look at this completely the opposite way.
Inter-layer/channel order (BGR, RGB, etc.) is an application-specific
choice: chosen for performance, compatibility with existing types, etc. If
the application chooses to read channel order differently than what's
specified in the file, there's no correctness issue.
Layer order is (possibly, but not always) chosen by the author of the image
to indicate relative depth of each layer, i.e. the correct order for
compositing.
I'm curious, why do you say the opposite?
For layer ordering to make sense, you need to know if the layer contains image
data or ancillary control data, and if its to be included in the assembly.
Now you would also need to know just how to assemble those layers as well if
to be assembled. Without that, order doesnt have any benefit?
As for Channel Ordering, on first look it seemed to me to be beneficial to
allow an application to order channels within a layer for its internal use if
nothing else.
Following this, I suppose it comes doewn to as you say, cross application
support. Does layer order or channel order make any sense across
applications? I'd argue not really for both the reasons you've stated and
I've stated. However, we can allow application-dependant ordering if there
were a method in which we could preserve an explicit channel ordering when
generating and reading an exr file.
-Crh
Charles Henrich Digital Domain address@hidden
http://www.sigbus.com/~henrich