I have been using the Nvenc 6.0 API and using the RGB input formats to skip converting to NV12. It works great on a Quadro 3100M laptop and a Titan X desktop PC. However on a Tesla M60 for some reason the same unmodified code runs without errors but only a quarter of the video (on the left side) is visible the other 3/4 of each frame of compressed video is all black. Anyone else seeing this? I have tried experimenting with changing the pitch but the same behavior still happens. This is using a d3d11 device with a texture registered and mapped as input.
Can you please tell us which version of the NVIDIA driver you are using and can you please also try the latest driver and see if the issue still occurs?
The issue occurs on 356.54. At the time I had to use the windows 10 driver since the Windows Server 2016 wasnt available. So the driver that is being used has this file name: 356.54-tesla-desktop-win10-64bit-international-whql.exe
I tried to use 376.33-tesla-desktop-winserver2016-international-whql.exe and I get an error now whether or not I use direct RGB or NV12 conversion myself. The error is:
The test was run in release mode so _DEBUG and DEBUG are not defined. I have run into the issue the link talks about but that is not what is happening in this case. That same code works on the same machine with nvidia driver 356.54 but not 376.33. Also to be clear the failure occurs when calling nvEncOpenEncodeSessionEx.
I ran into the issue mentioned in #3 with the newest drivers.
Some info about my setup:
376.84 drivers
Windows 2016 server
Tesla K80 GPU (on Google Cloud Engine)
I’m using the 32bit dll (nvEncodeAPI.dll).
I’m using a ID3D11Device* as NV_ENC_OPEN_ENCODE_SESSION_EX_PARAMS::device and calling nvEncOpenEncodeSessionEx() returns NV_ENC_ERR_UNSUPPORTED_DEVICE.
Here is a snippet of the initialization code I have: