Discussion:
[MPlayer-users] Bug: H.265/HEVC multi-threaded playback broken
Peter White
2015-02-26 16:16:57 UTC
Permalink
Hi,

whenever I try to playback a H.265/HEVC video with more than 1 thread,
I get no video output, sound is fine. The following error message
keeps getting repeated:

get_format() cannot be called after ff_thread_finish_setup()

For reference see the attached full output of
$ mplayer -v -noconfig all -lavdopts threads=2 Video.mkv

It is rather long, so I decided not to post it inline.

Now, I have searched the list for this error and found a similar report:
https://lists.mplayerhq.hu/pipermail/mplayer-users/2013-April/086241.html

As it seems the then relevant error message is all that is needed
here, too. I would be happy to provide more info, if neccessary,
though.


Kind regards
Peter
Reimar Döffinger
2015-03-02 07:44:33 UTC
Permalink
Post by Peter White
Hi,
whenever I try to playback a H.265/HEVC video with more than 1 thread,
I get no video output, sound is fine. The following error message
get_format() cannot be called after ff_thread_finish_setup()
For reference see the attached full output of
$ mplayer -v -noconfig all -lavdopts threads=2 Video.mkv
It is rather long, so I decided not to post it inline.
https://lists.mplayerhq.hu/pipermail/mplayer-users/2013-April/086241.html
As it seems the then relevant error message is all that is needed
here, too. I would be happy to provide more info, if neccessary,
though.
I sent a patch to FFmpeg, but I got only one reply.
It's a bit unclear what is the best way to fix it.
Peter White
2015-03-02 16:05:46 UTC
Permalink
Post by Reimar Döffinger
Post by Peter White
Hi,
whenever I try to playback a H.265/HEVC video with more than 1 thread,
I get no video output, sound is fine. The following error message
get_format() cannot be called after ff_thread_finish_setup()
[...]
I sent a patch to FFmpeg, but I got only one reply.
It's a bit unclear what is the best way to fix it.
Found it. :) Thank you! Here I was thinking, my message might have
been ignored or overlooked, but judging by the timestamp on the ffmpeg
list you were rather quick. I highly appreciate that.
It works with HEVC content and threads>=2 now, but it seems to break
at least H.264/AVC with threads>=1. I'll attach the output of two runs
with 1 and 2 threads respectively. I havenŽt checked with other
codecs.

BTW, should I continue replying here? I figured the ffmpeg-devel list
would be no place for me as a non-developer.
Reimar Döffinger
2015-03-02 19:50:59 UTC
Permalink
Post by Peter White
Post by Reimar Döffinger
Post by Peter White
Hi,
whenever I try to playback a H.265/HEVC video with more than 1 thread,
I get no video output, sound is fine. The following error message
get_format() cannot be called after ff_thread_finish_setup()
[...]
I sent a patch to FFmpeg, but I got only one reply.
It's a bit unclear what is the best way to fix it.
Found it. :) Thank you! Here I was thinking, my message might have
been ignored or overlooked, but judging by the timestamp on the ffmpeg
list you were rather quick. I highly appreciate that.
It works with HEVC content and threads>=2 now, but it seems to break
at least H.264/AVC with threads>=1. I'll attach the output of two runs
with 1 and 2 threads respectively. I haven´t checked with other
codecs.
Yes, that is the bug that was pointed out in the review.
I just sent the updated patch, I was just kind of waiting
for other comments.
Tell me if it still causes issues for you, I haven't had
time to properly test either version.
Post by Peter White
BTW, should I continue replying here? I figured the ffmpeg-devel list
would be no place for me as a non-developer.
Whatever you prefer. However since you (have to) use MPlayer
to test it I'd say here is better.
Peter White
2015-03-04 06:10:47 UTC
Permalink
Post by Reimar Döffinger
Post by Peter White
Post by Reimar Döffinger
Post by Peter White
Hi,
whenever I try to playback a H.265/HEVC video with more than 1 thread,
I get no video output, sound is fine. The following error message
get_format() cannot be called after ff_thread_finish_setup()
[...]
I sent a patch to FFmpeg, but I got only one reply.
It's a bit unclear what is the best way to fix it.
Found it. :) Thank you! Here I was thinking, my message might have
been ignored or overlooked, but judging by the timestamp on the ffmpeg
list you were rather quick. I highly appreciate that.
It works with HEVC content and threads>=2 now, but it seems to break
at least H.264/AVC with threads>=1. I'll attach the output of two runs
with 1 and 2 threads respectively. I haven´t checked with other
codecs.
Yes, that is the bug that was pointed out in the review.
I just sent the updated patch, I was just kind of waiting
for other comments.
Tell me if it still causes issues for you, I haven't had
time to properly test either version.
All right, now it works just fine with both HEVC and AVC. I only
checked if the videos start to play and skipped forwards and backwards
a little. I will report back if I find anything amiss.

Again, thank you very /very/ *very* much. MPlayer and you, the folks
making it, are simply the best.

Best regards
Peter

Loading...