https://github.com/OpenImageIO/oiio/pull/149

Fix IC/IB not able to report what was in the original file, used to solve a 
"bug" wherein oiiotool would always output float images instead of the original 
format.

When ImageBuf is backed by an ImageCache that has had "autotile" or 
"forcefloat" turned on, the ImageSpec for the buf would look like it was tiled 
and/or float regardless of the original file (by design). But the unintended 
consequence was that if you called ib.save(), it would write it out as a 
tile/float, which is probably not what you want by default.

The solution, not especially elegant but nicely back-compatible, is for the 
IC's entry and the ImageBuf to separately track both the spec that describes 
the buffer as well as the spec that describes the file it came from (the 
"native" spec), and augment a few of the "retrieve spec" methods with choices 
to get the native one. We then use these in the right spots in ImageBuf::save 
and oiiotool to make output files have the tiling and data format used by their 
source images.


--
Larry Gritz
[email protected]


_______________________________________________
Oiio-dev mailing list
[email protected]
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

Reply via email to