WarpJPEG.datatype 44.5 (9.1.2000)

The fastest 24-bit JPEG picture datatype! (for WarpUp PPC systems only)

Copyright © 1999-2000 Oliver Roberts, All Rights Reserved.

- Download WarpJPEGdt.lha (39K)

[See also: WarpPNG.datatype]

WarpJPEG.datatype is a yet another JFIF/JPEG datatype. The difference is that this is for owners of PPC cards, and it has been targetted specifically at WarpUp (not PowerUp). Even better, it is fast, compact, clean, well behaved and fast - a true plug'n'play PPC datatype.

I decided to write this datatype because no other decent WarpOS native JPEG datatype exists for the PPC, and I thought this would be the ideal chance to finally learn how to start coding PPC stuff on the Amiga. Yes, this is my first PPC project, although I have worked a lot with JPEG coding and datatype coding already, so I do know what I'm doing, honest ;)

  Changes since 44.4:
  • When the OS3.5 picture.datatype is in use, dithering is now switched off (only) if the image is to be rendered to a hi/true colour screen, resulting in much higher performance, with negligable quality loss.
  • Enhanced descriptor file to detect EXIF and Photoshop JPEG file variations.
  • Fixed bug in error handling.
  • Dispatcher now performs some extra functions, which may quash the stability problems that some users have experienced.

Speed

WarpJPEG is currently the fastest JPEG datatype available. 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:

PowerPCM68K
WarpJPEGakJFIF 44.65JFIFdtOS
44.5WarpUp68KG.Nikl3.5
2008x1597 24-bit colour, 225570 bytes2.133.666.258.168.80
1280x1012 24-bit colour, 148387 bytes0.961.703.053.723.96
804x1040 24-bit colour, 306821 bytes1.011.583.673.453.54
1024x766 24-bit colour, 244522 bytes1.051.553.533.293.33
779x767 24-bit colour, 162752 bytes0.711.122.552.302.35
779x767 24-bit colour progressive, 86016 bytes1.201.633.282.923.05
450x450 24-bit colour, 50845 bytes0.270.550.990.770.78
370x502 24-bit colour, 24480 bytes0.190.430.690.600.63
506x1007 8-bit grey, 88115 bytes0.270.551.081.160.78
761x495 8-bit grey progressive, 68593 bytes0.420.651.351.251.05

These figures are provided for comparison purposes only, but they speak for themselves... WarpJPEG is around 60-70% faster on most images (twice as fast on greyscale and small colour images) than the native WarpOS version of akJFIF and around 3 times faster than 68k datatypes on a 060 (the speed difference will be even greater on 040 systems with a fast PPC). All this and no loss in image quality! All tests were performed, multiple times, using Visage, with the following command line: "visage test.jpg nojpeg time test".

Requirements

Note that a graphics card is not necessary - the P96 or OS 3.5 picture.datatype will automatically dither images down to your display requirements.


Back to my homepage

Last modified: Sun Jan 09 19:00:39 2000