On Wed, Jul 27, 2016 at 7:58 PM, Hendrik Leppkes <h.lepp...@gmail.com> wrote: > On Wed, Jul 27, 2016 at 6:43 PM, Stève Lhomme <rob...@videolabs.io> wrote: >> Hello fellow FFmpegers, >> >> Is there still an issue with hardware decoding when combined with >> multithread ? It seems to work fine on our Windows build. Although we >> have a mutex in place in the D3D11 variant of the code that may help. >> It mostly protects the video context... >> >> If necessary we can have the same trick for DXVA2 if there are still >> known issues. >> > > ffmpeg.c just produces corrupt decoding when you try to use that, so > use at your own peril.
Is it random or pretty easy to get the issue ? I'd certainly like to understand the issue better. With D3D11 we were using the decoder context in the decoder threads and the vout thread. In debug builds Windows was complaining with various warnings about that. On some phones it was even crashing. After protecting the context in the libavcodec and the vout everything seems to work fine. Is there anything else that would explain issues ? Maybe Linux or Mac don't detect such cross accesses and that's how corruption happens ? > Not to mention that it doesn't offer any performance benefits. libavcodec can decode multiple frames in parallel why couldn't the GPU do it as well ? It would be odd that GPU based solutions are inferior to CPU based ones. Last but not least, why is it considered ok to use multiple threads in libav and not in FFmpeg ? The code is pretty much the same for GPU decoding. > - Hendrik > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel