AMD’s Radeon HD 6870 & 6850: Renewing Competition in the Mid-Range Marketby Ryan Smith on October 21, 2010 10:08 PM EST
Seeing the Present: HDMI 1.4a, UVD3, and Display Correction
DisplayPort wasn’t the only aspect of AMD’s display controller that got an overhaul however, AMD’s HDMI capabilities have also been brought up to modern standards. Coming from Cypress with support for HDMI 1.3, AMD now supports HDMI 1.4a on the Barts based 6800 series and presumably they will do so on the rest of the 6800 series too. With HDMI 1.4a support AMD can now support full resolution (1080p) 3D stereoscopy for movies, and 720p for games and other material that require 60Hz/eye, along with 4k x 2k resolution for monitors and TVs that have equivalent support. Unlike DP this has less to do with monitors and more to do with TVs, so the importance of this will be seen more on future AMD cards when AMD refreshes their lower-end parts that we normally use with HTPCs.
Launching alongside support for displaying full resolution 3D stereoscopic video is the hardware necessary to decode such video, in the form of the latest version of AMD’s Unified Video Decoder: UVD3. The last time UVD received a major update was with UVD2, which launched alongside the Radeon HD 4000 series and added partial MPEG-2 decoding support by moving IDCT and MoComp from shaders in to the UVD fixed function hardware.
With the Radeon 6800 series AMD is releasing UVD3, which like UVD2 before it builds on the existing UVD feature set. UVD3 is adding support for 3 more-or-less new codecs: MPEG-2, MVC, and MPEG-4 ASP (better known as DivX/XviD). Starting with MPEG-4 ASP, it’s the only new codec in supported by UVD3 that’s actually new, as previously all MPEG-4 ASP decoding was done in software when it came to AMD GPUs. With UVD3 AMD can now completely offload MPEG-4 ASP decoding to the GPU, bringing forth the usual advantages of greatly reducing the amount of work the CPU needs to do and ideally reducing power consumption in the process.
AMD adding MPEG-4 ASP support gives us an interesting chance to compare and contrast them to NVIDIA, who added similar support a year ago in the GT21x GPUs. AMD is a good bit behind NVIDIA here, but they’re making up for it by launching with much better software support for this feature than NVIDIA did; NVIDIA still does not expose their MPEG-4 ASP decoder in most situations, and overall did a poor job of advertising it. When we talked with DivX (who is AMD’s launch partner for this feature) they didn’t even know that NVIDIA had MPEG-4 ASP support. Meanwhile AMD is launching with DivX and had a beta version of the DivX codec with UVD3 support ready to test, and furthermore AMD is fully exposing their MPEG-4 ASP capabilities in their drivers as we see in this DXVA Checker screenshot.
The only downside at this time is that even with Microsoft’s greater focus on codecs for Windows 7, Windows 7 doesn’t know what to do with DXVA acceleration of MPEG-4 ASP. So while Win7 can play MPEG-4 ASP in software, you’re still going to need a 3rd party codec like the DivX codec to get hardware support for MPEG-4 ASP.
The other bit worth mentioning is that while AMD is launching support for MPEG-4 ASP decoding here on the 6800 series, much like HDMI 1.4a it’s not going to be a big deal for the 6800 series market. MPEG-4 ASP is a fairly lightweight codec, so support for it is going to be a bigger deal on low-end products, particularly AMD’s APUs if Llano and Bobcat end up using UVD3, as MPEG-4 ASP decoding in software requires a much greater share of resources on those products.
Up next is MPEG-2, which has been a codec stuck in limbo for quite some time over at AMD. MPEG-2 is even older and easier to decode than MPEG-4 ASP, and while GPUs have supported MPEG-2 decode acceleration as early as last decade, CPUs quickly became fast enough that when combined with low levels of hardware decode acceleration (inverse discrete cosine transform) was more than enough to play MPEG-2 content. Thus AMD hasn’t done much with MPEG-2 over the years other than moving IDCT/MoComp from the shaders to UVD for UVD2.
Because of the similarities between MPEG-4 ASP and MPEG-2, when AMD added support for full MPEG-4 ASP decode acceleration they were able to easily add support for full MPEG-2 decode acceleration, as they were able to reuse the MPEG-4 ASP entropy decode block for MPEG-2. As a result of including full MPEG-4 ASP decode acceleration, AMD now supports full MPEG-2 decode acceleration. Even more so than MPEG-4 ASP however, the benefits for this are going to lie with AMD’s low-end products where getting MPEG-2 off of the CPU should be a boon for battery life.
The final addition to UVD3 is support for Multiview Video Coding, which isn’t a new codec per se, but rather is an extension to H.264 for 3D stereoscopy. H.264 needed to be amended to support the packed frame formats used to store and transmit 3D stereoscopic videos, so with UVD3 AMD is adding support for MVC so that UVD can handle Blu-Ray 3D.
Finally, coupled with support for new codecs and new display outputs in AMD’s display controller is a refinement of AMD’s existing color correction capabilities in their display controller. Cypress and the rest of the 5000 series could do color correction directly on their display controllers, but they could only do so after gamma correction was applied, meaning they had to work in the non-linear gamma color space. Technically speaking this worked, but color accuracy suffered as a result. With the 6800 series’ new display controller, AMD can now perform color calibration in linear space by converting the image from gamma to linear color space for the color correction, before converting it back to gamma color space for display purposes.
As color correction is being used to correct for wide-gamut monitors the importance of this change won’t be seen right away for most users, but as wide-gamut monitors become more widespread color correction becomes increasingly important since wide-gamut monitors will misinterpret the normal sRGB colorspace that most rendering is done in.