Welcome to Amiga-Storage!, The best for Amiga classic. ©2016-2024 Meta-MorphOS.org
Description:JFIF (JPEG) picture datatype 44.11
Developer:Gunther Nikl, Henryk Richter
Short: fast JFIF (JPEG) picture datatype 44.17
Author: Henryk Richter, gni@gecko.de (Gunther Nikl)
Uploader: henryk richter gmx net (Henryk Richter)
Type: util/dtype
Version: 44.17
Architecture: m68k-amigaos >= 3.0.0
Distribution: NoCD

Release 44.14+ contains an overhauled Huffman decoder that is especially
tuned for high bitrate (or high quality) JPEG files. In addition,
grayscale JPEGs are now handled with less CPU overhead. In short, the
fastest 68k Amiga JPEG datatype got faster again. The only change in
44.15 is a quick bugfix for OS3.9 picture.datatype compatibility.

A performance comparison is shown below. (on A4000 with MatzeTK060@50 MHz,
3.2 ROM, PicassoIV in HiColor, picture.datatype 47.5 from OS3.2, all
datatypes at default settings; times in seconds measured as median over
5 iterations with "visage nojpeg time test")

Name |akjfif |jfif |warpjpeg|OS3.2 |
Version |45.95 |44.14 |45.15 |47.6 |
AnalogPac640x480_70_seq.jpg |0.944 |0.624 |0.951 |0.736 |
BGA1024x1024_gray.jpg |2.705 |2.331 |2.671 |2.607 |
CasaDeCampo_2592x1728_70_seq_420.jpg|9.334 |6.597 |9.053 |7.762 |
CasaDeCampo_2592x1728_90_seq_444.jpg|16.451 |11.322 |16.687 |13.562 |
Goose1024x768_12_baselineopt.jpg |3.952 |2.875 |3.921 |3.632 |
Molli512x384_9_seq.jpg |0.723 |0.493 |0.708 |0.600 |
Peacock800x600_10_baseline.jpg |1.812 |1.240 |1.854 |1.508 |
Sail768x576_9_seq.jpg |1.336 |0.864 |1.330 |1.040 |
Wnmde1152x768_70_422v_prog.jpg |3.556 |2.963 |3.543 |3.309 |
Wnmde1536x1024_90_422h_seq.jpg |3.670 |2.582 |3.727 |3.015 |
jordan199b.jpg |2.366 |1.627 |2.352 |1.848 |

The test images, benchmarking scripts and raw results are available
at http://bax.comlab.uni-rostock.de/fileadmin/downloads/jpegbench.zip

The datatype is an all-in-one binary for any 68020+ Amiga.
A 68000 version (without assembly optimizations) is provided as well.

Changes in this release
- fixed V42 mode (3.0/3.1 without updated picture.datatype)
- added CPU check to 020+ version to exit cleanly on 68000/68010
- removed FPU requirement (FPU iDCT is still optionally available
on FPU equipped systems)
- added minimum CPU type to version string
- fixed occasionally missing rows of pixels in cases where the
SCALE or MAXLENGTH options are active
- prepared for additional speedup on OS3.2.1 (about 100ms per
megapixel on 060/50 with picture.datatype 47.15)
- fixed incompatibility with picture.datatype 45.17 (OS3.9BB2)
- enabled arithmetic residual coding (not part of the JPEG standard
last I checked, but there are some pictures on the internet using
this mode)
- improvements to Huffman decoding functions
- leverage V47 picture.datatype features for more performance
- improvements to grayscale image handling

Feature overview

- supports normal and progressive JFIFs with all its flavours
- supports HAM output (HAM6 as well as HAM8)
- switches to V43 mode if a picture.datatype V43 or newer is found
- asynchronous file I/O to speedup image loading and decoding
- utilizes WritePixelLine8() for chunky-to-planar in V42 mode
- automatic colour quantizing of true-colour data for V42
- can be configured to suit personal preferences
- OS 3.5 and later support (minimum OS3.0)
- FBlit support
- based on libjpeg-turbo
- ASM optimizations to Huffman decoding, iDCT and color
transform (68020+)
- 30 bit internal resolution for color transform functions
- Highly accurate and fast default inverse cosine transform
function (stock libjpeg methods still available as options)
- AMMX optimization for Apollo Core Gold 2.7 and later
- FPU and AMMX availability is checked before use at runtime
- support for XMP JFIF files
- all-in-one binary for 68020+

Tuning (see also the guide file for additional options):

Classic 68k based Amigas
- The old fast iDCT is still about 5% faster than the new default.
If you care more for speed than accuracy, just type
makedir envarc:classes
makedir envarc:classes/datatypes
echo "DCT=FAST" >envarc:classes/datatypes/jfif44.prefs
in a shell window. Alternatively, a single commandline
call is also possible:
setenv envarc:classes/datatypes/jfif44.prefs DCT=FAST

Vampire Amigas
- On Vampire, the default iDCT is the AMMX fast, less accurate iDCT.
If you'd like to have the better accuracy of the new iDCT, type
the following lines in a shell window:
makedir envarc:classes
makedir envarc:classes/datatypes
echo "DCT=FASTGOOD" >envarc:classes/datatypes/jfif44.prefs
setenv envarc:classes/datatypes/jfif44.prefs DCT=FASTGOOD

Upload Date:Mar 27 2022
Size:674 KB