============================================================================
  mh_PLAYer  -  TEST PATTERNS  (plugin add-on)
  Plugin v1.0   |   targets mh_PLAYer v2.12.1+   |   2026-06-26
============================================================================

A drop-in plugin for mh_PLAYer that generates broadcast-style colour bars and
test patterns as image files, so you always have a known-good reference to
push through a pipeline, a display, a codec or a review session.

Six patterns:

  SMPTE RP 219 (HD, 16:9)  75% colour bars with 40% grey end bars, a reverse
                           row, a luminance ramp row, and a bottom row with
                           100% white, black and a PLUGE.
  SMPTE ECR (classic 4:3)  The split-field bars: 75% bars over a reverse-blue
                           strip and an -I / white / +Q / PLUGE bottom band.
  EBU 8-bar 100%           Eight equal full-amplitude bars.
  EBU 8-bar 75%            Eight equal 75% bars.
  Grey ramp                A horizontal 0-100% luminance ramp.
  Grey steps               An 11-step 0-100% grey staircase.

SHIPPED WITH mh_PLAYer v2.12.2 AND NEWER. This plugin is already in the
plugins folder next to the mh_PLAYer .exe - there is nothing to install.
The standalone download below is for adding it to v2.12.1, or for picking
up a newer or corrected copy between mh_PLAYer releases:
  https://anti-matter-3d.com/mhplayer/


CONTENTS OF THIS ARCHIVE
----------------------------------------------------------------------------
  test_patterns.py   The plugin
  README.txt         This file


REQUIREMENTS
----------------------------------------------------------------------------
  mh_PLAYer        v2.12.1 or newer
  Licence tier     Plugin Scripting (Studio Pro). The Plugins menu is
                   locked on lower tiers.
  Platform         Windows (as per mh_PLAYer)

  No extra Python install is needed - the plugin runs inside mh_PLAYer and
  uses the Pillow / NumPy / OpenCV that already ship with it. OpenCV is
  needed only for the 16-bit TIFF option.


INSTALL  (only if you are NOT on v2.12.2 or newer)
----------------------------------------------------------------------------
  On v2.12.2+ this plugin is already installed - skip to USING IT.

  1. In mh_PLAYer:  Plugins menu  ->  "Open Plugins Folder..."
     (this is the folder next to the mh_PLAYer .exe - the only location the
      player scans)
  2. Copy  test_patterns.py  into that folder.
  3. Plugins menu  ->  "Reload Plugins"   (or restart mh_PLAYer)
  4. Run it:  Plugins menu  ->  "Test Patterns..."

  To remove it, delete test_patterns.py from the plugins folder and restart.


USING IT
----------------------------------------------------------------------------
  PATTERN
    Pattern         Pick one of the six patterns. The preview updates as you
                    choose.
    Resolution      HD 1920x1080, HD 1280x720, UHD 3840x2160, 2K DCI
                    2048x1080, 4K DCI 4096x2160, PAL SD 720x576, NTSC SD
                    720x486, or Custom. Choosing Custom enables the W and H
                    fields.
    Burn-in label   Optional caption drawn in the centre of the frame on a
                    dark plate - handy for marking a show, shot or a specific
                    display in a multi-screen setup.

  OUTPUT
    Folder          Where the files are written.
    Base name       The file name stem. Default is  test_pattern .
    Format          PNG, TIFF or JPEG.
    16-bit TIFF     Available when TIFF is selected. Writes 16 bits per
                    channel instead of 8.
    Frames          1 writes a single image. Set it higher to write a
                    numbered sequence - useful for testing playback,
                    caching, scrubbing and export at a known frame count.
    Start number    First frame number of the sequence.

    The line under these fields shows exactly what will be written, e.g.
      Writes 100 files: test_pattern.0001.png ... test_pattern.0100.png

  Save Settings stores your choices so they are remembered next time.


PATTERN VALUES
----------------------------------------------------------------------------
  All patterns are generated in 8-bit RGB (or 16-bit for TIFF), full range.

    100% white / primaries    255
    75% white / primaries     191
    40% grey (RP 219 ends)    104
    15% grey (RP 219 base)     38
    Grey ramp                 0 to 255 across the ramp area
    Grey steps                11 even steps, 0 to 255

  The PLUGE blocks sit just above and below black so that a correctly set
  display shows the lighter block and hides the darker one.


CONFORMANCE - PLEASE READ
----------------------------------------------------------------------------
  These patterns are drawn to the published layouts and are intended for
  pipeline, display, codec and review checks - confirming that a chain passes
  colour through correctly, that a display is roughly set up, or that a
  sequence loads, plays and exports as expected.

  They are generated in plain RGB with no colour management applied, and are
  NOT a substitute for a certified reference signal in a broadcast QC chain.
  Check against your facility's own reference before using them for
  compliance work.


SETTINGS
----------------------------------------------------------------------------
  Your settings are remembered automatically between sessions - use
  "Save Settings" in the dialog to store the current choices.

  "Reset to Defaults" restores every field to its factory value.
  Nothing is written until you click Save Settings, so you can reset,
  look, and close without committing the change.


TIPS
----------------------------------------------------------------------------
  - Generate a 100-frame sequence of bars to sanity-check playback, cache
    behaviour and export round-trips in one go.
  - Use the burn-in label to tell otherwise identical patterns apart when
    checking several displays or several delivery formats side by side.
  - The grey ramp is the quickest way to spot banding introduced by a codec
    or a display; the grey steps make small gamma shifts easier to see.
  - The EBU 100% bars are the harshest test of a chain's saturation handling;
    the 75% bars are the safer broadcast-legal reference.
  - Write TIFF at 16-bit when you want to check that a pipeline is preserving
    bit depth rather than quietly reducing to 8-bit.


LICENCE & SUPPORT
----------------------------------------------------------------------------
  (C) 2026 Martin P. Heigan - anti-matter-3d.com

  This plugin is provided for use with a licensed copy of mh_PLAYer and is
  covered by the mh_PLAYer licence terms.

  Questions / feedback / more tools:
    https://anti-matter-3d.com/contact/
    https://anti-matter-3d.com/
============================================================================
