Please consider a donation to the Higher Intellect project. See https://preterhuman.net/donate.php or the Donate to Higher Intellect page for more info.

Cosmo Compress

From Higher Intellect Vintage Wiki
Jump to navigation Jump to search

Product Overview

Cosmo Compress is an option card used in conjunction with Indy Video, Indigo2 Video and Galileo Video. It provides compression and decompression of incoming

and outgoing video to the CCITT/ISO JPEG standard.

Product Features

Cosmo Compress has these features:

  • Compression and decompression in ratios from 4:1 to 100:1, depending on the source material (the minimum compression ratio to sustain a real-time video frame rate compression may be higher)
  • Frame and field compression/decompression modes: up to 30 frames/second or 60 fields/second
  • NTSC and PAL square-pixel formats and CCIR 601 525/625 formats (with 601 video option)
  • Data transfers
  • - - Single-frame transfers to and from workstation host memory in 8-bit per component 4:2:2 YUV, 24-bit RGB
  • - - Transfers of NTSC- or PAL-sized images, to and from video option card and peripherals via digital video port
  • Arbitrary scaling of decompressed video images using the Philips SAA7186 Digital Video Scaler
  • Fixed scaling
  • - - Incoming images from the SGI Digital Video port can be scaled by 2 or 4 before compressing (using decimation)
  • - - Outgoing images sent to the SGI Digital Video port can be zoomed by 2 or 4 using pixel/line replication
  • Output synchronization to external source via digital video port

    Physical Characteristics

    Cosmo Compress is a single wide GIO expansion board for the SGI Indy. It occupies

    a single GIO slot in the SGI Indigo2 chassis.

    Cosmo Compress uses the C-Cube Microsystems CL560 Image Compression Processor to compress and decompress live video and rendered graphic images. Cosmo Compress interfaces with the host over a 32-bit GIO bus interface using two DMA channels; one channel is for compressed data, the other for uncompressed data. Cosmo can display decompressed video using Galileo Video, Indigo2 Video, or Indy Video via the SGI digital video interface, or by transferring data to host memory to be displayed by the graphics subsystem.

    When decompressing video to host memory, Cosmo Compress can arbitrarily scale images (of a maximum resolution of 768x576) by piping the uncompressed data through the Philips SAA7186 scaling chip. Images captured through the SGI digital video interface can be scaled horizontally, vertically, or both by a factor of 2 or 4 before compressing. This compressed data can then be zoomed back to full size when played back over the SGI digital video interface.


    How to Use Cosmo Compress

    The Compression Library, part of the digital media development option,

    can address three independent board functions:

  • Compression/decompression by the C-Cube CL-560 processor
  • Image routing
  • Compression ratio

    Compression

    Video data is transferred from the video option card across the SGI digital video interface or a buffer allocated in main system memory (depending on the path specified) to the compression board. Data is compressed and transferred

    to a buffer allocated in main system memory.

    See 4DGifts for sample, commented code and man pages.

    Library Calls
    clCompressImage
    clOpenCompressor
    (specify path, scaling, quantization tables, clipping, etc.)
    clCompress
    clCloseCompressor

    Decompression

    Video data is transferred from a user allocated buffer in main system memory to the compression board. Data is decompressed and transferred to the video option card via the SGI digital video interface or to a user allocated buffer in main system memory (depending on path specified). A hardware scaler (that can be bypassed) for filtered zoom-down of decompressed video supports arbitrary-size

    video display for user interface needs.

    See 4D Gifts for sample, commented code and man pages.

    Library Calls
    clDecompressImage
    clOpenDecompressor
    (specify path, scaling, quantization tables, clipping, etc.)
    clDecompress
    clCloseDecompressor

    Image Routing and Manipulation

    Cosmo Compress has three ports for image-data transfers: digital video,

    CIC DMA, and UIC DMA.


    Hardware Features

    The Cosmo Compress expansion board is divided into three logical parts:

  • Digital video interface
  • Image processor
  • GIO bus interface

    Figure\x112 is a system level block diagram showing the Cosmo Compress and video subsystem boards.

    Digital Video Interface

    Two 8-bit wide interfaces, one bidirectional, one unidirectional, provide the interface to the digital video port. The port connects Cosmo Compress to the video option card or a peripheral device. (see the Galileo Video

    or Indy Video/Indigo2 Video sections of this report).

    Image Processor

    The C-Cube CL-560 provides quantization tables for control of the compression ratio, which varies from 4:1 to 100:1 (the minimum compression ratio to

    sustain a real-time video frame rate compression may be higher).


    Software Features

    Software for Cosmo Compress follows Silicon Graphics successful strategy of providing common functionalities in a library of device-dependent and device-independent routines addressed through an API. Libraries insure that upgrades are compatible with current releases, that applications developed for one product can be ported easily to other products, and that functions provided by one library will interface reliably and consistently with the

    functions of other libraries.

    The software consists of the following:

  • Compression Library
  • Kernel (device driver)

    See the Media Libraries Programming Guide for additional information.