HAP Codec — GPU-Accelerated Playback
How MultiMon plays HAP and HAP Q, which BCn texture format each variant uses, what happens if the GPU cannot take one, and how to convert media.
HAP is a video codec built for real-time playback. Instead of decoding frames on the CPU and uploading pixels, HAP stores frames as GPU-native compressed textures that the graphics card can consume directly. That makes it the right format for a wall of outputs.
What MultiMon supports
MultiMon plays HAP and HAP Q. The decoder was written from scratch — no third-party HAP library is involved.
Each HAP variant carries one specific compressed-texture format, and MultiMon uploads it to the GPU as-is:
| HAP variant | Texture format | Notes |
|---|---|---|
| HAP | RGB DXT1 — BC1 | The standard quality tier |
| HAP Alpha | RGBA DXT5 — BC3 | Carries an alpha channel |
| HAP Q | Scaled YCoCg DXT5 — BC3 | Decoded to RGB through a YCoCg pixel shader |
| RGBA BPTC | BC7 | The BPTC variant; not what HAP Q uses |
| A RGTC1 | BC4 | The alpha plane of HAP Q Alpha |
HAP Q is BC3, not BC7. It is scaled YCoCg packed into a DXT5 block, which is why it needs the YCoCg-to-RGB shader; BC7 belongs to the separate RGBA BPTC variant.
When your GPU cannot take the format
If the GPU does not report support for a clip’s texture format, MultiMon does not fail the clip: it hands the file to Media Foundation instead and logs the fallback. If Media Foundation cannot open it either, that output stays black — the rest of the wall keeps playing and the application keeps running.
Hap mode
There is a Hap entry in the mode dropdown: one HAP clip per monitor, all on the one shared clock.
Use it instead of Individual with Sync whenever every clip is a HAP file — Individual takes the
Media Foundation path even for a .mov that holds HAP, so it never gets HAP’s frame-accurate decode.
See Video synchronisation.
Converting your media
Use the Convert to HAP button in the main window to transcode a source to HAP. It takes mp4,
mov, mkv, avi and wmv as input, and writes the output into a mov container.
FFmpeg is required — and is not bundled
Convert to HAP calls FFmpeg, which must be on your PATH. MultiMon does not ship FFmpeg, and
resolves it from PATH as-is, so install it only from a source you trust.
Nothing else in MultiMon needs FFmpeg: playback, sync, the mixer and project files all work without it. It is required only for this one conversion tool.
When to convert
- You are driving several outputs at once and want decode off the CPU.
- The show runs long and has to be dependable.
- The source is already your master and you can afford the disk space — HAP files are considerably larger than an H.264 or HEVC delivery file, because they trade size for playback cost.
If you would rather play the file you already have, MultiMon takes H.264 and HEVC directly — see Standard playback.