AMD/ATI and NVIDIA Graphics Cards
in Video Decoding Tasks
June 2007
Much time has passed since our previous analysis of video decoding performance and quality in ATI and NVIDIA video cards. Since that time ATI was bought by AMD, both companies launched new video cards with improved support for video decoding. Software support for hardware-assisted video decoding in drivers is also constantly evolving. The situation with performance and quality may change several times a month. So, we again decided to test how well AMD and NVIDIA GPUs cope with decoding and displaying video data.
Playing HD video with high bitrate, encoded into modern compression formats, such as H.264, WMV and VC-1, has high system requirements. There are no problems with performance, when you play video of any format in low resolutions. But some new CPUs barely cope with software decoding of modern formats in high resolutions (1920x1080) and high bitrates. The main load used to fall on a CPU, but modern video cards are now taking up more and more video decoding and post processing tasks. Modern video chips from AMD and NVIDIA contain special dedicated units, which are used to accelerate video decoding and post-processing. The latest solutions offload CPUs almost completely. One of such cards participates in our tests.
Support for hardware-assisted playback, DirectX Video Acceleration (DXVA), requires special decoders (for example, NVIDIA PureVideo Decoder, CyberLink MPEG2 and H.264 video decoder) and players with DXVA support. We use available DXVA decoders for hardware acceleration of MPEG2, WMV, VC-1, and H.264.
Various video chips have different level of support for hardware acceleration of video decoding, it depends on a model of a video card and its GPU. Some low-end solutions used to have limited support for hardware-assisted HD video decoding. But now the situation changes - both in AMD and NVIDIA. High-End GPUs of the R600 and G80 families do not support all features, offered by Mid- and Low-End solutions. In this review we are going to analyze comparative performance of decoding and playing video of various formats, from MPEG2 to VC-1, with three different video cards.
Testbed Configuration, Software, and Settings
Testbed configuration:
- CPU: AMD Athlon 64 X2 4600+ Socket 939
- Motherboard: Foxconn WinFast NF4SK8AA-8KRS (NVIDIA nForce4 SLI)
- RAM: 2048 MB DDR SDRAM PC3200
- HDD: Seagate Barracuda 7200.7 120 Gb SATA
- Operating system: Microsoft Windows XP Professional SP2/Microsoft Windows Vista Home Premium
We used three video cards in our tests, based on GPUs from two main manufacturers:
The drivers that were installed: AMD CATALYST 7.4 for AMD cards under both operating systems and ForceWare 158.22/158.43 for NVIDIA cards under Windows XP and Windows Vista. Vista tests are necessary, because hardware-assisted video decoding features of G84, used in GeForce 8600 GTS, are currently available only on this operating system.
Unfortunately, we had no opportunity to test new cards from AMD based on the latest GPUs of the RADEON HD 2000 family. But according to our colleagues, RADEON HD 2900 XT does not support all the features and does not differ much from previous solutions of this company in terms of hardware support for video playback.
Software (players, codecs):
We chose CyberLink solutions from PowerDVD 7.3 Ultra as the main decoders for MPEG2 and H.264, because this is one of the most popular players along with WinDVD and Windows Media Player, and it also supports hardware acceleration on all video cards, including the latest ones - GeForce 8600 GTS. We enabled hardware acceleration in PowerDVD settings and in the corresponding decoder ("Enable hardware acceleration" and "Use DXVA"). In AMD CATALYST Control Center we enabled "Pulldown Detection". In NVIDIA ForceWare control panel we enabled "Use inverse telecine". The other options were left by default. You can see the key Windows Media Player 11 performance options on the screenshot:

"High quality mode" in WMP settings is responsible for using Video Mixing Renderer 9 (VMR9), performance tests were run in 1920x1080. We used Windows Media Video Decoder to decode WMV and VC-1 video. For H.264 video we used CyberLink 264 Decoder Filter and CoreAVC DirectShow Video Decoder. What concerns MPEG2, we used NVIDIA Video Decoder and CyberLink Video/SP Filter.
Videos we used in our tests
| Video file |
Format |
Resolution, pixel |
HD format |
Frame rate, FPS |
Bitrate, Mbps |
| 20070111_1659.TS |
H.264 |
1920x1080 |
1080i |
24 |
8 |
| biohazard2_1080p.mp4 |
H.264 |
1920x1080 |
1080p |
24 |
8 |
| cornell_m1080p.mov.mp4 |
H.264 |
1920x1080 |
1080p |
30 |
9 |
| WG30secSpot_AVC_HDTV.mp4 |
H.264 |
1920x1080 |
1080p |
30 |
16 |
| MPEG2_24Mbps_final.mkv |
MPEG2 |
1920x1080 |
1080p |
25 |
24 |
| emotion.mpg |
MPEG2 |
1920x1080 |
1080i |
30 |
18 |
| Dolphins_1080.wmv |
WMV9 |
1440x1080 |
1080p |
24 |
8 |
| MP10_Striker_10mbps.wmv |
WMV9 |
1920x1080 |
1080p |
24 |
10 |
| Taxi3_WMVHD_Extract.wmv |
WMV9 |
1440x816 |
- |
24 |
8 |
| FlightSimX_720p60_51_15Mbps.wmv |
VC-1 |
1280x720 |
720p |
60 |
15 |
| gthd_demo_replay_720p.wmv |
VC-1 |
1280x720 |
720p |
60 |
5 |
Our test materials include video clips in all popular formats and two resolutions: 1280x720 and 1920x1080, and a couple of non-standard resolutions. We decided to give up videos of lower resolutions completely - if we ignore some quality issues that have to do with adaptive deinterlacing for MPEG2, there are no problems with such video playback.
We run our tests in 1920x1080 with a special utility that uses Windows Media Player 11 ActiveX - it measures CPU load during playback and provides some other WMP11 statistics. We measured the average CPU usage while playing each video file. We also register such parameters as skipped frames per second and framerate. But these values are not well-posed for various combinations of video clips and decoders, so they are difficult to use. The average CPU load is used to determine performance of hardware-assisted video decoding by AMD and NVIDIA cards.
You should keep in mind that several background processes are running during any tests. So we should take into account possible small fluctuations in CPU load and a corresponding measurement error. In other words, ±3% difference does not mean an advantage of this or that solution, because it may be caused by the measurement error.
Alexey Berillo aka SomeBody Else (sbe@ixbt.com)
June 25, 2007