@@ -45,7 +45,7 @@ const char* model_version_to_str[] = {
4545 " Wan 2.2 TI2V" ,
4646 " Qwen Image" ,
4747 " Flux.2" ,
48- " Z Image" ,
48+ " Z- Image" ,
4949};
5050
5151const char * sampling_methods_str[] = {
@@ -1325,7 +1325,8 @@ class StableDiffusionGGML {
13251325 enum SDVersion version,
13261326 preview_t preview_mode,
13271327 ggml_tensor* result,
1328- std::function<void (int , int , sd_image_t *, bool )> step_callback,
1328+ std::function<void (int , int , sd_image_t *, bool , void *)> step_callback,
1329+ void * step_callback_data,
13291330 bool is_noisy) {
13301331 const uint32_t channel = 3 ;
13311332 uint32_t width = latents->ne [0 ];
@@ -1396,7 +1397,7 @@ class StableDiffusionGGML {
13961397 for (int i = 0 ; i < frames; i++) {
13971398 images[i] = {width, height, channel, data + i * width * height * channel};
13981399 }
1399- step_callback (step, frames, images, is_noisy);
1400+ step_callback (step, frames, images, is_noisy, step_callback_data );
14001401 free (data);
14011402 free (images);
14021403 } else {
@@ -1450,7 +1451,7 @@ class StableDiffusionGGML {
14501451 images[i].data = ggml_tensor_to_sd_image (result, i, ggml_n_dims (latents) == 4 );
14511452 }
14521453
1453- step_callback (step, frames, images, is_noisy);
1454+ step_callback (step, frames, images, is_noisy, step_callback_data );
14541455
14551456 ggml_ext_tensor_scale_inplace (result, 0 );
14561457 for (int i = 0 ; i < frames; i++) {
@@ -1599,8 +1600,9 @@ class StableDiffusionGGML {
15991600 }
16001601
16011602 auto denoise = [&](ggml_tensor* input, float sigma, int step) -> ggml_tensor* {
1602- auto sd_preview_cb = sd_get_preview_callback ();
1603- auto sd_preview_mode = sd_get_preview_mode ();
1603+ auto sd_preview_cb = sd_get_preview_callback ();
1604+ auto sd_preview_cb_data = sd_get_preview_callback_data ();
1605+ auto sd_preview_mode = sd_get_preview_mode ();
16041606 if (step == 1 || step == -1 ) {
16051607 pretty_progress (0 , (int )steps, 0 );
16061608 }
@@ -1671,7 +1673,7 @@ class StableDiffusionGGML {
16711673 }
16721674 if (sd_preview_cb != nullptr && sd_should_preview_noisy ()) {
16731675 if (step % sd_get_preview_interval () == 0 ) {
1674- preview_image (work_ctx, step, noised_input, version, sd_preview_mode, preview_tensor, sd_preview_cb, true );
1676+ preview_image (work_ctx, step, noised_input, version, sd_preview_mode, preview_tensor, sd_preview_cb, sd_preview_cb_data, true );
16751677 }
16761678 }
16771679
@@ -1819,7 +1821,7 @@ class StableDiffusionGGML {
18191821
18201822 if (sd_preview_cb != nullptr && sd_should_preview_denoised ()) {
18211823 if (step % sd_get_preview_interval () == 0 ) {
1822- preview_image (work_ctx, step, denoised, version, sd_preview_mode, preview_tensor, sd_preview_cb, false );
1824+ preview_image (work_ctx, step, denoised, version, sd_preview_mode, preview_tensor, sd_preview_cb, sd_preview_cb_data, false );
18231825 }
18241826 }
18251827
0 commit comments