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

Function load_basis_file

external/basisu/basisu_tool.cpp:904–943  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

902};
903
904static basis_data *load_basis_file(const char *pInput_filename, bool force_etc1s)
905{
906 basis_data* p = new basis_data;
907 uint8_vec &basis_data = p->m_file_data;
908 if (!basisu::read_file_to_vec(pInput_filename, basis_data))
909 {
910 error_printf("Failed reading file \"%s\"\n", pInput_filename);
911 delete p;
912 return nullptr;
913 }
914 printf("Input file \"%s\"\n", pInput_filename);
915 if (!basis_data.size())
916 {
917 error_printf("File is empty!\n");
918 delete p;
919 return nullptr;
920 }
921 if (basis_data.size() > UINT32_MAX)
922 {
923 error_printf("File is too large!\n");
924 delete p;
925 return nullptr;
926 }
927 if (force_etc1s)
928 {
929 if (p->m_transcoder.get_tex_format((const void*)&p->m_file_data[0], (uint32_t)p->m_file_data.size()) != basist::basis_tex_format::cETC1S)
930 {
931 error_printf("Global codebook file must be in ETC1S format!\n");
932 delete p;
933 return nullptr;
934 }
935 }
936 if (!p->m_transcoder.start_transcoding(&basis_data[0], (uint32_t)basis_data.size()))
937 {
938 error_printf("start_transcoding() failed!\n");
939 delete p;
940 return nullptr;
941 }
942 return p;
943}
944
945static bool compress_mode(command_line_params &opts)
946{

Callers 2

compress_modeFunction · 0.85
unpack_and_validate_modeFunction · 0.85

Calls 6

read_file_to_vecFunction · 0.85
error_printfFunction · 0.85
printfFunction · 0.85
get_tex_formatMethod · 0.80
start_transcodingMethod · 0.80
sizeMethod · 0.45

Tested by

no test coverage detected