← selected work|03

nDisplay Video Playback

High-resolution video decoding and playback, synchronised across nDisplay

An Unreal Engine plugin I built for Funky Fox Studio to play very high-resolution video across an nDisplay cluster, where each of several machines renders the matching frame so the picture stays continuous. It removes the shortcomings of Unreal Engine's native player. Decoded frames never leave the GPU, and NVIDIA's hardware decoding keeps the load off the game's render thread. Maintained from UE 5.1 to 5.7 and ready for 5.8.

highlights

  • ▸Codec decoded on the GPU through the D3D12 path; frames never leave video memory
  • ▸A custom HLSL shader converts 8/10-bit YUV straight into the texture the engine's screen material uses
  • ▸A separate decoder thread with a lock-free frame queue, buffering, seamless looping and multithreading techniques
  • ▸Live colour correction (shadows / midtones / highlights, exposure, temperature, tint)