diff --git a/libavformat/avio.h b/libavformat/avio.h
index 66f90d935cdb4972c677f9ba6016104c8d6c568b..0d90e3b945a1d9829d9bb1d6e05c2b3ad685c001 100644
--- a/libavformat/avio.h
+++ b/libavformat/avio.h
@@ -29,6 +29,13 @@ typedef int64_t offset_t;
 
 /* unbuffered I/O */
 
+/**
+ * URL Context.
+ * New fields can be added to the end with minor version bumps.
+ * Removial, reordering and changes to existing fields require a Major
+ * version bump.
+ * sizeof(URLContext) must not be used outside libav*
+ */
 struct URLContext {
     struct URLProtocol *prot;
     int flags;
@@ -135,6 +142,13 @@ URLProtocol *av_protocol_next(URLProtocol *p);
 
 int register_protocol(URLProtocol *protocol);
 
+/**
+ * Bytestream IO Context.
+ * New fields can be added to the end with minor version bumps.
+ * Removial, reordering and changes to existing fields require a Major
+ * version bump.
+ * sizeof(ByteIOContext) must not be used outside libav*
+ */
 typedef struct {
     unsigned char *buffer;
     int buffer_size;