This reverts commit f8a45fa1b1
.
Conflicts:
doc/optimization.txt
tags/n0.8
@@ -1,7 +1,7 @@ | |||||
@chapter Bitstream Filters | @chapter Bitstream Filters | ||||
@c man begin 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 | filters are enabled by default. You can list all available ones using | ||||
the configure option @code{--list-bsfs}. | 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. | some of its obscure features and options. | ||||
Options to make: | Options to make: | ||||
@@ -1,10 +1,10 @@ | |||||
@chapter Demuxers | @chapter Demuxers | ||||
@c man begin 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. | 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 | are enabled by default. You can list all available ones using the | ||||
configure option "--list-demuxers". | 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 | 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 | @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} | @anchor{Coding Rules} | ||||
@section 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: | features from ISO C99, namely: | ||||
@itemize @bullet | @itemize @bullet | ||||
@item | @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 | accept patches to remove their use unless they absolutely do not impair | ||||
clarity and performance. | 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 | 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 | 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 | 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 | form of trailing whitespace. Commits containing either will be | ||||
rejected by the Subversion repository. | 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. | minimize the bug count. | ||||
Comments: Use the JavaDoc/Doxygen | 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 | an "or any later version" clause is also acceptable, but LGPL is | ||||
preferred. | preferred. | ||||
@item | @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 | enabled code which breaks compilation or compiles but does not work or | ||||
breaks the regression tests) | breaks the regression tests) | ||||
You can commit unfinished stuff (for testing etc), but it must be disabled | 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 | with functional changes, such commits will be rejected and removed. Every | ||||
developer has his own indentation style, you should not change it. Of course | 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 | 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 | 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 | indentation changes (try to avoid this), separate them strictly from real | ||||
changes. | 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 | if it spans multiple files. This makes reviewing your patches much easier | ||||
for us and greatly increases your chances of getting your patch applied. | 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. | The tool is located in the tools directory. | ||||
Run the regression tests before submitting a patch so that you can | 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 | 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 | incorporates the requests from the review. This process may go through | ||||
several iterations. Once your patch is deemed good enough, some developer | 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, | 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. | 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 | @item | ||||
Is the patch a unified diff? | Is the patch a unified diff? | ||||
@item | @item | ||||
Is the patch against latest Libav git master branch? | |||||
Is the patch against latest FFmpeg git master branch? | |||||
@item | @item | ||||
Are you subscribed to ffmpeg-dev? | Are you subscribed to ffmpeg-dev? | ||||
(the list is subscribers only due to spam) | (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? | patch easily? | ||||
@item | @item | ||||
If you added a new file, did you insert a license header? It should be | 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 | @item | ||||
You should maintain alphabetical order in alphabetically ordered lists as | You should maintain alphabetical order in alphabetically ordered lists as | ||||
long as doing so does not break API/ABI compatibility. | long as doing so does not break API/ABI compatibility. | ||||
@@ -1,10 +1,10 @@ | |||||
@chapter Encoders | @chapter Encoders | ||||
@c man begin 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. | 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 | are enabled by default. Encoders requiring an external library must be enabled | ||||
manually via the corresponding @code{--enable-lib} option. You can list all | manually via the corresponding @code{--enable-lib} option. You can list all | ||||
available encoders using the configure option @code{--list-encoders}. | available encoders using the configure option @code{--list-encoders}. | ||||
@@ -1,7 +1,7 @@ | |||||
@chapter Expression Evaluation | @chapter Expression Evaluation | ||||
@c man begin 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} | formula evaluator, implemented through the @file{libavutil/eval.h} | ||||
interface. | interface. | ||||
@@ -1,8 +1,8 @@ | |||||
\input texinfo @c -*- texinfo -*- | \input texinfo @c -*- texinfo -*- | ||||
@settitle Libav FAQ | |||||
@settitle FFmpeg FAQ | |||||
@titlepage | @titlepage | ||||
@center @titlefont{Libav FAQ} | |||||
@center @titlefont{FFmpeg FAQ} | |||||
@end titlepage | @end titlepage | ||||
@top | @top | ||||
@@ -11,33 +11,33 @@ | |||||
@chapter General Questions | @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 | 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 | 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 | bugs and reviewing patches takes precedence. Please don't complain or | ||||
request more timely and/or frequent releases unless you are willing to | request more timely and/or frequent releases unless you are willing to | ||||
help out creating them. | 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 | 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 | still experience the problem, then you can report it according to the | ||||
guidelines in @url{http://ffmpeg.org/bugreports.html}. | 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. | 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 | 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. | 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. | 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. | A DLL loader is not conducive to that goal. | ||||
@section My bug report/mail to ffmpeg-devel/user has not received any replies. | @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 | @item You speak about a video having problems on playback but | ||||
not what you use to play it. | not what you use to play it. | ||||
@item We have no faint clue what you are talking about besides | @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 | @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: | You may view our mailing lists with a more forum-alike look here: | ||||
@url{http://dir.gmane.org/gmane.comp.video.ffmpeg.user}, | @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? | @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), | (only possible on MinGW/Cygwin platforms), | ||||
then you may use any file that DirectShow can read as input. | 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 | @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 | 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? | @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? | @section Is Microsoft Visual C++ supported? | ||||
No. Microsoft Visual C++ is not compliant to the C99 standard and does | 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 | If you wish to use MSVC++ for your | ||||
project then you can link the MSVC++ code with libav* as long as | 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 | 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. | 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 | past. However, they have all been rejected as too intrusive, especially | ||||
since MinGW does the job adequately. None of the core developers | since MinGW does the job adequately. None of the core developers | ||||
work with MSVC++ and thus this item is low priority. Should you find | 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. | 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. | 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 | the FFmpeg Windows Help Forum at | ||||
@url{http://ffmpeg.arrozcru.org/}. | @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++? | @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 | 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, | favor straight C; it works for them. For more arguments on this matter, | ||||
read "Programming Religion" at (@url{http://www.tux.org/lkml/#s15}). | 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. | @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 | 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} | 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? | @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 | 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. | @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 | one for each line, specifying a sequence of options which would be | ||||
awkward to specify on the command line. Lines starting with the hash | awkward to specify on the command line. Lines starting with the hash | ||||
('#') character are ignored and are used to provide comments. Check | ('#') 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}, | Preset files are specified with the @code{vpre}, @code{apre}, | ||||
@code{spre}, and @code{fpre} options. The @code{fpre} option takes the | @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 | @settitle FFmpeg video converter | ||||
@c man begin SEEALSO | @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 end | ||||
@c man begin AUTHORS | @c man begin AUTHORS | ||||
The Libav developers | |||||
The FFmpeg developers | |||||
@c man end | @c man end | ||||
@end ignore | @end ignore | ||||
@@ -20,9 +20,9 @@ ffplay [options] @file{input_file} | |||||
@chapter Description | @chapter Description | ||||
@c man begin 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 | libraries and the SDL library. It is mostly used as a testbed for the | ||||
various Libav APIs. | |||||
various FFmpeg APIs. | |||||
@c man end | @c man end | ||||
@chapter Options | @chapter Options | ||||
@@ -169,11 +169,11 @@ Seek to percentage in file corresponding to fraction of width. | |||||
@settitle FFplay media player | @settitle FFplay media player | ||||
@c man begin SEEALSO | @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 end | ||||
@c man begin AUTHORS | @c man begin AUTHORS | ||||
The Libav developers | |||||
The FFmpeg developers | |||||
@c man end | @c man end | ||||
@end ignore | @end ignore | ||||
@@ -122,11 +122,11 @@ with name "STREAM". | |||||
@settitle FFprobe media prober | @settitle FFprobe media prober | ||||
@c man begin SEEALSO | @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 end | ||||
@c man begin AUTHORS | @c man begin AUTHORS | ||||
The Libav developers | |||||
The FFmpeg developers | |||||
@c man end | @c man end | ||||
@end ignore | @end ignore | ||||
@@ -266,11 +266,11 @@ rather than as a daemon. | |||||
@c man begin SEEALSO | @c man begin SEEALSO | ||||
ffmpeg(1), ffplay(1), ffprobe(1), the @file{ffmpeg/doc/ffserver.conf} | 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 end | ||||
@c man begin AUTHORS | @c man begin AUTHORS | ||||
The Libav developers | |||||
The FFmpeg developers | |||||
@c man end | @c man end | ||||
@end ignore | @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 | @env{FFMPEG_FORCE_NOCOLOR} or @env{NO_COLOR}, or can be forced setting | ||||
the environment variable @env{FFMPEG_FORCE_COLOR}. | the environment variable @env{FFMPEG_FORCE_COLOR}. | ||||
The use of the environment variable @env{NO_COLOR} is deprecated and | 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 | @end table |
@@ -92,7 +92,7 @@ Follows a BNF description for the filtergraph syntax: | |||||
@chapter Audio Filters | @chapter Audio Filters | ||||
@c man begin 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. | existing filters using --disable-filters. | ||||
The configure output will show the audio filters included in your | The configure output will show the audio filters included in your | ||||
build. | build. | ||||
@@ -155,7 +155,7 @@ tools. | |||||
@chapter Video Filters | @chapter Video Filters | ||||
@c man begin 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. | existing filters using --disable-filters. | ||||
The configure output will show the video filters included in your | The configure output will show the video filters included in your | ||||
build. | build. | ||||
@@ -531,7 +531,7 @@ format=yuv420p:yuv444p:yuv410p | |||||
Apply a frei0r effect to the input video. | Apply a frei0r effect to the input video. | ||||
To enable compilation of this filter you need to install the frei0r | 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: | The filter supports the syntax: | ||||
@example | @example | ||||
@@ -669,7 +669,7 @@ Pass the video source unchanged to the output. | |||||
Apply video transform using libopencv. | Apply video transform using libopencv. | ||||
To enable this filter install libopencv library and headers and | 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}. | 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. | Provide a frei0r source. | ||||
To enable compilation of this filter you need to install the frei0r | 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: | The source supports the syntax: | ||||
@example | @example | ||||
@@ -11,13 +11,13 @@ | |||||
@chapter external libraries | @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 | 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}. | explicitly requested by passing the appropriate flags to @file{./configure}. | ||||
@section OpenCORE AMR | @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. | decoding/encoding and AMR-WB decoding. | ||||
Go to @url{http://sourceforge.net/projects/opencore-amr/} and follow the instructions for | 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 | Note that OpenCORE is under the Apache License 2.0 (see | ||||
@url{http://www.apache.org/licenses/LICENSE-2.0} for details), which is | @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 | 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. | 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 | @section File Formats | ||||
Libav supports the following file formats through the @code{libavformat} | |||||
FFmpeg supports the following file formats through the @code{libavformat} | |||||
library: | library: | ||||
@multitable @columnfractions .4 .1 .1 .4 | @multitable @columnfractions .4 .1 .1 .4 | ||||
@@ -751,18 +751,18 @@ Using a cross-compiler is preferred for various reasons. | |||||
@subsection DJGPP | @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 | @code{--extra-cflags=-U__STRICT_ANSI__} to the configure options as a | ||||
workaround. | workaround. | ||||
@section OS/2 | @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}. | @url{http://www.edm2.com/index.php/FFmpeg}. | ||||
@section Unix-like | @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 | assembler which is still provided by a few AMD64 distributions. To | ||||
make sure your compiler really uses the required version of gas | make sure your compiler really uses the required version of gas | ||||
after a binutils upgrade, run: | after a binutils upgrade, run: | ||||
@@ -777,7 +777,7 @@ to configure. | |||||
@subsection BSD | @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}). | (@file{gmake}). | ||||
@subsubsection FreeBSD | @subsubsection FreeBSD | ||||
@@ -790,7 +790,7 @@ getting the system headers fixed. | |||||
@subsection (Open)Solaris | @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 | 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} | (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 | 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 | MacOS X on PowerPC or ARM (iPhone) requires a preprocessor from | ||||
@url{http://github.com/yuvi/gas-preprocessor} to build the optimized | @url{http://github.com/yuvi/gas-preprocessor} to build the optimized | ||||
assembler functions. Just download the Perl script and put it somewhere | 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 | @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 | the FFmpeg Windows Help Forum at | ||||
@url{http://ffmpeg.arrozcru.org/}. | @url{http://ffmpeg.arrozcru.org/}. | ||||
@subsection Native Windows compilation | @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/}. | the latest versions of MSYS and MinGW from @url{http://www.mingw.org/}. | ||||
You can find detailed installation | You can find detailed installation | ||||
instructions in the download section and the FAQ. | 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 | installer provides. It also requires coreutils to be installed and many other | ||||
packages updated to the latest version. The minimum version for some packages | packages updated to the latest version. The minimum version for some packages | ||||
are listed below: | are listed below: | ||||
@@ -835,7 +835,7 @@ are listed below: | |||||
@item mingw-runtime 3.15 | @item mingw-runtime 3.15 | ||||
@end itemize | @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}). | a GCC bug (see @url{http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37216}). | ||||
Within the MSYS shell, configure and make with: | 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 | where SDL was installed. Verify that @file{sdl-config} can be launched from | ||||
the MSYS command line. | 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. | you can build libavutil, libavcodec and libavformat as DLLs. | ||||
@end itemize | @end itemize | ||||
@subsection Microsoft Visual C++ compatibility | @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 | want to use the libav* libraries in your own applications, you can still | ||||
compile those applications using MSVC++. But the libav* libraries you link | 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 | 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. | symbols generated by GCC. | ||||
We strongly recommend you to move over from MSVC++ to MinGW tools. | 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, | Microsoft Visual C++ 2005 Express Edition. If you have a different version, | ||||
you might have to modify the procedures slightly. | you might have to modify the procedures slightly. | ||||
@subsubsection Using static libraries | @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 | @enumerate | ||||
@@ -898,13 +898,13 @@ Application Wizard, uncheck the "Precompiled headers" option. | |||||
@item Write the source code for your application, or, for testing, just | @item Write the source code for your application, or, for testing, just | ||||
copy the code from an existing sample application into the source file | copy the code from an existing sample application into the source file | ||||
that MSVC++ has already created for you. For example, you can copy | 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" | @item Open the "Project / Properties" dialog box. In the "Configuration" | ||||
combo box, select "All Configurations" so that the changes you make will | 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 | affect both debug and release builds. In the tree view on the left hand | ||||
side, select "C/C++ / General", then edit the "Additional Include | 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}). | installed (i.e. @file{c:\msys\1.0\local\include}). | ||||
Do not add MinGW's include directory here, or the include files will | Do not add MinGW's include directory here, or the include files will | ||||
conflict with MSVC's. | conflict with MSVC's. | ||||
@@ -912,7 +912,7 @@ conflict with MSVC's. | |||||
@item Still in the "Project / Properties" dialog box, select | @item Still in the "Project / Properties" dialog box, select | ||||
"Linker / General" from the tree view and edit the | "Linker / General" from the tree view and edit the | ||||
"Additional Library Directories" setting to contain the @file{lib} | "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}), | the directory where MinGW libs are installed (i.e. @file{c:\mingw\lib}), | ||||
and the directory where MinGW's GCC libs are installed | and the directory where MinGW's GCC libs are installed | ||||
(i.e. @file{C:\mingw\lib\gcc\mingw32\4.2.1-sjlj}). Then select | (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 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} | Get msinttypes from @url{http://code.google.com/p/msinttypes/downloads/list} | ||||
and install it in MSVC++'s include directory | and install it in MSVC++'s include directory | ||||
(i.e. @file{C:\Program Files\Microsoft Visual Studio 8\VC\include}). | (i.e. @file{C:\Program Files\Microsoft Visual Studio 8\VC\include}). | ||||
@item MSVC++ also does not understand the @code{inline} keyword used by | @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 | @example | ||||
#define inline _inline | #define inline _inline | ||||
@end example | @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 | @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 | from @file{Microsoft (R) Library Manager}, this means your environment | ||||
variables are set up correctly, the @file{Microsoft (R) Library Manager} | 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. | MSVC++-compatible import libraries. | ||||
@item Build Libav with | |||||
@item Build FFmpeg with | |||||
@example | @example | ||||
./configure --enable-shared --enable-memalign-hack | ./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 | are the ones with a major version number in their filenames | ||||
(i.e. @file{avcodec-51.dll}). | (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 | 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 | 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 | 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 | You must use the MinGW cross compilation tools available at | ||||
@url{http://www.mingw.org/}. | @url{http://www.mingw.org/}. | ||||
Then configure Libav with the following options: | |||||
Then configure FFmpeg with the following options: | |||||
@example | @example | ||||
./configure --target-os=mingw32 --cross-prefix=i386-mingw32msvc- | ./configure --target-os=mingw32 --cross-prefix=i386-mingw32msvc- | ||||
@end example | @end example | ||||
(you can change the cross-prefix according to the prefix chosen for the | (you can change the cross-prefix according to the prefix chosen for the | ||||
MinGW tools). | MinGW tools). | ||||
Then you can easily test Libav with Wine | |||||
Then you can easily test FFmpeg with Wine | |||||
(@url{http://www.winehq.com/}). | (@url{http://www.winehq.com/}). | ||||
@subsection Compilation under Cygwin | @subsection Compilation under Cygwin | ||||
@@ -1055,7 +1055,7 @@ shared libraries: | |||||
./configure --enable-shared --disable-static --extra-cflags=-fno-reorder-functions | ./configure --enable-shared --disable-static --extra-cflags=-fno-reorder-functions | ||||
@end example | @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: | "Devel" packages for Ogg and Vorbis from any Cygwin packages repository: | ||||
@example | @example | ||||
libogg-devel, libvorbis-devel | 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. | You do not need a special username or password. | ||||
All you need is to provide a ssh public key to the Git server admin. | 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 | 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> | 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> | 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. | 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 | 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 | 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: | 3. Adding/removing files/directories: | ||||
@@ -1,10 +1,10 @@ | |||||
@chapter Input Devices | @chapter Input Devices | ||||
@c man begin 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. | 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 | are enabled by default. You can list all available ones using the | ||||
configure option "--list-indevs". | 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 | 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} | @var{client_name} is the name provided by the application, and @var{N} | ||||
is a number which identifies the channel. | 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. | device. | ||||
Once you have created one or more JACK readable clients, you need to | 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. | NOTE: This is a draft. | ||||
Overview: | 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. | 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 | 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 | nosy list or to subscribe to the ffmpeg-issues mailing list which receives | ||||
@@ -60,7 +60,7 @@ critical | |||||
No feature request can be critical. | No feature request can be critical. | ||||
important | 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. | patches fixing them. | ||||
Examples here might be completely broken MPEG-4 decoding or a build issue | Examples here might be completely broken MPEG-4 decoding or a build issue | ||||
on Linux. | on Linux. | ||||
@@ -81,7 +81,7 @@ minor | |||||
wish | wish | ||||
Something that is desirable to have but that there is no urgency at | Something that is desirable to have but that there is no urgency at | ||||
all to implement, e.g. something completely cosmetic like a website | 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. | This priority is not valid for bugs. | ||||
@@ -11,10 +11,10 @@ | |||||
@chapter Introduction | @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. | 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 | progress. If you wish to try the unfinished development code of | ||||
libavfilter then check it out from the libavfilter repository into | libavfilter then check it out from the libavfilter repository into | ||||
some directory of your choice by: | some directory of your choice by: | ||||
@@ -74,7 +74,7 @@ not have video output. | |||||
@chapter graph2dot | @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 | directory can be used to parse a filter graph description and issue a | ||||
corresponding textual representation in the dot language. | corresponding textual representation in the dot language. | ||||
@@ -1,7 +1,7 @@ | |||||
@chapter Metadata | @chapter Metadata | ||||
@c man begin 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. | INI-like text file and then load it back using the metadata muxer/demuxer. | ||||
The file format is as follows: | The file format is as follows: | ||||
@@ -53,7 +53,7 @@ A ffmetadata file might look like this: | |||||
;FFMETADATA1 | ;FFMETADATA1 | ||||
title=bike\\shed | title=bike\\shed | ||||
;this is a comment | ;this is a comment | ||||
artist=Libav troll team | |||||
artist=FFmpeg troll team | |||||
[CHAPTER] | [CHAPTER] | ||||
TIMEBASE=1/1000 | 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 | Slice threading decodes multiple parts of a frame at the same time, using | ||||
AVCodecContext execute() and execute2(). | AVCodecContext execute() and execute2(). | ||||
@@ -1,10 +1,10 @@ | |||||
@chapter Muxers | @chapter Muxers | ||||
@c man begin 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. | 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 | are enabled by default. You can list all available muxers using the | ||||
configure option @code{--list-muxers}. | 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) | 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) | 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 | - if your code is intended to be inlined in a C function, inline asm is always | ||||
better, because external asm cannot be inlined | better, because external asm cannot be inlined | ||||
@@ -1,10 +1,10 @@ | |||||
@chapter Output Devices | @chapter Output Devices | ||||
@c man begin 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. | 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 | are enabled by default. You can list all available ones using the | ||||
configure option "--list-outdevs". | configure option "--list-outdevs". | ||||
@@ -1,10 +1,10 @@ | |||||
@chapter Protocols | @chapter Protocols | ||||
@c man begin 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. | 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 | enabled by default. You can list all available ones using the | ||||
configure option "--list-protocols". | configure option "--list-protocols". | ||||
@@ -8,9 +8,9 @@ it's a little late for this year's soc (2006). | |||||
The Goal: | The Goal: | ||||
Our goal in respect to soc is and must be of course exactly one thing and | 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 | * 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, ...) | more codecs supported, fewer bugs, cleaner, ...) | ||||
for mentors and other developers to help students to reach that goal it is | 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 | * 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 | 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 | 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 | * frequent commits, so that comments can be provided early |