Apple Pixlet Codec

From MultimediaWiki
Revision as of 02:17, 14 May 2016 by Kostya (talk | contribs) (some description)
Jump to navigation Jump to search

Pixar/Apple Pixlet codec. Reportedly based on a wavelet transform and encodes only I-frames. No open source decoder. This codec was designed as an editing format and is rarely used for media distribution.

Frame Format

Frame Header

All values are 32-bit big-endian words.

  0- 3  -- frame size
  4- 7  -- version, supposed to be 1
  8-11  -- ???
 12-15  -- should be 0x01000000
 16-19  -- ???
 20-23  -- width
 24-27  -- height
 28-31  -- number of levels (should be 4)
 32-35  -- ???
 36-39  -- some number * 1000
 40-43  -- coded planes size?

Each plane starts with (level*2) words that contain scaling parameters used in wavelet reconstruction (horizontal/vertical) multiplied by 1000000 followed by lowpass subband and (level*3) highpass subbands.

Lowpass subband coding

Decoding order:

  • top left pixel (as 16-bit BE, no special coding)
  •  top row (without the first pixel)
  • left column (without the first pixel)
  • the rest of pixels

Coding parameters:

  • 3
  • 3
  • quant = 120
  • max length = 14
  • 16383
  • 136
  • 255

After decoding pixel data is top+left predicted, i.e. dst[x][y] += dst[x-1][y] + dst[x][y-1];

Highpass subbands coding

Header:

  0- 3 -- some negative value
  4- 7 -- some positive value
  8-11 -- some parameter
 12-15 -- quantiser
 16-19 -- 0xDEADBEEF

Wavelet filters

Edges:

 -0.07576144003329376
  0.8586296626673486
 -0.07576144003329376
  0.3535533905932737
  0.3535533905932737

Main:

 -0.01515228715813062
  0.3687056777514043
  0.3687056777514043
 -0.01515228715813062

  0.07071067811865475
 -0.8485281374238569
  0.07071067811865475