diff --git a/otherarch/sdcpp/src/stable-diffusion.cpp b/otherarch/sdcpp/src/stable-diffusion.cpp index f5e0c0e0f..c4b536341 100644 --- a/otherarch/sdcpp/src/stable-diffusion.cpp +++ b/otherarch/sdcpp/src/stable-diffusion.cpp @@ -6902,6 +6902,10 @@ static std::optional prepare_video_generation_latents(sd latents.init_latent = pack_ltxav_audio_and_video_latents(latents.init_latent, latents.audio_latent); } + if (sd_ctx->sd->audio_vae_model != nullptr) { + sd_ctx->sd->audio_vae_model->runner_done(); + } + return latents; } @@ -7617,6 +7621,10 @@ SD_API bool generate_video(sd_ctx_t* sd_ctx, LOG_INFO("decoding audio latent completed, taking %.2fs", (audio_latent_decode_end - audio_latent_decode_start) * 1.0f / 1000); } + if (sd_ctx->sd->audio_vae_model != nullptr) { + sd_ctx->sd->audio_vae_model->runner_done(); + } + if (latents.video_conditioning_frame_count > 0) { int64_t target_frames = latents.video_target_frame_count > 0 ? latents.video_target_frame_count : final_latent.shape()[2] - latents.video_conditioning_frame_count;