Badaboom: A Full Test of Elemental's GPU Accelerated H.264 Transcoder
by Anand Lal Shimpi on August 18, 2008 12:00 AM EST- Posted in
- GPUs
For the past couple of years NVIDIA has been telling us about how amazing its GPUs are at non-gaming applications. We kept seeing slides like this one that showed exactly how fast NVIDIA's GPUs were compared to dual and quad-core CPUs:
The performance advancements were incredible, NVIDIA was promising upwards of 100x gains over the fastest workstation CPUs. Unfortunately we couldn't get too terribly excited as most of these applications were far beyond the reach of the typical desktop user. Medical imaging and scientific analysis benefitted tremendously from GPU acceleration, but it's rare that a gamer with a $400 GPU is going to be searching for oil deposits in his/her spare time on the same machine.
What NVIDIA needed was that killer application that actually had relevance to the desktop user, and it was that sort of application that NVIDIA lacked. Until recently.
Enter Elemental Technologies, the makers of an unfortunately named application called Badaboom (cue cheesy mobster promo videos). Elemental took one of the most time consuming tasks on the desktop, and offloaded a great deal of it to the GPU.
We've seen the benefits of GPU accelerated video decoding, especially with the recent transition to high definition video formats encoded in MPEG-2/VC-1/H.264. Blu-ray movies went from completely unplayable on many machines to a total non-issue with the advent of hardware HD video decode acceleration in GPUs. Both ATI and NVIDIA resorted to specialized hardware to provide support for the full decode pipeline of codecs like H.264, but the small addition of die space was more than worth it. It would take at least 8 of Intel's cores to have the same video decoding power of a single GPU outfitted with either ATI's UVD or NVIDIA's PureVideo HD decode engine - the GPU approach is simply more sensible.
As soon as we got GPU video decode acceleration we wanted to know if/when it would be possible to accelerate video encoding on the GPU. For years ATI and NVIDIA have been telling us that video encoding could be accelerated on the GPU, but for years we were given nothing more than that statement. With the latest round of GPU releases things seemed different. Alongside its GT200 GPU, NVIDIA sent out very early copies of Elemental's Badaboom GPU accelerated video transcoder. Badaboom promised the unimaginable - GPU accelerated H.264 video transcoding at many times the performance of the fastest Intel CPUs.
The initial beta showed promise: the performance gains were significant, but we couldn't really measure quality. Today we have a near-final build of Elemental's Badaboom and we're able to look at the full picture. Today it's more than just about performance, we're looking at the feasibility of the first mainstream GPU-accelerated video transcoding application.
38 Comments
View All Comments
JarredWalton - Monday, August 18, 2008 - link
Wait... did you just talk about clean code and Cyberlink with a straight face!? I think every new version of PowerDVD gets worse, and I've had way too many difficulties with Blu-ray playback and their software (especially the OEM bundled version). Still, maybe they'll get it right with the ATI transcoding. And maybe I'll win the lottery.... :-)prodystopian - Monday, August 18, 2008 - link
Mike Lowry: ...It's a Limited Edition.Marcus Burnett: You d*mn right it's limited. No cup holder, no back seat...
Yes, I registered to post this.
Anand Lal Shimpi - Tuesday, August 19, 2008 - link
ahh, I love that movie. Too bad the sequel was such a letdown.10 points to you my friend :)
-A
Manabu - Monday, August 18, 2008 - link
You used too slow profiles. Acording to the handbrake site (http://trac.handbrake.fr/wiki/BuiltInPresets)">http://trac.handbrake.fr/wiki/BuiltInPresets), the Blind profile should be 4 times faster than the iPhone profile used here. Then, an quadcore leaves the GTX 280 smoking behind. The quality should be then comparable.Further discussion of this new encoder, inclusive by x264 developers: http://forum.doom9.org/showthread.php?t=136847">http://forum.doom9.org/showthread.php?t=136847
mongoosesRawesome - Tuesday, August 19, 2008 - link
Anand compares an x264 setting that is higher quality than badaboom's. He should have stopped right there, but instead he publishes numbers that show that badaboom is faster.You can't compare speeds if they aren't of similar quality!
thebackwash - Monday, August 18, 2008 - link
I must admit I never understood the consumer desire for anything more than reasonable multimedia encoding times. If I buy a new movie, and want to rip it to my computer, I only have to do it *once.* To some, any speedup they can get is well worth the price, but I honestly don't care how long it takes, as long as it's less than, say overnight, or even overnight plus whatever extra time it needs until I get home from work the next day.I understand the desire for faster computation of tasks that involve a lot of user interaction: games, web browsing, office applications, and basically the whole lot of interactive GUI-driven programs, but I never saw the draw of blazingly fast set-it-and-forget-it type computations. I can leave the computer on overnight to perform a task if need be. I personally care about quality, and whether the file can be played back in real time on the target platform. File size is important, too, but with 1TB hard drives coming in at about $125, that has started to matter a lot less.
While I *do* understand why this could provide enormous benefit to professionals working with video, any consumer of DVD movies or amateur videographer should be more than happy with what we have now. I don't see the outcry for faster word processors, and that's because computers perform that function well enough to be usable by consumers or amateurs for whom time is *not* money when it comes to using their computers.
I must admit though, I can take a chill pill and leave the computer for days at a time, as long as my RSS reader catches the daily web updates, so I might not be the average reader of tech sites.
(Once it took my old iBook *ten* days to compile KDE 3.5 from source!)
icrf - Monday, August 18, 2008 - link
Well, transcoding to a master high quality copy for long term storage, maybe. But when you want to take those with you on a portable device, you have to transcode. I'm not a fan of having multiple copies of things, despite the cost of hard drives, so I'd much rather a way to speedily convert that for me.My problem is I want to convert in bulk, which means either a nice job manager in your GUI, or a documented CLI for the app.
LTG - Monday, August 18, 2008 - link
Does it support 2-pass encoding?Does it encode uncompressed AVI?
Did they say if Main profile is coming, or if it's stuck like that?
Anand Lal Shimpi - Tuesday, August 19, 2008 - link
There are no options to control the number of passes the encoder does, this is simply a single-pass transcode that can happen in greater than real time depending on your GPU.Depending on the format of the video stream it may be able to support it.
Elemental is considering adding Main profile support to Badaboom, but right now it's reserved for the Premier plugin.
-A
erikejw - Monday, August 18, 2008 - link
Good article otherwise.If you gonna sit all day and code 100 movies or whatever this is the appropriate way to calculate energy consumption.
If not you have to include the extra seconds when your computer sit idle and the cpu transcode finishes.
This is how they do when they calculate server energy consumptin.
It is not like the computer instantly go down to 0 w when the coding is done.