MPEGone - DOS MPEG and VideoCD player version 1.10
==================================================

MPEGone is a DOS based MPEG 1 and VideoCD player with sound.

If you use the player frequently you should register it. Go to the player's
homepage http://multimediaware.com/mpeg/ where you will find a link to
register the player online. The registration fee for a single PC is $25 US.
The Demo notice will disappear with a registered version.


Supported Files
===============

Supported are MPEG files with suffix .MPG, .M1V, .MPE, .MPV and .DAT.
DAT files are files from the VideoCD that are usually named AVSEQ01.DAT and
so on. VideoCDs and CD-i (partly) are supported using the -VCD command.


System Requirements
===================

The player is a 32 bit protected mode program and therefore needs at least
a 80386 processor. For playback of MPEGs with higher resolutions, a Pentium
166 system is recommended. For sound decoding you must have a coprocessor.
Also, you should take care that you have a VESA 2.0 compliant graphics card
or driver as it has a high influence on the player's performance. The
player will use hardware scaling and color space conversion to provide full
screen playback with every MPEG resolution with the following graphics
chips: S3 Vision 868 und 968, S3 Virge, Virge DX/GX, Virge GX/2, Trio64V+,
Trio64V2, MVP4 and Blade 3D.
The player will run under DOS 3.0 or better, or in a DOS shell under Windows
95/98 and OS/2. You must have a VGA card in your system. For sound support
you must have a Sound Blaster compatible sound card (or ESS card), a Gravis
UltraSound Classic or MAX, or a Windows Sound System.


Installation
============

There is no installation necessary.
The player will automatically detect your machine, memory and graphics
card. For sound support with a Sound Blaster, compatible or ESS chip you
must have the Environment variable BLASTER set containing port address,
IRQ and DMA channel or the appropriate ULTRASND variable for the Gravis
UltraSound. A Windows Sound System card is autodetected.


Command Line Format
===================

The command line format for the player is:
MPEG [options] [file name]

Options
-------

An Option can start with a "-" od a "/". This documentation uses "-".

 -VCDx Start VideoCD playback. x is the track number. If you don't give
       a track number, track 2 will be assumed for VideoCDs and 1 for
       CD-i.

 -Kx Type of video scaling:
     x=0: no scaling
     x=1: 2x scaling
     x=2: 2x scaling with every second line black
     x=3: Full screen software scaling
     x=4: Full screen hardware scaling. This is avaliable with certain
          graphics chips only, for a list see below. If hardware scaling
          is not supported with your hardware, then software scaling will
          be used.
     Default: Full screen hardware scaling if available, otherwise
              software full screen. Note that software full screen
              requires some CPU power. If you get frame drops, select
              no scaling with -K0

 -Qx Video quality:
     x=0: TrueColor
     x=1: HiColor
     x=2: 256 colors
     x=3: Grayscale
     Default: HiColor.

 -Rx Select screen resolution:
     x=1: 320x200
     x=2: 640x480
     x=3: 800x600
     x=4: 1024x768
     If a mode is not possible auto select will be used.
     Default: auto select

 -Ox Set audio volume (x between 0 and 15)

 -A  No sound with videos.

 -UR Keep aspect ratio when showing videos full screen.

 -UB Use banked video memory access instead of linear frame buffer. Use
     this option if the player crashes while video playback. Some VESA
     BIOSes (for example certain SiS chips) are buggy.

 -US Don't synchronize video playback with the vertical retrace of the
     monitor. If you use this option you might get tearing artefacts.
     However, synchronizing takes some time. If you're getting framedrops
     you should try to use this option.

 -C  Don't switch to text mode after playing.

 -N  Don't set video mode. This can be used together with -C, -J, -X and -Y
     to display graphics around the video for example. You should take care
     that the color depth of the video mode that is set when you start
     the player is equal to the one that would be selected for the video.

 -Gx End MPEG at frame x

 -Lx Loop video x times, 0 means until
     key pressed, default is 1,

 -Sx Set playback speed. x is the time between two frames in microseconds.
     example: -s100000 gives 10 frames per second.
     The sound of videos will automatically be disabled with this option.

 -Tx Wait x/100 seconds after playing, 0 means wait for keypress

 -Jx,y Size of the video window, x is the horizontal size and y the
     vertical size. Example: -J300,200

 -Xx Position video window at horizontal position x (must be a multiple
     of 4).

 -Yx Position video window at vertical position x.

 -Zx Stop video with a mouse. Each bit triggers of x a certain mouse event:
     bit 0: mouse move
     bit 1: left mouse button pressed
     bit 2: right mouse button pressed
     bit 3: middle mouse button pressed (not supported with all mouse
            drivers)
     Example: stop video when mouse is moved or the left mouse button is
     pressed would be -Z3.

 -@x Playlist file where x is a file name. Example: qv -@playlist.txt

     A playlist file is a plain text file that contains file names with
     parameters that MPEGone shall play one after another. The meaning
     of the parameters for each file in the playlist file is the same as
     described under Command Line Format. The playlist file must be a
     plain text file that you can write with any editor. It must not be
     a Word file or anything similar. Command line parameters that you
     give qv.exe at start are valid for the whole playlist file.
     Example: qv -R2 -@listfile.txt will use the 640x480 resolution with
     all videos in the playlist file. Parameters in a playlist file line
     are locally and only valid for the specified video. You can make one
     loop if you write the following in a separate line:
     :l
     It stands for label and defines the position where MPEGone shall
     return when it finds a
     :g
     This stands for goto label.
     Here is an example of a playlist file:

     :l
     -N -K0 video1.mpg
     -N -K0 video2.mpg
     :g

     This will play video1.mpg and video2.mpg without scaling in a
     never ending loop. Note: You can leave this loop only with Alt+X.

 -V  Don't use VESA. The player autodetects many graphics cards and uses
     VESA by default. The -V option tells the player to not use the VESA
     interface if installed, but if you want to use HiColor or TrueColor
     modes the VESA interface must be used. If your graphics card does not
     support VESA you can use a VESA TSR like Scitech Display Doctor (see
     below).

 -B  Don't autodetect chipset. This also disables the detection of video
     chips that are supported with hardware acceleration.

 -4  Don't use 320x240 mode. The player will use the 320x240 mode with 256
     colors, HiColor or TrueColor mode by default if it allows it to play
     the video full screen.

 -Wa,b,c,d,e Set sound card parameters
     a: card type:
        a=0: no sound card
        a=1: Sound Blaster or compatible and ESS
        a=2: Gravis UltraSound Classic or Max
        a=3: Windows Sound System
        a=4: enforce Sound Blaster Pro use (you can just use -W4 in this
             case, the other parameters will be taken from the BLASTER
             environment variable)
     b: port address, hexadecimal
     c: IRQ
     d: DMA (for the Sound Blaster 16 or higher: Low DMA channel)
     e: high DMA channel (only for the Sound Blaster 16 or higher)
     Example: "-W1,220,5,1" for Sound Blaster, Port 220h, IRQ 5, DMA 1
     For no sound card, use -W0
     Use the -W parameter only if really necessary, for example if the
     program crashes when it tries to autodetect a sound card. Please note
     that your system might crash if you use wrong parameters.

 -MMX  Don't use MMX enhancements

All parameters are case-insensitive.

filename can be a an MPEG file or a name that contains the wildcards *
and ?.

Example: MPEG -A -Q2 VIDEO.MPG


Problems with VideoCD and CD-i playback
---------------------------------------

Not all CD drives allow proper raw reading of CDs which is necessary for
VideoCD and CD-i playback. Using a different CD driver might help.

Reading of VideoCDs and CD-i doesn't always work properly under Windows.
For playback of VideoCDs under Windows access the videos as normal files
that are usually named AVSEQ01.DAT, AVSEQ02.DAT and so on.

On the other hand, most DOS CD drivers do not support reading of these
files under DOS. The directory is visible but the files itself cannot
be accessed. Use the -vcd command under DOS to play a VideoCD or CD-i.

Some CD drives spin down the motor too fast after reading. When new data
is required they take a few seconds until they are active again. This
results in playback pauses. If your CD driver allows to increase the spin
down time you should try this.


Commands While Viewing
======================

  Esc: Stop viewing
  + -: increase and decrease the sound volume respectively
  Space: Pause Viewing, space again: next frame, any other key: continue.
  t  : print current play time


Questions & Answers
===================

-Q: The sound doesn't work at all,
    The sound card isn't detected,
    Videos stop after the first frame,
    sound parts are repeated over and over again,
    the sound quality is poor
 A: Most of the time the reason for these problems are incorrect sound card
    settings in the BLASTER environment variable.
    There must be a command in your AUTOEXEC.BAT like this:
      SET BLASTER=Axxx Ix Dx Hx Pxxx Tx
    with
    A: Sound Blaster base I/O-port,
    I: IRQ,
    D: DMA low channel,
    H: DMA high channel (only required for SB16 or higher),
    P: MIDI port (not evaluated),
    T: Sound Blaster Type (not evaluated)

    Usual values are: A220, I5 or I7, D1, H5.
    If I5 does not work for you, try I7 and vice versa.

    For the original Sound Blaster there is a program called "DIAGNOSE.EXE"
    which programs the sound card configuration according to the values in
    the BLASTER variable. Use "DIAGNOSE /S" in your "AUTOEXEC.BAT".

    Under http://www.multimediaware.com/qv/sbdetect.zip there is a program
    that low level detects the Sound Blaster settings.

    For the Gravis UltraSound there must be the environment variable
    "ULTRASND".

    If your sound card is not detected properly, you can set the sound
    card parameter directly using the -W parameter.

-Q: The MPEG stops after the first frame.
 A: This usually indicates you set the wrong IRQ in the BLASTER environment
    variable.

-Q: Why is the video quality bad with some videos?
 A: This might be because you don't have a TrueColor or HiColor card or you
    don't have a VESA driver in your system. In the latter case you should
    use the VESA TSR for your graphics card or Scitech Display Doctor,
    available on many FTP-servers, BBSs, from Shareware distributors or on
    my WWW page. The VESA driver must conform at least to version 1.2 of
    the VESA standard. Versions prior to 1.2 of the VESA standard did not
    define TrueColor and HiColor modes.

-Q: The text screen is messed up after hardware scaling was used.
 A: Scaling doesn't work properly with your graphics card. Disable full
    screen playback using the -B parameter.

-Q: I get some lines on the graphics screen with my ATI Mach graphics card
    under Windows 95/98.
 A: Try M64VBE with parameter S.

-Q: I get a black or garbled screen when I start the player.
 A: Try starting the program with the parameter -B.

-Q: What do I have to do to make the player run under OS/2?
 A: You have to set the following definitions for the DOS session:
    INT_DURING_IO: ON
    IDLE_SENSIVITY: 100
    HW_TIMER: ON
    VIDEO_RETRACE_EMULATION: OFF
    Make sure the BLASTER or ULTRASND environment variable is set properly.
    The OS/2 Sound Blaster drivers seem to have a DMA handling problem in
    a DOS session which sometimes causes a lockup with sound output. Try to
    get an updated sound card driver. If that doesn't help, please either
    turn off sound or run the program under plain DOS.


How to contact the author
=========================

Please report all bugs and suggestions for improvements or enhancements.
If you report any problems please give a detailed description of the
problem, together with a list of the hardware you use and what player
version you use. The email address is:

  mpeg@multimediaware.com

If you don't get a reply within a week please send it again. Emails can
get lost.

Contact me if you are interested in video playback with your application.


Legal Stuff
===========

This program is copyrighted 1999-2001 by Wolfgang Hesseler, all rights
reserved.

This Software is provided "AS IS". The author makes no warranty of any kind
either expressed or implied. In particular the author makes no warranty as
to merchantability or fitness for a particular purpose or a particular
hardware configuration. Furthermore the author is not responsible for any
damages of any kind, including profit losses and data loss or other
incidental or consequential damages arising out of your use or inability
to use the program. The person using the software bears all risk as to the
quality and performance of the software.

All files belonging to the player contain proprietary information which are
protected by copyright. This includes reverse engineering, decompiling and
disassembling. No part may be altered or translated without the prior
written consent of the author. Any violation of the copyright will be
prosecuted.

The invalidity or unenforceability of any provision of this agreement will
not affect the validity or enforceability of any other provision of this
agreement.
