From 7b6f456399246e1646b1e2a33bbe5aa354c4b77b Mon Sep 17 00:00:00 2001 From: Alexander Suvorov Date: Fri, 19 May 2017 19:55:10 +0200 Subject: [PATCH] Optimize selector quantization, assignment and refinement This change significantly improves compression speed. Explanation: The main ideas used for selector computations optimization: - possible pixel values for each endpoint can be cached - the distances between the possible pixel values and the actual pixels values within a block can be cached for fast error computation during selector assignment - selector refinement can be efficiently integrated with the selector assignment, as it is based on the same set of cached error values - using block encoding instead of chunk encoding for both endpoints and selectors eliminates extra levels of indirection 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.953 sec Modified: 1494501 bytes / 19.667 sec Improvement: 5.54% (compression ratio) / 32.07% (compression time) [Compressing Kodak set with mipmaps] Original: 2065243 bytes / 36.998 sec Modified: 1945365 bytes / 25.642 sec Improvement: 5.80% (compression ratio) / 30.69% (compression time) --- bin/crunch_x64.exe | Bin 992768 -> 991232 bytes crnlib/crn_dxt_hc.cpp | 1071 +++++++++++++---------------------------- crnlib/crn_dxt_hc.h | 54 +-- 3 files changed, 373 insertions(+), 752 deletions(-) diff --git a/bin/crunch_x64.exe b/bin/crunch_x64.exe index 354cef13bba4f5895516b1de9078311f10ddc040..5d14d1039a77f26dcfdc9af7cbb0abbc82b84be2 100644 GIT binary patch delta 223397 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

NmcUaSe90oPBIGPv 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 z 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 Ijl~)N1vo2%LI3~& delta 224303 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∓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 endpoint_indices = *p.m_endpoint_indices; + crnlib::vector& selector_indices = *p.m_selector_indices; - bool result = compress_internal(p, num_chunks, pChunks); - - m_pTask_pool = NULL; - - return result; -} - -bool dxt_hc::compress_internal(const params& p, uint num_chunks, const pixel_chunk* pChunks) { if ((!num_chunks) || (!pChunks)) return false; if ((m_params.m_format == cDXT1A) || (m_params.m_format == cDXT3)) @@ -197,34 +190,107 @@ bool dxt_hc::compress_internal(const params& p, uint num_chunks, const pixel_chu } if (m_has_color_blocks) { - if (!create_selector_codebook(false)) + if (!create_color_selector_codebook()) return false; } if (m_num_alpha_blocks) { - if (!create_selector_codebook(true)) + if (!create_alpha_selector_codebook()) return false; } - if (m_has_color_blocks) { - if (!refine_quantized_color_selectors()) - return false; - - if (!refine_quantized_color_endpoints()) - return false; + crnlib::vector color_endpoint_remap(m_color_clusters.size()); + m_color_endpoints.reserve(m_color_clusters.size()); + hash_map color_clusters_map; + for (uint i = 0; i < m_color_clusters.size(); i++) { + if (m_color_clusters[i].m_pixels.size()) { + uint endpoint = dxt1_block::pack_endpoints(m_color_clusters[i].m_refined_first_endpoint, m_color_clusters[i].m_refined_second_endpoint); + hash_map::insert_result insert_result = color_clusters_map.insert(endpoint, m_color_endpoints.size()); + if (insert_result.second) { + color_endpoint_remap[i] = m_color_endpoints.size(); + m_color_endpoints.push_back(endpoint); + } else { + color_endpoint_remap[i] = insert_result.first->second; + } + } } - if (m_num_alpha_blocks) { - if (!refine_quantized_alpha_endpoints()) - return false; - - if (!refine_quantized_alpha_selectors()) - return false; + crnlib::vector color_selector_remap(m_color_selectors.size()); + m_color_selectors_vec.reserve(m_color_selectors.size()); + hash_map color_selector_map; + for (uint i = 0; i < m_color_selectors.size(); i++) { + if (m_color_selectors_used[i]) { + hash_map::insert_result insert_result = color_selector_map.insert(m_color_selectors[i], m_color_selectors_vec.size()); + if (insert_result.second) { + color_selector_remap[i] = m_color_selectors_vec.size(); + selectors selector_vec; + for (uint32 selector = m_color_selectors[i], s = 0; s < 16; s++, selector >>= 2) + selector_vec.set_by_index(s, selector & 3); + m_color_selectors_vec.push_back(selector_vec); + } else { + color_selector_remap[i] = insert_result.first->second; + } + } } - if (!create_block_encodings(p)) - return false; + crnlib::vector alpha_endpoint_remap(m_alpha_clusters.size()); + m_alpha_endpoints.reserve(m_alpha_clusters.size()); + hash_map alpha_endpoints_map; + for (uint i = 0; i < m_alpha_clusters.size(); i++) { + if (m_alpha_clusters[i].m_pixels.size()) { + uint endpoint = dxt5_block::pack_endpoints(m_alpha_clusters[i].m_refined_first_endpoint, m_alpha_clusters[i].m_refined_second_endpoint); + hash_map::insert_result insert_result = alpha_endpoints_map.insert(endpoint, m_alpha_endpoints.size()); + if (insert_result.second) { + alpha_endpoint_remap[i] = m_alpha_endpoints.size(); + m_alpha_endpoints.push_back(endpoint); + } else { + alpha_endpoint_remap[i] = insert_result.first->second; + } + } + } + crnlib::vector alpha_selector_remap(m_alpha_selectors.size()); + m_alpha_selectors_vec.reserve(m_alpha_selectors.size()); + hash_map alpha_selectors_map; + for (uint i = 0; i < m_alpha_selectors.size(); i++) { + if (m_alpha_selectors_used[i]) { + hash_map::insert_result insert_result = alpha_selectors_map.insert(m_alpha_selectors[i], m_alpha_selectors_vec.size()); + if (insert_result.second) { + alpha_selector_remap[i] = m_alpha_selectors_vec.size(); + selectors selector_vec; + for (uint64 selector = m_alpha_selectors[i], s = 0; s < 16; s++, selector >>= 3) + selector_vec.set_by_index(s, selector & 7); + m_alpha_selectors_vec.push_back(selector_vec); + } else { + alpha_selector_remap[i] = insert_result.first->second; + } + } + } + + endpoint_indices.resize(m_blocks.size()); + selector_indices.resize(m_blocks.size()); + for (uint level = 0; level < p.m_num_levels; level++) { + uint first_block = p.m_levels[level].m_first_chunk << 2; + uint end_block = first_block + (p.m_levels[level].m_num_chunks << 2); + uint block_width = p.m_levels[level].m_chunk_width << 1; + for (uint by = 0, b = first_block; b < end_block; by++) { + for (uint bx = 0; bx < block_width; bx++, b++) { + bool top_match = by != 0; + bool left_match = top_match || bx; + for (uint c = m_has_color_blocks ? 0 : cAlpha0Chunks; c < cAlpha0Chunks + m_num_alpha_blocks; c++) { + uint16 endpoint_index = (c ? alpha_endpoint_remap : color_endpoint_remap)[m_endpoint_indices[b].component[c]]; + left_match = left_match && endpoint_index == endpoint_indices[b - 1].component[c]; + top_match = top_match && endpoint_index == endpoint_indices[b - block_width].component[c]; + endpoint_indices[b].component[c] = endpoint_index; + uint16 selector_index = (c ? alpha_selector_remap : color_selector_remap)[m_selector_indices[b].component[c]]; + selector_indices[b].component[c] = selector_index; + } + endpoint_indices[b].reference = left_match ? 1 : top_match ? 2 : 0; + } + } + } + + m_pTask_pool = NULL; return true; } @@ -952,7 +1018,7 @@ void dxt_hc::determine_color_endpoint_codebook_task(uint64 data, void* pData_ptr if (cluster.m_pixels.empty()) continue; - cluster.m_selectors.resize(cluster.m_pixels.size()); + crnlib::vector selectors(cluster.m_pixels.size()); dxt1_endpoint_optimizer::params params; params.m_block_index = cluster_index; @@ -965,14 +1031,13 @@ void dxt_hc::determine_color_endpoint_codebook_task(uint64 data, void* pData_ptr params.m_endpoint_caching = false; dxt1_endpoint_optimizer::results results; - results.m_pSelectors = cluster.m_selectors.get_ptr(); + results.m_pSelectors = selectors.get_ptr(); dxt1_endpoint_optimizer optimizer; optimizer.compute(params, results); - cluster.m_first_endpoint = results.m_low_color; cluster.m_second_endpoint = results.m_high_color; - cluster.m_error = results.m_error; + dxt1_block::get_block_colors4(cluster.m_color_values, cluster.m_first_endpoint, cluster.m_second_endpoint); color_quad_u8 color_values[4]; color_values[0] = dxt1_block::unpack_color(results.m_low_color, true); @@ -1001,20 +1066,21 @@ void dxt_hc::determine_color_endpoint_codebook_task(uint64 data, void* pData_ptr for (uint bx = 0; bx < 2; bx++) { if (g_tile_map[encoding_index][by][bx] == tile_index) { uint b = m_chunk_details[chunk_index].block_index[by][bx]; - uint64 selector = 0; - for (uint sh = 0, p = 0; p < 16; p++, sh += 3) { - uint8 s_best; - for (uint32 error_best = UINT_MAX, t = 0; t < 4; t++) { + uint32 selector = 0; + for (uint sh = 0, p = 0; p < 16; p++, sh += 2) { + uint error_best = cUINT32_MAX; + uint8 s_best = 0; + for (uint8 t = 0; t < 4; t++) { uint8 s = color_order[t]; - uint32 error = color::color_distance(m_params.m_perceptual, (color_quad_u8&)m_blocks[b][p], color_values[s], false); + uint error = color::color_distance(m_params.m_perceptual, (color_quad_u8&)m_blocks[b][p], color_values[s], false); if (error < error_best) { s_best = s; error_best = error; } } - selector |= (uint64)s_best << sh; + selector |= s_best << sh; } - m_block_selectors[cColorChunks][b] = selector | (uint64)weight << 48; + m_block_selectors[cColorChunks][b] = selector | (uint64)weight << 32; m_endpoint_indices[b].component[0] = cluster_index; } } @@ -1025,44 +1091,19 @@ void dxt_hc::determine_color_endpoint_codebook_task(uint64 data, void* pData_ptr dxt_endpoint_refiner::params refinerParams; dxt_endpoint_refiner::results refinerResults; refinerParams.m_perceptual = m_params.m_perceptual; - refinerParams.m_pSelectors = cluster.m_selectors.get_ptr(); + refinerParams.m_pSelectors = selectors.get_ptr(); refinerParams.m_pPixels = cluster.m_pixels.get_ptr(); refinerParams.m_num_pixels = cluster.m_pixels.size(); refinerParams.m_dxt1_selectors = true; - refinerParams.m_error_to_beat = cluster.m_error; + refinerParams.m_error_to_beat = results.m_error; refinerParams.m_block_index = cluster_index; - cluster.m_refined.result = refiner.refine(refinerParams, refinerResults); - cluster.m_refined.first_endpoint = refinerResults.m_low_color; - cluster.m_refined.second_endpoint = refinerResults.m_high_color; - cluster.m_refined.error = refinerResults.m_error; - - for (uint t = 0; t < cluster.m_tiles.size(); t++) { - const uint chunk_index = cluster.m_tiles[t].first; - const uint tile_index = cluster.m_tiles[t].second; - - CRNLIB_ASSERT(chunk_index < m_num_chunks); - - compressed_chunk& chunk = m_compressed_chunks[cColorChunks][chunk_index]; - - CRNLIB_ASSERT(tile_index < chunk.m_num_tiles); - - CRNLIB_ASSERT(chunk.m_endpoint_cluster_index[tile_index] == cluster_index); - - const compressed_tile& tile = chunk.m_tiles[tile_index]; - - const chunk_tile_desc& layout = g_chunk_tile_layouts[tile.m_layout_index]; - layout; - - compressed_tile& quantized_tile = chunk.m_quantized_tiles[tile_index]; - - const uint total_pixels = tile.m_pixel_width * tile.m_pixel_height; - - quantized_tile.m_endpoint_cluster_index = cluster_index; - quantized_tile.m_first_endpoint = results.m_low_color; - quantized_tile.m_second_endpoint = results.m_high_color; - quantized_tile.m_pixel_width = tile.m_pixel_width; - quantized_tile.m_pixel_height = tile.m_pixel_height; - quantized_tile.m_layout_index = tile.m_layout_index; + cluster.m_refined_result = refiner.refine(refinerParams, refinerResults); + if (cluster.m_refined_result) { + cluster.m_refined_first_endpoint = refinerResults.m_low_color; + cluster.m_refined_second_endpoint = refinerResults.m_high_color; + } else { + cluster.m_refined_first_endpoint = cluster.m_first_endpoint; + cluster.m_refined_second_endpoint = cluster.m_second_endpoint; } } } @@ -1106,7 +1147,7 @@ void dxt_hc::determine_alpha_endpoint_codebook_task(uint64 data, void* pData_ptr if (cluster.m_pixels.empty()) continue; - cluster.m_selectors.resize(cluster.m_pixels.size()); + crnlib::vector selectors(cluster.m_pixels.size()); dxt5_endpoint_optimizer::params params; params.m_block_index = cluster_index; @@ -1117,14 +1158,13 @@ void dxt_hc::determine_alpha_endpoint_codebook_task(uint64 data, void* pData_ptr params.m_use_both_block_types = false; dxt5_endpoint_optimizer::results results; - results.m_pSelectors = cluster.m_selectors.get_ptr(); + results.m_pSelectors = selectors.get_ptr(); dxt5_endpoint_optimizer optimizer; optimizer.compute(params, results); - cluster.m_first_endpoint = results.m_first_endpoint; cluster.m_second_endpoint = results.m_second_endpoint; - cluster.m_error = results.m_error; + dxt5_block::get_block_values(cluster.m_alpha_values, cluster.m_first_endpoint, cluster.m_second_endpoint); int delta = cluster.m_second_endpoint - cluster.m_first_endpoint; uint8 alpha_values[8]; @@ -1150,11 +1190,12 @@ void dxt_hc::determine_alpha_endpoint_codebook_task(uint64 data, void* pData_ptr uint b = m_chunk_details[chunk_index].block_index[by][bx]; uint64 selector = 0; for (uint sh = 0, p = 0; p < 16; p++, sh += 3) { - uint8 s_best; - for (uint32 error_best = UINT_MAX, t = 0; t < 8; t++) { + uint error_best = cUINT32_MAX; + uint8 s_best = 0; + for (uint8 t = 0; t < 8; t++) { uint8 s = alpha_order[t]; int delta = m_blocks[b][p][component_index] - alpha_values[s]; - uint32 error = delta >= 0 ? delta : -delta; + uint error = delta >= 0 ? delta : -delta; if (error < error_best) { s_best = s; error_best = error; @@ -1170,46 +1211,24 @@ void dxt_hc::determine_alpha_endpoint_codebook_task(uint64 data, void* pData_ptr } dxt_endpoint_refiner refiner; - dxt_endpoint_refiner::params p; - dxt_endpoint_refiner::results r; - p.m_perceptual = m_params.m_perceptual; - p.m_pSelectors = cluster.m_selectors.get_ptr(); - p.m_pPixels = cluster.m_pixels.get_ptr(); - p.m_num_pixels = cluster.m_pixels.size(); - p.m_dxt1_selectors = false; - p.m_error_to_beat = cluster.m_error; - p.m_block_index = cluster_index; - cluster.m_refined.result = refiner.refine(p, r); - cluster.m_refined.first_endpoint = r.m_low_color; - cluster.m_refined.second_endpoint = r.m_high_color; - cluster.m_refined.error = r.m_error; - - for (uint tile_iter = 0; tile_iter < cluster.m_tiles.size(); tile_iter++) { - const uint chunk_index = cluster.m_tiles[tile_iter].first; - const uint tile_index = cluster.m_tiles[tile_iter].second & 0xFFFFU; - const uint alpha_index = cluster.m_tiles[tile_iter].second >> 16U; - CRNLIB_ASSERT(chunk_index < m_num_chunks); - CRNLIB_ASSERT(tile_index < cChunkMaxTiles); - CRNLIB_ASSERT(alpha_index < m_num_alpha_blocks); - - compressed_chunk& chunk = m_compressed_chunks[cAlpha0Chunks + alpha_index][chunk_index]; - - CRNLIB_ASSERT(chunk.m_endpoint_cluster_index[tile_index] == cluster_index); - - CRNLIB_ASSERT(tile_index < chunk.m_num_tiles); - const compressed_tile& tile = chunk.m_tiles[tile_index]; - - const chunk_tile_desc& layout = g_chunk_tile_layouts[tile.m_layout_index]; - layout; - - compressed_tile& quantized_tile = chunk.m_quantized_tiles[tile_index]; - - quantized_tile.m_endpoint_cluster_index = cluster_index; - quantized_tile.m_first_endpoint = results.m_first_endpoint; - quantized_tile.m_second_endpoint = results.m_second_endpoint; - quantized_tile.m_pixel_width = tile.m_pixel_width; - quantized_tile.m_pixel_height = tile.m_pixel_height; - quantized_tile.m_layout_index = tile.m_layout_index; + dxt_endpoint_refiner::params refinerParams; + dxt_endpoint_refiner::results refinerResults; + refinerParams.m_perceptual = m_params.m_perceptual; + refinerParams.m_pSelectors = selectors.get_ptr(); + refinerParams.m_pPixels = cluster.m_pixels.get_ptr(); + refinerParams.m_num_pixels = cluster.m_pixels.size(); + refinerParams.m_dxt1_selectors = false; + refinerParams.m_error_to_beat = results.m_error; + refinerParams.m_block_index = cluster_index; + cluster.m_refined_result = refiner.refine(refinerParams, refinerResults); + if (cluster.m_refined_result) { + cluster.m_refined_first_endpoint = refinerResults.m_low_color; + cluster.m_refined_second_endpoint = refinerResults.m_high_color; + dxt5_block::get_block_values(cluster.m_refined_alpha_values, cluster.m_refined_first_endpoint, cluster.m_refined_second_endpoint); + } else { + cluster.m_refined_first_endpoint = cluster.m_first_endpoint; + cluster.m_refined_second_endpoint = cluster.m_second_endpoint; + memcpy(cluster.m_refined_alpha_values, cluster.m_alpha_values, sizeof(cluster.m_refined_alpha_values)); } } } @@ -1231,638 +1250,242 @@ bool dxt_hc::determine_alpha_endpoint_codebook() { return !m_canceled; } -void dxt_hc::create_selector_codebook_task(uint64 data, void* pData_ptr) { - const uint thread_index = static_cast(data); - const create_selector_codebook_state& state = *static_cast(pData_ptr); +struct color_selector_details { + color_selector_details() { utils::zero_object(*this); } + uint error[16][4]; + bool used; +}; - for (uint comp_chunk_index = state.m_comp_index_start; comp_chunk_index <= state.m_comp_index_end; comp_chunk_index++) { - const uint alpha_index = state.m_alpha_blocks ? (comp_chunk_index - cAlpha0Chunks) : 0; - const uint alpha_pixel_comp = state.m_alpha_blocks ? m_params.m_alpha_component_indices[alpha_index] : 0; - - for (uint chunk_index = 0; chunk_index < m_num_chunks; chunk_index++) { - if (m_canceled) - return; - - if ((crn_get_current_thread_id() == m_main_thread_id) && ((chunk_index & 127) == 0)) { - if (!update_progress(12 + comp_chunk_index, chunk_index, m_num_chunks)) - return; +void dxt_hc::create_color_selector_codebook_task(uint64 data, void* pData_ptr) { + crnlib::vector& selector_details = *static_cast*>(pData_ptr); + uint num_tasks = m_pTask_pool->get_num_threads() + 1; + uint errors[16][4]; + for (uint b = m_blocks.size() * data / num_tasks, bEnd = m_blocks.size() * (data + 1) / num_tasks; b < bEnd; b++) { + tile_cluster& cluster = m_color_clusters[m_endpoint_indices[b].color]; + color_quad_u8* endpoint_colors = cluster.m_color_values; + for (uint p = 0; p < 16; p++) { + for (uint s = 0; s < 4; s++) + errors[p][s] = color::color_distance(m_params.m_perceptual, m_blocks[b][p], endpoint_colors[s], false); + } + uint best_index = 0; + for (uint best_error = cUINT32_MAX, s = 0; s < m_color_selectors.size(); s++) { + uint32 selector = m_color_selectors[s]; + uint error = errors[0][selector & 3]; + error += errors[ 1][(selector >> 2) & 3]; + error += errors[ 2][(selector >> 4) & 3]; + error += errors[ 3][(selector >> 6) & 3]; + error += errors[ 4][(selector >> 8) & 3]; + error += errors[ 5][(selector >> 10) & 3]; + error += errors[ 6][(selector >> 12) & 3]; + error += errors[ 7][(selector >> 14) & 3]; + error += errors[ 8][(selector >> 16) & 3]; + error += errors[ 9][(selector >> 18) & 3]; + error += errors[10][(selector >> 20) & 3]; + error += errors[11][(selector >> 22) & 3]; + error += errors[12][(selector >> 24) & 3]; + error += errors[13][(selector >> 26) & 3]; + error += errors[14][(selector >> 28) & 3]; + error += errors[15][(selector >> 30) & 3]; + if (error < best_error) { + best_error = error; + best_index = s; } - - if (m_pTask_pool->get_num_threads()) { - if ((chunk_index % (m_pTask_pool->get_num_threads() + 1)) != thread_index) - continue; - } - - compressed_chunk& chunk = m_compressed_chunks[comp_chunk_index][chunk_index]; - - for (uint tile_index = 0; tile_index < chunk.m_num_tiles; tile_index++) { - compressed_tile& quantized_tile = chunk.m_quantized_tiles[tile_index]; - - const chunk_tile_desc& layout = g_chunk_tile_layouts[quantized_tile.m_layout_index]; - - const uint tile_blocks_x = layout.m_width >> 2; - const uint tile_blocks_y = layout.m_height >> 2; - - const uint tile_block_ofs_x = layout.m_x_ofs >> 2; - const uint tile_block_ofs_y = layout.m_y_ofs >> 2; - - if (state.m_alpha_blocks) { - uint block_values[cDXT5SelectorValues]; - dxt5_block::get_block_values(block_values, quantized_tile.m_first_endpoint, quantized_tile.m_second_endpoint); - - for (uint by = 0; by < tile_blocks_y; by++) { - for (uint bx = 0; bx < tile_blocks_x; bx++) { -#if 0 - uint best_index = selector_vq.find_best_codebook_entry_fs(training_vecs[comp_chunk_index][(tile_block_ofs_x+bx)+(tile_block_ofs_y+by)*2][chunk_index]); -#else - const dxt_pixel_block& block = m_pChunks[chunk_index].m_blocks[tile_block_ofs_y + by][tile_block_ofs_x + bx]; - - uint best_error = UINT_MAX; - uint best_index = 0; - - for (uint i = 0; i < state.m_selectors_cb.size(); i++) { - const selectors& s = state.m_selectors_cb[i]; - - uint total_error = 0; - - for (uint y = 0; y < cBlockPixelHeight; y++) { - for (uint x = 0; x < cBlockPixelWidth; x++) { - int a = block.m_pixels[y][x][alpha_pixel_comp]; - int b = block_values[s.m_selectors[y][x]]; - int error = a - b; - error *= error; - - total_error += error; - if (total_error > best_error) - goto early_out; - } // x - } //y - - early_out: - if (total_error < best_error) { - best_error = total_error; - best_index = i; - - if (best_error == 0) - break; - } - } // i -#endif - - CRNLIB_ASSERT((tile_block_ofs_x + bx) < 2); - CRNLIB_ASSERT((tile_block_ofs_y + by) < 2); - - chunk.m_selector_cluster_index[tile_block_ofs_y + by][tile_block_ofs_x + bx] = static_cast(best_index); - - { - scoped_spinlock lock(state.m_chunk_blocks_using_selectors_lock); - state.m_chunk_blocks_using_selectors[best_index].push_back(block_id(chunk_index, alpha_index, tile_index, tile_block_ofs_x + bx, tile_block_ofs_y + by)); - } - // std::make_pair(chunk_index, (tile_index << 16) | ((tile_block_ofs_y + by) << 8) | (tile_block_ofs_x + bx) ) ); - - } // bx - } // by - - } else { - color_quad_u8 block_colors[cDXT1SelectorValues]; - dxt1_block::get_block_colors4(block_colors, static_cast(quantized_tile.m_first_endpoint), static_cast(quantized_tile.m_second_endpoint)); - - const bool block_with_alpha = quantized_tile.m_first_endpoint == quantized_tile.m_second_endpoint; - - for (uint by = 0; by < tile_blocks_y; by++) { - for (uint bx = 0; bx < tile_blocks_x; bx++) { - const dxt_pixel_block& block = m_pChunks[chunk_index].m_blocks[tile_block_ofs_y + by][tile_block_ofs_x + bx]; - - uint best_error = UINT_MAX; - uint best_index = 0; - - for (uint i = 0; i < state.m_selectors_cb.size(); i++) { - const selectors& s = state.m_selectors_cb[i]; - - uint total_error = 0; - - for (uint y = 0; y < cBlockPixelHeight; y++) { - for (uint x = 0; x < cBlockPixelWidth; x++) { - const color_quad_u8& a = block.m_pixels[y][x]; - - uint selector_index = s.m_selectors[y][x]; - if ((block_with_alpha) && (selector_index == 3)) - total_error += 999999; - - const color_quad_u8& b = block_colors[selector_index]; - - uint error = color::color_distance(m_params.m_perceptual, a, b, false); - - total_error += error; - if (total_error > best_error) - goto early_out2; - } // x - } //y - - early_out2: - if (total_error < best_error) { - best_error = total_error; - best_index = i; - - if (best_error == 0) - break; - } - } // i - - CRNLIB_ASSERT((tile_block_ofs_x + bx) < 2); - CRNLIB_ASSERT((tile_block_ofs_y + by) < 2); - - chunk.m_selector_cluster_index[tile_block_ofs_y + by][tile_block_ofs_x + bx] = static_cast(best_index); - - { - scoped_spinlock lock(state.m_chunk_blocks_using_selectors_lock); - state.m_chunk_blocks_using_selectors[best_index].push_back(block_id(chunk_index, 0, tile_index, tile_block_ofs_x + bx, tile_block_ofs_y + by)); - } - // std::make_pair(chunk_index, (tile_index << 16) | ((tile_block_ofs_y + by) << 8) | (tile_block_ofs_x + bx) ) ); - - } // bx - } // by - - } // if alpha_blocks - - } // tile_index - - } // chunk_index - - } // comp_chunk_index + } + uint (&total_errors)[16][4] = selector_details[best_index].error; + for (uint p = 0; p < 16; p++) { + for (uint s = 0; s < 4; s++) + total_errors[p][s] += errors[p][s]; + } + selector_details[best_index].used = true; + m_selector_indices[b].color = best_index; + } } -bool dxt_hc::create_selector_codebook(bool alpha_blocks) { +bool dxt_hc::create_color_selector_codebook() { vec16F_tree_vq selector_vq; vec16F v; - uint c_start = alpha_blocks ? cAlpha0Chunks : cColorChunks; - uint c_end = alpha_blocks ? cAlpha0Chunks + m_num_alpha_blocks - 1 : cColorChunks; - float scale = alpha_blocks ? 0.125f : 0.25f; - - for (uint c = c_start; c <= c_end; c++) { - for (uint b = 0; b < m_blocks.size(); b++) { - uint64 selector = m_block_selectors[c][b]; - for (uint8 p = 0; p < 16; p++, selector >>= 3) - v[p] = ((selector & 7) + 0.5f) * scale; - selector_vq.add_training_vec(v, selector); + for (uint b = 0; b < m_blocks.size(); b++) { + uint64 selector = m_block_selectors[cColorChunks][b]; + for (uint8 p = 0; p < 16; p++, selector >>= 2) + v[p] = ((selector & 3) + 0.5f) * 0.25f; + selector_vq.add_training_vec(v, selector); + } + selector_vq.generate_codebook(m_params.m_color_selector_codebook_size); + m_color_selectors.resize(selector_vq.get_codebook_size()); + m_color_selectors_used.resize(selector_vq.get_codebook_size()); + for (uint i = 0; i < selector_vq.get_codebook_size(); i++) { + const vec16F& v = selector_vq.get_codebook_entry(i); + m_color_selectors[i] = 0; + for (uint sh = 0, j = 0; j < 16; j++, sh += 2) { + uint8 s = g_dxt1_from_linear[(int)(v[j] * 4.0f)]; + m_color_selectors[i] |= s << sh; } } - selector_vq.generate_codebook(alpha_blocks ? m_params.m_alpha_selector_codebook_size : m_params.m_color_selector_codebook_size); - selectors_vec& selectors_cb = alpha_blocks ? m_alpha_selectors : m_color_selectors; - selectors_cb.resize(selector_vq.get_codebook_size()); + uint num_tasks = m_pTask_pool->get_num_threads() + 1; + crnlib::vector> selector_details(num_tasks); + for (uint t = 0; t < num_tasks; t++) { + selector_details[t].resize(m_color_selectors.size()); + m_pTask_pool->queue_object_task(this, &dxt_hc::create_color_selector_codebook_task, t, &selector_details[t]); + } + m_pTask_pool->join(); - for (uint i = 0; i < selector_vq.get_codebook_size(); i++) { - const vec16F& v = selector_vq.get_codebook_entry(i); - for (uint j = 0; j < 16; j++) - selectors_cb[i].m_selectors[j >> 2][j & 3] = alpha_blocks ? g_dxt5_from_linear[(int)(v[j] * 8.0f)] : g_dxt1_from_linear[(int)(v[j] * 4.0f)]; + for (uint t = 1; t < num_tasks; t++) { + for (uint i = 0; i < m_color_selectors.size(); i++) { + for (uint8 p = 0; p < 16; p++) { + for (uint8 s = 0; s < 4; s++) + selector_details[0][i].error[p][s] += selector_details[t][i].error[p][s]; + } + selector_details[0][i].used = selector_details[0][i].used || selector_details[t][i].used; + } } - chunk_blocks_using_selectors_vec& chunk_blocks_using_selectors = alpha_blocks ? m_chunk_blocks_using_alpha_selectors : m_chunk_blocks_using_color_selectors; - - chunk_blocks_using_selectors.clear(); - chunk_blocks_using_selectors.resize(selectors_cb.size()); - - create_selector_codebook_state state(*this, alpha_blocks, c_start, c_end, selector_vq, chunk_blocks_using_selectors, selectors_cb); - - for (uint i = 0; i <= m_pTask_pool->get_num_threads(); i++) - m_pTask_pool->queue_object_task(this, &dxt_hc::create_selector_codebook_task, i, &state); - - m_pTask_pool->join(); + for (uint i = 0; i < m_color_selectors.size(); i++) { + m_color_selectors_used[i] = selector_details[0][i].used; + uint (&errors)[16][4] = selector_details[0][i].error; + m_color_selectors[i] = 0; + for (uint sh = 0, p = 0; p < 16; p++, sh += 2) { + uint best_error = errors[p][0]; + uint8 best_s = 0; + for (uint8 s = 1; s < 4; s++) { + uint error = errors[p][s]; + if (error < best_error) { + best_s = s; + best_error = error; + } + } + m_color_selectors[i] |= best_s << sh; + } + } return !m_canceled; } -bool dxt_hc::refine_quantized_color_selectors() { - if (!m_has_color_blocks) - return true; +struct alpha_selector_details { + alpha_selector_details() { utils::zero_object(*this); } + uint error[16][8]; + bool used; +}; -#if CRNLIB_ENABLE_DEBUG_MESSAGES - if (m_params.m_debugging) - console::info("Refining quantized color selectors"); -#endif - - uint total_refined_selectors = 0; - uint total_refined_pixels = 0; - uint total_selectors = 0; - - for (uint selector_index = 0; selector_index < m_color_selectors.size(); selector_index++) { - if ((selector_index & 255) == 0) { - if (!update_progress(15, selector_index, m_color_selectors.size())) - return false; - } - - if (m_chunk_blocks_using_color_selectors[selector_index].empty()) - continue; - - selectors& sel = m_color_selectors[selector_index]; - - for (uint y = 0; y < cBlockPixelHeight; y++) { - for (uint x = 0; x < cBlockPixelWidth; x++) { - uint best_s = 0; - uint best_error = UINT_MAX; - - for (uint s = 0; s < cDXT1SelectorValues; s++) { - uint total_error = 0; - - for (uint block_iter = 0; block_iter < m_chunk_blocks_using_color_selectors[selector_index].size(); block_iter++) { - const block_id& id = m_chunk_blocks_using_color_selectors[selector_index][block_iter]; - const uint chunk_index = id.m_chunk_index; - const uint tile_index = id.m_tile_index; - const uint chunk_block_x = id.m_block_x; - const uint chunk_block_y = id.m_block_y; - - CRNLIB_ASSERT((chunk_block_x < cChunkBlockWidth) && (chunk_block_y < cChunkBlockHeight)); - - const compressed_chunk& chunk = m_compressed_chunks[cColorChunks][chunk_index]; - CRNLIB_ASSERT(tile_index < chunk.m_num_tiles); - - CRNLIB_ASSERT(chunk.m_selector_cluster_index[chunk_block_y][chunk_block_x] == selector_index); - - const compressed_tile& tile = chunk.m_quantized_tiles[tile_index]; - - //const chunk_tile_desc& tile_desc = g_chunk_tile_layouts[tile.m_layout_index]; - - color_quad_u8 block_colors[cDXT1SelectorValues]; - CRNLIB_ASSERT(tile.m_first_endpoint >= tile.m_second_endpoint); - dxt1_block::get_block_colors4(block_colors, static_cast(tile.m_first_endpoint), static_cast(tile.m_second_endpoint)); - - if ((tile.m_first_endpoint == tile.m_second_endpoint) && (s == 3)) - total_error += 999999; - - const color_quad_u8& orig_pixel = m_pChunks[chunk_index](chunk_block_x * cBlockPixelWidth + x, chunk_block_y * cBlockPixelHeight + y); - const color_quad_u8& quantized_pixel = block_colors[s]; - - const uint error = color::color_distance(m_params.m_perceptual, orig_pixel, quantized_pixel, false); - total_error += error; - - } // block_iter - - if (total_error < best_error) { - best_error = total_error; - best_s = s; - } - - } // s - - if (sel.m_selectors[y][x] != best_s) { - total_refined_selectors++; - total_refined_pixels += m_chunk_blocks_using_color_selectors[selector_index].size(); - sel.m_selectors[y][x] = static_cast(best_s); +void dxt_hc::create_alpha_selector_codebook_task(uint64 data, void* pData_ptr) { + crnlib::vector& selector_details = *static_cast*>(pData_ptr); + uint num_tasks = m_pTask_pool->get_num_threads() + 1; + uint errors[16][8]; + for (uint b = m_blocks.size() * data / num_tasks, bEnd = m_blocks.size() * (data + 1) / num_tasks; b < bEnd; b++) { + for (uint c = cAlpha0Chunks; c < cAlpha0Chunks + m_num_alpha_blocks; c++) { + const uint alpha_pixel_comp = m_params.m_alpha_component_indices[c - cAlpha0Chunks]; + tile_cluster& cluster = m_alpha_clusters[m_endpoint_indices[b].component[c]]; + uint* block_values = cluster.m_alpha_values; + for (uint p = 0; p < 16; p++) { + for (uint s = 0; s < 8; s++) { + int delta = m_blocks[b][p][alpha_pixel_comp] - block_values[s]; + errors[p][s] = delta * delta; } - - total_selectors++; - - } //x - - } //y - - } // selector_index - -#if CRNLIB_ENABLE_DEBUG_MESSAGES - if (m_params.m_debugging) - console::info("Total refined pixels: %u, selectors: %u out of %u", total_refined_pixels, total_refined_selectors, total_selectors); -#endif - - uint selector_count = 0; - hash_map packed_selectors; - for (uint i = 0; i < m_color_selectors.size(); i++) { - if (m_chunk_blocks_using_color_selectors[i].size()) { - uint32 packed_selector = 0; - for (uint s = 0; s < 16; s++) - packed_selector |= m_color_selectors[i].get_by_index(s) << (s << 1); - hash_map::insert_result insert_result = packed_selectors.insert(packed_selector, selector_count); - if (insert_result.second) { - if (selector_count != i) { - m_color_selectors[selector_count] = m_color_selectors[i]; - m_chunk_blocks_using_color_selectors[selector_count].swap(m_chunk_blocks_using_color_selectors[i]); - for (uint b = 0; b < m_chunk_blocks_using_color_selectors[selector_count].size(); b++) { - const block_id& id = m_chunk_blocks_using_color_selectors[selector_count][b]; - m_compressed_chunks[cColorChunks][id.m_chunk_index].m_selector_cluster_index[id.m_block_y][id.m_block_x] = selector_count; - } - } - selector_count++; - } else { - for (uint b = 0; b < m_chunk_blocks_using_color_selectors[i].size(); b++) { - const block_id& id = m_chunk_blocks_using_color_selectors[i][b]; - m_compressed_chunks[cColorChunks][id.m_chunk_index].m_selector_cluster_index[id.m_block_y][id.m_block_x] = insert_result.first->second; - } - m_chunk_blocks_using_color_selectors[insert_result.first->second].append(m_chunk_blocks_using_color_selectors[i]); - m_chunk_blocks_using_color_selectors[i].clear(); } + uint best_index = 0; + for (uint best_error = cUINT32_MAX, s = 0; s < m_alpha_selectors.size(); s++) { + uint64 selector = m_alpha_selectors[s]; + uint error = errors[0][selector & 7]; + error += errors[ 1][(selector >> 3) & 7]; + error += errors[ 2][(selector >> 6) & 7]; + error += errors[ 3][(selector >> 9) & 7]; + error += errors[ 4][(selector >> 12) & 7]; + error += errors[ 5][(selector >> 15) & 7]; + error += errors[ 6][(selector >> 18) & 7]; + error += errors[ 7][(selector >> 21) & 7]; + error += errors[ 8][(selector >> 24) & 7]; + error += errors[ 9][(selector >> 27) & 7]; + error += errors[10][(selector >> 30) & 7]; + error += errors[11][(selector >> 33) & 7]; + error += errors[12][(selector >> 36) & 7]; + error += errors[13][(selector >> 39) & 7]; + error += errors[14][(selector >> 42) & 7]; + error += errors[15][(selector >> 45) & 7]; + if (error < best_error) { + best_error = error; + best_index = s; + } + } + if (cluster.m_refined_result) { + block_values = cluster.m_refined_alpha_values; + for (uint p = 0; p < 16; p++) { + for (uint s = 0; s < 8; s++) { + int delta = m_blocks[b][p][alpha_pixel_comp] - block_values[s]; + errors[p][s] = delta * delta; + } + } + } + uint (&total_errors)[16][8] = selector_details[best_index].error; + for (uint p = 0; p < 16; p++) { + for (uint s = 0; s < 8; s++) + total_errors[p][s] += errors[p][s]; + } + selector_details[best_index].used = true; + m_selector_indices[b].component[c] = best_index; } } - m_color_selectors.resize(selector_count); - m_chunk_blocks_using_color_selectors.resize(selector_count); - - return true; } -bool dxt_hc::refine_quantized_alpha_selectors() { - if (!m_num_alpha_blocks) - return true; - -#if CRNLIB_ENABLE_DEBUG_MESSAGES - if (m_params.m_debugging) - console::info("Refining quantized alpha selectors"); -#endif - - uint total_refined_selectors = 0; - uint total_refined_pixels = 0; - uint total_selectors = 0; - - for (uint selector_index = 0; selector_index < m_alpha_selectors.size(); selector_index++) { - if ((selector_index & 255) == 0) { - if (!update_progress(16, selector_index, m_alpha_selectors.size())) - return false; +bool dxt_hc::create_alpha_selector_codebook() { + vec16F_tree_vq selector_vq; + vec16F v; + for (uint c = cAlpha0Chunks; c < cAlpha0Chunks + m_num_alpha_blocks; c++) { + for (uint b = 0; b < m_blocks.size(); b++) { + uint64 selector = m_block_selectors[c][b]; + for (uint8 p = 0; p < 16; p++, selector >>= 3) + v[p] = ((selector & 7) + 0.5f) * 0.125f; + selector_vq.add_training_vec(v, selector); } + } + selector_vq.generate_codebook(m_params.m_alpha_selector_codebook_size); + m_alpha_selectors.resize(selector_vq.get_codebook_size()); + m_alpha_selectors_used.resize(selector_vq.get_codebook_size()); + for (uint i = 0; i < selector_vq.get_codebook_size(); i++) { + const vec16F& v = selector_vq.get_codebook_entry(i); + m_alpha_selectors[i] = 0; + for (uint sh = 0, j = 0; j < 16; j++, sh += 3) { + uint8 s = g_dxt5_from_linear[(int)(v[j] * 8.0f)]; + m_alpha_selectors[i] |= (uint64)s << sh; + } + } - if (m_chunk_blocks_using_alpha_selectors[selector_index].empty()) - continue; + uint num_tasks = m_pTask_pool->get_num_threads() + 1; + crnlib::vector> selector_details(num_tasks); + for (uint t = 0; t < num_tasks; t++) { + selector_details[t].resize(m_alpha_selectors.size()); + m_pTask_pool->queue_object_task(this, &dxt_hc::create_alpha_selector_codebook_task, t, &selector_details[t]); + } + m_pTask_pool->join(); - selectors& sel = m_alpha_selectors[selector_index]; + for (uint t = 1; t < num_tasks; t++) { + for (uint i = 0; i < m_alpha_selectors.size(); i++) { + for (uint8 p = 0; p < 16; p++) { + for (uint8 s = 0; s < 8; s++) + selector_details[0][i].error[p][s] += selector_details[t][i].error[p][s]; + } + selector_details[0][i].used = selector_details[0][i].used || selector_details[t][i].used; + } + } - for (uint y = 0; y < cBlockPixelHeight; y++) { - for (uint x = 0; x < cBlockPixelWidth; x++) { - uint best_s = 0; - uint best_error = UINT_MAX; - - for (uint s = 0; s < cDXT5SelectorValues; s++) { - uint total_error = 0; - - for (uint block_iter = 0; block_iter < m_chunk_blocks_using_alpha_selectors[selector_index].size(); block_iter++) { - const block_id& id = m_chunk_blocks_using_alpha_selectors[selector_index][block_iter]; - const uint chunk_index = id.m_chunk_index; - const uint tile_index = id.m_tile_index; - const uint chunk_block_x = id.m_block_x; - const uint chunk_block_y = id.m_block_y; - const uint alpha_index = id.m_alpha_index; - CRNLIB_ASSERT(alpha_index < m_num_alpha_blocks); - - CRNLIB_ASSERT((chunk_block_x < cChunkBlockWidth) && (chunk_block_y < cChunkBlockHeight)); - - const compressed_chunk& chunk = m_compressed_chunks[alpha_index + cAlpha0Chunks][chunk_index]; - CRNLIB_ASSERT(tile_index < chunk.m_num_tiles); - - CRNLIB_ASSERT(chunk.m_selector_cluster_index[chunk_block_y][chunk_block_x] == selector_index); - - const compressed_tile& tile = chunk.m_quantized_tiles[tile_index]; - - //const chunk_tile_desc& tile_desc = g_chunk_tile_layouts[tile.m_layout_index]; - - uint block_values[cDXT5SelectorValues]; - CRNLIB_ASSERT(tile.m_first_endpoint >= tile.m_second_endpoint); - dxt5_block::get_block_values(block_values, tile.m_first_endpoint, tile.m_second_endpoint); - - int orig_value = m_pChunks[chunk_index](chunk_block_x * cBlockPixelWidth + x, chunk_block_y * cBlockPixelHeight + y)[m_params.m_alpha_component_indices[alpha_index]]; - int quantized_value = block_values[s]; - - int error = (orig_value - quantized_value); - error *= error; - - total_error += error; - - } // block_iter - - if (total_error < best_error) { - best_error = total_error; - best_s = s; - } - - } // s - - if (sel.m_selectors[y][x] != best_s) { - total_refined_selectors++; - total_refined_pixels += m_chunk_blocks_using_alpha_selectors[selector_index].size(); - sel.m_selectors[y][x] = static_cast(best_s); - } - - total_selectors++; - - } //x - - } //y - - } // selector_index - -#if CRNLIB_ENABLE_DEBUG_MESSAGES - if (m_params.m_debugging) - console::info("Total refined pixels: %u, selectors: %u out of %u", total_refined_pixels, total_refined_selectors, total_selectors); -#endif - - uint selector_count = 0; - hash_map packed_selectors; for (uint i = 0; i < m_alpha_selectors.size(); i++) { - if (m_chunk_blocks_using_alpha_selectors[i].size()) { - uint64 packed_selector = 0; - for (uint s = 0; s < 16; s++) - packed_selector |= (uint64)m_alpha_selectors[i].get_by_index(s) << (s << 2); - hash_map::insert_result insert_result = packed_selectors.insert(packed_selector, selector_count); - if (insert_result.second) { - if (selector_count != i) { - m_alpha_selectors[selector_count] = m_alpha_selectors[i]; - m_chunk_blocks_using_alpha_selectors[selector_count].swap(m_chunk_blocks_using_alpha_selectors[i]); - for (uint b = 0; b < m_chunk_blocks_using_alpha_selectors[selector_count].size(); b++) { - const block_id& id = m_chunk_blocks_using_alpha_selectors[selector_count][b]; - m_compressed_chunks[cAlpha0Chunks + id.m_alpha_index][id.m_chunk_index].m_selector_cluster_index[id.m_block_y][id.m_block_x] = selector_count; - } + m_alpha_selectors_used[i] = selector_details[0][i].used; + uint (&errors)[16][8] = selector_details[0][i].error; + m_alpha_selectors[i] = 0; + for (uint sh = 0, p = 0; p < 16; p++, sh += 3) { + uint best_error = errors[p][0]; + uint8 best_s = 0; + for (uint8 s = 1; s < 8; s++) { + uint error = errors[p][s]; + if (error < best_error) { + best_s = s; + best_error = error; } - selector_count++; - } else { - for (uint b = 0; b < m_chunk_blocks_using_alpha_selectors[i].size(); b++) { - const block_id& id = m_chunk_blocks_using_alpha_selectors[i][b]; - m_compressed_chunks[cAlpha0Chunks + id.m_alpha_index][id.m_chunk_index].m_selector_cluster_index[id.m_block_y][id.m_block_x] = insert_result.first->second; - } - m_chunk_blocks_using_alpha_selectors[insert_result.first->second].append(m_chunk_blocks_using_alpha_selectors[i]); - m_chunk_blocks_using_alpha_selectors[i].clear(); - } - } - } - m_alpha_selectors.resize(selector_count); - m_chunk_blocks_using_alpha_selectors.resize(selector_count); - - return true; -} - -bool dxt_hc::refine_quantized_color_endpoints() { - if (!m_has_color_blocks) - return true; - - for (uint cluster_index = 0; cluster_index < m_color_clusters.size(); cluster_index++) { - tile_cluster& cluster = m_color_clusters[cluster_index]; - if (cluster.m_refined.result) { - cluster.m_error = cluster.m_refined.error; - cluster.m_first_endpoint = cluster.m_refined.first_endpoint; - cluster.m_second_endpoint = cluster.m_refined.second_endpoint; - for (uint tile_iter = 0; tile_iter < cluster.m_tiles.size(); tile_iter++) { - const uint chunk_index = cluster.m_tiles[tile_iter].first; - const uint tile_index = cluster.m_tiles[tile_iter].second; - compressed_chunk& chunk = m_compressed_chunks[cColorChunks][chunk_index]; - compressed_tile& tile = chunk.m_quantized_tiles[tile_index]; - tile.m_first_endpoint = cluster.m_first_endpoint; - tile.m_second_endpoint = cluster.m_second_endpoint; - } - } - } - - uint cluster_count = 0; - hash_map packed_clusters; - for (uint i = 0; i < m_color_clusters.size(); i++) { - tile_cluster& cluster = m_color_clusters[i]; - if (cluster.m_tiles.size()) { - uint32 packed_cluster = cluster.m_first_endpoint | cluster.m_second_endpoint << 16; - hash_map::insert_result insert_result = packed_clusters.insert(packed_cluster, cluster_count); - if (insert_result.second) { - if (cluster_count != i) { - tile_cluster& destination_cluster = m_color_clusters[cluster_count]; - destination_cluster.m_error = cluster.m_error; - destination_cluster.m_first_endpoint = cluster.m_first_endpoint; - destination_cluster.m_second_endpoint = cluster.m_second_endpoint; - destination_cluster.m_tiles.swap(cluster.m_tiles); - for (uint t = 0; t < destination_cluster.m_tiles.size(); t++) { - const uint chunk_index = destination_cluster.m_tiles[t].first; - const uint tile_index = destination_cluster.m_tiles[t].second; - compressed_tile& tile = m_compressed_chunks[cColorChunks][chunk_index].m_quantized_tiles[tile_index]; - tile.m_first_endpoint = destination_cluster.m_first_endpoint; - tile.m_second_endpoint = destination_cluster.m_second_endpoint; - tile.m_endpoint_cluster_index = cluster_count; - } - } - cluster_count++; - } else { - tile_cluster& destination_cluster = m_color_clusters[insert_result.first->second]; - for (uint t = 0; t < cluster.m_tiles.size(); t++) { - const uint chunk_index = cluster.m_tiles[t].first; - const uint tile_index = cluster.m_tiles[t].second; - compressed_tile& tile = m_compressed_chunks[cColorChunks][chunk_index].m_quantized_tiles[tile_index]; - tile.m_endpoint_cluster_index = insert_result.first->second; - } - destination_cluster.m_error += cluster.m_error; - destination_cluster.m_tiles.append(cluster.m_tiles); - cluster.m_tiles.clear(); - } - } - } - m_color_clusters.resize(cluster_count); - - return true; -} - -bool dxt_hc::refine_quantized_alpha_endpoints() { - if (!m_num_alpha_blocks) - return true; - - for (uint cluster_index = 0; cluster_index < m_alpha_clusters.size(); cluster_index++) { - tile_cluster& cluster = m_alpha_clusters[cluster_index]; - if (cluster.m_refined.result) { - cluster.m_error = cluster.m_refined.error; - cluster.m_first_endpoint = cluster.m_refined.first_endpoint; - cluster.m_second_endpoint = cluster.m_refined.second_endpoint; - for (uint tile_iter = 0; tile_iter < cluster.m_tiles.size(); tile_iter++) { - const uint chunk_index = cluster.m_tiles[tile_iter].first; - const uint tile_index = cluster.m_tiles[tile_iter].second & 0xFFFFU; - const uint alpha_index = cluster.m_tiles[tile_iter].second >> 16U; - compressed_tile& tile = m_compressed_chunks[cAlpha0Chunks + alpha_index][chunk_index].m_quantized_tiles[tile_index]; - tile.m_first_endpoint = cluster.m_first_endpoint; - tile.m_second_endpoint = cluster.m_second_endpoint; } + m_alpha_selectors[i] |= (uint64)best_s << sh; } } - uint cluster_count = 0; - hash_map packed_clusters; - for (uint i = 0; i < m_alpha_clusters.size(); i++) { - tile_cluster& cluster = m_alpha_clusters[i]; - if (cluster.m_tiles.size()) { - uint32 packed_cluster = cluster.m_first_endpoint | cluster.m_second_endpoint << 16; - hash_map::insert_result insert_result = packed_clusters.insert(packed_cluster, cluster_count); - if (insert_result.second) { - if (cluster_count != i) { - tile_cluster& destination_cluster = m_alpha_clusters[cluster_count]; - destination_cluster.m_error = cluster.m_error; - destination_cluster.m_first_endpoint = cluster.m_first_endpoint; - destination_cluster.m_second_endpoint = cluster.m_second_endpoint; - destination_cluster.m_tiles.swap(cluster.m_tiles); - for (uint t = 0; t < destination_cluster.m_tiles.size(); t++) { - const uint chunk_index = destination_cluster.m_tiles[t].first; - const uint tile_index = destination_cluster.m_tiles[t].second & 0xFFFFU; - const uint alpha_index = destination_cluster.m_tiles[t].second >> 16U; - compressed_tile& tile = m_compressed_chunks[cAlpha0Chunks + alpha_index][chunk_index].m_quantized_tiles[tile_index]; - tile.m_first_endpoint = destination_cluster.m_first_endpoint; - tile.m_second_endpoint = destination_cluster.m_second_endpoint; - tile.m_endpoint_cluster_index = cluster_count; - } - } - cluster_count++; - } else { - tile_cluster& destination_cluster = m_alpha_clusters[insert_result.first->second]; - for (uint t = 0; t < cluster.m_tiles.size(); t++) { - const uint chunk_index = cluster.m_tiles[t].first; - const uint tile_index = cluster.m_tiles[t].second & 0xFFFFU; - const uint alpha_index = cluster.m_tiles[t].second >> 16U; - compressed_tile& tile = m_compressed_chunks[cAlpha0Chunks + alpha_index][chunk_index].m_quantized_tiles[tile_index]; - tile.m_endpoint_cluster_index = insert_result.first->second; - } - destination_cluster.m_error += cluster.m_error; - destination_cluster.m_tiles.append(cluster.m_tiles); - cluster.m_tiles.clear(); - } - } - } - m_alpha_clusters.resize(cluster_count); - - return true; -} - -bool dxt_hc::create_block_encodings(const params& p) { - crnlib::vector& endpoint_indices = *p.m_endpoint_indices; - crnlib::vector& selector_indices = *p.m_selector_indices; - - endpoint_indices.resize(m_num_chunks << 2); - selector_indices.resize(m_num_chunks << 2); - bool hasBlocks[cNumCompressedChunkVecs] = {m_has_color_blocks, m_num_alpha_blocks > 0, m_num_alpha_blocks > 1}; - - for (uint level = 0; level < p.m_num_levels; level++) { - uint first_chunk = p.m_levels[level].m_first_chunk; - uint end_chunk = p.m_levels[level].m_first_chunk + p.m_levels[level].m_num_chunks; - uint chunk_width = p.m_levels[level].m_chunk_width; - uint block_width = chunk_width << 1; - for (uint b = first_chunk << 2, cy = 0, chunk_base = first_chunk; chunk_base < end_chunk; chunk_base += chunk_width, cy++) { - for (uint by = 0; by < 2; by++) { - for (uint cx = 0; cx < chunk_width; cx++) { - for (uint bx = 0; bx < 2; bx++, b++) { - bool top_match = cy || by; - bool left_match = top_match || cx || bx; - for (uint c = 0; c < cNumCompressedChunkVecs; c++) { - if (hasBlocks[c]) { - const compressed_chunk& chunk = m_compressed_chunks[c][chunk_base + cx]; - uint16 endpoint_index = chunk.m_quantized_tiles[g_tile_map[chunk.m_encoding_index][by][bx]].m_endpoint_cluster_index; - left_match = left_match && endpoint_index == endpoint_indices[b - 1].component[c]; - top_match = top_match && endpoint_index == endpoint_indices[b - block_width].component[c]; - endpoint_indices[b].component[c] = endpoint_index; - selector_indices[b].component[c] = chunk.m_selector_cluster_index[by][bx]; - } - } - endpoint_indices[b].reference = left_match ? 1 : top_match ? 2 : 0; - } - } - } - } - } - - if (m_has_color_blocks) { - m_color_endpoints.resize(m_color_clusters.size()); - for (uint i = 0; i < m_color_clusters.size(); i++) - m_color_endpoints[i] = dxt1_block::pack_endpoints(m_color_clusters[i].m_first_endpoint, m_color_clusters[i].m_second_endpoint); - } - - if (m_num_alpha_blocks) { - m_alpha_endpoints.resize(m_alpha_clusters.size()); - for (uint i = 0; i < m_alpha_clusters.size(); i++) - m_alpha_endpoints[i] = dxt5_block::pack_endpoints(m_alpha_clusters[i].m_first_endpoint, m_alpha_clusters[i].m_second_endpoint); - } - - return true; + return !m_canceled; } bool dxt_hc::update_progress(uint phase_index, uint subphase_index, uint subphase_total) { diff --git a/crnlib/crn_dxt_hc.h b/crnlib/crn_dxt_hc.h index 9b223bd..b570681 100644 --- a/crnlib/crn_dxt_hc.h +++ b/crnlib/crn_dxt_hc.h @@ -50,9 +50,14 @@ class dxt_hc { }; crnlib::vector m_chunk_details; - crnlib::vector m_block_selectors[3]; crnlib::vector> m_blocks; + crnlib::vector m_block_selectors[3]; + crnlib::vector m_color_selectors; + crnlib::vector m_alpha_selectors; + crnlib::vector m_color_selectors_used; + crnlib::vector m_alpha_selectors_used; crnlib::vector m_endpoint_indices; + crnlib::vector m_selector_indices; struct pixel_chunk { pixel_chunk() { clear(); } @@ -186,9 +191,9 @@ class dxt_hc { const crnlib::vector& get_color_endpoint_vec() const { return m_color_endpoints; } // Color selectors - uint get_color_selector_codebook_size() const { return m_color_selectors.size(); } - const selectors& get_color_selectors(uint codebook_index) const { return m_color_selectors[codebook_index]; } - const crnlib::vector& get_color_selectors_vec() const { return m_color_selectors; } + uint get_color_selector_codebook_size() const { return m_color_selectors_vec.size(); } + const selectors& get_color_selectors(uint codebook_index) const { return m_color_selectors_vec[codebook_index]; } + const crnlib::vector& get_color_selectors_vec() const { return m_color_selectors_vec; } // Alpha endpoints inline uint get_alpha_endpoint_codebook_size() const { return m_alpha_endpoints.size(); } @@ -196,9 +201,9 @@ class dxt_hc { const crnlib::vector& get_alpha_endpoint_vec() const { return m_alpha_endpoints; } // Alpha selectors - uint get_alpha_selector_codebook_size() const { return m_alpha_selectors.size(); } - const selectors& get_alpha_selectors(uint codebook_index) const { return m_alpha_selectors[codebook_index]; } - const crnlib::vector& get_alpha_selectors_vec() const { return m_alpha_selectors; } + uint get_alpha_selector_codebook_size() const { return m_alpha_selectors_vec.size(); } + const selectors& get_alpha_selectors(uint codebook_index) const { return m_alpha_selectors_vec[codebook_index]; } + const crnlib::vector& get_alpha_selectors_vec() const { return m_alpha_selectors_vec; } private: params m_params; @@ -230,7 +235,6 @@ class dxt_hc { uint8 m_num_tiles; compressed_tile m_tiles[cChunkMaxTiles]; - compressed_tile m_quantized_tiles[cChunkMaxTiles]; uint16 m_endpoint_cluster_index[cChunkMaxTiles]; uint16 m_selector_cluster_index[cChunkBlockHeight][cChunkBlockWidth]; @@ -265,23 +269,21 @@ class dxt_hc { struct tile_cluster { tile_cluster() - : m_first_endpoint(0), m_second_endpoint(0), m_error(0) {} + : m_first_endpoint(0), m_second_endpoint(0) {} // first = chunk, second = tile // if an alpha tile, second's upper 16 bits contains the alpha index (0 or 1) crnlib::vector > m_tiles; crnlib::vector m_pixels; - crnlib::vector m_selectors; - struct { - bool result; - uint first_endpoint; - uint second_endpoint; - uint64 error; - } m_refined; uint m_first_endpoint; uint m_second_endpoint; - uint64 m_error; + color_quad_u8 m_color_values[4]; + uint m_alpha_values[8]; + bool m_refined_result; + uint m_refined_first_endpoint; + uint m_refined_second_endpoint; + uint m_refined_alpha_values[8]; }; typedef crnlib::vector tile_cluster_vec; @@ -289,8 +291,8 @@ class dxt_hc { tile_cluster_vec m_color_clusters; tile_cluster_vec m_alpha_clusters; - selectors_vec m_color_selectors; - selectors_vec m_alpha_selectors; + selectors_vec m_alpha_selectors_vec; + selectors_vec m_color_selectors_vec; // For each selector, this array indicates every chunk/tile/tile block that use this color selector. struct block_id { @@ -307,8 +309,6 @@ class dxt_hc { }; typedef crnlib::vector > chunk_blocks_using_selectors_vec; - chunk_blocks_using_selectors_vec m_chunk_blocks_using_color_selectors; - chunk_blocks_using_selectors_vec m_chunk_blocks_using_alpha_selectors; // second's upper 16 bits contain alpha index! crnlib::vector m_color_endpoints; // not valid until end, only for user access crnlib::vector m_alpha_endpoints; // not valid until end, only for user access @@ -377,17 +377,15 @@ class dxt_hc { void determine_alpha_endpoint_codebook_task(uint64 data, void* pData_ptr); bool determine_alpha_endpoint_codebook(); - void create_selector_codebook_task(uint64 data, void* pData_ptr); - bool create_selector_codebook(bool alpha_blocks); + void create_color_selector_codebook_task(uint64 data, void* pData_ptr); + bool create_color_selector_codebook(); + + void create_alpha_selector_codebook_task(uint64 data, void* pData_ptr); + bool create_alpha_selector_codebook(); - bool refine_quantized_color_endpoints(); - bool refine_quantized_color_selectors(); - bool refine_quantized_alpha_endpoints(); - bool refine_quantized_alpha_selectors(); bool initialize_blocks(const params& p); bool create_block_encodings(const params& p); bool update_progress(uint phase_index, uint subphase_index, uint subphase_total); - bool compress_internal(const params& p, uint num_chunks, const pixel_chunk* pChunks); }; CRNLIB_DEFINE_BITWISE_COPYABLE(dxt_hc::pixel_chunk);