Monday, October 25, 2010

Some details about scaling in Premiere Pro CS5

From "A lot of people are talking about CUDA and the GPU in the context of Premiere Pro CS5. But the talk is almost always about speed, speed, and more speed. Yeah, using CUDA on the GPU to process a lot of effects does speed things up (a lot!) in many cases, but that’s not the whole story.

Moving a lot of processing to the GPU can also make things better, not just faster.

A good example is scaling. There are lots of different scaling algorithms, and they each have their pros and cons. Some are better for scaling things up, some are better for scaling things down; some are better for sharp graphics, and some are better for gradual changes in color across an image. The real tradeoff, though, is that the high-quality algorithms are also—in general—the slow algorithms.

However, these higher-quality algorithms are only really slow if you are forced to execute them serially, but they are relatively fast when you can run them in parallel. One of the huge advantages of GPU processing is that GPUs are massively parallel, with hundreds of parallel processing units. There are a lot of pixel operations that are very amenable to parallel processing, since you don’t need to know the result of the operation on one pixel to do the same operation on its neighbor in the same image. Scaling is just such an operation. When you move scaling operations to the GPU, you get to take advantage of scaling algorithms that were just plain unfeasible on the CPU.

Click here to continue reading this story.


1 comment:

Clipping Path said...

awesome post! thanks a lot for sharing :)