Peanut Butter and Chocolate

Carter TEveryone loves the clip on this page:  how it works. It says it all.  GPU-based video encoding is fast because all of the macroblocks can be processed at once, whereas a CPU-based solution must iterate through each macroblock one-by-one. However, critics out there are quick to point out that you can't just do that!  Video encoders, they claim, need to operate on one macroblock at a time to perform tasks such as entropy-coding or to calculate motion vector deltas between macroblocks.  The critics are right, partially.  There are indeed dependencies between the macroblocks, as implied by the various video standards, such as H.264 and MPEG-2. How is it possible, then, to process a frame's worth of macroblocks in parallel, if there are dependencies?  Well, that's the magic of the RapiHD technology.  With some very clever parallel algorithms, it is possible to come up with global solutions for a frame that are as good as (if not better than) an approach that computes one macroblock at a time.  The idea is to maximize the parallel processing, and minimize the need for serial operations. Elemental Technologies prides itself on being a forerunner in the area of parallel techniques for video encoding.  Parallel programming on a GPU is an art, related to but different from the art of CPU-based programming.  Algorithms that run fast on a CPU are not the same as those that run on a GPU, and vice-versa.  Like peanut butter and chocolate, NVIDIA claims that the GPU and CPU are better together than separate.  Elemental has found that this is true.  Some jobs are best done on a CPU, and some are best on a GPU.  Together, powered by the right mix of GPU and CPU software, your whole computer can be a video-encoding workhorse. For the skeptics, an interesting fact is that the GPU is the computing bottleneck in the RapiHD flow.  Because GPUs have historically increased in computing power faster than CPUs, the RapiHD technology will continue to track with that faster growth curve, as opposed to pure software encoders, which will also benefit over time, but only by tracking CPU computing growth curves.  Thus, RapiHD is poised to not only blaze ahead in the short term, but continue to do so well into the future. Editor's note: Carter is one of the key architects behind the RapiHD Video Platform, and an avowed fan of peanut butter and chocolate -- but only in combination.