Merge commit '40020e171a3549a2c0b65ce6f2649aec868872f2'
authorMichael Niedermayer <michaelni@gmx.at>
Sat, 18 May 2013 09:17:52 +0000 (11:17 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Sat, 18 May 2013 09:17:52 +0000 (11:17 +0200)
* commit '40020e171a3549a2c0b65ce6f2649aec868872f2':
  doxy: add a section about versioning.

Conflicts:
libavutil/avutil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavutil/avutil.h

   * @li @ref libavf "libavformat" I/O and muxing/demuxing library
   * @li @ref lavd "libavdevice" special devices muxing/demuxing library
   * @li @ref lavu "libavutil" common utility library
 - * @li @ref lavr "libavresample" audio resampling, format conversion and mixing
 - * @li @subpage libswscale  color conversion and scaling library
 + * @li @ref lswr "libswresample" audio resampling, format conversion and mixing
 + * @li @ref lpp  "libpostproc" post processing library
 + * @li @ref lsws "libswscale" color conversion and scaling library
+  *
 - * @section libav_versioning Versioning and compatibility
++ * @section ffmpeg_versioning Versioning and compatibility
+  *
 - * Each of the Libav libraries contains a version.h header, which defines a
++ * Each of the FFmpeg libraries contains a version.h header, which defines a
+  * major, minor and micro version number with the
+  * <em>LIBRARYNAME_VERSION_{MAJOR,MINOR,MICRO}</em> macros. The major version
+  * number is incremented with backward incompatible changes - e.g. removing
+  * parts of the public API, reordering public struct members, etc. The minor
+  * version number is incremented for backward compatible API changes or major
+  * new features - e.g. adding a new public function or a new decoder. The micro
+  * version number is incremented for smaller changes that a calling program
+  * might still want to check for - e.g. changing behavior in a previously
+  * unspecified situation.
+  *
 - * Libav guarantees backward API and ABI compatibility for each library as long
++ * FFmpeg guarantees backward API and ABI compatibility for each library as long
+  * as its major version number is unchanged. This means that no public symbols
+  * will be removed or renamed. Types and names of the public struct members and
+  * values of public macros and enums will remain the same (unless they were
+  * explicitly declared as not part of the public API). Documented behavior will
+  * not change.
+  *
 - * In other words, any correct program that works with a given Libav snapshot
++ * In other words, any correct program that works with a given FFmpeg snapshot
+  * should work just as well without any changes with any later snapshot with the
+  * same major versions. This applies to both rebuilding the program against new
 - * Libav versions or to replacing the dynamic Libav libraries that a program
++ * FFmpeg versions or to replacing the dynamic FFmpeg libraries that a program
+  * links against.
+  *
+  * However, new public symbols may be added and new members may be appended to
+  * public structs whose size is not part of public ABI (most public structs in
 - * Libav). New macros and enum values may be added. Behavior in undocumented
++ * FFmpeg). New macros and enum values may be added. Behavior in undocumented
+  * situations may change slightly (and be documented). All those are accompanied
+  * by an entry in doc/APIchanges and incrementing either the minor or micro
+  * version number.
   */
  
  /**