Processed in your browser (WebCodecs/WASM) — the server only stores the result. Applying overwrites the file and recomputes its hashes.
This is an animated WebP. Browsers have no animated WebP encoder, so re-encoding would keep only the first frame — nothing was changed.
) : null} {apngAsPng ? (Animated PNG detected — the animation options (scale, frame rate, palette) apply.
) : null} {truncated ? (The processed video is shorter than the original ( {resultInfo?.duration?.toFixed(1)} s vs{" "} {originalInfo?.duration?.toFixed(1)} s) — encoding may have stopped early. Don't apply it.
) : null} {status === "running" ? (about {formatEta(etaMs)}
) : null}{error}
) : null} {result && savedPercent !== null ? (0 ? "border-ctp-green/40 bg-ctp-green/10 text-ctp-green" : "border-ctp-peach/40 bg-ctp-peach/10 text-ctp-peach", )} > {formatBytes(originalSize)} → {formatBytes(result.blob.size)}{" "} {savedPercent > 0 ? `(−${savedPercent}%)` : `(+${Math.abs(savedPercent)}% — larger than the original)`}
) : null} {uploading ? ({applyError}
) : null} {applied ? (Applied — the item now stores the processed file.
) : null}