home *** CD-ROM | disk | FTP | other *** search
/ Amiga Elysian Archive / AmigaElysianArchive.iso / readmes / mp102.rea < prev    next >
Text File  |  1993-04-26  |  10KB  |  189 lines

  1. Short: MPEG player for ECS/AGA/OpalVision/PicassoII, needs 020+,2MB,OS2.04
  2.  
  3. ---
  4. mp (mpeg_play) is a MPEG software decoder for the Commodore Amiga computer. It
  5. is derived from the UNIX/X11 MPEG decoder version 2.0 by the Berkeley Plateau
  6. Research Group. Many thanks to Lawrence A. Rowe, Ketan Patel and Brian Smith
  7. for publishing that decoder, without them I wouldn't even know how MPEG works.
  8.  
  9. Most work for 'mp' went into dithering and display code for the native Amiga
  10. graphics hardware and some third party graphics boards but some friends and I
  11. also tried to improve playback speed so that it becomes usuable on a small
  12. computer system like the Amiga. Thanks to Urban D. Mueller who contributed an
  13. optimized IDCT routine and gave many ideas for a fast HAM display, to Andrew Denton
  14. and Harv Laser who tested the OpalVision support, to Ken Dyke for his nice MPEG
  15. animations and all the net people that patiently tested each new beta ten or more
  16. times a day and made lots of useful suggestions to improve the program.
  17.  
  18. ---
  19. Requirements for the 1.02 version:
  20.  
  21. - 68020 or higher CPU. Some thoughts went into that decision since it rules out
  22.   many people in viewing MPEGs but IMHO a 68000 is way too slow to decode MPEG at
  23.   a useful rate. Even an 68030/25MHz is quite slow, at least with this program.
  24.  
  25. - about 2MB memory. The program uses table lookups for some functions, especially
  26.   the HAM rendering code and the hybrid dithering need a large table. Other display
  27.   and dithering options can live with less memory.
  28.  
  29. - AmigaOS 2.0 or higher. Well, everyone should have updated to AmigaOS2.0.
  30.   Compatibility to AmigaOS1.3 would have added more special cases. I also
  31.   believe that people who can afford an accelerated Amiga have no problems
  32.   with that requirement and it made some functions a bit easier.
  33.  
  34. ---
  35. How to use the program:
  36.  
  37. mp has to be run from the CLI/Shell. Following the UNIX tradition it accepts
  38. command line parameters in the form 'programname' '-option...' 'input-file'
  39. and reads from standard input when no input filename is given. So if you
  40. run mp without arguments it will appear to do nothing. But in reality it
  41. tries to read an MPEG bitstream from the keyboard. Since that is a bit difficult
  42. to enter you should end input by hitting CTRL-\ which sends an EOF condition.
  43.  
  44. valid options are:
  45.  
  46. -display displayname  this has no function and is a remnant from the X11 code
  47.                       that allowed to specify the name of the X server/screen
  48.                       to use.
  49.  
  50. -dither dithermode    selects a dither and/or display mode. Some displays types
  51.                       need special dithering so this has been combined into one
  52.                       option. More about the possible dithermodes below.
  53.  
  54. -loop                 causes the player to repeat an animation for ever. You have
  55.                       to break it with CTRL-C.
  56.  
  57. -eachstat             this would produce verbose statistics information. Calculating
  58.                       the statistics however slows down the player and thus has been
  59.                       #ifdef'ed out.
  60.  
  61. -no_display           dithers, but does not display, usually used for testing and
  62.                       timing purposes.
  63.  
  64. -shmem_off            again a remnant of the X11 player with no function
  65.  
  66. -quiet                the program normally writes the frame number for each frame
  67.                       to the standard output which can be used to pause the player
  68.                       by hitting any key in the shell window. The -quiet option
  69.                       suppresses that output.
  70.  
  71. -l_range num
  72. -cr_range num
  73. -cb_range num         All paletted display modes use a 'color cube' to fill the
  74.                       palette. The default is to use 16 luminance values (-l_range),
  75.                       4 red values (-cr_range) and 4 blue values (-cb_range).
  76.                       For some movies this can produce bad colors, you can change
  77.                       the resolution of the color cube with these options, the
  78.                       total number of colors however cannot be larger than 256.
  79.  
  80. -nob                  causes the player to ignore and not display B (bothway
  81.                       interpolated) frames.
  82.  
  83. -nop                  causes the player to ignore and not display P (predicted)
  84.                       frames.
  85.                       
  86.  
  87. Dither and display options:
  88.  
  89. -dither ordered       use simple ordered dithering
  90. -dither ordered2      a faster ordered dither. This is the default.
  91. -dither mbordered     ordered dithering at the macroblock level.
  92. -dither fs4           Floyd-Steinberg dithering with 4 error values propagated
  93. -dither fs2           Floyd-Steinberg dithering with 2 error values propagated
  94. -dither fs2fast       a faster fs2
  95. -dither hybrid        Hybrid dithering, a combination of ordered dithering for
  96.                       luminance and fs2 dithering for chrominance. Errors are
  97.                       not propagated properly.
  98. -dither hybrid2       Hybrid dithering with error propagation among pixels.
  99. -dither 2x2           A dithering technique using a 2x2 pixel area for each pixel.
  100.                       The image displayed is 4 times larger than the original
  101.                       image encoded. Random error terms are added to each pixel to
  102.                       break up contours and gradients.
  103. -dither gray          Grayscale dithering. The image is dithered into 16 grayscales.
  104.                       Chrominance information is thrown away.
  105. -dither gray8         Grayscale dithering with 256 grayscales (AGA only).
  106. -dither color         'True' color display with 4 bits luminance and 2*2 bits for
  107.                       chrominance.
  108. -dither ham6          'True' color display using HAM approximation. For each pixel
  109.                       either red, green or blue are set correctly and the other
  110.                       color components are the same as the pixel to the left. As
  111.                       the name implies this uses the 6bit HAM mode and is limited
  112.                       to 4096 possible colors.
  113. -dither none          no dithering is done, no image is displayed. Used to time the
  114.                       decoding process.
  115. -dither mono          Floyd-Steinberg dithering in black and white.
  116. -dither threshold     Simple thresholding in black and white.
  117.  
  118. All above modes except for none, mono, threshold, gray, gray8, color and ham6 are
  119. paletted modes. On OCS/ECS machines this will produce an EXTRA_HALFBRITE display
  120. for the maximum number of colors. On AGA machines a 256 color screen is used which
  121. produces a mucher better display. As written above, the gray8 mode is only available
  122. on AGA machines. The selection between gray and gray8 is not done automatic because
  123. the 16 graylevel mode is somewhat faster and some AGA users might want to trade
  124. display quality for speed.
  125.  
  126. The player supports two 24bit displays: the OpalVision board and the PicassoII
  127. graphics board. The options
  128.  
  129. -dither opal15         and
  130. -dither opal24         generate a 15bit or 24bit display on the OpalVision.
  131.                        Playback speed is somewhat slower than for the native
  132.                        Amiga graphic. This requires the opal.library to be
  133.                        present in the LIBS: directory.
  134.  
  135. -dither village24      generates a 24bit display on the PicassoII board. This
  136.                        requires the PicassoII software to be installed properly.
  137.                        You don't need to redirect the Workbench to the PicassoII
  138.                        board nor use the ChangeScreen commodity as the player
  139.                        directly talks to the PicassoII driver software.
  140.  
  141.  
  142. Example:
  143.  
  144. mp -dither ham6 jet.mpg
  145.  
  146. will play back the MPEG movie from the file jet.mpg and use a HAM display.
  147.  
  148. mp -loop -dither village24 micky.mpg
  149.  
  150. will play back the file micky.mpg endlessly on the PicassoII board until
  151. CTRL-C is hit.
  152.  
  153. ---
  154. Playback speeds:
  155.  
  156. MPEG is a very CPU intensive way of compressing and decompressing digital
  157. video data. An Amiga A3000 achieves a rate of about 3 frames per second for
  158. average MPEG streams of 160x120 pixels per frame that were encoded with
  159. the XING encoder. Better _encoders_ can get better compression and streams
  160. from these encoders can be played back a bit faster.
  161.  
  162. MPEG movie        |  Resolution           |  Compression ratio  |  Frame rate
  163. ----------------------------------------------------------------------------
  164. micky.mpg         |  160x120              |  19.4               |  2.92
  165. moglie.mpg        |  160x120              |  23.8               |  2.93
  166. flight.mpg        |  160x120              |  20.8               |  2.92
  167. birdisba.mpg      |  160x120              |  27.6               |  3.53
  168. BigE_accel.mpg    |  176x144              |  41.1               |  3.14
  169. tennis.mpg        |  352x240              |  30.5               |  0.83
  170. jet.mpg           |  128x96               |  48.3               |  5.84
  171.  
  172. The frame rates were measured on an A3000/25MHz with static column RAMs on
  173. a PAL monitor. NTSC machines may show slightly different timing due to different
  174. frame times (50Hz vs. 60Hz) and the need to synchronize a double buffered display.
  175.  
  176. ---
  177. This version of the player (1.02) has been finished at the Amiga User Meeting in
  178. Illertissen/Germany on April 23-25th 1993. The length of the executable is
  179. 108596 Bytes and yields the VERSION string:
  180.  
  181. mpeg_play 1.02
  182. (Illertissen Version)
  183.  
  184. Please send any suggestions and bug reports to me. I can be reached via E-Mail
  185. as mlelstv@mpifr-bonn.mpg.de. People with Internet access can also find me often
  186. in the IRC (Internet Relay Chat) channels #amiga and #amigager.
  187.  
  188. Michael van Elst
  189.