From: Niklas Haas <g...@haasn.dev> This header is unconditionally installed, even though the utility functions defined by it may be missing from the built library.
A precedent set by e.g. libavcodec/qsv.h (and others) is to always provide these functions by compiling stub functions in the absence of CONFIG_*. Make hwcontext_vulkan.h match this convention. Fixes downstream issues, e.g. https://github.com/haasn/libplacebo/issues/120 Signed-off-by: Niklas Haas <g...@haasn.dev> --- libavutil/Makefile | 2 +- libavutil/hwcontext_vulkan.c | 26 ++++++++++++++++++++++++-- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/libavutil/Makefile b/libavutil/Makefile index 29c170214c..66017a33a2 100644 --- a/libavutil/Makefile +++ b/libavutil/Makefile @@ -136,6 +136,7 @@ OBJS = adler32.o \ hdr_dynamic_vivid_metadata.o \ hmac.o \ hwcontext.o \ + hwcontext_vulkan.o \ imgutils.o \ integer.o \ intmath.o \ @@ -194,7 +195,6 @@ OBJS-$(CONFIG_QSV) += hwcontext_qsv.o OBJS-$(CONFIG_VAAPI) += hwcontext_vaapi.o OBJS-$(CONFIG_VIDEOTOOLBOX) += hwcontext_videotoolbox.o OBJS-$(CONFIG_VDPAU) += hwcontext_vdpau.o -OBJS-$(CONFIG_VULKAN) += hwcontext_vulkan.o OBJS += $(COMPAT_OBJS:%=../compat/%) diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c index 237caa4bc0..f7944a321c 100644 --- a/libavutil/hwcontext_vulkan.c +++ b/libavutil/hwcontext_vulkan.c @@ -16,6 +16,13 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include <stddef.h> + +#include "config.h" +#include "pixdesc.h" + +#if CONFIG_VULKAN + #define VK_NO_PROTOTYPES #define VK_ENABLE_BETA_EXTENSIONS @@ -29,8 +36,6 @@ #include <unistd.h> -#include "config.h" -#include "pixdesc.h" #include "avstring.h" #include "imgutils.h" #include "hwcontext.h" @@ -4161,3 +4166,20 @@ const HWContextType ff_hwcontext_type_vulkan = { AV_PIX_FMT_NONE }, }; + +#else /* !CONFIG_VULKAN */ + +struct AVVkFrame *av_vk_frame_alloc(void); +const enum VkFormat *av_vkfmt_from_pixfmt(enum AVPixelFormat p); + +struct AVVkFrame *av_vk_frame_alloc(void) +{ + return NULL; +} + +const enum VkFormat *av_vkfmt_from_pixfmt(enum AVPixelFormat p) +{ + return NULL; +} + +#endif -- 2.36.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".