openexr-devel
[Top][All Lists]
Advanced

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

Re: [Openexr-devel] OpenEXR 1.7 not backward compatible?


From: Benoit Leveau
Subject: Re: [Openexr-devel] OpenEXR 1.7 not backward compatible?
Date: Mon, 23 Aug 2010 15:28:54 +0100
User-agent: Thunderbird 2.0.0.12 (X11/20080213)

Hi,

That 0x400 value comes from the following in ImfVersion.h:

const int LONG_NAMES_FLAG       = 0x00000400;   // File contains long
                                               // attribute or channel
                                               // names

which also explains the rest of the diff (i.e., long names).

I guess images written with that flag are not supported by old versions of the 
library.
I'll try to see which option controls that flag when writing images, should be 
easy now.

Cheers,
Benoit

Benoit Leveau wrote:
Hi Jeff,

Thanks for the feedback! It's good to know it works on your side.

We used the configure script that comes with the library, and didn't use any specific option.


I just tried to use exrheader to compare files generated with 1.6 and 1.7.
A diff of the output gives that interesting result:

4c4
< file format version: 2, flags 0x0
---
file format version: 2, flags 0x400
20c20
< prmanExrDriverAddDisplayWindowO (type int): 0
---
prmanExrDriverAddDisplayWindowOffset (type int): 0
22,23c22,23
< prmanExrDriverDisplayWindowOffs (type box2i): (0 0) - (0 0)
< rmanXMLStatisticsFileName (type string): "x+g"
---
prmanExrDriverDisplayWindowOffsetValues (type box2i): (0 0) - (0 0)
rmanXMLStatisticsFileName (type string): "(XXX" <= 'X' for some non-printable characters

There's probably something in our code that doesn't initialize that version/flag.

Benoit

Jeff Clifford wrote:
Hi Benoit,

It may be worth stating what your configure options are?

The reason I say that is that we too rebuilt our internal apps and PRMan driver against 1.7.0 under Linux64. However we've not hit upon that message. We're able to use older OpenEXR lib apps (like Nuke) to read our 1.7.0 images fine.

Jeff.


Benoit Leveau wrote:
Hi,

After re-compiling our renderman display driver with OpenEXR 1.7 libraries on linux 64bit, none of the images we generate can be loaded into applications that link with older versions of OpenEXR (e.g. Nuke, in-house tools).

The error I get with our in-house player is:
OpenEXR input exception:: >> Cannot read image file "xxxxx.exr". The file format version number's flag field contains unrecognized flags. <<

I get the same exact error message in Nuke 6.0.

If I compare a file generated by 1.7 and 1.6.1 (or 1.4.0), the two files indeed differ, even in the first few bytes. It seems that the 1.7 libraries add new header flags,
and this is not safely ignored by old versions.

IMHO, if files generated by 1.7 can't be loaded by current versions of Nuke, that may greatly affect its widespread usage.

Thanks for your help,
Benoit


_______________________________________________
Openexr-devel mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/openexr-devel



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