> For the complete documentation index, see [llms.txt](https://docs.timeinpixels.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.timeinpixels.com/nobe-omniscope/sources/davinci-resolve-ofx/signal-range.md).

# Signal Range

## Overview

When integrating OmniScope with OpenFX, users can choose between two signal modes: **Full Range** and **Video Range**. The choice affects how pixel values leaving Resolve are mapped into OmniScope's internal code-value space — and, as a consequence, what the legal-range graticules actually mean.

<figure><img src="/files/Yb6lMOwaWw0Ynjf2WrAq" alt=""><figcaption><p>Signal range selection in OpenFX plugin settings</p></figcaption></figure>

## What "video range" and "full range" mean

Both modes use the same 10-bit container (0–1023 code values), but they **scale** the signal differently.

| Mode                                            | Black   | Nominal white | Headroom                  | Footroom                    |
| ----------------------------------------------- | ------- | ------------- | ------------------------- | --------------------------- |
| **Video Range** (a.k.a. narrow / legal / SMPTE) | code 64 | code 940      | 941–1019 ("super-whites") | 1–63 ("blacker than black") |
| **Full Range**                                  | code 0  | code 1023     | none                      | none                        |

Video Range is the traditional broadcast convention inherited from analogue composite video — the signal is delivered with deliberate headroom above and below the nominal 0–100 IRE window for analogue over-/undershoots. Legal-range QC (EBU R103, SMPTE RP 2077) is defined on these ranges.

Full Range uses the entire code-value space. It's the native convention for computer-generated content, stills, and modern digital cameras recording in scene-linear or log formats. There is no footroom/headroom — code 0 is absolute black, code 1023 is absolute white.

## When to use which

### Video Range

Choose Video Range when your goal is to verify narrow-range legal delivery — i.e. you want to *see* the 64 / 940 guides on the waveform, catch super-whites that exceed 940, or fail pixels that punch below 64.

* **Use case**: broadcast or streaming QC where the deliverable is Rec. 709 / Rec. 2020 narrow range and you need to match a spec like R103 or ARIB TR-B32.
* Headroom and footroom are preserved and visible; you can observe the full 1–1023 excursion of the source.

### Full Range

Choose Full Range in digital production pipelines where narrow-range legal checking is not the point — for example, grading ACES or DaVinci Wide Gamut timelines, working with stills or RAW, or checking CG renders.

* **Use case**: scene-linear or wide-gamut grading where the signal has already been expanded to fill the full 0–1023 container.
* The signal is clipped to 0–1023 in a 10-bit environment; anything outside that range in the source is lost *at the transport boundary*, so narrow-range over/undershoots are no longer recoverable once the signal crosses into OmniScope.
* Legal-range graticules are meaningless in this mode because there is no deliberate headroom/footroom to check against.

> **Important:** Video Range mode preserves the ability to *detect* super-whites; Full Range mode trades that ability for headroom-free signal fidelity. The choice should match the colour-science stage you are measuring, not your personal preference.

## Summary

Choose **Video Range** for rigorous adherence to broadcast narrow-range specs; choose **Full Range** for digital-native pipelines where every code value matters and there is no "legal range" to check against.

For additional support or to address any concerns, please contact OmniScope support.
