diff --git a/libavformat/avio.h b/libavformat/avio.h
index 342980d6db0bb8b8cb775496e4f92b3bec4e94bc..dd4380e4f4d2b248f831a4ac1cf0ae7100b074ae 100644
--- a/libavformat/avio.h
+++ b/libavformat/avio.h
@@ -476,6 +476,12 @@ int avio_put_str16le(AVIOContext *s, const char *str);
  */
 int64_t avio_seek(AVIOContext *s, int64_t offset, int whence);
 
+/**
+ * Skip given number of bytes forward
+ * @return new position or AVERROR.
+ */
+int64_t avio_skip(AVIOContext *s, int64_t offset);
+
 /**
  * ftell() equivalent for AVIOContext.
  * @return position or AVERROR.
diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c
index 1bdc478ed9e9d7793b50e1e236cfdbe5a7b24e41..e82d89c43371f427487887d128aa5a075cce8451 100644
--- a/libavformat/aviobuf.c
+++ b/libavformat/aviobuf.c
@@ -233,6 +233,11 @@ int64_t avio_seek(AVIOContext *s, int64_t offset, int whence)
     return offset;
 }
 
+int64_t avio_skip(AVIOContext *s, int64_t offset)
+{
+    return avio_seek(s, offset, SEEK_CUR);
+}
+
 #if FF_API_OLD_AVIO
 int url_fskip(AVIOContext *s, int64_t offset)
 {