Texture2ddecoder
a python wrapper for Perfare's Texture2DDecoder
Install / Use
/learn @K0lb3/Texture2ddecoderREADME
texture2ddecoder
A python wrapper for Perfare's Texture2DDecoder
Some changes were made to the original code to make it cross-platform compatible.
Installation
pip install texture2ddecoder
or download/clone the git and use
python setup.py install
Example
import texture2ddecoder
# load sample data
data = open("astc_sample", "rb").read()
# decode data
width = 512
height = 512
block_width = block_height = 4
decoded_data= texture2ddecoder.decode_astc(data, width, height, block_width, block_height)
# load raw image data
dec_img = Image.frombytes("RGBA", (width, height), decoded_data, 'raw', ("BGRA"))
Functions
- All functions accept only arguments, no keywords.
- decode_pvrtc can cause segfaults on Mac OS
decode_bc1
decompresses bc1 textures to BGRA
Params: bytes data, long width, long height Return: bytes
decode_bc3
decompresses bc3 textures to BGRA
Params: bytes data, long width, long height Return: bytes
decode_pvrtc
decompresses pvrtc textures to BGRA
Params: bytes data, long width, long height, bool is2bpp Return: bytes
decode_etc1
decompresses etc1 textures to BGRA
Params: bytes data, long width, long height Return: bytes
decode_etc2
decompresses etc2 textures to BGRA
Params: bytes data, long width, long height Return: bytes
decode_etc2a1
decompresses etc2a1 textures to BGRA
Params: bytes data, long width, long height Return: bytes
decode_etc2a8
decompresses etc2a8 textures to BGRA
Params: bytes data, long width, long height Return: bytes
decode_eacr
decompresses eacr textures to BGRA
Params: bytes data, long width, long height Return: bytes
decode_eacr_signed
decompresses eacr_signed textures to BGRA
Params: bytes data, long width, long height Return: bytes
decode_eacrg
decompresses eacrg textures to BGRA
Params: bytes data, long width, long height Return: bytes
decode_eacrg_signed
decompresses eacrg_signed textures to BGRA
Params: bytes data, long width, long height Return: bytes
decode_bc4
decompresses bc4 textures to BGRA
Params: bytes data, long width, long height Return: bytes
decode_bc5
decompresses bc5 textures to BGRA
Params: bytes data, long width, long height Return: bytes
decode_bc6
decompresses bc6 textures to BGRA
Params: bytes data, long width, long height Return: bytes
decode_bc7
decompresses bc7 textures to BGRA
Params: bytes data, long width, long height Return: bytes
decode_atc_rgb4
decompresses atc_rgb4 textures to BGRA
Params: bytes data, long width, long height Return: bytes
decode_atc_rgba8
decompresses atc_rgba8 textures to BGRA
Params: bytes data, long width, long height Return: bytes
decode_astc
decompresses astc textures to BGRA
Params: bytes data, long width, long height, int block_width, int block_height Return: bytes
unpack_crunch
decompresses crunch textures to BGRA
Params: bytes data Return: bytes
unpack_unity_crunch
decompresses unity_crunch textures to BGRA
Params: bytes data Return: bytes
License & Credits
This module itself is licensed under MIT.
The texture compression codecs themselves were derived on following sources and therefore have following licenses: | Codec | License | Source | |----------------|---------------|---------------------------------------------------------------------------------------------------------------------------------------| | ATC | MIT | Perfare/AssetStudio - Texture2DDecoderNative/atc.cpp | | ASTC | MIT | Ishotihadus/mikunyan - ext/decoders/native/astc.c | | BCn | MIT | Perfare/AssetStudio - Texture2DDecoderNative/bcn.cpp | | ETC | MIT | Ishotihadus/mikunyan - ext/decoders/native/etc.c | | f16 | MIT | Maratyszcza/FP16 | | PVRTC | MIT | Ishotihadus/mikunyan - ext/decoders/native/pvrtc.c | | Crunch | PUBLIC DOMAIN | BinomialLLC/crunch | | Crunch (Unity) | ZLIB | Unity-Technologies/crunch |
