There is also a note in the viewer source in llimage2jcoj.cpp that
mentions the image being decoded entirely when only metadata is needed.
I have a new version llimagej2coj.cpp that works with OpenJPEG v2 that
only grabs the metadata and doesn't decode the entire image when only
metadata is needed.
--- Begin Message ---
Philippe Bossut (Merov Linden) wrote:
KDU is flat out 3 times faster to decode than OpenJPEG. The ratio is
consistent throughout the whole session.
Until OpenJPEG v2, this 3x factor is simply due to the fact that KDU is
able to pull metadata without any decode on any resolution level. The
API for v1.x didn't have a call to extract just the header like the v2
of the API does. Therefore, at least up to 2x of that that 3x factor can
be accounted for in time wasted to decode resolution levels when it
didn't need to in order to just get metadata out of the header.
Also, the default compile options on the OpenJPEG library does not have
tree-vectorization optimization turned on. Without tree-vectorization,
only a few picked areas of the code get SSE optimization. With
tree-vectorization, the compiler will vectorize as much as it can as the
code is written in a way to enable such tree-vectorization. Do note that
tree-vectorization is not on by default because not everybody compiles
with GCC, and MSVS did not support tree-vectorization.
As for the metadata only mentioned above, that is fixed in OpenJPEG v2.
--- End Message ---
_______________________________________________
Policies and (un)subscribe information available here:
http://wiki.secondlife.com/wiki/SLDev
Please read the policies before posting to keep unmoderated posting privileges