diff --git a/stb_dxt.h b/stb_dxt.h index 5399799..95320d0 100644 --- a/stb_dxt.h +++ b/stb_dxt.h @@ -61,8 +61,23 @@ void stb_compress_bc5_block(unsigned char *dest, const unsigned char *src_rg_two // #define STB_DXT_USE_ROUNDING_BIAS #include + +#if !defined(STBD_ABS) || !defined(STBI_FABS) #include -#include // memset +#endif + +#ifndef STBD_ABS +#define STBD_ABS(i) abs(i) +#endif + +#ifndef STBD_FABS +#define STBD_FABS(x) fabs(x) +#endif + +#ifndef STBD_MEMSET +#include +#define STBD_MEMSET(x) memset(x) +#endif static unsigned char stb__Expand5[32]; static unsigned char stb__Expand6[64]; @@ -127,13 +142,13 @@ static void stb__PrepareOptTable(unsigned char *Table,const unsigned char *expan for (mx=0;mx> 4)]; ep1[0] = bp[ 0] - dp[ 0]; @@ -349,9 +364,9 @@ static void stb__OptimizeColorsBlock(unsigned char *block, unsigned short *pmax1 vfb = b; } - magn = fabs(vfr); - if (fabs(vfg) > magn) magn = fabs(vfg); - if (fabs(vfb) > magn) magn = fabs(vfb); + magn = STBD_FABS(vfr); + if (STBD_FABS(vfg) > magn) magn = STBD_FABS(vfg); + if (STBD_FABS(vfb) > magn) magn = STBD_FABS(vfb); if(magn < 4.0f) { // too small, default to luminance v_r = 299; // JPEG YCbCr luma coefs, scaled by 1000.