Skip to content

Choke

Matte choker / spread — erodes an alpha edge inward (choke) or grows it outward (spread) by a signed pixel amount, with optional edge softening and corner rounding. A standard matte choke/spread operation.

Category: Effects Menu path: Effects > Choke

Ports

PortTypeDirectionDescription
inimageRgba16finputInput image (the matte / alpha edge to choke or spread)
outimageRgba16foutputChoked / spread result

Parameters

ParamTypeDefaultDescription
amountscalar0.0Signed edge offset in comp pixels. Negative = choke (edge pulls inward / erodes), positive = spread (edge grows outward / dilates). 0 = no edge move. Keyframeable.
softnessscalar0.0Edge feather + corner rounding in comp pixels. 0 = crisp edge. Larger values feather the edge and round off sharp corners. Keyframeable.

Expose Channels

When enabled (E button on node header), adds input ports that override params via edge connections:

PortTypeOverrides
amount_inscalaramount

How It Works

Choke uses the standard real-time matte-choke technique: blur, then re-threshold. First the input alpha is blurred by a radius of abs(amount) + softness + 1 comp pixels (reusing the engine's Blur, which premultiplies internally so spread doesn't pick up a dark fringe). A second pass then re-thresholds the blurred alpha around 0.5: a positive amount lowers the threshold so more of the blurred alpha survives and the edge grows outward (spread); a negative amount raises it so the edge pulls inward (choke). The blur is what rounds corners, and softness widens the threshold band to feather the edge (and, with amount at 0, round corners while leaving the edge roughly in place). RGB is preserved crisply where the original is opaque and uses the color-bled blurred RGB where the matte has grown into transparent areas. All quantities are comp pixels and the blur is comp-aware, so the result is identical across Draft / Preview / Full quality. When both amount and softness are ~0 the node is a pure passthrough and the GPU passes are skipped.

Usage Examples

Basic: Tighten a key

  1. Pull a key (Keying) or build a matte that has a slightly soft, fringey edge
  2. Add a Choke node after it
  3. Set amount to a small negative value (e.g. -2) to pull the matte edge inward and eat the fringe

Basic: Grow a matte

  1. Add a Choke node after a matte or shape
  2. Set amount to a positive value (e.g. +4) to dilate the alpha edge outward — useful for adding a bit of bleed before compositing

Creative: Round and soften corners

  1. Leave amount at 0 and raise softness (e.g. 8)
  2. Sharp corners round off and the edge feathers while staying roughly in place — a quick way to soften hard graphic shapes

Tips

  • Treat amount like a signed "grow/shrink": negative chokes, positive spreads.
  • Use a small softness alongside a choke to avoid an aliased / stair-stepped edge after tightening.
  • Choke operates on the alpha channel — feed it a matte or any image with a meaningful alpha edge. On a fully opaque, edge-free input there is nothing to choke.
  • This is a per-pixel effect treated as a spatial passthrough in the layer's bounds/overscan walk, so a very large spread can in theory grow slightly toward the layer's content bounds — keep a little padding around tight content if you spread heavily.
  • Matte — build and combine mattes; choke the result for a cleaner edge
  • Keying — pull a color key, then Choke to tighten the resulting matte
  • Blur — the underlying soften operation Choke builds on
  • Roughen — the opposite vibe: make an edge ragged instead of clean

Caddis — professional motion design.