[FFmpeg-trac] #9608(undetermined:new): Ffmpeg + VAAPI on Polaris GPU not recovering after corrupt video
FFmpeg
trac at avcodec.org
Sun Jan 23 07:56:21 EET 2022
#9608: Ffmpeg + VAAPI on Polaris GPU not recovering after corrupt video
-------------------------------------+-------------------------------------
Reporter: teeedubb | Owner: (none)
Type: defect | Status: new
Priority: normal | Component:
| undetermined
Version: unspecified | Resolution:
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Description changed by teeedubb:
Old description:
> Hi All,
>
> I have been experiencing heavy artifacting in dvb-t live TV streams after
> corruption in videos with ffmpeg + vaapi + AMD polaris GPU (rx560). The
> video in question is a live TV stream and I am able to reproduce the
> issue when the recording is played from a local harddisk. The issue
> occurs in linux and windows, in kodi, vlc and ffplay and the videos
> recover OK when played on nvidia and intel gpu's on both windows and
> linux. The video plays ok if I disable vaapi (most of my testing is
> done in linux).
>
> I have tried updating mesa to the current release, using a 5.15 kernel
> and tried various operating systems (manjaro, libreelec nighty, ubuntu
> 20.04, windows 10).
>
> output of
> ffmpeg -hwaccel vaapi -i Downloads/The\ Project.ts -vcodec rawvideo
> -acodec copy -f matroska -sn - | ffplay -report -i -
> https://paste.ubuntu.com/p/tP9zrjZ796/
>
> snippets of kodi.log from when the corruption occurs (I can provide more
> logs)
> 2021-11-30 20:36:36.863 T:333115 DEBUG <general>:
> ffmpeg[0x56321c011040X]: [mpegts] Packet corrupt (stream = , dts =
> 2007374635).
> 2021-11-30 20:52:18.128 T:366796 DEBUG <general>:
> ffmpeg[0x56321b9c1730X]: [mpegts] Packet corrupt (stream = , dts =
> 2209044203).
> 2021-11-30 20:52:33.301 T:372941 DEBUG <general>:
> ffmpeg[0x7f559c0dec80X]: [image2] Custom AVIOContext makes o sense and
> will be ignored with AVFMT_NOFILE format.
>
> vainfo
> http://ix.io/3EE0 <http://ix.io/3EE0>
>
> mediainfo of a longer version of the sample video
> https://paste.ubuntu.com/p/wthYZhVMMf/
>
> video of artefacting
> https://youtu.be/EJCfi4RP5Pg
>
> Sample video (200mb) Corruption occurs at around 4m40s.
> https://www.dropbox.com/s/aaiwgvsou10aq2w/corruption-recovery-amd.ts?dl=0
> I have also uploaded the sample file "corruption-recovery-amd.ts" to the
> VLC file uploader.
>
> I have also received confirmation from two people that they can reproduce
> the issue on their polaris hardware:
>
> https://www.reddit.com/r/ffmpeg/comments/r66bns/any_rx560_or_amd_gpu_owners_out_there_that_can/htp8vil/
> "I tried it out and got exactly what you're experiencing, I have a 2gb
> RX560. If I played the video through about 4:38 in VLC it would drop
> about 25 frames, and it wouldn't matter where I seeked the video to, it
> would be all garbled. Not only that, but my gpu utilization would go from
> about 10% while decoding to 50% once the frames dropped, spiking all over
> the place. I tried to play the video again, skipping over the corrupted
> frames, and there were no problems if I skipped over the bad part. I'm
> sure you're long past worrying about this by now, but I thought I'd pitch
> in anyway that the same thing happens for me. See screenshot. My CPU at
> 100% is because I am also transcoding video in the background on CPU."
>
> and https://forums.whirlpool.net.au/thread/90x14jy4
> "Can confirm the video desync and corruption issue using VLC with RX550 /
> Polaris12 – it looks like an issue decoding an I frame and the decoder
> never recovers so corrupt macroblocks appear
>
> Playing the video with mpv + hardware acceleration has no issues
>
> In Windows VLC with integrated Intel UHD graphics + DXVA2 acceleration,
> the playback temporarily freezes, skips some frames and then snaps back
> cleanly to the next I frame"
>
> Thanks in advance.
New description:
Hi All,
I have been experiencing heavy artifacting in dvb-t live TV streams after
corruption in videos with ffmpeg + vaapi + AMD polaris GPU (rx560). The
video in question is a live TV stream and I am able to reproduce the issue
when the recording is played from a local harddisk. The issue occurs in
linux and windows, in kodi, vlc and ffplay and the videos recover OK when
played on nvidia and intel gpu's on both windows and linux. The video
plays ok if I disable vaapi (most of my testing is done in linux).
I have tried updating mesa to the current release, using a 5.15 kernel and
tried various operating systems (manjaro, libreelec nighty, ubuntu 20.04,
windows 10).
output of
ffmpeg -hwaccel vaapi -i Downloads/The\ Project.ts -vcodec rawvideo
-acodec copy -f matroska -sn - | ffplay -report -i -
https://paste.ubuntu.com/p/tP9zrjZ796/
snippets of kodi.log from when the corruption occurs (I can provide more
logs)
2021-11-30 20:36:36.863 T:333115 DEBUG <general>:
ffmpeg[0x56321c011040X]: [mpegts] Packet corrupt (stream = , dts =
2007374635).
2021-11-30 20:52:18.128 T:366796 DEBUG <general>:
ffmpeg[0x56321b9c1730X]: [mpegts] Packet corrupt (stream = , dts =
2209044203).
2021-11-30 20:52:33.301 T:372941 DEBUG <general>:
ffmpeg[0x7f559c0dec80X]: [image2] Custom AVIOContext makes o sense and
will be ignored with AVFMT_NOFILE format.
vainfo
http://ix.io/3EE0 <http://ix.io/3EE0>
mediainfo of a longer version of the sample video
https://paste.ubuntu.com/p/wthYZhVMMf/
video of artefacting
https://youtu.be/EJCfi4RP5Pg
Sample video (200mb) Corruption occurs at around 4m40s.
https://www.dropbox.com/s/aaiwgvsou10aq2w/corruption-recovery-amd.ts?dl=0
I have also uploaded the sample file "corruption-recovery-amd.ts" to the
VLC file uploader.
I have also received confirmation from two people that they can reproduce
the issue on their polaris hardware:
https://www.reddit.com/r/ffmpeg/comments/r66bns/any_rx560_or_amd_gpu_owners_out_there_that_can/htp8vil/
"I tried it out and got exactly what you're experiencing, I have a 2gb
RX560. If I played the video through about 4:38 in VLC it would drop about
25 frames, and it wouldn't matter where I seeked the video to, it would be
all garbled. Not only that, but my gpu utilization would go from about 10%
while decoding to 50% once the frames dropped, spiking all over the place.
I tried to play the video again, skipping over the corrupted frames, and
there were no problems if I skipped over the bad part. I'm sure you're
long past worrying about this by now, but I thought I'd pitch in anyway
that the same thing happens for me. See screenshot. My CPU at 100% is
because I am also transcoding video in the background on CPU."
and https://forums.whirlpool.net.au/thread/90x14jy4
"Can confirm the video desync and corruption issue using VLC with RX550 /
Polaris12 – it looks like an issue decoding an I frame and the decoder
never recovers so corrupt macroblocks appear
Playing the video with mpv + hardware acceleration has no issues
In Windows VLC with integrated Intel UHD graphics + DXVA2 acceleration,
the playback temporarily freezes, skips some frames and then snaps back
cleanly to the next I frame"
Thanks in advance.
--
--
Ticket URL: <https://trac.ffmpeg.org/ticket/9608#comment:1>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list