@@ -1,2251 +0,0 @@
1 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* miniz.c v1.15 - public domain deflate/inflate, zlib-subset, ZIP reading/writing/appending, PNG writing
2 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- See "unlicense" statement at the end of this file.
3 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Rich Geldreich <[email protected] >, last updated Oct. 13, 2013
4 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Implements RFC 1950: http://www.ietf.org/rfc/rfc1950.txt and RFC 1951: http://www.ietf.org/rfc/rfc1951.txt
5 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
6 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Most API's defined in miniz.c are optional. For example, to disable the archive related functions just define
7 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- MINIZ_NO_ARCHIVE_APIS, or to get rid of all stdio usage define MINIZ_NO_STDIO (see the list below for more macros).
8 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
9 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * Change History
10 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 10/1ller must mz_free() the returned heap block (which will typically be larger than *pLen_out) when it's no longer needed.
11 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- void *tdefl_write_image_to_png_file_in_memory_ex(const void *pImage, int w, int h, int num_chans, size_t *pLen_out, mz_uint level, mz_bool flip);
12 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- void *tdefl_write_image_to_png_file_in_memory(const void *pImage, int w, int h, int num_chans, size_t *pLen_out);
13 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
14 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // Output stream interface. The compressor uses this interface to write compressed data. It'll typically be called TDEFL_OUT_BUF_SIZE at a time.
15 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- typedef mz_bool (*tdefl_put_buf_func_ptr)(const void* pBuf, int len, void *pUser);
16 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
17 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // tdefl_compress_mem_to_output() compresses a block to an output stream. The above helpers use this function intern return MZ_DATA_ERROR;
18 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
19 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (pState->m_has_flushed && (flush != MZ_FINISH)) return MZ_STREAM_ERROR;
20 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pState->m_has_flushed |= (flush == MZ_FINISH);
21 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
22 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((flush == MZ_FINISH) && (first_call))
23 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
24 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // MZ_FINISH on the first call implies that the input and output buffers are large enough to hold the entire compressed/decompressed file.
25 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- decomp_flags |= TINFL_FLAG_USING_NON_WRAPPING_OUTPUT_BUF;
26 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- in_bytes = pStream->avail_in; out_bytes = pStream->avail_out;
27 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- status = tinfl_decompress(&pState->m_decomp, pStream->next_in, &in_bytes, pStream->next_out, pStream->next_out, &out_bytes, decomp_flags);
28 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pState->m_last_status = status;
29 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pStream->next_in += (mz_uint)in_bytes; pStream->avail_in -= (mz_uint)in_bytes; pStream->total_in += (mz_uint)in_bytes;
30 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pStream->adler = tinfl_get_adler32(&pState->m_decomp);
31 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pStream->next_out += (mz_uint)out_bytes; pStream->avail_out -= (mz_uint)out_bytes; pStream->total_out += (mz_uint)out_bytes;
32 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
33 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (status < 0)
34 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return MZ_DATA_ERROR;
35 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else if (status != TINFL_STATUS_DONE)
36 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
37 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pState->m_last_status = TINFL_STATUS_FAILED;
38 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return MZ_BUF_ERROR;
39 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
40 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return MZ_STREAM_END;
41 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
42 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // flush != MZ_FINISH then we must assume there's more input.
43 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (flush != MZ_FINISH) decomp_flags |= TINFL_FLAG_HAS_MORE_INPUT;
44 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
45 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (pState->m_dict_avail)
46 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
47 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- n = MZ_MIN(pState->m_dict_avail, pStream->avail_out);
48 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- memcpy(pStream->next_out, pState->m_dict + pState->m_dict_ofs, n);
49 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pStream->next_out += n; pStream->avail_out -= n; pStream->total_out += n;
50 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pState->m_dict_avail -= n; pState->m_dict_ofs = (pState->m_dict_ofs + n) & (TINFL_LZ_DICT_SIZE - 1);
51 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return ((pState->m_last_status == TINFL_STATUS_DONE) && (!pState->m_dict_avail)) ? MZ_STREAM_END : MZ_OK;
52 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
53 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
54 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for ( ; ; )
55 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
56 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- in_bytes = pStream->avail_in;
57 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- out_bytes = TINFL_LZ_DICT_SIZE - pState->m_dict_ofs;
58 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
59 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- status = tinfl_decompress(&pState->m_decomp, pStream->next_in, &in_bytes, pState->m_dict, pState->m_dict + pState->m_dict_ofs, &out_bytes, decomp_flags);
60 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pState->m_last_status = status;
61 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
62 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pStream->next_in += (mz_uint)in_bytes; pStream->avail_in -= (mz_uint)in_bytes;
63 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pStream->total_in += (mz_uint)in_bytes; pStream->adler = tinfl_get_adler32(&pState->m_decomp);
64 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
65 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pState->m_dict_avail = (mz_uint)out_bytes;
66 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
67 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- n = MZ_MIN(pState->m_dict_avail, pStream->avail_out);
68 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- memcpy(pStream->next_out, pState->m_dict + pState->m_dict_ofs, n);
69 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pStream->next_out += n; pStream->avail_out -= n; pStream->total_out += n;
70 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pState->m_dict_avail -= n; pState->m_dict_ofs = (pState->m_dict_ofs + n) & (TINFL_LZ_DICT_SIZE - 1);
71 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
72 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (status < 0)
73 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return MZ_DATA_ERROR; // Stream is corrupted (there could be some uncompressed data left in the output dictionary - oh well).
74 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else if ((status == TINFL_STATUS_NEEDS_MORE_INPUT) && (!orig_avail_in))
75 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return MZ_BUF_ERROR; // Signal caller that we can't make forward progress without supplying more input or by setting flush to MZ_FINISH.
76 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else if (flush == MZ_FINISH)
77 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
78 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // The output buffer MUST be large to hold the remaining uncompressed data when flush==MZ_FINISH.
79 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (status == TINFL_STATUS_DONE)
80 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return pState->m_dict_avail ? MZ_BUF_ERROR : MZ_STREAM_END;
81 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // status here must be TINFL_STATUS_HAS_MORE_OUTPUT, which means there's at least 1 more byte on the way. If there's no more room left in the output buffer then something is wrong.
82 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else if (!pStream->avail_out)
83 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return MZ_BUF_ERROR;
84 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
85 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else if ((status == TINFL_STATUS_DONE) || (!pStream->avail_in) || (!pStream->avail_out) || (pState->m_dict_avail))
86 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- break;
87 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
88 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
89 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return ((status == TINFL_STATUS_DONE) && (!pState->m_dict_avail)) ? MZ_STREAM_END : MZ_OK;
90 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
91 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
92 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int mz_inflateEnd(mz_streamp pStream)
93 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
94 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!pStream)
95 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return MZ_STREAM_ERROR;
96 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (pStream->state)
97 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
98 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pStream->zfree(pStream->opaque, pStream->state);
99 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pStream->state = NULL;
100 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
101 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return MZ_OK;
102 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
103 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
104 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int mz_uncompress(unsigned char *pDest, mz_ulong *pDest_len, const unsigned char *pSource, mz_ulong source_len)
105 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
106 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_stream stream;
107 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int status;
108 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- memset(&stream, 0, sizeof(stream));
109 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
110 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // In case mz_ulong is 64-bits (argh I hate longs).
111 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((source_len | *pDest_len) > 0xFFFFFFFFU) return MZ_PARAM_ERROR;
112 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
113 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- stream.next_in = pSource;
114 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- stream.avail_in = (mz_uint32)source_len;
115 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- stream.next_out = pDest;
116 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- stream.avail_out = (mz_uint32)*pDest_len;
117 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
118 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- status = mz_inflateInit(&stream);
119 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (status != MZ_OK)
120 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return status;
121 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
122 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- status = mz_inflate(&stream, MZ_FINISH);
123 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (status != MZ_STREAM_END)
124 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
125 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_inflateEnd(&stream);
126 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return ((status == MZ_BUF_ERROR) && (!stream.avail_in)) ? MZ_DATA_ERROR : status;
127 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
128 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *pDest_len = stream.total_out;
129 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
130 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return mz_inflateEnd(&stream);
131 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
132 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
133 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const char *mz_error(int err)
134 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
135 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static const struct { int m_err; const char *m_pDesc; } s_error_descs[] =
136 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
137 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- { MZ_OK, "" }, { MZ_STREAM_END, "stream end" }, { MZ_NEED_DICT, "need dictionary" }, { MZ_ERRNO, "file error" }, { MZ_STREAM_ERROR, "stream error" },
138 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- { MZ_DATA_ERROR, "data error" }, { MZ_MEM_ERROR, "out of memory" }, { MZ_BUF_ERROR, "buf error" }, { MZ_VERSION_ERROR, "version error" }, { MZ_PARAM_ERROR, "parameter error" }
139 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
140 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint i; for (i = 0; i < sizeof(s_error_descs) / sizeof(s_error_descs[0]); ++i) if (s_error_descs[i].m_err == err) return s_error_descs[i].m_pDesc;
141 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return NULL;
142 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
143 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
144 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #endif //MINIZ_NO_ZLIB_APIS
145 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
146 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // ------------------- Low-level Decompression (completely independent from all compression API's)
147 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
148 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define TINFL_MEMCPY(d, s, l) memcpy(d, s, l)
149 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define TINFL_MEMSET(p, c, l) memset(p, c, l)
150 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
151 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define TINFL_CR_BEGIN switch(r->m_state) { case 0:
152 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define TINFL_CR_RETURN(state_index, result) do { status = result; r->m_state = state_index; goto common_exit; case state_index:; } MZ_MACRO_END
153 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define TINFL_CR_RETURN_FOREVER(state_index, result) do { for ( ; ; ) { TINFL_CR_RETURN(state_index, result); } } MZ_MACRO_END
154 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define TINFL_CR_FINISH }
155 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
156 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // TODO: If the caller has indicated that there's no more input, and we attempt to read beyond the input buf, then something is wrong with the input because the inflator never
157 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // reads ahead more than it needs to. Currently TINFL_GET_BYTE() pads the end of the stream with 0's in this scenario.
158 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define TINFL_GET_BYTE(state_index, c) do { \
159 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (pIn_buf_cur >= pIn_buf_end) { \
160 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for ( ; ; ) { \
161 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (decomp_flags & TINFL_FLAG_HAS_MORE_INPUT) { \
162 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_CR_RETURN(state_index, TINFL_STATUS_NEEDS_MORE_INPUT); \
163 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (pIn_buf_cur < pIn_buf_end) { \
164 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- c = *pIn_buf_cur++; \
165 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- break; \
166 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } \
167 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } else { \
168 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- c = 0; \
169 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- break; \
170 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } \
171 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } \
172 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } else c = *pIn_buf_cur++; } MZ_MACRO_END
173 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
174 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define TINFL_NEED_BITS(state_index, n) do { mz_uint c; TINFL_GET_BYTE(state_index, c); bit_buf |= (((tinfl_bit_buf_t)c) << num_bits); num_bits += 8; } while (num_bits < (mz_uint)(n))
175 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define TINFL_SKIP_BITS(state_index, n) do { if (num_bits < (mz_uint)(n)) { TINFL_NEED_BITS(state_index, n); } bit_buf >>= (n); num_bits -= (n); } MZ_MACRO_END
176 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define TINFL_GET_BITS(state_index, b, n) do { if (num_bits < (mz_uint)(n)) { TINFL_NEED_BITS(state_index, n); } b = bit_buf & ((1 << (n)) - 1); bit_buf >>= (n); num_bits -= (n); } MZ_MACRO_END
177 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
178 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // TINFL_HUFF_BITBUF_FILL() is only used rarely, when the number of bytes remaining in the input buffer falls below 2.
179 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // It reads just enough bytes from the input stream that are needed to decode the next Huffman code (and absolutely no more). It works by trying to fully decode a
180 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // Huffman code by using whatever bits are currently present in the bit buffer. If this fails, it reads another byte, and tries again until it succeeds or until the
181 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // bit buffer contains >=15 bits (deflate's max. Huffman code size).
182 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define TINFL_HUFF_BITBUF_FILL(state_index, pHuff) \
183 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- do { \
184 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- temp = (pHuff)->m_look_up[bit_buf & (TINFL_FAST_LOOKUP_SIZE - 1)]; \
185 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (temp >= 0) { \
186 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- code_len = temp >> 9; \
187 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((code_len) && (num_bits >= code_len)) \
188 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- break; \
189 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } else if (num_bits > TINFL_FAST_LOOKUP_BITS) { \
190 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- code_len = TINFL_FAST_LOOKUP_BITS; \
191 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- do { \
192 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- temp = (pHuff)->m_tree[~temp + ((bit_buf >> code_len++) & 1)]; \
193 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } while ((temp < 0) && (num_bits >= (code_len + 1))); if (temp >= 0) break; \
194 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } TINFL_GET_BYTE(state_index, c); bit_buf |= (((tinfl_bit_buf_t)c) << num_bits); num_bits += 8; \
195 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } while (num_bits < 15);
196 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
197 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // TINFL_HUFF_DECODE() decodes the next Huffman coded symbol. It's more complex than you would initially expect because the zlib API expects the decompressor to never read
198 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // beyond the final byte of the deflate stream. (In other words, when this macro wants to read another byte from the input, it REALLY needs another byte in order to fully
199 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // decode the next Huffman code.) Handling this properly is particularly important on raw deflate (non-zlib) streams, which aren't followed by a byte aligned adler-32.
200 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // The slow path is only executed at the very end of the input buffer.
201 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define TINFL_HUFF_DECODE(state_index, sym, pHuff) do { \
202 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int temp; mz_uint code_len, c; \
203 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (num_bits < 15) { \
204 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((pIn_buf_end - pIn_buf_cur) < 2) { \
205 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_HUFF_BITBUF_FILL(state_index, pHuff); \
206 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } else { \
207 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- bit_buf |= (((tinfl_bit_buf_t)pIn_buf_cur[0]) << num_bits) | (((tinfl_bit_buf_t)pIn_buf_cur[1]) << (num_bits + 8)); pIn_buf_cur += 2; num_bits += 16; \
208 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } \
209 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } \
210 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((temp = (pHuff)->m_look_up[bit_buf & (TINFL_FAST_LOOKUP_SIZE - 1)]) >= 0) \
211 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- code_len = temp >> 9, temp &= 511; \
212 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else { \
213 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- code_len = TINFL_FAST_LOOKUP_BITS; do { temp = (pHuff)->m_tree[~temp + ((bit_buf >> code_len++) & 1)]; } while (temp < 0); \
214 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } sym = temp; bit_buf >>= code_len; num_bits -= code_len; } MZ_MACRO_END
215 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
216 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tinfl_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)
217 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
218 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 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 };
219 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 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 };
220 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 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};
221 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 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};
222 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 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 };
223 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static const int s_min_table_sizes[3] = { 257, 1, 4 };
224 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
225 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tinfl_status status = TINFL_STATUS_FAILED; mz_uint32 num_bits, dist, counter, num_extra; tinfl_bit_buf_t bit_buf;
226 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const mz_uint8 *pIn_buf_cur = pIn_buf_next, *const pIn_buf_end = pIn_buf_next + *pIn_buf_size;
227 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint8 *pOut_buf_cur = pOut_buf_next, *const pOut_buf_end = pOut_buf_next + *pOut_buf_size;
228 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- size_t out_buf_size_mask = (decomp_flags & TINFL_FLAG_USING_NON_WRAPPING_OUTPUT_BUF) ? (size_t)-1 : ((pOut_buf_next - pOut_buf_start) + *pOut_buf_size) - 1, dist_from_out_buf_start;
229 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
230 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // Ensure the output buffer's size is a power of 2, unless the output buffer is large enough to hold the entire output file (in which case it doesn't matter).
231 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (((out_buf_size_mask + 1) & out_buf_size_mask) || (pOut_buf_next < pOut_buf_start)) { *pIn_buf_size = *pOut_buf_size = 0; return TINFL_STATUS_BAD_PARAM; }
232 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
233 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- num_bits = r->m_num_bits; bit_buf = r->m_bit_buf; dist = r->m_dist; counter = r->m_counter; num_extra = r->m_num_extra; dist_from_out_buf_start = r->m_dist_from_out_buf_start;
234 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_CR_BEGIN
235 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
236 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- bit_buf = num_bits = dist = counter = num_extra = r->m_zhdr0 = r->m_zhdr1 = 0; r->m_z_adler32 = r->m_check_adler32 = 1;
237 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (decomp_flags & TINFL_FLAG_PARSE_ZLIB_HEADER)
238 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
239 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_GET_BYTE(1, r->m_zhdr0); TINFL_GET_BYTE(2, r->m_zhdr1);
240 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- counter = (((r->m_zhdr0 * 256 + r->m_zhdr1) % 31 != 0) || (r->m_zhdr1 & 32) || ((r->m_zhdr0 & 15) != 8));
241 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!(decomp_flags & TINFL_FLAG_USING_NON_WRAPPING_OUTPUT_BUF)) counter |= (((1U << (8U + (r->m_zhdr0 >> 4))) > 32768U) || ((out_buf_size_mask + 1) < (size_t)(1U << (8U + (r->m_zhdr0 >> 4)))));
242 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (counter) { TINFL_CR_RETURN_FOREVER(36, TINFL_STATUS_FAILED); }
243 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
244 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
245 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- do
246 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
247 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_GET_BITS(3, r->m_final, 3); r->m_type = r->m_final >> 1;
248 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (r->m_type == 0)
249 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
250 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_SKIP_BITS(5, num_bits & 7);
251 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (counter = 0; counter < 4; ++counter) { if (num_bits) TINFL_GET_BITS(6, r->m_raw_header[counter], 8); else TINFL_GET_BYTE(7, r->m_raw_header[counter]); }
252 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((counter = (r->m_raw_header[0] | (r->m_raw_header[1] << 8))) != (mz_uint)(0xFFFF ^ (r->m_raw_header[2] | (r->m_raw_header[3] << 8)))) { TINFL_CR_RETURN_FOREVER(39, TINFL_STATUS_FAILED); }
253 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while ((counter) && (num_bits))
254 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
255 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_GET_BITS(51, dist, 8);
256 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (pOut_buf_cur >= pOut_buf_end) { TINFL_CR_RETURN(52, TINFL_STATUS_HAS_MORE_OUTPUT); }
257 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *pOut_buf_cur++ = (mz_uint8)dist;
258 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- counter--;
259 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
260 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (counter)
261 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
262 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- size_t n; while (pOut_buf_cur >= pOut_buf_end) { TINFL_CR_RETURN(9, TINFL_STATUS_HAS_MORE_OUTPUT); }
263 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (pIn_buf_cur >= pIn_buf_end)
264 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
265 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (decomp_flags & TINFL_FLAG_HAS_MORE_INPUT)
266 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
267 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_CR_RETURN(38, TINFL_STATUS_NEEDS_MORE_INPUT);
268 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
269 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else
270 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
271 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_CR_RETURN_FOREVER(40, TINFL_STATUS_FAILED);
272 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
273 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
274 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- n = MZ_MIN(MZ_MIN((size_t)(pOut_buf_end - pOut_buf_cur), (size_t)(pIn_buf_end - pIn_buf_cur)), counter);
275 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_MEMCPY(pOut_buf_cur, pIn_buf_cur, n); pIn_buf_cur += n; pOut_buf_cur += n; counter -= (mz_uint)n;
276 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
277 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
278 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else if (r->m_type == 3)
279 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
280 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_CR_RETURN_FOREVER(10, TINFL_STATUS_FAILED);
281 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
282 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else
283 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
284 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (r->m_type == 1)
285 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
286 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint8 *p = r->m_tables[0].m_code_size; mz_uint i;
287 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- r->m_table_sizes[0] = 288; r->m_table_sizes[1] = 32; TINFL_MEMSET(r->m_tables[1].m_code_size, 5, 32);
288 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for ( i = 0; i <= 143; ++i) *p++ = 8; for ( ; i <= 255; ++i) *p++ = 9; for ( ; i <= 279; ++i) *p++ = 7; for ( ; i <= 287; ++i) *p++ = 8;
289 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
290 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else
291 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
292 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (counter = 0; counter < 3; counter++) { TINFL_GET_BITS(11, r->m_table_sizes[counter], "\05\05\04"[counter]); r->m_table_sizes[counter] += s_min_table_sizes[counter]; }
293 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- MZ_CLEAR_OBJ(r->m_tables[2].m_code_size); for (counter = 0; counter < r->m_table_sizes[2]; counter++) { mz_uint s; TINFL_GET_BITS(14, s, 3); r->m_tables[2].m_code_size[s_length_dezigzag[counter]] = (mz_uint8)s; }
294 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- r->m_table_sizes[2] = 19;
295 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
296 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for ( ; (int)r->m_type >= 0; r->m_type--)
297 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
298 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int tree_next, tree_cur; tinfl_huff_table *pTable;
299 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint i, j, used_syms, total, sym_index, next_code[17], total_syms[16]; pTable = &r->m_tables[r->m_type]; MZ_CLEAR_OBJ(total_syms); MZ_CLEAR_OBJ(pTable->m_look_up); MZ_CLEAR_OBJ(pTable->m_tree);
300 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = 0; i < r->m_table_sizes[r->m_type]; ++i) total_syms[pTable->m_code_size[i]]++;
301 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- used_syms = 0, total = 0; next_code[0] = next_code[1] = 0;
302 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = 1; i <= 15; ++i) { used_syms += total_syms[i]; next_code[i + 1] = (total = ((total + total_syms[i]) << 1)); }
303 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((65536 != total) && (used_syms > 1))
304 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
305 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_CR_RETURN_FOREVER(35, TINFL_STATUS_FAILED);
306 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
307 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (tree_next = -1, sym_index = 0; sym_index < r->m_table_sizes[r->m_type]; ++sym_index)
308 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
309 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint rev_code = 0, l, cur_code, code_size = pTable->m_code_size[sym_index]; if (!code_size) continue;
310 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- cur_code = next_code[code_size]++; for (l = code_size; l > 0; l--, cur_code >>= 1) rev_code = (rev_code << 1) | (cur_code & 1);
311 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (code_size <= TINFL_FAST_LOOKUP_BITS) { mz_int16 k = (mz_int16)((code_size << 9) | sym_index); while (rev_code < TINFL_FAST_LOOKUP_SIZE) { pTable->m_look_up[rev_code] = k; rev_code += (1 << code_size); } continue; }
312 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (0 == (tree_cur = pTable->m_look_up[rev_code & (TINFL_FAST_LOOKUP_SIZE - 1)])) { pTable->m_look_up[rev_code & (TINFL_FAST_LOOKUP_SIZE - 1)] = (mz_int16)tree_next; tree_cur = tree_next; tree_next -= 2; }
313 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rev_code >>= (TINFL_FAST_LOOKUP_BITS - 1);
314 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (j = code_size; j > (TINFL_FAST_LOOKUP_BITS + 1); j--)
315 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
316 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tree_cur -= ((rev_code >>= 1) & 1);
317 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!pTable->m_tree[-tree_cur - 1]) { pTable->m_tree[-tree_cur - 1] = (mz_int16)tree_next; tree_cur = tree_next; tree_next -= 2; } else tree_cur = pTable->m_tree[-tree_cur - 1];
318 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
319 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tree_cur -= ((rev_code >>= 1) & 1); pTable->m_tree[-tree_cur - 1] = (mz_int16)sym_index;
320 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
321 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (r->m_type == 2)
322 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
323 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (counter = 0; counter < (r->m_table_sizes[0] + r->m_table_sizes[1]); )
324 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
325 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint s; TINFL_HUFF_DECODE(16, dist, &r->m_tables[2]); if (dist < 16) { r->m_len_codes[counter++] = (mz_uint8)dist; continue; }
326 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((dist == 16) && (!counter))
327 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
328 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_CR_RETURN_FOREVER(17, TINFL_STATUS_FAILED);
329 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
330 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- num_extra = "\02\03\07"[dist - 16]; TINFL_GET_BITS(18, s, num_extra); s += "\03\03\013"[dist - 16];
331 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_MEMSET(r->m_len_codes + counter, (dist == 16) ? r->m_len_codes[counter - 1] : 0, s); counter += s;
332 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
333 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((r->m_table_sizes[0] + r->m_table_sizes[1]) != counter)
334 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
335 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_CR_RETURN_FOREVER(21, TINFL_STATUS_FAILED);
336 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
337 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_MEMCPY(r->m_tables[0].m_code_size, r->m_len_codes, r->m_table_sizes[0]); TINFL_MEMCPY(r->m_tables[1].m_code_size, r->m_len_codes + r->m_table_sizes[0], r->m_table_sizes[1]);
338 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
339 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
340 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for ( ; ; )
341 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
342 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint8 *pSrc;
343 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for ( ; ; )
344 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
345 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (((pIn_buf_end - pIn_buf_cur) < 4) || ((pOut_buf_end - pOut_buf_cur) < 2))
346 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
347 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_HUFF_DECODE(23, counter, &r->m_tables[0]);
348 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (counter >= 256)
349 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- break;
350 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (pOut_buf_cur >= pOut_buf_end) { TINFL_CR_RETURN(24, TINFL_STATUS_HAS_MORE_OUTPUT); }
351 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *pOut_buf_cur++ = (mz_uint8)counter;
352 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
353 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else
354 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
355 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int sym2; mz_uint code_len;
356 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #if TINFL_USE_64BIT_BITBUF
357 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (num_bits < 30) { bit_buf |= (((tinfl_bit_buf_t)MZ_READ_LE32(pIn_buf_cur)) << num_bits); pIn_buf_cur += 4; num_bits += 32; }
358 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #else
359 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (num_bits < 15) { bit_buf |= (((tinfl_bit_buf_t)MZ_READ_LE16(pIn_buf_cur)) << num_bits); pIn_buf_cur += 2; num_bits += 16; }
360 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #endif
361 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((sym2 = r->m_tables[0].m_look_up[bit_buf & (TINFL_FAST_LOOKUP_SIZE - 1)]) >= 0)
362 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- code_len = sym2 >> 9;
363 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else
364 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
365 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- code_len = TINFL_FAST_LOOKUP_BITS; do { sym2 = r->m_tables[0].m_tree[~sym2 + ((bit_buf >> code_len++) & 1)]; } while (sym2 < 0);
366 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
367 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- counter = sym2; bit_buf >>= code_len; num_bits -= code_len;
368 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (counter & 256)
369 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- break;
370 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
371 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #if !TINFL_USE_64BIT_BITBUF
372 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (num_bits < 15) { bit_buf |= (((tinfl_bit_buf_t)MZ_READ_LE16(pIn_buf_cur)) << num_bits); pIn_buf_cur += 2; num_bits += 16; }
373 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #endif
374 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((sym2 = r->m_tables[0].m_look_up[bit_buf & (TINFL_FAST_LOOKUP_SIZE - 1)]) >= 0)
375 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- code_len = sym2 >> 9;
376 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else
377 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
378 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- code_len = TINFL_FAST_LOOKUP_BITS; do { sym2 = r->m_tables[0].m_tree[~sym2 + ((bit_buf >> code_len++) & 1)]; } while (sym2 < 0);
379 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
380 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- bit_buf >>= code_len; num_bits -= code_len;
381 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
382 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur[0] = (mz_uint8)counter;
383 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (sym2 & 256)
384 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
385 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur++;
386 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- counter = sym2;
387 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- break;
388 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
389 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur[1] = (mz_uint8)sym2;
390 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur += 2;
391 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
392 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
393 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((counter &= 511) == 256) break;
394 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
395 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- num_extra = s_length_extra[counter - 257]; counter = s_length_base[counter - 257];
396 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (num_extra) { mz_uint extra_bits; TINFL_GET_BITS(25, extra_bits, num_extra); counter += extra_bits; }
397 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
398 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_HUFF_DECODE(26, dist, &r->m_tables[1]);
399 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- num_extra = s_dist_extra[dist]; dist = s_dist_base[dist];
400 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (num_extra) { mz_uint extra_bits; TINFL_GET_BITS(27, extra_bits, num_extra); dist += extra_bits; }
401 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
402 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- dist_from_out_buf_start = pOut_buf_cur - pOut_buf_start;
403 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((dist > dist_from_out_buf_start) && (decomp_flags & TINFL_FLAG_USING_NON_WRAPPING_OUTPUT_BUF))
404 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
405 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_CR_RETURN_FOREVER(37, TINFL_STATUS_FAILED);
406 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
407 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
408 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pSrc = pOut_buf_start + ((dist_from_out_buf_start - dist) & out_buf_size_mask);
409 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
410 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((MZ_MAX(pOut_buf_cur, pSrc) + counter) > pOut_buf_end)
411 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
412 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (counter--)
413 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
414 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (pOut_buf_cur >= pOut_buf_end) { TINFL_CR_RETURN(53, TINFL_STATUS_HAS_MORE_OUTPUT); }
415 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *pOut_buf_cur++ = pOut_buf_start[(dist_from_out_buf_start++ - dist) & out_buf_size_mask];
416 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
417 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- continue;
418 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
419 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #if MINIZ_USE_UNALIGNED_LOADS_AND_STORES
420 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else if ((counter >= 9) && (counter <= dist))
421 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
422 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const mz_uint8 *pSrc_end = pSrc + (counter & ~7);
423 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- do
424 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
425 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ((mz_uint32 *)pOut_buf_cur)[0] = ((const mz_uint32 *)pSrc)[0];
426 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ((mz_uint32 *)pOut_buf_cur)[1] = ((const mz_uint32 *)pSrc)[1];
427 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur += 8;
428 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } while ((pSrc += 8) < pSrc_end);
429 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((counter &= 7) < 3)
430 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
431 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (counter)
432 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
433 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur[0] = pSrc[0];
434 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (counter > 1)
435 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur[1] = pSrc[1];
436 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur += counter;
437 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
438 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- continue;
439 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
440 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
441 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #endif
442 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- do
443 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
444 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur[0] = pSrc[0];
445 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur[1] = pSrc[1];
446 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur[2] = pSrc[2];
447 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur += 3; pSrc += 3;
448 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } while ((int)(counter -= 3) > 2);
449 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((int)counter > 0)
450 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
451 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur[0] = pSrc[0];
452 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((int)counter > 1)
453 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur[1] = pSrc[1];
454 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur += counter;
455 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
456 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
457 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
458 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } while (!(r->m_final & 1));
459 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (decomp_flags & TINFL_FLAG_PARSE_ZLIB_HEADER)
460 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
461 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_SKIP_BITS(32, num_bits & 7); for (counter = 0; counter < 4; ++counter) { mz_uint s; if (num_bits) TINFL_GET_BITS(41, s, 8); else TINFL_GET_BYTE(42, s); r->m_z_adler32 = (r->m_z_adler32 << 8) | s; }
462 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
463 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_CR_RETURN_FOREVER(34, TINFL_STATUS_DONE);
464 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_CR_FINISH
465 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
466 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- common_exit:
467 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- r->m_num_bits = num_bits; r->m_bit_buf = bit_buf; r->m_dist = dist; r->m_counter = counter; r->m_num_extra = num_extra; r->m_dist_from_out_buf_start = dist_from_out_buf_start;
468 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *pIn_buf_size = pIn_buf_cur - pIn_buf_next; *pOut_buf_size = pOut_buf_cur - pOut_buf_next;
469 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((decomp_flags & (TINFL_FLAG_PARSE_ZLIB_HEADER | TINFL_FLAG_COMPUTE_ADLER32)) && (status >= 0))
470 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
471 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const mz_uint8 *ptr = pOut_buf_next; size_t buf_len = *pOut_buf_size;
472 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint32 i, s1 = r->m_check_adler32 & 0xffff, s2 = r->m_check_adler32 >> 16; size_t block_len = buf_len % 5552;
473 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (buf_len)
474 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
475 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = 0; i + 7 < block_len; i += 8, ptr += 8)
476 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
477 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- s1 += ptr[0], s2 += s1; s1 += ptr[1], s2 += s1; s1 += ptr[2], s2 += s1; s1 += ptr[3], s2 += s1;
478 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- s1 += ptr[4], s2 += s1; s1 += ptr[5], s2 += s1; s1 += ptr[6], s2 += s1; s1 += ptr[7], s2 += s1;
479 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
480 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for ( ; i < block_len; ++i) s1 += *ptr++, s2 += s1;
481 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- s1 %= 65521U, s2 %= 65521U; buf_len -= block_len; block_len = 5552;
482 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
483 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- r->m_check_adler32 = (s2 << 16) + s1; if ((status == TINFL_STATUS_DONE) && (decomp_flags & TINFL_FLAG_PARSE_ZLIB_HEADER) && (r->m_check_adler32 != r->m_z_adler32)) status = TINFL_STATUS_ADLER32_MISMATCH;
484 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
485 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return status;
486 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
487 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
488 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // Higher level helper functions.
489 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- void *tinfl_decompress_mem_to_heap(const void *pSrc_buf, size_t src_buf_len, size_t *pOut_len, int flags)
490 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
491 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tinfl_decompressor decomp; void *pBuf = NULL, *pNew_buf; size_t src_buf_ofs = 0, out_buf_capacity = 0;
492 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *pOut_len = 0;
493 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tinfl_init(&decomp);
494 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for ( ; ; )
495 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
496 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- size_t src_buf_size = src_buf_len - src_buf_ofs, dst_buf_size = out_buf_capacity - *pOut_len, new_out_buf_capacity;
497 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tinfl_status status = tinfl_decompress(&decomp, (const mz_uint8*)pSrc_buf + src_buf_ofs, &src_buf_size, (mz_uint8*)pBuf, pBuf ? (mz_uint8*)pBuf + *pOut_len : NULL, &dst_buf_size,
498 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- (flags & ~TINFL_FLAG_HAS_MORE_INPUT) | TINFL_FLAG_USING_NON_WRAPPING_OUTPUT_BUF);
499 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((status < 0) || (status == TINFL_STATUS_NEEDS_MORE_INPUT))
500 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
501 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- MZ_FREE(pBuf); *pOut_len = 0; return NULL;
502 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
503 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- src_buf_ofs += src_buf_size;
504 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *pOut_len += dst_buf_size;
505 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (status == TINFL_STATUS_DONE) break;
506 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- new_out_buf_capacity = out_buf_capacit7,278,278,278,278,278,278,27880,
507 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 281,2 w deflate (non-zlib) = -1,,277,278,278,278DONE = 0,,277,278,278,278 byte in order t = 1,,277,278,278,278HAS_MORE_OUTPUT = 215,15,15,15,15,15,15,15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16,16,16,16,16,16,
508 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
509 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
510 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,
511 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,
512 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,
513 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17 };
514 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
515 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static const mz_uint8 s_tdefl_small_dist_extra[512] = {
516 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 0,0,0,0,1,1,1,1,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,
517 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
518 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
519 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
520 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
521 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
522 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
523 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 7,7,7,7,7,7,7,7 };
524 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
525 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static const mz_uint8 s_tdefl_large_dist_sym[128] = {
526 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 0,0,18,19,20,20,21,21,22,22,22,22,23,23,23,23,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,26,26,26,26,26,26,26,26,26,26,26,26,
527 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 26,26,26,26,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,
528 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 28,28,28,28,28,28,28,28,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29 };
529 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
530 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static const mz_uint8 s_tdefl_large_dist_extra[128] = {
531 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 0,0,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
532 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,
533 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13 };
534 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
535 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // Radix sorts tdefl_sym_freq[] array by 16-bit key m_key. Returns ptr to sorted values.
536 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- typedef struct { mz_uint16 m_key, m_sym_index; } tdefl_sym_freq;
537 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static tdefl_sym_freq* tdefl_radix_sort_syms(mz_uint num_syms, tdefl_sym_freq* pSyms0, tdefl_sym_freq* pSyms1)
538 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
539 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint32 total_passes = 2, pass_shift, pass, i, hist[256 * 2]; tdefl_sym_freq* pCur_syms = pSyms0, *pNew_syms = pSyms1; MZ_CLEAR_OBJ(hist);
540 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = 0; i < num_syms; i++) { mz_uint freq = pSyms0[i].m_key; hist[freq & 0xFF]++; hist[256 + ((freq >> 8) & 0xFF)]++; }
541 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while ((total_passes > 1) && (num_syms == hist[(total_passes - 1) * 256])) total_passes--;
542 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (pass_shift = 0, pass = 0; pass < total_passes; pass++, pass_shift += 8)
543 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
544 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const mz_uint32* pHist = &hist[pass << 8];
545 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint offsets[256], cur_ofs = 0;
546 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = 0; i < 256; i++) { offsets[i] = cur_ofs; cur_ofs += pHist[i]; }
547 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = 0; i < num_syms; i++) pNew_syms[offsets[(pCur_syms[i].m_key >> pass_shift) & 0xFF]++] = pCur_syms[i];
548 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- { tdefl_sym_freq* t = pCur_syms; pCur_syms = pNew_syms; pNew_syms = t; }
549 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
550 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return pCur_syms;
551 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
552 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
553 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // tdefl_calculate_minimum_redundancy() originally written by: Alistair Moffat, [email protected] , Jyrki Katajainen, [email protected] , November 1996.
554 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static void tdefl_calculate_minimum_redundancy(tdefl_sym_freq *A, int n)
555 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
556 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int root, leaf, next, avbl, used, dpth;
557 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (n==0) return; else if (n==1) { A[0].m_key = 1; return; }
558 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- A[0].m_key += A[1].m_key; root = 0; leaf = 2;
559 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (next=1; next < n-1; next++)
560 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
561 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (leaf>=n || A[root].m_key<A[leaf].m_key) { A[next].m_key = A[root].m_key; A[root++].m_key = (mz_uint16)next; } else A[next].m_key = A[leaf++].m_key;
562 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (leaf>=n || (root<next && A[root].m_key<A[leaf].m_key)) { A[next].m_key = (mz_uint16)(A[next].m_key + A[root].m_key); A[root++].m_key = (mz_uint16)next; } else A[next].m_key = (mz_uint16)(A[next].m_key + A[leaf++].m_key);
563 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
564 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- A[n-2].m_key = 0; for (next=n-3; next>=0; next--) A[next].m_key = A[A[next].m_key].m_key+1;
565 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- avbl = 1; used = dpth = 0; root = n-2; next = n-1;
566 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (avbl>0)
567 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
568 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (root>=0 && (int)A[root].m_key==dpth) { used++; root--; }
569 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (avbl>used) { A[next--].m_key = (mz_uint16)(dpth); avbl--; }
570 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- avbl = 2*used; dpth++; used = 0;
571 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
572 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
573 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
574 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // Limits canonical Huffman code table's max um_syms == hist[(total_passes - 1) * 256])) total_passes--;
575 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (pass_shift = 0, pass = 0; pass < total_passes; pass++, pass_shift += 8)
576 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
577 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const mz_uint32* pHist = &hist[pass << 8];
578 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint offsets[256], cur_ofs = 0;
579 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = 0; i < 256; i++) { offsets[i] = cur_ofs; cur_ofs += pHist[i]; }
580 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = 0; i < num_syms; i++) pNew_syms[offsets[(pCur_syms[i].m_key >> pass_shift) & 0xFF]++] = pCur_syms[i];
581 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- { tdefl_sym_freq* t = pCur_syms; pCur_syms = pNew_syms; pNew_syms = t; }
582 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
583 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return pCur_syms;
584 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
585 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
586 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // tdefl_calculate_minimum_redundancy() originally written by: Alistair Moffat, [email protected] , Jyrki Katajainen, [email protected] , November 1996.
587 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static void tdefl_calculate_minimum_redundancy(tdefl_sym_freq *A, int n)
588 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
589 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int root, leaf, next, avbl, used, dpth;
590 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (n==0) return; else if (n==1) { A[0].m_key = 1; return; }
591 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- A[0].m_key += A[1].m_key; root = 0; leaf = 2;
592 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (next=1; next < n-1; next++)
593 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
594 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (leaf>=n || A[root].m_key<A[leaf].m_key) { A[next].m_key = A[root].m_key; A[root++].m_key = (mz_uint16)next; } else A[next].m_key = A[leaf++].m_key;
595 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (leaf>=n || (root<next && A[root].m_key<A[leaf].m_key)) { A[next].m_key = (mz_uint16)(A[next].m_key + A[root].m_key); A[root++].m_key = (mz_uint16)next; } else A[next].m_key = (mz_uint16)(A[next].m_key + A[leaf++].m_key);
596 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
597 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- A[n-2].m_key = 0; for (next=n-3; next>=0; next--) A[next].m_key = A[A[next].m_key].m_key+1;
598 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- avbl = 1; used = dpth = 0; root = n-2; next = n-1;
599 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (avbl>0)
600 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
601 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (root>=0 && (int)A[root].m_key==dpth) { used++; root--; }
602 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (avbl>used) { A[next--].m_key = (mz_uint16)(dpth); avbl--; }
603 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- avbl = 2*used; dpth++; used = 0;
604 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
605 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
606 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
607 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // Limits canonical Huffman code table's max code size.
608 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- enum { TDEFL_MAX_SUPPORTED_HUFF_CODESIZE = 32 };
609 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static void tdefl_huffman_enforce_max_code_size(int *pNum_codes, int code_list_len, int max_code_size)
610 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
611 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int i; mz_uint32 total = 0; if (code_list_len <= 1) return;
612 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = max_code_size + 1; i <= TDEFL_MAX_SUPPORTED_HUFF_CODESIZE; i++) pNum_codes[max_code_size] += pNum_codes[i];
613 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = max_code_size; i > 0; i--) total += (((mz_uint32)pNum_codes[i]) << (max_code_size - i));
614 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (total != (1UL << max_code_size))
615 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
616 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pNum_codes[max_code_size]--;
617 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = max_code_size - 1; i > 0; i--) if (pNum_codes[i]) { pNum_codes[i]--; pNum_codes[i + 1] += 2; break; }
618 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- total--;
619 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
620 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
621 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
622 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static void tdefl_optimize_huffman_table(tdefl_compressor *d, int table_num, int table_len, int code_size_limit, int static_table)
623 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
624 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int i, j, l, num_codes[1 + TDEFL_MAX_SUPPORTED_HUFF_CODESIZE]; mz_uint next_code[TDEFL_MAX_SUPPORTED_HUFF_CODESIZE + 1]; MZ_CLEAR_OBJ(num_codes);
625 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (static_table)
626 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
627 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = 0; i < table_len; i++) num_codes[d->m_huff_code_sizes[table_num][i]]++;
628 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
629 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else
630 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
631 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tdefl_sym_freq syms0[TDEFL_MAX_HUFF_SYMBOLS], syms1[TDEFL_MAX_HUFF_SYMBOLS], *pSyms;
632 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int num_used_syms = 0;
633 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const mz_uint16 *pSym_count = &d->m_huff_count[table_num][0];
634 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = 0; i < table_len; i++) if (pSym_count[i]) { syms0[num_used_syms].m_key = (mz_uint16)pSym_count[i]; syms0[num_used_syms++].m_sym_index = (mz_uint16)i; }
635 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
636 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pSyms = tdefl_radix_sort_syms(num_used_syms, syms0, syms1); tdefl_calculate_minimum_redundancy(pSyms, num_used_syms);
637 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
638 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = 0; i < num_used_syms; i++) num_codes[pSyms[i].m_key]++;
639 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
640 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tdefl_huffman_enforce_max_code_size(num_codes, num_used_syms, code_size_limit);
641 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
642 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- MZ_CLEAR_OBJ(d->m_huff_code_sizes[table_num]); MZ_CLEAR_OBJ(d->m_huff_codes[table_num]);
643 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = 1, j = num_used_syms; i <= code_size_limit; i++)
644 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (l = num_codes[i]; l > 0; l--) d->m_huff_code_sizes[table_num][pSyms[--j].m_sym_index] = (mz_uint8)(i);
645 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
646 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
647 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- next_code[1] = 0; for (j = 0, i = 2; i <= code_size_limit; i++) next_code[i] = j = ((j + num_codes[i - 1]) << 1);
648 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
649 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = 0; i < table_len; i++)
650 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
651 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint rev_code = 0, code, code_size; if ((code_size = d->m_huff_code_sizes[table_num][i]) == 0) continue;
652 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- code = next_code[code_size]++; for (l = code_size; l > 0; l--, code >>= 1) rev_code = (rev_code << 1) | (code & 1);
653 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_huff_codes[table_num][i] = (mz_uint16)rev_code;
654 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
655 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
656 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
657 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define TDEFL_PUT_BITS(b, l) do { \
658 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint bits = b; mz_uint len = l; MZ_ASSERT(bits <= ((1U << len) - 1U)); \
659 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_bit_buffer |= (bits << d->m_bits_in); d->m_bits_in += len; \
660 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (d->m_bits_in >= 8) { \
661 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (d->m_pOutput_buf < d->m_pOutput_buf_end) \
662 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *d->m_pOutput_buf++ = (mz_uint8)(d->m_bit_buffer); \
663 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_bit_buffer >>= 8; \
664 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_bits_in -= 8; \
665 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } \
666 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } MZ_MACRO_END
667 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
668 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define TDEFL_RLE_PREV_CODE_SIZE() { if (rle_repeat_count) { \
669 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (rle_repeat_count < 3) { \
670 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_huff_count[2][prev_code_size] = (mz_uint16)(d->m_huff_count[2][prev_code_size] + rle_repeat_count); \
671 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (rle_repeat_count--) packed_code_sizes[num_packed_code_sizes++] = prev_code_size; \
672 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } else { \
673 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_huff_count[2][16] = (mz_uint16)(d->m_huff_count[2][16] + 1); packed_code_sizes[num_packed_code_sizes++] = 16; packed_code_sizes[num_packed_code_sizes++] = (mz_uint8)(rle_repeat_count - 3); \
674 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } rle_repeat_count = 0; } }
675 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
676 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define TDEFL_RLE_ZERO_CODE_SIZE() { if (rle_z_count) { \
677 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (rle_z_count < 3) { \
678 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_huff_count[2][0] = (mz_uint16)(d->m_huff_count[2][0] + rle_z_count); while (rle_z_count--) packed_code_sizes[num_packed_code_sizes++] = 0; \
679 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } else if (rle_z_count <= 10) { \
680 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_huff_count[2][17] = (mz_uint16)(d->m_huff_count[2][17] + 1); packed_code_sizes[num_packed_code_sizes++] = 17; packed_code_sizes[num_packed_code_sizes++] = (mz_uint8)(rle_z_count - 3); \
681 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } else { \
682 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_huff_count[2][18] = (mz_uint16)(d->m_huff_count[2][18] + 1); packed_code_sizes[num_packed_code_sizes++] = 18; packed_code_sizes[num_packed_code_sizes++] = (mz_uint8)(rle_z_count - 11); \
683 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } rle_z_count = 0; } }
684 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
685 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static mz_uint8 s_tdefl_packed_code_size_syms_swizzle[] = { 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 };
686 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
687 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static void tdefl_start_dynamic_block(tdefl_compressor *d)
688 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
689 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int num_lit_codes, num_dist_codes, num_bit_lengths; mz_uint i, total_code_sizes_to_pack, num_packed_code_sizes, rle_z_count, rle_repeat_count, packed_code_sizes_indITS(num_bit_lengths - 4, 4);
690 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = 0; (int)i < num_bit_lengths; i++) TDEFL_PUT_BITS(d->m_huff_code_sizes[2][s_tdefl_packed_code_size_syms_swizzle[i]], 3);
691 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
692 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (packed_code_sizes_index = 0; packed_code_sizes_index < num_packed_code_sizes; )
693 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
694 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint code = packed_code_sizes[packed_code_sizes_index++]; MZ_ASSERT(code < TDEFL_MAX_HUFF_SYMBOLS_2);
695 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS(d->m_huff_codes[2][code], d->m_huff_code_sizes[2][code]);
696 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (code >= 16) TDEFL_PUT_BITS(packed_code_sizes[packed_code_sizes_index++], "\02\03\07"[code - 16]);
697 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
698 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
699 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
700 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static void tdefl_start_static_block(tdefl_compressor *d)
701 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
702 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint i;
703 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint8 *p = &d->m_huff_code_sizes[0][0];
704 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
705 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = 0; i <= 143; ++i) *p++ = 8;
706 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for ( ; i <= 255; ++i) *p++ = 9;
707 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for ( ; i <= 279; ++i) *p++ = 7;
708 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for ( ; i <= 287; ++i) *p++ = 8;
709 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
710 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- memset(d->m_huff_code_sizes[1], 5, 32);
711 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
712 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tdefl_optimize_huffman_table(d, 0, 288, 15, MZ_TRUE);
713 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tdefl_optimize_huffman_table(d, 1, 32, 15, MZ_TRUE);
714 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
715 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS(1, 2);
716 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
717 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
718 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static const mz_uint mz_bitmasks[17] = { 0x0000, 0x0001, 0x0003, 0x0007, 0x000F, 0x001F, 0x003F, 0x007F, 0x00FF, 0x01FF, 0x03FF, 0x07FF, 0x0FFF, 0x1FFF, 0x3FFF, 0x7FFF, 0xFFFF };
719 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
720 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #if MINIZ_USE_UNALIGNED_LOADS_AND_STORES && MINIZ_LITTLE_ENDIAN && MINIZ_HAS_64BIT_REGISTERS
721 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static mz_bool tdefl_compress_lz_codes(tdefl_compressor *d)
722 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
723 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint flags;
724 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint8 *pLZ_codes;
725 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint8 *pOutput_buf = d->m_pOutput_buf;
726 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint8 *pLZ_code_buf_end = d->m_pLZ_code_buf;
727 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint64 bit_buffer = d->m_bit_buffer;
728 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint bits_in = d->m_bits_in;
729 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
730 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define TDEFL_PUT_BITS_FAST(b, l) { bit_buffer |= (((mz_uint64)(b)) << bits_in); bits_in += (l); }
731 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
732 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- flags = 1;
733 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (pLZ_codes = d->m_lz_code_buf; pLZ_codes < pLZ_code_buf_end; flags >>= 1)
734 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
735 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (flags == 1)
736 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- flags = *pLZ_codes++ | 0x100;
737 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
738 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (flags & 1)
739 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
740 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint s0, s1, n0, n1, sym, num_extra_bits;
741 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint match_len = pLZ_codes[0], match_dist = *(const mz_uint16 *)(pLZ_codes + 1); pLZ_codes += 3;
742 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
743 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- MZ_ASSERT(d->m_huff_code_sizes[0][s_tdefl_len_sym[match_len]]);
744 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS_FAST(d->m_huff_codes[0][s_tdefl_len_sym[match_len]], d->m_huff_code_sizes[0][s_tdefl_len_sym[match_len]]);
745 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS_FAST(match_len & mz_bitmasks[s_tdefl_len_extra[match_len]], s_tdefl_len_extra[match_len]);
746 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
747 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // This sequence coaxes MSVC into using cmov's vs. jmp's.
748 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- s0 = s_tdefl_small_dist_sym[match_dist & 511];
749 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- n0 = s_tdefl_small_dist_extra[match_dist & 511];
750 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- s1 = s_tdefl_large_dist_sym[match_dist >> 8];
751 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- n1 = s_tdefl_large_dist_extra[match_dist >> 8];
752 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- sym = (match_dist < 512) ? s0 : s1;
753 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- num_extra_bits = (match_dist < 512) ? n0 : n1;
754 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
755 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- MZ_ASSERT(d->m_huff_code_sizes[1][sym]);
756 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS_FAST(d->m_huff_codes[1][sym], d->m_huff_code_sizes[1][sym]);
757 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS_FAST(match_dist & mz_bitmasks[num_extra_bits], num_extra_bits);
758 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
759 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else
760 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
761 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint lit = *pLZ_codes++;
762 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- MZ_ASSERT(d->m_huff_code_sizes[0][lit]);
763 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS_FAST(d->m_huff_codes[0][lit], d->m_huff_code_sizes[0][lit]);
764 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
765 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (((flags & 2) == 0) && (pLZ_codes < pLZ_code_buf_end))
766 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
767 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- flags >>= 1;
768 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- lit = *pLZ_codes++;
769 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- MZ_ASSERT(d->m_huff_code_sizes[0][lit]);
770 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS_FAST(d->m_huff_codes[0][lit], d->m_huff_code_sizes[0][lit]);
771 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
772 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (((flags & 2) == 0) && (pLZ_codes < pLZ_code_buf_end))
773 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
774 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- flags >>= 1;
775 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- lit = *pLZ_codes++;
776 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- MZ_ASSERT(d->m_huff_code_sizes[0][lit]);
777 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS_FAST(d->m_huff_codes[0][lit], d->m_huff_code_sizes[0][lit]);
778 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
779 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
780 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
781 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
782 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (pOutput_buf >= d->m_pOutput_buf_end)
783 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return MZ_FALSE;
784 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
785 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *(mz_uint64*)pOutput_buf = bit_buffer;
786 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOutput_buf += (bits_in >> 3);
787 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- bit_buffer >>= (bits_in & ~7);
788 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- bits_in &= 7;
789 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
790 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
791 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #undef TDEFL_PUT_BITS_FAST
792 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
793 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_pOutput_buf = pOutput_buf;
794 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_bits_in = 0;
795 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_bit_buffer = 0;
796 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
797 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (bits_in)
798 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
799 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint32 n = MZ_MIN(bits_in, 16);
800 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS((mz_uint)bit_buffer & mz_bitmasks[n], n);
801 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- bit_buffer >>= n;
802 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- bits_in -= n;
803 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
804 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
805 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS(d->m_huff_codes[0][256], d->m_huff_code_sizes[0][256]);
806 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
807 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return (d->m_pOutput_buf < d->m_pOutput_buf_end);
808 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
809 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #else
810 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static mz_bool tdefl_compress_lz_codes(tdefl_compressor *d)
811 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
812 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint flags;
813 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint8 *pLZ_codes;
814 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
815 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- flags = 1;
816 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (pLZ_codes = d->m_lz_code_buf; pLZ_codes < d->m_pLZ_code_buf; flags >>= 1)
817 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
818 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (flags == 1)
819 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- flags = *pLZ_codes++ | 0x100;
820 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (flags & 1)
821 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
822 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint sym, num_extra_bits;
823 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint match_len = pLZ_codes[0], match_dist = (pLZ_codes[1] | (pLZ_codes[2] << 8)); pLZ_codes += 3;
824 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
825 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- MZ_ASSERT(d->m_huff_code_sizes[0][s_tdefl_len_sym[match_len]]);
826 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS(d->m_huff_codes[0][s_tdefl_len_sym[match_len]], d->m_huff_code_sizes[0][s_tdefl_len_sym[match_len]]);
827 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS(match_len & mz_bitmasks[s_tdefl_len_extra[match_len]], s_tdefl_len_extra[match_len]);
828 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
829 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (match_dist < 512)
830 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
831 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- sym = s_tdefl_small_dist_sym[match_dist]; num_extra_bits = s_tdefl_small_dist_extra[match_dist];
832 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
833 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else
834 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
835 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- sym = s_tdefl_large_dist_sym[match_dist >> 8]; num_extra_bits = s_tdefl_large_dist_extra[match_dist >> 8];
836 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
837 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- MZ_ASSERT(d->m_huff_code_sizes[1][sym]);
838 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS(d->m_huff_codes[1][sym], d->m_huff_code_sizes[1][sym]);
839 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS(match_dist & mz_bitmasks[num_extra_bits], num_extra_bits);
840 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
841 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else
842 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
843 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint lit = *pLZ_codes++;
844 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- MZ_ASSERT(d->m_huff_code_sizes[0][lit]);
845 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS(d->m_huff_codes[0][lit], d->m_huff_code_sizes[0][lit]);
846 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
847 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
848 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
849 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS(d->m_huff_codes[0][256], d->m_huff_code_sizes[0][256]);
850 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
851 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return (d->m_pOutput_buf < d->m_pOutput_buf_end);
852 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
853 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #endif // MINIZ_USE_UNALIGNED_LOADS_AND_STORES && MINIZ_LITTLE_ENDIAN && MINIZ_HAS_64BIT_REGISTERS
854 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
855 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static mz_bool tdefl_compress_block(tdefl_compressor *d, mz_bool static_block)
856 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
857 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (static_block)
858 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tdefl_start_static_block(d);
859 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else
860 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tdefl_start_dynamic_block(d);
861 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return tdefl_compress_lz_codes(d);
862 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
863 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
864 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static int tdefl_flush_block(tdefl_compressor *d, int flush)
865 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
866 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint saved_bit_buf, saved_bits_in;
867 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint8 *pSaved_output_buf;
868 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_bool comp_block_succeeded = MZ_FALSE;
869 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int n, use_raw_block = ((d->m_flags & TDEFL_FORCE_ALL_RAW_BLOCKS) != 0) && (d->m_lookahead_pos - d->m_lz_code_buf_dict_pos) <= d->m_dict_size;
870 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint8 *pOutput_buf_start = ((d->m_pPut_buf_func == NULL) && ((*d->m_pOut_buf_size - d->m_out_buf_ofs) >= TDEFL_OUT_BUF_SIZE)) ? ((mz_uint8 *)d->m_pOut_buf + d->m_out_buf_ofs) : d->m_output_buf;
871 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
872 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_pOutput_buf = pOutput_buf_start;
873 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_pOutput_buf_end = d->m_pOutput_buf + TDEFL_OUT_BUF_SIZE - 16;
874 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
875 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- MZ_ASSERT(!d->m_output_flush_remaining);
876 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_output_flush_ofs = 0;
877 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_output_flush_remaining = 0;
878 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
879 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *d->m_pLZ_flags = (mz_uint8)(*d->m_pLZ_flags >> d->m_num_flags_left);
880 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_pLZ_code_buf -= (d->m_num_flags_left == 8);
881 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
882 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((d->m_flags & TDEFL_WRITE_ZLIB_HEADER) && (!d->m_block_index))
883 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
884 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS(0x78, 8); TDEFL_PUT_BITS(0x01, 8);
885 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
886 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
887 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS(flush == TDEFL_FINISH, 1);
888 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
889 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pSaved_output_buf = d->m_pOutput_buf; saved_bit_buf = d->m_bit_buffer; saved_bits_in = d->m_bits_in;
890 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
891 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!use_raw_block)
892 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- comp_block_succeeded = tdefl_compress_block(d, (d->m_flags & TDEFL_FORCE_ALL_STATIC_BLOCKS) || (d->m_total_lz_bytes < 48));
893 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
894 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // If the block gets expanded, forget the current contents of the output buffer and send a raw block instead.
895 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ( ((use_raw_block) || ((d->m_total_lz_bytes) && ((d->m_pOutput_buf - pSaved_output_buf + 1U) >= d->m_total_lz_bytes))) &&
896 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ((d->m_lookahead_pos - d->m_lz_code_buf_dict_pos) <= d->m_dict_size) )
897 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
898 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint i; d->m_pOutput_buf = pSaved_output_buf; d->m_bit_buffer = saved_bit_buf, d->m_bits_in = saved_bits_in;
899 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS(0, 2);
900 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (d->m_bits_in) { TDEFL_PUT_BITS(0, 8 - d->m_bits_in); }
901 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = 2; i; --i, d->m_total_lz_bytes ^= 0xFFFF)
902 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
903 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS(d->m_total_lz_bytes & 0xFFFF, 16);
904 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
905 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = 0; i < d->m_total_lz_bytes; ++i)
906 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
907 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS(d->m_dict[(d->m_lz_code_buf_dict_pos + i) & TDEFL_LZ_DICT_SIZE_MASK], 8);
908 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
909 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
910 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // Check for the extremely unlikely (if not impossible) case of the compressed block not fitting into the output buffer when using dynamic codes.
911 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else if (!comp_block_succeeded)
912 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
913 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_pOutput_buf = pSaved_output_buf; d->m_bit_buffer = saved_bit_buf, d->m_bits_in = saved_bits_in;
914 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tdefl_compress_block(d, MZ_TRUE);
915 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
916 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
917 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (flush)
918 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
919 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (flush == TDEFL_FINISH)
920 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
921 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (d->m_bits_in) { TDEFL_PUT_BITS(0, 8 - d->m_bits_in); }
922 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (d->m_flags & TDEFL_WRITE_ZLIB_HEADER) { mz_uint i, a = d->m_adler32; for (i = 0; i < 4; i++) { TDEFL_PUT_BITS((a >> 24) & 0xFF, 8); a <<= 8; } }
923 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
924 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else
925 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
926 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint i, z = 0; TDEFL_PUT_BITS(0, 3); if (d->m_bits_in) { TDEFL_PUT_BITS(0, 8 - d->m_bits_in); } for (i = 2; i; --i, z ^= 0xFFFF) { TDEFL_PUT_BITS(z & 0xFFFF, 16); }
927 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
928 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
929 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
930 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- MZ_ASSERT(d->m_pOutput_buf < d->m_pOutput_buf_end);
931 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
932 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- memset(&d->m_huff_count[0][0], 0, sizeof(d->m_huff_count[0][0]) * TDEFL_MAX_HUFF_SYMBOLS_0);
933 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- memset(&d->m_huff_count[1][0], 0, sizeof(d->m_huff_count[1][0]) * TDEFL_MAX_HUFF_SYMBOLS_1);
934 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
935 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_pLZ_code_buf = d->m_lz_code_buf + 1; d->m_pLZ_flags = d->m_lz_code_buf; d->m_num_flags_left = 8; d->m_lz_code_buf_dict_pos += d->m_total_lz_bytes; d->m_total_lz_bytes = 0; d->m_block_index++;
936 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
937 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((n = (int)(d->m_pOutput_buf - pOutput_buf_start)) != 0)
938 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
939 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (d->m_pPut_buf_func)
940 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
941 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *d->m_pIn_buf_size = d->m_pSrc - (const mz_uint8 *)d->m_pIn_buf;
942 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!(*d->m_pPut_buf_func)(d->m_output_buf, n, d->m_pPut_buf_user))
943 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return (d->m_prev_return_status = TDEFL_STATUS_PUT_BUF_FAILED);
944 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
945 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else if (pOutput_buf_start == d->m_output_buf)
946 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
947 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int bytes_to_copy = (int)MZ_MIN((size_t)n, (size_t)(*d->m_pOut_buf_size - d->m_out_buf_ofs));
948 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- memcpy((mz_uint8 *)d->m_pOut_buf + d->m_out_buf_ofs, d->m_output_buf, bytes_to_copy);
949 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_out_buf_ofs += bytes_to_copy;
950 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((n -= bytes_to_copy) != 0)
951 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
952 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_output_flush_ofs = bytes_to_copy;
953 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_output_flush_remaining = n;
954 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
955 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
956 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else
957 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
958 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_out_buf_ofs += n;
959 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
960 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
961 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
962 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return d->m_output_flush_remaining;
963 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
964 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
965 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #if MINIZ_USE_UNALIGNED_LOADS_AND_STORES
966 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define TDEFL_READ_UNALIGNED_WORD(p) *(const mz_uint16*)(p)
967 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static MZ_FORCEINLINE void tdefl_find_match(tdefl_compressor *d, mz_uint lookahead_pos, mz_uint max_dist, mz_uint max_match_len, mz_uint *pMatch_dist, mz_uint *pMatch_len)
968 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
969 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint dist, pos = lookahead_pos & TDEFL_LZ_DICT_SIZE_MASK, match_len = *pMatch_len, probe_pos = pos, next_probe_pos, probe_len;
970 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint num_probes_left = d->m_max_probes[match_len >= 32];
971 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const mz_uint16 *s = (const mz_uint16*)(d->m_dict + pos), *p, *q;
972 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint16 c01 = TDEFL_READ_UNALIGNED_WORD(&d->m_dict[pos + match_len - 1]), s01 = TDEFL_READ_UNALIGNED_WORD(s);
973 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- MZ_ASSERT(max_match_len <= TDEFL_MAX_MATCH_LEN); if (max_match_len <= match_len) return;
974 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for ( ; ; )
975 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
976 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for ( ; ; )
977 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
978 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (--num_probes_left == 0) return;
979 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define TDEFL_PROBE \
980 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- next_probe_pos = d->m_next[probe_pos]; \
981 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((!next_probe_pos) || ((dist = (mz_uint16)(lookahead_pos - next_probe_pos)) > max_dist)) return; \
982 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- probe_pos = next_probe_pos & TDEFL_LZ_DICT_SIZE_MASK; \
983 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (TDEFL_READ_UNALIGNED_WORD(&d->m_dict[probe_pos + match_len - 1]) == c01) break;
984 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PROBE; TDEFL_PROBE; TDEFL_PROBE;
985 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
986 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!dist) break; q = (const mz_uint16*)(d->m_dict + probe_pos); if (TDEFL_READ_UNALIGNED_WORD(q) != s01) continue; p = s; probe_len = 32;
987 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- do { } while ( (TDEFL_READ_UNALIGNED_WORD(++p) == TDEFL_READ_UNALIGNED_WORD(++q)) && (TDEFL_READ_UNALIGNED_WORD(++p) == TDEFL_READ_UNALIGNED_WORD(++q)) &&
988 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- (TDEFL_READ_UNALIGNED_WORD(++p) == TDEFL_READ_UNALIGNED_WORD(++q)) && (TDEFL_READ_UNALIGNED_WORD(++p) == TDEFL_READ_UNALIGNED_WORD(++q)) && (--probe_len > 0) );
989 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!probe_len)
990 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
991 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *pMatch_dist = dist; *pMatch_len = MZ_MIN(max_match_len, TDEFL_MAX_MATCH_LEN); break;
992 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
993 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else if ((probe_len = ((mz_uint)(p - s) * 2) + (mz_uint)(*(const mz_uint8*)p == *(const mz_uint8*)q)) > match_len)
994 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
995 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *pMatch_dist = dist; if ((*pMatch_len = match_len = MZ_MIN(max_match_len, probe_len)) == max_match_len) break;
996 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- c01 = TDEFL_READ_UNALIGNED_WORD(&d->m_dict[pos + match_len - 1]);
997 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
998 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
999 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1000 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #else
1001 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static MZ_FORCEINLINE void tdefl_find_match(tdefl_compressor *d, mz_uint lookahead_pos, mz_uint max_dist, mz_uint max_match_len, mz_uint *pMatch_dist, mz_uint *pMatch_len)
1002 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1003 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint dist, pos = lookahead_pos & TDEFL_LZ_DICT_SIZE_MASK, match_len = *pMatch_len, probe_pos = pos, next_probe_pos, probe_len;
1004 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint num_probes_left = d->m_max_probes[match_len >= 32];
1005 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const mz_uint8 *s = d->m_dict + pos, *p, *q;
1006 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint8 c0 = d->m_dict[pos + match_len], c1 = d->m_dict[pos + match_len - 1];
1007 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- MZ_ASSERT(max_match_len <= TDEFL_MAX_MATCH_LEN); if (max_match_len <= match_len) return;
1008 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for ( ; ; )
1009 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1010 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for ( ; ; )
1011 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1012 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (--num_probes_left == 0) return;
1013 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define TDEFL_PROBE \
1014 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- next_probe_pos = d->m_next[probe_pos]; \
1015 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((!next_probe_pos) || ((dist = (mz_uint16)(lookahead_pos - next_probe_pos)) > max_dist)) return; \
1016 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- probe_pos = next_probe_pos & TDEFL_LZ_DICT_SIZE_MASK; \
1017 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((d->m_dict[probe_pos + match_len] == c0) && (d->m_dict[probe_pos + match_len - 1] == c1)) break;
1018 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PROBE; TDEFL_PROBE; TDEFL_PROBE;
1019 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1020 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!dist) break; p = s; q = d->m_dict + probe_pos; for (probe_len = 0; probe_len < max_match_len; probe_len++) if (*p++ != *q++) break;
1021 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (probe_len > match_len)
1022 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1023 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *pMatch_dist = dist; if ((*pMatch_len = match_len = probe_len) == max_match_len) return;
1024 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- c0 = d->m_dict[pos + match_len]; c1 = d->m_dict[pos + match_len - 1];
1025 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1026 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1027 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1028 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #endif // #if MINIZ_USE_UNALIGNED_LOADS_AND_STORES
1029 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1030 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #if MINIZ_USE_UNALIGNED_LOADS_AND_STORES && MINIZ_LITTLE_ENDIAN
1031 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static mz_bool tdefl_compress_fast(tdefl_compressor *d)
1032 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1033 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // Faster, minimally featured LZRW1-style match+parse loop with better register utilization. Intended for applications where raw throughput is valued more highly than ratio.
1034 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint lookahead_pos = d->m_lookahead_pos, lookahead_size = d->m_lookahead_size, dict_size = d->m_dict_size, total_lz_bytes = d->m_total_lz_bytes, num_flags_left = d->m_num_flags_left;
1035 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint8 *pLZ_code_buf = d->m_pLZ_code_buf, *pLZ_flags = d->m_pLZ_flags;
1036 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint cur_pos = lookahead_pos & TDEFL_LZ_DICT_SIZE_MASK;
1037 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1038 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while ((d->m_src_buf_left) || ((d->m_flush) && (lookahead_size)))
1039 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1040 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const mz_uint TDEFL_COMP_FAST_LOOKAHEAD_SIZE = 4096;
1041 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint dst_pos = (lookahead_pos + lookahead_size) & TDEFL_LZ_DICT_SIZE_MASK;
1042 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint num_bytes_to_process = (mz_uint)MZ_MIN(d->m_src_buf_left, TDEFL_COMP_FAST_LOOKAHEAD_SIZE - lookahead_size);
1043 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_src_buf_left -= num_bytes_to_process;
1044 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- lookahead_size += num_bytes_to_process;
1045 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1046 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (num_bytes_to_process)
1047 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1048 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint32 n = MZ_MIN(TDEFL_LZ_DICT_SIZE - dst_pos, num_bytes_to_process);
1049 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- memcpy(d->m_dict + dst_pos, d->m_pSrc, n);
1050 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (dst_pos < (TDEFL_MAX_MATCH_LEN - 1))
1051 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- memcpy(d->m_dict + TDEFL_LZ_DICT_SIZE + dst_pos, d->m_pSrc, MZ_MIN(n, (TDEFL_MAX_MATCH_LEN - 1) - dst_pos));
1052 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_pSrc += n;
1053 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- dst_pos = (dst_pos + n) & TDEFL_LZ_DICT_SIZE_MASK;
1054 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- num_bytes_to_process -= n;
1055 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1056 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1057 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- dict_size = MZ_MIN(TDEFL_LZ_DICT_SIZE - lookahead_size, dict_size);
1058 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((!d->m_flush) && (lookahead_size < TDEFL_COMP_FAST_LOOKAHEAD_SIZE)) break;
1059 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1060 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (lookahead_size >= 4)
1061 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1062 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint cur_match_dist, cur_match_len = 1;
1063 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint8 *pCur_dict = d->m_dict + cur_pos;
1064 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint first_trigram = (*(const mz_uint32 *)pCur_dict) & 0xFFFFFF;
1065 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint hash = (first_trigram ^ (first_trigram >> (24 - (TDEFL_LZ_HASH_BITS - 8)))) & TDEFL_LEVEL1_HASH_SIZE_MASK;
1066 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint probe_pos = d->m_hash[hash];
1067 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_hash[hash] = (mz_uint16)lookahead_pos;
1068 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1069 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (((cur_match_dist = (mz_uint16)(lookahead_pos - probe_pos)) <= dict_size) && ((*(const mz_uint32 *)(d->m_dict + (probe_pos &= TDEFL_LZ_DICT_SIZE_MASK)) & 0xFFFFFF) == first_trigram))
1070 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1071 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const mz_uint16 *p = (const mz_uint16 *)pCur_dict;
1072 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const mz_uint16 *q = (const mz_uint16 *)(d->m_dict + probe_pos);
1073 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint32 probe_len = 32;
1074 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- do { } while ( (TDEFL_READ_UNALIGNED_WORD(++p) == TDEFL_READ_UNALIGNED_WORD(// TODO: Ifhe raw deflate data (problem dithere's no more input, and we attempt to read beyond the input buf,
1075 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1076 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *pMatch_dis with the input because_capacity = 128;ver
1077 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // reads ahead more than it needs to. Currently TINFL_GET_BYTE() pads
1078 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1079 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1080 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int mz_deflastream with 0's in this scenario.GNED_WORD(++p) == TDEFifD_UNALIGNEDfor ( ; ; ) { \
1081 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- r" }, { MZ_PARAM_ERROR, "parametHAS_MORE_INPUT) { \
1082 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ) << num_bits); num_bitsstate_index, memcpy(d->m_dict + dst_pos, \
1083 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (pIn_buf_cur < pIn_buf_end) { \
1084 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- c = *pIn_buf_cur++; \, { MZ_BUF_ERROR, \
1085 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- n} \
1086 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- m.avail_out = (mz_uint c = 0; \
1087 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- break; \) );
1088 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- cur_match_le }, { MZ_PARAM_ERROR, "parametHAS_MORE_INPUTr1);
1089 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- counter = (((r->mTINFL_CR_RETURN(38, memcpy(d->m_dict + dst_pos, if (decomp_flags *)(d->m_dict + probe_po4 particularly important on raTPUT); }
1090 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (pI expects the decompressor to never read
1091 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // beyond the final byte of the deflate stream. (In other words, when this macro wants to read another byte from the input, it REALLY needs another byte in order to fully
1092 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // decode the next Huffman code.) Handling this properly is particularly important on raw deflate (non-zlib) streams, which aren't followed by a byte aligned adler-32.
1093 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // The slow path is only executed at the very end of the input buffer.
1094 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define TINFL_HUFF_DECODE(state_index, sym, pHuff) do { \
1095 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int temp; mz_uint code_len, c; \
1096 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (num_bits < 15) { \
1097 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((pIn_buf_end - pIn_buf_cur) < 2) { \
1098 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_HUFF_BITBUF_FILL(state_index, pHuff); \
1099 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } else { \
1100 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- bit_buf |= (((tinfl_bit_buf_t)pIn_buf_cur[0]) << num_bits) | (((tinfl_bit_buf_t)pIn_buf_cur[1]) << (num_bits + 8)); pIn_buf_cur += 2; num_bits += 16; \
1101 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } \
1102 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } \
1103 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((temp = (pHuff)->m_look_up[bit_buf & (TINFL_FAST_LOOKUP_SIZE - 1)]) >= 0) \
1104 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- code_len = temp >> 9, temp &= 511; \
1105 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else { \
1106 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- code_len = TINFL_FAST_LOOKUP_BITS; do { temp = (pHuff)->m_tree[~temp + ((bit_buf >> code_len++) & 1)]; } while (temp < 0); \
1107 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } sym = temp; bit_buf >>= code_len; num_bits -= code_len; } MZ_MACRO_END
1108 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1109 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tinfl_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)
1110 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1111 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 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 };
1112 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 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 };
1113 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 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};
1114 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 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};
1115 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 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 };
1116 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static const int s_min_table_sizes[3] = { 257, 1, 4 };
1117 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1118 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tinfl_status status = TINFL_STATUS_FAILED; mz_uint32 num_bits, dist, counter, num_extra; tinfl_bit_buf_t bit_buf;
1119 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const mz_uint8 *pIn_buf_cur = pIn_buf_next, *const pIn_buf_end = pIn_buf_next + *pIn_buf_size;
1120 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint8 *pOut_buf_cur = pOut_buf_next, *const pOut_buf_end = pOut_buf_next + *pOut_buf_size;
1121 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- size_t out_buf_size_mask = (decomp_flags & TINFL_FLAG_USING_NON_WRAPPING_OUTPUT_BUF) ? (size_t)-1 : ((pOut_buf_next - pOut_buf_start) + *pOut_buf_size) - 1, dist_from_out_buf_start;
1122 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1123 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // Ensure the output buffer's size is a power of 2, unless the output buffer is large enough to hold the entire output file (in which case it doesn't matter).
1124 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (((out_buf_size_mask + 1) & out_buf_size_mask) || (pOut_buf_next < pOut_buf_start)) { *pIn_buf_size = *pOut_buf_size = 0; return TINFL_STATUS_BAD_PARAM; }
1125 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1126 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- num_bits = r->m_num_bits; bit_buf = r->m_bit_buf; dist = r->m_dist; counter = r->m_counter; num_extra = r->m_num_extra; dist_from_out_buf_start = r->m_dist_from_out_buf_start;
1127 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_CR_BEGIN
1128 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1129 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- bit_buf = num_bits = dist = counter = num_extra = r->m_zhdr0 = r->m_zhdr1 = 0; r->m_z_adler32 = r->m_check_adler32 = 1;
1130 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (decomp_flags & TINFL_FLAG_PARSE_ZLIB_HEADER)
1131 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1132 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_GET_BYTE(1, r->m_zhdr0); TINFL_GET_BYTE(2, r->m_zhdr1);
1133 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- counter = (((r->m_zhdr0 * 256 + r->m_zhdr1) % 31 != 0) || (r->m_zhdr1 & 32) || ((r->m_zhdr0 & 15) != 8));
1134 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!(decomp_flags & TINFL_FLAG_USING_NON_WRAPPING_OUTPUT_BUF)) counter |= (((1U << (8U + (r->m_zhdr0 >> 4))) > 32768U) || ((out_buf_size_mask + 1) < (size_t)(1U << (8U + (r->m_zhdr0 >> 4)))));
1135 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (counter) { TINFL_CR_RETURN_FOREVER(36, TINFL_STATUS_FAILED); }
1136 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1137 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1138 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- do
1139 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1140 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_GET_BITS(3, r->m_final, 3); r->m_type = r->m_final >> 1;
1141 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (r->m_type == 0)
1142 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1143 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_SKIP_BITS(5, num_bits & 7);
1144 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (counter = 0; counter < 4; ++counter) { if (num_bits) TINFL_GET_BITS(6, r->m_raw_header[counter], 8); else TINFL_GET_BYTE(7, r->m_raw_header[counter]); }
1145 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((counter = (r->m_raw_header[0] | (r->m_raw_header[1] << 8))) != (mz_uint)(0xFFFF ^ (r->m_raw_header[2] | (r->m_raw_header[3] << 8)))) { TINFL_CR_RETURN_FOREVER(39, TINFL_STATUS_FAILED); }
1146 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while ((counter) && (num_bits))
1147 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1148 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_GET_BITS(51, dist, 8);
1149 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (pOut_buf_cur >= pOut_buf_end) { TINFL_CR_RETURN(52, TINFL_STATUS_HAS_MORE_OUTPUT); }
1150 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *pOut_buf_cur++ = (mz_uint8)dist;
1151 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- counter--;
1152 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1153 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (counter)
1154 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1155 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- size_t n; while (pOut_buf_cur >= pOut_buf_end) { TINFL_CR_RETURN(9, TINFL_STATUS_HAS_MORE_OUTPUT); }
1156 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (pIn_buf_cur >= pIn_buf_end)
1157 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1158 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (decomp_flags & TINFL_FLAG_HAS_MORE_INPUT)
1159 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1160 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_CR_RETURN(38, TINFL_STATUS_NEEDS_MORE_INPUT);
1161 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1162 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else
1163 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1164 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_CR_RETURN_FOREVER(40, TINFL_STATUS_FAILED);
1165 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1166 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1167 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- n = MZ_MIN(MZ_MIN((size_t)(pOut_buf_end - pOut_buf_cur), (size_t)(pIn_buf_end - pIn_buf_cur)), counter);
1168 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_MEMCPY(pOut_buf_cur, pIn_buf_cur, n); pIn_buf_cur += n; pOut_buf_cur += n; counter -= (mz_uint)n;
1169 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1170 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1171 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else if (r->m_type == 3)
1172 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1173 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_CR_RETURN_FOREVER(10, TINFL_STATUS_FAILED);
1174 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1175 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else
1176 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1177 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (r->m_type == 1)
1178 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1179 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint8 *p = r->m_tables[0].m_code_size; mz_uint i;
1180 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- r->m_table_sizes[0] = 288; r->m_table_sizes[1] = 32; TINFL_MEMSET(r->m_tables[1].m_code_size, 5, 32);
1181 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for ( i = 0; i <= 143; ++i) *p++ = 8; for ( ; i <= 255; ++i) *p++ = 9; for ( ; i <= 279; ++i) *p++ = 7; for ( ; i <= 287; ++i) *p++ = 8;
1182 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1183 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else
1184 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1185 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (counter = 0; counter < 3; counter++) { TINFL_GET_BITS(11, r->m_table_sizes[counter], "\05\05\04"[counter]); r->m_table_sizes[counter] += s_min_table_sizes[counter]; }
1186 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- MZ_CLEAR_OBJ(r->m_tables[2].m_code_size); for (counter = 0; counter < r->m_table_sizes[2]; counter++) { mz_uint s; TINFL_GET_BITS(14, s, 3); r->m_tables[2].m_code_size[s_length_dezigzag[counter]] = (mz_uint8)s; }
1187 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- r->m_table_sizes[2] = 19;
1188 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1189 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for ( ; (int)r->m_type >= 0; r->m_type--)
1190 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1191 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int tree_next, tree_cur; tinfl_huff_table *pTable;
1192 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint i, j, used_syms, total, sym_index, next_code[17], total_syms[16]; pTable = &r->m_tables[r->m_type]; MZ_CLEAR_OBJ(total_syms); MZ_CLEAR_OBJ(pTable->m_look_up); MZ_CLEAR_OBJ(pTable->m_tree);
1193 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = 0; i < r->m_table_sizes[r->m_type]; ++i) total_syms[pTable->m_code_size[i]]++;
1194 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- used_syms = 0, total = 0; next_code[0] = next_code[1] = 0;
1195 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = 1; i <= 15; ++i) { used_syms += total_syms[i]; next_code[i + 1] = (total = ((total + total_syms[i]) << 1)); }
1196 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((65536 != total) && (used_syms > 1))
1197 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1198 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_CR_RETURN_FOREVER(35, TINFL_STATUS_FAILED);
1199 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1200 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (tree_next = -1, sym_index = 0; sym_index < r->m_table_sizes[r->m_type]; ++sym_index)
1201 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1202 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint rev_code = 0, l, cur_code, code_size = pTable->m_code_size[sym_index]; if (!code_size) continue;
1203 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- cur_code = next_code[code_size]++; for (l = code_size; l > 0; l--, cur_code >>= 1) rev_code = (rev_code << 1) | (cur_code & 1);
1204 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (code_size <= TINFL_FAST_LOOKUP_BITS) { mz_int16 k = (mz_int16)((code_size << 9) | sym_index); while (rev_code < TINFL_FAST_LOOKUP_SIZE) { pTable->m_look_up[rev_code] = k; rev_code += (1 << code_size); } continue; }
1205 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (0 == (tree_cur = pTable->m_look_up[rev_code & (TINFL_FAST_LOOKUP_SIZE - 1)])) { pTable->m_look_up[rev_code & (TINFL_FAST_LOOKUP_SIZE - 1)] = (mz_int16)tree_next; tree_cur = tree_next; tree_next -= 2; }
1206 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rev_code >>= (TINFL_FAST_LOOKUP_BITS - 1);
1207 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (j = code_size; j > (TINFL_FAST_LOOKUP_BITS + 1); j--)
1208 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1209 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tree_cur -= ((rev_code >>= 1) & 1);
1210 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!pTable->m_tree[-tree_cur - 1]) { pTable->m_tree[-tree_cur - 1] = (mz_int16)tree_next; tree_cur = tree_next; tree_next -= 2; } else tree_cur = pTable->m_tree[-tree_cur - 1];
1211 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1212 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tree_cur -= ((rev_code >>= 1) & 1); pTable->m_tree[-tree_cur - 1] = (mz_int16)sym_index;
1213 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1214 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (r->m_type == 2)
1215 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1216 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (counter = 0; counter < (r->m_table_sizes[0] + r->m_table_sizes[1]); )
1217 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1218 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint s; TINFL_HUFF_DECODE(16, dist, &r->m_tables[2]); if (dist < 16) { r->m_len_codes[counter++] = (mz_uint8)dist; continue; }
1219 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((dist == 16) && (!counter))
1220 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1221 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_CR_RETURN_FOREVER(17, TINFL_STATUS_FAILED);
1222 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1223 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- num_extra = "\02\03\07"[dist - 16]; TINFL_GET_BITS(18, s, num_extra); s += "\03\03\013"[dist - 16];
1224 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_MEMSET(r->m_len_codes + counter, (disr" }, { MZ_PARAM_ERROR, "parameter error" }
1225 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
1226 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint i; forSKIP_BITS(32, num_bits & 7);result) do { for (pOut_buf_end) { TINFL_CR_RETURN(24, TINFL_STATUS_HAS_MORE_OUTPUT); }
1227 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *pOut_buf_cur++ = (mz_uint8)counter;
1228 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1229 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else
1230 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- z_uint code_len;
1231 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #if TINFL_USE_64BINFL_GET_BITS(18, s, n_codes + counter, (dist == 16) ? r->m_len_codes[counter - 1] : 0, s); counter += s;
1232 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1233 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((r->m_table_sizes[0] + r->m_table_sizes[1]) != counter)
1234 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1235 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_CR_RETURN_FOREVER(21, TINFL_STATUS_FAILED);
1236 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1237 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_MEMCPY(r->m_tables[0].m_code_size, r->m_len_codes, r->m_table_sizes[0]); TINFL_MEMCPY(r->m_tables[1].m_code_size, r->m_len_codes + r->m_table_sizes[0], r->m_table_sizes[1]);
1238 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1239 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1240 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for ( ; ; )
1241 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1242 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint8 *pSrc;
1243 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for ( ; ; )
1244 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1245 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (((pIn_buf_end - pIn_buf_cur) < 4) || ((pOut_buf_end - pOut_buf_cur) < 2))
1246 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1247 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_HUFF_DECODE(23, counter, &r->m_tables[0]);
1248 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (counter >= 256)
1249 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- break;
1250 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (pOut_buf_cur >= pOut_buf_end) { TINFL_CR_RETURN(24, TINFL_STATUS_HAS_MORE_OUTPUT); }
1251 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *pOut_buf_cur++ = (mz_uint8)counter;
1252 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1253 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else
1254 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1255 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int sym2; mz_uint code_len;
1256 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #if TINFL_USE_64BIT_BITBUF
1257 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (num_bits < 30) { bit_buf |= (((tinfl_bit_buf_t)MZ_READ_LE32(pIn_buf_cur)) << num_bits); pIn_buf_cur += 4; num_bits += 32; }
1258 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #else
1259 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (num_bits < 15) { bit_buf |= (((tinfl_bit_buf_t)MZ_READ_LE16(pIn_buf_cur)) << num_bits); pIn_buf_cur += 2; num_bits += 16; }
1260 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #endif
1261 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((sym2 = r->m_tables[0].m_look_up[bit_buf & (TINFL_FAST_LOOKUP_SIZE - 1)]) >= 0)
1262 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- code_len = sym2 >> 9;
1263 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else
1264 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1265 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- code_len = TINFL_FAST_LOOKUP_BITS; do { sym2 = r->m_tables[0].m_tree[~sym2 + ((bit_buf >> code_len++) & 1)]; } while (sym2 < 0);
1266 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1267 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- counter = sym2; bit_buf >>= code_len; num_bits -= code_len;
1268 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (counter & 256)
1269 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- break;
1270 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1271 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #if !TINFL_USE_64BIT_BITBUF
1272 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (num_bits < 15) { bit_buf |= (((tinfl_bit_buf_t)MZ_READ_LE16(pIn_buf_cur)) << num_bits); pIn_buf_cur += 2; num_bits += 16; }
1273 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #endif
1274 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((sym2 = r->m_tables[0].m_look_up[bit_buf & (TINFL_FAST_LOOKUP_SIZE - 1)]) >= 0)
1275 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- code_len = sym2 >> 9;
1276 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else
1277 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1278 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- code_len = TINFL_FAST_LOOKUP_BITS; do { sym2 = r->m_tables[0].m_tree[~sym2 + ((bit_buf >> code_len++) & 1)]; } while (sym2 < 0);
1279 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1280 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- bit_buf >>= code_len; num_bits -= code_len;
1281 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1282 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur[0] = (mz_uint8)counter;
1283 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (sym2 & 256)
1284 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1285 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur++;
1286 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- counter = sym2;
1287 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- break;
1288 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1289 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur[1] = (mz_uint8)sym2;
1290 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur += 2;
1291 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1292 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1293 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((counter &= 511) == 256) break;
1294 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1295 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- num_extra = s_length_extra[counter - 257]; counter = s_length_base[counter - 257];
1296 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (num_extra) { mz_uint extra_bits; TINFL_GET_BITS(25, extra_bits, num_extra); counter += extra_bits; }
1297 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1298 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_HUFF_DECODE(26, dist, &r->m_tables[1]);
1299 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- num_extra = s_dist_extra[dist]; dist = s_dist_base[dist];
1300 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (num_extra) { mz_uint extra_bits; TINFL_GET_BITS(27, extra_bits, num_extra); dist += extra_bits; }
1301 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1302 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- dist_from_out_buf_start = pOut_buf_cur - pOut_buf_start;
1303 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((dist > dist_from_out_buf_start) && (decomp_flags & TINFL_FLAG_USING_NON_WRAPPING_OUTPUT_BUF))
1304 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1305 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_CR_RETURN_FOREVER(37, TINFL_STATUS_FAILED);
1306 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1307 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1308 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pSrc = pOut_buf_start + ((dist_from_out_buf_start - dist) & out_buf_size_mask);
1309 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1310 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((MZ_MAX(pOut_buf_cur, pSrc) + counter) > pOut_buf_end)
1311 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1312 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (counter--)
1313 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1314 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (pOut_buf_cur >= pOut_buf_end) { TINFL_CR_RETURN(53, TINFL_STATUS_HAS_MORE_OUTPUT); }
1315 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *pOut_buf_cur++ = pOut_buf_start[(dist_from_out_buf_start++ - dist) & out_buf_size_mask];
1316 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1317 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- continue;
1318 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1319 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #if MINIZ_USE_UNALIGNED_LOADS_AND_STORES
1320 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else if ((counter >= 9) && (counter <= dist))
1321 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1322 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const mz_uint8 *pSrc_end = pSrc + (counter & ~7);
1323 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- do
1324 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1325 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ((mz_uint32 *)pOut_buf_cur)[0] = ((const mz_uint32 *)pSrc)[0];
1326 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ((mz_uint32 *)pOut_buf_cur)[1] = ((const mz_uint32 *)pSrc)[1];
1327 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur += 8;
1328 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } while ((pSrc += 8) < pSrc_end);
1329 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((counter &= 7) < 3)
1330 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1331 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (counter)
1332 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1333 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur[0] = pSrc[0];
1334 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (counter > 1)
1335 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur[1] = pSrc[1];
1336 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur += counter;
1337 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1338 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- continue;
1339 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1340 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1341 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #endif
1342 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- do
1343 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1344 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur[0] = pSrc[0];
1345 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur[1] = pSrc[1];
1346 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur[2] = pSrc[2];
1347 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur += 3; pSrc += 3;
1348 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } while ((int)(counter -= 3) > 2);
1349 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((int)counter > 0)
1350 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1351 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur[0] = pSrc[0];
1352 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((int)counter > 1)
1353 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur[1] = pSrc[1];
1354 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur += counter;
1355 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1356 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1357 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1358 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } while (!(r->m_final & 1));
1359 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (decomp_flags & TINFL_FLAG_PARSE_ZLIB_HEADER)
1360 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1361 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_SKIP_BITS(32, num_bits & 7); for (counter = 0; counter < 4; ++counter) { mz_uint s; if (num_bits) TINFL_GET_BITS(41, s, 8); else TINFL_GET_BYTE(42, s); r->m_z_adler32 = (r->m_z_adler32 << 8) | s; }
1362 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1363 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_CR_RETURN_FOREVER(34, TINFL_STATUS_DONE);
1364 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_CR_FINISH
1365 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1366 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- common_exit:
1367 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- r->m_num_bits = num_bits; r->m_bit_buf = bit_buf; r->m_dist = dist; r->m_counter = counter; r->m_num_extra = num_extra; r->m_dist_from_out_buf_start = dist_from_out_buf_start;
1368 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *pIn_buf_size = pIn_buf_cur - pIn_buf_next; *pOut_buf_size = pOut_buf_cur - pOut_buf_next;
1369 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((decomp_flags & (TINFL_FLAG_PARSE_ZLIB_HEADER | TINFL_FLAG_COMPUTE_ADLER32)) && (status >= 0))
1370 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1371 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const mz_uint8 *ptr = pOut_buf_next; size_t buf_len = *pOut_buf_size;
1372 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint32 i, s1 = r->m_check_adler32 & 0xffff, s2 = r->m_check_adler32 >> 16; size_t block_len = buf_len % 5552;
1373 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (buf_len)
1374 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1375 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = 0; i + 7 < block_len; i += 8, ptr += 8)
1376 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1377 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- s1 += ptr[0], s2 += s1; s1 += ptr[1], s2 += s1; s1 += ptr[2], s2 += s1; s1 += ptr[3], s2 += s1;
1378 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- s1 += ptr[4], s2 += s1; s1 += ptr[5], s2 += s1; s1 += ptr[6], s2 += s1; s1 += ptr[7], s2 += s1;
1379 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1380 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for ( ; i < block_len; ++i) s1 += *ptr++, s2 += s1;
1381 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- s1 %= 65521U, s2 %= 65521U; buf_len -= block_len; block_len = 5552;
1382 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1383 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- r->m_check_adler32 = (s2 << 16) + s1; if ((status == TINFL_STATUS_DONE) && (decomp_flags & TINFL_FLAG_PARSE_ZLIB_HEADER) && (r->m_check_adler32 != r->m_z_adler32)) status = TINFL_STATUS_ADLER32_MISMATCH;
1384 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1385 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return status;
1386 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1387 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1388 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // Higher level helper functions.
1389 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- void *tinfl_decompress_mem_to_heap(const void *pSrc_buf, size_t src_buf_len, size_t *pOut_len, int flags)
1390 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1391 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tinfl_decompressor decomp; void *pBuf = NULL, *pNew_buf; size_t src_buf_ofs = 0, out_buf_capacity = 0;
1392 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *pOut_len = 0;
1393 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tinfl_init(&decomp);
1394 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for ( ; ; )
1395 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1396 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- size_t src_buf_size = src_buf_len - src_buf_ofs, dst_buf_size = out_buf_capacity - *pOut_len, new_out_buf_capacity;
1397 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tinfl_status status = tinfl_decompress(&decomp, (const mz_uint8*)pSrc_buf + src_buf_ofs, &src_buf_size, (mz_uint8*)pBuf, pBuf ? (mz_uint8*)pBuf + *pOut_len : NULL, &dst_buf_size,
1398 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- (flags & ~TINFL_FLAG_HAS_MORE_INPUT) | TINFL_FLAG_USING_NON_WRAPPING_OUTPUT_BUF);
1399 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((status < 0) || (status == TINFL_STATUS_NEEDS_MORE_INPUT))
1400 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1401 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- MZ_FREE(pBuf); *pOut_len = 0; return NULL;
1402 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1403 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- src_buf_ofs += src_buf_size;
1404 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *pOut_len += dst_buf_size;
1405 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (status == TINFL_STATUS_DONE) break;
1406 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- new_out_buf_capacity = out_buf_capacity * 2; if (new_out_buf_capacity < 128) new_out_buf_capacity = 128;
1407 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pNew_buf = MZ_REALLOC(pBuf, new_out_buf_capacity);
1408 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!pNew_buf)
1409 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1410 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- MZ_FREE(pBuf); *pOut_len = 0; return NULL;
1411 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1412 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pBuf = pNew_buf; out_buf_capacity = new_out_buf_capacity;
1413 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1414 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return pBuf;
1415 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1416 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1417 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- size_t tinfl_decompress_mem_to_mem(void *pOut_buf, size_t out_buf_len, const void *pSrc_buf, size_t src_buf_len, int flags)
1418 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1419 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tinfl_decompressor decomp; tinfl_status status; tinfl_init(&decomp);
1420 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- status = tinfl_decompress(&decomp, (const mz_uint8*)pSrc_buf, &src_buf_len, (mz_uint8*)pOut_buf, (mz_uint8*)pOut_buf, &out_buf_len, (flags & ~TINFL_FLAG_HAS_MORE_INPUT) | TINFL_FLAG_USING_NON_WRAPPING_OUTPUT_BUF);
1421 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return (status != TINFL_STATUS_DONE) ? TINFL_DECOMPRESS_MEM_TO_MEM_FAILED : out_buf_len;
1422 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1423 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1424 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int tinfl_decompress_mem_to_callback(const void *pIn_buf, size_t *pIn_buf_size, tinfl_put_buf_func_ptr pPut_buf_func, void *pPut_buf_user, int flags)
1425 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1426 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int result = 0;
1427 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tinfl_decompressor decomp;
1428 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint8 *pDict = (mz_uint8*)MZ_MALLOC(TINFL_LZ_DICT_SIZE); size_t in_buf_ofs = 0, dict_ofs = 0;
1429 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!pDict)
1430 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return TINFL_STATUS_FAILED;
1431 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tinfl_init(&decomp);
1432 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for ( ; ; )
1433 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1434 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- size_t in_buf_size = *pIn_buf_size - in_buf_ofs, dst_buf_size = TINFL_LZ_DICT_SIZE - dict_ofs;
1435 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tinfl_status status = tinfl_decompress(&decomp, (const mz_uint8*)pIn_buf + in_buf_ofs, &in_buf_size, pDict, pDict + dict_ofs, &dst_buf_size,
1436 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- (flags & ~(TINFL_FLAG_HAS_MORE_INPUT | TINFL_FLAG_USING_NON_WRAPPING_OUTPUT_BUF)));
1437 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- in_buf_ofs += in_buf_size;
1438 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((dst_buf_size) && (!(*pPut_buf_func)(pDict + dict_ofs, (int)dst_buf_size, pPut_buf_user)))
1439 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- break;
1440 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (status != TINFL_STATUS_HAS_MORE_OUTPUT)
1441 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1442 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- result = (status == TINFL_STATUS_DONE);
1443 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- break;
1444 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1445 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- dict_ofs = (dict_ofs + dst_buf_size) & (TINFL_LZ_DICT_SIZE - 1);
1446 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1447 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- MZ_FREE(pDict);
1448 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *pIn_buf_size = in_buf_ofs;
1449 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return result;
1450 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1451 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1452 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // ------------------- Low-level Compression (independent from all decompression API's)
1453 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1454 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // Purposely making these tables static for faster init and thread safety.
1455 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static const mz_uint16 s_tdefl_len_sym[256] = {
1456 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 257,258,259,260,261,262,263,264,265,265,266,266,267,267,268,268,269,269,269,269,270,270,270,270,271,271,271,271,272,272,272,272,
1457 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 273,273,273,273,273,273,273,273,274,274,274,274,274,274,274,274,275,275,275,275,275,275,275,275,276,276,276,276,276,276,276,276,
1458 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 277,277,277,277,277,277,277,277,277,277,277,277,277,277,277,277,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,
1459 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 279,279,279,279,279,279,279,279,279,279,279,279,279,279,279,279,280,280,280,280,280,280,280,280,280,280,280,280,280,280,280,280,
1460 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,
1461 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,
1462 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,
1463 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,285 };
1464 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1465 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static const mz_uint8 s_tdefl_len_extra[256] = {
1466 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
1467 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
1468 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
1469 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0 };
1470 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1471 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static const mz_uint8 s_tdefl_small_dist_sym[512] = {
1472 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 0,1,2,3,4,4,5,5,6,6,6,6,7,7,7,7,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,
1473 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,
1474 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,14,14,14,14,14,14,14,14,14,14,14,14,
1475 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,
1476 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 14,14,14,14,14,14,14,14,14,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,
1477 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16,16,16,16,16,16,
1478 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
1479 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
1480 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,
1481 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,
1482 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,
1483 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17 };
1484 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1485 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static const mz_uint8 s_tdefl_small_dist_extra[512] = {
1486 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 0,0,0,0,1,1,1,1,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,
1487 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
1488 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
1489 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1490 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1491 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1492 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1493 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 7,7,7,7,7,7,7,7 };
1494 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1495 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static const mz_uint8 s_tdefl_large_dist_sym[128] = {
1496 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 0,0,18,19,20,20,21,21,22,22,22,22,23,23,23,23,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,26,26,26,26,26,26,26,26,26,26,26,26,
1497 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 26,26,26,26,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,
1498 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 28,28,28,28,28,28,28,28,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29 };
1499 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1500 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static const mz_uint8 s_tdefl_large_dist_extra[128] = {
1501 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 0,0,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
1502 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,
1503 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13 };
1504 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1505 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // Radix sorts tdefl_sym_freq[] array by 16-bit key m_key. Returns ptr to sorted values.
1506 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- typedef struct { mz_uint16 m_key, m_sym_index; } tdefl_sym_freq;
1507 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static tdefl_sym_freq* tdefl_radix_sort_syms(mz_uint num_syms, tdefl_sym_freq* pSyms0, tdefl_sym_freq* pSyms1)
1508 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1509 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint32 total_passes = 2, pass_shift, pass, i, hist[256 * 2]; tdefl_sym_freq* pCur_syms = pSyms0, *pNew_syms = pSyms1; MZ_CLEAR_OBJ(hist);
1510 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = 0; i < num_syms; i++) { mz_uint freq = pSyms0[i].m_key; hist[freq & 0xFF]++; hist[256 + ((freq >> 8) & 0xFF)]++; }
1511 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while ((total_passes > 1) && (num_syms == hist[(total_passes - 1) * 256])) total_passes--;
1512 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (pass_shift = 0, pass = 0; pass < total_passes; pass++, pass_shift += 8)
1513 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1514 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const mz_uint32* pHist = &hist[pass << 8];
1515 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint offsets[256], cur_ofs = 0;
1516 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = 0; i < 256; i++) { offsets[i] = cur_ofs; cur_ofs += pHist[i]; }
1517 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = 0; i < num_syms; i++) pNew_syms[offsets[(pCur_syms[i].m_key >> pass_shift) & 0xFF]++] = pCur_syms[i];
1518 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- { tdefl_sym_freq* t = pCur_syms; pCur_syms = pNew_syms; pNew_syms = t; }
1519 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1520 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return pCur_syms;
1521 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1522 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1523 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // tdefl_calculate_minimum_redundancy() originally written by: Alistair Moffat, [email protected] , Jyrki Katajainen, [email protected] , November 1996.
1524 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static void tdefl_calculate_minimum_redundancy(tdefl_sym_freq *A, int n)
1525 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1526 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int root, leaf, next, avbl, used, dpth;
1527 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (n==0) return; else if (n==1) { A[0].m_key = 1; return; }
1528 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- A[0].m_key += A[1].m_key; root = 0; leaf = 2;
1529 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (next=1; next < n-1; next++)
1530 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1531 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (leaf>=n || A[root].m_key<A[leaf].m_key) { A[next].m_key = A[root].m_key; A[root++].m_key = (mz_uint16)next; } else A[next].m_key = A[leaf++].m_key;
1532 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (leaf>=n || (root<next && A[root].m_key<A[leaf].m_key)) { A[next].m_key = (mz_uint16)(A[next].m_key + A[root].m_key); A[root++].m_key = (mz_uint16)next; } else A[next].m_key = (mz_uint16)(A[next].m_key + A[leaf++].m_key);
1533 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1534 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- A[n-2].m_key = 0; for (next=n-3; next>=0; next--) A[next].m_key = A[A[next].m_key].m_key+1;
1535 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- avbl = 1; used = dpth = 0; root = n-2; next = n-1;
1536 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (avbl>0)
1537 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1538 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (root>=0 && (int)A[root].m_key==dpth) { used++; root--; }
1539 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (avbl>used) { A[next--].m_key = (mz_uint16)(dpth); avbl--; }
1540 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- avbl = 2*used; dpth++; used = 0;
1541 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1542 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1543 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1544 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // Limits canonical Huffman code table's max code size.
1545 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- enum { TDEFL_MAX_SUPPORTED_HUFF_CODESIZE = 32 };
1546 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static void tdefl_huffman_enforce_max_code_size(int *pNum_codes, int code_list_len, int max_code_size)
1547 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1548 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int i; mz_uint32 total = 0; if (code_list_len <= 1) return;
1549 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = max_code_size + 1; i <= TDEFL_MAX_SUPPORTED_HUFF_CODESIZE; i++) pNum_codes[max_code_size] += pNum_codes[i];
1550 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = max_code_size; i > 0; i--) total += (((mz_uint32)pNum_codes[i]) << (max_code_size - i));
1551 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (total != (1UL << max_code_size))
1552 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1553 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pNum_codes[max_code_size]--;
1554 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = max_code_size - 1; i > 0; i--) if (pNum_codes[i]) { pNum_codes[i]--; pNum_codes[i + 1] += 2; break; }
1555 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- total--;
1556 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1557 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1558 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1559 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static void tdefl_optimize_huffman_table(tdefl_compressor *d, int table_num, int table_len, int code_size_limit, int static_table)
1560 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1561 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int i, j, l, num_codes[1 + TDEFL_MAX_SUPPORTED_HUFF_CODESIZE]; mz_uint next_code[TDEFL_MAX_SUPPORTED_HUFF_CODESIZE + 1]; MZ_CLEAR_OBJ(num_codes);
1562 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (static_table)
1563 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1564 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = 0; i < table_len; i++) num_codes[d->m_huff_code_sizes[table_num][i]]++;
1565 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1566 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else
1567 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1568 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tdefl_sym_freq syms0[TDEFL_MAX_HUFF_SYMBOLS], syms1[TDEFL_MAX_HUFF_SYMBOLS], *pSyms;
1569 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int num_used_syms = 0;
1570 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const mz_uint16 *pSym_count = &d->m_huff_count[table_num][0];
1571 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = 0; i < table_len; i++) if (pSym_count[i]) { syms0[num_used_syms].m_key = (mz_uint16)pSym_count[i]; syms0[num_used_syms++].m_sym_index = (mz_uint16)i; }
1572 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1573 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pSyms = tdefl_radix_sort_syms(num_used_syms, syms0, syms1); tdefl_calculate_minimum_redundancy(pSyms, num_used_syms);
1574 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1575 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = 0; i < num_used_syms; i++) num_codes[pSyms[i].m_key]++;
1576 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1577 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tdefl_huffman_enforce_max_code_size(num_codes, num_used_syms, code_size_limit);
1578 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1579 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- MZ_CLEAR_OBJ(d->m_huff_code_sizes[table_num]); MZ_CLEAR_OBJ(d->m_huff_codes[table_num]);
1580 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = 1, j = num_used_syms; i <= code_size_limit; i++)
1581 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (l = num_codes[i]; l > 0; l--) d->m_huff_code_sizes[table_num][pSyms[--j].m_sym_index] = (mz_uint8)(i);
1582 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1583 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1584 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- next_code[1] = 0; for (j = 0, i = 2; i <= code_size_limit; i++) next_code[i] = j = ((j + num_codes[i - 1]) << 1);
1585 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1586 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = 0; i < table_len; i++)
1587 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1588 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint rev_code = 0, code, code_size; if ((code_size = d->m_huff_code_sizes[table_num][i]) == 0) continue;
1589 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- code = next_code[code_size]++; for (l = code_size; l > 0; l--, code >>= 1) rev_code = (rev_code << 1) | (code & 1);
1590 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_huff_codes[table_num][i] = (mz_uint16)rev_code;
1591 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1592 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1593 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1594 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define TDEFL_PUT_BITS(b, l) do { \
1595 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint bits = b; mz_uint len = l; MZ_ASSERT(bits <= ((1U << len) - 1U)); \
1596 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_bit_buffer |= (bits << d->m_bits_in); d->m_bits_in += len; \
1597 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (d->m_bits_in >= 8) { \
1598 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (d->m_pOutput_buf < d->m_pOutput_buf_end) \
1599 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *d->m_pOutput_buf++ = (mz_uint8)(d->m_bit_buffer); \
1600 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_bit_buffer >>= 8; \
1601 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_bits_in -= 8; \
1602 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } \
1603 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } MZ_MACRO_END
1604 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1605 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define TDEFL_RLE_PREV_CODE_SIZE() { if (rle_repeat_count) { \
1606 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (rle_repeat_count < 3) { \
1607 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_huff_count[2][prev_code_size] = (mz_uint16)(d->m_huff_count[2][prev_code_size] + rle_repeat_count); \
1608 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (rle_repeat_count--) packed_code_sizes[num_packed_code_sizes++] = prev_code_size; \
1609 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } else { \
1610 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_huff_count[2][16] = (mz_uint16)(d->m_huff_count[2][16] + 1); packed_code_sizes[num_packed_code_sizes++] = 16; packed_code_sizes[num_packed_code_sizes++] = (mz_uint8)(rle_repeat_count - 3); \
1611 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } rle_repeat_count = 0; } }
1612 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1613 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define TDEFL_RLE_ZERO_CODE_SIZE() { if (rle_z_count) { \
1614 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (rle_z_count < 3) { \
1615 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_huff_count[2][0] = (mz_uint16)(d->m_huff_count[2][0] + rle_z_count); while (rle_z_count--) packed_code_sizes[num_packed_code_sizes++] = 0; \
1616 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } else if (rle_z_count <= 10) { \
1617 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_huff_count[2][17] = (mz_uint16)(d->m_huff_count[2][17] + 1); packed_code_sizes[num_packed_code_sizes++] = 17; packed_code_sizes[num_packed_code_sizes++] = (mz_uint8)(rle_z_count - 3); \
1618 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } else { \
1619 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_huff_count[2][18] = (mz_uint16)(d->m_huff_count[2][18] + 1); packed_code_sizes[num_packed_code_sizes++] = 18; packed_code_sizes[num_packed_code_sizes++] = (mz_uint8)(rle_z_count - 11); \
1620 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } rle_z_count = 0; } }
1621 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1622 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static mz_uint8 s_tdefl_packed_code_size_syms_swizzle[] = { 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 };
1623 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1624 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static void tdefl_start_dynamic_block(tdefl_compressor *d)
1625 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1626 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int num_lit_codes, num_dist_codes, num_bit_lengths; mz_uint i, total_code_sizes_to_pack, num_packed_code_sizes, rle_z_count, rle_repeat_count, packed_code_sizes_index;
1627 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint8 code_sizes_to_pack[TDEFL_MAX_HUFF_SYMBOLS_0 + TDEFL_MAX_HUFF_SYMBOLS_1], packed_code_sizes[TDEFL_MAX_HUFF_SYMBOLS_0 + TDEFL_MAX_HUFF_SYMBOLS_1], prev_code_size = 0xFF;
1628 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1629 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_huff_count[0][256] = 1;
1630 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1631 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tdefl_optimize_huffman_table(d, 0, TDEFL_MAX_HUFF_SYMBOLS_0, 15, MZ_FALSE);
1632 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tdefl_optimize_huffman_table(d, 1, TDEFL_MAX_HUFF_SYMBOLS_1, 15, MZ_FALSE);
1633 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1634 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (num_lit_codes = 286; num_lit_codes > 257; num_lit_codes--) if (d->m_huff_code_sizes[0][num_lit_codes - 1]) break;
1635 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (num_dist_codes = 30; num_dist_codes > 1; num_dist_codes--) if (d->m_huff_code_sizes[1][num_dist_codes - 1]) break;
1636 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1637 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- memcpy(code_sizes_to_pack, &d->m_huff_code_sizes[0][0], num_lit_codes);
1638 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- memcpy(code_sizes_to_pack + num_lit_codes, &d->m_huff_code_sizes[1][0], num_dist_codes);
1639 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- total_code_sizes_to_pack = num_lit_codes + num_dist_codes; num_packed_code_sizes = 0; rle_z_count = 0; rle_repeat_count = 0;
1640 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1641 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- memset(&d->m_huff_count[2][0], 0, sizeof(d->m_huff_count[2][0]) * TDEFL_MAX_HUFF_SYMBOLS_2);
1642 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = 0; i < total_code_sizes_to_pack; i++)
1643 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1644 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint8 code_size = code_sizes_to_pack[i];
1645 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!code_size)
1646 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1647 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_RLE_PREV_CODE_SIZE();
1648 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (++rle_z_count == 138) { TDEFL_RLE_ZERO_CODE_SIZE(); }
1649 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1650 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else
1651 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1652 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_RLE_ZERO_CODE_SIZE();
1653 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (code_size != prev_code_size)
1654 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1655 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_RLE_PREV_CODE_SIZE();
1656 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_huff_count[2][code_size] = (mz_uint16)(d->m_huff_count[2][code_size] + 1); packed_code_sizes[num_packed_code_sizes++] = code_size;
1657 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1658 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else if (++rle_repeat_count == 6)
1659 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1660 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_RLE_PREV_CODE_SIZE();
1661 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1662 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1663 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- prev_code_size = code_size;
1664 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1665 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (rle_repeat_count) { TDEFL_RLE_PREV_CODE_SIZE(); } else { TDEFL_RLE_ZERO_CODE_SIZE(); }
1666 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1667 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tdefl_optimize_huffman_table(d, 2, TDEFL_MAX_HUFF_SYMBOLS_2, 7, MZ_FALSE);
1668 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1669 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS(2, 2);
1670 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1671 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS(num_lit_codes - 257, 5);
1672 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS(num_dist_codes - 1, 5);
1673 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1674 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (num_bit_lengths = 18; num_bit_lengths >= 0; num_bit_lengths--) if (d->m_huff_code_sizes[2][s_tdefl_packed_code_size_syms_swizzle[num_bit_lengths]]) break;
1675 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- num_bit_lengths = MZ_MAX(4, (num_bit_lengths + 1)); TDEFL_PUT_BITS(num_bit_lengths - 4, 4);
1676 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = 0; (int)i < num_bit_lengths; i++) TDEFL_PUT_BITS(d->m_huff_code_sizes[2][s_tdefl_packed_code_size_syms_swizzle[i]], 3);
1677 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1678 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (packed_code_sizes_index = 0; packed_code_sizes_index < num_packed_code_sizes; )
1679 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1680 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint code = packed_code_sizes[packed_code_sizes_index++]; MZ_ASSERT(code < TDEFL_MAX_HUFF_SYMBOLS_2);
1681 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS(d->m_huff_codes[2][code], d->m_huff_code_sizes[2][code]);
1682 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (code >= 16) TDEFL_PUT_BITS(packed_code_sizes[packed_code_sizes_index++], "\02\03\07"[code - 16]);
1683 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1684 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1685 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1686 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static void tdefl_start_static_block(tdefl_compressor *d)
1687 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1688 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint i;
1689 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint8 *p = &d->m_huff_code_sizes[0][0];
1690 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1691 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = 0; i <= 143; ++i) *p++ = 8;
1692 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for ( ; i <= 255; ++i) *p++ = 9;
1693 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for ( ; i <= 279; ++i) *p++ = 7;
1694 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for ( ; i <= 287; ++i) *p++ = 8;
1695 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1696 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- memset(d->m_huff_code_sizes[1], 5, 32);
1697 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1698 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tdefl_optimize_huffman_table(d, 0, 288, 15, MZ_TRUE);
1699 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tdefl_optimize_huffman_table(d, 1, 32, 15, MZ_TRUE);
1700 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1701 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS(1, 2);
1702 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1703 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1704 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static const mz_uint mz_bitmasks[17] = { 0x0000, 0x0001, 0x0003, 0x0007, 0x000F, 0x001F, 0x003F, 0x007F, 0x00FF, 0x01FF, 0x03FF, 0x07FF, 0x0FFF, 0x1FFF, 0x3FFF, 0x7FFF, 0xFFFF };
1705 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1706 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #if MINIZ_USE_UNALIGNED_LOADS_AND_STORES && MINIZ_LITTLE_ENDIAN && MINIZ_HAS_64BIT_REGISTERS
1707 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static mz_bool tdefl_compress_lz_codes(tdefl_compressor *d)
1708 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1709 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint flags;
1710 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint8 *pLZ_codes;
1711 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint8 *pOutput_buf = d->m_pOutput_buf;
1712 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint8 *pLZ_code_buf_end = d->m_pLZ_code_buf;
1713 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint64 bit_buffer = d->m_bit_buffer;
1714 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint bits_in = d->m_bits_in;
1715 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1716 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define TDEFL_PUT_BITS_FAST(b, l) { bit_buffer |= (((mz_uint64)(b)) << bits_in); bits_in += (l); }
1717 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1718 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- flags = 1;
1719 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (pLZ_codes = d->m_lz_code_buf; pLZ_codes < pLZ_code_buf_end; flags >>= 1)
1720 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1721 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (flags == 1)
1722 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- flags = *pLZ_codes++ | 0x100;
1723 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1724 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (flags & 1)
1725 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1726 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint s0, s1, n0, n1, sym, num_extra_bits;
1727 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint match_len = pLZ_codes[0], match_dist = *(const mz_uint16 *)(pLZ_codes + 1); pLZ_codes += 3;
1728 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1729 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- MZ_ASSERT(d->m_huff_code_sizes[0][s_tdefl_len_sym[match_len]]);
1730 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS_FAST(d->m_huff_codes[0][s_tdefl_len_sym[match_len]], d->m_huff_code_sizes[0][s_tdefl_len_sym[match_len]]);
1731 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS_FAST(match_len & mz_bitmasks[s_tdefl_len_extra[match_len]], s_tdefl_len_extra[match_len]);
1732 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1733 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // This sequence coaxes MSVC into using cmov's vs. jmp's.
1734 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- s0 = s_tdefl_small_dist_sym[match_dist & 511];
1735 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- n0 = s_tdefl_small_dist_extra[match_dist & 511];
1736 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- s1 = s_tdefl_large_dist_sym[match_dist >> 8];
1737 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- n1 = s_tdefl_large_dist_extra[match_dist >> 8];
1738 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- sym = (match_dist < 512) ? s0 : s1;
1739 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- num_extra_bits = (match_dist < 512) ? n0 : n1;
1740 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1741 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- MZ_ASSERT(d->m_huff_code_sizes[1][sym]);
1742 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS_FAST(d->m_huff_codes[1][sym], d->m_huff_code_sizes[1][sym]);
1743 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS_FAST(match_dist & mz_bitmasks[num_extra_bits], num_extra_bits);
1744 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1745 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else
1746 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1747 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint lit = *pLZ_codes++;
1748 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- MZ_ASSERT(d->m_huff_code_sizes[0][lit]);
1749 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS_FAST(d->m_huff_codes[0][lit], d->m_huff_code_sizes[0][lit]);
1750 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1751 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (((flags & 2) == 0) && (pLZ_codes < pLZ_code_buf_end))
1752 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1753 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- flags >>= 1;
1754 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- lit = *pLZ_codes++;
1755 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- MZ_ASSERT(d->m_huff_code_sizes[0][lit]);
1756 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS_FAST(d->m_huff_codes[0][lit], d->m_huff_code_sizes[0][lit]);
1757 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1758 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (((flags & 2) == 0) && (pLZ_codes < pLZ_code_buf_end))
1759 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1760 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- flags >>= 1;
1761 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- lit = *pLZ_codes++;
1762 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- MZ_ASSERT(d->m_huff_code_sizes[0][lit]);
1763 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS_FAST(d->m_huff_codes[0][lit], d->m_huff_code_sizes[0][lit]);
1764 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1765 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1766 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1767 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1768 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (pOutput_buf >= d->m_pOutput_buf_end)
1769 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return MZ_FALSE;
1770 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1771 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *(mz_uint64*)pOutput_buf = bit_buffer;
1772 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOutput_buf += (bits_in >> 3);
1773 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- bit_buffer >>= (bits_in & ~7);
1774 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- bits_in &= 7;
1775 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1776 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1777 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #undef TDEFL_PUT_BITS_FAST
1778 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1779 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_pOutput_buf = pOutput_buf;
1780 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_bits_in = 0;
1781 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_bit_buffer = 0;
1782 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1783 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (bits_in)
1784 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1785 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint32 n = MZ_MIN(bits_in, 16);
1786 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS((mz_uint)bit_buffer & mz_bitmasks[n], n);
1787 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- bit_buffer >>= n;
1788 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- bits_in -= n;
1789 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1790 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1791 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS(d->m_huff_codes[0][256], d->m_huff_code_sizes[0][256]);
1792 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1793 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return (d->m_pOutput_buf < d->m_pOutput_buf_end);
1794 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1795 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #else
1796 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static mz_bool tdefl_compress_lz_codes(tdefl_compressor *d)
1797 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1798 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint flags;
1799 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint8 *pLZ_codes;
1800 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1801 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- flags = 1;
1802 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (pLZ_codes = d->m_lz_code_buf; pLZ_codes < d->m_pLZ_code_buf; flags >>= 1)
1803 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1804 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (flags == 1)
1805 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- flags = *pLZ_codes++ | 0x100;
1806 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (flags & 1)
1807 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1808 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint sym, num_extra_bits;
1809 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint match_len = pLZ_codes[0], match_dist = (pLZ_codes[1] | (pLZ_codes[2] << 8)); pLZ_codes += 3;
1810 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1811 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- MZ_ASSERT(d->m_huff_code_sizes[0][s_tdefl_len_sym[match_len]]);
1812 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS(d->m_huff_codes[0][s_tdefl_len_sym[match_len]], d->m_huff_code_sizes[0][s_tdefl_len_sym[match_len]]);
1813 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS(match_len & mz_bitmasks[s_tdefl_len_extra[match_len]], s_tdefl_len_extra[match_len]);
1814 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1815 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (match_dist < 512)
1816 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1817 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- sym = s_tdefl_small_dist_sym[match_dist]; num_extra_bits = s_tdefl_small_dist_extra[match_dist];
1818 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1819 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else
1820 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1821 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- sym = s_tdefl_large_dist_sym[match_dist >> 8]; num_extra_bits = s_tdefl_large_dist_extra[match_dist >> 8];
1822 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1823 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- MZ_ASSERT(d->m_huff_code_sizes[1][sym]);
1824 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS(d->m_huff_codes[1][sym], d->m_huff_code_sizes[1][sym]);
1825 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS(match_dist & mz_bitmasks[num_extra_bits], num_extra_bits);
1826 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1827 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else
1828 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1829 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint lit = *pLZ_codes++;
1830 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- MZ_ASSERT(d->m_huff_code_sizes[0][lit]);
1831 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS(d->m_huff_codes[0][lit], d->m_huff_code_sizes[0][lit]);
1832 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1833 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1834 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1835 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS(d->m_huff_codes[0][256], d->m_huff_code_sizes[0][256]);
1836 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1837 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return (d->m_pOutput_buf < d->m_pOutput_buf_end);
1838 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1839 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #endif // MINIZ_USE_UNALIGNED_LOADS_AND_STORES && MINIZ_LITTLE_ENDIAN && MINIZ_HAS_64BIT_REGISTERS
1840 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1841 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static mz_bool tdefl_compress_block(tdefl_compressor *d, mz_bool static_block)
1842 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1843 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (static_block)
1844 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tdefl_start_static_block(d);
1845 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else
1846 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tdefl_start_dynamic_block(d);
1847 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return tdefl_compress_lz_codes(d);
1848 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1849 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1850 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static int tdefl_flush_block(tdefl_compressor *d, int flush)
1851 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1852 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint saved_bit_buf, saved_bits_in;
1853 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint8 *pSaved_output_buf;
1854 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_bool comp_block_succeeded = MZ_FALSE;
1855 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int n, use_raw_block = ((d->m_flags & TDEFL_FORCE_ALL_RAW_BLOCKS) != 0) && (d->m_lookahead_pos - d->m_lz_code_buf_dict_pos) <= d->m_dict_size;
1856 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint8 *pOutput_buf_start = ((d->m_pPut_buf_func == NULL) && ((*d->m_pOut_buf_size - d->m_out_buf_ofs) >= TDEFL_OUT_BUF_SIZE)) ? ((mz_uint8 *)d->m_pOut_buf + d->m_out_buf_ofs) : d->m_output_buf;
1857 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1858 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_pOutput_buf = pOutput_buf_start;
1859 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_pOutput_buf_end = d->m_pOutput_buf + TDEFL_OUT_BUF_SIZE - 16;
1860 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1861 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- MZ_ASSERT(!d->m_output_flush_remaining);
1862 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_output_flush_ofs = 0;
1863 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_output_flush_remaining = 0;
1864 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1865 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *d->m_pLZ_flags = (mz_uint8)(*d->m_pLZ_flags >> d->m_num_flags_left);
1866 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- d->m_pLZ_code_buf -= (d->m_num_flags_left == 8);
1867 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1868 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((d->m_flags & TDEFL_WRITE_ZLIB_HEADER) && (!d->m_block_index))
1869 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1870 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS(0x78, 8); TDEFL_PUT_BITS(0x01, 8);
1871 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1872 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1873 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS(flush == TDEFL_FINISH, 1);
1874 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1875 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pSaved_output_buf = d->m_pOutput_buf; saved_bit_buf = d->m_bit_buffer; saved_bits_in = d->m_bits_in;
1876 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1877 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!use_raw_block)
1878 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- comp_block_succeeded = tdefl_compress_block(d, (d->m_flags & TDEFL_FORCE_ALL_STATIC_BLOCKS) || (d->m_total_lz_bytes < 48));
1879 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1880 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // If the block gets expanded, forget the current contents of the output buffer and send a raw block instead.
1881 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ( ((use_raw_block) || ((d->m_total_lz_bytes) && ((d->m_pOutput_buf - pSaved_output_buf + 1U) >= d->m_total_lz_bytes))) &&
1882 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ((d->m_lookahead_pos - d->m_lz_code_buf_dict_pos) <= d->m_dict_size) )
1883 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1884 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint i; d->m_pOutput_buf = pSaved_output_buf; d->m_bit_buffer = saved_bit_buf, d->m_bits_in = saved_bits_in;
1885 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TDEFL_PUT_BITS(0, 2);
1886 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (d->m_bits_in) { TDEFL_PUT_BITS(0, /* miniz.c v1.16 beta r1 - public domain deflate/inflate, zlib-subset, ZIP reading/writing/appending, PNG writing
1887 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- See "unlicense" statement at the end of this file.
1888 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Rich Geldreich <[email protected] >, last updated Oct. 13, 2013
1889 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Implements RFC 1950: http://www.ietf.org/rfc/rfc1950.txt and RFC 1951: http://www.ietf.org/rfc/rfc1951.txt
1890 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1891 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Most API's defined in miniz.c are optionaljority of prev. users so I'm
1892 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- op)w deflate data (pr/* matic 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 };
1893 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 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 };
1894 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 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};
1895 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 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};
1896 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 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 };
1897 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static const int s_min_table_sizes[3] = { 257, 1, 4 };
1898 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1899 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tinfl_status status = TINFL_STATUS_FAILED; mz_uint32 num_bits, dist, counter, num_extra; tinfl_bit_buf_t bit_buf;
1900 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const mz_uint8 *pIn_buf_cur = pIn_buf_next, *const pIn_buf_end = pIn_buf_next + *pIn_buf_size;
1901 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint8 *pOut_buf_cur = pOut_buf_next, *const pOut_buf_end = pOut_buf_next + *pOut_buf_size;
1902 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- size_t out_buf_size_mask = (decomp_flags & TINFL_FLAG_USING_NON_WRAPPING_OUTPUT_BUF) ? (size_t)-1 : ((pOut_buf_next - pOut_buf_start) + *pOut_buf_size) - 1, dist_from_out_buf_start;
1903 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1904 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // Ensure the output buffer's size is a power of 2, unless the output buffer is large enough to hold the entire output file (in which case it doesn't matter).
1905 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (((out_buf_size_mask + 1) & out_buf_size_mask) || (pOut_buf_next < pOut_buf_start)) { *pIn_buf_size = *pOut_buf_size = 0; return TINFL_STATUS_BAD_PARAM; }
1906 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1907 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- num_bits = r->m_num_bits; bit_buf = r->m_bit_buf; dist = r->m_dist; counter = r->m_counter; num_extra = r->m_num_extra; dist_from_out_buf_start = r->m_dist_from_out_buf_start;
1908 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_CR_BEGIN
1909 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1910 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- bit_buf = num_bits = dist = counter = num_extra = r->m_zhdr0 = r->m_zhdr1 = 0; r->m_z_adler32 = r->m_check_adler32 = 1;
1911 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (decomp_flags & TINFL_FLAG_PARSE_ZLIB_HEADER)
1912 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1913 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_GET_BYTE(1, r->m_zhdr0); TINFL_GET_BYTE(2, r->m_zhdr1);
1914 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- counter = (((r->m_zhdr0 * 256 + r->m_zhdr1) % 31 != 0) || (r->m_zhdr1 & 32) || ((r->m_zhdr0 & 15) != 8));
1915 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!(decomp_flags & TINFL_FLAG_USING_NON_WRAPPING_OUTPUT_BUF)) counter |= (((1U << (8U + (r->m_zhdr0 >> 4))) > 32768U) || ((out_buf_size_mask + 1) < (size_t)(1U << (8U + (r->m_zhdr0 >> 4)))));
1916 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (counter) { TINFL_CR_RETURN_FOREVER(36, TINFL_STATUS_FAILED); }
1917 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1918 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1919 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- do
1920 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1921 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_GET_BITS(3, r->m_final, 3); r->m_type = r->m_final >> 1;
1922 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (r->m_type == 0)
1923 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1924 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_SKIP_BITS(5, num_bits & 7);
1925 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (counter = 0; counter < 4; ++counter) { if (num_bits) TINFL_GET_BITS(6, r->m_raw_header[counter], 8); else TINFL_GET_BYTE(7, r->m_raw_header[counter]); }
1926 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((counter = (r->m_raw_header[0] | (r->m_raw_header[1] << 8))) != (mz_uint)(0xFFFF ^ (r->m_raw_header[2] | (r->m_raw_header[3] << 8)))) { TINFL_CR_RETURN_FOREVER(39, TINFL_STATUS_FAILED); }
1927 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while ((counter) && (num_bits))
1928 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1929 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_GET_BITS(51, dist, 8);
1930 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (pOut_buf_cur >= pOut_buf_end) { TINFL_CR_RETURN(52, TINFL_STATUS_HAS_MORE_OUTPUT); }
1931 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *pOut_buf_cur++ = (mz_uint8)dist;
1932 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- counter--;
1933 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1934 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (counter)
1935 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1936 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- size_t n; while (pOut_buf_cur >= pOut_buf_end) { TINFL_CR_RETURN(9, TINFL_STATUS_HAS_MORE_OUTPUT); }
1937 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (pIn_buf_cur >= pIn_buf_end)
1938 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1939 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (decomp_flags & TINFL_FLAG_HAS_MORE_INPUT)
1940 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1941 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_CR_RETURN(38, TINFL_STATUS_NEEDS_MORE_INPUT);
1942 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1943 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else
1944 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1945 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_CR_RETURN_FOREVER(40, TINFL_STATUS_FAILED);
1946 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1947 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1948 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- n = MZ_MIN(MZ_MIN((size_t)(pOut_buf_end - pOut_buf_cur), (size_t)(pIn_buf_end - pIn_buf_cur)), counter);
1949 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_MEMCPY(pOut_buf_cur, pIn_buf_cur, n); pIn_buf_cur += n; pOut_buf_cur += n; counter -= (mz_uint)n;
1950 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1951 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1952 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else if (r->m_type == 3)
1953 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1954 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_CR_RETURN_FOREVER(10, TINFL_STATUS_FAILED);
1955 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1956 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else
1957 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1958 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (r->m_type == 1)
1959 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1960 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint8 *p = r->m_tables[0].m_code_size; mz_uint i;
1961 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- r->m_table_sizes[0] = 288; r->m_table_sizes[1] = 32; TINFL_MEMSET(r->m_tables[1].m_code_size, 5, 32);
1962 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for ( i = 0; i <= 143; ++i) *p++ = 8; for ( ; i <= 255; ++i) *p++ = 9; for ( ; i <= 279; ++i) *p++ = 7; for ( ; i <= 287; ++i) *p++ = 8;
1963 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1964 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else
1965 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1966 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (counter = 0; counter < 3; counter++) { TINFL_GET_BITS(11, r->m_table_sizes[counter], "\05\05\04"[counter]); r->m_table_sizes[counter] += s_min_table_sizes[counter]; }
1967 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- MZ_CLEAR_OBJ(r->m_tables[2].m_code_size); for (counter = 0; counter < r->m_table_sizes[2]; counter++) { mz_uint s; TINFL_GET_BITS(14, s, 3); r->m_tables[2].m_code_size[s_length_dezigzag[counter]] = (mz_uint8)s; }
1968 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- r->m_table_sizes[2] = 19;
1969 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1970 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for ( ; (int)r->m_type >= 0; r->m_type--)
1971 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1972 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int tree_next, tree_cur; tinfl_huff_table *pTable;
1973 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint i, j, used_syms, total, sym_index, next_code[17], total_syms[16]; pTable = &r->m_tables[r->m_type]; MZ_CLEAR_OBJ(total_syms); MZ_CLEAR_OBJ(pTable->m_look_up); MZ_CLEAR_OBJ(pTable->m_tree);
1974 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = 0; i < r->m_table_sizes[r->m_type]; ++i) total_syms[pTable->m_code_size[i]]++;
1975 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- used_syms = 0, total = 0; next_code[0] = next_code[1] = 0;
1976 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = 1; i <= 15; ++i) { used_syms += total_syms[i]; next_code[i + 1] = (total = ((total + total_syms[i]) << 1)); }
1977 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((65536 != total) && (used_syms > 1))
1978 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1979 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_CR_RETURN_FOREVER(35, TINFL_STATUS_FAILED);
1980 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1981 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (tree_next = -1, sym_index = 0; sym_index < r->m_table_sizes[r->m_type]; ++sym_index)
1982 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1983 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint rev_code = 0, l, cur_code, code_size = pTable->m_code_size[sym_index]; if (!code_size) continue;
1984 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- cur_code = next_code[code_size]++; for (l = code_size; l > 0; l--, cur_code >>= 1) rev_code = (rev_code << 1) | (cur_code & 1);
1985 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (code_size <= TINFL_FAST_LOOKUP_BITS) { mz_int16 k = (mz_int16)((code_size << 9) | sym_index); while (rev_code < TINFL_FAST_LOOKUP_SIZE) { pTable->m_look_up[rev_code] = k; rev_code += (1 << code_size); } continue; }
1986 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (0 == (tree_cur = pTable->m_look_up[rev_code & (TINFL_FAST_LOOKUP_SIZE - 1)])) { pTable->m_look_up[rev_code & (TINFL_FAST_LOOKUP_SIZE - 1)] = (mz_int16)tree_next; tree_cur = tree_next; tree_next -= 2; }
1987 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rev_code >>= (TINFL_FAST_LOOKUP_BITS - 1);
1988 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (j = code_size; j > (TINFL_FAST_LOOKUP_BITS + 1); j--)
1989 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1990 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tree_cur -= ((rev_code >>= 1) & 1);
1991 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!pTable->m_tree[-tree_cur - 1]) { pTable->m_tree[-tree_cur - 1] = (mz_int16)tree_next; tree_cur = tree_next; tree_next -= 2; } else tree_cur = pTable->m_tree[-tree_cur - 1];
1992 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1993 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tree_cur -= ((rev_code >>= 1) & 1); pTable->m_tree[-tree_cur - 1] = (mz_int16)sym_index;
1994 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1995 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (r->m_type == 2)
1996 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1997 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (counter = 0; counter < (r->m_table_sizes[0] + r->m_table_sizes[1]); )
1998 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
1999 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint s; TINFL_HUFF_DECODE(16, dist, &r->m_tables[2]); if (dist < 16) { r->m_len_codes[counter++] = (mz_uint8)dist; continue; }
2000 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((dist == 16) && (!counter))
2001 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
2002 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_CR_RETURN_FOREVER(17, TINFL_STATUS_FAILED);
2003 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2004 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- num_extra = "\02\03\07"[dist - 16]; TINFL_GET_BITS(18, s, num_extra); s += "\03\03\013"[dist - 16];
2005 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_MEMSET(r->m_len_codes + counter, (dist == 16) ? r->m_len_codes[counter - 1] : 0, s); counter += s;
2006 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2007 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((r->m_table_sizes[0] + r->m_table_sizes[1]) != counter)
2008 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
2009 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_CR_RETURN_FOREVER(21, TINFL_STATUS_FAILED);
2010 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2011 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_MEMCPY(r->m_tables[0].m_code_size, r->m_len_codes, r->m_table_sizes[0]); TINFL_MEMCPY(r->m_tables[1].m_code_size, r->m_len_codes + r->m_table_sizes[0], r->m_table_sizes[1]);
2012 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2013 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2014 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for ( ; ; )
2015 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
2016 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint8 *pSrc;
2017 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for ( ; ; )
2018 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
2019 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (((pIn_buf_end - pIn_buf_cur) < 4) || ((pOut_buf_end - pOut_buf_cur) < 2))
2020 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
2021 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_HUFF_DECODE(23, counter, &r->m_tables[0]);
2022 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (counter >= 256)
2023 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- break;
2024 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (pOut_buf_cur >= pOut_buf_end) { TINFL_CR_RETURN(24, TINFL_STATUS_HAS_MORE_OUTPUT); }
2025 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *pOut_buf_cur++ = (mz_uint8)counter;
2026 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2027 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else
2028 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
2029 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int sym2; mz_uint code_len;
2030 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #if TINFL_USE_64BIT_BITBUF
2031 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (num_bits < 30) { bit_buf |= (((tinfl_bit_buf_t)MZ_READ_LE32(pIn_buf_cur)) << num_bits); pIn_buf_cur += 4; num_bits += 32; }
2032 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #else
2033 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (num_bits < 15) { bit_buf |= (((tinfl_bit_buf_t)MZ_READ_LE16(pIn_buf_cur)) << num_bits); pIn_buf_cur += 2; num_bits += 16; }
2034 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #endif
2035 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((sym2 = r->m_tables[0].m_look_up[bit_buf & (TINFL_FAST_LOOKUP_SIZE - 1)]) >= 0)
2036 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- code_len = sym2 >> 9;
2037 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else
2038 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
2039 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- code_len = TINFL_FAST_LOOKUP_BITS; do { sym2 = r->m_tables[0].m_tree[~sym2 + ((bit_buf >> code_len++) & 1)]; } while (sym2 < 0);
2040 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2041 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- counter = sym2; bit_buf >>= code_len; num_bits -= code_len;
2042 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (counter & 256)
2043 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- break;
2044 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
2045 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #if !TINFL_USE_64BIT_BITBUF
2046 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (num_bits < 15) { bit_buf |= (((tinfl_bit_buf_t)MZ_READ_LE16(pIn_buf_cur)) << num_bits); pIn_buf_cur += 2; num_bits += 16; }
2047 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #endif
2048 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((sym2 = r->m_tables[0].m_look_up[bit_buf & (TINFL_FAST_LOOKUP_SIZE - 1)]) >= 0)
2049 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- code_len = sym2 >> 9;
2050 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else
2051 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
2052 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- code_len = TINFL_FAST_LOOKUP_BITS; do { sym2 = r->m_tables[0].m_tree[~sym2 + ((bit_buf >> code_len++) & 1)]; } while (sym2 < 0);
2053 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2054 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- bit_buf >>= code_len; num_bits -= code_len;
2055 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
2056 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur[0] = (mz_uint8)counter;
2057 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (sym2 & 256)
2058 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
2059 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur++;
2060 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- counter = sym2;
2061 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- break;
2062 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2063 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur[1] = (mz_uint8)sym2;
2064 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur += 2;
2065 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2066 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2067 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((counter &= 511) == 256) break;
2068 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
2069 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- num_extra = s_length_extra[counter - 257]; counter = s_length_base[counter - 257];
2070 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (num_extra) { mz_uint extra_bits; TINFL_GET_BITS(25, extra_bits, num_extra); counter += extra_bits; }
2071 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
2072 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_HUFF_DECODE(26, dist, &r->m_tables[1]);
2073 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- num_extra = s_dist_extra[dist]; dist = s_dist_base[dist];
2074 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (num_extra) { mz_uint extra_bits; TINFL_GET_BITS(27, extra_bits, num_extra); dist += extra_bits; }
2075 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
2076 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- dist_from_out_buf_start = pOut_buf_cur - pOut_buf_start;
2077 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((dist > dist_from_out_buf_start) && (decomp_flags & TINFL_FLAG_USING_NON_WRAPPING_OUTPUT_BUF))
2078 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
2079 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_CR_RETURN_FOREVER(37, TINFL_STATUS_FAILED);
2080 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2081 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
2082 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pSrc = pOut_buf_start + ((dist_from_out_buf_start - dist) & out_buf_size_mask);
2083 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
2084 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((MZ_MAX(pOut_buf_cur, pSrc) + counter) > pOut_buf_end)
2085 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
2086 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (counter--)
2087 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
2088 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (pOut_buf_cur >= pOut_buf_end) { TINFL_CR_RETURN(53, TINFL_STATUS_HAS_MORE_OUTPUT); }
2089 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *pOut_buf_cur++ = pOut_buf_start[(dist_from_out_buf_start++ - dist) & out_buf_size_mask];
2090 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2091 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- continue;
2092 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2093 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #if MINIZ_USE_UNALIGNED_LOADS_AND_STORES
2094 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else if ((counter >= 9) && (counter <= dist))
2095 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
2096 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const mz_uint8 *pSrc_end = pSrc + (counter & ~7);
2097 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- do
2098 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
2099 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ((mz_uint32 *)pOut_buf_cur)[0] = ((const mz_uint32 *)pSrc)[0];
2100 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ((mz_uint32 *)pOut_buf_cur)[1] = ((const mz_uint32 *)pSrc)[1];
2101 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur += 8;
2102 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } while ((pSrc += 8) < pSrc_end);
2103 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((counter &= 7) < 3)
2104 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
2105 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (counter)
2106 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
2107 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur[0] = pSrc[0];
2108 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (counter > 1)
2109 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur[1] = pSrc[1];
2110 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur += counter;
2111 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2112 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- continue;
2113 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2114 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2115 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #endif
2116 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- do
2117 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
2118 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur[0] = pSrc[0];
2119 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur[1] = pSrc[1];
2120 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur[2] = pSrc[2];
2121 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur += 3; pSrc += 3;
2122 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } while ((int)(counter -= 3) > 2);
2123 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((int)counter > 0)
2124 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
2125 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur[0] = pSrc[0];
2126 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((int)counter > 1)
2127 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur[1] = pSrc[1];
2128 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pOut_buf_cur += counter;
2129 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2130 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2131 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2132 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } while (!(r->m_final & 1));
2133 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (decomp_flags & TINFL_FLAG_PARSE_ZLIB_HEADER)
2134 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
2135 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_SKIP_BITS(32, num_bits & 7); for (counter = 0; counter < 4; ++counter) { mz_uint s; if (num_bits) TINFL_GET_BITS(41, s, 8); else TINFL_GET_BYTE(42, s); r->m_z_adler32 = (r->m_z_adler32 << 8) | s; }
2136 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2137 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_CR_RETURN_FOREVER(34, TINFL_STATUS_DONE);
2138 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- TINFL_CR_FINISH
2139 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
2140 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- common_exit:
2141 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- r->m_num_bits = num_bits; r->m_bit_buf = bit_buf; r->m_dist = dist; r->m_counter = counter; r->m_num_extra = num_extra; r->m_dist_from_out_buf_start = dist_from_out_buf_start;
2142 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *pIn_buf_size = pIn_buf_cur - pIn_buf_next; *pOut_buf_size = pOut_buf_cur - pOut_buf_next;
2143 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((decomp_flags & (TINFL_FLAG_PARSE_ZLIB_HEADER | TINFL_FLAG_COMPUTE_ADLER32)) && (status >= 0))
2144 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
2145 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const mz_uint8 *ptr = pOut_buf_next; size_t buf_len = *pOut_buf_size;
2146 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint32 i, s1 = r->m_check_adler32 & 0xffff, s2 = r->m_check_adler32 >> 16; size_t block_len = buf_len % 5552;
2147 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (buf_len)
2148 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
2149 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (i = 0; i + 7 < block_len; i += 8, ptr += 8)
2150 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
2151 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- s1 += ptr[0], s2 += s1; s1 += ptr[1], s2 += s1; s1 += ptr[2], s2 += s1; s1 += ptr[3], s2 += s1;
2152 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- s1 += ptr[4], s2 += s1; s1 += ptr[5], s2 += s1; s1 += ptr[6], s2 += s1; s1 += ptr[7], s2 += s1;
2153 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2154 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for ( ; i < block_len; ++i) s1 += *ptr++, s2 += s1;
2155 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- s1 %= 65521U, s2 %= 65521U; buf_len -= block_len; block_len = 5552;
2156 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2157 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- r->m_check_adler32 = (s2 << 16) + s1; if ((status == TINFL_STATUS_DONE) && (decomp_flags & TINFL_FLAG_PARSE_ZLIB_HEADER) && (r->m_check_adler32 != r->m_z_adler32)) status = TINFL_STATUS_ADLER32_MISMATCH;
2158 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2159 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return status;
2160 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2161 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
2162 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // Higher level helper functions.
2163 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- void *tinfl_decompress_mem_to_heap(const void *pSrc_buf, size_t src_buf_len, size_t *pOut_len, int flags)
2164 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
2165 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tinfl_decompressor decomp; void *pBuf = NULL, *pNew_buf; size_t src_buf_ofs = 0, out_buf_capacity = 0;
2166 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *pOut_len = 0;
2167 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tinfl_init(&decomp);
2168 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for ( ; ; )
2169 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
2170 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- size_t src_buf_size = src_buf_len - src_buf_ofs, dst_buf_size = out_buf_capacity - *pOut_len, new_out_buf_capacity;
2171 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tinfl_status status = tinfl_decompress(&decomp, (const mz_uint8*)pSrc_buf + src_buf_ofs, &src_buf_size, (mz_uint8*)pBuf, pBuf ? (mz_uint8*)pBuf + *pOut_len : NULL, &dst_buf_size,
2172 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- (flags & ~TINFL_FLAG_HAS_MORE_INPUT) | TINFL_FLAG_USING_NON_WRAPPING_OUTPUT_BUF);
2173 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((status < 0) || (status == TINFL_STATUS_NEEDS_MORE_INPUT))
2174 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
2175 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- MZ_FREE(pBuf); *pOut_len = 0; return NULL;
2176 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2177 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- src_buf_ofs += src_buf_size;
2178 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *pOut_len += dst_buf_size;
2179 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (status == TINFL_STATUS_DONE) break;
2180 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- new_out_buf_capacity = out_buf_capacity * 2; if (new_out_buf_capacity < 128) new_out_buf_capacity = 128;
2181 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pNew_buf = MZ_REALLOC(pBuf, new_out_buf_capacity);
2182 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!pNew_buf)
2183 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
2184 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- MZ_FREE(pBuf); *pOut_len = 0; return NULL;
2185 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2186 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pBuf = pNew_buf; out_buf_capacity = new_out_buf_capacity;
2187 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2188 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return pBuf;
2189 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2190 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
2191 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- size_t tinfl_decompress_mem_to_mem(void *pOut_buf, size_t out_buf_len, const void *pSrc_buf, size_t src_buf_len, int flags)
2192 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
2193 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tinfl_decompressor decomp; tinfl_status status; tinfl_init(&decomp);
2194 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- status = tinfl_decompress(&decomp, (const mz_uint8*)pSrc_buf, &src_buf_len, (mz_uint8*)pOut_buf, (mz_uint8*)pOut_buf, &out_buf_len, (flags & ~TINFL_FLAG_HAS_MORE_INPUT) | TINFL_FLAG_USING_NON_WRAPPING_OUTPUT_BUF);
2195 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return (status != TINFL_STATUS_DONE) ? TINFL_DECOMPRESS_MEM_TO_MEM_FAILED : out_buf_len;
2196 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2197 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
2198 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int tinfl_decompress_mem_to_callback(const void *pIn_buf, size_t *pIn_buf_size, tinfl_put_buf_func_ptr pPut_buf_func, void *pPut_buf_user, int flags)
2199 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
2200 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int result = 0;
2201 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tinfl_decompressor decomp;
2202 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- mz_uint8 *pDict = (mz_uint8*)MZ_MALLOC(TINFL_LZ_DICT_SIZE); size_t in_buf_ofs = 0, dict_ofs = 0;
2203 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!pDict)
2204 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return TINFL_STATUS_FAILED;
2205 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tinfl_init(&decomp);
2206 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for ( ; ; )
2207 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
2208 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- size_t in_buf_size = *pIn_buf_size - in_buf_ofs, dst_buf_size = TINFL_LZ_DICT_SIZE - dict_ofs;
2209 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tinfl_status status = tinfl_decompress(&decomp, (const mz_uint8*)pIn_buf + in_buf_ofs, &in_buf_size, pDict, pDict + dict_ofs, &dst_buf_size,
2210 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- (flags & ~(TINFL_FLAG_HAS_MORE_INPUT | TINFL_FLAG_USING_NON_WRAPPING_OUTPUT_BUF)));
2211 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- in_buf_ofs += in_buf_size;
2212 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((dst_buf_size) && (!(*pPut_buf_func)(pDict + dict_ofs, (int)dst_buf_size, pPut_buf_user)))
2213 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- break;
2214 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (status != TINFL_STATUS_HAS_MORE_OUTPUT)
2215 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
2216 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- result = (status == TINFL_STATUS_DONE);
2217 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- break;
2218 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2219 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- dict_ofs = (dict_ofs + dst_buf_size) & (TINFL_LZ_DICT_SIZE - 1);
2220 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2221 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- MZ_FREE(pDict);
2222 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *pIn_buf_size = in_buf_ofs;
2223 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return result;
2224 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2225 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
2226 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // ------------------- Low-level Compression (independent from all decompression API's)
2227 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
2228 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // Purposely making these tables static for faster init and thread safety.
2229 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static const mz_uint16 s_tdefl_len_sym[256] = {
2230 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 257,258,259,260,261,262,263,264,265,265,266,266,267,267,268,268,269,269,269,269,270,270,270,270,271,271,271,271,272,272,272,272,
2231 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 273,273,273,273,273,273,273,273,274,274,274,274,274,274,274,274,275,275,275,275,275,275,275,275,276,276,276,276,276,276,276,276,
2232 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 277,277,277,277,277,277,277,277,277,277,277,277,277,277,277,277,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,
2233 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 279,279,279,279,279,279,279,279,279,279,279,279,279,279,279,279,280,280,280,280,280,280,280,280,280,280,280,280,280,280,280,280,
2234 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,281,
2235 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,
2236 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,283,
2237 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,285 };
2238 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
2239 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static const mz_uint8 s_tdefl_len_extra[256] = {
2240 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
2241 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
2242 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
2243 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0 };
2244 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
2245 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static const mz_uint8 s_tdefl_small_dist_sym[512] = {
2246 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 0,1,2,3,4,4,5,5,6,6,6,6,7,7,7,7,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,
2247 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,
2248 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,14,14,14,14,14,14,14,14,14,14,14,14,
2249 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,
2250 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 14,14,14,14,14,14,14,14,14,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,
2251 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,16,16,16