/** * MPEG-1 Layer III Huffman **encoding** tables. * * GENERATED FILE — do not edit by hand. * Regenerate with: node scripts/generate-huffman-encode-tables.mjs * * Derived by walking the decode trie in `huffman-tables.ts` rather than * transcribed: every codeword the decoder recognises is recovered by descending * the trie and recording the path taken to each leaf. * * Each generated codeword is verified at build time by decoding it back — it * must return the pair it was generated for and consume exactly its stated * length — and every table is checked for Kraft equality, so a successful * generation is a proof of completeness rather than a sample. * * ## Layout * * {@link HUFFMAN_ENCODE} holds one packed word per (x, y) pair, with tables laid * end to end. For table `t`, the entry for `(x, y)` is at * `HUFFMAN_ENCODE_OFFSET[t] + x * HUFFMAN_ENCODE_YLEN[t] + y`, packed as * `(length << 20) | codeword`. A zero entry means the pair is not in that table. */ /** Packed `(length << 20) | codeword`, all 32 tables end to end. */ export declare const HUFFMAN_ENCODE: Uint32Array; /** Start index of each table within {@link HUFFMAN_ENCODE}. */ export declare const HUFFMAN_ENCODE_OFFSET: Uint16Array; /** Number of distinct x values each table codes. Zero for unused tables. */ export declare const HUFFMAN_ENCODE_XLEN: Uint8Array; /** Number of distinct y values each table codes; also the row stride. */ export declare const HUFFMAN_ENCODE_YLEN: Uint8Array; /** * count1 table A, indexed by the 4-bit non-zero mask, packed as * `(length << 12) | codeword`. */ export declare const COUNT1_ENCODE_A: Uint16Array; /** count1 table B — a flat 4-bit code. Same packing as {@link COUNT1_ENCODE_A}. */ export declare const COUNT1_ENCODE_B: Uint16Array;