Guides

    Run a Broadcast-Safe Pass Before Delivery

    RGB and composite illegal values still fail cable and FAST QC. A Rec.709 16–235 checklist, a legalizer after the grade, and a stills compare to keep the look.

    Versely Team9 min read

    Cable and FAST quality-control templates still fail files for illegal RGB and composite values, even when the grade looks correct on a Rec.709 monitor. Generated footage is a frequent offender: full-range files, neon skies, and brand reds that sit outside chroma limits. The fix is not a softer grade. It is a legalizer after the grade, then a stills compare so the legalizer has not grayed the look.

    "Looks fine on my display" is not a QC argument. QC houses measure code values.

    What still fails QC when the grade looks fine

    Two different illegalities get collapsed into "broadcast safe," and they are not the same check.

    Digital levels. ITU-R BT.709 is the HDTV production encoding. In 8-bit, nominal luma (and R'G'B') sits in 16–235; chroma (Cb, Cr) sits in 16–240, with 128 as the neutral. In 10-bit those ranges scale to 64–940 for luma and 64–960 for chroma. Values below the black code are sub-black; values above the white code are super-white.

    RGB gamut. A Y'CbCr triple can be legal in luma and chroma and still convert to an RGB channel below 0 or above 1. Highly saturated cyans, electric skies, and some brand reds do this constantly. The scope that catches it is an RGB parade or a gamut error overlay, not a waveform of luma alone.

    Composite excursion. Some QC templates still run a composite-legal check derived from analog transmitter limits, even on files that will never see a transmitter. Luma plus chroma in that simulated encoder goes outside the allowed envelope. You will see it on neon, on saturated lower-thirds, and on generated VFX. Treat it as a real fail if the delivery spec names it.

    EBU R 103 is the named tolerance document QC houses apply on top of the Rec.709 nominal range. It permits a small excursion rather than treating every code value outside 16–235 as an automatic fail. Do not confuse the nominal range with the QC tolerance, and do not use the tolerance as a place to park the look. Grade into 16–235. Let R103 cover measurement error and a few stray pixels.

    FAST means free ad-supported streaming television. Those pipelines, and linear cable, still expect video-range files. A full-range 0–255 master tagged (or untagged) as video range will crush, clip, or fail.

    Generated clips pick up this problem in three regular ways:

    • They often arrive as full-range computer RGB, or untagged, even when the destination is video range. Check the range flag. Do not assume.
    • Models like saturated colour. The vectorscope will show chroma that Rec.709 cannot hold.
    • Highlights clip to digital peak rather than rolling off into a legal highlight.

    Why colours shift between screen and export is the display-gamut version of this story (P3 screens, sRGB files). This pass is the code-value version. Both can be true on the same job.

    Digital 16–235 and chroma excursion

    Put the scopes up before you reach for a legalizer plugin.

    1. Confirm the working range. Rec.709 video range, not full range, unless the delivery spec says otherwise. If the generated file is full range, convert it deliberately. A mistaken full-to-video squeeze is a crushed image, not a legal one.
    2. RGB parade. Every channel should sit inside 16–235 on 8-bit scopes (64–940 on 10-bit). A channel kissing 0 or 255 is a fail waiting for QC, even if luma looks fine.
    3. Waveform, luma. Black near 16, white near 235, with a toe and a shoulder. Generated footage likes to park black at 0 and white at 255.
    4. Vectorscope. Skin in the usual neighbourhood. Brand colours inside the Rec.709 circle, not on the box edge. If a brand red is the problem, you have a design constraint, not a legalizer setting: pull it in the grade toward a Rec.709-legal neighbour of the hex you actually need, then legalize what is left.
    5. False-colour or gamut error. Turn it on. If the overlay lights up skies, practicals, or titles, those pixels will fail RGB or composite even if the parade "mostly" looks in range.

    A grade redistributes values that already exist. It does not create headroom that was never there. If a clip is clipped on the way in, a grade cannot rescue it. Legalizing a clipped highlight gives you a flat, legal highlight.

    Put the legalizer after the grade

    A legalizer is a clip or a compressor on luma and chroma. It has no opinion about your look until you feed it one.

    Before the grade, it is a waste. You legalize a picture you are about to push. The grade puts values back out of range, and you legalize twice, the second time against a different picture.

    After the grade, it is a safety net. The look is set. The legalizer catches the pixels the grade shoved over the line: a super-white window, a super-saturated practical, a generated sky.

    Settings that survive contact with a look:

    • Operate in the same colour space you graded in, Rec.709 for SDR delivery.
    • Soft knee rather than a hard clip, so highlights roll instead of flattening into a digital ceiling.
    • Chroma compression that pulls illegal RGB back into gamut without greying the whole frame. A "desaturate until legal" mode will take a brand colour with it.
    • Do not use the legalizer to make contrast. If you need more snap, do it in the grade, then legalize.

    Audio is a parallel pass, not a substitute. Mix to a documented loudness target (EBU R 128 at −23 LUFS for broadcast, true peak at or below −1 dBTP) after the picture is legal, not instead of it. Loudness normalization is that pass. This one is picture.

    Grain, if you use it, sits after this legalizer. Grain before a legalizer gets its peaks clipped in the toe, which is where you wanted a noise floor. That order is a finishing-layer problem; the legalizer's job is to see a graded picture that has not yet been textured.

    A stills compare so the look survives

    Legalizers fail quietly. The file passes QC and the spot looks like someone washed the grade. The check is a still, not a scope glance while the timeline plays.

    1. Park on a frame that holds the look: a face, a product, a branded colour, a window.
    2. Extract that still before the legalizer and after it. Same frame, same viewer, same display profile.
    3. Toggle. If skin went grey, if the brand red went brick, if the window lost its shoulder and became a slab, the legalizer is too aggressive or the grade was too hot.
    4. Confirm on scopes that the after still is inside 16–235 / 16–240, and that the vectorscope still has the colour you approved.
    5. If the look died, go back to the grade. Pull the offending channel or the saturation there. Run a gentler legalizer. Do not crank a second legalizer on top of the first and hope.

    Extracting stills from footage you already rendered is the same habit in a different context. Here the still is a QC artifact: before, after, keep both in the job folder.

    Do this on more than one frame. A legalizer that is kind to a midtone talking head can still flatten a generated lightning plate or a neon night exterior two cuts later. Any shot that looked "hot" in the grade is the one to still.

    The Versely editor will not be the legalizer. Assemble the cut there, then finish levels in the grading tool that has a legalizer and scopes. The editor's preview: true pass renders at 480p and carries a short per-user cooldown. 480p is the wrong fidelity for code values; crushed blacks and clipped skies both look acceptable when there are not enough bits to show the clip. Judge this pass on a Rec.709 monitor against the final export. Check a video before you publish it is the last assembly pass; the legalizer is the last picture pass before that file leaves.

    A delivery checklist, short enough to run every time:

    • Range is video, Rec.709, tagged.
    • RGB parade inside 16–235 (8-bit) or 64–940 (10-bit).
    • Chroma inside 16–240 / 64–960, no RGB-negative conversions.
    • Legalizer after the grade, stills compare against the un-legalized frame.
    • Composite-legal check if the spec names it.
    • Loudness and true peak on the audio, separately.

    If QC still fails after that, the report will name a timecode and a channel. Fix that shot. Do not "legalize harder" across the sequence.

    FAQ

    Does a "broadcast safe" export checkbox replace this pass?

    No. Those checkboxes are often a hard clip to 16–235 on luma only, or a simple RGB clamp. They can pass a luma waveform and still fail RGB gamut or composite. Use a real legalizer, then look at a still.

    Should I deliver full range if the spot will only play online?

    Only if the destination documents full range and you tag the file that way. Most online players and most FAST ingest still expect video range. A full-range file played as video range crushes; a video-range file played as full range looks washed. Tag what you mean. Video range is the default that QC templates understand.

    Will a legalizer save a generated sky that is already clipped?

    It will make the clip legal. It will not restore a shoulder that was never rendered. If the sky is a slab at 255, legalizing it gives you a slab at 235. Replace the shot, or live with a legal, flat sky. Do not spend the look of the rest of the sequence trying to hide one clipped plate.

    How is this different from colour-managing for a P3 screen?

    A P3 screen can show colours Rec.709 cannot encode. That is a display-referred mismatch. Illegal code values are a file-referred mismatch: the numbers sit outside the delivery encoding. Fix the numbers. Then view the result on a Rec.709 display so you are not approving P3 headroom the file does not contain.