/** * Apply a 16×16 luma predictor by mode. The `mode` value is the * decoder's logical mode (DC_PRED=0, V_PRED=1, H_PRED=2, TM_PRED=3) or * one of the variants used at frame edges. */ export declare function predictLuma16(mode: number, dst: Uint8Array, off: number): void; export declare function predictChroma8(mode: number, dst: Uint8Array, off: number): void; /** Dispatch a 4×4 B-mode predictor by mode index. */ export declare function predictLuma4(mode: number, dst: Uint8Array, off: number): void; /** * VP8 intra prediction. * * 1:1 port of libwebp's `VP8PredLuma16`, `VP8PredLuma4`, and * `VP8PredChroma8` (src/dsp/dec.c). Predictors read neighbour samples * directly from the destination buffer at offsets `-1` (left column), * `-BPS` (row above), and `-1 - BPS` (top-left corner). The caller is * responsible for arranging the buffer with the right surrounding * context — see decoder.ts `ReconstructRow` for the layout. */ /** Stride between rows in the per-macroblock YUV buffer. */ export declare const BPS: 32; // Mode constants — aligned with libwebp's enum (16×16 modes alias // onto the corresponding B-mode values). export declare const DC_PRED: unknown; export declare const B_DC_PRED_NOLEFT: 5; export declare const B_DC_PRED_NOTOPLEFT: 6; export declare const NUM_B_DC_MODES: 7; // 4×4 B-modes — libwebp ordering (B_RD=4, B_VR=5, B_LD=6, NOT RFC 6386's LD=4/RD=5/VR=6). export declare const B_DC: 0; export declare const B_TM: 1; export declare const B_VE: 2; export declare const B_HE: 3; export declare const B_RD: 4; export declare const B_VR: 5; export declare const B_LD: 6; export declare const B_VL: 7; export declare const B_HD: 8; export declare const B_HU: 9; export declare const NUM_BMODES: 10; /** Table-driven 16×16 dispatch. */ export declare const VP8PredLuma16: ReadonlyArray<(dst: Uint8Array, off: number) => void>;