AminetAminet
Search:
85727 packages online
• About
• Recent
• Browse
• Search
• Upload
• Setup
• Services

util/libs/mpega080.lha

Mirror:Random
Showing: m68k-amigaos icongeneric icon
No screenshot available
Short:mpega.library clone (libmad) for 68080
Author:Renaud Schweingruber (68080 version), Sigbjørn Skjæret (clone), Underbit Technologies (libmad)
Uploader:renaud schweingruber protonmail com (Renaud Schweingruber)
Type:util/libs
Version:2.4 (22.10.2026)
Architecture:m68k-amigaos >= 3.0
Date:2026-10-22
Requires:68080 (Apollo Vampire)
Distribution:Aminet
Download:util/libs/mpega080.lha - View contents
Readme:util/libs/mpega080.readme
Downloads:10

mpega.library 2.4 [080]
=======================

A 68080 build of Sigbjørn Skjæret's mpega.library clone (v1.7), which
decodes MPEG audio (layers I, II and III) with libmad 0.15.1b. Programs
that use mpega.library (players, AmiPlexAmp, ...) work unchanged: just
replace the library.

What is different
-----------------

The 2004 68k binary of the clone uses libmad's fastest but least
accurate fixed-point mode. This build uses libmad's full-accuracy mode
(64-bit products) and makes it fast on the 68080:

- polyphase synthesis window in assembler, keeping only the high
  longword of each 64-bit MULS.L product;
- dct32 compiled to assembler by a dedicated generator, with rounded
  Q31 multiplies (bit exact with the C code);
- long-block IMDCT windowing fused with the overlap-add;
- alias reduction in Q31, skipping the all-zero upper lines;
- Huffman decoding with BFEXTU straight from the bitstream;
- dithered 16-bit output in assembler (bit exact with the C code);
- code laid out for the 16 KB instruction cache of the 68080.

Measured on a Vampire V4 (68080 at 99 MHz), 254 kbit/s VBR MP3, 44.1 kHz
stereo, CPU time in % of real time; quality = signal to error ratio
against a floating-point reference decoder (ffmpeg):

                              dithered   rounded   quality
  previous 68k binary (040)     25.9 %    23.6 %    49.4 dB (errors up to 124 LSB)
  this 68080 build              21.2 %    19.6 %    95.8 dB (errors up to 1 LSB)

Also tested with 128 kbit/s CBR, 22 kHz mono and 16 kHz MPEG-2 files,
and a very loud 191 kbit/s track (102.5 dB).

The FPU is not used: on the 68080 the integer unit is faster for this
work (measured), and the output keeps full 16-bit accuracy.

Installation
------------

Copy mpega.library to LIBS: (keep a copy of the old one), then reboot or
run "Avail FLUSH" so that the new one is loaded.

"Version mpega.library FULL" shows:
  mpega.library 2.4 (22.10.2026)
  [080] mpega.library clone v1.7 by Sigbjørn (CISC) Skjæret, 68080 version
  by Renaud Schweingruber, using libmad 0.15.1b - Copyright (C) 2000-2004
  Underbit Technologies, Inc.

The library uses 68020 instructions (64-bit MULS.L, BFEXTU) and is
tuned for the 68080. It is not meant for the 68060 (64-bit MULS.L is
emulated there).

License and source code
-----------------------

This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version. It is distributed WITHOUT ANY WARRANTY; see
the file COPYING for details.

libmad - MPEG audio decoder library
Copyright (C) 2000-2004 Underbit Technologies, Inc.
mpega.library clone Copyright (C) Sigbjørn Skjæret and contributors.
68080 version Copyright (C) 2026 Renaud Schweingruber.

Written offer of source code (GPL version 2, section 3b):
For at least three years from the date of this release, I will give any
third party, on request and for no more than the cost of physically
performing the source distribution, a complete machine-readable copy of
the corresponding source code of this mpega.library, including the
scripts used to build it. Write to:
  Renaud Schweingruber <renaud.schweingruber@protonmail.com>

Credits
-------

Robert Leslie / Underbit Technologies for libmad, Sigbjørn Skjæret,
Jarmo Laakkonen and Stephan Rupprecht for the mpega.library clone,
Stéphane Tavenard for the original mpega.library interface.


Contents of util/libs/mpega080.lha
 PERMSSN    UID  GID    PACKED    SIZE  RATIO METHOD CRC     STAMP          NAME
---------- ----------- ------- ------- ------ ---------- ------------ -------------
[Amiga]                   7014   17992  39.0% -lh5- 4902 Oct 22 07:52 mpega080/COPYING
[Amiga]                  69379   99980  69.4% -lh5- 3fa9 Oct 22 07:52 mpega080/mpega.library
[Amiga]                   1865    3864  48.3% -lh5- 7245 Oct 22 07:52 mpega080/mpega080.readme
---------- ----------- ------- ------- ------ ---------- ------------ -------------
 Total         3 files   78258  121836  64.2%            Oct 22 22:07
Page generated in 0.03 seconds
Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>