MCPcopy Create free account
hub / github.com/KhronosGroup/KTX-Software / decode_tables

Method decode_tables

external/basisu/transcoder/basisu_transcoder.cpp:7708–7776  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

7706 }
7707
7708 bool basisu_lowlevel_etc1s_transcoder::decode_tables(const uint8_t* pTable_data, uint32_t table_data_size)
7709 {
7710 basist::bitwise_decoder sym_codec;
7711 if (!sym_codec.init(pTable_data, table_data_size))
7712 {
7713 BASISU_DEVEL_ERROR("basisu_lowlevel_etc1s_transcoder::decode_tables: fail 0\n");
7714 return false;
7715 }
7716
7717 if (!sym_codec.read_huffman_table(m_endpoint_pred_model))
7718 {
7719 BASISU_DEVEL_ERROR("basisu_lowlevel_etc1s_transcoder::decode_tables: fail 1\n");
7720 return false;
7721 }
7722
7723 if (m_endpoint_pred_model.get_code_sizes().size() == 0)
7724 {
7725 BASISU_DEVEL_ERROR("basisu_lowlevel_etc1s_transcoder::decode_tables: fail 1a\n");
7726 return false;
7727 }
7728
7729 if (!sym_codec.read_huffman_table(m_delta_endpoint_model))
7730 {
7731 BASISU_DEVEL_ERROR("basisu_lowlevel_etc1s_transcoder::decode_tables: fail 2\n");
7732 return false;
7733 }
7734
7735 if (m_delta_endpoint_model.get_code_sizes().size() == 0)
7736 {
7737 BASISU_DEVEL_ERROR("basisu_lowlevel_etc1s_transcoder::decode_tables: fail 2a\n");
7738 return false;
7739 }
7740
7741 if (!sym_codec.read_huffman_table(m_selector_model))
7742 {
7743 BASISU_DEVEL_ERROR("basisu_lowlevel_etc1s_transcoder::decode_tables: fail 3\n");
7744 return false;
7745 }
7746
7747 if (m_selector_model.get_code_sizes().size() == 0)
7748 {
7749 BASISU_DEVEL_ERROR("basisu_lowlevel_etc1s_transcoder::decode_tables: fail 3a\n");
7750 return false;
7751 }
7752
7753 if (!sym_codec.read_huffman_table(m_selector_history_buf_rle_model))
7754 {
7755 BASISU_DEVEL_ERROR("basisu_lowlevel_etc1s_transcoder::decode_tables: fail 4\n");
7756 return false;
7757 }
7758
7759 if (m_selector_history_buf_rle_model.get_code_sizes().size() == 0)
7760 {
7761 BASISU_DEVEL_ERROR("basisu_lowlevel_etc1s_transcoder::decode_tables: fail 4a\n");
7762 return false;
7763 }
7764
7765 m_selector_history_buf_size = sym_codec.get_bits(13);

Callers 3

start_transcodingMethod · 0.45

Calls 5

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

Tested by

no test coverage detected