Skip to main content

a python wrapper for Perfare's Texture2DDecoder

Project description

texture2ddecoder

PyPI supported Python versions Win/Mac/Linux MIT Build Status Build Status (Github)

A python wrapper for Perfare's Texture2DDecoder

Some changes were made to the original code to make it cross-platform compatible.

  1. Installation
  2. Example
  3. Functions

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

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page