Difference between revisions of "Cirrus Logic AccuPak"

From MultimediaWiki
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]]
* Technical Description: [http://multimedia.cx/simple-yuv.txt http://multimedia.cx/simple-yuv.txt]
+
* 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 13:17, 17 August 2006

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.