Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Built-in filters

Official built-in filters register under std. The FFMS2-backed source(...) call is documented alongside them because it is the normal entry point for clips used with those filters.

For the canonical pixel format and color metadata strings accepted by source, convert_format, convert_colorspace, and merge_planes, see Format and color metadata strings.

Call forms

  • Use bare source(...) for FFMS2 input.
  • Use std.blank_clip(...) for generated clips that do not need an input clip.
  • Use std.<filter>(input, #{ ... }) or clip.std.<filter>(#{ ... }) for one-input built-in filters such as add_borders, binarize, convolution, deflate, flip_horizontal, flip_vertical, inflate, levels, median, resize, reverse, rotate, crop, expr, limit, and convert_colorspace.
  • Use array input form for multi-input filters such as std.expr([a, b], #{ expr: "x y + 2 /" }), std.masked_merge([a, b, mask]), std.interleave_frames([a, b]), std.join([a, b]), std.stack_horizontal([left, right]), std.stack_vertical([top, bottom]), std.merge_planes([y, u, v], #{ format: "yuv420p8" }), and std.copy_props([metadata_source, target]).

Filter families

  • source input: source(...)
  • generation: blank_clip
  • conversion: convert_bit_depth, convert_colorspace, convert_format
  • adjustment and math: binarize, deflate, expr, inflate, levels, limit, masked_merge
  • spatial: add_borders, convolution, crop, flip_horizontal, flip_vertical, median, resize, rotate, split_plane, merge_planes, stack_horizontal, stack_vertical
  • metadata: set_prop, clear_prop, copy_props, require_prop
  • temporal: assume_fps, delete_frames, duplicate_frames, interleave_frames, join, replace_frames, reverse, select, select_every, trim