From 4cf060eb27f0edee1496096a8823a3a59e20950b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=80=9A=E6=B4=B2?= Date: Tue, 30 Jun 2026 18:42:51 +0800 Subject: [PATCH] Logo (Image): improves performance of DLL searching on WIndows --- src/logo/image/im6.c | 7 ++++++- src/logo/image/im7.c | 12 +++++++++++- src/logo/image/image.c | 7 +++++-- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/src/logo/image/im6.c b/src/logo/image/im6.c index 3e9d7227e..824e25a55 100644 --- a/src/logo/image/im6.c +++ b/src/logo/image/im6.c @@ -12,7 +12,12 @@ static FF_LIBRARY_SYMBOL(ResizeImage) } FFLogoImageResult ffLogoPrintImageIM6(FFLogoRequestData* requestData) { - FF_LIBRARY_LOAD(imageMagick, FF_LOGO_IMAGE_RESULT_INIT_ERROR, "libMagickCore-6.Q16HDRI" FF_LIBRARY_EXTENSION, 8, "libMagickCore-6.Q16" FF_LIBRARY_EXTENSION, 8) + // clang-format off + FF_LIBRARY_LOAD(imageMagick, FF_LOGO_IMAGE_RESULT_INIT_ERROR, + "libMagickCore-6.Q16HDRI" FF_LIBRARY_EXTENSION, 8, + "libMagickCore-6.Q16" FF_LIBRARY_EXTENSION, 8 + ) + // clang-format on FF_LIBRARY_LOAD_SYMBOL_ADDRESS(imageMagick, ffResizeImage, ResizeImage, FF_LOGO_IMAGE_RESULT_INIT_ERROR) FFLogoImageResult result = ffLogoPrintImageImpl(requestData, &(FFIMData) { diff --git a/src/logo/image/im7.c b/src/logo/image/im7.c index 636a5fa5b..796a2caee 100644 --- a/src/logo/image/im7.c +++ b/src/logo/image/im7.c @@ -12,8 +12,18 @@ static FF_LIBRARY_SYMBOL(ResizeImage) } FFLogoImageResult ffLogoPrintImageIM7(FFLogoRequestData* requestData) { - FF_LIBRARY_LOAD(imageMagick, FF_LOGO_IMAGE_RESULT_INIT_ERROR, "libMagickCore-7.Q16HDRI" FF_LIBRARY_EXTENSION, 11, "libMagickCore-7.Q16" FF_LIBRARY_EXTENSION, 11, "libMagickCore-7.Q16HDRI-10" FF_LIBRARY_EXTENSION, -1 // Required for Windows + // clang-format off + #if _WIN32 + FF_LIBRARY_LOAD(imageMagick, FF_LOGO_IMAGE_RESULT_INIT_ERROR, + "libMagickCore-7.Q16HDRI-10" FF_LIBRARY_EXTENSION, 0 ) + #else + FF_LIBRARY_LOAD(imageMagick, FF_LOGO_IMAGE_RESULT_INIT_ERROR, + "libMagickCore-7.Q16HDRI" FF_LIBRARY_EXTENSION, 11, + "libMagickCore-7.Q16" FF_LIBRARY_EXTENSION, 11 + ) + #endif + // clang-format on FF_LIBRARY_LOAD_SYMBOL_ADDRESS(imageMagick, ffResizeImage, ResizeImage, FF_LOGO_IMAGE_RESULT_INIT_ERROR) FFLogoImageResult result = ffLogoPrintImageImpl(requestData, &(FFIMData) { diff --git a/src/logo/image/image.c b/src/logo/image/image.c index 6dd321215..673582fe1 100644 --- a/src/logo/image/image.c +++ b/src/logo/image/image.c @@ -553,8 +553,11 @@ static bool printImageKitty(FFLogoRequestData* requestData, const ImageData* ima #ifdef FF_HAVE_CHAFA #include static bool printImageChafa(FFLogoRequestData* requestData, const ImageData* imageData) { - FF_LIBRARY_LOAD(chafa, false, "libchafa" FF_LIBRARY_EXTENSION, 1, "libchafa-0" FF_LIBRARY_EXTENSION, -1 // Required for Windows - ) + #if _WIN32 + FF_LIBRARY_LOAD(chafa, false, "libchafa-0" FF_LIBRARY_EXTENSION, 0) + #else + FF_LIBRARY_LOAD(chafa, false, "libchafa" FF_LIBRARY_EXTENSION, 1) + #endif FF_LIBRARY_LOAD_SYMBOL(chafa, chafa_symbol_map_new, false) FF_LIBRARY_LOAD_SYMBOL(chafa, chafa_symbol_map_apply_selectors, false) FF_LIBRARY_LOAD_SYMBOL(chafa, chafa_canvas_config_new, false)