| |
The fastest 24-bit JPEG picture datatype!
For 68k, OS4, WarpOS and MorphOS.
Copyright © 1999-2006 Oliver Roberts, All Rights Reserved.
|
| Version: | 45.5 |
| Released: | 20 January 2006 |
 | Download |
|
WarpJPEG.datatype is a yet another JFIF/JPEG
datatype. The original difference being that it was for owners of PPC
cards, and was targetted specifically at WarpUp (not PowerUp). Even
better, it is fast, compact, clean, well behaved and fast - a true
plug'n'play PPC datatype. Now though, 68k optimized and MorphOS + OS4 native
versions have been added, which also benefit from my WarpDT engine.
One of the key features is its superior speed, hence the name WarpJPEG.
There are various user settings available, which can be changed
using the WarpDT Preferences program.
- Supports regular JFIF files, and also many JPEG variant formats such
as Exif, Adobe, Photoshop, Mavi, Windows, JCCK/CMYK colorspace files and
other less common formats
- Supports both normal and progressive JPEG files
- Full true colour (24-bit) and high quality reduced colour (256 colours
or less) and greyscale output modes, for graphics cards and native Amiga
displays respectively
- Highly optimized datatype dispatch engine, and fast JPEG decoder,
resulting in a very efficient, compact and quick JPEG datatype
- Asynchronous file i/o and double buffering techniques (WarpOS only),
which speeds up image decoding
- Optimized versions for 68020, 030, 040 and 060
- PowerPC support with native OS4, WarpOS and MorphOS versions
- Alter the pen allocation precision when images are remapped to an
8-bit display
- Specific support for the AmigaOS picture.datatype v44+, when available
- The dithering feature of the AmigaOS picture.datatype v44+ can be
configured to your liking (e.g. disabled for 15/16-bit displays)
|
|
The table below shows the time (in seconds) it took to decode 10 different
images on my A1200 603e/240MHz 060/50MHz, with BVision and CGX
picture.datatype, with other tested datatypes configured as close as
possible to WarpJPEG's internal settings. However, I should emphasize that
the figures above are for comparison purposes only - the actual values are
likely to be slightly different (faster or slower) on your system, but I'm
confident that the WarpOS version of WarpJPEG is noticably faster than all
alternative PPC datatypes.
The figures speak for themselves... WarpJPEG for WarpOS is around 70-90%
faster on most images (twice as fast on greyscale and small colour images)
than other PPC datatypes and around 3-4 times faster than 68k datatypes on
a 060 (the speed difference will be even greater on 040 systems with a fast
PPC). Maybe you don't believe these claims - my answer to that is
simple... Try WarpJPEG for yourself and you will see the difference! :)
The results for the MorphOS version are interesting. It's actually on par
with the WarpOS version (above), and actually even faster in some cases,
especially with larger images. It's also faster than the PowerUp version
of akJFIF running under PowerUp emulation in MorphOS, where it's at least
30% faster. For smaller images, it's twice as fast, and for greyscale
images it can be upto 5 times faster than akJFIF! No benchmarks for 68k
versions are included because they were found to be many times slower.
The results for the 68k version are much tighter, although overall,
WarpJPEG comes out on top. Not by that much, but faster nonetheless.
| PowerPC/68K (dual-cpu) | | PowerPC (no 68K) | | M68K |
| WarpOS | PowerUp | MorphOS |
WarpJPEG 45.5 | akJFIF 44.112 | WarpJPEG 45.5 | akJFIF 44.112 | WarpJPEG 45.5 | JFIFdt 44.7 G.Nikl | akJFIF 45.7 | OS 3.9 |
PowerUp (emul) | PowerUp (native) | PowerUp (emul) |
| 2008x1597 24-bit colour, 225570 bytes |
1.98 | 3.86 | 3.60 | 1.54 | 2.03 | 5.56 | 5.85 | 6.61 | 8.77 |
| 1280x1012 24-bit colour, 148387 bytes |
0.88 | 1.74 | 1.59 | 0.74 | 1.01 | 2.63 | 2.75 | 3.10 | 3.96 |
| 804x1040 24-bit colour, 306821 bytes |
0.88 | 1.56 | 1.46 | 0.87 | 1.13 | 3.28 | 3.34 | 3.64 | 3.50 |
| 1024x766 24-bit colour, 244522 bytes |
0.84 | 1.54 | 1.41 | 0.83 | 1.13 | 3.09 | 3.19 | 3.46 | 3.31 |
| 779x767 24-bit colour, 162752 bytes |
0.62 | 1.11 | 1.02 | 0.60 | 0.82 | 2.19 | 2.25 | 2.47 | 2.33 |
| 779x767 24-bit colour progressive, 86016 bytes |
1.13 | 1.63 | 1.47 | 0.77 | 1.05 | 2.60 | 2.97 | 3.19 | 3.03 |
| 450x450 24-bit colour, 50845 bytes |
0.25 | 0.48 | 0.41 | 0.24 | 0.42 | 0.72 | 0.73 | 0.81 | 0.76 |
| 370x502 24-bit colour, 24480 bytes |
0.18 | 0.38 | 0.32 | 0.16 | 0.34 | 0.43 | 0.45 | 0.51 | 0.63 |
| 506x1007 8-bit grey, 88115 bytes |
0.22 | 0.51 | 0.45 | 0.24 | 1.14 | 0.72 | 0.91 | 1.16 | 0.76 |
| 761x495 8-bit grey progressive, 68593 bytes |
0.38 | 0.61 | 0.54 | 0.32 | 1.07 | 1.00 | 1.14 | 1.31 | 1.05 |
Note: all tests were performed, multiple times, using Visage, with the
following command line: "visage test.jpg nojpeg time test".
- Kickstart 3.0 or higher
- picture.datatype v43 or higher
(i.e. either of the ones supplied with AmigaOS 3.5+, P96 or CGraphX)
68k version
- 68020 processor or higher (optimized versions included)
WarpOS version
- PPC accelerator card + 68040/060
- WarpUp Release 5.0 or higher
OS4 version
- PPC accelerator card / AmigaOne
- AmigaOS 4.0 pre-release or newer
MorphOS version
- PPC accelerator card / Pegasos
- MorphOS beta release 1 or higher
Note that a graphics card is not necessary.
|