Expand description
.dcx file format — v3 header with CRC-32 integrity.
Layout (32-byte fixed header + variable metadata + compressed data): Bytes 0-3: Magic “DCX\x03” Byte 4: Version (3) Byte 5: Mode (0=Max, 1=Balanced, 2=Fast) Byte 6: Format hint (0-10) Byte 7: Flags (bit 0: has_transform_metadata, bit 1: has_zstd_dictionary, bit 2: metadata is zstd-compressed, bit 3: brotli entropy coder, bit 4: metadata embedded in compressed stream) Bytes 8-15: Original size (u64 LE) Bytes 16-23: Compressed data size (u64 LE) Bytes 24-27: CRC-32 of original data (u32 LE) Bytes 28-31: Transform metadata length (u32 LE) [Transform metadata: variable] [Compressed data]
Structs§
- DcxHeader
- .dcx file header.
Enums§
- Format
Hint - Detected or declared file format.
- Mode
- Compression mode.
Constants§
- FLAG_
BROTLI - Flag bit 3: payload compressed with brotli instead of zstd.
- FLAG_
HAS_ DICT - Flag bit 1: compressed payload embeds a zstd dictionary (Fast mode).
- FLAG_
HAS_ TRANSFORM - Flag bit 0: transform metadata is present.
- FLAG_
META_ COMPRESSED - Flag bit 2: transform metadata is zstd-compressed.
- FLAG_
META_ EMBEDDED - Flag bit 4: transform metadata is embedded inside the compressed stream.
When set,
transform_metadata_lenin the header is 0 (no separate metadata). The decompressed stream starts withmeta_len:u32 LE+ raw metadata + preprocessed data.