[Libav-user] Decoding thread blocked using d3d11va

Asaf Kave kaveasaf at gmail.com
Sun Jan 9 14:25:52 EET 2022


Hello all,

My video player is using FFmpeg to decode h.264 video, the player is
running on a windows machine, and I faced an interesting issue during
decoding, using hardware acceleration, the *hwdevice *is d3d11va.
>From time to time when calling avcodec_send_packet, the thread is blocked
forever, I found that the block is on d3d11va_default_lock function
in hwcontext_d3d11va.c line 94. (
https://www.ffmpeg.org/doxygen/trunk/hwcontext__d3d11va_8c.html#a072dc47eb86d10cfbb65085c5a40be4a
)
using trace logs and dump files I don't see any "classic" deadlock, and I
don't understand why this thread can be blocked if the Mutex object
suppose to be free to take.
This issue is not reproduced when I set outside the library a Critical
Section instead of the original Mutex, using callbacks
in AVD3D11VADeviceContext struct.

did someone familiar with this kind of extraordinary issue?

Thanks in advance,
Asaf
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://ffmpeg.org/pipermail/libav-user/attachments/20220109/860343b3/attachment.htm>


More information about the Libav-user mailing list