diff --git a/.gitignore b/.gitignore
index 52186666e94efc7c24d055414a2be8fde4dc0de6..33c366f49e8677c8daadc1d615d389c092863681 100644
--- a/.gitignore
+++ b/.gitignore
@@ -27,7 +27,6 @@
 /ffserver
 /config.*
 /coverage.info
-/version.h
 /doc/*.1
 /doc/*.3
 /doc/*.html
@@ -53,6 +52,7 @@
 /libavcodec/*_tables.c
 /libavcodec/*_tables.h
 /libavutil/avconfig.h
+/libavutil/ffversion.h
 /tests/audiogen
 /tests/base64
 /tests/data/
diff --git a/Makefile b/Makefile
index 495d6c6597adf3751b0dc66ab972266f2a636db3..51f0a18d992563deff12ef579d7d98ecac7256e7 100644
--- a/Makefile
+++ b/Makefile
@@ -119,8 +119,8 @@ GIT_LOG     = $(SRC_PATH)/.git/logs/HEAD
 .version: $(wildcard $(GIT_LOG)) $(VERSION_SH) config.mak
 .version: M=@
 
-version.h .version:
-	$(M)$(VERSION_SH) $(SRC_PATH) version.h $(EXTRA_VERSION)
+libavutil/ffversion.h .version:
+	$(M)$(VERSION_SH) $(SRC_PATH) libavutil/ffversion.h $(EXTRA_VERSION)
 	$(Q)touch .version
 
 # force version.sh to run whenever version might have changed
@@ -163,7 +163,7 @@ clean::
 
 distclean::
 	$(RM) $(DISTCLEANSUFFIXES)
-	$(RM) config.* .config libavutil/avconfig.h .version version.h libavcodec/codec_names.h
+	$(RM) config.* .config libavutil/avconfig.h .version libavutil/ffversion.h libavcodec/codec_names.h
 
 config:
 	$(SRC_PATH)/configure $(value FFMPEG_CONFIGURATION)
diff --git a/cmdutils.c b/cmdutils.c
index 2608bceb3da664e43f8b3dcd20012e7074d88ff7..46ade3f83f640477be8b5a9f20d0111587957bb1 100644
--- a/cmdutils.c
+++ b/cmdutils.c
@@ -49,8 +49,8 @@
 #include "libavutil/dict.h"
 #include "libavutil/opt.h"
 #include "libavutil/cpu.h"
+#include "libavutil/ffversion.h"
 #include "cmdutils.h"
-#include "version.h"
 #if CONFIG_NETWORK
 #include "libavformat/network.h"
 #endif
diff --git a/doc/APIchanges b/doc/APIchanges
index a33c184d2b1f42192bf4779182d0d8e0ca9ed64d..08ba47fc8e8af3e3115131fd69a04ba518c173bb 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -15,6 +15,10 @@ libavutil:     2012-10-22
 
 API changes, most recent first:
 
+2013-11-xx - xxxxxxx - lavu 52.56.100 - ffversion.h
+  Moves version.h to libavutil/ffversion.h.
+  Install ffversion.h and make it public.
+
 2013-11-xx - xxxxxxx- - lavu 52.19.0 - frame.h
   Add AV_FRAME_DATA_A53_CC value to the AVFrameSideDataType enum, which
   identifies ATSC A53 Part 4 Closed Captions data.
diff --git a/ffprobe.c b/ffprobe.c
index d124d4eb012ad4ddf85f665d64a012147cc0e158..43f830b49521cc2202b3bb277dda744e697d7586 100644
--- a/ffprobe.c
+++ b/ffprobe.c
@@ -24,7 +24,7 @@
  */
 
 #include "config.h"
-#include "version.h"
+#include "libavutil/ffversion.h"
 
 #include <string.h>
 
diff --git a/libavutil/Makefile b/libavutil/Makefile
index 02dd728d66a38425c643c24a96244878ee361435..8b73019cd5660d133c567d8e8de5b303c5aa7b55 100644
--- a/libavutil/Makefile
+++ b/libavutil/Makefile
@@ -62,7 +62,8 @@ ARCH_HEADERS = bswap.h                                                  \
                intreadwrite.h                                           \
                timer.h                                                  \
 
-BUILT_HEADERS = avconfig.h
+BUILT_HEADERS = avconfig.h                                              \
+                ffversion.h
 
 OBJS = adler32.o                                                        \
        aes.o                                                            \
diff --git a/libavutil/version.h b/libavutil/version.h
index e9e80032dc7966ffb857dea41734cd33431d4159..3c0461b262e3e5e39026632570045e7aa505adb9 100644
--- a/libavutil/version.h
+++ b/libavutil/version.h
@@ -75,7 +75,7 @@
  */
 
 #define LIBAVUTIL_VERSION_MAJOR  52
-#define LIBAVUTIL_VERSION_MINOR  55
+#define LIBAVUTIL_VERSION_MINOR  56
 #define LIBAVUTIL_VERSION_MICRO 100
 
 #define LIBAVUTIL_VERSION_INT   AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \