More Details on Elemental's GPU Accelerated H.264 Encoder
by Anand Lal Shimpi on June 23, 2008 10:52 PM EST- Posted in
- GPUs
Tucked away in our NVIDIA GT200 review was a bit of gold. Elemental Technologies has been developing, in CUDA, a GPU-accelerated H.264 video transcoder.
If you've ever tried ripping a Blu-ray movie you'll know that just a raw rip of just one audio and one video stream can easily be over 20 - 30GB. I've been doing a lot of this lately for my HTPC and even without 8-channel audio tracks, my ripped movies are still huge (Casino Royal was around 27GB for the 1080p video track and 5.1-channel english audio track). On a massive screen, you'll want to preserve every last bit of information, but on most displays you could actually stand to compress the video quite a bit.
Using the H.264 codec (or the open-source x264 version), it's very easy to preserve video quality but reduce file size down to the 8 - 15GB range - the problem is that it requires a great deal of processing power to do so. Transcoding from a H.264 encoded Blu-ray to a lower bitrate H.264/x264 can often take several hours, if not over a day for a very high quality re-encode on a fast dual or quad-core system.
Right now transcoding Blu-ray movies isn't exactly at the top of everyone's list, but using H.264/x264 you can significantly reduce file sizes on any video. x264 is the new DivX and its usefulness extends far beyond just ripping HD movies. Needless to say, its use isn't going to increase unless encoding using the codec gets faster.
Elemental Technologies has been working on a technology they called RapiHD, which is a GPU-accelerated H.264 video encoder and the consumer implementation of RapiHD is a software application called BadaBOOM (yes, that's what it's actually called, there's even a video).
RapiHD and thus BadaBOOM are both CUDA applications, meaning they are written in C and compiled to run on NVIDIA's GPUs. They won't work without a CUDA-enabled GPU (GeForce 8xxx, 9xxx or GTX 280/260) and they won't work on AMD/ATI hardware.
Elemental allowed NVIDIA to use a very early beta of BadaBOOM in its GT200 launch, which meant we got access to the beta. We could only transcode up to 2 minutes of video and we weren't given access to any options, we could only choose a vague output format and run the encode.
BadaBOOM uses its own H.264 codec that Elemental developed, we were forced to compare it to the open-source x264 in our tests since Elemental's software won't run without GPU acceleration. We used AutoMKV and played with its presets to vary quality. Even with the awkward comparison, the advantage of GPU-accelerated H.264 encoding was obvious:
Those numbers are compared to an Intel Core 2 Extreme QX9770, the fastest quad-core CPU available today. In the worst case scenario, the GTX 280 is around 40% faster than encoding on Intel's fastest CPU alone. In the best case scenario however, the GTX 280 can complete the encoding task in 1/10th the time. We're not sure where a true apples-to-apples comparison would end up, but somewhere between those two extremes is probably a good guesstimate.
Given the level of performance we saw with the GeForce GTX 280, we scheduled a meeting with Elemental's CEO, Sam Blackman to learn more about BadaBOOM as his application has the ability to truly revolutionize video encoding performance for the masses.
50 Comments
View All Comments
mberest - Sunday, July 20, 2008 - link
The bababoom website (www.badaboomit.com) states that the highest input resolution will be 720x480p. So for us blu-ray transcoders this is not the product we've been waiting for. The search continues...toyotabedzrock - Thursday, July 17, 2008 - link
They need to find a way to use 2 gpu cards in sli or not, and also offload a small amount to the system cpu.Also the BadaBOOM app looks to simplistic, power users will want more fetchers. We don't need the same kinda control over the encode as a pro does.
keanu13 - Tuesday, July 8, 2008 - link
Great info. i really believe that H.264 is one of the best video codec. and also the portability is also much flexible. although its has some limitation (cons)may be u can have a look at http://video-codecs.blogspot.com/
macscoop - Wednesday, July 2, 2008 - link
Here's my wishlist item. I want to be able to input a list of AVCHD 1080i files from a high-def camcorder and have them transcoded to lower-resolution H.264 videos in MP4 container, suitable for embedding in a web page and playing in the "Moviestar" version of the Flash player. Right now, that takes too many steps.dalleyg - Thursday, June 26, 2008 - link
As requested in the article, here's a short wishlist:(a) Support input from common HD camcorders like the Canon HG10 (they use some "advanced" H.264 encoding features that very few decoders actually handle correctly).
(b) Have a command-line version with no GUI so that batch scripts can be used.
(c) Allow different compression options for different decoder complexities, different encoding times, and different bitrates.
(d) Supply a DirectShow DMO and/or VFW encoder so people can purchase the CUDA encoder and then use it from other applications such as custom applications or VirtualDub.
Spiny - Monday, June 30, 2008 - link
>(b) Have a command-line version with no GUI so that batch scripts can be used.Better: a COM interface so you could script it with Javascript or VB Script.
thkbrew89 - Wednesday, June 25, 2008 - link
I would really like to see .mkv input/output like the article says, because a lot of my files are in that format. I would also like to see support for windows media (WMV) because that's the only format I can stream to my Media Center Extender. Basically, I would like to be able to take any kind of video input, and convert it to a .wmv using the VC1 codec. Obviously options like vbr/cbr, 1-pass/2-pass, auto-scaling, subtitles etc. would all be appreciated. It seems they are including ability to output to ipod/iphone compliant H.264, which would also be nice.kilkennycat - Tuesday, June 24, 2008 - link
As far as I have heard, Adobe is actively working on CUDA implementations of GPGPU acceleration of both photo-processing and video processing/transcoding elements of their next-gen Creative Suite 4. For the professional photographer or videographer/editor, if successful, this will be an enormous time-saver in transitioning from the raw input to the final finished product. And the cost of a GTX280 card (or several in SLI) would be mere chicken-feed in terms of the potential extra business revenue.shiggz - Tuesday, June 24, 2008 - link
There is actually a few critical advantages for me of the ps3 264 profile over the .mkv. The "scene" switched to dual then quad cores basically as soon as they were purchasable even at 500-1k$ prices. Because for them getting to be first with scene release i guess is a big deal, so if speed and is much improved and quality comparable "the scene" might move to this unlike what they did with divx vs xvid.-gpu hardware accel (laptops and my weak CPU HTPC) without GPU accel 1080p .mkv are just not playable for me. With GPU accel NP, The ps3 profile is hardware accelerated through like powerdvd etc.
-codec compatibility through future ps4 and past(as I mentioned earlier)
Once burnable blu ray get down to a few bucks a disc i hope to do away with having a "windows" box connected to my TV altogether. Just have DVD quality 264rips of shows and things all on one bluray. Could probably fit all .264 DVD rips of simpsons on 1 or 2 blu ray.
my vision is to have one 30slot CD case filled with .264 BLUray basically 1 disc per show of dvd or better quality. Then have them all able to play off the ps3/ps4/ps5 or weak Laptop.
Also if your into this sorta stuff, i Want to get my laptop Solar powered for 300$. So earthquake,flood, long term power outage i can still have music/games/movies. And hardware accel .264 is the key to it all for me.
http://www.siliconsolar.com/portable-solar-power-s...">http://www.siliconsolar.com/portable-solar-power-s...
LTG - Tuesday, June 24, 2008 - link
Contrary to what someone else said x264 is being ported to GPUs and the project is active.Just Google this: Dark Shikari GPU
It looks like Avail Media has hired a contractor who gets paid full time to work on the project.
@Anand: It would be great if you could use magic reporter skills get the latest update on this project. Dark Shikari said the code wouldn't be GPL'd until it was completed.
Also for testing you'll want 1080p uncompressed source video.
The only place I know of that offers this free for testing and research is here:
http://www.hdgreetings.com/ecard/video-1080p.aspx">http://www.hdgreetings.com/ecard/video-1080p.aspx
Can't wait for the followup -