From 252f17e292064da25a82c99bf1f752ed5fedd434 Mon Sep 17 00:00:00 2001
From: Michael Niedermayer <michaelni@gmx.at>
Date: Thu, 20 Dec 2007 09:43:01 +0000
Subject: [PATCH] Document structure change rules with relation to ABI/API.

Originally committed as revision 11281 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 libavcodec/avcodec.h   | 6 +++++-
 libavformat/avformat.h | 8 +++++++-
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index a32f9614034..98d1489f347 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -753,7 +753,11 @@ typedef struct AVFrame {
 #define DEFAULT_FRAME_RATE_BASE 1001000
 
 /**
- * main external API structure
+ * main external API structure.
+ * 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(AVCodecContext) must not be used outside libav*
  */
 typedef struct AVCodecContext {
     /**
diff --git a/libavformat/avformat.h b/libavformat/avformat.h
index c0ad4a66139..bbe818f29de 100644
--- a/libavformat/avformat.h
+++ b/libavformat/avformat.h
@@ -358,7 +358,13 @@ typedef struct AVProgram {
 
 #define MAX_STREAMS 20
 
-/* format I/O context */
+/**
+ * format I/O 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(AVFormatContext) must not be used outside libav*
+ */
 typedef struct AVFormatContext {
     const AVClass *av_class; /**< set by av_alloc_format_context */
     /* can only be iformat or oformat, not both at the same time */
-- 
GitLab