JCHUFF.h
上传用户:qiutianh
上传日期:2022-08-08
资源大小:939k
文件大小:2k
源码类别:

图形图象

开发平台:

Visual C++

  1. ////////////////////////////////////////////////////////////////////////
  2. //
  3. // Note : this file is included as part of the Smaller Animals Software
  4. // JpegFile package. Though this file has not been modified from it's 
  5. // original IJG 6a form, it is not the responsibility on the Independent
  6. // JPEG Group to answer questions regarding this code.
  7. //
  8. // Any questions you have about this code should be addressed to :
  9. //
  10. // CHRISDL@PAGESZ.NET - the distributor of this package.
  11. //
  12. // Remember, by including this code in the JpegFile package, Smaller 
  13. // Animals Software assumes all responsibilities for answering questions
  14. // about it. If we (SA Software) can't answer your questions ourselves, we 
  15. // will direct you to people who can.
  16. //
  17. // Thanks, CDL.
  18. //
  19. ////////////////////////////////////////////////////////////////////////
  20. /*
  21.  * jchuff.h
  22.  *
  23.  * Copyright (C) 1991-1996, Thomas G. Lane.
  24.  * This file is part of the Independent JPEG Group's software.
  25.  * For conditions of distribution and use, see the accompanying README file.
  26.  *
  27.  * This file contains declarations for Huffman entropy encoding routines
  28.  * that are shared between the sequential encoder (jchuff.c) and the
  29.  * progressive encoder (jcphuff.c).  No other modules need to see these.
  30.  */
  31. /* Derived data constructed for each Huffman table */
  32. typedef struct {
  33.   unsigned int ehufco[256]; /* code for each symbol */
  34.   char ehufsi[256]; /* length of code for each symbol */
  35.   /* If no code has been allocated for a symbol S, ehufsi[S] contains 0 */
  36. } c_derived_tbl;
  37. /* Short forms of external names for systems with brain-damaged linkers. */
  38. #ifdef NEED_SHORT_EXTERNAL_NAMES
  39. #define jpeg_make_c_derived_tbl jMkCDerived
  40. #define jpeg_gen_optimal_table jGenOptTbl
  41. #endif /* NEED_SHORT_EXTERNAL_NAMES */
  42. /* Expand a Huffman table definition into the derived format */
  43. EXTERN(void) jpeg_make_c_derived_tbl
  44. JPP((j_compress_ptr cinfo, JHUFF_TBL * htbl, 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[]));