home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 6 / AACD06.ISO / CDTools / Players / MPEGA / MPEGA.doc < prev    next >
Text File  |  1997-08-29  |  12KB  |  346 lines

  1. -------------------------------------------------------------------------------
  2.  
  3.                  MPEGA 3.3  (29-Aug-1997) (68020+) (GIFTWARE)
  4.  
  5. -------------------------------------------------------------------------------
  6.  
  7.  
  8. Distribution Conditions
  9. -----------------------
  10.  
  11.   This program is copyright (c) 1995-1997 by Stephane TAVENARD.
  12. It may be distributed freely under the condition that no profit is
  13. gained from its distribution, nor from any other program distributed
  14. in the same package.
  15.  
  16.   Permission is granted to distribute this package by Bulletin Board
  17. systems or network sites, under the condition that no fee is charged
  18. on downloading it.
  19.  
  20.   All files that are part of this package have to be distributed
  21. together and none of them may be changed in any way other than
  22. archiving or crunching.  The only exception to this rule are the
  23. icons, including the tooltypes, which may be changed to accommodate
  24. them to the rest of the disk it is distributed on.
  25.  
  26.   This program is distributed as freeware (and giftware).
  27.  
  28. Disclamer
  29. ---------
  30.  
  31.   This package is provided "as is" without warranty of any kind.
  32. The author assumes no responsibility or liability whatsoever
  33. for any damage or dataloss caused by using this package.
  34.  
  35.  
  36. Introduction
  37. ------------
  38.  
  39. What is MPEG audio ?
  40.  
  41. It's a very efficient audio compression standard. Actually, there is 3
  42. compression methods, named layer I, II & III. Layer III is more efficient
  43. than layer II, which is more efficient than layer I. But, more efficient
  44. means more complex.
  45. MPEG audio allows to compress a 16-bit PCM sound file from 1.2 to
  46. 32 times.
  47.  
  48. Why is it so hard to make a real time MPEG audio decoder ?
  49.  
  50. MPEG audio decoding requires a lot of arithmetic calculation, so a lot of CPU
  51. power is required. Normally, MPEG audio decoding is made with help of a DSP.
  52.  
  53.  
  54. History
  55. -------
  56.  
  57. V1.0    23-Jun-1995     First aminet release
  58. V1.1    09-Sep-1995     Added mixing audio output. For example, it can play at
  59.                         28000Hz a 11025Hz decoded stream (-d4 option).
  60. V1.2B   31-Jul-1996     68020..68040 and 68060 versions
  61.                         Buffer time can be set by user
  62.                         Can play half rate if private bit is set in mpeg stream
  63. V1.3    01-Nov-1996     Added MPEG2 low sampling frequencies
  64. V2.0    31-Mar-1997     Added Layer III !
  65. V2.1    02-Apr-1997     -x option now works (missing !)
  66. V2.2    05-Apr-1997     Corrected bug in MPEG I,II dequantization
  67.                         IMDCT now in pure asm
  68.                         Decoding Layer III is now 20% faster than V2.1
  69. V2.2B   06-Apr-1997     Added MPEG2.5 support
  70.                         Fixed bug in subband synthesis filter
  71. V2.3    11-Apr-1997     Optimized subband synthesis filter
  72.                         play audio as default (-s to silence)
  73.                         added priority option (-p)
  74. V2.4    19-Apr-1997     Optimized huffman decoding of Layer III
  75.                         Added AHI support (-I option)
  76.                         Use now async I/O for reading input file
  77.                         Improved multitasking capabilities
  78. V2.5    03-May-1997     Fixed bug for 48kHz & 24kHz streams
  79.                         Fixed bug in that swallows end of sound
  80.                         Added seek into stream (-S option)
  81.                         Use of AHI V4
  82.                         Fixed bug when stopping with Ctrl-C
  83.                         Re-enabled AIFF header (-A option)
  84.                         Added max decoding frequency (-F option)
  85. V2.6    16-May-1997     Added Time counter (-T option)
  86.                         Fixed small bug into IMDCT of layer III
  87.                         Fixed "Audio skipping" bug at start of play
  88. V2.7    18-May-1997     Optimized Subband synthesis (global gain = 20% on 060 !)
  89.                         Added synchronization tolerance (allows to read some incorrect bitstreams)
  90.                         No more crash if input stream is not MPEG Audio
  91. V2.8    24-May-1997     All output text info is now output to stdio instead of stderr
  92.                         Audio manager use now soft interrupts
  93. V2.9    29-May-1997     Added -w option to wait for audio buffer to be full before starting audio
  94.                         Added -b option to set the input file buffer size (default is 16KB)
  95.                         Gain of 6% for layer III decoding (on '060)
  96. V3.0    15-Jul-1997     FPU Version use now Optimized FPU routines (no more INTEGER calc.)
  97.                         -> FPU is slower than non FPU version, but provides more quality
  98.                         Suppressed MPEG Audio header check (some streams have pb with it)
  99.                         Corrected bad lock when opening stream (MUFS files didn't work)
  100.                         New Huffman filling buffer (Decoding layer III is 5% faster on a 060)
  101.                         -a option to display audio buffer fill level (in secs)
  102.                         Audio buffer size can be more than 32 secs now
  103.                         Added WAVE output option (-W)
  104.                         Added Decoding parameters output option (-D)
  105.                         Faster dequantization & stereo process in layer III
  106.                         Play list as input file with -l option
  107.                         Output file can be specified with -o <file> option
  108.                         Added a config file (default is MPEGA:MPEGA.CFG, then MPEGA.CFG):
  109.                            - separate mpeg decoder options for Layer I&II and III, mono and stereo files
  110.                            - default options
  111.                         Added -C option to display current configuration
  112.                         Now time used is only displayed if -u option is set
  113. V3.1    23-Jul-1997     Corrected WAVE Format (bug in size calc)
  114.                         Added -r option to disable Async I/O for input file (don't lock input file)
  115.                         Suppressed the need for an MPEGA: assign (sorry about this...)
  116.                         Read MPEGA.CFG now from ENV:, S:, PROGDIR:, and then current directory.
  117.                         Added -N option to display filename
  118. V3.2    16-Aug-1997     Version string format now STYLEGUIDE compliant
  119.                         Added Random play for playlist (-R option)
  120.                         Added TAG info display (-i option)
  121. V3.3    29-Aug-1997     Output display changed
  122.  
  123. Description
  124. -----------
  125.  
  126. You need at least a 68020 CPU to use it !
  127.  
  128. This is an highly optimized MPEG audio decoder. This one can decode MPEG audio
  129. standard streams, layer I, II & III. The output can be either a raw PCM file
  130. or AMIGA-builtin audio device (14-bit/cybersound/AHI).
  131.  
  132. How to use it
  133. -------------
  134.  
  135. Syntax: MPEGA [<options>] <MPEG Audio file> [<out pcm file>]
  136.  
  137. options are:
  138.  
  139. -d <freq_div>   frequency division: 1, 2 or 4
  140. -q <quality>    output quality: 0 (worst), 1 or 2 (best)
  141. -h              display header only
  142. -n              no frame counter
  143. -m              mono output (left channel)
  144. -p <pri>        process priority (-30..30)
  145. -I[<id>]        AHI output, <id> = Audio mode ID in hex (ex: -I20004)
  146. -s              silence (no audio output)
  147. -f 0|1          audio filter off/on (default = auto)
  148. -x <freq>       audio mixing frequency (default = none)
  149. -t <ms>         audio buffer time in ms (default = 1 sec)
  150. -v <vol>        audio volume (0..64 or 65..256 for boost)
  151. -w              wait for audio buffer to be full before starting audio
  152. -a              audio buffer fill level in secs (use with -T option)
  153. -S <ms>         seek to time postion in stream (unit is ms)
  154. -A              write AIFF header to output file
  155. -W              write WAVE header to output file
  156. -F <freq_max>   max decoding frequency (auto freq_div)
  157. -T              display time counter instead of frame counter
  158. -b <k_size>     set the input file buffer size in KBytes (default = 16KB)
  159. -D              display decoding parameters
  160. -l              input file is a play list (text file)
  161. -o <out file>   output decoded file
  162. -c <cfg file>   configuration file (default = MPEGA.CFG)
  163. -C              display current configuration
  164. -u              display time used
  165. -r              don't use Async I/O for input file (no lock)
  166. -N              Display filename
  167. -R              random play
  168. -i              display TAG infos
  169.  
  170. Play list
  171. ~~~~~~~~~
  172.  
  173. A play list is a text file, each line containing a filename (and its path).
  174.  
  175. Example:
  176.  
  177. ----- BEGIN OF playlist.txt -----
  178. mpega:films/PFICTION.MP3
  179. mpega:films/Blade_Runner/Blade_Runner_Blues.mp2
  180. mpega:Angra/Carolina_IV.mp2
  181. ------ END OF playlist.txt ------
  182.  
  183. -> 'mpega -l playlist.txt' will play all the files in this play list
  184.  
  185.  
  186. Config File
  187. ~~~~~~~~~~~
  188.  
  189. The default config file is 'MPEGA.CFG' loaded each time you start mpega.
  190. It try to read MPEGA.CFG from ENV:, S:, PROGDIR:, and then current directory.
  191.  
  192. You can specify an alternate config file with -c option.
  193.  
  194. A config file is a set of line options. The first 4 lines are used to
  195. configure the mpeg decoder according to the mpeg audio file type.
  196.  
  197. line option #  mpeg audio file type
  198.      1         Layer I or II, Mono
  199.      2         Layer III, Mono
  200.      3         Layer I or II, Stereo
  201.      4         Layer III, Stereo
  202.  
  203. On this first lines, only options -d, -q, -F and -m are allowed
  204.  
  205. The next lines are used as default options, as they were entered
  206. on the command line.
  207. Comment lines are blank lines or lines begining with #
  208.  
  209. Example of config file:
  210.  
  211. ----- BEGIN OF MPEGA.CFG -----
  212. # Config file for MPEGA
  213. #
  214. # WARNING You must not change the config lines order !
  215. #         option line is limited to 255 characters
  216. #
  217. # MPEG decoder options (allowed options: -d -q -F -m)
  218. #
  219. # Mono files:
  220. # Layers I & II
  221. -d1 -q2
  222. # Layers III
  223. -d2 -q1
  224. #
  225. # Stereo files:
  226. # Layers I & II
  227. -d1 -q1 -m
  228. # Layers III
  229. -q0 -F22050 -m
  230. #
  231. # Default options (all options allowed, may overwrite previous options)
  232. -u -T
  233. ------ END OF MPEGA.CFG ------
  234.  
  235. TAG infos
  236. ~~~~~~~~~
  237.  
  238. TAG infos are often used now for mp3 files. When tag info is available and -i option
  239. is selected, an info line will appear with the following format:
  240. <title> (<artist>) [<album>] <year> - <genre> - <comment>
  241.  
  242. TAG info can be added/modified with the utility mp3Info by Thorvald Natvig.
  243. This utility can be found in aminet/mus/misc (Amiga version by mikecheng@cryogen.com)
  244.  
  245. Several version are available:
  246. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  247.  
  248. mpega.020       68020 or 68030 with or without FPU
  249. mpega.020FPU    68020 or 68030 + FPU
  250. mpega.040       68040 or 68060 with or without FPU
  251. mpega.040FPU    68040 or 68060 + FPU
  252.  
  253. *******************************************************************
  254. *****                                                         *****
  255. ***** USE NON FPU VERSION FOR MAXIMUM SPEED OR AUDIO PLAYBACK *****
  256. *****                                                         *****
  257. *******************************************************************
  258.  
  259. Examples:
  260.  
  261. playing sound without counter, priority of 10:
  262.  
  263.    mpega -p10 -n <mpeg file>
  264.  
  265. or with AHI:
  266.  
  267.    mode id requester:
  268.    mpega -p10 -n -I <mpeg file>
  269.  
  270.    mode id 20004:
  271.    mpega -p10 -n -I20004 <mpeg file>
  272.  
  273. playing on a pal screen (limit to 28Khz):
  274.  
  275.    mpega -x28000 <mpeg file>
  276.  
  277. creating an output pcm file without sound:
  278.  
  279.    mpega -s <mpeg file> <output pcm file>
  280.  
  281. creating an output AIFF file without sound:
  282.  
  283.    mpega -s -A <mpeg file> <output pcm file>
  284.  
  285.  
  286. Limit the decoding frequency to 22.05KHz
  287.  
  288.    mpega -F22050 <mpeg file>
  289.  
  290.  
  291. Speed
  292. -----
  293.  
  294. Today, MPEG layer III decoders are very rare on AMIGA
  295.  
  296. A little comparison with amp.0.7.2 on 68060/64 MHz:
  297.  
  298. Spot1-44S.96.mp3 (Stereo 44.1KHz 96kpbs layer III) of 10.9 sec
  299.  
  300. amp.040881   mpega:test/Spot1-44S.96.mp3 ram:out.pcm  -> 12.5 sec
  301. mpega.040    mpega:test/Spot1-44S.96.mp3 -s           ->  3.3 sec
  302.  
  303. Future
  304. ------
  305.  
  306. - Port of Layer III to 'SongPlayer' (aminet/mus/play)
  307.  
  308. - More speed !
  309.  
  310.  
  311. Copyrights
  312. ----------
  313.  
  314. AHI is Copyright ©1994-96 Martin Blom
  315.  
  316. Credits
  317. -------
  318.  
  319. Thanks to Thorvald Natvig <xeno@mix.hive.no> for his mp3info sources (read & write of TAG info)
  320. ID3 TAG format by NamkraD/DC (erick@marble.net)
  321.  
  322.  
  323. Thanks to my friend, AMIGA, the best computer ever made.
  324.  
  325.            / /
  326.           / /
  327.          / /
  328.    \ \  / /
  329.     \ \/ /
  330.      \/\/
  331.  
  332. Stéphane TAVENARD (ANGERS/France)
  333. Email: tavenard@xiii.univ-angers.fr (it's my brother Raphaël mail)
  334. IRC: Tatav
  335.  
  336. Send your gifts here :^)
  337.  
  338. Stéphane TAVENARD
  339. La Bezanière
  340. 49070 Saint Jean de Linières
  341. FRANCE
  342.  
  343. Nota from Raphaël: Because my E-mail account is very very short, please tell me before
  344.                    using an attachment :(
  345.  
  346.