From 974fab40a50dee3f4b1b173ba81763449d13b3b9 Mon Sep 17 00:00:00 2001 From: Alexander Suvorov Date: Thu, 4 May 2017 18:41:24 +0200 Subject: [PATCH] Switch from the chunk encoding concept to the reference encoding concept This change improves the compression ratio. Explanation: In the original version of Crunch all the blocks are grouped into chunks of 2x2 blocks. Each chunk can have one of 8 different types. The type of the chunk determines which blocks inside the chunk share the same endpoints (for example, all the blocks inside the chunk share the same endpoints, or blocks in the right column share the same endpoints, or all the blocks have different endpoints, etc.). Encoding of endpoints equality is usually cheaper than encoding of duplicate endpoint indices. The used 8 chunk types do not cover all the possibilities, but they can be efficiently encoded using 0.75 bits per block (uncompressed). The modified algorithm no longer uses the concept of chunks in the output file format and is based on an alternative approach. Endpoints for each block can be either copied from the left nearest block (reference to the left), copied from the upper nearest block (reference to the top), or decoded from the stream (reference to itself). Note that this is a superset of the original encoding, so all the images previously encoded with the original algorithm can be losslessly transcoded into the new format, but not vice versa. Even though the new endpoint equality encoding is more expensive (about 1.58 bits per block, uncompressed), it provides more flexibility for endpoint matching inside the former "chunks", and more importantly, it allows to inherit endpoints from outside the former "chunks" (which is not possible when using the original chunk encoding). The blocks are no longer grouped together and are encoded in the same order as they appear on the image. Note: This modification alters the output file format and makes it incompatible with the previous revisions. Testing: The modified algorithm has been tested on the Kodak test set using 64-bit build with default settings (running on Windows 10, i7-4790, 3.6GHz). All the decompressed test images are identical to the images being compressed and decompressed using original version of Crunch. [Compressing Kodak set without mipmaps] Original: 1582222 bytes / 28.903 sec Modified: 1548791 bytes / 28.818 sec Improvement: 2.11% (compression ratio) / 0.29% (compression time) [Compressing Kodak set with mipmaps] Original: 2065243 bytes / 36.978 sec Modified: 2017245 bytes / 36.846 sec Improvement: 2.32% (compression ratio) / 0.36% (compression time) --- bin/crunch_x64.exe | Bin 1004032 -> 1000960 bytes crnlib/crn_comp.cpp | 276 +++++++------------ crnlib/crn_comp.h | 12 +- inc/crn_decomp.h | 654 +++++++++++++++----------------------------- 4 files changed, 326 insertions(+), 616 deletions(-) diff --git a/bin/crunch_x64.exe b/bin/crunch_x64.exe index 95e58a6322544b82d0096c8eafb3bab0e871dbb4..3a1d02b6d4326d51c5d3f80019b8d1df3de16d0d 100644 GIT binary patch delta 222209 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

kG4kVxy1&=rIwBiH{bk?(NG(l?-qYX+@SNF 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 WHx`cjyyaiV_vu=AbbhM^ef}3yg&F+- delta 224848 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%0DsXo^y10 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%0Dk=ld! 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 diff --git a/crnlib/crn_comp.cpp b/crnlib/crn_comp.cpp index f305ec1..0f73d67 100644 --- a/crnlib/crn_comp.cpp +++ b/crnlib/crn_comp.cpp @@ -635,15 +635,19 @@ bool crn_comp::pack_selectors( } bool crn_comp::pack_chunks( - uint first_chunk, uint num_chunks, + uint group, bool clear_histograms, symbol_codec* pCodec, const crnlib::vector* pColor_endpoint_remap, const crnlib::vector* pColor_selector_remap, const crnlib::vector* pAlpha_endpoint_remap, const crnlib::vector* pAlpha_selector_remap) { + uint first_chunk = m_mip_groups[group].m_first_chunk; + uint num_chunks = m_mip_groups[group].m_num_chunks; + uint chunk_width = m_mip_groups[group].m_chunk_width; + if (!pCodec) { - m_chunk_encoding_hist.resize(1 << (3 * cEncodingMapNumChunksPerCode)); + m_chunk_encoding_hist.resize(256); if (clear_histograms) m_chunk_encoding_hist.set_all(0); @@ -676,137 +680,60 @@ bool crn_comp::pack_chunks( } } - uint endpoint_index[cNumComps][2][2] = {}; - uint selector_index[cNumComps][2][2] = {}; - - uint num_encodings_left = 0; - - for (uint chunk_index = first_chunk; chunk_index < (first_chunk + num_chunks); chunk_index++) { - if (!num_encodings_left) { - uint index = 0; - for (uint i = 0; i < cEncodingMapNumChunksPerCode; i++) - if ((chunk_index + i) < (first_chunk + num_chunks)) - index |= (m_hvq.get_chunk_encoding(chunk_index + i).m_encoding_index << (i * 3)); - - if (pCodec) - pCodec->encode(index, m_chunk_encoding_dm); - else - m_chunk_encoding_hist.inc_freq(index); - - num_encodings_left = cEncodingMapNumChunksPerCode; + uint selector_index[cNumComps] = {}; + uint endpoint_index[cNumComps] = {}; + const crnlib::vector* endpoint_remap[cNumComps] = {}; + const crnlib::vector* selector_remap[cNumComps] = {}; + for (uint c = 0; c < cNumComps; c++) { + if (m_has_comp[c]) { + endpoint_remap[c] = c ? pAlpha_endpoint_remap : pColor_endpoint_remap; + selector_remap[c] = c ? pAlpha_selector_remap : pColor_selector_remap; } - num_encodings_left--; + } - const dxt_hc::chunk_encoding& encoding = m_hvq.get_chunk_encoding(chunk_index); - const chunk_detail& details = m_chunk_details[chunk_index]; - - const uint comp_order[3] = {cAlpha0, cAlpha1, cColor}; - for (uint c = 0; c < 3; c++) { - const uint comp_index = comp_order[c]; - if (!m_has_comp[comp_index]) - continue; - - // endpoints - if (comp_index == cColor) { - if (pColor_endpoint_remap) { - for (uint y = 0; y < 2; y++) { - for (uint x = 0; x < 2; x++) { - uint8 endpoint_reference = details.m_endpoint_references[comp_index][y][x]; - if (!endpoint_reference) { - endpoint_index[comp_index][y][x] = (*pColor_endpoint_remap)[details.m_endpoint_indices[comp_index][y][x]]; - int endpoint_delta = endpoint_index[comp_index][y][x] - endpoint_index[comp_index][y][x ^ 1]; - - int sym = endpoint_delta; + for (uint chunk_base = first_chunk; chunk_base < first_chunk + num_chunks; chunk_base += chunk_width) { + for (uint by = 0; by < 2; by++) { + for (uint cx = 0; cx < chunk_width; cx++) { + const chunk_detail& details = m_chunk_details[chunk_base + cx]; + if (!by) { + if (pCodec) + pCodec->encode(details.m_reference_group, m_reference_encoding_dm); + else + m_chunk_encoding_hist.inc_freq(details.m_reference_group); + } + for (uint bx = 0; bx < 2; bx++) { + for (uint c = 0; c < cNumComps; c++) { + if (endpoint_remap[c]) { + uint index = (*endpoint_remap[c])[details.m_endpoint_indices[by][bx][c]]; + if (!details.m_endpoint_references[by][bx]) { + int sym = index - endpoint_index[c]; if (sym < 0) - sym += pColor_endpoint_remap->size(); - - CRNLIB_ASSERT(sym >= 0 && sym < (int)pColor_endpoint_remap->size()); - + sym += endpoint_remap[c]->size(); if (!pCodec) - m_endpoint_index_hist[0].inc_freq(sym); + m_endpoint_index_hist[c ? 1 : 0].inc_freq(sym); else - pCodec->encode(sym, m_endpoint_index_dm[0]); - } else { - endpoint_index[comp_index][y][x] = endpoint_reference == 1 ? endpoint_index[comp_index][y][x ^ 1] : endpoint_index[comp_index][y ^ 1][x]; + pCodec->encode(sym, m_endpoint_index_dm[c ? 1 : 0]); } + endpoint_index[c] = index; } } - } - } else { - if (pAlpha_endpoint_remap) { - for (uint y = 0; y < 2; y++) { - for (uint x = 0; x < 2; x++) { - uint8 endpoint_reference = details.m_endpoint_references[comp_index][y][x]; - if (!endpoint_reference) { - endpoint_index[comp_index][y][x] = (*pAlpha_endpoint_remap)[details.m_endpoint_indices[comp_index][y][x]]; - int endpoint_delta = endpoint_index[comp_index][y][x] - endpoint_index[comp_index][y][x ^ 1]; - - int sym = endpoint_delta; - if (sym < 0) - sym += pAlpha_endpoint_remap->size(); - - CRNLIB_ASSERT(sym >= 0 && sym < (int)pAlpha_endpoint_remap->size()); - - if (!pCodec) - m_endpoint_index_hist[1].inc_freq(sym); - else - pCodec->encode(sym, m_endpoint_index_dm[1]); - } else { - endpoint_index[comp_index][y][x] = endpoint_reference == 1 ? endpoint_index[comp_index][y][x ^ 1] : endpoint_index[comp_index][y ^ 1][x]; - } + for (uint c = 0; c < cNumComps; c++) { + if (selector_remap[c]) { + uint index = (*selector_remap[c])[details.m_selector_indices[by][bx][c]]; + int sym = index - selector_index[c]; + if (sym < 0) + sym += selector_remap[c]->size(); + if (!pCodec) + m_selector_index_hist[c ? 1 : 0].inc_freq(sym); + else + pCodec->encode(sym, m_selector_index_dm[c ? 1 : 0]); + selector_index[c] = index; } } } } - } // c - - // selectors - for (uint y = 0; y < 2; y++) { - for (uint x = 0; x < 2; x++) { - for (uint c = 0; c < 3; c++) { - const uint comp_index = comp_order[c]; - if (!m_has_comp[comp_index]) - continue; - - if (comp_index == cColor) { - if (pColor_selector_remap) { - selector_index[comp_index][y][x] = (*pColor_selector_remap)[details.m_selector_indices[comp_index][y][x]]; - int selector_delta = selector_index[comp_index][y][x] - selector_index[comp_index][y][x ^ 1]; - - int sym = selector_delta; - if (sym < 0) - sym += pColor_selector_remap->size(); - - CRNLIB_ASSERT(sym >= 0 && sym < (int)pColor_selector_remap->size()); - - if (!pCodec) - m_selector_index_hist[cColor].inc_freq(sym); - else - pCodec->encode(sym, m_selector_index_dm[cColor]); - } - } else if (pAlpha_selector_remap) { - selector_index[comp_index][y][x] = (*pAlpha_selector_remap)[details.m_selector_indices[comp_index][y][x]]; - int selector_delta = selector_index[comp_index][y][x] - selector_index[comp_index][y][x ^ 1]; - - int sym = selector_delta; - if (sym < 0) - sym += pAlpha_selector_remap->size(); - - CRNLIB_ASSERT(sym >= 0 && sym < (int)pAlpha_selector_remap->size()); - - if (!pCodec) - m_selector_index_hist[1].inc_freq(sym); - else - pCodec->encode(sym, m_selector_index_dm[1]); - } - - } // c - - } // x - } // y - - } // chunk_index - + } + } return true; } @@ -817,14 +744,16 @@ bool crn_comp::pack_chunks_simulation( const crnlib::vector* pColor_selector_remap, const crnlib::vector* pAlpha_endpoint_remap, const crnlib::vector* pAlpha_selector_remap) { - if (!pack_chunks(first_chunk, num_chunks, true, NULL, pColor_endpoint_remap, pColor_selector_remap, pAlpha_endpoint_remap, pAlpha_selector_remap)) - return false; + for (uint group = 0; group < m_mip_groups.size(); group++) { + if (!pack_chunks(group, !group, NULL, pColor_endpoint_remap, pColor_selector_remap, pAlpha_endpoint_remap, pAlpha_selector_remap)) + return false; + } symbol_codec codec; codec.start_encoding(2 * 1024 * 1024); codec.encode_enable_simulation(true); - m_chunk_encoding_dm.init(true, m_chunk_encoding_hist, 16); + m_reference_encoding_dm.init(true, m_chunk_encoding_hist, 16); for (uint i = 0; i < 2; i++) { if (m_endpoint_index_hist[i].size()) { @@ -840,8 +769,10 @@ bool crn_comp::pack_chunks_simulation( } } - if (!pack_chunks(first_chunk, num_chunks, false, &codec, pColor_endpoint_remap, pColor_selector_remap, pAlpha_endpoint_remap, pAlpha_selector_remap)) - return false; + for (uint group = 0; group < m_mip_groups.size(); group++) { + if (!pack_chunks(group, false, &codec, pColor_endpoint_remap, pColor_selector_remap, pAlpha_endpoint_remap, pAlpha_selector_remap)) + return false; + } codec.stop_encoding(false); @@ -941,6 +872,7 @@ bool crn_comp::alias_images() { mip_group_chunk_index = 0; m_mip_groups[mip_group].m_num_chunks += num_chunks; + m_mip_groups[mip_group].m_chunk_width = chunk_width; m_levels[level_index].m_width = width; m_levels[level_index].m_height = height; @@ -1031,7 +963,7 @@ void crn_comp::clear() { m_hvq.clear(); m_chunk_encoding_hist.clear(); - m_chunk_encoding_dm.clear(); + m_reference_encoding_dm.clear(); for (uint i = 0; i < 2; i++) { m_endpoint_index_hist[i].clear(); m_endpoint_index_dm[i].clear(); @@ -1209,30 +1141,34 @@ void crn_comp::create_chunk_indices() { { 0, 1, 2, 3 }, }; - uint8 endpoint_references[8][4] = { - { 0, 1, 2, 1 }, - { 0, 1, 0, 1 }, - { 0, 0, 2, 2 }, - { 0, 1, 0, 0 }, - { 0, 0, 0, 1 }, - { 0, 0, 2, 0 }, - { 0, 0, 0, 2 }, - { 0, 0, 0, 0 }, - }; - m_chunk_details.resize(m_total_chunks); - for (uint chunk_index = 0; chunk_index < m_total_chunks; chunk_index++) { - const dxt_hc::chunk_encoding& chunk_encoding = m_hvq.get_chunk_encoding(chunk_index); - - for (uint i = 0; i < cNumComps; i++) { - if (!m_has_comp[i]) - continue; - for (uint t = 0, y = 0; y < cChunkBlockHeight; y++) { - for (uint x = 0; x < cChunkBlockWidth; x++, t++) { - m_chunk_details[chunk_index].m_selector_indices[i][y][x] = chunk_encoding.m_selector_indices[i][y][x]; - m_chunk_details[chunk_index].m_endpoint_indices[i][y][x] = chunk_encoding.m_endpoint_indices[i][endpoint_index_map[chunk_encoding.m_encoding_index][t]]; - m_chunk_details[chunk_index].m_endpoint_references[i][y][x] = endpoint_references[chunk_encoding.m_encoding_index][t]; + for (uint group = 0; group < m_mip_groups.size(); group++) { + uint chunk_width = m_mip_groups[group].m_chunk_width; + for (uint i = 0; i < m_mip_groups[group].m_num_chunks;) { + for (uint cx = 0; cx < chunk_width; cx++, i++) { + uint chunk_index = m_mip_groups[group].m_first_chunk + i, left_chunk_index = 0, top_chunk_index = 0; + const dxt_hc::chunk_encoding& chunk_encoding = m_hvq.get_chunk_encoding(chunk_index); + for (uint t = 0, by = 0; by < 2; by++) { + for (uint bx = 0; bx < 2; bx++, t++) { + bool left_match = bx || cx; + if (left_match) + left_chunk_index = bx ? chunk_index : chunk_index - 1; + bool top_match = by || i >= chunk_width; + if (top_match) + top_chunk_index = by ? chunk_index : chunk_index - chunk_width; + for (uint c = 0; c < cNumComps; c++) { + if (m_has_comp[c]) { + m_chunk_details[chunk_index].m_endpoint_indices[by][bx][c] = chunk_encoding.m_endpoint_indices[c][endpoint_index_map[chunk_encoding.m_encoding_index][t]]; + left_match = left_match && m_chunk_details[chunk_index].m_endpoint_indices[by][bx][c] == m_chunk_details[left_chunk_index].m_endpoint_indices[by][bx ^ 1][c]; + top_match = top_match && m_chunk_details[chunk_index].m_endpoint_indices[by][bx][c] == m_chunk_details[top_chunk_index].m_endpoint_indices[by ^ 1][bx][c]; + m_chunk_details[chunk_index].m_selector_indices[by][bx][c] = chunk_encoding.m_selector_indices[c][by][bx]; + } + } + uint8 endpoint_reference = left_match ? 1 : top_match ? 2 : 0; + m_chunk_details[chunk_index].m_endpoint_references[by][bx] = endpoint_reference; + m_chunk_details[chunk_index].m_reference_group |= endpoint_reference << (bx << 2 | by << 1); + } } } } @@ -1297,13 +1233,10 @@ bool crn_comp::optimize_color_endpoint_codebook(crnlib::vector& remapping) const chunk_detail& details = m_chunk_details[chunk_index]; for (uint y = 0; y < 2; y++) { for (uint x = 0; x < 2; x++) { - uint8 endpoint_reference = details.m_endpoint_references[cColor][y][x]; - if (!endpoint_reference) { - endpoint_index[y][x] = details.m_endpoint_indices[cColor][y][x]; + endpoint_index[y][x] = details.m_endpoint_indices[y][x][cColor]; + if (!details.m_endpoint_references[y][x]) { update_hist(xhist, endpoint_index[y][x], endpoint_index[y][x ^ 1], n); update_hist(xhist, endpoint_index[y][x ^ 1], endpoint_index[y][x], n); - } else { - endpoint_index[y][x] = endpoint_reference == 1 ? endpoint_index[y][x ^ 1] : endpoint_index[y ^ 1][x]; } } } @@ -1425,7 +1358,7 @@ bool crn_comp::optimize_color_selector_codebook(crnlib::vector& remapping) const chunk_detail& details = m_chunk_details[chunk_index]; for (uint y = 0; y < 2; y++) { for (uint x = 0; x < 2; x++) { - selector_index[y][x] = details.m_selector_indices[cColor][y][x]; + selector_index[y][x] = details.m_selector_indices[y][x][cColor]; update_hist(xhist, selector_index[y][x], selector_index[y][x ^ 1], n); update_hist(xhist, selector_index[y][x ^ 1], selector_index[y][x], n); } @@ -1542,20 +1475,17 @@ bool crn_comp::optimize_alpha_endpoint_codebook(crnlib::vector& remapping) uint n = m_hvq.get_alpha_endpoint_codebook_size(); hist_type xhist(n * n); - uint endpoint_index[cNumComps][2][2] = {}; + uint endpoint_index[2][2][cNumComps] = {}; uint min_comp_index = m_has_comp[cAlpha0] ? cAlpha0 : cAlpha1, max_comp_index = m_has_comp[cAlpha1] ? cAlpha1 : cAlpha0; for (uint chunk_index = 0; chunk_index < m_chunks.size(); chunk_index++) { const chunk_detail& details = m_chunk_details[chunk_index]; - for (uint comp_index = min_comp_index; comp_index <= max_comp_index; comp_index++) { - for (uint y = 0; y < 2; y++) { - for (uint x = 0; x < 2; x++) { - uint8 endpoint_reference = details.m_endpoint_references[comp_index][y][x]; - if (!endpoint_reference) { - endpoint_index[comp_index][y][x] = details.m_endpoint_indices[comp_index][y][x]; - update_hist(xhist, endpoint_index[comp_index][y][x], endpoint_index[comp_index][y][x ^ 1], n); - update_hist(xhist, endpoint_index[comp_index][y][x ^ 1], endpoint_index[comp_index][y][x], n); - } else { - endpoint_index[comp_index][y][x] = endpoint_reference == 1 ? endpoint_index[comp_index][y][x ^ 1] : endpoint_index[comp_index][y ^ 1][x]; + for (uint y = 0; y < 2; y++) { + for (uint x = 0; x < 2; x++) { + for (uint comp_index = min_comp_index; comp_index <= max_comp_index; comp_index++) { + endpoint_index[y][x][comp_index] = details.m_endpoint_indices[y][x][comp_index]; + if (!details.m_endpoint_references[y][x]) { + update_hist(xhist, endpoint_index[y][x][comp_index], endpoint_index[y][x ^ 1][comp_index], n); + update_hist(xhist, endpoint_index[y][x ^ 1][comp_index], endpoint_index[y][x][comp_index], n); } } } @@ -1678,7 +1608,7 @@ bool crn_comp::optimize_alpha_selector_codebook(crnlib::vector& remapping) for (uint comp_index = min_comp_index; comp_index <= max_comp_index; comp_index++) { for (uint y = 0; y < 2; y++) { for (uint x = 0; x < 2; x++) { - selector_index[comp_index][y][x] = details.m_selector_indices[comp_index][y][x]; + selector_index[comp_index][y][x] = details.m_selector_indices[y][x][comp_index]; update_hist(xhist, selector_index[comp_index][y][x], selector_index[comp_index][y][x ^ 1], n); update_hist(xhist, selector_index[comp_index][y][x ^ 1], selector_index[comp_index][y][x], n); } @@ -1749,7 +1679,7 @@ bool crn_comp::pack_data_models() { symbol_codec codec; codec.start_encoding(1024 * 1024); - if (!codec.encode_transmit_static_huffman_data_model(m_chunk_encoding_dm, false)) + if (!codec.encode_transmit_static_huffman_data_model(m_reference_encoding_dm, false)) return false; for (uint i = 0; i < 2; i++) { @@ -1901,10 +1831,10 @@ bool crn_comp::compress_internal() { codec.start_encoding(2 * 1024 * 1024); if (!pack_chunks( - m_mip_groups[mip_group].m_first_chunk, m_mip_groups[mip_group].m_num_chunks, - !pass && !mip_group, pass ? &codec : NULL, - m_has_comp[cColor] ? &endpoint_remap[0] : NULL, m_has_comp[cColor] ? &selector_remap[0] : NULL, - m_has_comp[cAlpha0] ? &endpoint_remap[1] : NULL, m_has_comp[cAlpha0] ? &selector_remap[1] : NULL)) { + mip_group, + !pass && !mip_group, pass ? &codec : NULL, + m_has_comp[cColor] ? &endpoint_remap[0] : NULL, m_has_comp[cColor] ? &selector_remap[0] : NULL, + m_has_comp[cAlpha0] ? &endpoint_remap[1] : NULL, m_has_comp[cAlpha0] ? &selector_remap[1] : NULL)) { return false; } @@ -1915,7 +1845,7 @@ bool crn_comp::compress_internal() { } if (!pass) { - m_chunk_encoding_dm.init(true, m_chunk_encoding_hist, 16); + m_reference_encoding_dm.init(true, m_chunk_encoding_hist, 16); for (uint i = 0; i < 2; i++) { if (m_endpoint_index_hist[i].size()) diff --git a/crnlib/crn_comp.h b/crnlib/crn_comp.h index d679e03..e427ca3 100644 --- a/crnlib/crn_comp.h +++ b/crnlib/crn_comp.h @@ -52,6 +52,7 @@ class crn_comp : public itexture_comp { uint m_first_chunk; uint m_num_chunks; + uint m_chunk_width; }; crnlib::vector m_mip_groups; @@ -66,9 +67,10 @@ class crn_comp : public itexture_comp { struct chunk_detail { chunk_detail() { utils::zero_object(*this); } - uint8 m_endpoint_references[cNumComps][2][2]; - uint16 m_endpoint_indices[cNumComps][2][2]; - uint16 m_selector_indices[cNumComps][2][2]; + uint16 m_endpoint_indices[2][2][cNumComps]; + uint16 m_selector_indices[2][2][cNumComps]; + uint8 m_endpoint_references[2][2]; + uint8 m_reference_group; }; crnlib::vector m_chunk_details; @@ -81,7 +83,7 @@ class crn_comp : public itexture_comp { dxt_hc m_hvq; symbol_histogram m_chunk_encoding_hist; - static_huffman_data_model m_chunk_encoding_dm; + static_huffman_data_model m_reference_encoding_dm; symbol_histogram m_endpoint_index_hist[2]; static_huffman_data_model m_endpoint_index_dm[2]; // color, alpha @@ -126,7 +128,7 @@ class crn_comp : public itexture_comp { void create_chunk_indices(); bool pack_chunks( - uint first_chunk, uint num_chunks, + uint group, bool clear_histograms, symbol_codec* pCodec, const crnlib::vector* pColor_endpoint_remap, diff --git a/inc/crn_decomp.h b/inc/crn_decomp.h index c7cd226..5145031 100644 --- a/inc/crn_decomp.h +++ b/inc/crn_decomp.h @@ -1638,10 +1638,6 @@ class symbol_codec { } // namespace crnd -#define CRND_HUFF_DECODE_BEGIN(x) -#define CRND_HUFF_DECODE_END(x) -#define CRND_HUFF_DECODE(codec, model, symbol) symbol = codec.decode(model); - namespace crnd { void crnd_assert(const char* pExp, const char* pFile, unsigned line) { char buf[512]; @@ -2773,16 +2769,7 @@ uint32 symbol_codec::decode(const static_huffman_data_model& model) { } uint64 symbol_codec::stop_decoding() { -#if 0 - uint32 i = get_bits(4); - uint32 k = get_bits(3); - i, k; - CRND_ASSERT((i == 15) && (k == 3)); -#endif - - uint64 n = static_cast(m_pDecode_buf_next - m_pDecode_buf); - - return n; + return static_cast(m_pDecode_buf_next - m_pDecode_buf); } } // namespace crnd @@ -3036,16 +3023,6 @@ uint32 dxt5_block::get_block_values(uint32* pDst, uint32 l, uint32 h) { // File: crnd_decode.cpp namespace crnd { -static uint8 g_crnd_endpoint_references[8][2][2] = { - {{0, 1}, {2, 1}}, - {{0, 1}, {0, 1}}, - {{0, 0}, {2, 2}}, - {{0, 1}, {0, 0}}, - {{0, 0}, {0, 1}}, - {{0, 0}, {2, 0}}, - {{0, 0}, {0, 2}}, - {{0, 0}, {0, 0}}, -}; class crn_unpacker { public: @@ -3168,7 +3145,7 @@ class crn_unpacker { symbol_codec m_codec; - static_huffman_data_model m_chunk_encoding_dm; + static_huffman_data_model m_reference_encoding_dm; static_huffman_data_model m_endpoint_delta_dm[2]; static_huffman_data_model m_selector_delta_dm[2]; @@ -3177,12 +3154,20 @@ class crn_unpacker { crnd::vector m_alpha_endpoints; crnd::vector m_alpha_selectors; + + struct block_buffer_element { + uint16 endpoint_reference; + uint16 color_endpoint_index; + uint16 alpha0_endpoint_index; + uint16 alpha1_endpoint_index; + }; + crnd::vector m_block_buffer; bool init_tables() { if (!m_codec.start_decoding(m_pData + m_pHeader->m_tables_ofs, m_pHeader->m_tables_size)) return false; - if (!m_codec.decode_receive_static_data_model(m_chunk_encoding_dm)) + if (!m_codec.decode_receive_static_data_model(m_reference_encoding_dm)) return false; if ((!m_pHeader->m_color_endpoints.m_num) && (!m_pHeader->m_alpha_endpoints.m_num)) @@ -3244,29 +3229,16 @@ class crn_unpacker { uint32* CRND_RESTRICT pDst = &m_color_endpoints[0]; - CRND_HUFF_DECODE_BEGIN(m_codec); - for (uint32 i = 0; i < num_color_endpoints; i++) { - uint32 da, db, dc, dd, de, df; - CRND_HUFF_DECODE(m_codec, dm[0], da); - a = (a + da) & 31; - CRND_HUFF_DECODE(m_codec, dm[1], db); - b = (b + db) & 63; - CRND_HUFF_DECODE(m_codec, dm[0], dc); - c = (c + dc) & 31; - - CRND_HUFF_DECODE(m_codec, dm[0], dd); - d = (d + dd) & 31; - CRND_HUFF_DECODE(m_codec, dm[1], de); - e = (e + de) & 63; - CRND_HUFF_DECODE(m_codec, dm[0], df); - f = (f + df) & 31; - + a = (a + m_codec.decode(dm[0])) & 31; + b = (b + m_codec.decode(dm[1])) & 63; + c = (c + m_codec.decode(dm[0])) & 31; + d = (d + m_codec.decode(dm[0])) & 31; + e = (e + m_codec.decode(dm[1])) & 63; + f = (f + m_codec.decode(dm[0])) & 31; *pDst++ = c | (b << 5U) | (a << 11U) | (f << 16U) | (e << 21U) | (d << 27U); } - CRND_HUFF_DECODE_END(m_codec); - m_codec.stop_decoding(); return true; @@ -3308,13 +3280,9 @@ class crn_unpacker { const uint8* pFrom_linear = g_dxt1_from_linear; - CRND_HUFF_DECODE_BEGIN(m_codec); - for (uint32 i = 0; i < num_color_selectors; i++) { for (uint32 j = 0; j < 8; j++) { - int32 sym; - CRND_HUFF_DECODE(m_codec, dm, sym); - + int32 sym = m_codec.decode(dm); cur[j * 2 + 0] = (delta0[sym] + cur[j * 2 + 0]) & 3; cur[j * 2 + 1] = (delta1[sym] + cur[j * 2 + 1]) & 3; } @@ -3326,8 +3294,6 @@ class crn_unpacker { (pFrom_linear[cur[12]] << 24) | (pFrom_linear[cur[13]] << 26) | (pFrom_linear[cur[14]] << 28) | (pFrom_linear[cur[15]] << 30); } - CRND_HUFF_DECODE_END(m_codec); - m_codec.stop_decoding(); return true; @@ -3349,22 +3315,12 @@ class crn_unpacker { uint16* CRND_RESTRICT pDst = &m_alpha_endpoints[0]; uint32 a = 0, b = 0; - CRND_HUFF_DECODE_BEGIN(m_codec); - for (uint32 i = 0; i < num_alpha_endpoints; i++) { - uint sa; - CRND_HUFF_DECODE(m_codec, dm, sa); - uint sb; - CRND_HUFF_DECODE(m_codec, dm, sb); - - a = (sa + a) & 255; - b = (sb + b) & 255; - + a = (a + m_codec.decode(dm)) & 255; + b = (b + m_codec.decode(dm)) & 255; *pDst++ = (uint16)(a | (b << 8)); } - CRND_HUFF_DECODE_END(m_codec); - m_codec.stop_decoding(); return true; @@ -3406,29 +3362,13 @@ class crn_unpacker { const uint8* pFrom_linear = g_dxt5_from_linear; - CRND_HUFF_DECODE_BEGIN(m_codec); - for (uint32 i = 0; i < num_alpha_selectors; i++) { for (uint32 j = 0; j < 8; j++) { - int32 sym; - CRND_HUFF_DECODE(m_codec, dm, sym); - + int32 sym = m_codec.decode(dm); cur[j * 2 + 0] = (delta0[sym] + cur[j * 2 + 0]) & 7; cur[j * 2 + 1] = (delta1[sym] + cur[j * 2 + 1]) & 7; - //cur[j*2+0] = ((sym%15)-7 + cur[j*2+0]) & 7; - //cur[j*2+1] = ((sym/15)-7 + cur[j*2+1]) & 7; } -#if 0 - dxt5_block blk; - for (uint32 y = 0; y < 4; y++) - for (uint32 x = 0; x < 4; x++) - blk.set_selector(x, y, pFrom_linear[cur[x+y*4]]); - - *pDst++ = blk.get_selectors_as_word(0); - *pDst++ = blk.get_selectors_as_word(1); - *pDst++ = blk.get_selectors_as_word(2); -#else *pDst++ = (uint16)((pFrom_linear[cur[0]]) | (pFrom_linear[cur[1]] << 3) | (pFrom_linear[cur[2]] << 6) | (pFrom_linear[cur[3]] << 9) | (pFrom_linear[cur[4]] << 12) | (pFrom_linear[cur[5]] << 15)); @@ -3437,11 +3377,8 @@ class crn_unpacker { *pDst++ = (uint16)((pFrom_linear[cur[10]] >> 2) | (pFrom_linear[cur[11]] << 1) | (pFrom_linear[cur[12]] << 4) | (pFrom_linear[cur[13]] << 7) | (pFrom_linear[cur[14]] << 10) | (pFrom_linear[cur[15]] << 13)); -#endif } - CRND_HUFF_DECODE_END(m_codec); - m_codec.stop_decoding(); return true; @@ -3474,408 +3411,249 @@ class crn_unpacker { } bool unpack_dxt1(uint8** pDst, uint32 dst_size_in_bytes, uint32 row_pitch_in_bytes, uint32 blocks_x, uint32 blocks_y, uint32 chunks_x, uint32 chunks_y) { - dst_size_in_bytes; - - uint32 chunk_encoding_bits = 1; - const uint32 num_color_endpoints = m_color_endpoints.size(); const uint32 num_color_selectors = m_color_selectors.size(); + const int32 delta_pitch_in_dwords = (row_pitch_in_bytes >> 2) - (chunks_x << 2); - uint32 color_endpoint_index[2][2] = {}; - uint32 color_selector_index[2][2] = {}; + if (m_block_buffer.size() < chunks_x << 1) + m_block_buffer.resize(chunks_x << 1); - const uint32 num_faces = m_pHeader->m_faces; + uint32 color_endpoint_index = 0; + uint32 color_selector_index = 0; + uint8 reference_group = 0; - const uint32 row_pitch_in_dwords = row_pitch_in_bytes >> 2U; - - const int32 cBytesPerBlock = 8; - - CRND_HUFF_DECODE_BEGIN(m_codec); - - for (uint32 f = 0; f < num_faces; f++) { - uint8* CRND_RESTRICT pRow = pDst[f]; - - for (uint32 y = 0; y < chunks_y; y++) { - int32 block_delta = cBytesPerBlock * 2; - uint8* CRND_RESTRICT pBlock = pRow; - const bool skip_bottom_row = (y == (chunks_y - 1)) && (blocks_y & 1); - - for (uint32 x = 0; x < chunks_x; x++) { - - if (chunk_encoding_bits == 1) { - CRND_HUFF_DECODE(m_codec, m_chunk_encoding_dm, chunk_encoding_bits); - chunk_encoding_bits |= 512; + for (uint32 f = 0; f < m_pHeader->m_faces; f++) { + uint32* pData = (uint32*)pDst[f]; + for (uint32 y = 0; y < chunks_y << 1; y++, pData += delta_pitch_in_dwords) { + bool visible = y < blocks_y; + for (uint32 x = 0; x < chunks_x << 1; x++, pData += 2) { + visible = visible && x < blocks_x; + if (!(y & 1) && !(x & 1)) + reference_group = m_codec.decode(m_reference_encoding_dm); + block_buffer_element &buffer = m_block_buffer[x]; + uint8 endpoint_reference; + if (y & 1) { + endpoint_reference = buffer.endpoint_reference; + } else { + endpoint_reference = reference_group & 3; + reference_group >>= 2; + buffer.endpoint_reference = reference_group & 3; + reference_group >>= 2; } - - const uint32 chunk_encoding_index = chunk_encoding_bits & 7; - chunk_encoding_bits >>= 3; - - for (uint32 by = 0; by < 2; by++) { - for (uint32 bx = 0; bx < 2; bx++) { - uint8 endpoint_reference = g_crnd_endpoint_references[chunk_encoding_index][by][bx]; - if (!endpoint_reference) { - uint32 delta; - CRND_HUFF_DECODE(m_codec, m_endpoint_delta_dm[0], delta); - color_endpoint_index[by][bx] = color_endpoint_index[by][bx ^ 1] + delta; - if (color_endpoint_index[by][bx] >= num_color_endpoints) - color_endpoint_index[by][bx] -= num_color_endpoints; - } else { - color_endpoint_index[by][bx] = endpoint_reference == 1 ? color_endpoint_index[by][bx ^ 1] : color_endpoint_index[by ^ 1][bx]; - } - } + if (!endpoint_reference) { + color_endpoint_index += m_codec.decode(m_endpoint_delta_dm[0]); + if (color_endpoint_index >= num_color_endpoints) + color_endpoint_index -= num_color_endpoints; + buffer.color_endpoint_index = color_endpoint_index; + } else if (endpoint_reference == 1) { + buffer.color_endpoint_index = color_endpoint_index; + } else { + color_endpoint_index = buffer.color_endpoint_index; } - - const bool skip_right_col = (blocks_x & 1) && (x == ((int32)chunks_x - 1)); - - uint32* CRND_RESTRICT pD = (uint32*)pBlock; - - for (uint32 by = 0; by < 2; by++) { - pD = (uint32*)((uint8*)pBlock + row_pitch_in_bytes * by); - for (uint32 bx = 0; bx < 2; bx++, pD += 2) { - uint32 delta; - CRND_HUFF_DECODE(m_codec, m_selector_delta_dm[0], delta); - color_selector_index[by][bx] = color_selector_index[by][bx ^ 1] + delta; - if (color_selector_index[by][bx] >= num_color_selectors) - color_selector_index[by][bx] -= num_color_selectors; - if (!((bx && skip_right_col) || (by && skip_bottom_row))) { - pD[0] = m_color_endpoints[color_endpoint_index[by][bx]]; - pD[1] = m_color_selectors[color_selector_index[by][bx]]; - } - } + color_selector_index += m_codec.decode(m_selector_delta_dm[0]); + if (color_selector_index >= num_color_selectors) + color_selector_index -= num_color_selectors; + if (visible) { + pData[0] = m_color_endpoints[color_endpoint_index]; + pData[1] = m_color_selectors[color_selector_index]; } - - pBlock += block_delta; - - } // x - - pRow += row_pitch_in_bytes * 2; - - } // y - - } // f - - CRND_HUFF_DECODE_END(m_codec); - + } + } + } return true; } bool unpack_dxt5(uint8** pDst, uint32 dst_size_in_bytes, uint32 row_pitch_in_bytes, uint32 blocks_x, uint32 blocks_y, uint32 chunks_x, uint32 chunks_y) { - dst_size_in_bytes; - - uint32 chunk_encoding_bits = 1; - const uint32 num_color_endpoints = m_color_endpoints.size(); const uint32 num_color_selectors = m_color_selectors.size(); const uint32 num_alpha_endpoints = m_alpha_endpoints.size(); const uint32 num_alpha_selectors = m_pHeader->m_alpha_selectors.m_num; + const int32 delta_pitch_in_dwords = (row_pitch_in_bytes >> 2) - (chunks_x << 3); - uint32 color_endpoint_index[2][2] = {}; - uint32 color_selector_index[2][2] = {}; - uint32 alpha_endpoint_index[2][2] = {}; - uint32 alpha_selector_index[2][2] = {}; + if (m_block_buffer.size() < chunks_x << 1) + m_block_buffer.resize(chunks_x << 1); - const uint32 num_faces = m_pHeader->m_faces; + uint32 color_endpoint_index = 0; + uint32 color_selector_index = 0; + uint32 alpha0_endpoint_index = 0; + uint32 alpha0_selector_index = 0; + uint8 reference_group = 0; - //const uint32 row_pitch_in_dwords = row_pitch_in_bytes >> 2U; - - const int32 cBytesPerBlock = 16; - - CRND_HUFF_DECODE_BEGIN(m_codec); - - for (uint32 f = 0; f < num_faces; f++) { - uint8* CRND_RESTRICT pRow = pDst[f]; - - for (uint32 y = 0; y < chunks_y; y++) { - int32 block_delta = cBytesPerBlock * 2; - uint8* CRND_RESTRICT pBlock = pRow; - const bool skip_bottom_row = (y == (chunks_y - 1)) && (blocks_y & 1); - - for (uint32 x = 0; x < chunks_x; x++) { - uint32 color_endpoints[2][2]; - uint32 alpha_endpoints[2][2]; - - if (chunk_encoding_bits == 1) { - CRND_HUFF_DECODE(m_codec, m_chunk_encoding_dm, chunk_encoding_bits); - chunk_encoding_bits |= 512; + for (uint32 f = 0; f < m_pHeader->m_faces; f++) { + uint32* pData = (uint32*)pDst[f]; + for (uint32 y = 0; y < chunks_y << 1; y++, pData += delta_pitch_in_dwords) { + bool visible = y < blocks_y; + for (uint32 x = 0; x < chunks_x << 1; x++, pData += 4) { + visible = visible && x < blocks_x; + if (!(y & 1) && !(x & 1)) + reference_group = m_codec.decode(m_reference_encoding_dm); + block_buffer_element &buffer = m_block_buffer[x]; + uint8 endpoint_reference; + if (y & 1) { + endpoint_reference = buffer.endpoint_reference; + } else { + endpoint_reference = reference_group & 3; + reference_group >>= 2; + buffer.endpoint_reference = reference_group & 3; + reference_group >>= 2; } - - const uint32 chunk_encoding_index = chunk_encoding_bits & 7; - chunk_encoding_bits >>= 3; - - const bool skip_right_col = (blocks_x & 1) && (x == ((int32)chunks_x - 1)); - - uint32* CRND_RESTRICT pD = (uint32*)pBlock; - - for (uint32 by = 0; by < 2; by++) { - for (uint32 bx = 0; bx < 2; bx++) { - uint8 endpoint_reference = g_crnd_endpoint_references[chunk_encoding_index][by][bx]; - if (!endpoint_reference) { - uint32 delta; - CRND_HUFF_DECODE(m_codec, m_endpoint_delta_dm[1], delta); - alpha_endpoint_index[by][bx] = alpha_endpoint_index[by][bx ^ 1] + delta; - if (alpha_endpoint_index[by][bx] >= num_alpha_endpoints) - alpha_endpoint_index[by][bx] -= num_alpha_endpoints; - } else { - alpha_endpoint_index[by][bx] = endpoint_reference == 1 ? alpha_endpoint_index[by][bx ^ 1] : alpha_endpoint_index[by ^ 1][bx]; - } - } + if (!endpoint_reference) { + color_endpoint_index += m_codec.decode(m_endpoint_delta_dm[0]); + if (color_endpoint_index >= num_color_endpoints) + color_endpoint_index -= num_color_endpoints; + buffer.color_endpoint_index = color_endpoint_index; + alpha0_endpoint_index += m_codec.decode(m_endpoint_delta_dm[1]); + if (alpha0_endpoint_index >= num_alpha_endpoints) + alpha0_endpoint_index -= num_alpha_endpoints; + buffer.alpha0_endpoint_index = alpha0_endpoint_index; + } else if (endpoint_reference == 1) { + buffer.color_endpoint_index = color_endpoint_index; + buffer.alpha0_endpoint_index = alpha0_endpoint_index; + } else { + color_endpoint_index = buffer.color_endpoint_index; + alpha0_endpoint_index = buffer.alpha0_endpoint_index; } - - for (uint32 by = 0; by < 2; by++) { - for (uint32 bx = 0; bx < 2; bx++) { - uint8 endpoint_reference = g_crnd_endpoint_references[chunk_encoding_index][by][bx]; - if (!endpoint_reference) { - uint32 delta; - CRND_HUFF_DECODE(m_codec, m_endpoint_delta_dm[0], delta); - color_endpoint_index[by][bx] = color_endpoint_index[by][bx ^ 1] + delta; - if (color_endpoint_index[by][bx] >= num_color_endpoints) - color_endpoint_index[by][bx] -= num_color_endpoints; - } else { - color_endpoint_index[by][bx] = endpoint_reference == 1 ? color_endpoint_index[by][bx ^ 1] : color_endpoint_index[by ^ 1][bx]; - } - } + color_selector_index += m_codec.decode(m_selector_delta_dm[0]); + if (color_selector_index >= num_color_selectors) + color_selector_index -= num_color_selectors; + alpha0_selector_index += m_codec.decode(m_selector_delta_dm[1]); + if (alpha0_selector_index >= num_alpha_selectors) + alpha0_selector_index -= num_alpha_selectors; + if (visible) { + const uint16* pAlpha0_selectors = &m_alpha_selectors[alpha0_selector_index * 3]; + pData[0] = m_alpha_endpoints[alpha0_endpoint_index] | (pAlpha0_selectors[0] << 16); + pData[1] = pAlpha0_selectors[1] | (pAlpha0_selectors[2] << 16); + pData[2] = m_color_endpoints[color_endpoint_index]; + pData[3] = m_color_selectors[color_selector_index]; } - - for (uint32 by = 0; by < 2; by++) { - for (uint32 bx = 0; bx < 2; bx++, pD += 4) { - uint32 delta0; - CRND_HUFF_DECODE(m_codec, m_selector_delta_dm[1], delta0); - alpha_selector_index[by][bx] = alpha_selector_index[by][bx ^ 1] + delta0; - if (alpha_selector_index[by][bx] >= num_alpha_selectors) - alpha_selector_index[by][bx] -= num_alpha_selectors; - - uint32 delta1; - CRND_HUFF_DECODE(m_codec, m_selector_delta_dm[0], delta1); - color_selector_index[by][bx] = color_selector_index[by][bx ^ 1] + delta1; - if (color_selector_index[by][bx] >= num_color_selectors) - color_selector_index[by][bx] -= num_color_selectors; - - if (!((bx && skip_right_col) || (by && skip_bottom_row))) { - const uint16* pAlpha_selectors = &m_alpha_selectors[alpha_selector_index[by][bx] * 3]; - pD[0] = m_alpha_endpoints[alpha_endpoint_index[by][bx]] | (pAlpha_selectors[0] << 16); - pD[1] = pAlpha_selectors[1] | (pAlpha_selectors[2] << 16); - pD[2] = m_color_endpoints[color_endpoint_index[by][bx]]; - pD[3] = m_color_selectors[color_selector_index[by][bx]]; - } - } - - pD = (uint32*)((uint8*)pD - cBytesPerBlock * 2 + row_pitch_in_bytes); - } - - pBlock += block_delta; - - } // x - - pRow += row_pitch_in_bytes * 2; - - } // y - - } // f - - CRND_HUFF_DECODE_END(m_codec); - + } + } + } return true; } bool unpack_dxn(uint8** pDst, uint32 dst_size_in_bytes, uint32 row_pitch_in_bytes, uint32 blocks_x, uint32 blocks_y, uint32 chunks_x, uint32 chunks_y) { - dst_size_in_bytes; - - uint32 chunk_encoding_bits = 1; - const uint32 num_alpha_endpoints = m_alpha_endpoints.size(); const uint32 num_alpha_selectors = m_pHeader->m_alpha_selectors.m_num; + const int32 delta_pitch_in_dwords = (row_pitch_in_bytes >> 2) - (chunks_x << 3); - uint32 alpha0_endpoint_index[2][2] = {}; - uint32 alpha0_selector_index[2][2] = {}; - uint32 alpha1_endpoint_index[2][2] = {}; - uint32 alpha1_selector_index[2][2] = {}; + if (m_block_buffer.size() < chunks_x << 1) + m_block_buffer.resize(chunks_x << 1); - const uint32 num_faces = m_pHeader->m_faces; + uint32 alpha0_endpoint_index = 0; + uint32 alpha0_selector_index = 0; + uint32 alpha1_endpoint_index = 0; + uint32 alpha1_selector_index = 0; + uint8 reference_group = 0; - //const uint32 row_pitch_in_dwords = row_pitch_in_bytes >> 2U; - - const int32 cBytesPerBlock = 16; - - CRND_HUFF_DECODE_BEGIN(m_codec); - - for (uint32 f = 0; f < num_faces; f++) { - uint8* CRND_RESTRICT pRow = pDst[f]; - - for (uint32 y = 0; y < chunks_y; y++) { - int32 block_delta = cBytesPerBlock * 2; - uint8* CRND_RESTRICT pBlock = pRow; - const bool skip_bottom_row = (y == (chunks_y - 1)) && (blocks_y & 1); - - for (uint32 x = 0; x < chunks_x; x++) { - if (chunk_encoding_bits == 1) { - CRND_HUFF_DECODE(m_codec, m_chunk_encoding_dm, chunk_encoding_bits); - chunk_encoding_bits |= 512; + for (uint32 f = 0; f < m_pHeader->m_faces; f++) { + uint32* pData = (uint32*)pDst[f]; + for (uint32 y = 0; y < chunks_y << 1; y++, pData += delta_pitch_in_dwords) { + bool visible = y < blocks_y; + for (uint32 x = 0; x < chunks_x << 1; x++, pData += 4) { + visible = visible && x < blocks_x; + if (!(y & 1) && !(x & 1)) + reference_group = m_codec.decode(m_reference_encoding_dm); + block_buffer_element &buffer = m_block_buffer[x]; + uint8 endpoint_reference; + if (y & 1) { + endpoint_reference = buffer.endpoint_reference; + } else { + endpoint_reference = reference_group & 3; + reference_group >>= 2; + buffer.endpoint_reference = reference_group & 3; + reference_group >>= 2; } - - const uint32 chunk_encoding_index = chunk_encoding_bits & 7; - chunk_encoding_bits >>= 3; - - const bool skip_right_col = (blocks_x & 1) && (x == ((int32)chunks_x - 1)); - - uint32* CRND_RESTRICT pD = (uint32*)pBlock; - - for (uint32 by = 0; by < 2; by++) { - for (uint32 bx = 0; bx < 2; bx++) { - uint8 endpoint_reference = g_crnd_endpoint_references[chunk_encoding_index][by][bx]; - if (!endpoint_reference) { - uint32 delta; - CRND_HUFF_DECODE(m_codec, m_endpoint_delta_dm[1], delta); - alpha0_endpoint_index[by][bx] = alpha0_endpoint_index[by][bx ^ 1] + delta; - if (alpha0_endpoint_index[by][bx] >= num_alpha_endpoints) - alpha0_endpoint_index[by][bx] -= num_alpha_endpoints; - } else { - alpha0_endpoint_index[by][bx] = endpoint_reference == 1 ? alpha0_endpoint_index[by][bx ^ 1] : alpha0_endpoint_index[by ^ 1][bx]; - } - } + if (!endpoint_reference) { + alpha0_endpoint_index += m_codec.decode(m_endpoint_delta_dm[1]); + if (alpha0_endpoint_index >= num_alpha_endpoints) + alpha0_endpoint_index -= num_alpha_endpoints; + buffer.alpha0_endpoint_index = alpha0_endpoint_index; + alpha1_endpoint_index += m_codec.decode(m_endpoint_delta_dm[1]); + if (alpha1_endpoint_index >= num_alpha_endpoints) + alpha1_endpoint_index -= num_alpha_endpoints; + buffer.alpha1_endpoint_index = alpha1_endpoint_index; + } else if (endpoint_reference == 1) { + buffer.alpha0_endpoint_index = alpha0_endpoint_index; + buffer.alpha1_endpoint_index = alpha1_endpoint_index; + } else { + alpha0_endpoint_index = buffer.alpha0_endpoint_index; + alpha1_endpoint_index = buffer.alpha1_endpoint_index; } - - for (uint32 by = 0; by < 2; by++) { - for (uint32 bx = 0; bx < 2; bx++) { - uint8 endpoint_reference = g_crnd_endpoint_references[chunk_encoding_index][by][bx]; - if (!endpoint_reference) { - uint32 delta; - CRND_HUFF_DECODE(m_codec, m_endpoint_delta_dm[1], delta); - alpha1_endpoint_index[by][bx] = alpha1_endpoint_index[by][bx ^ 1] + delta; - if (alpha1_endpoint_index[by][bx] >= num_alpha_endpoints) - alpha1_endpoint_index[by][bx] -= num_alpha_endpoints; - } else { - alpha1_endpoint_index[by][bx] = endpoint_reference == 1 ? alpha1_endpoint_index[by][bx ^ 1] : alpha1_endpoint_index[by ^ 1][bx]; - } - } + alpha0_selector_index += m_codec.decode(m_selector_delta_dm[1]); + if (alpha0_selector_index >= num_alpha_selectors) + alpha0_selector_index -= num_alpha_selectors; + alpha1_selector_index += m_codec.decode(m_selector_delta_dm[1]); + if (alpha1_selector_index >= num_alpha_selectors) + alpha1_selector_index -= num_alpha_selectors; + if (visible) { + const uint16* pAlpha0_selectors = &m_alpha_selectors[alpha0_selector_index * 3]; + const uint16* pAlpha1_selectors = &m_alpha_selectors[alpha1_selector_index * 3]; + pData[0] = m_alpha_endpoints[alpha0_endpoint_index] | (pAlpha0_selectors[0] << 16); + pData[1] = pAlpha0_selectors[1] | (pAlpha0_selectors[2] << 16); + pData[2] = m_alpha_endpoints[alpha1_endpoint_index] | (pAlpha1_selectors[0] << 16); + pData[3] = pAlpha1_selectors[1] | (pAlpha1_selectors[2] << 16); } - - for (uint32 by = 0; by < 2; by++) { - for (uint32 bx = 0; bx < 2; bx++, pD += 4) { - uint32 delta0; - CRND_HUFF_DECODE(m_codec, m_selector_delta_dm[1], delta0); - alpha0_selector_index[by][bx] = alpha0_selector_index[by][bx ^ 1] + delta0; - if (alpha0_selector_index[by][bx] >= num_alpha_selectors) - alpha0_selector_index[by][bx] -= num_alpha_selectors; - - uint32 delta1; - CRND_HUFF_DECODE(m_codec, m_selector_delta_dm[1], delta1); - alpha1_selector_index[by][bx] = alpha1_selector_index[by][bx ^ 1] + delta1; - if (alpha1_selector_index[by][bx] >= num_alpha_selectors) - alpha1_selector_index[by][bx] -= num_alpha_selectors; - - if (!((bx && skip_right_col) || (by && skip_bottom_row))) { - const uint16* pAlpha0_selectors = &m_alpha_selectors[alpha0_selector_index[by][bx] * 3]; - const uint16* pAlpha1_selectors = &m_alpha_selectors[alpha1_selector_index[by][bx] * 3]; - pD[0] = m_alpha_endpoints[alpha0_endpoint_index[by][bx]] | (pAlpha0_selectors[0] << 16); - pD[1] = pAlpha0_selectors[1] | (pAlpha0_selectors[2] << 16); - pD[2] = m_alpha_endpoints[alpha1_endpoint_index[by][bx]] | (pAlpha1_selectors[0] << 16); - pD[3] = pAlpha1_selectors[1] | (pAlpha1_selectors[2] << 16); - } - } - - pD = (uint32*)((uint8*)pD - cBytesPerBlock * 2 + row_pitch_in_bytes); - } - - pBlock += block_delta; - - } // x - - pRow += row_pitch_in_bytes * 2; - - } // y - - } // f - - CRND_HUFF_DECODE_END(m_codec); - + } + } + } return true; } bool unpack_dxt5a(uint8** pDst, uint32 dst_size_in_bytes, uint32 row_pitch_in_bytes, uint32 blocks_x, uint32 blocks_y, uint32 chunks_x, uint32 chunks_y) { - dst_size_in_bytes; - - uint32 chunk_encoding_bits = 1; - const uint32 num_alpha_endpoints = m_alpha_endpoints.size(); const uint32 num_alpha_selectors = m_pHeader->m_alpha_selectors.m_num; + const int32 delta_pitch_in_dwords = (row_pitch_in_bytes >> 2) - (chunks_x << 2); - uint32 alpha0_endpoint_index[2][2] = {}; - uint32 alpha0_selector_index[2][2] = {}; + if (m_block_buffer.size() < chunks_x << 1) + m_block_buffer.resize(chunks_x << 1); - const uint32 num_faces = m_pHeader->m_faces; + uint32 alpha0_endpoint_index = 0; + uint32 alpha0_selector_index = 0; + uint8 reference_group = 0; - const int32 cBytesPerBlock = 8; - - CRND_HUFF_DECODE_BEGIN(m_codec); - - for (uint32 f = 0; f < num_faces; f++) { - uint8* CRND_RESTRICT pRow = pDst[f]; - - for (uint32 y = 0; y < chunks_y; y++) { - int32 block_delta = cBytesPerBlock * 2; - uint8* CRND_RESTRICT pBlock = pRow; - const bool skip_bottom_row = (y == (chunks_y - 1)) && (blocks_y & 1); - - for (uint32 x = 0; x < chunks_x; x++) { - if (chunk_encoding_bits == 1) { - CRND_HUFF_DECODE(m_codec, m_chunk_encoding_dm, chunk_encoding_bits); - chunk_encoding_bits |= 512; + for (uint32 f = 0; f < m_pHeader->m_faces; f++) { + uint32* pData = (uint32*)pDst[f]; + for (uint32 y = 0; y < chunks_y << 1; y++, pData += delta_pitch_in_dwords) { + bool visible = y < blocks_y; + for (uint32 x = 0; x < chunks_x << 1; x++, pData += 2) { + visible = visible && x < blocks_x; + if (!(y & 1) && !(x & 1)) + reference_group = m_codec.decode(m_reference_encoding_dm); + block_buffer_element &buffer = m_block_buffer[x]; + uint8 endpoint_reference; + if (y & 1) { + endpoint_reference = buffer.endpoint_reference; + } else { + endpoint_reference = reference_group & 3; + reference_group >>= 2; + buffer.endpoint_reference = reference_group & 3; + reference_group >>= 2; } - - const uint32 chunk_encoding_index = chunk_encoding_bits & 7; - chunk_encoding_bits >>= 3; - - const bool skip_right_col = (blocks_x & 1) && (x == ((int32)chunks_x - 1)); - - uint32* CRND_RESTRICT pD = (uint32*)pBlock; - - for (uint32 by = 0; by < 2; by++) { - for (uint32 bx = 0; bx < 2; bx++) { - uint8 endpoint_reference = g_crnd_endpoint_references[chunk_encoding_index][by][bx]; - if (!endpoint_reference) { - uint32 delta; - CRND_HUFF_DECODE(m_codec, m_endpoint_delta_dm[1], delta); - alpha0_endpoint_index[by][bx] = alpha0_endpoint_index[by][bx ^ 1] + delta; - if (alpha0_endpoint_index[by][bx] >= num_alpha_endpoints) - alpha0_endpoint_index[by][bx] -= num_alpha_endpoints; - } else { - alpha0_endpoint_index[by][bx] = endpoint_reference == 1 ? alpha0_endpoint_index[by][bx ^ 1] : alpha0_endpoint_index[by ^ 1][bx]; - } - } + if (!endpoint_reference) { + alpha0_endpoint_index += m_codec.decode(m_endpoint_delta_dm[1]); + if (alpha0_endpoint_index >= num_alpha_endpoints) + alpha0_endpoint_index -= num_alpha_endpoints; + buffer.alpha0_endpoint_index = alpha0_endpoint_index; + } else if (endpoint_reference == 1) { + buffer.alpha0_endpoint_index = alpha0_endpoint_index; + } else { + alpha0_endpoint_index = buffer.alpha0_endpoint_index; } - - for (uint32 by = 0; by < 2; by++) { - for (uint32 bx = 0; bx < 2; bx++, pD += 2) { - uint32 delta; - CRND_HUFF_DECODE(m_codec, m_selector_delta_dm[1], delta); - alpha0_selector_index[by][bx] = alpha0_selector_index[by][bx ^ 1] + delta; - if (alpha0_selector_index[by][bx] >= num_alpha_selectors) - alpha0_selector_index[by][bx] -= num_alpha_selectors; - - if (!((bx && skip_right_col) || (by && skip_bottom_row))) { - const uint16* pAlpha0_selectors = &m_alpha_selectors[alpha0_selector_index[by][bx] * 3]; - pD[0] = m_alpha_endpoints[alpha0_endpoint_index[by][bx]] | (pAlpha0_selectors[0] << 16); - pD[1] = pAlpha0_selectors[1] | (pAlpha0_selectors[2] << 16); - } - } - - pD = (uint32*)((uint8*)pD - cBytesPerBlock * 2 + row_pitch_in_bytes); + alpha0_selector_index += m_codec.decode(m_selector_delta_dm[1]); + if (alpha0_selector_index >= num_alpha_selectors) + alpha0_selector_index -= num_alpha_selectors; + if (visible) { + const uint16* pAlpha0_selectors = &m_alpha_selectors[alpha0_selector_index * 3]; + pData[0] = m_alpha_endpoints[alpha0_endpoint_index] | (pAlpha0_selectors[0] << 16); + pData[1] = pAlpha0_selectors[1] | (pAlpha0_selectors[2] << 16); } - - pBlock += block_delta; - - } // x - - pRow += row_pitch_in_bytes * 2; - - } // y - - } // f - - CRND_HUFF_DECODE_END(m_codec); - + } + } + } return true; } + }; crnd_unpack_context crnd_unpack_begin(const void* pData, uint32 data_size) {