Created attachment 80626 [details]
relevant dmesg output
New UVD VDPAU decoding of VC-1 and MPEG-2 causes some kind of corruption and ultimately hang of driver and whole system on the next try (cursor can be moving for some time, even SysRq can work a few seconds after X totally hangs but then only power off works).
Few notes (using mplayer):
MPEG1 causes no harm, only decoding is really bad (software decoding works)
MPEG2 seems to cause really bad corruption
VC-1 seems to cause problems (like attached dmesg) but not hangs. There have been decoding artifacts too, but it is not the rule.
divx and h264 seems to work flawless, unless previous corruption happened.
Hardware is ARUBA - A6-5400K Black Edition APU (Radeon HD 7540D). Since this particular hardware seems to be problematic (#65254 #60389) it might be unique to this APU.
*** Bug 69889 has been marked as a duplicate of this bug. ***
(In reply to bug 65611 comment #1)
> Well known problem, only VC-1 advanced profile (as found on Blueray disks)
> is supported by the hardware.
If that is the case, wouldn't it be an obvious first fix to remove simple and main from the driver's list of supported codecs?
I tried this patch:
diff -up ./src/gallium/drivers/radeon/radeon_uvd.c.vc1 ./src/gallium/drivers/radeon/radeon_uvd.c
--- ./src/gallium/drivers/radeon/radeon_uvd.c.vc1 2013-09-27 23:10:44.292867514 +0200
+++ ./src/gallium/drivers/radeon/radeon_uvd.c 2013-09-27 23:14:45.384398128 +0200
@@ -1094,8 +1094,12 @@ int ruvd_get_video_param(struct pipe_scr
- case PIPE_VIDEO_CODEC_VC1:
+ case PIPE_VIDEO_CODEC_VC1:
+ /* Only advanced is supported */
+ if (profile == PIPE_VIDEO_PROFILE_VC1_ADVANCED)
+ return true;
+ /* fall through... */
Yet my WMV3 file is still going through VDPAU. So either my file is advanced profile and that is broken, or xbmc not fully respecting the list?
(In reply to comment #3)
> Yet my WMV3 file is still going through VDPAU. So either my file is advanced
> profile and that is broken, or xbmc not fully respecting the list?
Turned out that the UVD symbols get duplicated both into the VDPAU driver and the DRI driver. So you have to replace both to get your changes to go through.
Still didn't work properly though as XBMC seems to not bother asking the driver what it can do and just blindly assumes that every format is available...
(In reply to comment #4)
> Still didn't work properly though as XBMC seems to not bother asking the
> driver what it can do and just blindly assumes that every format is
Which is pretty much the reason why I haven't fixed it so far, you also need to fix the applications as well. MPEG1 isn't supported either, but pretty much every application is ignoring the decoder capabilities.
Anyway if you want to write a patch to start fixing those issues feel free to do so, any help is always welcome.
-- GitLab Migration Automatic Message --
This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.
You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/442.