diff --git a/libavdevice/decklink_common.cpp b/libavdevice/decklink_common.cpp
index ac7964cd171eba58baa44e8b6b30d04d0c3b22ae..58502eececee24f32fcf7fe7f5babf1fc99f2345 100644
--- a/libavdevice/decklink_common.cpp
+++ b/libavdevice/decklink_common.cpp
@@ -26,11 +26,7 @@
 #include <DeckLinkAPIDispatch.cpp>
 #endif
 
-#include <pthread.h>
-#include <semaphore.h>
-
 extern "C" {
-#include "libavformat/avformat.h"
 #include "libavformat/internal.h"
 #include "libavutil/imgutils.h"
 }
diff --git a/libavdevice/decklink_common.h b/libavdevice/decklink_common.h
index 3bc30f062ce8a0728b090fd5a7f63cfd47ef695e..c7e3ef2e395599105ae5ac42dbc2133b540bd0f7 100644
--- a/libavdevice/decklink_common.h
+++ b/libavdevice/decklink_common.h
@@ -19,9 +19,15 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
-#include <DeckLinkAPIVersion.h>
+#include <pthread.h>
+#include <semaphore.h>
+#include <DeckLinkAPI.h>
+
+extern "C" {
+#include "libavformat/avformat.h"
 
 #include "decklink_common_c.h"
+}
 
 class decklink_output_callback;
 class decklink_input_callback;
diff --git a/libavdevice/decklink_common_c.h b/libavdevice/decklink_common_c.h
index fb2b788628de04217d3d84dee9d928c354aa9e51..3644fb4dd89a4bdbc1b77e3a224449d48dc45813 100644
--- a/libavdevice/decklink_common_c.h
+++ b/libavdevice/decklink_common_c.h
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "libavutil/log.h"
+
 struct decklink_cctx {
     const AVClass *cclass;
 
diff --git a/libavdevice/decklink_dec.cpp b/libavdevice/decklink_dec.cpp
index 6c5bc5dbed2df0e03af266b0e99ec745bc129de0..4bbc92edea809da5edbd2faf68df48a5f001e72d 100644
--- a/libavdevice/decklink_dec.cpp
+++ b/libavdevice/decklink_dec.cpp
@@ -21,11 +21,7 @@
 
 #include <DeckLinkAPI.h>
 
-#include <pthread.h>
-#include <semaphore.h>
-
 extern "C" {
-#include "libavformat/avformat.h"
 #include "libavformat/internal.h"
 #include "libavutil/imgutils.h"
 }
diff --git a/libavdevice/decklink_dec.h b/libavdevice/decklink_dec.h
index 6bd9226cd0ee95d8e2a1da338e2346f146ecd41e..c499bc9adfda47095a7198102117690b8c927a54 100644
--- a/libavdevice/decklink_dec.h
+++ b/libavdevice/decklink_dec.h
@@ -23,6 +23,8 @@
 extern "C" {
 #endif
 
+#include "libavformat/avformat.h"
+
 int ff_decklink_read_header(AVFormatContext *avctx);
 int ff_decklink_read_packet(AVFormatContext *avctx, AVPacket *pkt);
 int ff_decklink_read_close(AVFormatContext *avctx);
diff --git a/libavdevice/decklink_enc.cpp b/libavdevice/decklink_enc.cpp
index 6c5450f4ec5f36d1b397737b5dde9063d5ec6acc..334c3dcd33e908a0f243330d6f33635b97e7af1e 100644
--- a/libavdevice/decklink_enc.cpp
+++ b/libavdevice/decklink_enc.cpp
@@ -21,11 +21,7 @@
 
 #include <DeckLinkAPI.h>
 
-#include <pthread.h>
-#include <semaphore.h>
-
 extern "C" {
-#include "libavformat/avformat.h"
 #include "libavformat/internal.h"
 #include "libavutil/imgutils.h"
 }
diff --git a/libavdevice/decklink_enc.h b/libavdevice/decklink_enc.h
index 6086947e6c021ca4bfdddccd372d35f2b8de1606..23c59a2041d20e683869f30e7628e5ac10e64f45 100644
--- a/libavdevice/decklink_enc.h
+++ b/libavdevice/decklink_enc.h
@@ -23,6 +23,8 @@
 extern "C" {
 #endif
 
+#include "libavformat/avformat.h"
+
 int ff_decklink_write_header(AVFormatContext *avctx);
 int ff_decklink_write_packet(AVFormatContext *avctx, AVPacket *pkt);
 int ff_decklink_write_trailer(AVFormatContext *avctx);