Releases: stoatworks-labs/ccu
Release list
v0.1.0
A broadcast camera's processing chain with every knob out, as an FFGL effect for Resolume Arena and Avenue, shown as SW CCU. The "video" look of a studio or OB camera is not a filter: it is a chain of known circuits in a fixed order, and CCU runs the clip through them in that order, in linear light — master gain, white balance with a slow drift, a matrix, detail from pixel and line delays with coring, level dependence and a skin window, a per-channel knee, gamma and black gamma, pedestal and white clip — with each knob labelled the way a camera control unit labels it. The badly set-up camera looks fall out of the order rather than being drawn: halos the width of the delay, grain sharpened by a low coring, faces softened while the jacket stays sharp, highlights gone milky through the knee, and a warm white that clips in red first.
What is verified
By tools/verify.sh on an M4 Max, macOS 26.4, on 2026-09-24, at two rasters (320×180 and 1280×720) on a fresh universal build:
- Every stage at its null returns a three-ramp picture to 1.2e-7, 0.07 of a tolerance derived from the OETF round trip in float (3.6e-6 at white); alpha bitwise; the same after a resize mid-run.
- A step of 0.3872 linear overshoots by 0.096795 against Detail Level × h / 4 = 0.096795, for exactly ceil( delay ) pixels at 2, 2.5, 3 and 1.5 px, horizontal and vertical; the fractional pixel carries its fraction of the peak.
- An edge of 0.02 below Coring 0.04 gets exactly zero detail both sides; an edge of 0.20 overshoots by 0.040000 against Level × ( h − c ) / 4.
- Above the knee point a linear ramp's slope is 0.24000 against 0.2400, 1.00000 below it, continuous at the point, per channel (red compressed, green and blue untouched to 6e-8); the knee off is the identity.
- A ramp follows the OETF at +6 dB and at exponents 0.35 and 0.55 to 1.7e-7; Black Gamma lifts up to the last column its bump can be seen on and not from 0.25.
- Red at +6 dB through white balance and then the knee is 0.831815 as that order predicts; the knee-first order would give 0.997004, 34,605 tolerances away; with the knee off red clips to exactly 1.0.
- The detail gain is 0.25 inside a skin window at Skin Detail 0.75, 1.00 with the window 90° away and 1.00 on a neutral.
- Eight perturbed chains each fail their check at both rasters; one character changed in the shipped GLSL is caught by five checks.
- All 23 controls change the picture at both rasters; all 3 shaders compile through
glslc;oxbowloads it asSW CCU/CC01/ effect and renders 120 frames. - Render cost at the defaults: 0.06 ms a frame at 720p, 0.17 at 1080p, 0.7 at 4K. macOS figures only.
- Windows, in Resolume Arena 7.27.1 (win-lab, Mesa llvmpipe, no GPU, 2026-09-24): this release's DLL loads from Extra Effects, registers as
SW CCU/CC01/ effect, all 29 host controls match the declaration in name, order, type, range and default, it renders, all 24 valued controls (Arena's Opacity included) move the picture, and Arena's log stays clean: 9 of the fleet gate's 9 checks. Software rendering says nothing about a GPU or about speed.
Found filming the release video
The video was rendered by the harness's --pipe over Resolume's bundled demo clips. Every one of the 33 clips was put through the defaults first: nothing floods or blanks, the dark clips stay dark, and the defaults stood. One guide claim was corrected by the footage: a warm white with the knee off does not give cyan-edged highlights; red reaches the ceiling first, so each highlight's core goes white inside a warm surround.
What is not
- Never loaded into Resolume on macOS.
- The clip stands in for scene light: an 8-bit clip's white is the top of what the chain sees, so only Master Gain and the R and B gains push anything into the knee.
- The knee is per channel only (no luma knee); the skin window is on the linear colour's hue; the drift's mired-to-gain law is a judged constant and the drift has not been watched over a minute in a host.
- No OpenFX port and no presets. There is a user guide at https://stoatworks-labs.com/software/ccu/guide/ and a browser demo at https://ccu-demo.stoatworks-labs.com/, which is a port rather than the plugin.
The macOS build is Developer ID-signed and notarised by the release pipeline after publication; if macOS refuses a download, it predates the signing, so download it again. The Windows build is unsigned, so SmartScreen warns once.