Revert "replace FFmpeg with Libav in doc/"
This reverts commit f8a45fa1b1.
Conflicts:
	doc/optimization.txt
			
			
This commit is contained in:
		@@ -1,7 +1,7 @@
 | 
			
		||||
@chapter Bitstream Filters
 | 
			
		||||
@c man begin BITSTREAM FILTERS
 | 
			
		||||
 | 
			
		||||
When you configure your Libav build, all the supported bitstream
 | 
			
		||||
When you configure your FFmpeg build, all the supported bitstream
 | 
			
		||||
filters are enabled by default. You can list all available ones using
 | 
			
		||||
the configure option @code{--list-bsfs}.
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
Libav currently uses a custom build system, this text attempts to document
 | 
			
		||||
FFmpeg currently uses a custom build system, this text attempts to document
 | 
			
		||||
some of its obscure features and options.
 | 
			
		||||
 | 
			
		||||
Options to make:
 | 
			
		||||
 
 | 
			
		||||
@@ -1,10 +1,10 @@
 | 
			
		||||
@chapter Demuxers
 | 
			
		||||
@c man begin DEMUXERS
 | 
			
		||||
 | 
			
		||||
Demuxers are configured elements in Libav which allow to read the
 | 
			
		||||
Demuxers are configured elements in FFmpeg which allow to read the
 | 
			
		||||
multimedia streams from a particular type of file.
 | 
			
		||||
 | 
			
		||||
When you configure your Libav build, all the supported demuxers
 | 
			
		||||
When you configure your FFmpeg build, all the supported demuxers
 | 
			
		||||
are enabled by default. You can list all available ones using the
 | 
			
		||||
configure option "--list-demuxers".
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -32,12 +32,12 @@ generated by ./configure to understand what is needed.
 | 
			
		||||
 | 
			
		||||
You can use libavcodec or libavformat in your commercial program, but
 | 
			
		||||
@emph{any patch you make must be published}. The best way to proceed is
 | 
			
		||||
to send your patches to the Libav mailing list.
 | 
			
		||||
to send your patches to the FFmpeg mailing list.
 | 
			
		||||
 | 
			
		||||
@anchor{Coding Rules}
 | 
			
		||||
@section Coding Rules
 | 
			
		||||
 | 
			
		||||
Libav is programmed in the ISO C90 language with a few additional
 | 
			
		||||
FFmpeg is programmed in the ISO C90 language with a few additional
 | 
			
		||||
features from ISO C99, namely:
 | 
			
		||||
@itemize @bullet
 | 
			
		||||
@item
 | 
			
		||||
@@ -54,7 +54,7 @@ These features are supported by all compilers we care about, so we will not
 | 
			
		||||
accept patches to remove their use unless they absolutely do not impair
 | 
			
		||||
clarity and performance.
 | 
			
		||||
 | 
			
		||||
All code must compile with GCC 2.95 and GCC 3.3. Currently, Libav also
 | 
			
		||||
All code must compile with GCC 2.95 and GCC 3.3. Currently, FFmpeg also
 | 
			
		||||
compiles with several other compilers, such as the Compaq ccc compiler
 | 
			
		||||
or Sun Studio 9, and we would like to keep it that way unless it would
 | 
			
		||||
be exceedingly involved. To ensure compatibility, please do not use any
 | 
			
		||||
@@ -76,7 +76,7 @@ The TAB character is forbidden outside of Makefiles as is any
 | 
			
		||||
form of trailing whitespace. Commits containing either will be
 | 
			
		||||
rejected by the Subversion repository.
 | 
			
		||||
 | 
			
		||||
The main priority in Libav is simplicity and small code size in order to
 | 
			
		||||
The main priority in FFmpeg is simplicity and small code size in order to
 | 
			
		||||
minimize the bug count.
 | 
			
		||||
 | 
			
		||||
Comments: Use the JavaDoc/Doxygen
 | 
			
		||||
@@ -129,7 +129,7 @@ should also be avoided if they don't make the code easier to understand.
 | 
			
		||||
   an "or any later version" clause is also acceptable, but LGPL is
 | 
			
		||||
   preferred.
 | 
			
		||||
@item
 | 
			
		||||
   You must not commit code which breaks Libav! (Meaning unfinished but
 | 
			
		||||
   You must not commit code which breaks FFmpeg! (Meaning unfinished but
 | 
			
		||||
   enabled code which breaks compilation or compiles but does not work or
 | 
			
		||||
   breaks the regression tests)
 | 
			
		||||
   You can commit unfinished stuff (for testing etc), but it must be disabled
 | 
			
		||||
@@ -168,7 +168,7 @@ should also be avoided if they don't make the code easier to understand.
 | 
			
		||||
   with functional changes, such commits will be rejected and removed. Every
 | 
			
		||||
   developer has his own indentation style, you should not change it. Of course
 | 
			
		||||
   if you (re)write something, you can use your own style, even though we would
 | 
			
		||||
   prefer if the indentation throughout Libav was consistent (Many projects
 | 
			
		||||
   prefer if the indentation throughout FFmpeg was consistent (Many projects
 | 
			
		||||
   force a given indentation style - we do not.). If you really need to make
 | 
			
		||||
   indentation changes (try to avoid this), separate them strictly from real
 | 
			
		||||
   changes.
 | 
			
		||||
@@ -253,7 +253,7 @@ keeping it as a logical unit that contains an individual change, even
 | 
			
		||||
if it spans multiple files. This makes reviewing your patches much easier
 | 
			
		||||
for us and greatly increases your chances of getting your patch applied.
 | 
			
		||||
 | 
			
		||||
Use the patcheck tool of Libav to check your patch.
 | 
			
		||||
Use the patcheck tool of FFmpeg to check your patch.
 | 
			
		||||
The tool is located in the tools directory.
 | 
			
		||||
 | 
			
		||||
Run the regression tests before submitting a patch so that you can
 | 
			
		||||
@@ -275,7 +275,7 @@ Your patch will be reviewed on the mailing list. You will likely be asked
 | 
			
		||||
to make some changes and are expected to send in an improved version that
 | 
			
		||||
incorporates the requests from the review. This process may go through
 | 
			
		||||
several iterations. Once your patch is deemed good enough, some developer
 | 
			
		||||
will pick it up and commit it to the official Libav tree.
 | 
			
		||||
will pick it up and commit it to the official FFmpeg tree.
 | 
			
		||||
 | 
			
		||||
Give us a few days to react. But if some time passes without reaction,
 | 
			
		||||
send a reminder by email. Your patch should eventually be dealt with.
 | 
			
		||||
@@ -325,7 +325,7 @@ send a reminder by email. Your patch should eventually be dealt with.
 | 
			
		||||
@item
 | 
			
		||||
    Is the patch a unified diff?
 | 
			
		||||
@item
 | 
			
		||||
    Is the patch against latest Libav git master branch?
 | 
			
		||||
    Is the patch against latest FFmpeg git master branch?
 | 
			
		||||
@item
 | 
			
		||||
    Are you subscribed to ffmpeg-dev?
 | 
			
		||||
    (the list is subscribers only due to spam)
 | 
			
		||||
@@ -374,7 +374,7 @@ send a reminder by email. Your patch should eventually be dealt with.
 | 
			
		||||
    patch easily?
 | 
			
		||||
@item
 | 
			
		||||
    If you added a new file, did you insert a license header? It should be
 | 
			
		||||
    taken from Libav, not randomly copied and pasted from somewhere else.
 | 
			
		||||
    taken from FFmpeg, not randomly copied and pasted from somewhere else.
 | 
			
		||||
@item
 | 
			
		||||
    You should maintain alphabetical order in alphabetically ordered lists as
 | 
			
		||||
    long as doing so does not break API/ABI compatibility.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,10 +1,10 @@
 | 
			
		||||
@chapter Encoders
 | 
			
		||||
@c man begin ENCODERS
 | 
			
		||||
 | 
			
		||||
Encoders are configured elements in Libav which allow the encoding of
 | 
			
		||||
Encoders are configured elements in FFmpeg which allow the encoding of
 | 
			
		||||
multimedia streams.
 | 
			
		||||
 | 
			
		||||
When you configure your Libav build, all the supported native encoders
 | 
			
		||||
When you configure your FFmpeg build, all the supported native encoders
 | 
			
		||||
are enabled by default. Encoders requiring an external library must be enabled
 | 
			
		||||
manually via the corresponding @code{--enable-lib} option. You can list all
 | 
			
		||||
available encoders using the configure option @code{--list-encoders}.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
@chapter Expression Evaluation
 | 
			
		||||
@c man begin EXPRESSION EVALUATION
 | 
			
		||||
 | 
			
		||||
When evaluating an arithemetic expression, Libav uses an internal
 | 
			
		||||
When evaluating an arithemetic expression, FFmpeg uses an internal
 | 
			
		||||
formula evaluator, implemented through the @file{libavutil/eval.h}
 | 
			
		||||
interface.
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										56
									
								
								doc/faq.texi
									
									
									
									
									
								
							
							
						
						
									
										56
									
								
								doc/faq.texi
									
									
									
									
									
								
							@@ -1,8 +1,8 @@
 | 
			
		||||
\input texinfo @c -*- texinfo -*-
 | 
			
		||||
 | 
			
		||||
@settitle Libav FAQ
 | 
			
		||||
@settitle FFmpeg FAQ
 | 
			
		||||
@titlepage
 | 
			
		||||
@center @titlefont{Libav FAQ}
 | 
			
		||||
@center @titlefont{FFmpeg FAQ}
 | 
			
		||||
@end titlepage
 | 
			
		||||
 | 
			
		||||
@top
 | 
			
		||||
@@ -11,33 +11,33 @@
 | 
			
		||||
 | 
			
		||||
@chapter General Questions
 | 
			
		||||
 | 
			
		||||
@section When will the next Libav version be released? / Why are Libav releases so few and far between?
 | 
			
		||||
@section When will the next FFmpeg version be released? / Why are FFmpeg releases so few and far between?
 | 
			
		||||
 | 
			
		||||
Like most open source projects Libav suffers from a certain lack of
 | 
			
		||||
Like most open source projects FFmpeg suffers from a certain lack of
 | 
			
		||||
manpower. For this reason the developers have to prioritize the work
 | 
			
		||||
they do and putting out releases is not at the top of the list, fixing
 | 
			
		||||
bugs and reviewing patches takes precedence. Please don't complain or
 | 
			
		||||
request more timely and/or frequent releases unless you are willing to
 | 
			
		||||
help out creating them.
 | 
			
		||||
 | 
			
		||||
@section I have a problem with an old version of Libav; where should I report it?
 | 
			
		||||
Nowhere. We do not support old Libav versions in any way, we simply lack
 | 
			
		||||
@section I have a problem with an old version of FFmpeg; where should I report it?
 | 
			
		||||
Nowhere. We do not support old FFmpeg versions in any way, we simply lack
 | 
			
		||||
the time, motivation and manpower to do so. If you have a problem with an
 | 
			
		||||
old version of Libav, upgrade to the latest Subversion snapshot. If you
 | 
			
		||||
old version of FFmpeg, upgrade to the latest Subversion snapshot. If you
 | 
			
		||||
still experience the problem, then you can report it according to the
 | 
			
		||||
guidelines in @url{http://ffmpeg.org/bugreports.html}.
 | 
			
		||||
 | 
			
		||||
@section Why doesn't Libav support feature [xyz]?
 | 
			
		||||
@section Why doesn't FFmpeg support feature [xyz]?
 | 
			
		||||
 | 
			
		||||
Because no one has taken on that task yet. Libav development is
 | 
			
		||||
Because no one has taken on that task yet. FFmpeg development is
 | 
			
		||||
driven by the tasks that are important to the individual developers.
 | 
			
		||||
If there is a feature that is important to you, the best way to get
 | 
			
		||||
it implemented is to undertake the task yourself or sponsor a developer.
 | 
			
		||||
 | 
			
		||||
@section Libav does not support codec XXX. Can you include a Windows DLL loader to support it?
 | 
			
		||||
@section FFmpeg does not support codec XXX. Can you include a Windows DLL loader to support it?
 | 
			
		||||
 | 
			
		||||
No. Windows DLLs are not portable, bloated and often slow.
 | 
			
		||||
Moreover Libav strives to support all codecs natively.
 | 
			
		||||
Moreover FFmpeg strives to support all codecs natively.
 | 
			
		||||
A DLL loader is not conducive to that goal.
 | 
			
		||||
 | 
			
		||||
@section My bug report/mail to ffmpeg-devel/user has not received any replies.
 | 
			
		||||
@@ -55,10 +55,10 @@ libav* from another application.
 | 
			
		||||
@item You speak about a video having problems on playback but
 | 
			
		||||
not what you use to play it.
 | 
			
		||||
@item We have no faint clue what you are talking about besides
 | 
			
		||||
that it is related to Libav.
 | 
			
		||||
that it is related to FFmpeg.
 | 
			
		||||
@end itemize
 | 
			
		||||
 | 
			
		||||
@section Is there a forum for Libav? I do not like mailing lists.
 | 
			
		||||
@section Is there a forum for FFmpeg? I do not like mailing lists.
 | 
			
		||||
 | 
			
		||||
You may view our mailing lists with a more forum-alike look here:
 | 
			
		||||
@url{http://dir.gmane.org/gmane.comp.video.ffmpeg.user},
 | 
			
		||||
@@ -272,7 +272,7 @@ material, and try '-top 0/1' if the result looks really messed-up.
 | 
			
		||||
 | 
			
		||||
@section How can I read DirectShow files?
 | 
			
		||||
 | 
			
		||||
If you have built Libav with @code{./configure --enable-avisynth}
 | 
			
		||||
If you have built FFmpeg with @code{./configure --enable-avisynth}
 | 
			
		||||
(only possible on MinGW/Cygwin platforms),
 | 
			
		||||
then you may use any file that DirectShow can read as input.
 | 
			
		||||
 | 
			
		||||
@@ -368,11 +368,11 @@ examining all of the vbv_delay values and making complicated computations."
 | 
			
		||||
 | 
			
		||||
@chapter Development
 | 
			
		||||
 | 
			
		||||
@section Are there examples illustrating how to use the Libav libraries, particularly libavcodec and libavformat?
 | 
			
		||||
@section Are there examples illustrating how to use the FFmpeg libraries, particularly libavcodec and libavformat?
 | 
			
		||||
 | 
			
		||||
Yes. Read the Developers Guide of the Libav documentation. Alternatively,
 | 
			
		||||
Yes. Read the Developers Guide of the FFmpeg documentation. Alternatively,
 | 
			
		||||
examine the source code for one of the many open source projects that
 | 
			
		||||
already incorporate Libav at (@url{projects.html}).
 | 
			
		||||
already incorporate FFmpeg at (@url{projects.html}).
 | 
			
		||||
 | 
			
		||||
@section Can you support my C compiler XXX?
 | 
			
		||||
 | 
			
		||||
@@ -383,14 +383,14 @@ with @code{#ifdef}s related to the compiler.
 | 
			
		||||
@section Is Microsoft Visual C++ supported?
 | 
			
		||||
 | 
			
		||||
No. Microsoft Visual C++ is not compliant to the C99 standard and does
 | 
			
		||||
not - among other things - support the inline assembly used in Libav.
 | 
			
		||||
not - among other things - support the inline assembly used in FFmpeg.
 | 
			
		||||
If you wish to use MSVC++ for your
 | 
			
		||||
project then you can link the MSVC++ code with libav* as long as
 | 
			
		||||
you compile the latter with a working C compiler. For more information, see
 | 
			
		||||
the @emph{Microsoft Visual C++ compatibility} section in the Libav
 | 
			
		||||
the @emph{Microsoft Visual C++ compatibility} section in the FFmpeg
 | 
			
		||||
documentation.
 | 
			
		||||
 | 
			
		||||
There have been efforts to make Libav compatible with MSVC++ in the
 | 
			
		||||
There have been efforts to make FFmpeg compatible with MSVC++ in the
 | 
			
		||||
past. However, they have all been rejected as too intrusive, especially
 | 
			
		||||
since MinGW does the job adequately. None of the core developers
 | 
			
		||||
work with MSVC++ and thus this item is low priority. Should you find
 | 
			
		||||
@@ -398,13 +398,13 @@ the silver bullet that solves this problem, feel free to shoot it at us.
 | 
			
		||||
 | 
			
		||||
We strongly recommend you to move over from MSVC++ to MinGW tools.
 | 
			
		||||
 | 
			
		||||
@section Can I use Libav or libavcodec under Windows?
 | 
			
		||||
@section Can I use FFmpeg or libavcodec under Windows?
 | 
			
		||||
 | 
			
		||||
Yes, but the Cygwin or MinGW tools @emph{must} be used to compile Libav.
 | 
			
		||||
Read the @emph{Windows} section in the Libav documentation to find more
 | 
			
		||||
Yes, but the Cygwin or MinGW tools @emph{must} be used to compile FFmpeg.
 | 
			
		||||
Read the @emph{Windows} section in the FFmpeg documentation to find more
 | 
			
		||||
information.
 | 
			
		||||
 | 
			
		||||
To get help and instructions for building Libav under Windows, check out
 | 
			
		||||
To get help and instructions for building FFmpeg under Windows, check out
 | 
			
		||||
the FFmpeg Windows Help Forum at
 | 
			
		||||
@url{http://ffmpeg.arrozcru.org/}.
 | 
			
		||||
 | 
			
		||||
@@ -414,7 +414,7 @@ No. These tools are too bloated and they complicate the build.
 | 
			
		||||
 | 
			
		||||
@section Why not rewrite ffmpeg in object-oriented C++?
 | 
			
		||||
 | 
			
		||||
Libav is already organized in a highly modular manner and does not need to
 | 
			
		||||
FFmpeg is already organized in a highly modular manner and does not need to
 | 
			
		||||
be rewritten in a formal object language. Further, many of the developers
 | 
			
		||||
favor straight C; it works for them. For more arguments on this matter,
 | 
			
		||||
read "Programming Religion" at (@url{http://www.tux.org/lkml/#s15}).
 | 
			
		||||
@@ -441,16 +441,16 @@ the compilation failure then you are probably not qualified for this.
 | 
			
		||||
 | 
			
		||||
@section I'm using libavcodec from within my C++ application but the linker complains about missing symbols which seem to be available.
 | 
			
		||||
 | 
			
		||||
Libav is a pure C project, so to use the libraries within your C++ application
 | 
			
		||||
FFmpeg is a pure C project, so to use the libraries within your C++ application
 | 
			
		||||
you need to explicitly state that you are using a C library. You can do this by
 | 
			
		||||
encompassing your Libav includes using @code{extern "C"}.
 | 
			
		||||
encompassing your FFmpeg includes using @code{extern "C"}.
 | 
			
		||||
 | 
			
		||||
See @url{http://www.parashift.com/c++-faq-lite/mixing-c-and-cpp.html#faq-32.3}
 | 
			
		||||
 | 
			
		||||
@section I have a file in memory / a API different from *open/*read/ libc how do I use it with libavformat?
 | 
			
		||||
 | 
			
		||||
You have to implement a URLProtocol, see @file{libavformat/file.c} in
 | 
			
		||||
Libav and @file{libmpdemux/demux_lavf.c} in MPlayer sources.
 | 
			
		||||
FFmpeg and @file{libmpdemux/demux_lavf.c} in MPlayer sources.
 | 
			
		||||
 | 
			
		||||
@section I get "No compatible shell script interpreter found." in MSys.
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -735,7 +735,7 @@ A preset file contains a sequence of @var{option}=@var{value} pairs,
 | 
			
		||||
one for each line, specifying a sequence of options which would be
 | 
			
		||||
awkward to specify on the command line. Lines starting with the hash
 | 
			
		||||
('#') character are ignored and are used to provide comments. Check
 | 
			
		||||
the @file{ffpresets} directory in the Libav source tree for examples.
 | 
			
		||||
the @file{ffpresets} directory in the FFmpeg source tree for examples.
 | 
			
		||||
 | 
			
		||||
Preset files are specified with the @code{vpre}, @code{apre},
 | 
			
		||||
@code{spre}, and @code{fpre} options. The @code{fpre} option takes the
 | 
			
		||||
@@ -997,11 +997,11 @@ file to which you want to add them.
 | 
			
		||||
@settitle FFmpeg video converter
 | 
			
		||||
 | 
			
		||||
@c man begin SEEALSO
 | 
			
		||||
ffplay(1), ffprobe(1), ffserver(1) and the Libav HTML documentation
 | 
			
		||||
ffplay(1), ffprobe(1), ffserver(1) and the FFmpeg HTML documentation
 | 
			
		||||
@c man end
 | 
			
		||||
 | 
			
		||||
@c man begin AUTHORS
 | 
			
		||||
The Libav developers
 | 
			
		||||
The FFmpeg developers
 | 
			
		||||
@c man end
 | 
			
		||||
 | 
			
		||||
@end ignore
 | 
			
		||||
 
 | 
			
		||||
@@ -20,9 +20,9 @@ ffplay [options] @file{input_file}
 | 
			
		||||
@chapter Description
 | 
			
		||||
@c man begin DESCRIPTION
 | 
			
		||||
 | 
			
		||||
FFplay is a very simple and portable media player using the Libav
 | 
			
		||||
FFplay is a very simple and portable media player using the FFmpeg
 | 
			
		||||
libraries and the SDL library. It is mostly used as a testbed for the
 | 
			
		||||
various Libav APIs.
 | 
			
		||||
various FFmpeg APIs.
 | 
			
		||||
@c man end
 | 
			
		||||
 | 
			
		||||
@chapter Options
 | 
			
		||||
@@ -169,11 +169,11 @@ Seek to percentage in file corresponding to fraction of width.
 | 
			
		||||
@settitle FFplay media player
 | 
			
		||||
 | 
			
		||||
@c man begin SEEALSO
 | 
			
		||||
ffmpeg(1), ffprobe(1), ffserver(1) and the Libav HTML documentation
 | 
			
		||||
ffmpeg(1), ffprobe(1), ffserver(1) and the FFmpeg HTML documentation
 | 
			
		||||
@c man end
 | 
			
		||||
 | 
			
		||||
@c man begin AUTHORS
 | 
			
		||||
The Libav developers
 | 
			
		||||
The FFmpeg developers
 | 
			
		||||
@c man end
 | 
			
		||||
 | 
			
		||||
@end ignore
 | 
			
		||||
 
 | 
			
		||||
@@ -122,11 +122,11 @@ with name "STREAM".
 | 
			
		||||
@settitle FFprobe media prober
 | 
			
		||||
 | 
			
		||||
@c man begin SEEALSO
 | 
			
		||||
ffmpeg(1), ffplay(1), ffserver(1) and the Libav HTML documentation
 | 
			
		||||
ffmpeg(1), ffplay(1), ffserver(1) and the FFmpeg HTML documentation
 | 
			
		||||
@c man end
 | 
			
		||||
 | 
			
		||||
@c man begin AUTHORS
 | 
			
		||||
The Libav developers
 | 
			
		||||
The FFmpeg developers
 | 
			
		||||
@c man end
 | 
			
		||||
 | 
			
		||||
@end ignore
 | 
			
		||||
 
 | 
			
		||||
@@ -266,11 +266,11 @@ rather than as a daemon.
 | 
			
		||||
@c man begin SEEALSO
 | 
			
		||||
 | 
			
		||||
ffmpeg(1), ffplay(1), ffprobe(1), the @file{ffmpeg/doc/ffserver.conf}
 | 
			
		||||
example and the Libav HTML documentation
 | 
			
		||||
example and the FFmpeg HTML documentation
 | 
			
		||||
@c man end
 | 
			
		||||
 | 
			
		||||
@c man begin AUTHORS
 | 
			
		||||
The Libav developers
 | 
			
		||||
The FFmpeg developers
 | 
			
		||||
@c man end
 | 
			
		||||
 | 
			
		||||
@end ignore
 | 
			
		||||
 
 | 
			
		||||
@@ -88,6 +88,6 @@ can be disabled setting the environment variable
 | 
			
		||||
@env{FFMPEG_FORCE_NOCOLOR} or @env{NO_COLOR}, or can be forced setting
 | 
			
		||||
the environment variable @env{FFMPEG_FORCE_COLOR}.
 | 
			
		||||
The use of the environment variable @env{NO_COLOR} is deprecated and
 | 
			
		||||
will be dropped in a following Libav version.
 | 
			
		||||
will be dropped in a following FFmpeg version.
 | 
			
		||||
 | 
			
		||||
@end table
 | 
			
		||||
 
 | 
			
		||||
@@ -92,7 +92,7 @@ Follows a BNF description for the filtergraph syntax:
 | 
			
		||||
@chapter Audio Filters
 | 
			
		||||
@c man begin AUDIO FILTERS
 | 
			
		||||
 | 
			
		||||
When you configure your Libav build, you can disable any of the
 | 
			
		||||
When you configure your FFmpeg build, you can disable any of the
 | 
			
		||||
existing filters using --disable-filters.
 | 
			
		||||
The configure output will show the audio filters included in your
 | 
			
		||||
build.
 | 
			
		||||
@@ -155,7 +155,7 @@ tools.
 | 
			
		||||
@chapter Video Filters
 | 
			
		||||
@c man begin VIDEO FILTERS
 | 
			
		||||
 | 
			
		||||
When you configure your Libav build, you can disable any of the
 | 
			
		||||
When you configure your FFmpeg build, you can disable any of the
 | 
			
		||||
existing filters using --disable-filters.
 | 
			
		||||
The configure output will show the video filters included in your
 | 
			
		||||
build.
 | 
			
		||||
@@ -531,7 +531,7 @@ format=yuv420p:yuv444p:yuv410p
 | 
			
		||||
Apply a frei0r effect to the input video.
 | 
			
		||||
 | 
			
		||||
To enable compilation of this filter you need to install the frei0r
 | 
			
		||||
header and configure Libav with --enable-frei0r.
 | 
			
		||||
header and configure FFmpeg with --enable-frei0r.
 | 
			
		||||
 | 
			
		||||
The filter supports the syntax:
 | 
			
		||||
@example
 | 
			
		||||
@@ -669,7 +669,7 @@ Pass the video source unchanged to the output.
 | 
			
		||||
Apply video transform using libopencv.
 | 
			
		||||
 | 
			
		||||
To enable this filter install libopencv library and headers and
 | 
			
		||||
configure Libav with --enable-libopencv.
 | 
			
		||||
configure FFmpeg with --enable-libopencv.
 | 
			
		||||
 | 
			
		||||
The filter takes the parameters: @var{filter_name}@{:=@}@var{filter_params}.
 | 
			
		||||
 | 
			
		||||
@@ -1314,7 +1314,7 @@ timebase. The expression can contain the constants "PI", "E", "PHI",
 | 
			
		||||
Provide a frei0r source.
 | 
			
		||||
 | 
			
		||||
To enable compilation of this filter you need to install the frei0r
 | 
			
		||||
header and configure Libav with --enable-frei0r.
 | 
			
		||||
header and configure FFmpeg with --enable-frei0r.
 | 
			
		||||
 | 
			
		||||
The source supports the syntax:
 | 
			
		||||
@example
 | 
			
		||||
 
 | 
			
		||||
@@ -11,13 +11,13 @@
 | 
			
		||||
 | 
			
		||||
@chapter external libraries
 | 
			
		||||
 | 
			
		||||
Libav can be hooked up with a number of external libraries to add support
 | 
			
		||||
FFmpeg can be hooked up with a number of external libraries to add support
 | 
			
		||||
for more formats. None of them are used by default, their use has to be
 | 
			
		||||
explicitly requested by passing the appropriate flags to @file{./configure}.
 | 
			
		||||
 | 
			
		||||
@section OpenCORE AMR
 | 
			
		||||
 | 
			
		||||
Libav can make use of the OpenCORE libraries for AMR-NB
 | 
			
		||||
FFmpeg can make use of the OpenCORE libraries for AMR-NB
 | 
			
		||||
decoding/encoding and AMR-WB decoding.
 | 
			
		||||
 | 
			
		||||
Go to @url{http://sourceforge.net/projects/opencore-amr/} and follow the instructions for
 | 
			
		||||
@@ -27,7 +27,7 @@ installing the libraries. Then pass @code{--enable-libopencore-amrnb} and/or
 | 
			
		||||
Note that OpenCORE is under the Apache License 2.0 (see
 | 
			
		||||
@url{http://www.apache.org/licenses/LICENSE-2.0} for details), which is
 | 
			
		||||
incompatible with the LGPL version 2.1 and GPL version 2. You have to
 | 
			
		||||
upgrade Libav's license to LGPL version 3 (or if you have enabled
 | 
			
		||||
upgrade FFmpeg's license to LGPL version 3 (or if you have enabled
 | 
			
		||||
GPL components, GPL version 3) to use it.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -37,7 +37,7 @@ You can use the @code{-formats} and @code{-codecs} options to have an exhaustive
 | 
			
		||||
 | 
			
		||||
@section File Formats
 | 
			
		||||
 | 
			
		||||
Libav supports the following file formats through the @code{libavformat}
 | 
			
		||||
FFmpeg supports the following file formats through the @code{libavformat}
 | 
			
		||||
library:
 | 
			
		||||
 | 
			
		||||
@multitable @columnfractions .4 .1 .1 .4
 | 
			
		||||
@@ -751,18 +751,18 @@ Using a cross-compiler is preferred for various reasons.
 | 
			
		||||
 | 
			
		||||
@subsection DJGPP
 | 
			
		||||
 | 
			
		||||
Libav cannot be compiled because of broken system headers, add
 | 
			
		||||
FFmpeg cannot be compiled because of broken system headers, add
 | 
			
		||||
@code{--extra-cflags=-U__STRICT_ANSI__} to the configure options as a
 | 
			
		||||
workaround.
 | 
			
		||||
 | 
			
		||||
@section OS/2
 | 
			
		||||
 | 
			
		||||
For information about compiling Libav on OS/2 see
 | 
			
		||||
For information about compiling FFmpeg on OS/2 see
 | 
			
		||||
@url{http://www.edm2.com/index.php/FFmpeg}.
 | 
			
		||||
 | 
			
		||||
@section Unix-like
 | 
			
		||||
 | 
			
		||||
Some parts of Libav cannot be built with version 2.15 of the GNU
 | 
			
		||||
Some parts of FFmpeg cannot be built with version 2.15 of the GNU
 | 
			
		||||
assembler which is still provided by a few AMD64 distributions. To
 | 
			
		||||
make sure your compiler really uses the required version of gas
 | 
			
		||||
after a binutils upgrade, run:
 | 
			
		||||
@@ -777,7 +777,7 @@ to configure.
 | 
			
		||||
 | 
			
		||||
@subsection BSD
 | 
			
		||||
 | 
			
		||||
BSD make will not build Libav, you need to install and use GNU Make
 | 
			
		||||
BSD make will not build FFmpeg, you need to install and use GNU Make
 | 
			
		||||
(@file{gmake}).
 | 
			
		||||
 | 
			
		||||
@subsubsection FreeBSD
 | 
			
		||||
@@ -790,7 +790,7 @@ getting the system headers fixed.
 | 
			
		||||
 | 
			
		||||
@subsection (Open)Solaris
 | 
			
		||||
 | 
			
		||||
GNU Make is required to build Libav, so you have to invoke (@file{gmake}),
 | 
			
		||||
GNU Make is required to build FFmpeg, so you have to invoke (@file{gmake}),
 | 
			
		||||
standard Solaris Make will not work. When building with a non-c99 front-end
 | 
			
		||||
(gcc, generic suncc) add either @code{--extra-libs=/usr/lib/values-xpg6.o}
 | 
			
		||||
or @code{--extra-libs=/usr/lib/64/values-xpg6.o} to the configure options
 | 
			
		||||
@@ -808,22 +808,22 @@ bash ./configure
 | 
			
		||||
MacOS X on PowerPC or ARM (iPhone) requires a preprocessor from
 | 
			
		||||
@url{http://github.com/yuvi/gas-preprocessor} to build the optimized
 | 
			
		||||
assembler functions. Just download the Perl script and put it somewhere
 | 
			
		||||
in your PATH, Libav's configure will pick it up automatically.
 | 
			
		||||
in your PATH, FFmpeg's configure will pick it up automatically.
 | 
			
		||||
 | 
			
		||||
@section Windows
 | 
			
		||||
 | 
			
		||||
To get help and instructions for building Libav under Windows, check out
 | 
			
		||||
To get help and instructions for building FFmpeg under Windows, check out
 | 
			
		||||
the FFmpeg Windows Help Forum at
 | 
			
		||||
@url{http://ffmpeg.arrozcru.org/}.
 | 
			
		||||
 | 
			
		||||
@subsection Native Windows compilation
 | 
			
		||||
 | 
			
		||||
Libav can be built to run natively on Windows using the MinGW tools. Install
 | 
			
		||||
FFmpeg can be built to run natively on Windows using the MinGW tools. Install
 | 
			
		||||
the latest versions of MSYS and MinGW from @url{http://www.mingw.org/}.
 | 
			
		||||
You can find detailed installation
 | 
			
		||||
instructions in the download section and the FAQ.
 | 
			
		||||
 | 
			
		||||
Libav does not build out-of-the-box with the packages the automated MinGW
 | 
			
		||||
FFmpeg does not build out-of-the-box with the packages the automated MinGW
 | 
			
		||||
installer provides. It also requires coreutils to be installed and many other
 | 
			
		||||
packages updated to the latest version. The minimum version for some packages
 | 
			
		||||
are listed below:
 | 
			
		||||
@@ -835,7 +835,7 @@ are listed below:
 | 
			
		||||
@item mingw-runtime 3.15
 | 
			
		||||
@end itemize
 | 
			
		||||
 | 
			
		||||
Libav automatically passes @code{-fno-common} to the compiler to work around
 | 
			
		||||
FFmpeg automatically passes @code{-fno-common} to the compiler to work around
 | 
			
		||||
a GCC bug (see @url{http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37216}).
 | 
			
		||||
 | 
			
		||||
Within the MSYS shell, configure and make with:
 | 
			
		||||
@@ -866,14 +866,14 @@ Edit the @file{bin/sdl-config} script so that it points to the correct prefix
 | 
			
		||||
where SDL was installed. Verify that @file{sdl-config} can be launched from
 | 
			
		||||
the MSYS command line.
 | 
			
		||||
 | 
			
		||||
@item By using @code{./configure --enable-shared} when configuring Libav,
 | 
			
		||||
@item By using @code{./configure --enable-shared} when configuring FFmpeg,
 | 
			
		||||
you can build libavutil, libavcodec and libavformat as DLLs.
 | 
			
		||||
 | 
			
		||||
@end itemize
 | 
			
		||||
 | 
			
		||||
@subsection Microsoft Visual C++ compatibility
 | 
			
		||||
 | 
			
		||||
As stated in the FAQ, Libav will not compile under MSVC++. However, if you
 | 
			
		||||
As stated in the FAQ, FFmpeg will not compile under MSVC++. However, if you
 | 
			
		||||
want to use the libav* libraries in your own applications, you can still
 | 
			
		||||
compile those applications using MSVC++. But the libav* libraries you link
 | 
			
		||||
to @emph{must} be built with MinGW. However, you will not be able to debug
 | 
			
		||||
@@ -881,13 +881,13 @@ inside the libav* libraries, since MSVC++ does not recognize the debug
 | 
			
		||||
symbols generated by GCC.
 | 
			
		||||
We strongly recommend you to move over from MSVC++ to MinGW tools.
 | 
			
		||||
 | 
			
		||||
This description of how to use the Libav libraries with MSVC++ is based on
 | 
			
		||||
This description of how to use the FFmpeg libraries with MSVC++ is based on
 | 
			
		||||
Microsoft Visual C++ 2005 Express Edition. If you have a different version,
 | 
			
		||||
you might have to modify the procedures slightly.
 | 
			
		||||
 | 
			
		||||
@subsubsection Using static libraries
 | 
			
		||||
 | 
			
		||||
Assuming you have just built and installed Libav in @file{/usr/local}.
 | 
			
		||||
Assuming you have just built and installed FFmpeg in @file{/usr/local}.
 | 
			
		||||
 | 
			
		||||
@enumerate
 | 
			
		||||
 | 
			
		||||
@@ -898,13 +898,13 @@ Application Wizard, uncheck the "Precompiled headers" option.
 | 
			
		||||
@item Write the source code for your application, or, for testing, just
 | 
			
		||||
copy the code from an existing sample application into the source file
 | 
			
		||||
that MSVC++ has already created for you. For example, you can copy
 | 
			
		||||
@file{libavformat/output-example.c} from the Libav distribution.
 | 
			
		||||
@file{libavformat/output-example.c} from the FFmpeg distribution.
 | 
			
		||||
 | 
			
		||||
@item Open the "Project / Properties" dialog box. In the "Configuration"
 | 
			
		||||
combo box, select "All Configurations" so that the changes you make will
 | 
			
		||||
affect both debug and release builds. In the tree view on the left hand
 | 
			
		||||
side, select "C/C++ / General", then edit the "Additional Include
 | 
			
		||||
Directories" setting to contain the path where the Libav includes were
 | 
			
		||||
Directories" setting to contain the path where the FFmpeg includes were
 | 
			
		||||
installed (i.e. @file{c:\msys\1.0\local\include}).
 | 
			
		||||
Do not add MinGW's include directory here, or the include files will
 | 
			
		||||
conflict with MSVC's.
 | 
			
		||||
@@ -912,7 +912,7 @@ conflict with MSVC's.
 | 
			
		||||
@item Still in the "Project / Properties" dialog box, select
 | 
			
		||||
"Linker / General" from the tree view and edit the
 | 
			
		||||
"Additional Library Directories" setting to contain the @file{lib}
 | 
			
		||||
directory where Libav was installed (i.e. @file{c:\msys\1.0\local\lib}),
 | 
			
		||||
directory where FFmpeg was installed (i.e. @file{c:\msys\1.0\local\lib}),
 | 
			
		||||
the directory where MinGW libs are installed (i.e. @file{c:\mingw\lib}),
 | 
			
		||||
and the directory where MinGW's GCC libs are installed
 | 
			
		||||
(i.e. @file{C:\mingw\lib\gcc\mingw32\4.2.1-sjlj}). Then select
 | 
			
		||||
@@ -929,13 +929,13 @@ set to "Multi-threaded DLL".
 | 
			
		||||
 | 
			
		||||
@item Click "OK" to close the "Project / Properties" dialog box.
 | 
			
		||||
 | 
			
		||||
@item MSVC++ lacks some C99 header files that are fundamental for Libav.
 | 
			
		||||
@item MSVC++ lacks some C99 header files that are fundamental for FFmpeg.
 | 
			
		||||
Get msinttypes from @url{http://code.google.com/p/msinttypes/downloads/list}
 | 
			
		||||
and install it in MSVC++'s include directory
 | 
			
		||||
(i.e. @file{C:\Program Files\Microsoft Visual Studio 8\VC\include}).
 | 
			
		||||
 | 
			
		||||
@item MSVC++ also does not understand the @code{inline} keyword used by
 | 
			
		||||
Libav, so you must add this line before @code{#include}ing libav*:
 | 
			
		||||
FFmpeg, so you must add this line before @code{#include}ing libav*:
 | 
			
		||||
@example
 | 
			
		||||
#define inline _inline
 | 
			
		||||
@end example
 | 
			
		||||
@@ -968,10 +968,10 @@ and run @file{c:\msys\1.0\msys.bat} from there.
 | 
			
		||||
@item Within the MSYS shell, run @code{lib.exe}. If you get a help message
 | 
			
		||||
from @file{Microsoft (R) Library Manager}, this means your environment
 | 
			
		||||
variables are set up correctly, the @file{Microsoft (R) Library Manager}
 | 
			
		||||
is on the path and will be used by Libav to create
 | 
			
		||||
is on the path and will be used by FFmpeg to create
 | 
			
		||||
MSVC++-compatible import libraries.
 | 
			
		||||
 | 
			
		||||
@item Build Libav with
 | 
			
		||||
@item Build FFmpeg with
 | 
			
		||||
 | 
			
		||||
@example
 | 
			
		||||
./configure --enable-shared --enable-memalign-hack
 | 
			
		||||
@@ -1000,7 +1000,7 @@ of DLL files, but the ones that are actually used to run your application
 | 
			
		||||
are the ones with a major version number in their filenames
 | 
			
		||||
(i.e. @file{avcodec-51.dll}).
 | 
			
		||||
 | 
			
		||||
Libav headers do not declare global data for Windows DLLs through the usual
 | 
			
		||||
FFmpeg headers do not declare global data for Windows DLLs through the usual
 | 
			
		||||
dllexport/dllimport interface. Such data will be exported properly while
 | 
			
		||||
building, but to use them in your MSVC++ code you will have to edit the
 | 
			
		||||
appropriate headers and mark the data as dllimport. For example, in
 | 
			
		||||
@@ -1014,14 +1014,14 @@ extern __declspec(dllimport) const AVPixFmtDescriptor av_pix_fmt_descriptors[];
 | 
			
		||||
You must use the MinGW cross compilation tools available at
 | 
			
		||||
@url{http://www.mingw.org/}.
 | 
			
		||||
 | 
			
		||||
Then configure Libav with the following options:
 | 
			
		||||
Then configure FFmpeg with the following options:
 | 
			
		||||
@example
 | 
			
		||||
./configure --target-os=mingw32 --cross-prefix=i386-mingw32msvc-
 | 
			
		||||
@end example
 | 
			
		||||
(you can change the cross-prefix according to the prefix chosen for the
 | 
			
		||||
MinGW tools).
 | 
			
		||||
 | 
			
		||||
Then you can easily test Libav with Wine
 | 
			
		||||
Then you can easily test FFmpeg with Wine
 | 
			
		||||
(@url{http://www.winehq.com/}).
 | 
			
		||||
 | 
			
		||||
@subsection Compilation under Cygwin
 | 
			
		||||
@@ -1055,7 +1055,7 @@ shared libraries:
 | 
			
		||||
./configure --enable-shared --disable-static --extra-cflags=-fno-reorder-functions
 | 
			
		||||
@end example
 | 
			
		||||
 | 
			
		||||
If you want to build Libav with additional libraries, download Cygwin
 | 
			
		||||
If you want to build FFmpeg with additional libraries, download Cygwin
 | 
			
		||||
"Devel" packages for Ogg and Vorbis from any Cygwin packages repository:
 | 
			
		||||
@example
 | 
			
		||||
libogg-devel, libvorbis-devel
 | 
			
		||||
 
 | 
			
		||||
@@ -28,9 +28,9 @@ Consult these resources whenever you have problems, they are quite exhaustive.
 | 
			
		||||
You do not need a special username or password.
 | 
			
		||||
All you need is to provide a ssh public key to the Git server admin.
 | 
			
		||||
 | 
			
		||||
What follows now is a basic introduction to Git and some Libav-specific
 | 
			
		||||
What follows now is a basic introduction to Git and some FFmpeg-specific
 | 
			
		||||
guidelines. Read it at least once, if you are granted commit privileges to the
 | 
			
		||||
Libav project you are expected to be familiar with these rules.
 | 
			
		||||
FFmpeg project you are expected to be familiar with these rules.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -46,11 +46,11 @@ I. BASICS:
 | 
			
		||||
 | 
			
		||||
    git clone git://git.videolan.org/ffmpeg <target>
 | 
			
		||||
 | 
			
		||||
  This will put the Libav sources into the directory <target>.
 | 
			
		||||
  This will put the FFmpeg sources into the directory <target>.
 | 
			
		||||
 | 
			
		||||
    git clone git@git.videolan.org:ffmpeg <target>
 | 
			
		||||
 | 
			
		||||
  This will put the Libav sources into the directory <target> and let
 | 
			
		||||
  This will put the FFmpeg sources into the directory <target> and let
 | 
			
		||||
  you push back your changes to the remote repository.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -72,7 +72,7 @@ I. BASICS:
 | 
			
		||||
 | 
			
		||||
  fetches the changes from the main repository and replays your local commits
 | 
			
		||||
  over it. This is required to keep all your local changes at the top of
 | 
			
		||||
  Libav's master tree. The master tree will reject pushes with merge commits.
 | 
			
		||||
  FFmpeg's master tree. The master tree will reject pushes with merge commits.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
3. Adding/removing files/directories:
 | 
			
		||||
 
 | 
			
		||||
@@ -1,10 +1,10 @@
 | 
			
		||||
@chapter Input Devices
 | 
			
		||||
@c man begin INPUT DEVICES
 | 
			
		||||
 | 
			
		||||
Input devices are configured elements in Libav which allow to access
 | 
			
		||||
Input devices are configured elements in FFmpeg which allow to access
 | 
			
		||||
the data coming from a multimedia device attached to your system.
 | 
			
		||||
 | 
			
		||||
When you configure your Libav build, all the supported input devices
 | 
			
		||||
When you configure your FFmpeg build, all the supported input devices
 | 
			
		||||
are enabled by default. You can list all available ones using the
 | 
			
		||||
configure option "--list-indevs".
 | 
			
		||||
 | 
			
		||||
@@ -95,7 +95,7 @@ A JACK input device creates one or more JACK writable clients, one for
 | 
			
		||||
each audio channel, with name @var{client_name}:input_@var{N}, where
 | 
			
		||||
@var{client_name} is the name provided by the application, and @var{N}
 | 
			
		||||
is a number which identifies the channel.
 | 
			
		||||
Each writable client will send the acquired data to the Libav input
 | 
			
		||||
Each writable client will send the acquired data to the FFmpeg input
 | 
			
		||||
device.
 | 
			
		||||
 | 
			
		||||
Once you have created one or more JACK readable clients, you need to
 | 
			
		||||
 
 | 
			
		||||
@@ -1,11 +1,11 @@
 | 
			
		||||
Libav's bug/patch/feature request tracker manual
 | 
			
		||||
================================================
 | 
			
		||||
FFmpeg's bug/patch/feature request tracker manual
 | 
			
		||||
=================================================
 | 
			
		||||
 | 
			
		||||
NOTE: This is a draft.
 | 
			
		||||
 | 
			
		||||
Overview:
 | 
			
		||||
---------
 | 
			
		||||
Libav uses Roundup for tracking issues, new issues and changes to
 | 
			
		||||
FFmpeg uses Roundup for tracking issues, new issues and changes to
 | 
			
		||||
existing issues can be done through a web interface and through email.
 | 
			
		||||
It is possible to subscribe to individual issues by adding yourself to the
 | 
			
		||||
nosy list or to subscribe to the ffmpeg-issues mailing list which receives
 | 
			
		||||
@@ -60,7 +60,7 @@ critical
 | 
			
		||||
    No feature request can be critical.
 | 
			
		||||
 | 
			
		||||
important
 | 
			
		||||
    Bugs which make Libav unusable for a significant number of users, and
 | 
			
		||||
    Bugs which make FFmpeg unusable for a significant number of users, and
 | 
			
		||||
    patches fixing them.
 | 
			
		||||
    Examples here might be completely broken MPEG-4 decoding or a build issue
 | 
			
		||||
    on Linux.
 | 
			
		||||
@@ -81,7 +81,7 @@ minor
 | 
			
		||||
wish
 | 
			
		||||
    Something that is desirable to have but that there is no urgency at
 | 
			
		||||
    all to implement, e.g. something completely cosmetic like a website
 | 
			
		||||
    restyle or a personalized doxy template or the Libav logo.
 | 
			
		||||
    restyle or a personalized doxy template or the FFmpeg logo.
 | 
			
		||||
    This priority is not valid for bugs.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -11,10 +11,10 @@
 | 
			
		||||
 | 
			
		||||
@chapter Introduction
 | 
			
		||||
 | 
			
		||||
Libavfilter is the filtering API of Libav. It is the substitute of the
 | 
			
		||||
Libavfilter is the filtering API of FFmpeg. It is the substitute of the
 | 
			
		||||
now deprecated 'vhooks' and started as a Google Summer of Code project.
 | 
			
		||||
 | 
			
		||||
Integrating libavfilter into the main Libav repository is a work in
 | 
			
		||||
Integrating libavfilter into the main FFmpeg repository is a work in
 | 
			
		||||
progress. If you wish to try the unfinished development code of
 | 
			
		||||
libavfilter then check it out from the libavfilter repository into
 | 
			
		||||
some directory of your choice by:
 | 
			
		||||
@@ -74,7 +74,7 @@ not have video output.
 | 
			
		||||
 | 
			
		||||
@chapter graph2dot
 | 
			
		||||
 | 
			
		||||
The @file{graph2dot} program included in the Libav @file{tools}
 | 
			
		||||
The @file{graph2dot} program included in the FFmpeg @file{tools}
 | 
			
		||||
directory can be used to parse a filter graph description and issue a
 | 
			
		||||
corresponding textual representation in the dot language.
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
@chapter Metadata
 | 
			
		||||
@c man begin METADATA
 | 
			
		||||
 | 
			
		||||
Libav is able to dump metadata from media files into a simple UTF-8-encoded
 | 
			
		||||
FFmpeg is able to dump metadata from media files into a simple UTF-8-encoded
 | 
			
		||||
INI-like text file and then load it back using the metadata muxer/demuxer.
 | 
			
		||||
 | 
			
		||||
The file format is as follows:
 | 
			
		||||
@@ -53,7 +53,7 @@ A ffmetadata file might look like this:
 | 
			
		||||
;FFMETADATA1
 | 
			
		||||
title=bike\\shed
 | 
			
		||||
;this is a comment
 | 
			
		||||
artist=Libav troll team
 | 
			
		||||
artist=FFmpeg troll team
 | 
			
		||||
 | 
			
		||||
[CHAPTER]
 | 
			
		||||
TIMEBASE=1/1000
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
Libav multithreading methods
 | 
			
		||||
FFmpeg multithreading methods
 | 
			
		||||
==============================================
 | 
			
		||||
 | 
			
		||||
Libav provides two methods for multithreading codecs.
 | 
			
		||||
FFmpeg provides two methods for multithreading codecs.
 | 
			
		||||
 | 
			
		||||
Slice threading decodes multiple parts of a frame at the same time, using
 | 
			
		||||
AVCodecContext execute() and execute2().
 | 
			
		||||
 
 | 
			
		||||
@@ -1,10 +1,10 @@
 | 
			
		||||
@chapter Muxers
 | 
			
		||||
@c man begin MUXERS
 | 
			
		||||
 | 
			
		||||
Muxers are configured elements in Libav which allow writing
 | 
			
		||||
Muxers are configured elements in FFmpeg which allow writing
 | 
			
		||||
multimedia streams to a particular type of file.
 | 
			
		||||
 | 
			
		||||
When you configure your Libav build, all the supported muxers
 | 
			
		||||
When you configure your FFmpeg build, all the supported muxers
 | 
			
		||||
are enabled by default. You can list all available muxers using the
 | 
			
		||||
configure option @code{--list-muxers}.
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -201,7 +201,7 @@ Inline asm vs. external asm
 | 
			
		||||
---------------------------
 | 
			
		||||
Both inline asm (__asm__("..") in a .c file, handled by a compiler such as gcc)
 | 
			
		||||
and external asm (.s or .asm files, handled by an assembler such as yasm/nasm)
 | 
			
		||||
are accepted in Libav. Which one to use differs per specific case.
 | 
			
		||||
are accepted in FFmpeg. Which one to use differs per specific case.
 | 
			
		||||
 | 
			
		||||
- if your code is intended to be inlined in a C function, inline asm is always
 | 
			
		||||
   better, because external asm cannot be inlined
 | 
			
		||||
 
 | 
			
		||||
@@ -1,10 +1,10 @@
 | 
			
		||||
@chapter Output Devices
 | 
			
		||||
@c man begin OUTPUT DEVICES
 | 
			
		||||
 | 
			
		||||
Output devices are configured elements in Libav which allow to write
 | 
			
		||||
Output devices are configured elements in FFmpeg which allow to write
 | 
			
		||||
multimedia data to an output device attached to your system.
 | 
			
		||||
 | 
			
		||||
When you configure your Libav build, all the supported output devices
 | 
			
		||||
When you configure your FFmpeg build, all the supported output devices
 | 
			
		||||
are enabled by default. You can list all available ones using the
 | 
			
		||||
configure option "--list-outdevs".
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,10 +1,10 @@
 | 
			
		||||
@chapter Protocols
 | 
			
		||||
@c man begin PROTOCOLS
 | 
			
		||||
 | 
			
		||||
Protocols are configured elements in Libav which allow to access
 | 
			
		||||
Protocols are configured elements in FFmpeg which allow to access
 | 
			
		||||
resources which require the use of a particular protocol.
 | 
			
		||||
 | 
			
		||||
When you configure your Libav build, all the supported protocols are
 | 
			
		||||
When you configure your FFmpeg build, all the supported protocols are
 | 
			
		||||
enabled by default. You can list all available ones using the
 | 
			
		||||
configure option "--list-protocols".
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -8,9 +8,9 @@ it's a little late for this year's soc (2006).
 | 
			
		||||
 | 
			
		||||
The Goal:
 | 
			
		||||
Our goal in respect to soc is and must be of course exactly one thing and
 | 
			
		||||
that is to improve Libav, to reach this goal, code must
 | 
			
		||||
that is to improve FFmpeg, to reach this goal, code must
 | 
			
		||||
* conform to the development policy and patch submission guidelines
 | 
			
		||||
* must improve Libav somehow (faster, smaller, "better",
 | 
			
		||||
* must improve FFmpeg somehow (faster, smaller, "better",
 | 
			
		||||
  more codecs supported, fewer bugs, cleaner, ...)
 | 
			
		||||
 | 
			
		||||
for mentors and other developers to help students to reach that goal it is
 | 
			
		||||
@@ -20,5 +20,5 @@ easy reviewable that again leads us to:
 | 
			
		||||
* separation of cosmetic from non-cosmetic changes (this is almost entirely
 | 
			
		||||
  ignored by mentors and students in soc 2006 which might lead to a suprise
 | 
			
		||||
  when the code will be reviewed at the end before a possible inclusion in
 | 
			
		||||
  Libav, individual changes were generally not reviewable due to cosmetics).
 | 
			
		||||
  FFmpeg, individual changes were generally not reviewable due to cosmetics).
 | 
			
		||||
* frequent commits, so that comments can be provided early
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user