[FFmpeg-trac] #7530(avcodec:new): cuviddec/nvdec/nvenc: driver checking errors
FFmpeg
trac at avcodec.org
Fri Nov 2 15:35:45 EET 2018
#7530: cuviddec/nvdec/nvenc: driver checking errors
------------------------------------+-----------------------------------
Reporter: msiders | Owner:
Type: defect | Status: new
Priority: normal | Component: avcodec
Version: git-master | Resolution:
Keywords: nvenc | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
------------------------------------+-----------------------------------
Comment (by msiders):
> Replying to [comment:1 cehoyos]:
After upgrading the video driver, the ''same'' binary procudes this
output:
{{{
[...]
[h264_nvenc @ 0x305c7c0] Loaded lib: libcuda.so.1
[h264_nvenc @ 0x305c7c0] Loaded sym: cuInit
[h264_nvenc @ 0x305c7c0] Loaded sym: cuDeviceGetCount
[h264_nvenc @ 0x305c7c0] Loaded sym: cuDeviceGet
[h264_nvenc @ 0x305c7c0] Loaded sym: cuDeviceGetName
[h264_nvenc @ 0x305c7c0] Loaded sym: cuDeviceGetUuid
[h264_nvenc @ 0x305c7c0] Loaded sym: cuDeviceComputeCapability
[h264_nvenc @ 0x305c7c0] Loaded sym: cuCtxCreate_v2
[h264_nvenc @ 0x305c7c0] Loaded sym: cuCtxSetLimit
[h264_nvenc @ 0x305c7c0] Loaded sym: cuCtxPushCurrent_v2
[h264_nvenc @ 0x305c7c0] Loaded sym: cuCtxPopCurrent_v2
[h264_nvenc @ 0x305c7c0] Loaded sym: cuCtxDestroy_v2
[h264_nvenc @ 0x305c7c0] Loaded sym: cuMemAlloc_v2
[h264_nvenc @ 0x305c7c0] Loaded sym: cuMemFree_v2
[h264_nvenc @ 0x305c7c0] Loaded sym: cuMemcpy2D_v2
[h264_nvenc @ 0x305c7c0] Loaded sym: cuMemcpy2DAsync_v2
[h264_nvenc @ 0x305c7c0] Loaded sym: cuGetErrorName
[h264_nvenc @ 0x305c7c0] Loaded sym: cuGetErrorString
[h264_nvenc @ 0x305c7c0] Loaded sym: cuStreamCreate
[h264_nvenc @ 0x305c7c0] Loaded sym: cuStreamQuery
[h264_nvenc @ 0x305c7c0] Loaded sym: cuStreamSynchronize
[h264_nvenc @ 0x305c7c0] Loaded sym: cuStreamDestroy_v2
[h264_nvenc @ 0x305c7c0] Loaded sym: cuStreamAddCallback
[h264_nvenc @ 0x305c7c0] Loaded sym: cuEventCreate
[h264_nvenc @ 0x305c7c0] Loaded sym: cuEventDestroy_v2
[h264_nvenc @ 0x305c7c0] Loaded sym: cuEventSynchronize
[h264_nvenc @ 0x305c7c0] Loaded sym: cuEventQuery
[h264_nvenc @ 0x305c7c0] Loaded sym: cuEventRecord
[h264_nvenc @ 0x305c7c0] Loaded sym: cuGLGetDevices_v2
[h264_nvenc @ 0x305c7c0] Loaded sym: cuGraphicsGLRegisterImage
[h264_nvenc @ 0x305c7c0] Loaded sym: cuGraphicsUnregisterResource
[h264_nvenc @ 0x305c7c0] Loaded sym: cuGraphicsMapResources
[h264_nvenc @ 0x305c7c0] Loaded sym: cuGraphicsUnmapResources
[h264_nvenc @ 0x305c7c0] Loaded sym: cuGraphicsSubResourceGetMappedArray
[h264_nvenc @ 0x305c7c0] Cannot load optional cuImportExternalMemory
[h264_nvenc @ 0x305c7c0] Cannot load optional cuDestroyExternalMemory
[h264_nvenc @ 0x305c7c0] Cannot load optional
cuExternalMemoryGetMappedBuffer
[h264_nvenc @ 0x305c7c0] Cannot load optional
cuExternalMemoryGetMappedMipmappedArray
[h264_nvenc @ 0x305c7c0] Loaded sym: cuMipmappedArrayGetLevel
[h264_nvenc @ 0x305c7c0] Loaded lib: libnvidia-encode.so.1
[h264_nvenc @ 0x305c7c0] Loaded sym: NvEncodeAPICreateInstance
[h264_nvenc @ 0x305c7c0] Loaded sym: NvEncodeAPIGetMaxSupportedVersion
[h264_nvenc @ 0x305c7c0] Loaded Nvenc version 8.1
[h264_nvenc @ 0x305c7c0] Nvenc initialized successfully
}}}
Note that here the call to Load the function "cuDeviceGetUuid()" doesn't
fail.
So, as a summary:
* Old FFmpeg binary, with old driver: OK
* Old FFmpeg binary, with new driver: OK
* New FFmpeg binary, with old driver: FAILS at runtime when using the
cuvid driver
* New FFmpeg binary, with new driver: OK
All is done at '''runtime''', so in my opinion the user should be advised
that the problem is the (old) version of the video driver.
Regards.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/7530#comment:7>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list