[libav-api] Setting ctx.thread_count drops frames, only for dnxhd

Erik Ackermann kurterikackermann at gmail.com
Fri Nov 10 04:25:38 CET 2017

I wrote a decoder with the new send receive API, but when I set
thread_count to >1 I do not get all my frames, and this happens only for
dnxhd content (h264 and prores work for all thread_count values). I'm
compiling against FFmpeg 3.4.

Interestingly, the number of missing frames is always (thread_count - 1).

Is there something special I need to do when setting thread_count, other
than calling avcodec_receive_frame() until all streams return AVERROR_EOF?

Using ffprobe -count_frames with various -threads and -thread_type all
return the correct value, so I guess I am missing something dnxhd
specifically requires.


More information about the libav-api mailing list