huffman.c File Reference

Declares some macros and initializes some data used in MPEG Layer III Huffman compression decoding. More...

#include "global.h"
#include "huffman.h"

Include dependency graph for huffman.c:

Go to the source code of this file.

Defines

#define PTR(offs, bits)   { { 0, bits, offs } }
#define V(v, w, x, y, hlen)
#define PTR(offs, bits)   { { 0, bits, offs } }
#define V(x, y, hlen)   { { 1, hlen, (x << 0) | (y << 4) } }

Variables

static union huffquad const hufftabA []
static union huffquad const hufftabB []
static union huffpair const hufftab0 []
static union huffpair const hufftab1 []
static union huffpair const hufftab2 []
static union huffpair const hufftab3 []
static union huffpair const hufftab5 []
static union huffpair const hufftab6 []
static union huffpair const hufftab7 []
static union huffpair const hufftab8 []
static union huffpair const hufftab9 []
static union huffpair const hufftab10 []
static union huffpair const hufftab11 []
static union huffpair const hufftab12 []
static union huffpair const hufftab13 []
static union huffpair const hufftab15 []
static union huffpair const hufftab16 []
static union huffpair const hufftab24 []
union huffquad const *const mad_huff_quad_table [2] = { hufftabA, hufftabB }
struct hufftable const mad_huff_pair_table [32]


Detailed Description

Declares some macros and initializes some data used in MPEG Layer III Huffman compression decoding.

Definition in file huffman.c.


Define Documentation

#define PTR ( offs,
bits   )     { { 0, bits, offs } }

Definition at line 124 of file huffman.c.

#define PTR ( offs,
bits   )     { { 0, bits, offs } }

Definition at line 124 of file huffman.c.

#define V ( x,
y,
hlen   )     { { 1, hlen, (x << 0) | (y << 4) } }

Definition at line 128 of file huffman.c.

#define V ( v,
w,
x,
y,
hlen   ) 

Value:

{ { 1, hlen, (v <<  0) | (w <<  1) |  \
                                             (x <<  2) | (y <<  3) } }

Definition at line 128 of file huffman.c.


Variable Documentation

union huffpair const hufftab0[] [static]

Initial value:

 {
   V(0, 0, 0)
}

Definition at line 133 of file huffman.c.

union huffpair const hufftab1[] [static]

Initial value:

 {
   V(1, 1, 3),
   V(0, 1, 3),
   V(1, 0, 2),
   V(1, 0, 2),
   V(0, 0, 1),
   V(0, 0, 1),
   V(0, 0, 1),
   V(0, 0, 1)
}

Definition at line 138 of file huffman.c.

union huffpair const hufftab10[] [static]

Definition at line 588 of file huffman.c.

union huffpair const hufftab11[] [static]

Definition at line 726 of file huffman.c.

union huffpair const hufftab12[] [static]

Definition at line 862 of file huffman.c.

union huffpair const hufftab13[] [static]

Definition at line 990 of file huffman.c.

union huffpair const hufftab15[] [static]

Definition at line 1516 of file huffman.c.

union huffpair const hufftab16[] [static]

Definition at line 2024 of file huffman.c.

union huffpair const hufftab2[] [static]

Initial value:

 {
   PTR(8, 3),
   V(1, 1, 3),
   V(0, 1, 3),
   V(1, 0, 3),
   V(0, 0, 1),
   V(0, 0, 1),
   V(0, 0, 1),
   V(0, 0, 1),

  
   V(2, 2, 3),  
   V(0, 2, 3),
   V(1, 2, 2),
   V(1, 2, 2),
   V(2, 1, 2),
   V(2, 1, 2),
   V(2, 0, 2),
   V(2, 0, 2)
}

Definition at line 150 of file huffman.c.

union huffpair const hufftab24[] [static]

Definition at line 2558 of file huffman.c.

union huffpair const hufftab3[] [static]

Initial value:

 {
   PTR(8, 3),
   V(1, 0, 3),
   V(1, 1, 2),
   V(1, 1, 2),
   V(0, 1, 2),
   V(0, 1, 2),
   V(0, 0, 2),
   V(0, 0, 2),

  
   V(2, 2, 3),  
   V(0, 2, 3),
   V(1, 2, 2),
   V(1, 2, 2),
   V(2, 1, 2),
   V(2, 1, 2),
   V(2, 0, 2),
   V(2, 0, 2)
}

Definition at line 172 of file huffman.c.

union huffpair const hufftab5[] [static]

Definition at line 194 of file huffman.c.

union huffpair const hufftab6[] [static]

Definition at line 228 of file huffman.c.

union huffpair const hufftab7[] [static]

Definition at line 266 of file huffman.c.

union huffpair const hufftab8[] [static]

Definition at line 431 of file huffman.c.

union huffpair const hufftab9[] [static]

Definition at line 516 of file huffman.c.

union huffquad const hufftabA[] [static]

Definition at line 57 of file huffman.c.

union huffquad const hufftabB[] [static]

Initial value:

 {
   V(1, 1, 1, 1, 4),
   V(1, 1, 1, 0, 4),
   V(1, 1, 0, 1, 4),
   V(1, 1, 0, 0, 4),
   V(1, 0, 1, 1, 4),
   V(1, 0, 1, 0, 4),
   V(1, 0, 0, 1, 4),
   V(1, 0, 0, 0, 4),
   V(0, 1, 1, 1, 4),
   V(0, 1, 1, 0, 4),
   V(0, 1, 0, 1, 4),
   V(0, 1, 0, 0, 4),
   V(0, 0, 1, 1, 4),
   V(0, 0, 1, 0, 4),
   V(0, 0, 0, 1, 4),
   V(0, 0, 0, 0, 4)
}

Definition at line 97 of file huffman.c.

struct hufftable const mad_huff_pair_table[32]

Definition at line 3080 of file huffman.c.

Referenced by III_huffdecode().

union huffquad const* const mad_huff_quad_table[2] = { hufftabA, hufftabB }

Definition at line 3078 of file huffman.c.

Referenced by III_huffdecode().


Generated on Tue Jun 10 12:14:18 2008 for libmad by  doxygen 1.5.5