[FFmpeg-cvslog] lavf doxy: add some general lavf information.

Anton Khirnov git at videolan.org
Tue Dec 13 00:59:45 CET 2011


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Sun Dec 11 09:05:11 2011 +0100| [ccbc106841ced3ea2653a48cae1038a324313f1c] | committer: Anton Khirnov

lavf doxy: add some general lavf information.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ccbc106841ced3ea2653a48cae1038a324313f1c
---

 libavformat/avformat.h |   35 +++++++++++++++++++++++++++++++++++
 1 files changed, 35 insertions(+), 0 deletions(-)

diff --git a/libavformat/avformat.h b/libavformat/avformat.h
index cfec2f6..6881372 100644
--- a/libavformat/avformat.h
+++ b/libavformat/avformat.h
@@ -31,6 +31,41 @@
  * @defgroup libavf I/O and Muxing/Demuxing Library
  * @{
  *
+ * Libavformat (lavf) is a library for dealing with various media container
+ * formats. Its main two purposes are demuxing - i.e. splitting a media file
+ * into component streams, and the reverse process of muxing - writing supplied
+ * data in a specified container format. It also has an @ref lavf_io
+ * "I/O module" which supports a number of protocols for accessing the data (e.g.
+ * file, tcp, http and others). Before using lavf, you need to call
+ * av_register_all() to register all compiled muxers, demuxers and protocols.
+ * Unless you are absolutely sure you won't use libavformat's network
+ * capabilities, you should also call avformat_network_init().
+ *
+ * A supported input format is described by an AVInputFormat struct, conversely
+ * an output format is described by AVOutputFormat. You can iterate over all
+ * registered input/output formats using the av_iformat_next() /
+ * av_oformat_next() functions. The protocols layer is not part of the public
+ * API, so you can only get the names of supported protocols with the
+ * avio_enum_protocols() function.
+ *
+ * Main lavf structure used for both muxing and demuxing is AVFormatContext,
+ * which exports all information about the file being read or written. As with
+ * most Libav structures, its size is not part of public ABI, so it cannot be
+ * allocated on stack or directly with av_malloc(). To create an
+ * AVFormatContext, use avformat_alloc_context() (some functions, like
+ * avformat_open_input() might do that for you).
+ *
+ * Most importantly an AVFormatContext contains:
+ * @li the @ref AVFormatContext.iformat "input" or @ref AVFormatContext.oformat
+ * "output" format. It is either autodetected or set by user for input;
+ * always set by user for output.
+ * @li an @ref AVFormatContext.streams "array" of AVStreams, which describe all
+ * elementary streams stored in the file. AVStreams are typically referred to
+ * using their index in this array.
+ * @li an @ref AVFormatContext.pb "I/O context". It is either opened by lavf or
+ * set by user for input, always set by user for output (unless you are dealing
+ * with an AVFMT_NOFILE format).
+ *
  * @defgroup lavf_decoding Demuxing
  * @{
  * @}



More information about the ffmpeg-cvslog mailing list