Skip to content
Voro
  1. Image
  2. Effects

Bitmosh

Example Built with Kernel FX Ships with Voro as an example. It may change between versions.

Bitmosh carries earlier picture data forward through a simulated video codec. With less correction data, moving subjects leave trails and damaged regions continue drifting. You can steer that motion with a field and concentrate damage with a mask.

Place Bitmosh under Effects in the Image view and connect footage to image. Begin with Mosh low, then raise it while the subject moves. Use Reset Now to restore the current picture when the accumulated damage obscures it.

Connect Optical Flow to field and raise Field Influence to steer the effect with that motion.

  • image supplies the source picture.
  • field supplies horizontal and vertical motion.
  • mask adds local dropout probability through Mask Influence.
  • out shows the decoded picture or the diagnostic selected by View.
  • Mosh increases the loss of correction data. Bitrate controls how much detail the codec can retain.
  • Stream Size changes the coded resolution while preserving the output size.
  • Motion Persistence controls how long damaged regions keep moving.
  • Breakup Shape selects Flow, Fragments or Slices. Dropouts, Vector Drift and Residual Loss adjust different parts of the damage.
  • Reset Interval schedules repair keyframes. Zero disables automatic repairs. Reset Now inserts one immediately.
  • Mix at zero passes through the source.

Reset Now repairs the picture without clearing all codec history. Treat it as a performance control, for example a repair on a beat followed by another period of accumulating damage.

Inputs

  • image image required
    RGBA
  • field image
    2 channels
  • mask image
    single channel

Outputs

  • out image
    RGBA

Bitmosh

Mix (Mix) Float op('bitmosh').par.Mix

Blend the source to the decoded stream. 0 is an exact passthrough.

Default:
1
Range:
0 to 1
Bitrate (Bitrate) Float op('bitmosh').par.Bitrate

Megabits per second available to the real rate controller. Lower values breathe, smear detail, and leave less residual to repair a wrong reference.

Default:
1.6
Range:
0.02 to 80
Stream Size (Coded) Menu op('bitmosh').par.Coded

Coded resolution, independent of the output. Lower streams make larger codec structure without changing the display raster.

Default:
360p
Options:
240p, 360p, 480p, 720p, 1080p
Mosh (Mosh) Float op('bitmosh').par.Mosh

Master transport failure. 0 is a clean codec; higher values withhold residuals and let prediction continue from the wrong reference.

Default:
0.45
Range:
0 to 1
Reset Interval (Keyframe) Float op('bitmosh').par.Keyframe

Seconds between full codec reset keyframes. 0 disables automatic resets, so damage can persist indefinitely.

Default:
0
Range:
0 to 60
Reset Now (Reset) Pulse op('bitmosh').par.Reset

Encode one full keyframe now. This repairs the current picture without zeroing codec state and restarts Reset Interval, so it can be triggered directly from a beat.

Default:
None
Motion Persistence (Persistence) Float op('bitmosh').par.Persistence

How strongly concealed blocks keep applying their last motion. Near 1 carries the picture into flowing datamosh; lower values settle sooner.

Default:
0.995
Range:
0 to 1.02
Field Influence (Field) Float op('bitmosh').par.Field

Blend the codec-estimated motion toward the field input. 0 ignores it; 1 uses the authored flow.

Default:
0
Range:
0 to 1
Field Motion (Fieldmv) Float op('bitmosh').par.Fieldmv

Coded pixels of motion at full field deflection.

Default:
18
Range:
-128 to 128
View (Tap) Menu op('bitmosh').par.Tap

The decoded picture or one of the codec diagnostics.

Default:
picture
Options:
picture, motion, quant, blocks, residual, refage

Breakup

Breakup Shape (Pattern) Menu op('bitmosh').par.Pattern

Flow follows motion-linked packet regions, Fragments uses compact damaged packets, and Slices preserves Bitstream's horizontal packet runs.

Default:
flow
Options:
flow, fragments, slices
Dropouts (Loss) Float op('bitmosh').par.Loss

Probability that a packet is completely missing. Flow mode keeps this rare and biases it toward moving regions; Vector Drift supplies the less blocky failure pole.

Default:
0.06
Range:
0 to 1
Clumping (Burst) Float op('bitmosh').par.Burst

Gather failures into related packet regions instead of scattering them evenly.

Default:
0.72
Range:
0 to 1
Damage Hold (Hold) Int op('bitmosh').par.Hold

Frames a failure map persists before the channel chooses a new one. Longer holds make coherent tears instead of flickering blocks.

Default:
8
Range:
1 to 120
Vector Drift (Desync) Float op('bitmosh').par.Desync

Scale or reverse the codec's estimated motion while withholding its correction data. Packet shape supplies a directional fallback only where the source has no usable motion.

Default:
0.58
Range:
0 to 1
Residual Loss (Truncate) Float op('bitmosh').par.Truncate

Remove high-frequency correction data so the wrong reference remains visible.

Default:
0.72
Range:
0 to 1
Bit Errors (Bitflip) Float op('bitmosh').par.Bitflip

Corrupt surviving motion and levels instead of dropping the whole packet.

Default:
0.04
Range:
0 to 1
Mask Influence (Maskgain) Float op('bitmosh').par.Maskgain

How much the mask input adds to local dropout probability.

Default:
0.8
Range:
0 to 2
Deblocking (Deblock) Float op('bitmosh').par.Deblock

The codec's in-loop block-edge filter. Lower values expose the coded grid; higher values let motion drift read more continuously.

Default:
0.4
Range:
0 to 1
Chroma Sampling (Chroma) Menu op('bitmosh').par.Chroma

4:2:0 codes colour at quarter resolution and lets chroma trail away from luma detail.

Default:
4:2:0
Options:
4:4:4, 4:2:2, 4:2:0
Upscale (Scale) Menu op('bitmosh').par.Scale

Nearest exposes the stream grid; bilinear joins it into a softer moving field.

Default:
bilinear
Options:
nearest, bilinear
Output Gain (Gain) Float op('bitmosh').par.Gain

Final decoded-picture gain.

Default:
1
Range:
0 to 3
Seed (Seed) Int op('bitmosh').par.Seed

Channel identity. The same seed, inputs, and generation reproduce the same breakup.

Default:
11
Range:
0 to 99999