Readablewiki

Cinepak

Content sourced from Wikipedia, licensed under CC BY-SA 3.0.

Cinepak is an early lossy video codec created by Peter Barrett at SuperMac Technologies. It first appeared in 1991 with the Video Spigot and joined Apple’s QuickTime suite in 1992. It was one of the first codecs to deliver full motion video on CD-ROM, designed to encode 320×240 video at about 150 KB per second. It was originally named Compact Video, which is why its FourCC code is CVID. A Windows version arrived in 1993, and Cinepak was used on several game consoles of the era, including the Atari Jaguar CD, Sega CD, Sega Saturn, and 3DO.

Cinepak’s decoder and encoder are available in libavcodec under the LGPL. It was the primary video codec of early QuickTime and Microsoft Video for Windows, but was later replaced by Sorenson Video, Intel Indeo, MPEG-4 Part 2, and H.264/MPEG-4 AVC. Movies compressed with Cinepak can still be played by most modern media players.

How Cinepak works: it uses vector quantization rather than the common DCT used by many codecs. It operates on 2×2 pixel blocks, which can be grayscale or 4:2:0 chroma-subsampled color. These blocks are stored in two codebooks, V1 and V4, each with up to 256 entries. The V1 codebook represents downscaled 4×4 blocks, while V4 represents 2×2 blocks.

Video is processed as key (intra) frames and inter-coded frames. Key frames transmit the codebooks from scratch; inter frames update codebooks selectively. Each image is split into horizontal bands, and each band into 4×4 blocks. A block can be coded from V1 (one index per 4×4 block, with the corresponding 2×2 code scaled up) or from V4 (four indices per 4×4 block, one per 2×2 subblock). A block can also be skipped and copied unchanged from the previous frame. The data rate is controlled by how often key frames appear and by how much error is allowed per block.


This page was last edited on 3 February 2026, at 16:57 (CET).