| # basisu_constants.py | |
| # ============================================================ | |
| # .KTX2/.basis file types | |
| # basist::basis_tex_format | |
| # ============================================================ | |
| class BasisTexFormat: | |
| # Original LDR formats | |
| cETC1S = 0 | |
| cUASTC_LDR_4x4 = 1 | |
| # HDR | |
| cUASTC_HDR_4x4 = 2 | |
| cASTC_HDR_6x6 = 3 | |
| cUASTC_HDR_6x6 = 4 | |
| # XUASTC supercompressed LDR formats | |
| cXUASTC_LDR_4x4 = 5 | |
| cXUASTC_LDR_5x4 = 6 | |
| cXUASTC_LDR_5x5 = 7 | |
| cXUASTC_LDR_6x5 = 8 | |
| cXUASTC_LDR_6x6 = 9 | |
| cXUASTC_LDR_8x5 = 10 | |
| cXUASTC_LDR_8x6 = 11 | |
| cXUASTC_LDR_10x5 = 12 | |
| cXUASTC_LDR_10x6 = 13 | |
| cXUASTC_LDR_8x8 = 14 | |
| cXUASTC_LDR_10x8 = 15 | |
| cXUASTC_LDR_10x10= 16 | |
| cXUASTC_LDR_12x10= 17 | |
| cXUASTC_LDR_12x12= 18 | |
| # Standard ASTC LDR | |
| cASTC_LDR_4x4 = 19 | |
| cASTC_LDR_5x4 = 20 | |
| cASTC_LDR_5x5 = 21 | |
| cASTC_LDR_6x5 = 22 | |
| cASTC_LDR_6x6 = 23 | |
| cASTC_LDR_8x5 = 24 | |
| cASTC_LDR_8x6 = 25 | |
| cASTC_LDR_10x5 = 26 | |
| cASTC_LDR_10x6 = 27 | |
| cASTC_LDR_8x8 = 28 | |
| cASTC_LDR_10x8 = 29 | |
| cASTC_LDR_10x10= 30 | |
| cASTC_LDR_12x10= 31 | |
| cASTC_LDR_12x12= 32 | |
| # Supercompressed BC7 | |
| cXUBC7 = 33 | |
| # ============================================================ | |
| # Unified quality level: 1-100 (higher=better quality, 100 disables some codec options) | |
| # ============================================================ | |
| class BasisQuality: | |
| MIN = 1 | |
| MAX = 100 | |
| # ============================================================ | |
| # Unified effort level: 0-10 (0=fastest, 10=very slow, higher=slower but higher potential quality/more features utilized) | |
| # ============================================================ | |
| class BasisEffort: | |
| MIN = 0 | |
| MAX = 10 | |
| SUPER_FAST = 0 | |
| FAST = 2 | |
| NORMAL = 5 | |
| DEFAULT = 2 | |
| SLOW = 8 | |
| VERY_SLOW = 10 | |
| # ============================================================ | |
| # C-style API flags | |
| # ============================================================ | |
| class BasisFlags: | |
| NONE = 0 | |
| USE_OPENCL = 1 << 8 | |
| THREADED = 1 << 9 | |
| DEBUG_OUTPUT = 1 << 10 | |
| KTX2_OUTPUT = 1 << 11 | |
| KTX2_UASTC_ZSTD = 1 << 12 | |
| SRGB = 1 << 13 | |
| GEN_MIPS_CLAMP = 1 << 14 | |
| GEN_MIPS_WRAP = 1 << 15 | |
| Y_FLIP = 1 << 16 | |
| PRINT_STATS = 1 << 18 | |
| PRINT_STATUS = 1 << 19 | |
| DEBUG_IMAGES = 1 << 20 | |
| REC2020 = 1 << 21 | |
| VALIDATE_OUTPUT = 1 << 22 | |
| XUASTC_LDR_FULL_ARITH = 0 | |
| XUASTC_LDR_HYBRID = 1 << 23 | |
| XUASTC_LDR_FULL_ZSTD = 2 << 23 | |
| XUASTC_LDR_SYNTAX_SHIFT = 23 | |
| XUASTC_LDR_SYNTAX_MASK = 3 | |
| TEXTURE_TYPE_2D = 0 << 25 | |
| TEXTURE_TYPE_2D_ARRAY = 1 << 25 | |
| TEXTURE_TYPE_CUBEMAP_ARRAY = 2 << 25 | |
| TEXTURE_TYPE_VIDEO_FRAMES = 3 << 25 | |
| TEXTURE_TYPE_SHIFT = 25 | |
| TEXTURE_TYPE_MASK = 3 | |
| # ASTC/XUASTC LDR deblocking control (default: deblock block sizes >= 80 texels/block) | |
| DISABLE_DEBLOCKING = 1 << 27 | |
| FORCE_DEBLOCKING = 1 << 28 | |
| # XUBC7 only: BC7 base-encoder selection, packed into a 3-bit field. | |
| # Field 0 = bc7f (default fast packer); 1-7 = bc7e_scalar at level 0-6 (field = level + 1). | |
| # Build a bc7e_scalar value as: ((level + 1) << XUBC7_BASE_ENCODER_SHIFT) | |
| XUBC7_BASE_ENCODER_BC7F = 0 << 29 | |
| XUBC7_BASE_ENCODER_SHIFT = 29 | |
| XUBC7_BASE_ENCODER_MASK = 7 | |
| 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 = 1 | |
| TF_BC1_RGB = 2 | |
| TF_BC3_RGBA = 3 | |
| TF_BC4_R = 4 | |
| TF_BC5_RG = 5 | |
| TF_BC7_RGBA = 6 | |
| TF_PVRTC1_4_RGB = 8 | |
| TF_PVRTC1_4_RGBA = 9 | |
| TF_ASTC_LDR_4X4_RGBA = 10 | |
| TF_ATC_RGB = 11 | |
| TF_ATC_RGBA = 12 | |
| # Uncompressed | |
| TF_RGBA32 = 13 | |
| TF_RGB565 = 14 | |
| TF_BGR565 = 15 | |
| TF_RGBA4444 = 16 | |
| TF_FXT1_RGB = 17 | |
| TF_PVRTC2_4_RGB = 18 | |
| TF_PVRTC2_4_RGBA = 19 | |
| TF_ETC2_EAC_R11 = 20 | |
| TF_ETC2_EAC_RG11 = 21 | |
| TF_BC6H = 22 | |
| TF_ASTC_HDR_4X4_RGBA = 23 | |
| TF_RGB_HALF = 24 | |
| TF_RGBA_HALF = 25 | |
| TF_RGB_9E5 = 26 | |
| TF_ASTC_HDR_6X6_RGBA = 27 | |
| TF_ASTC_LDR_5X4_RGBA = 28 | |
| TF_ASTC_LDR_5X5_RGBA = 29 | |
| TF_ASTC_LDR_6X5_RGBA = 30 | |
| TF_ASTC_LDR_6X6_RGBA = 31 | |
| TF_ASTC_LDR_8X5_RGBA = 32 | |
| TF_ASTC_LDR_8X6_RGBA = 33 | |
| TF_ASTC_LDR_10X5_RGBA = 34 | |
| TF_ASTC_LDR_10X6_RGBA = 35 | |
| TF_ASTC_LDR_8X8_RGBA = 36 | |
| TF_ASTC_LDR_10X8_RGBA = 37 | |
| TF_ASTC_LDR_10X10_RGBA= 38 | |
| TF_ASTC_LDR_12X10_RGBA= 39 | |
| TF_ASTC_LDR_12X12_RGBA= 40 | |
| TOTAL = 41 | |
| # ============================================================ | |
| # Transcoder Decode Flags | |
| # ============================================================ | |
| class TranscodeDecodeFlags: | |
| PVRTC_DECODE_TO_NEXT_POW2 = 2 | |
| TRANSCODE_ALPHA_TO_OPAQUE = 4 | |
| BC1_FORBID_THREE_COLOR_BLOCKS = 8 | |
| OUTPUT_HAS_ALPHA_INDICES = 16 | |
| HIGH_QUALITY = 32 | |
| NO_ETC1S_CHROMA_FILTERING = 64 | |
| NO_DEBLOCK_FILTERING = 128 | |
| FORCE_DEBLOCK_FILTERING = 512 | |
| XUASTC_LDR_DISABLE_FAST_BC7_TRANSCODING = 1024 |