Version 2.0 shows good results running 4K on the GPU

Version 2.0 shows good results running 4K on the GPU

The 2.0 release is now available for both MFormats and MPlatform SDKs — a major update that is capable of handling most of the video processing on the GPU — which leads to optimised CPU consumption, increased performance and the ability to process 4K resolutions with ease.

Up to now, our tools only supported decoding and encoding of H.264 and H.265 on Nvidia’s and Intel’s GPU platforms. All other tasks had to be handled on the CPU and, what’s also important, data had to be copied between the CPU and the GPU, which lead to systems reaching their physical limits when working with higher resolutions and frame rates (such as 4K 60p).

This new update allows most of the frame processing, such as scaling, mixing, titling, graphics, deinterlacing and transitions to be done by the GPU while keeping memory copying operations to a minimum.

Here’s a quick example. Suppose we input 4 full HD video feeds from the new Blackmagic DeckLink Quad HDMI Recorder. Our goal is to mix the feeds together to create a 4K video stream, add graphics, encode to H.264 and stream to YouTube. Here’s how this would be done previously — the GPU would only plug in at the last step, when encoding to H.264:

With the GPU pipeline turned on, the GPU will tune in at the very start and handle almost all of the processing:

In the scenario above, we have experienced the following results for a 4K output stream on an Asus laptop with Intel i7–7700HQ and Nvidia GTX 1070:

  • In CPU mode (first picture), it was 67% CPU and 15% GPU for mixing, 15% CPU + 25% GPU for encoding, an overheating PC and tons of breaks in the resulting stream.
  • In GPU mode, it was 37% CPU + 30% GPU for mixing, 20% CPU + 20% GPU for encoding and a smooth output because the PC is capable to preform at the specified bit rate.

The GPU mode would use about as much resources for HD resolutions (such as 720p). This means that it would be more effective to use it for UHD and 4K resolutions. You may, however, notice a greater image quality, which is due to the quality of GPU-based scaling.

Future plans

Here’s some things we are likely to be investing in before IBC:

  • 16-bit video processing;
  • HDR support;
  • Direct GPU (grab frames from I/O devices directly to the GPU);
  • AMD codecs support.

NAB Show 2019

Stop by our pod at the NDI Pavilion, SL5616 at NAB, which opens its floors today, on April 8th. We will be happy to see you.

See also