1099
|
1 libmpgdec - version 1.1
|
|
2 =======================
|
|
3
|
|
4 Copyright (c) 2005 - 2006 William Pitcock <nenolod@nenolod.net>
|
|
5 Portions copyright (c) 2001 Rafal Bosak <gyver@fanthom.irc.pl>
|
|
6 Portions copyright (c) 1999 Michael Hipp
|
|
7
|
|
8 What is libmpgdec?
|
|
9 ==================
|
|
10
|
|
11 libmpgdec is a fully compliant ISO MPEG 1/2 Layer 1/2/3 decoder,
|
|
12 which shares no code with the `dist10' package. Instead, libmpgdec
|
|
13 is an extensively refactored version of the mpg123 sources included
|
|
14 with XMMS, which were released under the GPL.
|
|
15
|
|
16 Due to the fact that the mpg123 source in XMMS were incomplete, several
|
|
17 components have been recreated and enhanced, including the synthesis
|
|
18 algorithms.
|
|
19
|
|
20 Unlike it's predecessor, libmpgdec performs band-limited synthesis in order
|
|
21 to try to correct many of the shortcomings of the MPEG format. Also unlike
|
|
22 it's predecessor, useless assembly-based routines have been removed.
|
|
23
|
|
24 Additionally, libmpgdec 1.1 includes new psychoaccoustic modeling routines
|
|
25 to try to enhance listening experience.
|
|
26
|
|
27 libmpgdec 1.1 is the first "public" release, i.e. a release seperate from
|
|
28 Audacious with extra portability components added to improve adaptability
|
|
29 in other players and encoders/decoders. Versions of Audacious after 1.1
|
|
30 will use this library package instead of using a statically linked decoder.
|
|
31
|
|
32 How do I compile libmpgdec?
|
|
33 ===========================
|
|
34
|
|
35 ./configure
|
|
36 make
|
|
37 make install
|
|
38
|
|
39 libmpgdec makes use of Autotools, and requires Glib 2.x.
|
|
40
|
|
41 Why does an MP3 decoder library require Glib?
|
|
42 =============================================
|
|
43
|
|
44 Simple. Glib lets us conveniently do things we would be able to not as cleanly
|
|
45 do otherwise.
|
|
46
|
|
47 How do I program with libmpgdec?
|
|
48 ================================
|
|
49
|
|
50 libmpgdec typically uses it's own thread for decoding. This is usually not a
|
|
51 major issue; however if it is, a lowlevel API (mainly undocumented) is provided
|
|
52 to allow for the implementation of custom event loops.
|
|
53
|
|
54 -- William Pitcock <nenolod@nenolod.net>, May 23 2006
|