diff --git a/libavcodec/common.h b/libavcodec/common.h
index 837f82e265..d488d327bd 100644
--- a/libavcodec/common.h
+++ b/libavcodec/common.h
@@ -210,7 +210,7 @@ static inline float floorf(float f) {
 #    include <assert.h>
 
 /* dprintf macros */
-#    if defined(CONFIG_WIN32) && !defined(__MINGW32__)
+#    if defined(CONFIG_WIN32) && !defined(__MINGW32__) && !defined(__CYGWIN__)
 
 inline void dprintf(const char* fmt,...) {}
 
diff --git a/libavformat/os_support.c b/libavformat/os_support.c
index 219db98c1c..5a2df31022 100644
--- a/libavformat/os_support.c
+++ b/libavformat/os_support.c
@@ -34,7 +34,7 @@
 int64_t av_gettime(void)
 {
 #ifdef CONFIG_WIN32
-    struct _timeb tb;
+    struct timeb tb;
     _ftime(&tb);
     return ((int64_t)tb.time * int64_t_C(1000) + (int64_t)tb.millitm) * int64_t_C(1000);
 #else
diff --git a/libavformat/os_support.h b/libavformat/os_support.h
index 8a9b95eff1..4dd80a59d1 100644
--- a/libavformat/os_support.h
+++ b/libavformat/os_support.h
@@ -11,7 +11,6 @@
  */
 
 #ifdef __MINGW32__
-#  undef DATADIR /* clashes with /usr/include/w32api/objidl.h */
 __declspec(dllimport) void __stdcall Sleep(unsigned long dwMilliseconds);
 // #  include <windows.h>
 #  define usleep(t)    Sleep((t) / 1000)