mirror of
https://github.com/storytold/effectcraft.git
synced 2026-10-31 05:27:08 -06:00
try_tx and reconstruct allocated six Vecs per candidate (residual, coefficients, levels, dequantised coefficients, inverse residual, reconstruction), the coefficient writer allocated its level map per transform block, and the loop filter level search cloned the luma plane for every candidate level. - Decider keeps a boxed TxScratch (32x32 arrays) that try_tx and reconstruct write into; the levels and the reconstruction of a candidate stay there and the caller copies out only what it keeps (the winning intra candidate, or the levels that go into the leaf). intra_leaf uses stack arrays for its predictions and a fixed array for the mode ranking and transform types. - TileWriter reuses one level-map Vec, and the partition CDF at frame edges is read through a slice instead of a copy. - The level search filters one working copy of the luma plane and restores it from the reconstruction before each candidate. The encoded stream is unchanged. Fixes #2374 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>