]>
git.saurik.com Git - wxWidgets.git/blob - src/jpeg/jchuff.h
   4  * Copyright (C) 1991-1997, Thomas G. Lane. 
   5  * This file is part of the Independent JPEG Group's software. 
   6  * For conditions of distribution and use, see the accompanying README file. 
   8  * This file contains declarations for Huffman entropy encoding routines 
   9  * that are shared between the sequential encoder (jchuff.c) and the 
  10  * progressive encoder (jcphuff.c).  No other modules need to see these. 
  13 /* The legal range of a DCT coefficient is 
  14  *  -1024 .. +1023  for 8-bit data; 
  15  * -16384 .. +16383 for 12-bit data. 
  16  * Hence the magnitude should always fit in 10 or 14 bits respectively. 
  19 #if BITS_IN_JSAMPLE == 8 
  20 #define MAX_COEF_BITS 10 
  22 #define MAX_COEF_BITS 14 
  25 /* Derived data constructed for each Huffman table */ 
  28   unsigned int ehufco
[256];     /* code for each symbol */ 
  29   char ehufsi
[256];             /* length of code for each symbol */ 
  30   /* If no code has been allocated for a symbol S, ehufsi[S] contains 0 */ 
  33 /* Short forms of external names for systems with brain-damaged linkers. */ 
  35 #ifdef NEED_SHORT_EXTERNAL_NAMES 
  36 #define jpeg_make_c_derived_tbl jMkCDerived 
  37 #define jpeg_gen_optimal_table  jGenOptTbl 
  38 #endif /* NEED_SHORT_EXTERNAL_NAMES */ 
  40 /* Expand a Huffman table definition into the derived format */ 
  41 EXTERN(void) jpeg_make_c_derived_tbl
 
  42         JPP((j_compress_ptr cinfo
, boolean isDC
, int tblno
, 
  43              c_derived_tbl 
** pdtbl
)); 
  45 /* Generate an optimal table definition given the specified counts */ 
  46 EXTERN(void) jpeg_gen_optimal_table
 
  47         JPP((j_compress_ptr cinfo
, JHUFF_TBL 
* htbl
, long freq
[]));