MCPcopy Create free account
hub / github.com/BinomialLLC/basis_universal / find_initial

Method find_initial

encoder/basisu_enc.cpp:1809–1830  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1807 }
1808
1809 void palette_index_reorderer::find_initial(uint32_t num_syms)
1810 {
1811 uint32_t max_count = 0, max_index = 0;
1812 for (uint32_t i = 0; i < num_syms * num_syms; i++)
1813 if (m_hist[i] > max_count)
1814 max_count = m_hist[i], max_index = i;
1815
1816 uint32_t a = max_index / num_syms, b = max_index % num_syms;
1817
1818 const size_t ofs = m_entries_picked.size();
1819
1820 m_entries_picked.push_back(a);
1821 m_entries_picked.push_back(b);
1822
1823 for (uint32_t i = 0; i < num_syms; i++)
1824 if ((i != m_entries_picked[ofs + 1]) && (i != m_entries_picked[ofs]))
1825 m_entries_to_do.push_back(i);
1826
1827 for (uint32_t i = 0; i < m_entries_to_do.size(); i++)
1828 for (uint32_t j = 0; j < m_entries_picked.size(); j++)
1829 m_total_count_to_picked[m_entries_to_do[i]] += get_hist(m_entries_to_do[i], m_entries_picked[j], num_syms);
1830 }
1831
1832 void palette_index_reorderer::find_next_entry(uint32_t &best_entry, double &best_count, pEntry_dist_func pDist_func, void *pCtx, float dist_func_weight)
1833 {

Callers

nothing calls this directly

Calls 2

sizeMethod · 0.45
push_backMethod · 0.45

Tested by

no test coverage detected