FFMPEG cuvid decoder occupy a whole core of cpu

Hi all,

I’m trying to use h264_cuvid and hevc_cuvid decoders.

There is a cuda thread taking a whole cpu core, like some kind of busy waiting. The stack looks like:

Thread 1 (process 9104):
#0 0x00007f6697702e60 in ?? () from /usr/lib64/libcuda.so.1
#1 0x00007f66976f639d in ?? () from /usr/lib64/libcuda.so.1
#2 0x00007f66977038a8 in ?? () from /usr/lib64/libcuda.so.1
#3 0x00007f672a63583d in start_thread () from /lib64/libpthread.so.0
#4 0x00007f6729a00fcd in clone () from /lib64/libc.so.6

If I create multiple decoders in a proccess, only one cuda thread occupy a single cpu core.

If I create a decoder in one proccess, each proccess has a thread taking a whole cpu core.

Even when I delete the decoder, this thread remains. Only when I kill the proccess, this thread quit.

I have test several versions of ffmpeg: 3.3.1, 3.3.2, git snap shot of 2017-07-07,

And test two nvidia cards: quadro k1200, gtx 1060 with driver version 381.22.

This situation remains the same.

Is this a problem? Are there some work arounds?

Jing Zhang