Battle of GPU Transcoders: ATI Avivo Converter and NVIDIA Elemental Badaboom
Performance and Initial Thoughts
Quick Performance Comparisons
For our performance tests, there are several things that need to be discussed. First, our test bed for each system included an Intel X48 motherboard, 4GB of DDR3-1333 memory, an Intel Core 2 Quad QX9650 processor and a Western Digital 150GB Raptor hard drive. For the NVIDIA Badaboom testing I used a GeForce GTX 260+ 896MB graphics card and for the ATI Avivo Video Converter I used a Radeon HD 4870 1GB card.
Secondly, because these are different applications and there has yet to be one program that will run GPU-accelerated transcoding on both NVIDIA and AMD GPUs, this can never be an exact apples-to-apples comparison. Making it even more complicated is the different amount of control that each application offered: NVIDIA had more discrete control over H.264 encode yet AMD could encoding into many different formats.
To try to be the most fair, our first three benchmarks will look at converting three different source videos into iPod-ready H.264 video running at 780 kbps. I chose that bitrate as it was the highest that AMD's software would allow but it was one of the lower bitrates that NVIDIA's Badaboom offered. Though I cannot be absolutely sure that these conversions bore exactly the same results, I can confirm that the file sizes created were at least reasonably close (within 500 KB) so we are doing the best we can.
For our CPU-based test results I used the very popular Xilisoft iPod Video Converter application to produce nearly the same types of files as the GPU-based encoders.
UPDATE: CPU Utilization during GPU Encoding
After posting this, I got a request for CPU utilization numbers for both GPU transcoding applications. I aim to please, so here they are:
CPU utilization during ATI Avivo Video Converter operation
CPU utilization during NVIDIA Badaboom operation
These numbers were taken while transcoding the DVD content over to the iPod format shown in our benchmarks above. You can clearly see that while the ATI software is faster, it does require quite a bit more CPU power than the NVIDIA application. What this means is that background transcoding with the ATI software will slow down more easily than the NVIDIA configuration as you add additional workloads to your system. But, is the added performance boost we are seeing from the ATI Avivo application worth this extra CPU utilization? If you are trying to get the transcode operations done as quickly as possible, obviously the answer is still yes. If you want to do other things on your PC while the transcodes take place, maybe not.
As most enthusiasts know, speed isn't everything when it comes to video encoding and transcoding. Unfortunately for AMD, while their application was by far the fastest option, I did notice several instances of video garbage when watching the playback of the iPod and WMV encoding files.
If you look here in this shot you'll notice that there are some gray blocks on sleeve of the left-most tuxedo-clad dude, as well as around his leg and, though harder to see, along the stair well too. This seemed to happen during very fast transition times in the video but I never saw anything like this on the Badaboom-encoded files at all.
If this is common, it is definitely something AMD should address if they want to show off high quality results on Radeon 4000-series GPUs.
After spending a few days with both of these applications, I have to say that I impressed overall with what both NVIDIA and ATI have been able to do with GPU-based transcoding. The speed increases seen in both applications are truly astonishing with the obvious win going to AMD's Avivo Video Converter as it was able to beat out Badaboom handily. There is more to be said than raw benchmarks scores though as quality is just as important as speed for video to most people and in that area Badaboom seemed to win out, even when not taking the "garbage" seen in ATI's results into consideration. Some of the quality difference (and thus speed difference) could easily be lent to having non-identical encoding options set in each application. And because neither app gives us full control over what the transcoding engine does we may not be able to get apples-to-apples comparisons until a true third-part application arrives.
I am hesitant to call either application a clear victor yet in this battle - both have pros and cons. If I was forced to choose, I would likely side with AMD's Avivo Video Converter if only because I love the flexibility of being able to address other codecs than H.264 and MPEG-2 and of course the price is right. Quality freaks will likely see the bugs seen in the screenshot above as completely unacceptable and lean towards NVIDIA's Badaboom instead. I guess what I am trying to say is this: if you have a CUDA-capable or 4000-series GPU already in your system, you should definitely try out the respective transcoding applications on your system. If you are in the market for a new GPU, I don't think either application is really a reason to lean heavily one way or the other though both add great value to the GPU platform.
In the end, while I wasn't completely blown away by either Badaboom or the ATI Avivo Video Converter, I was impressed by both. What I am more excited about is how these new programs foretell the future of GPU-based applications - we are already testing Adobe's CS4 capabilities with GPUs and are looking forward to programs from CyberLink and Nero that will let us do even more with the GPU than these two one-sided apps will offer.
Keep checking back to PC Perspective as we will continue to write about our experiences with GPU computing!
Be sure to use our pricing engine to find the best prices on NVIDIA and AMD graphics cards and anything else you might need: