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.


2. Blend Mode (mi_mode=blend)

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


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.


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