Mercurial > audlegacy-plugins
diff src/mpg123/README @ 12:3da1b8942b8b trunk
[svn] - remove src/Input src/Output src/Effect src/General src/Visualization src/Container
author | nenolod |
---|---|
date | Mon, 18 Sep 2006 03:14:20 -0700 |
parents | src/Input/mpg123/README@13389e613d67 |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/mpg123/README Mon Sep 18 03:14:20 2006 -0700 @@ -0,0 +1,67 @@ +libmpgdec - version 1.1 +======================= + +Copyright (c) 2005 - 2006 William Pitcock <nenolod@nenolod.net> +Portions copyright (c) 2001 Rafal Bosak <gyver@fanthom.irc.pl> +Portions copyright (c) 1999 Michael Hipp + +What is libmpgdec? +================== + +libmpgdec is a fully compliant ISO MPEG 1/2 Layer 1/2/3 decoder, +which shares no code with the `dist10' package. Instead, libmpgdec +is an extensively refactored version of the mpg123 sources included +with XMMS, which were released under the GPL. + +Due to the fact that the mpg123 source in XMMS were incomplete, several +components have been recreated and enhanced, including the synthesis +algorithms. + +Unlike it's predecessor, libmpgdec performs band-limited synthesis in order +to try to correct many of the shortcomings of the MPEG format. Also unlike +it's predecessor, useless assembly-based routines have been removed. + +Additionally, libmpgdec 1.1 includes new psychoaccoustic modeling routines +to try to enhance listening experience. + +libmpgdec 1.1 is the first "public" release, i.e. a release seperate from +Audacious with extra portability components added to improve adaptability +in other players and encoders/decoders. Versions of Audacious after 1.1 +will use this library package instead of using a statically linked decoder. + +How do I compile libmpgdec? +=========================== + +./configure +make +make install + +libmpgdec makes use of Autotools, and requires Glib 2.x. + +Why does an MP3 decoder library require Glib? +============================================= + +Simple. Glib lets us conveniently do things we would be able to not as cleanly +do otherwise. + +How do I program with libmpgdec? +================================ + +libmpgdec typically uses it's own thread for decoding. This is usually not a +major issue; however if it is, a lowlevel API (mainly undocumented) is provided +to allow for the implementation of custom event loops. + +libmpgdec and patents +===================== + +While I believe libmpgdec is not patent encumbered by the Huffman patents +(Thomson), and that it is not encumbered by any of the Fraunhofer or +Coding Technologies patents, I do not happen to be a patent lawyer, so +I cannot tell you for sure. I do however, know that the patents (in theory) +only cover linear synthesis-based decoding, and that libmpgdec uses +adaptive decoding. You can draw your own conclusions, there. + +That said, if you are using libmpgdec in a commercial application, it may +be wise for you to go ahead and get patent licences from Fraunhofer. + + -- William Pitcock <nenolod@nenolod.net>, May 30 2006