As an alternative, Intel has provided a media processor that performs pure hardware decoding of high definition MPEG2/VC-1 (WMV9)/AVC (H.264) video. In addition, it offers pure hardware encoding of AVC (H.264) video. The idea is that you'll be able to transcode video faster, and with lower power usage, on the CPU using the media engine than you would using a program that supports nVidia's CUDA or OpenCL on a dedicated GPU. This does require that you use a program that supports the Sandy Bridge media processor, but it's expected that support will be integrated into programs like Cyberlink's Media Show Espresso at launch, allowing performance comparisons with CUDA. We also don't know what kind of video quality it will produce, but probably likely that it won't be quite as good as dedicated software encoders like x264.
Not only would it be not as good as x264, it won't even be faster. My slower CPU gets the same speed (180fps) for small video sizes using the x264 "faster" preset. A CPU is a much better video encoder than any kind of GPU for all kinds of great reasons; the only reason to avoid one is power budgeting.
|# ¿ Sep 15, 2010 00:53
|# ¿ Mar 5, 2024 11:11
TOOT BOOT posted:
Couldn't the GPU be used for a really-fast first pass, since it can look at tons of frames in parallel?
The last method tried was to move x264's lookahead thread onto the GPU - this runs about ~50 frames ahead of actual encoding and is used to decide some stuff like frame types and visual importance.
It also avoids one of the worst problems with GPGPU; the motion decisions and so on are chosen just as much for how well the MVs compress as how well they match. This is really easy when you run all the decisions in the same order they're being encoded in... but GPUs do everything at the same time, so that doesn't work. Badaboom/etc most likely just don't bother doing any of it, so they're fast because they suck.
Anyway, the two people working on it still haven't finished after months, so it still can't be that easy...
|# ¿ Sep 24, 2010 14:33