diff --git a/.gitignore b/.gitignore
index e225866ec68e213a6f88cb4062107b94d33ea2f8..d3cde42c65060caaf1684d5b9fcd04176b7fffc7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -26,7 +26,7 @@
 /avprobe
 /config.*
 /coverage.info
-/version.h
+/avversion.h
 /doc/*.1
 /doc/*.html
 /doc/*.pod
diff --git a/Makefile b/Makefile
index cc016b3cd11135470dd2c7f01dea53bd63a03de9..5807acd562b12cbfc52639a6ef54d9b4d02b0b79 100644
--- a/Makefile
+++ b/Makefile
@@ -162,8 +162,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)
+avversion.h .version:
+	$(M)$(VERSION_SH) $(SRC_PATH) avversion.h $(EXTRA_VERSION)
 	$(Q)touch .version
 
 # force version.sh to run whenever version might have changed
@@ -204,7 +204,7 @@ clean::
 
 distclean::
 	$(RM) $(DISTCLEANSUFFIXES)
-	$(RM) config.* .config libavutil/avconfig.h .version version.h
+	$(RM) config.* .config libavutil/avconfig.h .version avversion.h
 
 config:
 	$(SRC_PATH)/configure $(value LIBAV_CONFIGURATION)
diff --git a/cmdutils.c b/cmdutils.c
index c4a78199f36ce5682a4fec5f0ba705a341dfa648..bc22ef583952bbb37821c3a4d8d187bffc94bf94 100644
--- a/cmdutils.c
+++ b/cmdutils.c
@@ -45,8 +45,8 @@
 #include "libavutil/dict.h"
 #include "libavutil/opt.h"
 #include "libavutil/cpu.h"
+#include "avversion.h"
 #include "cmdutils.h"
-#include "version.h"
 #if CONFIG_NETWORK
 #include "libavformat/network.h"
 #endif
diff --git a/doc/APIchanges b/doc/APIchanges
index 0ddfb11e03c8b7e436ad02dae10024293f7aa560..06ad1b7f4f1a7358fa928ac012b94aa097228f45 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -19,6 +19,9 @@ API changes, most recent first:
 2015-xx-xx - xxxxxxx - lavu 54.14.0 - cpu.h
   Add AV_CPU_FLAG_AVXSLOW.
 
+2015-xx-xx - xxxxxxx - lavu 56.xx.0
+  Add av_version_info().
+
 2015-xx-xx - xxxxxxx - lavc 56.23.0
   Add av_vda_default_init2.
 
diff --git a/libavutil/avutil.h b/libavutil/avutil.h
index f056415f0953c64f93c54560e645bb10e49d1216..688068eff87942032b8c42dd6aeffb3d966791bc 100644
--- a/libavutil/avutil.h
+++ b/libavutil/avutil.h
@@ -163,6 +163,13 @@
  */
 unsigned avutil_version(void);
 
+/**
+ * Return an informative version string. This usually is the actual release
+ * version number or a git commit description. This string has no fixed format
+ * and can change any time. It should never be parsed by code.
+ */
+const char *av_version_info(void);
+
 /**
  * Return the libavutil build-time configuration.
  */
diff --git a/libavutil/utils.c b/libavutil/utils.c
index c8c161dccba8222ed92f9314dd15d8a9560a57ac..8dcf3b677489ed3c2298f58c2c152e5d969db9f3 100644
--- a/libavutil/utils.c
+++ b/libavutil/utils.c
@@ -19,11 +19,18 @@
 #include "config.h"
 #include "avutil.h"
 
+#include "avversion.h"
+
 /**
  * @file
  * various utility functions
  */
 
+const char *av_version_info(void)
+{
+    return LIBAV_VERSION;
+}
+
 unsigned avutil_version(void)
 {
     return LIBAVUTIL_VERSION_INT;