Video_Codec_SDK_12.0.16 terminate called after throwing an instance of 'NVENCException'

I have been trying to test the VideoCodeckSDK version 12.0.16 for both decode and encode functionality on a RTX 2070 SUPER.

Note - the samples are being run within a docker container running using nvidias image
nvidia/cuda:11.8.0-cudnn8-devel-ubuntu20.04

As well the following is passed as environment variables.
ENV NVIDIA_VISIBLE_DEVICES all
ENV NVIDIA_DRIVER_CAPABILITIES compute,video,utility

Furthermore, the samples are functioning as expected when using the decode examples.
However the encode samples, specifically the AppEncCuda sample fails on NvEncApi instantiation.

I am seeing the NvEncodeAPIGetMaxSupportedVersion function return a value of 0 to the version parameter. With the current version being calculated as 192. This causes the application to terminate due to the version being less current version.

This function is called in the provided sample NvEncoder.cpp and executed in the LoadNvEncApi function.

From my investigation, the CUDA and GPU Drivers are all correct based on the documentation.

Images are attached for reference. Any help would be greatly appreciated.




1 Like

Hello @lhemmett and welcome to the NVIDIA developer forums!

I am a bit stumped at what might be going on. The MaxSupportedVersion should definitely not return 0.

I do recall that there were issues in the past with running these samples within a docker environment and some tweaking being necessary. But I thought that was CUDA related.

Any chance to try and see if this works outside a docker?

Hello Markus
I have the same issue, and the code works on the host machine, which pretty much has the same specs as my docker container.
nvidia-smi inside docker container returns a meaningful result. Any clues as what might be the issue?
Thanks!