Subversion Repositories shark

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 pj 1
.\" @(#)mpeg_play.1 2.1a 93/01/27 SMI;
2
.TH MPEG_PLAY 1 "28 May 1995"
3
.SH NAME
4
mpeg_play \- plays mpeg-1 encoded bitstreams using X11
5
.SH SYNOPSIS
6
.B mpeg_play
7
[
8
.B -nob
9
] [
10
.B -nop
11
] [
12
.B -display display_name
13
] [
14
.B -quality {on|off}
15
] [
16
.B -dither dither_option
17
] [
18
.B -loop
19
] [
20
.B -eachstat
21
] [
22
.B -seek offset
23
] [
24
.B -start num
25
] [
26
.B -end num
27
] [
28
.B -gamma gamma_correction_value
29
] [
30
.B -framerate num
31
] [
32
.B -no_display
33
] [
34
.B -controls {on|off|none}
35
] [
36
.B -shmem_off
37
] [
38
.B -l_range num
39
] [
40
.B -cr_range num
41
] [
42
.B -cb_range num
43
] [
44
.B -quiet
45
]
46
.B file_name
47
.SH DESCRIPTION
48
.B mpeg_play
49
decodes and displays mpeg-1 encoded bitstreams on systems running X11.
50
The player will create a new window, display the bitstream, and exit.
51
Any error messages or notices are sent to stderr.
52
.SH OPTIONS
53
.HP
54
.B -nob
55
: causes the player to ignore and not display any B frames.
56
.HP
57
.B -nop
58
: causes the player to ignore and not display any P and B frames.
59
.HP
60
.B -display display_name
61
: causes the player to open the window on the display \fIdisplay_name\fP.
62
.HP
63
.B -quality {on|off}
64
: forces player to choose output quality over speed when on, and vice versa
65
when off.  When quality is on, the player uses a computationally expensive
66
IDCT and also improves playback through improved handling of half pixel
67
motion vectors.  The default can be set to on if you compile mpeg_play
68
with the flag -DQUALITY.
69
.HP
70
.B -dither dither_option
71
: selects from a variety of dither options. The possible values are:
72
.RS
73
.HP
74
ordered - ordered dither.
75
.HP
76
ordered2 - a faster ordered dither. This is the default.
77
.HP
78
mbordered - ordered dithering at the macroblock level. Although there
79
is a noticeable decrease in dither quality, this is the fastest dither
80
available.
81
.HP
82
fs4 - Floyd-Steinberg dithering with 4 error values propagated.
83
.HP
84
fs2 - Floyd-Steinberg dithering with 2 error values propagated.
85
.HP
86
fs2fast - Fast Floyd-Steinberg dithering with 2 error values propagated.
87
.HP
88
hybrid - Hybrid dithering, a combination of ordered dithering for the luminance
89
channel and Floyd-Steinberg 2 error dithering for the chrominance channels. Errors
90
are NOT propagated properly and are dropped all together every two pixels in either
91
direction.
92
.HP
93
hybrid2 - Hybrid dithering as above, but with error propagation among pixels.
94
.HP
95
2x2 - A dithering technique using a 2x2 pixel area for each pixel. The image displayed
96
is 4 times larger than the original image encoded. Random error terms are added to
97
each pixel to break up contours and gradients.
98
.HP
99
gray - Grayscale dithering. The image is dithered into 128 grayscales. Chrominance
100
information is thrown away.
101
.HP
102
gray256 - Grayscale dithering. The image is dithered into 256 grayscales
103
(requires private colormap). Chrominance information is thrown away.
104
.HP
105
color - Full color display (only available on 16/24 bit color displays).
106
.HP
107
color2 - Full color display with increased size (only available on 16/24
108
bit color displays).
109
.HP
110
none - no dithering is done, no image is displayed. Used to time decoding process.
111
.HP
112
mono - Floyd-Steinberg dithering for monochrome displays.
113
.HP
114
threshold - Floyd-simple dithering for monochrome displays.
115
.HP
116
ppm - Write a PPM file for each frame.
117
.RE
118
.HP
119
.B -loop
120
: makes the player loop back to the beginning after reaching the end.
121
.HP
122
.B -owncm
123
: makes the player use a private colormap for the window.
124
.HP
125
.B -step
126
: requires the user to press return for each new frame.
127
.HP
128
.B -seek offset
129
: before playing the movie, seek to the given offset in the file (useful
130
for large movies).  In this case -end is redefined to give the number of
131
frames to play, and -start has no meaning.  The offset should point to a
132
Sequence or (closed) GOP header, but data will be discarded until one is
133
found.
134
The initial sequence header will be parsed before the seek.  The skipped
135
sections must not change the quantization matrices or the results are
136
undefined.
137
.HP
138
.B -start num
139
: Waits to start display until this frame number (previous frames are
140
parsed).
141
.HP
142
.B -end num
143
: ends display at this frame number (except when -seek is used).
144
.HP
145
.B -gamma gamma_correction_param
146
: specifies the amount of gamma correction.  Default is 1.0.  Use higher
147
values if movie looks dark and hard to see.
148
.HP
149
.B -framerate num
150
: sets the framerate of the playback to num frames per second.  A value of
151
 
152
default is to play at the rate specified in the stream (if possible).  Note
153
this is merely a framerate limiter, it will not discard frames to meet the
154
rate.
155
.HP
156
.B -controls {on|off|none}
157
: determines the initial interactive X user interface control bar
158
state (if available).  The value on (default) opens the control bar at
159
initialization and enters pause mode after displaying the first frame.
160
The value off leaves the control bar initially hidden and begins
161
playback without pausing (similar to the old behavior).  The control bar
162
can be toggled on and off
163
at any time by clicking in the video display window, unless the
164
-controls none option is specified, in which case the control bar is
165
unavailable and playback functions as though the player were built
166
without interactive controls (exactly the old behavior).
167
.HP
168
.B -quiet
169
: suppresses printing of frame numbers, timing information, and most error
170
messages.
171
.HP
172
.B -eachstat
173
: causes statistics to be displayed after each frame. Only valid when
174
compiled with -DANALYSIS.
175
.HP
176
.B -shmem_off
177
: turns shared memory off.
178
.HP
179
.B -l_range num_colors
180
: sets the number of colors assigned to the luminance component when
181
dithering the image.  The product of l_range, cr_range and cb_range
182
should be less than the number of colors on the display.
183
.HP
184
.B -cr_range num_colors
185
: sets the number of colors assigned to the red component of the
186
chrominance range when dithering the image.  The product of l_range,
187
cr_range and cb_range should be less than the number of colors on the
188
display.
189
.HP
190
.B -cb_range num_colors
191
: sets the number of colors assigned to the blue component of the
192
chrominance range when dithering the image.  The product of l_range,
193
cr_range and cb_range should be less than the number of colors on the
194
display.
195
.HP
196
.B -no_display
197
: dithers, but does not display, usually used for testing and timing
198
purposes.
199
.SH NOTES
200
The player expects video streams only. It can handle multiplexed MPEG streams
201
(video+audio streams) by discarding the audio.
202
.LP
203
Some streams do not end with the proper sequence end code and will probably generate
204
an "Improper sequence end code." error when done playing.
205
.LP
206
This player can play XING data files. Be aware that XING makes no use of temporal
207
redundancy or motion vector information. In other words, they do not use any P or
208
B frames in their streams. Instead, XING data is simply a sequence of I frames. Since
209
I frames take significantly longer to decode, performance of the player using XING
210
data is not representative of the player's ability.
211
.LP
212
The player does not play MPEG-1 D-frame streams, but they are a rarity.
213
.LP
214
If the player is compiled without the controlbar, then it can play
215
multiple streams in different windows.
216
.SH VERSION
217
This is version 2.1a, containing some new features since 2.0, and several bug
218
fixes.  It is a major change since version 1.0.
219
.SH BUGS
220
The only known bug is that multiple mpeg_plays cannot seem to be run
221
simultaneously on a multiprocessor SPARC 20 or a SparcCenter 2000E using
222
shared memory
223
(in particular:  "On a bi-processor Sparc 20/20 sparc-processor 2000E running
224
Solaris 2.3 or 2.4, it is not possible to run two concurrent 'mpeg_play -loop'
225
on the same bitstream.  One of the mpeg_play dies when it loops."  This
226
may be a problem with the X shared memory library and not our code.)
227
.SH AUTHORS
228
.HP
229
Ketan Patel - University of California, Berkeley, kpatel@cs.berkeley.edu
230
.HP
231
Brian Smith - University of California, Berkeley, bsmith@cs.berkeley.edu
232
.HP
233
Henry Chi-To Ma - University of California, Berkeley, cma@cs.berkeley.edu
234
.HP
235
Kim Man Liu - University of California, Berkeley, kliu@cs.berkeley.edu
236
.HP
237
Steve Smoot - University of California, Berkeley, smoot@cs.berkeley.edu
238
.HP
239
Eugene Hung - University of California, Berkeley, eyhung@cs.berkeley.edu
240