jamesbowman / openexrpython

OpenEXR bindings for Python
Other
94 stars 35 forks source link

error reading OpenExrId /Deep from Guerilla render #14

Closed TanJeremy closed 6 years ago

TanJeremy commented 6 years ago
Infos = exr.InputFile(path)

IOError: Cannot read image file "/homes/jtan/Documents/test_Deep.exr". The file format version number's flag field contains unrecognized flags.

is ther a possibility to at least be able to check if these file are corrupt or not ?

ExrId_Deep_File.zip

tiagoshibata commented 6 years ago

Your application is outputting files with long channel names. Old versions of libIlmImf (< 2.0) don't support it (it was a breaking change from a later revision of the file format, the old format only supports up to 32 characters) and output this generic error message.

It should work if you only use short channel names. Fixing it in the Python bindings would require an update of libIlmImf, which might take some developer time. I might take a look at it in the future, it's also affecting myself (right now I'm ignoring this error on tests that depend on openexrpython).

By the way, if you test it and it works with short file names, you might want to edit this issue's title (to something like IOError on long channel names - requires newer libIlmImf).

TanJeremy commented 6 years ago

ok, no probleme, thx for the reply

tiagoshibata commented 6 years ago

@TanJeremy and anyone else with this issue: turns out things just work as expected if you use a newer version of libIlmImf. Just recompile openexrpython linking to a recent version, no source code changes needed 😄

TanJeremy commented 6 years ago

thx tiagoshibata