/*----------------------------------------------------------------------*/
/* Copyright (c) 1988-1989						*/
/* by CompuServe Inc., Tucson, AZ.  All Rights Reserved			*/
/* DEHUFTAB.H can be copied and distributed freely for any		*/
/* non-commercial purposes. DEHUFTAB.H can only be incorporated		*/
/* into commercial software with the permission of CompuServe Inc.	*/
/*----------------------------------------------------------------------*/

/* DEHUFTAB.H */

/* This header file contains the 5 standard Group III FAX Encoding tables */

huffman_code			/* White "make-up" codes                 */
    huf_wht_makeup[ 27 ] =	/*  based at 64, steps of 64, up to 1728 */
	{
	    { 5, 0033 },	/*   64 */
	    { 5, 0022 },	/*  128 */
	    { 6, 0027 },	/*  192 */
	    { 7, 0067 },	/*  256 */
	    { 8, 0066 },	/*  320 */
	    { 8, 0067 },	/*  384 */
	    { 8, 0144 },	/*  448 */
	    { 8, 0145 },	/*  512 */
	    { 8, 0150 },	/*  576 */
	    { 8, 0147 },	/*  640 */
	    { 9, 0314 },	/*  704 */
	    { 9, 0315 },	/*  768 */
	    { 9, 0322 },	/*  832 */
	    { 9, 0323 },	/*  896 */
	    { 9, 0324 },	/*  960 */
	    { 9, 0325 },	/* 1024 */
	    { 9, 0326 },	/* 1088 */
	    { 9, 0327 },	/* 1152 */
	    { 9, 0330 },	/* 1216 */
	    { 9, 0331 },	/* 1280 */
	    { 9, 0332 },	/* 1344 */
	    { 9, 0333 },	/* 1408 */
	    { 9, 0230 },	/* 1472 */
	    { 9, 0231 },	/* 1536 */
	    { 9, 0232 },	/* 1600 */
	    { 6, 0030 },	/* 1664 */
	    { 9, 0233 }		/* 1728 */
	};

huffman_code			/* Black "make-up" codes                 */
    huf_blk_makeup[ 27 ] =	/*  based at 64, steps of 64, up to 1728 */
	{
	    {10, 0017 },	/*   64 */
	    {12, 0310 },	/*  128 */
	    {12, 0311 },	/*  192 */
	    {12, 0133 },	/*  256 */
	    {12, 0063 },	/*  320 */
	    {12, 0064 },	/*  384 */
	    {12, 0065 },	/*  448 */
	    {13, 0154 },	/*  512 */
	    {13, 0155 },	/*  576 */
	    {13, 0112 },	/*  640 */
	    {13, 0113 },	/*  704 */
	    {13, 0114 },	/*  768 */
	    {13, 0115 },	/*  832 */
	    {13, 0162 },	/*  896 */
	    {13, 0163 },	/*  960 */
	    {13, 0164 },	/* 1024 */
	    {13, 0165 },	/* 1088 */
	    {13, 0166 },	/* 1152 */
	    {13, 0167 },	/* 1216 */
	    {13, 0122 },	/* 1280 */
	    {13, 0123 },	/* 1344 */
	    {13, 0124 },	/* 1408 */
	    {13, 0125 },	/* 1472 */
	    {13, 0132 },	/* 1536 */
	    {13, 0133 },	/* 1600 */
	    {13, 0144 },	/* 1664 */
	    {13, 0145 }		/* 1728 */
	};

huffman_code			/* White "termination" codes         */
    huf_wht_final[ 64 ] =	/*  based at 0, steps of 1, up to 63 */
	{
	    { 8, 0065 },	/*    0 */
	    { 6, 0007 },	/*    1 */
	    { 4, 0007 },	/*    2 */
	    { 4, 0010 },	/*    3 */
	    { 4, 0013 },	/*    4 */
	    { 4, 0014 },	/*    5 */
	    { 4, 0016 },	/*    6 */
	    { 4, 0017 },	/*    7 */
	    { 5, 0023 },	/*    8 */
	    { 5, 0024 },	/*    9 */
	    { 5, 0007 },	/*   10 */
	    { 5, 0010 },	/*   11 */
	    { 6, 0010 },	/*   12 */
	    { 6, 0003 },	/*   13 */
	    { 6, 0064 },	/*   14 */
	    { 6, 0065 },	/*   15 */
	    { 6, 0052 },	/*   16 */
	    { 6, 0053 },	/*   17 */
	    { 7, 0047 },	/*   18 */
	    { 7, 0014 },	/*   19 */
	    { 7, 0010 },	/*   20 */
	    { 7, 0027 },	/*   21 */
	    { 7, 0003 },	/*   22 */
	    { 7, 0004 },	/*   23 */
	    { 7, 0050 },	/*   24 */
	    { 7, 0053 },	/*   25 */
	    { 7, 0023 },	/*   26 */
	    { 7, 0044 },	/*   27 */
	    { 7, 0030 },	/*   28 */
	    { 8, 0002 },	/*   29 */
	    { 8, 0003 },	/*   30 */
	    { 8, 0032 },	/*   31 */
	    { 8, 0033 },	/*   32 */
	    { 8, 0022 },	/*   33 */
	    { 8, 0023 },	/*   34 */
	    { 8, 0024 },	/*   35 */
	    { 8, 0025 },	/*   36 */
	    { 8, 0026 },	/*   37 */
	    { 8, 0027 },	/*   38 */
	    { 8, 0050 },	/*   39 */
	    { 8, 0051 },	/*   40 */
	    { 8, 0052 },	/*   41 */
	    { 8, 0053 },	/*   42 */
	    { 8, 0054 },	/*   43 */
	    { 8, 0055 },	/*   44 */
	    { 8, 0004 },	/*   45 */
	    { 8, 0005 },	/*   46 */
	    { 8, 0012 },	/*   47 */
	    { 8, 0013 },	/*   48 */
	    { 8, 0122 },	/*   49 */
	    { 8, 0123 },	/*   50 */
	    { 8, 0124 },	/*   51 */
	    { 8, 0125 },	/*   52 */
	    { 8, 0044 },	/*   53 */
	    { 8, 0045 },	/*   54 */
	    { 8, 0130 },	/*   55 */
	    { 8, 0131 },	/*   56 */
	    { 8, 0132 },	/*   57 */
	    { 8, 0133 },	/*   58 */
	    { 8, 0112 },	/*   59 */
	    { 8, 0113 },	/*   60 */
	    { 8, 0062 },	/*   61 */
	    { 8, 0063 },	/*   62 */
	    { 8, 0064 }		/*   63 */
	};

huffman_code			/* Black "termination" codes         */
    huf_blk_final[ 64 ] =	/*  based at 0, steps of 1, up to 63 */
	{
	    {10, 0067 },	/*    0 */
	    { 3, 0002 },	/*    1 */
	    { 2, 0003 },	/*    2 */
	    { 2, 0002 },	/*    3 */
	    { 3, 0003 },	/*    4 */
	    { 4, 0003 },	/*    5 */
	    { 4, 0002 },	/*    6 */
	    { 5, 0003 },	/*    7 */
	    { 6, 0005 },	/*    8 */
	    { 6, 0004 },	/*    9 */
	    { 7, 0004 },	/*   10 */
	    { 7, 0005 },	/*   11 */
	    { 7, 0007 },	/*   12 */
	    { 8, 0004 },	/*   13 */
	    { 8, 0007 },	/*   14 */
	    { 9, 0030 },	/*   15 */
	    {10, 0027 },	/*   16 */
	    {10, 0030 },	/*   17 */
	    {10, 0010 },	/*   18 */
	    {11, 0147 },	/*   19 */
	    {11, 0150 },	/*   20 */
	    {11, 0154 },	/*   21 */
	    {11, 0067 },	/*   22 */
	    {11, 0050 },	/*   23 */
	    {11, 0027 },	/*   24 */
	    {11, 0030 },	/*   25 */
	    {12, 0312 },	/*   26 */
	    {12, 0313 },	/*   27 */
	    {12, 0314 },	/*   28 */
	    {12, 0315 },	/*   29 */
	    {12, 0150 },	/*   30 */
	    {12, 0151 },	/*   31 */
	    {12, 0152 },	/*   32 */
	    {12, 0153 },	/*   33 */
	    {12, 0322 },	/*   34 */
	    {12, 0323 },	/*   35 */
	    {12, 0324 },	/*   36 */
	    {12, 0325 },	/*   37 */
	    {12, 0326 },	/*   38 */
	    {12, 0327 },	/*   39 */
	    {12, 0154 },	/*   40 */
	    {12, 0155 },	/*   41 */
	    {12, 0332 },	/*   42 */
	    {12, 0333 },	/*   43 */
	    {12, 0124 },	/*   44 */
	    {12, 0125 },	/*   45 */
	    {12, 0126 },	/*   46 */
	    {12, 0127 },	/*   47 */
	    {12, 0144 },	/*   48 */
	    {12, 0145 },	/*   49 */
	    {12, 0122 },	/*   50 */
	    {12, 0123 },	/*   51 */
	    {12, 0044 },	/*   52 */
	    {12, 0067 },	/*   53 */
	    {12, 0070 },	/*   54 */
	    {12, 0047 },	/*   55 */
	    {12, 0050 },	/*   56 */
	    {12, 0130 },	/*   57 */
	    {12, 0131 },	/*   58 */
	    {12, 0053 },	/*   59 */
	    {12, 0054 },	/*   60 */
	    {12, 0132 },	/*   61 */
	    {12, 0146 },	/*   62 */
	    {12, 0147 }		/*   63 */
	};


huffman_code			/* Large "makeup" codes                    */
    huf_big_makeup[ 13 ] =	/*  based at 1792, steps of 64, up to 2560 */
	{
	    {12, 0010 },	/* 1792 */
	    {12, 0014 },	/* 1856 */
	    {12, 0015 },	/* 1920 */
	    {13, 0022 },	/* 1984 */
	    {13, 0023 },	/* 2048 */
	    {13, 0024 },	/* 2112 */
	    {13, 0025 },	/* 2176 */
	    {13, 0026 },	/* 2240 */
	    {13, 0027 },	/* 2304 */
	    {13, 0034 },	/* 2368 */
	    {13, 0035 },	/* 2432 */
	    {13, 0036 },	/* 2496 */
	    {13, 0037 }		/* 2560 */
	};
