[FFmpeg-devel] [PATCH 16/18] avutil/hwcontext_vulkan: Include hwcontext.h

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Fri Mar 29 01:10:45 EET 2024


struct Foo * declares a new type (namely struct Foo)
if there is no declaration of struct Foo already visible
in the current scope; otherwise it is just a pointer to
an element of the already declared type "struct Foo".
There is a gotcha with the first case:
struct Foo is only declared in its scope; a later declaration
of struct Foo in an enclosing scope declares a different type.

This happens in hwcontext_vulkan.h if it is included before
hwcontext.h, because some declarations of struct AVHWDeviceContext
and struct AVHWFramesContext have function prototype scope.

Compilers warn about this (during checkheaders):
‘struct AVHWDeviceContext’ declared inside parameter list will not
be visible outside of this definition or declaration

Fix this by including hwcontext.h.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
 libavutil/hwcontext_vulkan.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/libavutil/hwcontext_vulkan.h b/libavutil/hwcontext_vulkan.h
index 895794c867..cbbd2390c1 100644
--- a/libavutil/hwcontext_vulkan.h
+++ b/libavutil/hwcontext_vulkan.h
@@ -26,6 +26,7 @@
 
 #include "pixfmt.h"
 #include "frame.h"
+#include "hwcontext.h"
 
 typedef struct AVVkFrame AVVkFrame;
 
-- 
2.40.1



More information about the ffmpeg-devel mailing list