[Libav-user] cuvid decoder occupy a whole core of cpu

张晶 zhangjing.lm at gmail.com
Mon Jul 10 05:39:47 EEST 2017

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 

And test two nvidia cards: quadro k1200, gtx 1060.

This situation remains the same.

Is this a problem? Are there some work arounds?

Jing Zhang

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://ffmpeg.org/pipermail/libav-user/attachments/20170710/e2d8d5b3/attachment.html>

More information about the Libav-user mailing list