Changes between Version 32 and Version 33 of FilteringGuide


Ignore:
Timestamp:
Aug 6, 2013, 3:23:51 AM (3 years ago)
Author:
llogan
Comment:

update filter list, fix formatting nits, add some links

Legend:

Unmodified
Added
Removed
Modified
  • FilteringGuide

    v32 v33  
    11= FFmpeg Filtering Guide = 
    22 
    3 FFmpeg has access to many filters and more are added on a regular basis. To see what filters are available with your build see ''ffmpeg -filters''.  
     3FFmpeg has access to many filters and more are added on a regular basis. To see what filters are available with your build see `ffmpeg -filters`.  
    44 
    55== Documentation == 
    66 
    7 Refer to the [http://ffmpeg.org/ffmpeg-filters.html FFmpeg documentation] for each filters' documentation and examples. This wiki page is for user contributed examples and tips.  
    8  
    9 Contributions to this page are encouraged. 
     7Refer to the [http://ffmpeg.org/ffmpeg-filters.html FFmpeg filters documentation] for more information and examples for each filter. This wiki page is for user contributed examples and tips, and contributions to this page are encouraged. 
    108 
    119== Examples == 
     
    1614ffmpeg -i input -vf scale=iw/2:-1 output 
    1715}}} 
    18 ''iw'' is input width. In this example the input width is 640. 640/2 = 320. The ''-1'' tells the scale filter to preserve the aspect ratio of the output, so in this example the scale filter will choose a value of 240. See the [http://ffmpeg.org/ffmpeg-filters.html#scale FFmpeg documentation] for additional information. 
     16`iw` is input width. In this example the input width is 640. 640/2 = 320. The `-1` tells the scale filter to preserve the aspect ratio of the output, so in this example the scale filter will choose a value of 240. See the [http://ffmpeg.org/ffmpeg-filters.html#scale FFmpeg documentation] for additional information. 
    1917 
    2018=== Speed up your video === 
    2119 
    22 See [[How to speed up / slow down a video]] for syntax (the setpts filter)/time lapse etc. 
     20See [[How to speed up / slow down a video]] for examples. 
    2321 
    2422=== Filtergraph,Chain,Filter relationship === 
    25 What follows the -vf in an ffmpeg command line is a Filtergraph description. This filtergraph may contain a number of chains, each of which may contain a number of filters. 
     23What follows the `-vf` in an ffmpeg command line is a [http://ffmpeg.org/ffmpeg-filters.html#Filtergraph-description filtergraph] description. This filtergraph may contain a number of chains, each of which may contain a number of filters. 
    2624 
    2725Whilst a full filtergraph description can be complicated, it is possible to simplify it for simpler graphs provided ambiguity is avoided. 
     
    2927Remembering that filters in a chain are separated by commas "," chains by a semicolon ";" and that if an input or output is not specified it is assumed to come from the preceding or sent to the following item in the chain. 
    3028 
    31 The following are equivalent:- 
     29The following are equivalent: 
    3230{{{ 
    3331ffmpeg -i input -vf [in]scale=iw/2:-1[out] output 
     
    3533}}} 
    3634 
    37 As are:- 
     35As are: 
    3836{{{ 
    3937ffmpeg -i input -vf [in]yadif=0:0:0[middle];[middle]scale=iw/2:-1[out] output # 2 chains form, one filter per chain, chains linked by the [middle] pad 
     
    4341 
    4442=== multiple input overlay in 2x2 grid === 
    45 Here four inputs are filtered together using the -filter_complex option. In this case all of the inputs are "-f lavfi -i testsrc" but could be other inputs. Within the filtergraph the first input is padded to the right and bottom by double its height and the other three inputs are individually filtered using hflip, negate, and edgedetect. The overlay filter is then used multiple times to arrange of latter three inputs on top of the first one. The offsets used in the overlay filter arrange the inputs into a grid shape. 
     43Here four inputs are filtered together using the `-filter_complex` option. In this case all of the inputs are `-f lavfi -i testsrc` but could be other inputs. Within the filtergraph the first input is padded to the right and bottom by double its height and the other three inputs are individually filtered using [http://ffmpeg.org/ffmpeg-filters.html#hflip hflip], [http://ffmpeg.org/ffmpeg-filters.html#negate negate], and [http://ffmpeg.org/ffmpeg-filters.html#edgedetect edgedetect]. The [http://ffmpeg.org/ffmpeg-filters.html#overlay-1 overlay] video filter is then used multiple times to arrange of latter three inputs on top of the first one. The offsets used in the overlay filter arrange the inputs into a grid shape. 
    4644 
    4745[[Image(multiple_input_overlay.jpg)]] 
     
    5149 
    5250=== Escaping characters === 
    53 As described in the documentation, it can be necessary to escape commas "," that need to appear in some arguments, for example the select filter:- 
     51As described in the documentation, it can be necessary to escape commas "," that need to appear in some arguments, for example the select filter: 
    5452{{{ 
    5553ffmpeg -i input -vf select='eq(pict_type\,PICT_TYPE_I)' output                         #to select only I frames 
     
    6159ffmpeg -i input -vf "yadif=0:-1:0, scale=iw/2:-1" output                     # deinterlace then resize 
    6260}}} 
    63 Note that the examples given in the documentation mix and match the use of "full quoting" and "\" escaping, and that use of unusual shells may upset escaping. 
     61Note that the examples given in the documentation mix and match the use of "full quoting" and "\" escaping, and that use of unusual shells may upset escaping. See [http://ffmpeg.org/ffmpeg-filters.html#Notes-on-filtergraph-escaping Notes on filtergraph escaping] for more information. 
     62 
    6463=== Burnt in Timecode === 
    65 PAL 25fps non drop frame 
     64Using the [http://ffmpeg.org/ffmpeg-filters.html#drawtext-1 drawtext] video filter. 
     65 
     66PAL 25 fps non drop frame: 
    6667{{{ 
    6768ffmpeg -i in.mp4 -vf "drawtext=fontfile=/usr/share/fonts/truetype/DroidSans.ttf: timecode='09\:57\:00\:00': r=25: \ 
    6869x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000000@1" -an -y out.mp4 
    6970}}} 
    70 NTSC 30fps drop frame 
     71NTSC 30 fps drop frame 
    7172{{{ 
    7273(change the : to a ; before the frame count)_________________________________________________________ 
     
    106107 
    107108=== List of Filters === 
    108 Filters bundled with libavfilter as of 3.56.101 (as configured with `--enable-gpl`). Filters relying on external libraries, such as frei0r, are not listed here.  remember, you can get documentation for each on the ffmpeg documentation page, for instance [http://ffmpeg.org/ffmpeg-filters.html#aformat aformat's] documentation, etc. 
    109 {{{ 
    110 abuffer          |->A       Buffer audio frames, and make them accessible to the filterchain. 
    111 abuffersink      A->|       Buffer audio frames, and make them available to the end of the filter graph. 
    112 aconvert         A->A       Convert the input audio to sample_fmt:channel_layout. 
    113 aevalsrc         |->A       Generate an audio signal generated by an expression. 
    114 afade            A->A       Fade in/out input audio. 
    115 afifo            A->A       Buffer input frames and send them when they are requested. 
    116 aformat          A->A       Convert the input audio to one of the specified formats. 
    117 allpass          A->A       Apply a two-pole all-pass filter. 
    118 alphaextract     V->V       Extract an alpha channel as a grayscale image component. 
    119 alphamerge       VV->V      Copy the luma value of the second input into the alpha channel of the first input. 
    120 amerge           |->A       Merge two or more audio streams into a single multi-channel stream. 
    121 amix             |->A       Audio mixing. 
    122 amovie           |->|       Read audio from a movie source. 
    123 anull            A->A       Pass the source unchanged to the output. 
    124 anullsink        A->|       Do absolutely nothing with the input audio. 
    125 anullsrc         |->A       Null audio source, return empty audio frames. 
    126 apad             A->A       Pad audio with silence. 
    127 aperms           A->A       Set permissions for the output audio frame. 
    128 aphaser          A->A       Add a phasing effect to the audio. 
    129 aresample        A->A       Resample audio data. 
    130 aselect          A->A       Select audio frames to pass in output. 
    131 asendcmd         A->A       Send commands to filters. 
    132 asetnsamples     A->A       Set the number of samples for each output audio frames. 
    133 asetpts          A->A       Set PTS for the output audio frame. 
    134 asettb           A->A       Set timebase for the audio output link. 
    135 ashowinfo        A->A       Show textual information for each audio frame. 
    136 asplit           A->|       Pass on the audio input to N audio outputs. 
    137 astreamsync      AA->AA     Copy two streams of audio data in a configurable order. 
    138 atempo           A->A       Adjust audio tempo. 
    139 bandpass         A->A       Apply a two-pole Butterworth band-pass filter. 
    140 bandreject       A->A       Apply a two-pole Butterworth band-reject filter. 
    141 bass             A->A       Boost or cut lower frequencies. 
    142 bbox             V->V       Compute bounding box for each frame. 
    143 biquad           A->A       Apply a biquad IIR filter with the given coefficients. 
    144 blackdetect      V->V       Detect video intervals that are (almost) black. 
    145 blackframe       V->V       Detect frames that are (almost) black. 
    146 blend            VV->V      Blend two video frames into each other. 
    147 boxblur          V->V       Blur the input. 
    148 buffer           |->V       Buffer video frames, and make them accessible to the filterchain. 
    149 buffersink       V->|       Buffer video frames, and make them available to the end of the filter graph. 
    150 cellauto         |->V       Create pattern generated by an elementary cellular automaton. 
    151 channelmap       A->A       Remap audio channels. 
    152 channelsplit     A->|       Split audio into per-channel streams. 
    153 color            |->V       Provide an uniformly colored input. 
    154 colormatrix      V->V       Convert color matrix. 
    155 concat           |->|       Concatenate audio and video streams. 
    156 copy             V->V       Copy the input video unchanged to the output. 
    157 crop             V->V       Crop the input video to width:height:x:y. 
    158 cropdetect       V->V       Auto-detect crop size. 
    159 curves           V->V       Adjust components curves. 
    160 decimate         |->V       Decimate frames (post field matching filter). 
    161 delogo           V->V       Remove logo from input video. 
    162 deshake          V->V       Stabilize shaky video. 
    163 drawbox          V->V       Draw a colored box on the input video. 
    164 earwax           A->A       Widen the stereo image. 
    165 ebur128          A->|       EBU R128 scanner. 
    166 edgedetect       V->V       Detect and draw edge. 
    167 equalizer        A->A       Apply two-pole peaking equalization (EQ) filter. 
    168 fade             V->V       Fade in/out input video. 
    169 ffabuffersink    A->|       Buffer audio frames, and make them available to the end of the filter graph. 
    170 ffbuffersink     V->|       Buffer video frames, and make them available to the end of the filter graph. 
    171 field            V->V       Extract a field from the input video. 
    172 fieldmatch       |->V       Field matching for inverse telecine. 
    173 fieldorder       V->V       Set the field order. 
    174 fifo             V->V       Buffer input images and send them when they are requested. 
    175 format           V->V       Convert the input video to one of the specified pixel formats. 
    176 fps              V->V       Force constant framerate. 
    177 framestep        V->V       Select one frame every N frames. 
    178 geq              V->V       Apply generic equation to each pixel. 
    179 gradfun          V->V       Debands video quickly using gradients. 
    180 hflip            V->V       Horizontally flip the input video. 
    181 highpass         A->A       Apply a high-pass filter with 3dB point frequency. 
    182 histeq           V->V       Apply global color histogram equalization. 
    183 histogram        V->V       Compute and draw a histogram. 
    184 hqdn3d           V->V       Apply a High Quality 3D Denoiser. 
    185 hue              V->V       Adjust the hue and saturation of the input video. 
    186 idet             V->V       Interlace detect Filter. 
    187 il               V->V       Deinterleave or interleave fields. 
    188 interlace        V->V       Convert progressive video into interlaced. 
    189 join             |->A       Join multiple audio streams into multi-channel output. 
    190 kerndeint        V->V       Apply kernel deinterlacing to the input. 
    191 life             |->V       Create life. 
    192 lowpass          A->A       Apply a low-pass filter with 3dB point frequency. 
    193 lut              V->V       Compute and apply a lookup table to the RGB/YUV input video. 
    194 lutrgb           V->V       Compute and apply a lookup table to the RGB input video. 
    195 lutyuv           V->V       Compute and apply a lookup table to the YUV input video. 
    196 mandelbrot       |->V       Render a Mandelbrot fractal. 
    197 movie            |->|       Read from a movie source. 
    198 mp               V->V       Apply a libmpcodecs filter to the input video. 
    199 mpdecimate       V->V       Remove near-duplicate frames. 
    200 mptestsrc        |->V       Generate various test pattern. 
    201 negate           V->V       Negate input video. 
    202 noformat         V->V       Force libavfilter not to use any of the specified pixel formats for the input to the next filter. 
    203 noise            V->V       Add noise. 
    204 null             V->V       Pass the source unchanged to the output. 
    205 nullsink         V->|       Do absolutely nothing with the input video. 
    206 nullsrc          |->V       Null video source, return unprocessed video frames. 
    207 overlay          VV->V      Overlay a video source on top of the input. 
    208 pad              V->V       Pad input image to width:height[:x:y[:color]] (default x and y: 0, default color: black). 
    209 pan              A->A       Remix channels with coefficients (panning). 
    210 perms            V->V       Set permissions for the output video frame. 
    211 pixdesctest      V->V       Test pixel format definitions. 
    212 removelogo       V->V       Remove a TV logo based on a mask image. 
    213 rgbtestsrc       |->V       Generate RGB test pattern. 
    214 scale            V->V       Scale the input video to width:height size and/or convert the image format. 
    215 select           V->V       Select video frames to pass in output. 
    216 sendcmd          V->V       Send commands to filters. 
    217 separatefields   V->V       Split input video frames into fields. 
    218 setdar           V->V       Set the frame display aspect ratio. 
    219 setfield         V->V       Force field for the output video frame. 
    220 setpts           V->V       Set PTS for the output video frame. 
    221 setsar           V->V       Set the pixel sample aspect ratio. 
    222 settb            V->V       Set timebase for the video output link. 
    223 showinfo         V->V       Show textual information for each video frame. 
    224 showspectrum     A->V       Convert input audio to a spectrum video output. 
    225 showwaves        A->V       Convert input audio to a video output. 
    226 silencedetect    A->A       Detect silence. 
    227 sine             |->A       Generate sine wave audio signal. 
    228 smartblur        V->V       Blur the input video without impacting the outlines. 
    229 smptebars        |->V       Generate SMPTE color bars. 
    230 smptehdbars      |->V       Generate SMPTE HD color bars. 
    231 split            V->|       Pass on the input video to N outputs. 
    232 stereo3d         V->V       Convert video stereoscopic 3D view. 
    233 super2xsai       V->V       Scale the input by 2x using the Super2xSaI pixel art algorithm. 
    234 swapuv           V->V       Swap U and V components. 
    235 telecine         V->V       Apply a telecine pattern. 
    236 testsrc          |->V       Generate test pattern. 
    237 thumbnail        V->V       Select the most representative frame in a given sequence of consecutive frames. 
    238 tile             V->V       Tile several successive frames together. 
    239 tinterlace       V->V       Perform temporal field interlacing. 
    240 transpose        V->V       Transpose input video. 
    241 treble           A->A       Boost or cut upper frequencies. 
    242 unsharp          V->V       Sharpen or blur the input video. 
    243 vflip            V->V       Flip the input video vertically. 
    244 volume           A->A       Change input volume. 
    245 volumedetect     A->A       Detect audio volume. 
    246 yadif            V->V       Deinterlace the input image. 
     109Filters bundled with libavfilter as of 3.82.100 (as configured with `--enable-gpl`). Filters relying on external libraries, such as frei0r, are not listed here. See [http://ffmpeg.org/ffmpeg-filters.html FFmpeg filters documentation] for more information and examples for each filter. 
     110{{{ 
     111  T. = Timeline support 
     112  .S = Slice threading 
     113  A = Audio input/output 
     114  V = Video input/output 
     115  N = Dynamic number and/or type of input/output 
     116  | = Source or sink filter 
     117 .. aconvert         A->A       Convert the input audio to sample_fmt:channel_layout. 
     118 .. aecho            A->A       Add echoing to the audio. 
     119 T. afade            A->A       Fade in/out input audio. 
     120 .. aformat          A->A       Convert the input audio to one of the specified formats. 
     121 .. ainterleave      N->A       Temporally interleave audio inputs. 
     122 .. allpass          A->A       Apply a two-pole all-pass filter. 
     123 .. amerge           N->A       Merge two or more audio streams into a single multi-channel stream. 
     124 .. amix             N->A       Audio mixing. 
     125 .. anull            A->A       Pass the source unchanged to the output. 
     126 T. apad             A->A       Pad audio with silence. 
     127 .. aperms           A->A       Set permissions for the output audio frame. 
     128 .. aphaser          A->A       Add a phasing effect to the audio. 
     129 .. aresample        A->A       Resample audio data. 
     130 .. aselect          A->N       Select audio frames to pass in output. 
     131 .. asendcmd         A->A       Send commands to filters. 
     132 .. asetnsamples     A->A       Set the number of samples for each output audio frames. 
     133 .. asetpts          A->A       Set PTS for the output audio frame. 
     134 .. asetrate         A->A       Change the sample rate without altering the data. 
     135 .. asettb           A->A       Set timebase for the audio output link. 
     136 .. ashowinfo        A->A       Show textual information for each audio frame. 
     137 .. asplit           A->N       Pass on the audio input to N audio outputs. 
     138 .. astats           A->A       Show time domain statistics about audio frames. 
     139 .. astreamsync      AA->AA     Copy two streams of audio data in a configurable order. 
     140 .. atempo           A->A       Adjust audio tempo. 
     141 .. atrim            A->A       Pick one continuous section from the input, drop the rest. 
     142 .. bandpass         A->A       Apply a two-pole Butterworth band-pass filter. 
     143 .. bandreject       A->A       Apply a two-pole Butterworth band-reject filter. 
     144 .. bass             A->A       Boost or cut lower frequencies. 
     145 .. biquad           A->A       Apply a biquad IIR filter with the given coefficients. 
     146 .. channelmap       A->A       Remap audio channels. 
     147 .. channelsplit     A->N       Split audio into per-channel streams. 
     148 .. compand          A->A       Compress or expand audio dynamic range. 
     149 .. earwax           A->A       Widen the stereo image. 
     150 .. ebur128          A->N       EBU R128 scanner. 
     151 .. equalizer        A->A       Apply two-pole peaking equalization (EQ) filter. 
     152 .. highpass         A->A       Apply a high-pass filter with 3dB point frequency. 
     153 .. join             N->A       Join multiple audio streams into multi-channel output. 
     154 .. lowpass          A->A       Apply a low-pass filter with 3dB point frequency. 
     155 .. pan              A->A       Remix channels with coefficients (panning). 
     156 .. silencedetect    A->A       Detect silence. 
     157 .. treble           A->A       Boost or cut upper frequencies. 
     158 T. volume           A->A       Change input volume. 
     159 .. volumedetect     A->A       Detect audio volume. 
     160 .. aevalsrc         |->A       Generate an audio signal generated by an expression. 
     161 .. anullsrc         |->A       Null audio source, return empty audio frames. 
     162 .. sine             |->A       Generate sine wave audio signal. 
     163 .. anullsink        A->|       Do absolutely nothing with the input audio. 
     164 .. alphaextract     V->N       Extract an alpha channel as a grayscale image component. 
     165 .. alphamerge       VV->V      Copy the luma value of the second input into the alpha channel of the first input. 
     166 T. bbox             V->V       Compute bounding box for each frame. 
     167 .. blackdetect      V->V       Detect video intervals that are (almost) black. 
     168 .. blackframe       V->V       Detect frames that are (almost) black. 
     169 TS blend            VV->V      Blend two video frames into each other. 
     170 T. boxblur          V->V       Blur the input. 
     171 T. colorbalance     V->V       Adjust the color balance. 
     172 T. colorchannelmixer V->V       Adjust colors by mixing color channels. 
     173 T. colormatrix      V->V       Convert color matrix. 
     174 .. copy             V->V       Copy the input video unchanged to the output. 
     175 .. crop             V->V       Crop the input video to width:height:x:y. 
     176 T. cropdetect       V->V       Auto-detect crop size. 
     177 T. curves           V->V       Adjust components curves. 
     178 T. dctdnoiz         V->V       Denoise frames using 2D DCT. 
     179 .. decimate         N->V       Decimate frames (post field matching filter). 
     180 T. delogo           V->V       Remove logo from input video. 
     181 .. deshake          V->V       Stabilize shaky video. 
     182 T. drawbox          V->V       Draw a colored box on the input video. 
     183 T. drawgrid         V->V       Draw a colored grid on the input video. 
     184 T. edgedetect       V->V       Detect and draw edge. 
     185 .. extractplanes    V->N       Extract planes as grayscale frames. 
     186 .S fade             V->V       Fade in/out input video. 
     187 .. field            V->V       Extract a field from the input video. 
     188 .. fieldmatch       N->V       Field matching for inverse telecine. 
     189 .. fieldorder       V->V       Set the field order. 
     190 .. format           V->V       Convert the input video to one of the specified pixel formats. 
     191 .. fps              V->V       Force constant framerate. 
     192 T. framestep        V->V       Select one frame every N frames. 
     193 T. geq              V->V       Apply generic equation to each pixel. 
     194 T. gradfun          V->V       Debands video quickly using gradients. 
     195 T. haldclut         VV->V      Adjust colors using a Hald CLUT. 
     196 .. hflip            V->V       Horizontally flip the input video. 
     197 T. histeq           V->V       Apply global color histogram equalization. 
     198 .. histogram        V->V       Compute and draw a histogram. 
     199 T. hqdn3d           V->V       Apply a High Quality 3D Denoiser. 
     200 T. hue              V->V       Adjust the hue and saturation of the input video. 
     201 .. idet             V->V       Interlace detect Filter. 
     202 T. il               V->V       Deinterleave or interleave fields. 
     203 .. interlace        V->V       Convert progressive video into interlaced. 
     204 .. interleave       N->V       Temporally interleave video inputs. 
     205 .. kerndeint        V->V       Apply kernel deinterlacing to the input. 
     206 T. lut3d            V->V       Adjust colors using a 3D LUT. 
     207 T. lut              V->V       Compute and apply a lookup table to the RGB/YUV input video. 
     208 T. lutrgb           V->V       Compute and apply a lookup table to the RGB input video. 
     209 T. lutyuv           V->V       Compute and apply a lookup table to the YUV input video. 
     210 .. mcdeint          V->V       Apply motion compensating deinterlacing. 
     211 .. mp               V->V       Apply a libmpcodecs filter to the input video. 
     212 .. mpdecimate       V->V       Remove near-duplicate frames. 
     213 T. negate           V->V       Negate input video. 
     214 .. noformat         V->V       Force libavfilter not to use any of the specified pixel formats for the input to the next filter. 
     215 TS noise            V->V       Add noise. 
     216 .. null             V->V       Pass the source unchanged to the output. 
     217 T. overlay          VV->V      Overlay a video source on top of the input. 
     218 T. owdenoise        V->V       Denoise using wavelets. 
     219 .. pad              V->V       Pad input image to width:height[:x:y[:color]] (default x and y: 0, default color: black). 
     220 .. perms            V->V       Set permissions for the output video frame. 
     221 T. perspective      V->V       Correct the perspective of video. 
     222 .. pixdesctest      V->V       Test pixel format definitions. 
     223 T. pp               V->V       Filter video using libpostproc. 
     224 .. psnr             VV->V      Calculate the PSNR between two video streams. 
     225 T. removelogo       V->V       Remove a TV logo based on a mask image. 
     226 T. rotate           V->V       Rotate the input image. 
     227 T. sab              V->V       Apply shape adaptive blur. 
     228 .. scale            V->V       Scale the input video to width:height size and/or convert the image format. 
     229 .. select           V->N       Select video frames to pass in output. 
     230 .. sendcmd          V->V       Send commands to filters. 
     231 .. separatefields   V->V       Split input video frames into fields. 
     232 .. setdar           V->V       Set the frame display aspect ratio. 
     233 .. setfield         V->V       Force field for the output video frame. 
     234 .. setpts           V->V       Set PTS for the output video frame. 
     235 .. setsar           V->V       Set the pixel sample aspect ratio. 
     236 .. settb            V->V       Set timebase for the video output link. 
     237 .. showinfo         V->V       Show textual information for each video frame. 
     238 T. smartblur        V->V       Blur the input video without impacting the outlines. 
     239 .. split            V->N       Pass on the input to N video outputs. 
     240 T. spp              V->V       Apply a simple post processing filter. 
     241 .. stereo3d         V->V       Convert video stereoscopic 3D view. 
     242 .. super2xsai       V->V       Scale the input by 2x using the Super2xSaI pixel art algorithm. 
     243 .. swapuv           V->V       Swap U and V components. 
     244 .. telecine         V->V       Apply a telecine pattern. 
     245 .. thumbnail        V->V       Select the most representative frame in a given sequence of consecutive frames. 
     246 .. tile             V->V       Tile several successive frames together. 
     247 .. tinterlace       V->V       Perform temporal field interlacing. 
     248 .. transpose        V->V       Transpose input video. 
     249 .. trim             V->V       Pick one continuous section from the input, drop the rest. 
     250 T. unsharp          V->V       Sharpen or blur the input video. 
     251 .. vflip            V->V       Flip the input video vertically. 
     252 T. vignette         V->V       Make or reverse a vignette effect. 
     253 TS yadif            V->V       Deinterlace the input image. 
     254 .. cellauto         |->V       Create pattern generated by an elementary cellular automaton. 
     255 .. color            |->V       Provide an uniformly colored input. 
     256 .. haldclutsrc      |->V       Provide an identity Hald CLUT. 
     257 .. life             |->V       Create life. 
     258 .. mandelbrot       |->V       Render a Mandelbrot fractal. 
     259 .. mptestsrc        |->V       Generate various test pattern. 
     260 .. nullsrc          |->V       Null video source, return unprocessed video frames. 
     261 .. rgbtestsrc       |->V       Generate RGB test pattern. 
     262 .. smptebars        |->V       Generate SMPTE color bars. 
     263 .. smptehdbars      |->V       Generate SMPTE HD color bars. 
     264 .. testsrc          |->V       Generate test pattern. 
     265 .. nullsink         V->|       Do absolutely nothing with the input video. 
     266 .. avectorscope     A->V       Display audio vector scope. 
     267 .. concat           N->N       Concatenate audio and video streams. 
     268 .. showspectrum     A->V       Convert input audio to a spectrum video output. 
     269 .. showwaves        A->V       Convert input audio to a video output. 
     270 .. amovie           |->N       Read audio from a movie source. 
     271 .. movie            |->N       Read from a movie source. 
     272 .. ffbuffersink     V->|       Buffer video frames, and make them available to the end of the filter graph. 
     273 .. ffabuffersink    A->|       Buffer audio frames, and make them available to the end of the filter graph. 
     274 .. abuffer          |->A       Buffer audio frames, and make them accessible to the filterchain. 
     275 .. buffer           |->V       Buffer video frames, and make them accessible to the filterchain. 
     276 .. abuffersink      A->|       Buffer audio frames, and make them available to the end of the filter graph. 
     277 .. buffersink       V->|       Buffer video frames, and make them available to the end of the filter graph. 
     278 .. afifo            A->A       Buffer input frames and send them when they are requested. 
     279 .. fifo             V->V       Buffer input images and send them when they are requested. 
    247280}}} 
    248281 
    249282=== Other Filter Examples === 
    250  * [wiki:FancyFilteringExamples Fancy Filtering Example] -- Examples for various psychedelic effects and other weird filtering 
     283 * [wiki:FancyFilteringExamples Fancy Filtering Example] Examples for various psychedelic effects and other weird filtering 
    251284 
    252285=== Developing your own Filters === 
    253286 
    254  * http://wiki.multimedia.cx/index.php?title=FFmpeg_filter_howto has a guide for developing your own filters. 
    255  
    256 Basically, you can follow the examples given of the existing filters, which helps a lot, as well. 
     287 * See [http://wiki.multimedia.cx/index.php?title=FFmpeg_filter_howto FFmpeg filter HOWTO]