One scenario we haven’t seen yet is transcoding into 1080 high-definition. I originally ran several tests that involved interpolating from a lower resolution to a higher one. Some people might be tempted to do this because, after all, your Blu-ray player does it for DVDs, and the results look better, right? The difference is that Blu-ray players and other upscalers apply a lot of filtering in order to make interpolated images look more natural. When you tell an encoder to make more pixels out of fewer pixels, it simply magnifies the pixels, leaving you with jagged, nasty looking results and a much larger file to boot. Why bother?AMD argued with me that no one would bother trying to perform this sort of upscaling, and I suspect they’re right. I sure wouldn’t. Of course, AMD had good cause to persuade me. My test results showed CUDA with a clear advantage on such operations. Still, I threw the tests out. AMD’s logic was sound, and it’s probably worth reprinting part of their email to me here:
The objectives of real-life transcoding are:
- Reducing the file size on the hard drive while trying to keep the best quality possible. This can be achieved by:
- Reducing the resolution of the video, e.g. going from 1080p to 720p or SD
- Or adding compression while keeping the same resolution like HD to HD, e.g. converting MPEG-2 HD to H.264 HD
- Converting for a portable device
- Transcoding from HD, SD to these portable devices to file the player requirements
- Converting to social media like YouTube
- Transcoding from HD, SD to these site requirements
- Authoring DVDs or Blu-ray Discs (BD)
- For DVDs, that means converting to MPEG-2 SD from HD or SD
- For BD, that means converting to MPEG-2 HD, H.264 HD or VC-1
This is almost a complete list. The one significant omission is captured in our final test for similar resolution transcoding. I took the 115 MB Terminator 2 WMV HD trailer, which displays at 1440x1080 with black bars, and transcoded it into Espresso’s MPEG-4 1920x1080 profile. As H.264 emerges as the de facto choice for high-def media, a lot of people are going to want to migrate over the HD files they have in other formats.
Neither GPU technology accelerates WMV decoding, both accelerate MPEG-4 encoding, and we have very similar CPU-only output times, so it should be a fair fight. Both sides score remarkable gains with GPU assistance, and this bout testifies to just how much time savings GPU computing might offer to transcoders when multiplied across sizable batch jobs. But CUDA takes the clear lead here, knocking over two minutes off of Stream’s already impressive encode time. Had we been working with an MPEG-2 HD file here rather than WMV HD, I suspect Stream would have eked out a win, so keep that in mind as you consider your own transcoding needs.
Final score: AMD 3, Nvidia 4. However, I’m going to call this a tie, and MPEG-2 decoding may be the deal-maker depending on your usage scenarios. If you need it and all we’re talking about is performance, then Stream wins. If you don’t need MPEG-2 acceleration and you want more GPGPU-enabled applications to choose from, then CUDA is likely your sensible choice today.
- Underground Stream: A GPGPU History
- Whither Avivo Video Converter?
- The “Balanced Platform”
- CyberLink Serves Up Espresso
- Let’s Pull Some Shots!
- Add Shots
- Mixed Messages
- Heavier Lifting
- Sim(ply Not Ready)HD
- In AMD’s Words
- Why Only These Codecs?
- Putting The “General” In GPGPU
- AMD On Stream’s Prospects