mirror of https://git.ffmpeg.org/ffmpeg.git
lavf doxy: add some general lavf information.
This commit is contained in:
parent
abf2c2d787
commit
ccbc106841
|
@ -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
|
||||
* @{
|
||||
* @}
|
||||
|
|
Loading…
Reference in New Issue