AmigaOS 4.0


IBrowse - Get It

Valid XHTML 1.0!


Register Register Now
Bug Tracker
Futaura.co.uk / Oliver Roberts
JPEG 45.13
PNG 45.21
TIFF 45.9
BMP 45.7
PCX 45.5
PSD 45.5
Prefs 45.9
· WarpBMP.datatype
A fast 24-bit capable BMP picture datatype!
For 68k, OS4, WarpOS and MorphOS.
Copyright © 2000-2011 Oliver Roberts, All Rights Reserved.
Version: 45.7
Released: 11 March 2011

WarpBMP.datatype is a datatype which allows you to view and read Windows or OS/2 BMP image files. A unique feature of this particular BMP datatype is that in addition to supporting the 68k (with optimized versions for 020, 030, 040 and 060), it also supports the PowerPC processor, with native OS4, WarpOS and MorphOS versions. Even better, it is fast, compact, clean and well behaved - a true plug'n'play PPC datatype. One of the key features is its superior speed, hence the name WarpBMP. This datatype uses the same engine as used by my other WarpDTs. There are various user settings available, which can be changed using the WarpDT Preferences program.

· Features

  • Supports common BMP file types, including both Windows and OS/2 BMP formats. These include BMP images with a bit depth of 1, 4, 8, 16, 24 and 32, and also all RLE compressed BMP files
  • Highly optimized datatype dispatch engine and BMP decoder, resulting in a very efficient, compact and quick BMP 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)
Warp Datatypes

· Speed

The table below shows the time (in seconds) it took to decode 8 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 WarpBMP's internal settings. However, due to the nature of BMP files (mostly uncompressed, and even the RLE compression used in compressed files is not all that good, and needs nowhere near as much CPU power as JPEG and PNG, for example), don't expect miracles from the PPC versions.

Really, there wasn't much to benchmark my datatype against, apart from Gunther Nikl's BMP datatype. And, as you can see, there's really not a lot in it in terms of speed. The main points to note is that WarpBMP is much faster at decoding compressed BMPs, with the PPC versions also being faster than the 68K version. With uncompressed images, the WarpOS version is around about the same speed as the 68K version, which is not really that surprising. Notabably, the MorphOS version won all speed tests, except for BMP files that are small in size.

WarpBMP 45.7BMPdt 40.15
C= v42
PicDT 39.4
WarpOSMorphOS   68K
578x800 24-bit , 1388854 bytes 0.520.470.520.52n/s
450x366 24-bit , 494886 bytes
630x422 24-bit RLE compressed, 794004 bytes 0.330.300.33n/sn/s
320x240 16-bit , 153654 bytes
914x891 8-bit RLE compressed, 573662 bytes
640x480 8-bit RLE compressed, 308246 bytes
800x600 8-bit , 481080 bytes
320x188 4-bit , 30198 bytes

(n/s = not supported)

Note: all tests were performed, multiple times, using Visage, with the following command line: "visage test.bmp time test".

· Requirements

  • 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 / SAM
  • AmigaOS 4.0 or higher
MorphOS version
  • PPC accelerator card / Pegasos / Efika
  • MorphOS 1.4 or higher
Note that a graphics card is not necessary.

Page design by Oliver Roberts - Copyright © 2001-2018, All Rights Reserved - Terms & Conditions.