I’m using OpenImage IO and extracting the metadata from an image using the
extra_attribs() method on ImageSpec. Is there a way to tell OpenImage IO that
I’m only going to be accessing the metadata and that no image loading or
decoding needs to occur?
In particular, the RawInput class, which uses libraw, calls unpack() which is a
very slow method because of the RAW decoding that needs to take place. However,
that call to unpack() is being made at the start of the ImageInput::open()
method and there doesn’t appear to be any flag one can set to disable that.
Further down that method, it calls through to read_tiff_metadata() which is
really all that one needs if they are only interested in the metadata.
If I disable libraw support in OpenImageIO, then OIIO defaults to opening a
Nikon NEF file with another plugin that only loads the metadata since it can’t
load the raw data. That code path is very fast but I don’t know how to trigger
it if raw support is built-in (or how to tell the raw plugin itself).
Corduroy Code Inc,
Oiio-dev mailing list