@@ -94,10 +94,11 @@ typedef enum
9494tinfl_status tinfl_decompress (tinfl_decompressor * r , const mz_uint8 * pIn_buf_next , size_t * pIn_buf_size , mz_uint8 * pOut_buf_start , mz_uint8 * pOut_buf_next , size_t * pOut_buf_size , const mz_uint32 decomp_flags );
9595
9696// Internal/private bits follow.
97+ // dpgeorge: TINFL_FAST_LOOKUP_BITS can be adjusted to trade off RAM usage against speed.
9798enum
9899{
99100 TINFL_MAX_HUFF_TABLES = 3 , TINFL_MAX_HUFF_SYMBOLS_0 = 288 , TINFL_MAX_HUFF_SYMBOLS_1 = 32 , TINFL_MAX_HUFF_SYMBOLS_2 = 19 ,
100- TINFL_FAST_LOOKUP_BITS = 10 , TINFL_FAST_LOOKUP_SIZE = 1 << TINFL_FAST_LOOKUP_BITS
101+ TINFL_FAST_LOOKUP_BITS = 7 , TINFL_FAST_LOOKUP_SIZE = 1 << TINFL_FAST_LOOKUP_BITS
101102};
102103
103104typedef struct
@@ -228,12 +229,12 @@ struct tinfl_decompressor_tag
228229
229230tinfl_status tinfl_decompress (tinfl_decompressor * r , const mz_uint8 * pIn_buf_next , size_t * pIn_buf_size , mz_uint8 * pOut_buf_start , mz_uint8 * pOut_buf_next , size_t * pOut_buf_size , const mz_uint32 decomp_flags )
230231{
231- static const int s_length_base [31 ] = { 3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ,11 ,13 , 15 ,17 ,19 ,23 ,27 ,31 ,35 ,43 ,51 ,59 , 67 ,83 ,99 ,115 ,131 ,163 ,195 ,227 ,258 ,0 ,0 };
232- static const int s_length_extra [31 ]= { 0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,1 ,1 ,1 ,1 ,2 ,2 ,2 ,2 ,3 ,3 ,3 ,3 ,4 ,4 ,4 ,4 ,5 ,5 ,5 ,5 ,0 ,0 ,0 };
233- static const int s_dist_base [32 ] = { 1 ,2 ,3 ,4 ,5 ,7 ,9 ,13 ,17 ,25 ,33 ,49 ,65 ,97 ,129 ,193 , 257 ,385 ,513 ,769 ,1025 ,1537 ,2049 ,3073 ,4097 ,6145 ,8193 ,12289 ,16385 ,24577 ,0 ,0 };
234- static const int s_dist_extra [32 ] = { 0 ,0 ,0 ,0 ,1 ,1 ,2 ,2 ,3 ,3 ,4 ,4 ,5 ,5 ,6 ,6 ,7 ,7 ,8 ,8 ,9 ,9 ,10 ,10 ,11 ,11 ,12 ,12 ,13 ,13 };
232+ static const mz_uint16 s_length_base [31 ] = { 3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ,11 ,13 , 15 ,17 ,19 ,23 ,27 ,31 ,35 ,43 ,51 ,59 , 67 ,83 ,99 ,115 ,131 ,163 ,195 ,227 ,258 ,0 ,0 };
233+ static const mz_uint8 s_length_extra [31 ]= { 0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,1 ,1 ,1 ,1 ,2 ,2 ,2 ,2 ,3 ,3 ,3 ,3 ,4 ,4 ,4 ,4 ,5 ,5 ,5 ,5 ,0 ,0 ,0 };
234+ static const mz_uint16 s_dist_base [32 ] = { 1 ,2 ,3 ,4 ,5 ,7 ,9 ,13 ,17 ,25 ,33 ,49 ,65 ,97 ,129 ,193 , 257 ,385 ,513 ,769 ,1025 ,1537 ,2049 ,3073 ,4097 ,6145 ,8193 ,12289 ,16385 ,24577 ,0 ,0 };
235+ static const mz_uint8 s_dist_extra [32 ] = { 0 ,0 ,0 ,0 ,1 ,1 ,2 ,2 ,3 ,3 ,4 ,4 ,5 ,5 ,6 ,6 ,7 ,7 ,8 ,8 ,9 ,9 ,10 ,10 ,11 ,11 ,12 ,12 ,13 ,13 };
235236 static const mz_uint8 s_length_dezigzag [19 ] = { 16 ,17 ,18 ,0 ,8 ,7 ,9 ,6 ,10 ,5 ,11 ,4 ,12 ,3 ,13 ,2 ,14 ,1 ,15 };
236- static const int s_min_table_sizes [3 ] = { 257 , 1 , 4 };
237+ static const mz_uint16 s_min_table_sizes [3 ] = { 257 , 1 , 4 };
237238
238239 tinfl_status status = TINFL_STATUS_FAILED ; mz_uint32 num_bits , dist , counter , num_extra ; tinfl_bit_buf_t bit_buf ;
239240 const mz_uint8 * pIn_buf_cur = pIn_buf_next , * const pIn_buf_end = pIn_buf_next + * pIn_buf_size ;
@@ -498,6 +499,7 @@ tinfl_status tinfl_decompress(tinfl_decompressor *r, const mz_uint8 *pIn_buf_nex
498499 return status ;
499500}
500501
502+ #if 0
501503// Higher level helper functions.
502504void * tinfl_decompress_mem_to_heap (const void * pSrc_buf , size_t src_buf_len , size_t * pOut_len , int flags )
503505{
@@ -561,6 +563,7 @@ int tinfl_decompress_mem_to_callback(const void *pIn_buf, size_t *pIn_buf_size,
561563 * pIn_buf_size = in_buf_ofs ;
562564 return result ;
563565}
566+ #endif
564567
565568#endif // #ifndef TINFL_HEADER_FILE_ONLY
566569
0 commit comments