FastDCP Player on GPU
Updated:
FastDCP Player plays DCI-compliant Digital Cinema Package (DCP) content in real time on the GPU, decoding JPEG2000 frames on CUDA where CPU players such as VLC or Windows Media Player struggle. It handles 2K at 60 fps, 10-bit 4:2:2 from SSD, so DCP and JPEG2000 footage previews smoothly on Windows and Linux.
Detailed benchmark data. Measured results are published on our benchmark pages: all benchmarks.
Working with a different JPEG2000 format? Use the Fast J2K Player for .jp2 / .j2k / .jpx frames and image sequences, the MXF Player for MXF files with JPEG2000 (J2K) essence, or the Fast J2K Viewer for still and geospatial (GMLJP2) JPEG2000 images. This page covers full DCP packages (DCI 2K/4K digital cinema).
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, they just can't decode J2K frames in real time on CPU. To use VLC, we need to convert MXF to MP4 at first and then play MP4 instead on MXF.
These are standard recommendations on how to improve a DCP Player performance:
- Use OpenGL for the video display mode
- Decode video at half resolution or even at a quarter resolution
- Use the most recent versions of a software and the fastest hardware
That would definitely improve the performance, but our approach is much better and it doesn't compromise image quality. GPU-based J2K decoding could offer real-time performance and you will not need to use half or quarter resolution even with not very powerful GPUs.
That application can play DCP with just one NVIDIA GPU both for rendering and output. With the good modern NVIDIA GPUs like the RTX A4000 it should not be a problem to play both DCI 2K and 4K at max speed and resolution.
Key features of FastDCP Player
- Stereo 5.1, 6.1 and 7.1 support
- Real time color processing, adjustable color space and scaling
- DCI 2K and 4K support
- Export to 10-bit / 12-bit / 16-bit TIFF/DPX/JP2 files (optional)
- Multi monitor support: one for video output, one for controls
J2K support in FastDCP Player
Does FastDCP Player support JPEG2000 DCP packages?
- JPEG2000 batch decoding on GPU for grayscale and color video streams
- Input file extensions: DCP, MXF, TS, JP2, J2K
- Irreversible (wavelet CDF 9/7) and reversible (wavelet CDF 5/3) decoding modes
- Bit depth: 8–12 bits per channel (up to 16 bits)
- 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
- Input from HDD/RAID/SSD or CPU/GPU memory
- Workflow for J2K/DCP/MXF/TS processing on CPU and GPU:
- Input file 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.
- The solution is compatible with 64-bit Windows-10 and Linux Ubuntu
Technical requirements for FastDCP Player
- OS: Windows-10, Windows-11 or Linux Ubuntu 20.04/22.04, etc.
- NVIDIA T1000 or better are recommended for DCI 2K
- NVIDIA RTX A4000 or better are recommended for DCI 4K
Links for DCP/MXF (J2K) downloads
- Download MXF file (12-bit, J2K) for testing - 2K MXF (J2K) SNOWMAN-DCP3D.rar
- 4K DCP 4096×2160 (14 GB, Digital Cinema Package)