Medialooks Knowledge Base Support Center

Contact Us

GPU-powered decoding

By default, all media files in our tools are decoded in software-only mode: your CPU will be used, which is not the best solution in some scenarios. MPlatform's Decoder Lib and the Expert edition of MFormats SDK offer two options for GPU-powered decoding: Nvidia's NVENC and Intel's Quick Sync.

Usually, the two decoders are used for H.264 video, but if your hardware supports it, you can decode H.265 video as well. If enabled, we will try the GPU-powered decoder first; if it doesn't work, it will fall back to software mode.

Once enabled, decoder tries to open any video. And if it can't do it using GPU, it falls back to software mode.

Using Nvidia NVENC

To find out whether your NVIDIA graphics card supports H.264 or H.265 decoding, please check the chipset model of your card and refer to Nvidia's documentation. Always make sure that you use the latest drivers for your graphics board.

To decode a file with NVENC, specify the 'decoder.nvidia' property on file initialization:

MPlatform SDK:

myFile.FileNameSet(pathToFile, "decoder.nvidia=true");

In MFormats SDK:

myReader.ReaderOpen(pathToFile, "decoder.nvidia=true");

In this case, every file you open with that method is decoded with the NVIDIA GPU decoder.

You can enable the NVENC decoder by default for all files via the following setting in the registry:

In MPlatform SDK:

HKEY_CURRENT_USER\SOFTWARE\Medialooks\MPlatform\MFile\MFileFFM
decoder.nvidia = true

In MFormats SDK: 

HKEY_CURRENT_USER\SOFTWARE\Medialooks\MFormats\MFReader
decoder.nvidia = true

Using Intel Quick Sync

Your Intel processor supports Quick Sync decoding if it is equipped with Intel HD Graphics 4200 or higher. Note, that for all XEON processors a mainboard with C226 chipset is required.

To decode a file with Quick Sync, specify the 'decoder.quicksync' property on file initialization:

In MPlatform SDK:

myFile.FileNameSet(pathToFile, "decoder.quicksync =true");

In MFormats SDK:

myReader.ReaderOpen(pathToFile, "decoder.quicksync =true");

Just like with NVENC, in this case, the Quick Sync decoder will be used for each file opened via this method.

To enable Quick Sync by default for all files, use the following registry settings:

In MPlatform SDK: 

HKEY_CURRENT_USER\SOFTWARE\Medialooks\MPlatform\MFile\MFileFFM
decoder.quicksync = true

In MFormats SDK: 

HKEY_CURRENT_USER\SOFTWARE\Medialooks\MFormats\MFReader
decoder.quicksync = true