7.0.2
Filters
Audio
OpenCL Video
QSV Video
VAAPI Video
Video
Vulkan Video
Sinks
Audio
Video
Sources
Audio
Multimedia
Video
7.1
6.1.2
6.0.1
5.1.6
5.0.3
4.4.5
4.3.8
4.2.10
4.1.11
4.0.6
3.4.13
3.3.9
3.2.19
3.1.11
3.0.12
2.8.22
2.7.7
2.6.9
2.5.11
2.4.14
2.3.6
2.2.16
2.1.8
2.0.7
1.2.12
1.1.16
1.0.10
0.11.5
0.10.16
0.9.4
0.8.15
0.7.17
addroi
Mark a region of interest in a video frame.
alphaextract
Extract the alpha component from the input as a grayscale video.
alphamerge
Add or replace the alpha component of the primary input with the grayscale value of a second input.
amplify
Amplify differences between current pixel and pixels of adjacent frames in same pixel location.
ass
Same as the subtitles filter, except that it doesn’t require libavcodec and libavformat to work.
atadenoise
Apply an Adaptive Temporal Averaging Denoiser to the video input.
avgblur
Apply average blur filter.
backgroundkey
Turns a static background into transparency.
bbox
Compute the bounding box for the non-black pixels in the input frame luma plane.
bilateral
Apply bilateral filter, spatial smoothing while preserving edges.
bilateral_cuda
CUDA accelerated bilateral filter, an edge preserving filter.
bitplanenoise
Show and measure bit plane noise.
blackdetect
Detect video intervals that are (almost) completely black.
blackframe
Detect frames that are (almost) completely black.
blend
Blend two video frames into each other.
blockdetect
Determines blockiness of frames without altering the input frames.
blurdetect
Determines blurriness of frames without altering the input frames.
bm3d
Denoise frames using Block-Matching 3D algorithm.
boxblur
Apply a boxblur algorithm to the input video.
bwdif
Deinterlace the input video ("bwdif" stands for "Bob Weaver Deinterlacing Filter").
bwdif_cuda
Deinterlace the input video using the bwdif algorithm, but implemented in CUDA so that it can work as part of a GPU accelerated pipeline with nvdec and/or nvenc.
ccrepack
Repack CEA-708 closed captioning side data .
cas
Apply Contrast Adaptive Sharpen filter to video stream.
chromahold
Remove all color information for all colors except for certain one.
chromakey
YUV colorspace color/chroma keying.
chromakey_cuda
CUDA accelerated YUV colorspace color/chroma keying.
chromanr
Reduce chrominance noise.
chromashift
Shift chroma pixels horizontally and/or vertically.
ciescope
Display CIE color diagram with pixels overlaid onto it.
codecview
Visualize information exported by some codecs.
colorbalance
Modify intensity of primary colors (red, green and blue) of input frames.
colorcontrast
Adjust color contrast between RGB components.
colorcorrect
Adjust color white balance selectively for blacks and whites.
colorchannelmixer
Adjust video input frames by re-mixing color channels.
colorize
Overlay a solid color on the video stream.
colorkey
RGB colorspace color keying.
colorhold
Remove all color information for all RGB colors except for certain one.
colorlevels
Adjust video input frames using levels.
colormap
Apply custom color maps to video stream.
colormatrix
Convert color matrix.
colorspace
Convert colorspace, transfer characteristics or color primaries.
colorspace_cuda
CUDA accelerated implementation of the colorspace filter.
colortemperature
Adjust color temperature in video to simulate variations in ambient color temperature.
convolution
Apply convolution of 3x3, 5x5, 7x7 or horizontal/vertical up to 49 elements.
convolve
Apply 2D convolution of video stream in frequency domain using second stream as impulse.
copy
Copy the input video source unchanged to the output.
coreimage
Video filtering on GPU using Apple’s CoreImage API on OSX.
corr
Obtain the correlation between two input videos.
cover_rect
Cover a rectangular object .
crop
Crop the input video to given dimensions.
cropdetect
Auto-detect the crop size.
cue
Delay video filtering until a given wallclock timestamp.
curves
Apply color adjustments using curves.
datascope
Video data analysis filter.
dblur
Apply Directional blur filter.
dctdnoiz
Denoise frames using 2D DCT (frequency domain filtering).
deband
Remove banding artifacts from input video.
deblock
Remove blocking artifacts from input video.
decimate
Drop duplicated frames at regular intervals.
deconvolve
Apply 2D deconvolution of video stream in frequency domain using second stream as impulse.
dedot
Reduce cross-luminance (dot-crawl) and cross-color (rainbows) from video.
deflate
Apply deflate effect to the video.
deflicker
Remove temporal frame luminance variations.
dejudder
Remove judder produced by partially interlaced telecined content.
delogo
Suppress a TV station logo by a simple interpolation of the surrounding pixels.
derain
Remove the rain in the input image/video by applying the derain methods based on convolutional neural networks.
deshake
Attempt to fix small changes in horizontal and/or vertical shift.
despill
Remove unwanted contamination of foreground colors, caused by reflected color of greenscreen or bluescreen.
detelecine
Apply an exact inverse of the telecine operation.
dilation
Apply dilation effect to the video.
displace
Displace pixels as indicated by second and third input stream.
dnn_classify
Do classification with deep neural networks based on bounding boxes.
dnn_detect
Do object detection with deep neural networks.
dnn_processing
Do image processing with deep neural networks.
drawbox
Draw a colored box on the input image.
drawgraph
Draw a graph using input video metadata.
drawgrid
Draw a grid on the input image.
drawtext
Draw a text string or text from a specified file on top of a video, using the libfreetype library.
edgedetect
Detect and draw edges.
elbg
Apply a posterize effect using the ELBG (Enhanced LBG) algorithm.
entropy
Measure graylevel entropy in histogram of color channels of video frames.
epx
Apply the EPX magnification filter which is designed for pixel art.
eq
Set brightness, contrast, saturation and approximate gamma adjustment.
erosion
Apply erosion effect to the video.
estdif
Deinterlace the input video ("estdif" stands for "Edge Slope Tracing Deinterlacing Filter").
exposure
Adjust exposure of the video stream.
extractplanes
Extract color channel components from input video stream into separate grayscale video streams.
fade
Apply a fade-in/out effect to the input video.
feedback
Apply feedback video filter.
fftdnoiz
Denoise frames using 3D FFT (frequency domain filtering).
fftfilt
Apply arbitrary expressions to samples in frequency domain .
field
Extract a single field from an interlaced image using stride arithmetic to avoid wasting CPU time.
fieldhint
Create new frames by copying the top and bottom fields from surrounding frames supplied as numbers by the hint file.
fieldmatch
Field matching filter for inverse telecine.
fieldorder
Transform the field order of the input video.
fillborders
Fill borders of the input video, without changing video stream dimensions.
find_rect
Find a rectangular object in the input video.
floodfill
Flood area with values of same pixel components with another values.
format
Convert the input video to one of the specified pixel formats.
fps
Convert the video to specified constant frame rate by duplicating or dropping frames as necessary.
framepack
Pack two different video streams into a stereoscopic video, setting proper metadata on supported codecs.
framerate
Change the frame rate by interpolating new video output frames from the source frames.
framestep
Select one frame every N-th frame.
freezedetect
Detect frozen video.
freezeframes
Freeze video frames.
frei0r
Apply a frei0r effect to the input video.
fspp
Apply fast and simple postprocessing.
fsync
Synchronize video frames with an external mapping from a file.
gblur
Apply Gaussian blur filter.
geq
Apply generic equation to each pixel.
gradfun
Fix the banding artifacts that are sometimes introduced into nearly flat regions by truncation to 8-bit color depth.
graphmonitor
Show various filtergraph stats.
grayworld
A color constancy filter that applies color correction based on the grayworld assumption .
greyedge
A color constancy variation filter which estimates scene illumination via grey edge algorithm and corrects the scene colors accordingly.
guided
Apply guided filter for edge-preserving smoothing, dehazing and so on.
haldclut
Apply a Hald CLUT to a video stream.
hflip
Flip the input video horizontally.
histeq
This filter applies a global color histogram equalization on a per-frame basis.
histogram
Compute and draw a color distribution histogram for the input video.
hqdn3d
This is a high precision/quality 3d denoise filter.
hwdownload
Download hardware frames to system memory.
hwmap
Map hardware frames to system memory or to another device.
hwupload
Upload system memory frames to hardware surfaces.
hwupload_cuda
Upload system memory frames to a CUDA device.
hqx
Apply a high-quality magnification filter designed for pixel art.
hstack
Stack input videos horizontally.
hsvhold
Turns a certain HSV range into gray values.
hsvkey
Turns a certain HSV range into transparency.
hue
Modify the hue and/or the saturation of the input.
huesaturation
Apply hue-saturation-intensity adjustments to input video stream.
hysteresis
Grow first stream into second stream by connecting components.
iccdetect
Detect the colorspace from an embedded ICC profile (if present), and update the frame’s tags accordingly.
iccgen
Generate ICC profiles and attach them to frames.
identity
Obtain the identity score between two input videos.
idet
Detect video interlacing type.
il
Deinterleave or interleave fields.
inflate
Apply inflate effect to the video.
interlace
Simple interlacing filter from progressive contents.
kerndeint
Deinterlace input video by applying Donald Graft’s adaptive kernel deinterling.
kirsch
Apply kirsch operator to input video stream.
lagfun
Slowly update darker pixels.
lenscorrection
Correct radial lens distortion .
lensfun
Apply lens correction via the lensfun library.
libplacebo
Flexible GPU-accelerated processing filter based on libplacebo.
libvmaf
Calculate the VMAF (Video Multi-Method Assessment Fusion) score for a reference/distorted pair of input videos.
libvmaf_cuda
This is the CUDA variant of the libvmaf filter.
limitdiff
Apply limited difference filter using second and optionally third video stream.
limiter
Limits the pixel components values to the specified range [min, max].
loop
Loop video frames.
lut1d
Apply a 1D LUT to an input video.
lut3d
Apply a 3D LUT to an input video.
lumakey
Turn certain luma values into transparency.
lut
Compute a look-up table for binding each pixel component input value to an output value, and apply it to the input video.
lutrgb
Compute a look-up table for binding each pixel component input value to an output value, and apply it to the input video.
lutyuv
Compute a look-up table for binding each pixel component input value to an output value, and apply it to the input video.
lut2
The lut2 filter takes two input streams and outputs one
stream.
tlut2
The tlut2 (time lut2) filter takes two consecutive frames
from one single stream.
maskedclamp
Clamp the first input stream with the second input and third input stream.
maskedmax
Merge the second and third input stream into output stream using absolute differences between second input stream and first input stream and absolute difference between third input stream and first input stream.
maskedmerge
Merge the first input stream with the second input stream using per pixel weights in the third input stream.
maskedmin
Merge the second and third input stream into output stream using absolute differences between second input stream and first input stream and absolute difference between third input stream and first input stream.
maskedthreshold
Pick pixels comparing absolute difference of two video streams with fixed threshold.
maskfun
Create mask from input video.
mcdeint
Apply motion-compensation deinterlacing.
median
Pick median pixel from certain rectangle defined by radius.
mergeplanes
Merge color channel components from several video streams.
mestimate
Estimate and export motion vectors using block matching algorithms.
midequalizer
Apply Midway Image Equalization effect using two video streams.
minterpolate
Convert the video to specified frame rate using motion interpolation.
mix
Mix several video input streams into one video stream.
monochrome
Convert video to gray using custom color filter.
morpho
This filter allows to apply main morphological grayscale transforms, erode and dilate with arbitrary structures set in second input stream.
mpdecimate
Drop frames that do not differ greatly from the previous frame in order to reduce frame rate.
msad
Obtain the MSAD (Mean Sum of Absolute Differences) between two input videos.
multiply
Multiply first video stream pixels values with second video stream pixels values.
negate
Negate (invert) the input video.
nlmeans
Denoise frames using Non-Local Means algorithm.
nnedi
Deinterlace video using neural network edge directed interpolation.
noformat
Force libavfilter not to use any of the specified pixel formats for the input to the next filter.
noise
Add noise on video input frame.
normalize
Normalize RGB video (aka histogram stretching, contrast stretching).
null
Pass the video source unchanged to the output.
ocr
Optical Character Recognition .
ocv
Apply a video transform using libopencv.
oscilloscope
2D Video Oscilloscope.
overlay
Overlay one video on top of another.
overlay_cuda
Overlay one video on top of another.
owdenoise
Apply Overcomplete Wavelet denoiser.
pad
Add paddings to the input image, and place the original input at the provided x, y coordinates.
palettegen
Generate one palette for a whole video stream.
paletteuse
Use a palette to downsample an input video stream.
perspective
Correct perspective of video not recorded perpendicular to the screen.
phase
Delay interlaced video by one field time so that the field order changes.
photosensitivity
Reduce various flashes in video, so to help users with epilepsy.
pixdesctest
Pixel format descriptor test filter, mainly useful for internal testing.
pixelize
Apply pixelization to video stream.
pixscope
Display sample values of color channels.
pp
Enable the specified chain of postprocessing subfilters using libpostproc.
pp7
Apply Postprocessing filter 7.
premultiply
Apply alpha premultiply effect to input video stream using first plane of second stream as alpha.
prewitt
Apply prewitt operator to input video stream.
pseudocolor
Alter frame colors in video with pseudocolors.
psnr
Obtain the average, maximum and minimum PSNR (Peak Signal to Noise Ratio) between two input videos.
pullup
Pulldown reversal (inverse telecine) filter, capable of handling mixed hard-telecine, 24000/1001 fps progressive, and 30000/1001 fps progressive content.
qp
Change video quantization parameters (QP).
qrencode
Generate a QR code using the libqrencode library (see https://fukuchi.
quirc
Identify and decode a QR code using the libquirc library (see https://github.
random
Flush video frames from internal cache of frames into a random order.
readeia608
Read closed captioning (EIA-608) information from the top lines of a video frame.
readvitc
Read vertical interval timecode (VITC) information from the top lines of a video frame.
remap
Remap pixels using 2nd: Xmap and 3rd: Ymap input video stream.
removegrain
The removegrain filter is a spatial denoiser for progressive video.
removelogo
Suppress a TV station logo, using an image file to determine which pixels comprise the logo.
repeatfields
This filter uses the repeat_field flag from the Video ES headers and hard repeats fields based on its value.
reverse
Reverse a video clip.
rgbashift
Shift R/G/B/A pixels horizontally and/or vertically.
roberts
Apply roberts cross operator to input video stream.
rotate
Rotate video by an arbitrary angle expressed in radians.
sab
Apply Shape Adaptive Blur.
scale
Scale (resize) the input video, using the libswscale library.
scale_cuda
Scale (resize) and convert (pixel format) the input video, using accelerated CUDA kernels.
scale_npp
Use the NVIDIA Performance Primitives (libnpp) to perform scaling and/or pixel format conversion on CUDA video frames.
scale2ref
Scale (resize) the input video, based on a reference video.
scale2ref_npp
Use the NVIDIA Performance Primitives (libnpp) to scale (resize) the input video, based on a reference video.
scale_vt
Scale and convert the color parameters using VTPixelTransferSession.
scharr
Apply scharr operator to input video stream.
scroll
Scroll input video horizontally and/or vertically by constant speed.
scdet
Detect video scene change.
selectivecolor
Adjust cyan, magenta, yellow and black (CMYK) to certain ranges of colors (such as "reds", "yellows", "greens", "cyans", .
separatefields
The separatefields takes a frame-based video input and splits each frame into its components fields, producing a new half height clip with twice the frame rate and twice the frame count.
setdar
The setdar filter sets the Display Aspect Ratio for the filter
output video.
setsar
The setsar filter sets the Sample (aka Pixel) Aspect Ratio for
the filter output video.
setfield
Force field for the output video frame.
setparams
Force frame parameter for the output video frame.
sharpen_npp
Use the NVIDIA Performance Primitives (libnpp) to perform image sharpening with border control.
shear
Apply shear transform to input video.
showinfo
Show a line containing various information for each input video frame.
showpalette
Displays the 256 colors palette of each frame.
shuffleframes
Reorder and/or duplicate and/or drop video frames.
shufflepixels
Reorder pixels in video frames.
shuffleplanes
Reorder and/or duplicate video planes.
signalstats
Evaluate various visual metrics that assist in determining issues associated with the digitization of analog video media.
signature
Calculates the MPEG-7 Video Signature.
siti
Calculate Spatial Information (SI) and Temporal Information (TI) scores for a video, as defined in ITU-T Rec.
smartblur
Blur the input video without impacting the outlines.
sobel
Apply sobel operator to input video stream.
spp
Apply a simple postprocessing filter that compresses and decompresses the image at several (or - in the case of quality level 6 - all) shifts and average the results.
sr
Scale the input by applying one of the super-resolution methods based on convolutional neural networks.
ssim
Obtain the SSIM (Structural SImilarity Metric) between two input videos.
stereo3d
Convert between different stereoscopic image formats.
streamselect
The streamselect and astreamselect filter supports the following
commands:
.
astreamselect
The streamselect and astreamselect filter supports the following
commands:
.
subtitles
Draw subtitles on top of input video using the libass library.
super2xsai
Scale the input by 2x and smooth using the Super2xSaI (Scale and Interpolate) pixel art scaling algorithm.
swaprect
Swap two rectangular objects in video.
swapuv
Swap U & V plane.
tblend
Blend successive video frames.
telecine
Apply telecine process to the video.
thistogram
Compute and draw a color distribution histogram for the input video across time.
threshold
Apply threshold effect to video stream.
thumbnail
Select the most representative frame in a given sequence of consecutive frames.
tile
Tile several successive frames together.
tiltandshift
What happens when you invert time and space? .
tinterlace
Perform various types of temporal field interlacing.
tmedian
Pick median pixels from several successive input video frames.
tmidequalizer
Apply Temporal Midway Video Equalization effect.
tmix
Mix successive video frames.
tonemap
Tone map colors from different dynamic ranges.
tpad
Temporarily pad video frames.
transpose
Transpose rows with columns in the input video and optionally flip it.
transpose_npp
Transpose rows with columns in the input video and optionally flip it.
trim
Trim the input so that the output contains one continuous subpart of the input.
unpremultiply
Apply alpha unpremultiply effect to input video stream using first plane of second stream as alpha.
unsharp
Sharpen or blur the input video.
untile
Decompose a video made of tiled images into the individual images.
uspp
Apply ultra slow/simple postprocessing filter that compresses and decompresses the image at several (or - in the case of quality level 8 - all) shifts and average the results.
v360
Convert 360 videos between various formats.
vaguedenoiser
Apply a wavelet based denoiser.
varblur
Apply variable blur filter by using 2nd video stream to set blur radius.
vectorscope
Display 2 color component values in the two dimensional graph (which is called a vectorscope).
vidstabdetect
Analyze video stabilization/deshaking.
vidstabtransform
Video stabilization/deshaking: pass 2 of 2, see vidstabdetect for pass 1.
vflip
Flip the input video vertically.
vfrdet
Detect variable frame rate video.
vibrance
Boost or alter saturation.
vif
Obtain the average VIF (Visual Information Fidelity) between two input videos.
vignette
Make or reverse a natural vignetting effect.
vmafmotion
Obtain the average VMAF motion score of a video.
vstack
Stack input videos vertically.
w3fdif
Deinterlace the input video ("w3fdif" stands for "Weston 3 Field Deinterlacing Filter").
waveform
Video waveform monitor.
weave
The weave takes a field-based video input and join
each two sequential fields into single frame, producing a new double
height clip with half the frame rate and half the frame count.
doubleweave
The doubleweave works same as weave but without
halving frame rate and frame count.
xbr
Apply the xBR high-quality magnification filter which is designed for pixel art.
xcorrelate
Apply normalized cross-correlation between first and second input video stream.
xfade
Apply cross fade from one input video stream to another input video stream.
xmedian
Pick median pixels from several input videos.
xstack
Stack video inputs into custom layout.
yadif
Deinterlace the input video ("yadif" means "yet another deinterlacing filter").
yadif_cuda
Deinterlace the input video using the yadif algorithm, but implemented in CUDA so that it can work as part of a GPU accelerated pipeline with nvdec and/or nvenc.
yaepblur
Apply blur filter while preserving edges ("yaepblur" means "yet another edge preserving blur filter").
zoompan
Apply Zoom & Pan effect.
zscale
Scale (resize) the input video, using the z.