Table of Contents

Class Astc4x4Decoder

Decodes the two ASTC 4x4 block shapes Astc4x4Encoder emits, for tests and for cache-format migration.

public static class Astc4x4Decoder
Inheritance
object
Astc4x4Decoder

Remarks

Not a general ASTC decoder. Anything other than an LDR void-extent block or the single-partition CEM-12 QUANT_4/QUANT_256 block throws NotSupportedException.

Fields

BlockBytes

ASTC 4x4 block size, 16 bytes.

public const int BlockBytes = 16

Field Value

int

BlockPixels

Texels along one edge of a block, 4.

public const int BlockPixels = 4

Field Value

int

Methods

Decode(byte[], int, int, int, byte[], int)

Decodes a whole mip level of ASTC 4x4 blocks to RGBA8888.

public static void Decode(byte[] blocks, int offset, int width, int height, byte[] outRgba, int outOffset)

Parameters

blocks byte[]

Compressed blocks, RequiredBlockBufferBytes(int, int) readable from offset.

offset int

Start of this level in blocks, in bytes.

width int

Level width in texels, a positive multiple of 4.

height int

Level height in texels, a positive multiple of 4.

outRgba byte[]

Destination, widthheight4 RGBA8888 bytes row-major from outOffset.

outOffset int

Start write index in outRgba, in bytes.

DecodeBlock(byte[], int, byte[], int)

Decodes one 4x4 ASTC block to 64 bytes of RGBA8888.

public static void DecodeBlock(byte[] blocks, int offset, byte[] outRgba, int outOffset)

Parameters

blocks byte[]

At least BlockBytes readable from offset.

offset int

Start of this block in blocks, in bytes.

outRgba byte[]

One 4x4 texel block, 64 bytes RGBA8888 row-major from outOffset.

outOffset int

Start write index in outRgba, in bytes.