home *** CD-ROM | disk | FTP | other *** search
/ Inside Multimedia 1994 October / IMM1094.ISO / program / vmpeg / vmpeg.doc < prev    next >
Text File  |  1993-11-15  |  11KB  |  308 lines

  1.  
  2.                               VMPEG V1.1
  3.  
  4.                             DOS MPEG player
  5.  
  6.                            by Stefan Eckart
  7.  
  8.                              November 1993
  9.  
  10.  
  11. 1. Features
  12. ===========
  13.  
  14.  - full MPEG-1 video standard (ISO 11172-2): I,P,B frames of arbitrary size;
  15.    no restriction to 160x120 or I-frame-only sequences
  16.  
  17.  - also plays system layer (ISO 11172-1) files
  18.  
  19.  - "high" speed: e.g. 16 frames/s on a 386DX/33 for a 160x120 I frame
  20.                  sequence (mjackson.mpg); about the speed of mpeg_play
  21.                  running on a Sparcstation1+
  22.  
  23.  - supports VGA and a variety of SVGAs
  24.  
  25.  - '386 or '486 processor required (i.e. no '286); based on the
  26.    DOS extender GO32.EXE by DJ Delorie
  27.  
  28.  - dithering options: 4x4 ordered dither normal size
  29.                       4x4 ordered dither double size
  30.                       grayscale
  31.  
  32.  - 8 bit and 24 bit (true color) display
  33.  
  34. 2. Overview
  35. ===========
  36.  
  37. VMPEG complements the programs CMPEG (MPEG encoder) and DMPEG (MPEG
  38. decoder and off-line player). It decodes MPEG encoded sequences directly
  39. to the screen at (hopefully) reasonable speed. It is about nine times
  40. faster than DMPEG, more than 60% faster than the latest Xing MPEG player
  41. (mjackson.mpg: XingIt V2.1: 10 frames/s, VMPEG: 16.4 frames/s) and, timed
  42. on a 386DX/33, about as fast as the Berkeley MPEG player (mpeg_play)
  43. on a Sparcstation1+ (about 1/3 to 1/2 the speed of a Sparc10).
  44.  
  45. VMPEG is compiled with the GNU C compiler (gcc) into '386 code and runs
  46. under the DOS extender GO32 by DJ Delorie which is included in the archive
  47. file. VMPEG cannot be run from Windows or OS/2.
  48.  
  49. The ninefold speed improvement over DMPEG was obtained by changing the
  50. C compiler, by using algorithms which take advantage of the 32 bit
  51. architecture of the '386 and by rewriting a few key routines in '386
  52. assembler.
  53.  
  54. VMPEG also plays MPEG system layer files, which usually contain both video
  55. and audio streams. The audio stream is discarded. Most streams from CD-ROM
  56. are of this type. VMPEG automatically detects whether the file is a video
  57. compression layer or a system layer file. I have also included a small
  58. utility (MPGSPLIT) which extracts the video and audio streams from a
  59. system layer stream into seperate files (cf. MPGSPLIT.DOC).
  60.  
  61. VMPEG is, however, not meant to replace DMPEG (at least not presently),
  62. since it is lacking several of the features of DMPEG (like decoding
  63. to a file, Floyd-Steinberg dithering etc.) and the quality of the decoded
  64. sequences is a bit lower (about 7 bit accuracy instead of 8 bit, which is
  65. however completely masked by the dithering noise and the 6 bit color
  66. register resolution of VGAs and SVGAs).
  67.  
  68.  
  69. 3. Installation
  70. ===============
  71.  
  72. - You need at least a '386 with a VGA and 512 KB of RAM. 2 MB are strongly
  73.   recommended. XT, AT, EGA and CGA are not supported. A '387 is not required
  74.   nor does it increase speed. VMPEG doesn't use floating point.
  75.  
  76. - You should leave about 2 MB of RAM (XMS) unused: if you have, say,
  77.   a 4 MB system you shouldn't reserve more than 2 MB for a RAM drive.
  78.   Otherwise the DOS extender would start swapping memory pages from and to
  79.   disk. This would slow down the program, even if swapping to a RAM drive.
  80.  
  81. - If you have installed EMM386 make sure you don't have specified the
  82.   'noems' option.
  83.  
  84. - Create a subdirectory for installation:
  85.  
  86.   md \vmpeg
  87.   cd \vmpeg
  88.  
  89. - Unzip the archive into this subdirectory:
  90.  
  91.   pkunzip -d vmpeg11.zip
  92.  
  93. - Edit VMPEG.BAT and VMPEG24.BAT; you probably have to change drive
  94.   and/or path specifications and to select a suitable graphics driver
  95.   (see next paragraph).
  96.  
  97.  
  98. 4. Graphics Drivers
  99. ===================
  100.  
  101. The DRIVERS subdirectory contains a set of graphics drivers for different
  102. Super VGAs. Select the one that matches your graphics card by editing the
  103. files VMPEG.BAT (for 8 bit display) and VMPEG24.BAT (for 24 bit display).
  104. If none of the drivers work, you may try to use VESA.GRN and a TSR VESA BIOS
  105. extension. A collection of such drivers is available at
  106.  
  107. ftp.rahul.net:/pub/bryanw/pc/vesadrv2.zip (anonymous ftp).
  108.  
  109. and probably also on other ftp sites or BBSs.
  110.  
  111. True color support is still limited. It works for my configuration
  112. (a Cirrus Logic GD5422 based card with VESA BIOS and VESA.GRN) and
  113. should work for most other 'well behaved' cards as well. If you get
  114. incorrect colors you have probably a card with R,G,B instead of B,G,R
  115. order. These are currently not supported.
  116.  
  117. 5. Options
  118. ==========
  119.  
  120.   vmpeg [options] input.mpg
  121.   vmpeg24 [options] input.mpg
  122.  
  123. options:
  124.  
  125.   -l  loop the sequence
  126.  
  127.   -x  assume sequence to contain only I frames (including Xing files),
  128.       this makes the program running faster
  129.  
  130.   -d0 (default) ordered 4x4 dither
  131.   -d1 grayscale
  132.   -d2 similar to -d0 but display magnified by a factor of 2
  133.  
  134. True color mode is selected by using vmpeg24 instead of vmpeg. In this
  135. case the -d switch isn't effective.
  136.  
  137. The program can be terminated by pressing an arbitrary key.
  138.  
  139.  
  140. 6. Remarks
  141. ==========
  142.  
  143. This is still a preliminary release of the program. I expect it to be
  144. already relatively stable (most of the code is borrowed from DMPEG) but
  145. there might be problems with more or less exotic SVGAs. While the VGA
  146. mode should always work, a 640x480 display looks much better and is
  147. strongly recommended.
  148.  
  149. I'm planning to add HiColor in the near future and of course I'm trying
  150. to improve speed even further. I'm also thinking about a UNIX version of
  151. VMPEG.
  152.  
  153. Please report bugs to my email address:
  154.  
  155.   stefan@lis.e-technik.tu-muenchen.de
  156.  
  157. or by mail to:
  158.  
  159.   Stefan Eckart
  160.   Kagerstr. 4
  161.   D-81669 Muenchen, Germany
  162.  
  163. I'm also interested in obtaining performance figures measured on '486
  164. systems. Don't hesitate to mail me some...
  165.  
  166.  
  167. 7. Acknowledgements, Copyrights
  168. ===============================
  169.  
  170. This program comes without any warranty. Your are using it at your own
  171. risk. VMPEG is copyrighted software (C) Stefan Eckart, 1993. You may
  172. use, copy and distribute this program without restrictions but only in
  173. unmodified form and without charging money for it.
  174.  
  175. VMPEG is based on the work of many other people. Without them this program
  176. would not exist. Here are the relevant copyrights:
  177.  
  178. GO32.EXE, DRIVERS\*.GRD:
  179.  
  180.    Copyright (C) DJ Delorie
  181.                  24 Kirsten Ave
  182.                  Rochester NH  03867-2954
  183.  
  184. These files are part of DJGPP which is available from
  185.  
  186.     host:      omnigate.clarkson.edu
  187.     login:     ftp
  188.     password:  send your e-mail address
  189.     directory: ~ftp/pub/msdos/djgpp
  190.  
  191. DRIVERS\VESA.GRN:
  192.  
  193.  Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
  194.  Copyright (C) 1992 Csaba Biegl, 820 Stirrup Dr, Nashville, TN 37221
  195.  Copyright (C) 1993 Grzegorz Mazur, gbm@ii.pw.edu.pl
  196.  
  197. VMPEG:
  198.  
  199. The library VMPEG is linked with is
  200.  
  201.  Copyright (c) Regents of the University of California.
  202.  
  203.  acknowledgement:  ``This product includes software developed by the
  204.  University of California, Berkeley and its contributors''
  205.  
  206.  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
  207.  * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
  208.  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  209.  
  210. The program is compiled with GNU GCC, the C compiler of the Free
  211. Software Foundation (FSF), Inc. 675 Mass Ave, Cambridge, MA 02139, USA.
  212. VMPEG does not contain code covered by the FSF General Public License.
  213.  
  214.  
  215. 8. Known Bugs
  216. =============
  217.  
  218. The -d2 option is slower than it should be (yet to be rewritten
  219. in assembler).
  220.  
  221. Interframe coded macroblocks theoretically can experience wrap-around
  222. (255<->0). Up to now I couldn't identify any MPEG sequence which exhibits
  223. this bug.
  224.  
  225. Accuracy of the IDCT is at the lower margin and definitely does not
  226. meet the requirements of IEEE P1180. It is, however, a reasonable trade-off
  227. between speed and image quality.
  228.  
  229.  
  230. 9. References
  231. =============
  232.  
  233. 1. Coding of moving pictures and associated audio for digital storage
  234.    media up to about 1,5 Mbit/s, International Standard ISO/IEC
  235.    IS 11172, 1993.
  236.  
  237. 2. Frequently Asked Questions (FAQ) of the alt.binaries.pictures
  238.    newsgroup: contains an introduction to MPEG.
  239.  
  240. 3. Documentation of the PVRG MPEG software: a thorough overview
  241.    covering many aspects of MPEG
  242.  
  243.  
  244. Appendix A: Related Software
  245. ============================
  246.  
  247. This list is probably incomplete, but it's all I'm aware of. Of course
  248. there are programs for other systems as well (Mac, Amiga etc.).
  249.  
  250. cmpeg          an MPEG encoder for the PC (DOS, 640K, no '386 req.)
  251.                for Targa, PBMPLUS and Alchemy RAW images
  252.                Author: Stefan Eckart
  253.                garbo.uwasa.fi:/pc/graphics/cmpeg10.zip
  254.  
  255. dmpeg          Offline MPEG decoder and player for the PC (DOS, 640K, VGA)
  256.                Author: Stefan Eckart
  257.                garbo.uwasa.fi:/pc/graphics/dmpeg11.zip
  258.  
  259. mpeg_play      MPEG Video Software Decoder (Version 2.0; Jan 27, 1993)
  260.                Authors: Lawrence A. Rowe, Ketan Patel, and Brian Smith
  261.                Computer Science Division-EECS, Univ. of Calif. at
  262.                Berkeley
  263.                toe.cs.berkeley.edu:/pub/multimedia/mpeg/mpeg-2.0.tar.Z
  264.  
  265. mpegwin        Online port of mpeg_play for MS-Windows
  266.                by: Michael Simmons, msimmons@ecel.uwa.edu.au
  267.                toe.cs.berkeley.edu:/pub/multimedia/mpeg/Ports/mpegw*
  268.                (HiColor & TrueColor support, Shareware)
  269.  
  270. mpeg.exe       DOS MPEG player from Xing Technologies (XingIt V2.1)
  271.                (high speed, but decodes only a small subset of the
  272.                 MPEG standard, audio (.WAV,.MP2) support, Windows)
  273.                mpegview.zip (available from many ftp sites)
  274.  
  275. MPEGv1.1/1.2alpha
  276.                MPEG Software Encoder/Decoder
  277.                Authors: Portable Video Research Group (PVRG)
  278.                havefun.stanford.edu:/pub/mpeg/MPEGv*.tar.Z
  279.  
  280. disp
  281.                a display program for pictures and animations
  282.                including MPEG (based on mpeg_play)
  283.                contains additional drivers that can also be used
  284.                with VMPEG.
  285.                Author: Jih-Shin Ho, u7711501@bicmos.ee.nctu.edu.tw
  286.                NCTUCCCA.edu.tw:/PC/graphics/disp
  287.                
  288.  
  289.  
  290. APPENDIX B: MPEG files
  291. ======================
  292.  
  293. Two good sources for MPEG files:
  294.  
  295.   toe.cs.berkeley.edu:/pub/multimedia/mpeg/movies
  296.   havefun.stanford.edu:/pub/mpeg
  297.  
  298. High quality MPEGs you simply can't afford to miss:
  299.  
  300.   tennis.mpg
  301.   flowg.mpg
  302.   bike.mpg
  303.  
  304.  
  305. --
  306. Stefan Eckart, stefan@lis.e-technik.tu-muenchen.de
  307. Kagerstr. 4, D-81669 Munich, Germany.
  308.