MCPcopy Create free account
hub / github.com/defold/defold / decode_tables

Method decode_tables

engine/dlib/src/basis/transcoder/basisu_transcoder.cpp:7749–7817  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

7747 }
7748
7749 bool basisu_lowlevel_etc1s_transcoder::decode_tables(const uint8_t* pTable_data, uint32_t table_data_size)
7750 {
7751 basist::bitwise_decoder sym_codec;
7752 if (!sym_codec.init(pTable_data, table_data_size))
7753 {
7754 BASISU_DEVEL_ERROR("basisu_lowlevel_etc1s_transcoder::decode_tables: fail 0\n");
7755 return false;
7756 }
7757
7758 if (!sym_codec.read_huffman_table(m_endpoint_pred_model))
7759 {
7760 BASISU_DEVEL_ERROR("basisu_lowlevel_etc1s_transcoder::decode_tables: fail 1\n");
7761 return false;
7762 }
7763
7764 if (m_endpoint_pred_model.get_code_sizes().size() == 0)
7765 {
7766 BASISU_DEVEL_ERROR("basisu_lowlevel_etc1s_transcoder::decode_tables: fail 1a\n");
7767 return false;
7768 }
7769
7770 if (!sym_codec.read_huffman_table(m_delta_endpoint_model))
7771 {
7772 BASISU_DEVEL_ERROR("basisu_lowlevel_etc1s_transcoder::decode_tables: fail 2\n");
7773 return false;
7774 }
7775
7776 if (m_delta_endpoint_model.get_code_sizes().size() == 0)
7777 {
7778 BASISU_DEVEL_ERROR("basisu_lowlevel_etc1s_transcoder::decode_tables: fail 2a\n");
7779 return false;
7780 }
7781
7782 if (!sym_codec.read_huffman_table(m_selector_model))
7783 {
7784 BASISU_DEVEL_ERROR("basisu_lowlevel_etc1s_transcoder::decode_tables: fail 3\n");
7785 return false;
7786 }
7787
7788 if (m_selector_model.get_code_sizes().size() == 0)
7789 {
7790 BASISU_DEVEL_ERROR("basisu_lowlevel_etc1s_transcoder::decode_tables: fail 3a\n");
7791 return false;
7792 }
7793
7794 if (!sym_codec.read_huffman_table(m_selector_history_buf_rle_model))
7795 {
7796 BASISU_DEVEL_ERROR("basisu_lowlevel_etc1s_transcoder::decode_tables: fail 4\n");
7797 return false;
7798 }
7799
7800 if (m_selector_history_buf_rle_model.get_code_sizes().size() == 0)
7801 {
7802 BASISU_DEVEL_ERROR("basisu_lowlevel_etc1s_transcoder::decode_tables: fail 4a\n");
7803 return false;
7804 }
7805
7806 m_selector_history_buf_size = sym_codec.get_bits(13);

Callers 2

start_transcodingMethod · 0.80

Calls 5

read_huffman_tableMethod · 0.80
initMethod · 0.65
sizeMethod · 0.45
get_bitsMethod · 0.45
stopMethod · 0.45

Tested by

no test coverage detected