Rev 2 | Details | Compare with Previous | 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 |