Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
19 lines
869 B
Python
19 lines
869 B
Python
"""Decoding a latent in tiles the way ComfyUI's own VAE Decode (Tiled) does, for any VAE."""
|
|
|
|
|
|
def tiled_decode(vae, latent, tile_size):
|
|
"""The ordinary decode, tiled when asked: a quarter-tile overlap, 64-frame temporal tiles with an
|
|
8-frame overlap (a VAE with no time axis gets none)."""
|
|
if not tile_size or tile_size <= 0:
|
|
return vae.decode(latent)
|
|
overlap = tile_size // 4
|
|
t_size, t_overlap = 64, 8
|
|
t_comp = vae.temporal_compression_decode()
|
|
if t_comp is not None:
|
|
t_size, t_overlap = max(2, t_size // t_comp), max(1, min(t_size // t_comp // 2, t_overlap // t_comp))
|
|
else:
|
|
t_size = t_overlap = None
|
|
c = vae.spacial_compression_decode()
|
|
return vae.decode_tiled(latent, tile_x=tile_size // c, tile_y=tile_size // c, overlap=overlap // c,
|
|
tile_t=t_size, overlap_t=t_overlap)
|