<html> <head> <title> Linux Video Stream Processing Tool</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="keywords" content="DVD, digital video, DV, encoder, divx, DivX;-), lame, source, posix, avifile, opendivx, codec, linux, AC3, program stream, video, audio, transcode, decoder, stream, YV12"> </head> <body bgcolor=#CDB5CD> <a name=top></a> <table cellspacing="10" cellpadding="0" border="0" width="100%"> <tr> <td align=left valign="top" width=30% bgcolor="#a0a0a0"> <table border="0" cellpadding="10" cellspacing="3" font size=+2 bgcolor="#ffffff" width=100%> <td align="left" bgcolor="#e9e9e9"> <FONT FACE="Lucida,Helvetica"> <font> Available filter plug-ins</font> </tr> <tr> <td> The order in which frames and plug-ins are processed with <i>transcode</i> 0.6.X is as follows. There are 7 (A-G) processing slots available. Slots A, D and G are reserved for internal use only. External user contributed plug-ins hook to slots B and C for pre-processing, or E and F for post-processing. At each of these slots, transcode calls all plug-ins given with option -J from left to right. A single plug-in can therefore run code in all 4 slots, if necessary. Only single-threaded slots B and F allow for frame processing in correct display order. The number of threads created to process the frames is controlled by the second option of "-u". <ul> <li>(A) pre-processing (internal, fixed order, video only, single-threaded)<br> Ex: --pre_clip (-j)<p> <li>(B) pre-processing (plug-ins, user defined order, single-threaded)<br> Flag set: TC_PRE_S_PROCESS<br> Ex: -J extsub, astat<br> <li>(C) pre-processing (plug-ins, user defined order, multi-threaded)<br> Flag set: TC_PRE_M_PROCESS<br> Ex: -J mask<p> <li>(D) main processing (internal, fixed order, multi-threaded)<br> Internal order: "-j -I -X -B -Z -Y -r -z -l -k -K -G -C" (executed from left to right)<p> <li>(E) post-processing (plug-ins, user defined order, multi-threaded)<br> Flag set: TC_POST_M_PROCESS<br> <li>(F) post-processing (plug-ins, user defined order, single-threaded)<br> Flag set: TC_POST_S_PROCESS<br> Ex: -J extsub=0:0:0:0:1,preview<p> <li>(G) post-processing (internal, fixed order, video only, single-threaded)<br> Ex: --post_clip (-Y)<br> </ul> <p> <ul> <li> <a href="#audio"> <FONT size=+2 FACE="Lucida,Helvetica"> audio</font></a><br> <li> <a href="#video"> <FONT size=+2 FACE="Lucida,Helvetica"> video</font></a><br> </ul> </td> </tr> </table> </table> <a name=audio></a> <table cellspacing="10" cellpadding="0" border="0" width="100%"> <tr> <td align=left valign="top" width=30% bgcolor="#a0a0a0"> <table border="0" cellpadding="10" cellspacing="3" font size=+2 bgcolor="#ffffff" width=100%> <td align="left" bgcolor="#e9e9e9"> <FONT FACE="Lucida,Helvetica"> <font>Audio:</font> </font> </tr> <tr> <td> <ul> <li><FONT color=red><b>filter_resample.so</b></font><br> native audio resampling filter, specify output sample rate with "-E".<br> This filter superseeds export module audio re-sampling capabilities. <br> <i>Usage:</i> -J resample<br> <p><p> <li><FONT color=red><b>filter_astat.so</b></font><br> prints a suggestion of the "-s" option parameter for volume rescaling (normalizing) on exit. Useful for 2-pass encoding.<br> <i>Usage:</i> -J astat<br> <i> [or]</i> -J astat=astat.log<br> <p><p> <li><FONT color=red><b>filter_aclip.so</b></font><br> a small audio plugin that skips audio frames below a certain noise level. This may be useful for DVD's with tracks that have the film music only but long pausing during dialogs. Furthermore, a keyframe flag is set at every cut. Write to an AVI-file container with "-g 0x0" and null import/export video modules. <br> <i>Usage:</i> -J aclip=a:b <br> <ul> <li> <i>a</i> noise shreshhold (10) <li> <i>b</i> is the number of frames (25) that need to be below this threshold before frames are dropped. </ul> <p><p> <li><FONT color=red><b>filter_normalize.so</b></font> (new in v0.6.0rc3)<img align="top" src="new.png"><br> Smart audio volume normalizer.<br> <i>Author:</i> Tilmann Bitterberg<br> <i>Usage:</i> -J normalize=<val><br> <ul> <li> Use -J normalize=help to get a comprehensive list of options. </ul> <p><p> </tr> </table> </table> <a name=video></a> <table cellspacing="10" cellpadding="0" border="0" width="100%"> <tr> <td align=left valign="top" width=30% bgcolor="#a0a0a0"> <table border="0" cellpadding="10" cellspacing="3" font size=+2 bgcolor="#ffffff" width=100%> <td align="left" bgcolor="#e9e9e9"> <FONT FACE="Lucida,Helvetica"> <font>Video:</font> </font> </tr> <tr> <td> <ul> <li><FONT color=red><b>filter_yuvdenoise.so</b></font> (new in v0.6.0rc4)<img align="top" src="new.png"><br> <i>Author:</i> Tilmann Bitterberg based on the original <i>mjpeg-tools</i> denoiser code by Stefan Fendt <stefan@lionfish.ping.de>.<br> <i>Usage:</i> -J yuvdenoise=<val><br> <ul> <li> Use -J yuvdenoise=help to get a comprehensive list of options. </ul>This filter can remove noise from your typical video recordings to increase the compression-ratio to be achieved by subsequent encoders. <br> <p><p> <li><FONT color=red><b>filter_logo.so</b></font> (new in v0.6.0pre5)<img align="top" src="new.png"><br> <i>Author:</i> Tilmann Bitterberg<br> <i>Usage:</i> -J logo=<val><br> <ul> <li> Use -J logo=help to get a comprehensive list of options. </ul> Add external pictures to your movie. This filter needs <i>ImageMagick</i> installed. <br> <p><p> <li><FONT color=red><b>filter_32drop.so</b></font> (new in v0.6.0pre5)<img align="top" src="new.png"><br> <i>Author:</i> Chad Page<br> <i>Usage:</i> -J 32drop<br> 32drop (no options) is like 32detect but drops frames and maintains an internal frame counter so that if interlaced frames are irregular the video will not fall out of sync more than 1 or 2 frames. <p><p> <li><FONT color=red><b>filter_32detect.so</b></font> (updated in v0.6.0rc1)<img align="top" src="new.png"><br> tries to detect interlaced frames for selected de-interlacing to avoid to process the entire movie and degrade quality otherwise<br> <i>Usage:</i> -J 32detect=<options><br> <ul> <li> 'threshold' interlace detection threshold [10] <li> 'equal' threshold for equal colors [10] <li> 'diff' threshold for different colors [30] <li> 'force_mode' set internal force de-interlace flag with mode -I N [0] <br>(currently only 1 and 3 are supported) <li> 'verbose' show results [off] </ul> Example: transcode [...] -J 32detect=diff=30:force_mode=3 <p><p> <li><FONT color=red><b>filter_mask.so</b></font> (new in v0.6.0pre5)<img align="top" src="new.png"><br> <i>Author:</i> Chad Page <br> <i>Usage:</i> -J mask=left:right:bottom:top<br> (mask=left:right:bottom:top, sorry that's not in the right order yet) is YUV only for now, and sets Y in the masked areas to 0 so that you can crop out unstable captured areas from VHS tape and make 32drop work better. <p><p> <li><FONT color=red><b>filter_cshift.so</b></font> (new in v0.6.0pre5)<img align="top" src="new.png"><br> <i>Author:</i> Chad Page <br> <i>Usage:</i> -J cshift=#<br> chroma shifter (cshift=#) is another YUV-only filter shifts the chroma values by #, so that if your NTSC vhs cap has lagged colors (noticable here in animation) you can partially correct it. I have found that black line areas maintain color information. <p><p> <li><FONT color=red><b>filter_xsharpen.so</b></font> (new in v0.6.0pre4)<img align="top" src="new.png"><br> <i>Author:</i> Tilmann Bitterberg<br> <i>Usage:</i> -J xsharpen=<val><br> <ul> <li> Use -J xsharpen=help to get a list of options. <li> Not so much sharpening: -J xsharpen=strength=100 </ul> Change the contrast of the video frame. This filter has been ported from VirtualDub by Tilmann Bitterberg. Operates in RGB space only.<br> <p><p> <li><FONT color=red><b>filter_smartdeinter.so</b></font> (new in v0.6.0pre4)<img align="top" src="new.png"><br> <i>Author:</i> Tilmann Bitterberg<br> <i>Usage:</i> -J smartdeinter=<list><br> <ul> <li> Use -J smartdeinter=help to get a list of <a href=Smart.html>options</a>. <li> Full smart deinterlacing:<br> -J smartdeinter=diffmode=2:highq=1:cubic=1 <li> Black out static areas to see what is considered moving:<br> -J smartdeinter=motionOnly=1:threshold=12 </ul> This filter provides a smart, motion-based deinterlacing capability. Ported from VirtualDub by Tilmann Bitterberg. Operates in RGB space only.<br> Tilmann did some testing of deinterlace filters available in transcode. You can view and read the result <a href=http://tibit.org/video/> here</a>. <p><p> <li><FONT color=red><b>filter_cut.so</b></font><br> select a set of frames for encoding.<br> <i>Usage:</i> -J cut=<list><br> <ul> <li> A list is a space separated string of frame intervals, e.g., -J cut="10-12 40-50", that will be encoded. All other frames are dropped along with audio. </ul> <p><p> <li><FONT color=red><b>filter_skip.so</b></font><br> skip a set of frames for encoding.<br> <i>Usage:</i> -J skip=<list><br> <ul> <li> A list is a space separated string of frame intervals, e.g., -J skip="10-12 40-50", that will not be encoded. The frames are dropped along with audio. </ul> <p><p> <li><FONT color=red><b>filter_pp.so</b></font><br> <i>Author:</i> Gerhard Monzel<br> <i>Usage:</i> -J pp=<ID><br> <ul> <li> See MPlayer manpage for more information on available features and id-strings. <li> ID=lb is a fast and good quality de-interlace filter. </ul> interface to MPlayer libpostproc routines provided by Gerhard Monzel.<br> <p><p> <li><FONT color=red><b>filter_ppcvs.so</b></font><br> <i>Author:</i>Gerhard Monzel, Tilmann Bitterberg<br> <i>Usage:</i> -J ppcvs=<ID><br> <ul> <li> See MPlayer manpage for more information on available features and id-strings. <li> ID=lb is a fast and good quality de-interlace filter. </ul> interface to MPlayer (CVS) libpostproc routines provided by Tilmann Bitterberg based on original work by Gerhard Monzel.<br> <p><p> <li><FONT color=red><b>filter_dnr.so</b></font><br> <i>Author:</i> Gerhard Monzel<br> <i>Usage:</i> -J dnr=<options><br> <ul> <li> More infos (in german), c.f. /docs directory. </ul> dynamic noise reduction filter plugin by Gerhard Monzel.<br> <p><p> <li><FONT color=red><b>filter_dilyuvmmx.so</b></font><br> another de-interlace filter for YUV mode with MMX optimizations. <p><p> <li><FONT color=red><b>filter_preview.so</b></font><br> opens a preview window of the video frame before encoding.<br> <i>Usage:</i> -J preview=string<br> <ul> <li> string=xv make use of the XV extension, if available. Use this with "-V" (default). <li> string=sdl uses the SDL library. <li> string=gtk uses GTK and works only for RGB. </ul> Note: The "xv" preview window can be closed safely by pressing "q". <p><p> <li><FONT color=red><b>filter_subtitler.so</b></font><br> <i>Author:</i> Jan Panteltje<br> <i>Usage:</i> -J preview=<options><br> <ul> <li> Visit <a href="http://www.home.zonnet.nl/panteltje/subtitles/">Panteltje's subtitle software page</a> for more information. </ul> A powerful custom subtitle plugin written by Jan Panteltje.<br> <p><p> <li><FONT color=red><b>filter_extsub.so</b></font><br> adds DVD subtitles to your video frame.<br> <i>Usage:</i> -J extsub="s:h:t:f:w:a:b:p:q" with:<br> <ul> <li> s subtitle track id [0-31] <li> h offset of subtitle with bottom of frame <li> t global display start time correction in msec <li> f fast rendering (no anti-aliasing) (0=off, 1=on) <li> w switch to post-processing (0=off, 1=on) <li> a graylevel value a [0-255] <li> b graylevel value b [0-255] <li> p assign subtitle color p [0-3] to graylevel value a <li> q assign subtitle color q [0-3] to graylevel value b </ul> <br> Subtitle color 0 is treated as transparent. Default is -J extsub=0:0:0:0:0:0 with p and q auto-detected. <a href=subtitles.html#extsub>Examples</a>. <p><p> <li><FONT color=red><b>filter_divxkey.so</b></font><br> tries to detect divx codec key (intra) frames in pass-through mode and sets attribute and key-frame flag in AVI-file. <br> <i>Usage:</i> -J divxkey <p><p> <li><FONT color=red><b> filter_testframe.so </b></font> <br> generates testframes for debugging and quality control.<br> <i>Usage:</i> -J testframe=N<br> <ul> <li> N=0 generates a video frame alternating black and white rows (default). <li> N=1 generates a video frame alternating black and white columns. </ul> <p><p> <li><FONT color=red><b>filter_null.so</b></font><br> filter plugin template for developers - does nothing. <br><i>Usage:</i> -J null<br> <p><p> <li><FONT color=red><b>filter_yuy2toyv12.so</b></font><br> currently unused. <p><p> </tr> </table> </table> <!-- hhmts start --> Last modified: Mon Sep 16 10:32:50 Europe/Berlin 2002 <!-- hhmts end --> </body> </html>