From 1bf5e6509030a048cc044def155e06703324e1f6 Mon Sep 17 00:00:00 2001
From: Joachim Bauch <bauch@struktur.de>
Date: Mon, 28 Jul 2025 11:25:57 +0200
Subject: [PATCH] Load plugins in "get_filtered_encoder_descriptors".
Forwarded: https://github.com/strukturag/libheif/pull/1563

---
 libheif/plugin_registry.cc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libheif/plugin_registry.cc b/libheif/plugin_registry.cc
index 3c3b59e980..863cfabe0d 100644
--- a/libheif/plugin_registry.cc
+++ b/libheif/plugin_registry.cc
@@ -273,8 +273,6 @@ void register_encoder(const heif_encoder_plugin* encoder_plugin)
 
 const struct heif_encoder_plugin* get_encoder(enum heif_compression_format type)
 {
-  load_plugins_if_not_initialized_yet();
-
   auto filtered_encoder_descriptors = get_filtered_encoder_descriptors(type, nullptr);
   if (filtered_encoder_descriptors.size() > 0) {
     return filtered_encoder_descriptors[0]->plugin;
@@ -289,6 +287,8 @@ std::vector<const struct heif_encoder_descriptor*>
 get_filtered_encoder_descriptors(enum heif_compression_format format,
                                  const char* name)
 {
+  load_plugins_if_not_initialized_yet();
+
   std::vector<const struct heif_encoder_descriptor*> filtered_descriptors;
 
   for (const auto& descr : s_encoder_descriptors) {
