Cinepak

Cinepak is a video codec developed by SuperMatch, a division of SuperMac Technologies, and released in 1992 as part of Apple Computer's Quicktime video suite. It was designed to encode 320x240 resolution video at 1x (150 kbyte/s) CD-ROM transfer rates. The codec was ported to the Windows platform in 1993. It was also used on first-generation and some second-generation CD-ROM game consoles, such as the Atari Jaguar CD, Sega CD, Sega Saturn, and 3DO.

It was the primary video codec of early versions of QuickTime and Microsoft Video for Windows, but was later superseded by Sorenson Video, Intel Indeo, and most recently MPEG-4 and H.264. However, movies compressed with Cinepak are generally still playable in most media players.

Cinepak is based on vector quantization, which is a significantly different algorithm from the discrete cosine transform (DCT) algorithm used by most current codecs (in particular the MPEG family, as well as JPEG). This permitted implementation on relatively slow CPUs, but tended to result in blocky artifacting at low bitrates, which explained the criticism levelled at the FMV-based video games.

Cinepak divides a movie into key images and intra-coded images. Each image is divided into a number of horizontal bands which have individual 256-color palettes transferred in the key images. Each band is subdivided into 4x4 pixel blocks. The compressor uses vector quantization to determine the one or two band palette colors which best match each block and encodes runs of blocks as either one color byte or two color bytes plus a 16-bit vector which determines which pixel gets which color. The data rate can be controlled within a narrow range by adjusting the rate of key versus intra-coded frames and by adjusting the permitted error in each block and the block run-length.

The original name of this codec was CompactVideo, which is why its FourCC identifier is "CVID".