Cirrus Logic AccuPak

From MultimediaWiki
Jump to: navigation, search

Cirrus Logic AccuPak is a reduced precision YUV codec.

Data Format

The AccuPak codec packs 4 Y samples and 2 C samples into 32 bits by representing each Y sample with 5 bits and each C sample with 6 bits. It is essentially a scaled-down method of coding YUV 4:1:1, where each group of 4 pixels on a line is represented by a luminance sample each but share C samples.

Each set of 32 bits represents 4 pixels on a line:

 p0 p1 p2 p3

For each set of 32 bits, read left -> right:

 p3.Y = next 5 bits
 p2.Y = next 5 bits
 p1.Y = next 5 bits
 p0.Y = next 5 bits
 Cb/U = next 6 bits
 Cr/V = next 6 bits
            32 bits

Thus, the first 5 bits represent the Y sample for the last pixel in the group of 4 pixels.