## 问题 `_fit_first_frame` 放大用 LANCZOS,把 sprite 的硬边糊成渐变,而这张图是 i2v 的输入。 同一函数、同一张双色硬边图,测成品里那条边的过渡带宽度:64×64 源(11.2× 放大)NEAREST 4px、LANCZOS 20px;128×128 源 4px 对 10px;256×256 源 4px 对 5px。倍率越大越严重,而小 sprite 正是 #509 点名的场景。 交付侧 `_fit_to` 的 docstring 已经写明这条规则(「序列帧是像素画,必须 NEAREST,插值会把硬边糊成灰边」),首帧这一侧与它不一致。 这条是 #511 引入的:当时按重抠图 IoU 配对实测选了 LANCZOS(+0.0043),但 IoU 量的是剪影恢复、不量清晰度,指标选错了。 ## 范围 - 放大用 NEAREST,缩小仍用 LANCZOS - 不改 JPEG 质量(那是色数爆炸的主因,但属另一件事) - 不改出口像素化开关 ## 验收 小 sprite 放大后硬边过渡带 ≤8px;换回 LANCZOS 时用例失败。
Activity
fix(video): 首帧放大改用 NEAREST,不把 sprite 硬边糊掉 (1024XEngineer#543)