Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
MPEG_PLAY(1)		    General Commands Manual		  MPEG_PLAY(1)

       mpeg_play - plays mpeg-1	encoded	bitstreams using X11

       mpeg_play  [  -nob  ]  [	 -nop  ]  [ -display display_name ] [ -quality
       {on|off}	] [ -dither dither_option ] [ -loop ] [	-eachstat  ]  [	 -seek
       offset  ] [ -start num ]	[ -end num ] [ -gamma gamma_correction_value ]
       [ -framerate num	] [  -no_display  ]  [	-controls  {on|off|none}  ]  [
       -shmem_off  ]  [	 -l_range  num ] [ -cr_range num ] [ -cb_range num ] [
       -quiet ]	file_name

       mpeg_play decodes and displays mpeg-1  encoded  bitstreams  on  systems
       running	X11.   The  player  will create	a new window, display the bit-
       stream, and exit.  Any error messages or	notices	are sent to stderr.

       -nob : causes the player	to ignore and not display any B	frames.

       -nop : causes the player	to ignore and not display any P	and B frames.

       -display	display_name : causes the player to open  the  window  on  the
	      display display_name.

       -quality	 {on|off}  : forces player to choose output quality over speed
	      when on, and vice	versa when  off.   When	 quality  is  on,  the
	      player  uses  a computationally expensive	IDCT and also improves
	      playback through improved	handling of half pixel motion vectors.
	      The  default  can	be set to on if	you compile mpeg_play with the
	      flag -DQUALITY.

       -dither dither_option : selects from a variety of dither	 options.  The
	      possible values are:

	      ordered -	ordered	dither.

	      ordered2 - a faster ordered dither. This is the default.

	      mbordered	 - ordered dithering at	the macroblock level. Although
		     there is a	noticeable decrease in dither quality, this is
		     the fastest dither	available.

	      fs4 - Floyd-Steinberg dithering with 4 error values propagated.

	      fs2 - Floyd-Steinberg dithering with 2 error values propagated.

	      fs2fast  -  Fast	Floyd-Steinberg	 dithering with	2 error	values

	      hybrid - Hybrid dithering, a combination	of  ordered  dithering
		     for  the  luminance  channel  and Floyd-Steinberg 2 error
		     dithering for the chrominance channels.  Errors  are  NOT
		     propagated	 properly  and	are dropped all	together every
		     two pixels	in either direction.

	      hybrid2 -	Hybrid dithering as above, but with error  propagation
		     among pixels.

	      2x2  -  A	 dithering  technique  using a 2x2 pixel area for each
		     pixel. The	image displayed	is 4  times  larger  than  the
		     original  image  encoded. Random error terms are added to
		     each pixel	to break up contours and gradients.

	      gray - Grayscale dithering.  The	image  is  dithered  into  128
		     grayscales. Chrominance information is thrown away.

	      gray256  -  Grayscale  dithering.	The image is dithered into 256
		     grayscales	(requires private colormap).  Chrominance  in-
		     formation is thrown away.

	      color  -	Full  color display (only available on 16/24 bit color

	      color2 - Full color display with increased size (only  available
		     on	16/24 bit color	displays).

	      none - no	dithering is done, no image is displayed. Used to time
		     decoding process.

	      mono - Floyd-Steinberg dithering for monochrome displays.

	      threshold	- Floyd-simple dithering for monochrome	displays.

	      ppm - Write a PPM	file for each frame.

       -loop : makes the player	loop back to the beginning after reaching  the

       -owncm :	makes the player use a private colormap	for the	window.

       -step : requires	the user to press return for each new frame.

       -seek  offset  :	 before	playing	the movie, seek	to the given offset in
	      the file (useful for large movies).  In this case	-end is	 rede-
	      fined  to	 give  the number of frames to play, and -start	has no
	      meaning.	The offset should point	to a Sequence or (closed)  GOP
	      header, but data will be discarded until one is found.  The ini-
	      tial sequence header  will  be  parsed  before  the  seek.   The
	      skipped  sections	 must  not change the quantization matrices or
	      the results are undefined.

       -start num : Waits to start display until this frame  number  (previous
	      frames are parsed).

       -end  num  :  ends  display  at this frame number (except when -seek is

       -gamma gamma_correction_param : specifies the amount of	gamma  correc-
	      tion.   Default  is  1.0.	 Use higher values if movie looks dark
	      and hard to see.

       -framerate num :	sets the framerate of the playback to num  frames  per
	      second.  A value of 0 indicates that the stream should be	played
	      as fast as possible.  The	default	is to play at the rate	speci-
	      fied in the stream (if possible).	 Note this is merely a framer-
	      ate limiter, it will not discard frames to meet the rate.

       -controls {on|off|none} : determines the	initial	interactive X user in-
	      terface  control	bar  state  (if	available).  The value on (de-
	      fault) opens the control bar at initialization and enters	 pause
	      mode after displaying the	first frame.  The value	off leaves the
	      control bar initially hidden and begins playback without pausing
	      (similar	to  the	old behavior).	The control bar	can be toggled
	      on and off at any	time by	clicking in the	video display  window,
	      unless the -controls none	option is specified, in	which case the
	      control bar is unavailable and playback functions	as though  the
	      player  were built without interactive controls (exactly the old

       -quiet :	suppresses printing of frame numbers, timing information,  and
	      most error messages.

       -eachstat  :  causes  statistics	to be displayed	after each frame. Only
	      valid when compiled with -DANALYSIS.

       -shmem_off : turns shared memory	off.

       -l_range	num_colors : sets the number of	colors assigned	to  the	 lumi-
	      nance  component	when  dithering	 the  image.   The  product of
	      l_range, cr_range	and cb_range should be less than the number of
	      colors on	the display.

       -cr_range  num_colors  :	 sets the number of colors assigned to the red
	      component	of the chrominance range  when	dithering  the	image.
	      The  product  of	l_range,  cr_range and cb_range	should be less
	      than the number of colors	on the display.

       -cb_range num_colors : sets the number of colors	assigned to  the  blue
	      component	 of  the  chrominance  range when dithering the	image.
	      The product of l_range, cr_range and  cb_range  should  be  less
	      than the number of colors	on the display.

       -no_display  :  dithers,	but does not display, usually used for testing
	      and timing purposes.

       The player expects video	streams	only. It can handle  multiplexed  MPEG
       streams (video+audio streams) by	discarding the audio.

       Some  streams  do  not  end  with the proper sequence end code and will
       probably	generate an "Improper sequence	end  code."  error  when  done

       This  player  can play XING data	files. Be aware	that XING makes	no use
       of temporal redundancy or motion	vector information.  In	 other	words,
       they  do	not use	any P or B frames in their streams. Instead, XING data
       is simply a sequence of I frames. Since	I  frames  take	 significantly
       longer to decode, performance of	the player using XING data is not rep-
       resentative of the player's ability.

       The player does not play	MPEG-1 D-frame streams,	but they are a rarity.

       If the player is	compiled without the controlbar, then it can play mul-
       tiple streams in	different windows.

       This  is	version	2.1a, containing some new features since 2.0, and sev-
       eral bug	fixes.	It is a	major change since version 1.0.

       The only	known bug is that multiple mpeg_plays cannot seem  to  be  run
       simultaneously  on a multiprocessor SPARC 20 or a SparcCenter 2000E us-
       ing shared memory (in  particular:   "On	 a  bi-processor  Sparc	 20/20
       sparc-processor 2000E running Solaris 2.3 or 2.4, it is not possible to
       run two concurrent 'mpeg_play -loop' on the same	bitstream.  One	of the
       mpeg_play dies when it loops."  This may	be a problem with the X	shared
       memory library and not our code.)

       Ketan Patel -  University  of  California,  Berkeley,  kpatel@cs.berke-

       Brian  Smith  -	University  of	California, Berkeley, bsmith@cs.berke-

       Henry Chi-To Ma - University  of	 California,  Berkeley,	 cma@cs.berke-

       Kim Man Liu - University	of California, Berkeley,

       Steve Smoot - University	of California, Berkeley,

       Eugene  Hung  -	University  of	California, Berkeley, eyhung@cs.berke-

				  28 May 1995			  MPEG_PLAY(1)


Want to link to this manual page? Use this URL:

home | help