FFmpeg Minterpolate Modes: Motion vs Blend vs Drop

The FFmpeg minterpolate (motion interpolation) filter allows users to alter a video's frame rate by generating new, synthetic frames between existing ones. This article explains the key differences between the filter's three primary interpolation modes—motion, blend, and drop—helping you choose the right setting for your specific video processing requirements.

Understanding mi_mode

The minterpolate filter relies on the mi_mode parameter to determine how new frames are generated when changing a video's frame rate. Each mode balances computational speed and visual quality differently.


1. Motion Mode (mi_mode=motion)

The motion mode uses motion-compensated interpolation. It analyzes the movement of pixels between consecutive frames and mathematically estimates where those pixels should be in the newly generated intermediate frames.

  • How it works: It uses motion estimation algorithms to "draw" brand-new frames, simulating natural movement.
  • Pros: Produces the smoothest possible motion. It is ideal for creating true slow-motion effects or converting 24fps/30fps footage to a buttery-smooth 60fps.
  • Cons: Extremely CPU-intensive and slow to process. It can also introduce visual artifacts, such as "halo" effects, warping, or tearing around fast-moving objects.
  • Example Use Case: Converting a standard action video into smooth high-frame-rate footage.

2. Blend Mode (mi_mode=blend)

The blend mode creates intermediate frames by overlapping and blending adjacent frames together using a weighted average.

  • How it works: Instead of calculating motion, it takes a percentage of the previous frame and a percentage of the next frame, merging them into a semi-transparent transition frame.
  • Pros: Much faster than motion mode and does not suffer from morphing or warping artifacts.
  • Cons: Causes a distinct "ghosting" or double-image effect during fast action, making the video look blurry or out of focus during motion.
  • Example Use Case: Quick frame rate conversions where speed is important and motion blur is acceptable or desired.

3. Drop Mode (mi_mode=drop)

The drop mode is the simplest form of frame rate alteration. It does not generate any new visual information.

  • How it works: To increase the frame rate, it duplicates existing frames. To decrease the frame rate, it drops frames.
  • Pros: Requires almost zero computational power, processes instantly, and preserves the absolute sharpness of the original source frames without any blurring or warping.
  • Cons: Can introduce noticeable stuttering, judder, or uneven playback (especially when converting between non-integer frame rates, such as 24fps to 30fps).
  • Example Use Case: Basic frame rate adjustments where computational resources are limited and original frame integrity must be preserved.

Direct Comparison

Feature Motion Mode Blend Mode Drop Mode
Processing Speed Very Slow Moderate Instant
Motion Smoothness Excellent Average (Blurry) Poor (Choppy)
Visual Artifacts Haloing / Warping Ghosting / Blurring Judder / Stutter
CPU Usage High Low to Medium Negligible

FFmpeg Command Examples

To apply these modes in FFmpeg, use the mi_mode option within the minterpolate filter:

Using Motion Mode (Smooth 60fps):

ffmpeg -i input.mp4 -vf "minterpolate=fps=60:mi_mode=motion" output_motion.mp4

Using Blend Mode (Blended 60fps):

ffmpeg -i input.mp4 -vf "minterpolate=fps=60:mi_mode=blend" output_blend.mp4

Using Drop Mode (Duplicated 60fps):

ffmpeg -i input.mp4 -vf "minterpolate=fps=60:mi_mode=drop" output_drop.mp4