Radeon UVD Support Going Through Code Review
If you have been desiring better video playback support on the open-source ATI/AMD Radeon Linux graphics stack, the days of being frustrated may be limited. There's some code concerning UVD -- the GPU's Unified Video Decoder engine -- that will be going through internal code review at AMD this coming week.
Many AMD Linux customers have been desiring better video playback support. Right now the accelerated video playback using the VDPAU state tracker and others with Gallium3D is just being done with GPU shaders and not the discrete UVD video engine found on modern generations of hardware. Since AMD began their open-source strategy, there's been a bleak outlook for open-source UVD support with Radeon hardware up to this point. AMD's concern has been that if too much code or documentation is out there concerning UVD, it could potentially compromise the engine's Digital Rights Management abilities on other platforms (Microsoft Windows). Due to the Digital Rights Management fears, UVD hasn't made it out yet and it's not a topic that AMD's open-source developers will frequently discuss.
Future Radeon hardware at least will hopefully have a more modular Unified Video Decoder whereby the relevant pieces to accelerated video encoding/decoding could be opened up while not unlocking the Digital Right Management portion. However, there stands a chance that there might be an open-source UVD solution coming forward.
Back in January one of the three Radeon Linux driver priorities as said by John Bridgman was to investigate whether something could be done to provide UVD open-source video support. (There's long been UVD support with the Catalyst Linux driver exposed through their awkward XvBA video API, but that's with the binary blob.)
In January, Bridgman's statement came down to, "Officially UVD is still off the table, but I also said that we would see if we could find ways to provide some level of support. We started working seriously on that in mid-2011. I don't know at this point if we will be able to release anything, however. We left this effort until later in the program because it's a lot of work with no guarantee of success, ie we may spend a lot of time on it and in the end not be able to release anything."
The AMD developer that's been leading the open-source Radeon video efforts has been Christian König, who joined the company last year after being an earlier independent contributor to the Radeon stack. On Friday he made a rather surprising remark on the public mailing list.
In a mailing list message concerning the ongoing Gallium3D VDPAU state tracker improvements, Christian König said at the end, "Anyway, I will be busy with UVD code review next week so I won't have time to work on the state tracker for some time now, so that has to wait for a little while longer."
Well, that is a pretty clear message. Internally at AMD they're at least up to a point of having code review concerning UVD. While there's no official comment yet from Bridgman, one would have to assume then that at this point they think they have something they might be able to release to the community. Hopefully this would be basic UVD enablement for modern Radeon HD generations (it's unlikely AMD would go back and invest resources to provide support for the first-generation UVD / Avivo graphics in the R500 era).
However, as in most large corporations, the legal review process can often be most challenging. They may have some code they want to get out there, but it could be tied up in this review process for a very long time, or even indefinitely.
The Evergreen HDMI audio support code was tied up in AMD's code review process for months. In the end the community reverse-engineered the HDMI audio support and had it working while still this code was trapped in legal review. AMD's HDMI audio implementation is said to be superior to what was reverse-engineered, but I still don't believe that official code has made it out there many months later. It's a mess. We're also still waiting on open-source Southern Islands support.
Best of luck to those trying to push UVD code through review and hopefully there will be something to release to the public in the not too distant future.