- Image
- Effects
Teleloop
Purpose
Section titled “Purpose”Teleloop combines video encoding, tape damage and a CRT display treatment. Its feedback loop sends the displayed picture through the chain again, accumulating distortion and colour changes on each pass.
Place Teleloop under Effects in the Image view and connect footage to image. Start with Feedback at zero. Choose Signal Path, adjust Wear, then set the CRT appearance.
Raise Feedback gradually to repeat the image through the effect. Feed Zoom and Feed Rotate move the picture on each trip around the loop.
Inputs and outputs
Section titled “Inputs and outputs”imagesupplies the main picture.fieldbends the display beam through Field Deflection.maskadds local damage through Mask Wear.splicesupplies a second picture that Splice wipes in from the bottom.outis the screen or signal view selected by Tap.
Controls
Section titled “Controls”- Signal Path selects Component, NTSC or PAL. Active Lines sets signal detail independently of output resolution.
- Luma Bandwidth and Chroma Bandwidth control detail and colour smear.
- Wear scales the Damage controls, including Timebase Error, Dropouts and Tracking.
- Feedback sets the loop contribution. Feed Gain, zoom, rotation and offsets change each pass.
- Phosphor retains earlier light. Beam Width, Mask and Mask Pitch shape the CRT structure.
- Tap shows the screen or a signal diagnostic.
High Feedback can leave the output dominated by its own history. Return Feedback to zero to stop recirculating it. Active Lines controls the video signal; Mask Pitch is measured in output pixels.
Inputs
-
imageimage required -
fieldimage -
maskimage -
spliceimage
Outputs
-
outimage
Parameters
Section titled “Parameters”Raster
op('teleloop').par.Mix Blend the source to the scanned picture.
- Default:
1- Range:
- 0 to 1
op('teleloop').par.Wear Master scaler over every Damage control. 0 is a pristine deck.
- Default:
0.35- Range:
- 0 to 1
op('teleloop').par.Feedback Camera-into-monitor gain. The loop runs through the whole chain, so each trip is one tape generation. 0.2-0.9 performs; above that the loop is almost purely self-referential and latches into burnt-in states.
- Default:
0- Range:
- 0 to 1
op('teleloop').par.Persistence Phosphor decay time. Green outlives red outlives blue, as P22 does.
- Default:
0.3- Range:
- 0 to 1
Signal
op('teleloop').par.Lumabw Megahertz. Broadcast is about 4.2, VHS about 3.0, a worn tape lower.
- Default:
4.2- Range:
- 0.2 to 12
op('teleloop').par.Chromabw Megahertz. NTSC I is about 1.3, VHS colour-under about 0.4. Low values smear colour to the right of edges.
- Default:
1.1- Range:
- 0.05 to 6
op('teleloop').par.Chromadelay Chroma/luma misregistration in signal samples.
- Default:
0- Range:
- -14 to 14
op('teleloop').par.Ringing Filter overshoot: the bright halo on sharp edges.
- Default:
0.35- Range:
- 0 to 2
op('teleloop').par.Motionadapt How fast the frame comb falls back to the line comb on motion. Zero forces the smear.
- Default:
1- Range:
- 0 to 1
op('teleloop').par.Saturation Decoded chroma gain.
- Default:
1- Range:
- 0 to 3
op('teleloop').par.Splice Wipe the splice input in from the bottom. The seam loses lock like an ungenlocked switcher.
- Default:
0- Range:
- 0 to 1
Damage
op('teleloop').par.Timebase Per-line horizontal jitter.
- Default:
0.3- Range:
- 0 to 1
op('teleloop').par.Drift Slow stretch plus the top-of-frame flag bend.
- Default:
0.35- Range:
- 0 to 1
op('teleloop').par.Hum Mains ripple: a drifting bend and brightness bar.
- Default:
0.15- Range:
- 0 to 1
op('teleloop').par.Noise Broadband RF noise. Energy near the subcarrier decodes into chroma confetti on its own.
- Default:
0.12- Range:
- 0 to 1
op('teleloop').par.Dropouts Density and length of tape dropouts.
- Default:
0.25- Range:
- 0 to 1
op('teleloop').par.Doc Substitute the previous line inside a dropout, as a real deck does. Off gives raw streaks.
- Default:
On- Options:
- Off, On
op('teleloop').par.Headswitch Bottom-of-frame switching tear and the hook above it.
- Default:
0.5- Range:
- 0 to 1
op('teleloop').par.Tracking Drifting noise band with level loss.
- Default:
0.2- Range:
- 0 to 1
op('teleloop').par.Ghost RF multipath: a delayed copy of the whole signal.
- Default:
0- Range:
- -1 to 1
op('teleloop').par.Ghostdelay Multipath delay in signal samples.
- Default:
42- Range:
- -256 to 256
op('teleloop').par.Chromaerror Per-line subcarrier phase error. NTSC shifts hue; PAL trades it for saturation loss.
- Default:
0.2- Range:
- 0 to 1
op('teleloop').par.Sync 1 is locked. Below 1 the picture rolls and tears at the sync bar.
- Default:
1- Range:
- 0 to 1
op('teleloop').par.Maskgain How much the mask input adds to local wear.
- Default:
0.5- Range:
- 0 to 2
op('teleloop').par.Seed Deck identity. Same seed and time reproduce the same damage.
- Default:
7- Range:
- 0 to 99999
Loop
op('teleloop').par.Feedzoom Camera zoom per generation. Above 1 tunnels inward.
- Default:
1.006- Range:
- 0.9 to 1.1
op('teleloop').par.Feedrotate Camera roll per generation, degrees.
- Default:
0- Range:
- -45 to 45
op('teleloop').par.Feedx Camera aim offset.
- Default:
0- Range:
- -0.5 to 0.5
op('teleloop').par.Feedy Camera aim offset.
- Default:
0- Range:
- -0.5 to 0.5
op('teleloop').par.Feedhue Hue rotation per generation.
- Default:
0- Range:
- -1 to 1
op('teleloop').par.Feedgain Loop gain. Above 1 self-oscillates; the modelled AGC is what keeps it bounded.
- Default:
1- Range:
- 0 to 1.6
Tube
op('teleloop').par.Beam Spot size in scanline pitches. Below 1 the line structure shows.
- Default:
0.62- Range:
- 0.15 to 2.5
op('teleloop').par.Bloom How much a bright beam widens. This is why CRT highlights go solid.
- Default:
0.8- Range:
- 0 to 3
op('teleloop').par.Pitch Output pixels per RGB triad.
- Default:
3- Range:
- 1.2 to 24
op('teleloop').par.Maskdepth Mask contrast. Energy is normalised so depth does not change exposure.
- Default:
0.55- Range:
- 0 to 1
op('teleloop').par.Gamma Tube EOTF.
- Default:
2.35- Range:
- 1.6 to 3.2
op('teleloop').par.Brightness Drive before the tube EOTF. Above 1 compensates for the light a narrow beam leaves between scanlines.
- Default:
1.22- Range:
- 0 to 2
op('teleloop').par.Blacklevel Tube cutoff: the drive below which no beam is emitted. The set's Brightness knob is this control.
- Default:
0.045- Range:
- 0 to 0.6
op('teleloop').par.Contrast Beam current scale after the EOTF.
- Default:
1.08- Range:
- 0.4 to 2.4
op('teleloop').par.Vsm Beam speeds up into dark transitions. This is CRT punch.
- Default:
0.35- Range:
- 0 to 1.5
op('teleloop').par.Interlace Draw alternate fields. Real interlace shimmer and combing on motion, at the cost of half the lines per generation.
- Default:
Off- Options:
- Off, On
op('teleloop').par.Convergence Corner misconvergence in output pixels.
- Default:
0.6- Range:
- 0 to 6
op('teleloop').par.Deflect How hard the field input bends the beam.
- Default:
0- Range:
- 0 to 0.6
Glass
op('teleloop').par.Halation Glow inside the glass. It accumulates and lags, as real glass does.
- Default:
0.25- Range:
- 0 to 1.5
op('teleloop').par.Curvature Tube face curvature.
- Default:
0.22- Range:
- 0 to 1
op('teleloop').par.Overscan How far the raster is scanned past the visible face.
- Default:
0.03- Range:
- -0.1 to 0.25
op('teleloop').par.Vignette Corner falloff.
- Default:
0.35- Range:
- 0 to 1
op('teleloop').par.Reflection Room light on the front glass, as a display-referred grey.
- Default:
0.16- Range:
- 0 to 1
op('teleloop').par.Ambient Unlit phosphor is a cool grey, never zero. Display-referred.
- Default:
0.055- Range:
- 0 to 0.35
op('teleloop').par.Agc Automatic gain: the picture breathes on cuts. This is also what bounds the feedback loop.
- Default:
0.45- Range:
- 0 to 5
op('teleloop').par.Agcbloom High voltage sags under beam current, so bright frames swell.
- Default:
0.25- Range:
- 0 to 1