- Image
- Effects
Bitmosh
Purpose
Section titled “Purpose”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.
Inputs and outputs
Section titled “Inputs and outputs”imagesupplies the source picture.fieldsupplies horizontal and vertical motion.maskadds local dropout probability through Mask Influence.outshows the decoded picture or the diagnostic selected by View.
Controls
Section titled “Controls”- 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
-
imageimage required -
fieldimage -
maskimage
Outputs
-
outimage
Parameters
Section titled “Parameters”Bitmosh
op('bitmosh').par.Mix Blend the source to the decoded stream. 0 is an exact passthrough.
- Default:
1- Range:
- 0 to 1
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
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
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
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
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
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
op('bitmosh').par.Fieldmv Coded pixels of motion at full field deflection.
- Default:
18- Range:
- -128 to 128
Breakup
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
op('bitmosh').par.Burst Gather failures into related packet regions instead of scattering them evenly.
- Default:
0.72- Range:
- 0 to 1
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
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
op('bitmosh').par.Truncate Remove high-frequency correction data so the wrong reference remains visible.
- Default:
0.72- Range:
- 0 to 1
op('bitmosh').par.Bitflip Corrupt surviving motion and levels instead of dropping the whole packet.
- Default:
0.04- Range:
- 0 to 1
op('bitmosh').par.Maskgain How much the mask input adds to local dropout probability.
- Default:
0.8- Range:
- 0 to 2
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
op('bitmosh').par.Gain Final decoded-picture gain.
- Default:
1- Range:
- 0 to 3
op('bitmosh').par.Seed Channel identity. The same seed, inputs, and generation reproduce the same breakup.
- Default:
11- Range:
- 0 to 99999