ATI's New Drivers: Did The Paradise Come?

Written by Hakan Bayindir in Display Drivers on 13 November 2007 at 04:04 PM EST. Page 2 of 3. 32 Comments.

2D Acceleration & Video Playback Issues

It's not important whether you are aware or not, your video card is responsible for making your desktop look nice, work smoothly and making sure that it never slows you down. Whether it's 2D or 3D, but what happens when your card is lazy on doing that? Read on if you are interested.

I am generally a clean and minimalist person when it comes to desktop. No icons, auto hiding bars and just a small hardware monitor. In my convention, every desktop item is an urgent to do task. After working on some 40 files, I wanted to select all, compress and archive to somewhere in my digital junkyard. I drew the rectangle all over the desktop but the rectangle grew in a stuttering way and while it was busy growing, spiked the CPU usage to 100% with a side effect of rocketing the CPU frequency to 2.2GHz, which means a total saturation that shouldn't happen with a modern GPU. To give a comparison, my laptop's on-board NVIDIA GeForce Go 7200 is much better on that with barely noticeable CPU usage and smooth operation. After that incident, I painfully realized that moving or resizing windows were showing the same behavior, which meant something, is very wrong.

After video cards started to get programmable shaders, they started to decode videos because shader meant power and programmability meant flexibility. While NVIDIA advertised this most with its PureVideo line of features and products, ATI started to do it before. In an era that shaders were even beyond science fiction. My 1998 Rage Pro 64 Turbo (AGP 2x) had an integrated DVD decoder which was working flawlessly and smoothly. In the era of shaders, starting with the Radeon 8500, ATI had VideoSoap and VideoShaders (which weren't advertised at all) which were able to post-process, upscale, and apply effects to the video in real-time (or even decode H.264 HD video with an 9600XT) with the help of OpenGL shader programming. When the Radeon X1000 "R500" products appeared at last ATI advertised these features as AVIVO.

These AVIVO features, which were resulting in excellent video playback quality, were working flawlessly until the 8.26 fglrx release. After they decided to drop old card support and re-write the code, which is coming from old cards' code, the magic has disappeared. First, we lost all AVIVO support that meant no accelerated video playback for some months then, AVIVO started to re-appear, only with two overlay color formats. This move has broken many applications and crippled the other ones. For example, TV-Time never recovered because it needed a special format, which wasn't supported anymore.

AVIVO continued to improve until this month but it's far from sufficient. First, we have only two color formats. This means that every media player using the X-Video driver for video playback is limited to these formats, which implies that most of them will convert the video to one of these formats if the video is not in that format. Second, every player or application doesn't support these formats by heart and flawlessly. For example Kaffeine, the KDE video player I mostly use, is not very successful in this area and cannot playback all videos even with the latest release. Some videos corrupt or exhibit color offsetting. While it's Kaffeine's bug, Kaffeine is very successful in video playback when used with NVIDIA cards because the drivers support nearly all possible modes and Kaffeine simply takes advantage of them. Other alternative such as mplayer is not viable since mplayer has trouble supporting my multi-speaker setup. But I must say that, if the video plays correctly and if you prefer to watch it full-screen, you experience perfection in video acceleration, regardless of player. Windowed videos are showing some down sampling aliasing, which is a bit annoying.


Related Articles