[opensource-dev] Openjpeg/KDU the cold hard metrics

Sheet Spotter sheet.spotter at gmail.com
Wed Sep 22 19:40:00 PDT 2010

There may be another option for obtaining a common set of J2C files for

Viewer 2 installs 784 JPEG-2000 files (*.j2c) in the "local_assets" folder
under the main install folder (e.g., "C:\Program Files\SecondLifeViewer2"). 

The "j2k_metric" test harness decoded all 784 files from the "local_assets"
folder without errors. The OpenJPEG 1.3.0 library was 3.7 times slower than
the KDU library that comes with Viewer (the current release

I have been unsuccessful at implementing the additional functions to make
the OpenJPEG v2 interface compatible with the earlier v1.3.0 interface. The
test application aborted with buffer overrun errors. Oopsie!

The tests were run under Windoze 7 on a Pentium i7-950 (3 GHz Hyperthreaded)
using a RelWithDebInfo build run from the command line. (Running the same
build from within VisualStudio 2005 was noticeably slower. 

There was one small surprise. Only two threads were in use for both the
OpenJPEG v1.3.0 and KDU tests. I expected KDU to use all eight available

Sheet Spotter

-----Original Message-----
From: opensource-dev-bounces at lists.secondlife.com
[mailto:opensource-dev-bounces at lists.secondlife.com] On Behalf Of Robin
Sent: September 22, 2010 2:00 PM
To: Arrehn Oberlander
Cc: opensource-dev
Subject: Re: [opensource-dev] Openjpeg/KDU the cold hard metrics

On Wed, Sep 22, 2010 at 7:35 PM, Arrehn Oberlander <arrehn at gmail.com> wrote:
> Is it possible for you to release your test harness for these comparisons,
> including the texture set?

I can't give out the texture set, hopefully as per a previous
discussion on this topic, we can assemble a good texture set that we
can all share and compare metrics.

the code can be found at

The code although based on 2.X should still work on 1.X (my original
tests were a 1.X build) but i wanted to clean this up a bit before
release and to be honest we are concerned with openjpeg/kdu not the
viewer for these tests, my test code itsself is painfully simple. Load
a texture into an LLImage, run decode time it. repeat and rince.

The code forms a seperate project "j2k_metric" which depends on
llcommon/llimage/llimagej2coj and llvfs (cmake rules included to make
it build out of the box. But to make it run you need to set the
working directory to be the sharedlibs folder (or copy dlls/so's
around) as i've not bothered to stage it yet (patches welcome)

The exe accepts one command line argument and that is the path to a
folder of textures, if no path is given it assumes a default path of
"C:\Textures" to make things a tiny bit easier on windows.

Hope this is enough to get people started

Policies and (un)subscribe information available here:
Please read the policies before posting to keep unmoderated posting

More information about the opensource-dev mailing list