huffman.h
上传用户:hxb_1234
上传日期:2010-03-30
资源大小:8328k
文件大小:1k
源码类别:

VC书籍

开发平台:

Visual C++

  1. /*
  2.  * libmad - MPEG audio decoder library
  3.  */
  4. # ifndef LIBMAD_HUFFMAN_H
  5. # define LIBMAD_HUFFMAN_H
  6. union huffquad {
  7.   struct {
  8.     unsigned short final  :  1;
  9.     unsigned short bits   :  3;
  10.     unsigned short offset : 12;
  11.   } ptr;
  12.   struct {
  13.     unsigned short final  :  1;
  14.     unsigned short hlen   :  3;
  15.     unsigned short v      :  1;
  16.     unsigned short w      :  1;
  17.     unsigned short x      :  1;
  18.     unsigned short y      :  1;
  19.   } value;
  20.   unsigned short final    :  1;
  21. };
  22. union huffpair {
  23.   struct {
  24.     unsigned short final  :  1;
  25.     unsigned short bits   :  3;
  26.     unsigned short offset : 12;
  27.   } ptr;
  28.   struct {
  29.     unsigned short final  :  1;
  30.     unsigned short hlen   :  3;
  31.     unsigned short x      :  4;
  32.     unsigned short y      :  4;
  33.   } value;
  34.   unsigned short final    :  1;
  35. };
  36. struct hufftable {
  37.   union huffpair const *table;
  38.   unsigned short linbits;
  39.   unsigned short startbits;
  40. };
  41. extern union huffquad const *const mad_huff_quad_table[2];
  42. extern struct hufftable const mad_huff_pair_table[32];
  43. # endif