datamosh effect

datamosh effect applied to the studio's source frame — beforedatamosh effect applied to the studio's source frame — afterSourceEffect

01/ ORIGIN

Video compression only stores full pictures occasionally; between them it stores motion vectors describing how blocks moved. Delete the full frames and the motion keeps applying, smearing one shot's movement across another's image. Artists worked this out in the 2000s, and two music videos in 2009, Chairlift's Evident Utensil and Kanye West's Welcome to Heartbreak, took it from a forum technique to a recognisable look within about a month of each other.

02/ SWEEP

AMOUNT sweep

AMOUNT 0: a clean pass-through, no displacement at all
AMOUNT 0AMOUNT 0: a clean pass-through, no displacement at all
AMOUNT 0.6: the default, blocks visibly dragged out of position
AMOUNT 0.6AMOUNT 0.6: the default, blocks visibly dragged out of position
AMOUNT 1: full strength, structure smeared across the frame
AMOUNT 1AMOUNT 1: full strength, structure smeared across the frame

03/ SPEC

This effect imitates interframe compression failure on a still, displacing blocks of the image as though motion vectors from another frame were being applied to it. AMOUNT runs from 0 to 1 with a default of 0.6 and scales the whole effect, where 0 is a clean pass-through. BLOCK from 1 to 8 pixels sets the macroblock size, which is what makes the displacement read as compression rather than as a smear. DISPLACE controls how far blocks travel, and CRUSH is an advanced control reducing levels. Real datamoshing needs moving footage; in kott this reproduces the look on a single frame.

AMOUNT0 to 1 · default 0.6
BLOCK1 px to 8 px · default 2 px
DISPLACE0 to 1 · default 0.5

04/ FAQ

What is datamoshing?
Datamoshing exploits how video compression stores motion rather than whole pictures. Removing full reference frames makes motion data apply to the wrong image, smearing one shot across another.
Can you datamosh a still image?
Not literally, since there is no motion data to misapply. This effect reproduces the visual result on a single frame by displacing macroblocks as though vectors from elsewhere were applied.
What does BLOCK control?
Macroblock size. Compression works on blocks rather than pixels, so a visible block grid is what makes the displacement read as codec failure instead of as a generic smear.