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

Method init

encoder/basisu_comp.cpp:392–618  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

390 }
391
392 bool basis_compressor::init(const basis_compressor_params &params)
393 {
394 debug_printf("basis_compressor::init\n");
395
396 if (!g_library_initialized)
397 {
398 error_printf("basis_compressor::init: basisu_encoder_init() MUST be called before using any encoder functionality!\n");
399 return false;
400 }
401
402 if (!params.m_pJob_pool)
403 {
404 error_printf("basis_compressor::init: A non-null job_pool pointer must be specified\n");
405 return false;
406 }
407
408 m_params = params;
409
410 if ((m_params.m_compute_stats) && (!m_params.m_validate_output_data))
411 m_params.m_validate_output_data = true;
412
413 m_hdr_image_scale = 1.0f;
414 m_ldr_to_hdr_upconversion_nit_multiplier = 1.0f;
415 m_upconverted_any_ldr_images = false;
416
417 m_total_slice_orig_texels = 0;
418 m_basis_file_size = 0;
419 m_basis_bits_per_texel = 0.0f;
420 m_ktx2_file_size = 0;
421 m_ktx2_bits_per_texel = 0.0f;
422
423 check_for_hdr_inputs();
424
425 if (m_params.m_hdr)
426 {
427 if ((m_params.m_debug) && (m_params.m_ktx2_and_basis_srgb_transfer_function) && (m_params.m_ktx2_and_basis_srgb_transfer_function.was_changed()))
428 {
429 debug_printf("Warning: m_ktx2_and_basis_srgb_transfer_function being forced to false in HDR mode (we always write linear KTX2/.basis files in HDR mode)\n");
430 }
431
432 // Always slam m_ktx2_and_basis_srgb_transfer_function on HDR inputs. We always write linear to KTX2 and .basis for HDR outputs.
433 m_params.m_ktx2_and_basis_srgb_transfer_function = false;
434 }
435
436 if (m_params.m_debug)
437 {
438 debug_printf("\nbasis_compressor::init:\n");
439
440#define PRINT_BOOL_VALUE(v) fmt_debug_printf("{}: {} {}\n", BASISU_STRINGIZE2(v), static_cast<bool>(m_params.v), m_params.v.was_changed());
441#define PRINT_INT_VALUE(v) fmt_debug_printf("{}: {} {}\n", BASISU_STRINGIZE2(v), static_cast<int>(m_params.v), m_params.v.was_changed());
442#define PRINT_UINT_VALUE(v) fmt_debug_printf("{}: {} {}\n", BASISU_STRINGIZE2(v), static_cast<uint32_t>(m_params.v), m_params.v.was_changed());
443#define PRINT_FLOAT_VALUE(v) fmt_debug_printf("{}: {} {}\n", BASISU_STRINGIZE2(v), static_cast<float>(m_params.v), m_params.v.was_changed());
444
445 fmt_debug_printf("Source LDR images: {}, HDR images: {}, filenames: {}, alpha filenames: {}, LDR mipmap images: {}, HDR mipmap images: {}\n",
446 (uint64_t)m_params.m_source_images.size(), (uint64_t)m_params.m_source_images_hdr.size(),
447 (uint64_t)m_params.m_source_filenames.size(), (uint64_t)m_params.m_source_alpha_filenames.size(),
448 (uint64_t)m_params.m_source_mipmap_images.size(), (uint64_t)m_params.m_source_mipmap_images_hdr.size());
449

Calls 9

error_printfFunction · 0.85
fmt_debug_printfFunction · 0.85
fmt_printfFunction · 0.85
opencl_is_availableFunction · 0.85
opencl_create_contextFunction · 0.85
get_format_modeMethod · 0.80
was_changedMethod · 0.45
sizeMethod · 0.45
dataMethod · 0.45

Tested by

no test coverage detected