October 25, 2010

Scaling in Premiere Pro CS5

Todd Kopriva and Steve Hoeg share some details about scaling with CPU and CUDA in Premiere Pro CS5, which AE users can only look on with envy unless there's a Premiere render path through Dynamic Link or import. At least there's another option than Photoshop. Note also that deinterlacing and blending modes are GPU-accelerated, and there are GPU-accelerated effects [update: see a list in link comments]. Here's an excerpt on scaling:

"When Premiere Pro CS5 is just using the CPU for the processing of scaling operations, it uses the following scaling methods:
  • playback: bilinear
  • paused: Gaussian low-pass sampled with bilinear
  • high-quality export (Maximum Render Quality off): Gaussian low-pass sampled with bilinear
  • Maximum Render Quality export: variable-radius bicubic (never used on unrendered footage)

The variable-radius bicubic scaling done on the CPU is very similar to the standard bicubic mode in Photoshop, though the Premiere Pro CS5 version is multi-threaded and optimized with some SSE instructions. Even with these optimizations, it is still extremely slow. For high-quality scaling at faster-than-real-time processing, you need to use a CUDA card.

When Premiere Pro CS5 is using CUDA on the GPU to accelerate the processing of scaling operations, it uses the following scaling methods:

For export, scaling with CUDA is always at maximum quality, regardless of quality settings. (This only applies to scaling done on the GPU.) Maximum Render Quality can still make a difference with CUDA-accelerated exports for any parts of the render that are processed on the CPU. Over time, we are working on reducing the list of exceptions to what can be processed on the GPU. For an example of a limitation that can cause some rendering to fall back to the CPU, see this article: “Maxium dimensions in Premiere Pro CS5″.

When rendering is done on the CPU with Maximum Render Quality enabled, processing is done in a linear color space (i.e., gamma = 1.0) at 32 bits per channel (bpc), which results in more realistic results, finer gradations in color, and better results for midtones. CUDA-accelerated processing is always performed in a 32-bpc linear color space. To have results match between CPU rendering and GPU rendering, enable Maximum Render Quality."

Read the rest at Premiere Pro work area.

No comments: