Standards
A PAL/NTSC standards converter for Resolume

What it does
An FFGL effect for Resolume Arena and Avenue. Until the 1990s, a programme crossing the Atlantic went through a standards converter: a store of a few fields that interpolated twice, once in time, making each output field from the input fields either side of it, and once in space, making each output line from nearby lines of the field being read.
Standards is that box. The clip becomes fields of the source standard at that standard's own instants, and everything else follows. 50 into 60 is 5 into 6, so anything moving smoothly advances in a stutter six fields long, and at 59.94 the cycle creeps. An output field that lands between two input fields blends them into a double image, and only a few vertical taps across interlaced lines give it the soft look.
Temporal picks Drop/Repeat (a repeated field instead of a blend), Linear, or Four Field (sharper, with ringing). Vertical Taps picks 1, 2, 4 or 8. Motion Comp adds crude block vectors between the two fields either side, which take the judder out of a pan and tear wherever a block has two motions in it, just as the first motion-compensated converters did.
The directions are 625/50 to 525/59.94, the reverse, 625/50 to 525/60, and Same. Show As weaves or bobs the output fields, and Output Size shows native lines or scales to the host.
- Fields of the source standard at its own instants, top field first
- Drop/Repeat, Linear and Four Field temporal apertures
- 1, 2, 4 or 8 vertical taps on the lines of the field being read
- Crude block motion compensation that smooths pans and tears at occlusions
- 625/50 ↔ 525/59.94, 625/50 → 525/60, and Same
- Weave or Bob, native lines or host size
- Universal macOS bundle and a Windows x64 DLL
Where it stands
v0.1.0, and early days. It hasn't been loaded into Resolume on macOS yet. On Windows it has: a build loads, registers and renders in Resolume Arena 7.27.1 on software rendering (no GPU), with every parameter as declared and every control shown moving the picture, though on a still picture, so the judder itself wasn't seen there. The conversion is measured offline, by a harness driving the real plugin: each output field's temporal weights sit where the timing puts them over 772 fields, 50 to 60 repeats bit for bit every six fields and 50 to 59.94 creeps by the right fraction of a field per cycle, a moving bar's repeats and double images land where they should, the vertical response matches the taps, Same gives back the fielded input with 0 bytes different, and motion compensation steps a pan to within 0.5 px. It catches sixteen models broken on purpose and a one-character sabotage of its own shader, and all 8 swept controls change the picture. At the defaults it costs 0.42 ms a frame at 4K on macOS, or 1.81 ms with Motion Comp. There's a user guide and a browser demo, but no presets and no OpenFX port. Try it in your own rig before you trust it in a show.
Watch it running
Nothing loads from YouTube until you press play.Watch it there instead