#pragma once
#include "basisu_astc_helpers.h"
namespace basist
{
struct astc_blk
{ … };
const float ASTC_HDR_MAX_VAL = …;
const uint32_t MAX_QLOG7 = …;
const uint32_t MAX_QLOG8 = …;
const uint32_t MAX_QLOG9 = …;
const uint32_t MAX_QLOG10 = …;
const uint32_t MAX_QLOG11 = …;
const uint32_t MAX_QLOG12 = …;
const uint32_t MAX_QLOG16 = …;
const float MAX_QLOG16_VAL = …;
const uint32_t NUM_MODE11_ENDPOINTS = …, NUM_MODE7_ENDPOINTS = …;
inline half_float qlog16_to_half_slow(uint32_t qlog16)
{ … }
inline half_float qlog_to_half_slow(uint32_t qlog, uint32_t bits)
{ … }
void astc_hdr_core_init();
void decode_mode7_to_qlog12_ise20(
const uint8_t* pEndpoints,
int e[2][3],
int* pScale);
bool decode_mode7_to_qlog12(
const uint8_t* pEndpoints,
int e[2][3],
int* pScale,
uint32_t ise_endpoint_range);
void decode_mode11_to_qlog12_ise20(
const uint8_t* pEndpoints,
int e[2][3]);
bool decode_mode11_to_qlog12(
const uint8_t* pEndpoints,
int e[2][3],
uint32_t ise_endpoint_range);
bool transcode_bc6h_1subset(half_float h_e[3][2], const astc_helpers::log_astc_block& best_blk, bc6h_block& transcoded_bc6h_blk);
bool transcode_bc6h_2subsets(uint32_t common_part_index, const astc_helpers::log_astc_block& best_blk, bc6h_block& transcoded_bc6h_blk);
bool astc_hdr_transcode_to_bc6h(const astc_blk& src_blk, bc6h_block& dst_blk);
bool astc_hdr_transcode_to_bc6h(const astc_helpers::log_astc_block& log_blk, bc6h_block& dst_blk);
}