MXF Player on GPU

Simple question like "Does VLC play MXF files?" turns out to be not so simple. To see that, we need to accomplish very easy task - to check how VLC Player or Windows Media Player can play MXF files with J2K compression from SSD. Even for 2K resolution, the playback on both VLC and Windows Media Player is extremely slow even on a powerful PC, and it is far from being realtime or smooth. Moreover, conventional MXF workflow for movie preview, implies that MXF files have to be converted to MP4/MOV/AVI to watch video in any media player. Nevertheless, there is a way to play MXF files smoothly on Windows or Linux directly, without doing any preliminary conversion. Just try Fastvideo MXF Player which is working on NVIDIA GPU in real-time with 2K/60fps/10-bit/4:2:2 MXF files (4K MXF is coming soon).

MXF is an abbreviation for Material Exchange Format, which is a container format for professional digital video and audio media defined by a set of standards from the Society of Motion Picture and Television Engineers (SMPTE). MXF is a file format for the exchange of material between servers, tape streamers and digital archives.

MXF file is usually a storage for video and audio at DCP packages. In that case internal compression of frames is done according to JPEG2000 Standard and this is the reason why we can't play MXF file on conventional media players. To use VLC, we need to convert MXF to MP4 at first and then play MP4 instead on MXF.

mxf player

MXF player is based on Fastvideo Image & Video Processing SDK and it could be downloaded here. The software can work with one or two GPUs to offer realtime MXF (J2K) processing with smooth output. The first GPU is utilized for MXF decoding and it should be NVIDIA GPU, though the second GPU which is intended for video output, could be from Intel, NVIDIA or AMD. That two-GPU configuration is the best choice to offer the fastest solution for rendering and output in realtime. JPEG2000 decoding algorithm is computationally intensive, so we need help from the second GPU to output decoded data to the monitor, because NVIDIA GPU is not able to output images to the monitor during J2K decoding.

That application can also play MXF with just one NVIDIA GPU both for rendering and output. This is actually not a problem for 2K resolution, though for 12-bit footage at 4K it could be not enough.

Key Features of Fastvideo MXF Player

  • Input file extension is MXF for audio and video
  • Audio is a 24-bit linear PCM uncompressed multichannel WAV
  • The Picture Track File essence is compressed using JPEG2000
  • JPEG2000 batch decoding on GPU for grayscale and color video streams
  • Irreversible (wavelet CDF 9/7) and reversible (wavelet CDF 5/3) decoding modes
  • Bit depth: 8–12 bits per channel
  • Number of decomposition levels: 1–7
  • Code-block size 16×16, 32×32 or 64×64
  • Option for arbitrary size of codeblock
  • Chroma subsampling modes: 4:4:4, 4:2:2
  • Color spaces: XYZ, Linear, sRGB, Rec.709, Adobe RGB, ProPhoto RGB, DCI P3
  • MXF input from HDD/RAID/SSD or CPU/GPU memory
  • Workflow for MXF processing on CPU and GPU:
    • MXF reading and frame extraction
    • Frame parsing
    • Packet Decoding
    • Entropy Decoding
    • Inverse Quantization
    • IDWT
    • Inverse Color Transform and DC-level shifting
    • Output formatting
    • Final resize to output window resolution
    • Output colorspace and gamma transforms
  • Data output: uncompressed resized image at CPU or GPU memory
  • Integration with OpenGL to ensure smooth playback
  • Options: video scaling, rotation, multi GPU support, etc.
  • MXF player is compatible with 64-bit Windows-10 and Linux Ubuntu/CentOS

Roadmap for MXF Player from Fastvideo

  • MXF Player for Windows with smooth playback - done
  • MXF converter - done
  • FFmpeg codec for MXF (J2K) encoding and decoding on GPU at multithreaded batch mode - done
  • FastDCP Player on GPU - in progress

Links for MXF (J2K) downloads

Contact Form

This form collects your name and email. Check out our Privacy Policy on how we protect and manage your personal data.