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

FreeBSD Manual Pages

  
 
  

home | help
y4mtopnm(1)		      MJPEG tools manual		   y4mtopnm(1)

NAME
       y4mtopnm	- Convert a YUV4MPEG2 stream to	PNM images

SYNOPSIS
       y4mtopnm	[options]

DESCRIPTION
       y4mtopnm	 converts  a YUV4MPEG2 stream into a sequence of raw PPM, PGM,
       or PAM images.  (Technically, "pnm" comprises the PPM, PGM and PBM for-
       mats.  PAM is a fourth format, which can	effectively contain any	of the
       other three, and	more.)

       Output is to stdout (but	feel free to have  the	shell  redirect	 to  a
       file).

       Input  is  read from stdin, like	all other YUV4MPEG2 filters and	tools.
       YUV4MPEG2 streams contain frames	using  the  Y'CbCr  colorspace	(ITU-R
       BT.601).	  For  4:4:4 (color) streams, y4mtopnm will convert each pixel
       to the usual R'G'B' colorspace used for computer	graphics, and  produce
       PPM images.  "MONO" (luma-only) streams will be converted to full-range
       [0,255] grayscale and output as PGM images.

       YUV4MPEG2  streams  may	(often!)  have	subsampled  chroma planes, but
       y4mtopnm	will not process them (except in the special  'flatten'	 mode;
       see  below).  Subsampled	streams	will need to be	converted to 4:4:4 us-
       ing a tool such as y4mscaler.

       If y4mtopnm is given a "444ALPHA" stream	(4:4:4 video with an 8-bit al-
       pha channel), the results depend	on whether or not the "-P"  option  is
       specified.   With  "-P",	 it will produce PAM images with a TUPLTYPE of
       RGB_ALPHA, containing both color	and alpha channel data.	 Without "-P",
       it will produce pairs of	PPM and	PGM images: a PPM for the color	pixels
       followed	by a PGM for the alpha channel data.  (Such a sequence of  in-
       terspersed PPM and PGM images cannot be later re-processed by pnmtoy4m.
       This feature is mostly for quick	and easy stream	debugging.)

       If multiple output images are generated,	they are simply	output one af-
       ter another.  If	you want to turn such a	"multi-image" stream/file into
       individual  files,  use pnmsplit.  (Some	PNM filters can	process	multi-
       image files/streams; however, many written before June 2000  will  only
       process the first image.)

       y4mtopnm	 and  pnmtoy4m	are  inverses of each other; you can typically
       pipe the	output of one into the other, and vice-versa (except  for  the
       "444ALPHA"  case	 noted	above  and the "mixed-mode" case noted below).
       Note that the colorspace	operations can be  lossy  in  both  directions
       (due  to	 range-compression and/or quantization).  And, when converting
       to PNM, information on interlacing and sample aspect ratio of a	stream
       is  lost	 (but can be reconstructed by supplying	command-line arguments
       to pnmtoy4m).

OPTIONS
       y4mtopnm	accepts	the following options:

       -P   Produce PAM	format output, instead of PPM and/or PGM.  PAM can en-
	    code a superset of PNM, but	is  not	 yet  understood  by  as  many
	    graphics  programs.	 (Indeed, surprisingly few of the NetPBM tools
	    seem to understand it.)

       -D   Produce a separate output image for	 each  field  of  each	frame.
	    (Otherwise,	 a  single image per frame, containing two interleaved
	    fields, is created.)

	    If the input stream	is interlaced, the field-images	are output  in
	    temporal  order,  i.e.  the	 first	image  of a bottom-field-first
	    stream will	be the bottom-field.  If the stream is progressive  or
	    has	 "mixed-mode"  interlacing, then the temporal order is ambigu-
	    ous, and the top-field will	always be output first.

	    Note that it will not be possible to later use pnmtoy4m to	recon-
	    struct a "mixed-mode" stream from a	sequence of PNM/PAM images.

       -f   Produce  a	special	 'flattened' output, most useful for analyzing
	    and	debugging streams.  All	the planes of a	frame/field are	 tiled
	    together  into  an enlarged	PGM (or	grayscale PAM) output image as
	    follows:
			   +-----+		      +-----+
		   4:4:4   |  Y	 |    4:4:4 w/alpha   |	 Y  |
			   +-----+		      +-----+
			   |  Cb |		      |	 Cb |
			   +-----+		      +-----+
			   |  Cr |		      |	 Cr |
			   +-----+		      +-----+
						      |	 A  |
			   +-----+		      +-----+
		   4:2:2,  |  Y	 |
		   4:2:0   +--+--+		      +-----+--+--+
			   |Cb|Cr|	      4:1:1   |	 Y  |Cb|Cr|
			   +--+--+		      +-----+--+--+
					+-----+
				 MONO	|  Y  |
					+-----+
	    In this mode, any YUV4MPEG2	chroma format is accepted, but no  up-
	    sampling  or  colorspace  conversion is performed.	This is	essen-
	    tially just	a reformatting/permutation of the original  data  from
	    the	 input	stream into a PGM image	container.  All	the other com-
	    mand-line flags continue to	have the same effect on	output.

       -v [0,1,2]
	    Set	verbosity level.
	     0 = warnings and errors only.
	     1 = add informative messages, too.
	     2 = add chatty debugging message, too.

EXAMPLES
       To turn the first 15 frames of an (MJPEG	or DV) AVI file	into  individ-
       ual PPM files:

	    lav2yuv  -f	 15  your-video.avi  |	y4mscaler  -O  chromass=444  |
	    y4mtopnm | pnmsplit	- "your-video-%d.ppm"

AUTHOR
       This manual page	was written by Matt Marjanovic.
       If you have questions, remarks, problems	or you just  want  to  contact
       the developers, the main	mailing	list for the MJPEG-tools is:
	 mjpeg-users@lists.sourceforge.net

       For more	info, see our website at
	      http://mjpeg.sourceforge.net/

SEE ALSO
       pam(5),	  pgm(5),    pnm(5),   ppm(5),	 pnmtoy4m(1),	mjpegtools(1),
       mpeg2enc(1), lav2yuv(1),	pnmsplit(1), y4mscaler(1)

MJPEG Tools Team		 28 April 2004			   y4mtopnm(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=y4mtopnm&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>

home | help