# Luminosity Limit

Luminosity Limit QC monitors your video signal for pixels exceeding configurable brightness thresholds. This is essential for broadcast compliance and ensuring your content meets delivery specifications.

> **A note on terminology.** The name "Luminosity" is historical — the quantity actually being measured is **luma (Y')**, the weighted sum of the non-linear R'G'B' code values, not physical luminance. Luma is what broadcast spec documents mean when they say "signal level in IRE" or "percent", and it is the correct quantity for narrow-range legal checks (EBU R103, SMPTE RP 2077, ARIB TR-B32). For **absolute brightness in nits**, the signal is decoded through its inverse EOTF and the result is scene/display luminance (Y) — select the **Nits** scale for this mode.

## Overview

The Luminosity Limit tool checks every frame for:

* Pixels whose luma (or decoded nit value) exceeds a maximum threshold
* Pixels below a minimum threshold
* Both narrow-range ("legal") and full-range violations

This is particularly important for:

* Broadcast delivery compliance (e.g. 0–100 IRE luma window for SDR)
* HDR content validation (peak-nit and average-nit limits)
* Catching clipping before it reaches the deliverable

## Enabling the Tool

1. Open the **QC** panel (View > QC Panel or use the toolbar button)
2. Enable **Luminosity Limit** checkbox
3. Configure your threshold settings

## How It Works

The Luminosity Limit tool analyses each frame and:

1. Computes luma (Y') per pixel — or decoded nits when the Nits scale is active
2. Compares values against your configured thresholds
3. Reports violations in real time
4. Logs errors to the QC Timeline for review

The scale choice changes the underlying measurement. In **IRE / Percent** mode, the tool works in luma space — no EOTF decoding is performed, and thresholds apply to gamma-encoded code values directly. In **Nits** mode, the signal is decoded through the active transfer function (PQ ST 2084, HLG, Rec. 709 BT.1886, etc.) and thresholds are compared against physical luminance.

## Settings

| Setting           | Description                             | Default |
| ----------------- | --------------------------------------- | ------- |
| Max Level         | Maximum allowed luminance (IRE or nits) | 100 IRE |
| Min Level         | Minimum allowed luminance               | 0 IRE   |
| Scale             | IRE, Percent, or Nits (for HDR)         | IRE     |
| Error Threshold   | Percentage of pixels to trigger error   | 0.1%    |
| Warning Threshold | Percentage of pixels to trigger warning | 0.01%   |

### Scale Options

| Scale   | Use Case                 | Range         | Measures                               |
| ------- | ------------------------ | ------------- | -------------------------------------- |
| IRE     | Standard broadcast (SDR) | 0–109 IRE     | Luma (Y')                              |
| Percent | General video work       | 0–100 %       | Luma (Y')                              |
| Nits    | HDR content              | 0–10 000 nits | Decoded luminance (Y) via inverse EOTF |

IRE is anchored to the legacy 0 = black / 100 = nominal white broadcast scale. "Percent" is numerically identical but avoids the IRE branding. **Nits** is the only absolute scale — both IRE and Percent are *relative* to the signal's nominal range.

## Reading the Results

### In the QC Panel

The QC panel shows real-time status:

* **Green**: All frames within limits
* **Yellow**: Warning threshold exceeded
* **Red**: Error threshold exceeded

Current statistics displayed:

* Maximum luma / nit value detected
* Percentage of pixels over limit
* Frame count with violations

### In the Timeline

Luminosity limit errors appear in the QC Timeline:

* **Yellow markers**: Warning-level violations
* **Red markers**: Error-level violations
* Threshold guide lines use the full scale range for the current signal depth, so their vertical position matches the actual detection threshold instead of shifting with the observed peak
* Click any marker to jump to that frame

### In Exports

When exporting QC reports (EDL/HTML):

* Each violation is logged with timecode
* Peak luma / nit value is recorded
* Percentage of over-limit pixels is included

## Use Cases

### Broadcast Delivery

Most broadcasters require video to stay within legal range:

1. Set Max Level to **100 IRE** (or per broadcaster specs)
2. Set Min Level to **0 IRE**
3. Set Error Threshold to match delivery specs (often 0%)

### HDR Mastering

For HDR content with specific peak brightness targets:

1. Switch Scale to **Nits**
2. Set Max Level to your target (e.g., 1000 nits for HDR10)
3. Use Warning Threshold to catch near-limit content

### Super-White Detection

To find super-white content (100-109 IRE range):

1. Set Max Level to **100 IRE**
2. Set Error Threshold very low (0.001%)
3. Review flagged frames individually

## Standards Reference

| Standard          | Max Level                               | Notes                                                                                  |
| ----------------- | --------------------------------------- | -------------------------------------------------------------------------------------- |
| **EBU R103**      | 100 % luma (5 % excursions up to 103 %) | European broadcast. Narrow-range signal; measurement is on the R103 pre-filtered luma. |
| **SMPTE RP 2077** | 100 IRE peak luma                       | US broadcast equivalent. Similar intent to R103.                                       |
| **ARIB TR-B32**   | 100 % luma                              | Japanese broadcast.                                                                    |
| **HDR10**         | 1 000 – 4 000 nits peak                 | Fixed PQ transfer function; mastering display peak is metadata.                        |
| **Dolby Vision**  | Up to 4 000 nits (Profile 5/7/8)        | PQ transfer; per-scene trim metadata (L1–L8) carried alongside.                        |
| **HLG**           | \~1 000 nits nominal peak               | Scene-referred OETF; display-dependent tone-mapping via a system gamma.                |

EBU R103 and SMPTE RP 2077 both operate on **luma**, not luminance — they are SDR specifications and deliberately do not decode through the EOTF. HDR10 and Dolby Vision operate on **absolute nits** after PQ decoding. HLG is unusual: the signal is scene-referred (OETF), so the same code values mean different nit levels depending on the display's peak luminance.

## Tips

* Use the Error Logger scope alongside Luminosity Limit for detailed tracking
* Set conservative Warning thresholds to catch issues before they become errors
* Different broadcasters have different specs - always verify requirements
* For HDR, consider using HDR Limit QC for more comprehensive checking

## Related QC Tools

* [HDR Limit](/nobe-omniscope/qc/hdr-limit.md) - Comprehensive HDR validation including MaxCLL/MaxFALL
* [Gamut Check](/nobe-omniscope/qc/gamut-check.md) - Color gamut compliance checking
* [Data Analyser](/nobe-omniscope/qc/data-analyser.md) - Detailed signal statistics
* [HDR Statistics](/nobe-omniscope/qc/hdr-statistics-maxfall-and-maxcll.md) - MaxCLL and MaxFALL measurement


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.timeinpixels.com/nobe-omniscope/qc/luminosity-limit.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
