Rendering Time: SoftStudio vs. VVS

There are some very frequently asked questions about VideoVision SoftStudio, but a few require a more detailed answer. The technical issues described below apply to any software codec, but when this was written,VideoVision SoftStudio was the only software codec available.

Rendering is Faster with SoftStudio?

I got the following question from Anthony Burokas regarding rendering time with SoftStudio vs. with the VideoVision Studio hardware.

>In reading the benchmarks for SoftStudio, I was surprised to conclude
>that, while a piece of video takes 1:15 to compress in a 68k machine with VVS
>hardware... and 1:01 on a PPC with VVS hardware, the same function takes
>only 0:39 on a 604/120 CPU [with SoftStudio], meaning that a
>machine with [SoftStudio] is _faster_ than a machine with the videocapture board?!?

Since recording and playback of full-screen, full-motion high-quality video requires such an extensive hardware investment, many are surprised to hear that "software codecs" can render faster than hardware codecs. Software codecs compress and decompress video frames using the system's processor instead of the dedicated hardware on the board.

While the CPU cannot compress and decompress video as fast as the dedicated hardware, enough time can be saved in other areas of the rendering process to more than make up for the difference, representing an overall improvement in rendering speed.

The secret is that a surprisingly small amount of time is spent actually calculating the new video frame; quite a lot of time is spent moving data over the bus. The less data is moved over the bus, the faster the rendering is performed. There is a detailed descriptionof this sequence below.


Then Why Do I Need to Buy a VideoVision?

Digitizing boards all keep the specialized compression hardware right on the video board; this way, data does not have to enter or leave the board uncompressed to be digitized, played back, or displayed.

Since SoftStudio does its work in the CPU instead of on the board, video that is being recorded or played back would have to be transferred uncompressed between the software codec and the board. Transferring this much data between the two, over the bus, results in very poor recording and playback performance.

There are also many other reasons to buy the hardware, detailed below.

What other Advantages Does a Software Codec Offer?

Acceleration and portability are the most compelling. The acceleration options don't stop at the advantage described above:

It's naturally faster, because it avoids moving uncompressed data over the bus.
It's a lot cheaper and takes up fewer slots than buying a dedicated rendering accelerator.
More Scalable
It's scalable, especially in the PCI world, where processor upgrades are easy. Since it relies heavily on the processor, the faster your processor, the faster it goes. Eventually, it could take advantage of multiple processors, as well.
More Portable
Anyone can access movies made with VideoVision, regardless of what hardware is in their Mac. This makes collaboration easy, such as when hiring an independent animator to produce content for you. You no longer have to worry if they have VideoVision; simply ask them to render their final files out to the VideoVision software codec at your favorite data rate.
More Upgradeable
It's upgradeable; we can make improvements and optimizations that only require replacing the software component. When the codec is in hardware, there is no easy way to make improvements that the installed customer base can use.
More Compatible
VideoVision SoftStudio has been carefully engineered to be compatible with the Radius Studio hardware codec, meaning that any movie generated with SoftStudio will be compatible with all of our VideoVision hardware products, and vice versa. Furthermore, it can be used on any MacOS-compatible machine that is capable of running your video editing or rendering program, including desktop Macs, Workgroup Servers, Performas, and even PowerBooks.

What is the Future of SoftStudio?

SoftStudio is the cornerstone of the Radius acceleration strategy. For the reasons described above, we are working hard to improve integration and performance. For example, in version 1.2 of the VideoVision PCI and SP software, the hardware and the software codecs work together if hardware is present, each codec being used according to its strengths. This offers the advantages of full real time recording and playback with transparent, automatic software acceleration.

Next up will be a new version sporting further performance enhancements.Following that, we will investigate multiproccessing options.

Technical Details

To understand why using SoftStudio is faster for rendering than using the VideoVision hardware, it is important to understand how data moves through the system.

While recording:

With VVS, image comes into the card, gets digitized there (in realtime).The data gets handed directly to the compressor (in realtime). Data getscompressed (in realtime) and sent over the bus (compressed) to the disk.

If you tried recording to SoftStudio through the Mac AV input, the data would get digitized by the AV card, sent (as uncompressed RGB -- 900K/frame)directly to the processor, compressed by the processor (kinda slow, compared to VVS), and the data sent over the bus from the processor to the disk.All that moving data around, and the slower compression of the 601, amount to a less-than-useful and unpredictable recording framerate.


When rendering (in a simple A/B crossfade scenario):

The reason it's so slow with the hardware is: (stay with me here)

2 frames' worth of data:

  1. comes off the disk
  2. goes (compressed) over the bus
  3. gets decompressed (very quickly) in the card's LSI chipset,
  4. and goes out over the bus (uncompressed -- a real time-killer) to the processor, and
  5. gets rendered.

Then the resulting frame:

  1. gets sent (uncompressed again) back to the card,
  2. gets compressed,
  3. and gets sent back over the bus to the disk, into the output movie.


Three uncompressed frames plus three compressed frames trucked around for each rendered frame. Say you were working at 4MB/sec (133.5kb/frame),you'd run:

 133.5 (compressed frame from "A" Roll) 133.5 (compressed frame from "B" Roll) 900 (uncompressed frame from "A" Roll) 900 (uncompressed frame from "B" Roll) 900 (uncompressed rendered frame)+133.5 (compressed rendered frame)-------3100 KB

3.1 megabytes of data moved around, just to render one frame!

With SoftStudio, the data is:

  1. pulled from the disk,
  2. sent (compressed) straight to the processor,
  3. decompressed by the processor (somewhat slower), and
  4. rendered.
  5. The resulting frame is:

  6. compressed by the processor,
  7. sent (compressed) over the bus to the disk.

The difference in time between the LSI chips doing the compression and decompression vs. the 601 doing it is more than made up by not having to move three frames' worth of uncompressed data all over that poky bus.

The one detail I left out for simplicity's sake was how the bus and processor interact with RAM, which also figures into render time.

One other thing I didn't mention in the readme is that SoftStudio is symmetrical (or at least pretty close). That is to say, compression time sand decompression times are essentially the same.


In my benchmark:

VVS was compressing an uncompressed movie -- actually, a PICT movie with a duration of 10 seconds. The uncompressed frame went from the disk to the processor, from the processor to the card, got compressed, and then the compressed result was sent to the disk. I doubt Premiere went back to the disk for the source video for every frame in the rendered movie, but it might have.

With SoftStudio, it was coming uncompressed from the disk to the processor,being compressed by the processor, and being sent compressed to the disk.A shorter pipeline that moves less uncompressed data around, and so it was faster.

Other reasons you want the hardware:

  1. Realtime frame update. Soft Studio without hardware is a nice place to visit, but you wouldn't want to live there.
  2. Adaptive compression. It's not much good for realtime recording without the LSI hardware.
  3. Better digitizer.
  4. Framerate is less subject to the vagaries of system performance and config (believe it or not). Once you set up the system so VVS can record/play back at 30fps, it will always do so, unlike the Mac AV.
  5. H. Sync genlock.
  6. Better upgrade path.
  7. You don't need the full 4MB VRAM to get a second 24-bit interlaced video screen.
  8. Audio output is much cleaner (i.e. you will never hear the processor humming from VideoVideo PCI's audio outputs.)