MPCDI

MPCDI (Multiple Projector Common Data Interchange) is the VESA standard for exchanging projector warp and blend data between systems. A camera-based auto-calibration system measures a multi-projector setup and writes the result as an .mpcdi file containing the warp shape, the soft-edge blend, and an optional black-level correction for each projector. WATCHOUT reads the file directly, so the calibration computed by the external system is applied at the display with no manual setup.

WATCHOUT imports VESA MPCDI v1.0 and v2.0 files, 2D Media profile only. See Standards Compliance below for the exact subset of the standard that is consumed.

Importing an MPCDI File

Drag an .mpcdi file onto the Stage. Each region in the file becomes a display in the show, positioned and sized according to the region's buffer coordinates and resolution. The file itself is imported as a Display Data asset under the show's Asset Manager.

WATCHOUT remembers which MPCDI asset each display was created from. When you replace the file with an updated version, every display that came from it picks up the new geometry and blend data automatically.

What WATCHOUT Applies from the File

The renderer applies three layers of correction sampled from the MPCDI file in a single warp-and-blend pass after compositing:

Sub-pixel Warp

WATCHOUT applies the MPCDI warp at sub-pixel precision — much finer than the junction grid of the built-in Warp Geometry editor. This is what makes MPCDI suitable for camera-measured calibration, where the alignment error is well below one display pixel.

Per-Channel Alpha Blend with Baked-in Colour Calibration

The MPCDI alpha mask is an RGB image: red, green, and blue can be attenuated independently at every pixel. That lets the mask carry two things at once:

  • The soft-edge blend that fades adjacent projectors into each other in the overlap region.
  • A per-pixel colour and brightness correction that compensates for differences between projectors in the array.

Calibration systems bake both into the same mask. No separate per-display white point or colour LUT is needed when the MPCDI file already carries the correction.

Beta Mask Black-Level Lift

Projectors don't produce true black: light leaks through the lens even when the image is dark. In overlap regions where two or more projectors cover the same area, this leakage stacks and produces a visibly lighter wedge that breaks the seamless look. The MPCDI beta mask compensates by lifting the black level of the non-overlap area so the dark floor is uniform across the whole surface.

Two beta-mask variants are accepted:

  • Single-channel — one offset applied equally to red, green, and blue.
  • Three-channel — separate offsets per channel, used when the projector's black leakage has a colour tint.

If the MPCDI file does not include a beta mask, only the alpha blend is applied.

Interaction with Other Display Features

Displays created from an MPCDI file have several built-in features turned off, because the MPCDI data already covers them:

  • Automatic soft edges are not applied — the MPCDI alpha mask carries the blend.
  • Display white point sliders are unused for the same reason — colour correction is baked into the alpha mask.
  • Custom Warp Geometry and Display Masks can still be enabled on top, but they layer onto an already-warped output. Typical workflow is to leave both off and trust the MPCDI calibration.

Updating a Calibration

When the calibration is re-run, the calibration system writes a new .mpcdi file. Drop the new file into the show's Asset Watcher location to update the existing Display Data asset. At showtime, WATCHOUT picks up the new file and updates every linked display's position, size, and resolution to match — no manual reconfiguration needed.

This makes MPCDI well suited to venues where the rig moves: re-calibrate, drop the new file, and the show updates on the next render.

Standards Compliance

WATCHOUT consumes a deliberate subset of the VESA MPCDI standard, sized to what the renderer can use. Files that declare features outside this subset will load but the unsupported parts are silently ignored.

Container and Version

  • .mpcdi ZIP container, mpcdi.xml descriptor.
  • Versions 1.0 and 2.0.

Profile

ProfileStatus
2D MediaSupported. PFM data is interpreted as a forward 2D UV map per VESA §3.6.2.
3D Simulation, Advanced 3D, Shader LampsNot supported. No frustum, coordinate-frame, distortion-map, or 3D-position rendering path in the renderer. Files import without error but render incorrectly.

Geometry Level

LevelStatus
Level 1 (≤ 32×32 grid)Supported.
Level 2 (up to per-pixel)Supported. The optimizer does not impose a grid-size limit; PFM dimensions drive vertex count directly.

Color

WATCHOUT does not match any single Color Level cleanly. It implements a hybrid subset:

FeatureSupportedLevel in the spec
Encode gamma (single value)Yes1, 2
Single-channel alpha mapYes1, 2, 3
3-channel RGB alpha mapYes4, 5
Single-channel beta mapYes2, 3
3-channel RGB beta mapYes4, 5
Decode gammaIgnored1, 2
Decode 1D LUTIgnored3, 4, 5
Correct: 1D LUT + RGB primariesIgnored3, 4
Correct: 3D LUTIgnored5
Encode 1D LUTIgnored3, 4
Encode 3D LUTIgnored5

In practice this means alpha and beta masks are honoured at full per-channel resolution, but per-projector colour correction must be baked into the alpha mask by the calibration system — WATCHOUT does not apply MPCDI's separate decode/correct/encode LUT pipeline.

Files

FileStatus
alphaMap (PNG)Read. 1 or 3 channels, 8 or 16 bit. gammaEmbedded applied at import.
betaMap (PNG)Read. 1 or 3 channels, 8 or 16 bit.
geometryWarpFile (PFM)Read. 2D forward UV map, sub-pixel precision.
distortionMap (PFM)Ignored. Only meaningful for the Shader Lamps profile.
decodeLUT / correctLUT / encodeLUT (.cube)Ignored.
extensionSetIgnored.

XML Descriptor

ElementStatus
MPCDI profile/geometry/color/version attributesRead for routing; only 2d profile produces correct output.
display / buffer / regionRead. Each region becomes one display with its xResolution / yResolution.
color / encode / gammaRead (single gamma value applied at output).
color / decode / correctIgnored.
frustum, coordinateFrameIgnored.
  • Display Calibration — driving an external calibration system from WATCHOUT and the NDI calibration stream workflow.
  • Warp Geometry — WATCHOUT's own mesh-based warp editor, used when MPCDI is not available.
  • Edge Blending — automatic soft edges, the built-in alternative to MPCDI's alpha blend.