From b50b394845bfecb5ed72f005d3eedcd7fefe1341 Mon Sep 17 00:00:00 2001 From: Richard Geldreich Date: Fri, 3 Jul 2026 21:40:00 -0400 Subject: [PATCH] adding set_ldr_srgb_channel_weights() compression parameter API (it's no longer XUASTC/ASTC specific) --- encoder/basisu_comp.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/encoder/basisu_comp.h b/encoder/basisu_comp.h index 221dd73..145a25b 100644 --- a/encoder/basisu_comp.h +++ b/encoder/basisu_comp.h @@ -869,8 +869,8 @@ namespace basisu // For non-photographic, non-sRGB or linear (normal map) content, this should be set to 1,1,1,1. uint32_t m_xuastc_ldr_channel_weights[4]; - // Set ASTC/XUASTC LDR linear or Rec 709-like channel weights. On larger ASTC/XUASTC LDR block sizes, 709-like weights make a noticeable difference in quality. - void set_xuastc_ldr_srgb_channel_weights(bool srgb_flag) + // Set ASTC/XUASTC/XUBC7 LDR linear or Rec 709-like channel weights. On larger ASTC/XUASTC LDR block sizes, 709-like weights make a noticeable difference in quality. + void set_ldr_srgb_channel_weights(bool srgb_flag) { if (srgb_flag) { @@ -888,6 +888,12 @@ namespace basisu m_xuastc_ldr_channel_weights[3] = 1; } } + + // Previous method to set the channel weights for ASTC/XUASTC - but now these channel weights drive other codecs like XUBC7, too. + void set_xuastc_ldr_srgb_channel_weights(bool srgb_flag) + { + set_ldr_srgb_channel_weights(srgb_flag); + } // Enable prefiltering (slight H and/or V axis blurring) during encoding: much slower, but higher quality especially on larger block sizes with DCT enabled. bool_param m_xuastc_ldr_blurring;