.TH mpeg_play "" "" "X Application"
.PC "Play MPEG-1\(emencoded bitstreams under X11"
.fi
\fBmpeg_play
[\-nob]
[\-nop]
[\-dither \fIdither_option\^\fB] 
[\-loop]
[\-eachstat]
\fIfile_name\fR
.PP
.B mpeg_play
decodes and displays MPEG-1\(emencoded bitstreams under X11.
The player creates a new window, displays the bitstream, and exits.
It writes all error messages or notices to the standard error.
.PP
.B mpeg_play
does not use the Xt toolkit, so it does not recognize the standard
Xt command-line options.
It does, however, recognize the following options:
.IP \fB\-nob\fR
Ignore and do not display all B frames.
.IP \fB\-nop\fR 
Ignore and do not display all P frames.
.IP "\fB\-dither \fIdither_option\fR"
Select a dithering option.
.I dither_option
can be one of the following:
.RS
.IP \fBordered\fR
Ordered dither.
This is the default.
.IS \fBfs4\fR
Floyd-Steinberg dithering, with four error values propagated.
.IS \fBfs2\fR
Floyd-Steinberg dithering, with two error values propagated.
.IS \fBfs2fast\fR
Fast Floyd-Steinberg dithering, with two error values propogated.
.IS \fBhybrid\fR
Hybrid dithering, a combination of ordered dithering for the luminance
channel and Floyd-Steinberg\(em2 error dithering for the chrominance channels.
Errors are
.I not
propagated properly and are dropped altogether every two pixels in either
direction.
.IS \fBhybrid2\fR
Hybrid dithering as above, but with error propogation among pixels.
.IS \fB2x2\fR
A dithering technique using a 2x2 pixel area for each pixel.
The image displayed is four times larger than the original image encoded.
Random error terms are added to each pixel to break up contours and gradients.
.IS \fBgray\fR
Grayscale dithering.
The image is dithered into 128 grayscales.
Chrominance information is thrown away.
.IS \fBcolor\fR
Full-color display.
This is available only on 24-bit color displays.
.IS \fBnone\fR
Perform no dithering, do not display an image.
This option is used to time the process of decoding.
.IS \fBmono\fR
Floyd-Steinberg dithering for monochrome displays.
.IS \fBthreshold\fR
Floyd simple dithering for monochrome displays.
.RE
.IP \fB\-loop\fR
Upon reaching the end, loop back to the beginning.
.IP \fB\-eachstat\fR
Display statistics after each frame.
This option is valid only when the program is compiled with the option
.BR \-DANALYSIS. .
.IP \fB-shmem_off\fR
Turn off shared memory.
.SH "See Also"
.B
X applications,
xanim,
xgrasp
.R
.SH notes
.B mpeg_play
expects only MPEG-1 video streams.
It can not handle multiplexed MPEG streams or video-plus-audio streams.
It uses the ``paris'' entropy coding table set
(which we believe to be the MPEG-1 standard),
but cannot handle any bitstream that uses
the ``berlin'' entropy coding table set.
Berlin data are relatively rare, so this should not be much of a problem;
but be aware of the difference when looking for streams to play.
.PP
Most streams do not end with the proper sequence-end code,
and will probably generate an ``Unexpected EOF'' error when done playing.
.PP
This player can play XING data files.
Please note that XING does not use temporal redundancy or motion-vector
information.
In other words, it does not use any P or B frames in its streams;
instead, XING data are simply a sequence of I frames.
Because I frames take significantly longer to decode,
the player's performance with XING data does not represent its true ability.
.PP
For details on the standards this program supports and the machine it runs
under, see the file
.B README
that is included with the source code to this program.
.PP
.II "Patel, Ketan"
.II "Smith, Brian"
.II "Chi-To Ma, Henry"
.II "Kim Man Liu"
.B mpeg_play
was written by Ketan Patel (kpatel@cs.berkeley.edu),
Brian Smith (bsmith@cs.berkeley.edu),
Henry Chi-To Ma (cma@cs.berkeley.edu), and
Kim Man Liu (kliu@cs.berkeley.edu),
all of the University of California, Berkeley.
.PP
Copyright \(co 1992 The Regents of the University of California.
All rights reserved.
.PP
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose, without fee, and without written agreement is
hereby granted, provided that the above copyright notice and the following
two paragraphs appear in all copies of this software.
.PP 
In no event shall the University of California be liable to any party for
direct, indirect, special, incidental, or consequential damages arising out
of the use of this software and its documentation, even if the University of
California has been advised of the possibility of such damage.
.PP
The University of California specifically disclaims any warranties,
including, but not limited to, the implied warranties of merchantability
and fitness for a particular purpose.
The software provided hereunder is
on an ``as is'' basis, and the University of California has no obligation to
provide maintenance, support, updates, enhancements, or modifications.
