#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 _______________________________________________ FFmpeg-trac mailing list FFmpeg-trac@avcodec.org http://ffmpeg.org/mailman/listinfo/ffmpeg-trac