Concepts

This section explains the fundamental concepts behind Cabriolet and the file formats it supports.

Topics

Compression Algorithms

Understanding how data compression works:

  • LZSS sliding window compression

  • MSZIP/DEFLATE mechanics

  • LZX advanced features

  • Quantum arithmetic coding

  • Huffman encoding fundamentals

Cabinet Structure

Anatomy of Microsoft Cabinet files:

  • CFHEADER, CFFOLDER, CFFILE structures

  • Data blocks and compression

  • Multi-part cabinet relationships

  • Reserve data and extensions

Folders and Files

How CAB files organize content:

  • The folder concept in CAB archives

  • File ordering and relationships

  • Compression boundaries

  • Folder-based compression strategies

Bitstream Processing

Low-level bit manipulation:

  • Bit-level reading and writing

  • Endianness handling

  • Buffer management

  • Bit ordering considerations

Huffman Coding

Statistical compression techniques:

  • Huffman tree construction

  • Code length tables

  • Tree building algorithms

  • Fast decoding tables

I/O Abstraction

Platform-independent I/O:

  • Handle abstraction layer

  • File and memory handles

  • Custom I/O implementations

  • Performance considerations

Purpose

These concept documents provide deeper understanding of:

  • How things work - Internal mechanisms and algorithms

  • Why they work - Theoretical foundations

  • Design decisions - Trade-offs and rationale

  • Relationships - How components interact

Prerequisites

Basic understanding of:

  • Binary data and hexadecimal notation

  • File I/O operations

  • Data structures (arrays, trees)

  • Basic information theory (optional but helpful)


Table of contents