home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 6 / AACD06.ISO / AACD / Sound / DelfMPEG / DelfMPEG.readme < prev    next >
Text File  |  1999-10-27  |  6KB  |  143 lines

  1. Short:  MPEG audio player for Delfina DSP
  2. Author: Smack/Infect! (Michael Henke)
  3. Type:   mus/play
  4.  
  5.  $VER: DelfMPEG 0.2 (Wed 27-Oct-1999)
  6.  
  7.  #features
  8.    -plays MPEG audio files with almost no CPU load
  9.     (decoding is done completely by Delfina's DSP56002)
  10.  
  11.    -currently supports only MPEG1 layer II
  12.     (layer III will be implemented soon)
  13.  
  14.    -multi-stage buffering system
  15.     (for smooth playback while loading from disk)
  16.  
  17.    -free software (full source code included, of course)
  18.  
  19.  
  20.  #requirements
  21.    -CPU 68020+
  22.    -AmigaOS V37+
  23.    -Delfina DSP board - delfina.library V4+
  24.    -asyncio.library V39+
  25.  
  26.    -developed on: A1200 (68030+882 @ 40MHz, 16MB Fast, Delfina1200 DSP)
  27.    -tested on: various machines with Delfina1200 and Delfina Lite
  28.  
  29.  
  30.  #recommended
  31.    -reqtools.library V38+
  32.    -FastRAM
  33.    -some MPEG audio files :)
  34.  
  35.  
  36.  #changes since previous release
  37.    -improved MPEG file reader
  38.    -unsupported files (i.e. other than layer II) are skipped
  39.    -NOPLAY/S works without delfina.library
  40.    -added SHOWTAG/S option
  41.    -added NOFASTL/S and NOFASTP/S options
  42.    -changed license terms to GNU General Public License
  43.  
  44.  
  45.  #how to use it
  46.    DelfMPEG is a shell-only program. The argument template is:
  47.    FILES/M      one or more filenames
  48.                 (if omitted a reqtools file requester appears)
  49.    VERBOSE/S    output some more information
  50.    NOPLAY/S     don't play but just print file info
  51.    SHOWTAG/S    display ID3v1 tag before playing
  52.    NOFASTL/S    don't use internal L-data memory for the DSP routines
  53.    NOFASTP/S    don't use internal program memory for the DSP routines
  54.  
  55.    During playback you can use these controls:
  56.    CTRL-E           pause/continue
  57.    CTRL-C           stop current file, start next file
  58.    CTRL-D           quit program
  59.  
  60.  
  61.  #technical stuff
  62.    -internal DSP memory
  63.  
  64.     this memory is built into the DSP56002. it is very fast and can be used
  65.     to speed up DSP programs quite a lot. unfortunately there is only a very
  66.     little amount of it: 32 words of program memory and 128 words of each
  67.     x- and y-data memory. if DelfMPEG fails to allocate some internal memory
  68.     for the decoding routines it will operate in slow external memory only.
  69.     this slowdown is no problem for Delfina1200 (74MHz DSP) but Delfina Lite
  70.     (40MHz DSP) might be a bit overstrained in that situation, beware!
  71.     this situation can be enforced using the NOFASTL and NOFASTP options.
  72.  
  73.    -delfina.library bug
  74.  
  75.     the current version of delfina.library (4.14, 15.09.99) contains a bug
  76.     that makes DelfMPEG 'crash' (reported by Delfina1200 and Lite users).
  77.     delfload shows 100% DSP load and the Delfina watchdog requester says
  78.     'Delfina crashed'. ignore this requester and you'll notice that DelfMPEG
  79.     is still playing properly! (delfina.library version 4.12 is fine for me)
  80.  
  81.    -the future: external decoding engine
  82.  
  83.     there are two big things planned for DelfMPEG:
  84.     1) mp3 support
  85.        (currently in the concept phase: looking for "useful" source codes,
  86.        investigating memory and processing power requirements)
  87.     2) put the DelfMPEG routines into an external decoding engine
  88.  
  89.     many MPEG players for the Amiga make use of external decoders, the most
  90.     popular one is Stephane Tavenard's mpega.library. before we decide how to
  91.     implement the Delfina MPEG decoder lets look at some important details:
  92.        -mpega.library player
  93.          1) calls MPEGA_decode_frame() and receives the decoded audio data
  94.          2) has additional routines for playback and timing (e.g. using AHI)
  95.        -DelfMPEG
  96.          1) installs the DSP routines for timing, playback and decoding
  97.          2) reads the MPEG files and sends the compressed data to Delfina
  98.     notice the difference: the decoded audio data is played directly by
  99.     the DelfMPEG DSP decoder.
  100.     if we would implement the Delfina decoder in mpega.library it would be
  101.     necessary to copy the audio data from Delfina to Amiga and then back to
  102.     Delfina for playback which would of course be very inefficient!
  103.     one alternative could be something like a "delfmpeg.device", writing data
  104.     to it results in decoding and playback - just like DelfMPEG does it.
  105.     it will probably require changes in the player programs to support this
  106.     new external decoder. The goal is to create an efficient and easy to use
  107.     (for application developers) engine that can be added to existing programs
  108.     with little effort (Delfina DSP power for every MPEG player!).
  109.     ideas and design concepts for the API (device or library?) of the DelfMPEG
  110.     external decoding engine are welcome.
  111.  
  112.  
  113.  #known problems
  114.    -files are only recognized if they start with the MPEG1 audio sync word
  115.    -DelfMPEG causes deadlocks/crashes when other programs use AHI
  116.     (try the NOFASTP option, it seems to prevent these crashes but I have
  117.     no idea why! is there a bug in DelfMPEG or is this another problem of
  118.     the Delfina kernel?)
  119.    -"low bitrate" files (less than 48kbps per channel) sound very strange
  120.     (I've already spent several hours searching for that bug in the mp2
  121.     decoder but I couldn't locate/fix it yet, sorry)
  122.  
  123.  
  124.  #author
  125.    mailto: smack@smack.de
  126.  
  127.    DelfMPEG - MPEG audio player for Delfina DSP
  128.    Copyright (C) 1999  Michael Henke
  129.  
  130.    This program is free software; you can redistribute it and/or modify
  131.    it under the terms of the GNU General Public License as published by
  132.    the Free Software Foundation; either version 2 of the License, or
  133.    (at your option) any later version.
  134.  
  135.    This program is distributed in the hope that it will be useful,
  136.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  137.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  138.    GNU General Public License for more details.
  139.  
  140.    You should have received a copy of the GNU General Public License
  141.    along with this program; if not, write to the Free Software
  142.    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  143.