Chapter 8. Differences Between OCTANE Compression and Earlier Silicon Graphics Compression Options

OCTANE Compression is functionally the same as the Indigo2 IMPACT Compression board. The Indigo2 IMPACT Compression board has, with some exceptions, a superset of the functionality provided by Cosmo Compress option board.

Before an application for the Indigo2 IMPACT Compression or Cosmo Compress option board can run on the OCTANE Compression option, it must be ported.

This chapter is designed for those porting software from Cosmo Compress to OCTANE Compression. It explains hardware and software differences between the options.

Note: Compression programs that currently execute on the Indigo2 IMPACT Compression board should be recompiled on the OCTANE workstation because of issues related to the change of operating system.

Hardware Differences

This section describes hardware changes between the options, including additional functionality and restricted functionality.

Data created with OCTANE Compression is compatible with Indigo2 IMPACT Compression and Cosmo Compress, with these caveats:

  • Movies created with low compression ratios (greater than approximately 7:1) do not play in real time on Cosmo Compress hardware.

  • Images larger than 768 x 300 pixels cannot be decompressed with Cosmo Compress.

The following points summarize hardware differences between the two compression options:

  • Two independent JPEG codecs

    OCTANE Compression and Indigo2 IMPACT Compression add a second identical and independent JPEG codec circuit. This circuit allows two applications to process JPEG compressed data independently, or allows one application to achieve both JPEG compression and decompression concurrently.

    Instead of depending upon a separate video option board for video input and output, OCTANE Compression and Indigo2 IMPACT Compression add built-in analog video support. The options can also be installed with OCTANE Digital Video for I/O of digital component video formats; the two boards can operate together.

    OCTANE Compression and Indigo2 IMPACT Compression include one analog input, which is accessible by both codecs simultaneously, and one analog output, which is accessible by only one codec at a time. Analog genlock capability is included.

    Analog formats supported are standard NTSC and PAL, and non-square pixel format NTSC (CCIR 525) and PAL (CCIR 625).

  • Maximum image size

    The Cosmo Compress option requires all images to transit the field buffer memories, even in memory-to-memory modes. OCTANE Compression and Indigo2 IMPACT Compression remove this limitation, and support image sizes up to 4080 pixels wide by 4088 lines high in memory-to-memory modes.

    OCTANE Compression and Indigo2 IMPACT Compression do not process images larger than video size (768 x 576 at 50 fields/second) in real time.

OCTANE Compression has the following capabilities not found in Cosmo Compress:

  • Compression ratios as low as one output byte for each two input bytes (2:1) in real time (for video-sized images)

  • Hardware-implemented approximate target bit-rate control

  • Enhanced management of access and transactions on the GIO bus (the Silicon Graphics proprietary option bus used in the Indigo2 and Indy® workstations):

    • real-time memory-to-memory transfers (of images up to 768 x 576 at 50 fields/second)

    • uncompressed data transfers in top-down, bottom-up, or interleaved (both odd or even) patterns

  • Scaler and color-space conversion on each codec subsystem for video-sized images with a maximum size of 1000 x 1000 pixels during memory-to-memory decompression operations; larger images scaled and converted on the host CPU by a thread that the CL creates

    • shrinking of video-sized images

    • YCrCb 4:2:2-to-RGBX color-space conversion

Software Differences

OCTANE Compression CL software uses the same programming paradigms as Indigo2 IMPACT Compression and Cosmo Compress, with differences necessary to enable the added capabilities of the hardware. The most pervasive change from Cosmo Compress is in the way that the Compression Library and the Video Library interact. OCTANE Compression is treated as a combination VL and CL device, with synchronization between the two libraries being handled at the device driver level.

OCTANE Compression does not have a predefined value for its compression scheme. Instead, as for Indigo2 IMPACT Compression, applications use the clQuerySchemeFromName() routine to query the CL for the current scheme value for the name impact. See the example “Memory-to-Memory Compression”.

Since OCTANE Compression has two JPEG codecs, an application that processes data to a CL_EXTERNAL_DEVICE needs a way of telling the VL which VL_CODEC node to open. (There is a one-to-one correspondence between the two VL_CODEC nodes and the two JPEG codecs.) See “Compressing and Decompressing Video Through External Connections” in Chapter 4 for a discussion and example.

For Cosmo Compress, the application sets CL parameters to control the video capture rate. OCTANE Compression controls the rate with the control VL_RATE on the VL_CODEC node that is the source or drain of the VL path.

OCTANE Compression software includes Internal Video Sync, a synchronization signal that ensures that simultaneous audio and video signals are precisely synchronized with other devices that have this feature. For a complete explanation of how to use Internal Video Sync, see Chapter 5 of the OCTANE Digital Video Programmer's Guide.