# Difference between revisions of "Cirrus Logic AccuPak"

Jump to navigation
Jump to search

m (Update samples link) |
|||

(4 intermediate revisions by 2 users not shown) | |||

Line 1: | Line 1: | ||

* FOURCCs: CLJR | * FOURCCs: CLJR | ||

* Company: [[Cirrus Logic]] | * Company: [[Cirrus Logic]] | ||

− | * | + | * Samples: [http://samples.mplayerhq.hu/V-codecs/CLJR/ http://samples.mplayerhq.hu/V-codecs/CLJR/] |

Cirrus Logic AccuPak is a reduced precision YUV codec. | 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 | ||

+ | C<sub>b</sub>/U = next 6 bits | ||

+ | C<sub>r</sub>/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. | ||

+ | |||

+ | [[Category:Video Codecs]] |

## Latest revision as of 14:17, 17 August 2006

- FOURCCs: CLJR
- Company: Cirrus Logic
- Samples: http://samples.mplayerhq.hu/V-codecs/CLJR/

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 C_{b}/U = next 6 bits C_{r}/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.