]> git.sesse.net Git - casparcg/commitdiff
Upgraded ffmpeg to newest stable
authorHelge Norberg <helge.norberg@svt.se>
Tue, 23 Sep 2014 17:07:16 +0000 (19:07 +0200)
committerHelge Norberg <helge.norberg@svt.se>
Tue, 23 Sep 2014 17:07:16 +0000 (19:07 +0200)
121 files changed:
dependencies/ffmpeg/README.txt
dependencies/ffmpeg/bin/avcodec-55.dll
dependencies/ffmpeg/bin/avdevice-55.dll
dependencies/ffmpeg/bin/avfilter-3.dll [deleted file]
dependencies/ffmpeg/bin/avfilter-4.dll [new file with mode: 0644]
dependencies/ffmpeg/bin/avformat-55.dll
dependencies/ffmpeg/bin/avutil-52.dll
dependencies/ffmpeg/bin/ffmpeg.exe
dependencies/ffmpeg/bin/ffplay.exe
dependencies/ffmpeg/bin/ffprobe.exe
dependencies/ffmpeg/bin/postproc-52.dll
dependencies/ffmpeg/bin/swresample-0.dll
dependencies/ffmpeg/bin/swscale-2.dll
dependencies/ffmpeg/doc/developer.html
dependencies/ffmpeg/doc/examples/Makefile
dependencies/ffmpeg/doc/examples/avcodec.c [moved from dependencies/ffmpeg/doc/examples/decoding_encoding.c with 95% similarity]
dependencies/ffmpeg/doc/examples/avio_reading.c [new file with mode: 0644]
dependencies/ffmpeg/doc/examples/demuxing_decoding.c
dependencies/ffmpeg/doc/examples/filter_audio.c [new file with mode: 0644]
dependencies/ffmpeg/doc/examples/filtering_audio.c
dependencies/ffmpeg/doc/examples/filtering_video.c
dependencies/ffmpeg/doc/examples/metadata.c
dependencies/ffmpeg/doc/examples/muxing.c
dependencies/ffmpeg/doc/examples/remuxing.c [new file with mode: 0644]
dependencies/ffmpeg/doc/examples/resampling_audio.c
dependencies/ffmpeg/doc/examples/scaling_video.c
dependencies/ffmpeg/doc/examples/transcode_aac.c
dependencies/ffmpeg/doc/faq.html
dependencies/ffmpeg/doc/fate.html
dependencies/ffmpeg/doc/ffmpeg-all.html
dependencies/ffmpeg/doc/ffmpeg-bitstream-filters.html
dependencies/ffmpeg/doc/ffmpeg-codecs.html
dependencies/ffmpeg/doc/ffmpeg-devices.html
dependencies/ffmpeg/doc/ffmpeg-filters.html
dependencies/ffmpeg/doc/ffmpeg-formats.html
dependencies/ffmpeg/doc/ffmpeg-protocols.html
dependencies/ffmpeg/doc/ffmpeg-resampler.html
dependencies/ffmpeg/doc/ffmpeg-scaler.html
dependencies/ffmpeg/doc/ffmpeg-utils.html
dependencies/ffmpeg/doc/ffmpeg.html
dependencies/ffmpeg/doc/ffplay-all.html
dependencies/ffmpeg/doc/ffplay.html
dependencies/ffmpeg/doc/ffprobe-all.html
dependencies/ffmpeg/doc/ffprobe.html
dependencies/ffmpeg/doc/general.html
dependencies/ffmpeg/doc/git-howto.html
dependencies/ffmpeg/doc/libavcodec.html
dependencies/ffmpeg/doc/libavdevice.html
dependencies/ffmpeg/doc/libavfilter.html
dependencies/ffmpeg/doc/libavformat.html
dependencies/ffmpeg/doc/libavutil.html
dependencies/ffmpeg/doc/libswresample.html
dependencies/ffmpeg/doc/libswscale.html
dependencies/ffmpeg/doc/nut.html
dependencies/ffmpeg/doc/platform.html
dependencies/ffmpeg/ff-prompt.cmd [deleted file]
dependencies/ffmpeg/include/libavcodec/avcodec.h
dependencies/ffmpeg/include/libavcodec/avfft.h
dependencies/ffmpeg/include/libavcodec/vda.h
dependencies/ffmpeg/include/libavcodec/version.h
dependencies/ffmpeg/include/libavcodec/xvmc.h
dependencies/ffmpeg/include/libavdevice/avdevice.h
dependencies/ffmpeg/include/libavdevice/version.h
dependencies/ffmpeg/include/libavfilter/avfilter.h
dependencies/ffmpeg/include/libavfilter/buffersink.h
dependencies/ffmpeg/include/libavfilter/buffersrc.h
dependencies/ffmpeg/include/libavfilter/version.h
dependencies/ffmpeg/include/libavformat/avformat.h
dependencies/ffmpeg/include/libavformat/avio.h
dependencies/ffmpeg/include/libavformat/version.h
dependencies/ffmpeg/include/libavutil/avstring.h
dependencies/ffmpeg/include/libavutil/avutil.h
dependencies/ffmpeg/include/libavutil/bswap.h
dependencies/ffmpeg/include/libavutil/channel_layout.h
dependencies/ffmpeg/include/libavutil/cpu.h
dependencies/ffmpeg/include/libavutil/dict.h
dependencies/ffmpeg/include/libavutil/downmix_info.h [new file with mode: 0644]
dependencies/ffmpeg/include/libavutil/ffversion.h
dependencies/ffmpeg/include/libavutil/frame.h
dependencies/ffmpeg/include/libavutil/log.h
dependencies/ffmpeg/include/libavutil/macros.h [new file with mode: 0644]
dependencies/ffmpeg/include/libavutil/mathematics.h
dependencies/ffmpeg/include/libavutil/opt.h
dependencies/ffmpeg/include/libavutil/pixfmt.h
dependencies/ffmpeg/include/libavutil/rational.h
dependencies/ffmpeg/include/libavutil/stereo3d.h
dependencies/ffmpeg/include/libavutil/timestamp.h
dependencies/ffmpeg/include/libavutil/version.h
dependencies/ffmpeg/include/libswresample/swresample.h
dependencies/ffmpeg/include/libswresample/version.h
dependencies/ffmpeg/include/libswscale/version.h
dependencies/ffmpeg/lib/avcodec-55.def
dependencies/ffmpeg/lib/avcodec.lib
dependencies/ffmpeg/lib/avdevice-55.def
dependencies/ffmpeg/lib/avdevice.lib
dependencies/ffmpeg/lib/avfilter-4.def [moved from dependencies/ffmpeg/lib/avfilter-3.def with 100% similarity]
dependencies/ffmpeg/lib/avfilter.lib
dependencies/ffmpeg/lib/avformat-55.def
dependencies/ffmpeg/lib/avformat.lib
dependencies/ffmpeg/lib/avutil-52.def
dependencies/ffmpeg/lib/avutil.lib
dependencies/ffmpeg/lib/libavcodec.dll.a
dependencies/ffmpeg/lib/libavdevice.dll.a
dependencies/ffmpeg/lib/libavfilter.dll.a
dependencies/ffmpeg/lib/libavformat.dll.a
dependencies/ffmpeg/lib/libavutil.dll.a
dependencies/ffmpeg/lib/libpostproc.dll.a
dependencies/ffmpeg/lib/libswresample.dll.a
dependencies/ffmpeg/lib/libswscale.dll.a
dependencies/ffmpeg/lib/postproc.lib
dependencies/ffmpeg/lib/swresample-0.def
dependencies/ffmpeg/lib/swresample.lib
dependencies/ffmpeg/lib/swscale.lib
dependencies/ffmpeg/licenses/ffmpeg.txt [deleted file]
dependencies/ffmpeg/licenses/gme.txt [moved from dependencies/ffmpeg/licenses/rtmp.txt with 96% similarity]
dependencies/ffmpeg/licenses/gsm.txt [deleted file]
dependencies/ffmpeg/licenses/libwebp.txt [new file with mode: 0644]
dependencies/ffmpeg/licenses/theora.txt [deleted file]
dependencies/ffmpeg/licenses/vorbis.txt [deleted file]
dependencies/ffmpeg/licenses/x265.txt [new file with mode: 0644]
dependencies/ffmpeg/presets/ffprobe.xsd

index 36752086fc449b75b845f203a98e00b6215316ed..216cc4710923a16d3c1cbb44a44bc2f2d6d421c7 100644 (file)
@@ -2,16 +2,16 @@ This is a FFmpeg Win32 shared build by Kyle Schwarz.
 \r
 Zeranoe's FFmpeg Builds Home Page: <http://ffmpeg.zeranoe.com/builds/>\r
 \r
-This build was compiled on: Dec 14 2013, at: 22:03:40\r
+This build was compiled on: Jun 19 2014, at: 20:28:19\r
 \r
-FFmpeg version: 2013-12-15 git-ec13849\r
-  libavutil      52. 58.100 / 52. 58.100\r
-  libavcodec     55. 45.101 / 55. 45.101\r
-  libavformat    55. 22.100 / 55. 22.100\r
-  libavdevice    55.  5.102 / 55.  5.102\r
-  libavfilter     3. 92.100 /  3. 92.100\r
-  libswscale      2.  5.101 /  2.  5.101\r
-  libswresample   0. 17.104 /  0. 17.104\r
+FFmpeg version: 2.2.3\r
+  libavutil      52. 66.100 / 52. 66.100\r
+  libavcodec     55. 52.102 / 55. 52.102\r
+  libavformat    55. 33.100 / 55. 33.100\r
+  libavdevice    55. 10.100 / 55. 10.100\r
+  libavfilter     4.  2.100 /  4.  2.100\r
+  libswscale      2.  5.102 /  2.  5.102\r
+  libswresample   0. 18.100 /  0. 18.100\r
   libpostproc    52.  3.100 / 52.  3.100\r
 \r
 This FFmpeg build was configured with:\r
@@ -30,6 +30,7 @@ This FFmpeg build was configured with:
   --enable-libbluray\r
   --enable-libcaca\r
   --enable-libfreetype\r
+  --enable-libgme\r
   --enable-libgsm\r
   --enable-libilbc\r
   --enable-libmodplug\r
@@ -50,21 +51,25 @@ This FFmpeg build was configured with:
   --enable-libvorbis\r
   --enable-libvpx\r
   --enable-libwavpack\r
+  --enable-libwebp\r
   --enable-libx264\r
+  --enable-libx265\r
   --enable-libxavs\r
   --enable-libxvid\r
+  --enable-decklink\r
   --enable-zlib\r
 \r
 This build was compiled with the following external libraries:\r
   bzip2 1.0.6 <http://bzip.org/>\r
-  Fontconfig 2.10.95 <http://freedesktop.org/wiki/Software/fontconfig>\r
+  Fontconfig 2.11.1 <http://freedesktop.org/wiki/Software/fontconfig>\r
   Frei0r 20130909-git-10d8360 <http://frei0r.dyne.org/>\r
-  GnuTLS 3.2.6 <http://gnutls.org/>\r
+  GnuTLS 3.2.15 <http://gnutls.org/>\r
   libiconv 1.14 <http://gnu.org/software/libiconv/>\r
   libass 0.10.2 <http://code.google.com/p/libass/>\r
-  libbluray 0.4.0 <http://videolan.org/developers/libbluray.html>\r
+  libbluray 0.6.0 <http://videolan.org/developers/libbluray.html>\r
   libcaca 0.99.beta18 <http://caca.zoy.org/wiki/libcaca>\r
-  FreeType 2.5.0.1 <http://freetype.sourceforge.net/>\r
+  FreeType 2.5.3 <http://freetype.sourceforge.net/>\r
+  Game Music Emu 0.6.0 <http://code.google.com/p/game-music-emu/>\r
   GSM 1.0.13-4 <http://packages.debian.org/source/squeeze/libgsm>\r
   iLBC 20120913-git-b5f9b10 <https://github.com/dekkers/libilbc/>\r
   Modplug-XMMS 0.8.8.4 <http://modplug-xmms.sourceforge.net/>\r
@@ -72,28 +77,30 @@ This build was compiled with the following external libraries:
   OpenCORE AMR 0.1.3 <http://sourceforge.net/projects/opencore-amr/>\r
   OpenJPEG 1.5.1 <http://www.openjpeg.org/>\r
   Opus 1.1 <http://opus-codec.org/>\r
-  RTMPDump 20131007-git-a9f353c <http://rtmpdump.mplayerhq.hu/>\r
+  RTMPDump 20140302-git-79459a2 <http://rtmpdump.mplayerhq.hu/>\r
   Schroedinger 1.0.11 <http://diracvideo.org/>\r
   libsoxr 0.1.1 <http://sourceforge.net/projects/soxr/>\r
   Speex 1.2rc1 <http://speex.org/>\r
   Theora 1.1.1 <http://theora.org/>\r
   TwoLAME 0.3.13 <http://twolame.org/>\r
-  vid.stab 20130830-git-869f3bb <http://public.hronopik.de/vid.stab/>\r
+  vid.stab 0.98 <http://public.hronopik.de/vid.stab/>\r
   VisualOn AAC 0.1.3 <https://github.com/mstorsjo/vo-aacenc>\r
   VisualOn AMR-WB 0.1.2 <https://github.com/mstorsjo/vo-amrwbenc>\r
-  Vorbis 1.3.3 <http://vorbis.com/>\r
+  Vorbis 1.3.4 <http://vorbis.com/>\r
   vpx 1.3.0 <http://webmproject.org/>\r
   WavPack 4.70.0 <http://wavpack.com/>\r
-  x264 20131030-git-1ca7bb9 <http://videolan.org/developers/x264.html>\r
+  WebP 0.4.0 <https://developers.google.com/speed/webp/>\r
+  x264 20140422-git-ac76440 <http://videolan.org/developers/x264.html>\r
+  x265 1.1 <http://x265.org/>\r
   XAVS svn-r55 <http://xavs.sourceforge.net/>\r
-  Xvid 1.3.2 <http://xvid.org/>\r
+  Xvid 1.3.3 <http://xvid.org/>\r
   zlib 1.2.8 <http://zlib.net/>\r
 \r
 The source code for this FFmpeg build can be found at: <http://ffmpeg.zeranoe.com/builds/source/>\r
 \r
 This build was compiled on Debian jessie/sid (64-bit): <http://www.debian.org/>\r
 \r
-GCC 4.8.2 was used to compile this FFmpeg build: <http://gcc.gnu.org/>\r
+GCC 4.8.3 was used to compile this FFmpeg build: <http://gcc.gnu.org/>\r
 \r
 This build was compiled using the MinGW-w64 toolchain: <http://mingw-w64.sourceforge.net/>\r
 \r
index 07aa679c1b8b8b6a1f4f916f23d62abc6ec13c73..2225fc9ff92dc9062c34413a22b1810f50cef771 100644 (file)
Binary files a/dependencies/ffmpeg/bin/avcodec-55.dll and b/dependencies/ffmpeg/bin/avcodec-55.dll differ
index 6516dbd50e3305831ddbe063ed32b861280ee914..887898a347c50817bdbcd23ea3597ecc597774fd 100644 (file)
Binary files a/dependencies/ffmpeg/bin/avdevice-55.dll and b/dependencies/ffmpeg/bin/avdevice-55.dll differ
diff --git a/dependencies/ffmpeg/bin/avfilter-3.dll b/dependencies/ffmpeg/bin/avfilter-3.dll
deleted file mode 100644 (file)
index fb570c2..0000000
Binary files a/dependencies/ffmpeg/bin/avfilter-3.dll and /dev/null differ
diff --git a/dependencies/ffmpeg/bin/avfilter-4.dll b/dependencies/ffmpeg/bin/avfilter-4.dll
new file mode 100644 (file)
index 0000000..fc4aa03
Binary files /dev/null and b/dependencies/ffmpeg/bin/avfilter-4.dll differ
index 856ace3ea1b43ac603c85afa0bab882afc97f5b2..b1d2efe8a8895d2335fe7ef5eb561b4ff6c6425d 100644 (file)
Binary files a/dependencies/ffmpeg/bin/avformat-55.dll and b/dependencies/ffmpeg/bin/avformat-55.dll differ
index 81d45ebba93c4bb7b6c710886ef4e5cf609df82a..176296b8ae484c4bec46b8f0786b3c751f5b9b0a 100644 (file)
Binary files a/dependencies/ffmpeg/bin/avutil-52.dll and b/dependencies/ffmpeg/bin/avutil-52.dll differ
index 11422db659fb90defc8e57e457f6c38e8a84585f..d4b58de5b432dea039b4db64308513dc38dd5101 100644 (file)
Binary files a/dependencies/ffmpeg/bin/ffmpeg.exe and b/dependencies/ffmpeg/bin/ffmpeg.exe differ
index 6d5ae40e0a4233feb64c29bbbfbe4873828b62a5..a6531cc82815d0a6b360399b0137d97a4a8f08f2 100644 (file)
Binary files a/dependencies/ffmpeg/bin/ffplay.exe and b/dependencies/ffmpeg/bin/ffplay.exe differ
index ac90090688e695756e30186ab27f587b3b64df43..21366dabefdf9c7fb8a9198c8776ae0a119f24b4 100644 (file)
Binary files a/dependencies/ffmpeg/bin/ffprobe.exe and b/dependencies/ffmpeg/bin/ffprobe.exe differ
index 9f43f19845352e3805d88011131045456058f1bb..2b05a7da659cf4ccefdb04a945f8d95dc6e1d81e 100644 (file)
Binary files a/dependencies/ffmpeg/bin/postproc-52.dll and b/dependencies/ffmpeg/bin/postproc-52.dll differ
index 7497ff680d25cada62e1c7e78e179d7b48366c10..1f52bdba74026c005235590cdc85bdbc8c236b46 100644 (file)
Binary files a/dependencies/ffmpeg/bin/swresample-0.dll and b/dependencies/ffmpeg/bin/swresample-0.dll differ
index 5003ce2bdd6af5a4eb6cb03d0542061a6e27594e..6ce6a7c96d7e9fdc802292837f00a7e26f4c5f1a 100644 (file)
Binary files a/dependencies/ffmpeg/bin/swscale-2.dll and b/dependencies/ffmpeg/bin/swscale-2.dll differ
index 9fcc4ccc9973b9587bd82b84d1d2dd69e2e7a53f..494cdb9511a31678de19399c78e6d51956896815 100644 (file)
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <html>
-<!-- Created on December 14, 2013 by texi2html 1.82 -->
+<!-- Created on June 19, 2014 by texi2html 1.82 -->
 <!--
 texi2html was written by: 
             Lionel Cons <Lionel.Cons@cern.ch> (original author)
@@ -157,7 +157,7 @@ for markup commands, i.e. use <code>@param</code> and not <code>\param</code>.
  * more text ...
  * ...
  */
-typedef struct Foobar{
+typedef struct Foobar {
     int var1; /**&lt; var1 description */
     int var2; ///&lt; var2 description
     /** var3 description */
@@ -316,7 +316,7 @@ Contributions should be licensed under the
 <a href="http://www.gnu.org/licenses/lgpl-2.1.html">LGPL 2.1</a>,
 including an &quot;or any later version&quot; clause, or, if you prefer
 a gift-style license, the
-<a href="http://www.isc.org/software/license/">ISC</a> or
+<a href="http://opensource.org/licenses/isc-license.txt">ISC</a> or
 <a href="http://mit-license.org/">MIT</a> license.
 <a href="http://www.gnu.org/licenses/gpl-2.0.html">GPL 2</a> including
 an &quot;or any later version&quot; clause is also acceptable, but LGPL is
@@ -874,4 +874,4 @@ Send announcement to the mailing list.
 </li></ol>
 
 <footer class="footer pagination-right">
-<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>December 14, 2013</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
+<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>June 19, 2014</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
index f085532ffef97c316740e7cb926dc3d1a13d3516..1553bab82c5a096e784418ef13cafd70e6342f22 100644 (file)
@@ -11,12 +11,14 @@ CFLAGS += -Wall -g
 CFLAGS := $(shell pkg-config --cflags $(FFMPEG_LIBS)) $(CFLAGS)
 LDLIBS := $(shell pkg-config --libs $(FFMPEG_LIBS)) $(LDLIBS)
 
-EXAMPLES=       decoding_encoding                  \
+EXAMPLES=       avio_reading                       \
+                avcodec                            \
                 demuxing_decoding                  \
                 filtering_video                    \
                 filtering_audio                    \
                 metadata                           \
                 muxing                             \
+                remuxing                           \
                 resampling_audio                   \
                 scaling_video                      \
                 transcode_aac                      \
@@ -24,7 +26,7 @@ EXAMPLES=       decoding_encoding                  \
 OBJS=$(addsuffix .o,$(EXAMPLES))
 
 # the following examples make explicit use of the math library
-decoding_encoding: LDLIBS += -lm
+avcodec:           LDLIBS += -lm
 muxing:            LDLIBS += -lm
 resampling_audio:  LDLIBS += -lm
 
similarity index 95%
rename from dependencies/ffmpeg/doc/examples/decoding_encoding.c
rename to dependencies/ffmpeg/doc/examples/avcodec.c
index 4d2813b0529a71b16c248191c0a0d4a514630a18..d56e6a480e058ab510c3d76b63819b178d55f387 100644 (file)
  * @file
  * libavcodec API use example.
  *
+ * @example avcodec.c
  * Note that libavcodec only handles codecs (mpeg, mpeg4, etc...),
  * not file formats (avi, vob, mp4, mov, mkv, mxf, flv, mpegts, mpegps, etc...). See library 'libavformat' for the
  * format handling
- * @example doc/examples/decoding_encoding.c
  */
 
 #include <math.h>
@@ -170,7 +170,7 @@ static void audio_encode_example(const char *filename)
      * we calculate the size of the samples buffer in bytes */
     buffer_size = av_samples_get_buffer_size(NULL, c->channels, c->frame_size,
                                              c->sample_fmt, 0);
-    if (!buffer_size) {
+    if (buffer_size < 0) {
         fprintf(stderr, "Could not get sample buffer size\n");
         exit(1);
     }
@@ -191,7 +191,7 @@ static void audio_encode_example(const char *filename)
     /* encode a single tone sound */
     t = 0;
     tincr = 2 * M_PI * 440.0 / c->sample_rate;
-    for(i=0;i<200;i++) {
+    for (i = 0; i < 200; i++) {
         av_init_packet(&pkt);
         pkt.data = NULL; // packet data will be allocated by the encoder
         pkt.size = 0;
@@ -307,6 +307,11 @@ static void audio_decode_example(const char *outfilename, const char *filename)
             int data_size = av_samples_get_buffer_size(NULL, c->channels,
                                                        decoded_frame->nb_samples,
                                                        c->sample_fmt, 1);
+            if (data_size < 0) {
+                /* This should not occur, checking just for paranoia */
+                fprintf(stderr, "Failed to calculate data size\n");
+                exit(1);
+            }
             fwrite(decoded_frame->data[0], 1, data_size, outfile);
         }
         avpkt.size -= len;
@@ -369,12 +374,12 @@ static void video_encode_example(const char *filename, int codec_id)
     c->width = 352;
     c->height = 288;
     /* frames per second */
-    c->time_base= (AVRational){1,25};
+    c->time_base = (AVRational){1,25};
     c->gop_size = 10; /* emit one intra frame every ten frames */
-    c->max_b_frames=1;
+    c->max_b_frames = 1;
     c->pix_fmt = AV_PIX_FMT_YUV420P;
 
-    if(codec_id == AV_CODEC_ID_H264)
+    if (codec_id == AV_CODEC_ID_H264)
         av_opt_set(c->priv_data, "preset", "slow", 0);
 
     /* open it */
@@ -408,7 +413,7 @@ static void video_encode_example(const char *filename, int codec_id)
     }
 
     /* encode 1 second of video */
-    for(i=0;i<25;i++) {
+    for (i = 0; i < 25; i++) {
         av_init_packet(&pkt);
         pkt.data = NULL;    // packet data will be allocated by the encoder
         pkt.size = 0;
@@ -416,15 +421,15 @@ static void video_encode_example(const char *filename, int codec_id)
         fflush(stdout);
         /* prepare a dummy image */
         /* Y */
-        for(y=0;y<c->height;y++) {
-            for(x=0;x<c->width;x++) {
+        for (y = 0; y < c->height; y++) {
+            for (x = 0; x < c->width; x++) {
                 frame->data[0][y * frame->linesize[0] + x] = x + y + i * 3;
             }
         }
 
         /* Cb and Cr */
-        for(y=0;y<c->height/2;y++) {
-            for(x=0;x<c->width/2;x++) {
+        for (y = 0; y < c->height/2; y++) {
+            for (x = 0; x < c->width/2; x++) {
                 frame->data[1][y * frame->linesize[1] + x] = 128 + y + i * 2;
                 frame->data[2][y * frame->linesize[2] + x] = 64 + x + i * 5;
             }
@@ -484,10 +489,10 @@ static void pgm_save(unsigned char *buf, int wrap, int xsize, int ysize,
     FILE *f;
     int i;
 
-    f=fopen(filename,"w");
-    fprintf(f,"P5\n%d %d\n%d\n",xsize,ysize,255);
-    for(i=0;i<ysize;i++)
-        fwrite(buf + i * wrap,1,xsize,f);
+    f = fopen(filename,"w");
+    fprintf(f, "P5\n%d %d\n%d\n", xsize, ysize, 255);
+    for (i = 0; i < ysize; i++)
+        fwrite(buf + i * wrap, 1, xsize, f);
     fclose(f);
 }
 
@@ -575,7 +580,7 @@ static void video_decode_example(const char *outfilename, const char *filename)
     }
 
     frame_count = 0;
-    for(;;) {
+    for (;;) {
         avpkt.size = fread(inbuf, 1, INBUF_SIZE, f);
         if (avpkt.size == 0)
             break;
diff --git a/dependencies/ffmpeg/doc/examples/avio_reading.c b/dependencies/ffmpeg/doc/examples/avio_reading.c
new file mode 100644 (file)
index 0000000..02474e9
--- /dev/null
@@ -0,0 +1,134 @@
+/*
+ * Copyright (c) 2014 Stefano Sabatini
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+/**
+ * @file
+ * libavformat AVIOContext API example.
+ *
+ * Make libavformat demuxer access media content through a custom
+ * AVIOContext read callback.
+ * @example avio_reading.c
+ */
+
+#include <libavcodec/avcodec.h>
+#include <libavformat/avformat.h>
+#include <libavformat/avio.h>
+#include <libavutil/file.h>
+
+struct buffer_data {
+    uint8_t *ptr;
+    size_t size; ///< size left in the buffer
+};
+
+static int read_packet(void *opaque, uint8_t *buf, int buf_size)
+{
+    struct buffer_data *bd = (struct buffer_data *)opaque;
+    buf_size = FFMIN(buf_size, bd->size);
+
+    printf("ptr:%p size:%zu\n", bd->ptr, bd->size);
+
+    /* copy internal buffer data to buf */
+    memcpy(buf, bd->ptr, buf_size);
+    bd->ptr  += buf_size;
+    bd->size -= buf_size;
+
+    return buf_size;
+}
+
+int main(int argc, char *argv[])
+{
+    AVFormatContext *fmt_ctx = NULL;
+    AVIOContext *avio_ctx = NULL;
+    uint8_t *buffer = NULL, *avio_ctx_buffer = NULL;
+    size_t buffer_size, avio_ctx_buffer_size = 4096;
+    char *input_filename = NULL;
+    int ret = 0;
+    struct buffer_data bd = { 0 };
+
+    if (argc != 2) {
+        fprintf(stderr, "usage: %s input_file\n"
+                "API example program to show how to read from a custom buffer "
+                "accessed through AVIOContext.\n", argv[0]);
+        return 1;
+    }
+    input_filename = argv[1];
+
+    /* register codecs and formats and other lavf/lavc components*/
+    av_register_all();
+
+    /* slurp file content into buffer */
+    ret = av_file_map(input_filename, &buffer, &buffer_size, 0, NULL);
+    if (ret < 0)
+        goto end;
+
+    /* fill opaque structure used by the AVIOContext read callback */
+    bd.ptr  = buffer;
+    bd.size = buffer_size;
+
+    if (!(fmt_ctx = avformat_alloc_context())) {
+        ret = AVERROR(ENOMEM);
+        goto end;
+    }
+
+    avio_ctx_buffer = av_malloc(avio_ctx_buffer_size);
+    if (!avio_ctx_buffer) {
+        ret = AVERROR(ENOMEM);
+        goto end;
+    }
+    avio_ctx = avio_alloc_context(avio_ctx_buffer, avio_ctx_buffer_size,
+                                  0, &bd, &read_packet, NULL, NULL);
+    if (!avio_ctx) {
+        ret = AVERROR(ENOMEM);
+        goto end;
+    }
+    fmt_ctx->pb = avio_ctx;
+
+    ret = avformat_open_input(&fmt_ctx, NULL, NULL, NULL);
+    if (ret < 0) {
+        fprintf(stderr, "Could not open input\n");
+        goto end;
+    }
+
+    ret = avformat_find_stream_info(fmt_ctx, NULL);
+    if (ret < 0) {
+        fprintf(stderr, "Could not find stream information\n");
+        goto end;
+    }
+
+    av_dump_format(fmt_ctx, 0, input_filename, 0);
+
+end:
+    avformat_close_input(&fmt_ctx);
+    /* note: the internal buffer could have changed, and be != avio_ctx_buffer */
+    if (avio_ctx) {
+        av_freep(&avio_ctx->buffer);
+        av_freep(&avio_ctx);
+    }
+    av_file_unmap(buffer, buffer_size);
+
+    if (ret < 0) {
+        fprintf(stderr, "Error occurred: %s\n", av_err2str(ret));
+        return 1;
+    }
+
+    return 0;
+}
index 0ef5df76769bf6bd948d74b4a209defe7424cedd..077fc87b5b9495cdfed361746be20c0a6799c9c2 100644 (file)
@@ -26,7 +26,7 @@
  *
  * Show how to use the libavformat and libavcodec API to demux and
  * decode audio and video data.
- * @example doc/examples/demuxing_decoding.c
+ * @example demuxing_decoding.c
  */
 
 #include <libavutil/imgutils.h>
diff --git a/dependencies/ffmpeg/doc/examples/filter_audio.c b/dependencies/ffmpeg/doc/examples/filter_audio.c
new file mode 100644 (file)
index 0000000..8451f9c
--- /dev/null
@@ -0,0 +1,364 @@
+/*
+ * copyright (c) 2013 Andrew Kelley
+ *
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+/**
+ * @file
+ * libavfilter API usage example.
+ *
+ * @example filter_audio.c
+ * This example will generate a sine wave audio,
+ * pass it through a simple filter chain, and then compute the MD5 checksum of
+ * the output data.
+ *
+ * The filter chain it uses is:
+ * (input) -> abuffer -> volume -> aformat -> abuffersink -> (output)
+ *
+ * abuffer: This provides the endpoint where you can feed the decoded samples.
+ * volume: In this example we hardcode it to 0.90.
+ * aformat: This converts the samples to the samplefreq, channel layout,
+ *          and sample format required by the audio device.
+ * abuffersink: This provides the endpoint where you can read the samples after
+ *              they have passed through the filter chain.
+ */
+
+#include <inttypes.h>
+#include <math.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "libavutil/channel_layout.h"
+#include "libavutil/md5.h"
+#include "libavutil/opt.h"
+#include "libavutil/samplefmt.h"
+
+#include "libavfilter/avfilter.h"
+#include "libavfilter/buffersink.h"
+#include "libavfilter/buffersrc.h"
+
+#define INPUT_SAMPLERATE     48000
+#define INPUT_FORMAT         AV_SAMPLE_FMT_FLTP
+#define INPUT_CHANNEL_LAYOUT AV_CH_LAYOUT_5POINT0
+
+#define VOLUME_VAL 0.90
+
+static int init_filter_graph(AVFilterGraph **graph, AVFilterContext **src,
+                             AVFilterContext **sink)
+{
+    AVFilterGraph *filter_graph;
+    AVFilterContext *abuffer_ctx;
+    AVFilter        *abuffer;
+    AVFilterContext *volume_ctx;
+    AVFilter        *volume;
+    AVFilterContext *aformat_ctx;
+    AVFilter        *aformat;
+    AVFilterContext *abuffersink_ctx;
+    AVFilter        *abuffersink;
+
+    AVDictionary *options_dict = NULL;
+    uint8_t options_str[1024];
+    uint8_t ch_layout[64];
+
+    int err;
+
+    /* Create a new filtergraph, which will contain all the filters. */
+    filter_graph = avfilter_graph_alloc();
+    if (!filter_graph) {
+        fprintf(stderr, "Unable to create filter graph.\n");
+        return AVERROR(ENOMEM);
+    }
+
+    /* Create the abuffer filter;
+     * it will be used for feeding the data into the graph. */
+    abuffer = avfilter_get_by_name("abuffer");
+    if (!abuffer) {
+        fprintf(stderr, "Could not find the abuffer filter.\n");
+        return AVERROR_FILTER_NOT_FOUND;
+    }
+
+    abuffer_ctx = avfilter_graph_alloc_filter(filter_graph, abuffer, "src");
+    if (!abuffer_ctx) {
+        fprintf(stderr, "Could not allocate the abuffer instance.\n");
+        return AVERROR(ENOMEM);
+    }
+
+    /* Set the filter options through the AVOptions API. */
+    av_get_channel_layout_string(ch_layout, sizeof(ch_layout), 0, INPUT_CHANNEL_LAYOUT);
+    av_opt_set    (abuffer_ctx, "channel_layout", ch_layout,                            AV_OPT_SEARCH_CHILDREN);
+    av_opt_set    (abuffer_ctx, "sample_fmt",     av_get_sample_fmt_name(INPUT_FORMAT), AV_OPT_SEARCH_CHILDREN);
+    av_opt_set_q  (abuffer_ctx, "time_base",      (AVRational){ 1, INPUT_SAMPLERATE },  AV_OPT_SEARCH_CHILDREN);
+    av_opt_set_int(abuffer_ctx, "sample_rate",    INPUT_SAMPLERATE,                     AV_OPT_SEARCH_CHILDREN);
+
+    /* Now initialize the filter; we pass NULL options, since we have already
+     * set all the options above. */
+    err = avfilter_init_str(abuffer_ctx, NULL);
+    if (err < 0) {
+        fprintf(stderr, "Could not initialize the abuffer filter.\n");
+        return err;
+    }
+
+    /* Create volume filter. */
+    volume = avfilter_get_by_name("volume");
+    if (!volume) {
+        fprintf(stderr, "Could not find the volume filter.\n");
+        return AVERROR_FILTER_NOT_FOUND;
+    }
+
+    volume_ctx = avfilter_graph_alloc_filter(filter_graph, volume, "volume");
+    if (!volume_ctx) {
+        fprintf(stderr, "Could not allocate the volume instance.\n");
+        return AVERROR(ENOMEM);
+    }
+
+    /* A different way of passing the options is as key/value pairs in a
+     * dictionary. */
+    av_dict_set(&options_dict, "volume", AV_STRINGIFY(VOLUME_VAL), 0);
+    err = avfilter_init_dict(volume_ctx, &options_dict);
+    av_dict_free(&options_dict);
+    if (err < 0) {
+        fprintf(stderr, "Could not initialize the volume filter.\n");
+        return err;
+    }
+
+    /* Create the aformat filter;
+     * it ensures that the output is of the format we want. */
+    aformat = avfilter_get_by_name("aformat");
+    if (!aformat) {
+        fprintf(stderr, "Could not find the aformat filter.\n");
+        return AVERROR_FILTER_NOT_FOUND;
+    }
+
+    aformat_ctx = avfilter_graph_alloc_filter(filter_graph, aformat, "aformat");
+    if (!aformat_ctx) {
+        fprintf(stderr, "Could not allocate the aformat instance.\n");
+        return AVERROR(ENOMEM);
+    }
+
+    /* A third way of passing the options is in a string of the form
+     * key1=value1:key2=value2.... */
+    snprintf(options_str, sizeof(options_str),
+             "sample_fmts=%s:sample_rates=%d:channel_layouts=0x%"PRIx64,
+             av_get_sample_fmt_name(AV_SAMPLE_FMT_S16), 44100,
+             (uint64_t)AV_CH_LAYOUT_STEREO);
+    err = avfilter_init_str(aformat_ctx, options_str);
+    if (err < 0) {
+        av_log(NULL, AV_LOG_ERROR, "Could not initialize the aformat filter.\n");
+        return err;
+    }
+
+    /* Finally create the abuffersink filter;
+     * it will be used to get the filtered data out of the graph. */
+    abuffersink = avfilter_get_by_name("abuffersink");
+    if (!abuffersink) {
+        fprintf(stderr, "Could not find the abuffersink filter.\n");
+        return AVERROR_FILTER_NOT_FOUND;
+    }
+
+    abuffersink_ctx = avfilter_graph_alloc_filter(filter_graph, abuffersink, "sink");
+    if (!abuffersink_ctx) {
+        fprintf(stderr, "Could not allocate the abuffersink instance.\n");
+        return AVERROR(ENOMEM);
+    }
+
+    /* This filter takes no options. */
+    err = avfilter_init_str(abuffersink_ctx, NULL);
+    if (err < 0) {
+        fprintf(stderr, "Could not initialize the abuffersink instance.\n");
+        return err;
+    }
+
+    /* Connect the filters;
+     * in this simple case the filters just form a linear chain. */
+    err = avfilter_link(abuffer_ctx, 0, volume_ctx, 0);
+    if (err >= 0)
+        err = avfilter_link(volume_ctx, 0, aformat_ctx, 0);
+    if (err >= 0)
+        err = avfilter_link(aformat_ctx, 0, abuffersink_ctx, 0);
+    if (err < 0) {
+        fprintf(stderr, "Error connecting filters\n");
+        return err;
+    }
+
+    /* Configure the graph. */
+    err = avfilter_graph_config(filter_graph, NULL);
+    if (err < 0) {
+        av_log(NULL, AV_LOG_ERROR, "Error configuring the filter graph\n");
+        return err;
+    }
+
+    *graph = filter_graph;
+    *src   = abuffer_ctx;
+    *sink  = abuffersink_ctx;
+
+    return 0;
+}
+
+/* Do something useful with the filtered data: this simple
+ * example just prints the MD5 checksum of each plane to stdout. */
+static int process_output(struct AVMD5 *md5, AVFrame *frame)
+{
+    int planar     = av_sample_fmt_is_planar(frame->format);
+    int channels   = av_get_channel_layout_nb_channels(frame->channel_layout);
+    int planes     = planar ? channels : 1;
+    int bps        = av_get_bytes_per_sample(frame->format);
+    int plane_size = bps * frame->nb_samples * (planar ? 1 : channels);
+    int i, j;
+
+    for (i = 0; i < planes; i++) {
+        uint8_t checksum[16];
+
+        av_md5_init(md5);
+        av_md5_sum(checksum, frame->extended_data[i], plane_size);
+
+        fprintf(stdout, "plane %d: 0x", i);
+        for (j = 0; j < sizeof(checksum); j++)
+            fprintf(stdout, "%02X", checksum[j]);
+        fprintf(stdout, "\n");
+    }
+    fprintf(stdout, "\n");
+
+    return 0;
+}
+
+/* Construct a frame of audio data to be filtered;
+ * this simple example just synthesizes a sine wave. */
+static int get_input(AVFrame *frame, int frame_num)
+{
+    int err, i, j;
+
+#define FRAME_SIZE 1024
+
+    /* Set up the frame properties and allocate the buffer for the data. */
+    frame->sample_rate    = INPUT_SAMPLERATE;
+    frame->format         = INPUT_FORMAT;
+    frame->channel_layout = INPUT_CHANNEL_LAYOUT;
+    frame->nb_samples     = FRAME_SIZE;
+    frame->pts            = frame_num * FRAME_SIZE;
+
+    err = av_frame_get_buffer(frame, 0);
+    if (err < 0)
+        return err;
+
+    /* Fill the data for each channel. */
+    for (i = 0; i < 5; i++) {
+        float *data = (float*)frame->extended_data[i];
+
+        for (j = 0; j < frame->nb_samples; j++)
+            data[j] = sin(2 * M_PI * (frame_num + j) * (i + 1) / FRAME_SIZE);
+    }
+
+    return 0;
+}
+
+int main(int argc, char *argv[])
+{
+    struct AVMD5 *md5;
+    AVFilterGraph *graph;
+    AVFilterContext *src, *sink;
+    AVFrame *frame;
+    uint8_t errstr[1024];
+    float duration;
+    int err, nb_frames, i;
+
+    if (argc < 2) {
+        fprintf(stderr, "Usage: %s <duration>\n", argv[0]);
+        return 1;
+    }
+
+    duration  = atof(argv[1]);
+    nb_frames = duration * INPUT_SAMPLERATE / FRAME_SIZE;
+    if (nb_frames <= 0) {
+        fprintf(stderr, "Invalid duration: %s\n", argv[1]);
+        return 1;
+    }
+
+    avfilter_register_all();
+
+    /* Allocate the frame we will be using to store the data. */
+    frame  = av_frame_alloc();
+    if (!frame) {
+        fprintf(stderr, "Error allocating the frame\n");
+        return 1;
+    }
+
+    md5 = av_md5_alloc();
+    if (!md5) {
+        fprintf(stderr, "Error allocating the MD5 context\n");
+        return 1;
+    }
+
+    /* Set up the filtergraph. */
+    err = init_filter_graph(&graph, &src, &sink);
+    if (err < 0) {
+        fprintf(stderr, "Unable to init filter graph:");
+        goto fail;
+    }
+
+    /* the main filtering loop */
+    for (i = 0; i < nb_frames; i++) {
+        /* get an input frame to be filtered */
+        err = get_input(frame, i);
+        if (err < 0) {
+            fprintf(stderr, "Error generating input frame:");
+            goto fail;
+        }
+
+        /* Send the frame to the input of the filtergraph. */
+        err = av_buffersrc_add_frame(src, frame);
+        if (err < 0) {
+            av_frame_unref(frame);
+            fprintf(stderr, "Error submitting the frame to the filtergraph:");
+            goto fail;
+        }
+
+        /* Get all the filtered output that is available. */
+        while ((err = av_buffersink_get_frame(sink, frame)) >= 0) {
+            /* now do something with our filtered frame */
+            err = process_output(md5, frame);
+            if (err < 0) {
+                fprintf(stderr, "Error processing the filtered frame:");
+                goto fail;
+            }
+            av_frame_unref(frame);
+        }
+
+        if (err == AVERROR(EAGAIN)) {
+            /* Need to feed more frames in. */
+            continue;
+        } else if (err == AVERROR_EOF) {
+            /* Nothing more to do, finish. */
+            break;
+        } else if (err < 0) {
+            /* An error occurred. */
+            fprintf(stderr, "Error filtering the data:");
+            goto fail;
+        }
+    }
+
+    avfilter_graph_free(&graph);
+    av_frame_free(&frame);
+    av_freep(&md5);
+
+    return 0;
+
+fail:
+    av_strerror(err, errstr, sizeof(errstr));
+    fprintf(stderr, "%s\n", errstr);
+    return 1;
+}
index 1d66ca33e34ee4d1f8741536f26dab3c6955ecd5..46595fb3b8f062d065848a44a6b52957087e3043 100644 (file)
@@ -25,7 +25,7 @@
 /**
  * @file
  * API example for audio decoding and filtering
- * @example doc/examples/filtering_audio.c
+ * @example filtering_audio.c
  */
 
 #include <unistd.h>
@@ -210,7 +210,6 @@ int main(int argc, char **argv)
         exit(1);
     }
 
-    avcodec_register_all();
     av_register_all();
     avfilter_register_all();
 
@@ -230,7 +229,6 @@ int main(int argc, char **argv)
         }
 
         if (packet.stream_index == audio_stream_index) {
-            avcodec_get_frame_defaults(frame);
             got_frame = 0;
             ret = avcodec_decode_audio4(dec_ctx, frame, &got_frame, &packet);
             if (ret < 0) {
index 790c6418ed533cbe88437139bcf0d262229dd29f..8d595735b3b3c72625ba49d6ae8b82d42cd0ca6c 100644 (file)
@@ -24,7 +24,7 @@
 /**
  * @file
  * API example for decoding and filtering
- * @example doc/examples/filtering_video.c
+ * @example filtering_video.c
  */
 
 #define _XOPEN_SOURCE 600 /* for usleep */
@@ -200,7 +200,6 @@ int main(int argc, char **argv)
         exit(1);
     }
 
-    avcodec_register_all();
     av_register_all();
     avfilter_register_all();
 
@@ -215,7 +214,6 @@ int main(int argc, char **argv)
             break;
 
         if (packet.stream_index == video_stream_index) {
-            avcodec_get_frame_defaults(frame);
             got_frame = 0;
             ret = avcodec_decode_video2(dec_ctx, frame, &got_frame, &packet);
             if (ret < 0) {
index 9c1bcd79d99d5b09559b2aa136bd829e8ba266e8..f73c2673692c1e532c1c345da296e5f7fe612731 100644 (file)
@@ -23,7 +23,7 @@
 /**
  * @file
  * Shows how the metadata API can be used in application programs.
- * @example doc/examples/metadata.c
+ * @example metadata.c
  */
 
 #include <stdio.h>
index 9ad6e28281ade0af08676e0a8c2b4ed090c09332..ad8e027148d34eae42905af672344f9b31568f58 100644 (file)
@@ -24,9 +24,9 @@
  * @file
  * libavformat API example.
  *
- * Output a media file in any supported libavformat format.
- * The default codecs are used.
- * @example doc/examples/muxing.c
+ * Output a media file in any supported libavformat format. The default
+ * codecs are used.
+ * @example muxing.c
  */
 
 #include <stdlib.h>
 
 #include <libavutil/opt.h>
 #include <libavutil/mathematics.h>
+#include <libavutil/timestamp.h>
 #include <libavformat/avformat.h>
 #include <libswscale/swscale.h>
 #include <libswresample/swresample.h>
 
-/* 5 seconds stream duration */
-#define STREAM_DURATION   200.0
+static int audio_is_eof, video_is_eof;
+
+#define STREAM_DURATION   10.0
 #define STREAM_FRAME_RATE 25 /* 25 images/s */
-#define STREAM_NB_FRAMES  ((int)(STREAM_DURATION * STREAM_FRAME_RATE))
 #define STREAM_PIX_FMT    AV_PIX_FMT_YUV420P /* default pix_fmt */
 
 static int sws_flags = SWS_BICUBIC;
 
+static void log_packet(const AVFormatContext *fmt_ctx, const AVPacket *pkt)
+{
+    AVRational *time_base = &fmt_ctx->streams[pkt->stream_index]->time_base;
+
+    printf("pts:%s pts_time:%s dts:%s dts_time:%s duration:%s duration_time:%s stream_index:%d\n",
+           av_ts2str(pkt->pts), av_ts2timestr(pkt->pts, time_base),
+           av_ts2str(pkt->dts), av_ts2timestr(pkt->dts, time_base),
+           av_ts2str(pkt->duration), av_ts2timestr(pkt->duration, time_base),
+           pkt->stream_index);
+}
+
+static int write_frame(AVFormatContext *fmt_ctx, const AVRational *time_base, AVStream *st, AVPacket *pkt)
+{
+    /* rescale output packet timestamp values from codec to stream timebase */
+    pkt->pts = av_rescale_q_rnd(pkt->pts, *time_base, st->time_base, AV_ROUND_NEAR_INF|AV_ROUND_PASS_MINMAX);
+    pkt->dts = av_rescale_q_rnd(pkt->dts, *time_base, st->time_base, AV_ROUND_NEAR_INF|AV_ROUND_PASS_MINMAX);
+    pkt->duration = av_rescale_q(pkt->duration, *time_base, st->time_base);
+    pkt->stream_index = st->index;
+
+    /* Write the compressed frame to the media file. */
+    log_packet(fmt_ctx, pkt);
+    return av_interleaved_write_frame(fmt_ctx, pkt);
+}
+
 /* Add an output stream. */
 static AVStream *add_stream(AVFormatContext *oc, AVCodec **codec,
                             enum AVCodecID codec_id)
@@ -73,7 +98,8 @@ static AVStream *add_stream(AVFormatContext *oc, AVCodec **codec,
 
     switch ((*codec)->type) {
     case AVMEDIA_TYPE_AUDIO:
-        c->sample_fmt  = AV_SAMPLE_FMT_FLTP;
+        c->sample_fmt  = (*codec)->sample_fmts ?
+            (*codec)->sample_fmts[0] : AV_SAMPLE_FMT_FLTP;
         c->bit_rate    = 64000;
         c->sample_rate = 44100;
         c->channels    = 2;
@@ -122,6 +148,7 @@ static AVStream *add_stream(AVFormatContext *oc, AVCodec **codec,
 
 static float t, tincr, tincr2;
 
+AVFrame *audio_frame;
 static uint8_t **src_samples_data;
 static int       src_samples_linesize;
 static int       src_nb_samples;
@@ -130,6 +157,7 @@ static int max_dst_nb_samples;
 uint8_t **dst_samples_data;
 int       dst_samples_linesize;
 int       dst_samples_size;
+int samples_count;
 
 struct SwrContext *swr_ctx = NULL;
 
@@ -140,6 +168,13 @@ static void open_audio(AVFormatContext *oc, AVCodec *codec, AVStream *st)
 
     c = st->codec;
 
+    /* allocate and init a re-usable frame */
+    audio_frame = av_frame_alloc();
+    if (!audio_frame) {
+        fprintf(stderr, "Could not allocate audio frame\n");
+        exit(1);
+    }
+
     /* open it */
     ret = avcodec_open2(c, codec, NULL);
     if (ret < 0) {
@@ -157,12 +192,17 @@ static void open_audio(AVFormatContext *oc, AVCodec *codec, AVStream *st)
         10000 : c->frame_size;
 
     ret = av_samples_alloc_array_and_samples(&src_samples_data, &src_samples_linesize, c->channels,
-                                             src_nb_samples, c->sample_fmt, 0);
+                                             src_nb_samples, AV_SAMPLE_FMT_S16, 0);
     if (ret < 0) {
         fprintf(stderr, "Could not allocate source samples\n");
         exit(1);
     }
 
+    /* compute the number of converted samples: buffering is avoided
+     * ensuring that the output buffer will contain at least all the
+     * converted input samples */
+    max_dst_nb_samples = src_nb_samples;
+
     /* create resampler context */
     if (c->sample_fmt != AV_SAMPLE_FMT_S16) {
         swr_ctx = swr_alloc();
@@ -184,17 +224,15 @@ static void open_audio(AVFormatContext *oc, AVCodec *codec, AVStream *st)
             fprintf(stderr, "Failed to initialize the resampling context\n");
             exit(1);
         }
-    }
 
-    /* compute the number of converted samples: buffering is avoided
-     * ensuring that the output buffer will contain at least all the
-     * converted input samples */
-    max_dst_nb_samples = src_nb_samples;
-    ret = av_samples_alloc_array_and_samples(&dst_samples_data, &dst_samples_linesize, c->channels,
-                                             max_dst_nb_samples, c->sample_fmt, 0);
-    if (ret < 0) {
-        fprintf(stderr, "Could not allocate destination samples\n");
-        exit(1);
+        ret = av_samples_alloc_array_and_samples(&dst_samples_data, &dst_samples_linesize, c->channels,
+                                                 max_dst_nb_samples, c->sample_fmt, 0);
+        if (ret < 0) {
+            fprintf(stderr, "Could not allocate destination samples\n");
+            exit(1);
+        }
+    } else {
+        dst_samples_data = src_samples_data;
     }
     dst_samples_size = av_samples_get_buffer_size(NULL, c->channels, max_dst_nb_samples,
                                                   c->sample_fmt, 0);
@@ -217,77 +255,83 @@ static void get_audio_frame(int16_t *samples, int frame_size, int nb_channels)
     }
 }
 
-static void write_audio_frame(AVFormatContext *oc, AVStream *st)
+static void write_audio_frame(AVFormatContext *oc, AVStream *st, int flush)
 {
     AVCodecContext *c;
     AVPacket pkt = { 0 }; // data and size must be 0;
-    AVFrame *frame = av_frame_alloc();
     int got_packet, ret, dst_nb_samples;
 
     av_init_packet(&pkt);
     c = st->codec;
 
-    get_audio_frame((int16_t *)src_samples_data[0], src_nb_samples, c->channels);
-
-    /* convert samples from native format to destination codec format, using the resampler */
-    if (swr_ctx) {
-        /* compute destination number of samples */
-        dst_nb_samples = av_rescale_rnd(swr_get_delay(swr_ctx, c->sample_rate) + src_nb_samples,
-                                        c->sample_rate, c->sample_rate, AV_ROUND_UP);
-        if (dst_nb_samples > max_dst_nb_samples) {
-            av_free(dst_samples_data[0]);
-            ret = av_samples_alloc(dst_samples_data, &dst_samples_linesize, c->channels,
-                                   dst_nb_samples, c->sample_fmt, 0);
-            if (ret < 0)
+    if (!flush) {
+        get_audio_frame((int16_t *)src_samples_data[0], src_nb_samples, c->channels);
+
+        /* convert samples from native format to destination codec format, using the resampler */
+        if (swr_ctx) {
+            /* compute destination number of samples */
+            dst_nb_samples = av_rescale_rnd(swr_get_delay(swr_ctx, c->sample_rate) + src_nb_samples,
+                                            c->sample_rate, c->sample_rate, AV_ROUND_UP);
+            if (dst_nb_samples > max_dst_nb_samples) {
+                av_free(dst_samples_data[0]);
+                ret = av_samples_alloc(dst_samples_data, &dst_samples_linesize, c->channels,
+                                       dst_nb_samples, c->sample_fmt, 0);
+                if (ret < 0)
+                    exit(1);
+                max_dst_nb_samples = dst_nb_samples;
+                dst_samples_size = av_samples_get_buffer_size(NULL, c->channels, dst_nb_samples,
+                                                              c->sample_fmt, 0);
+            }
+
+            /* convert to destination format */
+            ret = swr_convert(swr_ctx,
+                              dst_samples_data, dst_nb_samples,
+                              (const uint8_t **)src_samples_data, src_nb_samples);
+            if (ret < 0) {
+                fprintf(stderr, "Error while converting\n");
                 exit(1);
-            max_dst_nb_samples = dst_nb_samples;
-            dst_samples_size = av_samples_get_buffer_size(NULL, c->channels, dst_nb_samples,
-                                                          c->sample_fmt, 0);
+            }
+        } else {
+            dst_nb_samples = src_nb_samples;
         }
 
-        /* convert to destination format */
-        ret = swr_convert(swr_ctx,
-                          dst_samples_data, dst_nb_samples,
-                          (const uint8_t **)src_samples_data, src_nb_samples);
-        if (ret < 0) {
-            fprintf(stderr, "Error while converting\n");
-            exit(1);
-        }
-    } else {
-        dst_samples_data[0] = src_samples_data[0];
-        dst_nb_samples = src_nb_samples;
+        audio_frame->nb_samples = dst_nb_samples;
+        audio_frame->pts = av_rescale_q(samples_count, (AVRational){1, c->sample_rate}, c->time_base);
+        avcodec_fill_audio_frame(audio_frame, c->channels, c->sample_fmt,
+                                 dst_samples_data[0], dst_samples_size, 0);
+        samples_count += dst_nb_samples;
     }
 
-    frame->nb_samples = dst_nb_samples;
-    avcodec_fill_audio_frame(frame, c->channels, c->sample_fmt,
-                             dst_samples_data[0], dst_samples_size, 0);
-
-    ret = avcodec_encode_audio2(c, &pkt, frame, &got_packet);
+    ret = avcodec_encode_audio2(c, &pkt, flush ? NULL : audio_frame, &got_packet);
     if (ret < 0) {
         fprintf(stderr, "Error encoding audio frame: %s\n", av_err2str(ret));
         exit(1);
     }
 
-    if (!got_packet)
+    if (!got_packet) {
+        if (flush)
+            audio_is_eof = 1;
         return;
+    }
 
-    pkt.stream_index = st->index;
-
-    /* Write the compressed frame to the media file. */
-    ret = av_interleaved_write_frame(oc, &pkt);
-    if (ret != 0) {
+    ret = write_frame(oc, &c->time_base, st, &pkt);
+    if (ret < 0) {
         fprintf(stderr, "Error while writing audio frame: %s\n",
                 av_err2str(ret));
         exit(1);
     }
-    av_frame_free(&frame);
 }
 
 static void close_audio(AVFormatContext *oc, AVStream *st)
 {
     avcodec_close(st->codec);
+    if (dst_samples_data != src_samples_data) {
+        av_free(dst_samples_data[0]);
+        av_free(dst_samples_data);
+    }
     av_free(src_samples_data[0]);
-    av_free(dst_samples_data[0]);
+    av_free(src_samples_data);
+    av_frame_free(&audio_frame);
 }
 
 /**************************************************************/
@@ -315,6 +359,9 @@ static void open_video(AVFormatContext *oc, AVCodec *codec, AVStream *st)
         fprintf(stderr, "Could not allocate video frame\n");
         exit(1);
     }
+    frame->format = c->pix_fmt;
+    frame->width = c->width;
+    frame->height = c->height;
 
     /* Allocate the encoded raw picture. */
     ret = avpicture_alloc(&dst_picture, c->pix_fmt, c->width, c->height);
@@ -361,17 +408,13 @@ static void fill_yuv_image(AVPicture *pict, int frame_index,
     }
 }
 
-static void write_video_frame(AVFormatContext *oc, AVStream *st)
+static void write_video_frame(AVFormatContext *oc, AVStream *st, int flush)
 {
     int ret;
     static struct SwsContext *sws_ctx;
     AVCodecContext *c = st->codec;
 
-    if (frame_count >= STREAM_NB_FRAMES) {
-        /* No more frames to compress. The codec has a latency of a few
-         * frames if using B-frames, so we get the last frames by
-         * passing the same picture again. */
-    } else {
+    if (!flush) {
         if (c->pix_fmt != AV_PIX_FMT_YUV420P) {
             /* as we only generate a YUV420P picture, we must convert it
              * to the codec pixel format if needed */
@@ -394,7 +437,7 @@ static void write_video_frame(AVFormatContext *oc, AVStream *st)
         }
     }
 
-    if (oc->oformat->flags & AVFMT_RAWPICTURE) {
+    if (oc->oformat->flags & AVFMT_RAWPICTURE && !flush) {
         /* Raw video case - directly store the picture in the packet */
         AVPacket pkt;
         av_init_packet(&pkt);
@@ -411,23 +454,24 @@ static void write_video_frame(AVFormatContext *oc, AVStream *st)
         av_init_packet(&pkt);
 
         /* encode the image */
-        ret = avcodec_encode_video2(c, &pkt, frame, &got_packet);
+        frame->pts = frame_count;
+        ret = avcodec_encode_video2(c, &pkt, flush ? NULL : frame, &got_packet);
         if (ret < 0) {
             fprintf(stderr, "Error encoding video frame: %s\n", av_err2str(ret));
             exit(1);
         }
         /* If size is zero, it means the image was buffered. */
 
-        if (!ret && got_packet && pkt.size) {
-            pkt.stream_index = st->index;
-
-            /* Write the compressed frame to the media file. */
-            ret = av_interleaved_write_frame(oc, &pkt);
+        if (got_packet) {
+            ret = write_frame(oc, &c->time_base, st, &pkt);
         } else {
+            if (flush)
+                video_is_eof = 1;
             ret = 0;
         }
     }
-    if (ret != 0) {
+
+    if (ret < 0) {
         fprintf(stderr, "Error while writing video frame: %s\n", av_err2str(ret));
         exit(1);
     }
@@ -439,7 +483,7 @@ static void close_video(AVFormatContext *oc, AVStream *st)
     avcodec_close(st->codec);
     av_free(src_picture.data[0]);
     av_free(dst_picture.data[0]);
-    av_free(frame);
+    av_frame_free(&frame);
 }
 
 /**************************************************************/
@@ -453,7 +497,7 @@ int main(int argc, char **argv)
     AVStream *audio_st, *video_st;
     AVCodec *audio_codec, *video_codec;
     double audio_time, video_time;
-    int ret;
+    int flush, ret;
 
     /* Initialize libavcodec, and register all codecs and formats. */
     av_register_all();
@@ -477,9 +521,9 @@ int main(int argc, char **argv)
         printf("Could not deduce output format from file extension: using MPEG.\n");
         avformat_alloc_output_context2(&oc, NULL, "mpeg", filename);
     }
-    if (!oc) {
+    if (!oc)
         return 1;
-    }
+
     fmt = oc->oformat;
 
     /* Add the audio and video streams using the default format codecs
@@ -487,12 +531,10 @@ int main(int argc, char **argv)
     video_st = NULL;
     audio_st = NULL;
 
-    if (fmt->video_codec != AV_CODEC_ID_NONE) {
+    if (fmt->video_codec != AV_CODEC_ID_NONE)
         video_st = add_stream(oc, &video_codec, fmt->video_codec);
-    }
-    if (fmt->audio_codec != AV_CODEC_ID_NONE) {
+    if (fmt->audio_codec != AV_CODEC_ID_NONE)
         audio_st = add_stream(oc, &audio_codec, fmt->audio_codec);
-    }
 
     /* Now that all the parameters are set, we can open the audio and
      * video codecs and allocate the necessary encode buffers. */
@@ -521,23 +563,23 @@ int main(int argc, char **argv)
         return 1;
     }
 
-    if (frame)
-        frame->pts = 0;
-    for (;;) {
+    flush = 0;
+    while ((video_st && !video_is_eof) || (audio_st && !audio_is_eof)) {
         /* Compute current audio and video time. */
-        audio_time = audio_st ? audio_st->pts.val * av_q2d(audio_st->time_base) : 0.0;
-        video_time = video_st ? video_st->pts.val * av_q2d(video_st->time_base) : 0.0;
+        audio_time = (audio_st && !audio_is_eof) ? audio_st->pts.val * av_q2d(audio_st->time_base) : INFINITY;
+        video_time = (video_st && !video_is_eof) ? video_st->pts.val * av_q2d(video_st->time_base) : INFINITY;
 
-        if ((!audio_st || audio_time >= STREAM_DURATION) &&
-            (!video_st || video_time >= STREAM_DURATION))
-            break;
+        if (!flush &&
+            (!audio_st || audio_time >= STREAM_DURATION) &&
+            (!video_st || video_time >= STREAM_DURATION)) {
+            flush = 1;
+        }
 
         /* write interleaved audio and video frames */
-        if (!video_st || (video_st && audio_st && audio_time < video_time)) {
-            write_audio_frame(oc, audio_st);
-        } else {
-            write_video_frame(oc, video_st);
-            frame->pts += av_rescale_q(1, video_st->codec->time_base, video_st->time_base);
+        if (audio_st && !audio_is_eof && audio_time <= video_time) {
+            write_audio_frame(oc, audio_st, flush);
+        } else if (video_st && !video_is_eof && video_time < audio_time) {
+            write_video_frame(oc, video_st, flush);
         }
     }
 
diff --git a/dependencies/ffmpeg/doc/examples/remuxing.c b/dependencies/ffmpeg/doc/examples/remuxing.c
new file mode 100644 (file)
index 0000000..cdb2f6b
--- /dev/null
@@ -0,0 +1,164 @@
+/*
+ * Copyright (c) 2013 Stefano Sabatini
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+/**
+ * @file
+ * libavformat/libavcodec demuxing and muxing API example.
+ *
+ * Remux streams from one container format to another.
+ * @example remuxing.c
+ */
+
+#include <libavutil/timestamp.h>
+#include <libavformat/avformat.h>
+
+static void log_packet(const AVFormatContext *fmt_ctx, const AVPacket *pkt, const char *tag)
+{
+    AVRational *time_base = &fmt_ctx->streams[pkt->stream_index]->time_base;
+
+    printf("%s: pts:%s pts_time:%s dts:%s dts_time:%s duration:%s duration_time:%s stream_index:%d\n",
+           tag,
+           av_ts2str(pkt->pts), av_ts2timestr(pkt->pts, time_base),
+           av_ts2str(pkt->dts), av_ts2timestr(pkt->dts, time_base),
+           av_ts2str(pkt->duration), av_ts2timestr(pkt->duration, time_base),
+           pkt->stream_index);
+}
+
+int main(int argc, char **argv)
+{
+    AVOutputFormat *ofmt = NULL;
+    AVFormatContext *ifmt_ctx = NULL, *ofmt_ctx = NULL;
+    AVPacket pkt;
+    const char *in_filename, *out_filename;
+    int ret, i;
+
+    if (argc < 3) {
+        printf("usage: %s input output\n"
+               "API example program to remux a media file with libavformat and libavcodec.\n"
+               "The output format is guessed according to the file extension.\n"
+               "\n", argv[0]);
+        return 1;
+    }
+
+    in_filename  = argv[1];
+    out_filename = argv[2];
+
+    av_register_all();
+
+    if ((ret = avformat_open_input(&ifmt_ctx, in_filename, 0, 0)) < 0) {
+        fprintf(stderr, "Could not open input file '%s'", in_filename);
+        goto end;
+    }
+
+    if ((ret = avformat_find_stream_info(ifmt_ctx, 0)) < 0) {
+        fprintf(stderr, "Failed to retrieve input stream information");
+        goto end;
+    }
+
+    av_dump_format(ifmt_ctx, 0, in_filename, 0);
+
+    avformat_alloc_output_context2(&ofmt_ctx, NULL, NULL, out_filename);
+    if (!ofmt_ctx) {
+        fprintf(stderr, "Could not create output context\n");
+        ret = AVERROR_UNKNOWN;
+        goto end;
+    }
+
+    ofmt = ofmt_ctx->oformat;
+
+    for (i = 0; i < ifmt_ctx->nb_streams; i++) {
+        AVStream *in_stream = ifmt_ctx->streams[i];
+        AVStream *out_stream = avformat_new_stream(ofmt_ctx, in_stream->codec->codec);
+        if (!out_stream) {
+            fprintf(stderr, "Failed allocating output stream\n");
+            ret = AVERROR_UNKNOWN;
+            goto end;
+        }
+
+        ret = avcodec_copy_context(out_stream->codec, in_stream->codec);
+        if (ret < 0) {
+            fprintf(stderr, "Failed to copy context from input to output stream codec context\n");
+            goto end;
+        }
+        if (ofmt_ctx->oformat->flags & AVFMT_GLOBALHEADER)
+            out_stream->codec->flags |= CODEC_FLAG_GLOBAL_HEADER;
+    }
+    av_dump_format(ofmt_ctx, 0, out_filename, 1);
+
+    if (!(ofmt->flags & AVFMT_NOFILE)) {
+        ret = avio_open(&ofmt_ctx->pb, out_filename, AVIO_FLAG_WRITE);
+        if (ret < 0) {
+            fprintf(stderr, "Could not open output file '%s'", out_filename);
+            goto end;
+        }
+    }
+
+    ret = avformat_write_header(ofmt_ctx, NULL);
+    if (ret < 0) {
+        fprintf(stderr, "Error occurred when opening output file\n");
+        goto end;
+    }
+
+    while (1) {
+        AVStream *in_stream, *out_stream;
+
+        ret = av_read_frame(ifmt_ctx, &pkt);
+        if (ret < 0)
+            break;
+
+        in_stream  = ifmt_ctx->streams[pkt.stream_index];
+        out_stream = ofmt_ctx->streams[pkt.stream_index];
+
+        log_packet(ifmt_ctx, &pkt, "in");
+
+        /* copy packet */
+        pkt.pts = av_rescale_q_rnd(pkt.pts, in_stream->time_base, out_stream->time_base, AV_ROUND_NEAR_INF|AV_ROUND_PASS_MINMAX);
+        pkt.dts = av_rescale_q_rnd(pkt.dts, in_stream->time_base, out_stream->time_base, AV_ROUND_NEAR_INF|AV_ROUND_PASS_MINMAX);
+        pkt.duration = av_rescale_q(pkt.duration, in_stream->time_base, out_stream->time_base);
+        pkt.pos = -1;
+        log_packet(ofmt_ctx, &pkt, "out");
+
+        ret = av_interleaved_write_frame(ofmt_ctx, &pkt);
+        if (ret < 0) {
+            fprintf(stderr, "Error muxing packet\n");
+            break;
+        }
+        av_free_packet(&pkt);
+    }
+
+    av_write_trailer(ofmt_ctx);
+end:
+
+    avformat_close_input(&ifmt_ctx);
+
+    /* close output */
+    if (ofmt_ctx && !(ofmt->flags & AVFMT_NOFILE))
+        avio_close(ofmt_ctx->pb);
+    avformat_free_context(ofmt_ctx);
+
+    if (ret < 0 && ret != AVERROR_EOF) {
+        fprintf(stderr, "Error occurred: %s\n", av_err2str(ret));
+        return 1;
+    }
+
+    return 0;
+}
index a15e04226ba77fcf3cc6142395520dcbcb111ed5..f743cbe550d8d0473fbb3a25340513d855ef4f58 100644 (file)
@@ -21,7 +21,7 @@
  */
 
 /**
- * @example doc/examples/resampling_audio.c
+ * @example resampling_audio.c
  * libswresample API use example.
  */
 
index be2c510ffa6df822473454cce6b1b45bd8a0d524..fcb98b7489a0a45722b8dcdd60c69e3619426130 100644 (file)
@@ -23,7 +23,7 @@
 /**
  * @file
  * libswscale API use example.
- * @example doc/examples/scaling_video.c
+ * @example scaling_video.c
  */
 
 #include <libavutil/imgutils.h>
index 35deb4c03e184b90e6f082e694ec0b30cfde7104..bf0128f68ddbd7094b9abdaabad23520b7370c2e 100644 (file)
  */
 
 /**
- * @file simple audio converter
+ * @file
+ * simple audio converter
+ *
+ * @example transcode_aac.c
  * Convert an input audio file to AAC in an MP4 container using FFmpeg.
  * @author Andreas Unterweger (dustsigns@gmail.com)
  */
index 4b48a5618314316ef372fc38e49e3a1509cf7a4c..a546811c40918d0ad979ecaad27fd4c35d2112a8 100644 (file)
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <html>
-<!-- Created on December 14, 2013 by texi2html 1.82 -->
+<!-- Created on June 19, 2014 by texi2html 1.82 -->
 <!--
 texi2html was written by: 
             Lionel Cons <Lionel.Cons@cern.ch> (original author)
@@ -68,10 +68,9 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
       <li><a name="toc-Concatenating-using-the-concat-protocol-_0028file-level_0029" href="#Concatenating-using-the-concat-protocol-_0028file-level_0029">3.14.3 Concatenating using the concat <em>protocol</em> (file level)</a></li>
       <li><a name="toc-Concatenating-using-raw-audio-and-video" href="#Concatenating-using-raw-audio-and-video">3.14.4 Concatenating using raw audio and video</a></li>
     </ul></li>
-    <li><a name="toc-_002dprofile-option-fails-when-encoding-H_002e264-video-with-AAC-audio" href="#g_t_002dprofile-option-fails-when-encoding-H_002e264-video-with-AAC-audio">3.15 -profile option fails when encoding H.264 video with AAC audio</a></li>
-    <li><a name="toc-Using-_002df-lavfi_002c-audio-becomes-mono-for-no-apparent-reason_002e" href="#Using-_002df-lavfi_002c-audio-becomes-mono-for-no-apparent-reason_002e">3.16 Using &lsquo;<samp>-f lavfi</samp>&rsquo;, audio becomes mono for no apparent reason.</a></li>
-    <li><a name="toc-Why-does-FFmpeg-not-see-the-subtitles-in-my-VOB-file_003f" href="#Why-does-FFmpeg-not-see-the-subtitles-in-my-VOB-file_003f">3.17 Why does FFmpeg not see the subtitles in my VOB file?</a></li>
-    <li><a name="toc-Why-was-the-ffmpeg-_002dsameq-option-removed_003f-What-to-use-instead_003f" href="#Why-was-the-ffmpeg-_002dsameq-option-removed_003f-What-to-use-instead_003f">3.18 Why was the <code>ffmpeg</code> &lsquo;<samp>-sameq</samp>&rsquo; option removed? What to use instead?</a></li>
+    <li><a name="toc-Using-_002df-lavfi_002c-audio-becomes-mono-for-no-apparent-reason_002e" href="#Using-_002df-lavfi_002c-audio-becomes-mono-for-no-apparent-reason_002e">3.15 Using &lsquo;<samp>-f lavfi</samp>&rsquo;, audio becomes mono for no apparent reason.</a></li>
+    <li><a name="toc-Why-does-FFmpeg-not-see-the-subtitles-in-my-VOB-file_003f" href="#Why-does-FFmpeg-not-see-the-subtitles-in-my-VOB-file_003f">3.16 Why does FFmpeg not see the subtitles in my VOB file?</a></li>
+    <li><a name="toc-Why-was-the-ffmpeg-_002dsameq-option-removed_003f-What-to-use-instead_003f" href="#Why-was-the-ffmpeg-_002dsameq-option-removed_003f-What-to-use-instead_003f">3.17 Why was the <code>ffmpeg</code> &lsquo;<samp>-sameq</samp>&rsquo; option removed? What to use instead?</a></li>
   </ul></li>
   <li><a name="toc-Development" href="#Development">4. Development</a>
   <ul class="toc">
@@ -473,28 +472,8 @@ ffmpeg -f u16le -acodec pcm_s16le -ac 2 -ar 44100 -i all.a \
 rm temp[12].[av] all.[av]
 </pre></td></tr></table>
 
-<a name="g_t_002dprofile-option-fails-when-encoding-H_002e264-video-with-AAC-audio"></a>
-<h2 class="section"><a href="faq.html#toc-_002dprofile-option-fails-when-encoding-H_002e264-video-with-AAC-audio">3.15 -profile option fails when encoding H.264 video with AAC audio</a></h2>
-
-<p><code>ffmpeg</code> prints an error like
-</p>
-<table><tr><td>&nbsp;</td><td><pre class="example">Undefined constant or missing '(' in 'baseline'
-Unable to parse option value &quot;baseline&quot;
-Error setting option profile to value baseline.
-</pre></td></tr></table>
-
-<p>Short answer: write &lsquo;<samp>-profile:v</samp>&rsquo; instead of &lsquo;<samp>-profile</samp>&rsquo;.
-</p>
-<p>Long answer: this happens because the &lsquo;<samp>-profile</samp>&rsquo; option can apply to both
-video and audio.  Specifically the AAC encoder also defines some profiles, none
-of which are named <var>baseline</var>.
-</p>
-<p>The solution is to apply the &lsquo;<samp>-profile</samp>&rsquo; option to the video stream only
-by using <a href="http://ffmpeg.org/ffmpeg.html#Stream-specifiers-1">Stream specifiers</a>.
-Appending <code>:v</code> to it will do exactly that.
-</p>
 <a name="Using-_002df-lavfi_002c-audio-becomes-mono-for-no-apparent-reason_002e"></a>
-<h2 class="section"><a href="faq.html#toc-Using-_002df-lavfi_002c-audio-becomes-mono-for-no-apparent-reason_002e">3.16 Using &lsquo;<samp>-f lavfi</samp>&rsquo;, audio becomes mono for no apparent reason.</a></h2>
+<h2 class="section"><a href="faq.html#toc-Using-_002df-lavfi_002c-audio-becomes-mono-for-no-apparent-reason_002e">3.15 Using &lsquo;<samp>-f lavfi</samp>&rsquo;, audio becomes mono for no apparent reason.</a></h2>
 
 <p>Use &lsquo;<samp>-dumpgraph -</samp>&rsquo; to find out exactly where the channel layout is
 lost.
@@ -512,7 +491,7 @@ specifying the exact format.
 </pre></td></tr></table>
 
 <a name="Why-does-FFmpeg-not-see-the-subtitles-in-my-VOB-file_003f"></a>
-<h2 class="section"><a href="faq.html#toc-Why-does-FFmpeg-not-see-the-subtitles-in-my-VOB-file_003f">3.17 Why does FFmpeg not see the subtitles in my VOB file?</a></h2>
+<h2 class="section"><a href="faq.html#toc-Why-does-FFmpeg-not-see-the-subtitles-in-my-VOB-file_003f">3.16 Why does FFmpeg not see the subtitles in my VOB file?</a></h2>
 
 <p>VOB and a few other formats do not have a global header that describes
 everything present in the file. Instead, applications are supposed to scan
@@ -529,7 +508,7 @@ are detected later are ignored.
 the subtitle stream to be detected, both values must be large enough.
 </p>
 <a name="Why-was-the-ffmpeg-_002dsameq-option-removed_003f-What-to-use-instead_003f"></a>
-<h2 class="section"><a href="faq.html#toc-Why-was-the-ffmpeg-_002dsameq-option-removed_003f-What-to-use-instead_003f">3.18 Why was the <code>ffmpeg</code> &lsquo;<samp>-sameq</samp>&rsquo; option removed? What to use instead?</a></h2>
+<h2 class="section"><a href="faq.html#toc-Why-was-the-ffmpeg-_002dsameq-option-removed_003f-What-to-use-instead_003f">3.17 Why was the <code>ffmpeg</code> &lsquo;<samp>-sameq</samp>&rsquo; option removed? What to use instead?</a></h2>
 
 <p>The &lsquo;<samp>-sameq</samp>&rsquo; option meant &quot;same quantizer&quot;, and made sense only in a
 very limited set of cases. Unfortunately, a lot of people mistook it for
@@ -677,4 +656,4 @@ home directory? The value is used in ways where the shell cannot expand it,
 causing FATE to not find files. Just replace <code>~</code> by the full path.
 </p>
 <footer class="footer pagination-right">
-<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>December 14, 2013</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
+<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>June 19, 2014</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
index 0e0bdba13cdfc761e23ca9cf2b9ecb41a32b0fd6..1eb50bcb8c0caf451af8f0e95c763635eaa52463 100644 (file)
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <html>
-<!-- Created on December 14, 2013 by texi2html 1.82 -->
+<!-- Created on June 19, 2014 by texi2html 1.82 -->
 <!--
 texi2html was written by: 
             Lionel Cons <Lionel.Cons@cern.ch> (original author)
@@ -281,4 +281,4 @@ through <code>ssh</code>.
 <table><tr><td>&nbsp;</td><td><pre class="example">make V=1 SAMPLES=/var/fate/samples THREADS=2 CPUFLAGS=mmx fate
 </pre></td></tr></table>
 <footer class="footer pagination-right">
-<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>December 14, 2013</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
+<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>June 19, 2014</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
index 57a5fa679a1413fc0873c191cb733df8ec5b1b9a..ff20d35e344765d44a0841c7822bbab4f5bb4993 100644 (file)
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <html>
-<!-- Created on December 14, 2013 by texi2html 1.82 -->
+<!-- Created on June 19, 2014 by texi2html 1.82 -->
 <!--
 texi2html was written by: 
             Lionel Cons <Lionel.Cons@cern.ch> (original author)
@@ -46,7 +46,7 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
     <li><a name="toc-Stream-copy" href="#Stream-copy">3.2 Stream copy</a></li>
   </ul></li>
   <li><a name="toc-Stream-selection" href="#Stream-selection">4. Stream selection</a></li>
-  <li><a name="toc-Options-10" href="#Options-10">5. Options</a>
+  <li><a name="toc-Options-6" href="#Options-6">5. Options</a>
   <ul class="toc">
     <li><a name="toc-Stream-specifiers-1" href="#Stream-specifiers-1">5.1 Stream specifiers</a></li>
     <li><a name="toc-Generic-options" href="#Generic-options">5.2 Generic options</a></li>
@@ -62,23 +62,23 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
     <li><a name="toc-Preset-files" href="#Preset-files">5.12 Preset files</a></li>
   </ul></li>
   <li><a name="toc-Tips" href="#Tips">6. Tips</a></li>
-  <li><a name="toc-Examples-28" href="#Examples-28">7. Examples</a>
+  <li><a name="toc-Examples-63" href="#Examples-63">7. Examples</a>
   <ul class="toc">
     <li><a name="toc-Preset-files-1" href="#Preset-files-1">7.1 Preset files</a></li>
     <li><a name="toc-Video-and-Audio-grabbing" href="#Video-and-Audio-grabbing">7.2 Video and Audio grabbing</a></li>
     <li><a name="toc-X11-grabbing" href="#X11-grabbing">7.3 X11 grabbing</a></li>
     <li><a name="toc-Video-and-Audio-file-format-conversion" href="#Video-and-Audio-file-format-conversion">7.4 Video and Audio file format conversion</a></li>
   </ul></li>
-  <li><a name="toc-Syntax-2" href="#Syntax-2">8. Syntax</a>
+  <li><a name="toc-Syntax" href="#Syntax">8. Syntax</a>
   <ul class="toc">
     <li><a name="toc-Quoting-and-escaping" href="#Quoting-and-escaping">8.1 Quoting and escaping</a>
     <ul class="toc">
-      <li><a name="toc-Examples-40" href="#Examples-40">8.1.1 Examples</a></li>
+      <li><a name="toc-Examples-36" href="#Examples-36">8.1.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-Date" href="#Date">8.2 Date</a></li>
     <li><a name="toc-Time-duration" href="#Time-duration">8.3 Time duration</a>
     <ul class="toc">
-      <li><a name="toc-Examples-89" href="#Examples-89">8.3.1 Examples</a></li>
+      <li><a name="toc-Examples-54" href="#Examples-54">8.3.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-Video-size" href="#Video-size">8.4 Video size</a></li>
     <li><a name="toc-Video-rate" href="#Video-rate">8.5 Video rate</a></li>
@@ -92,34 +92,38 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
   <li><a name="toc-Decoders" href="#Decoders">12. Decoders</a></li>
   <li><a name="toc-Video-Decoders" href="#Video-Decoders">13. Video Decoders</a>
   <ul class="toc">
-    <li><a name="toc-rawvideo-1" href="#rawvideo-1">13.1 rawvideo</a>
+    <li><a name="toc-rawvideo" href="#rawvideo">13.1 rawvideo</a>
     <ul class="toc">
-      <li><a name="toc-Options-7" href="#Options-7">13.1.1 Options</a></li>
+      <li><a name="toc-Options-5" href="#Options-5">13.1.1 Options</a></li>
     </ul>
 </li>
   </ul></li>
   <li><a name="toc-Audio-Decoders" href="#Audio-Decoders">14. Audio Decoders</a>
   <ul class="toc">
-    <li><a name="toc-ffwavesynth" href="#ffwavesynth">14.1 ffwavesynth</a></li>
-    <li><a name="toc-libcelt" href="#libcelt">14.2 libcelt</a></li>
-    <li><a name="toc-libgsm" href="#libgsm">14.3 libgsm</a></li>
-    <li><a name="toc-libilbc" href="#libilbc">14.4 libilbc</a>
+    <li><a name="toc-ac3" href="#ac3">14.1 ac3</a>
     <ul class="toc">
-      <li><a name="toc-Options-26" href="#Options-26">14.4.1 Options</a></li>
+      <li><a name="toc-AC_002d3-Decoder-Options" href="#AC_002d3-Decoder-Options">14.1.1 AC-3 Decoder Options</a></li>
     </ul></li>
-    <li><a name="toc-libopencore_002damrnb-1" href="#libopencore_002damrnb-1">14.5 libopencore-amrnb</a></li>
-    <li><a name="toc-libopencore_002damrwb" href="#libopencore_002damrwb">14.6 libopencore-amrwb</a></li>
-    <li><a name="toc-libopus-1" href="#libopus-1">14.7 libopus</a></li>
+    <li><a name="toc-ffwavesynth" href="#ffwavesynth">14.2 ffwavesynth</a></li>
+    <li><a name="toc-libcelt" href="#libcelt">14.3 libcelt</a></li>
+    <li><a name="toc-libgsm" href="#libgsm">14.4 libgsm</a></li>
+    <li><a name="toc-libilbc" href="#libilbc">14.5 libilbc</a>
+    <ul class="toc">
+      <li><a name="toc-Options-2" href="#Options-2">14.5.1 Options</a></li>
+    </ul></li>
+    <li><a name="toc-libopencore_002damrnb" href="#libopencore_002damrnb">14.6 libopencore-amrnb</a></li>
+    <li><a name="toc-libopencore_002damrwb" href="#libopencore_002damrwb">14.7 libopencore-amrwb</a></li>
+    <li><a name="toc-libopus" href="#libopus">14.8 libopus</a></li>
   </ul></li>
   <li><a name="toc-Subtitles-Decoders" href="#Subtitles-Decoders">15. Subtitles Decoders</a>
   <ul class="toc">
     <li><a name="toc-dvdsub" href="#dvdsub">15.1 dvdsub</a>
     <ul class="toc">
-      <li><a name="toc-Options-30" href="#Options-30">15.1.1 Options</a></li>
+      <li><a name="toc-Options-31" href="#Options-31">15.1.1 Options</a></li>
     </ul></li>
     <li><a name="toc-libzvbi_002dteletext" href="#libzvbi_002dteletext">15.2 libzvbi-teletext</a>
     <ul class="toc">
-      <li><a name="toc-Options-18" href="#Options-18">15.2.1 Options</a></li>
+      <li><a name="toc-Options-22" href="#Options-22">15.2.1 Options</a></li>
     </ul>
 </li>
   </ul></li>
@@ -149,75 +153,94 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
     </ul></li>
     <li><a name="toc-libfaac-1" href="#libfaac-1">17.3 libfaac</a>
     <ul class="toc">
-      <li><a name="toc-Options-16" href="#Options-16">17.3.1 Options</a></li>
-      <li><a name="toc-Examples-27" href="#Examples-27">17.3.2 Examples</a></li>
+      <li><a name="toc-Options-15" href="#Options-15">17.3.1 Options</a></li>
+      <li><a name="toc-Examples-65" href="#Examples-65">17.3.2 Examples</a></li>
     </ul></li>
     <li><a name="toc-libfdk_005faac" href="#libfdk_005faac">17.4 libfdk_aac</a>
     <ul class="toc">
-      <li><a name="toc-Options-6" href="#Options-6">17.4.1 Options</a></li>
-      <li><a name="toc-Examples-12" href="#Examples-12">17.4.2 Examples</a></li>
+      <li><a name="toc-Options-14" href="#Options-14">17.4.1 Options</a></li>
+      <li><a name="toc-Examples-32" href="#Examples-32">17.4.2 Examples</a></li>
     </ul></li>
     <li><a name="toc-libmp3lame-1" href="#libmp3lame-1">17.5 libmp3lame</a>
     <ul class="toc">
-      <li><a name="toc-Options-21" href="#Options-21">17.5.1 Options</a></li>
+      <li><a name="toc-Options-45" href="#Options-45">17.5.1 Options</a></li>
     </ul></li>
-    <li><a name="toc-libopencore_002damrnb" href="#libopencore_002damrnb">17.6 libopencore-amrnb</a>
+    <li><a name="toc-libopencore_002damrnb-1" href="#libopencore_002damrnb-1">17.6 libopencore-amrnb</a>
     <ul class="toc">
-      <li><a name="toc-Options-31" href="#Options-31">17.6.1 Options</a></li>
+      <li><a name="toc-Options-20" href="#Options-20">17.6.1 Options</a></li>
     </ul></li>
     <li><a name="toc-libshine-1" href="#libshine-1">17.7 libshine</a>
     <ul class="toc">
-      <li><a name="toc-Options-13" href="#Options-13">17.7.1 Options</a></li>
+      <li><a name="toc-Options-18" href="#Options-18">17.7.1 Options</a></li>
     </ul></li>
     <li><a name="toc-libtwolame" href="#libtwolame">17.8 libtwolame</a>
     <ul class="toc">
-      <li><a name="toc-Options-8" href="#Options-8">17.8.1 Options</a></li>
+      <li><a name="toc-Options-16" href="#Options-16">17.8.1 Options</a></li>
     </ul></li>
     <li><a name="toc-libvo_002daacenc-1" href="#libvo_002daacenc-1">17.9 libvo-aacenc</a>
     <ul class="toc">
-      <li><a name="toc-Options-5" href="#Options-5">17.9.1 Options</a></li>
+      <li><a name="toc-Options-40" href="#Options-40">17.9.1 Options</a></li>
     </ul></li>
     <li><a name="toc-libvo_002damrwbenc" href="#libvo_002damrwbenc">17.10 libvo-amrwbenc</a>
     <ul class="toc">
-      <li><a name="toc-Options-22" href="#Options-22">17.10.1 Options</a></li>
+      <li><a name="toc-Options-43" href="#Options-43">17.10.1 Options</a></li>
     </ul></li>
-    <li><a name="toc-libopus" href="#libopus">17.11 libopus</a>
+    <li><a name="toc-libopus-1" href="#libopus-1">17.11 libopus</a>
     <ul class="toc">
       <li><a name="toc-Option-Mapping" href="#Option-Mapping">17.11.1 Option Mapping</a></li>
     </ul></li>
     <li><a name="toc-libvorbis" href="#libvorbis">17.12 libvorbis</a>
     <ul class="toc">
-      <li><a name="toc-Options-27" href="#Options-27">17.12.1 Options</a></li>
+      <li><a name="toc-Options-25" href="#Options-25">17.12.1 Options</a></li>
+    </ul></li>
+    <li><a name="toc-libwavpack-1" href="#libwavpack-1">17.13 libwavpack</a>
+    <ul class="toc">
+      <li><a name="toc-Options-39" href="#Options-39">17.13.1 Options</a></li>
     </ul></li>
-    <li><a name="toc-libwavpack" href="#libwavpack">17.13 libwavpack</a></li>
+    <li><a name="toc-wavpack" href="#wavpack">17.14 wavpack</a>
+    <ul class="toc">
+      <li><a name="toc-Options-42" href="#Options-42">17.14.1 Options</a>
+      <ul class="toc">
+        <li><a name="toc-Shared-options" href="#Shared-options">17.14.1.1 Shared options</a></li>
+        <li><a name="toc-Private-options-1" href="#Private-options-1">17.14.1.2 Private options</a></li>
+      </ul>
+</li>
+    </ul>
+</li>
   </ul></li>
   <li><a name="toc-Video-Encoders" href="#Video-Encoders">18. Video Encoders</a>
   <ul class="toc">
     <li><a name="toc-libtheora" href="#libtheora">18.1 libtheora</a>
     <ul class="toc">
-      <li><a name="toc-Options-23" href="#Options-23">18.1.1 Options</a></li>
-      <li><a name="toc-Examples-62" href="#Examples-62">18.1.2 Examples</a></li>
+      <li><a name="toc-Options-21" href="#Options-21">18.1.1 Options</a></li>
+      <li><a name="toc-Examples-66" href="#Examples-66">18.1.2 Examples</a></li>
     </ul></li>
     <li><a name="toc-libvpx" href="#libvpx">18.2 libvpx</a>
     <ul class="toc">
-      <li><a name="toc-Options-32" href="#Options-32">18.2.1 Options</a></li>
+      <li><a name="toc-Options-41" href="#Options-41">18.2.1 Options</a></li>
+    </ul></li>
+    <li><a name="toc-libwebp" href="#libwebp">18.3 libwebp</a>
+    <ul class="toc">
+      <li><a name="toc-Pixel-Format" href="#Pixel-Format">18.3.1 Pixel Format</a></li>
+      <li><a name="toc-Options-24" href="#Options-24">18.3.2 Options</a></li>
     </ul></li>
-    <li><a name="toc-libx264" href="#libx264">18.3 libx264</a>
+    <li><a name="toc-libx264_002c-libx264rgb" href="#libx264_002c-libx264rgb">18.4 libx264, libx264rgb</a>
     <ul class="toc">
-      <li><a name="toc-Options-19" href="#Options-19">18.3.1 Options</a></li>
+      <li><a name="toc-Supported-Pixel-Formats" href="#Supported-Pixel-Formats">18.4.1 Supported Pixel Formats</a></li>
+      <li><a name="toc-Options-17" href="#Options-17">18.4.2 Options</a></li>
     </ul></li>
-    <li><a name="toc-libxvid" href="#libxvid">18.4 libxvid</a>
+    <li><a name="toc-libxvid" href="#libxvid">18.5 libxvid</a>
     <ul class="toc">
-      <li><a name="toc-Options-28" href="#Options-28">18.4.1 Options</a></li>
+      <li><a name="toc-Options-8" href="#Options-8">18.5.1 Options</a></li>
     </ul></li>
-    <li><a name="toc-png" href="#png">18.5 png</a>
+    <li><a name="toc-png" href="#png">18.6 png</a>
     <ul class="toc">
-      <li><a name="toc-Private-options" href="#Private-options">18.5.1 Private options</a></li>
+      <li><a name="toc-Private-options" href="#Private-options">18.6.1 Private options</a></li>
     </ul></li>
-    <li><a name="toc-ProRes" href="#ProRes">18.6 ProRes</a>
+    <li><a name="toc-ProRes" href="#ProRes">18.7 ProRes</a>
     <ul class="toc">
-      <li><a name="toc-Private-Options-for-prores_002dks" href="#Private-Options-for-prores_002dks">18.6.1 Private Options for prores-ks</a></li>
-      <li><a name="toc-Speed-considerations" href="#Speed-considerations">18.6.2 Speed considerations</a></li>
+      <li><a name="toc-Private-Options-for-prores_002dks" href="#Private-Options-for-prores_002dks">18.7.1 Private Options for prores-ks</a></li>
+      <li><a name="toc-Speed-considerations" href="#Speed-considerations">18.7.2 Speed considerations</a></li>
     </ul>
 </li>
   </ul></li>
@@ -232,7 +255,7 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
     <li><a name="toc-mjpega_005fdump_005fheader" href="#mjpega_005fdump_005fheader">19.7 mjpega_dump_header</a></li>
     <li><a name="toc-movsub" href="#movsub">19.8 movsub</a></li>
     <li><a name="toc-mp3_005fheader_005fdecompress" href="#mp3_005fheader_005fdecompress">19.9 mp3_header_decompress</a></li>
-    <li><a name="toc-noise-1" href="#noise-1">19.10 noise</a></li>
+    <li><a name="toc-noise" href="#noise">19.10 noise</a></li>
     <li><a name="toc-remove_005fextra" href="#remove_005fextra">19.11 remove_extra</a></li>
   </ul></li>
   <li><a name="toc-Format-Options" href="#Format-Options">20. Format Options</a>
@@ -243,52 +266,88 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
   <ul class="toc">
     <li><a name="toc-applehttp" href="#applehttp">21.1 applehttp</a></li>
     <li><a name="toc-asf" href="#asf">21.2 asf</a></li>
-    <li><a name="toc-concat-3" href="#concat-3">21.3 concat</a>
+    <li><a name="toc-concat-2" href="#concat-2">21.3 concat</a>
     <ul class="toc">
-      <li><a name="toc-Syntax-1" href="#Syntax-1">21.3.1 Syntax</a></li>
-      <li><a name="toc-Options-12" href="#Options-12">21.3.2 Options</a></li>
+      <li><a name="toc-Syntax-2" href="#Syntax-2">21.3.1 Syntax</a></li>
+      <li><a name="toc-Options-35" href="#Options-35">21.3.2 Options</a></li>
     </ul></li>
     <li><a name="toc-flv" href="#flv">21.4 flv</a></li>
     <li><a name="toc-libgme" href="#libgme">21.5 libgme</a></li>
     <li><a name="toc-libquvi" href="#libquvi">21.6 libquvi</a></li>
     <li><a name="toc-image2-2" href="#image2-2">21.7 image2</a>
     <ul class="toc">
-      <li><a name="toc-Examples-69" href="#Examples-69">21.7.1 Examples</a></li>
+      <li><a name="toc-Examples-72" href="#Examples-72">21.7.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-mpegts-1" href="#mpegts-1">21.8 mpegts</a></li>
-    <li><a name="toc-rawvideo" href="#rawvideo">21.9 rawvideo</a></li>
+    <li><a name="toc-rawvideo-1" href="#rawvideo-1">21.9 rawvideo</a></li>
     <li><a name="toc-sbg" href="#sbg">21.10 sbg</a></li>
     <li><a name="toc-tedcaptions" href="#tedcaptions">21.11 tedcaptions</a></li>
   </ul></li>
   <li><a name="toc-Muxers" href="#Muxers">22. Muxers</a>
   <ul class="toc">
-    <li><a name="toc-aiff-1" href="#aiff-1">22.1 aiff</a></li>
-    <li><a name="toc-crc-1" href="#crc-1">22.2 crc</a></li>
-    <li><a name="toc-framecrc-1" href="#framecrc-1">22.3 framecrc</a></li>
-    <li><a name="toc-framemd5-1" href="#framemd5-1">22.4 framemd5</a></li>
+    <li><a name="toc-aiff-1" href="#aiff-1">22.1 aiff</a>
+    <ul class="toc">
+      <li><a name="toc-Options-4" href="#Options-4">22.1.1 Options</a></li>
+    </ul></li>
+    <li><a name="toc-crc-1" href="#crc-1">22.2 crc</a>
+    <ul class="toc">
+      <li><a name="toc-Examples-12" href="#Examples-12">22.2.1 Examples</a></li>
+    </ul></li>
+    <li><a name="toc-framecrc-1" href="#framecrc-1">22.3 framecrc</a>
+    <ul class="toc">
+      <li><a name="toc-Examples-14" href="#Examples-14">22.3.1 Examples</a></li>
+    </ul></li>
+    <li><a name="toc-framemd5-1" href="#framemd5-1">22.4 framemd5</a>
+    <ul class="toc">
+      <li><a name="toc-Examples-50" href="#Examples-50">22.4.1 Examples</a></li>
+    </ul></li>
     <li><a name="toc-gif-1" href="#gif-1">22.5 gif</a></li>
-    <li><a name="toc-hls-1" href="#hls-1">22.6 hls</a></li>
+    <li><a name="toc-hls-1" href="#hls-1">22.6 hls</a>
+    <ul class="toc">
+      <li><a name="toc-Options-12" href="#Options-12">22.6.1 Options</a></li>
+    </ul></li>
     <li><a name="toc-ico-1" href="#ico-1">22.7 ico</a></li>
-    <li><a name="toc-image2-1" href="#image2-1">22.8 image2</a></li>
-    <li><a name="toc-matroska" href="#matroska">22.9 matroska</a></li>
+    <li><a name="toc-image2-1" href="#image2-1">22.8 image2</a>
+    <ul class="toc">
+      <li><a name="toc-Examples-92" href="#Examples-92">22.8.1 Examples</a></li>
+      <li><a name="toc-Options-19" href="#Options-19">22.8.2 Options</a></li>
+    </ul></li>
+    <li><a name="toc-matroska" href="#matroska">22.9 matroska</a>
+    <ul class="toc">
+      <li><a name="toc-Metadata-1" href="#Metadata-1">22.9.1 Metadata</a></li>
+      <li><a name="toc-Options-38" href="#Options-38">22.9.2 Options</a></li>
+    </ul></li>
     <li><a name="toc-md5-1" href="#md5-1">22.10 md5</a></li>
-    <li><a name="toc-mov_002fmp4_002fismv" href="#mov_002fmp4_002fismv">22.11 mov/mp4/ismv</a></li>
+    <li><a name="toc-mov_002c-mp4_002c-ismv" href="#mov_002c-mp4_002c-ismv">22.11 mov, mp4, ismv</a>
+    <ul class="toc">
+      <li><a name="toc-Options-44" href="#Options-44">22.11.1 Options</a></li>
+      <li><a name="toc-Example-1" href="#Example-1">22.11.2 Example</a></li>
+    </ul></li>
     <li><a name="toc-mp3" href="#mp3">22.12 mp3</a></li>
-    <li><a name="toc-mpegts" href="#mpegts">22.13 mpegts</a></li>
+    <li><a name="toc-mpegts" href="#mpegts">22.13 mpegts</a>
+    <ul class="toc">
+      <li><a name="toc-Options-33" href="#Options-33">22.13.1 Options</a></li>
+      <li><a name="toc-Example" href="#Example">22.13.2 Example</a></li>
+    </ul></li>
     <li><a name="toc-null-1" href="#null-1">22.14 null</a></li>
     <li><a name="toc-ogg" href="#ogg">22.15 ogg</a></li>
     <li><a name="toc-segment_002c-stream_005fsegment_002c-ssegment" href="#segment_002c-stream_005fsegment_002c-ssegment">22.16 segment, stream_segment, ssegment</a>
     <ul class="toc">
-      <li><a name="toc-Examples-41" href="#Examples-41">22.16.1 Examples</a></li>
+      <li><a name="toc-Options-28" href="#Options-28">22.16.1 Options</a></li>
+      <li><a name="toc-Examples-34" href="#Examples-34">22.16.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-tee" href="#tee">22.17 tee</a></li>
+    <li><a name="toc-tee" href="#tee">22.17 tee</a>
+    <ul class="toc">
+      <li><a name="toc-Examples-7" href="#Examples-7">22.17.1 Examples</a></li>
+    </ul>
+</li>
   </ul></li>
   <li><a name="toc-Metadata" href="#Metadata">23. Metadata</a></li>
   <li><a name="toc-Protocols" href="#Protocols">24. Protocols</a>
   <ul class="toc">
     <li><a name="toc-bluray" href="#bluray">24.1 bluray</a></li>
     <li><a name="toc-cache" href="#cache">24.2 cache</a></li>
-    <li><a name="toc-concat-2" href="#concat-2">24.3 concat</a></li>
+    <li><a name="toc-concat-3" href="#concat-3">24.3 concat</a></li>
     <li><a name="toc-crypto" href="#crypto">24.4 crypto</a></li>
     <li><a name="toc-data" href="#data">24.5 data</a></li>
     <li><a name="toc-file" href="#file">24.6 file</a></li>
@@ -312,7 +371,10 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
     <li><a name="toc-libssh" href="#libssh">24.21 libssh</a></li>
     <li><a name="toc-librtmp-rtmp_002c-rtmpe_002c-rtmps_002c-rtmpt_002c-rtmpte" href="#librtmp-rtmp_002c-rtmpe_002c-rtmps_002c-rtmpt_002c-rtmpte">24.22 librtmp rtmp, rtmpe, rtmps, rtmpt, rtmpte</a></li>
     <li><a name="toc-rtp" href="#rtp">24.23 rtp</a></li>
-    <li><a name="toc-rtsp" href="#rtsp">24.24 rtsp</a></li>
+    <li><a name="toc-rtsp" href="#rtsp">24.24 rtsp</a>
+    <ul class="toc">
+      <li><a name="toc-Examples-75" href="#Examples-75">24.24.1 Examples</a></li>
+    </ul></li>
     <li><a name="toc-sap" href="#sap">24.25 sap</a>
     <ul class="toc">
       <li><a name="toc-Muxer" href="#Muxer">24.25.1 Muxer</a></li>
@@ -322,7 +384,10 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
     <li><a name="toc-srtp" href="#srtp">24.27 srtp</a></li>
     <li><a name="toc-tcp" href="#tcp">24.28 tcp</a></li>
     <li><a name="toc-tls" href="#tls">24.29 tls</a></li>
-    <li><a name="toc-udp" href="#udp">24.30 udp</a></li>
+    <li><a name="toc-udp" href="#udp">24.30 udp</a>
+    <ul class="toc">
+      <li><a name="toc-Examples-93" href="#Examples-93">24.30.1 Examples</a></li>
+    </ul></li>
     <li><a name="toc-unix" href="#unix">24.31 unix</a></li>
   </ul></li>
   <li><a name="toc-Device-Options" href="#Device-Options">25. Device Options</a></li>
@@ -332,43 +397,43 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
     <li><a name="toc-bktr" href="#bktr">26.2 bktr</a></li>
     <li><a name="toc-dshow" href="#dshow">26.3 dshow</a>
     <ul class="toc">
-      <li><a name="toc-Options-4" href="#Options-4">26.3.1 Options</a></li>
-      <li><a name="toc-Examples-49" href="#Examples-49">26.3.2 Examples</a></li>
+      <li><a name="toc-Options-23" href="#Options-23">26.3.1 Options</a></li>
+      <li><a name="toc-Examples-37" href="#Examples-37">26.3.2 Examples</a></li>
     </ul></li>
     <li><a name="toc-dv1394" href="#dv1394">26.4 dv1394</a></li>
     <li><a name="toc-fbdev" href="#fbdev">26.5 fbdev</a></li>
     <li><a name="toc-iec61883" href="#iec61883">26.6 iec61883</a>
     <ul class="toc">
-      <li><a name="toc-Options-11" href="#Options-11">26.6.1 Options</a></li>
-      <li><a name="toc-Examples-44" href="#Examples-44">26.6.2 Examples</a></li>
+      <li><a name="toc-Options-37" href="#Options-37">26.6.1 Options</a></li>
+      <li><a name="toc-Examples-35" href="#Examples-35">26.6.2 Examples</a></li>
     </ul></li>
     <li><a name="toc-jack" href="#jack">26.7 jack</a></li>
     <li><a name="toc-lavfi" href="#lavfi">26.8 lavfi</a>
     <ul class="toc">
-      <li><a name="toc-Options-14" href="#Options-14">26.8.1 Options</a></li>
-      <li><a name="toc-Examples-26" href="#Examples-26">26.8.2 Examples</a></li>
+      <li><a name="toc-Options-11" href="#Options-11">26.8.1 Options</a></li>
+      <li><a name="toc-Examples-102" href="#Examples-102">26.8.2 Examples</a></li>
     </ul></li>
     <li><a name="toc-libdc1394" href="#libdc1394">26.9 libdc1394</a></li>
     <li><a name="toc-openal" href="#openal">26.10 openal</a>
     <ul class="toc">
-      <li><a name="toc-Options-15" href="#Options-15">26.10.1 Options</a></li>
-      <li><a name="toc-Examples-85" href="#Examples-85">26.10.2 Examples</a></li>
+      <li><a name="toc-Options-36" href="#Options-36">26.10.1 Options</a></li>
+      <li><a name="toc-Examples-8" href="#Examples-8">26.10.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-oss-1" href="#oss-1">26.11 oss</a></li>
-    <li><a name="toc-pulse" href="#pulse">26.12 pulse</a>
+    <li><a name="toc-oss" href="#oss">26.11 oss</a></li>
+    <li><a name="toc-pulse-1" href="#pulse-1">26.12 pulse</a>
     <ul class="toc">
-      <li><a name="toc-Options-1" href="#Options-1">26.12.1 Options</a></li>
-      <li><a name="toc-Examples-52" href="#Examples-52">26.12.2 Examples</a></li>
+      <li><a name="toc-Options-29" href="#Options-29">26.12.1 Options</a></li>
+      <li><a name="toc-Examples-6" href="#Examples-6">26.12.2 Examples</a></li>
     </ul></li>
     <li><a name="toc-sndio-1" href="#sndio-1">26.13 sndio</a></li>
     <li><a name="toc-video4linux2_002c-v4l2" href="#video4linux2_002c-v4l2">26.14 video4linux2, v4l2</a>
     <ul class="toc">
-      <li><a name="toc-Options-24" href="#Options-24">26.14.1 Options</a></li>
+      <li><a name="toc-Options" href="#Options">26.14.1 Options</a></li>
     </ul></li>
     <li><a name="toc-vfwcap" href="#vfwcap">26.15 vfwcap</a></li>
     <li><a name="toc-x11grab" href="#x11grab">26.16 x11grab</a>
     <ul class="toc">
-      <li><a name="toc-Options-20" href="#Options-20">26.16.1 Options</a></li>
+      <li><a name="toc-Options-13" href="#Options-13">26.16.1 Options</a></li>
     </ul>
 </li>
   </ul></li>
@@ -376,35 +441,45 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
   <ul class="toc">
     <li><a name="toc-alsa-1" href="#alsa-1">27.1 alsa</a>
     <ul class="toc">
-      <li><a name="toc-Examples-61" href="#Examples-61">27.1.1 Examples</a></li>
+      <li><a name="toc-Examples-77" href="#Examples-77">27.1.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-caca" href="#caca">27.2 caca</a>
     <ul class="toc">
-      <li><a name="toc-Options-17" href="#Options-17">27.2.1 Options</a></li>
-      <li><a name="toc-Examples-43" href="#Examples-43">27.2.2 Examples</a></li>
+      <li><a name="toc-Options-34" href="#Options-34">27.2.1 Options</a></li>
+      <li><a name="toc-Examples-74" href="#Examples-74">27.2.2 Examples</a></li>
+    </ul></li>
+    <li><a name="toc-decklink" href="#decklink">27.3 decklink</a>
+    <ul class="toc">
+      <li><a name="toc-Options-30" href="#Options-30">27.3.1 Options</a></li>
+      <li><a name="toc-Examples-61" href="#Examples-61">27.3.2 Examples</a></li>
+    </ul></li>
+    <li><a name="toc-fbdev-1" href="#fbdev-1">27.4 fbdev</a>
+    <ul class="toc">
+      <li><a name="toc-Options-10" href="#Options-10">27.4.1 Options</a></li>
+      <li><a name="toc-Examples-49" href="#Examples-49">27.4.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-fbdev-1" href="#fbdev-1">27.3 fbdev</a>
+    <li><a name="toc-opengl" href="#opengl">27.5 opengl</a>
     <ul class="toc">
-      <li><a name="toc-Options-29" href="#Options-29">27.3.1 Options</a></li>
-      <li><a name="toc-Examples-5" href="#Examples-5">27.3.2 Examples</a></li>
+      <li><a name="toc-Options-27" href="#Options-27">27.5.1 Options</a></li>
+      <li><a name="toc-Examples-11" href="#Examples-11">27.5.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-oss" href="#oss">27.4 oss</a></li>
-    <li><a name="toc-pulse-1" href="#pulse-1">27.5 pulse</a>
+    <li><a name="toc-oss-1" href="#oss-1">27.6 oss</a></li>
+    <li><a name="toc-pulse" href="#pulse">27.7 pulse</a>
     <ul class="toc">
-      <li><a name="toc-Options-3" href="#Options-3">27.5.1 Options</a></li>
-      <li><a name="toc-Examples-74" href="#Examples-74">27.5.2 Examples</a></li>
+      <li><a name="toc-Options-26" href="#Options-26">27.7.1 Options</a></li>
+      <li><a name="toc-Examples-40" href="#Examples-40">27.7.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-sdl" href="#sdl">27.6 sdl</a>
+    <li><a name="toc-sdl" href="#sdl">27.8 sdl</a>
     <ul class="toc">
-      <li><a name="toc-Options-25" href="#Options-25">27.6.1 Options</a></li>
-      <li><a name="toc-Interactive-commands" href="#Interactive-commands">27.6.2 Interactive commands</a></li>
-      <li><a name="toc-Examples-84" href="#Examples-84">27.6.3 Examples</a></li>
+      <li><a name="toc-Options-1" href="#Options-1">27.8.1 Options</a></li>
+      <li><a name="toc-Interactive-commands" href="#Interactive-commands">27.8.2 Interactive commands</a></li>
+      <li><a name="toc-Examples-62" href="#Examples-62">27.8.3 Examples</a></li>
     </ul></li>
-    <li><a name="toc-sndio" href="#sndio">27.7 sndio</a></li>
-    <li><a name="toc-xv" href="#xv">27.8 xv</a>
+    <li><a name="toc-sndio" href="#sndio">27.9 sndio</a></li>
+    <li><a name="toc-xv" href="#xv">27.10 xv</a>
     <ul class="toc">
-      <li><a name="toc-Options-2" href="#Options-2">27.8.1 Options</a></li>
-      <li><a name="toc-Examples-20" href="#Examples-20">27.8.2 Examples</a></li>
+      <li><a name="toc-Options-3" href="#Options-3">27.10.1 Options</a></li>
+      <li><a name="toc-Examples-81" href="#Examples-81">27.10.2 Examples</a></li>
     </ul>
 </li>
   </ul></li>
@@ -422,29 +497,29 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
   <ul class="toc">
     <li><a name="toc-aconvert" href="#aconvert">34.1 aconvert</a>
     <ul class="toc">
-      <li><a name="toc-Examples-38" href="#Examples-38">34.1.1 Examples</a></li>
+      <li><a name="toc-Examples-45" href="#Examples-45">34.1.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-adelay" href="#adelay">34.2 adelay</a>
     <ul class="toc">
-      <li><a name="toc-Examples-22" href="#Examples-22">34.2.1 Examples</a></li>
+      <li><a name="toc-Examples-46" href="#Examples-46">34.2.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-aecho" href="#aecho">34.3 aecho</a>
     <ul class="toc">
-      <li><a name="toc-Examples-76" href="#Examples-76">34.3.1 Examples</a></li>
+      <li><a name="toc-Examples-18" href="#Examples-18">34.3.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-aeval" href="#aeval">34.4 aeval</a>
     <ul class="toc">
-      <li><a name="toc-Examples-90" href="#Examples-90">34.4.1 Examples</a></li>
+      <li><a name="toc-Examples-69" href="#Examples-69">34.4.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-afade" href="#afade">34.5 afade</a>
     <ul class="toc">
-      <li><a name="toc-Examples-53" href="#Examples-53">34.5.1 Examples</a></li>
+      <li><a name="toc-Examples-90" href="#Examples-90">34.5.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-aformat-1" href="#aformat-1">34.6 aformat</a></li>
     <li><a name="toc-allpass" href="#allpass">34.7 allpass</a></li>
     <li><a name="toc-amerge" href="#amerge">34.8 amerge</a>
     <ul class="toc">
-      <li><a name="toc-Examples-56" href="#Examples-56">34.8.1 Examples</a></li>
+      <li><a name="toc-Examples-22" href="#Examples-22">34.8.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-amix" href="#amix">34.9 amix</a></li>
     <li><a name="toc-anull" href="#anull">34.10 anull</a></li>
@@ -452,7 +527,7 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
     <li><a name="toc-aphaser" href="#aphaser">34.12 aphaser</a></li>
     <li><a name="toc-aresample-1" href="#aresample-1">34.13 aresample</a>
     <ul class="toc">
-      <li><a name="toc-Examples-18" href="#Examples-18">34.13.1 Examples</a></li>
+      <li><a name="toc-Examples-53" href="#Examples-53">34.13.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-asetnsamples" href="#asetnsamples">34.14 asetnsamples</a></li>
     <li><a name="toc-asetrate" href="#asetrate">34.15 asetrate</a></li>
@@ -460,12 +535,12 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
     <li><a name="toc-astats" href="#astats">34.17 astats</a></li>
     <li><a name="toc-astreamsync" href="#astreamsync">34.18 astreamsync</a>
     <ul class="toc">
-      <li><a name="toc-Examples-31" href="#Examples-31">34.18.1 Examples</a></li>
+      <li><a name="toc-Examples-30" href="#Examples-30">34.18.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-asyncts" href="#asyncts">34.19 asyncts</a></li>
     <li><a name="toc-atempo" href="#atempo">34.20 atempo</a>
     <ul class="toc">
-      <li><a name="toc-Examples-39" href="#Examples-39">34.20.1 Examples</a></li>
+      <li><a name="toc-Examples-100" href="#Examples-100">34.20.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-atrim" href="#atrim">34.21 atrim</a></li>
     <li><a name="toc-bandpass" href="#bandpass">34.22 bandpass</a></li>
@@ -476,16 +551,19 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
     <li><a name="toc-channelsplit" href="#channelsplit">34.27 channelsplit</a></li>
     <li><a name="toc-compand" href="#compand">34.28 compand</a>
     <ul class="toc">
-      <li><a name="toc-Examples-79" href="#Examples-79">34.28.1 Examples</a></li>
+      <li><a name="toc-Examples-99" href="#Examples-99">34.28.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-earwax" href="#earwax">34.29 earwax</a></li>
-    <li><a name="toc-equalizer" href="#equalizer">34.30 equalizer</a></li>
+    <li><a name="toc-equalizer" href="#equalizer">34.30 equalizer</a>
+    <ul class="toc">
+      <li><a name="toc-Examples-20" href="#Examples-20">34.30.1 Examples</a></li>
+    </ul></li>
     <li><a name="toc-highpass" href="#highpass">34.31 highpass</a></li>
     <li><a name="toc-join" href="#join">34.32 join</a></li>
     <li><a name="toc-ladspa" href="#ladspa">34.33 ladspa</a>
     <ul class="toc">
-      <li><a name="toc-Examples-75" href="#Examples-75">34.33.1 Examples</a></li>
-      <li><a name="toc-Commands-1" href="#Commands-1">34.33.2 Commands</a></li>
+      <li><a name="toc-Examples-19" href="#Examples-19">34.33.1 Examples</a></li>
+      <li><a name="toc-Commands-5" href="#Commands-5">34.33.2 Commands</a></li>
     </ul></li>
     <li><a name="toc-lowpass" href="#lowpass">34.34 lowpass</a></li>
     <li><a name="toc-pan" href="#pan">34.35 pan</a>
@@ -497,16 +575,17 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
     <li><a name="toc-resample" href="#resample">34.37 resample</a></li>
     <li><a name="toc-silencedetect" href="#silencedetect">34.38 silencedetect</a>
     <ul class="toc">
-      <li><a name="toc-Examples-24" href="#Examples-24">34.38.1 Examples</a></li>
+      <li><a name="toc-Examples-97" href="#Examples-97">34.38.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-treble" href="#treble">34.39 treble</a></li>
     <li><a name="toc-volume" href="#volume">34.40 volume</a>
     <ul class="toc">
-      <li><a name="toc-Examples-70" href="#Examples-70">34.40.1 Examples</a></li>
+      <li><a name="toc-Commands-1" href="#Commands-1">34.40.1 Commands</a></li>
+      <li><a name="toc-Examples-38" href="#Examples-38">34.40.2 Examples</a></li>
     </ul></li>
     <li><a name="toc-volumedetect" href="#volumedetect">34.41 volumedetect</a>
     <ul class="toc">
-      <li><a name="toc-Examples-51" href="#Examples-51">34.41.1 Examples</a></li>
+      <li><a name="toc-Examples-71" href="#Examples-71">34.41.1 Examples</a></li>
     </ul>
 </li>
   </ul></li>
@@ -514,23 +593,23 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
   <ul class="toc">
     <li><a name="toc-abuffer" href="#abuffer">35.1 abuffer</a>
     <ul class="toc">
-      <li><a name="toc-Examples-46" href="#Examples-46">35.1.1 Examples</a></li>
+      <li><a name="toc-Examples-16" href="#Examples-16">35.1.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-aevalsrc" href="#aevalsrc">35.2 aevalsrc</a>
     <ul class="toc">
-      <li><a name="toc-Examples-32" href="#Examples-32">35.2.1 Examples</a></li>
+      <li><a name="toc-Examples-2" href="#Examples-2">35.2.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-anullsrc" href="#anullsrc">35.3 anullsrc</a>
     <ul class="toc">
-      <li><a name="toc-Examples-91" href="#Examples-91">35.3.1 Examples</a></li>
+      <li><a name="toc-Examples-1" href="#Examples-1">35.3.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-flite" href="#flite">35.4 flite</a>
     <ul class="toc">
-      <li><a name="toc-Examples-13" href="#Examples-13">35.4.1 Examples</a></li>
+      <li><a name="toc-Examples-44" href="#Examples-44">35.4.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-sine" href="#sine">35.5 sine</a>
     <ul class="toc">
-      <li><a name="toc-Examples-50" href="#Examples-50">35.5.1 Examples</a></li>
+      <li><a name="toc-Examples-78" href="#Examples-78">35.5.1 Examples</a></li>
     </ul>
 </li>
   </ul></li>
@@ -549,254 +628,257 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
     <li><a name="toc-blackframe" href="#blackframe">37.6 blackframe</a></li>
     <li><a name="toc-blend" href="#blend">37.7 blend</a>
     <ul class="toc">
-      <li><a name="toc-Examples-25" href="#Examples-25">37.7.1 Examples</a></li>
+      <li><a name="toc-Examples-24" href="#Examples-24">37.7.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-boxblur" href="#boxblur">37.8 boxblur</a>
     <ul class="toc">
-      <li><a name="toc-Examples-83" href="#Examples-83">37.8.1 Examples</a></li>
+      <li><a name="toc-Examples-57" href="#Examples-57">37.8.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-colorbalance" href="#colorbalance">37.9 colorbalance</a>
     <ul class="toc">
-      <li><a name="toc-Examples-57" href="#Examples-57">37.9.1 Examples</a></li>
+      <li><a name="toc-Examples-84" href="#Examples-84">37.9.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-colorchannelmixer" href="#colorchannelmixer">37.10 colorchannelmixer</a>
     <ul class="toc">
-      <li><a name="toc-Examples-34" href="#Examples-34">37.10.1 Examples</a></li>
+      <li><a name="toc-Examples-47" href="#Examples-47">37.10.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-colormatrix" href="#colormatrix">37.11 colormatrix</a></li>
     <li><a name="toc-copy" href="#copy">37.12 copy</a></li>
     <li><a name="toc-crop" href="#crop">37.13 crop</a>
     <ul class="toc">
-      <li><a name="toc-Examples-8" href="#Examples-8">37.13.1 Examples</a></li>
+      <li><a name="toc-Examples-51" href="#Examples-51">37.13.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-cropdetect" href="#cropdetect">37.14 cropdetect</a></li>
     <li><a name="toc-curves-1" href="#curves-1">37.15 curves</a>
     <ul class="toc">
-      <li><a name="toc-Examples-16" href="#Examples-16">37.15.1 Examples</a></li>
+      <li><a name="toc-Examples-23" href="#Examples-23">37.15.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-dctdnoiz" href="#dctdnoiz">37.16 dctdnoiz</a>
     <ul class="toc">
-      <li><a name="toc-Examples-3" href="#Examples-3">37.16.1 Examples</a></li>
+      <li><a name="toc-Examples-80" href="#Examples-80">37.16.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-decimate-1" href="#decimate-1">37.17 decimate</a></li>
-    <li><a name="toc-delogo" href="#delogo">37.18 delogo</a>
+    <li><a name="toc-dejudder" href="#dejudder">37.18 dejudder</a></li>
+    <li><a name="toc-delogo" href="#delogo">37.19 delogo</a>
     <ul class="toc">
-      <li><a name="toc-Examples-67" href="#Examples-67">37.18.1 Examples</a></li>
+      <li><a name="toc-Examples-13" href="#Examples-13">37.19.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-deshake" href="#deshake">37.19 deshake</a></li>
-    <li><a name="toc-drawbox" href="#drawbox">37.20 drawbox</a>
+    <li><a name="toc-deshake" href="#deshake">37.20 deshake</a></li>
+    <li><a name="toc-drawbox" href="#drawbox">37.21 drawbox</a>
     <ul class="toc">
-      <li><a name="toc-Examples-42" href="#Examples-42">37.20.1 Examples</a></li>
+      <li><a name="toc-Examples-88" href="#Examples-88">37.21.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-drawgrid" href="#drawgrid">37.21 drawgrid</a>
+    <li><a name="toc-drawgrid" href="#drawgrid">37.22 drawgrid</a>
     <ul class="toc">
-      <li><a name="toc-Examples-54" href="#Examples-54">37.21.1 Examples</a></li>
+      <li><a name="toc-Examples-43" href="#Examples-43">37.22.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-drawtext-1" href="#drawtext-1">37.22 drawtext</a>
+    <li><a name="toc-drawtext-1" href="#drawtext-1">37.23 drawtext</a>
     <ul class="toc">
-      <li><a name="toc-Syntax" href="#Syntax">37.22.1 Syntax</a></li>
-      <li><a name="toc-Text-expansion" href="#Text-expansion">37.22.2 Text expansion</a></li>
-      <li><a name="toc-Examples-30" href="#Examples-30">37.22.3 Examples</a></li>
+      <li><a name="toc-Syntax-1" href="#Syntax-1">37.23.1 Syntax</a></li>
+      <li><a name="toc-Text-expansion" href="#Text-expansion">37.23.2 Text expansion</a></li>
+      <li><a name="toc-Examples-28" href="#Examples-28">37.23.3 Examples</a></li>
     </ul></li>
-    <li><a name="toc-edgedetect" href="#edgedetect">37.23 edgedetect</a></li>
-    <li><a name="toc-extractplanes" href="#extractplanes">37.24 extractplanes</a>
+    <li><a name="toc-edgedetect" href="#edgedetect">37.24 edgedetect</a></li>
+    <li><a name="toc-extractplanes" href="#extractplanes">37.25 extractplanes</a>
     <ul class="toc">
-      <li><a name="toc-Examples-11" href="#Examples-11">37.24.1 Examples</a></li>
+      <li><a name="toc-Examples-21" href="#Examples-21">37.25.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-elbg" href="#elbg">37.25 elbg</a></li>
-    <li><a name="toc-fade" href="#fade">37.26 fade</a>
+    <li><a name="toc-elbg" href="#elbg">37.26 elbg</a></li>
+    <li><a name="toc-fade" href="#fade">37.27 fade</a>
     <ul class="toc">
-      <li><a name="toc-Examples-14" href="#Examples-14">37.26.1 Examples</a></li>
+      <li><a name="toc-Examples-9" href="#Examples-9">37.27.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-field" href="#field">37.27 field</a></li>
-    <li><a name="toc-fieldmatch" href="#fieldmatch">37.28 fieldmatch</a>
+    <li><a name="toc-field" href="#field">37.28 field</a></li>
+    <li><a name="toc-fieldmatch" href="#fieldmatch">37.29 fieldmatch</a>
     <ul class="toc">
-      <li><a name="toc-p_002fc_002fn_002fu_002fb-meaning-1" href="#p_002fc_002fn_002fu_002fb-meaning-1">37.28.1 p/c/n/u/b meaning</a>
+      <li><a name="toc-p_002fc_002fn_002fu_002fb-meaning-1" href="#p_002fc_002fn_002fu_002fb-meaning-1">37.29.1 p/c/n/u/b meaning</a>
       <ul class="toc">
-        <li><a name="toc-p_002fc_002fn" href="#p_002fc_002fn">37.28.1.1 p/c/n</a></li>
-        <li><a name="toc-u_002fb" href="#u_002fb">37.28.1.2 u/b</a></li>
+        <li><a name="toc-p_002fc_002fn" href="#p_002fc_002fn">37.29.1.1 p/c/n</a></li>
+        <li><a name="toc-u_002fb" href="#u_002fb">37.29.1.2 u/b</a></li>
       </ul></li>
-      <li><a name="toc-Examples-35" href="#Examples-35">37.28.2 Examples</a></li>
+      <li><a name="toc-Examples-64" href="#Examples-64">37.29.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-fieldorder" href="#fieldorder">37.29 fieldorder</a></li>
-    <li><a name="toc-fifo" href="#fifo">37.30 fifo</a></li>
-    <li><a name="toc-format-1" href="#format-1">37.31 format</a>
+    <li><a name="toc-fieldorder" href="#fieldorder">37.30 fieldorder</a></li>
+    <li><a name="toc-fifo" href="#fifo">37.31 fifo</a></li>
+    <li><a name="toc-format-1" href="#format-1">37.32 format</a>
     <ul class="toc">
-      <li><a name="toc-Examples-81" href="#Examples-81">37.31.1 Examples</a></li>
+      <li><a name="toc-Examples-17" href="#Examples-17">37.32.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-fps-1" href="#fps-1">37.32 fps</a>
+    <li><a name="toc-fps-1" href="#fps-1">37.33 fps</a>
     <ul class="toc">
-      <li><a name="toc-Examples-6" href="#Examples-6">37.32.1 Examples</a></li>
+      <li><a name="toc-Examples-5" href="#Examples-5">37.33.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-framestep" href="#framestep">37.33 framestep</a></li>
-    <li><a name="toc-frei0r-1" href="#frei0r-1">37.34 frei0r</a>
+    <li><a name="toc-framepack" href="#framepack">37.34 framepack</a></li>
+    <li><a name="toc-framestep" href="#framestep">37.35 framestep</a></li>
+    <li><a name="toc-frei0r-1" href="#frei0r-1">37.36 frei0r</a>
     <ul class="toc">
-      <li><a name="toc-Examples-73" href="#Examples-73">37.34.1 Examples</a></li>
+      <li><a name="toc-Examples-58" href="#Examples-58">37.36.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-geq" href="#geq">37.35 geq</a>
+    <li><a name="toc-geq" href="#geq">37.37 geq</a>
     <ul class="toc">
-      <li><a name="toc-Examples-15" href="#Examples-15">37.35.1 Examples</a></li>
+      <li><a name="toc-Examples-70" href="#Examples-70">37.37.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-gradfun" href="#gradfun">37.36 gradfun</a>
+    <li><a name="toc-gradfun" href="#gradfun">37.38 gradfun</a>
     <ul class="toc">
-      <li><a name="toc-Examples-80" href="#Examples-80">37.36.1 Examples</a></li>
+      <li><a name="toc-Examples-101" href="#Examples-101">37.38.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-haldclut-1" href="#haldclut-1">37.37 haldclut</a>
+    <li><a name="toc-haldclut-1" href="#haldclut-1">37.39 haldclut</a>
     <ul class="toc">
-      <li><a name="toc-Workflow-examples" href="#Workflow-examples">37.37.1 Workflow examples</a>
+      <li><a name="toc-Workflow-examples" href="#Workflow-examples">37.39.1 Workflow examples</a>
       <ul class="toc">
-        <li><a name="toc-Hald-CLUT-video-stream" href="#Hald-CLUT-video-stream">37.37.1.1 Hald CLUT video stream</a></li>
-        <li><a name="toc-Hald-CLUT-with-preview" href="#Hald-CLUT-with-preview">37.37.1.2 Hald CLUT with preview</a></li>
+        <li><a name="toc-Hald-CLUT-video-stream" href="#Hald-CLUT-video-stream">37.39.1.1 Hald CLUT video stream</a></li>
+        <li><a name="toc-Hald-CLUT-with-preview" href="#Hald-CLUT-with-preview">37.39.1.2 Hald CLUT with preview</a></li>
       </ul>
 </li>
     </ul></li>
-    <li><a name="toc-hflip" href="#hflip">37.38 hflip</a></li>
-    <li><a name="toc-histeq" href="#histeq">37.39 histeq</a></li>
-    <li><a name="toc-histogram" href="#histogram">37.40 histogram</a>
+    <li><a name="toc-hflip" href="#hflip">37.40 hflip</a></li>
+    <li><a name="toc-histeq" href="#histeq">37.41 histeq</a></li>
+    <li><a name="toc-histogram" href="#histogram">37.42 histogram</a>
     <ul class="toc">
-      <li><a name="toc-Examples-55" href="#Examples-55">37.40.1 Examples</a></li>
+      <li><a name="toc-Examples-48" href="#Examples-48">37.42.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-hqdn3d-1" href="#hqdn3d-1">37.41 hqdn3d</a></li>
-    <li><a name="toc-hue" href="#hue">37.42 hue</a>
+    <li><a name="toc-hqdn3d-1" href="#hqdn3d-1">37.43 hqdn3d</a></li>
+    <li><a name="toc-hue" href="#hue">37.44 hue</a>
     <ul class="toc">
-      <li><a name="toc-Examples-66" href="#Examples-66">37.42.1 Examples</a></li>
-      <li><a name="toc-Commands" href="#Commands">37.42.2 Commands</a></li>
+      <li><a name="toc-Examples" href="#Examples">37.44.1 Examples</a></li>
+      <li><a name="toc-Commands-2" href="#Commands-2">37.44.2 Commands</a></li>
     </ul></li>
-    <li><a name="toc-idet" href="#idet">37.43 idet</a></li>
-    <li><a name="toc-il" href="#il">37.44 il</a></li>
-    <li><a name="toc-interlace" href="#interlace">37.45 interlace</a></li>
-    <li><a name="toc-kerndeint" href="#kerndeint">37.46 kerndeint</a>
+    <li><a name="toc-idet" href="#idet">37.45 idet</a></li>
+    <li><a name="toc-il" href="#il">37.46 il</a></li>
+    <li><a name="toc-interlace" href="#interlace">37.47 interlace</a></li>
+    <li><a name="toc-kerndeint" href="#kerndeint">37.48 kerndeint</a>
     <ul class="toc">
-      <li><a name="toc-Examples-48" href="#Examples-48">37.46.1 Examples</a></li>
+      <li><a name="toc-Examples-79" href="#Examples-79">37.48.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-lut3d-1" href="#lut3d-1">37.47 lut3d</a></li>
-    <li><a name="toc-lut_002c-lutrgb_002c-lutyuv" href="#lut_002c-lutrgb_002c-lutyuv">37.48 lut, lutrgb, lutyuv</a>
+    <li><a name="toc-lut3d-1" href="#lut3d-1">37.49 lut3d</a></li>
+    <li><a name="toc-lut_002c-lutrgb_002c-lutyuv" href="#lut_002c-lutrgb_002c-lutyuv">37.50 lut, lutrgb, lutyuv</a>
     <ul class="toc">
-      <li><a name="toc-Examples-10" href="#Examples-10">37.48.1 Examples</a></li>
+      <li><a name="toc-Examples-26" href="#Examples-26">37.50.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-mergeplanes" href="#mergeplanes">37.49 mergeplanes</a>
+    <li><a name="toc-mergeplanes" href="#mergeplanes">37.51 mergeplanes</a>
     <ul class="toc">
-      <li><a name="toc-Examples-71" href="#Examples-71">37.49.1 Examples</a></li>
+      <li><a name="toc-Examples-39" href="#Examples-39">37.51.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-mcdeint" href="#mcdeint">37.50 mcdeint</a></li>
-    <li><a name="toc-mp" href="#mp">37.51 mp</a>
+    <li><a name="toc-mcdeint" href="#mcdeint">37.52 mcdeint</a></li>
+    <li><a name="toc-mp" href="#mp">37.53 mp</a>
     <ul class="toc">
-      <li><a name="toc-Examples-68" href="#Examples-68">37.51.1 Examples</a></li>
+      <li><a name="toc-Examples-87" href="#Examples-87">37.53.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-mpdecimate" href="#mpdecimate">37.52 mpdecimate</a></li>
-    <li><a name="toc-negate" href="#negate">37.53 negate</a></li>
-    <li><a name="toc-noformat" href="#noformat">37.54 noformat</a>
+    <li><a name="toc-mpdecimate" href="#mpdecimate">37.54 mpdecimate</a></li>
+    <li><a name="toc-negate" href="#negate">37.55 negate</a></li>
+    <li><a name="toc-noformat" href="#noformat">37.56 noformat</a>
     <ul class="toc">
-      <li><a name="toc-Examples-9" href="#Examples-9">37.54.1 Examples</a></li>
+      <li><a name="toc-Examples-73" href="#Examples-73">37.56.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-noise" href="#noise">37.55 noise</a>
+    <li><a name="toc-noise-1" href="#noise-1">37.57 noise</a>
     <ul class="toc">
-      <li><a name="toc-Examples-86" href="#Examples-86">37.55.1 Examples</a></li>
+      <li><a name="toc-Examples-91" href="#Examples-91">37.57.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-null" href="#null">37.56 null</a></li>
-    <li><a name="toc-ocv" href="#ocv">37.57 ocv</a>
+    <li><a name="toc-null" href="#null">37.58 null</a></li>
+    <li><a name="toc-ocv" href="#ocv">37.59 ocv</a>
     <ul class="toc">
-      <li><a name="toc-dilate-1" href="#dilate-1">37.57.1 dilate</a></li>
-      <li><a name="toc-erode" href="#erode">37.57.2 erode</a></li>
-      <li><a name="toc-smooth" href="#smooth">37.57.3 smooth</a></li>
+      <li><a name="toc-dilate-1" href="#dilate-1">37.59.1 dilate</a></li>
+      <li><a name="toc-erode" href="#erode">37.59.2 erode</a></li>
+      <li><a name="toc-smooth" href="#smooth">37.59.3 smooth</a></li>
     </ul></li>
-    <li><a name="toc-overlay-1" href="#overlay-1">37.58 overlay</a>
+    <li><a name="toc-overlay-1" href="#overlay-1">37.60 overlay</a>
     <ul class="toc">
-      <li><a name="toc-Commands-2" href="#Commands-2">37.58.1 Commands</a></li>
-      <li><a name="toc-Examples-82" href="#Examples-82">37.58.2 Examples</a></li>
+      <li><a name="toc-Commands-4" href="#Commands-4">37.60.1 Commands</a></li>
+      <li><a name="toc-Examples-29" href="#Examples-29">37.60.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-owdenoise" href="#owdenoise">37.59 owdenoise</a></li>
-    <li><a name="toc-pad" href="#pad">37.60 pad</a>
+    <li><a name="toc-owdenoise" href="#owdenoise">37.61 owdenoise</a></li>
+    <li><a name="toc-pad" href="#pad">37.62 pad</a>
     <ul class="toc">
-      <li><a name="toc-Examples-87" href="#Examples-87">37.60.1 Examples</a></li>
+      <li><a name="toc-Examples-42" href="#Examples-42">37.62.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-perspective" href="#perspective">37.61 perspective</a></li>
-    <li><a name="toc-phase" href="#phase">37.62 phase</a></li>
-    <li><a name="toc-pixdesctest" href="#pixdesctest">37.63 pixdesctest</a></li>
-    <li><a name="toc-pp" href="#pp">37.64 pp</a>
+    <li><a name="toc-perspective" href="#perspective">37.63 perspective</a></li>
+    <li><a name="toc-phase" href="#phase">37.64 phase</a></li>
+    <li><a name="toc-pixdesctest" href="#pixdesctest">37.65 pixdesctest</a></li>
+    <li><a name="toc-pp" href="#pp">37.66 pp</a>
     <ul class="toc">
-      <li><a name="toc-Examples-7" href="#Examples-7">37.64.1 Examples</a></li>
+      <li><a name="toc-Examples-82" href="#Examples-82">37.66.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-psnr" href="#psnr">37.65 psnr</a></li>
-    <li><a name="toc-pullup" href="#pullup">37.66 pullup</a></li>
-    <li><a name="toc-removelogo" href="#removelogo">37.67 removelogo</a></li>
-    <li><a name="toc-rotate" href="#rotate">37.68 rotate</a>
+    <li><a name="toc-psnr" href="#psnr">37.67 psnr</a></li>
+    <li><a name="toc-pullup-1" href="#pullup-1">37.68 pullup</a></li>
+    <li><a name="toc-removelogo" href="#removelogo">37.69 removelogo</a></li>
+    <li><a name="toc-rotate" href="#rotate">37.70 rotate</a>
     <ul class="toc">
-      <li><a name="toc-Examples-78" href="#Examples-78">37.68.1 Examples</a></li>
-      <li><a name="toc-Commands-3" href="#Commands-3">37.68.2 Commands</a></li>
+      <li><a name="toc-Examples-33" href="#Examples-33">37.70.1 Examples</a></li>
+      <li><a name="toc-Commands" href="#Commands">37.70.2 Commands</a></li>
     </ul></li>
-    <li><a name="toc-sab" href="#sab">37.69 sab</a></li>
-    <li><a name="toc-scale-1" href="#scale-1">37.70 scale</a>
+    <li><a name="toc-sab" href="#sab">37.71 sab</a></li>
+    <li><a name="toc-scale-1" href="#scale-1">37.72 scale</a>
     <ul class="toc">
-      <li><a name="toc-Options" href="#Options">37.70.1 Options</a></li>
-      <li><a name="toc-Examples-23" href="#Examples-23">37.70.2 Examples</a></li>
+      <li><a name="toc-Options-32" href="#Options-32">37.72.1 Options</a></li>
+      <li><a name="toc-Examples-31" href="#Examples-31">37.72.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-separatefields" href="#separatefields">37.71 separatefields</a></li>
-    <li><a name="toc-setdar_002c-setsar" href="#setdar_002c-setsar">37.72 setdar, setsar</a>
+    <li><a name="toc-separatefields" href="#separatefields">37.73 separatefields</a></li>
+    <li><a name="toc-setdar_002c-setsar" href="#setdar_002c-setsar">37.74 setdar, setsar</a>
     <ul class="toc">
-      <li><a name="toc-Examples-45" href="#Examples-45">37.72.1 Examples</a></li>
+      <li><a name="toc-Examples-68" href="#Examples-68">37.74.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-setfield-1" href="#setfield-1">37.73 setfield</a></li>
-    <li><a name="toc-showinfo" href="#showinfo">37.74 showinfo</a></li>
-    <li><a name="toc-smartblur-1" href="#smartblur-1">37.75 smartblur</a></li>
-    <li><a name="toc-stereo3d" href="#stereo3d">37.76 stereo3d</a>
+    <li><a name="toc-setfield-1" href="#setfield-1">37.75 setfield</a></li>
+    <li><a name="toc-showinfo" href="#showinfo">37.76 showinfo</a></li>
+    <li><a name="toc-smartblur-1" href="#smartblur-1">37.77 smartblur</a></li>
+    <li><a name="toc-stereo3d" href="#stereo3d">37.78 stereo3d</a>
     <ul class="toc">
-      <li><a name="toc-Examples" href="#Examples">37.76.1 Examples</a></li>
+      <li><a name="toc-Examples-86" href="#Examples-86">37.78.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-spp" href="#spp">37.77 spp</a></li>
-    <li><a name="toc-subtitles-1" href="#subtitles-1">37.78 subtitles</a></li>
-    <li><a name="toc-super2xsai" href="#super2xsai">37.79 super2xsai</a></li>
-    <li><a name="toc-swapuv" href="#swapuv">37.80 swapuv</a></li>
-    <li><a name="toc-telecine" href="#telecine">37.81 telecine</a></li>
-    <li><a name="toc-thumbnail" href="#thumbnail">37.82 thumbnail</a>
+    <li><a name="toc-spp" href="#spp">37.79 spp</a></li>
+    <li><a name="toc-subtitles-1" href="#subtitles-1">37.80 subtitles</a></li>
+    <li><a name="toc-super2xsai" href="#super2xsai">37.81 super2xsai</a></li>
+    <li><a name="toc-swapuv" href="#swapuv">37.82 swapuv</a></li>
+    <li><a name="toc-telecine" href="#telecine">37.83 telecine</a></li>
+    <li><a name="toc-thumbnail" href="#thumbnail">37.84 thumbnail</a>
     <ul class="toc">
-      <li><a name="toc-Examples-17" href="#Examples-17">37.82.1 Examples</a></li>
+      <li><a name="toc-Examples-25" href="#Examples-25">37.84.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-tile" href="#tile">37.83 tile</a>
+    <li><a name="toc-tile" href="#tile">37.85 tile</a>
     <ul class="toc">
-      <li><a name="toc-Examples-33" href="#Examples-33">37.83.1 Examples</a></li>
+      <li><a name="toc-Examples-3" href="#Examples-3">37.85.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-tinterlace" href="#tinterlace">37.84 tinterlace</a></li>
-    <li><a name="toc-transpose" href="#transpose">37.85 transpose</a></li>
-    <li><a name="toc-trim" href="#trim">37.86 trim</a></li>
-    <li><a name="toc-unsharp" href="#unsharp">37.87 unsharp</a>
+    <li><a name="toc-tinterlace" href="#tinterlace">37.86 tinterlace</a></li>
+    <li><a name="toc-transpose" href="#transpose">37.87 transpose</a></li>
+    <li><a name="toc-trim" href="#trim">37.88 trim</a></li>
+    <li><a name="toc-unsharp" href="#unsharp">37.89 unsharp</a>
     <ul class="toc">
-      <li><a name="toc-Examples-63" href="#Examples-63">37.87.1 Examples</a></li>
+      <li><a name="toc-Examples-4" href="#Examples-4">37.89.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-vidstabdetect-1" href="#vidstabdetect-1">37.88 vidstabdetect</a>
+    <li><a name="toc-vidstabdetect-1" href="#vidstabdetect-1">37.90 vidstabdetect</a>
     <ul class="toc">
-      <li><a name="toc-Examples-58" href="#Examples-58">37.88.1 Examples</a></li>
+      <li><a name="toc-Examples-52" href="#Examples-52">37.90.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-vidstabtransform-1" href="#vidstabtransform-1">37.89 vidstabtransform</a>
+    <li><a name="toc-vidstabtransform-1" href="#vidstabtransform-1">37.91 vidstabtransform</a>
     <ul class="toc">
-      <li><a name="toc-Examples-4" href="#Examples-4">37.89.1 Examples</a></li>
+      <li><a name="toc-Options-7" href="#Options-7">37.91.1 Options</a></li>
+      <li><a name="toc-Examples-67" href="#Examples-67">37.91.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-vflip" href="#vflip">37.90 vflip</a></li>
-    <li><a name="toc-vignette" href="#vignette">37.91 vignette</a>
+    <li><a name="toc-vflip" href="#vflip">37.92 vflip</a></li>
+    <li><a name="toc-vignette" href="#vignette">37.93 vignette</a>
     <ul class="toc">
-      <li><a name="toc-Expressions" href="#Expressions">37.91.1 Expressions</a></li>
-      <li><a name="toc-Examples-37" href="#Examples-37">37.91.2 Examples</a></li>
+      <li><a name="toc-Expressions" href="#Expressions">37.93.1 Expressions</a></li>
+      <li><a name="toc-Examples-94" href="#Examples-94">37.93.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-w3fdif" href="#w3fdif">37.92 w3fdif</a></li>
-    <li><a name="toc-yadif-1" href="#yadif-1">37.93 yadif</a></li>
+    <li><a name="toc-w3fdif" href="#w3fdif">37.94 w3fdif</a></li>
+    <li><a name="toc-yadif-1" href="#yadif-1">37.95 yadif</a></li>
   </ul></li>
   <li><a name="toc-Video-Sources" href="#Video-Sources">38. Video Sources</a>
   <ul class="toc">
     <li><a name="toc-buffer" href="#buffer">38.1 buffer</a></li>
     <li><a name="toc-cellauto" href="#cellauto">38.2 cellauto</a>
     <ul class="toc">
-      <li><a name="toc-Examples-77" href="#Examples-77">38.2.1 Examples</a></li>
+      <li><a name="toc-Examples-10" href="#Examples-10">38.2.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-mandelbrot" href="#mandelbrot">38.3 mandelbrot</a></li>
     <li><a name="toc-mptestsrc" href="#mptestsrc">38.4 mptestsrc</a></li>
     <li><a name="toc-frei0r_005fsrc" href="#frei0r_005fsrc">38.5 frei0r_src</a></li>
     <li><a name="toc-life" href="#life">38.6 life</a>
     <ul class="toc">
-      <li><a name="toc-Examples-2" href="#Examples-2">38.6.1 Examples</a></li>
+      <li><a name="toc-Examples-98" href="#Examples-98">38.6.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-color_002c-haldclutsrc_002c-nullsrc_002c-rgbtestsrc_002c-smptebars_002c-smptehdbars_002c-testsrc" href="#color_002c-haldclutsrc_002c-nullsrc_002c-rgbtestsrc_002c-smptebars_002c-smptehdbars_002c-testsrc">38.7 color, haldclutsrc, nullsrc, rgbtestsrc, smptebars, smptehdbars, testsrc</a>
     <ul class="toc">
-      <li><a name="toc-Commands-4" href="#Commands-4">38.7.1 Commands</a></li>
+      <li><a name="toc-Commands-3" href="#Commands-3">38.7.1 Commands</a></li>
     </ul>
 </li>
   </ul></li>
@@ -809,53 +891,53 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
   <ul class="toc">
     <li><a name="toc-avectorscope" href="#avectorscope">40.1 avectorscope</a>
     <ul class="toc">
-      <li><a name="toc-Examples-72" href="#Examples-72">40.1.1 Examples</a></li>
+      <li><a name="toc-Examples-95" href="#Examples-95">40.1.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-concat-1" href="#concat-1">40.2 concat</a>
     <ul class="toc">
-      <li><a name="toc-Examples-29" href="#Examples-29">40.2.1 Examples</a></li>
+      <li><a name="toc-Examples-56" href="#Examples-56">40.2.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-ebur128" href="#ebur128">40.3 ebur128</a>
     <ul class="toc">
-      <li><a name="toc-Examples-92" href="#Examples-92">40.3.1 Examples</a></li>
+      <li><a name="toc-Examples-76" href="#Examples-76">40.3.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-interleave_002c-ainterleave" href="#interleave_002c-ainterleave">40.4 interleave, ainterleave</a>
     <ul class="toc">
-      <li><a name="toc-Examples-21" href="#Examples-21">40.4.1 Examples</a></li>
+      <li><a name="toc-Examples-27" href="#Examples-27">40.4.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-perms_002c-aperms" href="#perms_002c-aperms">40.5 perms, aperms</a></li>
     <li><a name="toc-select_002c-aselect" href="#select_002c-aselect">40.6 select, aselect</a>
     <ul class="toc">
-      <li><a name="toc-Examples-19" href="#Examples-19">40.6.1 Examples</a></li>
+      <li><a name="toc-Examples-85" href="#Examples-85">40.6.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-sendcmd_002c-asendcmd" href="#sendcmd_002c-asendcmd">40.7 sendcmd, asendcmd</a>
     <ul class="toc">
       <li><a name="toc-Commands-syntax" href="#Commands-syntax">40.7.1 Commands syntax</a></li>
-      <li><a name="toc-Examples-59" href="#Examples-59">40.7.2 Examples</a></li>
+      <li><a name="toc-Examples-60" href="#Examples-60">40.7.2 Examples</a></li>
     </ul></li>
     <li><a name="toc-setpts_002c-asetpts" href="#setpts_002c-asetpts">40.8 setpts, asetpts</a>
     <ul class="toc">
-      <li><a name="toc-Examples-47" href="#Examples-47">40.8.1 Examples</a></li>
+      <li><a name="toc-Examples-15" href="#Examples-15">40.8.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-settb_002c-asettb" href="#settb_002c-asettb">40.9 settb, asettb</a>
     <ul class="toc">
-      <li><a name="toc-Examples-65" href="#Examples-65">40.9.1 Examples</a></li>
+      <li><a name="toc-Examples-83" href="#Examples-83">40.9.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-showspectrum" href="#showspectrum">40.10 showspectrum</a>
     <ul class="toc">
-      <li><a name="toc-Examples-88" href="#Examples-88">40.10.1 Examples</a></li>
+      <li><a name="toc-Examples-96" href="#Examples-96">40.10.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-showwaves" href="#showwaves">40.11 showwaves</a>
     <ul class="toc">
-      <li><a name="toc-Examples-36" href="#Examples-36">40.11.1 Examples</a></li>
+      <li><a name="toc-Examples-41" href="#Examples-41">40.11.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-split_002c-asplit" href="#split_002c-asplit">40.12 split, asplit</a>
     <ul class="toc">
-      <li><a name="toc-Examples-1" href="#Examples-1">40.12.1 Examples</a></li>
+      <li><a name="toc-Examples-55" href="#Examples-55">40.12.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-zmq_002c-azmq" href="#zmq_002c-azmq">40.13 zmq, azmq</a>
     <ul class="toc">
-      <li><a name="toc-Examples-64" href="#Examples-64">40.13.1 Examples</a></li>
+      <li><a name="toc-Examples-59" href="#Examples-59">40.13.1 Examples</a></li>
     </ul>
 </li>
   </ul></li>
@@ -864,7 +946,7 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
     <li><a name="toc-amovie" href="#amovie">41.1 amovie</a></li>
     <li><a name="toc-movie-1" href="#movie-1">41.2 movie</a>
     <ul class="toc">
-      <li><a name="toc-Examples-60" href="#Examples-60">41.2.1 Examples</a></li>
+      <li><a name="toc-Examples-89" href="#Examples-89">41.2.1 Examples</a></li>
     </ul>
 </li>
   </ul></li>
@@ -940,11 +1022,22 @@ to 1 fps and the frame rate of the output file to 24 fps:
 <p>The transcoding process in <code>ffmpeg</code> for each output can be described by
 the following diagram:
 </p>
-<table><tr><td>&nbsp;</td><td><pre class="example"> _______              ______________               _________              ______________            ________
-|       |            |              |             |         |            |              |          |        |
-| input |  demuxer   | encoded data |   decoder   | decoded |  encoder   | encoded data |  muxer   | output |
-| file  | ---------&gt; | packets      |  ---------&gt; | frames  | ---------&gt; | packets      | -------&gt; | file   |
-|_______|            |______________|             |_________|            |______________|          |________|
+<table><tr><td>&nbsp;</td><td><pre class="example"> _______              ______________
+|       |            |              |
+| input |  demuxer   | encoded data |   decoder
+| file  | ---------&gt; | packets      | -----+
+|_______|            |______________|      |
+                                           v
+                                       _________
+                                      |         |
+                                      | decoded |
+                                      | frames  |
+ ________             ______________  |_________|
+|        |           |              |      |
+| output | &lt;-------- | encoded data | &lt;----+
+| file   |   muxer   | packets      |   encoder
+|________|           |______________|
+
 
 </pre></td></tr></table>
 
@@ -973,11 +1066,11 @@ simple and complex.
 the same type. In the above diagram they can be represented by simply inserting
 an additional step between decoding and encoding:
 </p>
-<table><tr><td>&nbsp;</td><td><pre class="example"> _________                        __________              ______________
-|         |                      |          |            |              |
-| decoded |  simple filtergraph  | filtered |  encoder   | encoded data |
-| frames  | -------------------&gt; | frames   | ---------&gt; | packets      |
-|_________|                      |__________|            |______________|
+<table><tr><td>&nbsp;</td><td><pre class="example"> _________               __________              ______________
+|         |  simple     |          |            |              |
+| decoded |  fltrgrph   | filtered |  encoder   | encoded data |
+| frames  | ----------&gt; | frames   | ---------&gt; | packets      |
+|_________|             |__________|            |______________|
 
 </pre></td></tr></table>
 
@@ -985,10 +1078,10 @@ an additional step between decoding and encoding:
 (with &lsquo;<samp>-vf</samp>&rsquo; and &lsquo;<samp>-af</samp>&rsquo; aliases for video and audio respectively).
 A simple filtergraph for video can look for example like this:
 </p>
-<table><tr><td>&nbsp;</td><td><pre class="example"> _______        _____________        _______        _____        ________
-|       |      |             |      |       |      |     |      |        |
-| input | ---&gt; | deinterlace | ---&gt; | scale | ---&gt; | fps | ---&gt; | output |
-|_______|      |_____________|      |_______|      |_____|      |________|
+<table><tr><td>&nbsp;</td><td><pre class="example"> _______        _____________        _______        ________
+|       |      |             |      |       |      |        |
+| input | ---&gt; | deinterlace | ---&gt; | scale | ---&gt; | output |
+|_______|      |_____________|      |_______|      |________|
 
 </pre></td></tr></table>
 
@@ -1069,8 +1162,8 @@ full manual control, use the <code>-map</code> option, which disables the defaul
 described.
 </p>
 
-<a name="Options-10"></a>
-<h1 class="chapter"><a href="ffmpeg-all.html#toc-Options-10">5. Options</a></h1>
+<a name="Options-6"></a>
+<h1 class="chapter"><a href="ffmpeg-all.html#toc-Options-6">5. Options</a></h1>
 
 <p>All the numerical options, if not specified otherwise, accept a string
 representing a number as input, which may be followed by one of the SI
@@ -1305,6 +1398,14 @@ to a plain <code>%</code>
 appear in the report.
 </p>
 </dd>
+<dt> &lsquo;<samp>-hide_banner</samp>&rsquo;</dt>
+<dd><p>Suppress printing banner.
+</p>
+<p>All FFmpeg tools will normally show a copyright notice, build options
+and library versions. This option can be used to suppress printing
+this information.
+</p>
+</dd>
 <dt> &lsquo;<samp>-cpuflags flags (<em>global</em>)</samp>&rsquo;</dt>
 <dd><p>Allows setting and clearing cpu flags. This option is intended
 for testing. Do not use it unless you know what you&rsquo;re doing.
@@ -1490,23 +1591,21 @@ input until the timestamps reach <var>position</var>.
 </p>
 </dd>
 <dt> &lsquo;<samp>-itsoffset <var>offset</var> (<em>input</em>)</samp>&rsquo;</dt>
-<dd><p>Set the input time offset in seconds.
-<code>[-]hh:mm:ss[.xxx]</code> syntax is also supported.
-The offset is added to the timestamps of the input files.
-Specifying a positive offset means that the corresponding
-streams are delayed by <var>offset</var> seconds.
+<dd><p>Set the input time offset.
+</p>
+<p><var>offset</var> must be a time duration specification,
+see <a href="ffmpeg-utils.html#time-duration-syntax">(ffmpeg-utils)time duration syntax</a>.
+</p>
+<p>The offset is added to the timestamps of the input files. Specifying
+a positive offset means that the corresponding streams are delayed by
+the time duration specified in <var>offset</var>.
 </p>
 </dd>
-<dt> &lsquo;<samp>-timestamp <var>time</var> (<em>output</em>)</samp>&rsquo;</dt>
+<dt> &lsquo;<samp>-timestamp <var>date</var> (<em>output</em>)</samp>&rsquo;</dt>
 <dd><p>Set the recording timestamp in the container.
-The syntax for <var>time</var> is:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">now|([(YYYY-MM-DD|YYYYMMDD)[T|t| ]]((HH:MM:SS[.m...])|(HHMMSS[.m...]))[Z|z])
-</pre></td></tr></table>
-<p>If the value is &quot;now&quot; it takes the current time.
-Time is local time unless &rsquo;Z&rsquo; or &rsquo;z&rsquo; is appended, in which case it is
-interpreted as UTC.
-If the year-month-day part is not specified it takes the current
-year-month-day.
+</p>
+<p><var>date</var> must be a time duration specification,
+see <a href="ffmpeg-utils.html#date-syntax">(ffmpeg-utils)date syntax</a>.
 </p>
 </dd>
 <dt> &lsquo;<samp>-metadata[:metadata_specifier] <var>key</var>=<var>value</var> (<em>output,per-metadata</em>)</samp>&rsquo;</dt>
@@ -1729,10 +1828,6 @@ prefix is &ldquo;ffmpeg2pass&rdquo;. The complete file name will be
 stream
 </p>
 </dd>
-<dt> &lsquo;<samp>-vlang <var>code</var></samp>&rsquo;</dt>
-<dd><p>Set the ISO 639 language code (3 letters) of the current video stream.
-</p>
-</dd>
 <dt> &lsquo;<samp>-vf <var>filtergraph</var> (<em>output</em>)</samp>&rsquo;</dt>
 <dd><p>Create the filtergraph specified by <var>filtergraph</var> and use it to
 filter the stream.
@@ -1970,9 +2065,6 @@ stereo but not 6 channels as 5.1. The default is to always try to guess. Use
 <h2 class="section"><a href="ffmpeg-all.html#toc-Subtitle-options_003a">5.9 Subtitle options:</a></h2>
 
 <dl compact="compact">
-<dt> &lsquo;<samp>-slang <var>code</var></samp>&rsquo;</dt>
-<dd><p>Set the ISO 639 language code (3 letters) of the current subtitle stream.
-</p></dd>
 <dt> &lsquo;<samp>-scodec <var>codec</var> (<em>input/output</em>)</samp>&rsquo;</dt>
 <dd><p>Set the subtitle codec. This is an alias for <code>-codec:s</code>.
 </p></dd>
@@ -2326,7 +2418,7 @@ to get the list of bitstream filters.
 </pre></td></tr></table>
 
 </dd>
-<dt> &lsquo;<samp>-tag[:<var>stream_specifier</var>] <var>codec_tag</var> (<em>per-stream</em>)</samp>&rsquo;</dt>
+<dt> &lsquo;<samp>-tag[:<var>stream_specifier</var>] <var>codec_tag</var> (<em>input/output,per-stream</em>)</samp>&rsquo;</dt>
 <dd><p>Force a tag/fourcc for matching streams.
 </p>
 </dd>
@@ -2501,8 +2593,8 @@ quality).
 
 </li></ul>
 
-<a name="Examples-28"></a>
-<h1 class="chapter"><a href="ffmpeg-all.html#toc-Examples-28">7. Examples</a></h1>
+<a name="Examples-63"></a>
+<h1 class="chapter"><a href="ffmpeg-all.html#toc-Examples-63">7. Examples</a></h1>
 
 <a name="Preset-files-1"></a>
 <h2 class="section"><a href="ffmpeg-all.html#toc-Preset-files-1">7.1 Preset files</a></h2>
@@ -2695,8 +2787,8 @@ but you may use the QP2LAMBDA constant to easily convert from &rsquo;q&rsquo; un
 
 </li></ul>
 
-<a name="Syntax-2"></a>
-<h1 class="chapter"><a href="ffmpeg-all.html#toc-Syntax-2">8. Syntax</a></h1>
+<a name="Syntax"></a>
+<h1 class="chapter"><a href="ffmpeg-all.html#toc-Syntax">8. Syntax</a></h1>
 
 <p>This section documents the syntax and formats employed by the FFmpeg
 libraries and tools.
@@ -2739,8 +2831,8 @@ escaped according to the rules defined above.
 <p>The tool &lsquo;<tt>tools/ffescape</tt>&rsquo; in the FFmpeg source tree can be used
 to automatically quote or escape a string in a script.
 </p>
-<a name="Examples-40"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-40">8.1.1 Examples</a></h3>
+<a name="Examples-36"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-36">8.1.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -2811,8 +2903,8 @@ maximum of 2 digits. The <var>m</var> at the end expresses decimal value for
 </p>
 <p>In both expressions, the optional &lsquo;<samp>-</samp>&rsquo; indicates negative duration.
 </p>
-<a name="Examples-89"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-89">8.3.1 Examples</a></h3>
+<a name="Examples-54"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-54">8.3.1 Examples</a></h3>
 
 <p>The following examples are all valid time duration:
 </p>
@@ -4074,7 +4166,7 @@ which can be obtained with <code>ffmpeg -opencl_bench</code> or <code>av_opencl_
 <dt> &lsquo;<samp>device_idx</samp>&rsquo;</dt>
 <dd><p>Select the index of the device used to run OpenCL code.
 </p>
-<p>The specifed index must be one of the indexes in the device list which
+<p>The specified index must be one of the indexes in the device list which
 can be obtained with <code>ffmpeg -opencl_bench</code> or <code>av_opencl_get_device_list()</code>.
 </p>
 </dd>
@@ -5130,6 +5222,9 @@ decoding starts.
 </dd>
 <dt> &lsquo;<samp>skip_exp <var>integer</var> (<em>encoding,video</em>)</samp>&rsquo;</dt>
 <dd><p>Set frame skip exponent.
+Negative values behave identical to the corresponding positive ones, except
+that the score is normalized.
+Positive values exist primarly for compatibility reasons and are not so useful.
 </p>
 </dd>
 <dt> &lsquo;<samp>skipcmp <var>integer</var> (<em>encoding,video</em>)</samp>&rsquo;</dt>
@@ -5407,7 +5502,7 @@ available decoders using the configure option <code>--list-decoders</code>.
 with the options <code>--enable-decoder=<var>DECODER</var></code> /
 <code>--disable-decoder=<var>DECODER</var></code>.
 </p>
-<p>The option <code>-codecs</code> of the ff* tools will display the list of
+<p>The option <code>-decoders</code> of the ff* tools will display the list of
 enabled decoders.
 </p>
 
@@ -5417,15 +5512,15 @@ enabled decoders.
 <p>A description of some of the currently available video decoders
 follows.
 </p>
-<a name="rawvideo-1"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-rawvideo-1">13.1 rawvideo</a></h2>
+<a name="rawvideo"></a>
+<h2 class="section"><a href="ffmpeg-all.html#toc-rawvideo">13.1 rawvideo</a></h2>
 
 <p>Raw video decoder.
 </p>
 <p>This decoder decodes rawvideo streams.
 </p>
-<a name="Options-7"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-7">13.1.1 Options</a></h3>
+<a name="Options-5"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-5">13.1.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>top <var>top_field_first</var></samp>&rsquo;</dt>
@@ -5449,8 +5544,44 @@ follows.
 <a name="Audio-Decoders"></a>
 <h1 class="chapter"><a href="ffmpeg-all.html#toc-Audio-Decoders">14. Audio Decoders</a></h1>
 
+<p>A description of some of the currently available audio decoders
+follows.
+</p>
+<a name="ac3"></a>
+<h2 class="section"><a href="ffmpeg-all.html#toc-ac3">14.1 ac3</a></h2>
+
+<p>AC-3 audio decoder.
+</p>
+<p>This decoder implements part of ATSC A/52:2010 and ETSI TS 102 366, as well as
+the undocumented RealAudio 3 (a.k.a. dnet).
+</p>
+<a name="AC_002d3-Decoder-Options"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-AC_002d3-Decoder-Options">14.1.1 AC-3 Decoder Options</a></h3>
+
+<dl compact="compact">
+<dt> &lsquo;<samp>-drc_scale <var>value</var></samp>&rsquo;</dt>
+<dd><p>Dynamic Range Scale Factor. The factor to apply to dynamic range values
+from the AC-3 stream. This factor is applied exponentially.
+There are 3 notable scale factor ranges:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>drc_scale == 0</samp>&rsquo;</dt>
+<dd><p>DRC disabled. Produces full range audio.
+</p></dd>
+<dt> &lsquo;<samp>0 &lt; drc_scale &lt;= 1</samp>&rsquo;</dt>
+<dd><p>DRC enabled.  Applies a fraction of the stream DRC value.
+Audio reproduction is between full range and full compression.
+</p></dd>
+<dt> &lsquo;<samp>drc_scale &gt; 1</samp>&rsquo;</dt>
+<dd><p>DRC enabled. Applies drc_scale asymmetrically.
+Loud sounds are fully compressed.  Soft sounds are enhanced.
+</p></dd>
+</dl>
+
+</dd>
+</dl>
+
 <a name="ffwavesynth"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-ffwavesynth">14.1 ffwavesynth</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-ffwavesynth">14.2 ffwavesynth</a></h2>
 
 <p>Internal wave synthetizer.
 </p>
@@ -5459,7 +5590,7 @@ use is purely internal and the format of the data it accepts is not publicly
 documented.
 </p>
 <a name="libcelt"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-libcelt">14.2 libcelt</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-libcelt">14.3 libcelt</a></h2>
 
 <p>libcelt decoder wrapper.
 </p>
@@ -5468,7 +5599,7 @@ Requires the presence of the libcelt headers and library during configuration.
 You need to explicitly configure the build with <code>--enable-libcelt</code>.
 </p>
 <a name="libgsm"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-libgsm">14.3 libgsm</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-libgsm">14.4 libgsm</a></h2>
 
 <p>libgsm decoder wrapper.
 </p>
@@ -5479,7 +5610,7 @@ to explicitly configure the build with <code>--enable-libgsm</code>.
 <p>This decoder supports both the ordinary GSM and the Microsoft variant.
 </p>
 <a name="libilbc"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-libilbc">14.4 libilbc</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-libilbc">14.5 libilbc</a></h2>
 
 <p>libilbc decoder wrapper.
 </p>
@@ -5488,8 +5619,8 @@ audio codec. Requires the presence of the libilbc headers and library during
 configuration. You need to explicitly configure the build with
 <code>--enable-libilbc</code>.
 </p>
-<a name="Options-26"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-26">14.4.1 Options</a></h3>
+<a name="Options-2"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-2">14.5.1 Options</a></h3>
 
 <p>The following option is supported by the libilbc wrapper.
 </p>
@@ -5502,8 +5633,8 @@ value is 0 (disabled).
 </dd>
 </dl>
 
-<a name="libopencore_002damrnb-1"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-libopencore_002damrnb-1">14.5 libopencore-amrnb</a></h2>
+<a name="libopencore_002damrnb"></a>
+<h2 class="section"><a href="ffmpeg-all.html#toc-libopencore_002damrnb">14.6 libopencore-amrnb</a></h2>
 
 <p>libopencore-amrnb decoder wrapper.
 </p>
@@ -5516,7 +5647,7 @@ explicitly configure the build with <code>--enable-libopencore-amrnb</code>.
 without this library.
 </p>
 <a name="libopencore_002damrwb"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-libopencore_002damrwb">14.6 libopencore-amrwb</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-libopencore_002damrwb">14.7 libopencore-amrwb</a></h2>
 
 <p>libopencore-amrwb decoder wrapper.
 </p>
@@ -5528,8 +5659,8 @@ explicitly configure the build with <code>--enable-libopencore-amrwb</code>.
 <p>An FFmpeg native decoder for AMR-WB exists, so users can decode AMR-WB
 without this library.
 </p>
-<a name="libopus-1"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-libopus-1">14.7 libopus</a></h2>
+<a name="libopus"></a>
+<h2 class="section"><a href="ffmpeg-all.html#toc-libopus">14.8 libopus</a></h2>
 
 <p>libopus decoder wrapper.
 </p>
@@ -5548,8 +5679,8 @@ configuration. You need to explicitly configure the build with
 <p>This codec decodes the bitmap subtitles used in DVDs; the same subtitles can
 also be found in VobSub file pairs and in some Matroska files.
 </p>
-<a name="Options-30"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-30">15.1.1 Options</a></h3>
+<a name="Options-31"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-31">15.1.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>palette</samp>&rsquo;</dt>
@@ -5574,8 +5705,8 @@ subtitles. Requires the presence of the libzvbi headers and library during
 configuration. You need to explicitly configure the build with
 <code>--enable-libzvbi</code>.
 </p>
-<a name="Options-18"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-18">15.2.1 Options</a></h3>
+<a name="Options-22"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-22">15.2.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>txt_page</samp>&rsquo;</dt>
@@ -5633,7 +5764,7 @@ available encoders using the configure option <code>--list-encoders</code>.
 with the options <code>--enable-encoder=<var>ENCODER</var></code> /
 <code>--disable-encoder=<var>ENCODER</var></code>.
 </p>
-<p>The option <code>-codecs</code> of the ff* tools will display the list of
+<p>The option <code>-encoders</code> of the ff* tools will display the list of
 enabled encoders.
 </p>
 
@@ -6222,8 +6353,8 @@ configuration. You need to explicitly configure the build with
 <p>For more information see the libfaac project at
 <a href="http://www.audiocoding.com/faac.html/">http://www.audiocoding.com/faac.html/</a>.
 </p>
-<a name="Options-16"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-16">17.3.1 Options</a></h3>
+<a name="Options-15"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-15">17.3.1 Options</a></h3>
 
 <p>The following shared FFmpeg codec options are recognized.
 </p>
@@ -6309,8 +6440,8 @@ tool. For library interface users, use &lsquo;<samp>global_quality</samp>&rsquo;
 </p></dd>
 </dl>
 
-<a name="Examples-27"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-27">17.3.2 Examples</a></h3>
+<a name="Examples-65"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-65">17.3.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -6349,11 +6480,14 @@ both <a href="#aacenc">the native experimental FFmpeg AAC encoder</a> and
 +qscale</samp>&rsquo; options, is experimental and only works with some
 combinations of parameters.
 </p>
+<p>Support for encoding 7.1 audio is only available with libfdk-aac 0.1.3 or
+higher.
+</p>
 <p>For more information see the fdk-aac project at
 <a href="http://sourceforge.net/p/opencore-amr/fdk-aac/">http://sourceforge.net/p/opencore-amr/fdk-aac/</a>.
 </p>
-<a name="Options-6"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-6">17.4.1 Options</a></h3>
+<a name="Options-14"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-14">17.4.1 Options</a></h3>
 
 <p>The following options are mapped on the shared FFmpeg codec options.
 </p>
@@ -6505,8 +6639,8 @@ good) and 5 is highest quality. A value of 0 will disable VBR, and CBR
 </p></dd>
 </dl>
 
-<a name="Examples-12"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-12">17.4.2 Examples</a></h3>
+<a name="Examples-32"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-32">17.4.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -6535,8 +6669,8 @@ configuration. You need to explicitly configure the build with
 <p>See <a href="#libshine">libshine</a> for a fixed-point MP3 encoder, although with a
 lower quality.
 </p>
-<a name="Options-21"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-21">17.5.1 Options</a></h3>
+<a name="Options-45"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-45">17.5.1 Options</a></h3>
 
 <p>The following options are supported by the libmp3lame wrapper. The
 <code>lame</code>-equivalent of the options are listed in parentheses.
@@ -6561,7 +6695,7 @@ while producing the worst quality.
 </dd>
 <dt> &lsquo;<samp>reservoir</samp>&rsquo;</dt>
 <dd><p>Enable use of bit reservoir when set to 1. Default value is 1. LAME
-has this enabled by default, but can be overriden by use
+has this enabled by default, but can be overridden by use
 &lsquo;<samp>--nores</samp>&rsquo; option.
 </p>
 </dd>
@@ -6578,8 +6712,8 @@ tells FFmpeg to use ABR still relies on &lsquo;<samp>b</samp>&rsquo; to set bitr
 </dd>
 </dl>
 
-<a name="libopencore_002damrnb"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-libopencore_002damrnb">17.6 libopencore-amrnb</a></h2>
+<a name="libopencore_002damrnb-1"></a>
+<h2 class="section"><a href="ffmpeg-all.html#toc-libopencore_002damrnb-1">17.6 libopencore-amrnb</a></h2>
 
 <p>OpenCORE Adaptive Multi-Rate Narrowband encoder.
 </p>
@@ -6591,8 +6725,8 @@ configuration. You need to explicitly configure the build with
 but you can override it by setting &lsquo;<samp>strict</samp>&rsquo; to &lsquo;<samp>unofficial</samp>&rsquo; or
 lower.
 </p>
-<a name="Options-31"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-31">17.6.1 Options</a></h3>
+<a name="Options-20"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-20">17.6.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>b</samp>&rsquo;</dt>
@@ -6643,8 +6777,8 @@ configuration. You need to explicitly configure the build with
 </p>
 <p>See also <a href="#libmp3lame">libmp3lame</a>.
 </p>
-<a name="Options-13"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-13">17.7.1 Options</a></h3>
+<a name="Options-18"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-18">17.7.1 Options</a></h3>
 
 <p>The following options are supported by the libshine wrapper. The
 <code>shineenc</code>-equivalent of the options are listed in parentheses.
@@ -6666,8 +6800,8 @@ is expressed in kilobits/s.
 configuration. You need to explicitly configure the build with
 <code>--enable-libtwolame</code>.
 </p>
-<a name="Options-8"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-8">17.8.1 Options</a></h3>
+<a name="Options-16"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-16">17.8.1 Options</a></h3>
 
 <p>The following options are supported by the libtwolame wrapper. The
 <code>twolame</code>-equivalent options follow the FFmpeg ones and are in
@@ -6751,8 +6885,8 @@ configuration. You need to explicitly configure the build with
 <a href="#aacenc">native experimental FFmpeg AAC encoder</a>, according to
 multiple sources.
 </p>
-<a name="Options-5"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-5">17.9.1 Options</a></h3>
+<a name="Options-40"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-40">17.9.1 Options</a></h3>
 
 <p>The VisualOn AAC encoder only support encoding AAC-LC and up to 2
 channels. It is also CBR-only.
@@ -6777,8 +6911,8 @@ configuration. You need to explicitly configure the build with
 rate, but you can override it by setting &lsquo;<samp>strict</samp>&rsquo; to
 &lsquo;<samp>unofficial</samp>&rsquo; or lower.
 </p>
-<a name="Options-22"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-22">17.10.1 Options</a></h3>
+<a name="Options-43"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-43">17.10.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>b</samp>&rsquo;</dt>
@@ -6805,8 +6939,8 @@ default value is 0 (disabled).
 </dd>
 </dl>
 
-<a name="libopus"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-libopus">17.11 libopus</a></h2>
+<a name="libopus-1"></a>
+<h2 class="section"><a href="ffmpeg-all.html#toc-libopus-1">17.11 libopus</a></h2>
 
 <p>libopus Opus Interactive Audio Codec encoder wrapper.
 </p>
@@ -6901,8 +7035,8 @@ respectively. The default is 0 (cutoff disabled).
 configuration. You need to explicitly configure the build with
 <code>--enable-libvorbis</code>.
 </p>
-<a name="Options-27"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-27">17.12.1 Options</a></h3>
+<a name="Options-25"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-25">17.12.1 Options</a></h3>
 
 <p>The following options are supported by the libvorbis wrapper. The
 <code>oggenc</code>-equivalent of the options are listed in parentheses.
@@ -6952,37 +7086,133 @@ transient response is a higher bitrate.
 </dd>
 </dl>
 
-<a name="libwavpack"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-libwavpack">17.13 libwavpack</a></h2>
+<p><a name="libwavpack"></a>
+</p><a name="libwavpack-1"></a>
+<h2 class="section"><a href="ffmpeg-all.html#toc-libwavpack-1">17.13 libwavpack</a></h2>
 
 <p>A wrapper providing WavPack encoding through libwavpack.
 </p>
 <p>Only lossless mode using 32-bit integer samples is supported currently.
-The &lsquo;<samp>compression_level</samp>&rsquo; option can be used to control speed vs.
-compression tradeoff, with the values mapped to libwavpack as follows:
+</p>
+<p>Requires the presence of the libwavpack headers and library during
+configuration. You need to explicitly configure the build with
+<code>--enable-libwavpack</code>.
+</p>
+<p>Note that a libavcodec-native encoder for the WavPack codec exists so users can
+encode audios with this codec without using this encoder. See <a href="#wavpackenc">wavpackenc</a>.
+</p>
+<a name="Options-39"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-39">17.13.1 Options</a></h3>
+
+<p><code>wavpack</code> command line utility&rsquo;s corresponding options are listed in
+parentheses, if any.
 </p>
 <dl compact="compact">
-<dt> &lsquo;<samp>0</samp>&rsquo;</dt>
-<dd><p>Fast mode - corresponding to the wavpack &lsquo;<samp>-f</samp>&rsquo; option.
+<dt> &lsquo;<samp>frame_size (<em>--blocksize</em>)</samp>&rsquo;</dt>
+<dd><p>Default is 32768.
+</p>
+</dd>
+<dt> &lsquo;<samp>compression_level</samp>&rsquo;</dt>
+<dd><p>Set speed vs. compression tradeoff. Acceptable arguments are listed below:
+</p>
+<dl compact="compact">
+<dt> &lsquo;<samp>0 (<em>-f</em>)</samp>&rsquo;</dt>
+<dd><p>Fast mode.
 </p>
 </dd>
 <dt> &lsquo;<samp>1</samp>&rsquo;</dt>
 <dd><p>Normal (default) settings.
 </p>
 </dd>
-<dt> &lsquo;<samp>2</samp>&rsquo;</dt>
-<dd><p>High quality - corresponding to the wavpack &lsquo;<samp>-h</samp>&rsquo; option.
+<dt> &lsquo;<samp>2 (<em>-h</em>)</samp>&rsquo;</dt>
+<dd><p>High quality.
 </p>
 </dd>
-<dt> &lsquo;<samp>3</samp>&rsquo;</dt>
-<dd><p>Very high quality - corresponding to the wavpack &lsquo;<samp>-hh</samp>&rsquo; option.
+<dt> &lsquo;<samp>3 (<em>-hh</em>)</samp>&rsquo;</dt>
+<dd><p>Very high quality.
+</p>
+</dd>
+<dt> &lsquo;<samp>4-8 (<em>-hh -x</em><var>EXTRAPROC</var>)</samp>&rsquo;</dt>
+<dd><p>Same as &lsquo;<samp>3</samp>&rsquo;, but with extra processing enabled.
+</p>
+<p>&lsquo;<samp>4</samp>&rsquo; is the same as &lsquo;<samp>-x2</samp>&rsquo; and &lsquo;<samp>8</samp>&rsquo; is the same as &lsquo;<samp>-x6</samp>&rsquo;.
+</p>
+</dd>
+</dl>
+</dd>
+</dl>
+
+<p><a name="wavpackenc"></a>
+</p><a name="wavpack"></a>
+<h2 class="section"><a href="ffmpeg-all.html#toc-wavpack">17.14 wavpack</a></h2>
+
+<p>WavPack lossless audio encoder.
+</p>
+<p>This is a libavcodec-native WavPack encoder. There is also an encoder based on
+libwavpack, but there is virtually no reason to use that encoder.
+</p>
+<p>See also <a href="#libwavpack">libwavpack</a>.
+</p>
+<a name="Options-42"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-42">17.14.1 Options</a></h3>
+
+<p>The equivalent options for <code>wavpack</code> command line utility are listed in
+parentheses.
+</p>
+<a name="Shared-options"></a>
+<h4 class="subsubsection"><a href="ffmpeg-all.html#toc-Shared-options">17.14.1.1 Shared options</a></h4>
+
+<p>The following shared options are effective for this encoder. Only special notes
+about this particular encoder will be documented here. For the general meaning
+of the options, see <a href="#codec_002doptions">the Codec Options chapter</a>.
+</p>
+<dl compact="compact">
+<dt> &lsquo;<samp>frame_size (<em>--blocksize</em>)</samp>&rsquo;</dt>
+<dd><p>For this encoder, the range for this option is between 128 and 131072. Default
+is automatically decided based on sample rate and number of channel.
+</p>
+<p>For the complete formula of calculating default, see
+&lsquo;<tt>libavcodec/wavpackenc.c</tt>&rsquo;.
+</p>
+</dd>
+<dt> &lsquo;<samp>compression_level (<em>-f</em>, <em>-h</em>, <em>-hh</em>, and <em>-x</em>)</samp>&rsquo;</dt>
+<dd><p>This option&rsquo;s syntax is consistent with <a href="#libwavpack">libwavpack</a>&rsquo;s.
+</p></dd>
+</dl>
+
+<a name="Private-options-1"></a>
+<h4 class="subsubsection"><a href="ffmpeg-all.html#toc-Private-options-1">17.14.1.2 Private options</a></h4>
+
+<dl compact="compact">
+<dt> &lsquo;<samp>joint_stereo (<em>-j</em>)</samp>&rsquo;</dt>
+<dd><p>Set whether to enable joint stereo. Valid values are:
 </p>
+<dl compact="compact">
+<dt> &lsquo;<samp>on (<em>1</em>)</samp>&rsquo;</dt>
+<dd><p>Force mid/side audio encoding.
+</p></dd>
+<dt> &lsquo;<samp>off (<em>0</em>)</samp>&rsquo;</dt>
+<dd><p>Force left/right audio encoding.
+</p></dd>
+<dt> &lsquo;<samp>auto</samp>&rsquo;</dt>
+<dd><p>Let the encoder decide automatically.
+</p></dd>
+</dl>
+
 </dd>
-<dt> &lsquo;<samp>4-8</samp>&rsquo;</dt>
-<dd><p>Same as 3, but with extra processing enabled - corresponding to the wavpack
-&lsquo;<samp>-x</samp>&rsquo; option. I.e. 4 is the same as &lsquo;<samp>-x2</samp>&rsquo; and 8 is the same as
-&lsquo;<samp>-x6</samp>&rsquo;.
+<dt> &lsquo;<samp>optimize_mono</samp>&rsquo;</dt>
+<dd><p>Set whether to enable optimization for mono. This option is only effective for
+non-mono streams. Available values:
 </p>
+<dl compact="compact">
+<dt> &lsquo;<samp>on</samp>&rsquo;</dt>
+<dd><p>enabled
+</p></dd>
+<dt> &lsquo;<samp>off</samp>&rsquo;</dt>
+<dd><p>disabled
+</p></dd>
+</dl>
+
 </dd>
 </dl>
 
@@ -7002,11 +7232,11 @@ follows.
 configuration. You need to explicitly configure the build with
 <code>--enable-libtheora</code>.
 </p>
-<p>For more informations about the libtheora project see
+<p>For more information about the libtheora project see
 <a href="http://www.theora.org/">http://www.theora.org/</a>.
 </p>
-<a name="Options-23"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-23">18.1.1 Options</a></h3>
+<a name="Options-21"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-21">18.1.1 Options</a></h3>
 
 <p>The following global options are mapped to internal libtheora options
 which affect the quality and the bitrate of the encoded stream.
@@ -7049,8 +7279,8 @@ tool. For library interface users, use &lsquo;<samp>global_quality</samp>&rsquo;
 </p></dd>
 </dl>
 
-<a name="Examples-62"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-62">18.1.2 Examples</a></h3>
+<a name="Examples-66"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-66">18.1.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -7072,8 +7302,8 @@ Use <code>ffmpeg</code> to convert a CBR 1000 kbps Theora video stream:
 <p>Requires the presence of the libvpx headers and library during configuration.
 You need to explicitly configure the build with <code>--enable-libvpx</code>.
 </p>
-<a name="Options-32"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-32">18.2.1 Options</a></h3>
+<a name="Options-41"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-41">18.2.1 Options</a></h3>
 
 <p>Mapping from FFmpeg to libvpx options with conversion notes in parentheses.
 </p>
@@ -7217,8 +7447,83 @@ You need to explicitly configure the build with <code>--enable-libvpx</code>.
 <p>For more information about libvpx see:
 <a href="http://www.webmproject.org/">http://www.webmproject.org/</a>
 </p>
-<a name="libx264"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-libx264">18.3 libx264</a></h2>
+
+<a name="libwebp"></a>
+<h2 class="section"><a href="ffmpeg-all.html#toc-libwebp">18.3 libwebp</a></h2>
+
+<p>libwebp WebP Image encoder wrapper
+</p>
+<p>libwebp is Google&rsquo;s official encoder for WebP images. It can encode in either
+lossy or lossless mode. Lossy images are essentially a wrapper around a VP8
+frame. Lossless images are a separate codec developed by Google.
+</p>
+<a name="Pixel-Format"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Pixel-Format">18.3.1 Pixel Format</a></h3>
+
+<p>Currently, libwebp only supports YUV420 for lossy and RGB for lossless due
+to limitations of the format and libwebp. Alpha is supported for either mode.
+Because of API limitations, if RGB is passed in when encoding lossy or YUV is
+passed in for encoding lossless, the pixel format will automatically be
+converted using functions from libwebp. This is not ideal and is done only for
+convenience.
+</p>
+<a name="Options-24"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-24">18.3.2 Options</a></h3>
+
+<dl compact="compact">
+<dt> &lsquo;<samp>-lossless <var>boolean</var></samp>&rsquo;</dt>
+<dd><p>Enables/Disables use of lossless mode. Default is 0.
+</p>
+</dd>
+<dt> &lsquo;<samp>-compression_level <var>integer</var></samp>&rsquo;</dt>
+<dd><p>For lossy, this is a quality/speed tradeoff. Higher values give better quality
+for a given size at the cost of increased encoding time. For lossless, this is
+a size/speed tradeoff. Higher values give smaller size at the cost of increased
+encoding time. More specifically, it controls the number of extra algorithms
+and compression tools used, and varies the combination of these tools. This
+maps to the <var>method</var> option in libwebp. The valid range is 0 to 6.
+Default is 4.
+</p>
+</dd>
+<dt> &lsquo;<samp>-qscale <var>float</var></samp>&rsquo;</dt>
+<dd><p>For lossy encoding, this controls image quality, 0 to 100. For lossless
+encoding, this controls the effort and time spent at compressing more. The
+default value is 75. Note that for usage via libavcodec, this option is called
+<var>global_quality</var> and must be multiplied by <var>FF_QP2LAMBDA</var>.
+</p>
+</dd>
+<dt> &lsquo;<samp>-preset <var>type</var></samp>&rsquo;</dt>
+<dd><p>Configuration preset. This does some automatic settings based on the general
+type of the image.
+</p><dl compact="compact">
+<dt> &lsquo;<samp>none</samp>&rsquo;</dt>
+<dd><p>Do not use a preset.
+</p></dd>
+<dt> &lsquo;<samp>default</samp>&rsquo;</dt>
+<dd><p>Use the encoder default.
+</p></dd>
+<dt> &lsquo;<samp>picture</samp>&rsquo;</dt>
+<dd><p>Digital picture, like portrait, inner shot
+</p></dd>
+<dt> &lsquo;<samp>photo</samp>&rsquo;</dt>
+<dd><p>Outdoor photograph, with natural lighting
+</p></dd>
+<dt> &lsquo;<samp>drawing</samp>&rsquo;</dt>
+<dd><p>Hand or line drawing, with high-contrast details
+</p></dd>
+<dt> &lsquo;<samp>icon</samp>&rsquo;</dt>
+<dd><p>Small-sized colorful images
+</p></dd>
+<dt> &lsquo;<samp>text</samp>&rsquo;</dt>
+<dd><p>Text-like
+</p></dd>
+</dl>
+
+</dd>
+</dl>
+
+<a name="libx264_002c-libx264rgb"></a>
+<h2 class="section"><a href="ffmpeg-all.html#toc-libx264_002c-libx264rgb">18.4 libx264, libx264rgb</a></h2>
 
 <p>x264 H.264/MPEG-4 AVC encoder wrapper.
 </p>
@@ -7234,14 +7539,25 @@ for detail retention (adaptive quantization, psy-RD, psy-trellis).
 <p>Many libx264 encoder options are mapped to FFmpeg global codec
 options, while unique encoder options are provided through private
 options. Additionally the &lsquo;<samp>x264opts</samp>&rsquo; and &lsquo;<samp>x264-params</samp>&rsquo;
-private options allows to pass a list of key=value tuples as accepted
+private options allows one to pass a list of key=value tuples as accepted
 by the libx264 <code>x264_param_parse</code> function.
 </p>
 <p>The x264 project website is at
 <a href="http://www.videolan.org/developers/x264.html">http://www.videolan.org/developers/x264.html</a>.
 </p>
-<a name="Options-19"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-19">18.3.1 Options</a></h3>
+<p>The libx264rgb encoder is the same as libx264, except it accepts packed RGB
+pixel formats as input instead of YUV.
+</p>
+<a name="Supported-Pixel-Formats"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Supported-Pixel-Formats">18.4.1 Supported Pixel Formats</a></h3>
+
+<p>x264 supports 8- to 10-bit color spaces. The exact bit depth is controlled at
+x264&rsquo;s configure time. FFmpeg only supports one bit depth in one particular
+build. In other words, it is not possible to build one FFmpeg with multiple
+versions of x264 with different bit depths.
+</p>
+<a name="Options-17"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-17">18.4.2 Options</a></h3>
 
 <p>The following options are supported by the libx264 wrapper. The
 <code>x264</code>-equivalent options or values are listed in parentheses
@@ -7607,7 +7923,7 @@ is kept undocumented for some reason.
 parameters.
 </p>
 <p>This option is functionally the same as the &lsquo;<samp>x264opts</samp>&rsquo;, but is
-duplicated for compability with the Libav fork.
+duplicated for compatibility with the Libav fork.
 </p>
 <p>For example to specify libx264 encoding options with <code>ffmpeg</code>:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -c:v libx264 -x264-params level=30:bframes=0:weightp=0:\
@@ -7621,7 +7937,7 @@ no-fast-pskip=1:subq=6:8x8dct=0:trellis=0 OUTPUT
 general presets system (e.g. passing the &lsquo;<samp>pre</samp>&rsquo; option).
 </p>
 <a name="libxvid"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-libxvid">18.4 libxvid</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-libxvid">18.5 libxvid</a></h2>
 
 <p>Xvid MPEG-4 Part 2 encoder wrapper.
 </p>
@@ -7632,8 +7948,8 @@ during configuration. You need to explicitly configure the build with
 <p>The native <code>mpeg4</code> encoder supports the MPEG-4 Part 2 format, so
 users can encode to this format without this library.
 </p>
-<a name="Options-28"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-28">18.4.1 Options</a></h3>
+<a name="Options-8"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-8">18.5.1 Options</a></h3>
 
 <p>The following options are supported by the libxvid wrapper. Some of
 the following options are listed but are not documented, and
@@ -7796,12 +8112,12 @@ fastest.
 </dl>
 
 <a name="png"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-png">18.5 png</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-png">18.6 png</a></h2>
 
 <p>PNG image encoder.
 </p>
 <a name="Private-options"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Private-options">18.5.1 Private options</a></h3>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Private-options">18.6.1 Private options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>dpi <var>integer</var></samp>&rsquo;</dt>
@@ -7813,15 +8129,15 @@ fastest.
 </dl>
 
 <a name="ProRes"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-ProRes">18.6 ProRes</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-ProRes">18.7 ProRes</a></h2>
 
 <p>Apple ProRes encoder.
 </p>
 <p>FFmpeg contains 2 ProRes encoders, the prores-aw and prores-ks encoder.
-The used encoder can be choosen with the <code>-vcodec</code> option.
+The used encoder can be chosen with the <code>-vcodec</code> option.
 </p>
 <a name="Private-Options-for-prores_002dks"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Private-Options-for-prores_002dks">18.6.1 Private Options for prores-ks</a></h3>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Private-Options-for-prores_002dks">18.7.1 Private Options for prores-ks</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>profile <var>integer</var></samp>&rsquo;</dt>
@@ -7875,7 +8191,7 @@ Use <var>0</var> to disable alpha plane coding.
 </dl>
 
 <a name="Speed-considerations"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Speed-considerations">18.6.2 Speed considerations</a></h3>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Speed-considerations">18.7.2 Speed considerations</a></h3>
 
 <p>In the default mode of operation the encoder has to honor frame constraints
 (i.e. not produc frames with size bigger than requested) while still making
@@ -8017,8 +8333,8 @@ ffmpeg -i frame_%d.jpg -c:v copy rotated.avi
 <a name="mp3_005fheader_005fdecompress"></a>
 <h2 class="section"><a href="ffmpeg-all.html#toc-mp3_005fheader_005fdecompress">19.9 mp3_header_decompress</a></h2>
 
-<a name="noise-1"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-noise-1">19.10 noise</a></h2>
+<a name="noise"></a>
+<h2 class="section"><a href="ffmpeg-all.html#toc-noise">19.10 noise</a></h2>
 
 <a name="remove_005fextra"></a>
 <h2 class="section"><a href="ffmpeg-all.html#toc-remove_005fextra">19.11 remove_extra</a></h2>
@@ -8185,18 +8501,30 @@ wild as errors.
 </p>
 </dd>
 <dt> &lsquo;<samp>avoid_negative_ts <var>integer</var> (<em>output</em>)</samp>&rsquo;</dt>
-<dd><p>Shift timestamps to make them non-negative. A value of 1 enables shifting,
-a value of 0 disables it, the default value of -1 enables shifting
-when required by the target format.
-</p>
+<dd>
+<p>Possible values:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>make_non_negative</samp>&rsquo;</dt>
+<dd><p>Shift timestamps to make them non-negative.
+Also note that this affects only leading negative timestamps, and not
+non-monotonic negative timestamps.
+</p></dd>
+<dt> &lsquo;<samp>make_zero</samp>&rsquo;</dt>
+<dd><p>Shift timestamps so that the first timestamp is 0.
+</p></dd>
+<dt> &lsquo;<samp>auto (default)</samp>&rsquo;</dt>
+<dd><p>Enables shifting when required by the target format.
+</p></dd>
+<dt> &lsquo;<samp>disabled</samp>&rsquo;</dt>
+<dd><p>Disables shifting of timestamp.
+</p></dd>
+</dl>
+
 <p>When shifting is enabled, all output timestamps are shifted by the
 same amount. Audio, video, and subtitles desynching and relative
 timestamp differences are preserved compared to how they would have
 been without shifting.
 </p>
-<p>Also note that this affects only leading negative timestamps, and not
-non-monotonic negative timestamps.
-</p>
 </dd>
 <dt> &lsquo;<samp>skip_initial_bytes <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
 <dd><p>Set number of bytes to skip before reading header and frames if set to 1.
@@ -8211,6 +8539,19 @@ Default is 0.
 <dd><p>Flush the underlying I/O stream after each packet. Default 1 enables it, and
 has the effect of reducing the latency; 0 disables it and may slightly
 increase performance in some cases.
+</p>
+</dd>
+<dt> &lsquo;<samp>output_ts_offset <var>offset</var> (<em>output</em>)</samp>&rsquo;</dt>
+<dd><p>Set the output time offset.
+</p>
+<p><var>offset</var> must be a time duration specification,
+see <a href="ffmpeg-utils.html#time-duration-syntax">(ffmpeg-utils)time duration syntax</a>.
+</p>
+<p>The offset is added by the muxer to the output timestamps.
+</p>
+<p>Specifying a positive offset means that the corresponding streams are
+delayed bt the time duration specified in <var>offset</var>. Default value
+is <code>0</code> (meaning that no offset is applied).
 </p></dd>
 </dl>
 
@@ -8297,8 +8638,8 @@ available in a metadata key named &quot;variant_bitrate&quot;.
 </dl>
 
 <p><a name="concat"></a>
-</p><a name="concat-3"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-concat-3">21.3 concat</a></h2>
+</p><a name="concat-2"></a>
+<h2 class="section"><a href="ffmpeg-all.html#toc-concat-2">21.3 concat</a></h2>
 
 <p>Virtual concatenation script demuxer.
 </p>
@@ -8319,8 +8660,8 @@ because the file is truncated, for example), it can cause artifacts. The
 <code>duration</code> directive can be used to override the duration stored in
 each file.
 </p>
-<a name="Syntax-1"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Syntax-1">21.3.1 Syntax</a></h3>
+<a name="Syntax-2"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Syntax-2">21.3.1 Syntax</a></h3>
 
 <p>The script is a text file in extended-ASCII, with one directive per line.
 Empty lines, leading spaces and lines starting with &rsquo;#&rsquo; are ignored. The
@@ -8354,8 +8695,8 @@ whole concatenated video.
 </dd>
 </dl>
 
-<a name="Options-12"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-12">21.3.2 Options</a></h3>
+<a name="Options-35"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-35">21.3.2 Options</a></h3>
 
 <p>This demuxer accepts the following option:
 </p>
@@ -8530,8 +8871,8 @@ size is guessed from the first image file in the sequence.
 </p></dd>
 </dl>
 
-<a name="Examples-69"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-69">21.7.1 Examples</a></h3>
+<a name="Examples-72"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-72">21.7.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -8567,12 +8908,12 @@ teletext packet PTS and DTS values untouched.
 </p></dd>
 </dl>
 
-<a name="rawvideo"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-rawvideo">21.9 rawvideo</a></h2>
+<a name="rawvideo-1"></a>
+<h2 class="section"><a href="ffmpeg-all.html#toc-rawvideo-1">21.9 rawvideo</a></h2>
 
 <p>Raw video demuxer.
 </p>
-<p>This demuxer allows to read raw video data. Since there is no header
+<p>This demuxer allows one to read raw video data. Since there is no header
 specifying the assumed video parameters, the user must specify them
 in order to be able to decode the data correctly.
 </p>
@@ -8676,6 +9017,9 @@ enabled muxers.
 
 <p>Audio Interchange File Format muxer.
 </p>
+<a name="Options-4"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-4">22.1.1 Options</a></h3>
+
 <p>It accepts the following options:
 </p>
 <dl compact="compact">
@@ -8705,6 +9049,11 @@ CRC.
 CRC=0x<var>CRC</var>, where <var>CRC</var> is a hexadecimal number 0-padded to
 8 digits containing the CRC for all the decoded input frames.
 </p>
+<p>See also the <a href="#framecrc">framecrc</a> muxer.
+</p>
+<a name="Examples-12"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-12">22.2.1 Examples</a></h3>
+
 <p>For example to compute the CRC of the input, and store it in the file
 &lsquo;<tt>out.crc</tt>&rsquo;:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -f crc out.crc
@@ -8721,8 +9070,6 @@ and the input video converted to MPEG-2 video, use the command:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -c:a pcm_u8 -c:v mpeg2video -f crc -
 </pre></td></tr></table>
 
-<p>See also the <a href="#framecrc">framecrc</a> muxer.
-</p>
 <p><a name="framecrc"></a>
 </p><a name="framecrc-1"></a>
 <h2 class="section"><a href="ffmpeg-all.html#toc-framecrc-1">22.3 framecrc</a></h2>
@@ -8742,6 +9089,9 @@ packet of the form:
 <p><var>CRC</var> is a hexadecimal number 0-padded to 8 digits containing the
 CRC of the packet.
 </p>
+<a name="Examples-14"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-14">22.3.1 Examples</a></h3>
+
 <p>For example to compute the CRC of the audio and video frames in
 &lsquo;<tt>INPUT</tt>&rsquo;, converted to raw audio and video packets, and store it
 in the file &lsquo;<tt>out.crc</tt>&rsquo;:
@@ -8782,6 +9132,9 @@ packet of the form:
 <p><var>MD5</var> is a hexadecimal number representing the computed MD5 hash
 for the packet.
 </p>
+<a name="Examples-50"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-50">22.4.1 Examples</a></h3>
+
 <p>For example to compute the MD5 of the audio and video frames in
 &lsquo;<tt>INPUT</tt>&rsquo;, converted to raw audio and video packets, and store it
 in the file &lsquo;<tt>out.md5</tt>&rsquo;:
@@ -8834,28 +9187,54 @@ can not be smaller than one centi second.
 <h2 class="section"><a href="ffmpeg-all.html#toc-hls-1">22.6 hls</a></h2>
 
 <p>Apple HTTP Live Streaming muxer that segments MPEG-TS according to
-the HTTP Live Streaming specification.
+the HTTP Live Streaming (HLS) specification.
 </p>
 <p>It creates a playlist file and numbered segment files. The output
 filename specifies the playlist filename; the segment filenames
 receive the same basename as the playlist, a sequential number and
 a .ts extension.
 </p>
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i in.nut out.m3u8
+<p>For example, to convert an input file with <code>ffmpeg</code>:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i in.nut out.m3u8
 </pre></td></tr></table>
 
+<p>See also the <a href="#segment">segment</a> muxer, which provides a more generic and
+flexible implementation of a segmenter, and can be used to perform HLS
+segmentation.
+</p>
+<a name="Options-12"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-12">22.6.1 Options</a></h3>
+
+<p>This muxer supports the following options:
+</p>
 <dl compact="compact">
-<dt> &lsquo;<samp>-hls_time <var>seconds</var></samp>&rsquo;</dt>
-<dd><p>Set the segment length in seconds.
-</p></dd>
-<dt> &lsquo;<samp>-hls_list_size <var>size</var></samp>&rsquo;</dt>
-<dd><p>Set the maximum number of playlist entries.
-</p></dd>
-<dt> &lsquo;<samp>-hls_wrap <var>wrap</var></samp>&rsquo;</dt>
-<dd><p>Set the number after which index wraps.
-</p></dd>
-<dt> &lsquo;<samp>-start_number <var>number</var></samp>&rsquo;</dt>
-<dd><p>Start the sequence from <var>number</var>.
+<dt> &lsquo;<samp>hls_time <var>seconds</var></samp>&rsquo;</dt>
+<dd><p>Set the segment length in seconds. Default value is 2.
+</p>
+</dd>
+<dt> &lsquo;<samp>hls_list_size <var>size</var></samp>&rsquo;</dt>
+<dd><p>Set the maximum number of playlist entries. If set to 0 the list file
+will contain all the segments. Default value is 5.
+</p>
+</dd>
+<dt> &lsquo;<samp>hls_wrap <var>wrap</var></samp>&rsquo;</dt>
+<dd><p>Set the number after which the segment filename number (the number
+specified in each segment file) wraps. If set to 0 the number will be
+never wrapped. Default value is 0.
+</p>
+<p>This option is useful to avoid to fill the disk with many segment
+files, and limits the maximum number of segment files written to disk
+to <var>wrap</var>.
+</p>
+</dd>
+<dt> &lsquo;<samp>start_number <var>number</var></samp>&rsquo;</dt>
+<dd><p>Start the playlist sequence number from <var>number</var>. Default value is
+0.
+</p>
+<p>Note that the playlist sequence number must be unique for each segment
+and it is not to be confused with the segment filename sequence number
+which can be cyclic, for example if the &lsquo;<samp>wrap</samp>&rsquo; option is
+specified.
 </p></dd>
 </dl>
 
@@ -8923,6 +9302,9 @@ The pattern &quot;img%%-%d.jpg&quot; will specify a sequence of filenames of the
 form &lsquo;<tt>img%-1.jpg</tt>&rsquo;, &lsquo;<tt>img%-2.jpg</tt>&rsquo;, ..., &lsquo;<tt>img%-10.jpg</tt>&rsquo;,
 etc.
 </p>
+<a name="Examples-92"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-92">22.8.1 Examples</a></h3>
+
 <p>The following example shows how to use <code>ffmpeg</code> for creating a
 sequence of files &lsquo;<tt>img-001.jpeg</tt>&rsquo;, &lsquo;<tt>img-002.jpeg</tt>&rsquo;, ...,
 taking one image every second from the input video:
@@ -8942,18 +9324,35 @@ command can be written as:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i in.avi -f image2 -frames:v 1 img.jpeg
 </pre></td></tr></table>
 
+<p>The &lsquo;<samp>strftime</samp>&rsquo; option allows you to expand the filename with
+date and time information. Check the documentation of
+the <code>strftime()</code> function for the syntax.
+</p>
+<p>For example to generate image files from the <code>strftime()</code>
+&quot;%Y-%m-%d_%H-%M-%S&quot; pattern, the following <code>ffmpeg</code> command
+can be used:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -f v4l2 -r 1 -i /dev/video0 -f image2 -strftime 1 &quot;%Y-%m-%d_%H-%M-%S.jpg&quot;
+</pre></td></tr></table>
+
+<a name="Options-19"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-19">22.8.2 Options</a></h3>
+
 <dl compact="compact">
-<dt> &lsquo;<samp>start_number <var>number</var></samp>&rsquo;</dt>
-<dd><p>Start the sequence from <var>number</var>. Default value is 1. Must be a
-non-negative number.
+<dt> &lsquo;<samp>start_number</samp>&rsquo;</dt>
+<dd><p>Start the sequence from the specified number. Default value is 1. Must
+be a non-negative number.
 </p>
 </dd>
-<dt> &lsquo;<samp>-update <var>number</var></samp>&rsquo;</dt>
-<dd><p>If <var>number</var> is nonzero, the filename will always be interpreted as just a
-filename, not a pattern, and this file will be continuously overwritten with new
-images.
+<dt> &lsquo;<samp>update</samp>&rsquo;</dt>
+<dd><p>If set to 1, the filename will always be interpreted as just a
+filename, not a pattern, and the corresponding file will be continuously
+overwritten with new images. Default value is 0.
 </p>
 </dd>
+<dt> &lsquo;<samp>strftime</samp>&rsquo;</dt>
+<dd><p>If set to 1, expand the filename with date and time information from
+<code>strftime()</code>. Default value is 0.
+</p></dd>
 </dl>
 
 <p>The image muxer supports the .Y.U.V image file format. This format is
@@ -8969,23 +9368,29 @@ specify the name of the &rsquo;.Y&rsquo; file. The muxer will automatically open
 </p>
 <p>This muxer implements the matroska and webm container specs.
 </p>
+<a name="Metadata-1"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Metadata-1">22.9.1 Metadata</a></h3>
+
 <p>The recognized metadata settings in this muxer are:
 </p>
 <dl compact="compact">
-<dt> &lsquo;<samp>title=<var>title name</var></samp>&rsquo;</dt>
-<dd><p>Name provided to a single track
-</p></dd>
-</dl>
-
-<dl compact="compact">
-<dt> &lsquo;<samp>language=<var>language name</var></samp>&rsquo;</dt>
-<dd><p>Specifies the language of the track in the Matroska languages form
-</p></dd>
-</dl>
-
-<dl compact="compact">
-<dt> &lsquo;<samp>stereo_mode=<var>mode</var></samp>&rsquo;</dt>
-<dd><p>Stereo 3D video layout of two views in a single video track
+<dt> &lsquo;<samp>title</samp>&rsquo;</dt>
+<dd><p>Set title name provided to a single track.
+</p>
+</dd>
+<dt> &lsquo;<samp>language</samp>&rsquo;</dt>
+<dd><p>Specify the language of the track in the Matroska languages form.
+</p>
+<p>The language can be either the 3 letters bibliographic ISO-639-2 (ISO
+639-2/B) form (like &quot;fre&quot; for French), or a language code mixed with a
+country code for specialities in languages (like &quot;fre-ca&quot; for Canadian
+French).
+</p>
+</dd>
+<dt> &lsquo;<samp>stereo_mode</samp>&rsquo;</dt>
+<dd><p>Set stereo 3D video layout of two views in a single video track.
+</p>
+<p>The following values are recognized:
 </p><dl compact="compact">
 <dt> &lsquo;<samp>mono</samp>&rsquo;</dt>
 <dd><p>video is not stereo
@@ -9040,6 +9445,9 @@ specify the name of the &rsquo;.Y&rsquo; file. The muxer will automatically open
 </p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i sample_left_right_clip.mpg -an -c:v libvpx -metadata stereo_mode=left_right -y stereo_clip.webm
 </pre></td></tr></table>
 
+<a name="Options-38"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-38">22.9.2 Options</a></h3>
+
 <p>This muxer supports the following options:
 </p>
 <dl compact="compact">
@@ -9057,8 +9465,7 @@ for most use cases should be about 50kB per hour of video.
 </p>
 <p>Note that cues are only written if the output is seekable and this option will
 have no effect if it is not.
-</p>
-</dd>
+</p></dd>
 </dl>
 
 <p><a name="md5"></a>
@@ -9087,8 +9494,8 @@ audio and video, and store it in the file &lsquo;<tt>out.md5</tt>&rsquo;:
 
 <p>See also the <a href="#framemd5">framemd5</a> muxer.
 </p>
-<a name="mov_002fmp4_002fismv"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-mov_002fmp4_002fismv">22.11 mov/mp4/ismv</a></h2>
+<a name="mov_002c-mp4_002c-ismv"></a>
+<h2 class="section"><a href="ffmpeg-all.html#toc-mov_002c-mp4_002c-ismv">22.11 mov, mp4, ismv</a></h2>
 
 <p>MOV/MP4/ISMV (Smooth Streaming) muxer.
 </p>
@@ -9106,6 +9513,9 @@ very long files (since writing normal MOV/MP4 files stores info about
 every single packet in memory until the file is closed). The downside
 is that it is less compatible with other applications.
 </p>
+<a name="Options-44"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-44">22.11.1 Options</a></h3>
+
 <p>Fragmentation is enabled by setting one of the AVOptions that define
 how to cut the file into fragments:
 </p>
@@ -9172,6 +9582,9 @@ as fragmented output, thus it is not enabled by default.
 </p></dd>
 </dl>
 
+<a name="Example-1"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Example-1">22.11.2 Example</a></h3>
+
 <p>Smooth Streaming content can be pushed in real time to a publishing
 point on IIS with this muxer. Example:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -re <var>&lt;normal input/transcoding options&gt;</var> -movflags isml+frag_keyframe -f ismv http://server/publishingpoint.isml/Streams(Encoder1)
@@ -9182,12 +9595,15 @@ point on IIS with this muxer. Example:
 
 <p>The MP3 muxer writes a raw MP3 stream with an ID3v2 header at the beginning and
 optionally an ID3v1 tag at the end. ID3v2.3 and ID3v2.4 are supported, the
-<code>id3v2_version</code> option controls which one is used. The legacy ID3v1 tag is
-not written by default, but may be enabled with the <code>write_id3v1</code> option.
+<code>id3v2_version</code> option controls which one is used. Setting
+<code>id3v2_version</code> to 0 will disable the ID3v2 header completely. The legacy
+ID3v1 tag is not written by default, but may be enabled with the
+<code>write_id3v1</code> option.
 </p>
-<p>For seekable output the muxer also writes a Xing frame at the beginning, which
-contains the number of frames in the file. It is useful for computing duration
-of VBR files.
+<p>The muxer may also write a Xing frame at the beginning, which contains the
+number of frames in the file. It is useful for computing duration of VBR files.
+The Xing frame is written if the output stream is seekable and if the
+<code>write_xing</code> option is set to 1 (the default).
 </p>
 <p>The muxer supports writing ID3v2 attached pictures (APIC frames). The pictures
 are supplied to the muxer in form of a video stream with a single packet. There
@@ -9212,6 +9628,10 @@ with <code>map</code>:
 -metadata:s:v title=&quot;Album cover&quot; -metadata:s:v comment=&quot;Cover (Front)&quot; out.mp3
 </pre></td></tr></table>
 
+<p>Write a &quot;clean&quot; MP3 without any extra features:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i input.wav -write_xing 0 -id3v2_version 0 out.mp3
+</pre></td></tr></table>
+
 <a name="mpegts"></a>
 <h2 class="section"><a href="ffmpeg-all.html#toc-mpegts">22.13 mpegts</a></h2>
 
@@ -9219,6 +9639,14 @@ with <code>map</code>:
 </p>
 <p>This muxer implements ISO 13818-1 and part of ETSI EN 300 468.
 </p>
+<p>The recognized metadata settings in mpegts muxer are <code>service_provider</code>
+and <code>service_name</code>. If they are not set the default for
+<code>service_provider</code> is &quot;FFmpeg&quot; and the default for
+<code>service_name</code> is &quot;Service01&quot;.
+</p>
+<a name="Options-33"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-33">22.13.1 Options</a></h3>
+
 <p>The muxer options are:
 </p>
 <dl compact="compact">
@@ -9283,11 +9711,9 @@ ffmpeg -i source2.ts -codec copy -f mpegts -tables_version 1 udp://1.1.1.1:1111
 </p></dd>
 </dl>
 
-<p>The recognized metadata settings in mpegts muxer are <code>service_provider</code>
-and <code>service_name</code>. If they are not set the default for
-<code>service_provider</code> is &quot;FFmpeg&quot; and the default for
-<code>service_name</code> is &quot;Service01&quot;.
-</p>
+<a name="Example"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Example">22.13.2 Example</a></h3>
+
 <table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i file.mpg -c copy \
      -mpegts_original_network_id 0x1122 \
      -mpegts_transport_stream_id 0x3344 \
@@ -9337,12 +9763,13 @@ overhead.
 </p></dd>
 </dl>
 
-<a name="segment_002c-stream_005fsegment_002c-ssegment"></a>
+<p><a name="segment"></a>
+</p><a name="segment_002c-stream_005fsegment_002c-ssegment"></a>
 <h2 class="section"><a href="ffmpeg-all.html#toc-segment_002c-stream_005fsegment_002c-ssegment">22.16 segment, stream_segment, ssegment</a></h2>
 
 <p>Basic stream segmenter.
 </p>
-<p>The segmenter muxer outputs streams to a number of separate files of nearly
+<p>This muxer outputs streams to a number of separate files of nearly
 fixed duration. Output filename pattern can be set in a fashion similar to
 <a href="#image2">image2</a>.
 </p>
@@ -9368,12 +9795,18 @@ the option <var>segment_list</var>. The list type is specified by the
 list are set by default to the basename of the corresponding segment
 files.
 </p>
+<p>See also the <a href="#hls">hls</a> muxer, which provides a more specific
+implementation for HLS segmentation.
+</p>
+<a name="Options-28"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-28">22.16.1 Options</a></h3>
+
 <p>The segment muxer supports the following options:
 </p>
 <dl compact="compact">
 <dt> &lsquo;<samp>reference_stream <var>specifier</var></samp>&rsquo;</dt>
 <dd><p>Set the reference stream, as specified by the string <var>specifier</var>.
-If <var>specifier</var> is set to <code>auto</code>, the reference is choosen
+If <var>specifier</var> is set to <code>auto</code>, the reference is chosen
 automatically. Otherwise it must be a stream specifier (see the &ldquo;Stream
 specifiers&rdquo; chapter in the ffmpeg manual) which specifies the
 reference stream. The default value is <code>auto</code>.
@@ -9490,7 +9923,7 @@ specified split time.
 <var>force_key_frames</var> may not be set accurately because of rounding
 issues, with the consequence that a key frame time may result set just
 before the specified time. For constant frame rate videos a value of
-1/2*<var>frame_rate</var> should address the worst case mismatch between
+1/(2*<var>frame_rate</var>) should address the worst case mismatch between
 the specified time and the time set by <var>force_key_frames</var>.
 </p>
 </dd>
@@ -9530,8 +9963,8 @@ argument must be a time duration specification, and defaults to 0.
 </p></dd>
 </dl>
 
-<a name="Examples-41"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-41">22.16.1 Examples</a></h3>
+<a name="Examples-34"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-34">22.16.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -9594,8 +10027,7 @@ to feed the same packets to several muxers directly.
 <p>The slave outputs are specified in the file name given to the muxer,
 separated by &rsquo;|&rsquo;. If any of the slave name contains the &rsquo;|&rsquo; separator,
 leading or trailing spaces or any special character, it must be
-escaped (see the &ldquo;Quoting and escaping&rdquo; section in the ffmpeg-utils
-manual).
+escaped (see <a href="ffmpeg-utils.html#quoting_005fand_005fescaping">(ffmpeg-utils)quoting_and_escaping</a>).
 </p>
 <p>Muxer options can be specified for each slave by prepending them as a list of
 <var>key</var>=<var>value</var> pairs separated by &rsquo;:&rsquo;, between square brackets. If
@@ -9611,9 +10043,11 @@ output name suffix.
 </dd>
 <dt> &lsquo;<samp>bsfs[/<var>spec</var>]</samp>&rsquo;</dt>
 <dd><p>Specify a list of bitstream filters to apply to the specified
-output. It is possible to specify to which streams a given bitstream
-filter applies, by appending a stream specifier to the option
-separated by <code>/</code>. If the stream specifier is not specified, the
+output.
+</p>
+<p>It is possible to specify to which streams a given bitstream filter
+applies, by appending a stream specifier to the option separated by
+<code>/</code>. <var>spec</var> must be a stream specifier (see <a href="#Format-stream-specifiers">Format stream specifiers</a>).  If the stream specifier is not specified, the
 bistream filters will be applied to all streams in the output.
 </p>
 <p>Several bitstream filters can be specified, separated by &quot;,&quot;.
@@ -9626,8 +10060,10 @@ all the input streams.
 </p></dd>
 </dl>
 
-<p>Some examples follow.
-</p><ul>
+<a name="Examples-7"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-7">22.17.1 Examples</a></h3>
+
+<ul>
 <li>
 Encode something and both archive it in a WebM file and stream it
 as MPEG-TS over UDP (the streams need to be explicitly mapped):
@@ -9645,6 +10081,14 @@ audio packets.
 <table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i ... -map 0 -flags +global_header -c:v libx264 -c:a aac -strict experimental
        -f tee &quot;[bsfs/v=dump_extra]out.ts|[movflags=+faststart]out.mp4|[select=a]out.aac&quot;
 </pre></td></tr></table>
+
+</li><li>
+As below, but select only stream <code>a:1</code> for the audio output. Note
+that a second level escaping must be performed, as &quot;:&quot; is a special
+character used to separate options.
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i ... -map 0 -flags +global_header -c:v libx264 -c:a aac -strict experimental
+       -f tee &quot;[bsfs/v=dump_extra]out.ts|[movflags=+faststart]out.mp4|[select=\'a:1\']out.aac&quot;
+</pre></td></tr></table>
 </li></ul>
 
 <p>Note: some codecs may need different options depending on the output format;
@@ -9792,8 +10236,8 @@ supported protocols.
 <table><tr><td>&nbsp;</td><td><pre class="example">cache:<var>URL</var>
 </pre></td></tr></table>
 
-<a name="concat-2"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-concat-2">24.3 concat</a></h2>
+<a name="concat-3"></a>
+<h2 class="section"><a href="ffmpeg-all.html#toc-concat-3">24.3 concat</a></h2>
 
 <p>Physical concatenation protocol.
 </p>
@@ -9852,17 +10296,24 @@ crypto+<var>URL</var>
 
 <p>File access protocol.
 </p>
-<p>Allow to read from or read to a file.
+<p>Allow to read from or write to a file.
+</p>
+<p>A file URL can have the form:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">file:<var>filename</var>
+</pre></td></tr></table>
+
+<p>where <var>filename</var> is the path of the file to read.
+</p>
+<p>An URL that does not have a protocol prefix will be assumed to be a
+file URL. Depending on the build, an URL that looks like a Windows
+path with the drive letter at the beginning will also be assumed to be
+a file URL (usually not the case in builds for unix-like systems).
 </p>
 <p>For example to read from a file &lsquo;<tt>input.mpeg</tt>&rsquo; with <code>ffmpeg</code>
 use the command:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i file:input.mpeg output.mpeg
 </pre></td></tr></table>
 
-<p>The ff* tools default to the file protocol, that is a resource
-specified with the name &quot;FILE.mpeg&quot; is interpreted as the URL
-&quot;file:FILE.mpeg&quot;.
-</p>
 <p>This protocol accepts the following options:
 </p>
 <dl compact="compact">
@@ -9946,7 +10397,7 @@ m3u8 files.
 
 <p>HTTP (Hyper Text Transfer Protocol).
 </p>
-<p>This protocol accepts the following options.
+<p>This protocol accepts the following options:
 </p>
 <dl compact="compact">
 <dt> &lsquo;<samp>seekable</samp>&rsquo;</dt>
@@ -9957,31 +10408,32 @@ value is -1.
 </p>
 </dd>
 <dt> &lsquo;<samp>chunked_post</samp>&rsquo;</dt>
-<dd><p>If set to 1 use chunked transfer-encoding for posts, default is 1.
-</p>
-</dd>
-<dt> &lsquo;<samp>headers</samp>&rsquo;</dt>
-<dd><p>Set custom HTTP headers, can override built in default headers. The
-value must be a string encoding the headers.
+<dd><p>If set to 1 use chunked Transfer-Encoding for posts, default is 1.
 </p>
 </dd>
 <dt> &lsquo;<samp>content_type</samp>&rsquo;</dt>
-<dd><p>Force a content type.
+<dd><p>Set a specific content type for the POST messages.
 </p>
 </dd>
-<dt> &lsquo;<samp>user-agent</samp>&rsquo;</dt>
-<dd><p>Override User-Agent header. If not specified the protocol will use a
-string describing the libavformat build.
+<dt> &lsquo;<samp>headers</samp>&rsquo;</dt>
+<dd><p>Set custom HTTP headers, can override built in default headers. The
+value must be a string encoding the headers.
 </p>
 </dd>
 <dt> &lsquo;<samp>multiple_requests</samp>&rsquo;</dt>
-<dd><p>Use persistent connections if set to 1. By default it is 0.
+<dd><p>Use persistent connections if set to 1, default is 0.
 </p>
 </dd>
 <dt> &lsquo;<samp>post_data</samp>&rsquo;</dt>
 <dd><p>Set custom HTTP post data.
 </p>
 </dd>
+<dt> &lsquo;<samp>user-agent</samp>&rsquo;</dt>
+<dt> &lsquo;<samp>user_agent</samp>&rsquo;</dt>
+<dd><p>Override the User-Agent header. If not specified the protocol will use a
+string describing the libavformat build. (&quot;Lavf/&lt;version&gt;&quot;)
+</p>
+</dd>
 <dt> &lsquo;<samp>timeout</samp>&rsquo;</dt>
 <dd><p>Set timeout of socket I/O operations used by the underlying low level
 operation. By default it is set to -1, which means that the timeout is
@@ -9989,7 +10441,7 @@ not specified.
 </p>
 </dd>
 <dt> &lsquo;<samp>mime_type</samp>&rsquo;</dt>
-<dd><p>Set MIME type.
+<dd><p>Export the MIME type.
 </p>
 </dd>
 <dt> &lsquo;<samp>icy</samp>&rsquo;</dt>
@@ -10000,19 +10452,29 @@ The default is 0.
 </p>
 </dd>
 <dt> &lsquo;<samp>icy_metadata_headers</samp>&rsquo;</dt>
-<dd><p>If the server supports ICY metadata, this contains the ICY specific HTTP reply
-headers, separated with newline characters.
+<dd><p>If the server supports ICY metadata, this contains the ICY-specific HTTP reply
+headers, separated by newline characters.
 </p>
 </dd>
 <dt> &lsquo;<samp>icy_metadata_packet</samp>&rsquo;</dt>
 <dd><p>If the server supports ICY metadata, and &lsquo;<samp>icy</samp>&rsquo; was set to 1, this
-contains the last non-empty metadata packet sent by the server.
+contains the last non-empty metadata packet sent by the server. It should be
+polled in regular intervals by applications interested in mid-stream metadata
+updates.
 </p>
 </dd>
 <dt> &lsquo;<samp>cookies</samp>&rsquo;</dt>
 <dd><p>Set the cookies to be sent in future requests. The format of each cookie is the
 same as the value of a Set-Cookie HTTP response field. Multiple cookies can be
 delimited by a newline character.
+</p>
+</dd>
+<dt> &lsquo;<samp>offset</samp>&rsquo;</dt>
+<dd><p>Set initial byte offset.
+</p>
+</dd>
+<dt> &lsquo;<samp>end_offset</samp>&rsquo;</dt>
+<dd><p>Try to limit the request to bytes preceding this offset.
 </p></dd>
 </dl>
 
@@ -10323,6 +10785,11 @@ is not specified.
 truncating. Default value is 1.
 </p>
 </dd>
+<dt> &lsquo;<samp>private_key</samp>&rsquo;</dt>
+<dd><p>Specify the path of the file containing private key to use during authorization.
+By default libssh searches for keys in the &lsquo;<tt>~/.ssh/</tt>&rsquo; directory.
+</p>
+</dd>
 </dl>
 
 <p>Example: Play a file stored on remote server.
@@ -10447,6 +10914,8 @@ set to the the local RTP port value plus 1.
 <a name="rtsp"></a>
 <h2 class="section"><a href="ffmpeg-all.html#toc-rtsp">24.24 rtsp</a></h2>
 
+<p>Real-Time Streaming Protocol.
+</p>
 <p>RTSP is not technically a protocol handler in libavformat, it is a demuxer
 and muxer. The demuxer supports both normal RTSP (with data transferred
 over RTP; this is used by e.g. Apple and Microsoft) and Real-RTSP (with
@@ -10460,13 +10929,23 @@ supporting it (currently Darwin Streaming Server and Mischa Spiegelmock&rsquo;s
 </p><table><tr><td>&nbsp;</td><td><pre class="example">rtsp://<var>hostname</var>[:<var>port</var>]/<var>path</var>
 </pre></td></tr></table>
 
-<p>The following options (set on the <code>ffmpeg</code>/<code>ffplay</code> command
-line, or set in code via <code>AVOption</code>s or in <code>avformat_open_input</code>),
-are supported:
+<p>Options can be set on the <code>ffmpeg</code>/<code>ffplay</code> command
+line, or set in code via <code>AVOption</code>s or in
+<code>avformat_open_input</code>.
 </p>
-<p>Flags for <code>rtsp_transport</code>:
+<p>The following options are supported.
 </p>
 <dl compact="compact">
+<dt> &lsquo;<samp>initial_pause</samp>&rsquo;</dt>
+<dd><p>Do not start playing the stream immediately if set to 1. Default value
+is 0.
+</p>
+</dd>
+<dt> &lsquo;<samp>rtsp_transport</samp>&rsquo;</dt>
+<dd><p>Set RTSP trasport protocols.
+</p>
+<p>It accepts the following values:
+</p><dl compact="compact">
 <dt> &lsquo;<samp>udp</samp>&rsquo;</dt>
 <dd><p>Use UDP as lower transport protocol.
 </p>
@@ -10488,11 +10967,14 @@ passing proxies.
 
 <p>Multiple lower transport protocols may be specified, in that case they are
 tried one at a time (if the setup of one fails, the next one is tried).
-For the muxer, only the <code>tcp</code> and <code>udp</code> options are supported.
+For the muxer, only the &lsquo;<samp>tcp</samp>&rsquo; and &lsquo;<samp>udp</samp>&rsquo; options are supported.
 </p>
-<p>Flags for <code>rtsp_flags</code>:
+</dd>
+<dt> &lsquo;<samp>rtsp_flags</samp>&rsquo;</dt>
+<dd><p>Set RTSP flags.
 </p>
-<dl compact="compact">
+<p>The following values are accepted:
+</p><dl compact="compact">
 <dt> &lsquo;<samp>filter_src</samp>&rsquo;</dt>
 <dd><p>Accept packets only from negotiated peer address and port.
 </p></dd>
@@ -10501,6 +10983,51 @@ For the muxer, only the <code>tcp</code> and <code>udp</code> options are suppor
 </p></dd>
 </dl>
 
+<p>Default value is &lsquo;<samp>none</samp>&rsquo;.
+</p>
+</dd>
+<dt> &lsquo;<samp>allowed_media_types</samp>&rsquo;</dt>
+<dd><p>Set media types to accept from the server.
+</p>
+<p>The following flags are accepted:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>video</samp>&rsquo;</dt>
+<dt> &lsquo;<samp>audio</samp>&rsquo;</dt>
+<dt> &lsquo;<samp>data</samp>&rsquo;</dt>
+</dl>
+
+<p>By default it accepts all media types.
+</p>
+</dd>
+<dt> &lsquo;<samp>min_port</samp>&rsquo;</dt>
+<dd><p>Set minimum local UDP port. Default value is 5000.
+</p>
+</dd>
+<dt> &lsquo;<samp>max_port</samp>&rsquo;</dt>
+<dd><p>Set maximum local UDP port. Default value is 65000.
+</p>
+</dd>
+<dt> &lsquo;<samp>timeout</samp>&rsquo;</dt>
+<dd><p>Set maximum timeout (in seconds) to wait for incoming connections.
+</p>
+<p>A value of -1 mean infinite (default). This option implies the
+&lsquo;<samp>rtsp_flags</samp>&rsquo; set to &lsquo;<samp>listen</samp>&rsquo;.
+</p>
+</dd>
+<dt> &lsquo;<samp>reorder_queue_size</samp>&rsquo;</dt>
+<dd><p>Set number of packets to buffer for handling of reordered packets.
+</p>
+</dd>
+<dt> &lsquo;<samp>stimeout</samp>&rsquo;</dt>
+<dd><p>Set socket TCP I/O timeout in micro seconds.
+</p>
+</dd>
+<dt> &lsquo;<samp>user-agent</samp>&rsquo;</dt>
+<dd><p>Override User-Agent header. If not specified, it default to the
+libavformat identifier string.
+</p></dd>
+</dl>
+
 <p>When receiving data over UDP, the demuxer tries to reorder received packets
 (since they may arrive out of order, or packets may get lost totally). This
 can be disabled by setting the maximum demuxing delay to zero (via
@@ -10511,33 +11038,33 @@ streams to display can be chosen with <code>-vst</code> <var>n</var> and
 <code>-ast</code> <var>n</var> for video and audio respectively, and can be switched
 on the fly by pressing <code>v</code> and <code>a</code>.
 </p>
-<p>Example command lines:
-</p>
-<p>To watch a stream over UDP, with a max reordering delay of 0.5 seconds:
+<a name="Examples-75"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-75">24.24.1 Examples</a></h3>
+
+<p>The following examples all make use of the <code>ffplay</code> and
+<code>ffmpeg</code> tools.
 </p>
+<ul>
+<li>
+Watch a stream over UDP, with a max reordering delay of 0.5 seconds:
 <table><tr><td>&nbsp;</td><td><pre class="example">ffplay -max_delay 500000 -rtsp_transport udp rtsp://server/video.mp4
 </pre></td></tr></table>
 
-<p>To watch a stream tunneled over HTTP:
-</p>
+</li><li>
+Watch a stream tunneled over HTTP:
 <table><tr><td>&nbsp;</td><td><pre class="example">ffplay -rtsp_transport http rtsp://server/video.mp4
 </pre></td></tr></table>
 
-<p>To send a stream in realtime to a RTSP server, for others to watch:
-</p>
+</li><li>
+Send a stream in realtime to a RTSP server, for others to watch:
 <table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -re -i <var>input</var> -f rtsp -muxdelay 0.1 rtsp://server/live.sdp
 </pre></td></tr></table>
 
-<p>To receive a stream in realtime:
-</p>
+</li><li>
+Receive a stream in realtime:
 <table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -rtsp_flags listen -i rtsp://ownaddress/live.sdp <var>output</var>
 </pre></td></tr></table>
-
-<dl compact="compact">
-<dt> &lsquo;<samp>stimeout</samp>&rsquo;</dt>
-<dd><p>Socket IO timeout in micro seconds.
-</p></dd>
-</dl>
+</li></ul>
 
 <a name="sap"></a>
 <h2 class="section"><a href="ffmpeg-all.html#toc-sap">24.25 sap</a></h2>
@@ -10682,29 +11209,40 @@ used as master salt.
 <a name="tcp"></a>
 <h2 class="section"><a href="ffmpeg-all.html#toc-tcp">24.28 tcp</a></h2>
 
-<p>Trasmission Control Protocol.
+<p>Transmission Control Protocol.
 </p>
 <p>The required syntax for a TCP url is:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">tcp://<var>hostname</var>:<var>port</var>[?<var>options</var>]
 </pre></td></tr></table>
 
+<p><var>options</var> contains a list of &amp;-separated options of the form
+<var>key</var>=<var>val</var>.
+</p>
+<p>The list of supported options follows.
+</p>
 <dl compact="compact">
-<dt> &lsquo;<samp>listen</samp>&rsquo;</dt>
-<dd><p>Listen for an incoming connection
+<dt> &lsquo;<samp>listen=<var>1|0</var></samp>&rsquo;</dt>
+<dd><p>Listen for an incoming connection. Default value is 0.
 </p>
 </dd>
 <dt> &lsquo;<samp>timeout=<var>microseconds</var></samp>&rsquo;</dt>
-<dd><p>In read mode: if no data arrived in more than this time interval, raise error.
-In write mode: if socket cannot be written in more than this time interval, raise error.
-This also sets timeout on TCP connection establishing.
+<dd><p>Set raise error timeout, expressed in microseconds.
+</p>
+<p>This option is only relevant in read mode: if no data arrived in more
+than this time interval, raise error.
 </p>
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i <var>input</var> -f <var>format</var> tcp://<var>hostname</var>:<var>port</var>?listen
-ffplay tcp://<var>hostname</var>:<var>port</var>
-</pre></td></tr></table>
-
 </dd>
+<dt> &lsquo;<samp>listen_timeout=<var>microseconds</var></samp>&rsquo;</dt>
+<dd><p>Set listen timeout, expressed in microseconds.
+</p></dd>
 </dl>
 
+<p>The following example shows how to setup a listening TCP connection
+with <code>ffmpeg</code>, which is then accessed with <code>ffplay</code>:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i <var>input</var> -f <var>format</var> tcp://<var>hostname</var>:<var>port</var>?listen
+ffplay tcp://<var>hostname</var>:<var>port</var>
+</pre></td></tr></table>
+
 <a name="tls"></a>
 <h2 class="section"><a href="ffmpeg-all.html#toc-tls">24.29 tls</a></h2>
 
@@ -10773,14 +11311,14 @@ the server role in the handshake instead of the client role.
 
 <p>User Datagram Protocol.
 </p>
-<p>The required syntax for a UDP url is:
+<p>The required syntax for an UDP URL is:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">udp://<var>hostname</var>:<var>port</var>[?<var>options</var>]
 </pre></td></tr></table>
 
 <p><var>options</var> contains a list of &amp;-separated options of the form <var>key</var>=<var>val</var>.
 </p>
 <p>In case threading is enabled on the system, a circular buffer is used
-to store the incoming data, which allows to reduce loss of data due to
+to store the incoming data, which allows one to reduce loss of data due to
 UDP socket buffer overruns. The <var>fifo_size</var> and
 <var>overrun_nonfatal</var> options are related to this buffer.
 </p>
@@ -10847,23 +11385,33 @@ value is 0.
 </p>
 </dd>
 <dt> &lsquo;<samp>timeout=<var>microseconds</var></samp>&rsquo;</dt>
-<dd><p>In read mode: if no data arrived in more than this time interval, raise error.
+<dd><p>Set raise error timeout, expressed in microseconds.
+</p>
+<p>This option is only relevant in read mode: if no data arrived in more
+than this time interval, raise error.
 </p></dd>
 </dl>
 
-<p>Some usage examples of the UDP protocol with <code>ffmpeg</code> follow.
-</p>
-<p>To stream over UDP to a remote endpoint:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i <var>input</var> -f <var>format</var> udp://<var>hostname</var>:<var>port</var>
+<a name="Examples-93"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-93">24.30.1 Examples</a></h3>
+
+<ul>
+<li>
+Use <code>ffmpeg</code> to stream over UDP to a remote endpoint:
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i <var>input</var> -f <var>format</var> udp://<var>hostname</var>:<var>port</var>
 </pre></td></tr></table>
 
-<p>To stream in mpegts format over UDP using 188 sized UDP packets, using a large input buffer:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i <var>input</var> -f mpegts udp://<var>hostname</var>:<var>port</var>?pkt_size=188&amp;buffer_size=65535
+</li><li>
+Use <code>ffmpeg</code> to stream in mpegts format over UDP using 188
+sized UDP packets, using a large input buffer:
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i <var>input</var> -f mpegts udp://<var>hostname</var>:<var>port</var>?pkt_size=188&amp;buffer_size=65535
 </pre></td></tr></table>
 
-<p>To receive over UDP from a remote endpoint:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i udp://[<var>multicast-address</var>]:<var>port</var>
+</li><li>
+Use <code>ffmpeg</code> to receive over UDP from a remote endpoint:
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i udp://[<var>multicast-address</var>]:<var>port</var> ...
 </pre></td></tr></table>
+</li></ul>
 
 <a name="unix"></a>
 <h2 class="section"><a href="ffmpeg-all.html#toc-unix">24.31 unix</a></h2>
@@ -10981,8 +11529,8 @@ opened on the same input, which should improve synchronism between them.
 <p>where <var>TYPE</var> can be either <var>audio</var> or <var>video</var>,
 and <var>NAME</var> is the device&rsquo;s name.
 </p>
-<a name="Options-4"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-4">26.3.1 Options</a></h3>
+<a name="Options-23"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-23">26.3.1 Options</a></h3>
 
 <p>If no options are specified, the device&rsquo;s defaults are used.
 If the device does not support the requested options, it will
@@ -11045,8 +11593,8 @@ See also
 </dd>
 </dl>
 
-<a name="Examples-49"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-49">26.3.2 Examples</a></h3>
+<a name="Examples-37"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-37">26.3.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -11122,8 +11670,8 @@ Kernel 2.6.37 and later, since the old FireWire stack was removed.
 <p>Specify the FireWire port to be used as input file, or &quot;auto&quot;
 to choose the first port connected.
 </p>
-<a name="Options-11"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-11">26.6.1 Options</a></h3>
+<a name="Options-37"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-37">26.6.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>dvtype</samp>&rsquo;</dt>
@@ -11150,8 +11698,8 @@ Look at /sys/bus/firewire/devices to find out the GUIDs.
 </dd>
 </dl>
 
-<a name="Examples-44"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-44">26.6.2 Examples</a></h3>
+<a name="Examples-35"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-35">26.6.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -11229,8 +11777,8 @@ corresponding stream which is mapped to the generated output. Currently
 only video data is supported. The filtergraph is specified through the
 option &lsquo;<samp>graph</samp>&rsquo;.
 </p>
-<a name="Options-14"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-14">26.8.1 Options</a></h3>
+<a name="Options-11"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-11">26.8.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>graph</samp>&rsquo;</dt>
@@ -11253,8 +11801,8 @@ the option <var>graph</var>.
 </dd>
 </dl>
 
-<a name="Examples-26"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-26">26.8.2 Examples</a></h3>
+<a name="Examples-102"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-102">26.8.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -11328,7 +11876,7 @@ See <a href="http://developer.apple.com/technologies/mac/audio-and-video.html">h
 </p></dd>
 </dl>
 
-<p>This device allows to capture from an audio input device handled
+<p>This device allows one to capture from an audio input device handled
 through OpenAL.
 </p>
 <p>You need to specify the name of the device to capture in the provided
@@ -11336,8 +11884,8 @@ filename. If the empty string is provided, the device will
 automatically select the default device. You can get the list of the
 supported devices by using the option <var>list_devices</var>.
 </p>
-<a name="Options-15"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-15">26.10.1 Options</a></h3>
+<a name="Options-36"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-36">26.10.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>channels</samp>&rsquo;</dt>
@@ -11364,8 +11912,8 @@ Defaults to &lsquo;<samp>false</samp>&rsquo;.
 </dd>
 </dl>
 
-<a name="Examples-85"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-85">26.10.2 Examples</a></h3>
+<a name="Examples-8"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-8">26.10.2 Examples</a></h3>
 
 <p>Print the list of OpenAL supported devices and exit:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">$ ffmpeg -list_devices true -f openal -i dummy out.ogg
@@ -11386,8 +11934,8 @@ within the same <code>ffmpeg</code> command:
 <p>Note: not all OpenAL implementations support multiple simultaneous capture -
 try the latest OpenAL Soft if the above does not work.
 </p>
-<a name="oss-1"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-oss-1">26.11 oss</a></h2>
+<a name="oss"></a>
+<h2 class="section"><a href="ffmpeg-all.html#toc-oss">26.11 oss</a></h2>
 
 <p>Open Sound System input device.
 </p>
@@ -11403,8 +11951,8 @@ command:
 <p>For more information about OSS see:
 <a href="http://manuals.opensound.com/usersguide/dsp.html">http://manuals.opensound.com/usersguide/dsp.html</a>
 </p>
-<a name="pulse"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-pulse">26.12 pulse</a></h2>
+<a name="pulse-1"></a>
+<h2 class="section"><a href="ffmpeg-all.html#toc-pulse-1">26.12 pulse</a></h2>
 
 <p>PulseAudio input device.
 </p>
@@ -11418,8 +11966,8 @@ the command <code>pactl list sources</code>.
 </p>
 <p>More information about PulseAudio can be found on <a href="http://www.pulseaudio.org">http://www.pulseaudio.org</a>.
 </p>
-<a name="Options-1"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-1">26.12.1 Options</a></h3>
+<a name="Options-29"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-29">26.12.1 Options</a></h3>
 <dl compact="compact">
 <dt> &lsquo;<samp>server</samp>&rsquo;</dt>
 <dd><p>Connect to a specific PulseAudio server, specified by an IP address.
@@ -11454,8 +12002,8 @@ audio latency. By default it is unset.
 </p></dd>
 </dl>
 
-<a name="Examples-52"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-52">26.12.2 Examples</a></h3>
+<a name="Examples-6"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-6">26.12.2 Examples</a></h3>
 <p>Record a stream from default device:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -f pulse -i default /tmp/pulse.wav
 </pre></td></tr></table>
@@ -11524,8 +12072,8 @@ frame rate and size as previously set:
 
 <p>For more information about Video4Linux, check <a href="http://linuxtv.org/">http://linuxtv.org/</a>.
 </p>
-<a name="Options-24"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-24">26.14.1 Options</a></h3>
+<a name="Options"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options">26.14.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>standard</samp>&rsquo;</dt>
@@ -11550,7 +12098,7 @@ previously selected channel.
 </dd>
 <dt> &lsquo;<samp>input_format</samp>&rsquo;</dt>
 <dd><p>Set the preferred pixel format (for raw video) or a codec name.
-This option allows to select the input format, when several are
+This option allows one to select the input format, when several are
 available.
 </p>
 </dd>
@@ -11625,7 +12173,7 @@ other filename will be interpreted as device number 0.
 
 <p>X11 video input device.
 </p>
-<p>This device allows to capture a region of an X11 display.
+<p>This device allows one to capture a region of an X11 display.
 </p>
 <p>The filename passed as input has the syntax:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">[<var>hostname</var>]:<var>display_number</var>.<var>screen_number</var>[+<var>x_offset</var>,<var>y_offset</var>]
@@ -11653,8 +12201,8 @@ properties of your X11 display (e.g. grep for &quot;name&quot; or &quot;dimensio
 </p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -f x11grab -framerate 25 -video_size cif -i :0.0+10,20 out.mpg
 </pre></td></tr></table>
 
-<a name="Options-20"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-20">26.16.1 Options</a></h3>
+<a name="Options-13"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-13">26.16.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>draw_mouse</samp>&rsquo;</dt>
@@ -11731,8 +12279,8 @@ enabled output devices (amongst the muxers).
 
 <p>ALSA (Advanced Linux Sound Architecture) output device.
 </p>
-<a name="Examples-61"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-61">27.1.1 Examples</a></h3>
+<a name="Examples-77"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-77">27.1.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -11751,7 +12299,7 @@ Play a file on soundcard 1, audio device 7:
 
 <p>CACA output device.
 </p>
-<p>This output device allows to show a video stream in CACA window.
+<p>This output device allows one to show a video stream in CACA window.
 Only one CACA window is allowed per application, so you can
 have only one instance of this output device in an application.
 </p>
@@ -11762,8 +12310,8 @@ libcaca is a graphics library that outputs text instead of pixels.
 <p>For more information about libcaca, check:
 <a href="http://caca.zoy.org/wiki/libcaca">http://caca.zoy.org/wiki/libcaca</a>
 </p>
-<a name="Options-17"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-17">27.2.1 Options</a></h3>
+<a name="Options-34"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-34">27.2.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>window_title</samp>&rsquo;</dt>
@@ -11815,8 +12363,8 @@ The argument must be one of <code>algorithms</code>, <code>antialiases</code>,
 </p></dd>
 </dl>
 
-<a name="Examples-43"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-43">27.2.2 Examples</a></h3>
+<a name="Examples-74"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-74">27.2.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -11836,8 +12384,70 @@ Show the list of available dither colors and exit:
 </pre></td></tr></table>
 </li></ul>
 
+<a name="decklink"></a>
+<h2 class="section"><a href="ffmpeg-all.html#toc-decklink">27.3 decklink</a></h2>
+
+<p>The decklink output device provides playback capabilities for Blackmagic
+DeckLink devices.
+</p>
+<p>To enable this output device, you need the Blackmagic DeckLink SDK and you
+need to configure with the appropriate <code>--extra-cflags</code>
+and <code>--extra-ldflags</code>.
+On Windows, you need to run the IDL files through <code>widl</code>.
+</p>
+<p>DeckLink is very picky about the formats it supports. Pixel format is always
+uyvy422, framerate and video size must be determined for your device with
+<code>-list_formats 1</code>. Audio sample rate is always 48 kHz.
+</p>
+<a name="Options-30"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-30">27.3.1 Options</a></h3>
+
+<dl compact="compact">
+<dt> &lsquo;<samp>list_devices</samp>&rsquo;</dt>
+<dd><p>If set to &lsquo;<samp>true</samp>&rsquo;, print a list of devices and exit.
+Defaults to &lsquo;<samp>false</samp>&rsquo;.
+</p>
+</dd>
+<dt> &lsquo;<samp>list_formats</samp>&rsquo;</dt>
+<dd><p>If set to &lsquo;<samp>true</samp>&rsquo;, print a list of supported formats and exit.
+Defaults to &lsquo;<samp>false</samp>&rsquo;.
+</p>
+</dd>
+<dt> &lsquo;<samp>preroll</samp>&rsquo;</dt>
+<dd><p>Amount of time to preroll video in seconds.
+Defaults to &lsquo;<samp>0.5</samp>&rsquo;.
+</p>
+</dd>
+</dl>
+
+<a name="Examples-61"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-61">27.3.2 Examples</a></h3>
+
+<ul>
+<li>
+List output devices:
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i test.avi -f decklink -list_devices 1 dummy
+</pre></td></tr></table>
+
+</li><li>
+List supported formats:
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i test.avi -f decklink -list_formats 1 'DeckLink Mini Monitor'
+</pre></td></tr></table>
+
+</li><li>
+Play video clip:
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i test.avi -f decklink -pix_fmt uyvy422 'DeckLink Mini Monitor'
+</pre></td></tr></table>
+
+</li><li>
+Play video clip with non-standard framerate or video size:
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i test.avi -f decklink -pix_fmt uyvy422 -s 720x486 -r 24000/1001 'DeckLink Mini Monitor'
+</pre></td></tr></table>
+
+</li></ul>
+
 <a name="fbdev-1"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-fbdev-1">27.3 fbdev</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-fbdev-1">27.4 fbdev</a></h2>
 
 <p>Linux framebuffer output device.
 </p>
@@ -11849,8 +12459,8 @@ console. It is accessed through a file device node, usually
 <p>For more detailed information read the file
 &lsquo;<tt>Documentation/fb/framebuffer.txt</tt>&rsquo; included in the Linux source tree.
 </p>
-<a name="Options-29"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-29">27.3.1 Options</a></h3>
+<a name="Options-10"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-10">27.4.1 Options</a></h3>
 <dl compact="compact">
 <dt> &lsquo;<samp>xoffset</samp>&rsquo;</dt>
 <dt> &lsquo;<samp>yoffset</samp>&rsquo;</dt>
@@ -11858,8 +12468,8 @@ console. It is accessed through a file device node, usually
 </p></dd>
 </dl>
 
-<a name="Examples-5"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-5">27.3.2 Examples</a></h3>
+<a name="Examples-49"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-49">27.4.2 Examples</a></h3>
 <p>Play a file on framebuffer device &lsquo;<tt>/dev/fb0</tt>&rsquo;.
 Required pixel format depends on current framebuffer settings.
 </p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -re -i INPUT -vcodec rawvideo -pix_fmt bgra -f fbdev /dev/fb0
@@ -11867,13 +12477,52 @@ Required pixel format depends on current framebuffer settings.
 
 <p>See also <a href="http://linux-fbdev.sourceforge.net/">http://linux-fbdev.sourceforge.net/</a>, and fbset(1).
 </p>
-<a name="oss"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-oss">27.4 oss</a></h2>
+<a name="opengl"></a>
+<h2 class="section"><a href="ffmpeg-all.html#toc-opengl">27.5 opengl</a></h2>
+<p>OpenGL output device.
+</p>
+<p>To enable this output device you need to configure FFmpeg with <code>--enable-opengl</code>.
+</p>
+<p>This output device allows one to render to OpenGL context.
+Context may be provided by application or default SDL window is created.
+</p>
+<p>When device renders to external context, application must implement handlers for following messages:
+<code>AV_CTL_MESSAGE_CREATE_WINDOW_BUFFER</code> - create OpenGL context on current thread.
+<code>AV_CTL_MESSAGE_PREPARE_WINDOW_BUFFER</code> - make OpenGL context current.
+<code>AV_CTL_MESSAGE_DISPLAY_WINDOW_BUFFER</code> - swap buffers.
+<code>AV_CTL_MESSAGE_DESTROY_WINDOW_BUFFER</code> - destroy OpenGL context.
+Application is also required to inform a device about current resolution by sending <code>AV_DEVICE_WINDOW_RESIZED</code> message.
+</p>
+<a name="Options-27"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-27">27.5.1 Options</a></h3>
+<dl compact="compact">
+<dt> &lsquo;<samp>background</samp>&rsquo;</dt>
+<dd><p>Set background color. Black is a default.
+</p></dd>
+<dt> &lsquo;<samp>no_window</samp>&rsquo;</dt>
+<dd><p>Disables default SDL window when set to non-zero value.
+Application must provide OpenGL context and both <code>window_size_cb</code> and <code>window_swap_buffers_cb</code> callbacks when set.
+</p></dd>
+<dt> &lsquo;<samp>window_title</samp>&rsquo;</dt>
+<dd><p>Set the SDL window title, if not specified default to the filename specified for the output device.
+Ignored when &lsquo;<samp>no_window</samp>&rsquo; is set.
+</p>
+</dd>
+</dl>
+
+<a name="Examples-11"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-11">27.5.2 Examples</a></h3>
+<p>Play a file on SDL window using OpenGL rendering:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg  -i INPUT -f opengl &quot;window title&quot;
+</pre></td></tr></table>
+
+<a name="oss-1"></a>
+<h2 class="section"><a href="ffmpeg-all.html#toc-oss-1">27.6 oss</a></h2>
 
 <p>OSS (Open Sound System) output device.
 </p>
-<a name="pulse-1"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-pulse-1">27.5 pulse</a></h2>
+<a name="pulse"></a>
+<h2 class="section"><a href="ffmpeg-all.html#toc-pulse">27.7 pulse</a></h2>
 
 <p>PulseAudio output device.
 </p>
@@ -11881,8 +12530,8 @@ Required pixel format depends on current framebuffer settings.
 </p>
 <p>More information about PulseAudio can be found on <a href="http://www.pulseaudio.org">http://www.pulseaudio.org</a>
 </p>
-<a name="Options-3"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-3">27.5.1 Options</a></h3>
+<a name="Options-26"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-26">27.7.1 Options</a></h3>
 <dl compact="compact">
 <dt> &lsquo;<samp>server</samp>&rsquo;</dt>
 <dd><p>Connect to a specific PulseAudio server, specified by an IP address.
@@ -11920,18 +12569,18 @@ to around 2 seconds.
 </p></dd>
 </dl>
 
-<a name="Examples-74"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-74">27.5.2 Examples</a></h3>
+<a name="Examples-40"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-40">27.7.2 Examples</a></h3>
 <p>Play a file on default device on default server:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg  -i INPUT -f pulse &quot;stream name&quot;
 </pre></td></tr></table>
 
 <a name="sdl"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-sdl">27.6 sdl</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-sdl">27.8 sdl</a></h2>
 
 <p>SDL (Simple DirectMedia Layer) output device.
 </p>
-<p>This output device allows to show a video stream in an SDL
+<p>This output device allows one to show a video stream in an SDL
 window. Only one SDL window is allowed per application, so you can
 have only one instance of this output device in an application.
 </p>
@@ -11941,8 +12590,8 @@ when configuring your build.
 <p>For more information about SDL, check:
 <a href="http://www.libsdl.org/">http://www.libsdl.org/</a>
 </p>
-<a name="Options-25"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-25">27.6.1 Options</a></h3>
+<a name="Options-1"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-1">27.8.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>window_title</samp>&rsquo;</dt>
@@ -11969,7 +12618,7 @@ Default value is zero.
 </dl>
 
 <a name="Interactive-commands"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Interactive-commands">27.6.2 Interactive commands</a></h3>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Interactive-commands">27.8.2 Interactive commands</a></h3>
 
 <p>The window created by the device can be controlled through the
 following interactive commands.
@@ -11980,8 +12629,8 @@ following interactive commands.
 </p></dd>
 </dl>
 
-<a name="Examples-84"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-84">27.6.3 Examples</a></h3>
+<a name="Examples-62"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-62">27.8.3 Examples</a></h3>
 
 <p>The following command shows the <code>ffmpeg</code> output is an
 SDL window, forcing its size to the qcif format:
@@ -11989,20 +12638,20 @@ SDL window, forcing its size to the qcif format:
 </pre></td></tr></table>
 
 <a name="sndio"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-sndio">27.7 sndio</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-sndio">27.9 sndio</a></h2>
 
 <p>sndio audio output device.
 </p>
 <a name="xv"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-xv">27.8 xv</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-xv">27.10 xv</a></h2>
 
 <p>XV (XVideo) output device.
 </p>
-<p>This output device allows to show a video stream in a X Window System
+<p>This output device allows one to show a video stream in a X Window System
 window.
 </p>
-<a name="Options-2"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-2">27.8.1 Options</a></h3>
+<a name="Options-3"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-3">27.10.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>display_name</samp>&rsquo;</dt>
@@ -12047,8 +12696,8 @@ specified for the output device.
 
 <p>For more information about XVideo see <a href="http://www.x.org/">http://www.x.org/</a>.
 </p>
-<a name="Examples-20"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-20">27.8.2 Examples</a></h3>
+<a name="Examples-81"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-81">27.10.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -12390,7 +13039,7 @@ algorithm. Only a single algorithm should be selected.
 <dd><p>Select averaging area rescaling algorithm.
 </p>
 </dd>
-<dt> &lsquo;<samp>bicubiclin</samp>&rsquo;</dt>
+<dt> &lsquo;<samp>bicublin</samp>&rsquo;</dt>
 <dd><p>Select bicubic scaling algorithm for the luma component, bilinear for
 chroma components.
 </p>
@@ -12662,7 +13311,7 @@ terminated when the next special character (belonging to the set
 </p>
 <p>The name and arguments of the filter are optionally preceded and
 followed by a list of link labels.
-A link label allows to name a link and associate it to a filter output
+A link label allows one to name a link and associate it to a filter output
 or input pad. The preceding labels <var>in_link_1</var>
 ... <var>in_link_N</var>, are associated to the filter input pads,
 the following labels <var>out_link_1</var> ... <var>out_link_M</var>, are
@@ -12706,26 +13355,41 @@ to the filtergraph description.
 <a name="Notes-on-filtergraph-escaping"></a>
 <h2 class="section"><a href="ffmpeg-all.html#toc-Notes-on-filtergraph-escaping">32.2 Notes on filtergraph escaping</a></h2>
 
-<p>Some filter arguments require the use of special characters, typically
-<code>:</code> to separate key=value pairs in a named options list. In this
-case the user should perform a first level escaping when specifying
-the filter arguments. For example, consider the following literal
-string to be embedded in the <a href="#drawtext">drawtext</a> filter arguments:
+<p>Filtergraph description composition entails several levels of
+escaping. See <a href="ffmpeg-utils.html#quoting_005fand_005fescaping">(ffmpeg-utils)quoting_and_escaping</a> for more
+information about the employed escaping procedure.
+</p>
+<p>A first level escaping affects the content of each filter option
+value, which may contain the special character <code>:</code> used to
+separate values, or one of the escaping characters <code>\'</code>.
+</p>
+<p>A second level escaping affects the whole filter description, which
+may contain the escaping characters <code>\'</code> or the special
+characters <code>[],;</code> used by the filtergraph description.
+</p>
+<p>Finally, when you specify a filtergraph on a shell commandline, you
+need to perform a third level escaping for the shell special
+characters contained within it.
+</p>
+<p>For example, consider the following string to be embedded in
+the <a href="#drawtext">drawtext</a> filter description &lsquo;<samp>text</samp>&rsquo; value:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">this is a 'string': may contain one, or more, special characters
 </pre></td></tr></table>
 
-<p>Since <code>:</code> is special for the filter arguments syntax, it needs to
-be escaped, so you get:
+<p>This string contains the <code>'</code> special escaping character, and the
+<code>:</code> special character, so it needs to be escaped in this way:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">text=this is a \'string\'\: may contain one, or more, special characters
 </pre></td></tr></table>
 
 <p>A second level of escaping is required when embedding the filter
-arguments in a filtergraph description, in order to escape all the
+description in a filtergraph description, in order to escape all the
 filtergraph special characters. Thus the example above becomes:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">drawtext=text=this is a \\\'string\\\'\\: may contain one\, or more\, special characters
 </pre></td></tr></table>
-
-<p>Finally an additional level of escaping may be needed when writing the
+<p>(note that in addition to the <code>\'</code> escaping special characters,
+also <code>,</code> needs to be escaped).
+</p>
+<p>Finally an additional level of escaping is needed when writing the
 filtergraph description in a shell command, which depends on the
 escaping rules of the adopted shell. For example, assuming that
 <code>\</code> is special and needs to be escaped with another <code>\</code>, the
@@ -12733,23 +13397,6 @@ previous string will finally result in:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">-vf &quot;drawtext=text=this is a \\\\\\'string\\\\\\'\\\\: may contain one\\, or more\\, special characters&quot;
 </pre></td></tr></table>
 
-<p>Sometimes, it might be more convenient to employ quoting in place of
-escaping. For example the string:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">Caesar: tu quoque, Brute, fili mi
-</pre></td></tr></table>
-
-<p>Can be quoted in the filter arguments as:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">text='Caesar: tu quoque, Brute, fili mi'
-</pre></td></tr></table>
-
-<p>And finally inserted in a filtergraph like:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">drawtext=text=\'Caesar: tu quoque\, Brute\, fili mi\'
-</pre></td></tr></table>
-
-<p>See the &ldquo;Quoting and escaping&rdquo; section in the ffmpeg-utils manual
-for more information about the escaping and quoting rules adopted by
-FFmpeg.
-</p>
 <a name="Timeline-editing"></a>
 <h1 class="chapter"><a href="ffmpeg-all.html#toc-Timeline-editing">33. Timeline editing</a></h1>
 
@@ -12817,8 +13464,8 @@ or the corresponding number value defined in &lsquo;<tt>libavutil/channel_layout
 <p>The special parameter &quot;auto&quot;, signifies that the filter will
 automatically select the output format depending on the output filter.
 </p>
-<a name="Examples-38"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-38">34.1.1 Examples</a></h3>
+<a name="Examples-45"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-45">34.1.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -12850,8 +13497,8 @@ smaller than number of channels all remaining channels will not be delayed.
 </p></dd>
 </dl>
 
-<a name="Examples-22"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-22">34.2.1 Examples</a></h3>
+<a name="Examples-46"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-46">34.2.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -12898,8 +13545,8 @@ Default is <code>0.5</code>.
 </p></dd>
 </dl>
 
-<a name="Examples-76"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-76">34.3.1 Examples</a></h3>
+<a name="Examples-18"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-18">34.3.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -12980,8 +13627,8 @@ use by default the same input channel layout.
 <p>Note: this filter is slow. For faster processing you should use a
 dedicated filter.
 </p>
-<a name="Examples-90"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-90">34.4.1 Examples</a></h3>
+<a name="Examples-69"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-69">34.4.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -13082,8 +13729,8 @@ If set this option is used instead of <var>nb_samples</var> one.
 </dd>
 </dl>
 
-<a name="Examples-53"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-53">34.5.1 Examples</a></h3>
+<a name="Examples-90"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-90">34.5.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -13202,8 +13849,8 @@ arbitrarily set to 4.0, which may or may not be the expected value.
 <p>If inputs do not have the same duration, the output will stop with the
 shortest.
 </p>
-<a name="Examples-56"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-56">34.8.1 Examples</a></h3>
+<a name="Examples-22"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-22">34.8.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -13329,8 +13976,8 @@ expresses a sample rate and <var>resampler_options</var> is a list of
 <var>key</var>=<var>value</var> pairs, separated by &quot;:&quot;. See the
 ffmpeg-resampler manual for the complete list of supported options.
 </p>
-<a name="Examples-18"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-18">34.13.1 Examples</a></h3>
+<a name="Examples-53"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-53">34.13.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -13531,8 +14178,8 @@ that has a smaller timestamp.
 </p></dd>
 </dl>
 
-<a name="Examples-31"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-31">34.18.1 Examples</a></h3>
+<a name="Examples-30"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-30">34.18.1 Examples</a></h3>
 
 <p>Stress-test <code>amerge</code> by randomly sending buffers on the wrong
 input, while avoiding too much of a desynchronization:
@@ -13587,8 +14234,8 @@ with a negative pts due to encoder delay.
 specified then the filter will assume nominal 1.0 tempo. Tempo must
 be in the [0.5, 2.0] range.
 </p>
-<a name="Examples-39"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-39">34.20.1 Examples</a></h3>
+<a name="Examples-100"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-100">34.20.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -13872,7 +14519,6 @@ side_right.wav
 
 <a name="compand"></a>
 <h2 class="section"><a href="ffmpeg-all.html#toc-compand">34.28 compand</a></h2>
-
 <p>Compress or expand audio dynamic range.
 </p>
 <p>A description of the accepted options follows.
@@ -13880,75 +14526,72 @@ side_right.wav
 <dl compact="compact">
 <dt> &lsquo;<samp>attacks</samp>&rsquo;</dt>
 <dt> &lsquo;<samp>decays</samp>&rsquo;</dt>
-<dd><p>Set list of times in seconds for each channel over which the instantaneous
-level of the input signal is averaged to determine its volume.
-&lsquo;<samp>attacks</samp>&rsquo; refers to increase of volume and &lsquo;<samp>decays</samp>&rsquo; refers
-to decrease of volume.
-For most situations, the attack time (response to the audio getting louder)
-should be shorter than the decay time because the human ear is more sensitive
-to sudden loud audio than sudden soft audio.
-Typical value for attack is <code>0.3</code> seconds and for decay <code>0.8</code>
-seconds.
+<dd><p>Set list of times in seconds for each channel over which the instantaneous level
+of the input signal is averaged to determine its volume. <var>attacks</var> refers to
+increase of volume and <var>decays</var> refers to decrease of volume. For most
+situations, the attack time (response to the audio getting louder) should be
+shorter than the decay time because the human ear is more sensitive to sudden
+loud audio than sudden soft audio. A typical value for attack is 0.3 seconds and
+a typical value for decay is 0.8 seconds.
 </p>
 </dd>
 <dt> &lsquo;<samp>points</samp>&rsquo;</dt>
-<dd><p>Set list of points for transfer function, specified in dB relative to maximum
-possible signal amplitude.
-Each key points list need to be defined using the following syntax:
-<code>x0/y0 x1/y1 x2/y2 ...</code>.
+<dd><p>Set list of points for the transfer function, specified in dB relative to the
+maximum possible signal amplitude. Each key points list must be defined using
+the following syntax: <code>x0/y0|x1/y1|x2/y2|....</code> or
+<code>x0/y0 x1/y1 x2/y2 ....</code>
 </p>
-<p>The input values must be in strictly increasing order but the transfer
-function does not have to be monotonically rising.
-The point <code>0/0</code> is assumed but may be overridden (by <code>0/out-dBn</code>).
-Typical values for the transfer function are <code>-70/-70 -60/-20</code>.
+<p>The input values must be in strictly increasing order but the transfer function
+does not have to be monotonically rising. The point <code>0/0</code> is assumed but
+may be overridden (by <code>0/out-dBn</code>). Typical values for the transfer
+function are <code>-70/-70|-60/-20</code>.
 </p>
 </dd>
 <dt> &lsquo;<samp>soft-knee</samp>&rsquo;</dt>
-<dd><p>Set amount for which the points at where adjacent line segments on the
-transfer function meet will be rounded. Defaults is <code>0.01</code>.
+<dd><p>Set the curve radius in dB for all joints. Defaults to 0.01.
 </p>
 </dd>
 <dt> &lsquo;<samp>gain</samp>&rsquo;</dt>
-<dd><p>Set additional gain in dB to be applied at all points on the transfer function
-and allows easy adjustment of the overall gain.
-Default is <code>0</code>.
+<dd><p>Set additional gain in dB to be applied at all points on the transfer function.
+This allows easy adjustment of the overall gain. Defaults to 0.
 </p>
 </dd>
 <dt> &lsquo;<samp>volume</samp>&rsquo;</dt>
 <dd><p>Set initial volume in dB to be assumed for each channel when filtering starts.
-This permits the user to supply a nominal level initially, so that,
-for example, a very large gain is not applied to initial signal levels before
-the companding has begun to operate. A typical value for audio which is
-initially quiet is -90 dB. Default is <code>0</code>.
+This permits the user to supply a nominal level initially, so that, for
+example, a very large gain is not applied to initial signal levels before the
+companding has begun to operate. A typical value for audio which is initially
+quiet is -90 dB. Defaults to 0.
 </p>
 </dd>
 <dt> &lsquo;<samp>delay</samp>&rsquo;</dt>
-<dd><p>Set delay in seconds. Default is <code>0</code>. The input audio
-is analysed immediately, but audio is delayed before being fed to the
-volume adjuster. Specifying a delay approximately equal to the attack/decay
-times allows the filter to effectively operate in predictive rather than
-reactive mode.
-</p></dd>
+<dd><p>Set delay in seconds. The input audio is analyzed immediately, but audio is
+delayed before being fed to the volume adjuster. Specifying a delay
+approximately equal to the attack/decay times allows the filter to effectively
+operate in predictive rather than reactive mode. Defaults to 0.
+</p>
+</dd>
 </dl>
 
-<a name="Examples-79"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-79">34.28.1 Examples</a></h3>
+<a name="Examples-99"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-99">34.28.1 Examples</a></h3>
+
 <ul>
 <li>
-Make music with both quiet and loud passages suitable for listening
-in a noisy environment:
-<table><tr><td>&nbsp;</td><td><pre class="example">compand=.3 .3:1 1:-90/-60 -60/-40 -40/-30 -20/-20:6:0:-90:0.2
+Make music with both quiet and loud passages suitable for listening in a noisy
+environment:
+<table><tr><td>&nbsp;</td><td><pre class="example">compand=.3|.3:1|1:-90/-60|-60/-40|-40/-30|-20/-20:6:0:-90:0.2
 </pre></td></tr></table>
 
 </li><li>
-Noise-gate for when the noise is at a lower level than the signal:
-<table><tr><td>&nbsp;</td><td><pre class="example">compand=.1 .1:.2 .2:-900/-900 -50.1/-900 -50/-50:.01:0:-90:.1
+Noise gate for when the noise is at a lower level than the signal:
+<table><tr><td>&nbsp;</td><td><pre class="example">compand=.1|.1:.2|.2:-900/-900|-50.1/-900|-50/-50:.01:0:-90:.1
 </pre></td></tr></table>
 
 </li><li>
-Here is another noise-gate, this time for when the noise is at a higher level
+Here is another noise gate, this time for when the noise is at a higher level
 than the signal (making it, in some ways, similar to squelch):
-<table><tr><td>&nbsp;</td><td><pre class="example">compand=.1 .1:.1 .1:-45.1/-45.1 -45/-900 0/-900:.01:45:-90:.1
+<table><tr><td>&nbsp;</td><td><pre class="example">compand=.1|.1:.1|.1:-45.1/-45.1|-45/-900|0/-900:.01:45:-90:.1
 </pre></td></tr></table>
 </li></ul>
 
@@ -14010,6 +14653,20 @@ Beware of clipping when using a positive gain.
 </p></dd>
 </dl>
 
+<a name="Examples-20"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-20">34.30.1 Examples</a></h3>
+<ul>
+<li>
+Attenuate 10 dB at 1000 Hz, with a bandwidth of 200 Hz:
+<table><tr><td>&nbsp;</td><td><pre class="example">equalizer=f=1000:width_type=h:width=200:g=-10
+</pre></td></tr></table>
+
+</li><li>
+Apply 2 dB gain at 1000 Hz with Q 1 and attenuate 5 dB at 100 Hz with Q 2:
+<table><tr><td>&nbsp;</td><td><pre class="example">equalizer=f=1000:width_type=q:width=1:g=2,equalizer=f=100:width_type=q:width=2:g=-5
+</pre></td></tr></table>
+</li></ul>
+
 <a name="highpass"></a>
 <h2 class="section"><a href="ffmpeg-all.html#toc-highpass">34.31 highpass</a></h2>
 
@@ -14150,8 +14807,8 @@ Only used if plugin have zero inputs.
 </dd>
 </dl>
 
-<a name="Examples-75"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-75">34.33.1 Examples</a></h3>
+<a name="Examples-19"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-19">34.33.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -14194,8 +14851,8 @@ Apply <code>C* Eq10X2 - Stereo 10-band equaliser</code> effect:
 </pre></td></tr></table>
 </li></ul>
 
-<a name="Commands-1"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Commands-1">34.33.2 Commands</a></h3>
+<a name="Commands-5"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Commands-5">34.33.2 Commands</a></h3>
 
 <p>This filter supports the following commands:
 </p><dl compact="compact">
@@ -14378,8 +15035,8 @@ specified value) or amplitude ratio. Default is -60dB, or 0.001.
 </p></dd>
 </dl>
 
-<a name="Examples-24"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-24">34.38.1 Examples</a></h3>
+<a name="Examples-97"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-97">34.38.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -14448,7 +15105,7 @@ The default value is <code>3000</code> Hz.
 </p>
 <dl compact="compact">
 <dt> &lsquo;<samp>volume</samp>&rsquo;</dt>
-<dd><p>Expresses how the audio volume will be increased or decreased.
+<dd><p>Set audio volume expression.
 </p>
 <p>Output values are clipped to the maximum value.
 </p>
@@ -14456,7 +15113,7 @@ The default value is <code>3000</code> Hz.
 </p><table><tr><td>&nbsp;</td><td><pre class="example"><var>output_volume</var> = <var>volume</var> * <var>input_volume</var>
 </pre></td></tr></table>
 
-<p>Default value for <var>volume</var> is 1.0.
+<p>Default value for <var>volume</var> is &quot;1.0&quot;.
 </p>
 </dd>
 <dt> &lsquo;<samp>precision</samp>&rsquo;</dt>
@@ -14476,11 +15133,88 @@ precision of the volume scaling.
 <dd><p>64-bit floating-point; limits input sample format to DBL.
 </p></dd>
 </dl>
+
 </dd>
+<dt> &lsquo;<samp>eval</samp>&rsquo;</dt>
+<dd><p>Set when the volume expression is evaluated.
+</p>
+<p>It accepts the following values:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>once</samp>&rsquo;</dt>
+<dd><p>only evaluate expression once during the filter initialization, or
+when the &lsquo;<samp>volume</samp>&rsquo; command is sent
+</p>
+</dd>
+<dt> &lsquo;<samp>frame</samp>&rsquo;</dt>
+<dd><p>evaluate expression for each incoming frame
+</p></dd>
 </dl>
 
-<a name="Examples-70"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-70">34.40.1 Examples</a></h3>
+<p>Default value is &lsquo;<samp>once</samp>&rsquo;.
+</p></dd>
+</dl>
+
+<p>The volume expression can contain the following parameters.
+</p>
+<dl compact="compact">
+<dt> &lsquo;<samp>n</samp>&rsquo;</dt>
+<dd><p>frame number (starting at zero)
+</p></dd>
+<dt> &lsquo;<samp>nb_channels</samp>&rsquo;</dt>
+<dd><p>number of channels
+</p></dd>
+<dt> &lsquo;<samp>nb_consumed_samples</samp>&rsquo;</dt>
+<dd><p>number of samples consumed by the filter
+</p></dd>
+<dt> &lsquo;<samp>nb_samples</samp>&rsquo;</dt>
+<dd><p>number of samples in the current frame
+</p></dd>
+<dt> &lsquo;<samp>pos</samp>&rsquo;</dt>
+<dd><p>original frame position in the file
+</p></dd>
+<dt> &lsquo;<samp>pts</samp>&rsquo;</dt>
+<dd><p>frame PTS
+</p></dd>
+<dt> &lsquo;<samp>sample_rate</samp>&rsquo;</dt>
+<dd><p>sample rate
+</p></dd>
+<dt> &lsquo;<samp>startpts</samp>&rsquo;</dt>
+<dd><p>PTS at start of stream
+</p></dd>
+<dt> &lsquo;<samp>startt</samp>&rsquo;</dt>
+<dd><p>time at start of stream
+</p></dd>
+<dt> &lsquo;<samp>t</samp>&rsquo;</dt>
+<dd><p>frame time
+</p></dd>
+<dt> &lsquo;<samp>tb</samp>&rsquo;</dt>
+<dd><p>timestamp timebase
+</p></dd>
+<dt> &lsquo;<samp>volume</samp>&rsquo;</dt>
+<dd><p>last set volume value
+</p></dd>
+</dl>
+
+<p>Note that when &lsquo;<samp>eval</samp>&rsquo; is set to &lsquo;<samp>once</samp>&rsquo; only the
+<var>sample_rate</var> and <var>tb</var> variables are available, all other
+variables will evaluate to NAN.
+</p>
+<a name="Commands-1"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Commands-1">34.40.1 Commands</a></h3>
+
+<p>This filter supports the following commands:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>volume</samp>&rsquo;</dt>
+<dd><p>Modify the volume expression.
+The command accepts the same syntax of the corresponding option.
+</p>
+<p>If the specified expression is not valid, it is kept at its current
+value.
+</p></dd>
+</dl>
+
+<a name="Examples-38"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-38">34.40.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -14499,6 +15233,11 @@ omitted, for example like in:
 Increase input audio power by 6 decibels using fixed-point precision:
 <table><tr><td>&nbsp;</td><td><pre class="example">volume=volume=6dB:precision=fixed
 </pre></td></tr></table>
+
+</li><li>
+Fade volume after time 10 with an annihilation period of 5 seconds:
+<table><tr><td>&nbsp;</td><td><pre class="example">volume='if(lt(t,10),1,max(1-(t-10)/5,0))':eval=frame
+</pre></td></tr></table>
 </li></ul>
 
 <a name="volumedetect"></a>
@@ -14516,8 +15255,8 @@ the samples).
 </p>
 <p>All volumes are in decibels relative to the maximum PCM value.
 </p>
-<a name="Examples-51"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-51">34.41.1 Examples</a></h3>
+<a name="Examples-71"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-71">34.41.1 Examples</a></h3>
 
 <p>Here is an excerpt of the output:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">[Parsed_volumedetect_0 &nbsp;0xa23120] mean_volume: -27 dB
@@ -14591,8 +15330,8 @@ must be consistent.
 </dd>
 </dl>
 
-<a name="Examples-46"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-46">35.1.1 Examples</a></h3>
+<a name="Examples-16"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-16">35.1.1 Examples</a></h3>
 
 <table><tr><td>&nbsp;</td><td><pre class="example">abuffer=sample_rate=44100:sample_fmt=s16p:channel_layout=stereo
 </pre></td></tr></table>
@@ -14666,8 +15405,8 @@ default to 1024.
 </dd>
 </dl>
 
-<a name="Examples-32"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-32">35.2.1 Examples</a></h3>
+<a name="Examples-2"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-2">35.2.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -14736,8 +15475,8 @@ channel layout values.
 </dd>
 </dl>
 
-<a name="Examples-91"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-91">35.3.1 Examples</a></h3>
+<a name="Examples-1"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-1">35.3.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -14789,8 +15528,8 @@ immediately. Default value is 0.
 </p></dd>
 </dl>
 
-<a name="Examples-13"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-13">35.4.1 Examples</a></h3>
+<a name="Examples-44"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-44">35.4.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -14851,8 +15590,8 @@ the carrier frequency. Default is 0, meaning the beep is disabled.
 </p></dd>
 </dl>
 
-<a name="Examples-50"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-50">35.5.1 Examples</a></h3>
+<a name="Examples-78"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-78">35.5.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -15152,8 +15891,8 @@ Default is <code>1</code>.
 </p></dd>
 </dl>
 
-<a name="Examples-25"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-25">37.7.1 Examples</a></h3>
+<a name="Examples-24"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-24">37.7.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -15250,8 +15989,8 @@ corresponding value set for &lsquo;<samp>luma_power</samp>&rsquo;.
 </p></dd>
 </dl>
 
-<a name="Examples-83"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-83">37.8.1 Examples</a></h3>
+<a name="Examples-57"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-57">37.8.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -15306,8 +16045,8 @@ value towards the complementary color.
 </p></dd>
 </dl>
 
-<a name="Examples-57"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-57">37.9.1 Examples</a></h3>
+<a name="Examples-84"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-84">37.9.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -15365,8 +16104,8 @@ Default is <code>1</code> for <var>aa</var>, and <code>0</code> for <var>ar</var
 </p></dd>
 </dl>
 
-<a name="Examples-34"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-34">37.10.1 Examples</a></h3>
+<a name="Examples-47"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-47">37.10.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -15537,8 +16276,8 @@ is approximated to the nearest valid value.
 <p>The expression for <var>x</var> may depend on <var>y</var>, and the expression
 for <var>y</var> may depend on <var>x</var>.
 </p>
-<a name="Examples-8"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-8">37.13.1 Examples</a></h3>
+<a name="Examples-51"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-51">37.13.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -15720,8 +16459,8 @@ options. In this case, the unset component(s) will fallback on this
 <p>To avoid some filtergraph syntax conflicts, each key points list need to be
 defined using the following syntax: <code>x0/y0 x1/y1 x2/y2 ...</code>.
 </p>
-<a name="Examples-16"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-16">37.15.1 Examples</a></h3>
+<a name="Examples-23"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-23">37.15.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -15807,8 +16546,8 @@ variable.
 </p></dd>
 </dl>
 
-<a name="Examples-3"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-3">37.16.1 Examples</a></h3>
+<a name="Examples-80"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-80">37.16.1 Examples</a></h3>
 
 <p>Apply a denoise with a &lsquo;<samp>sigma</samp>&rsquo; of <code>4.5</code>:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">dctdnoiz=4.5
@@ -15865,8 +16604,43 @@ stream is the clean source from where the kept frames are chosen. Default is
 </p></dd>
 </dl>
 
+<a name="dejudder"></a>
+<h2 class="section"><a href="ffmpeg-all.html#toc-dejudder">37.18 dejudder</a></h2>
+
+<p>Remove judder produced by partially interlaced telecined content.
+</p>
+<p>Judder can be introduced, for instance, by <a href="#pullup">pullup</a> filter. If the original
+source was partially telecined content then the output of <code>pullup,dejudder</code>
+will have a variable frame rate. May change the recorded frame rate of the
+container. Aside from that change, this filter will not affect constant frame
+rate video.
+</p>
+<p>The option available in this filter is:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>cycle</samp>&rsquo;</dt>
+<dd><p>Specify the length of the window over which the judder repeats.
+</p>
+<p>Accepts any interger greater than 1. Useful values are:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>4</samp>&rsquo;</dt>
+<dd><p>If the original was telecined from 24 to 30 fps (Film to NTSC).
+</p>
+</dd>
+<dt> &lsquo;<samp>5</samp>&rsquo;</dt>
+<dd><p>If the original was telecined from 25 to 30 fps (PAL to NTSC).
+</p>
+</dd>
+<dt> &lsquo;<samp>20</samp>&rsquo;</dt>
+<dd><p>If a mixture of the two.
+</p></dd>
+</dl>
+
+<p>The default is &lsquo;<samp>4</samp>&rsquo;.
+</p></dd>
+</dl>
+
 <a name="delogo"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-delogo">37.18 delogo</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-delogo">37.19 delogo</a></h2>
 
 <p>Suppress a TV station logo by a simple interpolation of the surrounding
 pixels. Just set a rectangle covering the logo and watch it disappear
@@ -15904,8 +16678,8 @@ compute the interpolated pixel values inside the rectangle.
 </dd>
 </dl>
 
-<a name="Examples-67"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-67">37.18.1 Examples</a></h3>
+<a name="Examples-13"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-13">37.19.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -15917,7 +16691,7 @@ and size 100x77, setting a band of size 10:
 </li></ul>
 
 <a name="deshake"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-deshake">37.19 deshake</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-deshake">37.20 deshake</a></h2>
 
 <p>Attempt to fix small changes in horizontal and/or vertical shift. This
 filter helps remove camera shake from hand-holding a camera, bumping a
@@ -16011,7 +16785,7 @@ FFmpeg was configured with <code>--enable-opencl</code>. Default value is 0.
 </dl>
 
 <a name="drawbox"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-drawbox">37.20 drawbox</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-drawbox">37.21 drawbox</a></h2>
 
 <p>Draw a colored box on the input image.
 </p>
@@ -16085,8 +16859,8 @@ each other, so you may for example specify <code>y=x/dar</code> or <code>h=w/dar
 </dd>
 </dl>
 
-<a name="Examples-42"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-42">37.20.1 Examples</a></h3>
+<a name="Examples-88"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-88">37.21.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -16115,7 +16889,7 @@ Draw a 2-pixel red 2.40:1 mask:
 </li></ul>
 
 <a name="drawgrid"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-drawgrid">37.21 drawgrid</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-drawgrid">37.22 drawgrid</a></h2>
 
 <p>Draw a grid on the input image.
 </p>
@@ -16190,8 +16964,8 @@ each other, so you may for example specify <code>y=x/dar</code> or <code>h=w/dar
 </dd>
 </dl>
 
-<a name="Examples-54"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-54">37.21.1 Examples</a></h3>
+<a name="Examples-43"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-43">37.22.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -16207,7 +16981,7 @@ Draw a white 3x3 grid with an opacity of 50%:
 
 <p><a name="drawtext"></a>
 </p><a name="drawtext-1"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-drawtext-1">37.22 drawtext</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-drawtext-1">37.23 drawtext</a></h2>
 
 <p>Draw text string or text from specified file on top of video using the
 libfreetype library.
@@ -16215,8 +16989,8 @@ libfreetype library.
 <p>To enable compilation of this filter you need to configure FFmpeg with
 <code>--enable-libfreetype</code>.
 </p>
-<a name="Syntax"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Syntax">37.22.1 Syntax</a></h3>
+<a name="Syntax-1"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Syntax-1">37.23.1 Syntax</a></h3>
 
 <p>The description of the accepted parameters follows.
 </p>
@@ -16234,6 +17008,18 @@ option, check the &quot;Color&quot; section in the ffmpeg-utils manual.
 <p>The default value of <var>boxcolor</var> is &quot;white&quot;.
 </p>
 </dd>
+<dt> &lsquo;<samp>borderw</samp>&rsquo;</dt>
+<dd><p>Set the width of the border to be drawn around the text using <var>bordercolor</var>.
+The default value of <var>borderw</var> is 0.
+</p>
+</dd>
+<dt> &lsquo;<samp>bordercolor</samp>&rsquo;</dt>
+<dd><p>Set the color to be used for drawing border around text. For the syntax of this
+option, check the &quot;Color&quot; section in the ffmpeg-utils manual.
+</p>
+<p>The default value of <var>bordercolor</var> is &quot;black&quot;.
+</p>
+</dd>
 <dt> &lsquo;<samp>expansion</samp>&rsquo;</dt>
 <dd><p>Select how the <var>text</var> is expanded. Can be either <code>none</code>,
 <code>strftime</code> (deprecated) or
@@ -16285,7 +17071,7 @@ a combination of the following values:
 <dt> <var>no_autohint</var></dt>
 </dl>
 
-<p>Default value is &quot;render&quot;.
+<p>Default value is &quot;default&quot;.
 </p>
 <p>For more information consult the documentation for the FT_LOAD_*
 libfreetype flags.
@@ -16449,7 +17235,7 @@ each other, so you can for example specify <code>y=x/dar</code>.
 </p>
 <p><a name="drawtext_005fexpansion"></a>
 </p><a name="Text-expansion"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Text-expansion">37.22.2 Text expansion</a></h3>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Text-expansion">37.23.2 Text expansion</a></h3>
 
 <p>If &lsquo;<samp>expansion</samp>&rsquo; is set to <code>strftime</code>,
 the filter recognizes strftime() sequences in the provided text and
@@ -16517,8 +17303,8 @@ It can accept an argument: a strftime() format string.
 </dd>
 </dl>
 
-<a name="Examples-30"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-30">37.22.3 Examples</a></h3>
+<a name="Examples-28"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-28">37.23.3 Examples</a></h3>
 
 <ul>
 <li>
@@ -16588,7 +17374,7 @@ Print the date of a real-time encoding (see strftime(3)):
 <a href="http://freedesktop.org/software/fontconfig/fontconfig-user.html">http://freedesktop.org/software/fontconfig/fontconfig-user.html</a>.
 </p>
 <a name="edgedetect"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-edgedetect">37.23 edgedetect</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-edgedetect">37.24 edgedetect</a></h2>
 
 <p>Detect and draw edges. The filter uses the Canny Edge Detection algorithm.
 </p>
@@ -16604,7 +17390,7 @@ algorithm.
 connected through 8-connectivity with the &quot;weak&quot; edge pixels selected
 by the low threshold.
 </p>
-<p><var>low</var> and <var>high</var> threshold values must be choosen in the range
+<p><var>low</var> and <var>high</var> threshold values must be chosen in the range
 [0,1], and <var>low</var> should be lesser or equal to <var>high</var>.
 </p>
 <p>Default value for <var>low</var> is <code>20/255</code>, and default value for <var>high</var>
@@ -16617,7 +17403,7 @@ is <code>50/255</code>.
 </pre></td></tr></table>
 
 <a name="extractplanes"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-extractplanes">37.24 extractplanes</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-extractplanes">37.25 extractplanes</a></h2>
 
 <p>Extract color channel components from input video stream into
 separate grayscale video streams.
@@ -16645,8 +17431,8 @@ with <code>y</code>, <code>u</code>, <code>v</code> planes at same time.
 </p></dd>
 </dl>
 
-<a name="Examples-11"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-11">37.24.1 Examples</a></h3>
+<a name="Examples-21"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-21">37.25.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -16657,7 +17443,7 @@ into 3 grayscale outputs:
 </li></ul>
 
 <a name="elbg"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-elbg">37.25 elbg</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-elbg">37.26 elbg</a></h2>
 
 <p>Apply a posterize effect using the ELBG (Enhanced LBG) algorithm.
 </p>
@@ -16687,7 +17473,7 @@ will try to use a good random seed on a best effort basis.
 </dl>
 
 <a name="fade"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-fade">37.26 fade</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-fade">37.27 fade</a></h2>
 
 <p>Apply fade-in/out effect to input video.
 </p>
@@ -16737,8 +17523,8 @@ If both duration and nb_frames are specified, duration is used. Default is 0.
 </p></dd>
 </dl>
 
-<a name="Examples-14"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-14">37.26.1 Examples</a></h3>
+<a name="Examples-9"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-9">37.27.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -16779,7 +17565,7 @@ Make first 5.5 seconds black, then fade in for 0.5 seconds:
 </li></ul>
 
 <a name="field"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-field">37.27 field</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-field">37.28 field</a></h2>
 
 <p>Extract a single field from an interlaced image using stride
 arithmetic to avoid wasting CPU time. The output frames are marked as
@@ -16796,7 +17582,7 @@ non-interlaced.
 </dl>
 
 <a name="fieldmatch"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-fieldmatch">37.28 fieldmatch</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-fieldmatch">37.29 fieldmatch</a></h2>
 
 <p>Field matching filter for inverse telecine. It is meant to reconstruct the
 progressive frames from a telecined stream. The filter does not drop duplicated
@@ -17046,10 +17832,10 @@ as &lsquo;<samp>MI</samp>&rsquo; in TFM/VFM vocabulary.
 
 <p><a name="p_002fc_002fn_002fu_002fb-meaning"></a>
 </p><a name="p_002fc_002fn_002fu_002fb-meaning-1"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-p_002fc_002fn_002fu_002fb-meaning-1">37.28.1 p/c/n/u/b meaning</a></h3>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-p_002fc_002fn_002fu_002fb-meaning-1">37.29.1 p/c/n/u/b meaning</a></h3>
 
 <a name="p_002fc_002fn"></a>
-<h4 class="subsubsection"><a href="ffmpeg-all.html#toc-p_002fc_002fn">37.28.1.1 p/c/n</a></h4>
+<h4 class="subsubsection"><a href="ffmpeg-all.html#toc-p_002fc_002fn">37.29.1.1 p/c/n</a></h4>
 
 <p>We assume the following telecined stream:
 </p>
@@ -17102,7 +17888,7 @@ basically, they refer to the frame and field of the opposite parity:
 </li></ul>
 
 <a name="u_002fb"></a>
-<h4 class="subsubsection"><a href="ffmpeg-all.html#toc-u_002fb">37.28.1.2 u/b</a></h4>
+<h4 class="subsubsection"><a href="ffmpeg-all.html#toc-u_002fb">37.29.1.2 u/b</a></h4>
 
 <p>The <var>u</var> and <var>b</var> matching are a bit special in the sense that they match
 from the opposite parity flag. In the following examples, we assume that we are
@@ -17135,8 +17921,8 @@ Output frames:
                  2          1          3          2          2
 </pre></td></tr></table>
 
-<a name="Examples-35"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-35">37.28.2 Examples</a></h3>
+<a name="Examples-64"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-64">37.29.2 Examples</a></h3>
 
 <p>Simple IVTC of a top field first telecined stream:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">fieldmatch=order=tff:combmatch=none, decimate
@@ -17147,7 +17933,7 @@ Output frames:
 </pre></td></tr></table>
 
 <a name="fieldorder"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-fieldorder">37.29 fieldorder</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-fieldorder">37.30 fieldorder</a></h2>
 
 <p>Transform the field order of the input video.
 </p>
@@ -17178,7 +17964,7 @@ which is bottom field first.
 </pre></td></tr></table>
 
 <a name="fifo"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-fifo">37.30 fifo</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-fifo">37.31 fifo</a></h2>
 
 <p>Buffer input images and send them when they are requested.
 </p>
@@ -17189,7 +17975,7 @@ framework.
 </p>
 <p><a name="format"></a>
 </p><a name="format-1"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-format-1">37.31 format</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-format-1">37.32 format</a></h2>
 
 <p>Convert the input video to one of the specified pixel formats.
 Libavfilter will try to pick one that is supported for the input to
@@ -17204,8 +17990,8 @@ the next filter.
 </dd>
 </dl>
 
-<a name="Examples-81"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-81">37.31.1 Examples</a></h3>
+<a name="Examples-17"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-17">37.32.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -17220,7 +18006,7 @@ Convert the input video to the format <var>yuv420p</var>
 
 <p><a name="fps"></a>
 </p><a name="fps-1"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-fps-1">37.32 fps</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-fps-1">37.33 fps</a></h2>
 
 <p>Convert the video to specified constant frame rate by duplicating or dropping
 frames as necessary.
@@ -17271,8 +18057,8 @@ frames with a negative PTS.
 </p>
 <p>See also the <a href="#setpts">setpts</a> filter.
 </p>
-<a name="Examples-6"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-6">37.32.1 Examples</a></h3>
+<a name="Examples-5"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-5">37.33.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -17286,8 +18072,57 @@ Sets the fps to 24, using abbreviation and rounding method to round to nearest:
 </pre></td></tr></table>
 </li></ul>
 
+<a name="framepack"></a>
+<h2 class="section"><a href="ffmpeg-all.html#toc-framepack">37.34 framepack</a></h2>
+
+<p>Pack two different video streams into a stereoscopic video, setting proper
+metadata on supported codecs. The two views should have the same size and
+framerate and processing will stop when the shorter video ends. Please note
+that you may conveniently adjust view properties with the <a href="#scale">scale</a> and
+<a href="#fps">fps</a> filters.
+</p>
+<p>This filter accepts the following named parameters:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>format</samp>&rsquo;</dt>
+<dd><p>Desired packing format. Supported values are:
+</p>
+<dl compact="compact">
+<dt> &lsquo;<samp>sbs</samp>&rsquo;</dt>
+<dd><p>Views are next to each other (default).
+</p>
+</dd>
+<dt> &lsquo;<samp>tab</samp>&rsquo;</dt>
+<dd><p>Views are on top of each other.
+</p>
+</dd>
+<dt> &lsquo;<samp>lines</samp>&rsquo;</dt>
+<dd><p>Views are packed by line.
+</p>
+</dd>
+<dt> &lsquo;<samp>columns</samp>&rsquo;</dt>
+<dd><p>Views are eacked by column.
+</p>
+</dd>
+<dt> &lsquo;<samp>frameseq</samp>&rsquo;</dt>
+<dd><p>Views are temporally interleaved.
+</p>
+</dd>
+</dl>
+
+</dd>
+</dl>
+
+<p>Some examples follow:
+</p>
+<table><tr><td>&nbsp;</td><td><pre class="example"># Convert left and right views into a frame sequential video.
+ffmpeg -i LEFT -i RIGHT -filter_complex framepack=frameseq OUTPUT
+
+# Convert views into a side-by-side video with the same output resolution as the input.
+ffmpeg -i LEFT -i RIGHT -filter_complex [0:v]scale=w=iw/2[left],[1:v]scale=w=iw/2[right],[left][right]framepack=sbs OUTPUT
+</pre></td></tr></table>
+
 <a name="framestep"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-framestep">37.33 framestep</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-framestep">37.35 framestep</a></h2>
 
 <p>Select one frame every N-th frame.
 </p>
@@ -17301,7 +18136,7 @@ Allowed values are positive integers higher than 0. Default value is <code>1</co
 
 <p><a name="frei0r"></a>
 </p><a name="frei0r-1"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-frei0r-1">37.34 frei0r</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-frei0r-1">37.36 frei0r</a></h2>
 
 <p>Apply a frei0r effect to the input video.
 </p>
@@ -17336,8 +18171,8 @@ section in the ffmpeg-utils manual), a position (specified by the syntax <var>X<
 <p>The number and kind of parameters depend on the loaded effect. If an
 effect parameter is not specified the default value is set.
 </p>
-<a name="Examples-73"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-73">37.34.1 Examples</a></h3>
+<a name="Examples-58"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-58">37.36.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -17363,7 +18198,7 @@ positions:
 <a href="http://frei0r.dyne.org">http://frei0r.dyne.org</a>
 </p>
 <a name="geq"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-geq">37.35 geq</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-geq">37.37 geq</a></h2>
 
 <p>The filter accepts the following options:
 </p>
@@ -17468,8 +18303,8 @@ plane. Return 0 if there is no such plane.
 <p>For functions, if <var>x</var> and <var>y</var> are outside the area, the value will be
 automatically clipped to the closer edge.
 </p>
-<a name="Examples-15"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-15">37.35.1 Examples</a></h3>
+<a name="Examples-70"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-70">37.37.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -17500,7 +18335,7 @@ Modify RGB components depending on pixel position:
 </li></ul>
 
 <a name="gradfun"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-gradfun">37.36 gradfun</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-gradfun">37.38 gradfun</a></h2>
 
 <p>Fix the banding artifacts that are sometimes introduced into nearly flat
 regions by truncation to 8bit color depth.
@@ -17533,8 +18368,8 @@ will be clipped to the valid range.
 <p>Alternatively, the options can be specified as a flat string:
 <var>strength</var>[:<var>radius</var>]
 </p>
-<a name="Examples-80"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-80">37.36.1 Examples</a></h3>
+<a name="Examples-101"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-101">37.38.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -17552,7 +18387,7 @@ value):
 
 <p><a name="haldclut"></a>
 </p><a name="haldclut-1"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-haldclut-1">37.37 haldclut</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-haldclut-1">37.39 haldclut</a></h2>
 
 <p>Apply a Hald CLUT to a video stream.
 </p>
@@ -17579,10 +18414,10 @@ filters share the same internals).
 (Hald CLUT author) at <a href="http://www.quelsolaar.com/technology/clut.html">http://www.quelsolaar.com/technology/clut.html</a>.
 </p>
 <a name="Workflow-examples"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Workflow-examples">37.37.1 Workflow examples</a></h3>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Workflow-examples">37.39.1 Workflow examples</a></h3>
 
 <a name="Hald-CLUT-video-stream"></a>
-<h4 class="subsubsection"><a href="ffmpeg-all.html#toc-Hald-CLUT-video-stream">37.37.1.1 Hald CLUT video stream</a></h4>
+<h4 class="subsubsection"><a href="ffmpeg-all.html#toc-Hald-CLUT-video-stream">37.39.1.1 Hald CLUT video stream</a></h4>
 
 <p>Generate an identity Hald CLUT stream altered with various effects:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -f lavfi -i <a href="#haldclutsrc">haldclutsrc</a>=8 -vf &quot;hue=H=2*PI*t:s=sin(2*PI*t)+1, curves=cross_process&quot; -t 10 -c:v ffv1 clut.nut
@@ -17599,7 +18434,7 @@ filters share the same internals).
 to the remaining frames of the <code>mandelbrot</code> stream.
 </p>
 <a name="Hald-CLUT-with-preview"></a>
-<h4 class="subsubsection"><a href="ffmpeg-all.html#toc-Hald-CLUT-with-preview">37.37.1.2 Hald CLUT with preview</a></h4>
+<h4 class="subsubsection"><a href="ffmpeg-all.html#toc-Hald-CLUT-with-preview">37.39.1.2 Hald CLUT with preview</a></h4>
 
 <p>A Hald CLUT is supposed to be a squared image of <code>Level*Level*Level</code> by
 <code>Level*Level*Level</code> pixels. For a given Hald CLUT, FFmpeg will select the
@@ -17626,7 +18461,7 @@ the color changes.
 </pre></td></tr></table>
 
 <a name="hflip"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-hflip">37.38 hflip</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-hflip">37.40 hflip</a></h2>
 
 <p>Flip the input video horizontally.
 </p>
@@ -17635,7 +18470,7 @@ the color changes.
 </pre></td></tr></table>
 
 <a name="histeq"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-histeq">37.39 histeq</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-histeq">37.41 histeq</a></h2>
 <p>This filter applies a global color histogram equalization on a
 per-frame basis.
 </p>
@@ -17672,12 +18507,12 @@ the histogram. Possible values are <code>none</code>, <code>weak</code> or
 </dl>
 
 <a name="histogram"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-histogram">37.40 histogram</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-histogram">37.42 histogram</a></h2>
 
 <p>Compute and draw a color distribution histogram for the input video.
 </p>
-<p>The computed histogram is a representation of distribution of color components
-in an image.
+<p>The computed histogram is a representation of the color component
+distribution in an image.
 </p>
 <p>The filter accepts the following options:
 </p>
@@ -17688,44 +18523,41 @@ in an image.
 <p>It accepts the following values:
 </p><dl compact="compact">
 <dt> &lsquo;<samp>levels</samp>&rsquo;</dt>
-<dd><p>standard histogram that display color components distribution in an image.
-Displays color graph for each color component. Shows distribution
-of the Y, U, V, A or R, G, B components, depending on input format,
-in current frame. Bellow each graph is color component scale meter.
+<dd><p>Standard histogram that displays the color components distribution in an
+image. Displays color graph for each color component. Shows distribution of
+the Y, U, V, A or R, G, B components, depending on input format, in the
+current frame. Below each graph a color component scale meter is shown.
 </p>
 </dd>
 <dt> &lsquo;<samp>color</samp>&rsquo;</dt>
-<dd><p>chroma values in vectorscope, if brighter more such chroma values are
-distributed in an image.
-Displays chroma values (U/V color placement) in two dimensional graph
-(which is called a vectorscope). It can be used to read of the hue and
-saturation of the current frame. At a same time it is a histogram.
-The whiter a pixel in the vectorscope, the more pixels of the input frame
-correspond to that pixel (that is the more pixels have this chroma value).
-The V component is displayed on the horizontal (X) axis, with the leftmost
-side being V = 0 and the rightmost side being V = 255.
-The U component is displayed on the vertical (Y) axis, with the top
-representing U = 0 and the bottom representing U = 255.
-</p>
-<p>The position of a white pixel in the graph corresponds to the chroma value
-of a pixel of the input clip. So the graph can be used to read of the
-hue (color flavor) and the saturation (the dominance of the hue in the color).
-As the hue of a color changes, it moves around the square. At the center of
-the square, the saturation is zero, which means that the corresponding pixel
-has no color. If you increase the amount of a specific color, while leaving
-the other colors unchanged, the saturation increases, and you move towards
+<dd><p>Displays chroma values (U/V color placement) in a two dimensional
+graph (which is called a vectorscope). The brighter a pixel in the
+vectorscope, the more pixels of the input frame correspond to that pixel
+(i.e., more pixels have this chroma value). The V component is displayed on
+the horizontal (X) axis, with the leftmost side being V = 0 and the rightmost
+side being V = 255. The U component is displayed on the vertical (Y) axis,
+with the top representing U = 0 and the bottom representing U = 255.
+</p>
+<p>The position of a white pixel in the graph corresponds to the chroma value of
+a pixel of the input clip. The graph can therefore be used to read the hue
+(color flavor) and the saturation (the dominance of the hue in the color). As
+the hue of a color changes, it moves around the square. At the center of the
+square the saturation is zero, which means that the corresponding pixel has no
+color. If the amount of a specific color is increased (while leaving the other
+colors unchanged) the saturation increases, and the indicator moves towards
 the edge of the square.
 </p>
 </dd>
 <dt> &lsquo;<samp>color2</samp>&rsquo;</dt>
-<dd><p>chroma values in vectorscope, similar as <code>color</code> but actual chroma values
+<dd><p>Chroma values in vectorscope, similar as <code>color</code> but actual chroma values
 are displayed.
 </p>
 </dd>
 <dt> &lsquo;<samp>waveform</samp>&rsquo;</dt>
-<dd><p>per row/column color component graph. In row mode graph in the left side represents
-color component value 0 and right side represents value = 255. In column mode top
-side represents color component value = 0 and bottom side represents value = 255.
+<dd><p>Per row/column color component graph. In row mode, the graph on the left side
+represents color component value 0 and the right side represents value = 255.
+In column mode, the top side represents color component value = 0 and bottom
+side represents value = 255.
 </p></dd>
 </dl>
 <p>Default value is <code>levels</code>.
@@ -17742,8 +18574,8 @@ Allowed range is [0, 40].
 </p>
 </dd>
 <dt> &lsquo;<samp>step</samp>&rsquo;</dt>
-<dd><p>Set step for <code>waveform</code> mode. Smaller values are useful to find out how much
-of same luminance values across input rows/columns are distributed.
+<dd><p>Set step for <code>waveform</code> mode. Smaller values are useful to find out how
+many values of the same luminance are distributed across input rows/columns.
 Default value is <code>10</code>. Allowed range is [1, 255].
 </p>
 </dd>
@@ -17765,27 +18597,26 @@ It accepts the following values:
 </p><dl compact="compact">
 <dt> &lsquo;<samp>parade</samp>&rsquo;</dt>
 <dd><p>Display separate graph for the color components side by side in
-<code>row</code> waveform mode or one below other in <code>column</code> waveform mode
-for <code>waveform</code> histogram mode. For <code>levels</code> histogram mode
-per color component graphs are placed one bellow other.
+<code>row</code> waveform mode or one below the other in <code>column</code> waveform mode
+for <code>waveform</code> histogram mode. For <code>levels</code> histogram mode,
+per color component graphs are placed below each other.
 </p>
-<p>This display mode in <code>waveform</code> histogram mode makes it easy to spot
-color casts in the highlights and shadows of an image, by comparing the
-contours of the top and the bottom of each waveform.
-Since whites, grays, and blacks are characterized by
-exactly equal amounts of red, green, and blue, neutral areas of the
-picture should display three waveforms of roughly equal width/height.
-If not, the correction is easy to make by making adjustments to level the
-three waveforms.
+<p>Using this display mode in <code>waveform</code> histogram mode makes it easy to
+spot color casts in the highlights and shadows of an image, by comparing the
+contours of the top and the bottom graphs of each waveform. Since whites,
+grays, and blacks are characterized by exactly equal amounts of red, green,
+and blue, neutral areas of the picture should display three waveforms of
+roughly equal width/height. If not, the correction is easy to perform by
+making level adjustments the three waveforms.
 </p>
 </dd>
 <dt> &lsquo;<samp>overlay</samp>&rsquo;</dt>
-<dd><p>Presents information that&rsquo;s identical to that in the <code>parade</code>, except
+<dd><p>Presents information identical to that in the <code>parade</code>, except
 that the graphs representing color components are superimposed directly
 over one another.
 </p>
-<p>This display mode in <code>waveform</code> histogram mode can make it easier to spot
-the relative differences or similarities in overlapping areas of the color
+<p>This display mode in <code>waveform</code> histogram mode makes it easier to spot
+relative differences or similarities in overlapping areas of the color
 components that are supposed to be identical, such as neutral whites, grays,
 or blacks.
 </p></dd>
@@ -17799,8 +18630,8 @@ Default is <code>linear</code>.
 </p></dd>
 </dl>
 
-<a name="Examples-55"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-55">37.40.1 Examples</a></h3>
+<a name="Examples-48"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-48">37.42.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -17812,7 +18643,7 @@ Calculate and draw histogram:
 
 <p><a name="hqdn3d"></a>
 </p><a name="hqdn3d-1"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-hqdn3d-1">37.41 hqdn3d</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-hqdn3d-1">37.43 hqdn3d</a></h2>
 
 <p>High precision/quality 3d denoise filter. This filter aims to reduce
 image noise producing smooth images and making still images really
@@ -17843,7 +18674,7 @@ defaults to 3.0*<var>luma_spatial</var>/4.0
 </dl>
 
 <a name="hue"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-hue">37.42 hue</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-hue">37.44 hue</a></h2>
 
 <p>Modify the hue and/or the saturation of the input.
 </p>
@@ -17899,8 +18730,8 @@ expressions containing the following constants:
 </p></dd>
 </dl>
 
-<a name="Examples-66"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-66">37.42.1 Examples</a></h3>
+<a name="Examples"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples">37.44.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -17939,8 +18770,8 @@ Apply a 3 seconds saturation fade-out effect starting at 5 seconds:
 
 </li></ul>
 
-<a name="Commands"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Commands">37.42.2 Commands</a></h3>
+<a name="Commands-2"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Commands-2">37.44.2 Commands</a></h3>
 
 <p>This filter supports the following commands:
 </p><dl compact="compact">
@@ -17957,7 +18788,7 @@ value.
 </dl>
 
 <a name="idet"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-idet">37.43 idet</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-idet">37.45 idet</a></h2>
 
 <p>Detect video interlacing type.
 </p>
@@ -17976,11 +18807,11 @@ top or bottom field first.
 </dl>
 
 <a name="il"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-il">37.44 il</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-il">37.46 il</a></h2>
 
 <p>Deinterleave or interleave fields.
 </p>
-<p>This filter allows to process interlaced images fields without
+<p>This filter allows one to process interlaced images fields without
 deinterlacing them. Deinterleaving splits the input frame into 2
 fields (so called half pictures). Odd lines are moved to the top
 half of the output image, even lines to the bottom half.
@@ -18019,11 +18850,12 @@ You can process (filter) them independently and then re-interleave them.
 </dl>
 
 <a name="interlace"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-interlace">37.45 interlace</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-interlace">37.47 interlace</a></h2>
 
 <p>Simple interlacing filter from progressive contents. This interleaves upper (or
 lower) lines from odd frames with lower (or upper) lines from even frames,
-halving the frame rate and preserving image height.
+halving the frame rate and preserving image height. A vertical lowpass filter
+is always applied in order to avoid twitter effects and reduce moiré patterns.
 </p>
 <table><tr><td>&nbsp;</td><td><pre class="example">   Original        Original             New Frame
    Frame 'j'      Frame 'j+1'             (tff)
@@ -18042,16 +18874,11 @@ New Frame + 1 will be generated by Frame 'j+2' and Frame 'j+3' and so on
 <dt> &lsquo;<samp>scan</samp>&rsquo;</dt>
 <dd><p>determines whether the interlaced frame is taken from the even (tff - default)
 or odd (bff) lines of the progressive frame.
-</p>
-</dd>
-<dt> &lsquo;<samp>lowpass</samp>&rsquo;</dt>
-<dd><p>Enable (default) or disable the vertical lowpass filter to avoid twitter
-interlacing and reduce moire patterns.
 </p></dd>
 </dl>
 
 <a name="kerndeint"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-kerndeint">37.46 kerndeint</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-kerndeint">37.48 kerndeint</a></h2>
 
 <p>Deinterlace input video by applying Donald Graft&rsquo;s adaptive kernel
 deinterling. Work on interlaced parts of a video to produce
@@ -18086,8 +18913,8 @@ Default is 0.
 </p></dd>
 </dl>
 
-<a name="Examples-48"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-48">37.46.1 Examples</a></h3>
+<a name="Examples-79"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-79">37.48.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -18108,7 +18935,7 @@ Paint processed pixels in white:
 
 <p><a name="lut3d"></a>
 </p><a name="lut3d-1"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-lut3d-1">37.47 lut3d</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-lut3d-1">37.49 lut3d</a></h2>
 
 <p>Apply a 3D LUT to an input video.
 </p>
@@ -18154,7 +18981,7 @@ Paint processed pixels in white:
 </dl>
 
 <a name="lut_002c-lutrgb_002c-lutyuv"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-lut_002c-lutrgb_002c-lutyuv">37.48 lut, lutrgb, lutyuv</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-lut_002c-lutrgb_002c-lutyuv">37.50 lut, lutrgb, lutyuv</a></h2>
 
 <p>Compute a look-up table for binding each pixel component input value
 to an output value, and apply it to input video.
@@ -18256,8 +19083,8 @@ expression
 
 <p>All expressions default to &quot;val&quot;.
 </p>
-<a name="Examples-10"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-10">37.48.1 Examples</a></h3>
+<a name="Examples-26"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-26">37.50.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -18308,7 +19135,7 @@ Discard least significant bits of luma:
 </li></ul>
 
 <a name="mergeplanes"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-mergeplanes">37.49 mergeplanes</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-mergeplanes">37.51 mergeplanes</a></h2>
 
 <p>Merge color channel components from several video streams.
 </p>
@@ -18335,8 +19162,8 @@ plane, &rsquo;Cc&rsquo; describes the mapping for the output stream third plane
 </p></dd>
 </dl>
 
-<a name="Examples-71"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-71">37.49.1 Examples</a></h3>
+<a name="Examples-39"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-39">37.51.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -18366,7 +19193,7 @@ Cast a rgb24 clip to yuv444p:
 </li></ul>
 
 <a name="mcdeint"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-mcdeint">37.50 mcdeint</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-mcdeint">37.52 mcdeint</a></h2>
 
 <p>Apply motion-compensation deinterlacing.
 </p>
@@ -18418,7 +19245,7 @@ optimal individual vectors. Default value is 1.
 </dl>
 
 <a name="mp"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-mp">37.51 mp</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-mp">37.53 mp</a></h2>
 
 <p>Apply an MPlayer filter to the input video.
 </p>
@@ -18452,8 +19279,8 @@ the named filter.
 of the corresponding MPlayer filters. For detailed instructions check
 the &quot;VIDEO FILTERS&quot; section in the MPlayer manual.
 </p>
-<a name="Examples-68"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-68">37.51.1 Examples</a></h3>
+<a name="Examples-87"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-87">37.53.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -18465,7 +19292,7 @@ Adjust gamma, brightness, contrast:
 <p>See also mplayer(1), <a href="http://www.mplayerhq.hu/">http://www.mplayerhq.hu/</a>.
 </p>
 <a name="mpdecimate"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-mpdecimate">37.52 mpdecimate</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-mpdecimate">37.54 mpdecimate</a></h2>
 
 <p>Drop frames that do not differ greatly from the previous frame in
 order to reduce frame rate.
@@ -18507,7 +19334,7 @@ meaning the whole image) differ by more than a threshold of &lsquo;<samp>lo</sam
 
 
 <a name="negate"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-negate">37.53 negate</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-negate">37.55 negate</a></h2>
 
 <p>Negate input video.
 </p>
@@ -18515,7 +19342,7 @@ meaning the whole image) differ by more than a threshold of &lsquo;<samp>lo</sam
 alpha component (if available). The default value in input is 0.
 </p>
 <a name="noformat"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-noformat">37.54 noformat</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-noformat">37.56 noformat</a></h2>
 
 <p>Force libavfilter not to use any of the specified pixel formats for the
 input to the next filter.
@@ -18529,8 +19356,8 @@ input to the next filter.
 </dd>
 </dl>
 
-<a name="Examples-9"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-9">37.54.1 Examples</a></h3>
+<a name="Examples-73"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-73">37.56.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -18545,8 +19372,8 @@ Convert the input video to any of the formats not contained in the list:
 </pre></td></tr></table>
 </li></ul>
 
-<a name="noise"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-noise">37.55 noise</a></h2>
+<a name="noise-1"></a>
+<h2 class="section"><a href="ffmpeg-all.html#toc-noise-1">37.57 noise</a></h2>
 
 <p>Add noise on video input frame.
 </p>
@@ -18595,20 +19422,20 @@ Available values for component flags are:
 </dd>
 </dl>
 
-<a name="Examples-86"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-86">37.55.1 Examples</a></h3>
+<a name="Examples-91"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-91">37.57.1 Examples</a></h3>
 
 <p>Add temporal and uniform noise to input video:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">noise=alls=20:allf=t+u
 </pre></td></tr></table>
 
 <a name="null"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-null">37.56 null</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-null">37.58 null</a></h2>
 
 <p>Pass the video source unchanged to the output.
 </p>
 <a name="ocv"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-ocv">37.57 ocv</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-ocv">37.59 ocv</a></h2>
 
 <p>Apply video transform using libopencv.
 </p>
@@ -18637,7 +19464,7 @@ information:
 </p>
 <p><a name="dilate"></a>
 </p><a name="dilate-1"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-dilate-1">37.57.1 dilate</a></h3>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-dilate-1">37.59.1 dilate</a></h3>
 
 <p>Dilate an image by using a specific structuring element.
 This filter corresponds to the libopencv function <code>cvDilate</code>.
@@ -18683,7 +19510,7 @@ ocv=dilate:0x0+2x2/custom=diamond.shape|2
 </pre></td></tr></table>
 
 <a name="erode"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-erode">37.57.2 erode</a></h3>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-erode">37.59.2 erode</a></h3>
 
 <p>Erode an image by using a specific structuring element.
 This filter corresponds to the libopencv function <code>cvErode</code>.
@@ -18692,7 +19519,7 @@ This filter corresponds to the libopencv function <code>cvErode</code>.
 with the same syntax and semantics as the <a href="#dilate">dilate</a> filter.
 </p>
 <a name="smooth"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-smooth">37.57.3 smooth</a></h3>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-smooth">37.59.3 smooth</a></h3>
 
 <p>Smooth the input video.
 </p>
@@ -18716,7 +19543,7 @@ libopencv function <code>cvSmooth</code>.
 </p>
 <p><a name="overlay"></a>
 </p><a name="overlay-1"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-overlay-1">37.58 overlay</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-overlay-1">37.60 overlay</a></h2>
 
 <p>Overlay one video on top of another.
 </p>
@@ -18735,6 +19562,23 @@ on the main video. Default value is &quot;0&quot; for both expressions. In case
 the expression is invalid, it is set to a huge value (meaning that the
 overlay will not be displayed within the output visible area).
 </p>
+</dd>
+<dt> &lsquo;<samp>eof_action</samp>&rsquo;</dt>
+<dd><p>The action to take when EOF is encountered on the secondary input, accepts one
+of the following values:
+</p>
+<dl compact="compact">
+<dt> &lsquo;<samp>repeat</samp>&rsquo;</dt>
+<dd><p>repeat the last frame (the default)
+</p></dd>
+<dt> &lsquo;<samp>endall</samp>&rsquo;</dt>
+<dd><p>end both streams
+</p></dd>
+<dt> &lsquo;<samp>pass</samp>&rsquo;</dt>
+<dd><p>pass through the main input
+</p></dd>
+</dl>
+
 </dd>
 <dt> &lsquo;<samp>eval</samp>&rsquo;</dt>
 <dd><p>Set when the expressions for &lsquo;<samp>x</samp>&rsquo;, and &lsquo;<samp>y</samp>&rsquo; are evaluated.
@@ -18768,6 +19612,10 @@ terminates. Default value is 0.
 <dd><p>force YUV420 output
 </p>
 </dd>
+<dt> &lsquo;<samp>yuv422</samp>&rsquo;</dt>
+<dd><p>force YUV422 output
+</p>
+</dd>
 <dt> &lsquo;<samp>yuv444</samp>&rsquo;</dt>
 <dd><p>force YUV444 output
 </p>
@@ -18830,7 +19678,8 @@ format. For example for the pixel format &quot;yuv422p&quot; <var>hsub</var> is
 </dd>
 <dt> &lsquo;<samp>t</samp>&rsquo;</dt>
 <dd><p>timestamp expressed in seconds, NAN if the input timestamp is unknown
-</p></dd>
+</p>
+</dd>
 </dl>
 
 <p>Note that the <var>n</var>, <var>pos</var>, <var>t</var> variables are available only
@@ -18846,8 +19695,8 @@ the <var>movie</var> filter.
 <p>You can chain together more overlays but you should test the
 efficiency of such approach.
 </p>
-<a name="Commands-2"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Commands-2">37.58.1 Commands</a></h3>
+<a name="Commands-4"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Commands-4">37.60.1 Commands</a></h3>
 
 <p>This filter supports the following commands:
 </p><dl compact="compact">
@@ -18861,8 +19710,8 @@ value.
 </p></dd>
 </dl>
 
-<a name="Examples-82"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-82">37.58.2 Examples</a></h3>
+<a name="Examples-29"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-29">37.60.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -18920,6 +19769,13 @@ nullsrc=size=200x100 [background];
 &quot;
 </pre></td></tr></table>
 
+</li><li>
+mask 10-20 seconds of a video by applying the delogo filter to a section
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i test.avi -codec:v:0 wmv2 -ar 11025 -b:v 9000k
+-vf '[in]split[split_main][split_delogo];[split_delogo]trim=start=360:end=371,delogo=0:0:640:480[delogoed];[split_main][delogoed]overlay=eof_action=pass[out]'
+masked.avi
+</pre></td></tr></table>
+
 </li><li>
 Chain several overlays in cascade:
 <table><tr><td>&nbsp;</td><td><pre class="example">nullsrc=s=200x200 [bg];
@@ -18933,7 +19789,7 @@ testsrc=s=100x100, split=4 [in0][in1][in2][in3];
 </li></ul>
 
 <a name="owdenoise"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-owdenoise">37.59 owdenoise</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-owdenoise">37.61 owdenoise</a></h2>
 
 <p>Apply Overcomplete Wavelet denoiser.
 </p>
@@ -18963,7 +19819,7 @@ slow down filtering.
 </dl>
 
 <a name="pad"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-pad">37.60 pad</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-pad">37.62 pad</a></h2>
 
 <p>Add paddings to the input image, and place the original input at the
 given coordinates <var>x</var>, <var>y</var>.
@@ -19053,8 +19909,8 @@ pixel format &quot;yuv422p&quot; <var>hsub</var> is 2 and <var>vsub</var> is 1.
 </p></dd>
 </dl>
 
-<a name="Examples-87"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-87">37.60.1 Examples</a></h3>
+<a name="Examples-42"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-42">37.62.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -19106,7 +19962,7 @@ corner of the output padded area:
 </li></ul>
 
 <a name="perspective"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-perspective">37.61 perspective</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-perspective">37.63 perspective</a></h2>
 
 <p>Correct perspective of video not recorded perpendicular to the screen.
 </p>
@@ -19148,7 +20004,7 @@ Default values are <code>0:0:W:0:0:H:W:H</code> with which perspective will rema
 </dl>
 
 <a name="phase"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-phase">37.62 phase</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-phase">37.64 phase</a></h2>
 
 <p>Delay interlaced video by one field time so that the field order changes.
 </p>
@@ -19220,7 +20076,7 @@ Filter selects among &lsquo;<samp>t</samp>&rsquo;, &lsquo;<samp>b</samp>&rsquo;
 </dl>
 
 <a name="pixdesctest"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-pixdesctest">37.63 pixdesctest</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-pixdesctest">37.65 pixdesctest</a></h2>
 
 <p>Pixel format descriptor test filter, mainly useful for internal
 testing. The output video should be equal to the input video.
@@ -19232,7 +20088,7 @@ testing. The output video should be equal to the input video.
 <p>can be used to test the monowhite pixel format descriptor definition.
 </p>
 <a name="pp"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-pp">37.64 pp</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-pp">37.66 pp</a></h2>
 
 <p>Enable the specified chain of postprocessing subfilters using libpostproc. This
 library should be automatically selected with a GPL build (<code>--enable-gpl</code>).
@@ -19414,8 +20270,8 @@ specify.
 </p></dd>
 </dl>
 
-<a name="Examples-7"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-7">37.64.1 Examples</a></h3>
+<a name="Examples-82"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-82">37.66.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -19442,7 +20298,7 @@ automatically depending on available CPU time:
 </li></ul>
 
 <a name="psnr"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-psnr">37.65 psnr</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-psnr">37.67 psnr</a></h2>
 
 <p>Obtain the average, maximum and minimum PSNR (Peak Signal to Noise
 Ratio) between two input videos.
@@ -19513,8 +20369,9 @@ specified by the suffix.
 reference file &lsquo;<tt>ref_movie.mpg</tt>&rsquo;. The PSNR of each individual frame
 is stored in &lsquo;<tt>stats.log</tt>&rsquo;.
 </p>
-<a name="pullup"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-pullup">37.66 pullup</a></h2>
+<p><a name="pullup"></a>
+</p><a name="pullup-1"></a>
+<h2 class="section"><a href="ffmpeg-all.html#toc-pullup-1">37.68 pullup</a></h2>
 
 <p>Pulldown reversal (inverse telecine) filter, capable of handling mixed
 hard-telecine, 24000/1001 fps progressive, and 30000/1001 fps progressive
@@ -19584,7 +20441,7 @@ telecine NTSC input:
 </pre></td></tr></table>
 
 <a name="removelogo"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-removelogo">37.67 removelogo</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-removelogo">37.69 removelogo</a></h2>
 
 <p>Suppress a TV station logo, using an image file to determine which
 pixels comprise the logo. It works by filling in the pixels that
@@ -19616,7 +20473,7 @@ the image and will destroy more information than necessary, and extra
 pixels will slow things down on a large logo.
 </p>
 <a name="rotate"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-rotate">37.68 rotate</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-rotate">37.70 rotate</a></h2>
 
 <p>Rotate video by an arbitrary angle expressed in radians.
 </p>
@@ -19679,12 +20536,12 @@ pixel format &quot;yuv422p&quot; <var>hsub</var> is 2 and <var>vsub</var> is 1.
 </dd>
 <dt> &lsquo;<samp>in_w, iw</samp>&rsquo;</dt>
 <dt> &lsquo;<samp>in_h, ih</samp>&rsquo;</dt>
-<dd><p>the input video width and heigth
+<dd><p>the input video width and height
 </p>
 </dd>
 <dt> &lsquo;<samp>out_w, ow</samp>&rsquo;</dt>
 <dt> &lsquo;<samp>out_h, oh</samp>&rsquo;</dt>
-<dd><p>the output width and heigth, that is the size of the padded area as
+<dd><p>the output width and height, that is the size of the padded area as
 specified by the <var>width</var> and <var>height</var> expressions
 </p>
 </dd>
@@ -19698,8 +20555,8 @@ video rotated by <var>a</var> radians.
 </p></dd>
 </dl>
 
-<a name="Examples-78"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-78">37.68.1 Examples</a></h3>
+<a name="Examples-33"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-33">37.70.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -19712,6 +20569,11 @@ Rotate the input by PI/6 radians counter-clockwise:
 <table><tr><td>&nbsp;</td><td><pre class="example">rotate=-PI/6
 </pre></td></tr></table>
 
+</li><li>
+Rotate the input by 45 degrees clockwise:
+<table><tr><td>&nbsp;</td><td><pre class="example">rotate=45*PI/180
+</pre></td></tr></table>
+
 </li><li>
 Apply a constant rotation with period T, starting from an angle of PI/3:
 <table><tr><td>&nbsp;</td><td><pre class="example">rotate=PI/3+2*PI*t/T
@@ -19724,7 +20586,7 @@ seconds and an amplitude of A radians:
 </pre></td></tr></table>
 
 </li><li>
-Rotate the video, output size is choosen so that the whole rotating
+Rotate the video, output size is chosen so that the whole rotating
 input video is always completely contained in the output:
 <table><tr><td>&nbsp;</td><td><pre class="example">rotate='2*PI*t:ow=hypot(iw,ih):oh=ow'
 </pre></td></tr></table>
@@ -19736,8 +20598,8 @@ shown:
 </pre></td></tr></table>
 </li></ul>
 
-<a name="Commands-3"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Commands-3">37.68.2 Commands</a></h3>
+<a name="Commands"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Commands">37.70.2 Commands</a></h3>
 
 <p>The filter supports the following commands:
 </p>
@@ -19752,7 +20614,7 @@ value.
 </dl>
 
 <a name="sab"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-sab">37.69 sab</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-sab">37.71 sab</a></h2>
 
 <p>Apply Shape Adaptive Blur.
 </p>
@@ -19796,7 +20658,7 @@ corresponding luma option value.
 </p>
 <p><a name="scale"></a>
 </p><a name="scale-1"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-scale-1">37.70 scale</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-scale-1">37.72 scale</a></h2>
 
 <p>Scale (resize) the input video, using the libswscale library.
 </p>
@@ -19807,8 +20669,8 @@ of the input, by changing the output sample aspect ratio.
 the next filter, the scale filter will convert the input to the
 requested format.
 </p>
-<a name="Options"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options">37.70.1 Options</a></h3>
+<a name="Options-32"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-32">37.72.1 Options</a></h3>
 <p>The filter accepts the following options, or any of the options
 supported by the libswscale scaler.
 </p>
@@ -19828,6 +20690,11 @@ maintains the aspect ratio of the input image, calculated from the
 other specified dimension. If both of them are -1, the input size is
 used
 </p>
+<p>If one of the values is -n with n &gt; 1, the scale filter will also use a value
+that maintains the aspect ratio of the input image, calculated from the other
+specified dimension. After that it will, however, make sure that the calculated
+dimension is divisible by n and adjust the value if necessary.
+</p>
 <p>See below for the list of accepted constants for use in the dimension
 expression.
 </p>
@@ -19856,7 +20723,7 @@ are flagged as interlaced or not.
 <dt> &lsquo;<samp>flags</samp>&rsquo;</dt>
 <dd><p>Set libswscale scaling flags. See
 <a href="ffmpeg-scaler.html#sws_005fflags">(ffmpeg-scaler)sws_flags</a> for the
-complete list of values. If not explictly specified the filter applies
+complete list of values. If not explicitly specified the filter applies
 the default flags.
 </p>
 </dd>
@@ -20018,8 +20885,8 @@ pixel format &quot;yuv422p&quot; <var>hsub</var> is 2 and <var>vsub</var> is 1.
 </p></dd>
 </dl>
 
-<a name="Examples-23"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-23">37.70.2 Examples</a></h3>
+<a name="Examples-31"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-31">37.72.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -20094,7 +20961,7 @@ aspect ratio:
 </li></ul>
 
 <a name="separatefields"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-separatefields">37.71 separatefields</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-separatefields">37.73 separatefields</a></h2>
 
 <p>The <code>separatefields</code> takes a frame-based video input and splits
 each frame into its components fields, producing a new half height clip
@@ -20105,7 +20972,7 @@ of each pair of fields to place first in the output.
 If it gets it wrong use <a href="#setfield">setfield</a> filter before <code>separatefields</code> filter.
 </p>
 <a name="setdar_002c-setsar"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-setdar_002c-setsar">37.72 setdar, setsar</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-setdar_002c-setsar">37.74 setdar, setsar</a></h2>
 
 <p>The <code>setdar</code> filter sets the Display Aspect Ratio for the filter
 output video.
@@ -20185,8 +21052,8 @@ pixel format &quot;yuv422p&quot; <var>hsub</var> is 2 and <var>vsub</var> is 1.
 </p></dd>
 </dl>
 
-<a name="Examples-45"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-45">37.72.1 Examples</a></h3>
+<a name="Examples-68"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-68">37.74.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -20211,7 +21078,7 @@ To set a display aspect ratio of 16:9, and specify a maximum integer value of
 
 <p><a name="setfield"></a>
 </p><a name="setfield-1"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-setfield-1">37.73 setfield</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-setfield-1">37.75 setfield</a></h2>
 
 <p>Force field for the output video frame.
 </p>
@@ -20247,7 +21114,7 @@ following filters (e.g. <code>fieldorder</code> or <code>yadif</code>).
 </dl>
 
 <a name="showinfo"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-showinfo">37.74 showinfo</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-showinfo">37.76 showinfo</a></h2>
 
 <p>Show a line containing various information for each input video frame.
 The input video is not modified.
@@ -20320,7 +21187,7 @@ expressed in the form &quot;[<var>c0</var> <var>c1</var> <var>c2</var> <var>c3</
 
 <p><a name="smartblur"></a>
 </p><a name="smartblur-1"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-smartblur-1">37.75 smartblur</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-smartblur-1">37.77 smartblur</a></h2>
 
 <p>Blur the input video without impacting the outlines.
 </p>
@@ -20374,7 +21241,7 @@ in [-30,0] will filter edges. Default value is 0.
 is set.
 </p>
 <a name="stereo3d"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-stereo3d">37.76 stereo3d</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-stereo3d">37.78 stereo3d</a></h2>
 
 <p>Convert between different stereoscopic image formats.
 </p>
@@ -20530,8 +21397,8 @@ is set.
 </p></dd>
 </dl>
 
-<a name="Examples"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples">37.76.1 Examples</a></h3>
+<a name="Examples-86"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-86">37.78.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -20546,7 +21413,7 @@ Convert input video from above bellow (left eye above, right eye below) to side
 </li></ul>
 
 <a name="spp"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-spp">37.77 spp</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-spp">37.79 spp</a></h2>
 
 <p>Apply a simple postprocessing filter that compresses and decompresses the image
 at several (or - in the case of &lsquo;<samp>quality</samp>&rsquo; level <code>6</code> - all) shifts
@@ -20590,7 +21457,7 @@ option may cause flicker since the B-Frames have often larger QP. Default is
 
 <p><a name="subtitles"></a>
 </p><a name="subtitles-1"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-subtitles-1">37.78 subtitles</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-subtitles-1">37.80 subtitles</a></h2>
 
 <p>Draw subtitles on top of input video using the libass library.
 </p>
@@ -20633,7 +21500,7 @@ video, use the command:
 </pre></td></tr></table>
 
 <a name="super2xsai"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-super2xsai">37.79 super2xsai</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-super2xsai">37.81 super2xsai</a></h2>
 
 <p>Scale the input by 2x and smooth using the Super2xSaI (Scale and
 Interpolate) pixel art scaling algorithm.
@@ -20641,11 +21508,11 @@ Interpolate) pixel art scaling algorithm.
 <p>Useful for enlarging pixel art images without reducing sharpness.
 </p>
 <a name="swapuv"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-swapuv">37.80 swapuv</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-swapuv">37.82 swapuv</a></h2>
 <p>Swap U &amp; V plane.
 </p>
 <a name="telecine"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-telecine">37.81 telecine</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-telecine">37.83 telecine</a></h2>
 
 <p>Apply telecine process to the video.
 </p>
@@ -20688,7 +21555,7 @@ PAL output (25i):
 </pre></td></tr></table>
 
 <a name="thumbnail"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-thumbnail">37.82 thumbnail</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-thumbnail">37.84 thumbnail</a></h2>
 <p>Select the most representative frame in a given sequence of consecutive frames.
 </p>
 <p>The filter accepts the following options:
@@ -20704,8 +21571,8 @@ the end. Default is <code>100</code>.
 <p>Since the filter keeps track of the whole frames sequence, a bigger <var>n</var>
 value will result in a higher memory usage, so a high value is not recommended.
 </p>
-<a name="Examples-17"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-17">37.82.1 Examples</a></h3>
+<a name="Examples-25"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-25">37.84.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -20720,7 +21587,7 @@ Complete example of a thumbnail creation with <code>ffmpeg</code>:
 </li></ul>
 
 <a name="tile"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-tile">37.83 tile</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-tile">37.85 tile</a></h2>
 
 <p>Tile several successive frames together.
 </p>
@@ -20755,8 +21622,8 @@ is &quot;black&quot;.
 </p></dd>
 </dl>
 
-<a name="Examples-33"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-33">37.83.1 Examples</a></h3>
+<a name="Examples-3"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-3">37.85.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -20764,7 +21631,7 @@ Produce 8x8 PNG tiles of all keyframes (&lsquo;<samp>-skip_frame nokey</samp>&rs
 <table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -skip_frame nokey -i file.avi -vf 'scale=128:72,tile=8x8' -an -vsync 0 keyframes%03d.png
 </pre></td></tr></table>
 <p>The &lsquo;<samp>-vsync 0</samp>&rsquo; is necessary to prevent <code>ffmpeg</code> from
-duplicating each output frame to accomodate the originally detected frame
+duplicating each output frame to accommodate the originally detected frame
 rate.
 </p>
 </li><li>
@@ -20776,7 +21643,7 @@ mixed flat and named options:
 </li></ul>
 
 <a name="tinterlace"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-tinterlace">37.84 tinterlace</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-tinterlace">37.86 tinterlace</a></h2>
 
 <p>Perform various types of temporal field interlacing.
 </p>
@@ -20860,7 +21727,7 @@ patterning.
 </dl>
 
 <a name="transpose"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-transpose">37.85 transpose</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-transpose">37.87 transpose</a></h2>
 
 <p>Transpose rows with columns in the input video and optionally flip it.
 </p>
@@ -20942,7 +21809,7 @@ layout:
 </pre></td></tr></table>
 
 <a name="trim"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-trim">37.86 trim</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-trim">37.88 trim</a></h2>
 <p>Trim the input so that the output contains one continuous subpart of the input.
 </p>
 <p>This filter accepts the following options:
@@ -21015,7 +21882,7 @@ keep only the first second
 
 
 <a name="unsharp"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-unsharp">37.87 unsharp</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-unsharp">37.89 unsharp</a></h2>
 
 <p>Sharpen or blur the input video.
 </p>
@@ -21072,8 +21939,8 @@ FFmpeg was configured with <code>--enable-opencl</code>. Default value is 0.
 <p>All parameters are optional and default to the equivalent of the
 string &rsquo;5:5:1.0:5:5:0.0&rsquo;.
 </p>
-<a name="Examples-63"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-63">37.87.1 Examples</a></h3>
+<a name="Examples-4"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-4">37.89.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -21089,7 +21956,7 @@ Apply strong blur of both luma and chroma parameters:
 
 <p><a name="vidstabdetect"></a>
 </p><a name="vidstabdetect-1"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-vidstabdetect-1">37.88 vidstabdetect</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-vidstabdetect-1">37.90 vidstabdetect</a></h2>
 
 <p>Analyze video stabilization/deshaking. Perform pass 1 of 2, see
 <a href="#vidstabtransform">vidstabtransform</a> for pass 2.
@@ -21118,7 +21985,7 @@ value of 10 means strong shakiness. Default value is 5.
 <dt> &lsquo;<samp>accuracy</samp>&rsquo;</dt>
 <dd><p>Set the accuracy of the detection process. It must be a value in the
 range 1-15. A value of 1 means low accuracy, a value of 15 means high
-accuracy. Default value is 9.
+accuracy. Default value is 15.
 </p>
 </dd>
 <dt> &lsquo;<samp>stepsize</samp>&rsquo;</dt>
@@ -21150,8 +22017,8 @@ visualization.
 </p></dd>
 </dl>
 
-<a name="Examples-58"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-58">37.88.1 Examples</a></h3>
+<a name="Examples-52"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-52">37.90.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -21179,7 +22046,7 @@ Analyze a video with medium shakiness using <code>ffmpeg</code>:
 
 <p><a name="vidstabtransform"></a>
 </p><a name="vidstabtransform-1"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-vidstabtransform-1">37.89 vidstabtransform</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-vidstabtransform-1">37.91 vidstabtransform</a></h2>
 
 <p>Video stabilization/deshaking: pass 2 of 2,
 see <a href="#vidstabdetect">vidstabdetect</a> for pass 1.
@@ -21193,35 +22060,56 @@ the unsharp filter, see below.
 <p>To enable compilation of this filter you need to configure FFmpeg with
 <code>--enable-libvidstab</code>.
 </p>
-<p>This filter accepts the following options:
-</p>
+<a name="Options-7"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Options-7">37.91.1 Options</a></h3>
+
 <dl compact="compact">
 <dt> &lsquo;<samp>input</samp>&rsquo;</dt>
-<dd><p>path to the file used to read the transforms (default: &lsquo;<tt>transforms.trf</tt>&rsquo;)
+<dd><p>Set path to the file used to read the transforms. Default value is
+&lsquo;<tt>transforms.trf</tt>&rsquo;).
 </p>
 </dd>
 <dt> &lsquo;<samp>smoothing</samp>&rsquo;</dt>
-<dd><p>number of frames (value*2 + 1) used for lowpass filtering the camera movements
-(default: 10). For example a number of 10 means that 21 frames are used
-(10 in the past and 10 in the future) to smoothen the motion in the
-video. A larger values leads to a smoother video, but limits the
-acceleration of the camera (pan/tilt movements).
+<dd><p>Set the number of frames (value*2 + 1) used for lowpass filtering the
+camera movements. Default value is 10.
+</p>
+<p>For example a number of 10 means that 21 frames are used (10 in the
+past and 10 in the future) to smoothen the motion in the video. A
+larger values leads to a smoother video, but limits the acceleration
+of the camera (pan/tilt movements). 0 is a special case where a
+static camera is simulated.
+</p>
+</dd>
+<dt> &lsquo;<samp>optalgo</samp>&rsquo;</dt>
+<dd><p>Set the camera path optimization algorithm.
 </p>
+<p>Accepted values are:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>gauss</samp>&rsquo;</dt>
+<dd><p>gaussian kernel low-pass filter on camera motion (default)
+</p></dd>
+<dt> &lsquo;<samp>avg</samp>&rsquo;</dt>
+<dd><p>averaging on transformations
+</p></dd>
+</dl>
+
 </dd>
 <dt> &lsquo;<samp>maxshift</samp>&rsquo;</dt>
-<dd><p>maximal number of pixels to translate frames (default: -1 no limit)
+<dd><p>Set maximal number of pixels to translate frames. Default value is -1,
+meaning no limit.
 </p>
 </dd>
 <dt> &lsquo;<samp>maxangle</samp>&rsquo;</dt>
-<dd><p>maximal angle in radians (degree*PI/180) to rotate frames (default: -1
-no limit)
+<dd><p>Set maximal angle in radians (degree*PI/180) to rotate frames. Default
+value is -1, meaning no limit.
 </p>
 </dd>
 <dt> &lsquo;<samp>crop</samp>&rsquo;</dt>
-<dd><p>How to deal with borders that may be visible due to movement
-compensation. Available values are:
+<dd><p>Specify how to deal with borders that may be visible due to movement
+compensation.
 </p>
-<dl compact="compact">
+<p>Available values are:
+</p><dl compact="compact">
 <dt> &lsquo;<samp>keep</samp>&rsquo;</dt>
 <dd><p>keep image information from previous frame (default)
 </p></dd>
@@ -21232,59 +22120,49 @@ compensation. Available values are:
 
 </dd>
 <dt> &lsquo;<samp>invert</samp>&rsquo;</dt>
-<dd><dl compact="compact">
-<dt> &lsquo;<samp>0</samp>&rsquo;</dt>
-<dd><p>keep transforms normal (default)
-</p></dd>
-<dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dd><p>invert transforms
-</p></dd>
-</dl>
-
+<dd><p>Invert transforms if set to 1. Default value is 0.
+</p>
 </dd>
 <dt> &lsquo;<samp>relative</samp>&rsquo;</dt>
-<dd><p>consider transforms as
-</p><dl compact="compact">
-<dt> &lsquo;<samp>0</samp>&rsquo;</dt>
-<dd><p>absolute
-</p></dd>
-<dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dd><p>relative to previous frame (default)
-</p></dd>
-</dl>
-
+<dd><p>Consider transforms as relative to previsou frame if set to 1,
+absolute if set to 0. Default value is 0.
+</p>
 </dd>
 <dt> &lsquo;<samp>zoom</samp>&rsquo;</dt>
-<dd><p>percentage to zoom (default: 0)
-</p><dl compact="compact">
-<dt> &lsquo;<samp>&gt;0</samp>&rsquo;</dt>
-<dd><p>zoom in
-</p></dd>
-<dt> &lsquo;<samp>&lt;0</samp>&rsquo;</dt>
-<dd><p>zoom out
-</p></dd>
-</dl>
-
+<dd><p>Set percentage to zoom. A positive value will result in a zoom-in
+effect, a negative value in a zoom-out effect. Default value is 0 (no
+zoom).
+</p>
 </dd>
 <dt> &lsquo;<samp>optzoom</samp>&rsquo;</dt>
-<dd><p>set optimal zooming to avoid borders
+<dd><p>Set optimal zooming to avoid borders.
+</p>
+<p>Accepted values are:
 </p><dl compact="compact">
 <dt> &lsquo;<samp>0</samp>&rsquo;</dt>
 <dd><p>disabled
 </p></dd>
 <dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dd><p>optimal static zoom value is determined (only very strong movements will lead to visible borders) (default)
+<dd><p>optimal static zoom value is determined (only very strong movements
+will lead to visible borders) (default)
 </p></dd>
 <dt> &lsquo;<samp>2</samp>&rsquo;</dt>
-<dd><p>optimal adaptive zoom value is determined (no borders will be visible)
+<dd><p>optimal adaptive zoom value is determined (no borders will be
+visible), see &lsquo;<samp>zoomspeed</samp>&rsquo;
 </p></dd>
 </dl>
-<p>Note that the value given at zoom is added to the one calculated
-here.
+
+<p>Note that the value given at zoom is added to the one calculated here.
+</p>
+</dd>
+<dt> &lsquo;<samp>zoomspeed</samp>&rsquo;</dt>
+<dd><p>Set percent to zoom maximally each frame (enabled when
+&lsquo;<samp>optzoom</samp>&rsquo; is set to 2). Range is from 0 to 5, default value is
+0.25.
 </p>
 </dd>
 <dt> &lsquo;<samp>interpol</samp>&rsquo;</dt>
-<dd><p>type of interpolation
+<dd><p>Specify type of interpolation.
 </p>
 <p>Available values are:
 </p><dl compact="compact">
@@ -21304,45 +22182,43 @@ here.
 
 </dd>
 <dt> &lsquo;<samp>tripod</samp>&rsquo;</dt>
-<dd><p>virtual tripod mode means that the video is stabilized such that the
-camera stays stationary. Use also <code>tripod</code> option of
-<a href="#vidstabdetect">vidstabdetect</a>.
-</p><dl compact="compact">
-<dt> &lsquo;<samp>0</samp>&rsquo;</dt>
-<dd><p>off (default)
-</p></dd>
-<dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dd><p>virtual tripod mode: equivalent to <code>relative=0:smoothing=0</code>
-</p></dd>
-</dl>
-
+<dd><p>Enable virtual tripod mode if set to 1, which is equivalent to
+<code>relative=0:smoothing=0</code>. Default value is 0.
+</p>
+<p>Use also <code>tripod</code> option of <a href="#vidstabdetect">vidstabdetect</a>.
+</p>
 </dd>
+<dt> &lsquo;<samp>debug</samp>&rsquo;</dt>
+<dd><p>Increase log verbosity if set to 1. Also the detected global motions
+are written to the temporary file &lsquo;<tt>global_motions.trf</tt>&rsquo;. Default
+value is 0.
+</p></dd>
 </dl>
 
-<a name="Examples-4"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-4">37.89.1 Examples</a></h3>
+<a name="Examples-67"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-67">37.91.2 Examples</a></h3>
 
 <ul>
 <li>
-typical call with default default values:
- (note the unsharp filter which is always recommended)
+Use <code>ffmpeg</code> for a typical stabilization with default values:
 <table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i inp.mpeg -vf vidstabtransform,unsharp=5:5:0.8:3:3:0.4 inp_stabilized.mpeg
 </pre></td></tr></table>
 
+<p>Note the use of the unsharp filter which is always recommended.
+</p>
 </li><li>
-zoom in a bit more and load transform data from a given file
+Zoom in a bit more and load transform data from a given file:
 <table><tr><td>&nbsp;</td><td><pre class="example">vidstabtransform=zoom=5:input=&quot;mytransforms.trf&quot;
 </pre></td></tr></table>
 
 </li><li>
-smoothen the video even more
+Smoothen the video even more:
 <table><tr><td>&nbsp;</td><td><pre class="example">vidstabtransform=smoothing=30
 </pre></td></tr></table>
-
 </li></ul>
 
 <a name="vflip"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-vflip">37.90 vflip</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-vflip">37.92 vflip</a></h2>
 
 <p>Flip the input video vertically.
 </p>
@@ -21351,7 +22227,7 @@ smoothen the video even more
 </pre></td></tr></table>
 
 <a name="vignette"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-vignette">37.91 vignette</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-vignette">37.93 vignette</a></h2>
 
 <p>Make or reverse a natural vignetting effect.
 </p>
@@ -21417,7 +22293,7 @@ allows advanced dynamic expressions.
 </p>
 </dd>
 <dt> &lsquo;<samp>aspect</samp>&rsquo;</dt>
-<dd><p>Set vignette aspect. This setting allows to adjust the shape of the vignette.
+<dd><p>Set vignette aspect. This setting allows one to adjust the shape of the vignette.
 Setting this value to the SAR of the input will make a rectangular vignetting
 following the dimensions of the video.
 </p>
@@ -21426,7 +22302,7 @@ following the dimensions of the video.
 </dl>
 
 <a name="Expressions"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Expressions">37.91.1 Expressions</a></h3>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Expressions">37.93.1 Expressions</a></h3>
 
 <p>The &lsquo;<samp>alpha</samp>&rsquo;, &lsquo;<samp>x0</samp>&rsquo; and &lsquo;<samp>y0</samp>&rsquo; expressions can contain the
 following parameters.
@@ -21461,8 +22337,8 @@ expressed in seconds, NAN if undefined
 </dl>
 
 
-<a name="Examples-37"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-37">37.91.2 Examples</a></h3>
+<a name="Examples-94"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-94">37.93.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -21478,7 +22354,7 @@ Make a flickering vignetting:
 </li></ul>
 
 <a name="w3fdif"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-w3fdif">37.92 w3fdif</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-w3fdif">37.94 w3fdif</a></h2>
 
 <p>Deinterlace the input video (&quot;w3fdif&quot; stands for &quot;Weston 3 Field
 Deinterlacing Filter&quot;).
@@ -21525,7 +22401,7 @@ be set by passing an optional parameter:
 
 <p><a name="yadif"></a>
 </p><a name="yadif-1"></a>
-<h2 class="section"><a href="ffmpeg-all.html#toc-yadif-1">37.93 yadif</a></h2>
+<h2 class="section"><a href="ffmpeg-all.html#toc-yadif-1">37.95 yadif</a></h2>
 
 <p>Deinterlace the input video (&quot;yadif&quot; means &quot;yet another deinterlacing
 filter&quot;).
@@ -21760,8 +22636,8 @@ This is the default behavior, for disabling set the value to 0.
 </p></dd>
 </dl>
 
-<a name="Examples-77"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-77">38.2.1 Examples</a></h3>
+<a name="Examples-10"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-10">38.2.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -21987,7 +22863,7 @@ horizontally, vertically, or diagonally adjacent.
 </p>
 <p>At each interaction the grid evolves according to the adopted rule,
 which specifies the number of neighbor alive cells which will make a
-cell stay alive or born. The &lsquo;<samp>rule</samp>&rsquo; option allows to specify
+cell stay alive or born. The &lsquo;<samp>rule</samp>&rsquo; option allows one to specify
 the rule to adopt.
 </p>
 <p>This source accepts the following options:
@@ -22085,8 +22961,8 @@ ffmpeg-utils manual.
 </p></dd>
 </dl>
 
-<a name="Examples-2"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-2">38.6.1 Examples</a></h3>
+<a name="Examples-98"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-98">38.6.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -22220,8 +23096,8 @@ the <code>geq</code> filter:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">nullsrc=s=256x256, geq=random(1)*255:128:128
 </pre></td></tr></table>
 
-<a name="Commands-4"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Commands-4">38.7.1 Commands</a></h3>
+<a name="Commands-3"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Commands-3">38.7.1 Commands</a></h3>
 
 <p>The <code>color</code> source supports the following commands:
 </p>
@@ -22326,8 +23202,8 @@ Allowed range is <code>[0, 255]</code>.
 </p></dd>
 </dl>
 
-<a name="Examples-72"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-72">40.1.1 Examples</a></h3>
+<a name="Examples-95"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-95">40.1.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -22395,8 +23271,8 @@ explicitly by the user.
 <p>Different frame rates are acceptable but will result in variable frame rate
 at output; be sure to configure the output file to handle it.
 </p>
-<a name="Examples-29"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-29">40.2.1 Examples</a></h3>
+<a name="Examples-56"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-56">40.2.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -22482,11 +23358,38 @@ in metadata.  All the metadata keys are prefixed with <code>lavfi.r128.</code>.
 
 <p>By default, the logging level is set to <var>info</var>. If the &lsquo;<samp>video</samp>&rsquo; or
 the &lsquo;<samp>metadata</samp>&rsquo; options are set, it switches to <var>verbose</var>.
+</p>
+</dd>
+<dt> &lsquo;<samp>peak</samp>&rsquo;</dt>
+<dd><p>Set peak mode(s).
+</p>
+<p>Available modes can be cumulated (the option is a <code>flag</code> type). Possible
+values are:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>none</samp>&rsquo;</dt>
+<dd><p>Disable any peak mode (default).
+</p></dd>
+<dt> &lsquo;<samp>sample</samp>&rsquo;</dt>
+<dd><p>Enable sample-peak mode.
+</p>
+<p>Simple peak mode looking for the higher sample value. It logs a message
+for sample-peak (identified by <code>SPK</code>).
+</p></dd>
+<dt> &lsquo;<samp>true</samp>&rsquo;</dt>
+<dd><p>Enable true-peak mode.
+</p>
+<p>If enabled, the peak lookup is done on an over-sampled version of the input
+stream for better peak accuracy. It logs a message for true-peak.
+(identified by <code>TPK</code>) and true-peak per frame (identified by <code>FTPK</code>).
+This mode requires a build with <code>libswresample</code>.
 </p></dd>
 </dl>
 
-<a name="Examples-92"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-92">40.3.1 Examples</a></h3>
+</dd>
+</dl>
+
+<a name="Examples-76"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-76">40.3.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -22534,8 +23437,8 @@ the queue is already filled.
 </p></dd>
 </dl>
 
-<a name="Examples-21"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-21">40.4.1 Examples</a></h3>
+<a name="Examples-27"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-27">40.4.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -22732,8 +23635,8 @@ value means the current frame is more likely to be one (see the example below)
 
 <p>The default value of the select expression is &quot;1&quot;.
 </p>
-<a name="Examples-19"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-19">40.6.1 Examples</a></h3>
+<a name="Examples-85"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-85">40.6.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -22895,8 +23798,8 @@ follows:
 <var>INTERVALS</var>     ::= <var>INTERVAL</var>[;<var>INTERVALS</var>]
 </pre></td></tr></table>
 
-<a name="Examples-59"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-59">40.7.2 Examples</a></h3>
+<a name="Examples-60"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-60">40.7.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -23025,8 +23928,8 @@ instead.
 </dd>
 </dl>
 
-<a name="Examples-47"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-47">40.8.1 Examples</a></h3>
+<a name="Examples-15"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-15">40.8.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -23091,8 +23994,8 @@ rational. The expression can contain the constants &quot;AVTB&quot; (the default
 timebase), &quot;intb&quot; (the input timebase) and &quot;sr&quot; (the sample rate,
 audio only). Default value is &quot;intb&quot;.
 </p>
-<a name="Examples-65"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-65">40.9.1 Examples</a></h3>
+<a name="Examples-83"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-83">40.9.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -23228,8 +24131,8 @@ Default value is <code>1</code>.
 <p>The usage is very similar to the showwaves filter; see the examples in that
 section.
 </p>
-<a name="Examples-88"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-88">40.10.1 Examples</a></h3>
+<a name="Examples-96"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-96">40.10.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -23289,8 +24192,8 @@ option <var>n</var>. Default value is &quot;25&quot;.
 </dd>
 </dl>
 
-<a name="Examples-36"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-36">40.11.1 Examples</a></h3>
+<a name="Examples-41"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-41">40.11.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -23316,8 +24219,8 @@ frame rate of 30 frames per second:
 <p>The filter accepts a single parameter which specifies the number of outputs. If
 unspecified, it defaults to 2.
 </p>
-<a name="Examples-1"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-1">40.12.1 Examples</a></h3>
+<a name="Examples-55"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-55">40.12.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -23386,8 +24289,8 @@ will send a reply to the client, adopting the format:
 
 <p><var>MESSAGE</var> is optional.
 </p>
-<a name="Examples-64"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-64">40.13.1 Examples</a></h3>
+<a name="Examples-59"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-59">40.13.1 Examples</a></h3>
 
 <p>Look at &lsquo;<tt>tools/zmqsend</tt>&rsquo; for an example of a zmq client which can
 be used to send commands processed by these filters.
@@ -23475,7 +24378,7 @@ changed, so it will generate non monotonically increasing timestamps.
 </p></dd>
 </dl>
 
-<p>This filter allows to overlay a second video on top of main input of
+<p>This filter allows one to overlay a second video on top of main input of
 a filtergraph as shown in this graph:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">input -----------&gt; deltapts0 --&gt; overlay --&gt; output
                                     ^
@@ -23483,8 +24386,8 @@ a filtergraph as shown in this graph:
 movie --&gt; scale--&gt; deltapts1 -------+
 </pre></td></tr></table>
 
-<a name="Examples-60"></a>
-<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-60">41.2.1 Examples</a></h3>
+<a name="Examples-89"></a>
+<h3 class="subsection"><a href="ffmpeg-all.html#toc-Examples-89">41.2.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -23543,4 +24446,4 @@ online repository at <a href="http://source.ffmpeg.org">http://source.ffmpeg.org
 </p>
 
 <footer class="footer pagination-right">
-<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>December 14, 2013</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
+<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>June 19, 2014</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
index 83f2ed406abfacb67ce51686970c4af15e480580..115a058a95fb0fc64940254bedbffc0a74e09e2b 100644 (file)
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <html>
-<!-- Created on December 14, 2013 by texi2html 1.82 -->
+<!-- Created on June 19, 2014 by texi2html 1.82 -->
 <!--
 texi2html was written by: 
             Lionel Cons <Lionel.Cons@cern.ch> (original author)
@@ -222,4 +222,4 @@ online repository at <a href="http://source.ffmpeg.org">http://source.ffmpeg.org
 </p>
 
 <footer class="footer pagination-right">
-<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>December 14, 2013</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
+<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>June 19, 2014</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
index a6d724c7c92bcd08678b1eac4648620cf48ce66f..05c84976a4ff1475b925c0fa662cc479bb5c6f11 100644 (file)
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <html>
-<!-- Created on December 14, 2013 by texi2html 1.82 -->
+<!-- Created on June 19, 2014 by texi2html 1.82 -->
 <!--
 texi2html was written by: 
             Lionel Cons <Lionel.Cons@cern.ch> (original author)
@@ -41,32 +41,36 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
   <ul class="toc">
     <li><a name="toc-rawvideo" href="#rawvideo">4.1 rawvideo</a>
     <ul class="toc">
-      <li><a name="toc-Options-17" href="#Options-17">4.1.1 Options</a></li>
+      <li><a name="toc-Options-10" href="#Options-10">4.1.1 Options</a></li>
     </ul>
 </li>
   </ul></li>
   <li><a name="toc-Audio-Decoders" href="#Audio-Decoders">5. Audio Decoders</a>
   <ul class="toc">
-    <li><a name="toc-ffwavesynth" href="#ffwavesynth">5.1 ffwavesynth</a></li>
-    <li><a name="toc-libcelt" href="#libcelt">5.2 libcelt</a></li>
-    <li><a name="toc-libgsm" href="#libgsm">5.3 libgsm</a></li>
-    <li><a name="toc-libilbc" href="#libilbc">5.4 libilbc</a>
+    <li><a name="toc-ac3" href="#ac3">5.1 ac3</a>
     <ul class="toc">
-      <li><a name="toc-Options-13" href="#Options-13">5.4.1 Options</a></li>
+      <li><a name="toc-AC_002d3-Decoder-Options" href="#AC_002d3-Decoder-Options">5.1.1 AC-3 Decoder Options</a></li>
     </ul></li>
-    <li><a name="toc-libopencore_002damrnb" href="#libopencore_002damrnb">5.5 libopencore-amrnb</a></li>
-    <li><a name="toc-libopencore_002damrwb" href="#libopencore_002damrwb">5.6 libopencore-amrwb</a></li>
-    <li><a name="toc-libopus" href="#libopus">5.7 libopus</a></li>
+    <li><a name="toc-ffwavesynth" href="#ffwavesynth">5.2 ffwavesynth</a></li>
+    <li><a name="toc-libcelt" href="#libcelt">5.3 libcelt</a></li>
+    <li><a name="toc-libgsm" href="#libgsm">5.4 libgsm</a></li>
+    <li><a name="toc-libilbc" href="#libilbc">5.5 libilbc</a>
+    <ul class="toc">
+      <li><a name="toc-Options-14" href="#Options-14">5.5.1 Options</a></li>
+    </ul></li>
+    <li><a name="toc-libopencore_002damrnb" href="#libopencore_002damrnb">5.6 libopencore-amrnb</a></li>
+    <li><a name="toc-libopencore_002damrwb" href="#libopencore_002damrwb">5.7 libopencore-amrwb</a></li>
+    <li><a name="toc-libopus" href="#libopus">5.8 libopus</a></li>
   </ul></li>
   <li><a name="toc-Subtitles-Decoders" href="#Subtitles-Decoders">6. Subtitles Decoders</a>
   <ul class="toc">
     <li><a name="toc-dvdsub" href="#dvdsub">6.1 dvdsub</a>
     <ul class="toc">
-      <li><a name="toc-Options-7" href="#Options-7">6.1.1 Options</a></li>
+      <li><a name="toc-Options-15" href="#Options-15">6.1.1 Options</a></li>
     </ul></li>
     <li><a name="toc-libzvbi_002dteletext" href="#libzvbi_002dteletext">6.2 libzvbi-teletext</a>
     <ul class="toc">
-      <li><a name="toc-Options-11" href="#Options-11">6.2.1 Options</a></li>
+      <li><a name="toc-Options-3" href="#Options-3">6.2.1 Options</a></li>
     </ul>
 </li>
   </ul></li>
@@ -75,7 +79,7 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
   <ul class="toc">
     <li><a name="toc-aac" href="#aac">8.1 aac</a>
     <ul class="toc">
-      <li><a name="toc-Options-8" href="#Options-8">8.1.1 Options</a></li>
+      <li><a name="toc-Options-16" href="#Options-16">8.1.1 Options</a></li>
     </ul></li>
     <li><a name="toc-ac3-and-ac3_005ffixed" href="#ac3-and-ac3_005ffixed">8.2 ac3 and ac3_fixed</a>
     <ul class="toc">
@@ -96,37 +100,37 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
     </ul></li>
     <li><a name="toc-libfaac-1" href="#libfaac-1">8.3 libfaac</a>
     <ul class="toc">
-      <li><a name="toc-Options-10" href="#Options-10">8.3.1 Options</a></li>
-      <li><a name="toc-Examples-1" href="#Examples-1">8.3.2 Examples</a></li>
+      <li><a name="toc-Options-17" href="#Options-17">8.3.1 Options</a></li>
+      <li><a name="toc-Examples" href="#Examples">8.3.2 Examples</a></li>
     </ul></li>
     <li><a name="toc-libfdk_005faac" href="#libfdk_005faac">8.4 libfdk_aac</a>
     <ul class="toc">
-      <li><a name="toc-Options-5" href="#Options-5">8.4.1 Options</a></li>
+      <li><a name="toc-Options-4" href="#Options-4">8.4.1 Options</a></li>
       <li><a name="toc-Examples-2" href="#Examples-2">8.4.2 Examples</a></li>
     </ul></li>
     <li><a name="toc-libmp3lame-1" href="#libmp3lame-1">8.5 libmp3lame</a>
     <ul class="toc">
-      <li><a name="toc-Options-12" href="#Options-12">8.5.1 Options</a></li>
+      <li><a name="toc-Options-9" href="#Options-9">8.5.1 Options</a></li>
     </ul></li>
     <li><a name="toc-libopencore_002damrnb-1" href="#libopencore_002damrnb-1">8.6 libopencore-amrnb</a>
     <ul class="toc">
-      <li><a name="toc-Options-9" href="#Options-9">8.6.1 Options</a></li>
+      <li><a name="toc-Options-2" href="#Options-2">8.6.1 Options</a></li>
     </ul></li>
     <li><a name="toc-libshine-1" href="#libshine-1">8.7 libshine</a>
     <ul class="toc">
-      <li><a name="toc-Options" href="#Options">8.7.1 Options</a></li>
+      <li><a name="toc-Options-20" href="#Options-20">8.7.1 Options</a></li>
     </ul></li>
     <li><a name="toc-libtwolame" href="#libtwolame">8.8 libtwolame</a>
     <ul class="toc">
-      <li><a name="toc-Options-1" href="#Options-1">8.8.1 Options</a></li>
+      <li><a name="toc-Options" href="#Options">8.8.1 Options</a></li>
     </ul></li>
     <li><a name="toc-libvo_002daacenc-1" href="#libvo_002daacenc-1">8.9 libvo-aacenc</a>
     <ul class="toc">
-      <li><a name="toc-Options-4" href="#Options-4">8.9.1 Options</a></li>
+      <li><a name="toc-Options-1" href="#Options-1">8.9.1 Options</a></li>
     </ul></li>
     <li><a name="toc-libvo_002damrwbenc" href="#libvo_002damrwbenc">8.10 libvo-amrwbenc</a>
     <ul class="toc">
-      <li><a name="toc-Options-15" href="#Options-15">8.10.1 Options</a></li>
+      <li><a name="toc-Options-5" href="#Options-5">8.10.1 Options</a></li>
     </ul></li>
     <li><a name="toc-libopus-1" href="#libopus-1">8.11 libopus</a>
     <ul class="toc">
@@ -134,37 +138,56 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
     </ul></li>
     <li><a name="toc-libvorbis" href="#libvorbis">8.12 libvorbis</a>
     <ul class="toc">
-      <li><a name="toc-Options-16" href="#Options-16">8.12.1 Options</a></li>
+      <li><a name="toc-Options-19" href="#Options-19">8.12.1 Options</a></li>
     </ul></li>
-    <li><a name="toc-libwavpack" href="#libwavpack">8.13 libwavpack</a></li>
+    <li><a name="toc-libwavpack-1" href="#libwavpack-1">8.13 libwavpack</a>
+    <ul class="toc">
+      <li><a name="toc-Options-6" href="#Options-6">8.13.1 Options</a></li>
+    </ul></li>
+    <li><a name="toc-wavpack" href="#wavpack">8.14 wavpack</a>
+    <ul class="toc">
+      <li><a name="toc-Options-7" href="#Options-7">8.14.1 Options</a>
+      <ul class="toc">
+        <li><a name="toc-Shared-options" href="#Shared-options">8.14.1.1 Shared options</a></li>
+        <li><a name="toc-Private-options-1" href="#Private-options-1">8.14.1.2 Private options</a></li>
+      </ul>
+</li>
+    </ul>
+</li>
   </ul></li>
   <li><a name="toc-Video-Encoders" href="#Video-Encoders">9. Video Encoders</a>
   <ul class="toc">
     <li><a name="toc-libtheora" href="#libtheora">9.1 libtheora</a>
     <ul class="toc">
-      <li><a name="toc-Options-14" href="#Options-14">9.1.1 Options</a></li>
-      <li><a name="toc-Examples" href="#Examples">9.1.2 Examples</a></li>
+      <li><a name="toc-Options-8" href="#Options-8">9.1.1 Options</a></li>
+      <li><a name="toc-Examples-1" href="#Examples-1">9.1.2 Examples</a></li>
     </ul></li>
     <li><a name="toc-libvpx" href="#libvpx">9.2 libvpx</a>
     <ul class="toc">
-      <li><a name="toc-Options-3" href="#Options-3">9.2.1 Options</a></li>
+      <li><a name="toc-Options-11" href="#Options-11">9.2.1 Options</a></li>
+    </ul></li>
+    <li><a name="toc-libwebp" href="#libwebp">9.3 libwebp</a>
+    <ul class="toc">
+      <li><a name="toc-Pixel-Format" href="#Pixel-Format">9.3.1 Pixel Format</a></li>
+      <li><a name="toc-Options-12" href="#Options-12">9.3.2 Options</a></li>
     </ul></li>
-    <li><a name="toc-libx264" href="#libx264">9.3 libx264</a>
+    <li><a name="toc-libx264_002c-libx264rgb" href="#libx264_002c-libx264rgb">9.4 libx264, libx264rgb</a>
     <ul class="toc">
-      <li><a name="toc-Options-6" href="#Options-6">9.3.1 Options</a></li>
+      <li><a name="toc-Supported-Pixel-Formats" href="#Supported-Pixel-Formats">9.4.1 Supported Pixel Formats</a></li>
+      <li><a name="toc-Options-18" href="#Options-18">9.4.2 Options</a></li>
     </ul></li>
-    <li><a name="toc-libxvid" href="#libxvid">9.4 libxvid</a>
+    <li><a name="toc-libxvid" href="#libxvid">9.5 libxvid</a>
     <ul class="toc">
-      <li><a name="toc-Options-2" href="#Options-2">9.4.1 Options</a></li>
+      <li><a name="toc-Options-13" href="#Options-13">9.5.1 Options</a></li>
     </ul></li>
-    <li><a name="toc-png" href="#png">9.5 png</a>
+    <li><a name="toc-png" href="#png">9.6 png</a>
     <ul class="toc">
-      <li><a name="toc-Private-options" href="#Private-options">9.5.1 Private options</a></li>
+      <li><a name="toc-Private-options" href="#Private-options">9.6.1 Private options</a></li>
     </ul></li>
-    <li><a name="toc-ProRes" href="#ProRes">9.6 ProRes</a>
+    <li><a name="toc-ProRes" href="#ProRes">9.7 ProRes</a>
     <ul class="toc">
-      <li><a name="toc-Private-Options-for-prores_002dks" href="#Private-Options-for-prores_002dks">9.6.1 Private Options for prores-ks</a></li>
-      <li><a name="toc-Speed-considerations" href="#Speed-considerations">9.6.2 Speed considerations</a></li>
+      <li><a name="toc-Private-Options-for-prores_002dks" href="#Private-Options-for-prores_002dks">9.7.1 Private Options for prores-ks</a></li>
+      <li><a name="toc-Speed-considerations" href="#Speed-considerations">9.7.2 Speed considerations</a></li>
     </ul>
 </li>
   </ul></li>
@@ -1230,6 +1253,9 @@ decoding starts.
 </dd>
 <dt> &lsquo;<samp>skip_exp <var>integer</var> (<em>encoding,video</em>)</samp>&rsquo;</dt>
 <dd><p>Set frame skip exponent.
+Negative values behave identical to the corresponding positive ones, except
+that the score is normalized.
+Positive values exist primarly for compatibility reasons and are not so useful.
 </p>
 </dd>
 <dt> &lsquo;<samp>skipcmp <var>integer</var> (<em>encoding,video</em>)</samp>&rsquo;</dt>
@@ -1507,7 +1533,7 @@ available decoders using the configure option <code>--list-decoders</code>.
 with the options <code>--enable-decoder=<var>DECODER</var></code> /
 <code>--disable-decoder=<var>DECODER</var></code>.
 </p>
-<p>The option <code>-codecs</code> of the ff* tools will display the list of
+<p>The option <code>-decoders</code> of the ff* tools will display the list of
 enabled decoders.
 </p>
 
@@ -1524,8 +1550,8 @@ follows.
 </p>
 <p>This decoder decodes rawvideo streams.
 </p>
-<a name="Options-17"></a>
-<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options-17">4.1.1 Options</a></h3>
+<a name="Options-10"></a>
+<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options-10">4.1.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>top <var>top_field_first</var></samp>&rsquo;</dt>
@@ -1549,8 +1575,44 @@ follows.
 <a name="Audio-Decoders"></a>
 <h1 class="chapter"><a href="ffmpeg-codecs.html#toc-Audio-Decoders">5. Audio Decoders</a></h1>
 
+<p>A description of some of the currently available audio decoders
+follows.
+</p>
+<a name="ac3"></a>
+<h2 class="section"><a href="ffmpeg-codecs.html#toc-ac3">5.1 ac3</a></h2>
+
+<p>AC-3 audio decoder.
+</p>
+<p>This decoder implements part of ATSC A/52:2010 and ETSI TS 102 366, as well as
+the undocumented RealAudio 3 (a.k.a. dnet).
+</p>
+<a name="AC_002d3-Decoder-Options"></a>
+<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-AC_002d3-Decoder-Options">5.1.1 AC-3 Decoder Options</a></h3>
+
+<dl compact="compact">
+<dt> &lsquo;<samp>-drc_scale <var>value</var></samp>&rsquo;</dt>
+<dd><p>Dynamic Range Scale Factor. The factor to apply to dynamic range values
+from the AC-3 stream. This factor is applied exponentially.
+There are 3 notable scale factor ranges:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>drc_scale == 0</samp>&rsquo;</dt>
+<dd><p>DRC disabled. Produces full range audio.
+</p></dd>
+<dt> &lsquo;<samp>0 &lt; drc_scale &lt;= 1</samp>&rsquo;</dt>
+<dd><p>DRC enabled.  Applies a fraction of the stream DRC value.
+Audio reproduction is between full range and full compression.
+</p></dd>
+<dt> &lsquo;<samp>drc_scale &gt; 1</samp>&rsquo;</dt>
+<dd><p>DRC enabled. Applies drc_scale asymmetrically.
+Loud sounds are fully compressed.  Soft sounds are enhanced.
+</p></dd>
+</dl>
+
+</dd>
+</dl>
+
 <a name="ffwavesynth"></a>
-<h2 class="section"><a href="ffmpeg-codecs.html#toc-ffwavesynth">5.1 ffwavesynth</a></h2>
+<h2 class="section"><a href="ffmpeg-codecs.html#toc-ffwavesynth">5.2 ffwavesynth</a></h2>
 
 <p>Internal wave synthetizer.
 </p>
@@ -1559,7 +1621,7 @@ use is purely internal and the format of the data it accepts is not publicly
 documented.
 </p>
 <a name="libcelt"></a>
-<h2 class="section"><a href="ffmpeg-codecs.html#toc-libcelt">5.2 libcelt</a></h2>
+<h2 class="section"><a href="ffmpeg-codecs.html#toc-libcelt">5.3 libcelt</a></h2>
 
 <p>libcelt decoder wrapper.
 </p>
@@ -1568,7 +1630,7 @@ Requires the presence of the libcelt headers and library during configuration.
 You need to explicitly configure the build with <code>--enable-libcelt</code>.
 </p>
 <a name="libgsm"></a>
-<h2 class="section"><a href="ffmpeg-codecs.html#toc-libgsm">5.3 libgsm</a></h2>
+<h2 class="section"><a href="ffmpeg-codecs.html#toc-libgsm">5.4 libgsm</a></h2>
 
 <p>libgsm decoder wrapper.
 </p>
@@ -1579,7 +1641,7 @@ to explicitly configure the build with <code>--enable-libgsm</code>.
 <p>This decoder supports both the ordinary GSM and the Microsoft variant.
 </p>
 <a name="libilbc"></a>
-<h2 class="section"><a href="ffmpeg-codecs.html#toc-libilbc">5.4 libilbc</a></h2>
+<h2 class="section"><a href="ffmpeg-codecs.html#toc-libilbc">5.5 libilbc</a></h2>
 
 <p>libilbc decoder wrapper.
 </p>
@@ -1588,8 +1650,8 @@ audio codec. Requires the presence of the libilbc headers and library during
 configuration. You need to explicitly configure the build with
 <code>--enable-libilbc</code>.
 </p>
-<a name="Options-13"></a>
-<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options-13">5.4.1 Options</a></h3>
+<a name="Options-14"></a>
+<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options-14">5.5.1 Options</a></h3>
 
 <p>The following option is supported by the libilbc wrapper.
 </p>
@@ -1603,7 +1665,7 @@ value is 0 (disabled).
 </dl>
 
 <a name="libopencore_002damrnb"></a>
-<h2 class="section"><a href="ffmpeg-codecs.html#toc-libopencore_002damrnb">5.5 libopencore-amrnb</a></h2>
+<h2 class="section"><a href="ffmpeg-codecs.html#toc-libopencore_002damrnb">5.6 libopencore-amrnb</a></h2>
 
 <p>libopencore-amrnb decoder wrapper.
 </p>
@@ -1616,7 +1678,7 @@ explicitly configure the build with <code>--enable-libopencore-amrnb</code>.
 without this library.
 </p>
 <a name="libopencore_002damrwb"></a>
-<h2 class="section"><a href="ffmpeg-codecs.html#toc-libopencore_002damrwb">5.6 libopencore-amrwb</a></h2>
+<h2 class="section"><a href="ffmpeg-codecs.html#toc-libopencore_002damrwb">5.7 libopencore-amrwb</a></h2>
 
 <p>libopencore-amrwb decoder wrapper.
 </p>
@@ -1629,7 +1691,7 @@ explicitly configure the build with <code>--enable-libopencore-amrwb</code>.
 without this library.
 </p>
 <a name="libopus"></a>
-<h2 class="section"><a href="ffmpeg-codecs.html#toc-libopus">5.7 libopus</a></h2>
+<h2 class="section"><a href="ffmpeg-codecs.html#toc-libopus">5.8 libopus</a></h2>
 
 <p>libopus decoder wrapper.
 </p>
@@ -1648,8 +1710,8 @@ configuration. You need to explicitly configure the build with
 <p>This codec decodes the bitmap subtitles used in DVDs; the same subtitles can
 also be found in VobSub file pairs and in some Matroska files.
 </p>
-<a name="Options-7"></a>
-<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options-7">6.1.1 Options</a></h3>
+<a name="Options-15"></a>
+<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options-15">6.1.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>palette</samp>&rsquo;</dt>
@@ -1674,8 +1736,8 @@ subtitles. Requires the presence of the libzvbi headers and library during
 configuration. You need to explicitly configure the build with
 <code>--enable-libzvbi</code>.
 </p>
-<a name="Options-11"></a>
-<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options-11">6.2.1 Options</a></h3>
+<a name="Options-3"></a>
+<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options-3">6.2.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>txt_page</samp>&rsquo;</dt>
@@ -1733,7 +1795,7 @@ available encoders using the configure option <code>--list-encoders</code>.
 with the options <code>--enable-encoder=<var>ENCODER</var></code> /
 <code>--disable-encoder=<var>ENCODER</var></code>.
 </p>
-<p>The option <code>-codecs</code> of the ff* tools will display the list of
+<p>The option <code>-encoders</code> of the ff* tools will display the list of
 enabled encoders.
 </p>
 
@@ -1759,8 +1821,8 @@ that it has a worse quality reported by some users.
 </p>
 <p>See also <a href="#libfdk_002daac_002denc">libfdk_aac</a> and <a href="#libfaac">libfaac</a>.
 </p>
-<a name="Options-8"></a>
-<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options-8">8.1.1 Options</a></h3>
+<a name="Options-16"></a>
+<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options-16">8.1.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>b</samp>&rsquo;</dt>
@@ -2322,8 +2384,8 @@ configuration. You need to explicitly configure the build with
 <p>For more information see the libfaac project at
 <a href="http://www.audiocoding.com/faac.html/">http://www.audiocoding.com/faac.html/</a>.
 </p>
-<a name="Options-10"></a>
-<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options-10">8.3.1 Options</a></h3>
+<a name="Options-17"></a>
+<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options-17">8.3.1 Options</a></h3>
 
 <p>The following shared FFmpeg codec options are recognized.
 </p>
@@ -2409,8 +2471,8 @@ tool. For library interface users, use &lsquo;<samp>global_quality</samp>&rsquo;
 </p></dd>
 </dl>
 
-<a name="Examples-1"></a>
-<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Examples-1">8.3.2 Examples</a></h3>
+<a name="Examples"></a>
+<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Examples">8.3.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -2449,11 +2511,14 @@ both <a href="#aacenc">the native experimental FFmpeg AAC encoder</a> and
 +qscale</samp>&rsquo; options, is experimental and only works with some
 combinations of parameters.
 </p>
+<p>Support for encoding 7.1 audio is only available with libfdk-aac 0.1.3 or
+higher.
+</p>
 <p>For more information see the fdk-aac project at
 <a href="http://sourceforge.net/p/opencore-amr/fdk-aac/">http://sourceforge.net/p/opencore-amr/fdk-aac/</a>.
 </p>
-<a name="Options-5"></a>
-<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options-5">8.4.1 Options</a></h3>
+<a name="Options-4"></a>
+<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options-4">8.4.1 Options</a></h3>
 
 <p>The following options are mapped on the shared FFmpeg codec options.
 </p>
@@ -2635,8 +2700,8 @@ configuration. You need to explicitly configure the build with
 <p>See <a href="#libshine">libshine</a> for a fixed-point MP3 encoder, although with a
 lower quality.
 </p>
-<a name="Options-12"></a>
-<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options-12">8.5.1 Options</a></h3>
+<a name="Options-9"></a>
+<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options-9">8.5.1 Options</a></h3>
 
 <p>The following options are supported by the libmp3lame wrapper. The
 <code>lame</code>-equivalent of the options are listed in parentheses.
@@ -2661,7 +2726,7 @@ while producing the worst quality.
 </dd>
 <dt> &lsquo;<samp>reservoir</samp>&rsquo;</dt>
 <dd><p>Enable use of bit reservoir when set to 1. Default value is 1. LAME
-has this enabled by default, but can be overriden by use
+has this enabled by default, but can be overridden by use
 &lsquo;<samp>--nores</samp>&rsquo; option.
 </p>
 </dd>
@@ -2691,8 +2756,8 @@ configuration. You need to explicitly configure the build with
 but you can override it by setting &lsquo;<samp>strict</samp>&rsquo; to &lsquo;<samp>unofficial</samp>&rsquo; or
 lower.
 </p>
-<a name="Options-9"></a>
-<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options-9">8.6.1 Options</a></h3>
+<a name="Options-2"></a>
+<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options-2">8.6.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>b</samp>&rsquo;</dt>
@@ -2743,8 +2808,8 @@ configuration. You need to explicitly configure the build with
 </p>
 <p>See also <a href="#libmp3lame">libmp3lame</a>.
 </p>
-<a name="Options"></a>
-<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options">8.7.1 Options</a></h3>
+<a name="Options-20"></a>
+<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options-20">8.7.1 Options</a></h3>
 
 <p>The following options are supported by the libshine wrapper. The
 <code>shineenc</code>-equivalent of the options are listed in parentheses.
@@ -2766,8 +2831,8 @@ is expressed in kilobits/s.
 configuration. You need to explicitly configure the build with
 <code>--enable-libtwolame</code>.
 </p>
-<a name="Options-1"></a>
-<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options-1">8.8.1 Options</a></h3>
+<a name="Options"></a>
+<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options">8.8.1 Options</a></h3>
 
 <p>The following options are supported by the libtwolame wrapper. The
 <code>twolame</code>-equivalent options follow the FFmpeg ones and are in
@@ -2851,8 +2916,8 @@ configuration. You need to explicitly configure the build with
 <a href="#aacenc">native experimental FFmpeg AAC encoder</a>, according to
 multiple sources.
 </p>
-<a name="Options-4"></a>
-<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options-4">8.9.1 Options</a></h3>
+<a name="Options-1"></a>
+<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options-1">8.9.1 Options</a></h3>
 
 <p>The VisualOn AAC encoder only support encoding AAC-LC and up to 2
 channels. It is also CBR-only.
@@ -2877,8 +2942,8 @@ configuration. You need to explicitly configure the build with
 rate, but you can override it by setting &lsquo;<samp>strict</samp>&rsquo; to
 &lsquo;<samp>unofficial</samp>&rsquo; or lower.
 </p>
-<a name="Options-15"></a>
-<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options-15">8.10.1 Options</a></h3>
+<a name="Options-5"></a>
+<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options-5">8.10.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>b</samp>&rsquo;</dt>
@@ -3001,8 +3066,8 @@ respectively. The default is 0 (cutoff disabled).
 configuration. You need to explicitly configure the build with
 <code>--enable-libvorbis</code>.
 </p>
-<a name="Options-16"></a>
-<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options-16">8.12.1 Options</a></h3>
+<a name="Options-19"></a>
+<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options-19">8.12.1 Options</a></h3>
 
 <p>The following options are supported by the libvorbis wrapper. The
 <code>oggenc</code>-equivalent of the options are listed in parentheses.
@@ -3052,37 +3117,133 @@ transient response is a higher bitrate.
 </dd>
 </dl>
 
-<a name="libwavpack"></a>
-<h2 class="section"><a href="ffmpeg-codecs.html#toc-libwavpack">8.13 libwavpack</a></h2>
+<p><a name="libwavpack"></a>
+</p><a name="libwavpack-1"></a>
+<h2 class="section"><a href="ffmpeg-codecs.html#toc-libwavpack-1">8.13 libwavpack</a></h2>
 
 <p>A wrapper providing WavPack encoding through libwavpack.
 </p>
 <p>Only lossless mode using 32-bit integer samples is supported currently.
-The &lsquo;<samp>compression_level</samp>&rsquo; option can be used to control speed vs.
-compression tradeoff, with the values mapped to libwavpack as follows:
+</p>
+<p>Requires the presence of the libwavpack headers and library during
+configuration. You need to explicitly configure the build with
+<code>--enable-libwavpack</code>.
+</p>
+<p>Note that a libavcodec-native encoder for the WavPack codec exists so users can
+encode audios with this codec without using this encoder. See <a href="#wavpackenc">wavpackenc</a>.
+</p>
+<a name="Options-6"></a>
+<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options-6">8.13.1 Options</a></h3>
+
+<p><code>wavpack</code> command line utility&rsquo;s corresponding options are listed in
+parentheses, if any.
 </p>
 <dl compact="compact">
-<dt> &lsquo;<samp>0</samp>&rsquo;</dt>
-<dd><p>Fast mode - corresponding to the wavpack &lsquo;<samp>-f</samp>&rsquo; option.
+<dt> &lsquo;<samp>frame_size (<em>--blocksize</em>)</samp>&rsquo;</dt>
+<dd><p>Default is 32768.
+</p>
+</dd>
+<dt> &lsquo;<samp>compression_level</samp>&rsquo;</dt>
+<dd><p>Set speed vs. compression tradeoff. Acceptable arguments are listed below:
+</p>
+<dl compact="compact">
+<dt> &lsquo;<samp>0 (<em>-f</em>)</samp>&rsquo;</dt>
+<dd><p>Fast mode.
 </p>
 </dd>
 <dt> &lsquo;<samp>1</samp>&rsquo;</dt>
 <dd><p>Normal (default) settings.
 </p>
 </dd>
-<dt> &lsquo;<samp>2</samp>&rsquo;</dt>
-<dd><p>High quality - corresponding to the wavpack &lsquo;<samp>-h</samp>&rsquo; option.
+<dt> &lsquo;<samp>2 (<em>-h</em>)</samp>&rsquo;</dt>
+<dd><p>High quality.
 </p>
 </dd>
-<dt> &lsquo;<samp>3</samp>&rsquo;</dt>
-<dd><p>Very high quality - corresponding to the wavpack &lsquo;<samp>-hh</samp>&rsquo; option.
+<dt> &lsquo;<samp>3 (<em>-hh</em>)</samp>&rsquo;</dt>
+<dd><p>Very high quality.
+</p>
+</dd>
+<dt> &lsquo;<samp>4-8 (<em>-hh -x</em><var>EXTRAPROC</var>)</samp>&rsquo;</dt>
+<dd><p>Same as &lsquo;<samp>3</samp>&rsquo;, but with extra processing enabled.
+</p>
+<p>&lsquo;<samp>4</samp>&rsquo; is the same as &lsquo;<samp>-x2</samp>&rsquo; and &lsquo;<samp>8</samp>&rsquo; is the same as &lsquo;<samp>-x6</samp>&rsquo;.
+</p>
+</dd>
+</dl>
+</dd>
+</dl>
+
+<p><a name="wavpackenc"></a>
+</p><a name="wavpack"></a>
+<h2 class="section"><a href="ffmpeg-codecs.html#toc-wavpack">8.14 wavpack</a></h2>
+
+<p>WavPack lossless audio encoder.
+</p>
+<p>This is a libavcodec-native WavPack encoder. There is also an encoder based on
+libwavpack, but there is virtually no reason to use that encoder.
+</p>
+<p>See also <a href="#libwavpack">libwavpack</a>.
+</p>
+<a name="Options-7"></a>
+<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options-7">8.14.1 Options</a></h3>
+
+<p>The equivalent options for <code>wavpack</code> command line utility are listed in
+parentheses.
+</p>
+<a name="Shared-options"></a>
+<h4 class="subsubsection"><a href="ffmpeg-codecs.html#toc-Shared-options">8.14.1.1 Shared options</a></h4>
+
+<p>The following shared options are effective for this encoder. Only special notes
+about this particular encoder will be documented here. For the general meaning
+of the options, see <a href="#codec_002doptions">the Codec Options chapter</a>.
+</p>
+<dl compact="compact">
+<dt> &lsquo;<samp>frame_size (<em>--blocksize</em>)</samp>&rsquo;</dt>
+<dd><p>For this encoder, the range for this option is between 128 and 131072. Default
+is automatically decided based on sample rate and number of channel.
+</p>
+<p>For the complete formula of calculating default, see
+&lsquo;<tt>libavcodec/wavpackenc.c</tt>&rsquo;.
 </p>
 </dd>
-<dt> &lsquo;<samp>4-8</samp>&rsquo;</dt>
-<dd><p>Same as 3, but with extra processing enabled - corresponding to the wavpack
-&lsquo;<samp>-x</samp>&rsquo; option. I.e. 4 is the same as &lsquo;<samp>-x2</samp>&rsquo; and 8 is the same as
-&lsquo;<samp>-x6</samp>&rsquo;.
+<dt> &lsquo;<samp>compression_level (<em>-f</em>, <em>-h</em>, <em>-hh</em>, and <em>-x</em>)</samp>&rsquo;</dt>
+<dd><p>This option&rsquo;s syntax is consistent with <a href="#libwavpack">libwavpack</a>&rsquo;s.
+</p></dd>
+</dl>
+
+<a name="Private-options-1"></a>
+<h4 class="subsubsection"><a href="ffmpeg-codecs.html#toc-Private-options-1">8.14.1.2 Private options</a></h4>
+
+<dl compact="compact">
+<dt> &lsquo;<samp>joint_stereo (<em>-j</em>)</samp>&rsquo;</dt>
+<dd><p>Set whether to enable joint stereo. Valid values are:
 </p>
+<dl compact="compact">
+<dt> &lsquo;<samp>on (<em>1</em>)</samp>&rsquo;</dt>
+<dd><p>Force mid/side audio encoding.
+</p></dd>
+<dt> &lsquo;<samp>off (<em>0</em>)</samp>&rsquo;</dt>
+<dd><p>Force left/right audio encoding.
+</p></dd>
+<dt> &lsquo;<samp>auto</samp>&rsquo;</dt>
+<dd><p>Let the encoder decide automatically.
+</p></dd>
+</dl>
+
+</dd>
+<dt> &lsquo;<samp>optimize_mono</samp>&rsquo;</dt>
+<dd><p>Set whether to enable optimization for mono. This option is only effective for
+non-mono streams. Available values:
+</p>
+<dl compact="compact">
+<dt> &lsquo;<samp>on</samp>&rsquo;</dt>
+<dd><p>enabled
+</p></dd>
+<dt> &lsquo;<samp>off</samp>&rsquo;</dt>
+<dd><p>disabled
+</p></dd>
+</dl>
+
 </dd>
 </dl>
 
@@ -3102,11 +3263,11 @@ follows.
 configuration. You need to explicitly configure the build with
 <code>--enable-libtheora</code>.
 </p>
-<p>For more informations about the libtheora project see
+<p>For more information about the libtheora project see
 <a href="http://www.theora.org/">http://www.theora.org/</a>.
 </p>
-<a name="Options-14"></a>
-<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options-14">9.1.1 Options</a></h3>
+<a name="Options-8"></a>
+<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options-8">9.1.1 Options</a></h3>
 
 <p>The following global options are mapped to internal libtheora options
 which affect the quality and the bitrate of the encoded stream.
@@ -3149,8 +3310,8 @@ tool. For library interface users, use &lsquo;<samp>global_quality</samp>&rsquo;
 </p></dd>
 </dl>
 
-<a name="Examples"></a>
-<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Examples">9.1.2 Examples</a></h3>
+<a name="Examples-1"></a>
+<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Examples-1">9.1.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -3172,8 +3333,8 @@ Use <code>ffmpeg</code> to convert a CBR 1000 kbps Theora video stream:
 <p>Requires the presence of the libvpx headers and library during configuration.
 You need to explicitly configure the build with <code>--enable-libvpx</code>.
 </p>
-<a name="Options-3"></a>
-<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options-3">9.2.1 Options</a></h3>
+<a name="Options-11"></a>
+<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options-11">9.2.1 Options</a></h3>
 
 <p>Mapping from FFmpeg to libvpx options with conversion notes in parentheses.
 </p>
@@ -3317,8 +3478,83 @@ You need to explicitly configure the build with <code>--enable-libvpx</code>.
 <p>For more information about libvpx see:
 <a href="http://www.webmproject.org/">http://www.webmproject.org/</a>
 </p>
-<a name="libx264"></a>
-<h2 class="section"><a href="ffmpeg-codecs.html#toc-libx264">9.3 libx264</a></h2>
+
+<a name="libwebp"></a>
+<h2 class="section"><a href="ffmpeg-codecs.html#toc-libwebp">9.3 libwebp</a></h2>
+
+<p>libwebp WebP Image encoder wrapper
+</p>
+<p>libwebp is Google&rsquo;s official encoder for WebP images. It can encode in either
+lossy or lossless mode. Lossy images are essentially a wrapper around a VP8
+frame. Lossless images are a separate codec developed by Google.
+</p>
+<a name="Pixel-Format"></a>
+<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Pixel-Format">9.3.1 Pixel Format</a></h3>
+
+<p>Currently, libwebp only supports YUV420 for lossy and RGB for lossless due
+to limitations of the format and libwebp. Alpha is supported for either mode.
+Because of API limitations, if RGB is passed in when encoding lossy or YUV is
+passed in for encoding lossless, the pixel format will automatically be
+converted using functions from libwebp. This is not ideal and is done only for
+convenience.
+</p>
+<a name="Options-12"></a>
+<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options-12">9.3.2 Options</a></h3>
+
+<dl compact="compact">
+<dt> &lsquo;<samp>-lossless <var>boolean</var></samp>&rsquo;</dt>
+<dd><p>Enables/Disables use of lossless mode. Default is 0.
+</p>
+</dd>
+<dt> &lsquo;<samp>-compression_level <var>integer</var></samp>&rsquo;</dt>
+<dd><p>For lossy, this is a quality/speed tradeoff. Higher values give better quality
+for a given size at the cost of increased encoding time. For lossless, this is
+a size/speed tradeoff. Higher values give smaller size at the cost of increased
+encoding time. More specifically, it controls the number of extra algorithms
+and compression tools used, and varies the combination of these tools. This
+maps to the <var>method</var> option in libwebp. The valid range is 0 to 6.
+Default is 4.
+</p>
+</dd>
+<dt> &lsquo;<samp>-qscale <var>float</var></samp>&rsquo;</dt>
+<dd><p>For lossy encoding, this controls image quality, 0 to 100. For lossless
+encoding, this controls the effort and time spent at compressing more. The
+default value is 75. Note that for usage via libavcodec, this option is called
+<var>global_quality</var> and must be multiplied by <var>FF_QP2LAMBDA</var>.
+</p>
+</dd>
+<dt> &lsquo;<samp>-preset <var>type</var></samp>&rsquo;</dt>
+<dd><p>Configuration preset. This does some automatic settings based on the general
+type of the image.
+</p><dl compact="compact">
+<dt> &lsquo;<samp>none</samp>&rsquo;</dt>
+<dd><p>Do not use a preset.
+</p></dd>
+<dt> &lsquo;<samp>default</samp>&rsquo;</dt>
+<dd><p>Use the encoder default.
+</p></dd>
+<dt> &lsquo;<samp>picture</samp>&rsquo;</dt>
+<dd><p>Digital picture, like portrait, inner shot
+</p></dd>
+<dt> &lsquo;<samp>photo</samp>&rsquo;</dt>
+<dd><p>Outdoor photograph, with natural lighting
+</p></dd>
+<dt> &lsquo;<samp>drawing</samp>&rsquo;</dt>
+<dd><p>Hand or line drawing, with high-contrast details
+</p></dd>
+<dt> &lsquo;<samp>icon</samp>&rsquo;</dt>
+<dd><p>Small-sized colorful images
+</p></dd>
+<dt> &lsquo;<samp>text</samp>&rsquo;</dt>
+<dd><p>Text-like
+</p></dd>
+</dl>
+
+</dd>
+</dl>
+
+<a name="libx264_002c-libx264rgb"></a>
+<h2 class="section"><a href="ffmpeg-codecs.html#toc-libx264_002c-libx264rgb">9.4 libx264, libx264rgb</a></h2>
 
 <p>x264 H.264/MPEG-4 AVC encoder wrapper.
 </p>
@@ -3334,14 +3570,25 @@ for detail retention (adaptive quantization, psy-RD, psy-trellis).
 <p>Many libx264 encoder options are mapped to FFmpeg global codec
 options, while unique encoder options are provided through private
 options. Additionally the &lsquo;<samp>x264opts</samp>&rsquo; and &lsquo;<samp>x264-params</samp>&rsquo;
-private options allows to pass a list of key=value tuples as accepted
+private options allows one to pass a list of key=value tuples as accepted
 by the libx264 <code>x264_param_parse</code> function.
 </p>
 <p>The x264 project website is at
 <a href="http://www.videolan.org/developers/x264.html">http://www.videolan.org/developers/x264.html</a>.
 </p>
-<a name="Options-6"></a>
-<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options-6">9.3.1 Options</a></h3>
+<p>The libx264rgb encoder is the same as libx264, except it accepts packed RGB
+pixel formats as input instead of YUV.
+</p>
+<a name="Supported-Pixel-Formats"></a>
+<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Supported-Pixel-Formats">9.4.1 Supported Pixel Formats</a></h3>
+
+<p>x264 supports 8- to 10-bit color spaces. The exact bit depth is controlled at
+x264&rsquo;s configure time. FFmpeg only supports one bit depth in one particular
+build. In other words, it is not possible to build one FFmpeg with multiple
+versions of x264 with different bit depths.
+</p>
+<a name="Options-18"></a>
+<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options-18">9.4.2 Options</a></h3>
 
 <p>The following options are supported by the libx264 wrapper. The
 <code>x264</code>-equivalent options or values are listed in parentheses
@@ -3707,7 +3954,7 @@ is kept undocumented for some reason.
 parameters.
 </p>
 <p>This option is functionally the same as the &lsquo;<samp>x264opts</samp>&rsquo;, but is
-duplicated for compability with the Libav fork.
+duplicated for compatibility with the Libav fork.
 </p>
 <p>For example to specify libx264 encoding options with <code>ffmpeg</code>:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -c:v libx264 -x264-params level=30:bframes=0:weightp=0:\
@@ -3721,7 +3968,7 @@ no-fast-pskip=1:subq=6:8x8dct=0:trellis=0 OUTPUT
 general presets system (e.g. passing the &lsquo;<samp>pre</samp>&rsquo; option).
 </p>
 <a name="libxvid"></a>
-<h2 class="section"><a href="ffmpeg-codecs.html#toc-libxvid">9.4 libxvid</a></h2>
+<h2 class="section"><a href="ffmpeg-codecs.html#toc-libxvid">9.5 libxvid</a></h2>
 
 <p>Xvid MPEG-4 Part 2 encoder wrapper.
 </p>
@@ -3732,8 +3979,8 @@ during configuration. You need to explicitly configure the build with
 <p>The native <code>mpeg4</code> encoder supports the MPEG-4 Part 2 format, so
 users can encode to this format without this library.
 </p>
-<a name="Options-2"></a>
-<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options-2">9.4.1 Options</a></h3>
+<a name="Options-13"></a>
+<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Options-13">9.5.1 Options</a></h3>
 
 <p>The following options are supported by the libxvid wrapper. Some of
 the following options are listed but are not documented, and
@@ -3896,12 +4143,12 @@ fastest.
 </dl>
 
 <a name="png"></a>
-<h2 class="section"><a href="ffmpeg-codecs.html#toc-png">9.5 png</a></h2>
+<h2 class="section"><a href="ffmpeg-codecs.html#toc-png">9.6 png</a></h2>
 
 <p>PNG image encoder.
 </p>
 <a name="Private-options"></a>
-<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Private-options">9.5.1 Private options</a></h3>
+<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Private-options">9.6.1 Private options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>dpi <var>integer</var></samp>&rsquo;</dt>
@@ -3913,15 +4160,15 @@ fastest.
 </dl>
 
 <a name="ProRes"></a>
-<h2 class="section"><a href="ffmpeg-codecs.html#toc-ProRes">9.6 ProRes</a></h2>
+<h2 class="section"><a href="ffmpeg-codecs.html#toc-ProRes">9.7 ProRes</a></h2>
 
 <p>Apple ProRes encoder.
 </p>
 <p>FFmpeg contains 2 ProRes encoders, the prores-aw and prores-ks encoder.
-The used encoder can be choosen with the <code>-vcodec</code> option.
+The used encoder can be chosen with the <code>-vcodec</code> option.
 </p>
 <a name="Private-Options-for-prores_002dks"></a>
-<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Private-Options-for-prores_002dks">9.6.1 Private Options for prores-ks</a></h3>
+<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Private-Options-for-prores_002dks">9.7.1 Private Options for prores-ks</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>profile <var>integer</var></samp>&rsquo;</dt>
@@ -3975,7 +4222,7 @@ Use <var>0</var> to disable alpha plane coding.
 </dl>
 
 <a name="Speed-considerations"></a>
-<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Speed-considerations">9.6.2 Speed considerations</a></h3>
+<h3 class="subsection"><a href="ffmpeg-codecs.html#toc-Speed-considerations">9.7.2 Speed considerations</a></h3>
 
 <p>In the default mode of operation the encoder has to honor frame constraints
 (i.e. not produc frames with size bigger than requested) while still making
@@ -4011,4 +4258,4 @@ online repository at <a href="http://source.ffmpeg.org">http://source.ffmpeg.org
 </p>
 
 <footer class="footer pagination-right">
-<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>December 14, 2013</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
+<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>June 19, 2014</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
index af14b70d492de178d6bc5a88e2152a00978895e9..9ec01999baf03f2c02460a69ff699a5ce7f80f21 100644 (file)
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <html>
-<!-- Created on December 14, 2013 by texi2html 1.82 -->
+<!-- Created on June 19, 2014 by texi2html 1.82 -->
 <!--
 texi2html was written by: 
             Lionel Cons <Lionel.Cons@cern.ch> (original author)
@@ -42,43 +42,43 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
     <li><a name="toc-bktr" href="#bktr">3.2 bktr</a></li>
     <li><a name="toc-dshow" href="#dshow">3.3 dshow</a>
     <ul class="toc">
-      <li><a name="toc-Options-4" href="#Options-4">3.3.1 Options</a></li>
+      <li><a name="toc-Options-2" href="#Options-2">3.3.1 Options</a></li>
       <li><a name="toc-Examples-6" href="#Examples-6">3.3.2 Examples</a></li>
     </ul></li>
     <li><a name="toc-dv1394" href="#dv1394">3.4 dv1394</a></li>
     <li><a name="toc-fbdev" href="#fbdev">3.5 fbdev</a></li>
     <li><a name="toc-iec61883" href="#iec61883">3.6 iec61883</a>
     <ul class="toc">
-      <li><a name="toc-Options" href="#Options">3.6.1 Options</a></li>
-      <li><a name="toc-Examples" href="#Examples">3.6.2 Examples</a></li>
+      <li><a name="toc-Options-5" href="#Options-5">3.6.1 Options</a></li>
+      <li><a name="toc-Examples-9" href="#Examples-9">3.6.2 Examples</a></li>
     </ul></li>
     <li><a name="toc-jack" href="#jack">3.7 jack</a></li>
     <li><a name="toc-lavfi" href="#lavfi">3.8 lavfi</a>
     <ul class="toc">
-      <li><a name="toc-Options-9" href="#Options-9">3.8.1 Options</a></li>
-      <li><a name="toc-Examples-10" href="#Examples-10">3.8.2 Examples</a></li>
+      <li><a name="toc-Options-1" href="#Options-1">3.8.1 Options</a></li>
+      <li><a name="toc-Examples-12" href="#Examples-12">3.8.2 Examples</a></li>
     </ul></li>
     <li><a name="toc-libdc1394" href="#libdc1394">3.9 libdc1394</a></li>
     <li><a name="toc-openal" href="#openal">3.10 openal</a>
     <ul class="toc">
-      <li><a name="toc-Options-3" href="#Options-3">3.10.1 Options</a></li>
-      <li><a name="toc-Examples-7" href="#Examples-7">3.10.2 Examples</a></li>
+      <li><a name="toc-Options-9" href="#Options-9">3.10.1 Options</a></li>
+      <li><a name="toc-Examples-3" href="#Examples-3">3.10.2 Examples</a></li>
     </ul></li>
     <li><a name="toc-oss" href="#oss">3.11 oss</a></li>
     <li><a name="toc-pulse-1" href="#pulse-1">3.12 pulse</a>
     <ul class="toc">
-      <li><a name="toc-Options-8" href="#Options-8">3.12.1 Options</a></li>
-      <li><a name="toc-Examples-8" href="#Examples-8">3.12.2 Examples</a></li>
+      <li><a name="toc-Options-11" href="#Options-11">3.12.1 Options</a></li>
+      <li><a name="toc-Examples-1" href="#Examples-1">3.12.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-sndio" href="#sndio">3.13 sndio</a></li>
+    <li><a name="toc-sndio-1" href="#sndio-1">3.13 sndio</a></li>
     <li><a name="toc-video4linux2_002c-v4l2" href="#video4linux2_002c-v4l2">3.14 video4linux2, v4l2</a>
     <ul class="toc">
-      <li><a name="toc-Options-2" href="#Options-2">3.14.1 Options</a></li>
+      <li><a name="toc-Options-13" href="#Options-13">3.14.1 Options</a></li>
     </ul></li>
     <li><a name="toc-vfwcap" href="#vfwcap">3.15 vfwcap</a></li>
     <li><a name="toc-x11grab" href="#x11grab">3.16 x11grab</a>
     <ul class="toc">
-      <li><a name="toc-Options-11" href="#Options-11">3.16.1 Options</a></li>
+      <li><a name="toc-Options-6" href="#Options-6">3.16.1 Options</a></li>
     </ul>
 </li>
   </ul></li>
@@ -86,35 +86,45 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
   <ul class="toc">
     <li><a name="toc-alsa-1" href="#alsa-1">4.1 alsa</a>
     <ul class="toc">
-      <li><a name="toc-Examples-9" href="#Examples-9">4.1.1 Examples</a></li>
+      <li><a name="toc-Examples-7" href="#Examples-7">4.1.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-caca" href="#caca">4.2 caca</a>
     <ul class="toc">
-      <li><a name="toc-Options-7" href="#Options-7">4.2.1 Options</a></li>
-      <li><a name="toc-Examples-3" href="#Examples-3">4.2.2 Examples</a></li>
+      <li><a name="toc-Options-10" href="#Options-10">4.2.1 Options</a></li>
+      <li><a name="toc-Examples-5" href="#Examples-5">4.2.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-fbdev-1" href="#fbdev-1">4.3 fbdev</a>
+    <li><a name="toc-decklink" href="#decklink">4.3 decklink</a>
     <ul class="toc">
-      <li><a name="toc-Options-10" href="#Options-10">4.3.1 Options</a></li>
-      <li><a name="toc-Examples-5" href="#Examples-5">4.3.2 Examples</a></li>
+      <li><a name="toc-Options" href="#Options">4.3.1 Options</a></li>
+      <li><a name="toc-Examples-4" href="#Examples-4">4.3.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-oss-1" href="#oss-1">4.4 oss</a></li>
-    <li><a name="toc-pulse" href="#pulse">4.5 pulse</a>
+    <li><a name="toc-fbdev-1" href="#fbdev-1">4.4 fbdev</a>
     <ul class="toc">
-      <li><a name="toc-Options-5" href="#Options-5">4.5.1 Options</a></li>
-      <li><a name="toc-Examples-4" href="#Examples-4">4.5.2 Examples</a></li>
+      <li><a name="toc-Options-4" href="#Options-4">4.4.1 Options</a></li>
+      <li><a name="toc-Examples" href="#Examples">4.4.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-sdl" href="#sdl">4.6 sdl</a>
+    <li><a name="toc-opengl" href="#opengl">4.5 opengl</a>
     <ul class="toc">
-      <li><a name="toc-Options-1" href="#Options-1">4.6.1 Options</a></li>
-      <li><a name="toc-Interactive-commands" href="#Interactive-commands">4.6.2 Interactive commands</a></li>
-      <li><a name="toc-Examples-2" href="#Examples-2">4.6.3 Examples</a></li>
+      <li><a name="toc-Options-8" href="#Options-8">4.5.1 Options</a></li>
+      <li><a name="toc-Examples-11" href="#Examples-11">4.5.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-sndio-1" href="#sndio-1">4.7 sndio</a></li>
-    <li><a name="toc-xv" href="#xv">4.8 xv</a>
+    <li><a name="toc-oss-1" href="#oss-1">4.6 oss</a></li>
+    <li><a name="toc-pulse" href="#pulse">4.7 pulse</a>
     <ul class="toc">
-      <li><a name="toc-Options-6" href="#Options-6">4.8.1 Options</a></li>
-      <li><a name="toc-Examples-1" href="#Examples-1">4.8.2 Examples</a></li>
+      <li><a name="toc-Options-3" href="#Options-3">4.7.1 Options</a></li>
+      <li><a name="toc-Examples-8" href="#Examples-8">4.7.2 Examples</a></li>
+    </ul></li>
+    <li><a name="toc-sdl" href="#sdl">4.8 sdl</a>
+    <ul class="toc">
+      <li><a name="toc-Options-7" href="#Options-7">4.8.1 Options</a></li>
+      <li><a name="toc-Interactive-commands" href="#Interactive-commands">4.8.2 Interactive commands</a></li>
+      <li><a name="toc-Examples-10" href="#Examples-10">4.8.3 Examples</a></li>
+    </ul></li>
+    <li><a name="toc-sndio" href="#sndio">4.9 sndio</a></li>
+    <li><a name="toc-xv" href="#xv">4.10 xv</a>
+    <ul class="toc">
+      <li><a name="toc-Options-12" href="#Options-12">4.10.1 Options</a></li>
+      <li><a name="toc-Examples-2" href="#Examples-2">4.10.2 Examples</a></li>
     </ul>
 </li>
   </ul></li>
@@ -224,8 +234,8 @@ opened on the same input, which should improve synchronism between them.
 <p>where <var>TYPE</var> can be either <var>audio</var> or <var>video</var>,
 and <var>NAME</var> is the device&rsquo;s name.
 </p>
-<a name="Options-4"></a>
-<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Options-4">3.3.1 Options</a></h3>
+<a name="Options-2"></a>
+<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Options-2">3.3.1 Options</a></h3>
 
 <p>If no options are specified, the device&rsquo;s defaults are used.
 If the device does not support the requested options, it will
@@ -365,8 +375,8 @@ Kernel 2.6.37 and later, since the old FireWire stack was removed.
 <p>Specify the FireWire port to be used as input file, or &quot;auto&quot;
 to choose the first port connected.
 </p>
-<a name="Options"></a>
-<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Options">3.6.1 Options</a></h3>
+<a name="Options-5"></a>
+<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Options-5">3.6.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>dvtype</samp>&rsquo;</dt>
@@ -393,8 +403,8 @@ Look at /sys/bus/firewire/devices to find out the GUIDs.
 </dd>
 </dl>
 
-<a name="Examples"></a>
-<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Examples">3.6.2 Examples</a></h3>
+<a name="Examples-9"></a>
+<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Examples-9">3.6.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -472,8 +482,8 @@ corresponding stream which is mapped to the generated output. Currently
 only video data is supported. The filtergraph is specified through the
 option &lsquo;<samp>graph</samp>&rsquo;.
 </p>
-<a name="Options-9"></a>
-<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Options-9">3.8.1 Options</a></h3>
+<a name="Options-1"></a>
+<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Options-1">3.8.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>graph</samp>&rsquo;</dt>
@@ -496,8 +506,8 @@ the option <var>graph</var>.
 </dd>
 </dl>
 
-<a name="Examples-10"></a>
-<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Examples-10">3.8.2 Examples</a></h3>
+<a name="Examples-12"></a>
+<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Examples-12">3.8.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -571,7 +581,7 @@ See <a href="http://developer.apple.com/technologies/mac/audio-and-video.html">h
 </p></dd>
 </dl>
 
-<p>This device allows to capture from an audio input device handled
+<p>This device allows one to capture from an audio input device handled
 through OpenAL.
 </p>
 <p>You need to specify the name of the device to capture in the provided
@@ -579,8 +589,8 @@ filename. If the empty string is provided, the device will
 automatically select the default device. You can get the list of the
 supported devices by using the option <var>list_devices</var>.
 </p>
-<a name="Options-3"></a>
-<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Options-3">3.10.1 Options</a></h3>
+<a name="Options-9"></a>
+<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Options-9">3.10.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>channels</samp>&rsquo;</dt>
@@ -607,8 +617,8 @@ Defaults to &lsquo;<samp>false</samp>&rsquo;.
 </dd>
 </dl>
 
-<a name="Examples-7"></a>
-<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Examples-7">3.10.2 Examples</a></h3>
+<a name="Examples-3"></a>
+<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Examples-3">3.10.2 Examples</a></h3>
 
 <p>Print the list of OpenAL supported devices and exit:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">$ ffmpeg -list_devices true -f openal -i dummy out.ogg
@@ -661,8 +671,8 @@ the command <code>pactl list sources</code>.
 </p>
 <p>More information about PulseAudio can be found on <a href="http://www.pulseaudio.org">http://www.pulseaudio.org</a>.
 </p>
-<a name="Options-8"></a>
-<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Options-8">3.12.1 Options</a></h3>
+<a name="Options-11"></a>
+<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Options-11">3.12.1 Options</a></h3>
 <dl compact="compact">
 <dt> &lsquo;<samp>server</samp>&rsquo;</dt>
 <dd><p>Connect to a specific PulseAudio server, specified by an IP address.
@@ -697,14 +707,14 @@ audio latency. By default it is unset.
 </p></dd>
 </dl>
 
-<a name="Examples-8"></a>
-<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Examples-8">3.12.2 Examples</a></h3>
+<a name="Examples-1"></a>
+<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Examples-1">3.12.2 Examples</a></h3>
 <p>Record a stream from default device:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -f pulse -i default /tmp/pulse.wav
 </pre></td></tr></table>
 
-<a name="sndio"></a>
-<h2 class="section"><a href="ffmpeg-devices.html#toc-sndio">3.13 sndio</a></h2>
+<a name="sndio-1"></a>
+<h2 class="section"><a href="ffmpeg-devices.html#toc-sndio-1">3.13 sndio</a></h2>
 
 <p>sndio input device.
 </p>
@@ -767,8 +777,8 @@ frame rate and size as previously set:
 
 <p>For more information about Video4Linux, check <a href="http://linuxtv.org/">http://linuxtv.org/</a>.
 </p>
-<a name="Options-2"></a>
-<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Options-2">3.14.1 Options</a></h3>
+<a name="Options-13"></a>
+<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Options-13">3.14.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>standard</samp>&rsquo;</dt>
@@ -793,7 +803,7 @@ previously selected channel.
 </dd>
 <dt> &lsquo;<samp>input_format</samp>&rsquo;</dt>
 <dd><p>Set the preferred pixel format (for raw video) or a codec name.
-This option allows to select the input format, when several are
+This option allows one to select the input format, when several are
 available.
 </p>
 </dd>
@@ -868,7 +878,7 @@ other filename will be interpreted as device number 0.
 
 <p>X11 video input device.
 </p>
-<p>This device allows to capture a region of an X11 display.
+<p>This device allows one to capture a region of an X11 display.
 </p>
 <p>The filename passed as input has the syntax:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">[<var>hostname</var>]:<var>display_number</var>.<var>screen_number</var>[+<var>x_offset</var>,<var>y_offset</var>]
@@ -896,8 +906,8 @@ properties of your X11 display (e.g. grep for &quot;name&quot; or &quot;dimensio
 </p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -f x11grab -framerate 25 -video_size cif -i :0.0+10,20 out.mpg
 </pre></td></tr></table>
 
-<a name="Options-11"></a>
-<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Options-11">3.16.1 Options</a></h3>
+<a name="Options-6"></a>
+<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Options-6">3.16.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>draw_mouse</samp>&rsquo;</dt>
@@ -974,8 +984,8 @@ enabled output devices (amongst the muxers).
 
 <p>ALSA (Advanced Linux Sound Architecture) output device.
 </p>
-<a name="Examples-9"></a>
-<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Examples-9">4.1.1 Examples</a></h3>
+<a name="Examples-7"></a>
+<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Examples-7">4.1.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -994,7 +1004,7 @@ Play a file on soundcard 1, audio device 7:
 
 <p>CACA output device.
 </p>
-<p>This output device allows to show a video stream in CACA window.
+<p>This output device allows one to show a video stream in CACA window.
 Only one CACA window is allowed per application, so you can
 have only one instance of this output device in an application.
 </p>
@@ -1005,8 +1015,8 @@ libcaca is a graphics library that outputs text instead of pixels.
 <p>For more information about libcaca, check:
 <a href="http://caca.zoy.org/wiki/libcaca">http://caca.zoy.org/wiki/libcaca</a>
 </p>
-<a name="Options-7"></a>
-<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Options-7">4.2.1 Options</a></h3>
+<a name="Options-10"></a>
+<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Options-10">4.2.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>window_title</samp>&rsquo;</dt>
@@ -1058,8 +1068,8 @@ The argument must be one of <code>algorithms</code>, <code>antialiases</code>,
 </p></dd>
 </dl>
 
-<a name="Examples-3"></a>
-<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Examples-3">4.2.2 Examples</a></h3>
+<a name="Examples-5"></a>
+<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Examples-5">4.2.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -1079,8 +1089,70 @@ Show the list of available dither colors and exit:
 </pre></td></tr></table>
 </li></ul>
 
+<a name="decklink"></a>
+<h2 class="section"><a href="ffmpeg-devices.html#toc-decklink">4.3 decklink</a></h2>
+
+<p>The decklink output device provides playback capabilities for Blackmagic
+DeckLink devices.
+</p>
+<p>To enable this output device, you need the Blackmagic DeckLink SDK and you
+need to configure with the appropriate <code>--extra-cflags</code>
+and <code>--extra-ldflags</code>.
+On Windows, you need to run the IDL files through <code>widl</code>.
+</p>
+<p>DeckLink is very picky about the formats it supports. Pixel format is always
+uyvy422, framerate and video size must be determined for your device with
+<code>-list_formats 1</code>. Audio sample rate is always 48 kHz.
+</p>
+<a name="Options"></a>
+<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Options">4.3.1 Options</a></h3>
+
+<dl compact="compact">
+<dt> &lsquo;<samp>list_devices</samp>&rsquo;</dt>
+<dd><p>If set to &lsquo;<samp>true</samp>&rsquo;, print a list of devices and exit.
+Defaults to &lsquo;<samp>false</samp>&rsquo;.
+</p>
+</dd>
+<dt> &lsquo;<samp>list_formats</samp>&rsquo;</dt>
+<dd><p>If set to &lsquo;<samp>true</samp>&rsquo;, print a list of supported formats and exit.
+Defaults to &lsquo;<samp>false</samp>&rsquo;.
+</p>
+</dd>
+<dt> &lsquo;<samp>preroll</samp>&rsquo;</dt>
+<dd><p>Amount of time to preroll video in seconds.
+Defaults to &lsquo;<samp>0.5</samp>&rsquo;.
+</p>
+</dd>
+</dl>
+
+<a name="Examples-4"></a>
+<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Examples-4">4.3.2 Examples</a></h3>
+
+<ul>
+<li>
+List output devices:
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i test.avi -f decklink -list_devices 1 dummy
+</pre></td></tr></table>
+
+</li><li>
+List supported formats:
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i test.avi -f decklink -list_formats 1 'DeckLink Mini Monitor'
+</pre></td></tr></table>
+
+</li><li>
+Play video clip:
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i test.avi -f decklink -pix_fmt uyvy422 'DeckLink Mini Monitor'
+</pre></td></tr></table>
+
+</li><li>
+Play video clip with non-standard framerate or video size:
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i test.avi -f decklink -pix_fmt uyvy422 -s 720x486 -r 24000/1001 'DeckLink Mini Monitor'
+</pre></td></tr></table>
+
+</li></ul>
+
 <a name="fbdev-1"></a>
-<h2 class="section"><a href="ffmpeg-devices.html#toc-fbdev-1">4.3 fbdev</a></h2>
+<h2 class="section"><a href="ffmpeg-devices.html#toc-fbdev-1">4.4 fbdev</a></h2>
 
 <p>Linux framebuffer output device.
 </p>
@@ -1092,8 +1164,8 @@ console. It is accessed through a file device node, usually
 <p>For more detailed information read the file
 &lsquo;<tt>Documentation/fb/framebuffer.txt</tt>&rsquo; included in the Linux source tree.
 </p>
-<a name="Options-10"></a>
-<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Options-10">4.3.1 Options</a></h3>
+<a name="Options-4"></a>
+<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Options-4">4.4.1 Options</a></h3>
 <dl compact="compact">
 <dt> &lsquo;<samp>xoffset</samp>&rsquo;</dt>
 <dt> &lsquo;<samp>yoffset</samp>&rsquo;</dt>
@@ -1101,8 +1173,8 @@ console. It is accessed through a file device node, usually
 </p></dd>
 </dl>
 
-<a name="Examples-5"></a>
-<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Examples-5">4.3.2 Examples</a></h3>
+<a name="Examples"></a>
+<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Examples">4.4.2 Examples</a></h3>
 <p>Play a file on framebuffer device &lsquo;<tt>/dev/fb0</tt>&rsquo;.
 Required pixel format depends on current framebuffer settings.
 </p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -re -i INPUT -vcodec rawvideo -pix_fmt bgra -f fbdev /dev/fb0
@@ -1110,13 +1182,52 @@ Required pixel format depends on current framebuffer settings.
 
 <p>See also <a href="http://linux-fbdev.sourceforge.net/">http://linux-fbdev.sourceforge.net/</a>, and fbset(1).
 </p>
+<a name="opengl"></a>
+<h2 class="section"><a href="ffmpeg-devices.html#toc-opengl">4.5 opengl</a></h2>
+<p>OpenGL output device.
+</p>
+<p>To enable this output device you need to configure FFmpeg with <code>--enable-opengl</code>.
+</p>
+<p>This output device allows one to render to OpenGL context.
+Context may be provided by application or default SDL window is created.
+</p>
+<p>When device renders to external context, application must implement handlers for following messages:
+<code>AV_CTL_MESSAGE_CREATE_WINDOW_BUFFER</code> - create OpenGL context on current thread.
+<code>AV_CTL_MESSAGE_PREPARE_WINDOW_BUFFER</code> - make OpenGL context current.
+<code>AV_CTL_MESSAGE_DISPLAY_WINDOW_BUFFER</code> - swap buffers.
+<code>AV_CTL_MESSAGE_DESTROY_WINDOW_BUFFER</code> - destroy OpenGL context.
+Application is also required to inform a device about current resolution by sending <code>AV_DEVICE_WINDOW_RESIZED</code> message.
+</p>
+<a name="Options-8"></a>
+<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Options-8">4.5.1 Options</a></h3>
+<dl compact="compact">
+<dt> &lsquo;<samp>background</samp>&rsquo;</dt>
+<dd><p>Set background color. Black is a default.
+</p></dd>
+<dt> &lsquo;<samp>no_window</samp>&rsquo;</dt>
+<dd><p>Disables default SDL window when set to non-zero value.
+Application must provide OpenGL context and both <code>window_size_cb</code> and <code>window_swap_buffers_cb</code> callbacks when set.
+</p></dd>
+<dt> &lsquo;<samp>window_title</samp>&rsquo;</dt>
+<dd><p>Set the SDL window title, if not specified default to the filename specified for the output device.
+Ignored when &lsquo;<samp>no_window</samp>&rsquo; is set.
+</p>
+</dd>
+</dl>
+
+<a name="Examples-11"></a>
+<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Examples-11">4.5.2 Examples</a></h3>
+<p>Play a file on SDL window using OpenGL rendering:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg  -i INPUT -f opengl &quot;window title&quot;
+</pre></td></tr></table>
+
 <a name="oss-1"></a>
-<h2 class="section"><a href="ffmpeg-devices.html#toc-oss-1">4.4 oss</a></h2>
+<h2 class="section"><a href="ffmpeg-devices.html#toc-oss-1">4.6 oss</a></h2>
 
 <p>OSS (Open Sound System) output device.
 </p>
 <a name="pulse"></a>
-<h2 class="section"><a href="ffmpeg-devices.html#toc-pulse">4.5 pulse</a></h2>
+<h2 class="section"><a href="ffmpeg-devices.html#toc-pulse">4.7 pulse</a></h2>
 
 <p>PulseAudio output device.
 </p>
@@ -1124,8 +1235,8 @@ Required pixel format depends on current framebuffer settings.
 </p>
 <p>More information about PulseAudio can be found on <a href="http://www.pulseaudio.org">http://www.pulseaudio.org</a>
 </p>
-<a name="Options-5"></a>
-<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Options-5">4.5.1 Options</a></h3>
+<a name="Options-3"></a>
+<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Options-3">4.7.1 Options</a></h3>
 <dl compact="compact">
 <dt> &lsquo;<samp>server</samp>&rsquo;</dt>
 <dd><p>Connect to a specific PulseAudio server, specified by an IP address.
@@ -1163,18 +1274,18 @@ to around 2 seconds.
 </p></dd>
 </dl>
 
-<a name="Examples-4"></a>
-<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Examples-4">4.5.2 Examples</a></h3>
+<a name="Examples-8"></a>
+<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Examples-8">4.7.2 Examples</a></h3>
 <p>Play a file on default device on default server:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg  -i INPUT -f pulse &quot;stream name&quot;
 </pre></td></tr></table>
 
 <a name="sdl"></a>
-<h2 class="section"><a href="ffmpeg-devices.html#toc-sdl">4.6 sdl</a></h2>
+<h2 class="section"><a href="ffmpeg-devices.html#toc-sdl">4.8 sdl</a></h2>
 
 <p>SDL (Simple DirectMedia Layer) output device.
 </p>
-<p>This output device allows to show a video stream in an SDL
+<p>This output device allows one to show a video stream in an SDL
 window. Only one SDL window is allowed per application, so you can
 have only one instance of this output device in an application.
 </p>
@@ -1184,8 +1295,8 @@ when configuring your build.
 <p>For more information about SDL, check:
 <a href="http://www.libsdl.org/">http://www.libsdl.org/</a>
 </p>
-<a name="Options-1"></a>
-<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Options-1">4.6.1 Options</a></h3>
+<a name="Options-7"></a>
+<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Options-7">4.8.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>window_title</samp>&rsquo;</dt>
@@ -1212,7 +1323,7 @@ Default value is zero.
 </dl>
 
 <a name="Interactive-commands"></a>
-<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Interactive-commands">4.6.2 Interactive commands</a></h3>
+<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Interactive-commands">4.8.2 Interactive commands</a></h3>
 
 <p>The window created by the device can be controlled through the
 following interactive commands.
@@ -1223,29 +1334,29 @@ following interactive commands.
 </p></dd>
 </dl>
 
-<a name="Examples-2"></a>
-<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Examples-2">4.6.3 Examples</a></h3>
+<a name="Examples-10"></a>
+<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Examples-10">4.8.3 Examples</a></h3>
 
 <p>The following command shows the <code>ffmpeg</code> output is an
 SDL window, forcing its size to the qcif format:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -vcodec rawvideo -pix_fmt yuv420p -window_size qcif -f sdl &quot;SDL output&quot;
 </pre></td></tr></table>
 
-<a name="sndio-1"></a>
-<h2 class="section"><a href="ffmpeg-devices.html#toc-sndio-1">4.7 sndio</a></h2>
+<a name="sndio"></a>
+<h2 class="section"><a href="ffmpeg-devices.html#toc-sndio">4.9 sndio</a></h2>
 
 <p>sndio audio output device.
 </p>
 <a name="xv"></a>
-<h2 class="section"><a href="ffmpeg-devices.html#toc-xv">4.8 xv</a></h2>
+<h2 class="section"><a href="ffmpeg-devices.html#toc-xv">4.10 xv</a></h2>
 
 <p>XV (XVideo) output device.
 </p>
-<p>This output device allows to show a video stream in a X Window System
+<p>This output device allows one to show a video stream in a X Window System
 window.
 </p>
-<a name="Options-6"></a>
-<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Options-6">4.8.1 Options</a></h3>
+<a name="Options-12"></a>
+<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Options-12">4.10.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>display_name</samp>&rsquo;</dt>
@@ -1290,8 +1401,8 @@ specified for the output device.
 
 <p>For more information about XVideo see <a href="http://www.x.org/">http://www.x.org/</a>.
 </p>
-<a name="Examples-1"></a>
-<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Examples-1">4.8.2 Examples</a></h3>
+<a name="Examples-2"></a>
+<h3 class="subsection"><a href="ffmpeg-devices.html#toc-Examples-2">4.10.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -1329,4 +1440,4 @@ online repository at <a href="http://source.ffmpeg.org">http://source.ffmpeg.org
 </p>
 
 <footer class="footer pagination-right">
-<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>December 14, 2013</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
+<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>June 19, 2014</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
index 2fa91de6a7b4e7f6daf09a1be749747b1e22f283..df1e559d5fd649a76f8387acad782a67dd02139a 100644 (file)
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <html>
-<!-- Created on December 14, 2013 by texi2html 1.82 -->
+<!-- Created on June 19, 2014 by texi2html 1.82 -->
 <!--
 texi2html was written by: 
             Lionel Cons <Lionel.Cons@cern.ch> (original author)
@@ -47,29 +47,29 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
   <ul class="toc">
     <li><a name="toc-aconvert" href="#aconvert">6.1 aconvert</a>
     <ul class="toc">
-      <li><a name="toc-Examples-41" href="#Examples-41">6.1.1 Examples</a></li>
+      <li><a name="toc-Examples-48" href="#Examples-48">6.1.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-adelay" href="#adelay">6.2 adelay</a>
     <ul class="toc">
-      <li><a name="toc-Examples-31" href="#Examples-31">6.2.1 Examples</a></li>
+      <li><a name="toc-Examples-26" href="#Examples-26">6.2.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-aecho" href="#aecho">6.3 aecho</a>
     <ul class="toc">
-      <li><a name="toc-Examples-26" href="#Examples-26">6.3.1 Examples</a></li>
+      <li><a name="toc-Examples-57" href="#Examples-57">6.3.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-aeval" href="#aeval">6.4 aeval</a>
     <ul class="toc">
-      <li><a name="toc-Examples-49" href="#Examples-49">6.4.1 Examples</a></li>
+      <li><a name="toc-Examples-64" href="#Examples-64">6.4.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-afade" href="#afade">6.5 afade</a>
     <ul class="toc">
-      <li><a name="toc-Examples-38" href="#Examples-38">6.5.1 Examples</a></li>
+      <li><a name="toc-Examples-43" href="#Examples-43">6.5.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-aformat-1" href="#aformat-1">6.6 aformat</a></li>
     <li><a name="toc-allpass" href="#allpass">6.7 allpass</a></li>
     <li><a name="toc-amerge" href="#amerge">6.8 amerge</a>
     <ul class="toc">
-      <li><a name="toc-Examples-5" href="#Examples-5">6.8.1 Examples</a></li>
+      <li><a name="toc-Examples-7" href="#Examples-7">6.8.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-amix" href="#amix">6.9 amix</a></li>
     <li><a name="toc-anull" href="#anull">6.10 anull</a></li>
@@ -77,7 +77,7 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
     <li><a name="toc-aphaser" href="#aphaser">6.12 aphaser</a></li>
     <li><a name="toc-aresample-1" href="#aresample-1">6.13 aresample</a>
     <ul class="toc">
-      <li><a name="toc-Examples-62" href="#Examples-62">6.13.1 Examples</a></li>
+      <li><a name="toc-Examples-21" href="#Examples-21">6.13.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-asetnsamples" href="#asetnsamples">6.14 asetnsamples</a></li>
     <li><a name="toc-asetrate" href="#asetrate">6.15 asetrate</a></li>
@@ -85,12 +85,12 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
     <li><a name="toc-astats" href="#astats">6.17 astats</a></li>
     <li><a name="toc-astreamsync" href="#astreamsync">6.18 astreamsync</a>
     <ul class="toc">
-      <li><a name="toc-Examples-68" href="#Examples-68">6.18.1 Examples</a></li>
+      <li><a name="toc-Examples-4" href="#Examples-4">6.18.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-asyncts" href="#asyncts">6.19 asyncts</a></li>
     <li><a name="toc-atempo" href="#atempo">6.20 atempo</a>
     <ul class="toc">
-      <li><a name="toc-Examples-71" href="#Examples-71">6.20.1 Examples</a></li>
+      <li><a name="toc-Examples-44" href="#Examples-44">6.20.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-atrim" href="#atrim">6.21 atrim</a></li>
     <li><a name="toc-bandpass" href="#bandpass">6.22 bandpass</a></li>
@@ -101,16 +101,19 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
     <li><a name="toc-channelsplit" href="#channelsplit">6.27 channelsplit</a></li>
     <li><a name="toc-compand" href="#compand">6.28 compand</a>
     <ul class="toc">
-      <li><a name="toc-Examples-24" href="#Examples-24">6.28.1 Examples</a></li>
+      <li><a name="toc-Examples-59" href="#Examples-59">6.28.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-earwax" href="#earwax">6.29 earwax</a></li>
-    <li><a name="toc-equalizer" href="#equalizer">6.30 equalizer</a></li>
+    <li><a name="toc-equalizer" href="#equalizer">6.30 equalizer</a>
+    <ul class="toc">
+      <li><a name="toc-Examples-63" href="#Examples-63">6.30.1 Examples</a></li>
+    </ul></li>
     <li><a name="toc-highpass" href="#highpass">6.31 highpass</a></li>
     <li><a name="toc-join" href="#join">6.32 join</a></li>
     <li><a name="toc-ladspa" href="#ladspa">6.33 ladspa</a>
     <ul class="toc">
-      <li><a name="toc-Examples-23" href="#Examples-23">6.33.1 Examples</a></li>
-      <li><a name="toc-Commands-2" href="#Commands-2">6.33.2 Commands</a></li>
+      <li><a name="toc-Examples-12" href="#Examples-12">6.33.1 Examples</a></li>
+      <li><a name="toc-Commands-3" href="#Commands-3">6.33.2 Commands</a></li>
     </ul></li>
     <li><a name="toc-lowpass" href="#lowpass">6.34 lowpass</a></li>
     <li><a name="toc-pan" href="#pan">6.35 pan</a>
@@ -122,16 +125,17 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
     <li><a name="toc-resample" href="#resample">6.37 resample</a></li>
     <li><a name="toc-silencedetect" href="#silencedetect">6.38 silencedetect</a>
     <ul class="toc">
-      <li><a name="toc-Examples-66" href="#Examples-66">6.38.1 Examples</a></li>
+      <li><a name="toc-Examples-9" href="#Examples-9">6.38.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-treble" href="#treble">6.39 treble</a></li>
     <li><a name="toc-volume" href="#volume">6.40 volume</a>
     <ul class="toc">
-      <li><a name="toc-Examples-14" href="#Examples-14">6.40.1 Examples</a></li>
+      <li><a name="toc-Commands" href="#Commands">6.40.1 Commands</a></li>
+      <li><a name="toc-Examples-33" href="#Examples-33">6.40.2 Examples</a></li>
     </ul></li>
     <li><a name="toc-volumedetect" href="#volumedetect">6.41 volumedetect</a>
     <ul class="toc">
-      <li><a name="toc-Examples-8" href="#Examples-8">6.41.1 Examples</a></li>
+      <li><a name="toc-Examples-5" href="#Examples-5">6.41.1 Examples</a></li>
     </ul>
 </li>
   </ul></li>
@@ -139,23 +143,23 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
   <ul class="toc">
     <li><a name="toc-abuffer" href="#abuffer">7.1 abuffer</a>
     <ul class="toc">
-      <li><a name="toc-Examples-55" href="#Examples-55">7.1.1 Examples</a></li>
+      <li><a name="toc-Examples-30" href="#Examples-30">7.1.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-aevalsrc" href="#aevalsrc">7.2 aevalsrc</a>
     <ul class="toc">
-      <li><a name="toc-Examples-1" href="#Examples-1">7.2.1 Examples</a></li>
+      <li><a name="toc-Examples-56" href="#Examples-56">7.2.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-anullsrc" href="#anullsrc">7.3 anullsrc</a>
     <ul class="toc">
-      <li><a name="toc-Examples-39" href="#Examples-39">7.3.1 Examples</a></li>
+      <li><a name="toc-Examples" href="#Examples">7.3.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-flite" href="#flite">7.4 flite</a>
     <ul class="toc">
-      <li><a name="toc-Examples-20" href="#Examples-20">7.4.1 Examples</a></li>
+      <li><a name="toc-Examples-27" href="#Examples-27">7.4.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-sine" href="#sine">7.5 sine</a>
     <ul class="toc">
-      <li><a name="toc-Examples-58" href="#Examples-58">7.5.1 Examples</a></li>
+      <li><a name="toc-Examples-46" href="#Examples-46">7.5.1 Examples</a></li>
     </ul>
 </li>
   </ul></li>
@@ -174,254 +178,257 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
     <li><a name="toc-blackframe" href="#blackframe">9.6 blackframe</a></li>
     <li><a name="toc-blend" href="#blend">9.7 blend</a>
     <ul class="toc">
-      <li><a name="toc-Examples-21" href="#Examples-21">9.7.1 Examples</a></li>
+      <li><a name="toc-Examples-51" href="#Examples-51">9.7.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-boxblur" href="#boxblur">9.8 boxblur</a>
     <ul class="toc">
-      <li><a name="toc-Examples-4" href="#Examples-4">9.8.1 Examples</a></li>
+      <li><a name="toc-Examples-66" href="#Examples-66">9.8.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-colorbalance" href="#colorbalance">9.9 colorbalance</a>
     <ul class="toc">
-      <li><a name="toc-Examples-37" href="#Examples-37">9.9.1 Examples</a></li>
+      <li><a name="toc-Examples-29" href="#Examples-29">9.9.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-colorchannelmixer" href="#colorchannelmixer">9.10 colorchannelmixer</a>
     <ul class="toc">
-      <li><a name="toc-Examples-35" href="#Examples-35">9.10.1 Examples</a></li>
+      <li><a name="toc-Examples-68" href="#Examples-68">9.10.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-colormatrix" href="#colormatrix">9.11 colormatrix</a></li>
     <li><a name="toc-copy" href="#copy">9.12 copy</a></li>
     <li><a name="toc-crop" href="#crop">9.13 crop</a>
     <ul class="toc">
-      <li><a name="toc-Examples-36" href="#Examples-36">9.13.1 Examples</a></li>
+      <li><a name="toc-Examples-47" href="#Examples-47">9.13.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-cropdetect" href="#cropdetect">9.14 cropdetect</a></li>
     <li><a name="toc-curves-1" href="#curves-1">9.15 curves</a>
     <ul class="toc">
-      <li><a name="toc-Examples-2" href="#Examples-2">9.15.1 Examples</a></li>
+      <li><a name="toc-Examples-6" href="#Examples-6">9.15.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-dctdnoiz" href="#dctdnoiz">9.16 dctdnoiz</a>
     <ul class="toc">
-      <li><a name="toc-Examples-22" href="#Examples-22">9.16.1 Examples</a></li>
+      <li><a name="toc-Examples-1" href="#Examples-1">9.16.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-decimate-1" href="#decimate-1">9.17 decimate</a></li>
-    <li><a name="toc-delogo" href="#delogo">9.18 delogo</a>
+    <li><a name="toc-dejudder" href="#dejudder">9.18 dejudder</a></li>
+    <li><a name="toc-delogo" href="#delogo">9.19 delogo</a>
     <ul class="toc">
-      <li><a name="toc-Examples-50" href="#Examples-50">9.18.1 Examples</a></li>
+      <li><a name="toc-Examples-22" href="#Examples-22">9.19.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-deshake" href="#deshake">9.19 deshake</a></li>
-    <li><a name="toc-drawbox" href="#drawbox">9.20 drawbox</a>
+    <li><a name="toc-deshake" href="#deshake">9.20 deshake</a></li>
+    <li><a name="toc-drawbox" href="#drawbox">9.21 drawbox</a>
     <ul class="toc">
-      <li><a name="toc-Examples-60" href="#Examples-60">9.20.1 Examples</a></li>
+      <li><a name="toc-Examples-52" href="#Examples-52">9.21.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-drawgrid" href="#drawgrid">9.21 drawgrid</a>
+    <li><a name="toc-drawgrid" href="#drawgrid">9.22 drawgrid</a>
     <ul class="toc">
-      <li><a name="toc-Examples-28" href="#Examples-28">9.21.1 Examples</a></li>
+      <li><a name="toc-Examples-19" href="#Examples-19">9.22.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-drawtext-1" href="#drawtext-1">9.22 drawtext</a>
+    <li><a name="toc-drawtext-1" href="#drawtext-1">9.23 drawtext</a>
     <ul class="toc">
-      <li><a name="toc-Syntax" href="#Syntax">9.22.1 Syntax</a></li>
-      <li><a name="toc-Text-expansion" href="#Text-expansion">9.22.2 Text expansion</a></li>
-      <li><a name="toc-Examples-32" href="#Examples-32">9.22.3 Examples</a></li>
+      <li><a name="toc-Syntax" href="#Syntax">9.23.1 Syntax</a></li>
+      <li><a name="toc-Text-expansion" href="#Text-expansion">9.23.2 Text expansion</a></li>
+      <li><a name="toc-Examples-2" href="#Examples-2">9.23.3 Examples</a></li>
     </ul></li>
-    <li><a name="toc-edgedetect" href="#edgedetect">9.23 edgedetect</a></li>
-    <li><a name="toc-extractplanes" href="#extractplanes">9.24 extractplanes</a>
+    <li><a name="toc-edgedetect" href="#edgedetect">9.24 edgedetect</a></li>
+    <li><a name="toc-extractplanes" href="#extractplanes">9.25 extractplanes</a>
     <ul class="toc">
-      <li><a name="toc-Examples-54" href="#Examples-54">9.24.1 Examples</a></li>
+      <li><a name="toc-Examples-71" href="#Examples-71">9.25.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-elbg" href="#elbg">9.25 elbg</a></li>
-    <li><a name="toc-fade" href="#fade">9.26 fade</a>
+    <li><a name="toc-elbg" href="#elbg">9.26 elbg</a></li>
+    <li><a name="toc-fade" href="#fade">9.27 fade</a>
     <ul class="toc">
-      <li><a name="toc-Examples-47" href="#Examples-47">9.26.1 Examples</a></li>
+      <li><a name="toc-Examples-41" href="#Examples-41">9.27.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-field" href="#field">9.27 field</a></li>
-    <li><a name="toc-fieldmatch" href="#fieldmatch">9.28 fieldmatch</a>
+    <li><a name="toc-field" href="#field">9.28 field</a></li>
+    <li><a name="toc-fieldmatch" href="#fieldmatch">9.29 fieldmatch</a>
     <ul class="toc">
-      <li><a name="toc-p_002fc_002fn_002fu_002fb-meaning-1" href="#p_002fc_002fn_002fu_002fb-meaning-1">9.28.1 p/c/n/u/b meaning</a>
+      <li><a name="toc-p_002fc_002fn_002fu_002fb-meaning-1" href="#p_002fc_002fn_002fu_002fb-meaning-1">9.29.1 p/c/n/u/b meaning</a>
       <ul class="toc">
-        <li><a name="toc-p_002fc_002fn" href="#p_002fc_002fn">9.28.1.1 p/c/n</a></li>
-        <li><a name="toc-u_002fb" href="#u_002fb">9.28.1.2 u/b</a></li>
+        <li><a name="toc-p_002fc_002fn" href="#p_002fc_002fn">9.29.1.1 p/c/n</a></li>
+        <li><a name="toc-u_002fb" href="#u_002fb">9.29.1.2 u/b</a></li>
       </ul></li>
-      <li><a name="toc-Examples-10" href="#Examples-10">9.28.2 Examples</a></li>
+      <li><a name="toc-Examples-67" href="#Examples-67">9.29.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-fieldorder" href="#fieldorder">9.29 fieldorder</a></li>
-    <li><a name="toc-fifo" href="#fifo">9.30 fifo</a></li>
-    <li><a name="toc-format-1" href="#format-1">9.31 format</a>
+    <li><a name="toc-fieldorder" href="#fieldorder">9.30 fieldorder</a></li>
+    <li><a name="toc-fifo" href="#fifo">9.31 fifo</a></li>
+    <li><a name="toc-format-1" href="#format-1">9.32 format</a>
     <ul class="toc">
-      <li><a name="toc-Examples-65" href="#Examples-65">9.31.1 Examples</a></li>
+      <li><a name="toc-Examples-25" href="#Examples-25">9.32.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-fps-1" href="#fps-1">9.32 fps</a>
+    <li><a name="toc-fps-1" href="#fps-1">9.33 fps</a>
     <ul class="toc">
-      <li><a name="toc-Examples-72" href="#Examples-72">9.32.1 Examples</a></li>
+      <li><a name="toc-Examples-72" href="#Examples-72">9.33.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-framestep" href="#framestep">9.33 framestep</a></li>
-    <li><a name="toc-frei0r-1" href="#frei0r-1">9.34 frei0r</a>
+    <li><a name="toc-framepack" href="#framepack">9.34 framepack</a></li>
+    <li><a name="toc-framestep" href="#framestep">9.35 framestep</a></li>
+    <li><a name="toc-frei0r-1" href="#frei0r-1">9.36 frei0r</a>
     <ul class="toc">
-      <li><a name="toc-Examples-42" href="#Examples-42">9.34.1 Examples</a></li>
+      <li><a name="toc-Examples-65" href="#Examples-65">9.36.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-geq" href="#geq">9.35 geq</a>
+    <li><a name="toc-geq" href="#geq">9.37 geq</a>
     <ul class="toc">
-      <li><a name="toc-Examples-7" href="#Examples-7">9.35.1 Examples</a></li>
+      <li><a name="toc-Examples-70" href="#Examples-70">9.37.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-gradfun" href="#gradfun">9.36 gradfun</a>
+    <li><a name="toc-gradfun" href="#gradfun">9.38 gradfun</a>
     <ul class="toc">
-      <li><a name="toc-Examples-11" href="#Examples-11">9.36.1 Examples</a></li>
+      <li><a name="toc-Examples-28" href="#Examples-28">9.38.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-haldclut-1" href="#haldclut-1">9.37 haldclut</a>
+    <li><a name="toc-haldclut-1" href="#haldclut-1">9.39 haldclut</a>
     <ul class="toc">
-      <li><a name="toc-Workflow-examples" href="#Workflow-examples">9.37.1 Workflow examples</a>
+      <li><a name="toc-Workflow-examples" href="#Workflow-examples">9.39.1 Workflow examples</a>
       <ul class="toc">
-        <li><a name="toc-Hald-CLUT-video-stream" href="#Hald-CLUT-video-stream">9.37.1.1 Hald CLUT video stream</a></li>
-        <li><a name="toc-Hald-CLUT-with-preview" href="#Hald-CLUT-with-preview">9.37.1.2 Hald CLUT with preview</a></li>
+        <li><a name="toc-Hald-CLUT-video-stream" href="#Hald-CLUT-video-stream">9.39.1.1 Hald CLUT video stream</a></li>
+        <li><a name="toc-Hald-CLUT-with-preview" href="#Hald-CLUT-with-preview">9.39.1.2 Hald CLUT with preview</a></li>
       </ul>
 </li>
     </ul></li>
-    <li><a name="toc-hflip" href="#hflip">9.38 hflip</a></li>
-    <li><a name="toc-histeq" href="#histeq">9.39 histeq</a></li>
-    <li><a name="toc-histogram" href="#histogram">9.40 histogram</a>
+    <li><a name="toc-hflip" href="#hflip">9.40 hflip</a></li>
+    <li><a name="toc-histeq" href="#histeq">9.41 histeq</a></li>
+    <li><a name="toc-histogram" href="#histogram">9.42 histogram</a>
     <ul class="toc">
-      <li><a name="toc-Examples-45" href="#Examples-45">9.40.1 Examples</a></li>
+      <li><a name="toc-Examples-74" href="#Examples-74">9.42.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-hqdn3d-1" href="#hqdn3d-1">9.41 hqdn3d</a></li>
-    <li><a name="toc-hue" href="#hue">9.42 hue</a>
+    <li><a name="toc-hqdn3d-1" href="#hqdn3d-1">9.43 hqdn3d</a></li>
+    <li><a name="toc-hue" href="#hue">9.44 hue</a>
     <ul class="toc">
-      <li><a name="toc-Examples-52" href="#Examples-52">9.42.1 Examples</a></li>
-      <li><a name="toc-Commands" href="#Commands">9.42.2 Commands</a></li>
+      <li><a name="toc-Examples-8" href="#Examples-8">9.44.1 Examples</a></li>
+      <li><a name="toc-Commands-4" href="#Commands-4">9.44.2 Commands</a></li>
     </ul></li>
-    <li><a name="toc-idet" href="#idet">9.43 idet</a></li>
-    <li><a name="toc-il" href="#il">9.44 il</a></li>
-    <li><a name="toc-interlace" href="#interlace">9.45 interlace</a></li>
-    <li><a name="toc-kerndeint" href="#kerndeint">9.46 kerndeint</a>
+    <li><a name="toc-idet" href="#idet">9.45 idet</a></li>
+    <li><a name="toc-il" href="#il">9.46 il</a></li>
+    <li><a name="toc-interlace" href="#interlace">9.47 interlace</a></li>
+    <li><a name="toc-kerndeint" href="#kerndeint">9.48 kerndeint</a>
     <ul class="toc">
-      <li><a name="toc-Examples-29" href="#Examples-29">9.46.1 Examples</a></li>
+      <li><a name="toc-Examples-18" href="#Examples-18">9.48.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-lut3d-1" href="#lut3d-1">9.47 lut3d</a></li>
-    <li><a name="toc-lut_002c-lutrgb_002c-lutyuv" href="#lut_002c-lutrgb_002c-lutyuv">9.48 lut, lutrgb, lutyuv</a>
+    <li><a name="toc-lut3d-1" href="#lut3d-1">9.49 lut3d</a></li>
+    <li><a name="toc-lut_002c-lutrgb_002c-lutyuv" href="#lut_002c-lutrgb_002c-lutyuv">9.50 lut, lutrgb, lutyuv</a>
     <ul class="toc">
-      <li><a name="toc-Examples-40" href="#Examples-40">9.48.1 Examples</a></li>
+      <li><a name="toc-Examples-38" href="#Examples-38">9.50.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-mergeplanes" href="#mergeplanes">9.49 mergeplanes</a>
+    <li><a name="toc-mergeplanes" href="#mergeplanes">9.51 mergeplanes</a>
     <ul class="toc">
-      <li><a name="toc-Examples-34" href="#Examples-34">9.49.1 Examples</a></li>
+      <li><a name="toc-Examples-40" href="#Examples-40">9.51.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-mcdeint" href="#mcdeint">9.50 mcdeint</a></li>
-    <li><a name="toc-mp" href="#mp">9.51 mp</a>
+    <li><a name="toc-mcdeint" href="#mcdeint">9.52 mcdeint</a></li>
+    <li><a name="toc-mp" href="#mp">9.53 mp</a>
     <ul class="toc">
-      <li><a name="toc-Examples-46" href="#Examples-46">9.51.1 Examples</a></li>
+      <li><a name="toc-Examples-73" href="#Examples-73">9.53.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-mpdecimate" href="#mpdecimate">9.52 mpdecimate</a></li>
-    <li><a name="toc-negate" href="#negate">9.53 negate</a></li>
-    <li><a name="toc-noformat" href="#noformat">9.54 noformat</a>
+    <li><a name="toc-mpdecimate" href="#mpdecimate">9.54 mpdecimate</a></li>
+    <li><a name="toc-negate" href="#negate">9.55 negate</a></li>
+    <li><a name="toc-noformat" href="#noformat">9.56 noformat</a>
     <ul class="toc">
-      <li><a name="toc-Examples-18" href="#Examples-18">9.54.1 Examples</a></li>
+      <li><a name="toc-Examples-16" href="#Examples-16">9.56.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-noise" href="#noise">9.55 noise</a>
+    <li><a name="toc-noise" href="#noise">9.57 noise</a>
     <ul class="toc">
-      <li><a name="toc-Examples-48" href="#Examples-48">9.55.1 Examples</a></li>
+      <li><a name="toc-Examples-32" href="#Examples-32">9.57.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-null" href="#null">9.56 null</a></li>
-    <li><a name="toc-ocv" href="#ocv">9.57 ocv</a>
+    <li><a name="toc-null" href="#null">9.58 null</a></li>
+    <li><a name="toc-ocv" href="#ocv">9.59 ocv</a>
     <ul class="toc">
-      <li><a name="toc-dilate-1" href="#dilate-1">9.57.1 dilate</a></li>
-      <li><a name="toc-erode" href="#erode">9.57.2 erode</a></li>
-      <li><a name="toc-smooth" href="#smooth">9.57.3 smooth</a></li>
+      <li><a name="toc-dilate-1" href="#dilate-1">9.59.1 dilate</a></li>
+      <li><a name="toc-erode" href="#erode">9.59.2 erode</a></li>
+      <li><a name="toc-smooth" href="#smooth">9.59.3 smooth</a></li>
     </ul></li>
-    <li><a name="toc-overlay-1" href="#overlay-1">9.58 overlay</a>
+    <li><a name="toc-overlay-1" href="#overlay-1">9.60 overlay</a>
     <ul class="toc">
-      <li><a name="toc-Commands-1" href="#Commands-1">9.58.1 Commands</a></li>
-      <li><a name="toc-Examples-30" href="#Examples-30">9.58.2 Examples</a></li>
+      <li><a name="toc-Commands-5" href="#Commands-5">9.60.1 Commands</a></li>
+      <li><a name="toc-Examples-69" href="#Examples-69">9.60.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-owdenoise" href="#owdenoise">9.59 owdenoise</a></li>
-    <li><a name="toc-pad" href="#pad">9.60 pad</a>
+    <li><a name="toc-owdenoise" href="#owdenoise">9.61 owdenoise</a></li>
+    <li><a name="toc-pad" href="#pad">9.62 pad</a>
     <ul class="toc">
-      <li><a name="toc-Examples-59" href="#Examples-59">9.60.1 Examples</a></li>
+      <li><a name="toc-Examples-36" href="#Examples-36">9.62.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-perspective" href="#perspective">9.61 perspective</a></li>
-    <li><a name="toc-phase" href="#phase">9.62 phase</a></li>
-    <li><a name="toc-pixdesctest" href="#pixdesctest">9.63 pixdesctest</a></li>
-    <li><a name="toc-pp" href="#pp">9.64 pp</a>
+    <li><a name="toc-perspective" href="#perspective">9.63 perspective</a></li>
+    <li><a name="toc-phase" href="#phase">9.64 phase</a></li>
+    <li><a name="toc-pixdesctest" href="#pixdesctest">9.65 pixdesctest</a></li>
+    <li><a name="toc-pp" href="#pp">9.66 pp</a>
     <ul class="toc">
-      <li><a name="toc-Examples-12" href="#Examples-12">9.64.1 Examples</a></li>
+      <li><a name="toc-Examples-14" href="#Examples-14">9.66.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-psnr" href="#psnr">9.65 psnr</a></li>
-    <li><a name="toc-pullup" href="#pullup">9.66 pullup</a></li>
-    <li><a name="toc-removelogo" href="#removelogo">9.67 removelogo</a></li>
-    <li><a name="toc-rotate" href="#rotate">9.68 rotate</a>
+    <li><a name="toc-psnr" href="#psnr">9.67 psnr</a></li>
+    <li><a name="toc-pullup-1" href="#pullup-1">9.68 pullup</a></li>
+    <li><a name="toc-removelogo" href="#removelogo">9.69 removelogo</a></li>
+    <li><a name="toc-rotate" href="#rotate">9.70 rotate</a>
     <ul class="toc">
-      <li><a name="toc-Examples-33" href="#Examples-33">9.68.1 Examples</a></li>
-      <li><a name="toc-Commands-4" href="#Commands-4">9.68.2 Commands</a></li>
+      <li><a name="toc-Examples-39" href="#Examples-39">9.70.1 Examples</a></li>
+      <li><a name="toc-Commands-2" href="#Commands-2">9.70.2 Commands</a></li>
     </ul></li>
-    <li><a name="toc-sab" href="#sab">9.69 sab</a></li>
-    <li><a name="toc-scale-1" href="#scale-1">9.70 scale</a>
+    <li><a name="toc-sab" href="#sab">9.71 sab</a></li>
+    <li><a name="toc-scale-1" href="#scale-1">9.72 scale</a>
     <ul class="toc">
-      <li><a name="toc-Options" href="#Options">9.70.1 Options</a></li>
-      <li><a name="toc-Examples-44" href="#Examples-44">9.70.2 Examples</a></li>
+      <li><a name="toc-Options" href="#Options">9.72.1 Options</a></li>
+      <li><a name="toc-Examples-3" href="#Examples-3">9.72.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-separatefields" href="#separatefields">9.71 separatefields</a></li>
-    <li><a name="toc-setdar_002c-setsar" href="#setdar_002c-setsar">9.72 setdar, setsar</a>
+    <li><a name="toc-separatefields" href="#separatefields">9.73 separatefields</a></li>
+    <li><a name="toc-setdar_002c-setsar" href="#setdar_002c-setsar">9.74 setdar, setsar</a>
     <ul class="toc">
-      <li><a name="toc-Examples-16" href="#Examples-16">9.72.1 Examples</a></li>
+      <li><a name="toc-Examples-42" href="#Examples-42">9.74.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-setfield-1" href="#setfield-1">9.73 setfield</a></li>
-    <li><a name="toc-showinfo" href="#showinfo">9.74 showinfo</a></li>
-    <li><a name="toc-smartblur-1" href="#smartblur-1">9.75 smartblur</a></li>
-    <li><a name="toc-stereo3d" href="#stereo3d">9.76 stereo3d</a>
+    <li><a name="toc-setfield-1" href="#setfield-1">9.75 setfield</a></li>
+    <li><a name="toc-showinfo" href="#showinfo">9.76 showinfo</a></li>
+    <li><a name="toc-smartblur-1" href="#smartblur-1">9.77 smartblur</a></li>
+    <li><a name="toc-stereo3d" href="#stereo3d">9.78 stereo3d</a>
     <ul class="toc">
-      <li><a name="toc-Examples-73" href="#Examples-73">9.76.1 Examples</a></li>
+      <li><a name="toc-Examples-11" href="#Examples-11">9.78.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-spp" href="#spp">9.77 spp</a></li>
-    <li><a name="toc-subtitles-1" href="#subtitles-1">9.78 subtitles</a></li>
-    <li><a name="toc-super2xsai" href="#super2xsai">9.79 super2xsai</a></li>
-    <li><a name="toc-swapuv" href="#swapuv">9.80 swapuv</a></li>
-    <li><a name="toc-telecine" href="#telecine">9.81 telecine</a></li>
-    <li><a name="toc-thumbnail" href="#thumbnail">9.82 thumbnail</a>
+    <li><a name="toc-spp" href="#spp">9.79 spp</a></li>
+    <li><a name="toc-subtitles-1" href="#subtitles-1">9.80 subtitles</a></li>
+    <li><a name="toc-super2xsai" href="#super2xsai">9.81 super2xsai</a></li>
+    <li><a name="toc-swapuv" href="#swapuv">9.82 swapuv</a></li>
+    <li><a name="toc-telecine" href="#telecine">9.83 telecine</a></li>
+    <li><a name="toc-thumbnail" href="#thumbnail">9.84 thumbnail</a>
     <ul class="toc">
-      <li><a name="toc-Examples-53" href="#Examples-53">9.82.1 Examples</a></li>
+      <li><a name="toc-Examples-37" href="#Examples-37">9.84.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-tile" href="#tile">9.83 tile</a>
+    <li><a name="toc-tile" href="#tile">9.85 tile</a>
     <ul class="toc">
-      <li><a name="toc-Examples-67" href="#Examples-67">9.83.1 Examples</a></li>
+      <li><a name="toc-Examples-62" href="#Examples-62">9.85.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-tinterlace" href="#tinterlace">9.84 tinterlace</a></li>
-    <li><a name="toc-transpose" href="#transpose">9.85 transpose</a></li>
-    <li><a name="toc-trim" href="#trim">9.86 trim</a></li>
-    <li><a name="toc-unsharp" href="#unsharp">9.87 unsharp</a>
+    <li><a name="toc-tinterlace" href="#tinterlace">9.86 tinterlace</a></li>
+    <li><a name="toc-transpose" href="#transpose">9.87 transpose</a></li>
+    <li><a name="toc-trim" href="#trim">9.88 trim</a></li>
+    <li><a name="toc-unsharp" href="#unsharp">9.89 unsharp</a>
     <ul class="toc">
-      <li><a name="toc-Examples-9" href="#Examples-9">9.87.1 Examples</a></li>
+      <li><a name="toc-Examples-20" href="#Examples-20">9.89.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-vidstabdetect-1" href="#vidstabdetect-1">9.88 vidstabdetect</a>
+    <li><a name="toc-vidstabdetect-1" href="#vidstabdetect-1">9.90 vidstabdetect</a>
     <ul class="toc">
-      <li><a name="toc-Examples-57" href="#Examples-57">9.88.1 Examples</a></li>
+      <li><a name="toc-Examples-61" href="#Examples-61">9.90.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-vidstabtransform-1" href="#vidstabtransform-1">9.89 vidstabtransform</a>
+    <li><a name="toc-vidstabtransform-1" href="#vidstabtransform-1">9.91 vidstabtransform</a>
     <ul class="toc">
-      <li><a name="toc-Examples-56" href="#Examples-56">9.89.1 Examples</a></li>
+      <li><a name="toc-Options-1" href="#Options-1">9.91.1 Options</a></li>
+      <li><a name="toc-Examples-50" href="#Examples-50">9.91.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-vflip" href="#vflip">9.90 vflip</a></li>
-    <li><a name="toc-vignette" href="#vignette">9.91 vignette</a>
+    <li><a name="toc-vflip" href="#vflip">9.92 vflip</a></li>
+    <li><a name="toc-vignette" href="#vignette">9.93 vignette</a>
     <ul class="toc">
-      <li><a name="toc-Expressions" href="#Expressions">9.91.1 Expressions</a></li>
-      <li><a name="toc-Examples-51" href="#Examples-51">9.91.2 Examples</a></li>
+      <li><a name="toc-Expressions" href="#Expressions">9.93.1 Expressions</a></li>
+      <li><a name="toc-Examples-53" href="#Examples-53">9.93.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-w3fdif" href="#w3fdif">9.92 w3fdif</a></li>
-    <li><a name="toc-yadif-1" href="#yadif-1">9.93 yadif</a></li>
+    <li><a name="toc-w3fdif" href="#w3fdif">9.94 w3fdif</a></li>
+    <li><a name="toc-yadif-1" href="#yadif-1">9.95 yadif</a></li>
   </ul></li>
   <li><a name="toc-Video-Sources" href="#Video-Sources">10. Video Sources</a>
   <ul class="toc">
     <li><a name="toc-buffer" href="#buffer">10.1 buffer</a></li>
     <li><a name="toc-cellauto" href="#cellauto">10.2 cellauto</a>
     <ul class="toc">
-      <li><a name="toc-Examples-70" href="#Examples-70">10.2.1 Examples</a></li>
+      <li><a name="toc-Examples-58" href="#Examples-58">10.2.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-mandelbrot" href="#mandelbrot">10.3 mandelbrot</a></li>
     <li><a name="toc-mptestsrc" href="#mptestsrc">10.4 mptestsrc</a></li>
     <li><a name="toc-frei0r_005fsrc" href="#frei0r_005fsrc">10.5 frei0r_src</a></li>
     <li><a name="toc-life" href="#life">10.6 life</a>
     <ul class="toc">
-      <li><a name="toc-Examples-6" href="#Examples-6">10.6.1 Examples</a></li>
+      <li><a name="toc-Examples-24" href="#Examples-24">10.6.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-color_002c-haldclutsrc_002c-nullsrc_002c-rgbtestsrc_002c-smptebars_002c-smptehdbars_002c-testsrc" href="#color_002c-haldclutsrc_002c-nullsrc_002c-rgbtestsrc_002c-smptebars_002c-smptehdbars_002c-testsrc">10.7 color, haldclutsrc, nullsrc, rgbtestsrc, smptebars, smptehdbars, testsrc</a>
     <ul class="toc">
-      <li><a name="toc-Commands-3" href="#Commands-3">10.7.1 Commands</a></li>
+      <li><a name="toc-Commands-1" href="#Commands-1">10.7.1 Commands</a></li>
     </ul>
 </li>
   </ul></li>
@@ -434,53 +441,53 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
   <ul class="toc">
     <li><a name="toc-avectorscope" href="#avectorscope">12.1 avectorscope</a>
     <ul class="toc">
-      <li><a name="toc-Examples-69" href="#Examples-69">12.1.1 Examples</a></li>
+      <li><a name="toc-Examples-34" href="#Examples-34">12.1.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-concat" href="#concat">12.2 concat</a>
     <ul class="toc">
-      <li><a name="toc-Examples-64" href="#Examples-64">12.2.1 Examples</a></li>
+      <li><a name="toc-Examples-23" href="#Examples-23">12.2.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-ebur128" href="#ebur128">12.3 ebur128</a>
     <ul class="toc">
-      <li><a name="toc-Examples-25" href="#Examples-25">12.3.1 Examples</a></li>
+      <li><a name="toc-Examples-45" href="#Examples-45">12.3.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-interleave_002c-ainterleave" href="#interleave_002c-ainterleave">12.4 interleave, ainterleave</a>
     <ul class="toc">
-      <li><a name="toc-Examples-19" href="#Examples-19">12.4.1 Examples</a></li>
+      <li><a name="toc-Examples-55" href="#Examples-55">12.4.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-perms_002c-aperms" href="#perms_002c-aperms">12.5 perms, aperms</a></li>
     <li><a name="toc-select_002c-aselect" href="#select_002c-aselect">12.6 select, aselect</a>
     <ul class="toc">
-      <li><a name="toc-Examples-43" href="#Examples-43">12.6.1 Examples</a></li>
+      <li><a name="toc-Examples-13" href="#Examples-13">12.6.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-sendcmd_002c-asendcmd" href="#sendcmd_002c-asendcmd">12.7 sendcmd, asendcmd</a>
     <ul class="toc">
       <li><a name="toc-Commands-syntax" href="#Commands-syntax">12.7.1 Commands syntax</a></li>
-      <li><a name="toc-Examples-13" href="#Examples-13">12.7.2 Examples</a></li>
+      <li><a name="toc-Examples-17" href="#Examples-17">12.7.2 Examples</a></li>
     </ul></li>
     <li><a name="toc-setpts_002c-asetpts" href="#setpts_002c-asetpts">12.8 setpts, asetpts</a>
     <ul class="toc">
-      <li><a name="toc-Examples-17" href="#Examples-17">12.8.1 Examples</a></li>
+      <li><a name="toc-Examples-60" href="#Examples-60">12.8.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-settb_002c-asettb" href="#settb_002c-asettb">12.9 settb, asettb</a>
     <ul class="toc">
-      <li><a name="toc-Examples-15" href="#Examples-15">12.9.1 Examples</a></li>
+      <li><a name="toc-Examples-10" href="#Examples-10">12.9.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-showspectrum" href="#showspectrum">12.10 showspectrum</a>
     <ul class="toc">
-      <li><a name="toc-Examples-63" href="#Examples-63">12.10.1 Examples</a></li>
+      <li><a name="toc-Examples-15" href="#Examples-15">12.10.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-showwaves" href="#showwaves">12.11 showwaves</a>
     <ul class="toc">
-      <li><a name="toc-Examples-61" href="#Examples-61">12.11.1 Examples</a></li>
+      <li><a name="toc-Examples-35" href="#Examples-35">12.11.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-split_002c-asplit" href="#split_002c-asplit">12.12 split, asplit</a>
     <ul class="toc">
-      <li><a name="toc-Examples-27" href="#Examples-27">12.12.1 Examples</a></li>
+      <li><a name="toc-Examples-31" href="#Examples-31">12.12.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-zmq_002c-azmq" href="#zmq_002c-azmq">12.13 zmq, azmq</a>
     <ul class="toc">
-      <li><a name="toc-Examples-3" href="#Examples-3">12.13.1 Examples</a></li>
+      <li><a name="toc-Examples-54" href="#Examples-54">12.13.1 Examples</a></li>
     </ul>
 </li>
   </ul></li>
@@ -489,7 +496,7 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
     <li><a name="toc-amovie" href="#amovie">13.1 amovie</a></li>
     <li><a name="toc-movie-1" href="#movie-1">13.2 movie</a>
     <ul class="toc">
-      <li><a name="toc-Examples" href="#Examples">13.2.1 Examples</a></li>
+      <li><a name="toc-Examples-49" href="#Examples-49">13.2.1 Examples</a></li>
     </ul>
 </li>
   </ul></li>
@@ -671,7 +678,7 @@ terminated when the next special character (belonging to the set
 </p>
 <p>The name and arguments of the filter are optionally preceded and
 followed by a list of link labels.
-A link label allows to name a link and associate it to a filter output
+A link label allows one to name a link and associate it to a filter output
 or input pad. The preceding labels <var>in_link_1</var>
 ... <var>in_link_N</var>, are associated to the filter input pads,
 the following labels <var>out_link_1</var> ... <var>out_link_M</var>, are
@@ -715,26 +722,41 @@ to the filtergraph description.
 <a name="Notes-on-filtergraph-escaping"></a>
 <h2 class="section"><a href="ffmpeg-filters.html#toc-Notes-on-filtergraph-escaping">4.2 Notes on filtergraph escaping</a></h2>
 
-<p>Some filter arguments require the use of special characters, typically
-<code>:</code> to separate key=value pairs in a named options list. In this
-case the user should perform a first level escaping when specifying
-the filter arguments. For example, consider the following literal
-string to be embedded in the <a href="#drawtext">drawtext</a> filter arguments:
+<p>Filtergraph description composition entails several levels of
+escaping. See <a href="ffmpeg-utils.html#quoting_005fand_005fescaping">(ffmpeg-utils)quoting_and_escaping</a> for more
+information about the employed escaping procedure.
+</p>
+<p>A first level escaping affects the content of each filter option
+value, which may contain the special character <code>:</code> used to
+separate values, or one of the escaping characters <code>\'</code>.
+</p>
+<p>A second level escaping affects the whole filter description, which
+may contain the escaping characters <code>\'</code> or the special
+characters <code>[],;</code> used by the filtergraph description.
+</p>
+<p>Finally, when you specify a filtergraph on a shell commandline, you
+need to perform a third level escaping for the shell special
+characters contained within it.
+</p>
+<p>For example, consider the following string to be embedded in
+the <a href="#drawtext">drawtext</a> filter description &lsquo;<samp>text</samp>&rsquo; value:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">this is a 'string': may contain one, or more, special characters
 </pre></td></tr></table>
 
-<p>Since <code>:</code> is special for the filter arguments syntax, it needs to
-be escaped, so you get:
+<p>This string contains the <code>'</code> special escaping character, and the
+<code>:</code> special character, so it needs to be escaped in this way:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">text=this is a \'string\'\: may contain one, or more, special characters
 </pre></td></tr></table>
 
 <p>A second level of escaping is required when embedding the filter
-arguments in a filtergraph description, in order to escape all the
+description in a filtergraph description, in order to escape all the
 filtergraph special characters. Thus the example above becomes:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">drawtext=text=this is a \\\'string\\\'\\: may contain one\, or more\, special characters
 </pre></td></tr></table>
-
-<p>Finally an additional level of escaping may be needed when writing the
+<p>(note that in addition to the <code>\'</code> escaping special characters,
+also <code>,</code> needs to be escaped).
+</p>
+<p>Finally an additional level of escaping is needed when writing the
 filtergraph description in a shell command, which depends on the
 escaping rules of the adopted shell. For example, assuming that
 <code>\</code> is special and needs to be escaped with another <code>\</code>, the
@@ -742,23 +764,6 @@ previous string will finally result in:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">-vf &quot;drawtext=text=this is a \\\\\\'string\\\\\\'\\\\: may contain one\\, or more\\, special characters&quot;
 </pre></td></tr></table>
 
-<p>Sometimes, it might be more convenient to employ quoting in place of
-escaping. For example the string:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">Caesar: tu quoque, Brute, fili mi
-</pre></td></tr></table>
-
-<p>Can be quoted in the filter arguments as:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">text='Caesar: tu quoque, Brute, fili mi'
-</pre></td></tr></table>
-
-<p>And finally inserted in a filtergraph like:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">drawtext=text=\'Caesar: tu quoque\, Brute\, fili mi\'
-</pre></td></tr></table>
-
-<p>See the &ldquo;Quoting and escaping&rdquo; section in the ffmpeg-utils manual
-for more information about the escaping and quoting rules adopted by
-FFmpeg.
-</p>
 <a name="Timeline-editing"></a>
 <h1 class="chapter"><a href="ffmpeg-filters.html#toc-Timeline-editing">5. Timeline editing</a></h1>
 
@@ -826,8 +831,8 @@ or the corresponding number value defined in &lsquo;<tt>libavutil/channel_layout
 <p>The special parameter &quot;auto&quot;, signifies that the filter will
 automatically select the output format depending on the output filter.
 </p>
-<a name="Examples-41"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-41">6.1.1 Examples</a></h3>
+<a name="Examples-48"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-48">6.1.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -859,8 +864,8 @@ smaller than number of channels all remaining channels will not be delayed.
 </p></dd>
 </dl>
 
-<a name="Examples-31"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-31">6.2.1 Examples</a></h3>
+<a name="Examples-26"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-26">6.2.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -907,8 +912,8 @@ Default is <code>0.5</code>.
 </p></dd>
 </dl>
 
-<a name="Examples-26"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-26">6.3.1 Examples</a></h3>
+<a name="Examples-57"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-57">6.3.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -989,8 +994,8 @@ use by default the same input channel layout.
 <p>Note: this filter is slow. For faster processing you should use a
 dedicated filter.
 </p>
-<a name="Examples-49"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-49">6.4.1 Examples</a></h3>
+<a name="Examples-64"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-64">6.4.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -1091,8 +1096,8 @@ If set this option is used instead of <var>nb_samples</var> one.
 </dd>
 </dl>
 
-<a name="Examples-38"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-38">6.5.1 Examples</a></h3>
+<a name="Examples-43"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-43">6.5.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -1211,8 +1216,8 @@ arbitrarily set to 4.0, which may or may not be the expected value.
 <p>If inputs do not have the same duration, the output will stop with the
 shortest.
 </p>
-<a name="Examples-5"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-5">6.8.1 Examples</a></h3>
+<a name="Examples-7"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-7">6.8.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -1338,8 +1343,8 @@ expresses a sample rate and <var>resampler_options</var> is a list of
 <var>key</var>=<var>value</var> pairs, separated by &quot;:&quot;. See the
 ffmpeg-resampler manual for the complete list of supported options.
 </p>
-<a name="Examples-62"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-62">6.13.1 Examples</a></h3>
+<a name="Examples-21"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-21">6.13.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -1540,8 +1545,8 @@ that has a smaller timestamp.
 </p></dd>
 </dl>
 
-<a name="Examples-68"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-68">6.18.1 Examples</a></h3>
+<a name="Examples-4"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-4">6.18.1 Examples</a></h3>
 
 <p>Stress-test <code>amerge</code> by randomly sending buffers on the wrong
 input, while avoiding too much of a desynchronization:
@@ -1596,8 +1601,8 @@ with a negative pts due to encoder delay.
 specified then the filter will assume nominal 1.0 tempo. Tempo must
 be in the [0.5, 2.0] range.
 </p>
-<a name="Examples-71"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-71">6.20.1 Examples</a></h3>
+<a name="Examples-44"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-44">6.20.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -1881,7 +1886,6 @@ side_right.wav
 
 <a name="compand"></a>
 <h2 class="section"><a href="ffmpeg-filters.html#toc-compand">6.28 compand</a></h2>
-
 <p>Compress or expand audio dynamic range.
 </p>
 <p>A description of the accepted options follows.
@@ -1889,75 +1893,72 @@ side_right.wav
 <dl compact="compact">
 <dt> &lsquo;<samp>attacks</samp>&rsquo;</dt>
 <dt> &lsquo;<samp>decays</samp>&rsquo;</dt>
-<dd><p>Set list of times in seconds for each channel over which the instantaneous
-level of the input signal is averaged to determine its volume.
-&lsquo;<samp>attacks</samp>&rsquo; refers to increase of volume and &lsquo;<samp>decays</samp>&rsquo; refers
-to decrease of volume.
-For most situations, the attack time (response to the audio getting louder)
-should be shorter than the decay time because the human ear is more sensitive
-to sudden loud audio than sudden soft audio.
-Typical value for attack is <code>0.3</code> seconds and for decay <code>0.8</code>
-seconds.
+<dd><p>Set list of times in seconds for each channel over which the instantaneous level
+of the input signal is averaged to determine its volume. <var>attacks</var> refers to
+increase of volume and <var>decays</var> refers to decrease of volume. For most
+situations, the attack time (response to the audio getting louder) should be
+shorter than the decay time because the human ear is more sensitive to sudden
+loud audio than sudden soft audio. A typical value for attack is 0.3 seconds and
+a typical value for decay is 0.8 seconds.
 </p>
 </dd>
 <dt> &lsquo;<samp>points</samp>&rsquo;</dt>
-<dd><p>Set list of points for transfer function, specified in dB relative to maximum
-possible signal amplitude.
-Each key points list need to be defined using the following syntax:
-<code>x0/y0 x1/y1 x2/y2 ...</code>.
+<dd><p>Set list of points for the transfer function, specified in dB relative to the
+maximum possible signal amplitude. Each key points list must be defined using
+the following syntax: <code>x0/y0|x1/y1|x2/y2|....</code> or
+<code>x0/y0 x1/y1 x2/y2 ....</code>
 </p>
-<p>The input values must be in strictly increasing order but the transfer
-function does not have to be monotonically rising.
-The point <code>0/0</code> is assumed but may be overridden (by <code>0/out-dBn</code>).
-Typical values for the transfer function are <code>-70/-70 -60/-20</code>.
+<p>The input values must be in strictly increasing order but the transfer function
+does not have to be monotonically rising. The point <code>0/0</code> is assumed but
+may be overridden (by <code>0/out-dBn</code>). Typical values for the transfer
+function are <code>-70/-70|-60/-20</code>.
 </p>
 </dd>
 <dt> &lsquo;<samp>soft-knee</samp>&rsquo;</dt>
-<dd><p>Set amount for which the points at where adjacent line segments on the
-transfer function meet will be rounded. Defaults is <code>0.01</code>.
+<dd><p>Set the curve radius in dB for all joints. Defaults to 0.01.
 </p>
 </dd>
 <dt> &lsquo;<samp>gain</samp>&rsquo;</dt>
-<dd><p>Set additional gain in dB to be applied at all points on the transfer function
-and allows easy adjustment of the overall gain.
-Default is <code>0</code>.
+<dd><p>Set additional gain in dB to be applied at all points on the transfer function.
+This allows easy adjustment of the overall gain. Defaults to 0.
 </p>
 </dd>
 <dt> &lsquo;<samp>volume</samp>&rsquo;</dt>
 <dd><p>Set initial volume in dB to be assumed for each channel when filtering starts.
-This permits the user to supply a nominal level initially, so that,
-for example, a very large gain is not applied to initial signal levels before
-the companding has begun to operate. A typical value for audio which is
-initially quiet is -90 dB. Default is <code>0</code>.
+This permits the user to supply a nominal level initially, so that, for
+example, a very large gain is not applied to initial signal levels before the
+companding has begun to operate. A typical value for audio which is initially
+quiet is -90 dB. Defaults to 0.
 </p>
 </dd>
 <dt> &lsquo;<samp>delay</samp>&rsquo;</dt>
-<dd><p>Set delay in seconds. Default is <code>0</code>. The input audio
-is analysed immediately, but audio is delayed before being fed to the
-volume adjuster. Specifying a delay approximately equal to the attack/decay
-times allows the filter to effectively operate in predictive rather than
-reactive mode.
-</p></dd>
+<dd><p>Set delay in seconds. The input audio is analyzed immediately, but audio is
+delayed before being fed to the volume adjuster. Specifying a delay
+approximately equal to the attack/decay times allows the filter to effectively
+operate in predictive rather than reactive mode. Defaults to 0.
+</p>
+</dd>
 </dl>
 
-<a name="Examples-24"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-24">6.28.1 Examples</a></h3>
+<a name="Examples-59"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-59">6.28.1 Examples</a></h3>
+
 <ul>
 <li>
-Make music with both quiet and loud passages suitable for listening
-in a noisy environment:
-<table><tr><td>&nbsp;</td><td><pre class="example">compand=.3 .3:1 1:-90/-60 -60/-40 -40/-30 -20/-20:6:0:-90:0.2
+Make music with both quiet and loud passages suitable for listening in a noisy
+environment:
+<table><tr><td>&nbsp;</td><td><pre class="example">compand=.3|.3:1|1:-90/-60|-60/-40|-40/-30|-20/-20:6:0:-90:0.2
 </pre></td></tr></table>
 
 </li><li>
-Noise-gate for when the noise is at a lower level than the signal:
-<table><tr><td>&nbsp;</td><td><pre class="example">compand=.1 .1:.2 .2:-900/-900 -50.1/-900 -50/-50:.01:0:-90:.1
+Noise gate for when the noise is at a lower level than the signal:
+<table><tr><td>&nbsp;</td><td><pre class="example">compand=.1|.1:.2|.2:-900/-900|-50.1/-900|-50/-50:.01:0:-90:.1
 </pre></td></tr></table>
 
 </li><li>
-Here is another noise-gate, this time for when the noise is at a higher level
+Here is another noise gate, this time for when the noise is at a higher level
 than the signal (making it, in some ways, similar to squelch):
-<table><tr><td>&nbsp;</td><td><pre class="example">compand=.1 .1:.1 .1:-45.1/-45.1 -45/-900 0/-900:.01:45:-90:.1
+<table><tr><td>&nbsp;</td><td><pre class="example">compand=.1|.1:.1|.1:-45.1/-45.1|-45/-900|0/-900:.01:45:-90:.1
 </pre></td></tr></table>
 </li></ul>
 
@@ -2019,6 +2020,20 @@ Beware of clipping when using a positive gain.
 </p></dd>
 </dl>
 
+<a name="Examples-63"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-63">6.30.1 Examples</a></h3>
+<ul>
+<li>
+Attenuate 10 dB at 1000 Hz, with a bandwidth of 200 Hz:
+<table><tr><td>&nbsp;</td><td><pre class="example">equalizer=f=1000:width_type=h:width=200:g=-10
+</pre></td></tr></table>
+
+</li><li>
+Apply 2 dB gain at 1000 Hz with Q 1 and attenuate 5 dB at 100 Hz with Q 2:
+<table><tr><td>&nbsp;</td><td><pre class="example">equalizer=f=1000:width_type=q:width=1:g=2,equalizer=f=100:width_type=q:width=2:g=-5
+</pre></td></tr></table>
+</li></ul>
+
 <a name="highpass"></a>
 <h2 class="section"><a href="ffmpeg-filters.html#toc-highpass">6.31 highpass</a></h2>
 
@@ -2159,8 +2174,8 @@ Only used if plugin have zero inputs.
 </dd>
 </dl>
 
-<a name="Examples-23"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-23">6.33.1 Examples</a></h3>
+<a name="Examples-12"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-12">6.33.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -2203,8 +2218,8 @@ Apply <code>C* Eq10X2 - Stereo 10-band equaliser</code> effect:
 </pre></td></tr></table>
 </li></ul>
 
-<a name="Commands-2"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Commands-2">6.33.2 Commands</a></h3>
+<a name="Commands-3"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Commands-3">6.33.2 Commands</a></h3>
 
 <p>This filter supports the following commands:
 </p><dl compact="compact">
@@ -2387,8 +2402,8 @@ specified value) or amplitude ratio. Default is -60dB, or 0.001.
 </p></dd>
 </dl>
 
-<a name="Examples-66"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-66">6.38.1 Examples</a></h3>
+<a name="Examples-9"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-9">6.38.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -2457,7 +2472,7 @@ The default value is <code>3000</code> Hz.
 </p>
 <dl compact="compact">
 <dt> &lsquo;<samp>volume</samp>&rsquo;</dt>
-<dd><p>Expresses how the audio volume will be increased or decreased.
+<dd><p>Set audio volume expression.
 </p>
 <p>Output values are clipped to the maximum value.
 </p>
@@ -2465,7 +2480,7 @@ The default value is <code>3000</code> Hz.
 </p><table><tr><td>&nbsp;</td><td><pre class="example"><var>output_volume</var> = <var>volume</var> * <var>input_volume</var>
 </pre></td></tr></table>
 
-<p>Default value for <var>volume</var> is 1.0.
+<p>Default value for <var>volume</var> is &quot;1.0&quot;.
 </p>
 </dd>
 <dt> &lsquo;<samp>precision</samp>&rsquo;</dt>
@@ -2485,11 +2500,88 @@ precision of the volume scaling.
 <dd><p>64-bit floating-point; limits input sample format to DBL.
 </p></dd>
 </dl>
+
+</dd>
+<dt> &lsquo;<samp>eval</samp>&rsquo;</dt>
+<dd><p>Set when the volume expression is evaluated.
+</p>
+<p>It accepts the following values:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>once</samp>&rsquo;</dt>
+<dd><p>only evaluate expression once during the filter initialization, or
+when the &lsquo;<samp>volume</samp>&rsquo; command is sent
+</p>
 </dd>
+<dt> &lsquo;<samp>frame</samp>&rsquo;</dt>
+<dd><p>evaluate expression for each incoming frame
+</p></dd>
 </dl>
 
-<a name="Examples-14"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-14">6.40.1 Examples</a></h3>
+<p>Default value is &lsquo;<samp>once</samp>&rsquo;.
+</p></dd>
+</dl>
+
+<p>The volume expression can contain the following parameters.
+</p>
+<dl compact="compact">
+<dt> &lsquo;<samp>n</samp>&rsquo;</dt>
+<dd><p>frame number (starting at zero)
+</p></dd>
+<dt> &lsquo;<samp>nb_channels</samp>&rsquo;</dt>
+<dd><p>number of channels
+</p></dd>
+<dt> &lsquo;<samp>nb_consumed_samples</samp>&rsquo;</dt>
+<dd><p>number of samples consumed by the filter
+</p></dd>
+<dt> &lsquo;<samp>nb_samples</samp>&rsquo;</dt>
+<dd><p>number of samples in the current frame
+</p></dd>
+<dt> &lsquo;<samp>pos</samp>&rsquo;</dt>
+<dd><p>original frame position in the file
+</p></dd>
+<dt> &lsquo;<samp>pts</samp>&rsquo;</dt>
+<dd><p>frame PTS
+</p></dd>
+<dt> &lsquo;<samp>sample_rate</samp>&rsquo;</dt>
+<dd><p>sample rate
+</p></dd>
+<dt> &lsquo;<samp>startpts</samp>&rsquo;</dt>
+<dd><p>PTS at start of stream
+</p></dd>
+<dt> &lsquo;<samp>startt</samp>&rsquo;</dt>
+<dd><p>time at start of stream
+</p></dd>
+<dt> &lsquo;<samp>t</samp>&rsquo;</dt>
+<dd><p>frame time
+</p></dd>
+<dt> &lsquo;<samp>tb</samp>&rsquo;</dt>
+<dd><p>timestamp timebase
+</p></dd>
+<dt> &lsquo;<samp>volume</samp>&rsquo;</dt>
+<dd><p>last set volume value
+</p></dd>
+</dl>
+
+<p>Note that when &lsquo;<samp>eval</samp>&rsquo; is set to &lsquo;<samp>once</samp>&rsquo; only the
+<var>sample_rate</var> and <var>tb</var> variables are available, all other
+variables will evaluate to NAN.
+</p>
+<a name="Commands"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Commands">6.40.1 Commands</a></h3>
+
+<p>This filter supports the following commands:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>volume</samp>&rsquo;</dt>
+<dd><p>Modify the volume expression.
+The command accepts the same syntax of the corresponding option.
+</p>
+<p>If the specified expression is not valid, it is kept at its current
+value.
+</p></dd>
+</dl>
+
+<a name="Examples-33"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-33">6.40.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -2508,6 +2600,11 @@ omitted, for example like in:
 Increase input audio power by 6 decibels using fixed-point precision:
 <table><tr><td>&nbsp;</td><td><pre class="example">volume=volume=6dB:precision=fixed
 </pre></td></tr></table>
+
+</li><li>
+Fade volume after time 10 with an annihilation period of 5 seconds:
+<table><tr><td>&nbsp;</td><td><pre class="example">volume='if(lt(t,10),1,max(1-(t-10)/5,0))':eval=frame
+</pre></td></tr></table>
 </li></ul>
 
 <a name="volumedetect"></a>
@@ -2525,8 +2622,8 @@ the samples).
 </p>
 <p>All volumes are in decibels relative to the maximum PCM value.
 </p>
-<a name="Examples-8"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-8">6.41.1 Examples</a></h3>
+<a name="Examples-5"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-5">6.41.1 Examples</a></h3>
 
 <p>Here is an excerpt of the output:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">[Parsed_volumedetect_0 &nbsp;0xa23120] mean_volume: -27 dB
@@ -2600,8 +2697,8 @@ must be consistent.
 </dd>
 </dl>
 
-<a name="Examples-55"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-55">7.1.1 Examples</a></h3>
+<a name="Examples-30"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-30">7.1.1 Examples</a></h3>
 
 <table><tr><td>&nbsp;</td><td><pre class="example">abuffer=sample_rate=44100:sample_fmt=s16p:channel_layout=stereo
 </pre></td></tr></table>
@@ -2675,8 +2772,8 @@ default to 1024.
 </dd>
 </dl>
 
-<a name="Examples-1"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-1">7.2.1 Examples</a></h3>
+<a name="Examples-56"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-56">7.2.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -2745,8 +2842,8 @@ channel layout values.
 </dd>
 </dl>
 
-<a name="Examples-39"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-39">7.3.1 Examples</a></h3>
+<a name="Examples"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples">7.3.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -2798,8 +2895,8 @@ immediately. Default value is 0.
 </p></dd>
 </dl>
 
-<a name="Examples-20"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-20">7.4.1 Examples</a></h3>
+<a name="Examples-27"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-27">7.4.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -2860,8 +2957,8 @@ the carrier frequency. Default is 0, meaning the beep is disabled.
 </p></dd>
 </dl>
 
-<a name="Examples-58"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-58">7.5.1 Examples</a></h3>
+<a name="Examples-46"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-46">7.5.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -3161,8 +3258,8 @@ Default is <code>1</code>.
 </p></dd>
 </dl>
 
-<a name="Examples-21"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-21">9.7.1 Examples</a></h3>
+<a name="Examples-51"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-51">9.7.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -3259,8 +3356,8 @@ corresponding value set for &lsquo;<samp>luma_power</samp>&rsquo;.
 </p></dd>
 </dl>
 
-<a name="Examples-4"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-4">9.8.1 Examples</a></h3>
+<a name="Examples-66"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-66">9.8.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -3315,8 +3412,8 @@ value towards the complementary color.
 </p></dd>
 </dl>
 
-<a name="Examples-37"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-37">9.9.1 Examples</a></h3>
+<a name="Examples-29"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-29">9.9.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -3374,8 +3471,8 @@ Default is <code>1</code> for <var>aa</var>, and <code>0</code> for <var>ar</var
 </p></dd>
 </dl>
 
-<a name="Examples-35"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-35">9.10.1 Examples</a></h3>
+<a name="Examples-68"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-68">9.10.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -3546,8 +3643,8 @@ is approximated to the nearest valid value.
 <p>The expression for <var>x</var> may depend on <var>y</var>, and the expression
 for <var>y</var> may depend on <var>x</var>.
 </p>
-<a name="Examples-36"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-36">9.13.1 Examples</a></h3>
+<a name="Examples-47"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-47">9.13.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -3729,8 +3826,8 @@ options. In this case, the unset component(s) will fallback on this
 <p>To avoid some filtergraph syntax conflicts, each key points list need to be
 defined using the following syntax: <code>x0/y0 x1/y1 x2/y2 ...</code>.
 </p>
-<a name="Examples-2"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-2">9.15.1 Examples</a></h3>
+<a name="Examples-6"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-6">9.15.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -3816,8 +3913,8 @@ variable.
 </p></dd>
 </dl>
 
-<a name="Examples-22"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-22">9.16.1 Examples</a></h3>
+<a name="Examples-1"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-1">9.16.1 Examples</a></h3>
 
 <p>Apply a denoise with a &lsquo;<samp>sigma</samp>&rsquo; of <code>4.5</code>:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">dctdnoiz=4.5
@@ -3874,8 +3971,43 @@ stream is the clean source from where the kept frames are chosen. Default is
 </p></dd>
 </dl>
 
+<a name="dejudder"></a>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-dejudder">9.18 dejudder</a></h2>
+
+<p>Remove judder produced by partially interlaced telecined content.
+</p>
+<p>Judder can be introduced, for instance, by <a href="#pullup">pullup</a> filter. If the original
+source was partially telecined content then the output of <code>pullup,dejudder</code>
+will have a variable frame rate. May change the recorded frame rate of the
+container. Aside from that change, this filter will not affect constant frame
+rate video.
+</p>
+<p>The option available in this filter is:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>cycle</samp>&rsquo;</dt>
+<dd><p>Specify the length of the window over which the judder repeats.
+</p>
+<p>Accepts any interger greater than 1. Useful values are:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>4</samp>&rsquo;</dt>
+<dd><p>If the original was telecined from 24 to 30 fps (Film to NTSC).
+</p>
+</dd>
+<dt> &lsquo;<samp>5</samp>&rsquo;</dt>
+<dd><p>If the original was telecined from 25 to 30 fps (PAL to NTSC).
+</p>
+</dd>
+<dt> &lsquo;<samp>20</samp>&rsquo;</dt>
+<dd><p>If a mixture of the two.
+</p></dd>
+</dl>
+
+<p>The default is &lsquo;<samp>4</samp>&rsquo;.
+</p></dd>
+</dl>
+
 <a name="delogo"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-delogo">9.18 delogo</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-delogo">9.19 delogo</a></h2>
 
 <p>Suppress a TV station logo by a simple interpolation of the surrounding
 pixels. Just set a rectangle covering the logo and watch it disappear
@@ -3913,8 +4045,8 @@ compute the interpolated pixel values inside the rectangle.
 </dd>
 </dl>
 
-<a name="Examples-50"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-50">9.18.1 Examples</a></h3>
+<a name="Examples-22"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-22">9.19.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -3926,7 +4058,7 @@ and size 100x77, setting a band of size 10:
 </li></ul>
 
 <a name="deshake"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-deshake">9.19 deshake</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-deshake">9.20 deshake</a></h2>
 
 <p>Attempt to fix small changes in horizontal and/or vertical shift. This
 filter helps remove camera shake from hand-holding a camera, bumping a
@@ -4020,7 +4152,7 @@ FFmpeg was configured with <code>--enable-opencl</code>. Default value is 0.
 </dl>
 
 <a name="drawbox"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-drawbox">9.20 drawbox</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-drawbox">9.21 drawbox</a></h2>
 
 <p>Draw a colored box on the input image.
 </p>
@@ -4094,8 +4226,8 @@ each other, so you may for example specify <code>y=x/dar</code> or <code>h=w/dar
 </dd>
 </dl>
 
-<a name="Examples-60"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-60">9.20.1 Examples</a></h3>
+<a name="Examples-52"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-52">9.21.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -4124,7 +4256,7 @@ Draw a 2-pixel red 2.40:1 mask:
 </li></ul>
 
 <a name="drawgrid"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-drawgrid">9.21 drawgrid</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-drawgrid">9.22 drawgrid</a></h2>
 
 <p>Draw a grid on the input image.
 </p>
@@ -4199,8 +4331,8 @@ each other, so you may for example specify <code>y=x/dar</code> or <code>h=w/dar
 </dd>
 </dl>
 
-<a name="Examples-28"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-28">9.21.1 Examples</a></h3>
+<a name="Examples-19"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-19">9.22.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -4216,7 +4348,7 @@ Draw a white 3x3 grid with an opacity of 50%:
 
 <p><a name="drawtext"></a>
 </p><a name="drawtext-1"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-drawtext-1">9.22 drawtext</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-drawtext-1">9.23 drawtext</a></h2>
 
 <p>Draw text string or text from specified file on top of video using the
 libfreetype library.
@@ -4225,7 +4357,7 @@ libfreetype library.
 <code>--enable-libfreetype</code>.
 </p>
 <a name="Syntax"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Syntax">9.22.1 Syntax</a></h3>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Syntax">9.23.1 Syntax</a></h3>
 
 <p>The description of the accepted parameters follows.
 </p>
@@ -4243,6 +4375,18 @@ option, check the &quot;Color&quot; section in the ffmpeg-utils manual.
 <p>The default value of <var>boxcolor</var> is &quot;white&quot;.
 </p>
 </dd>
+<dt> &lsquo;<samp>borderw</samp>&rsquo;</dt>
+<dd><p>Set the width of the border to be drawn around the text using <var>bordercolor</var>.
+The default value of <var>borderw</var> is 0.
+</p>
+</dd>
+<dt> &lsquo;<samp>bordercolor</samp>&rsquo;</dt>
+<dd><p>Set the color to be used for drawing border around text. For the syntax of this
+option, check the &quot;Color&quot; section in the ffmpeg-utils manual.
+</p>
+<p>The default value of <var>bordercolor</var> is &quot;black&quot;.
+</p>
+</dd>
 <dt> &lsquo;<samp>expansion</samp>&rsquo;</dt>
 <dd><p>Select how the <var>text</var> is expanded. Can be either <code>none</code>,
 <code>strftime</code> (deprecated) or
@@ -4294,7 +4438,7 @@ a combination of the following values:
 <dt> <var>no_autohint</var></dt>
 </dl>
 
-<p>Default value is &quot;render&quot;.
+<p>Default value is &quot;default&quot;.
 </p>
 <p>For more information consult the documentation for the FT_LOAD_*
 libfreetype flags.
@@ -4458,7 +4602,7 @@ each other, so you can for example specify <code>y=x/dar</code>.
 </p>
 <p><a name="drawtext_005fexpansion"></a>
 </p><a name="Text-expansion"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Text-expansion">9.22.2 Text expansion</a></h3>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Text-expansion">9.23.2 Text expansion</a></h3>
 
 <p>If &lsquo;<samp>expansion</samp>&rsquo; is set to <code>strftime</code>,
 the filter recognizes strftime() sequences in the provided text and
@@ -4526,8 +4670,8 @@ It can accept an argument: a strftime() format string.
 </dd>
 </dl>
 
-<a name="Examples-32"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-32">9.22.3 Examples</a></h3>
+<a name="Examples-2"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-2">9.23.3 Examples</a></h3>
 
 <ul>
 <li>
@@ -4597,7 +4741,7 @@ Print the date of a real-time encoding (see strftime(3)):
 <a href="http://freedesktop.org/software/fontconfig/fontconfig-user.html">http://freedesktop.org/software/fontconfig/fontconfig-user.html</a>.
 </p>
 <a name="edgedetect"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-edgedetect">9.23 edgedetect</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-edgedetect">9.24 edgedetect</a></h2>
 
 <p>Detect and draw edges. The filter uses the Canny Edge Detection algorithm.
 </p>
@@ -4613,7 +4757,7 @@ algorithm.
 connected through 8-connectivity with the &quot;weak&quot; edge pixels selected
 by the low threshold.
 </p>
-<p><var>low</var> and <var>high</var> threshold values must be choosen in the range
+<p><var>low</var> and <var>high</var> threshold values must be chosen in the range
 [0,1], and <var>low</var> should be lesser or equal to <var>high</var>.
 </p>
 <p>Default value for <var>low</var> is <code>20/255</code>, and default value for <var>high</var>
@@ -4626,7 +4770,7 @@ is <code>50/255</code>.
 </pre></td></tr></table>
 
 <a name="extractplanes"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-extractplanes">9.24 extractplanes</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-extractplanes">9.25 extractplanes</a></h2>
 
 <p>Extract color channel components from input video stream into
 separate grayscale video streams.
@@ -4654,8 +4798,8 @@ with <code>y</code>, <code>u</code>, <code>v</code> planes at same time.
 </p></dd>
 </dl>
 
-<a name="Examples-54"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-54">9.24.1 Examples</a></h3>
+<a name="Examples-71"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-71">9.25.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -4666,7 +4810,7 @@ into 3 grayscale outputs:
 </li></ul>
 
 <a name="elbg"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-elbg">9.25 elbg</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-elbg">9.26 elbg</a></h2>
 
 <p>Apply a posterize effect using the ELBG (Enhanced LBG) algorithm.
 </p>
@@ -4696,7 +4840,7 @@ will try to use a good random seed on a best effort basis.
 </dl>
 
 <a name="fade"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-fade">9.26 fade</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-fade">9.27 fade</a></h2>
 
 <p>Apply fade-in/out effect to input video.
 </p>
@@ -4746,8 +4890,8 @@ If both duration and nb_frames are specified, duration is used. Default is 0.
 </p></dd>
 </dl>
 
-<a name="Examples-47"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-47">9.26.1 Examples</a></h3>
+<a name="Examples-41"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-41">9.27.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -4788,7 +4932,7 @@ Make first 5.5 seconds black, then fade in for 0.5 seconds:
 </li></ul>
 
 <a name="field"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-field">9.27 field</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-field">9.28 field</a></h2>
 
 <p>Extract a single field from an interlaced image using stride
 arithmetic to avoid wasting CPU time. The output frames are marked as
@@ -4805,7 +4949,7 @@ non-interlaced.
 </dl>
 
 <a name="fieldmatch"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-fieldmatch">9.28 fieldmatch</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-fieldmatch">9.29 fieldmatch</a></h2>
 
 <p>Field matching filter for inverse telecine. It is meant to reconstruct the
 progressive frames from a telecined stream. The filter does not drop duplicated
@@ -5055,10 +5199,10 @@ as &lsquo;<samp>MI</samp>&rsquo; in TFM/VFM vocabulary.
 
 <p><a name="p_002fc_002fn_002fu_002fb-meaning"></a>
 </p><a name="p_002fc_002fn_002fu_002fb-meaning-1"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-p_002fc_002fn_002fu_002fb-meaning-1">9.28.1 p/c/n/u/b meaning</a></h3>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-p_002fc_002fn_002fu_002fb-meaning-1">9.29.1 p/c/n/u/b meaning</a></h3>
 
 <a name="p_002fc_002fn"></a>
-<h4 class="subsubsection"><a href="ffmpeg-filters.html#toc-p_002fc_002fn">9.28.1.1 p/c/n</a></h4>
+<h4 class="subsubsection"><a href="ffmpeg-filters.html#toc-p_002fc_002fn">9.29.1.1 p/c/n</a></h4>
 
 <p>We assume the following telecined stream:
 </p>
@@ -5111,7 +5255,7 @@ basically, they refer to the frame and field of the opposite parity:
 </li></ul>
 
 <a name="u_002fb"></a>
-<h4 class="subsubsection"><a href="ffmpeg-filters.html#toc-u_002fb">9.28.1.2 u/b</a></h4>
+<h4 class="subsubsection"><a href="ffmpeg-filters.html#toc-u_002fb">9.29.1.2 u/b</a></h4>
 
 <p>The <var>u</var> and <var>b</var> matching are a bit special in the sense that they match
 from the opposite parity flag. In the following examples, we assume that we are
@@ -5144,8 +5288,8 @@ Output frames:
                  2          1          3          2          2
 </pre></td></tr></table>
 
-<a name="Examples-10"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-10">9.28.2 Examples</a></h3>
+<a name="Examples-67"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-67">9.29.2 Examples</a></h3>
 
 <p>Simple IVTC of a top field first telecined stream:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">fieldmatch=order=tff:combmatch=none, decimate
@@ -5156,7 +5300,7 @@ Output frames:
 </pre></td></tr></table>
 
 <a name="fieldorder"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-fieldorder">9.29 fieldorder</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-fieldorder">9.30 fieldorder</a></h2>
 
 <p>Transform the field order of the input video.
 </p>
@@ -5187,7 +5331,7 @@ which is bottom field first.
 </pre></td></tr></table>
 
 <a name="fifo"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-fifo">9.30 fifo</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-fifo">9.31 fifo</a></h2>
 
 <p>Buffer input images and send them when they are requested.
 </p>
@@ -5198,7 +5342,7 @@ framework.
 </p>
 <p><a name="format"></a>
 </p><a name="format-1"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-format-1">9.31 format</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-format-1">9.32 format</a></h2>
 
 <p>Convert the input video to one of the specified pixel formats.
 Libavfilter will try to pick one that is supported for the input to
@@ -5213,8 +5357,8 @@ the next filter.
 </dd>
 </dl>
 
-<a name="Examples-65"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-65">9.31.1 Examples</a></h3>
+<a name="Examples-25"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-25">9.32.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -5229,7 +5373,7 @@ Convert the input video to the format <var>yuv420p</var>
 
 <p><a name="fps"></a>
 </p><a name="fps-1"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-fps-1">9.32 fps</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-fps-1">9.33 fps</a></h2>
 
 <p>Convert the video to specified constant frame rate by duplicating or dropping
 frames as necessary.
@@ -5281,7 +5425,7 @@ frames with a negative PTS.
 <p>See also the <a href="#setpts">setpts</a> filter.
 </p>
 <a name="Examples-72"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-72">9.32.1 Examples</a></h3>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-72">9.33.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -5295,8 +5439,57 @@ Sets the fps to 24, using abbreviation and rounding method to round to nearest:
 </pre></td></tr></table>
 </li></ul>
 
+<a name="framepack"></a>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-framepack">9.34 framepack</a></h2>
+
+<p>Pack two different video streams into a stereoscopic video, setting proper
+metadata on supported codecs. The two views should have the same size and
+framerate and processing will stop when the shorter video ends. Please note
+that you may conveniently adjust view properties with the <a href="#scale">scale</a> and
+<a href="#fps">fps</a> filters.
+</p>
+<p>This filter accepts the following named parameters:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>format</samp>&rsquo;</dt>
+<dd><p>Desired packing format. Supported values are:
+</p>
+<dl compact="compact">
+<dt> &lsquo;<samp>sbs</samp>&rsquo;</dt>
+<dd><p>Views are next to each other (default).
+</p>
+</dd>
+<dt> &lsquo;<samp>tab</samp>&rsquo;</dt>
+<dd><p>Views are on top of each other.
+</p>
+</dd>
+<dt> &lsquo;<samp>lines</samp>&rsquo;</dt>
+<dd><p>Views are packed by line.
+</p>
+</dd>
+<dt> &lsquo;<samp>columns</samp>&rsquo;</dt>
+<dd><p>Views are eacked by column.
+</p>
+</dd>
+<dt> &lsquo;<samp>frameseq</samp>&rsquo;</dt>
+<dd><p>Views are temporally interleaved.
+</p>
+</dd>
+</dl>
+
+</dd>
+</dl>
+
+<p>Some examples follow:
+</p>
+<table><tr><td>&nbsp;</td><td><pre class="example"># Convert left and right views into a frame sequential video.
+ffmpeg -i LEFT -i RIGHT -filter_complex framepack=frameseq OUTPUT
+
+# Convert views into a side-by-side video with the same output resolution as the input.
+ffmpeg -i LEFT -i RIGHT -filter_complex [0:v]scale=w=iw/2[left],[1:v]scale=w=iw/2[right],[left][right]framepack=sbs OUTPUT
+</pre></td></tr></table>
+
 <a name="framestep"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-framestep">9.33 framestep</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-framestep">9.35 framestep</a></h2>
 
 <p>Select one frame every N-th frame.
 </p>
@@ -5310,7 +5503,7 @@ Allowed values are positive integers higher than 0. Default value is <code>1</co
 
 <p><a name="frei0r"></a>
 </p><a name="frei0r-1"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-frei0r-1">9.34 frei0r</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-frei0r-1">9.36 frei0r</a></h2>
 
 <p>Apply a frei0r effect to the input video.
 </p>
@@ -5345,8 +5538,8 @@ section in the ffmpeg-utils manual), a position (specified by the syntax <var>X<
 <p>The number and kind of parameters depend on the loaded effect. If an
 effect parameter is not specified the default value is set.
 </p>
-<a name="Examples-42"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-42">9.34.1 Examples</a></h3>
+<a name="Examples-65"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-65">9.36.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -5372,7 +5565,7 @@ positions:
 <a href="http://frei0r.dyne.org">http://frei0r.dyne.org</a>
 </p>
 <a name="geq"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-geq">9.35 geq</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-geq">9.37 geq</a></h2>
 
 <p>The filter accepts the following options:
 </p>
@@ -5477,8 +5670,8 @@ plane. Return 0 if there is no such plane.
 <p>For functions, if <var>x</var> and <var>y</var> are outside the area, the value will be
 automatically clipped to the closer edge.
 </p>
-<a name="Examples-7"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-7">9.35.1 Examples</a></h3>
+<a name="Examples-70"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-70">9.37.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -5509,7 +5702,7 @@ Modify RGB components depending on pixel position:
 </li></ul>
 
 <a name="gradfun"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-gradfun">9.36 gradfun</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-gradfun">9.38 gradfun</a></h2>
 
 <p>Fix the banding artifacts that are sometimes introduced into nearly flat
 regions by truncation to 8bit color depth.
@@ -5542,8 +5735,8 @@ will be clipped to the valid range.
 <p>Alternatively, the options can be specified as a flat string:
 <var>strength</var>[:<var>radius</var>]
 </p>
-<a name="Examples-11"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-11">9.36.1 Examples</a></h3>
+<a name="Examples-28"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-28">9.38.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -5561,7 +5754,7 @@ value):
 
 <p><a name="haldclut"></a>
 </p><a name="haldclut-1"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-haldclut-1">9.37 haldclut</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-haldclut-1">9.39 haldclut</a></h2>
 
 <p>Apply a Hald CLUT to a video stream.
 </p>
@@ -5588,10 +5781,10 @@ filters share the same internals).
 (Hald CLUT author) at <a href="http://www.quelsolaar.com/technology/clut.html">http://www.quelsolaar.com/technology/clut.html</a>.
 </p>
 <a name="Workflow-examples"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Workflow-examples">9.37.1 Workflow examples</a></h3>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Workflow-examples">9.39.1 Workflow examples</a></h3>
 
 <a name="Hald-CLUT-video-stream"></a>
-<h4 class="subsubsection"><a href="ffmpeg-filters.html#toc-Hald-CLUT-video-stream">9.37.1.1 Hald CLUT video stream</a></h4>
+<h4 class="subsubsection"><a href="ffmpeg-filters.html#toc-Hald-CLUT-video-stream">9.39.1.1 Hald CLUT video stream</a></h4>
 
 <p>Generate an identity Hald CLUT stream altered with various effects:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -f lavfi -i <a href="#haldclutsrc">haldclutsrc</a>=8 -vf &quot;hue=H=2*PI*t:s=sin(2*PI*t)+1, curves=cross_process&quot; -t 10 -c:v ffv1 clut.nut
@@ -5608,7 +5801,7 @@ filters share the same internals).
 to the remaining frames of the <code>mandelbrot</code> stream.
 </p>
 <a name="Hald-CLUT-with-preview"></a>
-<h4 class="subsubsection"><a href="ffmpeg-filters.html#toc-Hald-CLUT-with-preview">9.37.1.2 Hald CLUT with preview</a></h4>
+<h4 class="subsubsection"><a href="ffmpeg-filters.html#toc-Hald-CLUT-with-preview">9.39.1.2 Hald CLUT with preview</a></h4>
 
 <p>A Hald CLUT is supposed to be a squared image of <code>Level*Level*Level</code> by
 <code>Level*Level*Level</code> pixels. For a given Hald CLUT, FFmpeg will select the
@@ -5635,7 +5828,7 @@ the color changes.
 </pre></td></tr></table>
 
 <a name="hflip"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-hflip">9.38 hflip</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-hflip">9.40 hflip</a></h2>
 
 <p>Flip the input video horizontally.
 </p>
@@ -5644,7 +5837,7 @@ the color changes.
 </pre></td></tr></table>
 
 <a name="histeq"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-histeq">9.39 histeq</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-histeq">9.41 histeq</a></h2>
 <p>This filter applies a global color histogram equalization on a
 per-frame basis.
 </p>
@@ -5681,12 +5874,12 @@ the histogram. Possible values are <code>none</code>, <code>weak</code> or
 </dl>
 
 <a name="histogram"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-histogram">9.40 histogram</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-histogram">9.42 histogram</a></h2>
 
 <p>Compute and draw a color distribution histogram for the input video.
 </p>
-<p>The computed histogram is a representation of distribution of color components
-in an image.
+<p>The computed histogram is a representation of the color component
+distribution in an image.
 </p>
 <p>The filter accepts the following options:
 </p>
@@ -5697,44 +5890,41 @@ in an image.
 <p>It accepts the following values:
 </p><dl compact="compact">
 <dt> &lsquo;<samp>levels</samp>&rsquo;</dt>
-<dd><p>standard histogram that display color components distribution in an image.
-Displays color graph for each color component. Shows distribution
-of the Y, U, V, A or R, G, B components, depending on input format,
-in current frame. Bellow each graph is color component scale meter.
+<dd><p>Standard histogram that displays the color components distribution in an
+image. Displays color graph for each color component. Shows distribution of
+the Y, U, V, A or R, G, B components, depending on input format, in the
+current frame. Below each graph a color component scale meter is shown.
 </p>
 </dd>
 <dt> &lsquo;<samp>color</samp>&rsquo;</dt>
-<dd><p>chroma values in vectorscope, if brighter more such chroma values are
-distributed in an image.
-Displays chroma values (U/V color placement) in two dimensional graph
-(which is called a vectorscope). It can be used to read of the hue and
-saturation of the current frame. At a same time it is a histogram.
-The whiter a pixel in the vectorscope, the more pixels of the input frame
-correspond to that pixel (that is the more pixels have this chroma value).
-The V component is displayed on the horizontal (X) axis, with the leftmost
-side being V = 0 and the rightmost side being V = 255.
-The U component is displayed on the vertical (Y) axis, with the top
-representing U = 0 and the bottom representing U = 255.
-</p>
-<p>The position of a white pixel in the graph corresponds to the chroma value
-of a pixel of the input clip. So the graph can be used to read of the
-hue (color flavor) and the saturation (the dominance of the hue in the color).
-As the hue of a color changes, it moves around the square. At the center of
-the square, the saturation is zero, which means that the corresponding pixel
-has no color. If you increase the amount of a specific color, while leaving
-the other colors unchanged, the saturation increases, and you move towards
+<dd><p>Displays chroma values (U/V color placement) in a two dimensional
+graph (which is called a vectorscope). The brighter a pixel in the
+vectorscope, the more pixels of the input frame correspond to that pixel
+(i.e., more pixels have this chroma value). The V component is displayed on
+the horizontal (X) axis, with the leftmost side being V = 0 and the rightmost
+side being V = 255. The U component is displayed on the vertical (Y) axis,
+with the top representing U = 0 and the bottom representing U = 255.
+</p>
+<p>The position of a white pixel in the graph corresponds to the chroma value of
+a pixel of the input clip. The graph can therefore be used to read the hue
+(color flavor) and the saturation (the dominance of the hue in the color). As
+the hue of a color changes, it moves around the square. At the center of the
+square the saturation is zero, which means that the corresponding pixel has no
+color. If the amount of a specific color is increased (while leaving the other
+colors unchanged) the saturation increases, and the indicator moves towards
 the edge of the square.
 </p>
 </dd>
 <dt> &lsquo;<samp>color2</samp>&rsquo;</dt>
-<dd><p>chroma values in vectorscope, similar as <code>color</code> but actual chroma values
+<dd><p>Chroma values in vectorscope, similar as <code>color</code> but actual chroma values
 are displayed.
 </p>
 </dd>
 <dt> &lsquo;<samp>waveform</samp>&rsquo;</dt>
-<dd><p>per row/column color component graph. In row mode graph in the left side represents
-color component value 0 and right side represents value = 255. In column mode top
-side represents color component value = 0 and bottom side represents value = 255.
+<dd><p>Per row/column color component graph. In row mode, the graph on the left side
+represents color component value 0 and the right side represents value = 255.
+In column mode, the top side represents color component value = 0 and bottom
+side represents value = 255.
 </p></dd>
 </dl>
 <p>Default value is <code>levels</code>.
@@ -5751,8 +5941,8 @@ Allowed range is [0, 40].
 </p>
 </dd>
 <dt> &lsquo;<samp>step</samp>&rsquo;</dt>
-<dd><p>Set step for <code>waveform</code> mode. Smaller values are useful to find out how much
-of same luminance values across input rows/columns are distributed.
+<dd><p>Set step for <code>waveform</code> mode. Smaller values are useful to find out how
+many values of the same luminance are distributed across input rows/columns.
 Default value is <code>10</code>. Allowed range is [1, 255].
 </p>
 </dd>
@@ -5774,27 +5964,26 @@ It accepts the following values:
 </p><dl compact="compact">
 <dt> &lsquo;<samp>parade</samp>&rsquo;</dt>
 <dd><p>Display separate graph for the color components side by side in
-<code>row</code> waveform mode or one below other in <code>column</code> waveform mode
-for <code>waveform</code> histogram mode. For <code>levels</code> histogram mode
-per color component graphs are placed one bellow other.
+<code>row</code> waveform mode or one below the other in <code>column</code> waveform mode
+for <code>waveform</code> histogram mode. For <code>levels</code> histogram mode,
+per color component graphs are placed below each other.
 </p>
-<p>This display mode in <code>waveform</code> histogram mode makes it easy to spot
-color casts in the highlights and shadows of an image, by comparing the
-contours of the top and the bottom of each waveform.
-Since whites, grays, and blacks are characterized by
-exactly equal amounts of red, green, and blue, neutral areas of the
-picture should display three waveforms of roughly equal width/height.
-If not, the correction is easy to make by making adjustments to level the
-three waveforms.
+<p>Using this display mode in <code>waveform</code> histogram mode makes it easy to
+spot color casts in the highlights and shadows of an image, by comparing the
+contours of the top and the bottom graphs of each waveform. Since whites,
+grays, and blacks are characterized by exactly equal amounts of red, green,
+and blue, neutral areas of the picture should display three waveforms of
+roughly equal width/height. If not, the correction is easy to perform by
+making level adjustments the three waveforms.
 </p>
 </dd>
 <dt> &lsquo;<samp>overlay</samp>&rsquo;</dt>
-<dd><p>Presents information that&rsquo;s identical to that in the <code>parade</code>, except
+<dd><p>Presents information identical to that in the <code>parade</code>, except
 that the graphs representing color components are superimposed directly
 over one another.
 </p>
-<p>This display mode in <code>waveform</code> histogram mode can make it easier to spot
-the relative differences or similarities in overlapping areas of the color
+<p>This display mode in <code>waveform</code> histogram mode makes it easier to spot
+relative differences or similarities in overlapping areas of the color
 components that are supposed to be identical, such as neutral whites, grays,
 or blacks.
 </p></dd>
@@ -5808,8 +5997,8 @@ Default is <code>linear</code>.
 </p></dd>
 </dl>
 
-<a name="Examples-45"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-45">9.40.1 Examples</a></h3>
+<a name="Examples-74"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-74">9.42.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -5821,7 +6010,7 @@ Calculate and draw histogram:
 
 <p><a name="hqdn3d"></a>
 </p><a name="hqdn3d-1"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-hqdn3d-1">9.41 hqdn3d</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-hqdn3d-1">9.43 hqdn3d</a></h2>
 
 <p>High precision/quality 3d denoise filter. This filter aims to reduce
 image noise producing smooth images and making still images really
@@ -5852,7 +6041,7 @@ defaults to 3.0*<var>luma_spatial</var>/4.0
 </dl>
 
 <a name="hue"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-hue">9.42 hue</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-hue">9.44 hue</a></h2>
 
 <p>Modify the hue and/or the saturation of the input.
 </p>
@@ -5908,8 +6097,8 @@ expressions containing the following constants:
 </p></dd>
 </dl>
 
-<a name="Examples-52"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-52">9.42.1 Examples</a></h3>
+<a name="Examples-8"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-8">9.44.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -5948,8 +6137,8 @@ Apply a 3 seconds saturation fade-out effect starting at 5 seconds:
 
 </li></ul>
 
-<a name="Commands"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Commands">9.42.2 Commands</a></h3>
+<a name="Commands-4"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Commands-4">9.44.2 Commands</a></h3>
 
 <p>This filter supports the following commands:
 </p><dl compact="compact">
@@ -5966,7 +6155,7 @@ value.
 </dl>
 
 <a name="idet"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-idet">9.43 idet</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-idet">9.45 idet</a></h2>
 
 <p>Detect video interlacing type.
 </p>
@@ -5985,11 +6174,11 @@ top or bottom field first.
 </dl>
 
 <a name="il"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-il">9.44 il</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-il">9.46 il</a></h2>
 
 <p>Deinterleave or interleave fields.
 </p>
-<p>This filter allows to process interlaced images fields without
+<p>This filter allows one to process interlaced images fields without
 deinterlacing them. Deinterleaving splits the input frame into 2
 fields (so called half pictures). Odd lines are moved to the top
 half of the output image, even lines to the bottom half.
@@ -6028,11 +6217,12 @@ You can process (filter) them independently and then re-interleave them.
 </dl>
 
 <a name="interlace"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-interlace">9.45 interlace</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-interlace">9.47 interlace</a></h2>
 
 <p>Simple interlacing filter from progressive contents. This interleaves upper (or
 lower) lines from odd frames with lower (or upper) lines from even frames,
-halving the frame rate and preserving image height.
+halving the frame rate and preserving image height. A vertical lowpass filter
+is always applied in order to avoid twitter effects and reduce moiré patterns.
 </p>
 <table><tr><td>&nbsp;</td><td><pre class="example">   Original        Original             New Frame
    Frame 'j'      Frame 'j+1'             (tff)
@@ -6051,16 +6241,11 @@ New Frame + 1 will be generated by Frame 'j+2' and Frame 'j+3' and so on
 <dt> &lsquo;<samp>scan</samp>&rsquo;</dt>
 <dd><p>determines whether the interlaced frame is taken from the even (tff - default)
 or odd (bff) lines of the progressive frame.
-</p>
-</dd>
-<dt> &lsquo;<samp>lowpass</samp>&rsquo;</dt>
-<dd><p>Enable (default) or disable the vertical lowpass filter to avoid twitter
-interlacing and reduce moire patterns.
 </p></dd>
 </dl>
 
 <a name="kerndeint"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-kerndeint">9.46 kerndeint</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-kerndeint">9.48 kerndeint</a></h2>
 
 <p>Deinterlace input video by applying Donald Graft&rsquo;s adaptive kernel
 deinterling. Work on interlaced parts of a video to produce
@@ -6095,8 +6280,8 @@ Default is 0.
 </p></dd>
 </dl>
 
-<a name="Examples-29"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-29">9.46.1 Examples</a></h3>
+<a name="Examples-18"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-18">9.48.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -6117,7 +6302,7 @@ Paint processed pixels in white:
 
 <p><a name="lut3d"></a>
 </p><a name="lut3d-1"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-lut3d-1">9.47 lut3d</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-lut3d-1">9.49 lut3d</a></h2>
 
 <p>Apply a 3D LUT to an input video.
 </p>
@@ -6163,7 +6348,7 @@ Paint processed pixels in white:
 </dl>
 
 <a name="lut_002c-lutrgb_002c-lutyuv"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-lut_002c-lutrgb_002c-lutyuv">9.48 lut, lutrgb, lutyuv</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-lut_002c-lutrgb_002c-lutyuv">9.50 lut, lutrgb, lutyuv</a></h2>
 
 <p>Compute a look-up table for binding each pixel component input value
 to an output value, and apply it to input video.
@@ -6265,8 +6450,8 @@ expression
 
 <p>All expressions default to &quot;val&quot;.
 </p>
-<a name="Examples-40"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-40">9.48.1 Examples</a></h3>
+<a name="Examples-38"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-38">9.50.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -6317,7 +6502,7 @@ Discard least significant bits of luma:
 </li></ul>
 
 <a name="mergeplanes"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-mergeplanes">9.49 mergeplanes</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-mergeplanes">9.51 mergeplanes</a></h2>
 
 <p>Merge color channel components from several video streams.
 </p>
@@ -6344,8 +6529,8 @@ plane, &rsquo;Cc&rsquo; describes the mapping for the output stream third plane
 </p></dd>
 </dl>
 
-<a name="Examples-34"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-34">9.49.1 Examples</a></h3>
+<a name="Examples-40"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-40">9.51.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -6375,7 +6560,7 @@ Cast a rgb24 clip to yuv444p:
 </li></ul>
 
 <a name="mcdeint"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-mcdeint">9.50 mcdeint</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-mcdeint">9.52 mcdeint</a></h2>
 
 <p>Apply motion-compensation deinterlacing.
 </p>
@@ -6427,7 +6612,7 @@ optimal individual vectors. Default value is 1.
 </dl>
 
 <a name="mp"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-mp">9.51 mp</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-mp">9.53 mp</a></h2>
 
 <p>Apply an MPlayer filter to the input video.
 </p>
@@ -6461,8 +6646,8 @@ the named filter.
 of the corresponding MPlayer filters. For detailed instructions check
 the &quot;VIDEO FILTERS&quot; section in the MPlayer manual.
 </p>
-<a name="Examples-46"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-46">9.51.1 Examples</a></h3>
+<a name="Examples-73"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-73">9.53.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -6474,7 +6659,7 @@ Adjust gamma, brightness, contrast:
 <p>See also mplayer(1), <a href="http://www.mplayerhq.hu/">http://www.mplayerhq.hu/</a>.
 </p>
 <a name="mpdecimate"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-mpdecimate">9.52 mpdecimate</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-mpdecimate">9.54 mpdecimate</a></h2>
 
 <p>Drop frames that do not differ greatly from the previous frame in
 order to reduce frame rate.
@@ -6516,7 +6701,7 @@ meaning the whole image) differ by more than a threshold of &lsquo;<samp>lo</sam
 
 
 <a name="negate"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-negate">9.53 negate</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-negate">9.55 negate</a></h2>
 
 <p>Negate input video.
 </p>
@@ -6524,7 +6709,7 @@ meaning the whole image) differ by more than a threshold of &lsquo;<samp>lo</sam
 alpha component (if available). The default value in input is 0.
 </p>
 <a name="noformat"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-noformat">9.54 noformat</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-noformat">9.56 noformat</a></h2>
 
 <p>Force libavfilter not to use any of the specified pixel formats for the
 input to the next filter.
@@ -6538,8 +6723,8 @@ input to the next filter.
 </dd>
 </dl>
 
-<a name="Examples-18"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-18">9.54.1 Examples</a></h3>
+<a name="Examples-16"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-16">9.56.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -6555,7 +6740,7 @@ Convert the input video to any of the formats not contained in the list:
 </li></ul>
 
 <a name="noise"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-noise">9.55 noise</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-noise">9.57 noise</a></h2>
 
 <p>Add noise on video input frame.
 </p>
@@ -6604,20 +6789,20 @@ Available values for component flags are:
 </dd>
 </dl>
 
-<a name="Examples-48"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-48">9.55.1 Examples</a></h3>
+<a name="Examples-32"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-32">9.57.1 Examples</a></h3>
 
 <p>Add temporal and uniform noise to input video:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">noise=alls=20:allf=t+u
 </pre></td></tr></table>
 
 <a name="null"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-null">9.56 null</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-null">9.58 null</a></h2>
 
 <p>Pass the video source unchanged to the output.
 </p>
 <a name="ocv"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-ocv">9.57 ocv</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-ocv">9.59 ocv</a></h2>
 
 <p>Apply video transform using libopencv.
 </p>
@@ -6646,7 +6831,7 @@ information:
 </p>
 <p><a name="dilate"></a>
 </p><a name="dilate-1"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-dilate-1">9.57.1 dilate</a></h3>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-dilate-1">9.59.1 dilate</a></h3>
 
 <p>Dilate an image by using a specific structuring element.
 This filter corresponds to the libopencv function <code>cvDilate</code>.
@@ -6692,7 +6877,7 @@ ocv=dilate:0x0+2x2/custom=diamond.shape|2
 </pre></td></tr></table>
 
 <a name="erode"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-erode">9.57.2 erode</a></h3>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-erode">9.59.2 erode</a></h3>
 
 <p>Erode an image by using a specific structuring element.
 This filter corresponds to the libopencv function <code>cvErode</code>.
@@ -6701,7 +6886,7 @@ This filter corresponds to the libopencv function <code>cvErode</code>.
 with the same syntax and semantics as the <a href="#dilate">dilate</a> filter.
 </p>
 <a name="smooth"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-smooth">9.57.3 smooth</a></h3>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-smooth">9.59.3 smooth</a></h3>
 
 <p>Smooth the input video.
 </p>
@@ -6725,7 +6910,7 @@ libopencv function <code>cvSmooth</code>.
 </p>
 <p><a name="overlay"></a>
 </p><a name="overlay-1"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-overlay-1">9.58 overlay</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-overlay-1">9.60 overlay</a></h2>
 
 <p>Overlay one video on top of another.
 </p>
@@ -6744,6 +6929,23 @@ on the main video. Default value is &quot;0&quot; for both expressions. In case
 the expression is invalid, it is set to a huge value (meaning that the
 overlay will not be displayed within the output visible area).
 </p>
+</dd>
+<dt> &lsquo;<samp>eof_action</samp>&rsquo;</dt>
+<dd><p>The action to take when EOF is encountered on the secondary input, accepts one
+of the following values:
+</p>
+<dl compact="compact">
+<dt> &lsquo;<samp>repeat</samp>&rsquo;</dt>
+<dd><p>repeat the last frame (the default)
+</p></dd>
+<dt> &lsquo;<samp>endall</samp>&rsquo;</dt>
+<dd><p>end both streams
+</p></dd>
+<dt> &lsquo;<samp>pass</samp>&rsquo;</dt>
+<dd><p>pass through the main input
+</p></dd>
+</dl>
+
 </dd>
 <dt> &lsquo;<samp>eval</samp>&rsquo;</dt>
 <dd><p>Set when the expressions for &lsquo;<samp>x</samp>&rsquo;, and &lsquo;<samp>y</samp>&rsquo; are evaluated.
@@ -6777,6 +6979,10 @@ terminates. Default value is 0.
 <dd><p>force YUV420 output
 </p>
 </dd>
+<dt> &lsquo;<samp>yuv422</samp>&rsquo;</dt>
+<dd><p>force YUV422 output
+</p>
+</dd>
 <dt> &lsquo;<samp>yuv444</samp>&rsquo;</dt>
 <dd><p>force YUV444 output
 </p>
@@ -6839,7 +7045,8 @@ format. For example for the pixel format &quot;yuv422p&quot; <var>hsub</var> is
 </dd>
 <dt> &lsquo;<samp>t</samp>&rsquo;</dt>
 <dd><p>timestamp expressed in seconds, NAN if the input timestamp is unknown
-</p></dd>
+</p>
+</dd>
 </dl>
 
 <p>Note that the <var>n</var>, <var>pos</var>, <var>t</var> variables are available only
@@ -6855,8 +7062,8 @@ the <var>movie</var> filter.
 <p>You can chain together more overlays but you should test the
 efficiency of such approach.
 </p>
-<a name="Commands-1"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Commands-1">9.58.1 Commands</a></h3>
+<a name="Commands-5"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Commands-5">9.60.1 Commands</a></h3>
 
 <p>This filter supports the following commands:
 </p><dl compact="compact">
@@ -6870,8 +7077,8 @@ value.
 </p></dd>
 </dl>
 
-<a name="Examples-30"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-30">9.58.2 Examples</a></h3>
+<a name="Examples-69"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-69">9.60.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -6929,6 +7136,13 @@ nullsrc=size=200x100 [background];
 &quot;
 </pre></td></tr></table>
 
+</li><li>
+mask 10-20 seconds of a video by applying the delogo filter to a section
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i test.avi -codec:v:0 wmv2 -ar 11025 -b:v 9000k
+-vf '[in]split[split_main][split_delogo];[split_delogo]trim=start=360:end=371,delogo=0:0:640:480[delogoed];[split_main][delogoed]overlay=eof_action=pass[out]'
+masked.avi
+</pre></td></tr></table>
+
 </li><li>
 Chain several overlays in cascade:
 <table><tr><td>&nbsp;</td><td><pre class="example">nullsrc=s=200x200 [bg];
@@ -6942,7 +7156,7 @@ testsrc=s=100x100, split=4 [in0][in1][in2][in3];
 </li></ul>
 
 <a name="owdenoise"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-owdenoise">9.59 owdenoise</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-owdenoise">9.61 owdenoise</a></h2>
 
 <p>Apply Overcomplete Wavelet denoiser.
 </p>
@@ -6972,7 +7186,7 @@ slow down filtering.
 </dl>
 
 <a name="pad"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-pad">9.60 pad</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-pad">9.62 pad</a></h2>
 
 <p>Add paddings to the input image, and place the original input at the
 given coordinates <var>x</var>, <var>y</var>.
@@ -7062,8 +7276,8 @@ pixel format &quot;yuv422p&quot; <var>hsub</var> is 2 and <var>vsub</var> is 1.
 </p></dd>
 </dl>
 
-<a name="Examples-59"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-59">9.60.1 Examples</a></h3>
+<a name="Examples-36"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-36">9.62.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -7115,7 +7329,7 @@ corner of the output padded area:
 </li></ul>
 
 <a name="perspective"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-perspective">9.61 perspective</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-perspective">9.63 perspective</a></h2>
 
 <p>Correct perspective of video not recorded perpendicular to the screen.
 </p>
@@ -7157,7 +7371,7 @@ Default values are <code>0:0:W:0:0:H:W:H</code> with which perspective will rema
 </dl>
 
 <a name="phase"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-phase">9.62 phase</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-phase">9.64 phase</a></h2>
 
 <p>Delay interlaced video by one field time so that the field order changes.
 </p>
@@ -7229,7 +7443,7 @@ Filter selects among &lsquo;<samp>t</samp>&rsquo;, &lsquo;<samp>b</samp>&rsquo;
 </dl>
 
 <a name="pixdesctest"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-pixdesctest">9.63 pixdesctest</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-pixdesctest">9.65 pixdesctest</a></h2>
 
 <p>Pixel format descriptor test filter, mainly useful for internal
 testing. The output video should be equal to the input video.
@@ -7241,7 +7455,7 @@ testing. The output video should be equal to the input video.
 <p>can be used to test the monowhite pixel format descriptor definition.
 </p>
 <a name="pp"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-pp">9.64 pp</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-pp">9.66 pp</a></h2>
 
 <p>Enable the specified chain of postprocessing subfilters using libpostproc. This
 library should be automatically selected with a GPL build (<code>--enable-gpl</code>).
@@ -7423,8 +7637,8 @@ specify.
 </p></dd>
 </dl>
 
-<a name="Examples-12"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-12">9.64.1 Examples</a></h3>
+<a name="Examples-14"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-14">9.66.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -7451,7 +7665,7 @@ automatically depending on available CPU time:
 </li></ul>
 
 <a name="psnr"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-psnr">9.65 psnr</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-psnr">9.67 psnr</a></h2>
 
 <p>Obtain the average, maximum and minimum PSNR (Peak Signal to Noise
 Ratio) between two input videos.
@@ -7522,8 +7736,9 @@ specified by the suffix.
 reference file &lsquo;<tt>ref_movie.mpg</tt>&rsquo;. The PSNR of each individual frame
 is stored in &lsquo;<tt>stats.log</tt>&rsquo;.
 </p>
-<a name="pullup"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-pullup">9.66 pullup</a></h2>
+<p><a name="pullup"></a>
+</p><a name="pullup-1"></a>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-pullup-1">9.68 pullup</a></h2>
 
 <p>Pulldown reversal (inverse telecine) filter, capable of handling mixed
 hard-telecine, 24000/1001 fps progressive, and 30000/1001 fps progressive
@@ -7593,7 +7808,7 @@ telecine NTSC input:
 </pre></td></tr></table>
 
 <a name="removelogo"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-removelogo">9.67 removelogo</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-removelogo">9.69 removelogo</a></h2>
 
 <p>Suppress a TV station logo, using an image file to determine which
 pixels comprise the logo. It works by filling in the pixels that
@@ -7625,7 +7840,7 @@ the image and will destroy more information than necessary, and extra
 pixels will slow things down on a large logo.
 </p>
 <a name="rotate"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-rotate">9.68 rotate</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-rotate">9.70 rotate</a></h2>
 
 <p>Rotate video by an arbitrary angle expressed in radians.
 </p>
@@ -7688,12 +7903,12 @@ pixel format &quot;yuv422p&quot; <var>hsub</var> is 2 and <var>vsub</var> is 1.
 </dd>
 <dt> &lsquo;<samp>in_w, iw</samp>&rsquo;</dt>
 <dt> &lsquo;<samp>in_h, ih</samp>&rsquo;</dt>
-<dd><p>the input video width and heigth
+<dd><p>the input video width and height
 </p>
 </dd>
 <dt> &lsquo;<samp>out_w, ow</samp>&rsquo;</dt>
 <dt> &lsquo;<samp>out_h, oh</samp>&rsquo;</dt>
-<dd><p>the output width and heigth, that is the size of the padded area as
+<dd><p>the output width and height, that is the size of the padded area as
 specified by the <var>width</var> and <var>height</var> expressions
 </p>
 </dd>
@@ -7707,8 +7922,8 @@ video rotated by <var>a</var> radians.
 </p></dd>
 </dl>
 
-<a name="Examples-33"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-33">9.68.1 Examples</a></h3>
+<a name="Examples-39"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-39">9.70.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -7721,6 +7936,11 @@ Rotate the input by PI/6 radians counter-clockwise:
 <table><tr><td>&nbsp;</td><td><pre class="example">rotate=-PI/6
 </pre></td></tr></table>
 
+</li><li>
+Rotate the input by 45 degrees clockwise:
+<table><tr><td>&nbsp;</td><td><pre class="example">rotate=45*PI/180
+</pre></td></tr></table>
+
 </li><li>
 Apply a constant rotation with period T, starting from an angle of PI/3:
 <table><tr><td>&nbsp;</td><td><pre class="example">rotate=PI/3+2*PI*t/T
@@ -7733,7 +7953,7 @@ seconds and an amplitude of A radians:
 </pre></td></tr></table>
 
 </li><li>
-Rotate the video, output size is choosen so that the whole rotating
+Rotate the video, output size is chosen so that the whole rotating
 input video is always completely contained in the output:
 <table><tr><td>&nbsp;</td><td><pre class="example">rotate='2*PI*t:ow=hypot(iw,ih):oh=ow'
 </pre></td></tr></table>
@@ -7745,8 +7965,8 @@ shown:
 </pre></td></tr></table>
 </li></ul>
 
-<a name="Commands-4"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Commands-4">9.68.2 Commands</a></h3>
+<a name="Commands-2"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Commands-2">9.70.2 Commands</a></h3>
 
 <p>The filter supports the following commands:
 </p>
@@ -7761,7 +7981,7 @@ value.
 </dl>
 
 <a name="sab"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-sab">9.69 sab</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-sab">9.71 sab</a></h2>
 
 <p>Apply Shape Adaptive Blur.
 </p>
@@ -7805,7 +8025,7 @@ corresponding luma option value.
 </p>
 <p><a name="scale"></a>
 </p><a name="scale-1"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-scale-1">9.70 scale</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-scale-1">9.72 scale</a></h2>
 
 <p>Scale (resize) the input video, using the libswscale library.
 </p>
@@ -7817,7 +8037,7 @@ the next filter, the scale filter will convert the input to the
 requested format.
 </p>
 <a name="Options"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Options">9.70.1 Options</a></h3>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Options">9.72.1 Options</a></h3>
 <p>The filter accepts the following options, or any of the options
 supported by the libswscale scaler.
 </p>
@@ -7837,6 +8057,11 @@ maintains the aspect ratio of the input image, calculated from the
 other specified dimension. If both of them are -1, the input size is
 used
 </p>
+<p>If one of the values is -n with n &gt; 1, the scale filter will also use a value
+that maintains the aspect ratio of the input image, calculated from the other
+specified dimension. After that it will, however, make sure that the calculated
+dimension is divisible by n and adjust the value if necessary.
+</p>
 <p>See below for the list of accepted constants for use in the dimension
 expression.
 </p>
@@ -7865,7 +8090,7 @@ are flagged as interlaced or not.
 <dt> &lsquo;<samp>flags</samp>&rsquo;</dt>
 <dd><p>Set libswscale scaling flags. See
 <a href="ffmpeg-scaler.html#sws_005fflags">(ffmpeg-scaler)sws_flags</a> for the
-complete list of values. If not explictly specified the filter applies
+complete list of values. If not explicitly specified the filter applies
 the default flags.
 </p>
 </dd>
@@ -8027,8 +8252,8 @@ pixel format &quot;yuv422p&quot; <var>hsub</var> is 2 and <var>vsub</var> is 1.
 </p></dd>
 </dl>
 
-<a name="Examples-44"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-44">9.70.2 Examples</a></h3>
+<a name="Examples-3"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-3">9.72.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -8103,7 +8328,7 @@ aspect ratio:
 </li></ul>
 
 <a name="separatefields"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-separatefields">9.71 separatefields</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-separatefields">9.73 separatefields</a></h2>
 
 <p>The <code>separatefields</code> takes a frame-based video input and splits
 each frame into its components fields, producing a new half height clip
@@ -8114,7 +8339,7 @@ of each pair of fields to place first in the output.
 If it gets it wrong use <a href="#setfield">setfield</a> filter before <code>separatefields</code> filter.
 </p>
 <a name="setdar_002c-setsar"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-setdar_002c-setsar">9.72 setdar, setsar</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-setdar_002c-setsar">9.74 setdar, setsar</a></h2>
 
 <p>The <code>setdar</code> filter sets the Display Aspect Ratio for the filter
 output video.
@@ -8194,8 +8419,8 @@ pixel format &quot;yuv422p&quot; <var>hsub</var> is 2 and <var>vsub</var> is 1.
 </p></dd>
 </dl>
 
-<a name="Examples-16"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-16">9.72.1 Examples</a></h3>
+<a name="Examples-42"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-42">9.74.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -8220,7 +8445,7 @@ To set a display aspect ratio of 16:9, and specify a maximum integer value of
 
 <p><a name="setfield"></a>
 </p><a name="setfield-1"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-setfield-1">9.73 setfield</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-setfield-1">9.75 setfield</a></h2>
 
 <p>Force field for the output video frame.
 </p>
@@ -8256,7 +8481,7 @@ following filters (e.g. <code>fieldorder</code> or <code>yadif</code>).
 </dl>
 
 <a name="showinfo"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-showinfo">9.74 showinfo</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-showinfo">9.76 showinfo</a></h2>
 
 <p>Show a line containing various information for each input video frame.
 The input video is not modified.
@@ -8329,7 +8554,7 @@ expressed in the form &quot;[<var>c0</var> <var>c1</var> <var>c2</var> <var>c3</
 
 <p><a name="smartblur"></a>
 </p><a name="smartblur-1"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-smartblur-1">9.75 smartblur</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-smartblur-1">9.77 smartblur</a></h2>
 
 <p>Blur the input video without impacting the outlines.
 </p>
@@ -8383,7 +8608,7 @@ in [-30,0] will filter edges. Default value is 0.
 is set.
 </p>
 <a name="stereo3d"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-stereo3d">9.76 stereo3d</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-stereo3d">9.78 stereo3d</a></h2>
 
 <p>Convert between different stereoscopic image formats.
 </p>
@@ -8539,8 +8764,8 @@ is set.
 </p></dd>
 </dl>
 
-<a name="Examples-73"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-73">9.76.1 Examples</a></h3>
+<a name="Examples-11"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-11">9.78.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -8555,7 +8780,7 @@ Convert input video from above bellow (left eye above, right eye below) to side
 </li></ul>
 
 <a name="spp"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-spp">9.77 spp</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-spp">9.79 spp</a></h2>
 
 <p>Apply a simple postprocessing filter that compresses and decompresses the image
 at several (or - in the case of &lsquo;<samp>quality</samp>&rsquo; level <code>6</code> - all) shifts
@@ -8599,7 +8824,7 @@ option may cause flicker since the B-Frames have often larger QP. Default is
 
 <p><a name="subtitles"></a>
 </p><a name="subtitles-1"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-subtitles-1">9.78 subtitles</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-subtitles-1">9.80 subtitles</a></h2>
 
 <p>Draw subtitles on top of input video using the libass library.
 </p>
@@ -8642,7 +8867,7 @@ video, use the command:
 </pre></td></tr></table>
 
 <a name="super2xsai"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-super2xsai">9.79 super2xsai</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-super2xsai">9.81 super2xsai</a></h2>
 
 <p>Scale the input by 2x and smooth using the Super2xSaI (Scale and
 Interpolate) pixel art scaling algorithm.
@@ -8650,11 +8875,11 @@ Interpolate) pixel art scaling algorithm.
 <p>Useful for enlarging pixel art images without reducing sharpness.
 </p>
 <a name="swapuv"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-swapuv">9.80 swapuv</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-swapuv">9.82 swapuv</a></h2>
 <p>Swap U &amp; V plane.
 </p>
 <a name="telecine"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-telecine">9.81 telecine</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-telecine">9.83 telecine</a></h2>
 
 <p>Apply telecine process to the video.
 </p>
@@ -8697,7 +8922,7 @@ PAL output (25i):
 </pre></td></tr></table>
 
 <a name="thumbnail"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-thumbnail">9.82 thumbnail</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-thumbnail">9.84 thumbnail</a></h2>
 <p>Select the most representative frame in a given sequence of consecutive frames.
 </p>
 <p>The filter accepts the following options:
@@ -8713,8 +8938,8 @@ the end. Default is <code>100</code>.
 <p>Since the filter keeps track of the whole frames sequence, a bigger <var>n</var>
 value will result in a higher memory usage, so a high value is not recommended.
 </p>
-<a name="Examples-53"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-53">9.82.1 Examples</a></h3>
+<a name="Examples-37"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-37">9.84.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -8729,7 +8954,7 @@ Complete example of a thumbnail creation with <code>ffmpeg</code>:
 </li></ul>
 
 <a name="tile"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-tile">9.83 tile</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-tile">9.85 tile</a></h2>
 
 <p>Tile several successive frames together.
 </p>
@@ -8764,8 +8989,8 @@ is &quot;black&quot;.
 </p></dd>
 </dl>
 
-<a name="Examples-67"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-67">9.83.1 Examples</a></h3>
+<a name="Examples-62"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-62">9.85.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -8773,7 +8998,7 @@ Produce 8x8 PNG tiles of all keyframes (&lsquo;<samp>-skip_frame nokey</samp>&rs
 <table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -skip_frame nokey -i file.avi -vf 'scale=128:72,tile=8x8' -an -vsync 0 keyframes%03d.png
 </pre></td></tr></table>
 <p>The &lsquo;<samp>-vsync 0</samp>&rsquo; is necessary to prevent <code>ffmpeg</code> from
-duplicating each output frame to accomodate the originally detected frame
+duplicating each output frame to accommodate the originally detected frame
 rate.
 </p>
 </li><li>
@@ -8785,7 +9010,7 @@ mixed flat and named options:
 </li></ul>
 
 <a name="tinterlace"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-tinterlace">9.84 tinterlace</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-tinterlace">9.86 tinterlace</a></h2>
 
 <p>Perform various types of temporal field interlacing.
 </p>
@@ -8869,7 +9094,7 @@ patterning.
 </dl>
 
 <a name="transpose"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-transpose">9.85 transpose</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-transpose">9.87 transpose</a></h2>
 
 <p>Transpose rows with columns in the input video and optionally flip it.
 </p>
@@ -8951,7 +9176,7 @@ layout:
 </pre></td></tr></table>
 
 <a name="trim"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-trim">9.86 trim</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-trim">9.88 trim</a></h2>
 <p>Trim the input so that the output contains one continuous subpart of the input.
 </p>
 <p>This filter accepts the following options:
@@ -9024,7 +9249,7 @@ keep only the first second
 
 
 <a name="unsharp"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-unsharp">9.87 unsharp</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-unsharp">9.89 unsharp</a></h2>
 
 <p>Sharpen or blur the input video.
 </p>
@@ -9081,8 +9306,8 @@ FFmpeg was configured with <code>--enable-opencl</code>. Default value is 0.
 <p>All parameters are optional and default to the equivalent of the
 string &rsquo;5:5:1.0:5:5:0.0&rsquo;.
 </p>
-<a name="Examples-9"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-9">9.87.1 Examples</a></h3>
+<a name="Examples-20"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-20">9.89.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -9098,7 +9323,7 @@ Apply strong blur of both luma and chroma parameters:
 
 <p><a name="vidstabdetect"></a>
 </p><a name="vidstabdetect-1"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-vidstabdetect-1">9.88 vidstabdetect</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-vidstabdetect-1">9.90 vidstabdetect</a></h2>
 
 <p>Analyze video stabilization/deshaking. Perform pass 1 of 2, see
 <a href="#vidstabtransform">vidstabtransform</a> for pass 2.
@@ -9127,7 +9352,7 @@ value of 10 means strong shakiness. Default value is 5.
 <dt> &lsquo;<samp>accuracy</samp>&rsquo;</dt>
 <dd><p>Set the accuracy of the detection process. It must be a value in the
 range 1-15. A value of 1 means low accuracy, a value of 15 means high
-accuracy. Default value is 9.
+accuracy. Default value is 15.
 </p>
 </dd>
 <dt> &lsquo;<samp>stepsize</samp>&rsquo;</dt>
@@ -9159,8 +9384,8 @@ visualization.
 </p></dd>
 </dl>
 
-<a name="Examples-57"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-57">9.88.1 Examples</a></h3>
+<a name="Examples-61"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-61">9.90.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -9188,7 +9413,7 @@ Analyze a video with medium shakiness using <code>ffmpeg</code>:
 
 <p><a name="vidstabtransform"></a>
 </p><a name="vidstabtransform-1"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-vidstabtransform-1">9.89 vidstabtransform</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-vidstabtransform-1">9.91 vidstabtransform</a></h2>
 
 <p>Video stabilization/deshaking: pass 2 of 2,
 see <a href="#vidstabdetect">vidstabdetect</a> for pass 1.
@@ -9202,35 +9427,56 @@ the unsharp filter, see below.
 <p>To enable compilation of this filter you need to configure FFmpeg with
 <code>--enable-libvidstab</code>.
 </p>
-<p>This filter accepts the following options:
-</p>
+<a name="Options-1"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Options-1">9.91.1 Options</a></h3>
+
 <dl compact="compact">
 <dt> &lsquo;<samp>input</samp>&rsquo;</dt>
-<dd><p>path to the file used to read the transforms (default: &lsquo;<tt>transforms.trf</tt>&rsquo;)
+<dd><p>Set path to the file used to read the transforms. Default value is
+&lsquo;<tt>transforms.trf</tt>&rsquo;).
 </p>
 </dd>
 <dt> &lsquo;<samp>smoothing</samp>&rsquo;</dt>
-<dd><p>number of frames (value*2 + 1) used for lowpass filtering the camera movements
-(default: 10). For example a number of 10 means that 21 frames are used
-(10 in the past and 10 in the future) to smoothen the motion in the
-video. A larger values leads to a smoother video, but limits the
-acceleration of the camera (pan/tilt movements).
+<dd><p>Set the number of frames (value*2 + 1) used for lowpass filtering the
+camera movements. Default value is 10.
+</p>
+<p>For example a number of 10 means that 21 frames are used (10 in the
+past and 10 in the future) to smoothen the motion in the video. A
+larger values leads to a smoother video, but limits the acceleration
+of the camera (pan/tilt movements). 0 is a special case where a
+static camera is simulated.
 </p>
+</dd>
+<dt> &lsquo;<samp>optalgo</samp>&rsquo;</dt>
+<dd><p>Set the camera path optimization algorithm.
+</p>
+<p>Accepted values are:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>gauss</samp>&rsquo;</dt>
+<dd><p>gaussian kernel low-pass filter on camera motion (default)
+</p></dd>
+<dt> &lsquo;<samp>avg</samp>&rsquo;</dt>
+<dd><p>averaging on transformations
+</p></dd>
+</dl>
+
 </dd>
 <dt> &lsquo;<samp>maxshift</samp>&rsquo;</dt>
-<dd><p>maximal number of pixels to translate frames (default: -1 no limit)
+<dd><p>Set maximal number of pixels to translate frames. Default value is -1,
+meaning no limit.
 </p>
 </dd>
 <dt> &lsquo;<samp>maxangle</samp>&rsquo;</dt>
-<dd><p>maximal angle in radians (degree*PI/180) to rotate frames (default: -1
-no limit)
+<dd><p>Set maximal angle in radians (degree*PI/180) to rotate frames. Default
+value is -1, meaning no limit.
 </p>
 </dd>
 <dt> &lsquo;<samp>crop</samp>&rsquo;</dt>
-<dd><p>How to deal with borders that may be visible due to movement
-compensation. Available values are:
+<dd><p>Specify how to deal with borders that may be visible due to movement
+compensation.
 </p>
-<dl compact="compact">
+<p>Available values are:
+</p><dl compact="compact">
 <dt> &lsquo;<samp>keep</samp>&rsquo;</dt>
 <dd><p>keep image information from previous frame (default)
 </p></dd>
@@ -9241,59 +9487,49 @@ compensation. Available values are:
 
 </dd>
 <dt> &lsquo;<samp>invert</samp>&rsquo;</dt>
-<dd><dl compact="compact">
-<dt> &lsquo;<samp>0</samp>&rsquo;</dt>
-<dd><p>keep transforms normal (default)
-</p></dd>
-<dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dd><p>invert transforms
-</p></dd>
-</dl>
-
+<dd><p>Invert transforms if set to 1. Default value is 0.
+</p>
 </dd>
 <dt> &lsquo;<samp>relative</samp>&rsquo;</dt>
-<dd><p>consider transforms as
-</p><dl compact="compact">
-<dt> &lsquo;<samp>0</samp>&rsquo;</dt>
-<dd><p>absolute
-</p></dd>
-<dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dd><p>relative to previous frame (default)
-</p></dd>
-</dl>
-
+<dd><p>Consider transforms as relative to previsou frame if set to 1,
+absolute if set to 0. Default value is 0.
+</p>
 </dd>
 <dt> &lsquo;<samp>zoom</samp>&rsquo;</dt>
-<dd><p>percentage to zoom (default: 0)
-</p><dl compact="compact">
-<dt> &lsquo;<samp>&gt;0</samp>&rsquo;</dt>
-<dd><p>zoom in
-</p></dd>
-<dt> &lsquo;<samp>&lt;0</samp>&rsquo;</dt>
-<dd><p>zoom out
-</p></dd>
-</dl>
-
+<dd><p>Set percentage to zoom. A positive value will result in a zoom-in
+effect, a negative value in a zoom-out effect. Default value is 0 (no
+zoom).
+</p>
 </dd>
 <dt> &lsquo;<samp>optzoom</samp>&rsquo;</dt>
-<dd><p>set optimal zooming to avoid borders
+<dd><p>Set optimal zooming to avoid borders.
+</p>
+<p>Accepted values are:
 </p><dl compact="compact">
 <dt> &lsquo;<samp>0</samp>&rsquo;</dt>
 <dd><p>disabled
 </p></dd>
 <dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dd><p>optimal static zoom value is determined (only very strong movements will lead to visible borders) (default)
+<dd><p>optimal static zoom value is determined (only very strong movements
+will lead to visible borders) (default)
 </p></dd>
 <dt> &lsquo;<samp>2</samp>&rsquo;</dt>
-<dd><p>optimal adaptive zoom value is determined (no borders will be visible)
+<dd><p>optimal adaptive zoom value is determined (no borders will be
+visible), see &lsquo;<samp>zoomspeed</samp>&rsquo;
 </p></dd>
 </dl>
-<p>Note that the value given at zoom is added to the one calculated
-here.
+
+<p>Note that the value given at zoom is added to the one calculated here.
+</p>
+</dd>
+<dt> &lsquo;<samp>zoomspeed</samp>&rsquo;</dt>
+<dd><p>Set percent to zoom maximally each frame (enabled when
+&lsquo;<samp>optzoom</samp>&rsquo; is set to 2). Range is from 0 to 5, default value is
+0.25.
 </p>
 </dd>
 <dt> &lsquo;<samp>interpol</samp>&rsquo;</dt>
-<dd><p>type of interpolation
+<dd><p>Specify type of interpolation.
 </p>
 <p>Available values are:
 </p><dl compact="compact">
@@ -9313,45 +9549,43 @@ here.
 
 </dd>
 <dt> &lsquo;<samp>tripod</samp>&rsquo;</dt>
-<dd><p>virtual tripod mode means that the video is stabilized such that the
-camera stays stationary. Use also <code>tripod</code> option of
-<a href="#vidstabdetect">vidstabdetect</a>.
-</p><dl compact="compact">
-<dt> &lsquo;<samp>0</samp>&rsquo;</dt>
-<dd><p>off (default)
-</p></dd>
-<dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dd><p>virtual tripod mode: equivalent to <code>relative=0:smoothing=0</code>
-</p></dd>
-</dl>
-
+<dd><p>Enable virtual tripod mode if set to 1, which is equivalent to
+<code>relative=0:smoothing=0</code>. Default value is 0.
+</p>
+<p>Use also <code>tripod</code> option of <a href="#vidstabdetect">vidstabdetect</a>.
+</p>
 </dd>
+<dt> &lsquo;<samp>debug</samp>&rsquo;</dt>
+<dd><p>Increase log verbosity if set to 1. Also the detected global motions
+are written to the temporary file &lsquo;<tt>global_motions.trf</tt>&rsquo;. Default
+value is 0.
+</p></dd>
 </dl>
 
-<a name="Examples-56"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-56">9.89.1 Examples</a></h3>
+<a name="Examples-50"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-50">9.91.2 Examples</a></h3>
 
 <ul>
 <li>
-typical call with default default values:
- (note the unsharp filter which is always recommended)
+Use <code>ffmpeg</code> for a typical stabilization with default values:
 <table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i inp.mpeg -vf vidstabtransform,unsharp=5:5:0.8:3:3:0.4 inp_stabilized.mpeg
 </pre></td></tr></table>
 
+<p>Note the use of the unsharp filter which is always recommended.
+</p>
 </li><li>
-zoom in a bit more and load transform data from a given file
+Zoom in a bit more and load transform data from a given file:
 <table><tr><td>&nbsp;</td><td><pre class="example">vidstabtransform=zoom=5:input=&quot;mytransforms.trf&quot;
 </pre></td></tr></table>
 
 </li><li>
-smoothen the video even more
+Smoothen the video even more:
 <table><tr><td>&nbsp;</td><td><pre class="example">vidstabtransform=smoothing=30
 </pre></td></tr></table>
-
 </li></ul>
 
 <a name="vflip"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-vflip">9.90 vflip</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-vflip">9.92 vflip</a></h2>
 
 <p>Flip the input video vertically.
 </p>
@@ -9360,7 +9594,7 @@ smoothen the video even more
 </pre></td></tr></table>
 
 <a name="vignette"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-vignette">9.91 vignette</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-vignette">9.93 vignette</a></h2>
 
 <p>Make or reverse a natural vignetting effect.
 </p>
@@ -9426,7 +9660,7 @@ allows advanced dynamic expressions.
 </p>
 </dd>
 <dt> &lsquo;<samp>aspect</samp>&rsquo;</dt>
-<dd><p>Set vignette aspect. This setting allows to adjust the shape of the vignette.
+<dd><p>Set vignette aspect. This setting allows one to adjust the shape of the vignette.
 Setting this value to the SAR of the input will make a rectangular vignetting
 following the dimensions of the video.
 </p>
@@ -9435,7 +9669,7 @@ following the dimensions of the video.
 </dl>
 
 <a name="Expressions"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Expressions">9.91.1 Expressions</a></h3>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Expressions">9.93.1 Expressions</a></h3>
 
 <p>The &lsquo;<samp>alpha</samp>&rsquo;, &lsquo;<samp>x0</samp>&rsquo; and &lsquo;<samp>y0</samp>&rsquo; expressions can contain the
 following parameters.
@@ -9470,8 +9704,8 @@ expressed in seconds, NAN if undefined
 </dl>
 
 
-<a name="Examples-51"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-51">9.91.2 Examples</a></h3>
+<a name="Examples-53"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-53">9.93.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -9487,7 +9721,7 @@ Make a flickering vignetting:
 </li></ul>
 
 <a name="w3fdif"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-w3fdif">9.92 w3fdif</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-w3fdif">9.94 w3fdif</a></h2>
 
 <p>Deinterlace the input video (&quot;w3fdif&quot; stands for &quot;Weston 3 Field
 Deinterlacing Filter&quot;).
@@ -9534,7 +9768,7 @@ be set by passing an optional parameter:
 
 <p><a name="yadif"></a>
 </p><a name="yadif-1"></a>
-<h2 class="section"><a href="ffmpeg-filters.html#toc-yadif-1">9.93 yadif</a></h2>
+<h2 class="section"><a href="ffmpeg-filters.html#toc-yadif-1">9.95 yadif</a></h2>
 
 <p>Deinterlace the input video (&quot;yadif&quot; means &quot;yet another deinterlacing
 filter&quot;).
@@ -9769,8 +10003,8 @@ This is the default behavior, for disabling set the value to 0.
 </p></dd>
 </dl>
 
-<a name="Examples-70"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-70">10.2.1 Examples</a></h3>
+<a name="Examples-58"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-58">10.2.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -9996,7 +10230,7 @@ horizontally, vertically, or diagonally adjacent.
 </p>
 <p>At each interaction the grid evolves according to the adopted rule,
 which specifies the number of neighbor alive cells which will make a
-cell stay alive or born. The &lsquo;<samp>rule</samp>&rsquo; option allows to specify
+cell stay alive or born. The &lsquo;<samp>rule</samp>&rsquo; option allows one to specify
 the rule to adopt.
 </p>
 <p>This source accepts the following options:
@@ -10094,8 +10328,8 @@ ffmpeg-utils manual.
 </p></dd>
 </dl>
 
-<a name="Examples-6"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-6">10.6.1 Examples</a></h3>
+<a name="Examples-24"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-24">10.6.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -10229,8 +10463,8 @@ the <code>geq</code> filter:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">nullsrc=s=256x256, geq=random(1)*255:128:128
 </pre></td></tr></table>
 
-<a name="Commands-3"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Commands-3">10.7.1 Commands</a></h3>
+<a name="Commands-1"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Commands-1">10.7.1 Commands</a></h3>
 
 <p>The <code>color</code> source supports the following commands:
 </p>
@@ -10335,8 +10569,8 @@ Allowed range is <code>[0, 255]</code>.
 </p></dd>
 </dl>
 
-<a name="Examples-69"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-69">12.1.1 Examples</a></h3>
+<a name="Examples-34"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-34">12.1.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -10404,8 +10638,8 @@ explicitly by the user.
 <p>Different frame rates are acceptable but will result in variable frame rate
 at output; be sure to configure the output file to handle it.
 </p>
-<a name="Examples-64"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-64">12.2.1 Examples</a></h3>
+<a name="Examples-23"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-23">12.2.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -10491,11 +10725,38 @@ in metadata.  All the metadata keys are prefixed with <code>lavfi.r128.</code>.
 
 <p>By default, the logging level is set to <var>info</var>. If the &lsquo;<samp>video</samp>&rsquo; or
 the &lsquo;<samp>metadata</samp>&rsquo; options are set, it switches to <var>verbose</var>.
+</p>
+</dd>
+<dt> &lsquo;<samp>peak</samp>&rsquo;</dt>
+<dd><p>Set peak mode(s).
+</p>
+<p>Available modes can be cumulated (the option is a <code>flag</code> type). Possible
+values are:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>none</samp>&rsquo;</dt>
+<dd><p>Disable any peak mode (default).
+</p></dd>
+<dt> &lsquo;<samp>sample</samp>&rsquo;</dt>
+<dd><p>Enable sample-peak mode.
+</p>
+<p>Simple peak mode looking for the higher sample value. It logs a message
+for sample-peak (identified by <code>SPK</code>).
+</p></dd>
+<dt> &lsquo;<samp>true</samp>&rsquo;</dt>
+<dd><p>Enable true-peak mode.
+</p>
+<p>If enabled, the peak lookup is done on an over-sampled version of the input
+stream for better peak accuracy. It logs a message for true-peak.
+(identified by <code>TPK</code>) and true-peak per frame (identified by <code>FTPK</code>).
+This mode requires a build with <code>libswresample</code>.
 </p></dd>
 </dl>
 
-<a name="Examples-25"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-25">12.3.1 Examples</a></h3>
+</dd>
+</dl>
+
+<a name="Examples-45"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-45">12.3.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -10543,8 +10804,8 @@ the queue is already filled.
 </p></dd>
 </dl>
 
-<a name="Examples-19"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-19">12.4.1 Examples</a></h3>
+<a name="Examples-55"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-55">12.4.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -10741,8 +11002,8 @@ value means the current frame is more likely to be one (see the example below)
 
 <p>The default value of the select expression is &quot;1&quot;.
 </p>
-<a name="Examples-43"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-43">12.6.1 Examples</a></h3>
+<a name="Examples-13"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-13">12.6.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -10904,8 +11165,8 @@ follows:
 <var>INTERVALS</var>     ::= <var>INTERVAL</var>[;<var>INTERVALS</var>]
 </pre></td></tr></table>
 
-<a name="Examples-13"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-13">12.7.2 Examples</a></h3>
+<a name="Examples-17"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-17">12.7.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -11034,8 +11295,8 @@ instead.
 </dd>
 </dl>
 
-<a name="Examples-17"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-17">12.8.1 Examples</a></h3>
+<a name="Examples-60"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-60">12.8.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -11100,8 +11361,8 @@ rational. The expression can contain the constants &quot;AVTB&quot; (the default
 timebase), &quot;intb&quot; (the input timebase) and &quot;sr&quot; (the sample rate,
 audio only). Default value is &quot;intb&quot;.
 </p>
-<a name="Examples-15"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-15">12.9.1 Examples</a></h3>
+<a name="Examples-10"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-10">12.9.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -11237,8 +11498,8 @@ Default value is <code>1</code>.
 <p>The usage is very similar to the showwaves filter; see the examples in that
 section.
 </p>
-<a name="Examples-63"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-63">12.10.1 Examples</a></h3>
+<a name="Examples-15"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-15">12.10.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -11298,8 +11559,8 @@ option <var>n</var>. Default value is &quot;25&quot;.
 </dd>
 </dl>
 
-<a name="Examples-61"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-61">12.11.1 Examples</a></h3>
+<a name="Examples-35"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-35">12.11.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -11325,8 +11586,8 @@ frame rate of 30 frames per second:
 <p>The filter accepts a single parameter which specifies the number of outputs. If
 unspecified, it defaults to 2.
 </p>
-<a name="Examples-27"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-27">12.12.1 Examples</a></h3>
+<a name="Examples-31"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-31">12.12.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -11395,8 +11656,8 @@ will send a reply to the client, adopting the format:
 
 <p><var>MESSAGE</var> is optional.
 </p>
-<a name="Examples-3"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-3">12.13.1 Examples</a></h3>
+<a name="Examples-54"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-54">12.13.1 Examples</a></h3>
 
 <p>Look at &lsquo;<tt>tools/zmqsend</tt>&rsquo; for an example of a zmq client which can
 be used to send commands processed by these filters.
@@ -11484,7 +11745,7 @@ changed, so it will generate non monotonically increasing timestamps.
 </p></dd>
 </dl>
 
-<p>This filter allows to overlay a second video on top of main input of
+<p>This filter allows one to overlay a second video on top of main input of
 a filtergraph as shown in this graph:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">input -----------&gt; deltapts0 --&gt; overlay --&gt; output
                                     ^
@@ -11492,8 +11753,8 @@ a filtergraph as shown in this graph:
 movie --&gt; scale--&gt; deltapts1 -------+
 </pre></td></tr></table>
 
-<a name="Examples"></a>
-<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples">13.2.1 Examples</a></h3>
+<a name="Examples-49"></a>
+<h3 class="subsection"><a href="ffmpeg-filters.html#toc-Examples-49">13.2.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -11543,4 +11804,4 @@ online repository at <a href="http://source.ffmpeg.org">http://source.ffmpeg.org
 </p>
 
 <footer class="footer pagination-right">
-<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>December 14, 2013</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
+<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>June 19, 2014</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
index 11e5b08c72951875b647027fa534aee8a68525a5..055780e70f9654b6304e073c633b675ddc9aae01 100644 (file)
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <html>
-<!-- Created on December 14, 2013 by texi2html 1.82 -->
+<!-- Created on June 19, 2014 by texi2html 1.82 -->
 <!--
 texi2html was written by: 
             Lionel Cons <Lionel.Cons@cern.ch> (original author)
@@ -46,42 +46,78 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
     <li><a name="toc-concat-1" href="#concat-1">3.3 concat</a>
     <ul class="toc">
       <li><a name="toc-Syntax" href="#Syntax">3.3.1 Syntax</a></li>
-      <li><a name="toc-Options" href="#Options">3.3.2 Options</a></li>
+      <li><a name="toc-Options-3" href="#Options-3">3.3.2 Options</a></li>
     </ul></li>
     <li><a name="toc-flv" href="#flv">3.4 flv</a></li>
     <li><a name="toc-libgme" href="#libgme">3.5 libgme</a></li>
     <li><a name="toc-libquvi" href="#libquvi">3.6 libquvi</a></li>
-    <li><a name="toc-image2-2" href="#image2-2">3.7 image2</a>
+    <li><a name="toc-image2-1" href="#image2-1">3.7 image2</a>
     <ul class="toc">
-      <li><a name="toc-Examples-1" href="#Examples-1">3.7.1 Examples</a></li>
+      <li><a name="toc-Examples-4" href="#Examples-4">3.7.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-mpegts-1" href="#mpegts-1">3.8 mpegts</a></li>
+    <li><a name="toc-mpegts" href="#mpegts">3.8 mpegts</a></li>
     <li><a name="toc-rawvideo" href="#rawvideo">3.9 rawvideo</a></li>
     <li><a name="toc-sbg" href="#sbg">3.10 sbg</a></li>
     <li><a name="toc-tedcaptions" href="#tedcaptions">3.11 tedcaptions</a></li>
   </ul></li>
   <li><a name="toc-Muxers" href="#Muxers">4. Muxers</a>
   <ul class="toc">
-    <li><a name="toc-aiff-1" href="#aiff-1">4.1 aiff</a></li>
-    <li><a name="toc-crc-1" href="#crc-1">4.2 crc</a></li>
-    <li><a name="toc-framecrc-1" href="#framecrc-1">4.3 framecrc</a></li>
-    <li><a name="toc-framemd5-1" href="#framemd5-1">4.4 framemd5</a></li>
+    <li><a name="toc-aiff-1" href="#aiff-1">4.1 aiff</a>
+    <ul class="toc">
+      <li><a name="toc-Options-2" href="#Options-2">4.1.1 Options</a></li>
+    </ul></li>
+    <li><a name="toc-crc-1" href="#crc-1">4.2 crc</a>
+    <ul class="toc">
+      <li><a name="toc-Examples-2" href="#Examples-2">4.2.1 Examples</a></li>
+    </ul></li>
+    <li><a name="toc-framecrc-1" href="#framecrc-1">4.3 framecrc</a>
+    <ul class="toc">
+      <li><a name="toc-Examples-5" href="#Examples-5">4.3.1 Examples</a></li>
+    </ul></li>
+    <li><a name="toc-framemd5-1" href="#framemd5-1">4.4 framemd5</a>
+    <ul class="toc">
+      <li><a name="toc-Examples-1" href="#Examples-1">4.4.1 Examples</a></li>
+    </ul></li>
     <li><a name="toc-gif-1" href="#gif-1">4.5 gif</a></li>
-    <li><a name="toc-hls-1" href="#hls-1">4.6 hls</a></li>
+    <li><a name="toc-hls-1" href="#hls-1">4.6 hls</a>
+    <ul class="toc">
+      <li><a name="toc-Options-6" href="#Options-6">4.6.1 Options</a></li>
+    </ul></li>
     <li><a name="toc-ico-1" href="#ico-1">4.7 ico</a></li>
-    <li><a name="toc-image2-1" href="#image2-1">4.8 image2</a></li>
-    <li><a name="toc-matroska" href="#matroska">4.9 matroska</a></li>
+    <li><a name="toc-image2-2" href="#image2-2">4.8 image2</a>
+    <ul class="toc">
+      <li><a name="toc-Examples" href="#Examples">4.8.1 Examples</a></li>
+      <li><a name="toc-Options" href="#Options">4.8.2 Options</a></li>
+    </ul></li>
+    <li><a name="toc-matroska" href="#matroska">4.9 matroska</a>
+    <ul class="toc">
+      <li><a name="toc-Metadata-1" href="#Metadata-1">4.9.1 Metadata</a></li>
+      <li><a name="toc-Options-4" href="#Options-4">4.9.2 Options</a></li>
+    </ul></li>
     <li><a name="toc-md5-1" href="#md5-1">4.10 md5</a></li>
-    <li><a name="toc-mov_002fmp4_002fismv" href="#mov_002fmp4_002fismv">4.11 mov/mp4/ismv</a></li>
+    <li><a name="toc-mov_002c-mp4_002c-ismv" href="#mov_002c-mp4_002c-ismv">4.11 mov, mp4, ismv</a>
+    <ul class="toc">
+      <li><a name="toc-Options-5" href="#Options-5">4.11.1 Options</a></li>
+      <li><a name="toc-Example" href="#Example">4.11.2 Example</a></li>
+    </ul></li>
     <li><a name="toc-mp3" href="#mp3">4.12 mp3</a></li>
-    <li><a name="toc-mpegts" href="#mpegts">4.13 mpegts</a></li>
+    <li><a name="toc-mpegts-1" href="#mpegts-1">4.13 mpegts</a>
+    <ul class="toc">
+      <li><a name="toc-Options-7" href="#Options-7">4.13.1 Options</a></li>
+      <li><a name="toc-Example-1" href="#Example-1">4.13.2 Example</a></li>
+    </ul></li>
     <li><a name="toc-null" href="#null">4.14 null</a></li>
     <li><a name="toc-ogg" href="#ogg">4.15 ogg</a></li>
     <li><a name="toc-segment_002c-stream_005fsegment_002c-ssegment" href="#segment_002c-stream_005fsegment_002c-ssegment">4.16 segment, stream_segment, ssegment</a>
     <ul class="toc">
-      <li><a name="toc-Examples" href="#Examples">4.16.1 Examples</a></li>
+      <li><a name="toc-Options-1" href="#Options-1">4.16.1 Options</a></li>
+      <li><a name="toc-Examples-3" href="#Examples-3">4.16.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-tee" href="#tee">4.17 tee</a></li>
+    <li><a name="toc-tee" href="#tee">4.17 tee</a>
+    <ul class="toc">
+      <li><a name="toc-Examples-6" href="#Examples-6">4.17.1 Examples</a></li>
+    </ul>
+</li>
   </ul></li>
   <li><a name="toc-Metadata" href="#Metadata">5. Metadata</a></li>
   <li><a name="toc-See-Also" href="#See-Also">6. See Also</a></li>
@@ -258,18 +294,30 @@ wild as errors.
 </p>
 </dd>
 <dt> &lsquo;<samp>avoid_negative_ts <var>integer</var> (<em>output</em>)</samp>&rsquo;</dt>
-<dd><p>Shift timestamps to make them non-negative. A value of 1 enables shifting,
-a value of 0 disables it, the default value of -1 enables shifting
-when required by the target format.
-</p>
+<dd>
+<p>Possible values:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>make_non_negative</samp>&rsquo;</dt>
+<dd><p>Shift timestamps to make them non-negative.
+Also note that this affects only leading negative timestamps, and not
+non-monotonic negative timestamps.
+</p></dd>
+<dt> &lsquo;<samp>make_zero</samp>&rsquo;</dt>
+<dd><p>Shift timestamps so that the first timestamp is 0.
+</p></dd>
+<dt> &lsquo;<samp>auto (default)</samp>&rsquo;</dt>
+<dd><p>Enables shifting when required by the target format.
+</p></dd>
+<dt> &lsquo;<samp>disabled</samp>&rsquo;</dt>
+<dd><p>Disables shifting of timestamp.
+</p></dd>
+</dl>
+
 <p>When shifting is enabled, all output timestamps are shifted by the
 same amount. Audio, video, and subtitles desynching and relative
 timestamp differences are preserved compared to how they would have
 been without shifting.
 </p>
-<p>Also note that this affects only leading negative timestamps, and not
-non-monotonic negative timestamps.
-</p>
 </dd>
 <dt> &lsquo;<samp>skip_initial_bytes <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
 <dd><p>Set number of bytes to skip before reading header and frames if set to 1.
@@ -284,6 +332,19 @@ Default is 0.
 <dd><p>Flush the underlying I/O stream after each packet. Default 1 enables it, and
 has the effect of reducing the latency; 0 disables it and may slightly
 increase performance in some cases.
+</p>
+</dd>
+<dt> &lsquo;<samp>output_ts_offset <var>offset</var> (<em>output</em>)</samp>&rsquo;</dt>
+<dd><p>Set the output time offset.
+</p>
+<p><var>offset</var> must be a time duration specification,
+see <a href="ffmpeg-utils.html#time-duration-syntax">(ffmpeg-utils)time duration syntax</a>.
+</p>
+<p>The offset is added by the muxer to the output timestamps.
+</p>
+<p>Specifying a positive offset means that the corresponding streams are
+delayed bt the time duration specified in <var>offset</var>. Default value
+is <code>0</code> (meaning that no offset is applied).
 </p></dd>
 </dl>
 
@@ -427,8 +488,8 @@ whole concatenated video.
 </dd>
 </dl>
 
-<a name="Options"></a>
-<h3 class="subsection"><a href="ffmpeg-formats.html#toc-Options">3.3.2 Options</a></h3>
+<a name="Options-3"></a>
+<h3 class="subsection"><a href="ffmpeg-formats.html#toc-Options-3">3.3.2 Options</a></h3>
 
 <p>This demuxer accepts the following option:
 </p>
@@ -488,8 +549,8 @@ is by default set to <var>best</var>.
 <p>FFmpeg needs to be built with <code>--enable-libquvi</code> for this demuxer to be
 enabled.
 </p>
-<a name="image2-2"></a>
-<h2 class="section"><a href="ffmpeg-formats.html#toc-image2-2">3.7 image2</a></h2>
+<a name="image2-1"></a>
+<h2 class="section"><a href="ffmpeg-formats.html#toc-image2-1">3.7 image2</a></h2>
 
 <p>Image file demuxer.
 </p>
@@ -603,8 +664,8 @@ size is guessed from the first image file in the sequence.
 </p></dd>
 </dl>
 
-<a name="Examples-1"></a>
-<h3 class="subsection"><a href="ffmpeg-formats.html#toc-Examples-1">3.7.1 Examples</a></h3>
+<a name="Examples-4"></a>
+<h3 class="subsection"><a href="ffmpeg-formats.html#toc-Examples-4">3.7.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -626,8 +687,8 @@ terminating with the &quot;.png&quot; suffix:
 </pre></td></tr></table>
 </li></ul>
 
-<a name="mpegts-1"></a>
-<h2 class="section"><a href="ffmpeg-formats.html#toc-mpegts-1">3.8 mpegts</a></h2>
+<a name="mpegts"></a>
+<h2 class="section"><a href="ffmpeg-formats.html#toc-mpegts">3.8 mpegts</a></h2>
 
 <p>MPEG-2 transport stream demuxer.
 </p>
@@ -645,7 +706,7 @@ teletext packet PTS and DTS values untouched.
 
 <p>Raw video demuxer.
 </p>
-<p>This demuxer allows to read raw video data. Since there is no header
+<p>This demuxer allows one to read raw video data. Since there is no header
 specifying the assumed video parameters, the user must specify them
 in order to be able to decode the data correctly.
 </p>
@@ -749,6 +810,9 @@ enabled muxers.
 
 <p>Audio Interchange File Format muxer.
 </p>
+<a name="Options-2"></a>
+<h3 class="subsection"><a href="ffmpeg-formats.html#toc-Options-2">4.1.1 Options</a></h3>
+
 <p>It accepts the following options:
 </p>
 <dl compact="compact">
@@ -778,6 +842,11 @@ CRC.
 CRC=0x<var>CRC</var>, where <var>CRC</var> is a hexadecimal number 0-padded to
 8 digits containing the CRC for all the decoded input frames.
 </p>
+<p>See also the <a href="#framecrc">framecrc</a> muxer.
+</p>
+<a name="Examples-2"></a>
+<h3 class="subsection"><a href="ffmpeg-formats.html#toc-Examples-2">4.2.1 Examples</a></h3>
+
 <p>For example to compute the CRC of the input, and store it in the file
 &lsquo;<tt>out.crc</tt>&rsquo;:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -f crc out.crc
@@ -794,8 +863,6 @@ and the input video converted to MPEG-2 video, use the command:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -c:a pcm_u8 -c:v mpeg2video -f crc -
 </pre></td></tr></table>
 
-<p>See also the <a href="#framecrc">framecrc</a> muxer.
-</p>
 <p><a name="framecrc"></a>
 </p><a name="framecrc-1"></a>
 <h2 class="section"><a href="ffmpeg-formats.html#toc-framecrc-1">4.3 framecrc</a></h2>
@@ -815,6 +882,9 @@ packet of the form:
 <p><var>CRC</var> is a hexadecimal number 0-padded to 8 digits containing the
 CRC of the packet.
 </p>
+<a name="Examples-5"></a>
+<h3 class="subsection"><a href="ffmpeg-formats.html#toc-Examples-5">4.3.1 Examples</a></h3>
+
 <p>For example to compute the CRC of the audio and video frames in
 &lsquo;<tt>INPUT</tt>&rsquo;, converted to raw audio and video packets, and store it
 in the file &lsquo;<tt>out.crc</tt>&rsquo;:
@@ -855,6 +925,9 @@ packet of the form:
 <p><var>MD5</var> is a hexadecimal number representing the computed MD5 hash
 for the packet.
 </p>
+<a name="Examples-1"></a>
+<h3 class="subsection"><a href="ffmpeg-formats.html#toc-Examples-1">4.4.1 Examples</a></h3>
+
 <p>For example to compute the MD5 of the audio and video frames in
 &lsquo;<tt>INPUT</tt>&rsquo;, converted to raw audio and video packets, and store it
 in the file &lsquo;<tt>out.md5</tt>&rsquo;:
@@ -907,28 +980,54 @@ can not be smaller than one centi second.
 <h2 class="section"><a href="ffmpeg-formats.html#toc-hls-1">4.6 hls</a></h2>
 
 <p>Apple HTTP Live Streaming muxer that segments MPEG-TS according to
-the HTTP Live Streaming specification.
+the HTTP Live Streaming (HLS) specification.
 </p>
 <p>It creates a playlist file and numbered segment files. The output
 filename specifies the playlist filename; the segment filenames
 receive the same basename as the playlist, a sequential number and
 a .ts extension.
 </p>
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i in.nut out.m3u8
+<p>For example, to convert an input file with <code>ffmpeg</code>:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i in.nut out.m3u8
 </pre></td></tr></table>
 
+<p>See also the <a href="#segment">segment</a> muxer, which provides a more generic and
+flexible implementation of a segmenter, and can be used to perform HLS
+segmentation.
+</p>
+<a name="Options-6"></a>
+<h3 class="subsection"><a href="ffmpeg-formats.html#toc-Options-6">4.6.1 Options</a></h3>
+
+<p>This muxer supports the following options:
+</p>
 <dl compact="compact">
-<dt> &lsquo;<samp>-hls_time <var>seconds</var></samp>&rsquo;</dt>
-<dd><p>Set the segment length in seconds.
-</p></dd>
-<dt> &lsquo;<samp>-hls_list_size <var>size</var></samp>&rsquo;</dt>
-<dd><p>Set the maximum number of playlist entries.
-</p></dd>
-<dt> &lsquo;<samp>-hls_wrap <var>wrap</var></samp>&rsquo;</dt>
-<dd><p>Set the number after which index wraps.
-</p></dd>
-<dt> &lsquo;<samp>-start_number <var>number</var></samp>&rsquo;</dt>
-<dd><p>Start the sequence from <var>number</var>.
+<dt> &lsquo;<samp>hls_time <var>seconds</var></samp>&rsquo;</dt>
+<dd><p>Set the segment length in seconds. Default value is 2.
+</p>
+</dd>
+<dt> &lsquo;<samp>hls_list_size <var>size</var></samp>&rsquo;</dt>
+<dd><p>Set the maximum number of playlist entries. If set to 0 the list file
+will contain all the segments. Default value is 5.
+</p>
+</dd>
+<dt> &lsquo;<samp>hls_wrap <var>wrap</var></samp>&rsquo;</dt>
+<dd><p>Set the number after which the segment filename number (the number
+specified in each segment file) wraps. If set to 0 the number will be
+never wrapped. Default value is 0.
+</p>
+<p>This option is useful to avoid to fill the disk with many segment
+files, and limits the maximum number of segment files written to disk
+to <var>wrap</var>.
+</p>
+</dd>
+<dt> &lsquo;<samp>start_number <var>number</var></samp>&rsquo;</dt>
+<dd><p>Start the playlist sequence number from <var>number</var>. Default value is
+0.
+</p>
+<p>Note that the playlist sequence number must be unique for each segment
+and it is not to be confused with the segment filename sequence number
+which can be cyclic, for example if the &lsquo;<samp>wrap</samp>&rsquo; option is
+specified.
 </p></dd>
 </dl>
 
@@ -966,8 +1065,8 @@ If a PNG image is used, it must use the rgba pixel format
 </li></ul>
 
 <p><a name="image2"></a>
-</p><a name="image2-1"></a>
-<h2 class="section"><a href="ffmpeg-formats.html#toc-image2-1">4.8 image2</a></h2>
+</p><a name="image2-2"></a>
+<h2 class="section"><a href="ffmpeg-formats.html#toc-image2-2">4.8 image2</a></h2>
 
 <p>Image file muxer.
 </p>
@@ -996,6 +1095,9 @@ The pattern &quot;img%%-%d.jpg&quot; will specify a sequence of filenames of the
 form &lsquo;<tt>img%-1.jpg</tt>&rsquo;, &lsquo;<tt>img%-2.jpg</tt>&rsquo;, ..., &lsquo;<tt>img%-10.jpg</tt>&rsquo;,
 etc.
 </p>
+<a name="Examples"></a>
+<h3 class="subsection"><a href="ffmpeg-formats.html#toc-Examples">4.8.1 Examples</a></h3>
+
 <p>The following example shows how to use <code>ffmpeg</code> for creating a
 sequence of files &lsquo;<tt>img-001.jpeg</tt>&rsquo;, &lsquo;<tt>img-002.jpeg</tt>&rsquo;, ...,
 taking one image every second from the input video:
@@ -1015,18 +1117,35 @@ command can be written as:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i in.avi -f image2 -frames:v 1 img.jpeg
 </pre></td></tr></table>
 
+<p>The &lsquo;<samp>strftime</samp>&rsquo; option allows you to expand the filename with
+date and time information. Check the documentation of
+the <code>strftime()</code> function for the syntax.
+</p>
+<p>For example to generate image files from the <code>strftime()</code>
+&quot;%Y-%m-%d_%H-%M-%S&quot; pattern, the following <code>ffmpeg</code> command
+can be used:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -f v4l2 -r 1 -i /dev/video0 -f image2 -strftime 1 &quot;%Y-%m-%d_%H-%M-%S.jpg&quot;
+</pre></td></tr></table>
+
+<a name="Options"></a>
+<h3 class="subsection"><a href="ffmpeg-formats.html#toc-Options">4.8.2 Options</a></h3>
+
 <dl compact="compact">
-<dt> &lsquo;<samp>start_number <var>number</var></samp>&rsquo;</dt>
-<dd><p>Start the sequence from <var>number</var>. Default value is 1. Must be a
-non-negative number.
+<dt> &lsquo;<samp>start_number</samp>&rsquo;</dt>
+<dd><p>Start the sequence from the specified number. Default value is 1. Must
+be a non-negative number.
 </p>
 </dd>
-<dt> &lsquo;<samp>-update <var>number</var></samp>&rsquo;</dt>
-<dd><p>If <var>number</var> is nonzero, the filename will always be interpreted as just a
-filename, not a pattern, and this file will be continuously overwritten with new
-images.
+<dt> &lsquo;<samp>update</samp>&rsquo;</dt>
+<dd><p>If set to 1, the filename will always be interpreted as just a
+filename, not a pattern, and the corresponding file will be continuously
+overwritten with new images. Default value is 0.
 </p>
 </dd>
+<dt> &lsquo;<samp>strftime</samp>&rsquo;</dt>
+<dd><p>If set to 1, expand the filename with date and time information from
+<code>strftime()</code>. Default value is 0.
+</p></dd>
 </dl>
 
 <p>The image muxer supports the .Y.U.V image file format. This format is
@@ -1042,23 +1161,29 @@ specify the name of the &rsquo;.Y&rsquo; file. The muxer will automatically open
 </p>
 <p>This muxer implements the matroska and webm container specs.
 </p>
+<a name="Metadata-1"></a>
+<h3 class="subsection"><a href="ffmpeg-formats.html#toc-Metadata-1">4.9.1 Metadata</a></h3>
+
 <p>The recognized metadata settings in this muxer are:
 </p>
 <dl compact="compact">
-<dt> &lsquo;<samp>title=<var>title name</var></samp>&rsquo;</dt>
-<dd><p>Name provided to a single track
-</p></dd>
-</dl>
-
-<dl compact="compact">
-<dt> &lsquo;<samp>language=<var>language name</var></samp>&rsquo;</dt>
-<dd><p>Specifies the language of the track in the Matroska languages form
-</p></dd>
-</dl>
-
-<dl compact="compact">
-<dt> &lsquo;<samp>stereo_mode=<var>mode</var></samp>&rsquo;</dt>
-<dd><p>Stereo 3D video layout of two views in a single video track
+<dt> &lsquo;<samp>title</samp>&rsquo;</dt>
+<dd><p>Set title name provided to a single track.
+</p>
+</dd>
+<dt> &lsquo;<samp>language</samp>&rsquo;</dt>
+<dd><p>Specify the language of the track in the Matroska languages form.
+</p>
+<p>The language can be either the 3 letters bibliographic ISO-639-2 (ISO
+639-2/B) form (like &quot;fre&quot; for French), or a language code mixed with a
+country code for specialities in languages (like &quot;fre-ca&quot; for Canadian
+French).
+</p>
+</dd>
+<dt> &lsquo;<samp>stereo_mode</samp>&rsquo;</dt>
+<dd><p>Set stereo 3D video layout of two views in a single video track.
+</p>
+<p>The following values are recognized:
 </p><dl compact="compact">
 <dt> &lsquo;<samp>mono</samp>&rsquo;</dt>
 <dd><p>video is not stereo
@@ -1113,6 +1238,9 @@ specify the name of the &rsquo;.Y&rsquo; file. The muxer will automatically open
 </p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i sample_left_right_clip.mpg -an -c:v libvpx -metadata stereo_mode=left_right -y stereo_clip.webm
 </pre></td></tr></table>
 
+<a name="Options-4"></a>
+<h3 class="subsection"><a href="ffmpeg-formats.html#toc-Options-4">4.9.2 Options</a></h3>
+
 <p>This muxer supports the following options:
 </p>
 <dl compact="compact">
@@ -1130,8 +1258,7 @@ for most use cases should be about 50kB per hour of video.
 </p>
 <p>Note that cues are only written if the output is seekable and this option will
 have no effect if it is not.
-</p>
-</dd>
+</p></dd>
 </dl>
 
 <p><a name="md5"></a>
@@ -1160,8 +1287,8 @@ audio and video, and store it in the file &lsquo;<tt>out.md5</tt>&rsquo;:
 
 <p>See also the <a href="#framemd5">framemd5</a> muxer.
 </p>
-<a name="mov_002fmp4_002fismv"></a>
-<h2 class="section"><a href="ffmpeg-formats.html#toc-mov_002fmp4_002fismv">4.11 mov/mp4/ismv</a></h2>
+<a name="mov_002c-mp4_002c-ismv"></a>
+<h2 class="section"><a href="ffmpeg-formats.html#toc-mov_002c-mp4_002c-ismv">4.11 mov, mp4, ismv</a></h2>
 
 <p>MOV/MP4/ISMV (Smooth Streaming) muxer.
 </p>
@@ -1179,6 +1306,9 @@ very long files (since writing normal MOV/MP4 files stores info about
 every single packet in memory until the file is closed). The downside
 is that it is less compatible with other applications.
 </p>
+<a name="Options-5"></a>
+<h3 class="subsection"><a href="ffmpeg-formats.html#toc-Options-5">4.11.1 Options</a></h3>
+
 <p>Fragmentation is enabled by setting one of the AVOptions that define
 how to cut the file into fragments:
 </p>
@@ -1245,6 +1375,9 @@ as fragmented output, thus it is not enabled by default.
 </p></dd>
 </dl>
 
+<a name="Example"></a>
+<h3 class="subsection"><a href="ffmpeg-formats.html#toc-Example">4.11.2 Example</a></h3>
+
 <p>Smooth Streaming content can be pushed in real time to a publishing
 point on IIS with this muxer. Example:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -re <var>&lt;normal input/transcoding options&gt;</var> -movflags isml+frag_keyframe -f ismv http://server/publishingpoint.isml/Streams(Encoder1)
@@ -1255,12 +1388,15 @@ point on IIS with this muxer. Example:
 
 <p>The MP3 muxer writes a raw MP3 stream with an ID3v2 header at the beginning and
 optionally an ID3v1 tag at the end. ID3v2.3 and ID3v2.4 are supported, the
-<code>id3v2_version</code> option controls which one is used. The legacy ID3v1 tag is
-not written by default, but may be enabled with the <code>write_id3v1</code> option.
+<code>id3v2_version</code> option controls which one is used. Setting
+<code>id3v2_version</code> to 0 will disable the ID3v2 header completely. The legacy
+ID3v1 tag is not written by default, but may be enabled with the
+<code>write_id3v1</code> option.
 </p>
-<p>For seekable output the muxer also writes a Xing frame at the beginning, which
-contains the number of frames in the file. It is useful for computing duration
-of VBR files.
+<p>The muxer may also write a Xing frame at the beginning, which contains the
+number of frames in the file. It is useful for computing duration of VBR files.
+The Xing frame is written if the output stream is seekable and if the
+<code>write_xing</code> option is set to 1 (the default).
 </p>
 <p>The muxer supports writing ID3v2 attached pictures (APIC frames). The pictures
 are supplied to the muxer in form of a video stream with a single packet. There
@@ -1285,13 +1421,25 @@ with <code>map</code>:
 -metadata:s:v title=&quot;Album cover&quot; -metadata:s:v comment=&quot;Cover (Front)&quot; out.mp3
 </pre></td></tr></table>
 
-<a name="mpegts"></a>
-<h2 class="section"><a href="ffmpeg-formats.html#toc-mpegts">4.13 mpegts</a></h2>
+<p>Write a &quot;clean&quot; MP3 without any extra features:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i input.wav -write_xing 0 -id3v2_version 0 out.mp3
+</pre></td></tr></table>
+
+<a name="mpegts-1"></a>
+<h2 class="section"><a href="ffmpeg-formats.html#toc-mpegts-1">4.13 mpegts</a></h2>
 
 <p>MPEG transport stream muxer.
 </p>
 <p>This muxer implements ISO 13818-1 and part of ETSI EN 300 468.
 </p>
+<p>The recognized metadata settings in mpegts muxer are <code>service_provider</code>
+and <code>service_name</code>. If they are not set the default for
+<code>service_provider</code> is &quot;FFmpeg&quot; and the default for
+<code>service_name</code> is &quot;Service01&quot;.
+</p>
+<a name="Options-7"></a>
+<h3 class="subsection"><a href="ffmpeg-formats.html#toc-Options-7">4.13.1 Options</a></h3>
+
 <p>The muxer options are:
 </p>
 <dl compact="compact">
@@ -1356,11 +1504,9 @@ ffmpeg -i source2.ts -codec copy -f mpegts -tables_version 1 udp://1.1.1.1:1111
 </p></dd>
 </dl>
 
-<p>The recognized metadata settings in mpegts muxer are <code>service_provider</code>
-and <code>service_name</code>. If they are not set the default for
-<code>service_provider</code> is &quot;FFmpeg&quot; and the default for
-<code>service_name</code> is &quot;Service01&quot;.
-</p>
+<a name="Example-1"></a>
+<h3 class="subsection"><a href="ffmpeg-formats.html#toc-Example-1">4.13.2 Example</a></h3>
+
 <table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i file.mpg -c copy \
      -mpegts_original_network_id 0x1122 \
      -mpegts_transport_stream_id 0x3344 \
@@ -1410,12 +1556,13 @@ overhead.
 </p></dd>
 </dl>
 
-<a name="segment_002c-stream_005fsegment_002c-ssegment"></a>
+<p><a name="segment"></a>
+</p><a name="segment_002c-stream_005fsegment_002c-ssegment"></a>
 <h2 class="section"><a href="ffmpeg-formats.html#toc-segment_002c-stream_005fsegment_002c-ssegment">4.16 segment, stream_segment, ssegment</a></h2>
 
 <p>Basic stream segmenter.
 </p>
-<p>The segmenter muxer outputs streams to a number of separate files of nearly
+<p>This muxer outputs streams to a number of separate files of nearly
 fixed duration. Output filename pattern can be set in a fashion similar to
 <a href="#image2">image2</a>.
 </p>
@@ -1441,12 +1588,18 @@ the option <var>segment_list</var>. The list type is specified by the
 list are set by default to the basename of the corresponding segment
 files.
 </p>
+<p>See also the <a href="#hls">hls</a> muxer, which provides a more specific
+implementation for HLS segmentation.
+</p>
+<a name="Options-1"></a>
+<h3 class="subsection"><a href="ffmpeg-formats.html#toc-Options-1">4.16.1 Options</a></h3>
+
 <p>The segment muxer supports the following options:
 </p>
 <dl compact="compact">
 <dt> &lsquo;<samp>reference_stream <var>specifier</var></samp>&rsquo;</dt>
 <dd><p>Set the reference stream, as specified by the string <var>specifier</var>.
-If <var>specifier</var> is set to <code>auto</code>, the reference is choosen
+If <var>specifier</var> is set to <code>auto</code>, the reference is chosen
 automatically. Otherwise it must be a stream specifier (see the &ldquo;Stream
 specifiers&rdquo; chapter in the ffmpeg manual) which specifies the
 reference stream. The default value is <code>auto</code>.
@@ -1563,7 +1716,7 @@ specified split time.
 <var>force_key_frames</var> may not be set accurately because of rounding
 issues, with the consequence that a key frame time may result set just
 before the specified time. For constant frame rate videos a value of
-1/2*<var>frame_rate</var> should address the worst case mismatch between
+1/(2*<var>frame_rate</var>) should address the worst case mismatch between
 the specified time and the time set by <var>force_key_frames</var>.
 </p>
 </dd>
@@ -1603,8 +1756,8 @@ argument must be a time duration specification, and defaults to 0.
 </p></dd>
 </dl>
 
-<a name="Examples"></a>
-<h3 class="subsection"><a href="ffmpeg-formats.html#toc-Examples">4.16.1 Examples</a></h3>
+<a name="Examples-3"></a>
+<h3 class="subsection"><a href="ffmpeg-formats.html#toc-Examples-3">4.16.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -1667,8 +1820,7 @@ to feed the same packets to several muxers directly.
 <p>The slave outputs are specified in the file name given to the muxer,
 separated by &rsquo;|&rsquo;. If any of the slave name contains the &rsquo;|&rsquo; separator,
 leading or trailing spaces or any special character, it must be
-escaped (see the &ldquo;Quoting and escaping&rdquo; section in the ffmpeg-utils
-manual).
+escaped (see <a href="ffmpeg-utils.html#quoting_005fand_005fescaping">(ffmpeg-utils)quoting_and_escaping</a>).
 </p>
 <p>Muxer options can be specified for each slave by prepending them as a list of
 <var>key</var>=<var>value</var> pairs separated by &rsquo;:&rsquo;, between square brackets. If
@@ -1684,9 +1836,11 @@ output name suffix.
 </dd>
 <dt> &lsquo;<samp>bsfs[/<var>spec</var>]</samp>&rsquo;</dt>
 <dd><p>Specify a list of bitstream filters to apply to the specified
-output. It is possible to specify to which streams a given bitstream
-filter applies, by appending a stream specifier to the option
-separated by <code>/</code>. If the stream specifier is not specified, the
+output.
+</p>
+<p>It is possible to specify to which streams a given bitstream filter
+applies, by appending a stream specifier to the option separated by
+<code>/</code>. <var>spec</var> must be a stream specifier (see <a href="#Format-stream-specifiers">Format stream specifiers</a>).  If the stream specifier is not specified, the
 bistream filters will be applied to all streams in the output.
 </p>
 <p>Several bitstream filters can be specified, separated by &quot;,&quot;.
@@ -1699,8 +1853,10 @@ all the input streams.
 </p></dd>
 </dl>
 
-<p>Some examples follow.
-</p><ul>
+<a name="Examples-6"></a>
+<h3 class="subsection"><a href="ffmpeg-formats.html#toc-Examples-6">4.17.1 Examples</a></h3>
+
+<ul>
 <li>
 Encode something and both archive it in a WebM file and stream it
 as MPEG-TS over UDP (the streams need to be explicitly mapped):
@@ -1718,6 +1874,14 @@ audio packets.
 <table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i ... -map 0 -flags +global_header -c:v libx264 -c:a aac -strict experimental
        -f tee &quot;[bsfs/v=dump_extra]out.ts|[movflags=+faststart]out.mp4|[select=a]out.aac&quot;
 </pre></td></tr></table>
+
+</li><li>
+As below, but select only stream <code>a:1</code> for the audio output. Note
+that a second level escaping must be performed, as &quot;:&quot; is a special
+character used to separate options.
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i ... -map 0 -flags +global_header -c:v libx264 -c:a aac -strict experimental
+       -f tee &quot;[bsfs/v=dump_extra]out.ts|[movflags=+faststart]out.mp4|[select=\'a:1\']out.aac&quot;
+</pre></td></tr></table>
 </li></ul>
 
 <p>Note: some codecs may need different options depending on the output format;
@@ -1826,4 +1990,4 @@ online repository at <a href="http://source.ffmpeg.org">http://source.ffmpeg.org
 </p>
 
 <footer class="footer pagination-right">
-<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>December 14, 2013</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
+<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>June 19, 2014</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
index 19c3d2d41a36d16cdb220ab24bb063b794caadda..6be426ade93edda16757994970179cd1fa4140bd 100644 (file)
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <html>
-<!-- Created on December 14, 2013 by texi2html 1.82 -->
+<!-- Created on June 19, 2014 by texi2html 1.82 -->
 <!--
 texi2html was written by: 
             Lionel Cons <Lionel.Cons@cern.ch> (original author)
@@ -63,7 +63,10 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
     <li><a name="toc-libssh" href="#libssh">2.21 libssh</a></li>
     <li><a name="toc-librtmp-rtmp_002c-rtmpe_002c-rtmps_002c-rtmpt_002c-rtmpte" href="#librtmp-rtmp_002c-rtmpe_002c-rtmps_002c-rtmpt_002c-rtmpte">2.22 librtmp rtmp, rtmpe, rtmps, rtmpt, rtmpte</a></li>
     <li><a name="toc-rtp" href="#rtp">2.23 rtp</a></li>
-    <li><a name="toc-rtsp" href="#rtsp">2.24 rtsp</a></li>
+    <li><a name="toc-rtsp" href="#rtsp">2.24 rtsp</a>
+    <ul class="toc">
+      <li><a name="toc-Examples" href="#Examples">2.24.1 Examples</a></li>
+    </ul></li>
     <li><a name="toc-sap" href="#sap">2.25 sap</a>
     <ul class="toc">
       <li><a name="toc-Muxer" href="#Muxer">2.25.1 Muxer</a></li>
@@ -73,7 +76,10 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
     <li><a name="toc-srtp" href="#srtp">2.27 srtp</a></li>
     <li><a name="toc-tcp" href="#tcp">2.28 tcp</a></li>
     <li><a name="toc-tls" href="#tls">2.29 tls</a></li>
-    <li><a name="toc-udp" href="#udp">2.30 udp</a></li>
+    <li><a name="toc-udp" href="#udp">2.30 udp</a>
+    <ul class="toc">
+      <li><a name="toc-Examples-1" href="#Examples-1">2.30.1 Examples</a></li>
+    </ul></li>
     <li><a name="toc-unix" href="#unix">2.31 unix</a></li>
   </ul></li>
   <li><a name="toc-See-Also" href="#See-Also">3. See Also</a></li>
@@ -210,17 +216,24 @@ crypto+<var>URL</var>
 
 <p>File access protocol.
 </p>
-<p>Allow to read from or read to a file.
+<p>Allow to read from or write to a file.
+</p>
+<p>A file URL can have the form:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">file:<var>filename</var>
+</pre></td></tr></table>
+
+<p>where <var>filename</var> is the path of the file to read.
+</p>
+<p>An URL that does not have a protocol prefix will be assumed to be a
+file URL. Depending on the build, an URL that looks like a Windows
+path with the drive letter at the beginning will also be assumed to be
+a file URL (usually not the case in builds for unix-like systems).
 </p>
 <p>For example to read from a file &lsquo;<tt>input.mpeg</tt>&rsquo; with <code>ffmpeg</code>
 use the command:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i file:input.mpeg output.mpeg
 </pre></td></tr></table>
 
-<p>The ff* tools default to the file protocol, that is a resource
-specified with the name &quot;FILE.mpeg&quot; is interpreted as the URL
-&quot;file:FILE.mpeg&quot;.
-</p>
 <p>This protocol accepts the following options:
 </p>
 <dl compact="compact">
@@ -304,7 +317,7 @@ m3u8 files.
 
 <p>HTTP (Hyper Text Transfer Protocol).
 </p>
-<p>This protocol accepts the following options.
+<p>This protocol accepts the following options:
 </p>
 <dl compact="compact">
 <dt> &lsquo;<samp>seekable</samp>&rsquo;</dt>
@@ -315,31 +328,32 @@ value is -1.
 </p>
 </dd>
 <dt> &lsquo;<samp>chunked_post</samp>&rsquo;</dt>
-<dd><p>If set to 1 use chunked transfer-encoding for posts, default is 1.
-</p>
-</dd>
-<dt> &lsquo;<samp>headers</samp>&rsquo;</dt>
-<dd><p>Set custom HTTP headers, can override built in default headers. The
-value must be a string encoding the headers.
+<dd><p>If set to 1 use chunked Transfer-Encoding for posts, default is 1.
 </p>
 </dd>
 <dt> &lsquo;<samp>content_type</samp>&rsquo;</dt>
-<dd><p>Force a content type.
+<dd><p>Set a specific content type for the POST messages.
 </p>
 </dd>
-<dt> &lsquo;<samp>user-agent</samp>&rsquo;</dt>
-<dd><p>Override User-Agent header. If not specified the protocol will use a
-string describing the libavformat build.
+<dt> &lsquo;<samp>headers</samp>&rsquo;</dt>
+<dd><p>Set custom HTTP headers, can override built in default headers. The
+value must be a string encoding the headers.
 </p>
 </dd>
 <dt> &lsquo;<samp>multiple_requests</samp>&rsquo;</dt>
-<dd><p>Use persistent connections if set to 1. By default it is 0.
+<dd><p>Use persistent connections if set to 1, default is 0.
 </p>
 </dd>
 <dt> &lsquo;<samp>post_data</samp>&rsquo;</dt>
 <dd><p>Set custom HTTP post data.
 </p>
 </dd>
+<dt> &lsquo;<samp>user-agent</samp>&rsquo;</dt>
+<dt> &lsquo;<samp>user_agent</samp>&rsquo;</dt>
+<dd><p>Override the User-Agent header. If not specified the protocol will use a
+string describing the libavformat build. (&quot;Lavf/&lt;version&gt;&quot;)
+</p>
+</dd>
 <dt> &lsquo;<samp>timeout</samp>&rsquo;</dt>
 <dd><p>Set timeout of socket I/O operations used by the underlying low level
 operation. By default it is set to -1, which means that the timeout is
@@ -347,7 +361,7 @@ not specified.
 </p>
 </dd>
 <dt> &lsquo;<samp>mime_type</samp>&rsquo;</dt>
-<dd><p>Set MIME type.
+<dd><p>Export the MIME type.
 </p>
 </dd>
 <dt> &lsquo;<samp>icy</samp>&rsquo;</dt>
@@ -358,19 +372,29 @@ The default is 0.
 </p>
 </dd>
 <dt> &lsquo;<samp>icy_metadata_headers</samp>&rsquo;</dt>
-<dd><p>If the server supports ICY metadata, this contains the ICY specific HTTP reply
-headers, separated with newline characters.
+<dd><p>If the server supports ICY metadata, this contains the ICY-specific HTTP reply
+headers, separated by newline characters.
 </p>
 </dd>
 <dt> &lsquo;<samp>icy_metadata_packet</samp>&rsquo;</dt>
 <dd><p>If the server supports ICY metadata, and &lsquo;<samp>icy</samp>&rsquo; was set to 1, this
-contains the last non-empty metadata packet sent by the server.
+contains the last non-empty metadata packet sent by the server. It should be
+polled in regular intervals by applications interested in mid-stream metadata
+updates.
 </p>
 </dd>
 <dt> &lsquo;<samp>cookies</samp>&rsquo;</dt>
 <dd><p>Set the cookies to be sent in future requests. The format of each cookie is the
 same as the value of a Set-Cookie HTTP response field. Multiple cookies can be
 delimited by a newline character.
+</p>
+</dd>
+<dt> &lsquo;<samp>offset</samp>&rsquo;</dt>
+<dd><p>Set initial byte offset.
+</p>
+</dd>
+<dt> &lsquo;<samp>end_offset</samp>&rsquo;</dt>
+<dd><p>Try to limit the request to bytes preceding this offset.
 </p></dd>
 </dl>
 
@@ -681,6 +705,11 @@ is not specified.
 truncating. Default value is 1.
 </p>
 </dd>
+<dt> &lsquo;<samp>private_key</samp>&rsquo;</dt>
+<dd><p>Specify the path of the file containing private key to use during authorization.
+By default libssh searches for keys in the &lsquo;<tt>~/.ssh/</tt>&rsquo; directory.
+</p>
+</dd>
 </dl>
 
 <p>Example: Play a file stored on remote server.
@@ -805,6 +834,8 @@ set to the the local RTP port value plus 1.
 <a name="rtsp"></a>
 <h2 class="section"><a href="ffmpeg-protocols.html#toc-rtsp">2.24 rtsp</a></h2>
 
+<p>Real-Time Streaming Protocol.
+</p>
 <p>RTSP is not technically a protocol handler in libavformat, it is a demuxer
 and muxer. The demuxer supports both normal RTSP (with data transferred
 over RTP; this is used by e.g. Apple and Microsoft) and Real-RTSP (with
@@ -818,13 +849,23 @@ supporting it (currently Darwin Streaming Server and Mischa Spiegelmock&rsquo;s
 </p><table><tr><td>&nbsp;</td><td><pre class="example">rtsp://<var>hostname</var>[:<var>port</var>]/<var>path</var>
 </pre></td></tr></table>
 
-<p>The following options (set on the <code>ffmpeg</code>/<code>ffplay</code> command
-line, or set in code via <code>AVOption</code>s or in <code>avformat_open_input</code>),
-are supported:
+<p>Options can be set on the <code>ffmpeg</code>/<code>ffplay</code> command
+line, or set in code via <code>AVOption</code>s or in
+<code>avformat_open_input</code>.
 </p>
-<p>Flags for <code>rtsp_transport</code>:
+<p>The following options are supported.
 </p>
 <dl compact="compact">
+<dt> &lsquo;<samp>initial_pause</samp>&rsquo;</dt>
+<dd><p>Do not start playing the stream immediately if set to 1. Default value
+is 0.
+</p>
+</dd>
+<dt> &lsquo;<samp>rtsp_transport</samp>&rsquo;</dt>
+<dd><p>Set RTSP trasport protocols.
+</p>
+<p>It accepts the following values:
+</p><dl compact="compact">
 <dt> &lsquo;<samp>udp</samp>&rsquo;</dt>
 <dd><p>Use UDP as lower transport protocol.
 </p>
@@ -846,11 +887,14 @@ passing proxies.
 
 <p>Multiple lower transport protocols may be specified, in that case they are
 tried one at a time (if the setup of one fails, the next one is tried).
-For the muxer, only the <code>tcp</code> and <code>udp</code> options are supported.
+For the muxer, only the &lsquo;<samp>tcp</samp>&rsquo; and &lsquo;<samp>udp</samp>&rsquo; options are supported.
 </p>
-<p>Flags for <code>rtsp_flags</code>:
+</dd>
+<dt> &lsquo;<samp>rtsp_flags</samp>&rsquo;</dt>
+<dd><p>Set RTSP flags.
 </p>
-<dl compact="compact">
+<p>The following values are accepted:
+</p><dl compact="compact">
 <dt> &lsquo;<samp>filter_src</samp>&rsquo;</dt>
 <dd><p>Accept packets only from negotiated peer address and port.
 </p></dd>
@@ -859,6 +903,51 @@ For the muxer, only the <code>tcp</code> and <code>udp</code> options are suppor
 </p></dd>
 </dl>
 
+<p>Default value is &lsquo;<samp>none</samp>&rsquo;.
+</p>
+</dd>
+<dt> &lsquo;<samp>allowed_media_types</samp>&rsquo;</dt>
+<dd><p>Set media types to accept from the server.
+</p>
+<p>The following flags are accepted:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>video</samp>&rsquo;</dt>
+<dt> &lsquo;<samp>audio</samp>&rsquo;</dt>
+<dt> &lsquo;<samp>data</samp>&rsquo;</dt>
+</dl>
+
+<p>By default it accepts all media types.
+</p>
+</dd>
+<dt> &lsquo;<samp>min_port</samp>&rsquo;</dt>
+<dd><p>Set minimum local UDP port. Default value is 5000.
+</p>
+</dd>
+<dt> &lsquo;<samp>max_port</samp>&rsquo;</dt>
+<dd><p>Set maximum local UDP port. Default value is 65000.
+</p>
+</dd>
+<dt> &lsquo;<samp>timeout</samp>&rsquo;</dt>
+<dd><p>Set maximum timeout (in seconds) to wait for incoming connections.
+</p>
+<p>A value of -1 mean infinite (default). This option implies the
+&lsquo;<samp>rtsp_flags</samp>&rsquo; set to &lsquo;<samp>listen</samp>&rsquo;.
+</p>
+</dd>
+<dt> &lsquo;<samp>reorder_queue_size</samp>&rsquo;</dt>
+<dd><p>Set number of packets to buffer for handling of reordered packets.
+</p>
+</dd>
+<dt> &lsquo;<samp>stimeout</samp>&rsquo;</dt>
+<dd><p>Set socket TCP I/O timeout in micro seconds.
+</p>
+</dd>
+<dt> &lsquo;<samp>user-agent</samp>&rsquo;</dt>
+<dd><p>Override User-Agent header. If not specified, it default to the
+libavformat identifier string.
+</p></dd>
+</dl>
+
 <p>When receiving data over UDP, the demuxer tries to reorder received packets
 (since they may arrive out of order, or packets may get lost totally). This
 can be disabled by setting the maximum demuxing delay to zero (via
@@ -869,33 +958,33 @@ streams to display can be chosen with <code>-vst</code> <var>n</var> and
 <code>-ast</code> <var>n</var> for video and audio respectively, and can be switched
 on the fly by pressing <code>v</code> and <code>a</code>.
 </p>
-<p>Example command lines:
-</p>
-<p>To watch a stream over UDP, with a max reordering delay of 0.5 seconds:
+<a name="Examples"></a>
+<h3 class="subsection"><a href="ffmpeg-protocols.html#toc-Examples">2.24.1 Examples</a></h3>
+
+<p>The following examples all make use of the <code>ffplay</code> and
+<code>ffmpeg</code> tools.
 </p>
+<ul>
+<li>
+Watch a stream over UDP, with a max reordering delay of 0.5 seconds:
 <table><tr><td>&nbsp;</td><td><pre class="example">ffplay -max_delay 500000 -rtsp_transport udp rtsp://server/video.mp4
 </pre></td></tr></table>
 
-<p>To watch a stream tunneled over HTTP:
-</p>
+</li><li>
+Watch a stream tunneled over HTTP:
 <table><tr><td>&nbsp;</td><td><pre class="example">ffplay -rtsp_transport http rtsp://server/video.mp4
 </pre></td></tr></table>
 
-<p>To send a stream in realtime to a RTSP server, for others to watch:
-</p>
+</li><li>
+Send a stream in realtime to a RTSP server, for others to watch:
 <table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -re -i <var>input</var> -f rtsp -muxdelay 0.1 rtsp://server/live.sdp
 </pre></td></tr></table>
 
-<p>To receive a stream in realtime:
-</p>
+</li><li>
+Receive a stream in realtime:
 <table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -rtsp_flags listen -i rtsp://ownaddress/live.sdp <var>output</var>
 </pre></td></tr></table>
-
-<dl compact="compact">
-<dt> &lsquo;<samp>stimeout</samp>&rsquo;</dt>
-<dd><p>Socket IO timeout in micro seconds.
-</p></dd>
-</dl>
+</li></ul>
 
 <a name="sap"></a>
 <h2 class="section"><a href="ffmpeg-protocols.html#toc-sap">2.25 sap</a></h2>
@@ -1040,29 +1129,40 @@ used as master salt.
 <a name="tcp"></a>
 <h2 class="section"><a href="ffmpeg-protocols.html#toc-tcp">2.28 tcp</a></h2>
 
-<p>Trasmission Control Protocol.
+<p>Transmission Control Protocol.
 </p>
 <p>The required syntax for a TCP url is:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">tcp://<var>hostname</var>:<var>port</var>[?<var>options</var>]
 </pre></td></tr></table>
 
+<p><var>options</var> contains a list of &amp;-separated options of the form
+<var>key</var>=<var>val</var>.
+</p>
+<p>The list of supported options follows.
+</p>
 <dl compact="compact">
-<dt> &lsquo;<samp>listen</samp>&rsquo;</dt>
-<dd><p>Listen for an incoming connection
+<dt> &lsquo;<samp>listen=<var>1|0</var></samp>&rsquo;</dt>
+<dd><p>Listen for an incoming connection. Default value is 0.
 </p>
 </dd>
 <dt> &lsquo;<samp>timeout=<var>microseconds</var></samp>&rsquo;</dt>
-<dd><p>In read mode: if no data arrived in more than this time interval, raise error.
-In write mode: if socket cannot be written in more than this time interval, raise error.
-This also sets timeout on TCP connection establishing.
+<dd><p>Set raise error timeout, expressed in microseconds.
+</p>
+<p>This option is only relevant in read mode: if no data arrived in more
+than this time interval, raise error.
 </p>
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i <var>input</var> -f <var>format</var> tcp://<var>hostname</var>:<var>port</var>?listen
-ffplay tcp://<var>hostname</var>:<var>port</var>
-</pre></td></tr></table>
-
 </dd>
+<dt> &lsquo;<samp>listen_timeout=<var>microseconds</var></samp>&rsquo;</dt>
+<dd><p>Set listen timeout, expressed in microseconds.
+</p></dd>
 </dl>
 
+<p>The following example shows how to setup a listening TCP connection
+with <code>ffmpeg</code>, which is then accessed with <code>ffplay</code>:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i <var>input</var> -f <var>format</var> tcp://<var>hostname</var>:<var>port</var>?listen
+ffplay tcp://<var>hostname</var>:<var>port</var>
+</pre></td></tr></table>
+
 <a name="tls"></a>
 <h2 class="section"><a href="ffmpeg-protocols.html#toc-tls">2.29 tls</a></h2>
 
@@ -1131,14 +1231,14 @@ the server role in the handshake instead of the client role.
 
 <p>User Datagram Protocol.
 </p>
-<p>The required syntax for a UDP url is:
+<p>The required syntax for an UDP URL is:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">udp://<var>hostname</var>:<var>port</var>[?<var>options</var>]
 </pre></td></tr></table>
 
 <p><var>options</var> contains a list of &amp;-separated options of the form <var>key</var>=<var>val</var>.
 </p>
 <p>In case threading is enabled on the system, a circular buffer is used
-to store the incoming data, which allows to reduce loss of data due to
+to store the incoming data, which allows one to reduce loss of data due to
 UDP socket buffer overruns. The <var>fifo_size</var> and
 <var>overrun_nonfatal</var> options are related to this buffer.
 </p>
@@ -1205,23 +1305,33 @@ value is 0.
 </p>
 </dd>
 <dt> &lsquo;<samp>timeout=<var>microseconds</var></samp>&rsquo;</dt>
-<dd><p>In read mode: if no data arrived in more than this time interval, raise error.
+<dd><p>Set raise error timeout, expressed in microseconds.
+</p>
+<p>This option is only relevant in read mode: if no data arrived in more
+than this time interval, raise error.
 </p></dd>
 </dl>
 
-<p>Some usage examples of the UDP protocol with <code>ffmpeg</code> follow.
-</p>
-<p>To stream over UDP to a remote endpoint:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i <var>input</var> -f <var>format</var> udp://<var>hostname</var>:<var>port</var>
+<a name="Examples-1"></a>
+<h3 class="subsection"><a href="ffmpeg-protocols.html#toc-Examples-1">2.30.1 Examples</a></h3>
+
+<ul>
+<li>
+Use <code>ffmpeg</code> to stream over UDP to a remote endpoint:
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i <var>input</var> -f <var>format</var> udp://<var>hostname</var>:<var>port</var>
 </pre></td></tr></table>
 
-<p>To stream in mpegts format over UDP using 188 sized UDP packets, using a large input buffer:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i <var>input</var> -f mpegts udp://<var>hostname</var>:<var>port</var>?pkt_size=188&amp;buffer_size=65535
+</li><li>
+Use <code>ffmpeg</code> to stream in mpegts format over UDP using 188
+sized UDP packets, using a large input buffer:
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i <var>input</var> -f mpegts udp://<var>hostname</var>:<var>port</var>?pkt_size=188&amp;buffer_size=65535
 </pre></td></tr></table>
 
-<p>To receive over UDP from a remote endpoint:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i udp://[<var>multicast-address</var>]:<var>port</var>
+</li><li>
+Use <code>ffmpeg</code> to receive over UDP from a remote endpoint:
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i udp://[<var>multicast-address</var>]:<var>port</var> ...
 </pre></td></tr></table>
+</li></ul>
 
 <a name="unix"></a>
 <h2 class="section"><a href="ffmpeg-protocols.html#toc-unix">2.31 unix</a></h2>
@@ -1268,4 +1378,4 @@ online repository at <a href="http://source.ffmpeg.org">http://source.ffmpeg.org
 </p>
 
 <footer class="footer pagination-right">
-<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>December 14, 2013</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
+<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>June 19, 2014</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
index 1fa6a1c9224d4bebd8ec69184c53c52f02fabc3a..c620b972a0fccd3242e7dd3544af6e525011cabe 100644 (file)
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <html>
-<!-- Created on December 14, 2013 by texi2html 1.82 -->
+<!-- Created on June 19, 2014 by texi2html 1.82 -->
 <!--
 texi2html was written by: 
             Lionel Cons <Lionel.Cons@cern.ch> (original author)
@@ -46,7 +46,7 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
 
 <p>The FFmpeg resampler provides a high-level interface to the
 libswresample library audio resampling utilities. In particular it
-allows to perform audio resampling, audio channel layout rematrixing,
+allows one to perform audio resampling, audio channel layout rematrixing,
 and convert audio format and packing layout.
 </p>
 
@@ -356,4 +356,4 @@ online repository at <a href="http://source.ffmpeg.org">http://source.ffmpeg.org
 </p>
 
 <footer class="footer pagination-right">
-<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>December 14, 2013</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
+<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>June 19, 2014</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
index dc1abc0b58e1781520ffa6dc493c77760bf6c325..34e4ee6429d7ae7ec06f166230b6387b48ffa785 100644 (file)
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <html>
-<!-- Created on December 14, 2013 by texi2html 1.82 -->
+<!-- Created on June 19, 2014 by texi2html 1.82 -->
 <!--
 texi2html was written by: 
             Lionel Cons <Lionel.Cons@cern.ch> (original author)
@@ -45,7 +45,7 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
 <h1 class="chapter"><a href="ffmpeg-scaler.html#toc-Description">1. Description</a></h1>
 
 <p>The FFmpeg rescaler provides a high-level interface to the libswscale
-library image conversion utilities. In particular it allows to perform
+library image conversion utilities. In particular it allows one to perform
 image rescaling and pixel format conversion.
 </p>
 
@@ -93,7 +93,7 @@ algorithm. Only a single algorithm should be selected.
 <dd><p>Select averaging area rescaling algorithm.
 </p>
 </dd>
-<dt> &lsquo;<samp>bicubiclin</samp>&rsquo;</dt>
+<dt> &lsquo;<samp>bicublin</samp>&rsquo;</dt>
 <dd><p>Select bicubic scaling algorithm for the luma component, bilinear for
 chroma components.
 </p>
@@ -222,4 +222,4 @@ online repository at <a href="http://source.ffmpeg.org">http://source.ffmpeg.org
 </p>
 
 <footer class="footer pagination-right">
-<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>December 14, 2013</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
+<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>June 19, 2014</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
index 2175714019a7d957712101affc4c38a772c5b104..4c17e445ae6604890476efd72e784a7cb3b66810 100644 (file)
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <html>
-<!-- Created on December 14, 2013 by texi2html 1.82 -->
+<!-- Created on June 19, 2014 by texi2html 1.82 -->
 <!--
 texi2html was written by: 
             Lionel Cons <Lionel.Cons@cern.ch> (original author)
@@ -39,12 +39,12 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
   <ul class="toc">
     <li><a name="toc-Quoting-and-escaping" href="#Quoting-and-escaping">2.1 Quoting and escaping</a>
     <ul class="toc">
-      <li><a name="toc-Examples" href="#Examples">2.1.1 Examples</a></li>
+      <li><a name="toc-Examples-1" href="#Examples-1">2.1.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-Date" href="#Date">2.2 Date</a></li>
     <li><a name="toc-Time-duration" href="#Time-duration">2.3 Time duration</a>
     <ul class="toc">
-      <li><a name="toc-Examples-1" href="#Examples-1">2.3.1 Examples</a></li>
+      <li><a name="toc-Examples" href="#Examples">2.3.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-Video-size" href="#Video-size">2.4 Video size</a></li>
     <li><a name="toc-Video-rate" href="#Video-rate">2.5 Video rate</a></li>
@@ -110,8 +110,8 @@ escaped according to the rules defined above.
 <p>The tool &lsquo;<tt>tools/ffescape</tt>&rsquo; in the FFmpeg source tree can be used
 to automatically quote or escape a string in a script.
 </p>
-<a name="Examples"></a>
-<h3 class="subsection"><a href="ffmpeg-utils.html#toc-Examples">2.1.1 Examples</a></h3>
+<a name="Examples-1"></a>
+<h3 class="subsection"><a href="ffmpeg-utils.html#toc-Examples-1">2.1.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -182,8 +182,8 @@ maximum of 2 digits. The <var>m</var> at the end expresses decimal value for
 </p>
 <p>In both expressions, the optional &lsquo;<samp>-</samp>&rsquo; indicates negative duration.
 </p>
-<a name="Examples-1"></a>
-<h3 class="subsection"><a href="ffmpeg-utils.html#toc-Examples-1">2.3.1 Examples</a></h3>
+<a name="Examples"></a>
+<h3 class="subsection"><a href="ffmpeg-utils.html#toc-Examples">2.3.1 Examples</a></h3>
 
 <p>The following examples are all valid time duration:
 </p>
@@ -1445,7 +1445,7 @@ which can be obtained with <code>ffmpeg -opencl_bench</code> or <code>av_opencl_
 <dt> &lsquo;<samp>device_idx</samp>&rsquo;</dt>
 <dd><p>Select the index of the device used to run OpenCL code.
 </p>
-<p>The specifed index must be one of the indexes in the device list which
+<p>The specified index must be one of the indexes in the device list which
 can be obtained with <code>ffmpeg -opencl_bench</code> or <code>av_opencl_get_device_list()</code>.
 </p>
 </dd>
@@ -1474,4 +1474,4 @@ online repository at <a href="http://source.ffmpeg.org">http://source.ffmpeg.org
 </p>
 
 <footer class="footer pagination-right">
-<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>December 14, 2013</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
+<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>June 19, 2014</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
index 61427d9ffc539c991b09f0ccedf2dc7a2e7d4251..95cbfb1b67ce3fff541db4d53ccde19f1f72f513 100644 (file)
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <html>
-<!-- Created on December 14, 2013 by texi2html 1.82 -->
+<!-- Created on June 19, 2014 by texi2html 1.82 -->
 <!--
 texi2html was written by: 
             Lionel Cons <Lionel.Cons@cern.ch> (original author)
@@ -141,11 +141,22 @@ to 1 fps and the frame rate of the output file to 24 fps:
 <p>The transcoding process in <code>ffmpeg</code> for each output can be described by
 the following diagram:
 </p>
-<table><tr><td>&nbsp;</td><td><pre class="example"> _______              ______________               _________              ______________            ________
-|       |            |              |             |         |            |              |          |        |
-| input |  demuxer   | encoded data |   decoder   | decoded |  encoder   | encoded data |  muxer   | output |
-| file  | ---------&gt; | packets      |  ---------&gt; | frames  | ---------&gt; | packets      | -------&gt; | file   |
-|_______|            |______________|             |_________|            |______________|          |________|
+<table><tr><td>&nbsp;</td><td><pre class="example"> _______              ______________
+|       |            |              |
+| input |  demuxer   | encoded data |   decoder
+| file  | ---------&gt; | packets      | -----+
+|_______|            |______________|      |
+                                           v
+                                       _________
+                                      |         |
+                                      | decoded |
+                                      | frames  |
+ ________             ______________  |_________|
+|        |           |              |      |
+| output | &lt;-------- | encoded data | &lt;----+
+| file   |   muxer   | packets      |   encoder
+|________|           |______________|
+
 
 </pre></td></tr></table>
 
@@ -174,11 +185,11 @@ simple and complex.
 the same type. In the above diagram they can be represented by simply inserting
 an additional step between decoding and encoding:
 </p>
-<table><tr><td>&nbsp;</td><td><pre class="example"> _________                        __________              ______________
-|         |                      |          |            |              |
-| decoded |  simple filtergraph  | filtered |  encoder   | encoded data |
-| frames  | -------------------&gt; | frames   | ---------&gt; | packets      |
-|_________|                      |__________|            |______________|
+<table><tr><td>&nbsp;</td><td><pre class="example"> _________               __________              ______________
+|         |  simple     |          |            |              |
+| decoded |  fltrgrph   | filtered |  encoder   | encoded data |
+| frames  | ----------&gt; | frames   | ---------&gt; | packets      |
+|_________|             |__________|            |______________|
 
 </pre></td></tr></table>
 
@@ -186,10 +197,10 @@ an additional step between decoding and encoding:
 (with &lsquo;<samp>-vf</samp>&rsquo; and &lsquo;<samp>-af</samp>&rsquo; aliases for video and audio respectively).
 A simple filtergraph for video can look for example like this:
 </p>
-<table><tr><td>&nbsp;</td><td><pre class="example"> _______        _____________        _______        _____        ________
-|       |      |             |      |       |      |     |      |        |
-| input | ---&gt; | deinterlace | ---&gt; | scale | ---&gt; | fps | ---&gt; | output |
-|_______|      |_____________|      |_______|      |_____|      |________|
+<table><tr><td>&nbsp;</td><td><pre class="example"> _______        _____________        _______        ________
+|       |      |             |      |       |      |        |
+| input | ---&gt; | deinterlace | ---&gt; | scale | ---&gt; | output |
+|_______|      |_____________|      |_______|      |________|
 
 </pre></td></tr></table>
 
@@ -506,6 +517,14 @@ to a plain <code>%</code>
 appear in the report.
 </p>
 </dd>
+<dt> &lsquo;<samp>-hide_banner</samp>&rsquo;</dt>
+<dd><p>Suppress printing banner.
+</p>
+<p>All FFmpeg tools will normally show a copyright notice, build options
+and library versions. This option can be used to suppress printing
+this information.
+</p>
+</dd>
 <dt> &lsquo;<samp>-cpuflags flags (<em>global</em>)</samp>&rsquo;</dt>
 <dd><p>Allows setting and clearing cpu flags. This option is intended
 for testing. Do not use it unless you know what you&rsquo;re doing.
@@ -691,23 +710,21 @@ input until the timestamps reach <var>position</var>.
 </p>
 </dd>
 <dt> &lsquo;<samp>-itsoffset <var>offset</var> (<em>input</em>)</samp>&rsquo;</dt>
-<dd><p>Set the input time offset in seconds.
-<code>[-]hh:mm:ss[.xxx]</code> syntax is also supported.
-The offset is added to the timestamps of the input files.
-Specifying a positive offset means that the corresponding
-streams are delayed by <var>offset</var> seconds.
+<dd><p>Set the input time offset.
+</p>
+<p><var>offset</var> must be a time duration specification,
+see <a href="ffmpeg-utils.html#time-duration-syntax">(ffmpeg-utils)time duration syntax</a>.
+</p>
+<p>The offset is added to the timestamps of the input files. Specifying
+a positive offset means that the corresponding streams are delayed by
+the time duration specified in <var>offset</var>.
 </p>
 </dd>
-<dt> &lsquo;<samp>-timestamp <var>time</var> (<em>output</em>)</samp>&rsquo;</dt>
+<dt> &lsquo;<samp>-timestamp <var>date</var> (<em>output</em>)</samp>&rsquo;</dt>
 <dd><p>Set the recording timestamp in the container.
-The syntax for <var>time</var> is:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">now|([(YYYY-MM-DD|YYYYMMDD)[T|t| ]]((HH:MM:SS[.m...])|(HHMMSS[.m...]))[Z|z])
-</pre></td></tr></table>
-<p>If the value is &quot;now&quot; it takes the current time.
-Time is local time unless &rsquo;Z&rsquo; or &rsquo;z&rsquo; is appended, in which case it is
-interpreted as UTC.
-If the year-month-day part is not specified it takes the current
-year-month-day.
+</p>
+<p><var>date</var> must be a time duration specification,
+see <a href="ffmpeg-utils.html#date-syntax">(ffmpeg-utils)date syntax</a>.
 </p>
 </dd>
 <dt> &lsquo;<samp>-metadata[:metadata_specifier] <var>key</var>=<var>value</var> (<em>output,per-metadata</em>)</samp>&rsquo;</dt>
@@ -930,10 +947,6 @@ prefix is &ldquo;ffmpeg2pass&rdquo;. The complete file name will be
 stream
 </p>
 </dd>
-<dt> &lsquo;<samp>-vlang <var>code</var></samp>&rsquo;</dt>
-<dd><p>Set the ISO 639 language code (3 letters) of the current video stream.
-</p>
-</dd>
 <dt> &lsquo;<samp>-vf <var>filtergraph</var> (<em>output</em>)</samp>&rsquo;</dt>
 <dd><p>Create the filtergraph specified by <var>filtergraph</var> and use it to
 filter the stream.
@@ -1171,9 +1184,6 @@ stereo but not 6 channels as 5.1. The default is to always try to guess. Use
 <h2 class="section"><a href="ffmpeg.html#toc-Subtitle-options_003a">5.9 Subtitle options:</a></h2>
 
 <dl compact="compact">
-<dt> &lsquo;<samp>-slang <var>code</var></samp>&rsquo;</dt>
-<dd><p>Set the ISO 639 language code (3 letters) of the current subtitle stream.
-</p></dd>
 <dt> &lsquo;<samp>-scodec <var>codec</var> (<em>input/output</em>)</samp>&rsquo;</dt>
 <dd><p>Set the subtitle codec. This is an alias for <code>-codec:s</code>.
 </p></dd>
@@ -1527,7 +1537,7 @@ to get the list of bitstream filters.
 </pre></td></tr></table>
 
 </dd>
-<dt> &lsquo;<samp>-tag[:<var>stream_specifier</var>] <var>codec_tag</var> (<em>per-stream</em>)</samp>&rsquo;</dt>
+<dt> &lsquo;<samp>-tag[:<var>stream_specifier</var>] <var>codec_tag</var> (<em>input/output,per-stream</em>)</samp>&rsquo;</dt>
 <dd><p>Force a tag/fourcc for matching streams.
 </p>
 </dd>
@@ -1928,4 +1938,4 @@ online repository at <a href="http://source.ffmpeg.org">http://source.ffmpeg.org
 </p>
 
 <footer class="footer pagination-right">
-<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>December 14, 2013</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
+<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>June 19, 2014</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
index a7df9d9ce3f0db6885d2dde6ad9a37222dd5e3e1..fab8fdbbef9612a977fb60961425d80b94dcffbc 100644 (file)
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <html>
-<!-- Created on December 14, 2013 by texi2html 1.82 -->
+<!-- Created on June 19, 2014 by texi2html 1.82 -->
 <!--
 texi2html was written by: 
             Lionel Cons <Lionel.Cons@cern.ch> (original author)
@@ -36,7 +36,7 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
 <ul class="toc">
   <li><a name="toc-Synopsis" href="#Synopsis">1. Synopsis</a></li>
   <li><a name="toc-Description" href="#Description">2. Description</a></li>
-  <li><a name="toc-Options-25" href="#Options-25">3. Options</a>
+  <li><a name="toc-Options-4" href="#Options-4">3. Options</a>
   <ul class="toc">
     <li><a name="toc-Stream-specifiers-1" href="#Stream-specifiers-1">3.1 Stream specifiers</a></li>
     <li><a name="toc-Generic-options" href="#Generic-options">3.2 Generic options</a></li>
@@ -45,16 +45,16 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
     <li><a name="toc-Advanced-options" href="#Advanced-options">3.5 Advanced options</a></li>
     <li><a name="toc-While-playing" href="#While-playing">3.6 While playing</a></li>
   </ul></li>
-  <li><a name="toc-Syntax-2" href="#Syntax-2">4. Syntax</a>
+  <li><a name="toc-Syntax" href="#Syntax">4. Syntax</a>
   <ul class="toc">
     <li><a name="toc-Quoting-and-escaping" href="#Quoting-and-escaping">4.1 Quoting and escaping</a>
     <ul class="toc">
-      <li><a name="toc-Examples-13" href="#Examples-13">4.1.1 Examples</a></li>
+      <li><a name="toc-Examples-4" href="#Examples-4">4.1.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-Date" href="#Date">4.2 Date</a></li>
     <li><a name="toc-Time-duration" href="#Time-duration">4.3 Time duration</a>
     <ul class="toc">
-      <li><a name="toc-Examples-31" href="#Examples-31">4.3.1 Examples</a></li>
+      <li><a name="toc-Examples-66" href="#Examples-66">4.3.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-Video-size" href="#Video-size">4.4 Video size</a></li>
     <li><a name="toc-Video-rate" href="#Video-rate">4.5 Video rate</a></li>
@@ -70,782 +70,642 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
   <ul class="toc">
     <li><a name="toc-rawvideo-1" href="#rawvideo-1">9.1 rawvideo</a>
     <ul class="toc">
-      <li><a name="toc-Options-9" href="#Options-9">9.1.1 Options</a></li>
+      <li><a name="toc-Options-7" href="#Options-7">9.1.1 Options</a></li>
     </ul>
 </li>
   </ul></li>
   <li><a name="toc-Audio-Decoders" href="#Audio-Decoders">10. Audio Decoders</a>
   <ul class="toc">
-    <li><a name="toc-ffwavesynth" href="#ffwavesynth">10.1 ffwavesynth</a></li>
-    <li><a name="toc-libcelt" href="#libcelt">10.2 libcelt</a></li>
-    <li><a name="toc-libgsm" href="#libgsm">10.3 libgsm</a></li>
-    <li><a name="toc-libilbc" href="#libilbc">10.4 libilbc</a>
+    <li><a name="toc-ac3" href="#ac3">10.1 ac3</a>
     <ul class="toc">
-      <li><a name="toc-Options" href="#Options">10.4.1 Options</a></li>
+      <li><a name="toc-AC_002d3-Decoder-Options" href="#AC_002d3-Decoder-Options">10.1.1 AC-3 Decoder Options</a></li>
     </ul></li>
-    <li><a name="toc-libopencore_002damrnb-1" href="#libopencore_002damrnb-1">10.5 libopencore-amrnb</a></li>
-    <li><a name="toc-libopencore_002damrwb" href="#libopencore_002damrwb">10.6 libopencore-amrwb</a></li>
-    <li><a name="toc-libopus" href="#libopus">10.7 libopus</a></li>
+    <li><a name="toc-ffwavesynth" href="#ffwavesynth">10.2 ffwavesynth</a></li>
+    <li><a name="toc-libcelt" href="#libcelt">10.3 libcelt</a></li>
+    <li><a name="toc-libgsm" href="#libgsm">10.4 libgsm</a></li>
+    <li><a name="toc-libilbc" href="#libilbc">10.5 libilbc</a>
+    <ul class="toc">
+      <li><a name="toc-Options-11" href="#Options-11">10.5.1 Options</a></li>
+    </ul></li>
+    <li><a name="toc-libopencore_002damrnb" href="#libopencore_002damrnb">10.6 libopencore-amrnb</a></li>
+    <li><a name="toc-libopencore_002damrwb" href="#libopencore_002damrwb">10.7 libopencore-amrwb</a></li>
+    <li><a name="toc-libopus" href="#libopus">10.8 libopus</a></li>
   </ul></li>
   <li><a name="toc-Subtitles-Decoders" href="#Subtitles-Decoders">11. Subtitles Decoders</a>
   <ul class="toc">
     <li><a name="toc-dvdsub" href="#dvdsub">11.1 dvdsub</a>
     <ul class="toc">
-      <li><a name="toc-Options-24" href="#Options-24">11.1.1 Options</a></li>
+      <li><a name="toc-Options-10" href="#Options-10">11.1.1 Options</a></li>
     </ul></li>
     <li><a name="toc-libzvbi_002dteletext" href="#libzvbi_002dteletext">11.2 libzvbi-teletext</a>
     <ul class="toc">
-      <li><a name="toc-Options-7" href="#Options-7">11.2.1 Options</a></li>
-    </ul>
-</li>
-  </ul></li>
-  <li><a name="toc-Encoders" href="#Encoders">12. Encoders</a></li>
-  <li><a name="toc-Audio-Encoders" href="#Audio-Encoders">13. Audio Encoders</a>
-  <ul class="toc">
-    <li><a name="toc-aac" href="#aac">13.1 aac</a>
-    <ul class="toc">
-      <li><a name="toc-Options-27" href="#Options-27">13.1.1 Options</a></li>
-    </ul></li>
-    <li><a name="toc-ac3-and-ac3_005ffixed" href="#ac3-and-ac3_005ffixed">13.2 ac3 and ac3_fixed</a>
-    <ul class="toc">
-      <li><a name="toc-AC_002d3-Metadata" href="#AC_002d3-Metadata">13.2.1 AC-3 Metadata</a>
-      <ul class="toc">
-        <li><a name="toc-Metadata-Control-Options" href="#Metadata-Control-Options">13.2.1.1 Metadata Control Options</a></li>
-        <li><a name="toc-Downmix-Levels" href="#Downmix-Levels">13.2.1.2 Downmix Levels</a></li>
-        <li><a name="toc-Audio-Production-Information" href="#Audio-Production-Information">13.2.1.3 Audio Production Information</a></li>
-        <li><a name="toc-Other-Metadata-Options" href="#Other-Metadata-Options">13.2.1.4 Other Metadata Options</a></li>
-      </ul></li>
-      <li><a name="toc-Extended-Bitstream-Information" href="#Extended-Bitstream-Information">13.2.2 Extended Bitstream Information</a>
-      <ul class="toc">
-        <li><a name="toc-Extended-Bitstream-Information-_002d-Part-1" href="#Extended-Bitstream-Information-_002d-Part-1">13.2.2.1 Extended Bitstream Information - Part 1</a></li>
-        <li><a name="toc-Extended-Bitstream-Information-_002d-Part-2" href="#Extended-Bitstream-Information-_002d-Part-2">13.2.2.2 Extended Bitstream Information - Part 2</a></li>
-      </ul></li>
-      <li><a name="toc-Other-AC_002d3-Encoding-Options" href="#Other-AC_002d3-Encoding-Options">13.2.3 Other AC-3 Encoding Options</a></li>
-      <li><a name="toc-Floating_002dPoint_002dOnly-AC_002d3-Encoding-Options" href="#Floating_002dPoint_002dOnly-AC_002d3-Encoding-Options">13.2.4 Floating-Point-Only AC-3 Encoding Options</a></li>
-    </ul></li>
-    <li><a name="toc-libfaac-1" href="#libfaac-1">13.3 libfaac</a>
-    <ul class="toc">
-      <li><a name="toc-Options-28" href="#Options-28">13.3.1 Options</a></li>
-      <li><a name="toc-Examples-43" href="#Examples-43">13.3.2 Examples</a></li>
-    </ul></li>
-    <li><a name="toc-libfdk_005faac" href="#libfdk_005faac">13.4 libfdk_aac</a>
-    <ul class="toc">
-      <li><a name="toc-Options-8" href="#Options-8">13.4.1 Options</a></li>
-      <li><a name="toc-Examples-59" href="#Examples-59">13.4.2 Examples</a></li>
-    </ul></li>
-    <li><a name="toc-libmp3lame-1" href="#libmp3lame-1">13.5 libmp3lame</a>
-    <ul class="toc">
-      <li><a name="toc-Options-17" href="#Options-17">13.5.1 Options</a></li>
-    </ul></li>
-    <li><a name="toc-libopencore_002damrnb" href="#libopencore_002damrnb">13.6 libopencore-amrnb</a>
-    <ul class="toc">
-      <li><a name="toc-Options-29" href="#Options-29">13.6.1 Options</a></li>
-    </ul></li>
-    <li><a name="toc-libshine-1" href="#libshine-1">13.7 libshine</a>
-    <ul class="toc">
-      <li><a name="toc-Options-16" href="#Options-16">13.7.1 Options</a></li>
-    </ul></li>
-    <li><a name="toc-libtwolame" href="#libtwolame">13.8 libtwolame</a>
-    <ul class="toc">
-      <li><a name="toc-Options-22" href="#Options-22">13.8.1 Options</a></li>
-    </ul></li>
-    <li><a name="toc-libvo_002daacenc-1" href="#libvo_002daacenc-1">13.9 libvo-aacenc</a>
-    <ul class="toc">
-      <li><a name="toc-Options-11" href="#Options-11">13.9.1 Options</a></li>
-    </ul></li>
-    <li><a name="toc-libvo_002damrwbenc" href="#libvo_002damrwbenc">13.10 libvo-amrwbenc</a>
-    <ul class="toc">
-      <li><a name="toc-Options-23" href="#Options-23">13.10.1 Options</a></li>
-    </ul></li>
-    <li><a name="toc-libopus-1" href="#libopus-1">13.11 libopus</a>
-    <ul class="toc">
-      <li><a name="toc-Option-Mapping" href="#Option-Mapping">13.11.1 Option Mapping</a></li>
-    </ul></li>
-    <li><a name="toc-libvorbis" href="#libvorbis">13.12 libvorbis</a>
-    <ul class="toc">
-      <li><a name="toc-Options-32" href="#Options-32">13.12.1 Options</a></li>
-    </ul></li>
-    <li><a name="toc-libwavpack" href="#libwavpack">13.13 libwavpack</a></li>
-  </ul></li>
-  <li><a name="toc-Video-Encoders" href="#Video-Encoders">14. Video Encoders</a>
-  <ul class="toc">
-    <li><a name="toc-libtheora" href="#libtheora">14.1 libtheora</a>
-    <ul class="toc">
-      <li><a name="toc-Options-19" href="#Options-19">14.1.1 Options</a></li>
-      <li><a name="toc-Examples-28" href="#Examples-28">14.1.2 Examples</a></li>
-    </ul></li>
-    <li><a name="toc-libvpx" href="#libvpx">14.2 libvpx</a>
-    <ul class="toc">
-      <li><a name="toc-Options-1" href="#Options-1">14.2.1 Options</a></li>
-    </ul></li>
-    <li><a name="toc-libx264" href="#libx264">14.3 libx264</a>
-    <ul class="toc">
-      <li><a name="toc-Options-10" href="#Options-10">14.3.1 Options</a></li>
-    </ul></li>
-    <li><a name="toc-libxvid" href="#libxvid">14.4 libxvid</a>
-    <ul class="toc">
-      <li><a name="toc-Options-14" href="#Options-14">14.4.1 Options</a></li>
-    </ul></li>
-    <li><a name="toc-png" href="#png">14.5 png</a>
-    <ul class="toc">
-      <li><a name="toc-Private-options" href="#Private-options">14.5.1 Private options</a></li>
-    </ul></li>
-    <li><a name="toc-ProRes" href="#ProRes">14.6 ProRes</a>
-    <ul class="toc">
-      <li><a name="toc-Private-Options-for-prores_002dks" href="#Private-Options-for-prores_002dks">14.6.1 Private Options for prores-ks</a></li>
-      <li><a name="toc-Speed-considerations" href="#Speed-considerations">14.6.2 Speed considerations</a></li>
+      <li><a name="toc-Options-3" href="#Options-3">11.2.1 Options</a></li>
     </ul>
 </li>
   </ul></li>
-  <li><a name="toc-Bitstream-Filters" href="#Bitstream-Filters">15. Bitstream Filters</a>
-  <ul class="toc">
-    <li><a name="toc-aac_005fadtstoasc" href="#aac_005fadtstoasc">15.1 aac_adtstoasc</a></li>
-    <li><a name="toc-chomp" href="#chomp">15.2 chomp</a></li>
-    <li><a name="toc-dump_005fextra" href="#dump_005fextra">15.3 dump_extra</a></li>
-    <li><a name="toc-h264_005fmp4toannexb" href="#h264_005fmp4toannexb">15.4 h264_mp4toannexb</a></li>
-    <li><a name="toc-imx_005fdump_005fheader" href="#imx_005fdump_005fheader">15.5 imx_dump_header</a></li>
-    <li><a name="toc-mjpeg2jpeg" href="#mjpeg2jpeg">15.6 mjpeg2jpeg</a></li>
-    <li><a name="toc-mjpega_005fdump_005fheader" href="#mjpega_005fdump_005fheader">15.7 mjpega_dump_header</a></li>
-    <li><a name="toc-movsub" href="#movsub">15.8 movsub</a></li>
-    <li><a name="toc-mp3_005fheader_005fdecompress" href="#mp3_005fheader_005fdecompress">15.9 mp3_header_decompress</a></li>
-    <li><a name="toc-noise-1" href="#noise-1">15.10 noise</a></li>
-    <li><a name="toc-remove_005fextra" href="#remove_005fextra">15.11 remove_extra</a></li>
-  </ul></li>
-  <li><a name="toc-Format-Options" href="#Format-Options">16. Format Options</a>
-  <ul class="toc">
-    <li><a name="toc-Format-stream-specifiers-1" href="#Format-stream-specifiers-1">16.1 Format stream specifiers</a></li>
-  </ul></li>
-  <li><a name="toc-Demuxers" href="#Demuxers">17. Demuxers</a>
+  <li><a name="toc-Bitstream-Filters" href="#Bitstream-Filters">12. Bitstream Filters</a>
   <ul class="toc">
-    <li><a name="toc-applehttp" href="#applehttp">17.1 applehttp</a></li>
-    <li><a name="toc-asf" href="#asf">17.2 asf</a></li>
-    <li><a name="toc-concat-3" href="#concat-3">17.3 concat</a>
-    <ul class="toc">
-      <li><a name="toc-Syntax-1" href="#Syntax-1">17.3.1 Syntax</a></li>
-      <li><a name="toc-Options-13" href="#Options-13">17.3.2 Options</a></li>
-    </ul></li>
-    <li><a name="toc-flv" href="#flv">17.4 flv</a></li>
-    <li><a name="toc-libgme" href="#libgme">17.5 libgme</a></li>
-    <li><a name="toc-libquvi" href="#libquvi">17.6 libquvi</a></li>
-    <li><a name="toc-image2-2" href="#image2-2">17.7 image2</a>
-    <ul class="toc">
-      <li><a name="toc-Examples-88" href="#Examples-88">17.7.1 Examples</a></li>
-    </ul></li>
-    <li><a name="toc-mpegts-1" href="#mpegts-1">17.8 mpegts</a></li>
-    <li><a name="toc-rawvideo" href="#rawvideo">17.9 rawvideo</a></li>
-    <li><a name="toc-sbg" href="#sbg">17.10 sbg</a></li>
-    <li><a name="toc-tedcaptions" href="#tedcaptions">17.11 tedcaptions</a></li>
+    <li><a name="toc-aac_005fadtstoasc" href="#aac_005fadtstoasc">12.1 aac_adtstoasc</a></li>
+    <li><a name="toc-chomp" href="#chomp">12.2 chomp</a></li>
+    <li><a name="toc-dump_005fextra" href="#dump_005fextra">12.3 dump_extra</a></li>
+    <li><a name="toc-h264_005fmp4toannexb" href="#h264_005fmp4toannexb">12.4 h264_mp4toannexb</a></li>
+    <li><a name="toc-imx_005fdump_005fheader" href="#imx_005fdump_005fheader">12.5 imx_dump_header</a></li>
+    <li><a name="toc-mjpeg2jpeg" href="#mjpeg2jpeg">12.6 mjpeg2jpeg</a></li>
+    <li><a name="toc-mjpega_005fdump_005fheader" href="#mjpega_005fdump_005fheader">12.7 mjpega_dump_header</a></li>
+    <li><a name="toc-movsub" href="#movsub">12.8 movsub</a></li>
+    <li><a name="toc-mp3_005fheader_005fdecompress" href="#mp3_005fheader_005fdecompress">12.9 mp3_header_decompress</a></li>
+    <li><a name="toc-noise" href="#noise">12.10 noise</a></li>
+    <li><a name="toc-remove_005fextra" href="#remove_005fextra">12.11 remove_extra</a></li>
   </ul></li>
-  <li><a name="toc-Muxers" href="#Muxers">18. Muxers</a>
+  <li><a name="toc-Format-Options" href="#Format-Options">13. Format Options</a>
   <ul class="toc">
-    <li><a name="toc-aiff-1" href="#aiff-1">18.1 aiff</a></li>
-    <li><a name="toc-crc-1" href="#crc-1">18.2 crc</a></li>
-    <li><a name="toc-framecrc-1" href="#framecrc-1">18.3 framecrc</a></li>
-    <li><a name="toc-framemd5-1" href="#framemd5-1">18.4 framemd5</a></li>
-    <li><a name="toc-gif-1" href="#gif-1">18.5 gif</a></li>
-    <li><a name="toc-hls-1" href="#hls-1">18.6 hls</a></li>
-    <li><a name="toc-ico-1" href="#ico-1">18.7 ico</a></li>
-    <li><a name="toc-image2-1" href="#image2-1">18.8 image2</a></li>
-    <li><a name="toc-matroska" href="#matroska">18.9 matroska</a></li>
-    <li><a name="toc-md5-1" href="#md5-1">18.10 md5</a></li>
-    <li><a name="toc-mov_002fmp4_002fismv" href="#mov_002fmp4_002fismv">18.11 mov/mp4/ismv</a></li>
-    <li><a name="toc-mp3" href="#mp3">18.12 mp3</a></li>
-    <li><a name="toc-mpegts" href="#mpegts">18.13 mpegts</a></li>
-    <li><a name="toc-null-1" href="#null-1">18.14 null</a></li>
-    <li><a name="toc-ogg" href="#ogg">18.15 ogg</a></li>
-    <li><a name="toc-segment_002c-stream_005fsegment_002c-ssegment" href="#segment_002c-stream_005fsegment_002c-ssegment">18.16 segment, stream_segment, ssegment</a>
-    <ul class="toc">
-      <li><a name="toc-Examples-81" href="#Examples-81">18.16.1 Examples</a></li>
-    </ul></li>
-    <li><a name="toc-tee" href="#tee">18.17 tee</a></li>
+    <li><a name="toc-Format-stream-specifiers-1" href="#Format-stream-specifiers-1">13.1 Format stream specifiers</a></li>
   </ul></li>
-  <li><a name="toc-Metadata" href="#Metadata">19. Metadata</a></li>
-  <li><a name="toc-Protocols" href="#Protocols">20. Protocols</a>
+  <li><a name="toc-Demuxers" href="#Demuxers">14. Demuxers</a>
   <ul class="toc">
-    <li><a name="toc-bluray" href="#bluray">20.1 bluray</a></li>
-    <li><a name="toc-cache" href="#cache">20.2 cache</a></li>
-    <li><a name="toc-concat-1" href="#concat-1">20.3 concat</a></li>
-    <li><a name="toc-crypto" href="#crypto">20.4 crypto</a></li>
-    <li><a name="toc-data" href="#data">20.5 data</a></li>
-    <li><a name="toc-file" href="#file">20.6 file</a></li>
-    <li><a name="toc-ftp" href="#ftp">20.7 ftp</a></li>
-    <li><a name="toc-gopher" href="#gopher">20.8 gopher</a></li>
-    <li><a name="toc-hls-2" href="#hls-2">20.9 hls</a></li>
-    <li><a name="toc-http" href="#http">20.10 http</a>
+    <li><a name="toc-applehttp" href="#applehttp">14.1 applehttp</a></li>
+    <li><a name="toc-asf" href="#asf">14.2 asf</a></li>
+    <li><a name="toc-concat-1" href="#concat-1">14.3 concat</a>
     <ul class="toc">
-      <li><a name="toc-HTTP-Cookies" href="#HTTP-Cookies">20.10.1 HTTP Cookies</a></li>
+      <li><a name="toc-Syntax-1" href="#Syntax-1">14.3.1 Syntax</a></li>
+      <li><a name="toc-Options-2" href="#Options-2">14.3.2 Options</a></li>
     </ul></li>
-    <li><a name="toc-mmst" href="#mmst">20.11 mmst</a></li>
-    <li><a name="toc-mmsh" href="#mmsh">20.12 mmsh</a></li>
-    <li><a name="toc-md5-2" href="#md5-2">20.13 md5</a></li>
-    <li><a name="toc-pipe" href="#pipe">20.14 pipe</a></li>
-    <li><a name="toc-rtmp" href="#rtmp">20.15 rtmp</a></li>
-    <li><a name="toc-rtmpe" href="#rtmpe">20.16 rtmpe</a></li>
-    <li><a name="toc-rtmps" href="#rtmps">20.17 rtmps</a></li>
-    <li><a name="toc-rtmpt" href="#rtmpt">20.18 rtmpt</a></li>
-    <li><a name="toc-rtmpte" href="#rtmpte">20.19 rtmpte</a></li>
-    <li><a name="toc-rtmpts" href="#rtmpts">20.20 rtmpts</a></li>
-    <li><a name="toc-libssh" href="#libssh">20.21 libssh</a></li>
-    <li><a name="toc-librtmp-rtmp_002c-rtmpe_002c-rtmps_002c-rtmpt_002c-rtmpte" href="#librtmp-rtmp_002c-rtmpe_002c-rtmps_002c-rtmpt_002c-rtmpte">20.22 librtmp rtmp, rtmpe, rtmps, rtmpt, rtmpte</a></li>
-    <li><a name="toc-rtp" href="#rtp">20.23 rtp</a></li>
-    <li><a name="toc-rtsp" href="#rtsp">20.24 rtsp</a></li>
-    <li><a name="toc-sap" href="#sap">20.25 sap</a>
+    <li><a name="toc-flv" href="#flv">14.4 flv</a></li>
+    <li><a name="toc-libgme" href="#libgme">14.5 libgme</a></li>
+    <li><a name="toc-libquvi" href="#libquvi">14.6 libquvi</a></li>
+    <li><a name="toc-image2" href="#image2">14.7 image2</a>
     <ul class="toc">
-      <li><a name="toc-Muxer" href="#Muxer">20.25.1 Muxer</a></li>
-      <li><a name="toc-Demuxer" href="#Demuxer">20.25.2 Demuxer</a></li>
+      <li><a name="toc-Examples-75" href="#Examples-75">14.7.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-sctp" href="#sctp">20.26 sctp</a></li>
-    <li><a name="toc-srtp" href="#srtp">20.27 srtp</a></li>
-    <li><a name="toc-tcp" href="#tcp">20.28 tcp</a></li>
-    <li><a name="toc-tls" href="#tls">20.29 tls</a></li>
-    <li><a name="toc-udp" href="#udp">20.30 udp</a></li>
-    <li><a name="toc-unix" href="#unix">20.31 unix</a></li>
+    <li><a name="toc-mpegts" href="#mpegts">14.8 mpegts</a></li>
+    <li><a name="toc-rawvideo" href="#rawvideo">14.9 rawvideo</a></li>
+    <li><a name="toc-sbg" href="#sbg">14.10 sbg</a></li>
+    <li><a name="toc-tedcaptions" href="#tedcaptions">14.11 tedcaptions</a></li>
   </ul></li>
-  <li><a name="toc-Device-Options" href="#Device-Options">21. Device Options</a></li>
-  <li><a name="toc-Input-Devices" href="#Input-Devices">22. Input Devices</a>
+  <li><a name="toc-Metadata" href="#Metadata">15. Metadata</a></li>
+  <li><a name="toc-Protocols" href="#Protocols">16. Protocols</a>
   <ul class="toc">
-    <li><a name="toc-alsa-1" href="#alsa-1">22.1 alsa</a></li>
-    <li><a name="toc-bktr" href="#bktr">22.2 bktr</a></li>
-    <li><a name="toc-dshow" href="#dshow">22.3 dshow</a>
-    <ul class="toc">
-      <li><a name="toc-Options-18" href="#Options-18">22.3.1 Options</a></li>
-      <li><a name="toc-Examples-71" href="#Examples-71">22.3.2 Examples</a></li>
-    </ul></li>
-    <li><a name="toc-dv1394" href="#dv1394">22.4 dv1394</a></li>
-    <li><a name="toc-fbdev-1" href="#fbdev-1">22.5 fbdev</a></li>
-    <li><a name="toc-iec61883" href="#iec61883">22.6 iec61883</a>
-    <ul class="toc">
-      <li><a name="toc-Options-5" href="#Options-5">22.6.1 Options</a></li>
-      <li><a name="toc-Examples-37" href="#Examples-37">22.6.2 Examples</a></li>
-    </ul></li>
-    <li><a name="toc-jack" href="#jack">22.7 jack</a></li>
-    <li><a name="toc-lavfi" href="#lavfi">22.8 lavfi</a>
+    <li><a name="toc-bluray" href="#bluray">16.1 bluray</a></li>
+    <li><a name="toc-cache" href="#cache">16.2 cache</a></li>
+    <li><a name="toc-concat-3" href="#concat-3">16.3 concat</a></li>
+    <li><a name="toc-crypto" href="#crypto">16.4 crypto</a></li>
+    <li><a name="toc-data" href="#data">16.5 data</a></li>
+    <li><a name="toc-file" href="#file">16.6 file</a></li>
+    <li><a name="toc-ftp" href="#ftp">16.7 ftp</a></li>
+    <li><a name="toc-gopher" href="#gopher">16.8 gopher</a></li>
+    <li><a name="toc-hls" href="#hls">16.9 hls</a></li>
+    <li><a name="toc-http" href="#http">16.10 http</a>
     <ul class="toc">
-      <li><a name="toc-Options-31" href="#Options-31">22.8.1 Options</a></li>
-      <li><a name="toc-Examples-87" href="#Examples-87">22.8.2 Examples</a></li>
+      <li><a name="toc-HTTP-Cookies" href="#HTTP-Cookies">16.10.1 HTTP Cookies</a></li>
     </ul></li>
-    <li><a name="toc-libdc1394" href="#libdc1394">22.9 libdc1394</a></li>
-    <li><a name="toc-openal" href="#openal">22.10 openal</a>
+    <li><a name="toc-mmst" href="#mmst">16.11 mmst</a></li>
+    <li><a name="toc-mmsh" href="#mmsh">16.12 mmsh</a></li>
+    <li><a name="toc-md5" href="#md5">16.13 md5</a></li>
+    <li><a name="toc-pipe" href="#pipe">16.14 pipe</a></li>
+    <li><a name="toc-rtmp" href="#rtmp">16.15 rtmp</a></li>
+    <li><a name="toc-rtmpe" href="#rtmpe">16.16 rtmpe</a></li>
+    <li><a name="toc-rtmps" href="#rtmps">16.17 rtmps</a></li>
+    <li><a name="toc-rtmpt" href="#rtmpt">16.18 rtmpt</a></li>
+    <li><a name="toc-rtmpte" href="#rtmpte">16.19 rtmpte</a></li>
+    <li><a name="toc-rtmpts" href="#rtmpts">16.20 rtmpts</a></li>
+    <li><a name="toc-libssh" href="#libssh">16.21 libssh</a></li>
+    <li><a name="toc-librtmp-rtmp_002c-rtmpe_002c-rtmps_002c-rtmpt_002c-rtmpte" href="#librtmp-rtmp_002c-rtmpe_002c-rtmps_002c-rtmpt_002c-rtmpte">16.22 librtmp rtmp, rtmpe, rtmps, rtmpt, rtmpte</a></li>
+    <li><a name="toc-rtp" href="#rtp">16.23 rtp</a></li>
+    <li><a name="toc-rtsp" href="#rtsp">16.24 rtsp</a>
     <ul class="toc">
-      <li><a name="toc-Options-26" href="#Options-26">22.10.1 Options</a></li>
-      <li><a name="toc-Examples-74" href="#Examples-74">22.10.2 Examples</a></li>
+      <li><a name="toc-Examples-78" href="#Examples-78">16.24.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-oss" href="#oss">22.11 oss</a></li>
-    <li><a name="toc-pulse-1" href="#pulse-1">22.12 pulse</a>
+    <li><a name="toc-sap" href="#sap">16.25 sap</a>
     <ul class="toc">
-      <li><a name="toc-Options-30" href="#Options-30">22.12.1 Options</a></li>
-      <li><a name="toc-Examples-49" href="#Examples-49">22.12.2 Examples</a></li>
+      <li><a name="toc-Muxer" href="#Muxer">16.25.1 Muxer</a></li>
+      <li><a name="toc-Demuxer" href="#Demuxer">16.25.2 Demuxer</a></li>
     </ul></li>
-    <li><a name="toc-sndio-1" href="#sndio-1">22.13 sndio</a></li>
-    <li><a name="toc-video4linux2_002c-v4l2" href="#video4linux2_002c-v4l2">22.14 video4linux2, v4l2</a>
+    <li><a name="toc-sctp" href="#sctp">16.26 sctp</a></li>
+    <li><a name="toc-srtp" href="#srtp">16.27 srtp</a></li>
+    <li><a name="toc-tcp" href="#tcp">16.28 tcp</a></li>
+    <li><a name="toc-tls" href="#tls">16.29 tls</a></li>
+    <li><a name="toc-udp" href="#udp">16.30 udp</a>
     <ul class="toc">
-      <li><a name="toc-Options-2" href="#Options-2">22.14.1 Options</a></li>
+      <li><a name="toc-Examples-53" href="#Examples-53">16.30.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-vfwcap" href="#vfwcap">22.15 vfwcap</a></li>
-    <li><a name="toc-x11grab" href="#x11grab">22.16 x11grab</a>
-    <ul class="toc">
-      <li><a name="toc-Options-20" href="#Options-20">22.16.1 Options</a></li>
-    </ul>
-</li>
+    <li><a name="toc-unix" href="#unix">16.31 unix</a></li>
   </ul></li>
-  <li><a name="toc-Output-Devices" href="#Output-Devices">23. Output Devices</a>
+  <li><a name="toc-Device-Options" href="#Device-Options">17. Device Options</a></li>
+  <li><a name="toc-Input-Devices" href="#Input-Devices">18. Input Devices</a>
   <ul class="toc">
-    <li><a name="toc-alsa" href="#alsa">23.1 alsa</a>
+    <li><a name="toc-alsa" href="#alsa">18.1 alsa</a></li>
+    <li><a name="toc-bktr" href="#bktr">18.2 bktr</a></li>
+    <li><a name="toc-dshow" href="#dshow">18.3 dshow</a>
     <ul class="toc">
-      <li><a name="toc-Examples-33" href="#Examples-33">23.1.1 Examples</a></li>
+      <li><a name="toc-Options-1" href="#Options-1">18.3.1 Options</a></li>
+      <li><a name="toc-Examples-23" href="#Examples-23">18.3.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-caca" href="#caca">23.2 caca</a>
+    <li><a name="toc-dv1394" href="#dv1394">18.4 dv1394</a></li>
+    <li><a name="toc-fbdev" href="#fbdev">18.5 fbdev</a></li>
+    <li><a name="toc-iec61883" href="#iec61883">18.6 iec61883</a>
     <ul class="toc">
-      <li><a name="toc-Options-4" href="#Options-4">23.2.1 Options</a></li>
-      <li><a name="toc-Examples-56" href="#Examples-56">23.2.2 Examples</a></li>
+      <li><a name="toc-Options-12" href="#Options-12">18.6.1 Options</a></li>
+      <li><a name="toc-Examples-26" href="#Examples-26">18.6.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-fbdev" href="#fbdev">23.3 fbdev</a>
+    <li><a name="toc-jack" href="#jack">18.7 jack</a></li>
+    <li><a name="toc-lavfi" href="#lavfi">18.8 lavfi</a>
     <ul class="toc">
-      <li><a name="toc-Options-15" href="#Options-15">23.3.1 Options</a></li>
-      <li><a name="toc-Examples-66" href="#Examples-66">23.3.2 Examples</a></li>
+      <li><a name="toc-Options-13" href="#Options-13">18.8.1 Options</a></li>
+      <li><a name="toc-Examples-27" href="#Examples-27">18.8.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-oss-1" href="#oss-1">23.4 oss</a></li>
-    <li><a name="toc-pulse" href="#pulse">23.5 pulse</a>
+    <li><a name="toc-libdc1394" href="#libdc1394">18.9 libdc1394</a></li>
+    <li><a name="toc-openal" href="#openal">18.10 openal</a>
     <ul class="toc">
-      <li><a name="toc-Options-6" href="#Options-6">23.5.1 Options</a></li>
-      <li><a name="toc-Examples-23" href="#Examples-23">23.5.2 Examples</a></li>
+      <li><a name="toc-Options-14" href="#Options-14">18.10.1 Options</a></li>
+      <li><a name="toc-Examples-42" href="#Examples-42">18.10.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-sdl" href="#sdl">23.6 sdl</a>
+    <li><a name="toc-oss" href="#oss">18.11 oss</a></li>
+    <li><a name="toc-pulse" href="#pulse">18.12 pulse</a>
     <ul class="toc">
-      <li><a name="toc-Options-12" href="#Options-12">23.6.1 Options</a></li>
-      <li><a name="toc-Interactive-commands" href="#Interactive-commands">23.6.2 Interactive commands</a></li>
-      <li><a name="toc-Examples-82" href="#Examples-82">23.6.3 Examples</a></li>
+      <li><a name="toc-Options" href="#Options">18.12.1 Options</a></li>
+      <li><a name="toc-Examples-71" href="#Examples-71">18.12.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-sndio" href="#sndio">23.7 sndio</a></li>
-    <li><a name="toc-xv" href="#xv">23.8 xv</a>
+    <li><a name="toc-sndio" href="#sndio">18.13 sndio</a></li>
+    <li><a name="toc-video4linux2_002c-v4l2" href="#video4linux2_002c-v4l2">18.14 video4linux2, v4l2</a>
     <ul class="toc">
-      <li><a name="toc-Options-3" href="#Options-3">23.8.1 Options</a></li>
-      <li><a name="toc-Examples-48" href="#Examples-48">23.8.2 Examples</a></li>
+      <li><a name="toc-Options-9" href="#Options-9">18.14.1 Options</a></li>
+    </ul></li>
+    <li><a name="toc-vfwcap" href="#vfwcap">18.15 vfwcap</a></li>
+    <li><a name="toc-x11grab" href="#x11grab">18.16 x11grab</a>
+    <ul class="toc">
+      <li><a name="toc-Options-8" href="#Options-8">18.16.1 Options</a></li>
     </ul>
 </li>
   </ul></li>
-  <li><a name="toc-Resampler-Options" href="#Resampler-Options">24. Resampler Options</a></li>
-  <li><a name="toc-Scaler-Options" href="#Scaler-Options">25. Scaler Options</a></li>
-  <li><a name="toc-Filtering-Introduction" href="#Filtering-Introduction">26. Filtering Introduction</a></li>
-  <li><a name="toc-graph2dot" href="#graph2dot">27. graph2dot</a></li>
-  <li><a name="toc-Filtergraph-description" href="#Filtergraph-description">28. Filtergraph description</a>
+  <li><a name="toc-Resampler-Options" href="#Resampler-Options">19. Resampler Options</a></li>
+  <li><a name="toc-Scaler-Options" href="#Scaler-Options">20. Scaler Options</a></li>
+  <li><a name="toc-Filtering-Introduction" href="#Filtering-Introduction">21. Filtering Introduction</a></li>
+  <li><a name="toc-graph2dot" href="#graph2dot">22. graph2dot</a></li>
+  <li><a name="toc-Filtergraph-description" href="#Filtergraph-description">23. Filtergraph description</a>
   <ul class="toc">
-    <li><a name="toc-Filtergraph-syntax-1" href="#Filtergraph-syntax-1">28.1 Filtergraph syntax</a></li>
-    <li><a name="toc-Notes-on-filtergraph-escaping" href="#Notes-on-filtergraph-escaping">28.2 Notes on filtergraph escaping</a></li>
+    <li><a name="toc-Filtergraph-syntax-1" href="#Filtergraph-syntax-1">23.1 Filtergraph syntax</a></li>
+    <li><a name="toc-Notes-on-filtergraph-escaping" href="#Notes-on-filtergraph-escaping">23.2 Notes on filtergraph escaping</a></li>
   </ul></li>
-  <li><a name="toc-Timeline-editing" href="#Timeline-editing">29. Timeline editing</a></li>
-  <li><a name="toc-Audio-Filters" href="#Audio-Filters">30. Audio Filters</a>
+  <li><a name="toc-Timeline-editing" href="#Timeline-editing">24. Timeline editing</a></li>
+  <li><a name="toc-Audio-Filters" href="#Audio-Filters">25. Audio Filters</a>
   <ul class="toc">
-    <li><a name="toc-aconvert" href="#aconvert">30.1 aconvert</a>
+    <li><a name="toc-aconvert" href="#aconvert">25.1 aconvert</a>
+    <ul class="toc">
+      <li><a name="toc-Examples-18" href="#Examples-18">25.1.1 Examples</a></li>
+    </ul></li>
+    <li><a name="toc-adelay" href="#adelay">25.2 adelay</a>
     <ul class="toc">
-      <li><a name="toc-Examples-47" href="#Examples-47">30.1.1 Examples</a></li>
+      <li><a name="toc-Examples-30" href="#Examples-30">25.2.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-adelay" href="#adelay">30.2 adelay</a>
+    <li><a name="toc-aecho" href="#aecho">25.3 aecho</a>
     <ul class="toc">
-      <li><a name="toc-Examples-41" href="#Examples-41">30.2.1 Examples</a></li>
+      <li><a name="toc-Examples-41" href="#Examples-41">25.3.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-aecho" href="#aecho">30.3 aecho</a>
+    <li><a name="toc-aeval" href="#aeval">25.4 aeval</a>
     <ul class="toc">
-      <li><a name="toc-Examples-19" href="#Examples-19">30.3.1 Examples</a></li>
+      <li><a name="toc-Examples-21" href="#Examples-21">25.4.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-aeval" href="#aeval">30.4 aeval</a>
+    <li><a name="toc-afade" href="#afade">25.5 afade</a>
     <ul class="toc">
-      <li><a name="toc-Examples-34" href="#Examples-34">30.4.1 Examples</a></li>
+      <li><a name="toc-Examples-72" href="#Examples-72">25.5.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-afade" href="#afade">30.5 afade</a>
+    <li><a name="toc-aformat-1" href="#aformat-1">25.6 aformat</a></li>
+    <li><a name="toc-allpass" href="#allpass">25.7 allpass</a></li>
+    <li><a name="toc-amerge" href="#amerge">25.8 amerge</a>
     <ul class="toc">
-      <li><a name="toc-Examples-24" href="#Examples-24">30.5.1 Examples</a></li>
+      <li><a name="toc-Examples-28" href="#Examples-28">25.8.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-aformat-1" href="#aformat-1">30.6 aformat</a></li>
-    <li><a name="toc-allpass" href="#allpass">30.7 allpass</a></li>
-    <li><a name="toc-amerge" href="#amerge">30.8 amerge</a>
+    <li><a name="toc-amix" href="#amix">25.9 amix</a></li>
+    <li><a name="toc-anull" href="#anull">25.10 anull</a></li>
+    <li><a name="toc-apad" href="#apad">25.11 apad</a></li>
+    <li><a name="toc-aphaser" href="#aphaser">25.12 aphaser</a></li>
+    <li><a name="toc-aresample-1" href="#aresample-1">25.13 aresample</a>
     <ul class="toc">
-      <li><a name="toc-Examples-62" href="#Examples-62">30.8.1 Examples</a></li>
+      <li><a name="toc-Examples-84" href="#Examples-84">25.13.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-amix" href="#amix">30.9 amix</a></li>
-    <li><a name="toc-anull" href="#anull">30.10 anull</a></li>
-    <li><a name="toc-apad" href="#apad">30.11 apad</a></li>
-    <li><a name="toc-aphaser" href="#aphaser">30.12 aphaser</a></li>
-    <li><a name="toc-aresample-1" href="#aresample-1">30.13 aresample</a>
+    <li><a name="toc-asetnsamples" href="#asetnsamples">25.14 asetnsamples</a></li>
+    <li><a name="toc-asetrate" href="#asetrate">25.15 asetrate</a></li>
+    <li><a name="toc-ashowinfo" href="#ashowinfo">25.16 ashowinfo</a></li>
+    <li><a name="toc-astats" href="#astats">25.17 astats</a></li>
+    <li><a name="toc-astreamsync" href="#astreamsync">25.18 astreamsync</a>
     <ul class="toc">
-      <li><a name="toc-Examples-22" href="#Examples-22">30.13.1 Examples</a></li>
+      <li><a name="toc-Examples-35" href="#Examples-35">25.18.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-asetnsamples" href="#asetnsamples">30.14 asetnsamples</a></li>
-    <li><a name="toc-asetrate" href="#asetrate">30.15 asetrate</a></li>
-    <li><a name="toc-ashowinfo" href="#ashowinfo">30.16 ashowinfo</a></li>
-    <li><a name="toc-astats" href="#astats">30.17 astats</a></li>
-    <li><a name="toc-astreamsync" href="#astreamsync">30.18 astreamsync</a>
+    <li><a name="toc-asyncts" href="#asyncts">25.19 asyncts</a></li>
+    <li><a name="toc-atempo" href="#atempo">25.20 atempo</a>
     <ul class="toc">
-      <li><a name="toc-Examples-46" href="#Examples-46">30.18.1 Examples</a></li>
+      <li><a name="toc-Examples-57" href="#Examples-57">25.20.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-asyncts" href="#asyncts">30.19 asyncts</a></li>
-    <li><a name="toc-atempo" href="#atempo">30.20 atempo</a>
+    <li><a name="toc-atrim" href="#atrim">25.21 atrim</a></li>
+    <li><a name="toc-bandpass" href="#bandpass">25.22 bandpass</a></li>
+    <li><a name="toc-bandreject" href="#bandreject">25.23 bandreject</a></li>
+    <li><a name="toc-bass" href="#bass">25.24 bass</a></li>
+    <li><a name="toc-biquad" href="#biquad">25.25 biquad</a></li>
+    <li><a name="toc-channelmap" href="#channelmap">25.26 channelmap</a></li>
+    <li><a name="toc-channelsplit" href="#channelsplit">25.27 channelsplit</a></li>
+    <li><a name="toc-compand" href="#compand">25.28 compand</a>
     <ul class="toc">
-      <li><a name="toc-Examples-60" href="#Examples-60">30.20.1 Examples</a></li>
+      <li><a name="toc-Examples-37" href="#Examples-37">25.28.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-atrim" href="#atrim">30.21 atrim</a></li>
-    <li><a name="toc-bandpass" href="#bandpass">30.22 bandpass</a></li>
-    <li><a name="toc-bandreject" href="#bandreject">30.23 bandreject</a></li>
-    <li><a name="toc-bass" href="#bass">30.24 bass</a></li>
-    <li><a name="toc-biquad" href="#biquad">30.25 biquad</a></li>
-    <li><a name="toc-channelmap" href="#channelmap">30.26 channelmap</a></li>
-    <li><a name="toc-channelsplit" href="#channelsplit">30.27 channelsplit</a></li>
-    <li><a name="toc-compand" href="#compand">30.28 compand</a>
+    <li><a name="toc-earwax" href="#earwax">25.29 earwax</a></li>
+    <li><a name="toc-equalizer" href="#equalizer">25.30 equalizer</a>
     <ul class="toc">
-      <li><a name="toc-Examples-15" href="#Examples-15">30.28.1 Examples</a></li>
+      <li><a name="toc-Examples-69" href="#Examples-69">25.30.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-earwax" href="#earwax">30.29 earwax</a></li>
-    <li><a name="toc-equalizer" href="#equalizer">30.30 equalizer</a></li>
-    <li><a name="toc-highpass" href="#highpass">30.31 highpass</a></li>
-    <li><a name="toc-join" href="#join">30.32 join</a></li>
-    <li><a name="toc-ladspa" href="#ladspa">30.33 ladspa</a>
+    <li><a name="toc-highpass" href="#highpass">25.31 highpass</a></li>
+    <li><a name="toc-join" href="#join">25.32 join</a></li>
+    <li><a name="toc-ladspa" href="#ladspa">25.33 ladspa</a>
     <ul class="toc">
-      <li><a name="toc-Examples-9" href="#Examples-9">30.33.1 Examples</a></li>
-      <li><a name="toc-Commands-3" href="#Commands-3">30.33.2 Commands</a></li>
+      <li><a name="toc-Examples-54" href="#Examples-54">25.33.1 Examples</a></li>
+      <li><a name="toc-Commands-1" href="#Commands-1">25.33.2 Commands</a></li>
     </ul></li>
-    <li><a name="toc-lowpass" href="#lowpass">30.34 lowpass</a></li>
-    <li><a name="toc-pan" href="#pan">30.35 pan</a>
+    <li><a name="toc-lowpass" href="#lowpass">25.34 lowpass</a></li>
+    <li><a name="toc-pan" href="#pan">25.35 pan</a>
     <ul class="toc">
-      <li><a name="toc-Mixing-examples" href="#Mixing-examples">30.35.1 Mixing examples</a></li>
-      <li><a name="toc-Remapping-examples" href="#Remapping-examples">30.35.2 Remapping examples</a></li>
+      <li><a name="toc-Mixing-examples" href="#Mixing-examples">25.35.1 Mixing examples</a></li>
+      <li><a name="toc-Remapping-examples" href="#Remapping-examples">25.35.2 Remapping examples</a></li>
     </ul></li>
-    <li><a name="toc-replaygain" href="#replaygain">30.36 replaygain</a></li>
-    <li><a name="toc-resample" href="#resample">30.37 resample</a></li>
-    <li><a name="toc-silencedetect" href="#silencedetect">30.38 silencedetect</a>
+    <li><a name="toc-replaygain" href="#replaygain">25.36 replaygain</a></li>
+    <li><a name="toc-resample" href="#resample">25.37 resample</a></li>
+    <li><a name="toc-silencedetect" href="#silencedetect">25.38 silencedetect</a>
     <ul class="toc">
-      <li><a name="toc-Examples-64" href="#Examples-64">30.38.1 Examples</a></li>
+      <li><a name="toc-Examples-14" href="#Examples-14">25.38.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-treble" href="#treble">30.39 treble</a></li>
-    <li><a name="toc-volume" href="#volume">30.40 volume</a>
+    <li><a name="toc-treble" href="#treble">25.39 treble</a></li>
+    <li><a name="toc-volume" href="#volume">25.40 volume</a>
     <ul class="toc">
-      <li><a name="toc-Examples-80" href="#Examples-80">30.40.1 Examples</a></li>
+      <li><a name="toc-Commands-3" href="#Commands-3">25.40.1 Commands</a></li>
+      <li><a name="toc-Examples-51" href="#Examples-51">25.40.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-volumedetect" href="#volumedetect">30.41 volumedetect</a>
+    <li><a name="toc-volumedetect" href="#volumedetect">25.41 volumedetect</a>
     <ul class="toc">
-      <li><a name="toc-Examples-55" href="#Examples-55">30.41.1 Examples</a></li>
+      <li><a name="toc-Examples-63" href="#Examples-63">25.41.1 Examples</a></li>
     </ul>
 </li>
   </ul></li>
-  <li><a name="toc-Audio-Sources" href="#Audio-Sources">31. Audio Sources</a>
+  <li><a name="toc-Audio-Sources" href="#Audio-Sources">26. Audio Sources</a>
   <ul class="toc">
-    <li><a name="toc-abuffer" href="#abuffer">31.1 abuffer</a>
+    <li><a name="toc-abuffer" href="#abuffer">26.1 abuffer</a>
     <ul class="toc">
-      <li><a name="toc-Examples-27" href="#Examples-27">31.1.1 Examples</a></li>
+      <li><a name="toc-Examples-6" href="#Examples-6">26.1.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-aevalsrc" href="#aevalsrc">31.2 aevalsrc</a>
+    <li><a name="toc-aevalsrc" href="#aevalsrc">26.2 aevalsrc</a>
     <ul class="toc">
-      <li><a name="toc-Examples-78" href="#Examples-78">31.2.1 Examples</a></li>
+      <li><a name="toc-Examples-56" href="#Examples-56">26.2.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-anullsrc" href="#anullsrc">31.3 anullsrc</a>
+    <li><a name="toc-anullsrc" href="#anullsrc">26.3 anullsrc</a>
     <ul class="toc">
-      <li><a name="toc-Examples-84" href="#Examples-84">31.3.1 Examples</a></li>
+      <li><a name="toc-Examples-38" href="#Examples-38">26.3.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-flite" href="#flite">31.4 flite</a>
+    <li><a name="toc-flite" href="#flite">26.4 flite</a>
     <ul class="toc">
-      <li><a name="toc-Examples-85" href="#Examples-85">31.4.1 Examples</a></li>
+      <li><a name="toc-Examples-80" href="#Examples-80">26.4.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-sine" href="#sine">31.5 sine</a>
+    <li><a name="toc-sine" href="#sine">26.5 sine</a>
     <ul class="toc">
-      <li><a name="toc-Examples-32" href="#Examples-32">31.5.1 Examples</a></li>
+      <li><a name="toc-Examples-50" href="#Examples-50">26.5.1 Examples</a></li>
     </ul>
 </li>
   </ul></li>
-  <li><a name="toc-Audio-Sinks" href="#Audio-Sinks">32. Audio Sinks</a>
+  <li><a name="toc-Audio-Sinks" href="#Audio-Sinks">27. Audio Sinks</a>
   <ul class="toc">
-    <li><a name="toc-abuffersink" href="#abuffersink">32.1 abuffersink</a></li>
-    <li><a name="toc-anullsink" href="#anullsink">32.2 anullsink</a></li>
+    <li><a name="toc-abuffersink" href="#abuffersink">27.1 abuffersink</a></li>
+    <li><a name="toc-anullsink" href="#anullsink">27.2 anullsink</a></li>
   </ul></li>
-  <li><a name="toc-Video-Filters" href="#Video-Filters">33. Video Filters</a>
+  <li><a name="toc-Video-Filters" href="#Video-Filters">28. Video Filters</a>
   <ul class="toc">
-    <li><a name="toc-alphaextract" href="#alphaextract">33.1 alphaextract</a></li>
-    <li><a name="toc-alphamerge" href="#alphamerge">33.2 alphamerge</a></li>
-    <li><a name="toc-ass" href="#ass">33.3 ass</a></li>
-    <li><a name="toc-bbox" href="#bbox">33.4 bbox</a></li>
-    <li><a name="toc-blackdetect" href="#blackdetect">33.5 blackdetect</a></li>
-    <li><a name="toc-blackframe" href="#blackframe">33.6 blackframe</a></li>
-    <li><a name="toc-blend" href="#blend">33.7 blend</a>
+    <li><a name="toc-alphaextract" href="#alphaextract">28.1 alphaextract</a></li>
+    <li><a name="toc-alphamerge" href="#alphamerge">28.2 alphamerge</a></li>
+    <li><a name="toc-ass" href="#ass">28.3 ass</a></li>
+    <li><a name="toc-bbox" href="#bbox">28.4 bbox</a></li>
+    <li><a name="toc-blackdetect" href="#blackdetect">28.5 blackdetect</a></li>
+    <li><a name="toc-blackframe" href="#blackframe">28.6 blackframe</a></li>
+    <li><a name="toc-blend" href="#blend">28.7 blend</a>
     <ul class="toc">
-      <li><a name="toc-Examples-54" href="#Examples-54">33.7.1 Examples</a></li>
+      <li><a name="toc-Examples-62" href="#Examples-62">28.7.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-boxblur" href="#boxblur">33.8 boxblur</a>
+    <li><a name="toc-boxblur" href="#boxblur">28.8 boxblur</a>
     <ul class="toc">
-      <li><a name="toc-Examples-4" href="#Examples-4">33.8.1 Examples</a></li>
+      <li><a name="toc-Examples-12" href="#Examples-12">28.8.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-colorbalance" href="#colorbalance">33.9 colorbalance</a>
+    <li><a name="toc-colorbalance" href="#colorbalance">28.9 colorbalance</a>
     <ul class="toc">
-      <li><a name="toc-Examples-89" href="#Examples-89">33.9.1 Examples</a></li>
+      <li><a name="toc-Examples-68" href="#Examples-68">28.9.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-colorchannelmixer" href="#colorchannelmixer">33.10 colorchannelmixer</a>
+    <li><a name="toc-colorchannelmixer" href="#colorchannelmixer">28.10 colorchannelmixer</a>
     <ul class="toc">
-      <li><a name="toc-Examples-65" href="#Examples-65">33.10.1 Examples</a></li>
+      <li><a name="toc-Examples-33" href="#Examples-33">28.10.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-colormatrix" href="#colormatrix">33.11 colormatrix</a></li>
-    <li><a name="toc-copy" href="#copy">33.12 copy</a></li>
-    <li><a name="toc-crop" href="#crop">33.13 crop</a>
+    <li><a name="toc-colormatrix" href="#colormatrix">28.11 colormatrix</a></li>
+    <li><a name="toc-copy" href="#copy">28.12 copy</a></li>
+    <li><a name="toc-crop" href="#crop">28.13 crop</a>
     <ul class="toc">
-      <li><a name="toc-Examples-8" href="#Examples-8">33.13.1 Examples</a></li>
+      <li><a name="toc-Examples-64" href="#Examples-64">28.13.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-cropdetect" href="#cropdetect">33.14 cropdetect</a></li>
-    <li><a name="toc-curves-1" href="#curves-1">33.15 curves</a>
+    <li><a name="toc-cropdetect" href="#cropdetect">28.14 cropdetect</a></li>
+    <li><a name="toc-curves-1" href="#curves-1">28.15 curves</a>
     <ul class="toc">
-      <li><a name="toc-Examples-75" href="#Examples-75">33.15.1 Examples</a></li>
+      <li><a name="toc-Examples-77" href="#Examples-77">28.15.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-dctdnoiz" href="#dctdnoiz">33.16 dctdnoiz</a>
+    <li><a name="toc-dctdnoiz" href="#dctdnoiz">28.16 dctdnoiz</a>
     <ul class="toc">
-      <li><a name="toc-Examples-20" href="#Examples-20">33.16.1 Examples</a></li>
+      <li><a name="toc-Examples-22" href="#Examples-22">28.16.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-decimate-1" href="#decimate-1">33.17 decimate</a></li>
-    <li><a name="toc-delogo" href="#delogo">33.18 delogo</a>
+    <li><a name="toc-decimate-1" href="#decimate-1">28.17 decimate</a></li>
+    <li><a name="toc-dejudder" href="#dejudder">28.18 dejudder</a></li>
+    <li><a name="toc-delogo" href="#delogo">28.19 delogo</a>
     <ul class="toc">
-      <li><a name="toc-Examples-44" href="#Examples-44">33.18.1 Examples</a></li>
+      <li><a name="toc-Examples-32" href="#Examples-32">28.19.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-deshake" href="#deshake">33.19 deshake</a></li>
-    <li><a name="toc-drawbox" href="#drawbox">33.20 drawbox</a>
+    <li><a name="toc-deshake" href="#deshake">28.20 deshake</a></li>
+    <li><a name="toc-drawbox" href="#drawbox">28.21 drawbox</a>
     <ul class="toc">
-      <li><a name="toc-Examples-86" href="#Examples-86">33.20.1 Examples</a></li>
+      <li><a name="toc-Examples-19" href="#Examples-19">28.21.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-drawgrid" href="#drawgrid">33.21 drawgrid</a>
+    <li><a name="toc-drawgrid" href="#drawgrid">28.22 drawgrid</a>
     <ul class="toc">
-      <li><a name="toc-Examples-36" href="#Examples-36">33.21.1 Examples</a></li>
+      <li><a name="toc-Examples-40" href="#Examples-40">28.22.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-drawtext-1" href="#drawtext-1">33.22 drawtext</a>
+    <li><a name="toc-drawtext-1" href="#drawtext-1">28.23 drawtext</a>
     <ul class="toc">
-      <li><a name="toc-Syntax" href="#Syntax">33.22.1 Syntax</a></li>
-      <li><a name="toc-Text-expansion" href="#Text-expansion">33.22.2 Text expansion</a></li>
-      <li><a name="toc-Examples-58" href="#Examples-58">33.22.3 Examples</a></li>
+      <li><a name="toc-Syntax-2" href="#Syntax-2">28.23.1 Syntax</a></li>
+      <li><a name="toc-Text-expansion" href="#Text-expansion">28.23.2 Text expansion</a></li>
+      <li><a name="toc-Examples-44" href="#Examples-44">28.23.3 Examples</a></li>
     </ul></li>
-    <li><a name="toc-edgedetect" href="#edgedetect">33.23 edgedetect</a></li>
-    <li><a name="toc-extractplanes" href="#extractplanes">33.24 extractplanes</a>
+    <li><a name="toc-edgedetect" href="#edgedetect">28.24 edgedetect</a></li>
+    <li><a name="toc-extractplanes" href="#extractplanes">28.25 extractplanes</a>
     <ul class="toc">
-      <li><a name="toc-Examples-70" href="#Examples-70">33.24.1 Examples</a></li>
+      <li><a name="toc-Examples-43" href="#Examples-43">28.25.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-elbg" href="#elbg">33.25 elbg</a></li>
-    <li><a name="toc-fade" href="#fade">33.26 fade</a>
+    <li><a name="toc-elbg" href="#elbg">28.26 elbg</a></li>
+    <li><a name="toc-fade" href="#fade">28.27 fade</a>
     <ul class="toc">
-      <li><a name="toc-Examples-3" href="#Examples-3">33.26.1 Examples</a></li>
+      <li><a name="toc-Examples-34" href="#Examples-34">28.27.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-field" href="#field">33.27 field</a></li>
-    <li><a name="toc-fieldmatch" href="#fieldmatch">33.28 fieldmatch</a>
+    <li><a name="toc-field" href="#field">28.28 field</a></li>
+    <li><a name="toc-fieldmatch" href="#fieldmatch">28.29 fieldmatch</a>
     <ul class="toc">
-      <li><a name="toc-p_002fc_002fn_002fu_002fb-meaning-1" href="#p_002fc_002fn_002fu_002fb-meaning-1">33.28.1 p/c/n/u/b meaning</a>
+      <li><a name="toc-p_002fc_002fn_002fu_002fb-meaning-1" href="#p_002fc_002fn_002fu_002fb-meaning-1">28.29.1 p/c/n/u/b meaning</a>
       <ul class="toc">
-        <li><a name="toc-p_002fc_002fn" href="#p_002fc_002fn">33.28.1.1 p/c/n</a></li>
-        <li><a name="toc-u_002fb" href="#u_002fb">33.28.1.2 u/b</a></li>
+        <li><a name="toc-p_002fc_002fn" href="#p_002fc_002fn">28.29.1.1 p/c/n</a></li>
+        <li><a name="toc-u_002fb" href="#u_002fb">28.29.1.2 u/b</a></li>
       </ul></li>
-      <li><a name="toc-Examples-52" href="#Examples-52">33.28.2 Examples</a></li>
+      <li><a name="toc-Examples-55" href="#Examples-55">28.29.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-fieldorder" href="#fieldorder">33.29 fieldorder</a></li>
-    <li><a name="toc-fifo" href="#fifo">33.30 fifo</a></li>
-    <li><a name="toc-format-1" href="#format-1">33.31 format</a>
+    <li><a name="toc-fieldorder" href="#fieldorder">28.30 fieldorder</a></li>
+    <li><a name="toc-fifo" href="#fifo">28.31 fifo</a></li>
+    <li><a name="toc-format-1" href="#format-1">28.32 format</a>
     <ul class="toc">
-      <li><a name="toc-Examples-57" href="#Examples-57">33.31.1 Examples</a></li>
+      <li><a name="toc-Examples-17" href="#Examples-17">28.32.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-fps-1" href="#fps-1">33.32 fps</a>
+    <li><a name="toc-fps-1" href="#fps-1">28.33 fps</a>
     <ul class="toc">
-      <li><a name="toc-Examples-25" href="#Examples-25">33.32.1 Examples</a></li>
+      <li><a name="toc-Examples-60" href="#Examples-60">28.33.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-framestep" href="#framestep">33.33 framestep</a></li>
-    <li><a name="toc-frei0r-1" href="#frei0r-1">33.34 frei0r</a>
+    <li><a name="toc-framepack" href="#framepack">28.34 framepack</a></li>
+    <li><a name="toc-framestep" href="#framestep">28.35 framestep</a></li>
+    <li><a name="toc-frei0r-1" href="#frei0r-1">28.36 frei0r</a>
     <ul class="toc">
-      <li><a name="toc-Examples-12" href="#Examples-12">33.34.1 Examples</a></li>
+      <li><a name="toc-Examples-1" href="#Examples-1">28.36.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-geq" href="#geq">33.35 geq</a>
+    <li><a name="toc-geq" href="#geq">28.37 geq</a>
     <ul class="toc">
-      <li><a name="toc-Examples-79" href="#Examples-79">33.35.1 Examples</a></li>
+      <li><a name="toc-Examples-82" href="#Examples-82">28.37.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-gradfun" href="#gradfun">33.36 gradfun</a>
+    <li><a name="toc-gradfun" href="#gradfun">28.38 gradfun</a>
     <ul class="toc">
-      <li><a name="toc-Examples-72" href="#Examples-72">33.36.1 Examples</a></li>
+      <li><a name="toc-Examples" href="#Examples">28.38.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-haldclut-1" href="#haldclut-1">33.37 haldclut</a>
+    <li><a name="toc-haldclut-1" href="#haldclut-1">28.39 haldclut</a>
     <ul class="toc">
-      <li><a name="toc-Workflow-examples" href="#Workflow-examples">33.37.1 Workflow examples</a>
+      <li><a name="toc-Workflow-examples" href="#Workflow-examples">28.39.1 Workflow examples</a>
       <ul class="toc">
-        <li><a name="toc-Hald-CLUT-video-stream" href="#Hald-CLUT-video-stream">33.37.1.1 Hald CLUT video stream</a></li>
-        <li><a name="toc-Hald-CLUT-with-preview" href="#Hald-CLUT-with-preview">33.37.1.2 Hald CLUT with preview</a></li>
+        <li><a name="toc-Hald-CLUT-video-stream" href="#Hald-CLUT-video-stream">28.39.1.1 Hald CLUT video stream</a></li>
+        <li><a name="toc-Hald-CLUT-with-preview" href="#Hald-CLUT-with-preview">28.39.1.2 Hald CLUT with preview</a></li>
       </ul>
 </li>
     </ul></li>
-    <li><a name="toc-hflip" href="#hflip">33.38 hflip</a></li>
-    <li><a name="toc-histeq" href="#histeq">33.39 histeq</a></li>
-    <li><a name="toc-histogram" href="#histogram">33.40 histogram</a>
+    <li><a name="toc-hflip" href="#hflip">28.40 hflip</a></li>
+    <li><a name="toc-histeq" href="#histeq">28.41 histeq</a></li>
+    <li><a name="toc-histogram" href="#histogram">28.42 histogram</a>
     <ul class="toc">
-      <li><a name="toc-Examples-16" href="#Examples-16">33.40.1 Examples</a></li>
+      <li><a name="toc-Examples-74" href="#Examples-74">28.42.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-hqdn3d-1" href="#hqdn3d-1">33.41 hqdn3d</a></li>
-    <li><a name="toc-hue" href="#hue">33.42 hue</a>
+    <li><a name="toc-hqdn3d-1" href="#hqdn3d-1">28.43 hqdn3d</a></li>
+    <li><a name="toc-hue" href="#hue">28.44 hue</a>
     <ul class="toc">
-      <li><a name="toc-Examples-51" href="#Examples-51">33.42.1 Examples</a></li>
-      <li><a name="toc-Commands" href="#Commands">33.42.2 Commands</a></li>
+      <li><a name="toc-Examples-39" href="#Examples-39">28.44.1 Examples</a></li>
+      <li><a name="toc-Commands" href="#Commands">28.44.2 Commands</a></li>
     </ul></li>
-    <li><a name="toc-idet" href="#idet">33.43 idet</a></li>
-    <li><a name="toc-il" href="#il">33.44 il</a></li>
-    <li><a name="toc-interlace" href="#interlace">33.45 interlace</a></li>
-    <li><a name="toc-kerndeint" href="#kerndeint">33.46 kerndeint</a>
+    <li><a name="toc-idet" href="#idet">28.45 idet</a></li>
+    <li><a name="toc-il" href="#il">28.46 il</a></li>
+    <li><a name="toc-interlace" href="#interlace">28.47 interlace</a></li>
+    <li><a name="toc-kerndeint" href="#kerndeint">28.48 kerndeint</a>
     <ul class="toc">
-      <li><a name="toc-Examples-50" href="#Examples-50">33.46.1 Examples</a></li>
+      <li><a name="toc-Examples-45" href="#Examples-45">28.48.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-lut3d-1" href="#lut3d-1">33.47 lut3d</a></li>
-    <li><a name="toc-lut_002c-lutrgb_002c-lutyuv" href="#lut_002c-lutrgb_002c-lutyuv">33.48 lut, lutrgb, lutyuv</a>
+    <li><a name="toc-lut3d-1" href="#lut3d-1">28.49 lut3d</a></li>
+    <li><a name="toc-lut_002c-lutrgb_002c-lutyuv" href="#lut_002c-lutrgb_002c-lutyuv">28.50 lut, lutrgb, lutyuv</a>
     <ul class="toc">
-      <li><a name="toc-Examples-14" href="#Examples-14">33.48.1 Examples</a></li>
+      <li><a name="toc-Examples-5" href="#Examples-5">28.50.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-mergeplanes" href="#mergeplanes">33.49 mergeplanes</a>
+    <li><a name="toc-mergeplanes" href="#mergeplanes">28.51 mergeplanes</a>
     <ul class="toc">
-      <li><a name="toc-Examples-67" href="#Examples-67">33.49.1 Examples</a></li>
+      <li><a name="toc-Examples-3" href="#Examples-3">28.51.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-mcdeint" href="#mcdeint">33.50 mcdeint</a></li>
-    <li><a name="toc-mp" href="#mp">33.51 mp</a>
+    <li><a name="toc-mcdeint" href="#mcdeint">28.52 mcdeint</a></li>
+    <li><a name="toc-mp" href="#mp">28.53 mp</a>
     <ul class="toc">
-      <li><a name="toc-Examples-7" href="#Examples-7">33.51.1 Examples</a></li>
+      <li><a name="toc-Examples-10" href="#Examples-10">28.53.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-mpdecimate" href="#mpdecimate">33.52 mpdecimate</a></li>
-    <li><a name="toc-negate" href="#negate">33.53 negate</a></li>
-    <li><a name="toc-noformat" href="#noformat">33.54 noformat</a>
+    <li><a name="toc-mpdecimate" href="#mpdecimate">28.54 mpdecimate</a></li>
+    <li><a name="toc-negate" href="#negate">28.55 negate</a></li>
+    <li><a name="toc-noformat" href="#noformat">28.56 noformat</a>
     <ul class="toc">
-      <li><a name="toc-Examples-53" href="#Examples-53">33.54.1 Examples</a></li>
+      <li><a name="toc-Examples-65" href="#Examples-65">28.56.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-noise" href="#noise">33.55 noise</a>
+    <li><a name="toc-noise-1" href="#noise-1">28.57 noise</a>
     <ul class="toc">
-      <li><a name="toc-Examples-17" href="#Examples-17">33.55.1 Examples</a></li>
+      <li><a name="toc-Examples-58" href="#Examples-58">28.57.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-null" href="#null">33.56 null</a></li>
-    <li><a name="toc-ocv" href="#ocv">33.57 ocv</a>
+    <li><a name="toc-null" href="#null">28.58 null</a></li>
+    <li><a name="toc-ocv" href="#ocv">28.59 ocv</a>
     <ul class="toc">
-      <li><a name="toc-dilate-1" href="#dilate-1">33.57.1 dilate</a></li>
-      <li><a name="toc-erode" href="#erode">33.57.2 erode</a></li>
-      <li><a name="toc-smooth" href="#smooth">33.57.3 smooth</a></li>
+      <li><a name="toc-dilate-1" href="#dilate-1">28.59.1 dilate</a></li>
+      <li><a name="toc-erode" href="#erode">28.59.2 erode</a></li>
+      <li><a name="toc-smooth" href="#smooth">28.59.3 smooth</a></li>
     </ul></li>
-    <li><a name="toc-overlay-1" href="#overlay-1">33.58 overlay</a>
+    <li><a name="toc-overlay-1" href="#overlay-1">28.60 overlay</a>
     <ul class="toc">
-      <li><a name="toc-Commands-2" href="#Commands-2">33.58.1 Commands</a></li>
-      <li><a name="toc-Examples-73" href="#Examples-73">33.58.2 Examples</a></li>
+      <li><a name="toc-Commands-4" href="#Commands-4">28.60.1 Commands</a></li>
+      <li><a name="toc-Examples-15" href="#Examples-15">28.60.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-owdenoise" href="#owdenoise">33.59 owdenoise</a></li>
-    <li><a name="toc-pad" href="#pad">33.60 pad</a>
+    <li><a name="toc-owdenoise" href="#owdenoise">28.61 owdenoise</a></li>
+    <li><a name="toc-pad" href="#pad">28.62 pad</a>
     <ul class="toc">
-      <li><a name="toc-Examples-63" href="#Examples-63">33.60.1 Examples</a></li>
+      <li><a name="toc-Examples-52" href="#Examples-52">28.62.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-perspective" href="#perspective">33.61 perspective</a></li>
-    <li><a name="toc-phase" href="#phase">33.62 phase</a></li>
-    <li><a name="toc-pixdesctest" href="#pixdesctest">33.63 pixdesctest</a></li>
-    <li><a name="toc-pp" href="#pp">33.64 pp</a>
+    <li><a name="toc-perspective" href="#perspective">28.63 perspective</a></li>
+    <li><a name="toc-phase" href="#phase">28.64 phase</a></li>
+    <li><a name="toc-pixdesctest" href="#pixdesctest">28.65 pixdesctest</a></li>
+    <li><a name="toc-pp" href="#pp">28.66 pp</a>
     <ul class="toc">
-      <li><a name="toc-Examples-26" href="#Examples-26">33.64.1 Examples</a></li>
+      <li><a name="toc-Examples-11" href="#Examples-11">28.66.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-psnr" href="#psnr">33.65 psnr</a></li>
-    <li><a name="toc-pullup" href="#pullup">33.66 pullup</a></li>
-    <li><a name="toc-removelogo" href="#removelogo">33.67 removelogo</a></li>
-    <li><a name="toc-rotate" href="#rotate">33.68 rotate</a>
+    <li><a name="toc-psnr" href="#psnr">28.67 psnr</a></li>
+    <li><a name="toc-pullup-1" href="#pullup-1">28.68 pullup</a></li>
+    <li><a name="toc-removelogo" href="#removelogo">28.69 removelogo</a></li>
+    <li><a name="toc-rotate" href="#rotate">28.70 rotate</a>
     <ul class="toc">
-      <li><a name="toc-Examples-61" href="#Examples-61">33.68.1 Examples</a></li>
-      <li><a name="toc-Commands-1" href="#Commands-1">33.68.2 Commands</a></li>
+      <li><a name="toc-Examples-79" href="#Examples-79">28.70.1 Examples</a></li>
+      <li><a name="toc-Commands-5" href="#Commands-5">28.70.2 Commands</a></li>
     </ul></li>
-    <li><a name="toc-sab" href="#sab">33.69 sab</a></li>
-    <li><a name="toc-scale-1" href="#scale-1">33.70 scale</a>
+    <li><a name="toc-sab" href="#sab">28.71 sab</a></li>
+    <li><a name="toc-scale-1" href="#scale-1">28.72 scale</a>
     <ul class="toc">
-      <li><a name="toc-Options-21" href="#Options-21">33.70.1 Options</a></li>
-      <li><a name="toc-Examples-1" href="#Examples-1">33.70.2 Examples</a></li>
+      <li><a name="toc-Options-6" href="#Options-6">28.72.1 Options</a></li>
+      <li><a name="toc-Examples-47" href="#Examples-47">28.72.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-separatefields" href="#separatefields">33.71 separatefields</a></li>
-    <li><a name="toc-setdar_002c-setsar" href="#setdar_002c-setsar">33.72 setdar, setsar</a>
+    <li><a name="toc-separatefields" href="#separatefields">28.73 separatefields</a></li>
+    <li><a name="toc-setdar_002c-setsar" href="#setdar_002c-setsar">28.74 setdar, setsar</a>
     <ul class="toc">
-      <li><a name="toc-Examples-91" href="#Examples-91">33.72.1 Examples</a></li>
+      <li><a name="toc-Examples-76" href="#Examples-76">28.74.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-setfield-1" href="#setfield-1">33.73 setfield</a></li>
-    <li><a name="toc-showinfo" href="#showinfo">33.74 showinfo</a></li>
-    <li><a name="toc-smartblur-1" href="#smartblur-1">33.75 smartblur</a></li>
-    <li><a name="toc-stereo3d" href="#stereo3d">33.76 stereo3d</a>
+    <li><a name="toc-setfield-1" href="#setfield-1">28.75 setfield</a></li>
+    <li><a name="toc-showinfo" href="#showinfo">28.76 showinfo</a></li>
+    <li><a name="toc-smartblur-1" href="#smartblur-1">28.77 smartblur</a></li>
+    <li><a name="toc-stereo3d" href="#stereo3d">28.78 stereo3d</a>
     <ul class="toc">
-      <li><a name="toc-Examples-77" href="#Examples-77">33.76.1 Examples</a></li>
+      <li><a name="toc-Examples-2" href="#Examples-2">28.78.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-spp" href="#spp">33.77 spp</a></li>
-    <li><a name="toc-subtitles-1" href="#subtitles-1">33.78 subtitles</a></li>
-    <li><a name="toc-super2xsai" href="#super2xsai">33.79 super2xsai</a></li>
-    <li><a name="toc-swapuv" href="#swapuv">33.80 swapuv</a></li>
-    <li><a name="toc-telecine" href="#telecine">33.81 telecine</a></li>
-    <li><a name="toc-thumbnail" href="#thumbnail">33.82 thumbnail</a>
+    <li><a name="toc-spp" href="#spp">28.79 spp</a></li>
+    <li><a name="toc-subtitles-1" href="#subtitles-1">28.80 subtitles</a></li>
+    <li><a name="toc-super2xsai" href="#super2xsai">28.81 super2xsai</a></li>
+    <li><a name="toc-swapuv" href="#swapuv">28.82 swapuv</a></li>
+    <li><a name="toc-telecine" href="#telecine">28.83 telecine</a></li>
+    <li><a name="toc-thumbnail" href="#thumbnail">28.84 thumbnail</a>
     <ul class="toc">
-      <li><a name="toc-Examples-30" href="#Examples-30">33.82.1 Examples</a></li>
+      <li><a name="toc-Examples-9" href="#Examples-9">28.84.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-tile" href="#tile">33.83 tile</a>
+    <li><a name="toc-tile" href="#tile">28.85 tile</a>
     <ul class="toc">
-      <li><a name="toc-Examples-11" href="#Examples-11">33.83.1 Examples</a></li>
+      <li><a name="toc-Examples-70" href="#Examples-70">28.85.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-tinterlace" href="#tinterlace">33.84 tinterlace</a></li>
-    <li><a name="toc-transpose" href="#transpose">33.85 transpose</a></li>
-    <li><a name="toc-trim" href="#trim">33.86 trim</a></li>
-    <li><a name="toc-unsharp" href="#unsharp">33.87 unsharp</a>
+    <li><a name="toc-tinterlace" href="#tinterlace">28.86 tinterlace</a></li>
+    <li><a name="toc-transpose" href="#transpose">28.87 transpose</a></li>
+    <li><a name="toc-trim" href="#trim">28.88 trim</a></li>
+    <li><a name="toc-unsharp" href="#unsharp">28.89 unsharp</a>
     <ul class="toc">
-      <li><a name="toc-Examples-6" href="#Examples-6">33.87.1 Examples</a></li>
+      <li><a name="toc-Examples-81" href="#Examples-81">28.89.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-vidstabdetect-1" href="#vidstabdetect-1">33.88 vidstabdetect</a>
+    <li><a name="toc-vidstabdetect-1" href="#vidstabdetect-1">28.90 vidstabdetect</a>
     <ul class="toc">
-      <li><a name="toc-Examples-5" href="#Examples-5">33.88.1 Examples</a></li>
+      <li><a name="toc-Examples-29" href="#Examples-29">28.90.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-vidstabtransform-1" href="#vidstabtransform-1">33.89 vidstabtransform</a>
+    <li><a name="toc-vidstabtransform-1" href="#vidstabtransform-1">28.91 vidstabtransform</a>
     <ul class="toc">
-      <li><a name="toc-Examples-10" href="#Examples-10">33.89.1 Examples</a></li>
+      <li><a name="toc-Options-5" href="#Options-5">28.91.1 Options</a></li>
+      <li><a name="toc-Examples-25" href="#Examples-25">28.91.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-vflip" href="#vflip">33.90 vflip</a></li>
-    <li><a name="toc-vignette" href="#vignette">33.91 vignette</a>
+    <li><a name="toc-vflip" href="#vflip">28.92 vflip</a></li>
+    <li><a name="toc-vignette" href="#vignette">28.93 vignette</a>
     <ul class="toc">
-      <li><a name="toc-Expressions" href="#Expressions">33.91.1 Expressions</a></li>
-      <li><a name="toc-Examples-45" href="#Examples-45">33.91.2 Examples</a></li>
+      <li><a name="toc-Expressions" href="#Expressions">28.93.1 Expressions</a></li>
+      <li><a name="toc-Examples-49" href="#Examples-49">28.93.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-w3fdif" href="#w3fdif">33.92 w3fdif</a></li>
-    <li><a name="toc-yadif-1" href="#yadif-1">33.93 yadif</a></li>
+    <li><a name="toc-w3fdif" href="#w3fdif">28.94 w3fdif</a></li>
+    <li><a name="toc-yadif-1" href="#yadif-1">28.95 yadif</a></li>
   </ul></li>
-  <li><a name="toc-Video-Sources" href="#Video-Sources">34. Video Sources</a>
+  <li><a name="toc-Video-Sources" href="#Video-Sources">29. Video Sources</a>
   <ul class="toc">
-    <li><a name="toc-buffer" href="#buffer">34.1 buffer</a></li>
-    <li><a name="toc-cellauto" href="#cellauto">34.2 cellauto</a>
+    <li><a name="toc-buffer" href="#buffer">29.1 buffer</a></li>
+    <li><a name="toc-cellauto" href="#cellauto">29.2 cellauto</a>
     <ul class="toc">
-      <li><a name="toc-Examples-38" href="#Examples-38">34.2.1 Examples</a></li>
+      <li><a name="toc-Examples-16" href="#Examples-16">29.2.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-mandelbrot" href="#mandelbrot">34.3 mandelbrot</a></li>
-    <li><a name="toc-mptestsrc" href="#mptestsrc">34.4 mptestsrc</a></li>
-    <li><a name="toc-frei0r_005fsrc" href="#frei0r_005fsrc">34.5 frei0r_src</a></li>
-    <li><a name="toc-life" href="#life">34.6 life</a>
+    <li><a name="toc-mandelbrot" href="#mandelbrot">29.3 mandelbrot</a></li>
+    <li><a name="toc-mptestsrc" href="#mptestsrc">29.4 mptestsrc</a></li>
+    <li><a name="toc-frei0r_005fsrc" href="#frei0r_005fsrc">29.5 frei0r_src</a></li>
+    <li><a name="toc-life" href="#life">29.6 life</a>
     <ul class="toc">
-      <li><a name="toc-Examples-21" href="#Examples-21">34.6.1 Examples</a></li>
+      <li><a name="toc-Examples-73" href="#Examples-73">29.6.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-color_002c-haldclutsrc_002c-nullsrc_002c-rgbtestsrc_002c-smptebars_002c-smptehdbars_002c-testsrc" href="#color_002c-haldclutsrc_002c-nullsrc_002c-rgbtestsrc_002c-smptebars_002c-smptehdbars_002c-testsrc">34.7 color, haldclutsrc, nullsrc, rgbtestsrc, smptebars, smptehdbars, testsrc</a>
+    <li><a name="toc-color_002c-haldclutsrc_002c-nullsrc_002c-rgbtestsrc_002c-smptebars_002c-smptehdbars_002c-testsrc" href="#color_002c-haldclutsrc_002c-nullsrc_002c-rgbtestsrc_002c-smptebars_002c-smptehdbars_002c-testsrc">29.7 color, haldclutsrc, nullsrc, rgbtestsrc, smptebars, smptehdbars, testsrc</a>
     <ul class="toc">
-      <li><a name="toc-Commands-4" href="#Commands-4">34.7.1 Commands</a></li>
+      <li><a name="toc-Commands-2" href="#Commands-2">29.7.1 Commands</a></li>
     </ul>
 </li>
   </ul></li>
-  <li><a name="toc-Video-Sinks" href="#Video-Sinks">35. Video Sinks</a>
+  <li><a name="toc-Video-Sinks" href="#Video-Sinks">30. Video Sinks</a>
   <ul class="toc">
-    <li><a name="toc-buffersink" href="#buffersink">35.1 buffersink</a></li>
-    <li><a name="toc-nullsink" href="#nullsink">35.2 nullsink</a></li>
+    <li><a name="toc-buffersink" href="#buffersink">30.1 buffersink</a></li>
+    <li><a name="toc-nullsink" href="#nullsink">30.2 nullsink</a></li>
   </ul></li>
-  <li><a name="toc-Multimedia-Filters" href="#Multimedia-Filters">36. Multimedia Filters</a>
+  <li><a name="toc-Multimedia-Filters" href="#Multimedia-Filters">31. Multimedia Filters</a>
   <ul class="toc">
-    <li><a name="toc-avectorscope" href="#avectorscope">36.1 avectorscope</a>
+    <li><a name="toc-avectorscope" href="#avectorscope">31.1 avectorscope</a>
     <ul class="toc">
-      <li><a name="toc-Examples" href="#Examples">36.1.1 Examples</a></li>
+      <li><a name="toc-Examples-48" href="#Examples-48">31.1.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-concat-2" href="#concat-2">36.2 concat</a>
+    <li><a name="toc-concat-2" href="#concat-2">31.2 concat</a>
     <ul class="toc">
-      <li><a name="toc-Examples-40" href="#Examples-40">36.2.1 Examples</a></li>
+      <li><a name="toc-Examples-24" href="#Examples-24">31.2.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-ebur128" href="#ebur128">36.3 ebur128</a>
+    <li><a name="toc-ebur128" href="#ebur128">31.3 ebur128</a>
     <ul class="toc">
-      <li><a name="toc-Examples-18" href="#Examples-18">36.3.1 Examples</a></li>
+      <li><a name="toc-Examples-13" href="#Examples-13">31.3.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-interleave_002c-ainterleave" href="#interleave_002c-ainterleave">36.4 interleave, ainterleave</a>
+    <li><a name="toc-interleave_002c-ainterleave" href="#interleave_002c-ainterleave">31.4 interleave, ainterleave</a>
     <ul class="toc">
-      <li><a name="toc-Examples-35" href="#Examples-35">36.4.1 Examples</a></li>
+      <li><a name="toc-Examples-7" href="#Examples-7">31.4.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-perms_002c-aperms" href="#perms_002c-aperms">36.5 perms, aperms</a></li>
-    <li><a name="toc-select_002c-aselect" href="#select_002c-aselect">36.6 select, aselect</a>
+    <li><a name="toc-perms_002c-aperms" href="#perms_002c-aperms">31.5 perms, aperms</a></li>
+    <li><a name="toc-select_002c-aselect" href="#select_002c-aselect">31.6 select, aselect</a>
     <ul class="toc">
-      <li><a name="toc-Examples-76" href="#Examples-76">36.6.1 Examples</a></li>
+      <li><a name="toc-Examples-20" href="#Examples-20">31.6.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-sendcmd_002c-asendcmd" href="#sendcmd_002c-asendcmd">36.7 sendcmd, asendcmd</a>
+    <li><a name="toc-sendcmd_002c-asendcmd" href="#sendcmd_002c-asendcmd">31.7 sendcmd, asendcmd</a>
     <ul class="toc">
-      <li><a name="toc-Commands-syntax" href="#Commands-syntax">36.7.1 Commands syntax</a></li>
-      <li><a name="toc-Examples-39" href="#Examples-39">36.7.2 Examples</a></li>
+      <li><a name="toc-Commands-syntax" href="#Commands-syntax">31.7.1 Commands syntax</a></li>
+      <li><a name="toc-Examples-36" href="#Examples-36">31.7.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-setpts_002c-asetpts" href="#setpts_002c-asetpts">36.8 setpts, asetpts</a>
+    <li><a name="toc-setpts_002c-asetpts" href="#setpts_002c-asetpts">31.8 setpts, asetpts</a>
     <ul class="toc">
-      <li><a name="toc-Examples-42" href="#Examples-42">36.8.1 Examples</a></li>
+      <li><a name="toc-Examples-59" href="#Examples-59">31.8.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-settb_002c-asettb" href="#settb_002c-asettb">36.9 settb, asettb</a>
+    <li><a name="toc-settb_002c-asettb" href="#settb_002c-asettb">31.9 settb, asettb</a>
     <ul class="toc">
-      <li><a name="toc-Examples-68" href="#Examples-68">36.9.1 Examples</a></li>
+      <li><a name="toc-Examples-8" href="#Examples-8">31.9.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-showspectrum" href="#showspectrum">36.10 showspectrum</a>
+    <li><a name="toc-showspectrum" href="#showspectrum">31.10 showspectrum</a>
     <ul class="toc">
-      <li><a name="toc-Examples-2" href="#Examples-2">36.10.1 Examples</a></li>
+      <li><a name="toc-Examples-67" href="#Examples-67">31.10.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-showwaves" href="#showwaves">36.11 showwaves</a>
+    <li><a name="toc-showwaves" href="#showwaves">31.11 showwaves</a>
     <ul class="toc">
-      <li><a name="toc-Examples-90" href="#Examples-90">36.11.1 Examples</a></li>
+      <li><a name="toc-Examples-83" href="#Examples-83">31.11.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-split_002c-asplit" href="#split_002c-asplit">36.12 split, asplit</a>
+    <li><a name="toc-split_002c-asplit" href="#split_002c-asplit">31.12 split, asplit</a>
     <ul class="toc">
-      <li><a name="toc-Examples-83" href="#Examples-83">36.12.1 Examples</a></li>
+      <li><a name="toc-Examples-46" href="#Examples-46">31.12.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-zmq_002c-azmq" href="#zmq_002c-azmq">36.13 zmq, azmq</a>
+    <li><a name="toc-zmq_002c-azmq" href="#zmq_002c-azmq">31.13 zmq, azmq</a>
     <ul class="toc">
-      <li><a name="toc-Examples-29" href="#Examples-29">36.13.1 Examples</a></li>
+      <li><a name="toc-Examples-31" href="#Examples-31">31.13.1 Examples</a></li>
     </ul>
 </li>
   </ul></li>
-  <li><a name="toc-Multimedia-Sources" href="#Multimedia-Sources">37. Multimedia Sources</a>
+  <li><a name="toc-Multimedia-Sources" href="#Multimedia-Sources">32. Multimedia Sources</a>
   <ul class="toc">
-    <li><a name="toc-amovie" href="#amovie">37.1 amovie</a></li>
-    <li><a name="toc-movie-1" href="#movie-1">37.2 movie</a>
+    <li><a name="toc-amovie" href="#amovie">32.1 amovie</a></li>
+    <li><a name="toc-movie-1" href="#movie-1">32.2 movie</a>
     <ul class="toc">
-      <li><a name="toc-Examples-69" href="#Examples-69">37.2.1 Examples</a></li>
+      <li><a name="toc-Examples-61" href="#Examples-61">32.2.1 Examples</a></li>
     </ul>
 </li>
   </ul></li>
-  <li><a name="toc-See-Also" href="#See-Also">38. See Also</a></li>
-  <li><a name="toc-Authors" href="#Authors">39. Authors</a></li>
+  <li><a name="toc-See-Also" href="#See-Also">33. See Also</a></li>
+  <li><a name="toc-Authors" href="#Authors">34. Authors</a></li>
 </ul>
 </div>
 
@@ -861,8 +721,8 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
 libraries and the SDL library. It is mostly used as a testbed for the
 various FFmpeg APIs.
 </p>
-<a name="Options-25"></a>
-<h1 class="chapter"><a href="ffplay-all.html#toc-Options-25">3. Options</a></h1>
+<a name="Options-4"></a>
+<h1 class="chapter"><a href="ffplay-all.html#toc-Options-4">3. Options</a></h1>
 
 <p>All the numerical options, if not specified otherwise, accept a string
 representing a number as input, which may be followed by one of the SI
@@ -1097,6 +957,14 @@ to a plain <code>%</code>
 appear in the report.
 </p>
 </dd>
+<dt> &lsquo;<samp>-hide_banner</samp>&rsquo;</dt>
+<dd><p>Suppress printing banner.
+</p>
+<p>All FFmpeg tools will normally show a copyright notice, build options
+and library versions. This option can be used to suppress printing
+this information.
+</p>
+</dd>
 <dt> &lsquo;<samp>-cpuflags flags (<em>global</em>)</samp>&rsquo;</dt>
 <dd><p>Allows setting and clearing cpu flags. This option is intended
 for testing. Do not use it unless you know what you&rsquo;re doing.
@@ -1416,6 +1284,13 @@ selected, if it is negative the subtitle rendering is disabled.
 <dd><p>Show audio waves.
 </p>
 </dd>
+<dt> &lt;s&gt;</dt>
+<dd><p>Step to the next frame.
+</p>
+<p>Pause if the stream is not already paused, step to the next video
+frame, and pause.
+</p>
+</dd>
 <dt> &lt;left/right&gt;</dt>
 <dd><p>Seek backward/forward 10 seconds.
 </p>
@@ -1425,7 +1300,9 @@ selected, if it is negative the subtitle rendering is disabled.
 </p>
 </dd>
 <dt> &lt;page down/page up&gt;</dt>
-<dd><p>Seek backward/forward 10 minutes.
+<dd><p>Seek to the previous/next chapter.
+or if there are no chapters
+Seek backward/forward 10 minutes.
 </p>
 </dd>
 <dt> &lt;mouse click&gt;</dt>
@@ -1435,8 +1312,8 @@ selected, if it is negative the subtitle rendering is disabled.
 </dl>
 
 
-<a name="Syntax-2"></a>
-<h1 class="chapter"><a href="ffplay-all.html#toc-Syntax-2">4. Syntax</a></h1>
+<a name="Syntax"></a>
+<h1 class="chapter"><a href="ffplay-all.html#toc-Syntax">4. Syntax</a></h1>
 
 <p>This section documents the syntax and formats employed by the FFmpeg
 libraries and tools.
@@ -1479,8 +1356,8 @@ escaped according to the rules defined above.
 <p>The tool &lsquo;<tt>tools/ffescape</tt>&rsquo; in the FFmpeg source tree can be used
 to automatically quote or escape a string in a script.
 </p>
-<a name="Examples-13"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-13">4.1.1 Examples</a></h3>
+<a name="Examples-4"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-4">4.1.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -1551,8 +1428,8 @@ maximum of 2 digits. The <var>m</var> at the end expresses decimal value for
 </p>
 <p>In both expressions, the optional &lsquo;<samp>-</samp>&rsquo; indicates negative duration.
 </p>
-<a name="Examples-31"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-31">4.3.1 Examples</a></h3>
+<a name="Examples-66"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-66">4.3.1 Examples</a></h3>
 
 <p>The following examples are all valid time duration:
 </p>
@@ -2814,7 +2691,7 @@ which can be obtained with <code>ffmpeg -opencl_bench</code> or <code>av_opencl_
 <dt> &lsquo;<samp>device_idx</samp>&rsquo;</dt>
 <dd><p>Select the index of the device used to run OpenCL code.
 </p>
-<p>The specifed index must be one of the indexes in the device list which
+<p>The specified index must be one of the indexes in the device list which
 can be obtained with <code>ffmpeg -opencl_bench</code> or <code>av_opencl_get_device_list()</code>.
 </p>
 </dd>
@@ -3870,6 +3747,9 @@ decoding starts.
 </dd>
 <dt> &lsquo;<samp>skip_exp <var>integer</var> (<em>encoding,video</em>)</samp>&rsquo;</dt>
 <dd><p>Set frame skip exponent.
+Negative values behave identical to the corresponding positive ones, except
+that the score is normalized.
+Positive values exist primarly for compatibility reasons and are not so useful.
 </p>
 </dd>
 <dt> &lsquo;<samp>skipcmp <var>integer</var> (<em>encoding,video</em>)</samp>&rsquo;</dt>
@@ -4147,7 +4027,7 @@ available decoders using the configure option <code>--list-decoders</code>.
 with the options <code>--enable-decoder=<var>DECODER</var></code> /
 <code>--disable-decoder=<var>DECODER</var></code>.
 </p>
-<p>The option <code>-codecs</code> of the ff* tools will display the list of
+<p>The option <code>-decoders</code> of the ff* tools will display the list of
 enabled decoders.
 </p>
 
@@ -4164,8 +4044,8 @@ follows.
 </p>
 <p>This decoder decodes rawvideo streams.
 </p>
-<a name="Options-9"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Options-9">9.1.1 Options</a></h3>
+<a name="Options-7"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Options-7">9.1.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>top <var>top_field_first</var></samp>&rsquo;</dt>
@@ -4189,8 +4069,44 @@ follows.
 <a name="Audio-Decoders"></a>
 <h1 class="chapter"><a href="ffplay-all.html#toc-Audio-Decoders">10. Audio Decoders</a></h1>
 
+<p>A description of some of the currently available audio decoders
+follows.
+</p>
+<a name="ac3"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-ac3">10.1 ac3</a></h2>
+
+<p>AC-3 audio decoder.
+</p>
+<p>This decoder implements part of ATSC A/52:2010 and ETSI TS 102 366, as well as
+the undocumented RealAudio 3 (a.k.a. dnet).
+</p>
+<a name="AC_002d3-Decoder-Options"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-AC_002d3-Decoder-Options">10.1.1 AC-3 Decoder Options</a></h3>
+
+<dl compact="compact">
+<dt> &lsquo;<samp>-drc_scale <var>value</var></samp>&rsquo;</dt>
+<dd><p>Dynamic Range Scale Factor. The factor to apply to dynamic range values
+from the AC-3 stream. This factor is applied exponentially.
+There are 3 notable scale factor ranges:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>drc_scale == 0</samp>&rsquo;</dt>
+<dd><p>DRC disabled. Produces full range audio.
+</p></dd>
+<dt> &lsquo;<samp>0 &lt; drc_scale &lt;= 1</samp>&rsquo;</dt>
+<dd><p>DRC enabled.  Applies a fraction of the stream DRC value.
+Audio reproduction is between full range and full compression.
+</p></dd>
+<dt> &lsquo;<samp>drc_scale &gt; 1</samp>&rsquo;</dt>
+<dd><p>DRC enabled. Applies drc_scale asymmetrically.
+Loud sounds are fully compressed.  Soft sounds are enhanced.
+</p></dd>
+</dl>
+
+</dd>
+</dl>
+
 <a name="ffwavesynth"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-ffwavesynth">10.1 ffwavesynth</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-ffwavesynth">10.2 ffwavesynth</a></h2>
 
 <p>Internal wave synthetizer.
 </p>
@@ -4199,7 +4115,7 @@ use is purely internal and the format of the data it accepts is not publicly
 documented.
 </p>
 <a name="libcelt"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-libcelt">10.2 libcelt</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-libcelt">10.3 libcelt</a></h2>
 
 <p>libcelt decoder wrapper.
 </p>
@@ -4208,7 +4124,7 @@ Requires the presence of the libcelt headers and library during configuration.
 You need to explicitly configure the build with <code>--enable-libcelt</code>.
 </p>
 <a name="libgsm"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-libgsm">10.3 libgsm</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-libgsm">10.4 libgsm</a></h2>
 
 <p>libgsm decoder wrapper.
 </p>
@@ -4219,7 +4135,7 @@ to explicitly configure the build with <code>--enable-libgsm</code>.
 <p>This decoder supports both the ordinary GSM and the Microsoft variant.
 </p>
 <a name="libilbc"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-libilbc">10.4 libilbc</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-libilbc">10.5 libilbc</a></h2>
 
 <p>libilbc decoder wrapper.
 </p>
@@ -4228,8 +4144,8 @@ audio codec. Requires the presence of the libilbc headers and library during
 configuration. You need to explicitly configure the build with
 <code>--enable-libilbc</code>.
 </p>
-<a name="Options"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Options">10.4.1 Options</a></h3>
+<a name="Options-11"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Options-11">10.5.1 Options</a></h3>
 
 <p>The following option is supported by the libilbc wrapper.
 </p>
@@ -4242,8 +4158,8 @@ value is 0 (disabled).
 </dd>
 </dl>
 
-<a name="libopencore_002damrnb-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-libopencore_002damrnb-1">10.5 libopencore-amrnb</a></h2>
+<a name="libopencore_002damrnb"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-libopencore_002damrnb">10.6 libopencore-amrnb</a></h2>
 
 <p>libopencore-amrnb decoder wrapper.
 </p>
@@ -4256,7 +4172,7 @@ explicitly configure the build with <code>--enable-libopencore-amrnb</code>.
 without this library.
 </p>
 <a name="libopencore_002damrwb"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-libopencore_002damrwb">10.6 libopencore-amrwb</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-libopencore_002damrwb">10.7 libopencore-amrwb</a></h2>
 
 <p>libopencore-amrwb decoder wrapper.
 </p>
@@ -4269,7 +4185,7 @@ explicitly configure the build with <code>--enable-libopencore-amrwb</code>.
 without this library.
 </p>
 <a name="libopus"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-libopus">10.7 libopus</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-libopus">10.8 libopus</a></h2>
 
 <p>libopus decoder wrapper.
 </p>
@@ -4288,8 +4204,8 @@ configuration. You need to explicitly configure the build with
 <p>This codec decodes the bitmap subtitles used in DVDs; the same subtitles can
 also be found in VobSub file pairs and in some Matroska files.
 </p>
-<a name="Options-24"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Options-24">11.1.1 Options</a></h3>
+<a name="Options-10"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Options-10">11.1.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>palette</samp>&rsquo;</dt>
@@ -4314,8 +4230,8 @@ subtitles. Requires the presence of the libzvbi headers and library during
 configuration. You need to explicitly configure the build with
 <code>--enable-libzvbi</code>.
 </p>
-<a name="Options-7"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Options-7">11.2.1 Options</a></h3>
+<a name="Options-3"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Options-3">11.2.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>txt_page</samp>&rsquo;</dt>
@@ -4357,4042 +4273,795 @@ is 0 which means an opaque (black) background.
 </p></dd>
 </dl>
 
-<a name="Encoders"></a>
-<h1 class="chapter"><a href="ffplay-all.html#toc-Encoders">12. Encoders</a></h1>
+<a name="Bitstream-Filters"></a>
+<h1 class="chapter"><a href="ffplay-all.html#toc-Bitstream-Filters">12. Bitstream Filters</a></h1>
 
-<p>Encoders are configured elements in FFmpeg which allow the encoding of
-multimedia streams.
-</p>
-<p>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</code> option. You can list all
-available encoders using the configure option <code>--list-encoders</code>.
+<p>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</code>.
 </p>
-<p>You can disable all the encoders with the configure option
-<code>--disable-encoders</code> and selectively enable / disable single encoders
-with the options <code>--enable-encoder=<var>ENCODER</var></code> /
-<code>--disable-encoder=<var>ENCODER</var></code>.
+<p>You can disable all the bitstream filters using the configure option
+<code>--disable-bsfs</code>, and selectively enable any bitstream filter using
+the option <code>--enable-bsf=BSF</code>, or you can disable a particular
+bitstream filter using the option <code>--disable-bsf=BSF</code>.
 </p>
-<p>The option <code>-codecs</code> of the ff* tools will display the list of
-enabled encoders.
+<p>The option <code>-bsfs</code> of the ff* tools will display the list of
+all the supported bitstream filters included in your build.
 </p>
-
-<a name="Audio-Encoders"></a>
-<h1 class="chapter"><a href="ffplay-all.html#toc-Audio-Encoders">13. Audio Encoders</a></h1>
-
-<p>A description of some of the currently available audio encoders
-follows.
+<p>Below is a description of the currently available bitstream filters.
 </p>
-<p><a name="aacenc"></a>
-</p><a name="aac"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-aac">13.1 aac</a></h2>
+<a name="aac_005fadtstoasc"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-aac_005fadtstoasc">12.1 aac_adtstoasc</a></h2>
 
-<p>Advanced Audio Coding (AAC) encoder.
-</p>
-<p>This encoder is an experimental FFmpeg-native AAC encoder. Currently only the
-low complexity (AAC-LC) profile is supported. To use this encoder, you must set
-&lsquo;<samp>strict</samp>&rsquo; option to &lsquo;<samp>experimental</samp>&rsquo; or lower.
+<p>Convert MPEG-2/4 AAC ADTS to MPEG-4 Audio Specific Configuration
+bitstream filter.
 </p>
-<p>As this encoder is experimental, unexpected behavior may exist from time to
-time. For a more stable AAC encoder, see <a href="#libvo_002daacenc">libvo-aacenc</a>. However, be warned
-that it has a worse quality reported by some users.
+<p>This filter creates an MPEG-4 AudioSpecificConfig from an MPEG-2/4
+ADTS header and removes the ADTS header.
 </p>
-<p>See also <a href="#libfdk_002daac_002denc">libfdk_aac</a> and <a href="#libfaac">libfaac</a>.
+<p>This is required for example when copying an AAC stream from a raw
+ADTS AAC container to a FLV or a MOV/MP4 file.
 </p>
-<a name="Options-27"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Options-27">13.1.1 Options</a></h3>
+<a name="chomp"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-chomp">12.2 chomp</a></h2>
 
-<dl compact="compact">
-<dt> &lsquo;<samp>b</samp>&rsquo;</dt>
-<dd><p>Set bit rate in bits/s. Setting this automatically activates constant bit rate
-(CBR) mode.
-</p>
-</dd>
-<dt> &lsquo;<samp>q</samp>&rsquo;</dt>
-<dd><p>Set quality for variable bit rate (VBR) mode. This option is valid only using
-the <code>ffmpeg</code> command-line tool. For library interface users, use
-&lsquo;<samp>global_quality</samp>&rsquo;.
+<p>Remove zero padding at the end of a packet.
 </p>
-</dd>
-<dt> &lsquo;<samp>stereo_mode</samp>&rsquo;</dt>
-<dd><p>Set stereo encoding mode. Possible values:
+<a name="dump_005fextra"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-dump_005fextra">12.3 dump_extra</a></h2>
+
+<p>Add extradata to the beginning of the filtered packets.
 </p>
-<dl compact="compact">
-<dt> &lsquo;<samp>auto</samp>&rsquo;</dt>
-<dd><p>Automatically selected by the encoder.
+<p>The additional argument specifies which packets should be filtered.
+It accepts the values:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>a</samp>&rsquo;</dt>
+<dd><p>add extradata to all key packets, but only if <var>local_header</var> is
+set in the &lsquo;<samp>flags2</samp>&rsquo; codec context field
 </p>
 </dd>
-<dt> &lsquo;<samp>ms_off</samp>&rsquo;</dt>
-<dd><p>Disable middle/side encoding. This is the default.
+<dt> &lsquo;<samp>k</samp>&rsquo;</dt>
+<dd><p>add extradata to all key packets
 </p>
 </dd>
-<dt> &lsquo;<samp>ms_force</samp>&rsquo;</dt>
-<dd><p>Force middle/side encoding.
+<dt> &lsquo;<samp>e</samp>&rsquo;</dt>
+<dd><p>add extradata to all packets
 </p></dd>
 </dl>
 
-</dd>
-<dt> &lsquo;<samp>aac_coder</samp>&rsquo;</dt>
-<dd><p>Set AAC encoder coding method. Possible values:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>faac</samp>&rsquo;</dt>
-<dd><p>FAAC-inspired method.
-</p>
-<p>This method is a simplified reimplementation of the method used in FAAC, which
-sets thresholds proportional to the band energies, and then decreases all the
-thresholds with quantizer steps to find the appropriate quantization with
-distortion below threshold band by band.
+<p>If not specified it is assumed &lsquo;<samp>k</samp>&rsquo;.
 </p>
-<p>The quality of this method is comparable to the two loop searching method
-descibed below, but somewhat a little better and slower.
+<p>For example the following <code>ffmpeg</code> command forces a global
+header (thus disabling individual packet headers) in the H.264 packets
+generated by the <code>libx264</code> encoder, but corrects them by adding
+the header stored in extradata to the key packets:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -map 0 -flags:v +global_header -c:v libx264 -bsf:v dump_extra out.ts
+</pre></td></tr></table>
+
+<a name="h264_005fmp4toannexb"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-h264_005fmp4toannexb">12.4 h264_mp4toannexb</a></h2>
+
+<p>Convert an H.264 bitstream from length prefixed mode to start code
+prefixed mode (as defined in the Annex B of the ITU-T H.264
+specification).
 </p>
-</dd>
-<dt> &lsquo;<samp>anmr</samp>&rsquo;</dt>
-<dd><p>Average noise to mask ratio (ANMR) trellis-based solution.
+<p>This is required by some streaming formats, typically the MPEG-2
+transport stream format (&quot;mpegts&quot;).
 </p>
-<p>This has a theoretic best quality out of all the coding methods, but at the
-cost of the slowest speed.
+<p>For example to remux an MP4 file containing an H.264 stream to mpegts
+format with <code>ffmpeg</code>, you can use the command:
 </p>
-</dd>
-<dt> &lsquo;<samp>twoloop</samp>&rsquo;</dt>
-<dd><p>Two loop searching (TLS) method.
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT.mp4 -codec copy -bsf:v h264_mp4toannexb OUTPUT.ts
+</pre></td></tr></table>
+
+<a name="imx_005fdump_005fheader"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-imx_005fdump_005fheader">12.5 imx_dump_header</a></h2>
+
+<a name="mjpeg2jpeg"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-mjpeg2jpeg">12.6 mjpeg2jpeg</a></h2>
+
+<p>Convert MJPEG/AVI1 packets to full JPEG/JFIF packets.
 </p>
-<p>This method first sets quantizers depending on band thresholds and then tries
-to find an optimal combination by adding or subtracting a specific value from
-all quantizers and adjusting some individual quantizer a little.
+<p>MJPEG is a video codec wherein each video frame is essentially a
+JPEG image. The individual frames can be extracted without loss,
+e.g. by
 </p>
-<p>This method produces similar quality with the FAAC method and is the default.
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i ../some_mjpeg.avi -c:v copy frames_%d.jpg
+</pre></td></tr></table>
+
+<p>Unfortunately, these chunks are incomplete JPEG images, because
+they lack the DHT segment required for decoding. Quoting from
+<a href="http://www.digitalpreservation.gov/formats/fdd/fdd000063.shtml">http://www.digitalpreservation.gov/formats/fdd/fdd000063.shtml</a>:
 </p>
-</dd>
-<dt> &lsquo;<samp>fast</samp>&rsquo;</dt>
-<dd><p>Constant quantizer method.
+<p>Avery Lee, writing in the rec.video.desktop newsgroup in 2001,
+commented that &quot;MJPEG, or at least the MJPEG in AVIs having the
+MJPG fourcc, is restricted JPEG with a fixed &ndash; and *omitted* &ndash;
+Huffman table. The JPEG must be YCbCr colorspace, it must be 4:2:2,
+and it must use basic Huffman encoding, not arithmetic or
+progressive. . . . You can indeed extract the MJPEG frames and
+decode them with a regular JPEG decoder, but you have to prepend
+the DHT segment to them, or else the decoder won&rsquo;t have any idea
+how to decompress the data. The exact table necessary is given in
+the OpenDML spec.&quot;
 </p>
-<p>This method sets a constant quantizer for all bands. This is the fastest of all
-the methods, yet produces the worst quality.
+<p>This bitstream filter patches the header of frames extracted from an MJPEG
+stream (carrying the AVI1 header ID and lacking a DHT segment) to
+produce fully qualified JPEG images.
 </p>
-</dd>
-</dl>
-
-</dd>
-</dl>
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i mjpeg-movie.avi -c:v copy -bsf:v mjpeg2jpeg frame_%d.jpg
+exiftran -i -9 frame*.jpg
+ffmpeg -i frame_%d.jpg -c:v copy rotated.avi
+</pre></td></tr></table>
 
-<a name="ac3-and-ac3_005ffixed"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-ac3-and-ac3_005ffixed">13.2 ac3 and ac3_fixed</a></h2>
+<a name="mjpega_005fdump_005fheader"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-mjpega_005fdump_005fheader">12.7 mjpega_dump_header</a></h2>
 
-<p>AC-3 audio encoders.
-</p>
-<p>These encoders implement part of ATSC A/52:2010 and ETSI TS 102 366, as well as
-the undocumented RealAudio 3 (a.k.a. dnet).
-</p>
-<p>The <var>ac3</var> encoder uses floating-point math, while the <var>ac3_fixed</var>
-encoder only uses fixed-point integer math. This does not mean that one is
-always faster, just that one or the other may be better suited to a
-particular system. The floating-point encoder will generally produce better
-quality audio for a given bitrate. The <var>ac3_fixed</var> encoder is not the
-default codec for any of the output formats, so it must be specified explicitly
-using the option <code>-acodec ac3_fixed</code> in order to use it.
-</p>
-<a name="AC_002d3-Metadata"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-AC_002d3-Metadata">13.2.1 AC-3 Metadata</a></h3>
-
-<p>The AC-3 metadata options are used to set parameters that describe the audio,
-but in most cases do not affect the audio encoding itself. Some of the options
-do directly affect or influence the decoding and playback of the resulting
-bitstream, while others are just for informational purposes. A few of the
-options will add bits to the output stream that could otherwise be used for
-audio data, and will thus affect the quality of the output. Those will be
-indicated accordingly with a note in the option list below.
-</p>
-<p>These parameters are described in detail in several publicly-available
-documents.
-</p><ul>
-<li> <a href="http://www.atsc.org/cms/standards/a_52-2010.pdf">A/52:2010 - Digital Audio Compression (AC-3) (E-AC-3) Standard</a>
-</li><li> <a href="http://www.atsc.org/cms/standards/a_54a_with_corr_1.pdf">A/54 - Guide to the Use of the ATSC Digital Television Standard</a>
-</li><li> <a href="http://www.dolby.com/uploadedFiles/zz-_Shared_Assets/English_PDFs/Professional/18_Metadata.Guide.pdf">Dolby Metadata Guide</a>
-</li><li> <a href="http://www.dolby.com/uploadedFiles/zz-_Shared_Assets/English_PDFs/Professional/46_DDEncodingGuidelines.pdf">Dolby Digital Professional Encoding Guidelines</a>
-</li></ul>
+<a name="movsub"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-movsub">12.8 movsub</a></h2>
 
-<a name="Metadata-Control-Options"></a>
-<h4 class="subsubsection"><a href="ffplay-all.html#toc-Metadata-Control-Options">13.2.1.1 Metadata Control Options</a></h4>
+<a name="mp3_005fheader_005fdecompress"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-mp3_005fheader_005fdecompress">12.9 mp3_header_decompress</a></h2>
 
-<dl compact="compact">
-<dt> &lsquo;<samp>-per_frame_metadata <var>boolean</var></samp>&rsquo;</dt>
-<dd><p>Allow Per-Frame Metadata. Specifies if the encoder should check for changing
-metadata for each frame.
-</p><dl compact="compact">
-<dt> &lsquo;<samp>0</samp>&rsquo;</dt>
-<dd><p>The metadata values set at initialization will be used for every frame in the
-stream. (default)
-</p></dd>
-<dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dd><p>Metadata values can be changed before encoding each frame.
-</p></dd>
-</dl>
+<a name="noise"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-noise">12.10 noise</a></h2>
 
-</dd>
-</dl>
+<a name="remove_005fextra"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-remove_005fextra">12.11 remove_extra</a></h2>
 
-<a name="Downmix-Levels"></a>
-<h4 class="subsubsection"><a href="ffplay-all.html#toc-Downmix-Levels">13.2.1.2 Downmix Levels</a></h4>
+<a name="Format-Options"></a>
+<h1 class="chapter"><a href="ffplay-all.html#toc-Format-Options">13. Format Options</a></h1>
 
+<p>The libavformat library provides some generic global options, which
+can be set on all the muxers and demuxers. In addition each muxer or
+demuxer may support so-called private options, which are specific for
+that component.
+</p>
+<p>Options may be set by specifying -<var>option</var> <var>value</var> in the
+FFmpeg tools, or by setting the value explicitly in the
+<code>AVFormatContext</code> options or using the &lsquo;<tt>libavutil/opt.h</tt>&rsquo; API
+for programmatic use.
+</p>
+<p>The list of supported options follows:
+</p>
 <dl compact="compact">
-<dt> &lsquo;<samp>-center_mixlev <var>level</var></samp>&rsquo;</dt>
-<dd><p>Center Mix Level. The amount of gain the decoder should apply to the center
-channel when downmixing to stereo. This field will only be written to the
-bitstream if a center channel is present. The value is specified as a scale
-factor. There are 3 valid values:
+<dt> &lsquo;<samp>avioflags <var>flags</var> (<em>input/output</em>)</samp>&rsquo;</dt>
+<dd><p>Possible values:
 </p><dl compact="compact">
-<dt> &lsquo;<samp>0.707</samp>&rsquo;</dt>
-<dd><p>Apply -3dB gain
-</p></dd>
-<dt> &lsquo;<samp>0.595</samp>&rsquo;</dt>
-<dd><p>Apply -4.5dB gain (default)
-</p></dd>
-<dt> &lsquo;<samp>0.500</samp>&rsquo;</dt>
-<dd><p>Apply -6dB gain
+<dt> &lsquo;<samp>direct</samp>&rsquo;</dt>
+<dd><p>Reduce buffering.
 </p></dd>
 </dl>
 
 </dd>
-<dt> &lsquo;<samp>-surround_mixlev <var>level</var></samp>&rsquo;</dt>
-<dd><p>Surround Mix Level. The amount of gain the decoder should apply to the surround
-channel(s) when downmixing to stereo. This field will only be written to the
-bitstream if one or more surround channels are present. The value is specified
-as a scale factor.  There are 3 valid values:
-</p><dl compact="compact">
-<dt> &lsquo;<samp>0.707</samp>&rsquo;</dt>
-<dd><p>Apply -3dB gain
-</p></dd>
-<dt> &lsquo;<samp>0.500</samp>&rsquo;</dt>
-<dd><p>Apply -6dB gain (default)
-</p></dd>
-<dt> &lsquo;<samp>0.000</samp>&rsquo;</dt>
-<dd><p>Silence Surround Channel(s)
-</p></dd>
-</dl>
-
-</dd>
-</dl>
-
-<a name="Audio-Production-Information"></a>
-<h4 class="subsubsection"><a href="ffplay-all.html#toc-Audio-Production-Information">13.2.1.3 Audio Production Information</a></h4>
-<p>Audio Production Information is optional information describing the mixing
-environment.  Either none or both of the fields are written to the bitstream.
+<dt> &lsquo;<samp>probesize <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
+<dd><p>Set probing size in bytes, i.e. the size of the data to analyze to get
+stream information. A higher value will allow to detect more
+information in case it is dispersed into the stream, but will increase
+latency. Must be an integer not lesser than 32. It is 5000000 by default.
 </p>
-<dl compact="compact">
-<dt> &lsquo;<samp>-mixing_level <var>number</var></samp>&rsquo;</dt>
-<dd><p>Mixing Level. Specifies peak sound pressure level (SPL) in the production
-environment when the mix was mastered. Valid values are 80 to 111, or -1 for
-unknown or not indicated. The default value is -1, but that value cannot be
-used if the Audio Production Information is written to the bitstream. Therefore,
-if the <code>room_type</code> option is not the default value, the <code>mixing_level</code>
-option must not be -1.
-</p>
-</dd>
-<dt> &lsquo;<samp>-room_type <var>type</var></samp>&rsquo;</dt>
-<dd><p>Room Type. Describes the equalization used during the final mixing session at
-the studio or on the dubbing stage. A large room is a dubbing stage with the
-industry standard X-curve equalization; a small room has flat equalization.
-This field will not be written to the bitstream if both the <code>mixing_level</code>
-option and the <code>room_type</code> option have the default values.
-</p><dl compact="compact">
-<dt> &lsquo;<samp>0</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>notindicated</samp>&rsquo;</dt>
-<dd><p>Not Indicated (default)
-</p></dd>
-<dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>large</samp>&rsquo;</dt>
-<dd><p>Large Room
-</p></dd>
-<dt> &lsquo;<samp>2</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>small</samp>&rsquo;</dt>
-<dd><p>Small Room
-</p></dd>
-</dl>
-
-</dd>
-</dl>
-
-<a name="Other-Metadata-Options"></a>
-<h4 class="subsubsection"><a href="ffplay-all.html#toc-Other-Metadata-Options">13.2.1.4 Other Metadata Options</a></h4>
-
-<dl compact="compact">
-<dt> &lsquo;<samp>-copyright <var>boolean</var></samp>&rsquo;</dt>
-<dd><p>Copyright Indicator. Specifies whether a copyright exists for this audio.
-</p><dl compact="compact">
-<dt> &lsquo;<samp>0</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>off</samp>&rsquo;</dt>
-<dd><p>No Copyright Exists (default)
-</p></dd>
-<dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>on</samp>&rsquo;</dt>
-<dd><p>Copyright Exists
-</p></dd>
-</dl>
-
 </dd>
-<dt> &lsquo;<samp>-dialnorm <var>value</var></samp>&rsquo;</dt>
-<dd><p>Dialogue Normalization. Indicates how far the average dialogue level of the
-program is below digital 100% full scale (0 dBFS). This parameter determines a
-level shift during audio reproduction that sets the average volume of the
-dialogue to a preset level. The goal is to match volume level between program
-sources. A value of -31dB will result in no volume level change, relative to
-the source volume, during audio reproduction. Valid values are whole numbers in
-the range -31 to -1, with -31 being the default.
+<dt> &lsquo;<samp>packetsize <var>integer</var> (<em>output</em>)</samp>&rsquo;</dt>
+<dd><p>Set packet size.
 </p>
 </dd>
-<dt> &lsquo;<samp>-dsur_mode <var>mode</var></samp>&rsquo;</dt>
-<dd><p>Dolby Surround Mode. Specifies whether the stereo signal uses Dolby Surround
-(Pro Logic). This field will only be written to the bitstream if the audio
-stream is stereo. Using this option does <b>NOT</b> mean the encoder will actually
-apply Dolby Surround processing.
-</p><dl compact="compact">
-<dt> &lsquo;<samp>0</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>notindicated</samp>&rsquo;</dt>
-<dd><p>Not Indicated (default)
-</p></dd>
-<dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>off</samp>&rsquo;</dt>
-<dd><p>Not Dolby Surround Encoded
-</p></dd>
-<dt> &lsquo;<samp>2</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>on</samp>&rsquo;</dt>
-<dd><p>Dolby Surround Encoded
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>-original <var>boolean</var></samp>&rsquo;</dt>
-<dd><p>Original Bit Stream Indicator. Specifies whether this audio is from the
-original source and not a copy.
-</p><dl compact="compact">
-<dt> &lsquo;<samp>0</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>off</samp>&rsquo;</dt>
-<dd><p>Not Original Source
-</p></dd>
-<dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>on</samp>&rsquo;</dt>
-<dd><p>Original Source (default)
-</p></dd>
-</dl>
-
-</dd>
-</dl>
-
-<a name="Extended-Bitstream-Information"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Extended-Bitstream-Information">13.2.2 Extended Bitstream Information</a></h3>
-<p>The extended bitstream options are part of the Alternate Bit Stream Syntax as
-specified in Annex D of the A/52:2010 standard. It is grouped into 2 parts.
-If any one parameter in a group is specified, all values in that group will be
-written to the bitstream.  Default values are used for those that are written
-but have not been specified.  If the mixing levels are written, the decoder
-will use these values instead of the ones specified in the <code>center_mixlev</code>
-and <code>surround_mixlev</code> options if it supports the Alternate Bit Stream
-Syntax.
+<dt> &lsquo;<samp>fflags <var>flags</var> (<em>input/output</em>)</samp>&rsquo;</dt>
+<dd><p>Set format flags.
 </p>
-<a name="Extended-Bitstream-Information-_002d-Part-1"></a>
-<h4 class="subsubsection"><a href="ffplay-all.html#toc-Extended-Bitstream-Information-_002d-Part-1">13.2.2.1 Extended Bitstream Information - Part 1</a></h4>
-
-<dl compact="compact">
-<dt> &lsquo;<samp>-dmix_mode <var>mode</var></samp>&rsquo;</dt>
-<dd><p>Preferred Stereo Downmix Mode. Allows the user to select either Lt/Rt
-(Dolby Surround) or Lo/Ro (normal stereo) as the preferred stereo downmix mode.
+<p>Possible values:
 </p><dl compact="compact">
-<dt> &lsquo;<samp>0</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>notindicated</samp>&rsquo;</dt>
-<dd><p>Not Indicated (default)
-</p></dd>
-<dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>ltrt</samp>&rsquo;</dt>
-<dd><p>Lt/Rt Downmix Preferred
+<dt> &lsquo;<samp>ignidx</samp>&rsquo;</dt>
+<dd><p>Ignore index.
 </p></dd>
-<dt> &lsquo;<samp>2</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>loro</samp>&rsquo;</dt>
-<dd><p>Lo/Ro Downmix Preferred
+<dt> &lsquo;<samp>genpts</samp>&rsquo;</dt>
+<dd><p>Generate PTS.
 </p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>-ltrt_cmixlev <var>level</var></samp>&rsquo;</dt>
-<dd><p>Lt/Rt Center Mix Level. The amount of gain the decoder should apply to the
-center channel when downmixing to stereo in Lt/Rt mode.
-</p><dl compact="compact">
-<dt> &lsquo;<samp>1.414</samp>&rsquo;</dt>
-<dd><p>Apply +3dB gain
+<dt> &lsquo;<samp>nofillin</samp>&rsquo;</dt>
+<dd><p>Do not fill in missing values that can be exactly calculated.
 </p></dd>
-<dt> &lsquo;<samp>1.189</samp>&rsquo;</dt>
-<dd><p>Apply +1.5dB gain
+<dt> &lsquo;<samp>noparse</samp>&rsquo;</dt>
+<dd><p>Disable AVParsers, this needs <code>+nofillin</code> too.
 </p></dd>
-<dt> &lsquo;<samp>1.000</samp>&rsquo;</dt>
-<dd><p>Apply 0dB gain
+<dt> &lsquo;<samp>igndts</samp>&rsquo;</dt>
+<dd><p>Ignore DTS.
 </p></dd>
-<dt> &lsquo;<samp>0.841</samp>&rsquo;</dt>
-<dd><p>Apply -1.5dB gain
+<dt> &lsquo;<samp>discardcorrupt</samp>&rsquo;</dt>
+<dd><p>Discard corrupted frames.
 </p></dd>
-<dt> &lsquo;<samp>0.707</samp>&rsquo;</dt>
-<dd><p>Apply -3.0dB gain
+<dt> &lsquo;<samp>sortdts</samp>&rsquo;</dt>
+<dd><p>Try to interleave output packets by DTS.
 </p></dd>
-<dt> &lsquo;<samp>0.595</samp>&rsquo;</dt>
-<dd><p>Apply -4.5dB gain (default)
+<dt> &lsquo;<samp>keepside</samp>&rsquo;</dt>
+<dd><p>Do not merge side data.
 </p></dd>
-<dt> &lsquo;<samp>0.500</samp>&rsquo;</dt>
-<dd><p>Apply -6.0dB gain
+<dt> &lsquo;<samp>latm</samp>&rsquo;</dt>
+<dd><p>Enable RTP MP4A-LATM payload.
 </p></dd>
-<dt> &lsquo;<samp>0.000</samp>&rsquo;</dt>
-<dd><p>Silence Center Channel
+<dt> &lsquo;<samp>nobuffer</samp>&rsquo;</dt>
+<dd><p>Reduce the latency introduced by optional buffering
 </p></dd>
 </dl>
 
 </dd>
-<dt> &lsquo;<samp>-ltrt_surmixlev <var>level</var></samp>&rsquo;</dt>
-<dd><p>Lt/Rt Surround Mix Level. The amount of gain the decoder should apply to the
-surround channel(s) when downmixing to stereo in Lt/Rt mode.
-</p><dl compact="compact">
-<dt> &lsquo;<samp>0.841</samp>&rsquo;</dt>
-<dd><p>Apply -1.5dB gain
-</p></dd>
-<dt> &lsquo;<samp>0.707</samp>&rsquo;</dt>
-<dd><p>Apply -3.0dB gain
-</p></dd>
-<dt> &lsquo;<samp>0.595</samp>&rsquo;</dt>
-<dd><p>Apply -4.5dB gain
-</p></dd>
-<dt> &lsquo;<samp>0.500</samp>&rsquo;</dt>
-<dd><p>Apply -6.0dB gain (default)
-</p></dd>
-<dt> &lsquo;<samp>0.000</samp>&rsquo;</dt>
-<dd><p>Silence Surround Channel(s)
-</p></dd>
-</dl>
-
+<dt> &lsquo;<samp>seek2any <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
+<dd><p>Allow seeking to non-keyframes on demuxer level when supported if set to 1.
+Default is 0.
+</p>
 </dd>
-<dt> &lsquo;<samp>-loro_cmixlev <var>level</var></samp>&rsquo;</dt>
-<dd><p>Lo/Ro Center Mix Level. The amount of gain the decoder should apply to the
-center channel when downmixing to stereo in Lo/Ro mode.
-</p><dl compact="compact">
-<dt> &lsquo;<samp>1.414</samp>&rsquo;</dt>
-<dd><p>Apply +3dB gain
-</p></dd>
-<dt> &lsquo;<samp>1.189</samp>&rsquo;</dt>
-<dd><p>Apply +1.5dB gain
-</p></dd>
-<dt> &lsquo;<samp>1.000</samp>&rsquo;</dt>
-<dd><p>Apply 0dB gain
-</p></dd>
-<dt> &lsquo;<samp>0.841</samp>&rsquo;</dt>
-<dd><p>Apply -1.5dB gain
-</p></dd>
-<dt> &lsquo;<samp>0.707</samp>&rsquo;</dt>
-<dd><p>Apply -3.0dB gain
-</p></dd>
-<dt> &lsquo;<samp>0.595</samp>&rsquo;</dt>
-<dd><p>Apply -4.5dB gain (default)
-</p></dd>
-<dt> &lsquo;<samp>0.500</samp>&rsquo;</dt>
-<dd><p>Apply -6.0dB gain
-</p></dd>
-<dt> &lsquo;<samp>0.000</samp>&rsquo;</dt>
-<dd><p>Silence Center Channel
-</p></dd>
-</dl>
-
+<dt> &lsquo;<samp>analyzeduration <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
+<dd><p>Specify how many microseconds are analyzed to probe the input. A
+higher value will allow to detect more accurate information, but will
+increase latency. It defaults to 5,000,000 microseconds = 5 seconds.
+</p>
+</dd>
+<dt> &lsquo;<samp>cryptokey <var>hexadecimal string</var> (<em>input</em>)</samp>&rsquo;</dt>
+<dd><p>Set decryption key.
+</p>
+</dd>
+<dt> &lsquo;<samp>indexmem <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
+<dd><p>Set max memory used for timestamp index (per stream).
+</p>
+</dd>
+<dt> &lsquo;<samp>rtbufsize <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
+<dd><p>Set max memory used for buffering real-time frames.
+</p>
 </dd>
-<dt> &lsquo;<samp>-loro_surmixlev <var>level</var></samp>&rsquo;</dt>
-<dd><p>Lo/Ro Surround Mix Level. The amount of gain the decoder should apply to the
-surround channel(s) when downmixing to stereo in Lo/Ro mode.
+<dt> &lsquo;<samp>fdebug <var>flags</var> (<em>input/output</em>)</samp>&rsquo;</dt>
+<dd><p>Print specific debug info.
+</p>
+<p>Possible values:
 </p><dl compact="compact">
-<dt> &lsquo;<samp>0.841</samp>&rsquo;</dt>
-<dd><p>Apply -1.5dB gain
-</p></dd>
-<dt> &lsquo;<samp>0.707</samp>&rsquo;</dt>
-<dd><p>Apply -3.0dB gain
-</p></dd>
-<dt> &lsquo;<samp>0.595</samp>&rsquo;</dt>
-<dd><p>Apply -4.5dB gain
-</p></dd>
-<dt> &lsquo;<samp>0.500</samp>&rsquo;</dt>
-<dd><p>Apply -6.0dB gain (default)
-</p></dd>
-<dt> &lsquo;<samp>0.000</samp>&rsquo;</dt>
-<dd><p>Silence Surround Channel(s)
-</p></dd>
+<dt> &lsquo;<samp>ts</samp>&rsquo;</dt>
 </dl>
 
 </dd>
-</dl>
-
-<a name="Extended-Bitstream-Information-_002d-Part-2"></a>
-<h4 class="subsubsection"><a href="ffplay-all.html#toc-Extended-Bitstream-Information-_002d-Part-2">13.2.2.2 Extended Bitstream Information - Part 2</a></h4>
-
-<dl compact="compact">
-<dt> &lsquo;<samp>-dsurex_mode <var>mode</var></samp>&rsquo;</dt>
-<dd><p>Dolby Surround EX Mode. Indicates whether the stream uses Dolby Surround EX
-(7.1 matrixed to 5.1). Using this option does <b>NOT</b> mean the encoder will actually
-apply Dolby Surround EX processing.
+<dt> &lsquo;<samp>max_delay <var>integer</var> (<em>input/output</em>)</samp>&rsquo;</dt>
+<dd><p>Set maximum muxing or demuxing delay in microseconds.
+</p>
+</dd>
+<dt> &lsquo;<samp>fpsprobesize <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
+<dd><p>Set number of frames used to probe fps.
+</p>
+</dd>
+<dt> &lsquo;<samp>audio_preload <var>integer</var> (<em>output</em>)</samp>&rsquo;</dt>
+<dd><p>Set microseconds by which audio packets should be interleaved earlier.
+</p>
+</dd>
+<dt> &lsquo;<samp>chunk_duration <var>integer</var> (<em>output</em>)</samp>&rsquo;</dt>
+<dd><p>Set microseconds for each chunk.
+</p>
+</dd>
+<dt> &lsquo;<samp>chunk_size <var>integer</var> (<em>output</em>)</samp>&rsquo;</dt>
+<dd><p>Set size in bytes for each chunk.
+</p>
+</dd>
+<dt> &lsquo;<samp>err_detect, f_err_detect <var>flags</var> (<em>input</em>)</samp>&rsquo;</dt>
+<dd><p>Set error detection flags. <code>f_err_detect</code> is deprecated and
+should be used only via the <code>ffmpeg</code> tool.
+</p>
+<p>Possible values:
 </p><dl compact="compact">
-<dt> &lsquo;<samp>0</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>notindicated</samp>&rsquo;</dt>
-<dd><p>Not Indicated (default)
-</p></dd>
-<dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>on</samp>&rsquo;</dt>
-<dd><p>Dolby Surround EX Off
+<dt> &lsquo;<samp>crccheck</samp>&rsquo;</dt>
+<dd><p>Verify embedded CRCs.
 </p></dd>
-<dt> &lsquo;<samp>2</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>off</samp>&rsquo;</dt>
-<dd><p>Dolby Surround EX On
+<dt> &lsquo;<samp>bitstream</samp>&rsquo;</dt>
+<dd><p>Detect bitstream specification deviations.
 </p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>-dheadphone_mode <var>mode</var></samp>&rsquo;</dt>
-<dd><p>Dolby Headphone Mode. Indicates whether the stream uses Dolby Headphone
-encoding (multi-channel matrixed to 2.0 for use with headphones). Using this
-option does <b>NOT</b> mean the encoder will actually apply Dolby Headphone
-processing.
-</p><dl compact="compact">
-<dt> &lsquo;<samp>0</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>notindicated</samp>&rsquo;</dt>
-<dd><p>Not Indicated (default)
+<dt> &lsquo;<samp>buffer</samp>&rsquo;</dt>
+<dd><p>Detect improper bitstream length.
 </p></dd>
-<dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>on</samp>&rsquo;</dt>
-<dd><p>Dolby Headphone Off
+<dt> &lsquo;<samp>explode</samp>&rsquo;</dt>
+<dd><p>Abort decoding on minor error detection.
 </p></dd>
-<dt> &lsquo;<samp>2</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>off</samp>&rsquo;</dt>
-<dd><p>Dolby Headphone On
+<dt> &lsquo;<samp>careful</samp>&rsquo;</dt>
+<dd><p>Consider things that violate the spec and have not been seen in the
+wild as errors.
 </p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>-ad_conv_type <var>type</var></samp>&rsquo;</dt>
-<dd><p>A/D Converter Type. Indicates whether the audio has passed through HDCD A/D
-conversion.
-</p><dl compact="compact">
-<dt> &lsquo;<samp>0</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>standard</samp>&rsquo;</dt>
-<dd><p>Standard A/D Converter (default)
+<dt> &lsquo;<samp>compliant</samp>&rsquo;</dt>
+<dd><p>Consider all spec non compliancies as errors.
 </p></dd>
-<dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>hdcd</samp>&rsquo;</dt>
-<dd><p>HDCD A/D Converter
+<dt> &lsquo;<samp>aggressive</samp>&rsquo;</dt>
+<dd><p>Consider things that a sane encoder should not do as an error.
 </p></dd>
 </dl>
 
 </dd>
-</dl>
-
-<a name="Other-AC_002d3-Encoding-Options"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Other-AC_002d3-Encoding-Options">13.2.3 Other AC-3 Encoding Options</a></h3>
-
-<dl compact="compact">
-<dt> &lsquo;<samp>-stereo_rematrixing <var>boolean</var></samp>&rsquo;</dt>
-<dd><p>Stereo Rematrixing. Enables/Disables use of rematrixing for stereo input. This
-is an optional AC-3 feature that increases quality by selectively encoding
-the left/right channels as mid/side. This option is enabled by default, and it
-is highly recommended that it be left as enabled except for testing purposes.
+<dt> &lsquo;<samp>use_wallclock_as_timestamps <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
+<dd><p>Use wallclock as timestamps.
 </p>
 </dd>
-</dl>
-
-<a name="Floating_002dPoint_002dOnly-AC_002d3-Encoding-Options"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Floating_002dPoint_002dOnly-AC_002d3-Encoding-Options">13.2.4 Floating-Point-Only AC-3 Encoding Options</a></h3>
-
-<p>These options are only valid for the floating-point encoder and do not exist
-for the fixed-point encoder due to the corresponding features not being
-implemented in fixed-point.
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>-channel_coupling <var>boolean</var></samp>&rsquo;</dt>
-<dd><p>Enables/Disables use of channel coupling, which is an optional AC-3 feature
-that increases quality by combining high frequency information from multiple
-channels into a single channel. The per-channel high frequency information is
-sent with less accuracy in both the frequency and time domains. This allows
-more bits to be used for lower frequencies while preserving enough information
-to reconstruct the high frequencies. This option is enabled by default for the
-floating-point encoder and should generally be left as enabled except for
-testing purposes or to increase encoding speed.
+<dt> &lsquo;<samp>avoid_negative_ts <var>integer</var> (<em>output</em>)</samp>&rsquo;</dt>
+<dd>
+<p>Possible values:
 </p><dl compact="compact">
-<dt> &lsquo;<samp>-1</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>auto</samp>&rsquo;</dt>
-<dd><p>Selected by Encoder (default)
+<dt> &lsquo;<samp>make_non_negative</samp>&rsquo;</dt>
+<dd><p>Shift timestamps to make them non-negative.
+Also note that this affects only leading negative timestamps, and not
+non-monotonic negative timestamps.
 </p></dd>
-<dt> &lsquo;<samp>0</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>off</samp>&rsquo;</dt>
-<dd><p>Disable Channel Coupling
+<dt> &lsquo;<samp>make_zero</samp>&rsquo;</dt>
+<dd><p>Shift timestamps so that the first timestamp is 0.
 </p></dd>
-<dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>on</samp>&rsquo;</dt>
-<dd><p>Enable Channel Coupling
+<dt> &lsquo;<samp>auto (default)</samp>&rsquo;</dt>
+<dd><p>Enables shifting when required by the target format.
 </p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>-cpl_start_band <var>number</var></samp>&rsquo;</dt>
-<dd><p>Coupling Start Band. Sets the channel coupling start band, from 1 to 15. If a
-value higher than the bandwidth is used, it will be reduced to 1 less than the
-coupling end band. If <var>auto</var> is used, the start band will be determined by
-the encoder based on the bit rate, sample rate, and channel layout. This option
-has no effect if channel coupling is disabled.
-</p><dl compact="compact">
-<dt> &lsquo;<samp>-1</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>auto</samp>&rsquo;</dt>
-<dd><p>Selected by Encoder (default)
+<dt> &lsquo;<samp>disabled</samp>&rsquo;</dt>
+<dd><p>Disables shifting of timestamp.
 </p></dd>
 </dl>
 
-</dd>
-</dl>
-
-<p><a name="libfaac"></a>
-</p><a name="libfaac-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-libfaac-1">13.3 libfaac</a></h2>
-
-<p>libfaac AAC (Advanced Audio Coding) encoder wrapper.
-</p>
-<p>Requires the presence of the libfaac headers and library during
-configuration. You need to explicitly configure the build with
-<code>--enable-libfaac --enable-nonfree</code>.
-</p>
-<p>This encoder is considered to be of higher quality with respect to the
-<a href="#aacenc">the native experimental FFmpeg AAC encoder</a>.
-</p>
-<p>For more information see the libfaac project at
-<a href="http://www.audiocoding.com/faac.html/">http://www.audiocoding.com/faac.html/</a>.
-</p>
-<a name="Options-28"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Options-28">13.3.1 Options</a></h3>
-
-<p>The following shared FFmpeg codec options are recognized.
-</p>
-<p>The following options are supported by the libfaac wrapper. The
-<code>faac</code>-equivalent of the options are listed in parentheses.
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>b (<em>-b</em>)</samp>&rsquo;</dt>
-<dd><p>Set bit rate in bits/s for ABR (Average Bit Rate) mode. If the bit rate
-is not explicitly specified, it is automatically set to a suitable
-value depending on the selected profile. <code>faac</code> bitrate is
-expressed in kilobits/s.
-</p>
-<p>Note that libfaac does not support CBR (Constant Bit Rate) but only
-ABR (Average Bit Rate).
-</p>
-<p>If VBR mode is enabled this option is ignored.
+<p>When shifting is enabled, all output timestamps are shifted by the
+same amount. Audio, video, and subtitles desynching and relative
+timestamp differences are preserved compared to how they would have
+been without shifting.
 </p>
 </dd>
-<dt> &lsquo;<samp>ar (<em>-R</em>)</samp>&rsquo;</dt>
-<dd><p>Set audio sampling rate (in Hz).
+<dt> &lsquo;<samp>skip_initial_bytes <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
+<dd><p>Set number of bytes to skip before reading header and frames if set to 1.
+Default is 0.
 </p>
 </dd>
-<dt> &lsquo;<samp>ac (<em>-c</em>)</samp>&rsquo;</dt>
-<dd><p>Set the number of audio channels.
+<dt> &lsquo;<samp>correct_ts_overflow <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
+<dd><p>Correct single timestamp overflows if set to 1. Default is 1.
 </p>
 </dd>
-<dt> &lsquo;<samp>cutoff (<em>-C</em>)</samp>&rsquo;</dt>
-<dd><p>Set cutoff frequency. If not specified (or explicitly set to 0) it
-will use a value automatically computed by the library. Default value
-is 0.
-</p>
-</dd>
-<dt> &lsquo;<samp>profile</samp>&rsquo;</dt>
-<dd><p>Set audio profile.
-</p>
-<p>The following profiles are recognized:
-</p><dl compact="compact">
-<dt> &lsquo;<samp>aac_main</samp>&rsquo;</dt>
-<dd><p>Main AAC (Main)
-</p>
-</dd>
-<dt> &lsquo;<samp>aac_low</samp>&rsquo;</dt>
-<dd><p>Low Complexity AAC (LC)
-</p>
-</dd>
-<dt> &lsquo;<samp>aac_ssr</samp>&rsquo;</dt>
-<dd><p>Scalable Sample Rate (SSR)
-</p>
-</dd>
-<dt> &lsquo;<samp>aac_ltp</samp>&rsquo;</dt>
-<dd><p>Long Term Prediction (LTP)
-</p></dd>
-</dl>
-
-<p>If not specified it is set to &lsquo;<samp>aac_low</samp>&rsquo;.
-</p>
-</dd>
-<dt> &lsquo;<samp>flags +qscale</samp>&rsquo;</dt>
-<dd><p>Set constant quality VBR (Variable Bit Rate) mode.
-</p>
-</dd>
-<dt> &lsquo;<samp>global_quality</samp>&rsquo;</dt>
-<dd><p>Set quality in VBR mode as an integer number of lambda units.
-</p>
-<p>Only relevant when VBR mode is enabled with <code>flags +qscale</code>.  The
-value is converted to QP units by dividing it by <code>FF_QP2LAMBDA</code>,
-and used to set the quality value used by libfaac. A reasonable range
-for the option value in QP units is [10-500], the higher the value the
-higher the quality.
-</p>
-</dd>
-<dt> &lsquo;<samp>q (<em>-q</em>)</samp>&rsquo;</dt>
-<dd><p>Enable VBR mode when set to a non-negative value, and set constant
-quality value as a double floating point value in QP units.
-</p>
-<p>The value sets the quality value used by libfaac. A reasonable range
-for the option value is [10-500], the higher the value the higher the
-quality.
-</p>
-<p>This option is valid only using the <code>ffmpeg</code> command-line
-tool. For library interface users, use &lsquo;<samp>global_quality</samp>&rsquo;.
-</p></dd>
-</dl>
-
-<a name="Examples-43"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-43">13.3.2 Examples</a></h3>
-
-<ul>
-<li>
-Use <code>ffmpeg</code> to convert an audio file to ABR 128 kbps AAC in an M4A (MP4)
-container:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i input.wav -codec:a libfaac -b:a 128k -output.m4a
-</pre></td></tr></table>
-
-</li><li>
-Use <code>ffmpeg</code> to convert an audio file to VBR AAC, using the
-LTP AAC profile:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i input.wav -c:a libfaac -profile:a aac_ltp -q:a 100 output.m4a
-</pre></td></tr></table>
-</li></ul>
-
-<p><a name="libfdk_002daac_002denc"></a>
-</p><a name="libfdk_005faac"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-libfdk_005faac">13.4 libfdk_aac</a></h2>
-
-<p>libfdk-aac AAC (Advanced Audio Coding) encoder wrapper.
-</p>
-<p>The libfdk-aac library is based on the Fraunhofer FDK AAC code from
-the Android project.
-</p>
-<p>Requires the presence of the libfdk-aac headers and library during
-configuration. You need to explicitly configure the build with
-<code>--enable-libfdk-aac</code>. The library is also incompatible with GPL,
-so if you allow the use of GPL, you should configure with
-<code>--enable-gpl --enable-nonfree --enable-libfdk-aac</code>.
-</p>
-<p>This encoder is considered to be of higher quality with respect to
-both <a href="#aacenc">the native experimental FFmpeg AAC encoder</a> and
-<a href="#libfaac">libfaac</a>.
-</p>
-<p>VBR encoding, enabled through the &lsquo;<samp>vbr</samp>&rsquo; or &lsquo;<samp>flags
-+qscale</samp>&rsquo; options, is experimental and only works with some
-combinations of parameters.
-</p>
-<p>For more information see the fdk-aac project at
-<a href="http://sourceforge.net/p/opencore-amr/fdk-aac/">http://sourceforge.net/p/opencore-amr/fdk-aac/</a>.
-</p>
-<a name="Options-8"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Options-8">13.4.1 Options</a></h3>
-
-<p>The following options are mapped on the shared FFmpeg codec options.
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>b</samp>&rsquo;</dt>
-<dd><p>Set bit rate in bits/s. If the bitrate is not explicitly specified, it
-is automatically set to a suitable value depending on the selected
-profile.
-</p>
-<p>In case VBR mode is enabled the option is ignored.
-</p>
-</dd>
-<dt> &lsquo;<samp>ar</samp>&rsquo;</dt>
-<dd><p>Set audio sampling rate (in Hz).
-</p>
-</dd>
-<dt> &lsquo;<samp>channels</samp>&rsquo;</dt>
-<dd><p>Set the number of audio channels.
-</p>
-</dd>
-<dt> &lsquo;<samp>flags +qscale</samp>&rsquo;</dt>
-<dd><p>Enable fixed quality, VBR (Variable Bit Rate) mode.
-Note that VBR is implicitly enabled when the &lsquo;<samp>vbr</samp>&rsquo; value is
-positive.
-</p>
-</dd>
-<dt> &lsquo;<samp>cutoff</samp>&rsquo;</dt>
-<dd><p>Set cutoff frequency. If not specified (or explicitly set to 0) it
-will use a value automatically computed by the library. Default value
-is 0.
-</p>
-</dd>
-<dt> &lsquo;<samp>profile</samp>&rsquo;</dt>
-<dd><p>Set audio profile.
-</p>
-<p>The following profiles are recognized:
-</p><dl compact="compact">
-<dt> &lsquo;<samp>aac_low</samp>&rsquo;</dt>
-<dd><p>Low Complexity AAC (LC)
-</p>
-</dd>
-<dt> &lsquo;<samp>aac_he</samp>&rsquo;</dt>
-<dd><p>High Efficiency AAC (HE-AAC)
-</p>
-</dd>
-<dt> &lsquo;<samp>aac_he_v2</samp>&rsquo;</dt>
-<dd><p>High Efficiency AAC version 2 (HE-AACv2)
-</p>
-</dd>
-<dt> &lsquo;<samp>aac_ld</samp>&rsquo;</dt>
-<dd><p>Low Delay AAC (LD)
-</p>
-</dd>
-<dt> &lsquo;<samp>aac_eld</samp>&rsquo;</dt>
-<dd><p>Enhanced Low Delay AAC (ELD)
-</p></dd>
-</dl>
-
-<p>If not specified it is set to &lsquo;<samp>aac_low</samp>&rsquo;.
-</p></dd>
-</dl>
-
-<p>The following are private options of the libfdk_aac encoder.
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>afterburner</samp>&rsquo;</dt>
-<dd><p>Enable afterburner feature if set to 1, disabled if set to 0. This
-improves the quality but also the required processing power.
-</p>
-<p>Default value is 1.
-</p>
-</dd>
-<dt> &lsquo;<samp>eld_sbr</samp>&rsquo;</dt>
-<dd><p>Enable SBR (Spectral Band Replication) for ELD if set to 1, disabled
-if set to 0.
-</p>
-<p>Default value is 0.
-</p>
-</dd>
-<dt> &lsquo;<samp>signaling</samp>&rsquo;</dt>
-<dd><p>Set SBR/PS signaling style.
-</p>
-<p>It can assume one of the following values:
-</p><dl compact="compact">
-<dt> &lsquo;<samp>default</samp>&rsquo;</dt>
-<dd><p>choose signaling implicitly (explicit hierarchical by default,
-implicit if global header is disabled)
-</p>
-</dd>
-<dt> &lsquo;<samp>implicit</samp>&rsquo;</dt>
-<dd><p>implicit backwards compatible signaling
-</p>
-</dd>
-<dt> &lsquo;<samp>explicit_sbr</samp>&rsquo;</dt>
-<dd><p>explicit SBR, implicit PS signaling
-</p>
-</dd>
-<dt> &lsquo;<samp>explicit_hierarchical</samp>&rsquo;</dt>
-<dd><p>explicit hierarchical signaling
-</p></dd>
-</dl>
-
-<p>Default value is &lsquo;<samp>default</samp>&rsquo;.
-</p>
-</dd>
-<dt> &lsquo;<samp>latm</samp>&rsquo;</dt>
-<dd><p>Output LATM/LOAS encapsulated data if set to 1, disabled if set to 0.
-</p>
-<p>Default value is 0.
-</p>
-</dd>
-<dt> &lsquo;<samp>header_period</samp>&rsquo;</dt>
-<dd><p>Set StreamMuxConfig and PCE repetition period (in frames) for sending
-in-band configuration buffers within LATM/LOAS transport layer.
-</p>
-<p>Must be a 16-bits non-negative integer.
-</p>
-<p>Default value is 0.
-</p>
-</dd>
-<dt> &lsquo;<samp>vbr</samp>&rsquo;</dt>
-<dd><p>Set VBR mode, from 1 to 5. 1 is lowest quality (though still pretty
-good) and 5 is highest quality. A value of 0 will disable VBR, and CBR
-(Constant Bit Rate) is enabled.
-</p>
-<p>Currently only the &lsquo;<samp>aac_low</samp>&rsquo; profile supports VBR encoding.
-</p>
-<p>VBR modes 1-5 correspond to roughly the following average bit rates:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dd><p>32 kbps/channel
-</p></dd>
-<dt> &lsquo;<samp>2</samp>&rsquo;</dt>
-<dd><p>40 kbps/channel
-</p></dd>
-<dt> &lsquo;<samp>3</samp>&rsquo;</dt>
-<dd><p>48-56 kbps/channel
-</p></dd>
-<dt> &lsquo;<samp>4</samp>&rsquo;</dt>
-<dd><p>64 kbps/channel
-</p></dd>
-<dt> &lsquo;<samp>5</samp>&rsquo;</dt>
-<dd><p>about 80-96 kbps/channel
-</p></dd>
-</dl>
-
-<p>Default value is 0.
-</p></dd>
-</dl>
-
-<a name="Examples-59"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-59">13.4.2 Examples</a></h3>
-
-<ul>
-<li>
-Use <code>ffmpeg</code> to convert an audio file to VBR AAC in an M4A (MP4)
-container:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i input.wav -codec:a libfdk_aac -vbr 3 output.m4a
-</pre></td></tr></table>
-
-</li><li>
-Use <code>ffmpeg</code> to convert an audio file to CBR 64k kbps AAC, using the
-High-Efficiency AAC profile:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i input.wav -c:a libfdk_aac -profile:a aac_he -b:a 64k output.m4a
-</pre></td></tr></table>
-</li></ul>
-
-<p><a name="libmp3lame"></a>
-</p><a name="libmp3lame-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-libmp3lame-1">13.5 libmp3lame</a></h2>
-
-<p>LAME (Lame Ain&rsquo;t an MP3 Encoder) MP3 encoder wrapper.
-</p>
-<p>Requires the presence of the libmp3lame headers and library during
-configuration. You need to explicitly configure the build with
-<code>--enable-libmp3lame</code>.
-</p>
-<p>See <a href="#libshine">libshine</a> for a fixed-point MP3 encoder, although with a
-lower quality.
-</p>
-<a name="Options-17"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Options-17">13.5.1 Options</a></h3>
-
-<p>The following options are supported by the libmp3lame wrapper. The
-<code>lame</code>-equivalent of the options are listed in parentheses.
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>b (<em>-b</em>)</samp>&rsquo;</dt>
-<dd><p>Set bitrate expressed in bits/s for CBR or ABR. LAME <code>bitrate</code> is
-expressed in kilobits/s.
-</p>
-</dd>
-<dt> &lsquo;<samp>q (<em>-V</em>)</samp>&rsquo;</dt>
-<dd><p>Set constant quality setting for VBR. This option is valid only
-using the <code>ffmpeg</code> command-line tool. For library interface
-users, use &lsquo;<samp>global_quality</samp>&rsquo;.
-</p>
-</dd>
-<dt> &lsquo;<samp>compression_level (<em>-q</em>)</samp>&rsquo;</dt>
-<dd><p>Set algorithm quality. Valid arguments are integers in the 0-9 range,
-with 0 meaning highest quality but slowest, and 9 meaning fastest
-while producing the worst quality.
-</p>
-</dd>
-<dt> &lsquo;<samp>reservoir</samp>&rsquo;</dt>
-<dd><p>Enable use of bit reservoir when set to 1. Default value is 1. LAME
-has this enabled by default, but can be overriden by use
-&lsquo;<samp>--nores</samp>&rsquo; option.
-</p>
-</dd>
-<dt> &lsquo;<samp>joint_stereo (<em>-m j</em>)</samp>&rsquo;</dt>
-<dd><p>Enable the encoder to use (on a frame by frame basis) either L/R
-stereo or mid/side stereo. Default value is 1.
-</p>
-</dd>
-<dt> &lsquo;<samp>abr (<em>--abr</em>)</samp>&rsquo;</dt>
-<dd><p>Enable the encoder to use ABR when set to 1. The <code>lame</code>
-&lsquo;<samp>--abr</samp>&rsquo; sets the target bitrate, while this options only
-tells FFmpeg to use ABR still relies on &lsquo;<samp>b</samp>&rsquo; to set bitrate.
-</p>
-</dd>
-</dl>
-
-<a name="libopencore_002damrnb"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-libopencore_002damrnb">13.6 libopencore-amrnb</a></h2>
-
-<p>OpenCORE Adaptive Multi-Rate Narrowband encoder.
-</p>
-<p>Requires the presence of the libopencore-amrnb headers and library during
-configuration. You need to explicitly configure the build with
-<code>--enable-libopencore-amrnb --enable-version3</code>.
-</p>
-<p>This is a mono-only encoder. Officially it only supports 8000Hz sample rate,
-but you can override it by setting &lsquo;<samp>strict</samp>&rsquo; to &lsquo;<samp>unofficial</samp>&rsquo; or
-lower.
-</p>
-<a name="Options-29"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Options-29">13.6.1 Options</a></h3>
-
-<dl compact="compact">
-<dt> &lsquo;<samp>b</samp>&rsquo;</dt>
-<dd><p>Set bitrate in bits per second. Only the following bitrates are supported,
-otherwise libavcodec will round to the nearest valid bitrate.
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>4750</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>5150</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>5900</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>6700</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>7400</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>7950</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>10200</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>12200</samp>&rsquo;</dt>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>dtx</samp>&rsquo;</dt>
-<dd><p>Allow discontinuous transmission (generate comfort noise) when set to 1. The
-default value is 0 (disabled).
-</p>
-</dd>
-</dl>
-
-<p><a name="libshine"></a>
-</p><a name="libshine-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-libshine-1">13.7 libshine</a></h2>
-
-<p>Shine Fixed-Point MP3 encoder wrapper.
-</p>
-<p>Shine is a fixed-point MP3 encoder. It has a far better performance on
-platforms without an FPU, e.g. armel CPUs, and some phones and tablets.
-However, as it is more targeted on performance than quality, it is not on par
-with LAME and other production-grade encoders quality-wise. Also, according to
-the project&rsquo;s homepage, this encoder may not be free of bugs as the code was
-written a long time ago and the project was dead for at least 5 years.
-</p>
-<p>This encoder only supports stereo and mono input. This is also CBR-only.
-</p>
-<p>The original project (last updated in early 2007) is at
-<a href="http://sourceforge.net/projects/libshine-fxp/">http://sourceforge.net/projects/libshine-fxp/</a>. We only support the
-updated fork by the Savonet/Liquidsoap project at <a href="https://github.com/savonet/shine">https://github.com/savonet/shine</a>.
-</p>
-<p>Requires the presence of the libshine headers and library during
-configuration. You need to explicitly configure the build with
-<code>--enable-libshine</code>.
-</p>
-<p>See also <a href="#libmp3lame">libmp3lame</a>.
-</p>
-<a name="Options-16"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Options-16">13.7.1 Options</a></h3>
-
-<p>The following options are supported by the libshine wrapper. The
-<code>shineenc</code>-equivalent of the options are listed in parentheses.
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>b (<em>-b</em>)</samp>&rsquo;</dt>
-<dd><p>Set bitrate expressed in bits/s for CBR. <code>shineenc</code> &lsquo;<samp>-b</samp>&rsquo; option
-is expressed in kilobits/s.
-</p>
-</dd>
-</dl>
-
-<a name="libtwolame"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-libtwolame">13.8 libtwolame</a></h2>
-
-<p>TwoLAME MP2 encoder wrapper.
-</p>
-<p>Requires the presence of the libtwolame headers and library during
-configuration. You need to explicitly configure the build with
-<code>--enable-libtwolame</code>.
-</p>
-<a name="Options-22"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Options-22">13.8.1 Options</a></h3>
-
-<p>The following options are supported by the libtwolame wrapper. The
-<code>twolame</code>-equivalent options follow the FFmpeg ones and are in
-parentheses.
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>b (<em>-b</em>)</samp>&rsquo;</dt>
-<dd><p>Set bitrate expressed in bits/s for CBR. <code>twolame</code> &lsquo;<samp>b</samp>&rsquo;
-option is expressed in kilobits/s. Default value is 128k.
-</p>
-</dd>
-<dt> &lsquo;<samp>q (<em>-V</em>)</samp>&rsquo;</dt>
-<dd><p>Set quality for experimental VBR support. Maximum value range is
-from -50 to 50, useful range is from -10 to 10. The higher the
-value, the better the quality. This option is valid only using the
-<code>ffmpeg</code> command-line tool. For library interface users,
-use &lsquo;<samp>global_quality</samp>&rsquo;.
-</p>
-</dd>
-<dt> &lsquo;<samp>mode (<em>--mode</em>)</samp>&rsquo;</dt>
-<dd><p>Set the mode of the resulting audio. Possible values:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>auto</samp>&rsquo;</dt>
-<dd><p>Choose mode automatically based on the input. This is the default.
-</p></dd>
-<dt> &lsquo;<samp>stereo</samp>&rsquo;</dt>
-<dd><p>Stereo
-</p></dd>
-<dt> &lsquo;<samp>joint_stereo</samp>&rsquo;</dt>
-<dd><p>Joint stereo
-</p></dd>
-<dt> &lsquo;<samp>dual_channel</samp>&rsquo;</dt>
-<dd><p>Dual channel
-</p></dd>
-<dt> &lsquo;<samp>mono</samp>&rsquo;</dt>
-<dd><p>Mono
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>psymodel (<em>--psyc-mode</em>)</samp>&rsquo;</dt>
-<dd><p>Set psychoacoustic model to use in encoding. The argument must be
-an integer between -1 and 4, inclusive. The higher the value, the
-better the quality. The default value is 3.
-</p>
-</dd>
-<dt> &lsquo;<samp>energy_levels (<em>--energy</em>)</samp>&rsquo;</dt>
-<dd><p>Enable energy levels extensions when set to 1. The default value is
-0 (disabled).
-</p>
-</dd>
-<dt> &lsquo;<samp>error_protection (<em>--protect</em>)</samp>&rsquo;</dt>
-<dd><p>Enable CRC error protection when set to 1. The default value is 0
-(disabled).
-</p>
-</dd>
-<dt> &lsquo;<samp>copyright (<em>--copyright</em>)</samp>&rsquo;</dt>
-<dd><p>Set MPEG audio copyright flag when set to 1. The default value is 0
-(disabled).
-</p>
-</dd>
-<dt> &lsquo;<samp>original (<em>--original</em>)</samp>&rsquo;</dt>
-<dd><p>Set MPEG audio original flag when set to 1. The default value is 0
-(disabled).
-</p>
-</dd>
-</dl>
-
-<p><a name="libvo_002daacenc"></a>
-</p><a name="libvo_002daacenc-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-libvo_002daacenc-1">13.9 libvo-aacenc</a></h2>
-
-<p>VisualOn AAC encoder.
-</p>
-<p>Requires the presence of the libvo-aacenc headers and library during
-configuration. You need to explicitly configure the build with
-<code>--enable-libvo-aacenc --enable-version3</code>.
-</p>
-<p>This encoder is considered to be worse than the
-<a href="#aacenc">native experimental FFmpeg AAC encoder</a>, according to
-multiple sources.
-</p>
-<a name="Options-11"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Options-11">13.9.1 Options</a></h3>
-
-<p>The VisualOn AAC encoder only support encoding AAC-LC and up to 2
-channels. It is also CBR-only.
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>b</samp>&rsquo;</dt>
-<dd><p>Set bit rate in bits/s.
-</p>
-</dd>
-</dl>
-
-<a name="libvo_002damrwbenc"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-libvo_002damrwbenc">13.10 libvo-amrwbenc</a></h2>
-
-<p>VisualOn Adaptive Multi-Rate Wideband encoder.
-</p>
-<p>Requires the presence of the libvo-amrwbenc headers and library during
-configuration. You need to explicitly configure the build with
-<code>--enable-libvo-amrwbenc --enable-version3</code>.
-</p>
-<p>This is a mono-only encoder. Officially it only supports 16000Hz sample
-rate, but you can override it by setting &lsquo;<samp>strict</samp>&rsquo; to
-&lsquo;<samp>unofficial</samp>&rsquo; or lower.
-</p>
-<a name="Options-23"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Options-23">13.10.1 Options</a></h3>
-
-<dl compact="compact">
-<dt> &lsquo;<samp>b</samp>&rsquo;</dt>
-<dd><p>Set bitrate in bits/s. Only the following bitrates are supported, otherwise
-libavcodec will round to the nearest valid bitrate.
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>6600</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>8850</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>12650</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>14250</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>15850</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>18250</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>19850</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>23050</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>23850</samp>&rsquo;</dt>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>dtx</samp>&rsquo;</dt>
-<dd><p>Allow discontinuous transmission (generate comfort noise) when set to 1. The
-default value is 0 (disabled).
-</p>
-</dd>
-</dl>
-
-<a name="libopus-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-libopus-1">13.11 libopus</a></h2>
-
-<p>libopus Opus Interactive Audio Codec encoder wrapper.
-</p>
-<p>Requires the presence of the libopus headers and library during
-configuration. You need to explicitly configure the build with
-<code>--enable-libopus</code>.
-</p>
-<a name="Option-Mapping"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Option-Mapping">13.11.1 Option Mapping</a></h3>
-
-<p>Most libopus options are modeled after the <code>opusenc</code> utility from
-opus-tools. The following is an option mapping chart describing options
-supported by the libopus wrapper, and their <code>opusenc</code>-equivalent
-in parentheses.
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>b (<em>bitrate</em>)</samp>&rsquo;</dt>
-<dd><p>Set the bit rate in bits/s.  FFmpeg&rsquo;s &lsquo;<samp>b</samp>&rsquo; option is
-expressed in bits/s, while <code>opusenc</code>&rsquo;s &lsquo;<samp>bitrate</samp>&rsquo; in
-kilobits/s.
-</p>
-</dd>
-<dt> &lsquo;<samp>vbr (<em>vbr</em>, <em>hard-cbr</em>, and <em>cvbr</em>)</samp>&rsquo;</dt>
-<dd><p>Set VBR mode. The FFmpeg &lsquo;<samp>vbr</samp>&rsquo; option has the following
-valid arguments, with the their <code>opusenc</code> equivalent options
-in parentheses:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>off (<em>hard-cbr</em>)</samp>&rsquo;</dt>
-<dd><p>Use constant bit rate encoding.
-</p>
-</dd>
-<dt> &lsquo;<samp>on (<em>vbr</em>)</samp>&rsquo;</dt>
-<dd><p>Use variable bit rate encoding (the default).
-</p>
-</dd>
-<dt> &lsquo;<samp>constrained (<em>cvbr</em>)</samp>&rsquo;</dt>
-<dd><p>Use constrained variable bit rate encoding.
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>compression_level (<em>comp</em>)</samp>&rsquo;</dt>
-<dd><p>Set encoding algorithm complexity. Valid options are integers in
-the 0-10 range. 0 gives the fastest encodes but lower quality, while 10
-gives the highest quality but slowest encoding. The default is 10.
-</p>
-</dd>
-<dt> &lsquo;<samp>frame_duration (<em>framesize</em>)</samp>&rsquo;</dt>
-<dd><p>Set maximum frame size, or duration of a frame in milliseconds. The
-argument must be exactly the following: 2.5, 5, 10, 20, 40, 60. Smaller
-frame sizes achieve lower latency but less quality at a given bitrate.
-Sizes greater than 20ms are only interesting at fairly low bitrates.
-The default is 20ms.
-</p>
-</dd>
-<dt> &lsquo;<samp>packet_loss (<em>expect-loss</em>)</samp>&rsquo;</dt>
-<dd><p>Set expected packet loss percentage. The default is 0.
-</p>
-</dd>
-<dt> &lsquo;<samp>application (N.A.)</samp>&rsquo;</dt>
-<dd><p>Set intended application type. Valid options are listed below:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>voip</samp>&rsquo;</dt>
-<dd><p>Favor improved speech intelligibility.
-</p></dd>
-<dt> &lsquo;<samp>audio</samp>&rsquo;</dt>
-<dd><p>Favor faithfulness to the input (the default).
-</p></dd>
-<dt> &lsquo;<samp>lowdelay</samp>&rsquo;</dt>
-<dd><p>Restrict to only the lowest delay modes.
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>cutoff (N.A.)</samp>&rsquo;</dt>
-<dd><p>Set cutoff bandwidth in Hz. The argument must be exactly one of the
-following: 4000, 6000, 8000, 12000, or 20000, corresponding to
-narrowband, mediumband, wideband, super wideband, and fullband
-respectively. The default is 0 (cutoff disabled).
-</p>
-</dd>
-</dl>
-
-<a name="libvorbis"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-libvorbis">13.12 libvorbis</a></h2>
-
-<p>libvorbis encoder wrapper.
-</p>
-<p>Requires the presence of the libvorbisenc headers and library during
-configuration. You need to explicitly configure the build with
-<code>--enable-libvorbis</code>.
-</p>
-<a name="Options-32"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Options-32">13.12.1 Options</a></h3>
-
-<p>The following options are supported by the libvorbis wrapper. The
-<code>oggenc</code>-equivalent of the options are listed in parentheses.
-</p>
-<p>To get a more accurate and extensive documentation of the libvorbis
-options, consult the libvorbisenc&rsquo;s and <code>oggenc</code>&rsquo;s documentations.
-See <a href="http://xiph.org/vorbis/">http://xiph.org/vorbis/</a>,
-<a href="http://wiki.xiph.org/Vorbis-tools">http://wiki.xiph.org/Vorbis-tools</a>, and oggenc(1).
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>b (<em>-b</em>)</samp>&rsquo;</dt>
-<dd><p>Set bitrate expressed in bits/s for ABR. <code>oggenc</code> &lsquo;<samp>-b</samp>&rsquo; is
-expressed in kilobits/s.
-</p>
-</dd>
-<dt> &lsquo;<samp>q (<em>-q</em>)</samp>&rsquo;</dt>
-<dd><p>Set constant quality setting for VBR. The value should be a float
-number in the range of -1.0 to 10.0. The higher the value, the better
-the quality. The default value is &lsquo;<samp>3.0</samp>&rsquo;.
-</p>
-<p>This option is valid only using the <code>ffmpeg</code> command-line tool.
-For library interface users, use &lsquo;<samp>global_quality</samp>&rsquo;.
-</p>
-</dd>
-<dt> &lsquo;<samp>cutoff (<em>--advanced-encode-option lowpass_frequency=N</em>)</samp>&rsquo;</dt>
-<dd><p>Set cutoff bandwidth in Hz, a value of 0 disables cutoff. <code>oggenc</code>&rsquo;s
-related option is expressed in kHz. The default value is &lsquo;<samp>0</samp>&rsquo; (cutoff
-disabled).
-</p>
-</dd>
-<dt> &lsquo;<samp>minrate (<em>-m</em>)</samp>&rsquo;</dt>
-<dd><p>Set minimum bitrate expressed in bits/s. <code>oggenc</code> &lsquo;<samp>-m</samp>&rsquo; is
-expressed in kilobits/s.
-</p>
-</dd>
-<dt> &lsquo;<samp>maxrate (<em>-M</em>)</samp>&rsquo;</dt>
-<dd><p>Set maximum bitrate expressed in bits/s. <code>oggenc</code> &lsquo;<samp>-M</samp>&rsquo; is
-expressed in kilobits/s. This only has effect on ABR mode.
-</p>
-</dd>
-<dt> &lsquo;<samp>iblock (<em>--advanced-encode-option impulse_noisetune=N</em>)</samp>&rsquo;</dt>
-<dd><p>Set noise floor bias for impulse blocks. The value is a float number from
--15.0 to 0.0. A negative bias instructs the encoder to pay special attention
-to the crispness of transients in the encoded audio. The tradeoff for better
-transient response is a higher bitrate.
-</p>
-</dd>
-</dl>
-
-<a name="libwavpack"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-libwavpack">13.13 libwavpack</a></h2>
-
-<p>A wrapper providing WavPack encoding through libwavpack.
-</p>
-<p>Only lossless mode using 32-bit integer samples is supported currently.
-The &lsquo;<samp>compression_level</samp>&rsquo; option can be used to control speed vs.
-compression tradeoff, with the values mapped to libwavpack as follows:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>0</samp>&rsquo;</dt>
-<dd><p>Fast mode - corresponding to the wavpack &lsquo;<samp>-f</samp>&rsquo; option.
-</p>
-</dd>
-<dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dd><p>Normal (default) settings.
-</p>
-</dd>
-<dt> &lsquo;<samp>2</samp>&rsquo;</dt>
-<dd><p>High quality - corresponding to the wavpack &lsquo;<samp>-h</samp>&rsquo; option.
-</p>
-</dd>
-<dt> &lsquo;<samp>3</samp>&rsquo;</dt>
-<dd><p>Very high quality - corresponding to the wavpack &lsquo;<samp>-hh</samp>&rsquo; option.
-</p>
-</dd>
-<dt> &lsquo;<samp>4-8</samp>&rsquo;</dt>
-<dd><p>Same as 3, but with extra processing enabled - corresponding to the wavpack
-&lsquo;<samp>-x</samp>&rsquo; option. I.e. 4 is the same as &lsquo;<samp>-x2</samp>&rsquo; and 8 is the same as
-&lsquo;<samp>-x6</samp>&rsquo;.
-</p>
-</dd>
-</dl>
-
-
-<a name="Video-Encoders"></a>
-<h1 class="chapter"><a href="ffplay-all.html#toc-Video-Encoders">14. Video Encoders</a></h1>
-
-<p>A description of some of the currently available video encoders
-follows.
-</p>
-<a name="libtheora"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-libtheora">14.1 libtheora</a></h2>
-
-<p>libtheora Theora encoder wrapper.
-</p>
-<p>Requires the presence of the libtheora headers and library during
-configuration. You need to explicitly configure the build with
-<code>--enable-libtheora</code>.
-</p>
-<p>For more informations about the libtheora project see
-<a href="http://www.theora.org/">http://www.theora.org/</a>.
-</p>
-<a name="Options-19"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Options-19">14.1.1 Options</a></h3>
-
-<p>The following global options are mapped to internal libtheora options
-which affect the quality and the bitrate of the encoded stream.
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>b</samp>&rsquo;</dt>
-<dd><p>Set the video bitrate in bit/s for CBR (Constant Bit Rate) mode.  In
-case VBR (Variable Bit Rate) mode is enabled this option is ignored.
-</p>
-</dd>
-<dt> &lsquo;<samp>flags</samp>&rsquo;</dt>
-<dd><p>Used to enable constant quality mode (VBR) encoding through the
-&lsquo;<samp>qscale</samp>&rsquo; flag, and to enable the <code>pass1</code> and <code>pass2</code>
-modes.
-</p>
-</dd>
-<dt> &lsquo;<samp>g</samp>&rsquo;</dt>
-<dd><p>Set the GOP size.
-</p>
-</dd>
-<dt> &lsquo;<samp>global_quality</samp>&rsquo;</dt>
-<dd><p>Set the global quality as an integer in lambda units.
-</p>
-<p>Only relevant when VBR mode is enabled with <code>flags +qscale</code>. The
-value is converted to QP units by dividing it by <code>FF_QP2LAMBDA</code>,
-clipped in the [0 - 10] range, and then multiplied by 6.3 to get a
-value in the native libtheora range [0-63]. A higher value corresponds
-to a higher quality.
-</p>
-</dd>
-<dt> &lsquo;<samp>q</samp>&rsquo;</dt>
-<dd><p>Enable VBR mode when set to a non-negative value, and set constant
-quality value as a double floating point value in QP units.
-</p>
-<p>The value is clipped in the [0-10] range, and then multiplied by 6.3
-to get a value in the native libtheora range [0-63].
-</p>
-<p>This option is valid only using the <code>ffmpeg</code> command-line
-tool. For library interface users, use &lsquo;<samp>global_quality</samp>&rsquo;.
-</p></dd>
-</dl>
-
-<a name="Examples-28"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-28">14.1.2 Examples</a></h3>
-
-<ul>
-<li>
-Set maximum constant quality (VBR) encoding with <code>ffmpeg</code>:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -codec:v libtheora -q:v 10 OUTPUT.ogg
-</pre></td></tr></table>
-
-</li><li>
-Use <code>ffmpeg</code> to convert a CBR 1000 kbps Theora video stream:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -codec:v libtheora -b:v 1000k OUTPUT.ogg
-</pre></td></tr></table>
-</li></ul>
-
-<a name="libvpx"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-libvpx">14.2 libvpx</a></h2>
-
-<p>VP8 format supported through libvpx.
-</p>
-<p>Requires the presence of the libvpx headers and library during configuration.
-You need to explicitly configure the build with <code>--enable-libvpx</code>.
-</p>
-<a name="Options-1"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Options-1">14.2.1 Options</a></h3>
-
-<p>Mapping from FFmpeg to libvpx options with conversion notes in parentheses.
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>threads</samp>&rsquo;</dt>
-<dd><p>g_threads
-</p>
-</dd>
-<dt> &lsquo;<samp>profile</samp>&rsquo;</dt>
-<dd><p>g_profile
-</p>
-</dd>
-<dt> &lsquo;<samp>vb</samp>&rsquo;</dt>
-<dd><p>rc_target_bitrate
-</p>
-</dd>
-<dt> &lsquo;<samp>g</samp>&rsquo;</dt>
-<dd><p>kf_max_dist
-</p>
-</dd>
-<dt> &lsquo;<samp>keyint_min</samp>&rsquo;</dt>
-<dd><p>kf_min_dist
-</p>
-</dd>
-<dt> &lsquo;<samp>qmin</samp>&rsquo;</dt>
-<dd><p>rc_min_quantizer
-</p>
-</dd>
-<dt> &lsquo;<samp>qmax</samp>&rsquo;</dt>
-<dd><p>rc_max_quantizer
-</p>
-</dd>
-<dt> &lsquo;<samp>bufsize, vb</samp>&rsquo;</dt>
-<dd><p>rc_buf_sz
-<code>(bufsize * 1000 / vb)</code>
-</p>
-<p>rc_buf_optimal_sz
-<code>(bufsize * 1000 / vb * 5 / 6)</code>
-</p>
-</dd>
-<dt> &lsquo;<samp>rc_init_occupancy, vb</samp>&rsquo;</dt>
-<dd><p>rc_buf_initial_sz
-<code>(rc_init_occupancy * 1000 / vb)</code>
-</p>
-</dd>
-<dt> &lsquo;<samp>rc_buffer_aggressivity</samp>&rsquo;</dt>
-<dd><p>rc_undershoot_pct
-</p>
-</dd>
-<dt> &lsquo;<samp>skip_threshold</samp>&rsquo;</dt>
-<dd><p>rc_dropframe_thresh
-</p>
-</dd>
-<dt> &lsquo;<samp>qcomp</samp>&rsquo;</dt>
-<dd><p>rc_2pass_vbr_bias_pct
-</p>
-</dd>
-<dt> &lsquo;<samp>maxrate, vb</samp>&rsquo;</dt>
-<dd><p>rc_2pass_vbr_maxsection_pct
-<code>(maxrate * 100 / vb)</code>
-</p>
-</dd>
-<dt> &lsquo;<samp>minrate, vb</samp>&rsquo;</dt>
-<dd><p>rc_2pass_vbr_minsection_pct
-<code>(minrate * 100 / vb)</code>
-</p>
-</dd>
-<dt> &lsquo;<samp>minrate, maxrate, vb</samp>&rsquo;</dt>
-<dd><p><code>VPX_CBR</code>
-<code>(minrate == maxrate == vb)</code>
-</p>
-</dd>
-<dt> &lsquo;<samp>crf</samp>&rsquo;</dt>
-<dd><p><code>VPX_CQ</code>, <code>VP8E_SET_CQ_LEVEL</code>
-</p>
-</dd>
-<dt> &lsquo;<samp>quality</samp>&rsquo;</dt>
-<dd><dl compact="compact">
-<dt> &lsquo;<samp><var>best</var></samp>&rsquo;</dt>
-<dd><p><code>VPX_DL_BEST_QUALITY</code>
-</p></dd>
-<dt> &lsquo;<samp><var>good</var></samp>&rsquo;</dt>
-<dd><p><code>VPX_DL_GOOD_QUALITY</code>
-</p></dd>
-<dt> &lsquo;<samp><var>realtime</var></samp>&rsquo;</dt>
-<dd><p><code>VPX_DL_REALTIME</code>
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>speed</samp>&rsquo;</dt>
-<dd><p><code>VP8E_SET_CPUUSED</code>
-</p>
-</dd>
-<dt> &lsquo;<samp>nr</samp>&rsquo;</dt>
-<dd><p><code>VP8E_SET_NOISE_SENSITIVITY</code>
-</p>
-</dd>
-<dt> &lsquo;<samp>mb_threshold</samp>&rsquo;</dt>
-<dd><p><code>VP8E_SET_STATIC_THRESHOLD</code>
-</p>
-</dd>
-<dt> &lsquo;<samp>slices</samp>&rsquo;</dt>
-<dd><p><code>VP8E_SET_TOKEN_PARTITIONS</code>
-</p>
-</dd>
-<dt> &lsquo;<samp>max-intra-rate</samp>&rsquo;</dt>
-<dd><p><code>VP8E_SET_MAX_INTRA_BITRATE_PCT</code>
-</p>
-</dd>
-<dt> &lsquo;<samp>force_key_frames</samp>&rsquo;</dt>
-<dd><p><code>VPX_EFLAG_FORCE_KF</code>
-</p>
-</dd>
-<dt> &lsquo;<samp>Alternate reference frame related</samp>&rsquo;</dt>
-<dd><dl compact="compact">
-<dt> &lsquo;<samp>vp8flags altref</samp>&rsquo;</dt>
-<dd><p><code>VP8E_SET_ENABLEAUTOALTREF</code>
-</p></dd>
-<dt> &lsquo;<samp><var>arnr_max_frames</var></samp>&rsquo;</dt>
-<dd><p><code>VP8E_SET_ARNR_MAXFRAMES</code>
-</p></dd>
-<dt> &lsquo;<samp><var>arnr_type</var></samp>&rsquo;</dt>
-<dd><p><code>VP8E_SET_ARNR_TYPE</code>
-</p></dd>
-<dt> &lsquo;<samp><var>arnr_strength</var></samp>&rsquo;</dt>
-<dd><p><code>VP8E_SET_ARNR_STRENGTH</code>
-</p></dd>
-<dt> &lsquo;<samp><var>rc_lookahead</var></samp>&rsquo;</dt>
-<dd><p>g_lag_in_frames
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>vp8flags error_resilient</samp>&rsquo;</dt>
-<dd><p>g_error_resilient
-</p>
-</dd>
-</dl>
-
-<p>For more information about libvpx see:
-<a href="http://www.webmproject.org/">http://www.webmproject.org/</a>
-</p>
-<a name="libx264"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-libx264">14.3 libx264</a></h2>
-
-<p>x264 H.264/MPEG-4 AVC encoder wrapper.
-</p>
-<p>This encoder requires the presence of the libx264 headers and library
-during configuration. You need to explicitly configure the build with
-<code>--enable-libx264</code>.
-</p>
-<p>libx264 supports an impressive number of features, including 8x8 and
-4x4 adaptive spatial transform, adaptive B-frame placement, CAVLC/CABAC
-entropy coding, interlacing (MBAFF), lossless mode, psy optimizations
-for detail retention (adaptive quantization, psy-RD, psy-trellis).
-</p>
-<p>Many libx264 encoder options are mapped to FFmpeg global codec
-options, while unique encoder options are provided through private
-options. Additionally the &lsquo;<samp>x264opts</samp>&rsquo; and &lsquo;<samp>x264-params</samp>&rsquo;
-private options allows to pass a list of key=value tuples as accepted
-by the libx264 <code>x264_param_parse</code> function.
-</p>
-<p>The x264 project website is at
-<a href="http://www.videolan.org/developers/x264.html">http://www.videolan.org/developers/x264.html</a>.
-</p>
-<a name="Options-10"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Options-10">14.3.1 Options</a></h3>
-
-<p>The following options are supported by the libx264 wrapper. The
-<code>x264</code>-equivalent options or values are listed in parentheses
-for easy migration.
-</p>
-<p>To reduce the duplication of documentation, only the private options
-and some others requiring special attention are documented here. For
-the documentation of the undocumented generic options, see
-<a href="#codec_002doptions">the Codec Options chapter</a>.
-</p>
-<p>To get a more accurate and extensive documentation of the libx264
-options, invoke the command <code>x264 --full-help</code> or consult
-the libx264 documentation.
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>b (<em>bitrate</em>)</samp>&rsquo;</dt>
-<dd><p>Set bitrate in bits/s. Note that FFmpeg&rsquo;s &lsquo;<samp>b</samp>&rsquo; option is
-expressed in bits/s, while <code>x264</code>&rsquo;s &lsquo;<samp>bitrate</samp>&rsquo; is in
-kilobits/s.
-</p>
-</dd>
-<dt> &lsquo;<samp>bf (<em>bframes</em>)</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>g (<em>keyint</em>)</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>qmax (<em>qpmax</em>)</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>qmin (<em>qpmin</em>)</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>qdiff (<em>qpstep</em>)</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>qblur (<em>qblur</em>)</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>qcomp (<em>qcomp</em>)</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>refs (<em>ref</em>)</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>sc_threshold (<em>scenecut</em>)</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>trellis (<em>trellis</em>)</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>nr  (<em>nr</em>)</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>me_range (<em>merange</em>)</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>me_method (<em>me</em>)</samp>&rsquo;</dt>
-<dd><p>Set motion estimation method. Possible values in the decreasing order
-of speed:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>dia (<em>dia</em>)</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>epzs (<em>dia</em>)</samp>&rsquo;</dt>
-<dd><p>Diamond search with radius 1 (fastest). &lsquo;<samp>epzs</samp>&rsquo; is an alias for
-&lsquo;<samp>dia</samp>&rsquo;.
-</p></dd>
-<dt> &lsquo;<samp>hex (<em>hex</em>)</samp>&rsquo;</dt>
-<dd><p>Hexagonal search with radius 2.
-</p></dd>
-<dt> &lsquo;<samp>umh (<em>umh</em>)</samp>&rsquo;</dt>
-<dd><p>Uneven multi-hexagon search.
-</p></dd>
-<dt> &lsquo;<samp>esa (<em>esa</em>)</samp>&rsquo;</dt>
-<dd><p>Exhaustive search.
-</p></dd>
-<dt> &lsquo;<samp>tesa (<em>tesa</em>)</samp>&rsquo;</dt>
-<dd><p>Hadamard exhaustive search (slowest).
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>subq (<em>subme</em>)</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>b_strategy (<em>b-adapt</em>)</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>keyint_min (<em>min-keyint</em>)</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>coder</samp>&rsquo;</dt>
-<dd><p>Set entropy encoder. Possible values:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>ac</samp>&rsquo;</dt>
-<dd><p>Enable CABAC.
-</p>
-</dd>
-<dt> &lsquo;<samp>vlc</samp>&rsquo;</dt>
-<dd><p>Enable CAVLC and disable CABAC. It generates the same effect as
-<code>x264</code>&rsquo;s &lsquo;<samp>--no-cabac</samp>&rsquo; option.
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>cmp</samp>&rsquo;</dt>
-<dd><p>Set full pixel motion estimation comparation algorithm. Possible values:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>chroma</samp>&rsquo;</dt>
-<dd><p>Enable chroma in motion estimation.
-</p>
-</dd>
-<dt> &lsquo;<samp>sad</samp>&rsquo;</dt>
-<dd><p>Ignore chroma in motion estimation. It generates the same effect as
-<code>x264</code>&rsquo;s &lsquo;<samp>--no-chroma-me</samp>&rsquo; option.
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>threads (<em>threads</em>)</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>thread_type</samp>&rsquo;</dt>
-<dd><p>Set multithreading technique. Possible values:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>slice</samp>&rsquo;</dt>
-<dd><p>Slice-based multithreading. It generates the same effect as
-<code>x264</code>&rsquo;s &lsquo;<samp>--sliced-threads</samp>&rsquo; option.
-</p></dd>
-<dt> &lsquo;<samp>frame</samp>&rsquo;</dt>
-<dd><p>Frame-based multithreading.
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>flags</samp>&rsquo;</dt>
-<dd><p>Set encoding flags. It can be used to disable closed GOP and enable
-open GOP by setting it to <code>-cgop</code>. The result is similar to
-the behavior of <code>x264</code>&rsquo;s &lsquo;<samp>--open-gop</samp>&rsquo; option.
-</p>
-</dd>
-<dt> &lsquo;<samp>rc_init_occupancy (<em>vbv-init</em>)</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>preset (<em>preset</em>)</samp>&rsquo;</dt>
-<dd><p>Set the encoding preset.
-</p>
-</dd>
-<dt> &lsquo;<samp>tune (<em>tune</em>)</samp>&rsquo;</dt>
-<dd><p>Set tuning of the encoding params.
-</p>
-</dd>
-<dt> &lsquo;<samp>profile (<em>profile</em>)</samp>&rsquo;</dt>
-<dd><p>Set profile restrictions.
-</p>
-</dd>
-<dt> &lsquo;<samp>fastfirstpass</samp>&rsquo;</dt>
-<dd><p>Enable fast settings when encoding first pass, when set to 1. When set
-to 0, it has the same effect of <code>x264</code>&rsquo;s
-&lsquo;<samp>--slow-firstpass</samp>&rsquo; option.
-</p>
-</dd>
-<dt> &lsquo;<samp>crf (<em>crf</em>)</samp>&rsquo;</dt>
-<dd><p>Set the quality for constant quality mode.
-</p>
-</dd>
-<dt> &lsquo;<samp>crf_max (<em>crf-max</em>)</samp>&rsquo;</dt>
-<dd><p>In CRF mode, prevents VBV from lowering quality beyond this point.
-</p>
-</dd>
-<dt> &lsquo;<samp>qp (<em>qp</em>)</samp>&rsquo;</dt>
-<dd><p>Set constant quantization rate control method parameter.
-</p>
-</dd>
-<dt> &lsquo;<samp>aq-mode (<em>aq-mode</em>)</samp>&rsquo;</dt>
-<dd><p>Set AQ method. Possible values:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>none (<em>0</em>)</samp>&rsquo;</dt>
-<dd><p>Disabled.
-</p>
-</dd>
-<dt> &lsquo;<samp>variance (<em>1</em>)</samp>&rsquo;</dt>
-<dd><p>Variance AQ (complexity mask).
-</p>
-</dd>
-<dt> &lsquo;<samp>autovariance (<em>2</em>)</samp>&rsquo;</dt>
-<dd><p>Auto-variance AQ (experimental).
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>aq-strength (<em>aq-strength</em>)</samp>&rsquo;</dt>
-<dd><p>Set AQ strength, reduce blocking and blurring in flat and textured areas.
-</p>
-</dd>
-<dt> &lsquo;<samp>psy</samp>&rsquo;</dt>
-<dd><p>Use psychovisual optimizations when set to 1. When set to 0, it has the
-same effect as <code>x264</code>&rsquo;s &lsquo;<samp>--no-psy</samp>&rsquo; option.
-</p>
-</dd>
-<dt> &lsquo;<samp>psy-rd  (<em>psy-rd</em>)</samp>&rsquo;</dt>
-<dd><p>Set strength of psychovisual optimization, in
-<var>psy-rd</var>:<var>psy-trellis</var> format.
-</p>
-</dd>
-<dt> &lsquo;<samp>rc-lookahead (<em>rc-lookahead</em>)</samp>&rsquo;</dt>
-<dd><p>Set number of frames to look ahead for frametype and ratecontrol.
-</p>
-</dd>
-<dt> &lsquo;<samp>weightb</samp>&rsquo;</dt>
-<dd><p>Enable weighted prediction for B-frames when set to 1. When set to 0,
-it has the same effect as <code>x264</code>&rsquo;s &lsquo;<samp>--no-weightb</samp>&rsquo; option.
-</p>
-</dd>
-<dt> &lsquo;<samp>weightp (<em>weightp</em>)</samp>&rsquo;</dt>
-<dd><p>Set weighted prediction method for P-frames. Possible values:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>none (<em>0</em>)</samp>&rsquo;</dt>
-<dd><p>Disabled
-</p></dd>
-<dt> &lsquo;<samp>simple (<em>1</em>)</samp>&rsquo;</dt>
-<dd><p>Enable only weighted refs
-</p></dd>
-<dt> &lsquo;<samp>smart (<em>2</em>)</samp>&rsquo;</dt>
-<dd><p>Enable both weighted refs and duplicates
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>ssim (<em>ssim</em>)</samp>&rsquo;</dt>
-<dd><p>Enable calculation and printing SSIM stats after the encoding.
-</p>
-</dd>
-<dt> &lsquo;<samp>intra-refresh (<em>intra-refresh</em>)</samp>&rsquo;</dt>
-<dd><p>Enable the use of Periodic Intra Refresh instead of IDR frames when set
-to 1.
-</p>
-</dd>
-<dt> &lsquo;<samp>bluray-compat (<em>bluray-compat</em>)</samp>&rsquo;</dt>
-<dd><p>Configure the encoder to be compatible with the bluray standard.
-It is a shorthand for setting &quot;bluray-compat=1 force-cfr=1&quot;.
-</p>
-</dd>
-<dt> &lsquo;<samp>b-bias (<em>b-bias</em>)</samp>&rsquo;</dt>
-<dd><p>Set the influence on how often B-frames are used.
-</p>
-</dd>
-<dt> &lsquo;<samp>b-pyramid (<em>b-pyramid</em>)</samp>&rsquo;</dt>
-<dd><p>Set method for keeping of some B-frames as references. Possible values:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>none (<em>none</em>)</samp>&rsquo;</dt>
-<dd><p>Disabled.
-</p></dd>
-<dt> &lsquo;<samp>strict (<em>strict</em>)</samp>&rsquo;</dt>
-<dd><p>Strictly hierarchical pyramid.
-</p></dd>
-<dt> &lsquo;<samp>normal (<em>normal</em>)</samp>&rsquo;</dt>
-<dd><p>Non-strict (not Blu-ray compatible).
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>mixed-refs</samp>&rsquo;</dt>
-<dd><p>Enable the use of one reference per partition, as opposed to one
-reference per macroblock when set to 1. When set to 0, it has the
-same effect as <code>x264</code>&rsquo;s &lsquo;<samp>--no-mixed-refs</samp>&rsquo; option.
-</p>
-</dd>
-<dt> &lsquo;<samp>8x8dct</samp>&rsquo;</dt>
-<dd><p>Enable adaptive spatial transform (high profile 8x8 transform)
-when set to 1. When set to 0, it has the same effect as
-<code>x264</code>&rsquo;s &lsquo;<samp>--no-8x8dct</samp>&rsquo; option.
-</p>
-</dd>
-<dt> &lsquo;<samp>fast-pskip</samp>&rsquo;</dt>
-<dd><p>Enable early SKIP detection on P-frames when set to 1. When set
-to 0, it has the same effect as <code>x264</code>&rsquo;s
-&lsquo;<samp>--no-fast-pskip</samp>&rsquo; option.
-</p>
-</dd>
-<dt> &lsquo;<samp>aud (<em>aud</em>)</samp>&rsquo;</dt>
-<dd><p>Enable use of access unit delimiters when set to 1.
-</p>
-</dd>
-<dt> &lsquo;<samp>mbtree</samp>&rsquo;</dt>
-<dd><p>Enable use macroblock tree ratecontrol when set to 1. When set
-to 0, it has the same effect as <code>x264</code>&rsquo;s
-&lsquo;<samp>--no-mbtree</samp>&rsquo; option.
-</p>
-</dd>
-<dt> &lsquo;<samp>deblock (<em>deblock</em>)</samp>&rsquo;</dt>
-<dd><p>Set loop filter parameters, in <var>alpha</var>:<var>beta</var> form.
-</p>
-</dd>
-<dt> &lsquo;<samp>cplxblur (<em>cplxblur</em>)</samp>&rsquo;</dt>
-<dd><p>Set fluctuations reduction in QP (before curve compression).
-</p>
-</dd>
-<dt> &lsquo;<samp>partitions (<em>partitions</em>)</samp>&rsquo;</dt>
-<dd><p>Set partitions to consider as a comma-separated list of. Possible
-values in the list:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>p8x8</samp>&rsquo;</dt>
-<dd><p>8x8 P-frame partition.
-</p></dd>
-<dt> &lsquo;<samp>p4x4</samp>&rsquo;</dt>
-<dd><p>4x4 P-frame partition.
-</p></dd>
-<dt> &lsquo;<samp>b8x8</samp>&rsquo;</dt>
-<dd><p>4x4 B-frame partition.
-</p></dd>
-<dt> &lsquo;<samp>i8x8</samp>&rsquo;</dt>
-<dd><p>8x8 I-frame partition.
-</p></dd>
-<dt> &lsquo;<samp>i4x4</samp>&rsquo;</dt>
-<dd><p>4x4 I-frame partition.
-(Enabling &lsquo;<samp>p4x4</samp>&rsquo; requires &lsquo;<samp>p8x8</samp>&rsquo; to be enabled. Enabling
-&lsquo;<samp>i8x8</samp>&rsquo; requires adaptive spatial transform (&lsquo;<samp>8x8dct</samp>&rsquo;
-option) to be enabled.)
-</p></dd>
-<dt> &lsquo;<samp>none (<em>none</em>)</samp>&rsquo;</dt>
-<dd><p>Do not consider any partitions.
-</p></dd>
-<dt> &lsquo;<samp>all (<em>all</em>)</samp>&rsquo;</dt>
-<dd><p>Consider every partition.
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>direct-pred (<em>direct</em>)</samp>&rsquo;</dt>
-<dd><p>Set direct MV prediction mode. Possible values:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>none (<em>none</em>)</samp>&rsquo;</dt>
-<dd><p>Disable MV prediction.
-</p></dd>
-<dt> &lsquo;<samp>spatial (<em>spatial</em>)</samp>&rsquo;</dt>
-<dd><p>Enable spatial predicting.
-</p></dd>
-<dt> &lsquo;<samp>temporal (<em>temporal</em>)</samp>&rsquo;</dt>
-<dd><p>Enable temporal predicting.
-</p></dd>
-<dt> &lsquo;<samp>auto (<em>auto</em>)</samp>&rsquo;</dt>
-<dd><p>Automatically decided.
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>slice-max-size (<em>slice-max-size</em>)</samp>&rsquo;</dt>
-<dd><p>Set the limit of the size of each slice in bytes. If not specified
-but RTP payload size (&lsquo;<samp>ps</samp>&rsquo;) is specified, that is used.
-</p>
-</dd>
-<dt> &lsquo;<samp>stats (<em>stats</em>)</samp>&rsquo;</dt>
-<dd><p>Set the file name for multi-pass stats.
-</p>
-</dd>
-<dt> &lsquo;<samp>nal-hrd (<em>nal-hrd</em>)</samp>&rsquo;</dt>
-<dd><p>Set signal HRD information (requires &lsquo;<samp>vbv-bufsize</samp>&rsquo; to be set).
-Possible values:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>none (<em>none</em>)</samp>&rsquo;</dt>
-<dd><p>Disable HRD information signaling.
-</p></dd>
-<dt> &lsquo;<samp>vbr (<em>vbr</em>)</samp>&rsquo;</dt>
-<dd><p>Variable bit rate.
-</p></dd>
-<dt> &lsquo;<samp>cbr (<em>cbr</em>)</samp>&rsquo;</dt>
-<dd><p>Constant bit rate (not allowed in MP4 container).
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>x264opts (N.A.)</samp>&rsquo;</dt>
-<dd><p>Set any x264 option, see <code>x264 --fullhelp</code> for a list.
-</p>
-<p>Argument is a list of <var>key</var>=<var>value</var> couples separated by
-&quot;:&quot;. In <var>filter</var> and <var>psy-rd</var> options that use &quot;:&quot; as a separator
-themselves, use &quot;,&quot; instead. They accept it as well since long ago but this
-is kept undocumented for some reason.
-</p>
-<p>For example to specify libx264 encoding options with <code>ffmpeg</code>:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i foo.mpg -vcodec libx264 -x264opts keyint=123:min-keyint=20 -an out.mkv
-</pre></td></tr></table>
-
-</dd>
-<dt> &lsquo;<samp>x264-params (N.A.)</samp>&rsquo;</dt>
-<dd><p>Override the x264 configuration using a :-separated list of key=value
-parameters.
-</p>
-<p>This option is functionally the same as the &lsquo;<samp>x264opts</samp>&rsquo;, but is
-duplicated for compability with the Libav fork.
-</p>
-<p>For example to specify libx264 encoding options with <code>ffmpeg</code>:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -c:v libx264 -x264-params level=30:bframes=0:weightp=0:\
-cabac=0:ref=1:vbv-maxrate=768:vbv-bufsize=2000:analyse=all:me=umh:\
-no-fast-pskip=1:subq=6:8x8dct=0:trellis=0 OUTPUT
-</pre></td></tr></table>
-</dd>
-</dl>
-
-<p>Encoding ffpresets for common usages are provided so they can be used with the
-general presets system (e.g. passing the &lsquo;<samp>pre</samp>&rsquo; option).
-</p>
-<a name="libxvid"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-libxvid">14.4 libxvid</a></h2>
-
-<p>Xvid MPEG-4 Part 2 encoder wrapper.
-</p>
-<p>This encoder requires the presence of the libxvidcore headers and library
-during configuration. You need to explicitly configure the build with
-<code>--enable-libxvid --enable-gpl</code>.
-</p>
-<p>The native <code>mpeg4</code> encoder supports the MPEG-4 Part 2 format, so
-users can encode to this format without this library.
-</p>
-<a name="Options-14"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Options-14">14.4.1 Options</a></h3>
-
-<p>The following options are supported by the libxvid wrapper. Some of
-the following options are listed but are not documented, and
-correspond to shared codec options. See <a href="#codec_002doptions">the Codec Options chapter</a> for their documentation. The other shared options
-which are not listed have no effect for the libxvid encoder.
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>b</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>g</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>qmin</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>qmax</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>mpeg_quant</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>threads</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>bf</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>b_qfactor</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>b_qoffset</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>flags</samp>&rsquo;</dt>
-<dd><p>Set specific encoding flags. Possible values:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>mv4</samp>&rsquo;</dt>
-<dd><p>Use four motion vector by macroblock.
-</p>
-</dd>
-<dt> &lsquo;<samp>aic</samp>&rsquo;</dt>
-<dd><p>Enable high quality AC prediction.
-</p>
-</dd>
-<dt> &lsquo;<samp>gray</samp>&rsquo;</dt>
-<dd><p>Only encode grayscale.
-</p>
-</dd>
-<dt> &lsquo;<samp>gmc</samp>&rsquo;</dt>
-<dd><p>Enable the use of global motion compensation (GMC).
-</p>
-</dd>
-<dt> &lsquo;<samp>qpel</samp>&rsquo;</dt>
-<dd><p>Enable quarter-pixel motion compensation.
-</p>
-</dd>
-<dt> &lsquo;<samp>cgop</samp>&rsquo;</dt>
-<dd><p>Enable closed GOP.
-</p>
-</dd>
-<dt> &lsquo;<samp>global_header</samp>&rsquo;</dt>
-<dd><p>Place global headers in extradata instead of every keyframe.
-</p>
-</dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>trellis</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>me_method</samp>&rsquo;</dt>
-<dd><p>Set motion estimation method. Possible values in decreasing order of
-speed and increasing order of quality:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>zero</samp>&rsquo;</dt>
-<dd><p>Use no motion estimation (default).
-</p>
-</dd>
-<dt> &lsquo;<samp>phods</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>x1</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>log</samp>&rsquo;</dt>
-<dd><p>Enable advanced diamond zonal search for 16x16 blocks and half-pixel
-refinement for 16x16 blocks. &lsquo;<samp>x1</samp>&rsquo; and &lsquo;<samp>log</samp>&rsquo; are aliases for
-&lsquo;<samp>phods</samp>&rsquo;.
-</p>
-</dd>
-<dt> &lsquo;<samp>epzs</samp>&rsquo;</dt>
-<dd><p>Enable all of the things described above, plus advanced diamond zonal
-search for 8x8 blocks, half-pixel refinement for 8x8 blocks, and motion
-estimation on chroma planes.
-</p>
-</dd>
-<dt> &lsquo;<samp>full</samp>&rsquo;</dt>
-<dd><p>Enable all of the things described above, plus extended 16x16 and 8x8
-blocks search.
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>mbd</samp>&rsquo;</dt>
-<dd><p>Set macroblock decision algorithm. Possible values in the increasing
-order of quality:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>simple</samp>&rsquo;</dt>
-<dd><p>Use macroblock comparing function algorithm (default).
-</p>
-</dd>
-<dt> &lsquo;<samp>bits</samp>&rsquo;</dt>
-<dd><p>Enable rate distortion-based half pixel and quarter pixel refinement for
-16x16 blocks.
-</p>
-</dd>
-<dt> &lsquo;<samp>rd</samp>&rsquo;</dt>
-<dd><p>Enable all of the things described above, plus rate distortion-based
-half pixel and quarter pixel refinement for 8x8 blocks, and rate
-distortion-based search using square pattern.
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>lumi_aq</samp>&rsquo;</dt>
-<dd><p>Enable lumi masking adaptive quantization when set to 1. Default is 0
-(disabled).
-</p>
-</dd>
-<dt> &lsquo;<samp>variance_aq</samp>&rsquo;</dt>
-<dd><p>Enable variance adaptive quantization when set to 1. Default is 0
-(disabled).
-</p>
-<p>When combined with &lsquo;<samp>lumi_aq</samp>&rsquo;, the resulting quality will not
-be better than any of the two specified individually. In other
-words, the resulting quality will be the worse one of the two
-effects.
-</p>
-</dd>
-<dt> &lsquo;<samp>ssim</samp>&rsquo;</dt>
-<dd><p>Set structural similarity (SSIM) displaying method. Possible values:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>off</samp>&rsquo;</dt>
-<dd><p>Disable displaying of SSIM information.
-</p>
-</dd>
-<dt> &lsquo;<samp>avg</samp>&rsquo;</dt>
-<dd><p>Output average SSIM at the end of encoding to stdout. The format of
-showing the average SSIM is:
-</p>
-<table><tr><td>&nbsp;</td><td><pre class="example">Average SSIM: %f
-</pre></td></tr></table>
-
-<p>For users who are not familiar with C, %f means a float number, or
-a decimal (e.g. 0.939232).
-</p>
-</dd>
-<dt> &lsquo;<samp>frame</samp>&rsquo;</dt>
-<dd><p>Output both per-frame SSIM data during encoding and average SSIM at
-the end of encoding to stdout. The format of per-frame information
-is:
-</p>
-<table><tr><td>&nbsp;</td><td><pre class="example">       SSIM: avg: %1.3f min: %1.3f max: %1.3f
-</pre></td></tr></table>
-
-<p>For users who are not familiar with C, %1.3f means a float number
-rounded to 3 digits after the dot (e.g. 0.932).
-</p>
-</dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>ssim_acc</samp>&rsquo;</dt>
-<dd><p>Set SSIM accuracy. Valid options are integers within the range of
-0-4, while 0 gives the most accurate result and 4 computes the
-fastest.
-</p>
-</dd>
-</dl>
-
-<a name="png"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-png">14.5 png</a></h2>
-
-<p>PNG image encoder.
-</p>
-<a name="Private-options"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Private-options">14.5.1 Private options</a></h3>
-
-<dl compact="compact">
-<dt> &lsquo;<samp>dpi <var>integer</var></samp>&rsquo;</dt>
-<dd><p>Set physical density of pixels, in dots per inch, unset by default
-</p></dd>
-<dt> &lsquo;<samp>dpm <var>integer</var></samp>&rsquo;</dt>
-<dd><p>Set physical density of pixels, in dots per meter, unset by default
-</p></dd>
-</dl>
-
-<a name="ProRes"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-ProRes">14.6 ProRes</a></h2>
-
-<p>Apple ProRes encoder.
-</p>
-<p>FFmpeg contains 2 ProRes encoders, the prores-aw and prores-ks encoder.
-The used encoder can be choosen with the <code>-vcodec</code> option.
-</p>
-<a name="Private-Options-for-prores_002dks"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Private-Options-for-prores_002dks">14.6.1 Private Options for prores-ks</a></h3>
-
-<dl compact="compact">
-<dt> &lsquo;<samp>profile <var>integer</var></samp>&rsquo;</dt>
-<dd><p>Select the ProRes profile to encode
-</p><dl compact="compact">
-<dt> &lsquo;<samp>proxy</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>lt</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>standard</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>hq</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>4444</samp>&rsquo;</dt>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>quant_mat <var>integer</var></samp>&rsquo;</dt>
-<dd><p>Select quantization matrix.
-</p><dl compact="compact">
-<dt> &lsquo;<samp>auto</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>default</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>proxy</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>lt</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>standard</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>hq</samp>&rsquo;</dt>
-</dl>
-<p>If set to <var>auto</var>, the matrix matching the profile will be picked.
-If not set, the matrix providing the highest quality, <var>default</var>, will be
-picked.
-</p>
-</dd>
-<dt> &lsquo;<samp>bits_per_mb <var>integer</var></samp>&rsquo;</dt>
-<dd><p>How many bits to allot for coding one macroblock. Different profiles use
-between 200 and 2400 bits per macroblock, the maximum is 8000.
-</p>
-</dd>
-<dt> &lsquo;<samp>mbs_per_slice <var>integer</var></samp>&rsquo;</dt>
-<dd><p>Number of macroblocks in each slice (1-8); the default value (8)
-should be good in almost all situations.
-</p>
-</dd>
-<dt> &lsquo;<samp>vendor <var>string</var></samp>&rsquo;</dt>
-<dd><p>Override the 4-byte vendor ID.
-A custom vendor ID like <var>apl0</var> would claim the stream was produced by
-the Apple encoder.
-</p>
-</dd>
-<dt> &lsquo;<samp>alpha_bits <var>integer</var></samp>&rsquo;</dt>
-<dd><p>Specify number of bits for alpha component.
-Possible values are <var>0</var>, <var>8</var> and <var>16</var>.
-Use <var>0</var> to disable alpha plane coding.
-</p>
-</dd>
-</dl>
-
-<a name="Speed-considerations"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Speed-considerations">14.6.2 Speed considerations</a></h3>
-
-<p>In the default mode of operation the encoder has to honor frame constraints
-(i.e. not produc frames with size bigger than requested) while still making
-output picture as good as possible.
-A frame containing a lot of small details is harder to compress and the encoder
-would spend more time searching for appropriate quantizers for each slice.
-</p>
-<p>Setting a higher &lsquo;<samp>bits_per_mb</samp>&rsquo; limit will improve the speed.
-</p>
-<p>For the fastest encoding speed set the &lsquo;<samp>qscale</samp>&rsquo; parameter (4 is the
-recommended value) and do not set a size constraint.
-</p>
-<a name="Bitstream-Filters"></a>
-<h1 class="chapter"><a href="ffplay-all.html#toc-Bitstream-Filters">15. Bitstream Filters</a></h1>
-
-<p>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</code>.
-</p>
-<p>You can disable all the bitstream filters using the configure option
-<code>--disable-bsfs</code>, and selectively enable any bitstream filter using
-the option <code>--enable-bsf=BSF</code>, or you can disable a particular
-bitstream filter using the option <code>--disable-bsf=BSF</code>.
-</p>
-<p>The option <code>-bsfs</code> of the ff* tools will display the list of
-all the supported bitstream filters included in your build.
-</p>
-<p>Below is a description of the currently available bitstream filters.
-</p>
-<a name="aac_005fadtstoasc"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-aac_005fadtstoasc">15.1 aac_adtstoasc</a></h2>
-
-<p>Convert MPEG-2/4 AAC ADTS to MPEG-4 Audio Specific Configuration
-bitstream filter.
-</p>
-<p>This filter creates an MPEG-4 AudioSpecificConfig from an MPEG-2/4
-ADTS header and removes the ADTS header.
-</p>
-<p>This is required for example when copying an AAC stream from a raw
-ADTS AAC container to a FLV or a MOV/MP4 file.
-</p>
-<a name="chomp"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-chomp">15.2 chomp</a></h2>
-
-<p>Remove zero padding at the end of a packet.
-</p>
-<a name="dump_005fextra"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-dump_005fextra">15.3 dump_extra</a></h2>
-
-<p>Add extradata to the beginning of the filtered packets.
-</p>
-<p>The additional argument specifies which packets should be filtered.
-It accepts the values:
-</p><dl compact="compact">
-<dt> &lsquo;<samp>a</samp>&rsquo;</dt>
-<dd><p>add extradata to all key packets, but only if <var>local_header</var> is
-set in the &lsquo;<samp>flags2</samp>&rsquo; codec context field
-</p>
-</dd>
-<dt> &lsquo;<samp>k</samp>&rsquo;</dt>
-<dd><p>add extradata to all key packets
-</p>
-</dd>
-<dt> &lsquo;<samp>e</samp>&rsquo;</dt>
-<dd><p>add extradata to all packets
-</p></dd>
-</dl>
-
-<p>If not specified it is assumed &lsquo;<samp>k</samp>&rsquo;.
-</p>
-<p>For example the following <code>ffmpeg</code> command forces a global
-header (thus disabling individual packet headers) in the H.264 packets
-generated by the <code>libx264</code> encoder, but corrects them by adding
-the header stored in extradata to the key packets:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -map 0 -flags:v +global_header -c:v libx264 -bsf:v dump_extra out.ts
-</pre></td></tr></table>
-
-<a name="h264_005fmp4toannexb"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-h264_005fmp4toannexb">15.4 h264_mp4toannexb</a></h2>
-
-<p>Convert an H.264 bitstream from length prefixed mode to start code
-prefixed mode (as defined in the Annex B of the ITU-T H.264
-specification).
-</p>
-<p>This is required by some streaming formats, typically the MPEG-2
-transport stream format (&quot;mpegts&quot;).
-</p>
-<p>For example to remux an MP4 file containing an H.264 stream to mpegts
-format with <code>ffmpeg</code>, you can use the command:
-</p>
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT.mp4 -codec copy -bsf:v h264_mp4toannexb OUTPUT.ts
-</pre></td></tr></table>
-
-<a name="imx_005fdump_005fheader"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-imx_005fdump_005fheader">15.5 imx_dump_header</a></h2>
-
-<a name="mjpeg2jpeg"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-mjpeg2jpeg">15.6 mjpeg2jpeg</a></h2>
-
-<p>Convert MJPEG/AVI1 packets to full JPEG/JFIF packets.
-</p>
-<p>MJPEG is a video codec wherein each video frame is essentially a
-JPEG image. The individual frames can be extracted without loss,
-e.g. by
-</p>
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i ../some_mjpeg.avi -c:v copy frames_%d.jpg
-</pre></td></tr></table>
-
-<p>Unfortunately, these chunks are incomplete JPEG images, because
-they lack the DHT segment required for decoding. Quoting from
-<a href="http://www.digitalpreservation.gov/formats/fdd/fdd000063.shtml">http://www.digitalpreservation.gov/formats/fdd/fdd000063.shtml</a>:
-</p>
-<p>Avery Lee, writing in the rec.video.desktop newsgroup in 2001,
-commented that &quot;MJPEG, or at least the MJPEG in AVIs having the
-MJPG fourcc, is restricted JPEG with a fixed &ndash; and *omitted* &ndash;
-Huffman table. The JPEG must be YCbCr colorspace, it must be 4:2:2,
-and it must use basic Huffman encoding, not arithmetic or
-progressive. . . . You can indeed extract the MJPEG frames and
-decode them with a regular JPEG decoder, but you have to prepend
-the DHT segment to them, or else the decoder won&rsquo;t have any idea
-how to decompress the data. The exact table necessary is given in
-the OpenDML spec.&quot;
-</p>
-<p>This bitstream filter patches the header of frames extracted from an MJPEG
-stream (carrying the AVI1 header ID and lacking a DHT segment) to
-produce fully qualified JPEG images.
-</p>
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i mjpeg-movie.avi -c:v copy -bsf:v mjpeg2jpeg frame_%d.jpg
-exiftran -i -9 frame*.jpg
-ffmpeg -i frame_%d.jpg -c:v copy rotated.avi
-</pre></td></tr></table>
-
-<a name="mjpega_005fdump_005fheader"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-mjpega_005fdump_005fheader">15.7 mjpega_dump_header</a></h2>
-
-<a name="movsub"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-movsub">15.8 movsub</a></h2>
-
-<a name="mp3_005fheader_005fdecompress"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-mp3_005fheader_005fdecompress">15.9 mp3_header_decompress</a></h2>
-
-<a name="noise-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-noise-1">15.10 noise</a></h2>
-
-<a name="remove_005fextra"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-remove_005fextra">15.11 remove_extra</a></h2>
-
-<a name="Format-Options"></a>
-<h1 class="chapter"><a href="ffplay-all.html#toc-Format-Options">16. Format Options</a></h1>
-
-<p>The libavformat library provides some generic global options, which
-can be set on all the muxers and demuxers. In addition each muxer or
-demuxer may support so-called private options, which are specific for
-that component.
-</p>
-<p>Options may be set by specifying -<var>option</var> <var>value</var> in the
-FFmpeg tools, or by setting the value explicitly in the
-<code>AVFormatContext</code> options or using the &lsquo;<tt>libavutil/opt.h</tt>&rsquo; API
-for programmatic use.
-</p>
-<p>The list of supported options follows:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>avioflags <var>flags</var> (<em>input/output</em>)</samp>&rsquo;</dt>
-<dd><p>Possible values:
-</p><dl compact="compact">
-<dt> &lsquo;<samp>direct</samp>&rsquo;</dt>
-<dd><p>Reduce buffering.
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>probesize <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
-<dd><p>Set probing size in bytes, i.e. the size of the data to analyze to get
-stream information. A higher value will allow to detect more
-information in case it is dispersed into the stream, but will increase
-latency. Must be an integer not lesser than 32. It is 5000000 by default.
-</p>
-</dd>
-<dt> &lsquo;<samp>packetsize <var>integer</var> (<em>output</em>)</samp>&rsquo;</dt>
-<dd><p>Set packet size.
-</p>
-</dd>
-<dt> &lsquo;<samp>fflags <var>flags</var> (<em>input/output</em>)</samp>&rsquo;</dt>
-<dd><p>Set format flags.
-</p>
-<p>Possible values:
-</p><dl compact="compact">
-<dt> &lsquo;<samp>ignidx</samp>&rsquo;</dt>
-<dd><p>Ignore index.
-</p></dd>
-<dt> &lsquo;<samp>genpts</samp>&rsquo;</dt>
-<dd><p>Generate PTS.
-</p></dd>
-<dt> &lsquo;<samp>nofillin</samp>&rsquo;</dt>
-<dd><p>Do not fill in missing values that can be exactly calculated.
-</p></dd>
-<dt> &lsquo;<samp>noparse</samp>&rsquo;</dt>
-<dd><p>Disable AVParsers, this needs <code>+nofillin</code> too.
-</p></dd>
-<dt> &lsquo;<samp>igndts</samp>&rsquo;</dt>
-<dd><p>Ignore DTS.
-</p></dd>
-<dt> &lsquo;<samp>discardcorrupt</samp>&rsquo;</dt>
-<dd><p>Discard corrupted frames.
-</p></dd>
-<dt> &lsquo;<samp>sortdts</samp>&rsquo;</dt>
-<dd><p>Try to interleave output packets by DTS.
-</p></dd>
-<dt> &lsquo;<samp>keepside</samp>&rsquo;</dt>
-<dd><p>Do not merge side data.
-</p></dd>
-<dt> &lsquo;<samp>latm</samp>&rsquo;</dt>
-<dd><p>Enable RTP MP4A-LATM payload.
-</p></dd>
-<dt> &lsquo;<samp>nobuffer</samp>&rsquo;</dt>
-<dd><p>Reduce the latency introduced by optional buffering
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>seek2any <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
-<dd><p>Allow seeking to non-keyframes on demuxer level when supported if set to 1.
-Default is 0.
-</p>
-</dd>
-<dt> &lsquo;<samp>analyzeduration <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
-<dd><p>Specify how many microseconds are analyzed to probe the input. A
-higher value will allow to detect more accurate information, but will
-increase latency. It defaults to 5,000,000 microseconds = 5 seconds.
-</p>
-</dd>
-<dt> &lsquo;<samp>cryptokey <var>hexadecimal string</var> (<em>input</em>)</samp>&rsquo;</dt>
-<dd><p>Set decryption key.
-</p>
-</dd>
-<dt> &lsquo;<samp>indexmem <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
-<dd><p>Set max memory used for timestamp index (per stream).
-</p>
-</dd>
-<dt> &lsquo;<samp>rtbufsize <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
-<dd><p>Set max memory used for buffering real-time frames.
-</p>
-</dd>
-<dt> &lsquo;<samp>fdebug <var>flags</var> (<em>input/output</em>)</samp>&rsquo;</dt>
-<dd><p>Print specific debug info.
-</p>
-<p>Possible values:
-</p><dl compact="compact">
-<dt> &lsquo;<samp>ts</samp>&rsquo;</dt>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>max_delay <var>integer</var> (<em>input/output</em>)</samp>&rsquo;</dt>
-<dd><p>Set maximum muxing or demuxing delay in microseconds.
-</p>
-</dd>
-<dt> &lsquo;<samp>fpsprobesize <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
-<dd><p>Set number of frames used to probe fps.
-</p>
-</dd>
-<dt> &lsquo;<samp>audio_preload <var>integer</var> (<em>output</em>)</samp>&rsquo;</dt>
-<dd><p>Set microseconds by which audio packets should be interleaved earlier.
-</p>
-</dd>
-<dt> &lsquo;<samp>chunk_duration <var>integer</var> (<em>output</em>)</samp>&rsquo;</dt>
-<dd><p>Set microseconds for each chunk.
-</p>
-</dd>
-<dt> &lsquo;<samp>chunk_size <var>integer</var> (<em>output</em>)</samp>&rsquo;</dt>
-<dd><p>Set size in bytes for each chunk.
-</p>
-</dd>
-<dt> &lsquo;<samp>err_detect, f_err_detect <var>flags</var> (<em>input</em>)</samp>&rsquo;</dt>
-<dd><p>Set error detection flags. <code>f_err_detect</code> is deprecated and
-should be used only via the <code>ffmpeg</code> tool.
-</p>
-<p>Possible values:
-</p><dl compact="compact">
-<dt> &lsquo;<samp>crccheck</samp>&rsquo;</dt>
-<dd><p>Verify embedded CRCs.
-</p></dd>
-<dt> &lsquo;<samp>bitstream</samp>&rsquo;</dt>
-<dd><p>Detect bitstream specification deviations.
-</p></dd>
-<dt> &lsquo;<samp>buffer</samp>&rsquo;</dt>
-<dd><p>Detect improper bitstream length.
-</p></dd>
-<dt> &lsquo;<samp>explode</samp>&rsquo;</dt>
-<dd><p>Abort decoding on minor error detection.
-</p></dd>
-<dt> &lsquo;<samp>careful</samp>&rsquo;</dt>
-<dd><p>Consider things that violate the spec and have not been seen in the
-wild as errors.
-</p></dd>
-<dt> &lsquo;<samp>compliant</samp>&rsquo;</dt>
-<dd><p>Consider all spec non compliancies as errors.
-</p></dd>
-<dt> &lsquo;<samp>aggressive</samp>&rsquo;</dt>
-<dd><p>Consider things that a sane encoder should not do as an error.
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>use_wallclock_as_timestamps <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
-<dd><p>Use wallclock as timestamps.
-</p>
-</dd>
-<dt> &lsquo;<samp>avoid_negative_ts <var>integer</var> (<em>output</em>)</samp>&rsquo;</dt>
-<dd><p>Shift timestamps to make them non-negative. A value of 1 enables shifting,
-a value of 0 disables it, the default value of -1 enables shifting
-when required by the target format.
-</p>
-<p>When shifting is enabled, all output timestamps are shifted by the
-same amount. Audio, video, and subtitles desynching and relative
-timestamp differences are preserved compared to how they would have
-been without shifting.
-</p>
-<p>Also note that this affects only leading negative timestamps, and not
-non-monotonic negative timestamps.
-</p>
-</dd>
-<dt> &lsquo;<samp>skip_initial_bytes <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
-<dd><p>Set number of bytes to skip before reading header and frames if set to 1.
-Default is 0.
-</p>
-</dd>
-<dt> &lsquo;<samp>correct_ts_overflow <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
-<dd><p>Correct single timestamp overflows if set to 1. Default is 1.
-</p>
-</dd>
-<dt> &lsquo;<samp>flush_packets <var>integer</var> (<em>output</em>)</samp>&rsquo;</dt>
-<dd><p>Flush the underlying I/O stream after each packet. Default 1 enables it, and
-has the effect of reducing the latency; 0 disables it and may slightly
-increase performance in some cases.
-</p></dd>
-</dl>
-
-
-<p><a name="Format-stream-specifiers"></a>
-</p><a name="Format-stream-specifiers-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-Format-stream-specifiers-1">16.1 Format stream specifiers</a></h2>
-
-<p>Format stream specifiers allow selection of one or more streams that
-match specific properties.
-</p>
-<p>Possible forms of stream specifiers are:
-</p><dl compact="compact">
-<dt> &lsquo;<samp><var>stream_index</var></samp>&rsquo;</dt>
-<dd><p>Matches the stream with this index.
-</p>
-</dd>
-<dt> &lsquo;<samp><var>stream_type</var>[:<var>stream_index</var>]</samp>&rsquo;</dt>
-<dd><p><var>stream_type</var> is one of following: &rsquo;v&rsquo; for video, &rsquo;a&rsquo; for audio,
-&rsquo;s&rsquo; for subtitle, &rsquo;d&rsquo; for data, and &rsquo;t&rsquo; for attachments. If
-<var>stream_index</var> is given, then it matches the stream number
-<var>stream_index</var> of this type. Otherwise, it matches all streams of
-this type.
-</p>
-</dd>
-<dt> &lsquo;<samp>p:<var>program_id</var>[:<var>stream_index</var>]</samp>&rsquo;</dt>
-<dd><p>If <var>stream_index</var> is given, then it matches the stream with number
-<var>stream_index</var> in the program with the id
-<var>program_id</var>. Otherwise, it matches all streams in the program.
-</p>
-</dd>
-<dt> &lsquo;<samp>#<var>stream_id</var></samp>&rsquo;</dt>
-<dd><p>Matches the stream by a format-specific ID.
-</p></dd>
-</dl>
-
-<p>The exact semantics of stream specifiers is defined by the
-<code>avformat_match_stream_specifier()</code> function declared in the
-&lsquo;<tt>libavformat/avformat.h</tt>&rsquo; header.
-</p>
-<a name="Demuxers"></a>
-<h1 class="chapter"><a href="ffplay-all.html#toc-Demuxers">17. Demuxers</a></h1>
-
-<p>Demuxers are configured elements in FFmpeg that can read the
-multimedia streams from a particular type of file.
-</p>
-<p>When you configure your FFmpeg build, all the supported demuxers
-are enabled by default. You can list all available ones using the
-configure option <code>--list-demuxers</code>.
-</p>
-<p>You can disable all the demuxers using the configure option
-<code>--disable-demuxers</code>, and selectively enable a single demuxer with
-the option <code>--enable-demuxer=<var>DEMUXER</var></code>, or disable it
-with the option <code>--disable-demuxer=<var>DEMUXER</var></code>.
-</p>
-<p>The option <code>-formats</code> of the ff* tools will display the list of
-enabled demuxers.
-</p>
-<p>The description of some of the currently available demuxers follows.
-</p>
-<a name="applehttp"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-applehttp">17.1 applehttp</a></h2>
-
-<p>Apple HTTP Live Streaming demuxer.
-</p>
-<p>This demuxer presents all AVStreams from all variant streams.
-The id field is set to the bitrate variant index number. By setting
-the discard flags on AVStreams (by pressing &rsquo;a&rsquo; or &rsquo;v&rsquo; in ffplay),
-the caller can decide which variant streams to actually receive.
-The total bitrate of the variant that the stream belongs to is
-available in a metadata key named &quot;variant_bitrate&quot;.
-</p>
-<a name="asf"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-asf">17.2 asf</a></h2>
-
-<p>Advanced Systems Format demuxer.
-</p>
-<p>This demuxer is used to demux ASF files and MMS network streams.
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>-no_resync_search <var>bool</var></samp>&rsquo;</dt>
-<dd><p>Do not try to resynchronize by looking for a certain optional start code.
-</p></dd>
-</dl>
-
-<p><a name="concat"></a>
-</p><a name="concat-3"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-concat-3">17.3 concat</a></h2>
-
-<p>Virtual concatenation script demuxer.
-</p>
-<p>This demuxer reads a list of files and other directives from a text file and
-demuxes them one after the other, as if all their packet had been muxed
-together.
-</p>
-<p>The timestamps in the files are adjusted so that the first file starts at 0
-and each next file starts where the previous one finishes. Note that it is
-done globally and may cause gaps if all streams do not have exactly the same
-length.
-</p>
-<p>All files must have the same streams (same codecs, same time base, etc.).
-</p>
-<p>The duration of each file is used to adjust the timestamps of the next file:
-if the duration is incorrect (because it was computed using the bit-rate or
-because the file is truncated, for example), it can cause artifacts. The
-<code>duration</code> directive can be used to override the duration stored in
-each file.
-</p>
-<a name="Syntax-1"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Syntax-1">17.3.1 Syntax</a></h3>
-
-<p>The script is a text file in extended-ASCII, with one directive per line.
-Empty lines, leading spaces and lines starting with &rsquo;#&rsquo; are ignored. The
-following directive is recognized:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp><code>file <var>path</var></code></samp>&rsquo;</dt>
-<dd><p>Path to a file to read; special characters and spaces must be escaped with
-backslash or single quotes.
-</p>
-<p>All subsequent directives apply to that file.
-</p>
-</dd>
-<dt> &lsquo;<samp><code>ffconcat version 1.0</code></samp>&rsquo;</dt>
-<dd><p>Identify the script type and version. It also sets the &lsquo;<samp>safe</samp>&rsquo; option
-to 1 if it was to its default -1.
-</p>
-<p>To make FFmpeg recognize the format automatically, this directive must
-appears exactly as is (no extra space or byte-order-mark) on the very first
-line of the script.
-</p>
-</dd>
-<dt> &lsquo;<samp><code>duration <var>dur</var></code></samp>&rsquo;</dt>
-<dd><p>Duration of the file. This information can be specified from the file;
-specifying it here may be more efficient or help if the information from the
-file is not available or accurate.
-</p>
-<p>If the duration is set for all files, then it is possible to seek in the
-whole concatenated video.
-</p>
-</dd>
-</dl>
-
-<a name="Options-13"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Options-13">17.3.2 Options</a></h3>
-
-<p>This demuxer accepts the following option:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>safe</samp>&rsquo;</dt>
-<dd><p>If set to 1, reject unsafe file paths. A file path is considered safe if it
-does not contain a protocol specification and is relative and all components
-only contain characters from the portable character set (letters, digits,
-period, underscore and hyphen) and have no period at the beginning of a
-component.
-</p>
-<p>If set to 0, any file name is accepted.
-</p>
-<p>The default is -1, it is equivalent to 1 if the format was automatically
-probed and 0 otherwise.
-</p>
-</dd>
-</dl>
-
-<a name="flv"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-flv">17.4 flv</a></h2>
-
-<p>Adobe Flash Video Format demuxer.
-</p>
-<p>This demuxer is used to demux FLV files and RTMP network streams.
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>-flv_metadata <var>bool</var></samp>&rsquo;</dt>
-<dd><p>Allocate the streams according to the onMetaData array content.
-</p></dd>
-</dl>
-
-<a name="libgme"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-libgme">17.5 libgme</a></h2>
-
-<p>The Game Music Emu library is a collection of video game music file emulators.
-</p>
-<p>See <a href="http://code.google.com/p/game-music-emu/">http://code.google.com/p/game-music-emu/</a> for more information.
-</p>
-<p>Some files have multiple tracks. The demuxer will pick the first track by
-default. The &lsquo;<samp>track_index</samp>&rsquo; option can be used to select a different
-track. Track indexes start at 0. The demuxer exports the number of tracks as
-<var>tracks</var> meta data entry.
-</p>
-<p>For very large files, the &lsquo;<samp>max_size</samp>&rsquo; option may have to be adjusted.
-</p>
-<a name="libquvi"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-libquvi">17.6 libquvi</a></h2>
-
-<p>Play media from Internet services using the quvi project.
-</p>
-<p>The demuxer accepts a &lsquo;<samp>format</samp>&rsquo; option to request a specific quality. It
-is by default set to <var>best</var>.
-</p>
-<p>See <a href="http://quvi.sourceforge.net/">http://quvi.sourceforge.net/</a> for more information.
-</p>
-<p>FFmpeg needs to be built with <code>--enable-libquvi</code> for this demuxer to be
-enabled.
-</p>
-<a name="image2-2"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-image2-2">17.7 image2</a></h2>
-
-<p>Image file demuxer.
-</p>
-<p>This demuxer reads from a list of image files specified by a pattern.
-The syntax and meaning of the pattern is specified by the
-option <var>pattern_type</var>.
-</p>
-<p>The pattern may contain a suffix which is used to automatically
-determine the format of the images contained in the files.
-</p>
-<p>The size, the pixel format, and the format of each image must be the
-same for all the files in the sequence.
-</p>
-<p>This demuxer accepts the following options:
-</p><dl compact="compact">
-<dt> &lsquo;<samp>framerate</samp>&rsquo;</dt>
-<dd><p>Set the frame rate for the video stream. It defaults to 25.
-</p></dd>
-<dt> &lsquo;<samp>loop</samp>&rsquo;</dt>
-<dd><p>If set to 1, loop over the input. Default value is 0.
-</p></dd>
-<dt> &lsquo;<samp>pattern_type</samp>&rsquo;</dt>
-<dd><p>Select the pattern type used to interpret the provided filename.
-</p>
-<p><var>pattern_type</var> accepts one of the following values.
-</p><dl compact="compact">
-<dt> &lsquo;<samp>sequence</samp>&rsquo;</dt>
-<dd><p>Select a sequence pattern type, used to specify a sequence of files
-indexed by sequential numbers.
-</p>
-<p>A sequence pattern may contain the string &quot;%d&quot; or &quot;%0<var>N</var>d&quot;, which
-specifies the position of the characters representing a sequential
-number in each filename matched by the pattern. If the form
-&quot;%d0<var>N</var>d&quot; is used, the string representing the number in each
-filename is 0-padded and <var>N</var> is the total number of 0-padded
-digits representing the number. The literal character &rsquo;%&rsquo; can be
-specified in the pattern with the string &quot;%%&quot;.
-</p>
-<p>If the sequence pattern contains &quot;%d&quot; or &quot;%0<var>N</var>d&quot;, the first filename of
-the file list specified by the pattern must contain a number
-inclusively contained between <var>start_number</var> and
-<var>start_number</var>+<var>start_number_range</var>-1, and all the following
-numbers must be sequential.
-</p>
-<p>For example the pattern &quot;img-%03d.bmp&quot; will match a sequence of
-filenames of the form &lsquo;<tt>img-001.bmp</tt>&rsquo;, &lsquo;<tt>img-002.bmp</tt>&rsquo;, ...,
-&lsquo;<tt>img-010.bmp</tt>&rsquo;, etc.; the pattern &quot;i%%m%%g-%d.jpg&quot; will match a
-sequence of filenames of the form &lsquo;<tt>i%m%g-1.jpg</tt>&rsquo;,
-&lsquo;<tt>i%m%g-2.jpg</tt>&rsquo;, ..., &lsquo;<tt>i%m%g-10.jpg</tt>&rsquo;, etc.
-</p>
-<p>Note that the pattern must not necessarily contain &quot;%d&quot; or
-&quot;%0<var>N</var>d&quot;, for example to convert a single image file
-&lsquo;<tt>img.jpeg</tt>&rsquo; you can employ the command:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i img.jpeg img.png
-</pre></td></tr></table>
-
-</dd>
-<dt> &lsquo;<samp>glob</samp>&rsquo;</dt>
-<dd><p>Select a glob wildcard pattern type.
-</p>
-<p>The pattern is interpreted like a <code>glob()</code> pattern. This is only
-selectable if libavformat was compiled with globbing support.
-</p>
-</dd>
-<dt> &lsquo;<samp>glob_sequence <em>(deprecated, will be removed)</em></samp>&rsquo;</dt>
-<dd><p>Select a mixed glob wildcard/sequence pattern.
-</p>
-<p>If your version of libavformat was compiled with globbing support, and
-the provided pattern contains at least one glob meta character among
-<code>%*?[]{}</code> that is preceded by an unescaped &quot;%&quot;, the pattern is
-interpreted like a <code>glob()</code> pattern, otherwise it is interpreted
-like a sequence pattern.
-</p>
-<p>All glob special characters <code>%*?[]{}</code> must be prefixed
-with &quot;%&quot;. To escape a literal &quot;%&quot; you shall use &quot;%%&quot;.
-</p>
-<p>For example the pattern <code>foo-%*.jpeg</code> will match all the
-filenames prefixed by &quot;foo-&quot; and terminating with &quot;.jpeg&quot;, and
-<code>foo-%?%?%?.jpeg</code> will match all the filenames prefixed with
-&quot;foo-&quot;, followed by a sequence of three characters, and terminating
-with &quot;.jpeg&quot;.
-</p>
-<p>This pattern type is deprecated in favor of <var>glob</var> and
-<var>sequence</var>.
-</p></dd>
-</dl>
-
-<p>Default value is <var>glob_sequence</var>.
-</p></dd>
-<dt> &lsquo;<samp>pixel_format</samp>&rsquo;</dt>
-<dd><p>Set the pixel format of the images to read. If not specified the pixel
-format is guessed from the first image file in the sequence.
-</p></dd>
-<dt> &lsquo;<samp>start_number</samp>&rsquo;</dt>
-<dd><p>Set the index of the file matched by the image file pattern to start
-to read from. Default value is 0.
-</p></dd>
-<dt> &lsquo;<samp>start_number_range</samp>&rsquo;</dt>
-<dd><p>Set the index interval range to check when looking for the first image
-file in the sequence, starting from <var>start_number</var>. Default value
-is 5.
-</p></dd>
-<dt> &lsquo;<samp>ts_from_file</samp>&rsquo;</dt>
-<dd><p>If set to 1, will set frame timestamp to modification time of image file. Note
-that monotonity of timestamps is not provided: images go in the same order as
-without this option. Default value is 0.
-</p></dd>
-<dt> &lsquo;<samp>video_size</samp>&rsquo;</dt>
-<dd><p>Set the video size of the images to read. If not specified the video
-size is guessed from the first image file in the sequence.
-</p></dd>
-</dl>
-
-<a name="Examples-88"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-88">17.7.1 Examples</a></h3>
-
-<ul>
-<li>
-Use <code>ffmpeg</code> for creating a video from the images in the file
-sequence &lsquo;<tt>img-001.jpeg</tt>&rsquo;, &lsquo;<tt>img-002.jpeg</tt>&rsquo;, ..., assuming an
-input frame rate of 10 frames per second:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -framerate 10 -i 'img-%03d.jpeg' out.mkv
-</pre></td></tr></table>
-
-</li><li>
-As above, but start by reading from a file with index 100 in the sequence:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -framerate 10 -start_number 100 -i 'img-%03d.jpeg' out.mkv
-</pre></td></tr></table>
-
-</li><li>
-Read images matching the &quot;*.png&quot; glob pattern , that is all the files
-terminating with the &quot;.png&quot; suffix:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -framerate 10 -pattern_type glob -i &quot;*.png&quot; out.mkv
-</pre></td></tr></table>
-</li></ul>
-
-<a name="mpegts-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-mpegts-1">17.8 mpegts</a></h2>
-
-<p>MPEG-2 transport stream demuxer.
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>fix_teletext_pts</samp>&rsquo;</dt>
-<dd><p>Overrides teletext packet PTS and DTS values with the timestamps calculated
-from the PCR of the first program which the teletext stream is part of and is
-not discarded. Default value is 1, set this option to 0 if you want your
-teletext packet PTS and DTS values untouched.
-</p></dd>
-</dl>
-
-<a name="rawvideo"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-rawvideo">17.9 rawvideo</a></h2>
-
-<p>Raw video demuxer.
-</p>
-<p>This demuxer allows to read raw video data. Since there is no header
-specifying the assumed video parameters, the user must specify them
-in order to be able to decode the data correctly.
-</p>
-<p>This demuxer accepts the following options:
-</p><dl compact="compact">
-<dt> &lsquo;<samp>framerate</samp>&rsquo;</dt>
-<dd><p>Set input video frame rate. Default value is 25.
-</p>
-</dd>
-<dt> &lsquo;<samp>pixel_format</samp>&rsquo;</dt>
-<dd><p>Set the input video pixel format. Default value is <code>yuv420p</code>.
-</p>
-</dd>
-<dt> &lsquo;<samp>video_size</samp>&rsquo;</dt>
-<dd><p>Set the input video size. This value must be specified explicitly.
-</p></dd>
-</dl>
-
-<p>For example to read a rawvideo file &lsquo;<tt>input.raw</tt>&rsquo; with
-<code>ffplay</code>, assuming a pixel format of <code>rgb24</code>, a video
-size of <code>320x240</code>, and a frame rate of 10 images per second, use
-the command:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffplay -f rawvideo -pixel_format rgb24 -video_size 320x240 -framerate 10 input.raw
-</pre></td></tr></table>
-
-<a name="sbg"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-sbg">17.10 sbg</a></h2>
-
-<p>SBaGen script demuxer.
-</p>
-<p>This demuxer reads the script language used by SBaGen
-<a href="http://uazu.net/sbagen/">http://uazu.net/sbagen/</a> to generate binaural beats sessions. A SBG
-script looks like that:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">-SE
-a: 300-2.5/3 440+4.5/0
-b: 300-2.5/0 440+4.5/3
-off: -
-NOW      == a
-+0:07:00 == b
-+0:14:00 == a
-+0:21:00 == b
-+0:30:00    off
-</pre></td></tr></table>
-
-<p>A SBG script can mix absolute and relative timestamps. If the script uses
-either only absolute timestamps (including the script start time) or only
-relative ones, then its layout is fixed, and the conversion is
-straightforward. On the other hand, if the script mixes both kind of
-timestamps, then the <var>NOW</var> reference for relative timestamps will be
-taken from the current time of day at the time the script is read, and the
-script layout will be frozen according to that reference. That means that if
-the script is directly played, the actual times will match the absolute
-timestamps up to the sound controller&rsquo;s clock accuracy, but if the user
-somehow pauses the playback or seeks, all times will be shifted accordingly.
-</p>
-<a name="tedcaptions"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-tedcaptions">17.11 tedcaptions</a></h2>
-
-<p>JSON captions used for <a href="http://www.ted.com/">TED Talks</a>.
-</p>
-<p>TED does not provide links to the captions, but they can be guessed from the
-page. The file &lsquo;<tt>tools/bookmarklets.html</tt>&rsquo; from the FFmpeg source tree
-contains a bookmarklet to expose them.
-</p>
-<p>This demuxer accepts the following option:
-</p><dl compact="compact">
-<dt> &lsquo;<samp>start_time</samp>&rsquo;</dt>
-<dd><p>Set the start time of the TED talk, in milliseconds. The default is 15000
-(15s). It is used to sync the captions with the downloadable videos, because
-they include a 15s intro.
-</p></dd>
-</dl>
-
-<p>Example: convert the captions to a format most players understand:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i http://www.ted.com/talks/subtitles/id/1/lang/en talk1-en.srt
-</pre></td></tr></table>
-
-<a name="Muxers"></a>
-<h1 class="chapter"><a href="ffplay-all.html#toc-Muxers">18. Muxers</a></h1>
-
-<p>Muxers are configured elements in FFmpeg which allow writing
-multimedia streams to a particular type of file.
-</p>
-<p>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</code>.
-</p>
-<p>You can disable all the muxers with the configure option
-<code>--disable-muxers</code> and selectively enable / disable single muxers
-with the options <code>--enable-muxer=<var>MUXER</var></code> /
-<code>--disable-muxer=<var>MUXER</var></code>.
-</p>
-<p>The option <code>-formats</code> of the ff* tools will display the list of
-enabled muxers.
-</p>
-<p>A description of some of the currently available muxers follows.
-</p>
-<p><a name="aiff"></a>
-</p><a name="aiff-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-aiff-1">18.1 aiff</a></h2>
-
-<p>Audio Interchange File Format muxer.
-</p>
-<p>It accepts the following options:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>write_id3v2</samp>&rsquo;</dt>
-<dd><p>Enable ID3v2 tags writing when set to 1. Default is 0 (disabled).
-</p>
-</dd>
-<dt> &lsquo;<samp>id3v2_version</samp>&rsquo;</dt>
-<dd><p>Select ID3v2 version to write. Currently only version 3 and 4 (aka.
-ID3v2.3 and ID3v2.4) are supported. The default is version 4.
-</p>
-</dd>
-</dl>
-
-<p><a name="crc"></a>
-</p><a name="crc-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-crc-1">18.2 crc</a></h2>
-
-<p>CRC (Cyclic Redundancy Check) testing format.
-</p>
-<p>This muxer computes and prints the Adler-32 CRC of all the input audio
-and video frames. By default audio frames are converted to signed
-16-bit raw audio and video frames to raw video before computing the
-CRC.
-</p>
-<p>The output of the muxer consists of a single line of the form:
-CRC=0x<var>CRC</var>, where <var>CRC</var> is a hexadecimal number 0-padded to
-8 digits containing the CRC for all the decoded input frames.
-</p>
-<p>For example to compute the CRC of the input, and store it in the file
-&lsquo;<tt>out.crc</tt>&rsquo;:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -f crc out.crc
-</pre></td></tr></table>
-
-<p>You can print the CRC to stdout with the command:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -f crc -
-</pre></td></tr></table>
-
-<p>You can select the output format of each frame with <code>ffmpeg</code> by
-specifying the audio and video codec and format. For example to
-compute the CRC of the input audio converted to PCM unsigned 8-bit
-and the input video converted to MPEG-2 video, use the command:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -c:a pcm_u8 -c:v mpeg2video -f crc -
-</pre></td></tr></table>
-
-<p>See also the <a href="#framecrc">framecrc</a> muxer.
-</p>
-<p><a name="framecrc"></a>
-</p><a name="framecrc-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-framecrc-1">18.3 framecrc</a></h2>
-
-<p>Per-packet CRC (Cyclic Redundancy Check) testing format.
-</p>
-<p>This muxer computes and prints the Adler-32 CRC for each audio
-and video packet. By default audio frames are converted to signed
-16-bit raw audio and video frames to raw video before computing the
-CRC.
-</p>
-<p>The output of the muxer consists of a line for each audio and video
-packet of the form:
-</p><table><tr><td>&nbsp;</td><td><pre class="example"><var>stream_index</var>, <var>packet_dts</var>, <var>packet_pts</var>, <var>packet_duration</var>, <var>packet_size</var>, 0x<var>CRC</var>
-</pre></td></tr></table>
-
-<p><var>CRC</var> is a hexadecimal number 0-padded to 8 digits containing the
-CRC of the packet.
-</p>
-<p>For example to compute the CRC of the audio and video frames in
-&lsquo;<tt>INPUT</tt>&rsquo;, converted to raw audio and video packets, and store it
-in the file &lsquo;<tt>out.crc</tt>&rsquo;:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -f framecrc out.crc
-</pre></td></tr></table>
-
-<p>To print the information to stdout, use the command:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -f framecrc -
-</pre></td></tr></table>
-
-<p>With <code>ffmpeg</code>, you can select the output format to which the
-audio and video frames are encoded before computing the CRC for each
-packet by specifying the audio and video codec. For example, to
-compute the CRC of each decoded input audio frame converted to PCM
-unsigned 8-bit and of each decoded input video frame converted to
-MPEG-2 video, use the command:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -c:a pcm_u8 -c:v mpeg2video -f framecrc -
-</pre></td></tr></table>
-
-<p>See also the <a href="#crc">crc</a> muxer.
-</p>
-<p><a name="framemd5"></a>
-</p><a name="framemd5-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-framemd5-1">18.4 framemd5</a></h2>
-
-<p>Per-packet MD5 testing format.
-</p>
-<p>This muxer computes and prints the MD5 hash for each audio
-and video packet. By default audio frames are converted to signed
-16-bit raw audio and video frames to raw video before computing the
-hash.
-</p>
-<p>The output of the muxer consists of a line for each audio and video
-packet of the form:
-</p><table><tr><td>&nbsp;</td><td><pre class="example"><var>stream_index</var>, <var>packet_dts</var>, <var>packet_pts</var>, <var>packet_duration</var>, <var>packet_size</var>, <var>MD5</var>
-</pre></td></tr></table>
-
-<p><var>MD5</var> is a hexadecimal number representing the computed MD5 hash
-for the packet.
-</p>
-<p>For example to compute the MD5 of the audio and video frames in
-&lsquo;<tt>INPUT</tt>&rsquo;, converted to raw audio and video packets, and store it
-in the file &lsquo;<tt>out.md5</tt>&rsquo;:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -f framemd5 out.md5
-</pre></td></tr></table>
-
-<p>To print the information to stdout, use the command:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -f framemd5 -
-</pre></td></tr></table>
-
-<p>See also the <a href="#md5">md5</a> muxer.
-</p>
-<p><a name="gif"></a>
-</p><a name="gif-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-gif-1">18.5 gif</a></h2>
-
-<p>Animated GIF muxer.
-</p>
-<p>It accepts the following options:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>loop</samp>&rsquo;</dt>
-<dd><p>Set the number of times to loop the output. Use <code>-1</code> for no loop, <code>0</code>
-for looping indefinitely (default).
-</p>
-</dd>
-<dt> &lsquo;<samp>final_delay</samp>&rsquo;</dt>
-<dd><p>Force the delay (expressed in centiseconds) after the last frame. Each frame
-ends with a delay until the next frame. The default is <code>-1</code>, which is a
-special value to tell the muxer to re-use the previous delay. In case of a
-loop, you might want to customize this value to mark a pause for instance.
-</p></dd>
-</dl>
-
-<p>For example, to encode a gif looping 10 times, with a 5 seconds delay between
-the loops:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -loop 10 -final_delay 500 out.gif
-</pre></td></tr></table>
-
-<p>Note 1: if you wish to extract the frames in separate GIF files, you need to
-force the <a href="#image2">image2</a> muxer:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -c:v gif -f image2 &quot;out%d.gif&quot;
-</pre></td></tr></table>
-
-<p>Note 2: the GIF format has a very small time base: the delay between two frames
-can not be smaller than one centi second.
-</p>
-<p><a name="hls"></a>
-</p><a name="hls-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-hls-1">18.6 hls</a></h2>
-
-<p>Apple HTTP Live Streaming muxer that segments MPEG-TS according to
-the HTTP Live Streaming specification.
-</p>
-<p>It creates a playlist file and numbered segment files. The output
-filename specifies the playlist filename; the segment filenames
-receive the same basename as the playlist, a sequential number and
-a .ts extension.
-</p>
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i in.nut out.m3u8
-</pre></td></tr></table>
-
-<dl compact="compact">
-<dt> &lsquo;<samp>-hls_time <var>seconds</var></samp>&rsquo;</dt>
-<dd><p>Set the segment length in seconds.
-</p></dd>
-<dt> &lsquo;<samp>-hls_list_size <var>size</var></samp>&rsquo;</dt>
-<dd><p>Set the maximum number of playlist entries.
-</p></dd>
-<dt> &lsquo;<samp>-hls_wrap <var>wrap</var></samp>&rsquo;</dt>
-<dd><p>Set the number after which index wraps.
-</p></dd>
-<dt> &lsquo;<samp>-start_number <var>number</var></samp>&rsquo;</dt>
-<dd><p>Start the sequence from <var>number</var>.
-</p></dd>
-</dl>
-
-<p><a name="ico"></a>
-</p><a name="ico-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-ico-1">18.7 ico</a></h2>
-
-<p>ICO file muxer.
-</p>
-<p>Microsoft&rsquo;s icon file format (ICO) has some strict limitations that should be noted:
-</p>
-<ul>
-<li>
-Size cannot exceed 256 pixels in any dimension
-
-</li><li>
-Only BMP and PNG images can be stored
-
-</li><li>
-If a BMP image is used, it must be one of the following pixel formats:
-<table><tr><td>&nbsp;</td><td><pre class="example">BMP Bit Depth      FFmpeg Pixel Format
-1bit               pal8
-4bit               pal8
-8bit               pal8
-16bit              rgb555le
-24bit              bgr24
-32bit              bgra
-</pre></td></tr></table>
-
-</li><li>
-If a BMP image is used, it must use the BITMAPINFOHEADER DIB header
-
-</li><li>
-If a PNG image is used, it must use the rgba pixel format
-</li></ul>
-
-<p><a name="image2"></a>
-</p><a name="image2-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-image2-1">18.8 image2</a></h2>
-
-<p>Image file muxer.
-</p>
-<p>The image file muxer writes video frames to image files.
-</p>
-<p>The output filenames are specified by a pattern, which can be used to
-produce sequentially numbered series of files.
-The pattern may contain the string &quot;%d&quot; or &quot;%0<var>N</var>d&quot;, this string
-specifies the position of the characters representing a numbering in
-the filenames. If the form &quot;%0<var>N</var>d&quot; is used, the string
-representing the number in each filename is 0-padded to <var>N</var>
-digits. The literal character &rsquo;%&rsquo; can be specified in the pattern with
-the string &quot;%%&quot;.
-</p>
-<p>If the pattern contains &quot;%d&quot; or &quot;%0<var>N</var>d&quot;, the first filename of
-the file list specified will contain the number 1, all the following
-numbers will be sequential.
-</p>
-<p>The pattern may contain a suffix which is used to automatically
-determine the format of the image files to write.
-</p>
-<p>For example the pattern &quot;img-%03d.bmp&quot; will specify a sequence of
-filenames of the form &lsquo;<tt>img-001.bmp</tt>&rsquo;, &lsquo;<tt>img-002.bmp</tt>&rsquo;, ...,
-&lsquo;<tt>img-010.bmp</tt>&rsquo;, etc.
-The pattern &quot;img%%-%d.jpg&quot; will specify a sequence of filenames of the
-form &lsquo;<tt>img%-1.jpg</tt>&rsquo;, &lsquo;<tt>img%-2.jpg</tt>&rsquo;, ..., &lsquo;<tt>img%-10.jpg</tt>&rsquo;,
-etc.
-</p>
-<p>The following example shows how to use <code>ffmpeg</code> for creating a
-sequence of files &lsquo;<tt>img-001.jpeg</tt>&rsquo;, &lsquo;<tt>img-002.jpeg</tt>&rsquo;, ...,
-taking one image every second from the input video:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i in.avi -vsync 1 -r 1 -f image2 'img-%03d.jpeg'
-</pre></td></tr></table>
-
-<p>Note that with <code>ffmpeg</code>, if the format is not specified with the
-<code>-f</code> option and the output filename specifies an image file
-format, the image2 muxer is automatically selected, so the previous
-command can be written as:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i in.avi -vsync 1 -r 1 'img-%03d.jpeg'
-</pre></td></tr></table>
-
-<p>Note also that the pattern must not necessarily contain &quot;%d&quot; or
-&quot;%0<var>N</var>d&quot;, for example to create a single image file
-&lsquo;<tt>img.jpeg</tt>&rsquo; from the input video you can employ the command:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i in.avi -f image2 -frames:v 1 img.jpeg
-</pre></td></tr></table>
-
-<dl compact="compact">
-<dt> &lsquo;<samp>start_number <var>number</var></samp>&rsquo;</dt>
-<dd><p>Start the sequence from <var>number</var>. Default value is 1. Must be a
-non-negative number.
-</p>
-</dd>
-<dt> &lsquo;<samp>-update <var>number</var></samp>&rsquo;</dt>
-<dd><p>If <var>number</var> is nonzero, the filename will always be interpreted as just a
-filename, not a pattern, and this file will be continuously overwritten with new
-images.
-</p>
-</dd>
-</dl>
-
-<p>The image muxer supports the .Y.U.V image file format. This format is
-special in that that each image frame consists of three files, for
-each of the YUV420P components. To read or write this image file format,
-specify the name of the &rsquo;.Y&rsquo; file. The muxer will automatically open the
-&rsquo;.U&rsquo; and &rsquo;.V&rsquo; files as required.
-</p>
-<a name="matroska"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-matroska">18.9 matroska</a></h2>
-
-<p>Matroska container muxer.
-</p>
-<p>This muxer implements the matroska and webm container specs.
-</p>
-<p>The recognized metadata settings in this muxer are:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>title=<var>title name</var></samp>&rsquo;</dt>
-<dd><p>Name provided to a single track
-</p></dd>
-</dl>
-
-<dl compact="compact">
-<dt> &lsquo;<samp>language=<var>language name</var></samp>&rsquo;</dt>
-<dd><p>Specifies the language of the track in the Matroska languages form
-</p></dd>
-</dl>
-
-<dl compact="compact">
-<dt> &lsquo;<samp>stereo_mode=<var>mode</var></samp>&rsquo;</dt>
-<dd><p>Stereo 3D video layout of two views in a single video track
-</p><dl compact="compact">
-<dt> &lsquo;<samp>mono</samp>&rsquo;</dt>
-<dd><p>video is not stereo
-</p></dd>
-<dt> &lsquo;<samp>left_right</samp>&rsquo;</dt>
-<dd><p>Both views are arranged side by side, Left-eye view is on the left
-</p></dd>
-<dt> &lsquo;<samp>bottom_top</samp>&rsquo;</dt>
-<dd><p>Both views are arranged in top-bottom orientation, Left-eye view is at bottom
-</p></dd>
-<dt> &lsquo;<samp>top_bottom</samp>&rsquo;</dt>
-<dd><p>Both views are arranged in top-bottom orientation, Left-eye view is on top
-</p></dd>
-<dt> &lsquo;<samp>checkerboard_rl</samp>&rsquo;</dt>
-<dd><p>Each view is arranged in a checkerboard interleaved pattern, Left-eye view being first
-</p></dd>
-<dt> &lsquo;<samp>checkerboard_lr</samp>&rsquo;</dt>
-<dd><p>Each view is arranged in a checkerboard interleaved pattern, Right-eye view being first
-</p></dd>
-<dt> &lsquo;<samp>row_interleaved_rl</samp>&rsquo;</dt>
-<dd><p>Each view is constituted by a row based interleaving, Right-eye view is first row
-</p></dd>
-<dt> &lsquo;<samp>row_interleaved_lr</samp>&rsquo;</dt>
-<dd><p>Each view is constituted by a row based interleaving, Left-eye view is first row
-</p></dd>
-<dt> &lsquo;<samp>col_interleaved_rl</samp>&rsquo;</dt>
-<dd><p>Both views are arranged in a column based interleaving manner, Right-eye view is first column
-</p></dd>
-<dt> &lsquo;<samp>col_interleaved_lr</samp>&rsquo;</dt>
-<dd><p>Both views are arranged in a column based interleaving manner, Left-eye view is first column
-</p></dd>
-<dt> &lsquo;<samp>anaglyph_cyan_red</samp>&rsquo;</dt>
-<dd><p>All frames are in anaglyph format viewable through red-cyan filters
-</p></dd>
-<dt> &lsquo;<samp>right_left</samp>&rsquo;</dt>
-<dd><p>Both views are arranged side by side, Right-eye view is on the left
-</p></dd>
-<dt> &lsquo;<samp>anaglyph_green_magenta</samp>&rsquo;</dt>
-<dd><p>All frames are in anaglyph format viewable through green-magenta filters
-</p></dd>
-<dt> &lsquo;<samp>block_lr</samp>&rsquo;</dt>
-<dd><p>Both eyes laced in one Block, Left-eye view is first
-</p></dd>
-<dt> &lsquo;<samp>block_rl</samp>&rsquo;</dt>
-<dd><p>Both eyes laced in one Block, Right-eye view is first
-</p></dd>
-</dl>
-</dd>
-</dl>
-
-<p>For example a 3D WebM clip can be created using the following command line:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i sample_left_right_clip.mpg -an -c:v libvpx -metadata stereo_mode=left_right -y stereo_clip.webm
-</pre></td></tr></table>
-
-<p>This muxer supports the following options:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>reserve_index_space</samp>&rsquo;</dt>
-<dd><p>By default, this muxer writes the index for seeking (called cues in Matroska
-terms) at the end of the file, because it cannot know in advance how much space
-to leave for the index at the beginning of the file. However for some use cases
-&ndash; e.g.  streaming where seeking is possible but slow &ndash; it is useful to put the
-index at the beginning of the file.
-</p>
-<p>If this option is set to a non-zero value, the muxer will reserve a given amount
-of space in the file header and then try to write the cues there when the muxing
-finishes. If the available space does not suffice, muxing will fail. A safe size
-for most use cases should be about 50kB per hour of video.
-</p>
-<p>Note that cues are only written if the output is seekable and this option will
-have no effect if it is not.
-</p>
-</dd>
-</dl>
-
-<p><a name="md5"></a>
-</p><a name="md5-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-md5-1">18.10 md5</a></h2>
-
-<p>MD5 testing format.
-</p>
-<p>This muxer computes and prints the MD5 hash of all the input audio
-and video frames. By default audio frames are converted to signed
-16-bit raw audio and video frames to raw video before computing the
-hash.
-</p>
-<p>The output of the muxer consists of a single line of the form:
-MD5=<var>MD5</var>, where <var>MD5</var> is a hexadecimal number representing
-the computed MD5 hash.
-</p>
-<p>For example to compute the MD5 hash of the input converted to raw
-audio and video, and store it in the file &lsquo;<tt>out.md5</tt>&rsquo;:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -f md5 out.md5
-</pre></td></tr></table>
-
-<p>You can print the MD5 to stdout with the command:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -f md5 -
-</pre></td></tr></table>
-
-<p>See also the <a href="#framemd5">framemd5</a> muxer.
-</p>
-<a name="mov_002fmp4_002fismv"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-mov_002fmp4_002fismv">18.11 mov/mp4/ismv</a></h2>
-
-<p>MOV/MP4/ISMV (Smooth Streaming) muxer.
-</p>
-<p>The mov/mp4/ismv muxer supports fragmentation. Normally, a MOV/MP4
-file has all the metadata about all packets stored in one location
-(written at the end of the file, it can be moved to the start for
-better playback by adding <var>faststart</var> to the <var>movflags</var>, or
-using the <code>qt-faststart</code> tool). A fragmented
-file consists of a number of fragments, where packets and metadata
-about these packets are stored together. Writing a fragmented
-file has the advantage that the file is decodable even if the
-writing is interrupted (while a normal MOV/MP4 is undecodable if
-it is not properly finished), and it requires less memory when writing
-very long files (since writing normal MOV/MP4 files stores info about
-every single packet in memory until the file is closed). The downside
-is that it is less compatible with other applications.
-</p>
-<p>Fragmentation is enabled by setting one of the AVOptions that define
-how to cut the file into fragments:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>-moov_size <var>bytes</var></samp>&rsquo;</dt>
-<dd><p>Reserves space for the moov atom at the beginning of the file instead of placing the
-moov atom at the end. If the space reserved is insufficient, muxing will fail.
-</p></dd>
-<dt> &lsquo;<samp>-movflags frag_keyframe</samp>&rsquo;</dt>
-<dd><p>Start a new fragment at each video keyframe.
-</p></dd>
-<dt> &lsquo;<samp>-frag_duration <var>duration</var></samp>&rsquo;</dt>
-<dd><p>Create fragments that are <var>duration</var> microseconds long.
-</p></dd>
-<dt> &lsquo;<samp>-frag_size <var>size</var></samp>&rsquo;</dt>
-<dd><p>Create fragments that contain up to <var>size</var> bytes of payload data.
-</p></dd>
-<dt> &lsquo;<samp>-movflags frag_custom</samp>&rsquo;</dt>
-<dd><p>Allow the caller to manually choose when to cut fragments, by
-calling <code>av_write_frame(ctx, NULL)</code> to write a fragment with
-the packets written so far. (This is only useful with other
-applications integrating libavformat, not from <code>ffmpeg</code>.)
-</p></dd>
-<dt> &lsquo;<samp>-min_frag_duration <var>duration</var></samp>&rsquo;</dt>
-<dd><p>Don&rsquo;t create fragments that are shorter than <var>duration</var> microseconds long.
-</p></dd>
-</dl>
-
-<p>If more than one condition is specified, fragments are cut when
-one of the specified conditions is fulfilled. The exception to this is
-<code>-min_frag_duration</code>, which has to be fulfilled for any of the other
-conditions to apply.
+<dt> &lsquo;<samp>flush_packets <var>integer</var> (<em>output</em>)</samp>&rsquo;</dt>
+<dd><p>Flush the underlying I/O stream after each packet. Default 1 enables it, and
+has the effect of reducing the latency; 0 disables it and may slightly
+increase performance in some cases.
 </p>
-<p>Additionally, the way the output file is written can be adjusted
-through a few other options:
+</dd>
+<dt> &lsquo;<samp>output_ts_offset <var>offset</var> (<em>output</em>)</samp>&rsquo;</dt>
+<dd><p>Set the output time offset.
 </p>
-<dl compact="compact">
-<dt> &lsquo;<samp>-movflags empty_moov</samp>&rsquo;</dt>
-<dd><p>Write an initial moov atom directly at the start of the file, without
-describing any samples in it. Generally, an mdat/moov pair is written
-at the start of the file, as a normal MOV/MP4 file, containing only
-a short portion of the file. With this option set, there is no initial
-mdat atom, and the moov atom only describes the tracks but has
-a zero duration.
+<p><var>offset</var> must be a time duration specification,
+see <a href="ffmpeg-utils.html#time-duration-syntax">(ffmpeg-utils)time duration syntax</a>.
 </p>
-<p>Files written with this option set do not work in QuickTime.
-This option is implicitly set when writing ismv (Smooth Streaming) files.
-</p></dd>
-<dt> &lsquo;<samp>-movflags separate_moof</samp>&rsquo;</dt>
-<dd><p>Write a separate moof (movie fragment) atom for each track. Normally,
-packets for all tracks are written in a moof atom (which is slightly
-more efficient), but with this option set, the muxer writes one moof/mdat
-pair for each track, making it easier to separate tracks.
+<p>The offset is added by the muxer to the output timestamps.
 </p>
-<p>This option is implicitly set when writing ismv (Smooth Streaming) files.
-</p></dd>
-<dt> &lsquo;<samp>-movflags faststart</samp>&rsquo;</dt>
-<dd><p>Run a second pass moving the index (moov atom) to the beginning of the file.
-This operation can take a while, and will not work in various situations such
-as fragmented output, thus it is not enabled by default.
-</p></dd>
-<dt> &lsquo;<samp>-movflags rtphint</samp>&rsquo;</dt>
-<dd><p>Add RTP hinting tracks to the output file.
+<p>Specifying a positive offset means that the corresponding streams are
+delayed bt the time duration specified in <var>offset</var>. Default value
+is <code>0</code> (meaning that no offset is applied).
 </p></dd>
 </dl>
 
-<p>Smooth Streaming content can be pushed in real time to a publishing
-point on IIS with this muxer. Example:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -re <var>&lt;normal input/transcoding options&gt;</var> -movflags isml+frag_keyframe -f ismv http://server/publishingpoint.isml/Streams(Encoder1)
-</pre></td></tr></table>
 
-<a name="mp3"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-mp3">18.12 mp3</a></h2>
+<p><a name="Format-stream-specifiers"></a>
+</p><a name="Format-stream-specifiers-1"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-Format-stream-specifiers-1">13.1 Format stream specifiers</a></h2>
 
-<p>The MP3 muxer writes a raw MP3 stream with an ID3v2 header at the beginning and
-optionally an ID3v1 tag at the end. ID3v2.3 and ID3v2.4 are supported, the
-<code>id3v2_version</code> option controls which one is used. The legacy ID3v1 tag is
-not written by default, but may be enabled with the <code>write_id3v1</code> option.
-</p>
-<p>For seekable output the muxer also writes a Xing frame at the beginning, which
-contains the number of frames in the file. It is useful for computing duration
-of VBR files.
+<p>Format stream specifiers allow selection of one or more streams that
+match specific properties.
 </p>
-<p>The muxer supports writing ID3v2 attached pictures (APIC frames). The pictures
-are supplied to the muxer in form of a video stream with a single packet. There
-can be any number of those streams, each will correspond to a single APIC frame.
-The stream metadata tags <var>title</var> and <var>comment</var> map to APIC
-<var>description</var> and <var>picture type</var> respectively. See
-<a href="http://id3.org/id3v2.4.0-frames">http://id3.org/id3v2.4.0-frames</a> for allowed picture types.
+<p>Possible forms of stream specifiers are:
+</p><dl compact="compact">
+<dt> &lsquo;<samp><var>stream_index</var></samp>&rsquo;</dt>
+<dd><p>Matches the stream with this index.
 </p>
-<p>Note that the APIC frames must be written at the beginning, so the muxer will
-buffer the audio frames until it gets all the pictures. It is therefore advised
-to provide the pictures as soon as possible to avoid excessive buffering.
+</dd>
+<dt> &lsquo;<samp><var>stream_type</var>[:<var>stream_index</var>]</samp>&rsquo;</dt>
+<dd><p><var>stream_type</var> is one of following: &rsquo;v&rsquo; for video, &rsquo;a&rsquo; for audio,
+&rsquo;s&rsquo; for subtitle, &rsquo;d&rsquo; for data, and &rsquo;t&rsquo; for attachments. If
+<var>stream_index</var> is given, then it matches the stream number
+<var>stream_index</var> of this type. Otherwise, it matches all streams of
+this type.
 </p>
-<p>Examples:
+</dd>
+<dt> &lsquo;<samp>p:<var>program_id</var>[:<var>stream_index</var>]</samp>&rsquo;</dt>
+<dd><p>If <var>stream_index</var> is given, then it matches the stream with number
+<var>stream_index</var> in the program with the id
+<var>program_id</var>. Otherwise, it matches all streams in the program.
 </p>
-<p>Write an mp3 with an ID3v2.3 header and an ID3v1 footer:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -id3v2_version 3 -write_id3v1 1 out.mp3
-</pre></td></tr></table>
-
-<p>To attach a picture to an mp3 file select both the audio and the picture stream
-with <code>map</code>:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i input.mp3 -i cover.png -c copy -map 0 -map 1
--metadata:s:v title=&quot;Album cover&quot; -metadata:s:v comment=&quot;Cover (Front)&quot; out.mp3
-</pre></td></tr></table>
+</dd>
+<dt> &lsquo;<samp>#<var>stream_id</var></samp>&rsquo;</dt>
+<dd><p>Matches the stream by a format-specific ID.
+</p></dd>
+</dl>
 
-<a name="mpegts"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-mpegts">18.13 mpegts</a></h2>
+<p>The exact semantics of stream specifiers is defined by the
+<code>avformat_match_stream_specifier()</code> function declared in the
+&lsquo;<tt>libavformat/avformat.h</tt>&rsquo; header.
+</p>
+<a name="Demuxers"></a>
+<h1 class="chapter"><a href="ffplay-all.html#toc-Demuxers">14. Demuxers</a></h1>
 
-<p>MPEG transport stream muxer.
+<p>Demuxers are configured elements in FFmpeg that can read the
+multimedia streams from a particular type of file.
 </p>
-<p>This muxer implements ISO 13818-1 and part of ETSI EN 300 468.
+<p>When you configure your FFmpeg build, all the supported demuxers
+are enabled by default. You can list all available ones using the
+configure option <code>--list-demuxers</code>.
 </p>
-<p>The muxer options are:
+<p>You can disable all the demuxers using the configure option
+<code>--disable-demuxers</code>, and selectively enable a single demuxer with
+the option <code>--enable-demuxer=<var>DEMUXER</var></code>, or disable it
+with the option <code>--disable-demuxer=<var>DEMUXER</var></code>.
 </p>
-<dl compact="compact">
-<dt> &lsquo;<samp>-mpegts_original_network_id <var>number</var></samp>&rsquo;</dt>
-<dd><p>Set the original_network_id (default 0x0001). This is unique identifier
-of a network in DVB. Its main use is in the unique identification of a
-service through the path Original_Network_ID, Transport_Stream_ID.
-</p></dd>
-<dt> &lsquo;<samp>-mpegts_transport_stream_id <var>number</var></samp>&rsquo;</dt>
-<dd><p>Set the transport_stream_id (default 0x0001). This identifies a
-transponder in DVB.
-</p></dd>
-<dt> &lsquo;<samp>-mpegts_service_id <var>number</var></samp>&rsquo;</dt>
-<dd><p>Set the service_id (default 0x0001) also known as program in DVB.
-</p></dd>
-<dt> &lsquo;<samp>-mpegts_pmt_start_pid <var>number</var></samp>&rsquo;</dt>
-<dd><p>Set the first PID for PMT (default 0x1000, max 0x1f00).
-</p></dd>
-<dt> &lsquo;<samp>-mpegts_start_pid <var>number</var></samp>&rsquo;</dt>
-<dd><p>Set the first PID for data packets (default 0x0100, max 0x0f00).
-</p></dd>
-<dt> &lsquo;<samp>-mpegts_m2ts_mode <var>number</var></samp>&rsquo;</dt>
-<dd><p>Enable m2ts mode if set to 1. Default value is -1 which disables m2ts mode.
-</p></dd>
-<dt> &lsquo;<samp>-muxrate <var>number</var></samp>&rsquo;</dt>
-<dd><p>Set muxrate.
-</p></dd>
-<dt> &lsquo;<samp>-pes_payload_size <var>number</var></samp>&rsquo;</dt>
-<dd><p>Set minimum PES packet payload in bytes.
-</p></dd>
-<dt> &lsquo;<samp>-mpegts_flags <var>flags</var></samp>&rsquo;</dt>
-<dd><p>Set flags (see below).
-</p></dd>
-<dt> &lsquo;<samp>-mpegts_copyts <var>number</var></samp>&rsquo;</dt>
-<dd><p>Preserve original timestamps, if value is set to 1. Default value is -1, which
-results in shifting timestamps so that they start from 0.
-</p></dd>
-<dt> &lsquo;<samp>-tables_version <var>number</var></samp>&rsquo;</dt>
-<dd><p>Set PAT, PMT and SDT version (default 0, valid values are from 0 to 31, inclusively).
-This option allows updating stream structure so that standard consumer may
-detect the change. To do so, reopen output AVFormatContext (in case of API
-usage) or restart ffmpeg instance, cyclically changing tables_version value:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i source1.ts -codec copy -f mpegts -tables_version 0 udp://1.1.1.1:1111
-ffmpeg -i source2.ts -codec copy -f mpegts -tables_version 1 udp://1.1.1.1:1111
-...
-ffmpeg -i source3.ts -codec copy -f mpegts -tables_version 31 udp://1.1.1.1:1111
-ffmpeg -i source1.ts -codec copy -f mpegts -tables_version 0 udp://1.1.1.1:1111
-ffmpeg -i source2.ts -codec copy -f mpegts -tables_version 1 udp://1.1.1.1:1111
-...
-</pre></td></tr></table>
-</dd>
-</dl>
-
-<p>Option mpegts_flags may take a set of such flags:
+<p>The option <code>-formats</code> of the ff* tools will display the list of
+enabled demuxers.
 </p>
-<dl compact="compact">
-<dt> &lsquo;<samp>resend_headers</samp>&rsquo;</dt>
-<dd><p>Reemit PAT/PMT before writing the next packet.
-</p></dd>
-<dt> &lsquo;<samp>latm</samp>&rsquo;</dt>
-<dd><p>Use LATM packetization for AAC.
-</p></dd>
-</dl>
-
-<p>The recognized metadata settings in mpegts muxer are <code>service_provider</code>
-and <code>service_name</code>. If they are not set the default for
-<code>service_provider</code> is &quot;FFmpeg&quot; and the default for
-<code>service_name</code> is &quot;Service01&quot;.
+<p>The description of some of the currently available demuxers follows.
 </p>
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i file.mpg -c copy \
-     -mpegts_original_network_id 0x1122 \
-     -mpegts_transport_stream_id 0x3344 \
-     -mpegts_service_id 0x5566 \
-     -mpegts_pmt_start_pid 0x1500 \
-     -mpegts_start_pid 0x150 \
-     -metadata service_provider=&quot;Some provider&quot; \
-     -metadata service_name=&quot;Some Channel&quot; \
-     -y out.ts
-</pre></td></tr></table>
-
-<a name="null-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-null-1">18.14 null</a></h2>
+<a name="applehttp"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-applehttp">14.1 applehttp</a></h2>
 
-<p>Null muxer.
+<p>Apple HTTP Live Streaming demuxer.
 </p>
-<p>This muxer does not generate any output file, it is mainly useful for
-testing or benchmarking purposes.
+<p>This demuxer presents all AVStreams from all variant streams.
+The id field is set to the bitrate variant index number. By setting
+the discard flags on AVStreams (by pressing &rsquo;a&rsquo; or &rsquo;v&rsquo; in ffplay),
+the caller can decide which variant streams to actually receive.
+The total bitrate of the variant that the stream belongs to is
+available in a metadata key named &quot;variant_bitrate&quot;.
 </p>
-<p>For example to benchmark decoding with <code>ffmpeg</code> you can use the
-command:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -benchmark -i INPUT -f null out.null
-</pre></td></tr></table>
+<a name="asf"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-asf">14.2 asf</a></h2>
 
-<p>Note that the above command does not read or write the &lsquo;<tt>out.null</tt>&rsquo;
-file, but specifying the output file is required by the <code>ffmpeg</code>
-syntax.
+<p>Advanced Systems Format demuxer.
 </p>
-<p>Alternatively you can write the command as:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -benchmark -i INPUT -f null -
-</pre></td></tr></table>
-
-<a name="ogg"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-ogg">18.15 ogg</a></h2>
-
-<p>Ogg container muxer.
+<p>This demuxer is used to demux ASF files and MMS network streams.
 </p>
 <dl compact="compact">
-<dt> &lsquo;<samp>-page_duration <var>duration</var></samp>&rsquo;</dt>
-<dd><p>Preferred page duration, in microseconds. The muxer will attempt to create
-pages that are approximately <var>duration</var> microseconds long. This allows the
-user to compromise between seek granularity and container overhead. The default
-is 1 second. A value of 0 will fill all segments, making pages as large as
-possible. A value of 1 will effectively use 1 packet-per-page in most
-situations, giving a small seek granularity at the cost of additional container
-overhead.
+<dt> &lsquo;<samp>-no_resync_search <var>bool</var></samp>&rsquo;</dt>
+<dd><p>Do not try to resynchronize by looking for a certain optional start code.
 </p></dd>
 </dl>
 
-<a name="segment_002c-stream_005fsegment_002c-ssegment"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-segment_002c-stream_005fsegment_002c-ssegment">18.16 segment, stream_segment, ssegment</a></h2>
+<p><a name="concat"></a>
+</p><a name="concat-1"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-concat-1">14.3 concat</a></h2>
 
-<p>Basic stream segmenter.
-</p>
-<p>The segmenter muxer outputs streams to a number of separate files of nearly
-fixed duration. Output filename pattern can be set in a fashion similar to
-<a href="#image2">image2</a>.
-</p>
-<p><code>stream_segment</code> is a variant of the muxer used to write to
-streaming output formats, i.e. which do not require global headers,
-and is recommended for outputting e.g. to MPEG transport stream segments.
-<code>ssegment</code> is a shorter alias for <code>stream_segment</code>.
+<p>Virtual concatenation script demuxer.
 </p>
-<p>Every segment starts with a keyframe of the selected reference stream,
-which is set through the &lsquo;<samp>reference_stream</samp>&rsquo; option.
+<p>This demuxer reads a list of files and other directives from a text file and
+demuxes them one after the other, as if all their packet had been muxed
+together.
 </p>
-<p>Note that if you want accurate splitting for a video file, you need to
-make the input key frames correspond to the exact splitting times
-expected by the segmenter, or the segment muxer will start the new
-segment with the key frame found next after the specified start
-time.
+<p>The timestamps in the files are adjusted so that the first file starts at 0
+and each next file starts where the previous one finishes. Note that it is
+done globally and may cause gaps if all streams do not have exactly the same
+length.
 </p>
-<p>The segment muxer works best with a single constant frame rate video.
+<p>All files must have the same streams (same codecs, same time base, etc.).
 </p>
-<p>Optionally it can generate a list of the created segments, by setting
-the option <var>segment_list</var>. The list type is specified by the
-<var>segment_list_type</var> option. The entry filenames in the segment
-list are set by default to the basename of the corresponding segment
-files.
+<p>The duration of each file is used to adjust the timestamps of the next file:
+if the duration is incorrect (because it was computed using the bit-rate or
+because the file is truncated, for example), it can cause artifacts. The
+<code>duration</code> directive can be used to override the duration stored in
+each file.
 </p>
-<p>The segment muxer supports the following options:
+<a name="Syntax-1"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Syntax-1">14.3.1 Syntax</a></h3>
+
+<p>The script is a text file in extended-ASCII, with one directive per line.
+Empty lines, leading spaces and lines starting with &rsquo;#&rsquo; are ignored. The
+following directive is recognized:
 </p>
 <dl compact="compact">
-<dt> &lsquo;<samp>reference_stream <var>specifier</var></samp>&rsquo;</dt>
-<dd><p>Set the reference stream, as specified by the string <var>specifier</var>.
-If <var>specifier</var> is set to <code>auto</code>, the reference is choosen
-automatically. Otherwise it must be a stream specifier (see the &ldquo;Stream
-specifiers&rdquo; chapter in the ffmpeg manual) which specifies the
-reference stream. The default value is <code>auto</code>.
+<dt> &lsquo;<samp><code>file <var>path</var></code></samp>&rsquo;</dt>
+<dd><p>Path to a file to read; special characters and spaces must be escaped with
+backslash or single quotes.
 </p>
-</dd>
-<dt> &lsquo;<samp>segment_format <var>format</var></samp>&rsquo;</dt>
-<dd><p>Override the inner container format, by default it is guessed by the filename
-extension.
+<p>All subsequent directives apply to that file.
 </p>
 </dd>
-<dt> &lsquo;<samp>segment_list <var>name</var></samp>&rsquo;</dt>
-<dd><p>Generate also a listfile named <var>name</var>. If not specified no
-listfile is generated.
+<dt> &lsquo;<samp><code>ffconcat version 1.0</code></samp>&rsquo;</dt>
+<dd><p>Identify the script type and version. It also sets the &lsquo;<samp>safe</samp>&rsquo; option
+to 1 if it was to its default -1.
+</p>
+<p>To make FFmpeg recognize the format automatically, this directive must
+appears exactly as is (no extra space or byte-order-mark) on the very first
+line of the script.
 </p>
 </dd>
-<dt> &lsquo;<samp>segment_list_flags <var>flags</var></samp>&rsquo;</dt>
-<dd><p>Set flags affecting the segment list generation.
+<dt> &lsquo;<samp><code>duration <var>dur</var></code></samp>&rsquo;</dt>
+<dd><p>Duration of the file. This information can be specified from the file;
+specifying it here may be more efficient or help if the information from the
+file is not available or accurate.
 </p>
-<p>It currently supports the following flags:
-</p><dl compact="compact">
-<dt> &lsquo;<samp>cache</samp>&rsquo;</dt>
-<dd><p>Allow caching (only affects M3U8 list files).
+<p>If the duration is set for all files, then it is possible to seek in the
+whole concatenated video.
 </p>
 </dd>
-<dt> &lsquo;<samp>live</samp>&rsquo;</dt>
-<dd><p>Allow live-friendly file generation.
-</p></dd>
 </dl>
 
-</dd>
-<dt> &lsquo;<samp>segment_list_size <var>size</var></samp>&rsquo;</dt>
-<dd><p>Update the list file so that it contains at most the last <var>size</var>
-segments. If 0 the list file will contain all the segments. Default
-value is 0.
+<a name="Options-2"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Options-2">14.3.2 Options</a></h3>
+
+<p>This demuxer accepts the following option:
 </p>
-</dd>
-<dt> &lsquo;<samp>segment_list_entry_prefix <var>prefix</var></samp>&rsquo;</dt>
-<dd><p>Set <var>prefix</var> to prepend to the name of each entry filename. By
-default no prefix is applied.
+<dl compact="compact">
+<dt> &lsquo;<samp>safe</samp>&rsquo;</dt>
+<dd><p>If set to 1, reject unsafe file paths. A file path is considered safe if it
+does not contain a protocol specification and is relative and all components
+only contain characters from the portable character set (letters, digits,
+period, underscore and hyphen) and have no period at the beginning of a
+component.
 </p>
-</dd>
-<dt> &lsquo;<samp>segment_list_type <var>type</var></samp>&rsquo;</dt>
-<dd><p>Specify the format for the segment list file.
+<p>If set to 0, any file name is accepted.
 </p>
-<p>The following values are recognized:
-</p><dl compact="compact">
-<dt> &lsquo;<samp>flat</samp>&rsquo;</dt>
-<dd><p>Generate a flat list for the created segments, one segment per line.
+<p>The default is -1, it is equivalent to 1 if the format was automatically
+probed and 0 otherwise.
 </p>
 </dd>
-<dt> &lsquo;<samp>csv, ext</samp>&rsquo;</dt>
-<dd><p>Generate a list for the created segments, one segment per line,
-each line matching the format (comma-separated values):
-</p><table><tr><td>&nbsp;</td><td><pre class="example"><var>segment_filename</var>,<var>segment_start_time</var>,<var>segment_end_time</var>
-</pre></td></tr></table>
+</dl>
 
-<p><var>segment_filename</var> is the name of the output file generated by the
-muxer according to the provided pattern. CSV escaping (according to
-RFC4180) is applied if required.
-</p>
-<p><var>segment_start_time</var> and <var>segment_end_time</var> specify
-the segment start and end time expressed in seconds.
+<a name="flv"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-flv">14.4 flv</a></h2>
+
+<p>Adobe Flash Video Format demuxer.
 </p>
-<p>A list file with the suffix <code>&quot;.csv&quot;</code> or <code>&quot;.ext&quot;</code> will
-auto-select this format.
+<p>This demuxer is used to demux FLV files and RTMP network streams.
 </p>
-<p>&lsquo;<samp>ext</samp>&rsquo; is deprecated in favor or &lsquo;<samp>csv</samp>&rsquo;.
+<dl compact="compact">
+<dt> &lsquo;<samp>-flv_metadata <var>bool</var></samp>&rsquo;</dt>
+<dd><p>Allocate the streams according to the onMetaData array content.
+</p></dd>
+</dl>
+
+<a name="libgme"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-libgme">14.5 libgme</a></h2>
+
+<p>The Game Music Emu library is a collection of video game music file emulators.
 </p>
-</dd>
-<dt> &lsquo;<samp>ffconcat</samp>&rsquo;</dt>
-<dd><p>Generate an ffconcat file for the created segments. The resulting file
-can be read using the FFmpeg <a href="#concat">concat</a> demuxer.
+<p>See <a href="http://code.google.com/p/game-music-emu/">http://code.google.com/p/game-music-emu/</a> for more information.
 </p>
-<p>A list file with the suffix <code>&quot;.ffcat&quot;</code> or <code>&quot;.ffconcat&quot;</code> will
-auto-select this format.
+<p>Some files have multiple tracks. The demuxer will pick the first track by
+default. The &lsquo;<samp>track_index</samp>&rsquo; option can be used to select a different
+track. Track indexes start at 0. The demuxer exports the number of tracks as
+<var>tracks</var> meta data entry.
 </p>
-</dd>
-<dt> &lsquo;<samp>m3u8</samp>&rsquo;</dt>
-<dd><p>Generate an extended M3U8 file, version 3, compliant with
-<a href="http://tools.ietf.org/id/draft-pantos-http-live-streaming">http://tools.ietf.org/id/draft-pantos-http-live-streaming</a>.
+<p>For very large files, the &lsquo;<samp>max_size</samp>&rsquo; option may have to be adjusted.
 </p>
-<p>A list file with the suffix <code>&quot;.m3u8&quot;</code> will auto-select this format.
-</p></dd>
-</dl>
+<a name="libquvi"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-libquvi">14.6 libquvi</a></h2>
 
-<p>If not specified the type is guessed from the list file name suffix.
+<p>Play media from Internet services using the quvi project.
 </p>
-</dd>
-<dt> &lsquo;<samp>segment_time <var>time</var></samp>&rsquo;</dt>
-<dd><p>Set segment duration to <var>time</var>, the value must be a duration
-specification. Default value is &quot;2&quot;. See also the
-&lsquo;<samp>segment_times</samp>&rsquo; option.
+<p>The demuxer accepts a &lsquo;<samp>format</samp>&rsquo; option to request a specific quality. It
+is by default set to <var>best</var>.
 </p>
-<p>Note that splitting may not be accurate, unless you force the
-reference stream key-frames at the given time. See the introductory
-notice and the examples below.
+<p>See <a href="http://quvi.sourceforge.net/">http://quvi.sourceforge.net/</a> for more information.
 </p>
-</dd>
-<dt> &lsquo;<samp>segment_time_delta <var>delta</var></samp>&rsquo;</dt>
-<dd><p>Specify the accuracy time when selecting the start time for a
-segment, expressed as a duration specification. Default value is &quot;0&quot;.
+<p>FFmpeg needs to be built with <code>--enable-libquvi</code> for this demuxer to be
+enabled.
 </p>
-<p>When delta is specified a key-frame will start a new segment if its
-PTS satisfies the relation:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">PTS &gt;= start_time - time_delta
-</pre></td></tr></table>
+<a name="image2"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-image2">14.7 image2</a></h2>
 
-<p>This option is useful when splitting video content, which is always
-split at GOP boundaries, in case a key frame is found just before the
-specified split time.
+<p>Image file demuxer.
 </p>
-<p>In particular may be used in combination with the &lsquo;<tt>ffmpeg</tt>&rsquo; option
-<var>force_key_frames</var>. The key frame times specified by
-<var>force_key_frames</var> may not be set accurately because of rounding
-issues, with the consequence that a key frame time may result set just
-before the specified time. For constant frame rate videos a value of
-1/2*<var>frame_rate</var> should address the worst case mismatch between
-the specified time and the time set by <var>force_key_frames</var>.
+<p>This demuxer reads from a list of image files specified by a pattern.
+The syntax and meaning of the pattern is specified by the
+option <var>pattern_type</var>.
 </p>
-</dd>
-<dt> &lsquo;<samp>segment_times <var>times</var></samp>&rsquo;</dt>
-<dd><p>Specify a list of split points. <var>times</var> contains a list of comma
-separated duration specifications, in increasing order. See also
-the &lsquo;<samp>segment_time</samp>&rsquo; option.
+<p>The pattern may contain a suffix which is used to automatically
+determine the format of the images contained in the files.
+</p>
+<p>The size, the pixel format, and the format of each image must be the
+same for all the files in the sequence.
+</p>
+<p>This demuxer accepts the following options:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>framerate</samp>&rsquo;</dt>
+<dd><p>Set the frame rate for the video stream. It defaults to 25.
+</p></dd>
+<dt> &lsquo;<samp>loop</samp>&rsquo;</dt>
+<dd><p>If set to 1, loop over the input. Default value is 0.
+</p></dd>
+<dt> &lsquo;<samp>pattern_type</samp>&rsquo;</dt>
+<dd><p>Select the pattern type used to interpret the provided filename.
+</p>
+<p><var>pattern_type</var> accepts one of the following values.
+</p><dl compact="compact">
+<dt> &lsquo;<samp>sequence</samp>&rsquo;</dt>
+<dd><p>Select a sequence pattern type, used to specify a sequence of files
+indexed by sequential numbers.
+</p>
+<p>A sequence pattern may contain the string &quot;%d&quot; or &quot;%0<var>N</var>d&quot;, which
+specifies the position of the characters representing a sequential
+number in each filename matched by the pattern. If the form
+&quot;%d0<var>N</var>d&quot; is used, the string representing the number in each
+filename is 0-padded and <var>N</var> is the total number of 0-padded
+digits representing the number. The literal character &rsquo;%&rsquo; can be
+specified in the pattern with the string &quot;%%&quot;.
+</p>
+<p>If the sequence pattern contains &quot;%d&quot; or &quot;%0<var>N</var>d&quot;, the first filename of
+the file list specified by the pattern must contain a number
+inclusively contained between <var>start_number</var> and
+<var>start_number</var>+<var>start_number_range</var>-1, and all the following
+numbers must be sequential.
+</p>
+<p>For example the pattern &quot;img-%03d.bmp&quot; will match a sequence of
+filenames of the form &lsquo;<tt>img-001.bmp</tt>&rsquo;, &lsquo;<tt>img-002.bmp</tt>&rsquo;, ...,
+&lsquo;<tt>img-010.bmp</tt>&rsquo;, etc.; the pattern &quot;i%%m%%g-%d.jpg&quot; will match a
+sequence of filenames of the form &lsquo;<tt>i%m%g-1.jpg</tt>&rsquo;,
+&lsquo;<tt>i%m%g-2.jpg</tt>&rsquo;, ..., &lsquo;<tt>i%m%g-10.jpg</tt>&rsquo;, etc.
 </p>
+<p>Note that the pattern must not necessarily contain &quot;%d&quot; or
+&quot;%0<var>N</var>d&quot;, for example to convert a single image file
+&lsquo;<tt>img.jpeg</tt>&rsquo; you can employ the command:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i img.jpeg img.png
+</pre></td></tr></table>
+
 </dd>
-<dt> &lsquo;<samp>segment_frames <var>frames</var></samp>&rsquo;</dt>
-<dd><p>Specify a list of split video frame numbers. <var>frames</var> contains a
-list of comma separated integer numbers, in increasing order.
+<dt> &lsquo;<samp>glob</samp>&rsquo;</dt>
+<dd><p>Select a glob wildcard pattern type.
 </p>
-<p>This option specifies to start a new segment whenever a reference
-stream key frame is found and the sequential number (starting from 0)
-of the frame is greater or equal to the next value in the list.
+<p>The pattern is interpreted like a <code>glob()</code> pattern. This is only
+selectable if libavformat was compiled with globbing support.
 </p>
 </dd>
-<dt> &lsquo;<samp>segment_wrap <var>limit</var></samp>&rsquo;</dt>
-<dd><p>Wrap around segment index once it reaches <var>limit</var>.
+<dt> &lsquo;<samp>glob_sequence <em>(deprecated, will be removed)</em></samp>&rsquo;</dt>
+<dd><p>Select a mixed glob wildcard/sequence pattern.
+</p>
+<p>If your version of libavformat was compiled with globbing support, and
+the provided pattern contains at least one glob meta character among
+<code>%*?[]{}</code> that is preceded by an unescaped &quot;%&quot;, the pattern is
+interpreted like a <code>glob()</code> pattern, otherwise it is interpreted
+like a sequence pattern.
 </p>
-</dd>
-<dt> &lsquo;<samp>segment_start_number <var>number</var></samp>&rsquo;</dt>
-<dd><p>Set the sequence number of the first segment. Defaults to <code>0</code>.
+<p>All glob special characters <code>%*?[]{}</code> must be prefixed
+with &quot;%&quot;. To escape a literal &quot;%&quot; you shall use &quot;%%&quot;.
 </p>
-</dd>
-<dt> &lsquo;<samp>reset_timestamps <var>1|0</var></samp>&rsquo;</dt>
-<dd><p>Reset timestamps at the begin of each segment, so that each segment
-will start with near-zero timestamps. It is meant to ease the playback
-of the generated segments. May not work with some combinations of
-muxers/codecs. It is set to <code>0</code> by default.
+<p>For example the pattern <code>foo-%*.jpeg</code> will match all the
+filenames prefixed by &quot;foo-&quot; and terminating with &quot;.jpeg&quot;, and
+<code>foo-%?%?%?.jpeg</code> will match all the filenames prefixed with
+&quot;foo-&quot;, followed by a sequence of three characters, and terminating
+with &quot;.jpeg&quot;.
 </p>
-</dd>
-<dt> &lsquo;<samp>initial_offset <var>offset</var></samp>&rsquo;</dt>
-<dd><p>Specify timestamp offset to apply to the output packet timestamps. The
-argument must be a time duration specification, and defaults to 0.
+<p>This pattern type is deprecated in favor of <var>glob</var> and
+<var>sequence</var>.
 </p></dd>
 </dl>
 
-<a name="Examples-81"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-81">18.16.1 Examples</a></h3>
+<p>Default value is <var>glob_sequence</var>.
+</p></dd>
+<dt> &lsquo;<samp>pixel_format</samp>&rsquo;</dt>
+<dd><p>Set the pixel format of the images to read. If not specified the pixel
+format is guessed from the first image file in the sequence.
+</p></dd>
+<dt> &lsquo;<samp>start_number</samp>&rsquo;</dt>
+<dd><p>Set the index of the file matched by the image file pattern to start
+to read from. Default value is 0.
+</p></dd>
+<dt> &lsquo;<samp>start_number_range</samp>&rsquo;</dt>
+<dd><p>Set the index interval range to check when looking for the first image
+file in the sequence, starting from <var>start_number</var>. Default value
+is 5.
+</p></dd>
+<dt> &lsquo;<samp>ts_from_file</samp>&rsquo;</dt>
+<dd><p>If set to 1, will set frame timestamp to modification time of image file. Note
+that monotonity of timestamps is not provided: images go in the same order as
+without this option. Default value is 0.
+</p></dd>
+<dt> &lsquo;<samp>video_size</samp>&rsquo;</dt>
+<dd><p>Set the video size of the images to read. If not specified the video
+size is guessed from the first image file in the sequence.
+</p></dd>
+</dl>
+
+<a name="Examples-75"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-75">14.7.1 Examples</a></h3>
 
 <ul>
 <li>
-To remux the content of file &lsquo;<tt>in.mkv</tt>&rsquo; to a list of segments
-&lsquo;<tt>out-000.nut</tt>&rsquo;, &lsquo;<tt>out-001.nut</tt>&rsquo;, etc., and write the list of
-generated segments to &lsquo;<tt>out.list</tt>&rsquo;:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i in.mkv -codec copy -map 0 -f segment -segment_list out.list out%03d.nut
-</pre></td></tr></table>
-
-</li><li>
-As the example above, but segment the input file according to the split
-points specified by the <var>segment_times</var> option:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i in.mkv -codec copy -map 0 -f segment -segment_list out.csv -segment_times 1,2,3,5,8,13,21 out%03d.nut
-</pre></td></tr></table>
-
-</li><li>
-As the example above, but use the <code>ffmpeg</code> &lsquo;<samp>force_key_frames</samp>&rsquo;
-option to force key frames in the input at the specified location, together
-with the segment option &lsquo;<samp>segment_time_delta</samp>&rsquo; to account for
-possible roundings operated when setting key frame times.
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i in.mkv -force_key_frames 1,2,3,5,8,13,21 -codec:v mpeg4 -codec:a pcm_s16le -map 0 \
--f segment -segment_list out.csv -segment_times 1,2,3,5,8,13,21 -segment_time_delta 0.05 out%03d.nut
-</pre></td></tr></table>
-<p>In order to force key frames on the input file, transcoding is
-required.
-</p>
-</li><li>
-Segment the input file by splitting the input file according to the
-frame numbers sequence specified with the &lsquo;<samp>segment_frames</samp>&rsquo; option:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i in.mkv -codec copy -map 0 -f segment -segment_list out.csv -segment_frames 100,200,300,500,800 out%03d.nut
+Use <code>ffmpeg</code> for creating a video from the images in the file
+sequence &lsquo;<tt>img-001.jpeg</tt>&rsquo;, &lsquo;<tt>img-002.jpeg</tt>&rsquo;, ..., assuming an
+input frame rate of 10 frames per second:
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -framerate 10 -i 'img-%03d.jpeg' out.mkv
 </pre></td></tr></table>
 
 </li><li>
-To convert the &lsquo;<tt>in.mkv</tt>&rsquo; to TS segments using the <code>libx264</code>
-and <code>libfaac</code> encoders:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i in.mkv -map 0 -codec:v libx264 -codec:a libfaac -f ssegment -segment_list out.list out%03d.ts
+As above, but start by reading from a file with index 100 in the sequence:
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -framerate 10 -start_number 100 -i 'img-%03d.jpeg' out.mkv
 </pre></td></tr></table>
 
 </li><li>
-Segment the input file, and create an M3U8 live playlist (can be used
-as live HLS source):
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -re -i in.mkv -codec copy -map 0 -f segment -segment_list playlist.m3u8 \
--segment_list_flags +live -segment_time 10 out%03d.mkv
+Read images matching the &quot;*.png&quot; glob pattern , that is all the files
+terminating with the &quot;.png&quot; suffix:
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -framerate 10 -pattern_type glob -i &quot;*.png&quot; out.mkv
 </pre></td></tr></table>
 </li></ul>
 
-<a name="tee"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-tee">18.17 tee</a></h2>
+<a name="mpegts"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-mpegts">14.8 mpegts</a></h2>
 
-<p>The tee muxer can be used to write the same data to several files or any
-other kind of muxer. It can be used, for example, to both stream a video to
-the network and save it to disk at the same time.
-</p>
-<p>It is different from specifying several outputs to the <code>ffmpeg</code>
-command-line tool because the audio and video data will be encoded only once
-with the tee muxer; encoding can be a very expensive process. It is not
-useful when using the libavformat API directly because it is then possible
-to feed the same packets to several muxers directly.
+<p>MPEG-2 transport stream demuxer.
 </p>
-<p>The slave outputs are specified in the file name given to the muxer,
-separated by &rsquo;|&rsquo;. If any of the slave name contains the &rsquo;|&rsquo; separator,
-leading or trailing spaces or any special character, it must be
-escaped (see the &ldquo;Quoting and escaping&rdquo; section in the ffmpeg-utils
-manual).
+<dl compact="compact">
+<dt> &lsquo;<samp>fix_teletext_pts</samp>&rsquo;</dt>
+<dd><p>Overrides teletext packet PTS and DTS values with the timestamps calculated
+from the PCR of the first program which the teletext stream is part of and is
+not discarded. Default value is 1, set this option to 0 if you want your
+teletext packet PTS and DTS values untouched.
+</p></dd>
+</dl>
+
+<a name="rawvideo"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-rawvideo">14.9 rawvideo</a></h2>
+
+<p>Raw video demuxer.
 </p>
-<p>Muxer options can be specified for each slave by prepending them as a list of
-<var>key</var>=<var>value</var> pairs separated by &rsquo;:&rsquo;, between square brackets. If
-the options values contain a special character or the &rsquo;:&rsquo; separator, they
-must be escaped; note that this is a second level escaping.
+<p>This demuxer allows one to read raw video data. Since there is no header
+specifying the assumed video parameters, the user must specify them
+in order to be able to decode the data correctly.
 </p>
-<p>The following special options are also recognized:
+<p>This demuxer accepts the following options:
 </p><dl compact="compact">
-<dt> &lsquo;<samp>f</samp>&rsquo;</dt>
-<dd><p>Specify the format name. Useful if it cannot be guessed from the
-output name suffix.
+<dt> &lsquo;<samp>framerate</samp>&rsquo;</dt>
+<dd><p>Set input video frame rate. Default value is 25.
 </p>
 </dd>
-<dt> &lsquo;<samp>bsfs[/<var>spec</var>]</samp>&rsquo;</dt>
-<dd><p>Specify a list of bitstream filters to apply to the specified
-output. It is possible to specify to which streams a given bitstream
-filter applies, by appending a stream specifier to the option
-separated by <code>/</code>. If the stream specifier is not specified, the
-bistream filters will be applied to all streams in the output.
-</p>
-<p>Several bitstream filters can be specified, separated by &quot;,&quot;.
+<dt> &lsquo;<samp>pixel_format</samp>&rsquo;</dt>
+<dd><p>Set the input video pixel format. Default value is <code>yuv420p</code>.
 </p>
 </dd>
-<dt> &lsquo;<samp>select</samp>&rsquo;</dt>
-<dd><p>Select the streams that should be mapped to the slave output,
-specified by a stream specifier. If not specified, this defaults to
-all the input streams.
+<dt> &lsquo;<samp>video_size</samp>&rsquo;</dt>
+<dd><p>Set the input video size. This value must be specified explicitly.
 </p></dd>
 </dl>
 
-<p>Some examples follow.
-</p><ul>
-<li>
-Encode something and both archive it in a WebM file and stream it
-as MPEG-TS over UDP (the streams need to be explicitly mapped):
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i ... -c:v libx264 -c:a mp2 -f tee -map 0:v -map 0:a
-  &quot;archive-20121107.mkv|[f=mpegts]udp://10.0.1.255:1234/&quot;
+<p>For example to read a rawvideo file &lsquo;<tt>input.raw</tt>&rsquo; with
+<code>ffplay</code>, assuming a pixel format of <code>rgb24</code>, a video
+size of <code>320x240</code>, and a frame rate of 10 images per second, use
+the command:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">ffplay -f rawvideo -pixel_format rgb24 -video_size 320x240 -framerate 10 input.raw
 </pre></td></tr></table>
 
-</li><li>
-Use <code>ffmpeg</code> to encode the input, and send the output
-to three different destinations. The <code>dump_extra</code> bitstream
-filter is used to add extradata information to all the output video
-keyframes packets, as requested by the MPEG-TS format. The select
-option is applied to &lsquo;<tt>out.aac</tt>&rsquo; in order to make it contain only
-audio packets.
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i ... -map 0 -flags +global_header -c:v libx264 -c:a aac -strict experimental
-       -f tee &quot;[bsfs/v=dump_extra]out.ts|[movflags=+faststart]out.mp4|[select=a]out.aac&quot;
+<a name="sbg"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-sbg">14.10 sbg</a></h2>
+
+<p>SBaGen script demuxer.
+</p>
+<p>This demuxer reads the script language used by SBaGen
+<a href="http://uazu.net/sbagen/">http://uazu.net/sbagen/</a> to generate binaural beats sessions. A SBG
+script looks like that:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">-SE
+a: 300-2.5/3 440+4.5/0
+b: 300-2.5/0 440+4.5/3
+off: -
+NOW      == a
++0:07:00 == b
++0:14:00 == a
++0:21:00 == b
++0:30:00    off
 </pre></td></tr></table>
-</li></ul>
 
-<p>Note: some codecs may need different options depending on the output format;
-the auto-detection of this can not work with the tee muxer. The main example
-is the &lsquo;<samp>global_header</samp>&rsquo; flag.
+<p>A SBG script can mix absolute and relative timestamps. If the script uses
+either only absolute timestamps (including the script start time) or only
+relative ones, then its layout is fixed, and the conversion is
+straightforward. On the other hand, if the script mixes both kind of
+timestamps, then the <var>NOW</var> reference for relative timestamps will be
+taken from the current time of day at the time the script is read, and the
+script layout will be frozen according to that reference. That means that if
+the script is directly played, the actual times will match the absolute
+timestamps up to the sound controller&rsquo;s clock accuracy, but if the user
+somehow pauses the playback or seeks, all times will be shifted accordingly.
+</p>
+<a name="tedcaptions"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-tedcaptions">14.11 tedcaptions</a></h2>
+
+<p>JSON captions used for <a href="http://www.ted.com/">TED Talks</a>.
 </p>
+<p>TED does not provide links to the captions, but they can be guessed from the
+page. The file &lsquo;<tt>tools/bookmarklets.html</tt>&rsquo; from the FFmpeg source tree
+contains a bookmarklet to expose them.
+</p>
+<p>This demuxer accepts the following option:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>start_time</samp>&rsquo;</dt>
+<dd><p>Set the start time of the TED talk, in milliseconds. The default is 15000
+(15s). It is used to sync the captions with the downloadable videos, because
+they include a 15s intro.
+</p></dd>
+</dl>
+
+<p>Example: convert the captions to a format most players understand:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i http://www.ted.com/talks/subtitles/id/1/lang/en talk1-en.srt
+</pre></td></tr></table>
+
 <a name="Metadata"></a>
-<h1 class="chapter"><a href="ffplay-all.html#toc-Metadata">19. Metadata</a></h1>
+<h1 class="chapter"><a href="ffplay-all.html#toc-Metadata">15. Metadata</a></h1>
 
 <p>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.
@@ -8471,7 +5140,7 @@ be done as:
 </pre></td></tr></table>
 
 <a name="Protocols"></a>
-<h1 class="chapter"><a href="ffplay-all.html#toc-Protocols">20. Protocols</a></h1>
+<h1 class="chapter"><a href="ffplay-all.html#toc-Protocols">16. Protocols</a></h1>
 
 <p>Protocols are configured elements in FFmpeg that enable access to
 resources that require specific protocols.
@@ -8492,7 +5161,7 @@ supported protocols.
 <p>A description of the currently available protocols follows.
 </p>
 <a name="bluray"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-bluray">20.1 bluray</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-bluray">16.1 bluray</a></h2>
 
 <p>Read BluRay playlist.
 </p>
@@ -8523,7 +5192,7 @@ supported protocols.
 </pre></td></tr></table>
 
 <a name="cache"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-cache">20.2 cache</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-cache">16.2 cache</a></h2>
 
 <p>Caching wrapper for input stream.
 </p>
@@ -8532,8 +5201,8 @@ supported protocols.
 <table><tr><td>&nbsp;</td><td><pre class="example">cache:<var>URL</var>
 </pre></td></tr></table>
 
-<a name="concat-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-concat-1">20.3 concat</a></h2>
+<a name="concat-3"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-concat-3">16.3 concat</a></h2>
 
 <p>Physical concatenation protocol.
 </p>
@@ -8558,7 +5227,7 @@ command:
 many shells.
 </p>
 <a name="crypto"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-crypto">20.4 crypto</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-crypto">16.4 crypto</a></h2>
 
 <p>AES-encrypted stream reading protocol.
 </p>
@@ -8579,7 +5248,7 @@ crypto+<var>URL</var>
 </pre></td></tr></table>
 
 <a name="data"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-data">20.5 data</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-data">16.5 data</a></h2>
 
 <p>Data in-line in the URI. See <a href="http://en.wikipedia.org/wiki/Data_URI_scheme">http://en.wikipedia.org/wiki/Data_URI_scheme</a>.
 </p>
@@ -8588,21 +5257,28 @@ crypto+<var>URL</var>
 </pre></td></tr></table>
 
 <a name="file"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-file">20.6 file</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-file">16.6 file</a></h2>
 
 <p>File access protocol.
 </p>
-<p>Allow to read from or read to a file.
+<p>Allow to read from or write to a file.
+</p>
+<p>A file URL can have the form:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">file:<var>filename</var>
+</pre></td></tr></table>
+
+<p>where <var>filename</var> is the path of the file to read.
+</p>
+<p>An URL that does not have a protocol prefix will be assumed to be a
+file URL. Depending on the build, an URL that looks like a Windows
+path with the drive letter at the beginning will also be assumed to be
+a file URL (usually not the case in builds for unix-like systems).
 </p>
 <p>For example to read from a file &lsquo;<tt>input.mpeg</tt>&rsquo; with <code>ffmpeg</code>
 use the command:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i file:input.mpeg output.mpeg
 </pre></td></tr></table>
 
-<p>The ff* tools default to the file protocol, that is a resource
-specified with the name &quot;FILE.mpeg&quot; is interpreted as the URL
-&quot;file:FILE.mpeg&quot;.
-</p>
 <p>This protocol accepts the following options:
 </p>
 <dl compact="compact">
@@ -8620,7 +5296,7 @@ time, which is valuable for files on slow medium.
 </dl>
 
 <a name="ftp"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-ftp">20.7 ftp</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-ftp">16.7 ftp</a></h2>
 
 <p>FTP (File Transfer Protocol).
 </p>
@@ -8657,12 +5333,12 @@ etc.). Different FTP servers behave in different way during seek
 operation. ff* tools may produce incomplete content due to server limitations.
 </p>
 <a name="gopher"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-gopher">20.8 gopher</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-gopher">16.8 gopher</a></h2>
 
 <p>Gopher protocol.
 </p>
-<a name="hls-2"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-hls-2">20.9 hls</a></h2>
+<a name="hls"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-hls">16.9 hls</a></h2>
 
 <p>Read Apple HTTP Live Streaming compliant segmented stream as
 a uniform one. The M3U8 playlists describing the segments can be
@@ -8682,11 +5358,11 @@ To use the hls demuxer instead, simply use the direct URLs to the
 m3u8 files.
 </p>
 <a name="http"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-http">20.10 http</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-http">16.10 http</a></h2>
 
 <p>HTTP (Hyper Text Transfer Protocol).
 </p>
-<p>This protocol accepts the following options.
+<p>This protocol accepts the following options:
 </p>
 <dl compact="compact">
 <dt> &lsquo;<samp>seekable</samp>&rsquo;</dt>
@@ -8697,31 +5373,32 @@ value is -1.
 </p>
 </dd>
 <dt> &lsquo;<samp>chunked_post</samp>&rsquo;</dt>
-<dd><p>If set to 1 use chunked transfer-encoding for posts, default is 1.
-</p>
-</dd>
-<dt> &lsquo;<samp>headers</samp>&rsquo;</dt>
-<dd><p>Set custom HTTP headers, can override built in default headers. The
-value must be a string encoding the headers.
+<dd><p>If set to 1 use chunked Transfer-Encoding for posts, default is 1.
 </p>
 </dd>
 <dt> &lsquo;<samp>content_type</samp>&rsquo;</dt>
-<dd><p>Force a content type.
+<dd><p>Set a specific content type for the POST messages.
 </p>
 </dd>
-<dt> &lsquo;<samp>user-agent</samp>&rsquo;</dt>
-<dd><p>Override User-Agent header. If not specified the protocol will use a
-string describing the libavformat build.
+<dt> &lsquo;<samp>headers</samp>&rsquo;</dt>
+<dd><p>Set custom HTTP headers, can override built in default headers. The
+value must be a string encoding the headers.
 </p>
 </dd>
 <dt> &lsquo;<samp>multiple_requests</samp>&rsquo;</dt>
-<dd><p>Use persistent connections if set to 1. By default it is 0.
+<dd><p>Use persistent connections if set to 1, default is 0.
 </p>
 </dd>
 <dt> &lsquo;<samp>post_data</samp>&rsquo;</dt>
 <dd><p>Set custom HTTP post data.
 </p>
 </dd>
+<dt> &lsquo;<samp>user-agent</samp>&rsquo;</dt>
+<dt> &lsquo;<samp>user_agent</samp>&rsquo;</dt>
+<dd><p>Override the User-Agent header. If not specified the protocol will use a
+string describing the libavformat build. (&quot;Lavf/&lt;version&gt;&quot;)
+</p>
+</dd>
 <dt> &lsquo;<samp>timeout</samp>&rsquo;</dt>
 <dd><p>Set timeout of socket I/O operations used by the underlying low level
 operation. By default it is set to -1, which means that the timeout is
@@ -8729,7 +5406,7 @@ not specified.
 </p>
 </dd>
 <dt> &lsquo;<samp>mime_type</samp>&rsquo;</dt>
-<dd><p>Set MIME type.
+<dd><p>Export the MIME type.
 </p>
 </dd>
 <dt> &lsquo;<samp>icy</samp>&rsquo;</dt>
@@ -8740,24 +5417,34 @@ The default is 0.
 </p>
 </dd>
 <dt> &lsquo;<samp>icy_metadata_headers</samp>&rsquo;</dt>
-<dd><p>If the server supports ICY metadata, this contains the ICY specific HTTP reply
-headers, separated with newline characters.
+<dd><p>If the server supports ICY metadata, this contains the ICY-specific HTTP reply
+headers, separated by newline characters.
 </p>
 </dd>
 <dt> &lsquo;<samp>icy_metadata_packet</samp>&rsquo;</dt>
 <dd><p>If the server supports ICY metadata, and &lsquo;<samp>icy</samp>&rsquo; was set to 1, this
-contains the last non-empty metadata packet sent by the server.
+contains the last non-empty metadata packet sent by the server. It should be
+polled in regular intervals by applications interested in mid-stream metadata
+updates.
 </p>
 </dd>
 <dt> &lsquo;<samp>cookies</samp>&rsquo;</dt>
 <dd><p>Set the cookies to be sent in future requests. The format of each cookie is the
 same as the value of a Set-Cookie HTTP response field. Multiple cookies can be
 delimited by a newline character.
+</p>
+</dd>
+<dt> &lsquo;<samp>offset</samp>&rsquo;</dt>
+<dd><p>Set initial byte offset.
+</p>
+</dd>
+<dt> &lsquo;<samp>end_offset</samp>&rsquo;</dt>
+<dd><p>Try to limit the request to bytes preceding this offset.
 </p></dd>
 </dl>
 
 <a name="HTTP-Cookies"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-HTTP-Cookies">20.10.1 HTTP Cookies</a></h3>
+<h3 class="subsection"><a href="ffplay-all.html#toc-HTTP-Cookies">16.10.1 HTTP Cookies</a></h3>
 
 <p>Some HTTP requests will be denied unless cookie values are passed in with the
 request. The &lsquo;<samp>cookies</samp>&rsquo; option allows these cookies to be specified. At
@@ -8771,12 +5458,12 @@ by a newline.
 </pre></td></tr></table>
 
 <a name="mmst"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-mmst">20.11 mmst</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-mmst">16.11 mmst</a></h2>
 
 <p>MMS (Microsoft Media Server) protocol over TCP.
 </p>
 <a name="mmsh"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-mmsh">20.12 mmsh</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-mmsh">16.12 mmsh</a></h2>
 
 <p>MMS (Microsoft Media Server) protocol over HTTP.
 </p>
@@ -8784,8 +5471,8 @@ by a newline.
 </p><table><tr><td>&nbsp;</td><td><pre class="example">mmsh://<var>server</var>[:<var>port</var>][/<var>app</var>][/<var>playpath</var>]
 </pre></td></tr></table>
 
-<a name="md5-2"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-md5-2">20.13 md5</a></h2>
+<a name="md5"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-md5">16.13 md5</a></h2>
 
 <p>MD5 output protocol.
 </p>
@@ -8805,7 +5492,7 @@ ffmpeg -i input.flv -f avi -y md5:
 be seekable, so they will fail with the MD5 output protocol.
 </p>
 <a name="pipe"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-pipe">20.14 pipe</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-pipe">16.14 pipe</a></h2>
 
 <p>UNIX pipe access protocol.
 </p>
@@ -8847,7 +5534,7 @@ time, which is valuable if data transmission is slow.
 be seekable, so they will fail with the pipe output protocol.
 </p>
 <a name="rtmp"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-rtmp">20.15 rtmp</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-rtmp">16.15 rtmp</a></h2>
 
 <p>Real-Time Messaging Protocol.
 </p>
@@ -8993,7 +5680,7 @@ app names separately:
 </pre></td></tr></table>
 
 <a name="rtmpe"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-rtmpe">20.16 rtmpe</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-rtmpe">16.16 rtmpe</a></h2>
 
 <p>Encrypted Real-Time Messaging Protocol.
 </p>
@@ -9003,7 +5690,7 @@ consisting of Diffie-Hellman key exchange and HMACSHA256, generating
 a pair of RC4 keys.
 </p>
 <a name="rtmps"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-rtmps">20.17 rtmps</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-rtmps">16.17 rtmps</a></h2>
 
 <p>Real-Time Messaging Protocol over a secure SSL connection.
 </p>
@@ -9011,7 +5698,7 @@ a pair of RC4 keys.
 multimedia content across an encrypted connection.
 </p>
 <a name="rtmpt"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-rtmpt">20.18 rtmpt</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-rtmpt">16.18 rtmpt</a></h2>
 
 <p>Real-Time Messaging Protocol tunneled through HTTP.
 </p>
@@ -9020,7 +5707,7 @@ for streaming multimedia content within HTTP requests to traverse
 firewalls.
 </p>
 <a name="rtmpte"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-rtmpte">20.19 rtmpte</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-rtmpte">16.19 rtmpte</a></h2>
 
 <p>Encrypted Real-Time Messaging Protocol tunneled through HTTP.
 </p>
@@ -9029,7 +5716,7 @@ is used for streaming multimedia content within HTTP requests to traverse
 firewalls.
 </p>
 <a name="rtmpts"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-rtmpts">20.20 rtmpts</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-rtmpts">16.20 rtmpts</a></h2>
 
 <p>Real-Time Messaging Protocol tunneled through HTTPS.
 </p>
@@ -9038,7 +5725,7 @@ for streaming multimedia content within HTTPS requests to traverse
 firewalls.
 </p>
 <a name="libssh"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-libssh">20.21 libssh</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-libssh">16.21 libssh</a></h2>
 
 <p>Secure File Transfer Protocol via libssh
 </p>
@@ -9063,6 +5750,11 @@ is not specified.
 truncating. Default value is 1.
 </p>
 </dd>
+<dt> &lsquo;<samp>private_key</samp>&rsquo;</dt>
+<dd><p>Specify the path of the file containing private key to use during authorization.
+By default libssh searches for keys in the &lsquo;<tt>~/.ssh/</tt>&rsquo; directory.
+</p>
+</dd>
 </dl>
 
 <p>Example: Play a file stored on remote server.
@@ -9071,7 +5763,7 @@ truncating. Default value is 1.
 </pre></td></tr></table>
 
 <a name="librtmp-rtmp_002c-rtmpe_002c-rtmps_002c-rtmpt_002c-rtmpte"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-librtmp-rtmp_002c-rtmpe_002c-rtmps_002c-rtmpt_002c-rtmpte">20.22 librtmp rtmp, rtmpe, rtmps, rtmpt, rtmpte</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-librtmp-rtmp_002c-rtmpe_002c-rtmps_002c-rtmpt_002c-rtmpte">16.22 librtmp rtmp, rtmpe, rtmps, rtmpt, rtmpte</a></h2>
 
 <p>Real-Time Messaging Protocol and its variants supported through
 librtmp.
@@ -9109,7 +5801,7 @@ meaning as specified for the RTMP native protocol.
 </pre></td></tr></table>
 
 <a name="rtp"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-rtp">20.23 rtp</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-rtp">16.23 rtp</a></h2>
 
 <p>Real-time Transport Protocol.
 </p>
@@ -9185,8 +5877,10 @@ set to the the local RTP port value plus 1.
 </li></ol>
 
 <a name="rtsp"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-rtsp">20.24 rtsp</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-rtsp">16.24 rtsp</a></h2>
 
+<p>Real-Time Streaming Protocol.
+</p>
 <p>RTSP is not technically a protocol handler in libavformat, it is a demuxer
 and muxer. The demuxer supports both normal RTSP (with data transferred
 over RTP; this is used by e.g. Apple and Microsoft) and Real-RTSP (with
@@ -9200,13 +5894,23 @@ supporting it (currently Darwin Streaming Server and Mischa Spiegelmock&rsquo;s
 </p><table><tr><td>&nbsp;</td><td><pre class="example">rtsp://<var>hostname</var>[:<var>port</var>]/<var>path</var>
 </pre></td></tr></table>
 
-<p>The following options (set on the <code>ffmpeg</code>/<code>ffplay</code> command
-line, or set in code via <code>AVOption</code>s or in <code>avformat_open_input</code>),
-are supported:
+<p>Options can be set on the <code>ffmpeg</code>/<code>ffplay</code> command
+line, or set in code via <code>AVOption</code>s or in
+<code>avformat_open_input</code>.
 </p>
-<p>Flags for <code>rtsp_transport</code>:
+<p>The following options are supported.
 </p>
 <dl compact="compact">
+<dt> &lsquo;<samp>initial_pause</samp>&rsquo;</dt>
+<dd><p>Do not start playing the stream immediately if set to 1. Default value
+is 0.
+</p>
+</dd>
+<dt> &lsquo;<samp>rtsp_transport</samp>&rsquo;</dt>
+<dd><p>Set RTSP trasport protocols.
+</p>
+<p>It accepts the following values:
+</p><dl compact="compact">
 <dt> &lsquo;<samp>udp</samp>&rsquo;</dt>
 <dd><p>Use UDP as lower transport protocol.
 </p>
@@ -9228,11 +5932,14 @@ passing proxies.
 
 <p>Multiple lower transport protocols may be specified, in that case they are
 tried one at a time (if the setup of one fails, the next one is tried).
-For the muxer, only the <code>tcp</code> and <code>udp</code> options are supported.
+For the muxer, only the &lsquo;<samp>tcp</samp>&rsquo; and &lsquo;<samp>udp</samp>&rsquo; options are supported.
 </p>
-<p>Flags for <code>rtsp_flags</code>:
+</dd>
+<dt> &lsquo;<samp>rtsp_flags</samp>&rsquo;</dt>
+<dd><p>Set RTSP flags.
 </p>
-<dl compact="compact">
+<p>The following values are accepted:
+</p><dl compact="compact">
 <dt> &lsquo;<samp>filter_src</samp>&rsquo;</dt>
 <dd><p>Accept packets only from negotiated peer address and port.
 </p></dd>
@@ -9241,6 +5948,51 @@ For the muxer, only the <code>tcp</code> and <code>udp</code> options are suppor
 </p></dd>
 </dl>
 
+<p>Default value is &lsquo;<samp>none</samp>&rsquo;.
+</p>
+</dd>
+<dt> &lsquo;<samp>allowed_media_types</samp>&rsquo;</dt>
+<dd><p>Set media types to accept from the server.
+</p>
+<p>The following flags are accepted:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>video</samp>&rsquo;</dt>
+<dt> &lsquo;<samp>audio</samp>&rsquo;</dt>
+<dt> &lsquo;<samp>data</samp>&rsquo;</dt>
+</dl>
+
+<p>By default it accepts all media types.
+</p>
+</dd>
+<dt> &lsquo;<samp>min_port</samp>&rsquo;</dt>
+<dd><p>Set minimum local UDP port. Default value is 5000.
+</p>
+</dd>
+<dt> &lsquo;<samp>max_port</samp>&rsquo;</dt>
+<dd><p>Set maximum local UDP port. Default value is 65000.
+</p>
+</dd>
+<dt> &lsquo;<samp>timeout</samp>&rsquo;</dt>
+<dd><p>Set maximum timeout (in seconds) to wait for incoming connections.
+</p>
+<p>A value of -1 mean infinite (default). This option implies the
+&lsquo;<samp>rtsp_flags</samp>&rsquo; set to &lsquo;<samp>listen</samp>&rsquo;.
+</p>
+</dd>
+<dt> &lsquo;<samp>reorder_queue_size</samp>&rsquo;</dt>
+<dd><p>Set number of packets to buffer for handling of reordered packets.
+</p>
+</dd>
+<dt> &lsquo;<samp>stimeout</samp>&rsquo;</dt>
+<dd><p>Set socket TCP I/O timeout in micro seconds.
+</p>
+</dd>
+<dt> &lsquo;<samp>user-agent</samp>&rsquo;</dt>
+<dd><p>Override User-Agent header. If not specified, it default to the
+libavformat identifier string.
+</p></dd>
+</dl>
+
 <p>When receiving data over UDP, the demuxer tries to reorder received packets
 (since they may arrive out of order, or packets may get lost totally). This
 can be disabled by setting the maximum demuxing delay to zero (via
@@ -9251,36 +6003,36 @@ streams to display can be chosen with <code>-vst</code> <var>n</var> and
 <code>-ast</code> <var>n</var> for video and audio respectively, and can be switched
 on the fly by pressing <code>v</code> and <code>a</code>.
 </p>
-<p>Example command lines:
-</p>
-<p>To watch a stream over UDP, with a max reordering delay of 0.5 seconds:
+<a name="Examples-78"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-78">16.24.1 Examples</a></h3>
+
+<p>The following examples all make use of the <code>ffplay</code> and
+<code>ffmpeg</code> tools.
 </p>
+<ul>
+<li>
+Watch a stream over UDP, with a max reordering delay of 0.5 seconds:
 <table><tr><td>&nbsp;</td><td><pre class="example">ffplay -max_delay 500000 -rtsp_transport udp rtsp://server/video.mp4
 </pre></td></tr></table>
 
-<p>To watch a stream tunneled over HTTP:
-</p>
+</li><li>
+Watch a stream tunneled over HTTP:
 <table><tr><td>&nbsp;</td><td><pre class="example">ffplay -rtsp_transport http rtsp://server/video.mp4
 </pre></td></tr></table>
 
-<p>To send a stream in realtime to a RTSP server, for others to watch:
-</p>
+</li><li>
+Send a stream in realtime to a RTSP server, for others to watch:
 <table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -re -i <var>input</var> -f rtsp -muxdelay 0.1 rtsp://server/live.sdp
 </pre></td></tr></table>
 
-<p>To receive a stream in realtime:
-</p>
+</li><li>
+Receive a stream in realtime:
 <table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -rtsp_flags listen -i rtsp://ownaddress/live.sdp <var>output</var>
 </pre></td></tr></table>
-
-<dl compact="compact">
-<dt> &lsquo;<samp>stimeout</samp>&rsquo;</dt>
-<dd><p>Socket IO timeout in micro seconds.
-</p></dd>
-</dl>
+</li></ul>
 
 <a name="sap"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-sap">20.25 sap</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-sap">16.25 sap</a></h2>
 
 <p>Session Announcement Protocol (RFC 2974). This is not technically a
 protocol handler in libavformat, it is a muxer and demuxer.
@@ -9288,7 +6040,7 @@ It is used for signalling of RTP streams, by announcing the SDP for the
 streams regularly on a separate port.
 </p>
 <a name="Muxer"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Muxer">20.25.1 Muxer</a></h3>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Muxer">16.25.1 Muxer</a></h3>
 
 <p>The syntax for a SAP url given to the muxer is:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">sap://<var>destination</var>[:<var>port</var>][?<var>options</var>]
@@ -9345,7 +6097,7 @@ on unique ports.
 </pre></td></tr></table>
 
 <a name="Demuxer"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Demuxer">20.25.2 Demuxer</a></h3>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Demuxer">16.25.2 Demuxer</a></h3>
 
 <p>The syntax for a SAP url given to the demuxer is:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">sap://[<var>address</var>][:<var>port</var>]
@@ -9371,7 +6123,7 @@ Once an announcement is received, it tries to receive that particular stream.
 </pre></td></tr></table>
 
 <a name="sctp"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-sctp">20.26 sctp</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-sctp">16.26 sctp</a></h2>
 
 <p>Stream Control Transmission Protocol.
 </p>
@@ -9391,7 +6143,7 @@ Once an announcement is received, it tries to receive that particular stream.
 </dl>
 
 <a name="srtp"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-srtp">20.27 srtp</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-srtp">16.27 srtp</a></h2>
 
 <p>Secure Real-time Transport Protocol.
 </p>
@@ -9420,33 +6172,44 @@ used as master salt.
 </dl>
 
 <a name="tcp"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-tcp">20.28 tcp</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-tcp">16.28 tcp</a></h2>
 
-<p>Trasmission Control Protocol.
+<p>Transmission Control Protocol.
 </p>
 <p>The required syntax for a TCP url is:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">tcp://<var>hostname</var>:<var>port</var>[?<var>options</var>]
 </pre></td></tr></table>
 
+<p><var>options</var> contains a list of &amp;-separated options of the form
+<var>key</var>=<var>val</var>.
+</p>
+<p>The list of supported options follows.
+</p>
 <dl compact="compact">
-<dt> &lsquo;<samp>listen</samp>&rsquo;</dt>
-<dd><p>Listen for an incoming connection
+<dt> &lsquo;<samp>listen=<var>1|0</var></samp>&rsquo;</dt>
+<dd><p>Listen for an incoming connection. Default value is 0.
 </p>
 </dd>
 <dt> &lsquo;<samp>timeout=<var>microseconds</var></samp>&rsquo;</dt>
-<dd><p>In read mode: if no data arrived in more than this time interval, raise error.
-In write mode: if socket cannot be written in more than this time interval, raise error.
-This also sets timeout on TCP connection establishing.
+<dd><p>Set raise error timeout, expressed in microseconds.
+</p>
+<p>This option is only relevant in read mode: if no data arrived in more
+than this time interval, raise error.
 </p>
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i <var>input</var> -f <var>format</var> tcp://<var>hostname</var>:<var>port</var>?listen
-ffplay tcp://<var>hostname</var>:<var>port</var>
-</pre></td></tr></table>
-
 </dd>
+<dt> &lsquo;<samp>listen_timeout=<var>microseconds</var></samp>&rsquo;</dt>
+<dd><p>Set listen timeout, expressed in microseconds.
+</p></dd>
 </dl>
 
+<p>The following example shows how to setup a listening TCP connection
+with <code>ffmpeg</code>, which is then accessed with <code>ffplay</code>:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i <var>input</var> -f <var>format</var> tcp://<var>hostname</var>:<var>port</var>?listen
+ffplay tcp://<var>hostname</var>:<var>port</var>
+</pre></td></tr></table>
+
 <a name="tls"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-tls">20.29 tls</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-tls">16.29 tls</a></h2>
 
 <p>Transport Layer Security (TLS) / Secure Sockets Layer (SSL)
 </p>
@@ -9509,18 +6272,18 @@ the server role in the handshake instead of the client role.
 </pre></td></tr></table>
 
 <a name="udp"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-udp">20.30 udp</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-udp">16.30 udp</a></h2>
 
 <p>User Datagram Protocol.
 </p>
-<p>The required syntax for a UDP url is:
+<p>The required syntax for an UDP URL is:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">udp://<var>hostname</var>:<var>port</var>[?<var>options</var>]
 </pre></td></tr></table>
 
 <p><var>options</var> contains a list of &amp;-separated options of the form <var>key</var>=<var>val</var>.
 </p>
 <p>In case threading is enabled on the system, a circular buffer is used
-to store the incoming data, which allows to reduce loss of data due to
+to store the incoming data, which allows one to reduce loss of data due to
 UDP socket buffer overruns. The <var>fifo_size</var> and
 <var>overrun_nonfatal</var> options are related to this buffer.
 </p>
@@ -9587,26 +6350,36 @@ value is 0.
 </p>
 </dd>
 <dt> &lsquo;<samp>timeout=<var>microseconds</var></samp>&rsquo;</dt>
-<dd><p>In read mode: if no data arrived in more than this time interval, raise error.
+<dd><p>Set raise error timeout, expressed in microseconds.
+</p>
+<p>This option is only relevant in read mode: if no data arrived in more
+than this time interval, raise error.
 </p></dd>
 </dl>
 
-<p>Some usage examples of the UDP protocol with <code>ffmpeg</code> follow.
-</p>
-<p>To stream over UDP to a remote endpoint:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i <var>input</var> -f <var>format</var> udp://<var>hostname</var>:<var>port</var>
+<a name="Examples-53"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-53">16.30.1 Examples</a></h3>
+
+<ul>
+<li>
+Use <code>ffmpeg</code> to stream over UDP to a remote endpoint:
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i <var>input</var> -f <var>format</var> udp://<var>hostname</var>:<var>port</var>
 </pre></td></tr></table>
 
-<p>To stream in mpegts format over UDP using 188 sized UDP packets, using a large input buffer:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i <var>input</var> -f mpegts udp://<var>hostname</var>:<var>port</var>?pkt_size=188&amp;buffer_size=65535
+</li><li>
+Use <code>ffmpeg</code> to stream in mpegts format over UDP using 188
+sized UDP packets, using a large input buffer:
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i <var>input</var> -f mpegts udp://<var>hostname</var>:<var>port</var>?pkt_size=188&amp;buffer_size=65535
 </pre></td></tr></table>
 
-<p>To receive over UDP from a remote endpoint:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i udp://[<var>multicast-address</var>]:<var>port</var>
+</li><li>
+Use <code>ffmpeg</code> to receive over UDP from a remote endpoint:
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i udp://[<var>multicast-address</var>]:<var>port</var> ...
 </pre></td></tr></table>
+</li></ul>
 
 <a name="unix"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-unix">20.31 unix</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-unix">16.31 unix</a></h2>
 
 <p>Unix local socket
 </p>
@@ -9628,7 +6401,7 @@ value is 0.
 </dl>
 
 <a name="Device-Options"></a>
-<h1 class="chapter"><a href="ffplay-all.html#toc-Device-Options">21. Device Options</a></h1>
+<h1 class="chapter"><a href="ffplay-all.html#toc-Device-Options">17. Device Options</a></h1>
 
 <p>The libavdevice library provides the same interface as
 libavformat. Namely, an input device is considered like a demuxer, and
@@ -9646,7 +6419,7 @@ for programmatic use.
 </p>
 
 <a name="Input-Devices"></a>
-<h1 class="chapter"><a href="ffplay-all.html#toc-Input-Devices">22. Input Devices</a></h1>
+<h1 class="chapter"><a href="ffplay-all.html#toc-Input-Devices">18. Input Devices</a></h1>
 
 <p>Input devices are configured elements in FFmpeg which allow to access
 the data coming from a multimedia device attached to your system.
@@ -9665,8 +6438,8 @@ supported input devices (amongst the demuxers).
 </p>
 <p>A description of the currently available input devices follows.
 </p>
-<a name="alsa-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-alsa-1">22.1 alsa</a></h2>
+<a name="alsa"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-alsa">18.1 alsa</a></h2>
 
 <p>ALSA (Advanced Linux Sound Architecture) input device.
 </p>
@@ -9698,12 +6471,12 @@ card id 0, you may run the command:
 <a href="http://www.alsa-project.org/alsa-doc/alsa-lib/pcm.html">http://www.alsa-project.org/alsa-doc/alsa-lib/pcm.html</a>
 </p>
 <a name="bktr"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-bktr">22.2 bktr</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-bktr">18.2 bktr</a></h2>
 
 <p>BSD video input device.
 </p>
 <a name="dshow"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-dshow">22.3 dshow</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-dshow">18.3 dshow</a></h2>
 
 <p>Windows DirectShow input device.
 </p>
@@ -9721,8 +6494,8 @@ opened on the same input, which should improve synchronism between them.
 <p>where <var>TYPE</var> can be either <var>audio</var> or <var>video</var>,
 and <var>NAME</var> is the device&rsquo;s name.
 </p>
-<a name="Options-18"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Options-18">22.3.1 Options</a></h3>
+<a name="Options-1"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Options-1">18.3.1 Options</a></h3>
 
 <p>If no options are specified, the device&rsquo;s defaults are used.
 If the device does not support the requested options, it will
@@ -9785,8 +6558,8 @@ See also
 </dd>
 </dl>
 
-<a name="Examples-71"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-71">22.3.2 Examples</a></h3>
+<a name="Examples-23"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-23">18.3.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -9817,12 +6590,12 @@ Print the list of supported options in selected device and exit:
 </li></ul>
 
 <a name="dv1394"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-dv1394">22.4 dv1394</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-dv1394">18.4 dv1394</a></h2>
 
 <p>Linux DV 1394 input device.
 </p>
-<a name="fbdev-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-fbdev-1">22.5 fbdev</a></h2>
+<a name="fbdev"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-fbdev">18.5 fbdev</a></h2>
 
 <p>Linux framebuffer input device.
 </p>
@@ -9846,7 +6619,7 @@ Documentation/fb/framebuffer.txt included in the Linux source tree.
 <p>See also <a href="http://linux-fbdev.sourceforge.net/">http://linux-fbdev.sourceforge.net/</a>, and fbset(1).
 </p>
 <a name="iec61883"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-iec61883">22.6 iec61883</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-iec61883">18.6 iec61883</a></h2>
 
 <p>FireWire DV/HDV input device using libiec61883.
 </p>
@@ -9862,8 +6635,8 @@ Kernel 2.6.37 and later, since the old FireWire stack was removed.
 <p>Specify the FireWire port to be used as input file, or &quot;auto&quot;
 to choose the first port connected.
 </p>
-<a name="Options-5"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Options-5">22.6.1 Options</a></h3>
+<a name="Options-12"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Options-12">18.6.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>dvtype</samp>&rsquo;</dt>
@@ -9890,8 +6663,8 @@ Look at /sys/bus/firewire/devices to find out the GUIDs.
 </dd>
 </dl>
 
-<a name="Examples-37"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-37">22.6.2 Examples</a></h3>
+<a name="Examples-26"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-26">18.6.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -9908,7 +6681,7 @@ using a packet buffer of 100000 packets if the source is HDV.
 </li></ul>
 
 <a name="jack"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-jack">22.7 jack</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-jack">18.7 jack</a></h2>
 
 <p>JACK input device.
 </p>
@@ -9957,7 +6730,7 @@ $ jack_connect metro:120_bpm ffmpeg:input_1
 <a href="http://jackaudio.org/">http://jackaudio.org/</a>
 </p>
 <a name="lavfi"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-lavfi">22.8 lavfi</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-lavfi">18.8 lavfi</a></h2>
 
 <p>Libavfilter input virtual device.
 </p>
@@ -9969,8 +6742,8 @@ corresponding stream which is mapped to the generated output. Currently
 only video data is supported. The filtergraph is specified through the
 option &lsquo;<samp>graph</samp>&rsquo;.
 </p>
-<a name="Options-31"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Options-31">22.8.1 Options</a></h3>
+<a name="Options-13"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Options-13">18.8.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>graph</samp>&rsquo;</dt>
@@ -9993,8 +6766,8 @@ the option <var>graph</var>.
 </dd>
 </dl>
 
-<a name="Examples-87"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-87">22.8.2 Examples</a></h3>
+<a name="Examples-27"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-27">18.8.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -10028,12 +6801,12 @@ Read an audio stream and a video stream and play it back with
 </li></ul>
 
 <a name="libdc1394"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-libdc1394">22.9 libdc1394</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-libdc1394">18.9 libdc1394</a></h2>
 
 <p>IIDC1394 input device, based on libdc1394 and libraw1394.
 </p>
 <a name="openal"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-openal">22.10 openal</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-openal">18.10 openal</a></h2>
 
 <p>The OpenAL input device provides audio capture on all systems with a
 working OpenAL 1.1 implementation.
@@ -10068,7 +6841,7 @@ See <a href="http://developer.apple.com/technologies/mac/audio-and-video.html">h
 </p></dd>
 </dl>
 
-<p>This device allows to capture from an audio input device handled
+<p>This device allows one to capture from an audio input device handled
 through OpenAL.
 </p>
 <p>You need to specify the name of the device to capture in the provided
@@ -10076,8 +6849,8 @@ filename. If the empty string is provided, the device will
 automatically select the default device. You can get the list of the
 supported devices by using the option <var>list_devices</var>.
 </p>
-<a name="Options-26"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Options-26">22.10.1 Options</a></h3>
+<a name="Options-14"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Options-14">18.10.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>channels</samp>&rsquo;</dt>
@@ -10104,8 +6877,8 @@ Defaults to &lsquo;<samp>false</samp>&rsquo;.
 </dd>
 </dl>
 
-<a name="Examples-74"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-74">22.10.2 Examples</a></h3>
+<a name="Examples-42"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-42">18.10.2 Examples</a></h3>
 
 <p>Print the list of OpenAL supported devices and exit:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">$ ffmpeg -list_devices true -f openal -i dummy out.ogg
@@ -10127,7 +6900,7 @@ within the same <code>ffmpeg</code> command:
 try the latest OpenAL Soft if the above does not work.
 </p>
 <a name="oss"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-oss">22.11 oss</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-oss">18.11 oss</a></h2>
 
 <p>Open Sound System input device.
 </p>
@@ -10143,8 +6916,8 @@ command:
 <p>For more information about OSS see:
 <a href="http://manuals.opensound.com/usersguide/dsp.html">http://manuals.opensound.com/usersguide/dsp.html</a>
 </p>
-<a name="pulse-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-pulse-1">22.12 pulse</a></h2>
+<a name="pulse"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-pulse">18.12 pulse</a></h2>
 
 <p>PulseAudio input device.
 </p>
@@ -10158,8 +6931,8 @@ the command <code>pactl list sources</code>.
 </p>
 <p>More information about PulseAudio can be found on <a href="http://www.pulseaudio.org">http://www.pulseaudio.org</a>.
 </p>
-<a name="Options-30"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Options-30">22.12.1 Options</a></h3>
+<a name="Options"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Options">18.12.1 Options</a></h3>
 <dl compact="compact">
 <dt> &lsquo;<samp>server</samp>&rsquo;</dt>
 <dd><p>Connect to a specific PulseAudio server, specified by an IP address.
@@ -10194,14 +6967,14 @@ audio latency. By default it is unset.
 </p></dd>
 </dl>
 
-<a name="Examples-49"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-49">22.12.2 Examples</a></h3>
+<a name="Examples-71"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-71">18.12.2 Examples</a></h3>
 <p>Record a stream from default device:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -f pulse -i default /tmp/pulse.wav
 </pre></td></tr></table>
 
-<a name="sndio-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-sndio-1">22.13 sndio</a></h2>
+<a name="sndio"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-sndio">18.13 sndio</a></h2>
 
 <p>sndio input device.
 </p>
@@ -10218,7 +6991,7 @@ command:
 </pre></td></tr></table>
 
 <a name="video4linux2_002c-v4l2"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-video4linux2_002c-v4l2">22.14 video4linux2, v4l2</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-video4linux2_002c-v4l2">18.14 video4linux2, v4l2</a></h2>
 
 <p>Video4Linux2 input video device.
 </p>
@@ -10264,8 +7037,8 @@ frame rate and size as previously set:
 
 <p>For more information about Video4Linux, check <a href="http://linuxtv.org/">http://linuxtv.org/</a>.
 </p>
-<a name="Options-2"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Options-2">22.14.1 Options</a></h3>
+<a name="Options-9"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Options-9">18.14.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>standard</samp>&rsquo;</dt>
@@ -10290,7 +7063,7 @@ previously selected channel.
 </dd>
 <dt> &lsquo;<samp>input_format</samp>&rsquo;</dt>
 <dd><p>Set the preferred pixel format (for raw video) or a codec name.
-This option allows to select the input format, when several are
+This option allows one to select the input format, when several are
 available.
 </p>
 </dd>
@@ -10302,509 +7075,152 @@ available.
 <dd><p>List available formats (supported pixel formats, codecs, and frame
 sizes) and exit.
 </p>
-<p>Available values are:
-</p><dl compact="compact">
-<dt> &lsquo;<samp>all</samp>&rsquo;</dt>
-<dd><p>Show all available (compressed and non-compressed) formats.
-</p>
-</dd>
-<dt> &lsquo;<samp>raw</samp>&rsquo;</dt>
-<dd><p>Show only raw video (non-compressed) formats.
-</p>
-</dd>
-<dt> &lsquo;<samp>compressed</samp>&rsquo;</dt>
-<dd><p>Show only compressed formats.
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>list_standards</samp>&rsquo;</dt>
-<dd><p>List supported standards and exit.
-</p>
-<p>Available values are:
-</p><dl compact="compact">
-<dt> &lsquo;<samp>all</samp>&rsquo;</dt>
-<dd><p>Show all supported standards.
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>timestamps, ts</samp>&rsquo;</dt>
-<dd><p>Set type of timestamps for grabbed frames.
-</p>
-<p>Available values are:
-</p><dl compact="compact">
-<dt> &lsquo;<samp>default</samp>&rsquo;</dt>
-<dd><p>Use timestamps from the kernel.
-</p>
-</dd>
-<dt> &lsquo;<samp>abs</samp>&rsquo;</dt>
-<dd><p>Use absolute timestamps (wall clock).
-</p>
-</dd>
-<dt> &lsquo;<samp>mono2abs</samp>&rsquo;</dt>
-<dd><p>Force conversion from monotonic to absolute timestamps.
-</p></dd>
-</dl>
-
-<p>Default value is <code>default</code>.
-</p></dd>
-</dl>
-
-<a name="vfwcap"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-vfwcap">22.15 vfwcap</a></h2>
-
-<p>VfW (Video for Windows) capture input device.
-</p>
-<p>The filename passed as input is the capture driver number, ranging from
-0 to 9. You may use &quot;list&quot; as filename to print a list of drivers. Any
-other filename will be interpreted as device number 0.
-</p>
-<a name="x11grab"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-x11grab">22.16 x11grab</a></h2>
-
-<p>X11 video input device.
-</p>
-<p>This device allows to capture a region of an X11 display.
-</p>
-<p>The filename passed as input has the syntax:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">[<var>hostname</var>]:<var>display_number</var>.<var>screen_number</var>[+<var>x_offset</var>,<var>y_offset</var>]
-</pre></td></tr></table>
-
-<p><var>hostname</var>:<var>display_number</var>.<var>screen_number</var> specifies the
-X11 display name of the screen to grab from. <var>hostname</var> can be
-omitted, and defaults to &quot;localhost&quot;. The environment variable
-<code>DISPLAY</code> contains the default display name.
-</p>
-<p><var>x_offset</var> and <var>y_offset</var> specify the offsets of the grabbed
-area with respect to the top-left border of the X11 screen. They
-default to 0.
-</p>
-<p>Check the X11 documentation (e.g. man X) for more detailed information.
-</p>
-<p>Use the <code>dpyinfo</code> program for getting basic information about the
-properties of your X11 display (e.g. grep for &quot;name&quot; or &quot;dimensions&quot;).
-</p>
-<p>For example to grab from &lsquo;<tt>:0.0</tt>&rsquo; using <code>ffmpeg</code>:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -f x11grab -framerate 25 -video_size cif -i :0.0 out.mpg
-</pre></td></tr></table>
-
-<p>Grab at position <code>10,20</code>:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -f x11grab -framerate 25 -video_size cif -i :0.0+10,20 out.mpg
-</pre></td></tr></table>
-
-<a name="Options-20"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Options-20">22.16.1 Options</a></h3>
-
-<dl compact="compact">
-<dt> &lsquo;<samp>draw_mouse</samp>&rsquo;</dt>
-<dd><p>Specify whether to draw the mouse pointer. A value of <code>0</code> specify
-not to draw the pointer. Default value is <code>1</code>.
-</p>
-</dd>
-<dt> &lsquo;<samp>follow_mouse</samp>&rsquo;</dt>
-<dd><p>Make the grabbed area follow the mouse. The argument can be
-<code>centered</code> or a number of pixels <var>PIXELS</var>.
-</p>
-<p>When it is specified with &quot;centered&quot;, the grabbing region follows the mouse
-pointer and keeps the pointer at the center of region; otherwise, the region
-follows only when the mouse pointer reaches within <var>PIXELS</var> (greater than
-zero) to the edge of region.
-</p>
-<p>For example:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -f x11grab -follow_mouse centered -framerate 25 -video_size cif -i :0.0 out.mpg
-</pre></td></tr></table>
-
-<p>To follow only when the mouse pointer reaches within 100 pixels to edge:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -f x11grab -follow_mouse 100 -framerate 25 -video_size cif -i :0.0 out.mpg
-</pre></td></tr></table>
-
-</dd>
-<dt> &lsquo;<samp>framerate</samp>&rsquo;</dt>
-<dd><p>Set the grabbing frame rate. Default value is <code>ntsc</code>,
-corresponding to a frame rate of <code>30000/1001</code>.
-</p>
-</dd>
-<dt> &lsquo;<samp>show_region</samp>&rsquo;</dt>
-<dd><p>Show grabbed region on screen.
-</p>
-<p>If <var>show_region</var> is specified with <code>1</code>, then the grabbing
-region will be indicated on screen. With this option, it is easy to
-know what is being grabbed if only a portion of the screen is grabbed.
-</p>
-<p>For example:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -f x11grab -show_region 1 -framerate 25 -video_size cif -i :0.0+10,20 out.mpg
-</pre></td></tr></table>
-
-<p>With <var>follow_mouse</var>:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -f x11grab -follow_mouse centered -show_region 1 -framerate 25 -video_size cif -i :0.0 out.mpg
-</pre></td></tr></table>
-
-</dd>
-<dt> &lsquo;<samp>video_size</samp>&rsquo;</dt>
-<dd><p>Set the video frame size. Default value is <code>vga</code>.
-</p></dd>
-</dl>
-
-<a name="Output-Devices"></a>
-<h1 class="chapter"><a href="ffplay-all.html#toc-Output-Devices">23. Output Devices</a></h1>
-
-<p>Output devices are configured elements in FFmpeg that can write
-multimedia data to an output device attached to your system.
-</p>
-<p>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 &quot;&ndash;list-outdevs&quot;.
-</p>
-<p>You can disable all the output devices using the configure option
-&quot;&ndash;disable-outdevs&quot;, and selectively enable an output device using the
-option &quot;&ndash;enable-outdev=<var>OUTDEV</var>&quot;, or you can disable a particular
-input device using the option &quot;&ndash;disable-outdev=<var>OUTDEV</var>&quot;.
-</p>
-<p>The option &quot;-formats&quot; of the ff* tools will display the list of
-enabled output devices (amongst the muxers).
-</p>
-<p>A description of the currently available output devices follows.
-</p>
-<a name="alsa"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-alsa">23.1 alsa</a></h2>
-
-<p>ALSA (Advanced Linux Sound Architecture) output device.
-</p>
-<a name="Examples-33"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-33">23.1.1 Examples</a></h3>
-
-<ul>
-<li>
-Play a file on default ALSA device:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -f alsa default
-</pre></td></tr></table>
-
-</li><li>
-Play a file on soundcard 1, audio device 7:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -f alsa hw:1,7
-</pre></td></tr></table>
-</li></ul>
-
-<a name="caca"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-caca">23.2 caca</a></h2>
-
-<p>CACA output device.
-</p>
-<p>This output device allows to show a video stream in CACA window.
-Only one CACA window is allowed per application, so you can
-have only one instance of this output device in an application.
-</p>
-<p>To enable this output device you need to configure FFmpeg with
-<code>--enable-libcaca</code>.
-libcaca is a graphics library that outputs text instead of pixels.
-</p>
-<p>For more information about libcaca, check:
-<a href="http://caca.zoy.org/wiki/libcaca">http://caca.zoy.org/wiki/libcaca</a>
-</p>
-<a name="Options-4"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Options-4">23.2.1 Options</a></h3>
-
-<dl compact="compact">
-<dt> &lsquo;<samp>window_title</samp>&rsquo;</dt>
-<dd><p>Set the CACA window title, if not specified default to the filename
-specified for the output device.
-</p>
-</dd>
-<dt> &lsquo;<samp>window_size</samp>&rsquo;</dt>
-<dd><p>Set the CACA window size, can be a string of the form
-<var>width</var>x<var>height</var> or a video size abbreviation.
-If not specified it defaults to the size of the input video.
-</p>
-</dd>
-<dt> &lsquo;<samp>driver</samp>&rsquo;</dt>
-<dd><p>Set display driver.
-</p>
-</dd>
-<dt> &lsquo;<samp>algorithm</samp>&rsquo;</dt>
-<dd><p>Set dithering algorithm. Dithering is necessary
-because the picture being rendered has usually far more colours than
-the available palette.
-The accepted values are listed with <code>-list_dither algorithms</code>.
-</p>
-</dd>
-<dt> &lsquo;<samp>antialias</samp>&rsquo;</dt>
-<dd><p>Set antialias method. Antialiasing smoothens the rendered
-image and avoids the commonly seen staircase effect.
-The accepted values are listed with <code>-list_dither antialiases</code>.
-</p>
-</dd>
-<dt> &lsquo;<samp>charset</samp>&rsquo;</dt>
-<dd><p>Set which characters are going to be used when rendering text.
-The accepted values are listed with <code>-list_dither charsets</code>.
-</p>
-</dd>
-<dt> &lsquo;<samp>color</samp>&rsquo;</dt>
-<dd><p>Set color to be used when rendering text.
-The accepted values are listed with <code>-list_dither colors</code>.
-</p>
-</dd>
-<dt> &lsquo;<samp>list_drivers</samp>&rsquo;</dt>
-<dd><p>If set to &lsquo;<samp>true</samp>&rsquo;, print a list of available drivers and exit.
-</p>
-</dd>
-<dt> &lsquo;<samp>list_dither</samp>&rsquo;</dt>
-<dd><p>List available dither options related to the argument.
-The argument must be one of <code>algorithms</code>, <code>antialiases</code>,
-<code>charsets</code>, <code>colors</code>.
-</p></dd>
-</dl>
-
-<a name="Examples-56"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-56">23.2.2 Examples</a></h3>
-
-<ul>
-<li>
-The following command shows the <code>ffmpeg</code> output is an
-CACA window, forcing its size to 80x25:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -vcodec rawvideo -pix_fmt rgb24 -window_size 80x25 -f caca -
-</pre></td></tr></table>
-
-</li><li>
-Show the list of available drivers and exit:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -pix_fmt rgb24 -f caca -list_drivers true -
-</pre></td></tr></table>
-
-</li><li>
-Show the list of available dither colors and exit:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -pix_fmt rgb24 -f caca -list_dither colors -
-</pre></td></tr></table>
-</li></ul>
-
-<a name="fbdev"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-fbdev">23.3 fbdev</a></h2>
-
-<p>Linux framebuffer output device.
-</p>
-<p>The Linux framebuffer is a graphic hardware-independent abstraction
-layer to show graphics on a computer monitor, typically on the
-console. It is accessed through a file device node, usually
-&lsquo;<tt>/dev/fb0</tt>&rsquo;.
-</p>
-<p>For more detailed information read the file
-&lsquo;<tt>Documentation/fb/framebuffer.txt</tt>&rsquo; included in the Linux source tree.
-</p>
-<a name="Options-15"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Options-15">23.3.1 Options</a></h3>
-<dl compact="compact">
-<dt> &lsquo;<samp>xoffset</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>yoffset</samp>&rsquo;</dt>
-<dd><p>Set x/y coordinate of top left corner. Default is 0.
-</p></dd>
-</dl>
-
-<a name="Examples-66"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-66">23.3.2 Examples</a></h3>
-<p>Play a file on framebuffer device &lsquo;<tt>/dev/fb0</tt>&rsquo;.
-Required pixel format depends on current framebuffer settings.
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -re -i INPUT -vcodec rawvideo -pix_fmt bgra -f fbdev /dev/fb0
-</pre></td></tr></table>
-
-<p>See also <a href="http://linux-fbdev.sourceforge.net/">http://linux-fbdev.sourceforge.net/</a>, and fbset(1).
-</p>
-<a name="oss-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-oss-1">23.4 oss</a></h2>
-
-<p>OSS (Open Sound System) output device.
-</p>
-<a name="pulse"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-pulse">23.5 pulse</a></h2>
-
-<p>PulseAudio output device.
-</p>
-<p>To enable this output device you need to configure FFmpeg with <code>--enable-libpulse</code>.
-</p>
-<p>More information about PulseAudio can be found on <a href="http://www.pulseaudio.org">http://www.pulseaudio.org</a>
-</p>
-<a name="Options-6"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Options-6">23.5.1 Options</a></h3>
-<dl compact="compact">
-<dt> &lsquo;<samp>server</samp>&rsquo;</dt>
-<dd><p>Connect to a specific PulseAudio server, specified by an IP address.
-Default server is used when not provided.
-</p>
-</dd>
-<dt> &lsquo;<samp>name</samp>&rsquo;</dt>
-<dd><p>Specify the application name PulseAudio will use when showing active clients,
-by default it is the <code>LIBAVFORMAT_IDENT</code> string.
-</p>
-</dd>
-<dt> &lsquo;<samp>stream_name</samp>&rsquo;</dt>
-<dd><p>Specify the stream name PulseAudio will use when showing active streams,
-by default it is set to the specified output name.
+<p>Available values are:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>all</samp>&rsquo;</dt>
+<dd><p>Show all available (compressed and non-compressed) formats.
 </p>
 </dd>
-<dt> &lsquo;<samp>device</samp>&rsquo;</dt>
-<dd><p>Specify the device to use. Default device is used when not provided.
-List of output devices can be obtained with command <code>pactl list sinks</code>.
+<dt> &lsquo;<samp>raw</samp>&rsquo;</dt>
+<dd><p>Show only raw video (non-compressed) formats.
 </p>
 </dd>
-<dt> &lsquo;<samp>buffer_size</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>buffer_duration</samp>&rsquo;</dt>
-<dd><p>Control the size and duration of the PulseAudio buffer. A small buffer
-gives more control, but requires more frequent updates.
-</p>
-<p>&lsquo;<samp>buffer_size</samp>&rsquo; specifies size in bytes while
-&lsquo;<samp>buffer_duration</samp>&rsquo; specifies duration in milliseconds.
-</p>
-<p>When both options are provided then the highest value is used
-(duration is recalculated to bytes using stream parameters). If they
-are set to 0 (which is default), the device will use the default
-PulseAudio duration value. By default PulseAudio set buffer duration
-to around 2 seconds.
+<dt> &lsquo;<samp>compressed</samp>&rsquo;</dt>
+<dd><p>Show only compressed formats.
 </p></dd>
 </dl>
 
-<a name="Examples-23"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-23">23.5.2 Examples</a></h3>
-<p>Play a file on default device on default server:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg  -i INPUT -f pulse &quot;stream name&quot;
-</pre></td></tr></table>
-
-<a name="sdl"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-sdl">23.6 sdl</a></h2>
-
-<p>SDL (Simple DirectMedia Layer) output device.
-</p>
-<p>This output device allows to show a video stream in an SDL
-window. Only one SDL window is allowed per application, so you can
-have only one instance of this output device in an application.
-</p>
-<p>To enable this output device you need libsdl installed on your system
-when configuring your build.
-</p>
-<p>For more information about SDL, check:
-<a href="http://www.libsdl.org/">http://www.libsdl.org/</a>
+</dd>
+<dt> &lsquo;<samp>list_standards</samp>&rsquo;</dt>
+<dd><p>List supported standards and exit.
 </p>
-<a name="Options-12"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Options-12">23.6.1 Options</a></h3>
+<p>Available values are:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>all</samp>&rsquo;</dt>
+<dd><p>Show all supported standards.
+</p></dd>
+</dl>
 
-<dl compact="compact">
-<dt> &lsquo;<samp>window_title</samp>&rsquo;</dt>
-<dd><p>Set the SDL window title, if not specified default to the filename
-specified for the output device.
-</p>
 </dd>
-<dt> &lsquo;<samp>icon_title</samp>&rsquo;</dt>
-<dd><p>Set the name of the iconified SDL window, if not specified it is set
-to the same value of <var>window_title</var>.
+<dt> &lsquo;<samp>timestamps, ts</samp>&rsquo;</dt>
+<dd><p>Set type of timestamps for grabbed frames.
+</p>
+<p>Available values are:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>default</samp>&rsquo;</dt>
+<dd><p>Use timestamps from the kernel.
 </p>
 </dd>
-<dt> &lsquo;<samp>window_size</samp>&rsquo;</dt>
-<dd><p>Set the SDL window size, can be a string of the form
-<var>width</var>x<var>height</var> or a video size abbreviation.
-If not specified it defaults to the size of the input video,
-downscaled according to the aspect ratio.
+<dt> &lsquo;<samp>abs</samp>&rsquo;</dt>
+<dd><p>Use absolute timestamps (wall clock).
 </p>
 </dd>
-<dt> &lsquo;<samp>window_fullscreen</samp>&rsquo;</dt>
-<dd><p>Set fullscreen mode when non-zero value is provided.
-Default value is zero.
+<dt> &lsquo;<samp>mono2abs</samp>&rsquo;</dt>
+<dd><p>Force conversion from monotonic to absolute timestamps.
 </p></dd>
 </dl>
 
-<a name="Interactive-commands"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Interactive-commands">23.6.2 Interactive commands</a></h3>
-
-<p>The window created by the device can be controlled through the
-following interactive commands.
-</p>
-<dl compact="compact">
-<dt> &lt;q, ESC&gt;</dt>
-<dd><p>Quit the device immediately.
+<p>Default value is <code>default</code>.
 </p></dd>
 </dl>
 
-<a name="Examples-82"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-82">23.6.3 Examples</a></h3>
-
-<p>The following command shows the <code>ffmpeg</code> output is an
-SDL window, forcing its size to the qcif format:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -vcodec rawvideo -pix_fmt yuv420p -window_size qcif -f sdl &quot;SDL output&quot;
-</pre></td></tr></table>
-
-<a name="sndio"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-sndio">23.7 sndio</a></h2>
+<a name="vfwcap"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-vfwcap">18.15 vfwcap</a></h2>
 
-<p>sndio audio output device.
+<p>VfW (Video for Windows) capture input device.
+</p>
+<p>The filename passed as input is the capture driver number, ranging from
+0 to 9. You may use &quot;list&quot; as filename to print a list of drivers. Any
+other filename will be interpreted as device number 0.
 </p>
-<a name="xv"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-xv">23.8 xv</a></h2>
+<a name="x11grab"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-x11grab">18.16 x11grab</a></h2>
 
-<p>XV (XVideo) output device.
+<p>X11 video input device.
 </p>
-<p>This output device allows to show a video stream in a X Window System
-window.
+<p>This device allows one to capture a region of an X11 display.
 </p>
-<a name="Options-3"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Options-3">23.8.1 Options</a></h3>
+<p>The filename passed as input has the syntax:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">[<var>hostname</var>]:<var>display_number</var>.<var>screen_number</var>[+<var>x_offset</var>,<var>y_offset</var>]
+</pre></td></tr></table>
 
-<dl compact="compact">
-<dt> &lsquo;<samp>display_name</samp>&rsquo;</dt>
-<dd><p>Specify the hardware display name, which determines the display and
-communications domain to be used.
-</p>
-<p>The display name or DISPLAY environment variable can be a string in
-the format <var>hostname</var>[:<var>number</var>[.<var>screen_number</var>]].
+<p><var>hostname</var>:<var>display_number</var>.<var>screen_number</var> specifies the
+X11 display name of the screen to grab from. <var>hostname</var> can be
+omitted, and defaults to &quot;localhost&quot;. The environment variable
+<code>DISPLAY</code> contains the default display name.
 </p>
-<p><var>hostname</var> specifies the name of the host machine on which the
-display is physically attached. <var>number</var> specifies the number of
-the display server on that host machine. <var>screen_number</var> specifies
-the screen to be used on that server.
+<p><var>x_offset</var> and <var>y_offset</var> specify the offsets of the grabbed
+area with respect to the top-left border of the X11 screen. They
+default to 0.
 </p>
-<p>If unspecified, it defaults to the value of the DISPLAY environment
-variable.
+<p>Check the X11 documentation (e.g. man X) for more detailed information.
 </p>
-<p>For example, <code>dual-headed:0.1</code> would specify screen 1 of display
-0 on the machine named &ldquo;dual-headed&rdquo;.
+<p>Use the <code>dpyinfo</code> program for getting basic information about the
+properties of your X11 display (e.g. grep for &quot;name&quot; or &quot;dimensions&quot;).
 </p>
-<p>Check the X11 specification for more detailed information about the
-display name format.
+<p>For example to grab from &lsquo;<tt>:0.0</tt>&rsquo; using <code>ffmpeg</code>:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -f x11grab -framerate 25 -video_size cif -i :0.0 out.mpg
+</pre></td></tr></table>
+
+<p>Grab at position <code>10,20</code>:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -f x11grab -framerate 25 -video_size cif -i :0.0+10,20 out.mpg
+</pre></td></tr></table>
+
+<a name="Options-8"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Options-8">18.16.1 Options</a></h3>
+
+<dl compact="compact">
+<dt> &lsquo;<samp>draw_mouse</samp>&rsquo;</dt>
+<dd><p>Specify whether to draw the mouse pointer. A value of <code>0</code> specify
+not to draw the pointer. Default value is <code>1</code>.
 </p>
 </dd>
-<dt> &lsquo;<samp>window_size</samp>&rsquo;</dt>
-<dd><p>Set the created window size, can be a string of the form
-<var>width</var>x<var>height</var> or a video size abbreviation. If not
-specified it defaults to the size of the input video.
+<dt> &lsquo;<samp>follow_mouse</samp>&rsquo;</dt>
+<dd><p>Make the grabbed area follow the mouse. The argument can be
+<code>centered</code> or a number of pixels <var>PIXELS</var>.
+</p>
+<p>When it is specified with &quot;centered&quot;, the grabbing region follows the mouse
+pointer and keeps the pointer at the center of region; otherwise, the region
+follows only when the mouse pointer reaches within <var>PIXELS</var> (greater than
+zero) to the edge of region.
 </p>
+<p>For example:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -f x11grab -follow_mouse centered -framerate 25 -video_size cif -i :0.0 out.mpg
+</pre></td></tr></table>
+
+<p>To follow only when the mouse pointer reaches within 100 pixels to edge:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -f x11grab -follow_mouse 100 -framerate 25 -video_size cif -i :0.0 out.mpg
+</pre></td></tr></table>
+
 </dd>
-<dt> &lsquo;<samp>window_x</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>window_y</samp>&rsquo;</dt>
-<dd><p>Set the X and Y window offsets for the created window. They are both
-set to 0 by default. The values may be ignored by the window manager.
+<dt> &lsquo;<samp>framerate</samp>&rsquo;</dt>
+<dd><p>Set the grabbing frame rate. Default value is <code>ntsc</code>,
+corresponding to a frame rate of <code>30000/1001</code>.
 </p>
 </dd>
-<dt> &lsquo;<samp>window_title</samp>&rsquo;</dt>
-<dd><p>Set the window title, if not specified default to the filename
-specified for the output device.
-</p></dd>
-</dl>
-
-<p>For more information about XVideo see <a href="http://www.x.org/">http://www.x.org/</a>.
+<dt> &lsquo;<samp>show_region</samp>&rsquo;</dt>
+<dd><p>Show grabbed region on screen.
 </p>
-<a name="Examples-48"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-48">23.8.2 Examples</a></h3>
-
-<ul>
-<li>
-Decode, display and encode video input with <code>ffmpeg</code> at the
-same time:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT OUTPUT -f xv display
+<p>If <var>show_region</var> is specified with <code>1</code>, then the grabbing
+region will be indicated on screen. With this option, it is easy to
+know what is being grabbed if only a portion of the screen is grabbed.
+</p>
+<p>For example:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -f x11grab -show_region 1 -framerate 25 -video_size cif -i :0.0+10,20 out.mpg
 </pre></td></tr></table>
 
-</li><li>
-Decode and display the input video to multiple X11 windows:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -f xv normal -vf negate -f xv negated
+<p>With <var>follow_mouse</var>:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -f x11grab -follow_mouse centered -show_region 1 -framerate 25 -video_size cif -i :0.0 out.mpg
 </pre></td></tr></table>
-</li></ul>
+
+</dd>
+<dt> &lsquo;<samp>video_size</samp>&rsquo;</dt>
+<dd><p>Set the video frame size. Default value is <code>vga</code>.
+</p></dd>
+</dl>
 
 <a name="Resampler-Options"></a>
-<h1 class="chapter"><a href="ffplay-all.html#toc-Resampler-Options">24. Resampler Options</a></h1>
+<h1 class="chapter"><a href="ffplay-all.html#toc-Resampler-Options">19. Resampler Options</a></h1>
 
 <p>The audio resampler supports the following named options.
 </p>
@@ -11088,7 +7504,7 @@ interval [0,64], default value is 0, which means it&rsquo;s not used.
 
 <p><a name="scaler_005foptions"></a>
 </p><a name="Scaler-Options"></a>
-<h1 class="chapter"><a href="ffplay-all.html#toc-Scaler-Options">25. Scaler Options</a></h1>
+<h1 class="chapter"><a href="ffplay-all.html#toc-Scaler-Options">20. Scaler Options</a></h1>
 
 <p>The video scaler supports the following named options.
 </p>
@@ -11130,7 +7546,7 @@ algorithm. Only a single algorithm should be selected.
 <dd><p>Select averaging area rescaling algorithm.
 </p>
 </dd>
-<dt> &lsquo;<samp>bicubiclin</samp>&rsquo;</dt>
+<dt> &lsquo;<samp>bicublin</samp>&rsquo;</dt>
 <dd><p>Select bicubic scaling algorithm for the luma component, bilinear for
 chroma components.
 </p>
@@ -11237,7 +7653,7 @@ values. Default value is &lsquo;<samp>auto</samp>&rsquo;.
 </dl>
 
 <a name="Filtering-Introduction"></a>
-<h1 class="chapter"><a href="ffplay-all.html#toc-Filtering-Introduction">26. Filtering Introduction</a></h1>
+<h1 class="chapter"><a href="ffplay-all.html#toc-Filtering-Introduction">21. Filtering Introduction</a></h1>
 
 <p>Filtering in FFmpeg is enabled through the libavfilter library.
 </p>
@@ -11289,7 +7705,7 @@ output.
 </p>
 
 <a name="graph2dot"></a>
-<h1 class="chapter"><a href="ffplay-all.html#toc-graph2dot">27. graph2dot</a></h1>
+<h1 class="chapter"><a href="ffplay-all.html#toc-graph2dot">22. graph2dot</a></h1>
 
 <p>The &lsquo;<tt>graph2dot</tt>&rsquo; program included in the FFmpeg &lsquo;<tt>tools</tt>&rsquo;
 directory can be used to parse a filtergraph description and issue a
@@ -11326,7 +7742,7 @@ filter in order to simulate a specific input file.
 </p>
 
 <a name="Filtergraph-description"></a>
-<h1 class="chapter"><a href="ffplay-all.html#toc-Filtergraph-description">28. Filtergraph description</a></h1>
+<h1 class="chapter"><a href="ffplay-all.html#toc-Filtergraph-description">23. Filtergraph description</a></h1>
 
 <p>A filtergraph is a directed graph of connected filters. It can contain
 cycles, and there can be multiple links between a pair of
@@ -11343,7 +7759,7 @@ output pads is called a &quot;sink&quot;.
 </p>
 <p><a name="Filtergraph-syntax"></a>
 </p><a name="Filtergraph-syntax-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-Filtergraph-syntax-1">28.1 Filtergraph syntax</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-Filtergraph-syntax-1">23.1 Filtergraph syntax</a></h2>
 
 <p>A filtergraph can be represented using a textual representation, which is
 recognized by the &lsquo;<samp>-filter</samp>&rsquo;/&lsquo;<samp>-vf</samp>&rsquo; and &lsquo;<samp>-filter_complex</samp>&rsquo;
@@ -11402,7 +7818,7 @@ terminated when the next special character (belonging to the set
 </p>
 <p>The name and arguments of the filter are optionally preceded and
 followed by a list of link labels.
-A link label allows to name a link and associate it to a filter output
+A link label allows one to name a link and associate it to a filter output
 or input pad. The preceding labels <var>in_link_1</var>
 ... <var>in_link_N</var>, are associated to the filter input pads,
 the following labels <var>out_link_1</var> ... <var>out_link_M</var>, are
@@ -11444,28 +7860,43 @@ to the filtergraph description.
 </pre></td></tr></table>
 
 <a name="Notes-on-filtergraph-escaping"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-Notes-on-filtergraph-escaping">28.2 Notes on filtergraph escaping</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-Notes-on-filtergraph-escaping">23.2 Notes on filtergraph escaping</a></h2>
 
-<p>Some filter arguments require the use of special characters, typically
-<code>:</code> to separate key=value pairs in a named options list. In this
-case the user should perform a first level escaping when specifying
-the filter arguments. For example, consider the following literal
-string to be embedded in the <a href="#drawtext">drawtext</a> filter arguments:
+<p>Filtergraph description composition entails several levels of
+escaping. See <a href="ffmpeg-utils.html#quoting_005fand_005fescaping">(ffmpeg-utils)quoting_and_escaping</a> for more
+information about the employed escaping procedure.
+</p>
+<p>A first level escaping affects the content of each filter option
+value, which may contain the special character <code>:</code> used to
+separate values, or one of the escaping characters <code>\'</code>.
+</p>
+<p>A second level escaping affects the whole filter description, which
+may contain the escaping characters <code>\'</code> or the special
+characters <code>[],;</code> used by the filtergraph description.
+</p>
+<p>Finally, when you specify a filtergraph on a shell commandline, you
+need to perform a third level escaping for the shell special
+characters contained within it.
+</p>
+<p>For example, consider the following string to be embedded in
+the <a href="#drawtext">drawtext</a> filter description &lsquo;<samp>text</samp>&rsquo; value:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">this is a 'string': may contain one, or more, special characters
 </pre></td></tr></table>
 
-<p>Since <code>:</code> is special for the filter arguments syntax, it needs to
-be escaped, so you get:
+<p>This string contains the <code>'</code> special escaping character, and the
+<code>:</code> special character, so it needs to be escaped in this way:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">text=this is a \'string\'\: may contain one, or more, special characters
 </pre></td></tr></table>
 
 <p>A second level of escaping is required when embedding the filter
-arguments in a filtergraph description, in order to escape all the
+description in a filtergraph description, in order to escape all the
 filtergraph special characters. Thus the example above becomes:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">drawtext=text=this is a \\\'string\\\'\\: may contain one\, or more\, special characters
 </pre></td></tr></table>
-
-<p>Finally an additional level of escaping may be needed when writing the
+<p>(note that in addition to the <code>\'</code> escaping special characters,
+also <code>,</code> needs to be escaped).
+</p>
+<p>Finally an additional level of escaping is needed when writing the
 filtergraph description in a shell command, which depends on the
 escaping rules of the adopted shell. For example, assuming that
 <code>\</code> is special and needs to be escaped with another <code>\</code>, the
@@ -11473,25 +7904,8 @@ previous string will finally result in:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">-vf &quot;drawtext=text=this is a \\\\\\'string\\\\\\'\\\\: may contain one\\, or more\\, special characters&quot;
 </pre></td></tr></table>
 
-<p>Sometimes, it might be more convenient to employ quoting in place of
-escaping. For example the string:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">Caesar: tu quoque, Brute, fili mi
-</pre></td></tr></table>
-
-<p>Can be quoted in the filter arguments as:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">text='Caesar: tu quoque, Brute, fili mi'
-</pre></td></tr></table>
-
-<p>And finally inserted in a filtergraph like:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">drawtext=text=\'Caesar: tu quoque\, Brute\, fili mi\'
-</pre></td></tr></table>
-
-<p>See the &ldquo;Quoting and escaping&rdquo; section in the ffmpeg-utils manual
-for more information about the escaping and quoting rules adopted by
-FFmpeg.
-</p>
 <a name="Timeline-editing"></a>
-<h1 class="chapter"><a href="ffplay-all.html#toc-Timeline-editing">29. Timeline editing</a></h1>
+<h1 class="chapter"><a href="ffplay-all.html#toc-Timeline-editing">24. Timeline editing</a></h1>
 
 <p>Some filters support a generic &lsquo;<samp>enable</samp>&rsquo; option. For the filters
 supporting timeline editing, this option can be set to an expression which is
@@ -11528,7 +7942,7 @@ curves    = enable='gte(t,3)' : preset=cross_process
 
 
 <a name="Audio-Filters"></a>
-<h1 class="chapter"><a href="ffplay-all.html#toc-Audio-Filters">30. Audio Filters</a></h1>
+<h1 class="chapter"><a href="ffplay-all.html#toc-Audio-Filters">25. Audio Filters</a></h1>
 
 <p>When you configure your FFmpeg build, you can disable any of the
 existing filters using <code>--disable-filters</code>.
@@ -11538,7 +7952,7 @@ build.
 <p>Below is a description of the currently available audio filters.
 </p>
 <a name="aconvert"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-aconvert">30.1 aconvert</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-aconvert">25.1 aconvert</a></h2>
 
 <p>Convert the input audio format to the specified formats.
 </p>
@@ -11557,8 +7971,8 @@ or the corresponding number value defined in &lsquo;<tt>libavutil/channel_layout
 <p>The special parameter &quot;auto&quot;, signifies that the filter will
 automatically select the output format depending on the output filter.
 </p>
-<a name="Examples-47"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-47">30.1.1 Examples</a></h3>
+<a name="Examples-18"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-18">25.1.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -11573,7 +7987,7 @@ Convert input to unsigned 8-bit, automatically select out channel layout:
 </li></ul>
 
 <a name="adelay"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-adelay">30.2 adelay</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-adelay">25.2 adelay</a></h2>
 
 <p>Delay one or more audio channels.
 </p>
@@ -11590,8 +8004,8 @@ smaller than number of channels all remaining channels will not be delayed.
 </p></dd>
 </dl>
 
-<a name="Examples-41"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-41">30.2.1 Examples</a></h3>
+<a name="Examples-30"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-30">25.2.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -11602,7 +8016,7 @@ the second channel (and any other channels that may be present) unchanged.
 </li></ul>
 
 <a name="aecho"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-aecho">30.3 aecho</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-aecho">25.3 aecho</a></h2>
 
 <p>Apply echoing to the input audio.
 </p>
@@ -11638,8 +8052,8 @@ Default is <code>0.5</code>.
 </p></dd>
 </dl>
 
-<a name="Examples-19"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-19">30.3.1 Examples</a></h3>
+<a name="Examples-41"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-41">25.3.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -11664,7 +8078,7 @@ Same as above but with one more mountain:
 </li></ul>
 
 <a name="aeval"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-aeval">30.4 aeval</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-aeval">25.4 aeval</a></h2>
 
 <p>Modify an audio signal according to the specified expressions.
 </p>
@@ -11720,8 +8134,8 @@ use by default the same input channel layout.
 <p>Note: this filter is slow. For faster processing you should use a
 dedicated filter.
 </p>
-<a name="Examples-34"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-34">30.4.1 Examples</a></h3>
+<a name="Examples-21"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-21">25.4.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -11736,7 +8150,7 @@ Invert phase of the second channel:
 </li></ul>
 
 <a name="afade"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-afade">30.5 afade</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-afade">25.5 afade</a></h2>
 
 <p>Apply fade-in/out effect to input audio.
 </p>
@@ -11822,8 +8236,8 @@ If set this option is used instead of <var>nb_samples</var> one.
 </dd>
 </dl>
 
-<a name="Examples-24"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-24">30.5.1 Examples</a></h3>
+<a name="Examples-72"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-72">25.5.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -11839,7 +8253,7 @@ Fade out last 25 seconds of a 900 seconds audio:
 
 <p><a name="aformat"></a>
 </p><a name="aformat-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-aformat-1">30.6 aformat</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-aformat-1">25.6 aformat</a></h2>
 
 <p>Set output format constraints for the input audio. The framework will
 negotiate the most appropriate format to minimize conversions.
@@ -11869,7 +8283,7 @@ for the required syntax.
 </pre></td></tr></table>
 
 <a name="allpass"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-allpass">30.7 allpass</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-allpass">25.7 allpass</a></h2>
 
 <p>Apply a two-pole all-pass filter with central frequency (in Hz)
 <var>frequency</var>, and filter-width <var>width</var>.
@@ -11907,7 +8321,7 @@ without changing its frequency to amplitude relationship.
 </dl>
 
 <a name="amerge"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-amerge">30.8 amerge</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-amerge">25.8 amerge</a></h2>
 
 <p>Merge two or more audio streams into a single multi-channel stream.
 </p>
@@ -11942,8 +8356,8 @@ arbitrarily set to 4.0, which may or may not be the expected value.
 <p>If inputs do not have the same duration, the output will stop with the
 shortest.
 </p>
-<a name="Examples-62"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-62">30.8.1 Examples</a></h3>
+<a name="Examples-28"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-28">25.8.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -11958,7 +8372,7 @@ Multiple merges assuming 1 video stream and 6 audio streams in &lsquo;<tt>input.
 </li></ul>
 
 <a name="amix"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-amix">30.9 amix</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-amix">25.9 amix</a></h2>
 
 <p>Mixes multiple audio inputs into a single output.
 </p>
@@ -12000,18 +8414,18 @@ stream ends. The default value is 2 seconds.
 </dl>
 
 <a name="anull"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-anull">30.10 anull</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-anull">25.10 anull</a></h2>
 
 <p>Pass the audio source unchanged to the output.
 </p>
 <a name="apad"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-apad">30.11 apad</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-apad">25.11 apad</a></h2>
 
 <p>Pad the end of a audio stream with silence, this can be used together with
 -shortest to extend audio streams to the same length as the video stream.
 </p>
 <a name="aphaser"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-aphaser">30.12 aphaser</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-aphaser">25.12 aphaser</a></h2>
 <p>Add a phasing effect to the input audio.
 </p>
 <p>A phaser filter creates series of peaks and troughs in the frequency spectrum.
@@ -12053,7 +8467,7 @@ The position of the peaks and troughs are modulated so that they vary over time,
 
 <p><a name="aresample"></a>
 </p><a name="aresample-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-aresample-1">30.13 aresample</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-aresample-1">25.13 aresample</a></h2>
 
 <p>Resample the input audio to the specified parameters, using the
 libswresample library. If none are specified then the filter will
@@ -12069,8 +8483,8 @@ expresses a sample rate and <var>resampler_options</var> is a list of
 <var>key</var>=<var>value</var> pairs, separated by &quot;:&quot;. See the
 ffmpeg-resampler manual for the complete list of supported options.
 </p>
-<a name="Examples-22"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-22">30.13.1 Examples</a></h3>
+<a name="Examples-84"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-84">25.13.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -12086,7 +8500,7 @@ samples per second compensation:
 </li></ul>
 
 <a name="asetnsamples"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-asetnsamples">30.14 asetnsamples</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-asetnsamples">25.14 asetnsamples</a></h2>
 
 <p>Set the number of samples per each output audio frame.
 </p>
@@ -12116,7 +8530,7 @@ disable padding for the last frame, use:
 </pre></td></tr></table>
 
 <a name="asetrate"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-asetrate">30.15 asetrate</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-asetrate">25.15 asetrate</a></h2>
 
 <p>Set the sample rate without altering the PCM data.
 This will result in a change of speed and pitch.
@@ -12130,7 +8544,7 @@ This will result in a change of speed and pitch.
 </dl>
 
 <a name="ashowinfo"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-ashowinfo">30.16 ashowinfo</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-ashowinfo">25.16 ashowinfo</a></h2>
 
 <p>Show a line containing various information for each input audio frame.
 The input audio is not modified.
@@ -12186,7 +8600,7 @@ the data is treated as if all the planes were concatenated.
 </dl>
 
 <a name="astats"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-astats">30.17 astats</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-astats">25.17 astats</a></h2>
 
 <p>Display time domain statistical information about the audio channels.
 Statistics are calculated and displayed for each audio channel and,
@@ -12241,7 +8655,7 @@ Default is <code>0.05</code> (50 miliseconds). Allowed range is <code>[0.1 - 10]
 </dl>
 
 <a name="astreamsync"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-astreamsync">30.18 astreamsync</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-astreamsync">25.18 astreamsync</a></h2>
 
 <p>Forward two audio streams and control the order the buffers are forwarded.
 </p>
@@ -12271,8 +8685,8 @@ that has a smaller timestamp.
 </p></dd>
 </dl>
 
-<a name="Examples-46"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-46">30.18.1 Examples</a></h3>
+<a name="Examples-35"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-35">25.18.1 Examples</a></h3>
 
 <p>Stress-test <code>amerge</code> by randomly sending buffers on the wrong
 input, while avoiding too much of a desynchronization:
@@ -12282,7 +8696,7 @@ input, while avoiding too much of a desynchronization:
 </pre></td></tr></table>
 
 <a name="asyncts"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-asyncts">30.19 asyncts</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-asyncts">25.19 asyncts</a></h2>
 
 <p>Synchronize audio data with timestamps by squeezing/stretching it and/or
 dropping samples/adding silence when needed.
@@ -12319,7 +8733,7 @@ with a negative pts due to encoder delay.
 </dl>
 
 <a name="atempo"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-atempo">30.20 atempo</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-atempo">25.20 atempo</a></h2>
 
 <p>Adjust audio tempo.
 </p>
@@ -12327,8 +8741,8 @@ with a negative pts due to encoder delay.
 specified then the filter will assume nominal 1.0 tempo. Tempo must
 be in the [0.5, 2.0] range.
 </p>
-<a name="Examples-60"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-60">30.20.1 Examples</a></h3>
+<a name="Examples-57"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-57">25.20.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -12343,7 +8757,7 @@ To speed up audio to 125% tempo:
 </li></ul>
 
 <a name="atrim"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-atrim">30.21 atrim</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-atrim">25.21 atrim</a></h2>
 
 <p>Trim the input so that the output contains one continuous subpart of the input.
 </p>
@@ -12418,7 +8832,7 @@ keep only the first 1000 samples
 </li></ul>
 
 <a name="bandpass"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-bandpass">30.22 bandpass</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-bandpass">25.22 bandpass</a></h2>
 
 <p>Apply a two-pole Butterworth band-pass filter with central
 frequency <var>frequency</var>, and (3dB-point) band-width width.
@@ -12461,7 +8875,7 @@ The filter roll off at 6dB per octave (20dB per decade).
 </dl>
 
 <a name="bandreject"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-bandreject">30.23 bandreject</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-bandreject">25.23 bandreject</a></h2>
 
 <p>Apply a two-pole Butterworth band-reject filter with central
 frequency <var>frequency</var>, and (3dB-point) band-width <var>width</var>.
@@ -12498,7 +8912,7 @@ The filter roll off at 6dB per octave (20dB per decade).
 </dl>
 
 <a name="bass"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-bass">30.24 bass</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-bass">25.24 bass</a></h2>
 
 <p>Boost or cut the bass (lower) frequencies of the audio using a two-pole
 shelving filter with a response similar to that of a standard
@@ -12543,14 +8957,14 @@ The default value is <code>100</code> Hz.
 </dl>
 
 <a name="biquad"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-biquad">30.25 biquad</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-biquad">25.25 biquad</a></h2>
 
 <p>Apply a biquad IIR filter with the given coefficients.
 Where <var>b0</var>, <var>b1</var>, <var>b2</var> and <var>a0</var>, <var>a1</var>, <var>a2</var>
 are the numerator and denominator coefficients respectively.
 </p>
 <a name="channelmap"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-channelmap">30.26 channelmap</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-channelmap">25.26 channelmap</a></h2>
 
 <p>Remap input channels to new locations.
 </p>
@@ -12585,7 +8999,7 @@ the input.
 </pre></td></tr></table>
 
 <a name="channelsplit"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-channelsplit">30.27 channelsplit</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-channelsplit">25.27 channelsplit</a></h2>
 
 <p>Split each channel in input audio stream into a separate output stream.
 </p>
@@ -12611,8 +9025,7 @@ side_right.wav
 </pre></td></tr></table>
 
 <a name="compand"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-compand">30.28 compand</a></h2>
-
+<h2 class="section"><a href="ffplay-all.html#toc-compand">25.28 compand</a></h2>
 <p>Compress or expand audio dynamic range.
 </p>
 <p>A description of the accepted options follows.
@@ -12620,80 +9033,77 @@ side_right.wav
 <dl compact="compact">
 <dt> &lsquo;<samp>attacks</samp>&rsquo;</dt>
 <dt> &lsquo;<samp>decays</samp>&rsquo;</dt>
-<dd><p>Set list of times in seconds for each channel over which the instantaneous
-level of the input signal is averaged to determine its volume.
-&lsquo;<samp>attacks</samp>&rsquo; refers to increase of volume and &lsquo;<samp>decays</samp>&rsquo; refers
-to decrease of volume.
-For most situations, the attack time (response to the audio getting louder)
-should be shorter than the decay time because the human ear is more sensitive
-to sudden loud audio than sudden soft audio.
-Typical value for attack is <code>0.3</code> seconds and for decay <code>0.8</code>
-seconds.
+<dd><p>Set list of times in seconds for each channel over which the instantaneous level
+of the input signal is averaged to determine its volume. <var>attacks</var> refers to
+increase of volume and <var>decays</var> refers to decrease of volume. For most
+situations, the attack time (response to the audio getting louder) should be
+shorter than the decay time because the human ear is more sensitive to sudden
+loud audio than sudden soft audio. A typical value for attack is 0.3 seconds and
+a typical value for decay is 0.8 seconds.
 </p>
 </dd>
 <dt> &lsquo;<samp>points</samp>&rsquo;</dt>
-<dd><p>Set list of points for transfer function, specified in dB relative to maximum
-possible signal amplitude.
-Each key points list need to be defined using the following syntax:
-<code>x0/y0 x1/y1 x2/y2 ...</code>.
+<dd><p>Set list of points for the transfer function, specified in dB relative to the
+maximum possible signal amplitude. Each key points list must be defined using
+the following syntax: <code>x0/y0|x1/y1|x2/y2|....</code> or
+<code>x0/y0 x1/y1 x2/y2 ....</code>
 </p>
-<p>The input values must be in strictly increasing order but the transfer
-function does not have to be monotonically rising.
-The point <code>0/0</code> is assumed but may be overridden (by <code>0/out-dBn</code>).
-Typical values for the transfer function are <code>-70/-70 -60/-20</code>.
+<p>The input values must be in strictly increasing order but the transfer function
+does not have to be monotonically rising. The point <code>0/0</code> is assumed but
+may be overridden (by <code>0/out-dBn</code>). Typical values for the transfer
+function are <code>-70/-70|-60/-20</code>.
 </p>
 </dd>
 <dt> &lsquo;<samp>soft-knee</samp>&rsquo;</dt>
-<dd><p>Set amount for which the points at where adjacent line segments on the
-transfer function meet will be rounded. Defaults is <code>0.01</code>.
+<dd><p>Set the curve radius in dB for all joints. Defaults to 0.01.
 </p>
 </dd>
 <dt> &lsquo;<samp>gain</samp>&rsquo;</dt>
-<dd><p>Set additional gain in dB to be applied at all points on the transfer function
-and allows easy adjustment of the overall gain.
-Default is <code>0</code>.
+<dd><p>Set additional gain in dB to be applied at all points on the transfer function.
+This allows easy adjustment of the overall gain. Defaults to 0.
 </p>
 </dd>
 <dt> &lsquo;<samp>volume</samp>&rsquo;</dt>
 <dd><p>Set initial volume in dB to be assumed for each channel when filtering starts.
-This permits the user to supply a nominal level initially, so that,
-for example, a very large gain is not applied to initial signal levels before
-the companding has begun to operate. A typical value for audio which is
-initially quiet is -90 dB. Default is <code>0</code>.
+This permits the user to supply a nominal level initially, so that, for
+example, a very large gain is not applied to initial signal levels before the
+companding has begun to operate. A typical value for audio which is initially
+quiet is -90 dB. Defaults to 0.
 </p>
 </dd>
 <dt> &lsquo;<samp>delay</samp>&rsquo;</dt>
-<dd><p>Set delay in seconds. Default is <code>0</code>. The input audio
-is analysed immediately, but audio is delayed before being fed to the
-volume adjuster. Specifying a delay approximately equal to the attack/decay
-times allows the filter to effectively operate in predictive rather than
-reactive mode.
-</p></dd>
+<dd><p>Set delay in seconds. The input audio is analyzed immediately, but audio is
+delayed before being fed to the volume adjuster. Specifying a delay
+approximately equal to the attack/decay times allows the filter to effectively
+operate in predictive rather than reactive mode. Defaults to 0.
+</p>
+</dd>
 </dl>
 
-<a name="Examples-15"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-15">30.28.1 Examples</a></h3>
+<a name="Examples-37"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-37">25.28.1 Examples</a></h3>
+
 <ul>
 <li>
-Make music with both quiet and loud passages suitable for listening
-in a noisy environment:
-<table><tr><td>&nbsp;</td><td><pre class="example">compand=.3 .3:1 1:-90/-60 -60/-40 -40/-30 -20/-20:6:0:-90:0.2
+Make music with both quiet and loud passages suitable for listening in a noisy
+environment:
+<table><tr><td>&nbsp;</td><td><pre class="example">compand=.3|.3:1|1:-90/-60|-60/-40|-40/-30|-20/-20:6:0:-90:0.2
 </pre></td></tr></table>
 
 </li><li>
-Noise-gate for when the noise is at a lower level than the signal:
-<table><tr><td>&nbsp;</td><td><pre class="example">compand=.1 .1:.2 .2:-900/-900 -50.1/-900 -50/-50:.01:0:-90:.1
+Noise gate for when the noise is at a lower level than the signal:
+<table><tr><td>&nbsp;</td><td><pre class="example">compand=.1|.1:.2|.2:-900/-900|-50.1/-900|-50/-50:.01:0:-90:.1
 </pre></td></tr></table>
 
 </li><li>
-Here is another noise-gate, this time for when the noise is at a higher level
+Here is another noise gate, this time for when the noise is at a higher level
 than the signal (making it, in some ways, similar to squelch):
-<table><tr><td>&nbsp;</td><td><pre class="example">compand=.1 .1:.1 .1:-45.1/-45.1 -45/-900 0/-900:.01:45:-90:.1
+<table><tr><td>&nbsp;</td><td><pre class="example">compand=.1|.1:.1|.1:-45.1/-45.1|-45/-900|0/-900:.01:45:-90:.1
 </pre></td></tr></table>
 </li></ul>
 
 <a name="earwax"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-earwax">30.29 earwax</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-earwax">25.29 earwax</a></h2>
 
 <p>Make audio easier to listen to on headphones.
 </p>
@@ -12705,7 +9115,7 @@ the listener (standard for speakers).
 <p>Ported from SoX.
 </p>
 <a name="equalizer"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-equalizer">30.30 equalizer</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-equalizer">25.30 equalizer</a></h2>
 
 <p>Apply a two-pole peaking equalisation (EQ) filter. With this
 filter, the signal-level at and around a selected frequency can
@@ -12750,8 +9160,22 @@ Beware of clipping when using a positive gain.
 </p></dd>
 </dl>
 
+<a name="Examples-69"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-69">25.30.1 Examples</a></h3>
+<ul>
+<li>
+Attenuate 10 dB at 1000 Hz, with a bandwidth of 200 Hz:
+<table><tr><td>&nbsp;</td><td><pre class="example">equalizer=f=1000:width_type=h:width=200:g=-10
+</pre></td></tr></table>
+
+</li><li>
+Apply 2 dB gain at 1000 Hz with Q 1 and attenuate 5 dB at 100 Hz with Q 2:
+<table><tr><td>&nbsp;</td><td><pre class="example">equalizer=f=1000:width_type=q:width=1:g=2,equalizer=f=100:width_type=q:width=2:g=-5
+</pre></td></tr></table>
+</li></ul>
+
 <a name="highpass"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-highpass">30.31 highpass</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-highpass">25.31 highpass</a></h2>
 
 <p>Apply a high-pass filter with 3dB point frequency.
 The filter can be either single-pole, or double-pole (the default).
@@ -12794,7 +9218,7 @@ The default is 0.707q and gives a Butterworth response.
 </dl>
 
 <a name="join"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-join">30.32 join</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-join">25.32 join</a></h2>
 
 <p>Join multiple input streams into one multi-channel stream.
 </p>
@@ -12833,7 +9257,7 @@ out
 </pre></td></tr></table>
 
 <a name="ladspa"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-ladspa">30.33 ladspa</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-ladspa">25.33 ladspa</a></h2>
 
 <p>Load a LADSPA (Linux Audio Developer&rsquo;s Simple Plugin API) plugin.
 </p>
@@ -12890,8 +9314,8 @@ Only used if plugin have zero inputs.
 </dd>
 </dl>
 
-<a name="Examples-9"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-9">30.33.1 Examples</a></h3>
+<a name="Examples-54"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-54">25.33.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -12934,8 +9358,8 @@ Apply <code>C* Eq10X2 - Stereo 10-band equaliser</code> effect:
 </pre></td></tr></table>
 </li></ul>
 
-<a name="Commands-3"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Commands-3">30.33.2 Commands</a></h3>
+<a name="Commands-1"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Commands-1">25.33.2 Commands</a></h3>
 
 <p>This filter supports the following commands:
 </p><dl compact="compact">
@@ -12947,7 +9371,7 @@ Apply <code>C* Eq10X2 - Stereo 10-band equaliser</code> effect:
 </dl>
 
 <a name="lowpass"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-lowpass">30.34 lowpass</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-lowpass">25.34 lowpass</a></h2>
 
 <p>Apply a low-pass filter with 3dB point frequency.
 The filter can be either single-pole or double-pole (the default).
@@ -12990,7 +9414,7 @@ The default is 0.707q and gives a Butterworth response.
 </dl>
 
 <a name="pan"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-pan">30.35 pan</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-pan">25.35 pan</a></h2>
 
 <p>Mix channels with specific gain levels. The filter accepts the output
 channel layout followed by a set of channels definitions.
@@ -13031,7 +9455,7 @@ that specification will be renormalized so that the total is 1, thus
 avoiding clipping noise.
 </p>
 <a name="Mixing-examples"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Mixing-examples">30.35.1 Mixing examples</a></h3>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Mixing-examples">25.35.1 Mixing examples</a></h3>
 
 <p>For example, if you want to down-mix from stereo to mono, but with a bigger
 factor for the left channel:
@@ -13048,7 +9472,7 @@ that should be preferred (see &quot;-ac&quot; option) unless you have very speci
 needs.
 </p>
 <a name="Remapping-examples"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Remapping-examples">30.35.2 Remapping examples</a></h3>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Remapping-examples">25.35.2 Remapping examples</a></h3>
 
 <p>The channel remapping will be effective if, and only if:
 </p>
@@ -13082,20 +9506,20 @@ front left and right:
 </pre></td></tr></table>
 
 <a name="replaygain"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-replaygain">30.36 replaygain</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-replaygain">25.36 replaygain</a></h2>
 
 <p>ReplayGain scanner filter. This filter takes an audio stream as an input and
 outputs it unchanged.
 At end of filtering it displays <code>track_gain</code> and <code>track_peak</code>.
 </p>
 <a name="resample"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-resample">30.37 resample</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-resample">25.37 resample</a></h2>
 
 <p>Convert the audio sample format, sample rate and channel layout. This filter is
 not meant to be used directly.
 </p>
 <a name="silencedetect"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-silencedetect">30.38 silencedetect</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-silencedetect">25.38 silencedetect</a></h2>
 
 <p>Detect silence in an audio stream.
 </p>
@@ -13118,8 +9542,8 @@ specified value) or amplitude ratio. Default is -60dB, or 0.001.
 </p></dd>
 </dl>
 
-<a name="Examples-64"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-64">30.38.1 Examples</a></h3>
+<a name="Examples-14"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-14">25.38.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -13135,7 +9559,7 @@ tolerance in &lsquo;<tt>silence.mp3</tt>&rsquo;:
 </li></ul>
 
 <a name="treble"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-treble">30.39 treble</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-treble">25.39 treble</a></h2>
 
 <p>Boost or cut treble (upper) frequencies of the audio using a two-pole
 shelving filter with a response similar to that of a standard
@@ -13180,7 +9604,7 @@ The default value is <code>3000</code> Hz.
 </dl>
 
 <a name="volume"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-volume">30.40 volume</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-volume">25.40 volume</a></h2>
 
 <p>Adjust the input audio volume.
 </p>
@@ -13188,7 +9612,7 @@ The default value is <code>3000</code> Hz.
 </p>
 <dl compact="compact">
 <dt> &lsquo;<samp>volume</samp>&rsquo;</dt>
-<dd><p>Expresses how the audio volume will be increased or decreased.
+<dd><p>Set audio volume expression.
 </p>
 <p>Output values are clipped to the maximum value.
 </p>
@@ -13196,7 +9620,7 @@ The default value is <code>3000</code> Hz.
 </p><table><tr><td>&nbsp;</td><td><pre class="example"><var>output_volume</var> = <var>volume</var> * <var>input_volume</var>
 </pre></td></tr></table>
 
-<p>Default value for <var>volume</var> is 1.0.
+<p>Default value for <var>volume</var> is &quot;1.0&quot;.
 </p>
 </dd>
 <dt> &lsquo;<samp>precision</samp>&rsquo;</dt>
@@ -13216,11 +9640,88 @@ precision of the volume scaling.
 <dd><p>64-bit floating-point; limits input sample format to DBL.
 </p></dd>
 </dl>
+
+</dd>
+<dt> &lsquo;<samp>eval</samp>&rsquo;</dt>
+<dd><p>Set when the volume expression is evaluated.
+</p>
+<p>It accepts the following values:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>once</samp>&rsquo;</dt>
+<dd><p>only evaluate expression once during the filter initialization, or
+when the &lsquo;<samp>volume</samp>&rsquo; command is sent
+</p>
 </dd>
+<dt> &lsquo;<samp>frame</samp>&rsquo;</dt>
+<dd><p>evaluate expression for each incoming frame
+</p></dd>
 </dl>
 
-<a name="Examples-80"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-80">30.40.1 Examples</a></h3>
+<p>Default value is &lsquo;<samp>once</samp>&rsquo;.
+</p></dd>
+</dl>
+
+<p>The volume expression can contain the following parameters.
+</p>
+<dl compact="compact">
+<dt> &lsquo;<samp>n</samp>&rsquo;</dt>
+<dd><p>frame number (starting at zero)
+</p></dd>
+<dt> &lsquo;<samp>nb_channels</samp>&rsquo;</dt>
+<dd><p>number of channels
+</p></dd>
+<dt> &lsquo;<samp>nb_consumed_samples</samp>&rsquo;</dt>
+<dd><p>number of samples consumed by the filter
+</p></dd>
+<dt> &lsquo;<samp>nb_samples</samp>&rsquo;</dt>
+<dd><p>number of samples in the current frame
+</p></dd>
+<dt> &lsquo;<samp>pos</samp>&rsquo;</dt>
+<dd><p>original frame position in the file
+</p></dd>
+<dt> &lsquo;<samp>pts</samp>&rsquo;</dt>
+<dd><p>frame PTS
+</p></dd>
+<dt> &lsquo;<samp>sample_rate</samp>&rsquo;</dt>
+<dd><p>sample rate
+</p></dd>
+<dt> &lsquo;<samp>startpts</samp>&rsquo;</dt>
+<dd><p>PTS at start of stream
+</p></dd>
+<dt> &lsquo;<samp>startt</samp>&rsquo;</dt>
+<dd><p>time at start of stream
+</p></dd>
+<dt> &lsquo;<samp>t</samp>&rsquo;</dt>
+<dd><p>frame time
+</p></dd>
+<dt> &lsquo;<samp>tb</samp>&rsquo;</dt>
+<dd><p>timestamp timebase
+</p></dd>
+<dt> &lsquo;<samp>volume</samp>&rsquo;</dt>
+<dd><p>last set volume value
+</p></dd>
+</dl>
+
+<p>Note that when &lsquo;<samp>eval</samp>&rsquo; is set to &lsquo;<samp>once</samp>&rsquo; only the
+<var>sample_rate</var> and <var>tb</var> variables are available, all other
+variables will evaluate to NAN.
+</p>
+<a name="Commands-3"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Commands-3">25.40.1 Commands</a></h3>
+
+<p>This filter supports the following commands:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>volume</samp>&rsquo;</dt>
+<dd><p>Modify the volume expression.
+The command accepts the same syntax of the corresponding option.
+</p>
+<p>If the specified expression is not valid, it is kept at its current
+value.
+</p></dd>
+</dl>
+
+<a name="Examples-51"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-51">25.40.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -13239,10 +9740,15 @@ omitted, for example like in:
 Increase input audio power by 6 decibels using fixed-point precision:
 <table><tr><td>&nbsp;</td><td><pre class="example">volume=volume=6dB:precision=fixed
 </pre></td></tr></table>
+
+</li><li>
+Fade volume after time 10 with an annihilation period of 5 seconds:
+<table><tr><td>&nbsp;</td><td><pre class="example">volume='if(lt(t,10),1,max(1-(t-10)/5,0))':eval=frame
+</pre></td></tr></table>
 </li></ul>
 
 <a name="volumedetect"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-volumedetect">30.41 volumedetect</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-volumedetect">25.41 volumedetect</a></h2>
 
 <p>Detect the volume of the input video.
 </p>
@@ -13256,8 +9762,8 @@ the samples).
 </p>
 <p>All volumes are in decibels relative to the maximum PCM value.
 </p>
-<a name="Examples-55"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-55">30.41.1 Examples</a></h3>
+<a name="Examples-63"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-63">25.41.1 Examples</a></h3>
 
 <p>Here is an excerpt of the output:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">[Parsed_volumedetect_0 &nbsp;0xa23120] mean_volume: -27 dB
@@ -13286,12 +9792,12 @@ raising it by +5 dB causes clipping for 6 samples, etc.
 </p>
 
 <a name="Audio-Sources"></a>
-<h1 class="chapter"><a href="ffplay-all.html#toc-Audio-Sources">31. Audio Sources</a></h1>
+<h1 class="chapter"><a href="ffplay-all.html#toc-Audio-Sources">26. Audio Sources</a></h1>
 
 <p>Below is a description of the currently available audio sources.
 </p>
 <a name="abuffer"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-abuffer">31.1 abuffer</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-abuffer">26.1 abuffer</a></h2>
 
 <p>Buffer audio frames, and make them available to the filter chain.
 </p>
@@ -13331,8 +9837,8 @@ must be consistent.
 </dd>
 </dl>
 
-<a name="Examples-27"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-27">31.1.1 Examples</a></h3>
+<a name="Examples-6"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-6">26.1.1 Examples</a></h3>
 
 <table><tr><td>&nbsp;</td><td><pre class="example">abuffer=sample_rate=44100:sample_fmt=s16p:channel_layout=stereo
 </pre></td></tr></table>
@@ -13345,7 +9851,7 @@ equivalent to:
 </pre></td></tr></table>
 
 <a name="aevalsrc"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-aevalsrc">31.2 aevalsrc</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-aevalsrc">26.2 aevalsrc</a></h2>
 
 <p>Generate an audio signal specified by an expression.
 </p>
@@ -13406,8 +9912,8 @@ default to 1024.
 </dd>
 </dl>
 
-<a name="Examples-78"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-78">31.2.1 Examples</a></h3>
+<a name="Examples-56"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-56">26.2.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -13445,7 +9951,7 @@ Generate 2.5 Hz binaural beats on a 360 Hz carrier:
 </li></ul>
 
 <a name="anullsrc"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-anullsrc">31.3 anullsrc</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-anullsrc">26.3 anullsrc</a></h2>
 
 <p>Null audio source, return unprocessed audio frames. It is mainly useful
 as a template and to be employed in analysis / debugging tools, or as
@@ -13476,8 +9982,8 @@ channel layout values.
 </dd>
 </dl>
 
-<a name="Examples-84"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-84">31.3.1 Examples</a></h3>
+<a name="Examples-38"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-38">26.3.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -13494,7 +10000,7 @@ Do the same operation with a more obvious syntax:
 <p>All the parameters need to be explicitly defined.
 </p>
 <a name="flite"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-flite">31.4 flite</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-flite">26.4 flite</a></h2>
 
 <p>Synthesize a voice utterance using the libflite library.
 </p>
@@ -13529,8 +10035,8 @@ immediately. Default value is 0.
 </p></dd>
 </dl>
 
-<a name="Examples-85"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-85">31.4.1 Examples</a></h3>
+<a name="Examples-80"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-80">26.4.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -13560,7 +10066,7 @@ the <code>lavfi</code> device:
 <a href="http://www.speech.cs.cmu.edu/flite/">http://www.speech.cs.cmu.edu/flite/</a>
 </p>
 <a name="sine"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-sine">31.5 sine</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-sine">26.5 sine</a></h2>
 
 <p>Generate an audio signal made of a sine wave with amplitude 1/8.
 </p>
@@ -13591,8 +10097,8 @@ the carrier frequency. Default is 0, meaning the beep is disabled.
 </p></dd>
 </dl>
 
-<a name="Examples-32"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-32">31.5.1 Examples</a></h3>
+<a name="Examples-50"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-50">26.5.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -13611,12 +10117,12 @@ sine=frequency=220:beep_factor=4:duration=5
 
 
 <a name="Audio-Sinks"></a>
-<h1 class="chapter"><a href="ffplay-all.html#toc-Audio-Sinks">32. Audio Sinks</a></h1>
+<h1 class="chapter"><a href="ffplay-all.html#toc-Audio-Sinks">27. Audio Sinks</a></h1>
 
 <p>Below is a description of the currently available audio sinks.
 </p>
 <a name="abuffersink"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-abuffersink">32.1 abuffersink</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-abuffersink">27.1 abuffersink</a></h2>
 
 <p>Buffer audio frames, and make them available to the end of filter chain.
 </p>
@@ -13629,7 +10135,7 @@ defines the incoming buffers&rsquo; formats, to be passed as the opaque
 parameter to <code>avfilter_init_filter</code> for initialization.
 </p>
 <a name="anullsink"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-anullsink">32.2 anullsink</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-anullsink">27.2 anullsink</a></h2>
 
 <p>Null audio sink, do absolutely nothing with the input audio. It is
 mainly useful as a template and to be employed in analysis / debugging
@@ -13637,7 +10143,7 @@ tools.
 </p>
 
 <a name="Video-Filters"></a>
-<h1 class="chapter"><a href="ffplay-all.html#toc-Video-Filters">33. Video Filters</a></h1>
+<h1 class="chapter"><a href="ffplay-all.html#toc-Video-Filters">28. Video Filters</a></h1>
 
 <p>When you configure your FFmpeg build, you can disable any of the
 existing filters using <code>--disable-filters</code>.
@@ -13647,13 +10153,13 @@ build.
 <p>Below is a description of the currently available video filters.
 </p>
 <a name="alphaextract"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-alphaextract">33.1 alphaextract</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-alphaextract">28.1 alphaextract</a></h2>
 
 <p>Extract the alpha component from the input as a grayscale video. This
 is especially useful with the <var>alphamerge</var> filter.
 </p>
 <a name="alphamerge"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-alphamerge">33.2 alphamerge</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-alphamerge">28.2 alphamerge</a></h2>
 
 <p>Add or replace the alpha component of the primary input with the
 grayscale value of a second input. This is intended for use with
@@ -13673,14 +10179,14 @@ pipeline drops frames. If you&rsquo;re trying to apply an image as an
 overlay to a video stream, consider the <var>overlay</var> filter instead.
 </p>
 <a name="ass"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-ass">33.3 ass</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-ass">28.3 ass</a></h2>
 
 <p>Same as the <a href="#subtitles">subtitles</a> filter, except that it doesn&rsquo;t require libavcodec
 and libavformat to work. On the other hand, it is limited to ASS (Advanced
 Substation Alpha) subtitles files.
 </p>
 <a name="bbox"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-bbox">33.4 bbox</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-bbox">28.4 bbox</a></h2>
 
 <p>Compute the bounding box for the non-black pixels in the input frame
 luminance plane.
@@ -13699,7 +10205,7 @@ log.
 </dl>
 
 <a name="blackdetect"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-blackdetect">33.5 blackdetect</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-blackdetect">28.5 blackdetect</a></h2>
 
 <p>Detect video intervals that are (almost) completely black. Can be
 useful to detect chapter transitions, commercials, or invalid
@@ -13752,7 +10258,7 @@ value, and detects only black intervals of 2 or more seconds:
 </pre></td></tr></table>
 
 <a name="blackframe"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-blackframe">33.6 blackframe</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-blackframe">28.6 blackframe</a></h2>
 
 <p>Detect frames that are (almost) completely black. Can be useful to
 detect chapter transitions or commercials. Output lines consist of
@@ -13778,7 +10284,7 @@ to <code>98</code>.
 </dl>
 
 <a name="blend"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-blend">33.7 blend</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-blend">28.7 blend</a></h2>
 
 <p>Blend two video frames into each other.
 </p>
@@ -13892,8 +10398,8 @@ Default is <code>1</code>.
 </p></dd>
 </dl>
 
-<a name="Examples-54"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-54">33.7.1 Examples</a></h3>
+<a name="Examples-62"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-62">28.7.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -13923,7 +10429,7 @@ Apply uncover up-left effect:
 </li></ul>
 
 <a name="boxblur"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-boxblur">33.8 boxblur</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-boxblur">28.8 boxblur</a></h2>
 
 <p>Apply boxblur algorithm to the input video.
 </p>
@@ -13990,8 +10496,8 @@ corresponding value set for &lsquo;<samp>luma_power</samp>&rsquo;.
 </p></dd>
 </dl>
 
-<a name="Examples-4"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-4">33.8.1 Examples</a></h3>
+<a name="Examples-12"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-12">28.8.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -14013,7 +10519,7 @@ Set luma and chroma radius to a fraction of the video dimension:
 </li></ul>
 
 <a name="colorbalance"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-colorbalance">33.9 colorbalance</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-colorbalance">28.9 colorbalance</a></h2>
 <p>Modify intensity of primary colors (red, green and blue) of input frames.
 </p>
 <p>The filter allows an input frame to be adjusted in the shadows, midtones or highlights
@@ -14046,8 +10552,8 @@ value towards the complementary color.
 </p></dd>
 </dl>
 
-<a name="Examples-89"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-89">33.9.1 Examples</a></h3>
+<a name="Examples-68"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-68">28.9.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -14057,7 +10563,7 @@ Add red color cast to shadows:
 </li></ul>
 
 <a name="colorchannelmixer"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-colorchannelmixer">33.10 colorchannelmixer</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-colorchannelmixer">28.10 colorchannelmixer</a></h2>
 
 <p>Adjust video input frames by re-mixing color channels.
 </p>
@@ -14105,8 +10611,8 @@ Default is <code>1</code> for <var>aa</var>, and <code>0</code> for <var>ar</var
 </p></dd>
 </dl>
 
-<a name="Examples-65"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-65">33.10.1 Examples</a></h3>
+<a name="Examples-33"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-33">28.10.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -14120,7 +10626,7 @@ Simulate sepia tones:
 </li></ul>
 
 <a name="colormatrix"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-colormatrix">33.11 colormatrix</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-colormatrix">28.11 colormatrix</a></h2>
 
 <p>Convert color matrix.
 </p>
@@ -14158,13 +10664,13 @@ specified.
 </pre></td></tr></table>
 
 <a name="copy"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-copy">33.12 copy</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-copy">28.12 copy</a></h2>
 
 <p>Copy the input source unchanged to the output. Mainly useful for
 testing purposes.
 </p>
 <a name="crop"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-crop">33.13 crop</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-crop">28.13 crop</a></h2>
 
 <p>Crop the input video to given dimensions.
 </p>
@@ -14277,8 +10783,8 @@ is approximated to the nearest valid value.
 <p>The expression for <var>x</var> may depend on <var>y</var>, and the expression
 for <var>y</var> may depend on <var>x</var>.
 </p>
-<a name="Examples-8"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-8">33.13.1 Examples</a></h3>
+<a name="Examples-64"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-64">28.13.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -14346,7 +10852,7 @@ Set x depending on the value of y:
 </li></ul>
 
 <a name="cropdetect"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-cropdetect">33.14 cropdetect</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-cropdetect">28.14 cropdetect</a></h2>
 
 <p>Auto-detect crop size.
 </p>
@@ -14383,7 +10889,7 @@ playback.
 
 <p><a name="curves"></a>
 </p><a name="curves-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-curves-1">33.15 curves</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-curves-1">28.15 curves</a></h2>
 
 <p>Apply color adjustments using curves.
 </p>
@@ -14460,8 +10966,8 @@ options. In this case, the unset component(s) will fallback on this
 <p>To avoid some filtergraph syntax conflicts, each key points list need to be
 defined using the following syntax: <code>x0/y0 x1/y1 x2/y2 ...</code>.
 </p>
-<a name="Examples-75"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-75">33.15.1 Examples</a></h3>
+<a name="Examples-77"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-77">28.15.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -14503,7 +11009,7 @@ Use a Photoshop preset and redefine the points of the green component:
 </li></ul>
 
 <a name="dctdnoiz"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-dctdnoiz">33.16 dctdnoiz</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-dctdnoiz">28.16 dctdnoiz</a></h2>
 
 <p>Denoise frames using 2D DCT (frequency domain filtering).
 </p>
@@ -14547,8 +11053,8 @@ variable.
 </p></dd>
 </dl>
 
-<a name="Examples-20"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-20">33.16.1 Examples</a></h3>
+<a name="Examples-22"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-22">28.16.1 Examples</a></h3>
 
 <p>Apply a denoise with a &lsquo;<samp>sigma</samp>&rsquo; of <code>4.5</code>:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">dctdnoiz=4.5
@@ -14560,7 +11066,7 @@ variable.
 
 <p><a name="decimate"></a>
 </p><a name="decimate-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-decimate-1">33.17 decimate</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-decimate-1">28.17 decimate</a></h2>
 
 <p>Drop duplicated frames at regular intervals.
 </p>
@@ -14605,8 +11111,43 @@ stream is the clean source from where the kept frames are chosen. Default is
 </p></dd>
 </dl>
 
+<a name="dejudder"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-dejudder">28.18 dejudder</a></h2>
+
+<p>Remove judder produced by partially interlaced telecined content.
+</p>
+<p>Judder can be introduced, for instance, by <a href="#pullup">pullup</a> filter. If the original
+source was partially telecined content then the output of <code>pullup,dejudder</code>
+will have a variable frame rate. May change the recorded frame rate of the
+container. Aside from that change, this filter will not affect constant frame
+rate video.
+</p>
+<p>The option available in this filter is:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>cycle</samp>&rsquo;</dt>
+<dd><p>Specify the length of the window over which the judder repeats.
+</p>
+<p>Accepts any interger greater than 1. Useful values are:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>4</samp>&rsquo;</dt>
+<dd><p>If the original was telecined from 24 to 30 fps (Film to NTSC).
+</p>
+</dd>
+<dt> &lsquo;<samp>5</samp>&rsquo;</dt>
+<dd><p>If the original was telecined from 25 to 30 fps (PAL to NTSC).
+</p>
+</dd>
+<dt> &lsquo;<samp>20</samp>&rsquo;</dt>
+<dd><p>If a mixture of the two.
+</p></dd>
+</dl>
+
+<p>The default is &lsquo;<samp>4</samp>&rsquo;.
+</p></dd>
+</dl>
+
 <a name="delogo"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-delogo">33.18 delogo</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-delogo">28.19 delogo</a></h2>
 
 <p>Suppress a TV station logo by a simple interpolation of the surrounding
 pixels. Just set a rectangle covering the logo and watch it disappear
@@ -14644,8 +11185,8 @@ compute the interpolated pixel values inside the rectangle.
 </dd>
 </dl>
 
-<a name="Examples-44"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-44">33.18.1 Examples</a></h3>
+<a name="Examples-32"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-32">28.19.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -14657,7 +11198,7 @@ and size 100x77, setting a band of size 10:
 </li></ul>
 
 <a name="deshake"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-deshake">33.19 deshake</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-deshake">28.20 deshake</a></h2>
 
 <p>Attempt to fix small changes in horizontal and/or vertical shift. This
 filter helps remove camera shake from hand-holding a camera, bumping a
@@ -14751,7 +11292,7 @@ FFmpeg was configured with <code>--enable-opencl</code>. Default value is 0.
 </dl>
 
 <a name="drawbox"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-drawbox">33.20 drawbox</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-drawbox">28.21 drawbox</a></h2>
 
 <p>Draw a colored box on the input image.
 </p>
@@ -14825,8 +11366,8 @@ each other, so you may for example specify <code>y=x/dar</code> or <code>h=w/dar
 </dd>
 </dl>
 
-<a name="Examples-86"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-86">33.20.1 Examples</a></h3>
+<a name="Examples-19"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-19">28.21.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -14855,7 +11396,7 @@ Draw a 2-pixel red 2.40:1 mask:
 </li></ul>
 
 <a name="drawgrid"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-drawgrid">33.21 drawgrid</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-drawgrid">28.22 drawgrid</a></h2>
 
 <p>Draw a grid on the input image.
 </p>
@@ -14930,8 +11471,8 @@ each other, so you may for example specify <code>y=x/dar</code> or <code>h=w/dar
 </dd>
 </dl>
 
-<a name="Examples-36"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-36">33.21.1 Examples</a></h3>
+<a name="Examples-40"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-40">28.22.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -14947,7 +11488,7 @@ Draw a white 3x3 grid with an opacity of 50%:
 
 <p><a name="drawtext"></a>
 </p><a name="drawtext-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-drawtext-1">33.22 drawtext</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-drawtext-1">28.23 drawtext</a></h2>
 
 <p>Draw text string or text from specified file on top of video using the
 libfreetype library.
@@ -14955,8 +11496,8 @@ libfreetype library.
 <p>To enable compilation of this filter you need to configure FFmpeg with
 <code>--enable-libfreetype</code>.
 </p>
-<a name="Syntax"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Syntax">33.22.1 Syntax</a></h3>
+<a name="Syntax-2"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Syntax-2">28.23.1 Syntax</a></h3>
 
 <p>The description of the accepted parameters follows.
 </p>
@@ -14974,6 +11515,18 @@ option, check the &quot;Color&quot; section in the ffmpeg-utils manual.
 <p>The default value of <var>boxcolor</var> is &quot;white&quot;.
 </p>
 </dd>
+<dt> &lsquo;<samp>borderw</samp>&rsquo;</dt>
+<dd><p>Set the width of the border to be drawn around the text using <var>bordercolor</var>.
+The default value of <var>borderw</var> is 0.
+</p>
+</dd>
+<dt> &lsquo;<samp>bordercolor</samp>&rsquo;</dt>
+<dd><p>Set the color to be used for drawing border around text. For the syntax of this
+option, check the &quot;Color&quot; section in the ffmpeg-utils manual.
+</p>
+<p>The default value of <var>bordercolor</var> is &quot;black&quot;.
+</p>
+</dd>
 <dt> &lsquo;<samp>expansion</samp>&rsquo;</dt>
 <dd><p>Select how the <var>text</var> is expanded. Can be either <code>none</code>,
 <code>strftime</code> (deprecated) or
@@ -15025,7 +11578,7 @@ a combination of the following values:
 <dt> <var>no_autohint</var></dt>
 </dl>
 
-<p>Default value is &quot;render&quot;.
+<p>Default value is &quot;default&quot;.
 </p>
 <p>For more information consult the documentation for the FT_LOAD_*
 libfreetype flags.
@@ -15189,7 +11742,7 @@ each other, so you can for example specify <code>y=x/dar</code>.
 </p>
 <p><a name="drawtext_005fexpansion"></a>
 </p><a name="Text-expansion"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Text-expansion">33.22.2 Text expansion</a></h3>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Text-expansion">28.23.2 Text expansion</a></h3>
 
 <p>If &lsquo;<samp>expansion</samp>&rsquo; is set to <code>strftime</code>,
 the filter recognizes strftime() sequences in the provided text and
@@ -15257,8 +11810,8 @@ It can accept an argument: a strftime() format string.
 </dd>
 </dl>
 
-<a name="Examples-58"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-58">33.22.3 Examples</a></h3>
+<a name="Examples-44"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-44">28.23.3 Examples</a></h3>
 
 <ul>
 <li>
@@ -15328,7 +11881,7 @@ Print the date of a real-time encoding (see strftime(3)):
 <a href="http://freedesktop.org/software/fontconfig/fontconfig-user.html">http://freedesktop.org/software/fontconfig/fontconfig-user.html</a>.
 </p>
 <a name="edgedetect"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-edgedetect">33.23 edgedetect</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-edgedetect">28.24 edgedetect</a></h2>
 
 <p>Detect and draw edges. The filter uses the Canny Edge Detection algorithm.
 </p>
@@ -15344,7 +11897,7 @@ algorithm.
 connected through 8-connectivity with the &quot;weak&quot; edge pixels selected
 by the low threshold.
 </p>
-<p><var>low</var> and <var>high</var> threshold values must be choosen in the range
+<p><var>low</var> and <var>high</var> threshold values must be chosen in the range
 [0,1], and <var>low</var> should be lesser or equal to <var>high</var>.
 </p>
 <p>Default value for <var>low</var> is <code>20/255</code>, and default value for <var>high</var>
@@ -15357,7 +11910,7 @@ is <code>50/255</code>.
 </pre></td></tr></table>
 
 <a name="extractplanes"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-extractplanes">33.24 extractplanes</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-extractplanes">28.25 extractplanes</a></h2>
 
 <p>Extract color channel components from input video stream into
 separate grayscale video streams.
@@ -15385,8 +11938,8 @@ with <code>y</code>, <code>u</code>, <code>v</code> planes at same time.
 </p></dd>
 </dl>
 
-<a name="Examples-70"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-70">33.24.1 Examples</a></h3>
+<a name="Examples-43"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-43">28.25.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -15397,7 +11950,7 @@ into 3 grayscale outputs:
 </li></ul>
 
 <a name="elbg"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-elbg">33.25 elbg</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-elbg">28.26 elbg</a></h2>
 
 <p>Apply a posterize effect using the ELBG (Enhanced LBG) algorithm.
 </p>
@@ -15427,7 +11980,7 @@ will try to use a good random seed on a best effort basis.
 </dl>
 
 <a name="fade"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-fade">33.26 fade</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-fade">28.27 fade</a></h2>
 
 <p>Apply fade-in/out effect to input video.
 </p>
@@ -15477,8 +12030,8 @@ If both duration and nb_frames are specified, duration is used. Default is 0.
 </p></dd>
 </dl>
 
-<a name="Examples-3"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-3">33.26.1 Examples</a></h3>
+<a name="Examples-34"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-34">28.27.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -15519,7 +12072,7 @@ Make first 5.5 seconds black, then fade in for 0.5 seconds:
 </li></ul>
 
 <a name="field"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-field">33.27 field</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-field">28.28 field</a></h2>
 
 <p>Extract a single field from an interlaced image using stride
 arithmetic to avoid wasting CPU time. The output frames are marked as
@@ -15536,7 +12089,7 @@ non-interlaced.
 </dl>
 
 <a name="fieldmatch"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-fieldmatch">33.28 fieldmatch</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-fieldmatch">28.29 fieldmatch</a></h2>
 
 <p>Field matching filter for inverse telecine. It is meant to reconstruct the
 progressive frames from a telecined stream. The filter does not drop duplicated
@@ -15786,10 +12339,10 @@ as &lsquo;<samp>MI</samp>&rsquo; in TFM/VFM vocabulary.
 
 <p><a name="p_002fc_002fn_002fu_002fb-meaning"></a>
 </p><a name="p_002fc_002fn_002fu_002fb-meaning-1"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-p_002fc_002fn_002fu_002fb-meaning-1">33.28.1 p/c/n/u/b meaning</a></h3>
+<h3 class="subsection"><a href="ffplay-all.html#toc-p_002fc_002fn_002fu_002fb-meaning-1">28.29.1 p/c/n/u/b meaning</a></h3>
 
 <a name="p_002fc_002fn"></a>
-<h4 class="subsubsection"><a href="ffplay-all.html#toc-p_002fc_002fn">33.28.1.1 p/c/n</a></h4>
+<h4 class="subsubsection"><a href="ffplay-all.html#toc-p_002fc_002fn">28.29.1.1 p/c/n</a></h4>
 
 <p>We assume the following telecined stream:
 </p>
@@ -15842,7 +12395,7 @@ basically, they refer to the frame and field of the opposite parity:
 </li></ul>
 
 <a name="u_002fb"></a>
-<h4 class="subsubsection"><a href="ffplay-all.html#toc-u_002fb">33.28.1.2 u/b</a></h4>
+<h4 class="subsubsection"><a href="ffplay-all.html#toc-u_002fb">28.29.1.2 u/b</a></h4>
 
 <p>The <var>u</var> and <var>b</var> matching are a bit special in the sense that they match
 from the opposite parity flag. In the following examples, we assume that we are
@@ -15875,8 +12428,8 @@ Output frames:
                  2          1          3          2          2
 </pre></td></tr></table>
 
-<a name="Examples-52"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-52">33.28.2 Examples</a></h3>
+<a name="Examples-55"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-55">28.29.2 Examples</a></h3>
 
 <p>Simple IVTC of a top field first telecined stream:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">fieldmatch=order=tff:combmatch=none, decimate
@@ -15887,7 +12440,7 @@ Output frames:
 </pre></td></tr></table>
 
 <a name="fieldorder"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-fieldorder">33.29 fieldorder</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-fieldorder">28.30 fieldorder</a></h2>
 
 <p>Transform the field order of the input video.
 </p>
@@ -15918,7 +12471,7 @@ which is bottom field first.
 </pre></td></tr></table>
 
 <a name="fifo"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-fifo">33.30 fifo</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-fifo">28.31 fifo</a></h2>
 
 <p>Buffer input images and send them when they are requested.
 </p>
@@ -15929,7 +12482,7 @@ framework.
 </p>
 <p><a name="format"></a>
 </p><a name="format-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-format-1">33.31 format</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-format-1">28.32 format</a></h2>
 
 <p>Convert the input video to one of the specified pixel formats.
 Libavfilter will try to pick one that is supported for the input to
@@ -15944,8 +12497,8 @@ the next filter.
 </dd>
 </dl>
 
-<a name="Examples-57"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-57">33.31.1 Examples</a></h3>
+<a name="Examples-17"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-17">28.32.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -15960,7 +12513,7 @@ Convert the input video to the format <var>yuv420p</var>
 
 <p><a name="fps"></a>
 </p><a name="fps-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-fps-1">33.32 fps</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-fps-1">28.33 fps</a></h2>
 
 <p>Convert the video to specified constant frame rate by duplicating or dropping
 frames as necessary.
@@ -16011,8 +12564,8 @@ frames with a negative PTS.
 </p>
 <p>See also the <a href="#setpts">setpts</a> filter.
 </p>
-<a name="Examples-25"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-25">33.32.1 Examples</a></h3>
+<a name="Examples-60"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-60">28.33.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -16026,8 +12579,57 @@ Sets the fps to 24, using abbreviation and rounding method to round to nearest:
 </pre></td></tr></table>
 </li></ul>
 
+<a name="framepack"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-framepack">28.34 framepack</a></h2>
+
+<p>Pack two different video streams into a stereoscopic video, setting proper
+metadata on supported codecs. The two views should have the same size and
+framerate and processing will stop when the shorter video ends. Please note
+that you may conveniently adjust view properties with the <a href="#scale">scale</a> and
+<a href="#fps">fps</a> filters.
+</p>
+<p>This filter accepts the following named parameters:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>format</samp>&rsquo;</dt>
+<dd><p>Desired packing format. Supported values are:
+</p>
+<dl compact="compact">
+<dt> &lsquo;<samp>sbs</samp>&rsquo;</dt>
+<dd><p>Views are next to each other (default).
+</p>
+</dd>
+<dt> &lsquo;<samp>tab</samp>&rsquo;</dt>
+<dd><p>Views are on top of each other.
+</p>
+</dd>
+<dt> &lsquo;<samp>lines</samp>&rsquo;</dt>
+<dd><p>Views are packed by line.
+</p>
+</dd>
+<dt> &lsquo;<samp>columns</samp>&rsquo;</dt>
+<dd><p>Views are eacked by column.
+</p>
+</dd>
+<dt> &lsquo;<samp>frameseq</samp>&rsquo;</dt>
+<dd><p>Views are temporally interleaved.
+</p>
+</dd>
+</dl>
+
+</dd>
+</dl>
+
+<p>Some examples follow:
+</p>
+<table><tr><td>&nbsp;</td><td><pre class="example"># Convert left and right views into a frame sequential video.
+ffmpeg -i LEFT -i RIGHT -filter_complex framepack=frameseq OUTPUT
+
+# Convert views into a side-by-side video with the same output resolution as the input.
+ffmpeg -i LEFT -i RIGHT -filter_complex [0:v]scale=w=iw/2[left],[1:v]scale=w=iw/2[right],[left][right]framepack=sbs OUTPUT
+</pre></td></tr></table>
+
 <a name="framestep"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-framestep">33.33 framestep</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-framestep">28.35 framestep</a></h2>
 
 <p>Select one frame every N-th frame.
 </p>
@@ -16041,7 +12643,7 @@ Allowed values are positive integers higher than 0. Default value is <code>1</co
 
 <p><a name="frei0r"></a>
 </p><a name="frei0r-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-frei0r-1">33.34 frei0r</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-frei0r-1">28.36 frei0r</a></h2>
 
 <p>Apply a frei0r effect to the input video.
 </p>
@@ -16076,8 +12678,8 @@ section in the ffmpeg-utils manual), a position (specified by the syntax <var>X<
 <p>The number and kind of parameters depend on the loaded effect. If an
 effect parameter is not specified the default value is set.
 </p>
-<a name="Examples-12"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-12">33.34.1 Examples</a></h3>
+<a name="Examples-1"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-1">28.36.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -16103,7 +12705,7 @@ positions:
 <a href="http://frei0r.dyne.org">http://frei0r.dyne.org</a>
 </p>
 <a name="geq"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-geq">33.35 geq</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-geq">28.37 geq</a></h2>
 
 <p>The filter accepts the following options:
 </p>
@@ -16208,8 +12810,8 @@ plane. Return 0 if there is no such plane.
 <p>For functions, if <var>x</var> and <var>y</var> are outside the area, the value will be
 automatically clipped to the closer edge.
 </p>
-<a name="Examples-79"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-79">33.35.1 Examples</a></h3>
+<a name="Examples-82"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-82">28.37.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -16240,7 +12842,7 @@ Modify RGB components depending on pixel position:
 </li></ul>
 
 <a name="gradfun"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-gradfun">33.36 gradfun</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-gradfun">28.38 gradfun</a></h2>
 
 <p>Fix the banding artifacts that are sometimes introduced into nearly flat
 regions by truncation to 8bit color depth.
@@ -16273,8 +12875,8 @@ will be clipped to the valid range.
 <p>Alternatively, the options can be specified as a flat string:
 <var>strength</var>[:<var>radius</var>]
 </p>
-<a name="Examples-72"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-72">33.36.1 Examples</a></h3>
+<a name="Examples"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples">28.38.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -16292,7 +12894,7 @@ value):
 
 <p><a name="haldclut"></a>
 </p><a name="haldclut-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-haldclut-1">33.37 haldclut</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-haldclut-1">28.39 haldclut</a></h2>
 
 <p>Apply a Hald CLUT to a video stream.
 </p>
@@ -16319,10 +12921,10 @@ filters share the same internals).
 (Hald CLUT author) at <a href="http://www.quelsolaar.com/technology/clut.html">http://www.quelsolaar.com/technology/clut.html</a>.
 </p>
 <a name="Workflow-examples"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Workflow-examples">33.37.1 Workflow examples</a></h3>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Workflow-examples">28.39.1 Workflow examples</a></h3>
 
 <a name="Hald-CLUT-video-stream"></a>
-<h4 class="subsubsection"><a href="ffplay-all.html#toc-Hald-CLUT-video-stream">33.37.1.1 Hald CLUT video stream</a></h4>
+<h4 class="subsubsection"><a href="ffplay-all.html#toc-Hald-CLUT-video-stream">28.39.1.1 Hald CLUT video stream</a></h4>
 
 <p>Generate an identity Hald CLUT stream altered with various effects:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -f lavfi -i <a href="#haldclutsrc">haldclutsrc</a>=8 -vf &quot;hue=H=2*PI*t:s=sin(2*PI*t)+1, curves=cross_process&quot; -t 10 -c:v ffv1 clut.nut
@@ -16339,7 +12941,7 @@ filters share the same internals).
 to the remaining frames of the <code>mandelbrot</code> stream.
 </p>
 <a name="Hald-CLUT-with-preview"></a>
-<h4 class="subsubsection"><a href="ffplay-all.html#toc-Hald-CLUT-with-preview">33.37.1.2 Hald CLUT with preview</a></h4>
+<h4 class="subsubsection"><a href="ffplay-all.html#toc-Hald-CLUT-with-preview">28.39.1.2 Hald CLUT with preview</a></h4>
 
 <p>A Hald CLUT is supposed to be a squared image of <code>Level*Level*Level</code> by
 <code>Level*Level*Level</code> pixels. For a given Hald CLUT, FFmpeg will select the
@@ -16366,7 +12968,7 @@ the color changes.
 </pre></td></tr></table>
 
 <a name="hflip"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-hflip">33.38 hflip</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-hflip">28.40 hflip</a></h2>
 
 <p>Flip the input video horizontally.
 </p>
@@ -16375,7 +12977,7 @@ the color changes.
 </pre></td></tr></table>
 
 <a name="histeq"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-histeq">33.39 histeq</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-histeq">28.41 histeq</a></h2>
 <p>This filter applies a global color histogram equalization on a
 per-frame basis.
 </p>
@@ -16412,12 +13014,12 @@ the histogram. Possible values are <code>none</code>, <code>weak</code> or
 </dl>
 
 <a name="histogram"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-histogram">33.40 histogram</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-histogram">28.42 histogram</a></h2>
 
 <p>Compute and draw a color distribution histogram for the input video.
 </p>
-<p>The computed histogram is a representation of distribution of color components
-in an image.
+<p>The computed histogram is a representation of the color component
+distribution in an image.
 </p>
 <p>The filter accepts the following options:
 </p>
@@ -16428,44 +13030,41 @@ in an image.
 <p>It accepts the following values:
 </p><dl compact="compact">
 <dt> &lsquo;<samp>levels</samp>&rsquo;</dt>
-<dd><p>standard histogram that display color components distribution in an image.
-Displays color graph for each color component. Shows distribution
-of the Y, U, V, A or R, G, B components, depending on input format,
-in current frame. Bellow each graph is color component scale meter.
+<dd><p>Standard histogram that displays the color components distribution in an
+image. Displays color graph for each color component. Shows distribution of
+the Y, U, V, A or R, G, B components, depending on input format, in the
+current frame. Below each graph a color component scale meter is shown.
 </p>
 </dd>
 <dt> &lsquo;<samp>color</samp>&rsquo;</dt>
-<dd><p>chroma values in vectorscope, if brighter more such chroma values are
-distributed in an image.
-Displays chroma values (U/V color placement) in two dimensional graph
-(which is called a vectorscope). It can be used to read of the hue and
-saturation of the current frame. At a same time it is a histogram.
-The whiter a pixel in the vectorscope, the more pixels of the input frame
-correspond to that pixel (that is the more pixels have this chroma value).
-The V component is displayed on the horizontal (X) axis, with the leftmost
-side being V = 0 and the rightmost side being V = 255.
-The U component is displayed on the vertical (Y) axis, with the top
-representing U = 0 and the bottom representing U = 255.
-</p>
-<p>The position of a white pixel in the graph corresponds to the chroma value
-of a pixel of the input clip. So the graph can be used to read of the
-hue (color flavor) and the saturation (the dominance of the hue in the color).
-As the hue of a color changes, it moves around the square. At the center of
-the square, the saturation is zero, which means that the corresponding pixel
-has no color. If you increase the amount of a specific color, while leaving
-the other colors unchanged, the saturation increases, and you move towards
+<dd><p>Displays chroma values (U/V color placement) in a two dimensional
+graph (which is called a vectorscope). The brighter a pixel in the
+vectorscope, the more pixels of the input frame correspond to that pixel
+(i.e., more pixels have this chroma value). The V component is displayed on
+the horizontal (X) axis, with the leftmost side being V = 0 and the rightmost
+side being V = 255. The U component is displayed on the vertical (Y) axis,
+with the top representing U = 0 and the bottom representing U = 255.
+</p>
+<p>The position of a white pixel in the graph corresponds to the chroma value of
+a pixel of the input clip. The graph can therefore be used to read the hue
+(color flavor) and the saturation (the dominance of the hue in the color). As
+the hue of a color changes, it moves around the square. At the center of the
+square the saturation is zero, which means that the corresponding pixel has no
+color. If the amount of a specific color is increased (while leaving the other
+colors unchanged) the saturation increases, and the indicator moves towards
 the edge of the square.
 </p>
 </dd>
 <dt> &lsquo;<samp>color2</samp>&rsquo;</dt>
-<dd><p>chroma values in vectorscope, similar as <code>color</code> but actual chroma values
+<dd><p>Chroma values in vectorscope, similar as <code>color</code> but actual chroma values
 are displayed.
 </p>
 </dd>
 <dt> &lsquo;<samp>waveform</samp>&rsquo;</dt>
-<dd><p>per row/column color component graph. In row mode graph in the left side represents
-color component value 0 and right side represents value = 255. In column mode top
-side represents color component value = 0 and bottom side represents value = 255.
+<dd><p>Per row/column color component graph. In row mode, the graph on the left side
+represents color component value 0 and the right side represents value = 255.
+In column mode, the top side represents color component value = 0 and bottom
+side represents value = 255.
 </p></dd>
 </dl>
 <p>Default value is <code>levels</code>.
@@ -16482,8 +13081,8 @@ Allowed range is [0, 40].
 </p>
 </dd>
 <dt> &lsquo;<samp>step</samp>&rsquo;</dt>
-<dd><p>Set step for <code>waveform</code> mode. Smaller values are useful to find out how much
-of same luminance values across input rows/columns are distributed.
+<dd><p>Set step for <code>waveform</code> mode. Smaller values are useful to find out how
+many values of the same luminance are distributed across input rows/columns.
 Default value is <code>10</code>. Allowed range is [1, 255].
 </p>
 </dd>
@@ -16505,27 +13104,26 @@ It accepts the following values:
 </p><dl compact="compact">
 <dt> &lsquo;<samp>parade</samp>&rsquo;</dt>
 <dd><p>Display separate graph for the color components side by side in
-<code>row</code> waveform mode or one below other in <code>column</code> waveform mode
-for <code>waveform</code> histogram mode. For <code>levels</code> histogram mode
-per color component graphs are placed one bellow other.
+<code>row</code> waveform mode or one below the other in <code>column</code> waveform mode
+for <code>waveform</code> histogram mode. For <code>levels</code> histogram mode,
+per color component graphs are placed below each other.
 </p>
-<p>This display mode in <code>waveform</code> histogram mode makes it easy to spot
-color casts in the highlights and shadows of an image, by comparing the
-contours of the top and the bottom of each waveform.
-Since whites, grays, and blacks are characterized by
-exactly equal amounts of red, green, and blue, neutral areas of the
-picture should display three waveforms of roughly equal width/height.
-If not, the correction is easy to make by making adjustments to level the
-three waveforms.
+<p>Using this display mode in <code>waveform</code> histogram mode makes it easy to
+spot color casts in the highlights and shadows of an image, by comparing the
+contours of the top and the bottom graphs of each waveform. Since whites,
+grays, and blacks are characterized by exactly equal amounts of red, green,
+and blue, neutral areas of the picture should display three waveforms of
+roughly equal width/height. If not, the correction is easy to perform by
+making level adjustments the three waveforms.
 </p>
 </dd>
 <dt> &lsquo;<samp>overlay</samp>&rsquo;</dt>
-<dd><p>Presents information that&rsquo;s identical to that in the <code>parade</code>, except
+<dd><p>Presents information identical to that in the <code>parade</code>, except
 that the graphs representing color components are superimposed directly
 over one another.
 </p>
-<p>This display mode in <code>waveform</code> histogram mode can make it easier to spot
-the relative differences or similarities in overlapping areas of the color
+<p>This display mode in <code>waveform</code> histogram mode makes it easier to spot
+relative differences or similarities in overlapping areas of the color
 components that are supposed to be identical, such as neutral whites, grays,
 or blacks.
 </p></dd>
@@ -16539,8 +13137,8 @@ Default is <code>linear</code>.
 </p></dd>
 </dl>
 
-<a name="Examples-16"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-16">33.40.1 Examples</a></h3>
+<a name="Examples-74"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-74">28.42.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -16552,7 +13150,7 @@ Calculate and draw histogram:
 
 <p><a name="hqdn3d"></a>
 </p><a name="hqdn3d-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-hqdn3d-1">33.41 hqdn3d</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-hqdn3d-1">28.43 hqdn3d</a></h2>
 
 <p>High precision/quality 3d denoise filter. This filter aims to reduce
 image noise producing smooth images and making still images really
@@ -16583,7 +13181,7 @@ defaults to 3.0*<var>luma_spatial</var>/4.0
 </dl>
 
 <a name="hue"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-hue">33.42 hue</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-hue">28.44 hue</a></h2>
 
 <p>Modify the hue and/or the saturation of the input.
 </p>
@@ -16639,8 +13237,8 @@ expressions containing the following constants:
 </p></dd>
 </dl>
 
-<a name="Examples-51"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-51">33.42.1 Examples</a></h3>
+<a name="Examples-39"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-39">28.44.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -16680,7 +13278,7 @@ Apply a 3 seconds saturation fade-out effect starting at 5 seconds:
 </li></ul>
 
 <a name="Commands"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Commands">33.42.2 Commands</a></h3>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Commands">28.44.2 Commands</a></h3>
 
 <p>This filter supports the following commands:
 </p><dl compact="compact">
@@ -16697,7 +13295,7 @@ value.
 </dl>
 
 <a name="idet"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-idet">33.43 idet</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-idet">28.45 idet</a></h2>
 
 <p>Detect video interlacing type.
 </p>
@@ -16716,11 +13314,11 @@ top or bottom field first.
 </dl>
 
 <a name="il"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-il">33.44 il</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-il">28.46 il</a></h2>
 
 <p>Deinterleave or interleave fields.
 </p>
-<p>This filter allows to process interlaced images fields without
+<p>This filter allows one to process interlaced images fields without
 deinterlacing them. Deinterleaving splits the input frame into 2
 fields (so called half pictures). Odd lines are moved to the top
 half of the output image, even lines to the bottom half.
@@ -16759,11 +13357,12 @@ You can process (filter) them independently and then re-interleave them.
 </dl>
 
 <a name="interlace"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-interlace">33.45 interlace</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-interlace">28.47 interlace</a></h2>
 
 <p>Simple interlacing filter from progressive contents. This interleaves upper (or
 lower) lines from odd frames with lower (or upper) lines from even frames,
-halving the frame rate and preserving image height.
+halving the frame rate and preserving image height. A vertical lowpass filter
+is always applied in order to avoid twitter effects and reduce moiré patterns.
 </p>
 <table><tr><td>&nbsp;</td><td><pre class="example">   Original        Original             New Frame
    Frame 'j'      Frame 'j+1'             (tff)
@@ -16782,16 +13381,11 @@ New Frame + 1 will be generated by Frame 'j+2' and Frame 'j+3' and so on
 <dt> &lsquo;<samp>scan</samp>&rsquo;</dt>
 <dd><p>determines whether the interlaced frame is taken from the even (tff - default)
 or odd (bff) lines of the progressive frame.
-</p>
-</dd>
-<dt> &lsquo;<samp>lowpass</samp>&rsquo;</dt>
-<dd><p>Enable (default) or disable the vertical lowpass filter to avoid twitter
-interlacing and reduce moire patterns.
 </p></dd>
 </dl>
 
 <a name="kerndeint"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-kerndeint">33.46 kerndeint</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-kerndeint">28.48 kerndeint</a></h2>
 
 <p>Deinterlace input video by applying Donald Graft&rsquo;s adaptive kernel
 deinterling. Work on interlaced parts of a video to produce
@@ -16826,8 +13420,8 @@ Default is 0.
 </p></dd>
 </dl>
 
-<a name="Examples-50"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-50">33.46.1 Examples</a></h3>
+<a name="Examples-45"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-45">28.48.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -16848,7 +13442,7 @@ Paint processed pixels in white:
 
 <p><a name="lut3d"></a>
 </p><a name="lut3d-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-lut3d-1">33.47 lut3d</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-lut3d-1">28.49 lut3d</a></h2>
 
 <p>Apply a 3D LUT to an input video.
 </p>
@@ -16894,7 +13488,7 @@ Paint processed pixels in white:
 </dl>
 
 <a name="lut_002c-lutrgb_002c-lutyuv"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-lut_002c-lutrgb_002c-lutyuv">33.48 lut, lutrgb, lutyuv</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-lut_002c-lutrgb_002c-lutyuv">28.50 lut, lutrgb, lutyuv</a></h2>
 
 <p>Compute a look-up table for binding each pixel component input value
 to an output value, and apply it to input video.
@@ -16996,8 +13590,8 @@ expression
 
 <p>All expressions default to &quot;val&quot;.
 </p>
-<a name="Examples-14"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-14">33.48.1 Examples</a></h3>
+<a name="Examples-5"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-5">28.50.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -17048,7 +13642,7 @@ Discard least significant bits of luma:
 </li></ul>
 
 <a name="mergeplanes"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-mergeplanes">33.49 mergeplanes</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-mergeplanes">28.51 mergeplanes</a></h2>
 
 <p>Merge color channel components from several video streams.
 </p>
@@ -17075,8 +13669,8 @@ plane, &rsquo;Cc&rsquo; describes the mapping for the output stream third plane
 </p></dd>
 </dl>
 
-<a name="Examples-67"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-67">33.49.1 Examples</a></h3>
+<a name="Examples-3"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-3">28.51.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -17106,7 +13700,7 @@ Cast a rgb24 clip to yuv444p:
 </li></ul>
 
 <a name="mcdeint"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-mcdeint">33.50 mcdeint</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-mcdeint">28.52 mcdeint</a></h2>
 
 <p>Apply motion-compensation deinterlacing.
 </p>
@@ -17158,7 +13752,7 @@ optimal individual vectors. Default value is 1.
 </dl>
 
 <a name="mp"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-mp">33.51 mp</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-mp">28.53 mp</a></h2>
 
 <p>Apply an MPlayer filter to the input video.
 </p>
@@ -17192,8 +13786,8 @@ the named filter.
 of the corresponding MPlayer filters. For detailed instructions check
 the &quot;VIDEO FILTERS&quot; section in the MPlayer manual.
 </p>
-<a name="Examples-7"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-7">33.51.1 Examples</a></h3>
+<a name="Examples-10"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-10">28.53.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -17205,7 +13799,7 @@ Adjust gamma, brightness, contrast:
 <p>See also mplayer(1), <a href="http://www.mplayerhq.hu/">http://www.mplayerhq.hu/</a>.
 </p>
 <a name="mpdecimate"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-mpdecimate">33.52 mpdecimate</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-mpdecimate">28.54 mpdecimate</a></h2>
 
 <p>Drop frames that do not differ greatly from the previous frame in
 order to reduce frame rate.
@@ -17247,7 +13841,7 @@ meaning the whole image) differ by more than a threshold of &lsquo;<samp>lo</sam
 
 
 <a name="negate"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-negate">33.53 negate</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-negate">28.55 negate</a></h2>
 
 <p>Negate input video.
 </p>
@@ -17255,7 +13849,7 @@ meaning the whole image) differ by more than a threshold of &lsquo;<samp>lo</sam
 alpha component (if available). The default value in input is 0.
 </p>
 <a name="noformat"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-noformat">33.54 noformat</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-noformat">28.56 noformat</a></h2>
 
 <p>Force libavfilter not to use any of the specified pixel formats for the
 input to the next filter.
@@ -17269,8 +13863,8 @@ input to the next filter.
 </dd>
 </dl>
 
-<a name="Examples-53"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-53">33.54.1 Examples</a></h3>
+<a name="Examples-65"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-65">28.56.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -17285,8 +13879,8 @@ Convert the input video to any of the formats not contained in the list:
 </pre></td></tr></table>
 </li></ul>
 
-<a name="noise"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-noise">33.55 noise</a></h2>
+<a name="noise-1"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-noise-1">28.57 noise</a></h2>
 
 <p>Add noise on video input frame.
 </p>
@@ -17335,20 +13929,20 @@ Available values for component flags are:
 </dd>
 </dl>
 
-<a name="Examples-17"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-17">33.55.1 Examples</a></h3>
+<a name="Examples-58"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-58">28.57.1 Examples</a></h3>
 
 <p>Add temporal and uniform noise to input video:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">noise=alls=20:allf=t+u
 </pre></td></tr></table>
 
 <a name="null"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-null">33.56 null</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-null">28.58 null</a></h2>
 
 <p>Pass the video source unchanged to the output.
 </p>
 <a name="ocv"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-ocv">33.57 ocv</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-ocv">28.59 ocv</a></h2>
 
 <p>Apply video transform using libopencv.
 </p>
@@ -17377,7 +13971,7 @@ information:
 </p>
 <p><a name="dilate"></a>
 </p><a name="dilate-1"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-dilate-1">33.57.1 dilate</a></h3>
+<h3 class="subsection"><a href="ffplay-all.html#toc-dilate-1">28.59.1 dilate</a></h3>
 
 <p>Dilate an image by using a specific structuring element.
 This filter corresponds to the libopencv function <code>cvDilate</code>.
@@ -17423,7 +14017,7 @@ ocv=dilate:0x0+2x2/custom=diamond.shape|2
 </pre></td></tr></table>
 
 <a name="erode"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-erode">33.57.2 erode</a></h3>
+<h3 class="subsection"><a href="ffplay-all.html#toc-erode">28.59.2 erode</a></h3>
 
 <p>Erode an image by using a specific structuring element.
 This filter corresponds to the libopencv function <code>cvErode</code>.
@@ -17432,7 +14026,7 @@ This filter corresponds to the libopencv function <code>cvErode</code>.
 with the same syntax and semantics as the <a href="#dilate">dilate</a> filter.
 </p>
 <a name="smooth"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-smooth">33.57.3 smooth</a></h3>
+<h3 class="subsection"><a href="ffplay-all.html#toc-smooth">28.59.3 smooth</a></h3>
 
 <p>Smooth the input video.
 </p>
@@ -17456,7 +14050,7 @@ libopencv function <code>cvSmooth</code>.
 </p>
 <p><a name="overlay"></a>
 </p><a name="overlay-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-overlay-1">33.58 overlay</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-overlay-1">28.60 overlay</a></h2>
 
 <p>Overlay one video on top of another.
 </p>
@@ -17475,6 +14069,23 @@ on the main video. Default value is &quot;0&quot; for both expressions. In case
 the expression is invalid, it is set to a huge value (meaning that the
 overlay will not be displayed within the output visible area).
 </p>
+</dd>
+<dt> &lsquo;<samp>eof_action</samp>&rsquo;</dt>
+<dd><p>The action to take when EOF is encountered on the secondary input, accepts one
+of the following values:
+</p>
+<dl compact="compact">
+<dt> &lsquo;<samp>repeat</samp>&rsquo;</dt>
+<dd><p>repeat the last frame (the default)
+</p></dd>
+<dt> &lsquo;<samp>endall</samp>&rsquo;</dt>
+<dd><p>end both streams
+</p></dd>
+<dt> &lsquo;<samp>pass</samp>&rsquo;</dt>
+<dd><p>pass through the main input
+</p></dd>
+</dl>
+
 </dd>
 <dt> &lsquo;<samp>eval</samp>&rsquo;</dt>
 <dd><p>Set when the expressions for &lsquo;<samp>x</samp>&rsquo;, and &lsquo;<samp>y</samp>&rsquo; are evaluated.
@@ -17508,6 +14119,10 @@ terminates. Default value is 0.
 <dd><p>force YUV420 output
 </p>
 </dd>
+<dt> &lsquo;<samp>yuv422</samp>&rsquo;</dt>
+<dd><p>force YUV422 output
+</p>
+</dd>
 <dt> &lsquo;<samp>yuv444</samp>&rsquo;</dt>
 <dd><p>force YUV444 output
 </p>
@@ -17570,7 +14185,8 @@ format. For example for the pixel format &quot;yuv422p&quot; <var>hsub</var> is
 </dd>
 <dt> &lsquo;<samp>t</samp>&rsquo;</dt>
 <dd><p>timestamp expressed in seconds, NAN if the input timestamp is unknown
-</p></dd>
+</p>
+</dd>
 </dl>
 
 <p>Note that the <var>n</var>, <var>pos</var>, <var>t</var> variables are available only
@@ -17586,8 +14202,8 @@ the <var>movie</var> filter.
 <p>You can chain together more overlays but you should test the
 efficiency of such approach.
 </p>
-<a name="Commands-2"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Commands-2">33.58.1 Commands</a></h3>
+<a name="Commands-4"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Commands-4">28.60.1 Commands</a></h3>
 
 <p>This filter supports the following commands:
 </p><dl compact="compact">
@@ -17601,8 +14217,8 @@ value.
 </p></dd>
 </dl>
 
-<a name="Examples-73"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-73">33.58.2 Examples</a></h3>
+<a name="Examples-15"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-15">28.60.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -17660,6 +14276,13 @@ nullsrc=size=200x100 [background];
 &quot;
 </pre></td></tr></table>
 
+</li><li>
+mask 10-20 seconds of a video by applying the delogo filter to a section
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i test.avi -codec:v:0 wmv2 -ar 11025 -b:v 9000k
+-vf '[in]split[split_main][split_delogo];[split_delogo]trim=start=360:end=371,delogo=0:0:640:480[delogoed];[split_main][delogoed]overlay=eof_action=pass[out]'
+masked.avi
+</pre></td></tr></table>
+
 </li><li>
 Chain several overlays in cascade:
 <table><tr><td>&nbsp;</td><td><pre class="example">nullsrc=s=200x200 [bg];
@@ -17673,7 +14296,7 @@ testsrc=s=100x100, split=4 [in0][in1][in2][in3];
 </li></ul>
 
 <a name="owdenoise"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-owdenoise">33.59 owdenoise</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-owdenoise">28.61 owdenoise</a></h2>
 
 <p>Apply Overcomplete Wavelet denoiser.
 </p>
@@ -17703,7 +14326,7 @@ slow down filtering.
 </dl>
 
 <a name="pad"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-pad">33.60 pad</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-pad">28.62 pad</a></h2>
 
 <p>Add paddings to the input image, and place the original input at the
 given coordinates <var>x</var>, <var>y</var>.
@@ -17793,8 +14416,8 @@ pixel format &quot;yuv422p&quot; <var>hsub</var> is 2 and <var>vsub</var> is 1.
 </p></dd>
 </dl>
 
-<a name="Examples-63"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-63">33.60.1 Examples</a></h3>
+<a name="Examples-52"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-52">28.62.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -17846,7 +14469,7 @@ corner of the output padded area:
 </li></ul>
 
 <a name="perspective"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-perspective">33.61 perspective</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-perspective">28.63 perspective</a></h2>
 
 <p>Correct perspective of video not recorded perpendicular to the screen.
 </p>
@@ -17888,7 +14511,7 @@ Default values are <code>0:0:W:0:0:H:W:H</code> with which perspective will rema
 </dl>
 
 <a name="phase"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-phase">33.62 phase</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-phase">28.64 phase</a></h2>
 
 <p>Delay interlaced video by one field time so that the field order changes.
 </p>
@@ -17960,7 +14583,7 @@ Filter selects among &lsquo;<samp>t</samp>&rsquo;, &lsquo;<samp>b</samp>&rsquo;
 </dl>
 
 <a name="pixdesctest"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-pixdesctest">33.63 pixdesctest</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-pixdesctest">28.65 pixdesctest</a></h2>
 
 <p>Pixel format descriptor test filter, mainly useful for internal
 testing. The output video should be equal to the input video.
@@ -17972,7 +14595,7 @@ testing. The output video should be equal to the input video.
 <p>can be used to test the monowhite pixel format descriptor definition.
 </p>
 <a name="pp"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-pp">33.64 pp</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-pp">28.66 pp</a></h2>
 
 <p>Enable the specified chain of postprocessing subfilters using libpostproc. This
 library should be automatically selected with a GPL build (<code>--enable-gpl</code>).
@@ -18154,8 +14777,8 @@ specify.
 </p></dd>
 </dl>
 
-<a name="Examples-26"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-26">33.64.1 Examples</a></h3>
+<a name="Examples-11"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-11">28.66.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -18182,7 +14805,7 @@ automatically depending on available CPU time:
 </li></ul>
 
 <a name="psnr"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-psnr">33.65 psnr</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-psnr">28.67 psnr</a></h2>
 
 <p>Obtain the average, maximum and minimum PSNR (Peak Signal to Noise
 Ratio) between two input videos.
@@ -18253,8 +14876,9 @@ specified by the suffix.
 reference file &lsquo;<tt>ref_movie.mpg</tt>&rsquo;. The PSNR of each individual frame
 is stored in &lsquo;<tt>stats.log</tt>&rsquo;.
 </p>
-<a name="pullup"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-pullup">33.66 pullup</a></h2>
+<p><a name="pullup"></a>
+</p><a name="pullup-1"></a>
+<h2 class="section"><a href="ffplay-all.html#toc-pullup-1">28.68 pullup</a></h2>
 
 <p>Pulldown reversal (inverse telecine) filter, capable of handling mixed
 hard-telecine, 24000/1001 fps progressive, and 30000/1001 fps progressive
@@ -18324,7 +14948,7 @@ telecine NTSC input:
 </pre></td></tr></table>
 
 <a name="removelogo"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-removelogo">33.67 removelogo</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-removelogo">28.69 removelogo</a></h2>
 
 <p>Suppress a TV station logo, using an image file to determine which
 pixels comprise the logo. It works by filling in the pixels that
@@ -18356,7 +14980,7 @@ the image and will destroy more information than necessary, and extra
 pixels will slow things down on a large logo.
 </p>
 <a name="rotate"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-rotate">33.68 rotate</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-rotate">28.70 rotate</a></h2>
 
 <p>Rotate video by an arbitrary angle expressed in radians.
 </p>
@@ -18419,12 +15043,12 @@ pixel format &quot;yuv422p&quot; <var>hsub</var> is 2 and <var>vsub</var> is 1.
 </dd>
 <dt> &lsquo;<samp>in_w, iw</samp>&rsquo;</dt>
 <dt> &lsquo;<samp>in_h, ih</samp>&rsquo;</dt>
-<dd><p>the input video width and heigth
+<dd><p>the input video width and height
 </p>
 </dd>
 <dt> &lsquo;<samp>out_w, ow</samp>&rsquo;</dt>
 <dt> &lsquo;<samp>out_h, oh</samp>&rsquo;</dt>
-<dd><p>the output width and heigth, that is the size of the padded area as
+<dd><p>the output width and height, that is the size of the padded area as
 specified by the <var>width</var> and <var>height</var> expressions
 </p>
 </dd>
@@ -18438,8 +15062,8 @@ video rotated by <var>a</var> radians.
 </p></dd>
 </dl>
 
-<a name="Examples-61"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-61">33.68.1 Examples</a></h3>
+<a name="Examples-79"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-79">28.70.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -18452,6 +15076,11 @@ Rotate the input by PI/6 radians counter-clockwise:
 <table><tr><td>&nbsp;</td><td><pre class="example">rotate=-PI/6
 </pre></td></tr></table>
 
+</li><li>
+Rotate the input by 45 degrees clockwise:
+<table><tr><td>&nbsp;</td><td><pre class="example">rotate=45*PI/180
+</pre></td></tr></table>
+
 </li><li>
 Apply a constant rotation with period T, starting from an angle of PI/3:
 <table><tr><td>&nbsp;</td><td><pre class="example">rotate=PI/3+2*PI*t/T
@@ -18464,7 +15093,7 @@ seconds and an amplitude of A radians:
 </pre></td></tr></table>
 
 </li><li>
-Rotate the video, output size is choosen so that the whole rotating
+Rotate the video, output size is chosen so that the whole rotating
 input video is always completely contained in the output:
 <table><tr><td>&nbsp;</td><td><pre class="example">rotate='2*PI*t:ow=hypot(iw,ih):oh=ow'
 </pre></td></tr></table>
@@ -18476,8 +15105,8 @@ shown:
 </pre></td></tr></table>
 </li></ul>
 
-<a name="Commands-1"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Commands-1">33.68.2 Commands</a></h3>
+<a name="Commands-5"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Commands-5">28.70.2 Commands</a></h3>
 
 <p>The filter supports the following commands:
 </p>
@@ -18492,7 +15121,7 @@ value.
 </dl>
 
 <a name="sab"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-sab">33.69 sab</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-sab">28.71 sab</a></h2>
 
 <p>Apply Shape Adaptive Blur.
 </p>
@@ -18536,7 +15165,7 @@ corresponding luma option value.
 </p>
 <p><a name="scale"></a>
 </p><a name="scale-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-scale-1">33.70 scale</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-scale-1">28.72 scale</a></h2>
 
 <p>Scale (resize) the input video, using the libswscale library.
 </p>
@@ -18547,8 +15176,8 @@ of the input, by changing the output sample aspect ratio.
 the next filter, the scale filter will convert the input to the
 requested format.
 </p>
-<a name="Options-21"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Options-21">33.70.1 Options</a></h3>
+<a name="Options-6"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Options-6">28.72.1 Options</a></h3>
 <p>The filter accepts the following options, or any of the options
 supported by the libswscale scaler.
 </p>
@@ -18568,6 +15197,11 @@ maintains the aspect ratio of the input image, calculated from the
 other specified dimension. If both of them are -1, the input size is
 used
 </p>
+<p>If one of the values is -n with n &gt; 1, the scale filter will also use a value
+that maintains the aspect ratio of the input image, calculated from the other
+specified dimension. After that it will, however, make sure that the calculated
+dimension is divisible by n and adjust the value if necessary.
+</p>
 <p>See below for the list of accepted constants for use in the dimension
 expression.
 </p>
@@ -18596,7 +15230,7 @@ are flagged as interlaced or not.
 <dt> &lsquo;<samp>flags</samp>&rsquo;</dt>
 <dd><p>Set libswscale scaling flags. See
 <a href="ffmpeg-scaler.html#sws_005fflags">(ffmpeg-scaler)sws_flags</a> for the
-complete list of values. If not explictly specified the filter applies
+complete list of values. If not explicitly specified the filter applies
 the default flags.
 </p>
 </dd>
@@ -18758,8 +15392,8 @@ pixel format &quot;yuv422p&quot; <var>hsub</var> is 2 and <var>vsub</var> is 1.
 </p></dd>
 </dl>
 
-<a name="Examples-1"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-1">33.70.2 Examples</a></h3>
+<a name="Examples-47"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-47">28.72.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -18834,7 +15468,7 @@ aspect ratio:
 </li></ul>
 
 <a name="separatefields"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-separatefields">33.71 separatefields</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-separatefields">28.73 separatefields</a></h2>
 
 <p>The <code>separatefields</code> takes a frame-based video input and splits
 each frame into its components fields, producing a new half height clip
@@ -18845,7 +15479,7 @@ of each pair of fields to place first in the output.
 If it gets it wrong use <a href="#setfield">setfield</a> filter before <code>separatefields</code> filter.
 </p>
 <a name="setdar_002c-setsar"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-setdar_002c-setsar">33.72 setdar, setsar</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-setdar_002c-setsar">28.74 setdar, setsar</a></h2>
 
 <p>The <code>setdar</code> filter sets the Display Aspect Ratio for the filter
 output video.
@@ -18925,8 +15559,8 @@ pixel format &quot;yuv422p&quot; <var>hsub</var> is 2 and <var>vsub</var> is 1.
 </p></dd>
 </dl>
 
-<a name="Examples-91"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-91">33.72.1 Examples</a></h3>
+<a name="Examples-76"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-76">28.74.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -18951,7 +15585,7 @@ To set a display aspect ratio of 16:9, and specify a maximum integer value of
 
 <p><a name="setfield"></a>
 </p><a name="setfield-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-setfield-1">33.73 setfield</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-setfield-1">28.75 setfield</a></h2>
 
 <p>Force field for the output video frame.
 </p>
@@ -18987,7 +15621,7 @@ following filters (e.g. <code>fieldorder</code> or <code>yadif</code>).
 </dl>
 
 <a name="showinfo"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-showinfo">33.74 showinfo</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-showinfo">28.76 showinfo</a></h2>
 
 <p>Show a line containing various information for each input video frame.
 The input video is not modified.
@@ -19060,7 +15694,7 @@ expressed in the form &quot;[<var>c0</var> <var>c1</var> <var>c2</var> <var>c3</
 
 <p><a name="smartblur"></a>
 </p><a name="smartblur-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-smartblur-1">33.75 smartblur</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-smartblur-1">28.77 smartblur</a></h2>
 
 <p>Blur the input video without impacting the outlines.
 </p>
@@ -19114,7 +15748,7 @@ in [-30,0] will filter edges. Default value is 0.
 is set.
 </p>
 <a name="stereo3d"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-stereo3d">33.76 stereo3d</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-stereo3d">28.78 stereo3d</a></h2>
 
 <p>Convert between different stereoscopic image formats.
 </p>
@@ -19270,8 +15904,8 @@ is set.
 </p></dd>
 </dl>
 
-<a name="Examples-77"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-77">33.76.1 Examples</a></h3>
+<a name="Examples-2"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-2">28.78.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -19286,7 +15920,7 @@ Convert input video from above bellow (left eye above, right eye below) to side
 </li></ul>
 
 <a name="spp"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-spp">33.77 spp</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-spp">28.79 spp</a></h2>
 
 <p>Apply a simple postprocessing filter that compresses and decompresses the image
 at several (or - in the case of &lsquo;<samp>quality</samp>&rsquo; level <code>6</code> - all) shifts
@@ -19330,7 +15964,7 @@ option may cause flicker since the B-Frames have often larger QP. Default is
 
 <p><a name="subtitles"></a>
 </p><a name="subtitles-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-subtitles-1">33.78 subtitles</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-subtitles-1">28.80 subtitles</a></h2>
 
 <p>Draw subtitles on top of input video using the libass library.
 </p>
@@ -19373,7 +16007,7 @@ video, use the command:
 </pre></td></tr></table>
 
 <a name="super2xsai"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-super2xsai">33.79 super2xsai</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-super2xsai">28.81 super2xsai</a></h2>
 
 <p>Scale the input by 2x and smooth using the Super2xSaI (Scale and
 Interpolate) pixel art scaling algorithm.
@@ -19381,11 +16015,11 @@ Interpolate) pixel art scaling algorithm.
 <p>Useful for enlarging pixel art images without reducing sharpness.
 </p>
 <a name="swapuv"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-swapuv">33.80 swapuv</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-swapuv">28.82 swapuv</a></h2>
 <p>Swap U &amp; V plane.
 </p>
 <a name="telecine"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-telecine">33.81 telecine</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-telecine">28.83 telecine</a></h2>
 
 <p>Apply telecine process to the video.
 </p>
@@ -19428,7 +16062,7 @@ PAL output (25i):
 </pre></td></tr></table>
 
 <a name="thumbnail"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-thumbnail">33.82 thumbnail</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-thumbnail">28.84 thumbnail</a></h2>
 <p>Select the most representative frame in a given sequence of consecutive frames.
 </p>
 <p>The filter accepts the following options:
@@ -19444,8 +16078,8 @@ the end. Default is <code>100</code>.
 <p>Since the filter keeps track of the whole frames sequence, a bigger <var>n</var>
 value will result in a higher memory usage, so a high value is not recommended.
 </p>
-<a name="Examples-30"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-30">33.82.1 Examples</a></h3>
+<a name="Examples-9"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-9">28.84.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -19460,7 +16094,7 @@ Complete example of a thumbnail creation with <code>ffmpeg</code>:
 </li></ul>
 
 <a name="tile"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-tile">33.83 tile</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-tile">28.85 tile</a></h2>
 
 <p>Tile several successive frames together.
 </p>
@@ -19495,8 +16129,8 @@ is &quot;black&quot;.
 </p></dd>
 </dl>
 
-<a name="Examples-11"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-11">33.83.1 Examples</a></h3>
+<a name="Examples-70"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-70">28.85.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -19504,7 +16138,7 @@ Produce 8x8 PNG tiles of all keyframes (&lsquo;<samp>-skip_frame nokey</samp>&rs
 <table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -skip_frame nokey -i file.avi -vf 'scale=128:72,tile=8x8' -an -vsync 0 keyframes%03d.png
 </pre></td></tr></table>
 <p>The &lsquo;<samp>-vsync 0</samp>&rsquo; is necessary to prevent <code>ffmpeg</code> from
-duplicating each output frame to accomodate the originally detected frame
+duplicating each output frame to accommodate the originally detected frame
 rate.
 </p>
 </li><li>
@@ -19516,7 +16150,7 @@ mixed flat and named options:
 </li></ul>
 
 <a name="tinterlace"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-tinterlace">33.84 tinterlace</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-tinterlace">28.86 tinterlace</a></h2>
 
 <p>Perform various types of temporal field interlacing.
 </p>
@@ -19600,7 +16234,7 @@ patterning.
 </dl>
 
 <a name="transpose"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-transpose">33.85 transpose</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-transpose">28.87 transpose</a></h2>
 
 <p>Transpose rows with columns in the input video and optionally flip it.
 </p>
@@ -19682,7 +16316,7 @@ layout:
 </pre></td></tr></table>
 
 <a name="trim"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-trim">33.86 trim</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-trim">28.88 trim</a></h2>
 <p>Trim the input so that the output contains one continuous subpart of the input.
 </p>
 <p>This filter accepts the following options:
@@ -19755,7 +16389,7 @@ keep only the first second
 
 
 <a name="unsharp"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-unsharp">33.87 unsharp</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-unsharp">28.89 unsharp</a></h2>
 
 <p>Sharpen or blur the input video.
 </p>
@@ -19812,8 +16446,8 @@ FFmpeg was configured with <code>--enable-opencl</code>. Default value is 0.
 <p>All parameters are optional and default to the equivalent of the
 string &rsquo;5:5:1.0:5:5:0.0&rsquo;.
 </p>
-<a name="Examples-6"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-6">33.87.1 Examples</a></h3>
+<a name="Examples-81"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-81">28.89.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -19829,7 +16463,7 @@ Apply strong blur of both luma and chroma parameters:
 
 <p><a name="vidstabdetect"></a>
 </p><a name="vidstabdetect-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-vidstabdetect-1">33.88 vidstabdetect</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-vidstabdetect-1">28.90 vidstabdetect</a></h2>
 
 <p>Analyze video stabilization/deshaking. Perform pass 1 of 2, see
 <a href="#vidstabtransform">vidstabtransform</a> for pass 2.
@@ -19858,7 +16492,7 @@ value of 10 means strong shakiness. Default value is 5.
 <dt> &lsquo;<samp>accuracy</samp>&rsquo;</dt>
 <dd><p>Set the accuracy of the detection process. It must be a value in the
 range 1-15. A value of 1 means low accuracy, a value of 15 means high
-accuracy. Default value is 9.
+accuracy. Default value is 15.
 </p>
 </dd>
 <dt> &lsquo;<samp>stepsize</samp>&rsquo;</dt>
@@ -19890,8 +16524,8 @@ visualization.
 </p></dd>
 </dl>
 
-<a name="Examples-5"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-5">33.88.1 Examples</a></h3>
+<a name="Examples-29"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-29">28.90.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -19919,7 +16553,7 @@ Analyze a video with medium shakiness using <code>ffmpeg</code>:
 
 <p><a name="vidstabtransform"></a>
 </p><a name="vidstabtransform-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-vidstabtransform-1">33.89 vidstabtransform</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-vidstabtransform-1">28.91 vidstabtransform</a></h2>
 
 <p>Video stabilization/deshaking: pass 2 of 2,
 see <a href="#vidstabdetect">vidstabdetect</a> for pass 1.
@@ -19933,35 +16567,56 @@ the unsharp filter, see below.
 <p>To enable compilation of this filter you need to configure FFmpeg with
 <code>--enable-libvidstab</code>.
 </p>
-<p>This filter accepts the following options:
-</p>
+<a name="Options-5"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Options-5">28.91.1 Options</a></h3>
+
 <dl compact="compact">
 <dt> &lsquo;<samp>input</samp>&rsquo;</dt>
-<dd><p>path to the file used to read the transforms (default: &lsquo;<tt>transforms.trf</tt>&rsquo;)
+<dd><p>Set path to the file used to read the transforms. Default value is
+&lsquo;<tt>transforms.trf</tt>&rsquo;).
 </p>
 </dd>
 <dt> &lsquo;<samp>smoothing</samp>&rsquo;</dt>
-<dd><p>number of frames (value*2 + 1) used for lowpass filtering the camera movements
-(default: 10). For example a number of 10 means that 21 frames are used
-(10 in the past and 10 in the future) to smoothen the motion in the
-video. A larger values leads to a smoother video, but limits the
-acceleration of the camera (pan/tilt movements).
+<dd><p>Set the number of frames (value*2 + 1) used for lowpass filtering the
+camera movements. Default value is 10.
 </p>
+<p>For example a number of 10 means that 21 frames are used (10 in the
+past and 10 in the future) to smoothen the motion in the video. A
+larger values leads to a smoother video, but limits the acceleration
+of the camera (pan/tilt movements). 0 is a special case where a
+static camera is simulated.
+</p>
+</dd>
+<dt> &lsquo;<samp>optalgo</samp>&rsquo;</dt>
+<dd><p>Set the camera path optimization algorithm.
+</p>
+<p>Accepted values are:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>gauss</samp>&rsquo;</dt>
+<dd><p>gaussian kernel low-pass filter on camera motion (default)
+</p></dd>
+<dt> &lsquo;<samp>avg</samp>&rsquo;</dt>
+<dd><p>averaging on transformations
+</p></dd>
+</dl>
+
 </dd>
 <dt> &lsquo;<samp>maxshift</samp>&rsquo;</dt>
-<dd><p>maximal number of pixels to translate frames (default: -1 no limit)
+<dd><p>Set maximal number of pixels to translate frames. Default value is -1,
+meaning no limit.
 </p>
 </dd>
 <dt> &lsquo;<samp>maxangle</samp>&rsquo;</dt>
-<dd><p>maximal angle in radians (degree*PI/180) to rotate frames (default: -1
-no limit)
+<dd><p>Set maximal angle in radians (degree*PI/180) to rotate frames. Default
+value is -1, meaning no limit.
 </p>
 </dd>
 <dt> &lsquo;<samp>crop</samp>&rsquo;</dt>
-<dd><p>How to deal with borders that may be visible due to movement
-compensation. Available values are:
+<dd><p>Specify how to deal with borders that may be visible due to movement
+compensation.
 </p>
-<dl compact="compact">
+<p>Available values are:
+</p><dl compact="compact">
 <dt> &lsquo;<samp>keep</samp>&rsquo;</dt>
 <dd><p>keep image information from previous frame (default)
 </p></dd>
@@ -19972,59 +16627,49 @@ compensation. Available values are:
 
 </dd>
 <dt> &lsquo;<samp>invert</samp>&rsquo;</dt>
-<dd><dl compact="compact">
-<dt> &lsquo;<samp>0</samp>&rsquo;</dt>
-<dd><p>keep transforms normal (default)
-</p></dd>
-<dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dd><p>invert transforms
-</p></dd>
-</dl>
-
+<dd><p>Invert transforms if set to 1. Default value is 0.
+</p>
 </dd>
 <dt> &lsquo;<samp>relative</samp>&rsquo;</dt>
-<dd><p>consider transforms as
-</p><dl compact="compact">
-<dt> &lsquo;<samp>0</samp>&rsquo;</dt>
-<dd><p>absolute
-</p></dd>
-<dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dd><p>relative to previous frame (default)
-</p></dd>
-</dl>
-
+<dd><p>Consider transforms as relative to previsou frame if set to 1,
+absolute if set to 0. Default value is 0.
+</p>
 </dd>
 <dt> &lsquo;<samp>zoom</samp>&rsquo;</dt>
-<dd><p>percentage to zoom (default: 0)
-</p><dl compact="compact">
-<dt> &lsquo;<samp>&gt;0</samp>&rsquo;</dt>
-<dd><p>zoom in
-</p></dd>
-<dt> &lsquo;<samp>&lt;0</samp>&rsquo;</dt>
-<dd><p>zoom out
-</p></dd>
-</dl>
-
+<dd><p>Set percentage to zoom. A positive value will result in a zoom-in
+effect, a negative value in a zoom-out effect. Default value is 0 (no
+zoom).
+</p>
 </dd>
 <dt> &lsquo;<samp>optzoom</samp>&rsquo;</dt>
-<dd><p>set optimal zooming to avoid borders
+<dd><p>Set optimal zooming to avoid borders.
+</p>
+<p>Accepted values are:
 </p><dl compact="compact">
 <dt> &lsquo;<samp>0</samp>&rsquo;</dt>
 <dd><p>disabled
 </p></dd>
 <dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dd><p>optimal static zoom value is determined (only very strong movements will lead to visible borders) (default)
+<dd><p>optimal static zoom value is determined (only very strong movements
+will lead to visible borders) (default)
 </p></dd>
 <dt> &lsquo;<samp>2</samp>&rsquo;</dt>
-<dd><p>optimal adaptive zoom value is determined (no borders will be visible)
+<dd><p>optimal adaptive zoom value is determined (no borders will be
+visible), see &lsquo;<samp>zoomspeed</samp>&rsquo;
 </p></dd>
 </dl>
-<p>Note that the value given at zoom is added to the one calculated
-here.
+
+<p>Note that the value given at zoom is added to the one calculated here.
+</p>
+</dd>
+<dt> &lsquo;<samp>zoomspeed</samp>&rsquo;</dt>
+<dd><p>Set percent to zoom maximally each frame (enabled when
+&lsquo;<samp>optzoom</samp>&rsquo; is set to 2). Range is from 0 to 5, default value is
+0.25.
 </p>
 </dd>
 <dt> &lsquo;<samp>interpol</samp>&rsquo;</dt>
-<dd><p>type of interpolation
+<dd><p>Specify type of interpolation.
 </p>
 <p>Available values are:
 </p><dl compact="compact">
@@ -20044,45 +16689,43 @@ here.
 
 </dd>
 <dt> &lsquo;<samp>tripod</samp>&rsquo;</dt>
-<dd><p>virtual tripod mode means that the video is stabilized such that the
-camera stays stationary. Use also <code>tripod</code> option of
-<a href="#vidstabdetect">vidstabdetect</a>.
-</p><dl compact="compact">
-<dt> &lsquo;<samp>0</samp>&rsquo;</dt>
-<dd><p>off (default)
-</p></dd>
-<dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dd><p>virtual tripod mode: equivalent to <code>relative=0:smoothing=0</code>
-</p></dd>
-</dl>
-
+<dd><p>Enable virtual tripod mode if set to 1, which is equivalent to
+<code>relative=0:smoothing=0</code>. Default value is 0.
+</p>
+<p>Use also <code>tripod</code> option of <a href="#vidstabdetect">vidstabdetect</a>.
+</p>
 </dd>
+<dt> &lsquo;<samp>debug</samp>&rsquo;</dt>
+<dd><p>Increase log verbosity if set to 1. Also the detected global motions
+are written to the temporary file &lsquo;<tt>global_motions.trf</tt>&rsquo;. Default
+value is 0.
+</p></dd>
 </dl>
 
-<a name="Examples-10"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-10">33.89.1 Examples</a></h3>
+<a name="Examples-25"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-25">28.91.2 Examples</a></h3>
 
 <ul>
 <li>
-typical call with default default values:
- (note the unsharp filter which is always recommended)
+Use <code>ffmpeg</code> for a typical stabilization with default values:
 <table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i inp.mpeg -vf vidstabtransform,unsharp=5:5:0.8:3:3:0.4 inp_stabilized.mpeg
 </pre></td></tr></table>
 
+<p>Note the use of the unsharp filter which is always recommended.
+</p>
 </li><li>
-zoom in a bit more and load transform data from a given file
+Zoom in a bit more and load transform data from a given file:
 <table><tr><td>&nbsp;</td><td><pre class="example">vidstabtransform=zoom=5:input=&quot;mytransforms.trf&quot;
 </pre></td></tr></table>
 
 </li><li>
-smoothen the video even more
+Smoothen the video even more:
 <table><tr><td>&nbsp;</td><td><pre class="example">vidstabtransform=smoothing=30
 </pre></td></tr></table>
-
 </li></ul>
 
 <a name="vflip"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-vflip">33.90 vflip</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-vflip">28.92 vflip</a></h2>
 
 <p>Flip the input video vertically.
 </p>
@@ -20091,7 +16734,7 @@ smoothen the video even more
 </pre></td></tr></table>
 
 <a name="vignette"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-vignette">33.91 vignette</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-vignette">28.93 vignette</a></h2>
 
 <p>Make or reverse a natural vignetting effect.
 </p>
@@ -20157,7 +16800,7 @@ allows advanced dynamic expressions.
 </p>
 </dd>
 <dt> &lsquo;<samp>aspect</samp>&rsquo;</dt>
-<dd><p>Set vignette aspect. This setting allows to adjust the shape of the vignette.
+<dd><p>Set vignette aspect. This setting allows one to adjust the shape of the vignette.
 Setting this value to the SAR of the input will make a rectangular vignetting
 following the dimensions of the video.
 </p>
@@ -20166,7 +16809,7 @@ following the dimensions of the video.
 </dl>
 
 <a name="Expressions"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Expressions">33.91.1 Expressions</a></h3>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Expressions">28.93.1 Expressions</a></h3>
 
 <p>The &lsquo;<samp>alpha</samp>&rsquo;, &lsquo;<samp>x0</samp>&rsquo; and &lsquo;<samp>y0</samp>&rsquo; expressions can contain the
 following parameters.
@@ -20201,8 +16844,8 @@ expressed in seconds, NAN if undefined
 </dl>
 
 
-<a name="Examples-45"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-45">33.91.2 Examples</a></h3>
+<a name="Examples-49"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-49">28.93.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -20218,7 +16861,7 @@ Make a flickering vignetting:
 </li></ul>
 
 <a name="w3fdif"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-w3fdif">33.92 w3fdif</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-w3fdif">28.94 w3fdif</a></h2>
 
 <p>Deinterlace the input video (&quot;w3fdif&quot; stands for &quot;Weston 3 Field
 Deinterlacing Filter&quot;).
@@ -20265,7 +16908,7 @@ be set by passing an optional parameter:
 
 <p><a name="yadif"></a>
 </p><a name="yadif-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-yadif-1">33.93 yadif</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-yadif-1">28.95 yadif</a></h2>
 
 <p>Deinterlace the input video (&quot;yadif&quot; means &quot;yet another deinterlacing
 filter&quot;).
@@ -20335,12 +16978,12 @@ values:
 
 
 <a name="Video-Sources"></a>
-<h1 class="chapter"><a href="ffplay-all.html#toc-Video-Sources">34. Video Sources</a></h1>
+<h1 class="chapter"><a href="ffplay-all.html#toc-Video-Sources">29. Video Sources</a></h1>
 
 <p>Below is a description of the currently available video sources.
 </p>
 <a name="buffer"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-buffer">34.1 buffer</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-buffer">29.1 buffer</a></h2>
 
 <p>Buffer video frames, and make them available to the filter chain.
 </p>
@@ -20408,7 +17051,7 @@ syntax is deprecated:
 <p><var>width</var>:<var>height</var>:<var>pix_fmt</var>:<var>time_base.num</var>:<var>time_base.den</var>:<var>pixel_aspect.num</var>:<var>pixel_aspect.den</var>[:<var>sws_param</var>]
 </p>
 <a name="cellauto"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-cellauto">34.2 cellauto</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-cellauto">29.2 cellauto</a></h2>
 
 <p>Create a pattern generated by an elementary cellular automaton.
 </p>
@@ -20500,8 +17143,8 @@ This is the default behavior, for disabling set the value to 0.
 </p></dd>
 </dl>
 
-<a name="Examples-38"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-38">34.2.1 Examples</a></h3>
+<a name="Examples-16"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-16">29.2.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -20530,7 +17173,7 @@ Specify a more elaborated initial pattern:
 </li></ul>
 
 <a name="mandelbrot"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-mandelbrot">34.3 mandelbrot</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-mandelbrot">29.3 mandelbrot</a></h2>
 
 <p>Generate a Mandelbrot set fractal, and progressively zoom towards the
 point specified with <var>start_x</var> and <var>start_y</var>.
@@ -20619,7 +17262,7 @@ size&quot; section in the ffmpeg-utils manual. Default value is &quot;640x480&qu
 </dl>
 
 <a name="mptestsrc"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-mptestsrc">34.4 mptestsrc</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-mptestsrc">29.4 mptestsrc</a></h2>
 
 <p>Generate various test patterns, as generated by the MPlayer test filter.
 </p>
@@ -20676,7 +17319,7 @@ supposed to be generated forever.
 <p>will generate a &quot;dc_luma&quot; test pattern.
 </p>
 <a name="frei0r_005fsrc"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-frei0r_005fsrc">34.5 frei0r_src</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-frei0r_005fsrc">29.5 frei0r_src</a></h2>
 
 <p>Provide a frei0r source.
 </p>
@@ -20714,7 +17357,7 @@ and frame rate 10 which is overlayed on the overlay filter main input:
 </pre></td></tr></table>
 
 <a name="life"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-life">34.6 life</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-life">29.6 life</a></h2>
 
 <p>Generate a life pattern.
 </p>
@@ -20727,7 +17370,7 @@ horizontally, vertically, or diagonally adjacent.
 </p>
 <p>At each interaction the grid evolves according to the adopted rule,
 which specifies the number of neighbor alive cells which will make a
-cell stay alive or born. The &lsquo;<samp>rule</samp>&rsquo; option allows to specify
+cell stay alive or born. The &lsquo;<samp>rule</samp>&rsquo; option allows one to specify
 the rule to adopt.
 </p>
 <p>This source accepts the following options:
@@ -20825,8 +17468,8 @@ ffmpeg-utils manual.
 </p></dd>
 </dl>
 
-<a name="Examples-21"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-21">34.6.1 Examples</a></h3>
+<a name="Examples-73"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-73">29.6.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -20859,7 +17502,7 @@ Full example with slow death effect (mold) using <code>ffplay</code>:
 <a name="smptehdbars"></a>
 <a name="testsrc"></a>
 </p><a name="color_002c-haldclutsrc_002c-nullsrc_002c-rgbtestsrc_002c-smptebars_002c-smptehdbars_002c-testsrc"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-color_002c-haldclutsrc_002c-nullsrc_002c-rgbtestsrc_002c-smptebars_002c-smptehdbars_002c-testsrc">34.7 color, haldclutsrc, nullsrc, rgbtestsrc, smptebars, smptehdbars, testsrc</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-color_002c-haldclutsrc_002c-nullsrc_002c-rgbtestsrc_002c-smptebars_002c-smptehdbars_002c-testsrc">29.7 color, haldclutsrc, nullsrc, rgbtestsrc, smptebars, smptehdbars, testsrc</a></h2>
 
 <p>The <code>color</code> source provides an uniformly colored input.
 </p>
@@ -20960,8 +17603,8 @@ the <code>geq</code> filter:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">nullsrc=s=256x256, geq=random(1)*255:128:128
 </pre></td></tr></table>
 
-<a name="Commands-4"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Commands-4">34.7.1 Commands</a></h3>
+<a name="Commands-2"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Commands-2">29.7.1 Commands</a></h3>
 
 <p>The <code>color</code> source supports the following commands:
 </p>
@@ -20974,12 +17617,12 @@ corresponding &lsquo;<samp>color</samp>&rsquo; option.
 
 
 <a name="Video-Sinks"></a>
-<h1 class="chapter"><a href="ffplay-all.html#toc-Video-Sinks">35. Video Sinks</a></h1>
+<h1 class="chapter"><a href="ffplay-all.html#toc-Video-Sinks">30. Video Sinks</a></h1>
 
 <p>Below is a description of the currently available video sinks.
 </p>
 <a name="buffersink"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-buffersink">35.1 buffersink</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-buffersink">30.1 buffersink</a></h2>
 
 <p>Buffer video frames, and make them available to the end of the filter
 graph.
@@ -20993,7 +17636,7 @@ defines the incoming buffers&rsquo; formats, to be passed as the opaque
 parameter to <code>avfilter_init_filter</code> for initialization.
 </p>
 <a name="nullsink"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-nullsink">35.2 nullsink</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-nullsink">30.2 nullsink</a></h2>
 
 <p>Null video sink, do absolutely nothing with the input video. It is
 mainly useful as a template and to be employed in analysis / debugging
@@ -21001,12 +17644,12 @@ tools.
 </p>
 
 <a name="Multimedia-Filters"></a>
-<h1 class="chapter"><a href="ffplay-all.html#toc-Multimedia-Filters">36. Multimedia Filters</a></h1>
+<h1 class="chapter"><a href="ffplay-all.html#toc-Multimedia-Filters">31. Multimedia Filters</a></h1>
 
 <p>Below is a description of the currently available multimedia filters.
 </p>
 <a name="avectorscope"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-avectorscope">36.1 avectorscope</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-avectorscope">31.1 avectorscope</a></h2>
 
 <p>Convert input audio to a video output, representing the audio vector
 scope.
@@ -21066,8 +17709,8 @@ Allowed range is <code>[0, 255]</code>.
 </p></dd>
 </dl>
 
-<a name="Examples"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples">36.1.1 Examples</a></h3>
+<a name="Examples-48"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-48">31.1.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -21078,7 +17721,7 @@ Complete example using <code>ffplay</code>:
 </li></ul>
 
 <a name="concat-2"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-concat-2">36.2 concat</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-concat-2">31.2 concat</a></h2>
 
 <p>Concatenate audio and video streams, joining them together one after the
 other.
@@ -21135,8 +17778,8 @@ explicitly by the user.
 <p>Different frame rates are acceptable but will result in variable frame rate
 at output; be sure to configure the output file to handle it.
 </p>
-<a name="Examples-40"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-40">36.2.1 Examples</a></h3>
+<a name="Examples-24"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-24">31.2.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -21161,7 +17804,7 @@ do not have exactly the same duration in the first file.
 </li></ul>
 
 <a name="ebur128"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-ebur128">36.3 ebur128</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-ebur128">31.3 ebur128</a></h2>
 
 <p>EBU R128 scanner filter. This filter takes an audio stream as input and outputs
 it unchanged. By default, it logs a message at a frequency of 10Hz with the
@@ -21222,11 +17865,38 @@ in metadata.  All the metadata keys are prefixed with <code>lavfi.r128.</code>.
 
 <p>By default, the logging level is set to <var>info</var>. If the &lsquo;<samp>video</samp>&rsquo; or
 the &lsquo;<samp>metadata</samp>&rsquo; options are set, it switches to <var>verbose</var>.
+</p>
+</dd>
+<dt> &lsquo;<samp>peak</samp>&rsquo;</dt>
+<dd><p>Set peak mode(s).
+</p>
+<p>Available modes can be cumulated (the option is a <code>flag</code> type). Possible
+values are:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>none</samp>&rsquo;</dt>
+<dd><p>Disable any peak mode (default).
+</p></dd>
+<dt> &lsquo;<samp>sample</samp>&rsquo;</dt>
+<dd><p>Enable sample-peak mode.
+</p>
+<p>Simple peak mode looking for the higher sample value. It logs a message
+for sample-peak (identified by <code>SPK</code>).
+</p></dd>
+<dt> &lsquo;<samp>true</samp>&rsquo;</dt>
+<dd><p>Enable true-peak mode.
+</p>
+<p>If enabled, the peak lookup is done on an over-sampled version of the input
+stream for better peak accuracy. It logs a message for true-peak.
+(identified by <code>TPK</code>) and true-peak per frame (identified by <code>FTPK</code>).
+This mode requires a build with <code>libswresample</code>.
 </p></dd>
 </dl>
 
-<a name="Examples-18"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-18">36.3.1 Examples</a></h3>
+</dd>
+</dl>
+
+<a name="Examples-13"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-13">31.3.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -21241,7 +17911,7 @@ Run an analysis with <code>ffmpeg</code>:
 </li></ul>
 
 <a name="interleave_002c-ainterleave"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-interleave_002c-ainterleave">36.4 interleave, ainterleave</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-interleave_002c-ainterleave">31.4 interleave, ainterleave</a></h2>
 
 <p>Temporally interleave frames from several inputs.
 </p>
@@ -21274,8 +17944,8 @@ the queue is already filled.
 </p></dd>
 </dl>
 
-<a name="Examples-35"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-35">36.4.1 Examples</a></h3>
+<a name="Examples-7"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-7">31.4.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -21290,7 +17960,7 @@ Add flickering blur effect:
 </li></ul>
 
 <a name="perms_002c-aperms"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-perms_002c-aperms">36.5 perms, aperms</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-perms_002c-aperms">31.5 perms, aperms</a></h2>
 
 <p>Set read/write permissions for the output frames.
 </p>
@@ -21337,7 +18007,7 @@ following filter. Inserting a <a href="#format">format</a> or <a href="#aformat"
 perms/aperms filter can avoid this problem.
 </p>
 <a name="select_002c-aselect"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-select_002c-aselect">36.6 select, aselect</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-select_002c-aselect">31.6 select, aselect</a></h2>
 
 <p>Select frames to pass in output.
 </p>
@@ -21472,8 +18142,8 @@ value means the current frame is more likely to be one (see the example below)
 
 <p>The default value of the select expression is &quot;1&quot;.
 </p>
-<a name="Examples-76"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-76">36.6.1 Examples</a></h3>
+<a name="Examples-20"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-20">31.6.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -21535,7 +18205,7 @@ Send even and odd frames to separate outputs, and compose them:
 </li></ul>
 
 <a name="sendcmd_002c-asendcmd"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-sendcmd_002c-asendcmd">36.7 sendcmd, asendcmd</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-sendcmd_002c-asendcmd">31.7 sendcmd, asendcmd</a></h2>
 
 <p>Send commands to filters in the filtergraph.
 </p>
@@ -21562,7 +18232,7 @@ filters.
 </dl>
 
 <a name="Commands-syntax"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Commands-syntax">36.7.1 Commands syntax</a></h3>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Commands-syntax">31.7.1 Commands syntax</a></h3>
 
 <p>A commands description consists of a sequence of interval
 specifications, comprising a list of commands to be executed when a
@@ -21635,8 +18305,8 @@ follows:
 <var>INTERVALS</var>     ::= <var>INTERVAL</var>[;<var>INTERVALS</var>]
 </pre></td></tr></table>
 
-<a name="Examples-39"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-39">36.7.2 Examples</a></h3>
+<a name="Examples-36"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-36">31.7.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -21668,7 +18338,7 @@ stored in a file &lsquo;<tt>test.cmd</tt>&rsquo;, can be specified with:
 
 <p><a name="setpts"></a>
 </p><a name="setpts_002c-asetpts"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-setpts_002c-asetpts">36.8 setpts, asetpts</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-setpts_002c-asetpts">31.8 setpts, asetpts</a></h2>
 
 <p>Change the PTS (presentation timestamp) of the input frames.
 </p>
@@ -21765,8 +18435,8 @@ instead.
 </dd>
 </dl>
 
-<a name="Examples-42"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-42">36.8.1 Examples</a></h3>
+<a name="Examples-59"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-59">31.8.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -21812,7 +18482,7 @@ Generate timestamps by counting samples:
 </li></ul>
 
 <a name="settb_002c-asettb"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-settb_002c-asettb">36.9 settb, asettb</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-settb_002c-asettb">31.9 settb, asettb</a></h2>
 
 <p>Set the timebase to use for the output frames timestamps.
 It is mainly useful for testing timebase configuration.
@@ -21831,8 +18501,8 @@ rational. The expression can contain the constants &quot;AVTB&quot; (the default
 timebase), &quot;intb&quot; (the input timebase) and &quot;sr&quot; (the sample rate,
 audio only). Default value is &quot;intb&quot;.
 </p>
-<a name="Examples-68"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-68">36.9.1 Examples</a></h3>
+<a name="Examples-8"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-8">31.9.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -21862,7 +18532,7 @@ Set the default timebase value:
 </li></ul>
 
 <a name="showspectrum"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-showspectrum">36.10 showspectrum</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-showspectrum">31.10 showspectrum</a></h2>
 
 <p>Convert input audio to a video output, representing the audio frequency
 spectrum.
@@ -21968,8 +18638,8 @@ Default value is <code>1</code>.
 <p>The usage is very similar to the showwaves filter; see the examples in that
 section.
 </p>
-<a name="Examples-2"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-2">36.10.1 Examples</a></h3>
+<a name="Examples-67"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-67">31.10.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -21985,7 +18655,7 @@ Complete example for a colored and sliding spectrum per channel using <code>ffpl
 </li></ul>
 
 <a name="showwaves"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-showwaves">36.11 showwaves</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-showwaves">31.11 showwaves</a></h2>
 
 <p>Convert input audio to a video output, representing the samples waves.
 </p>
@@ -22029,8 +18699,8 @@ option <var>n</var>. Default value is &quot;25&quot;.
 </dd>
 </dl>
 
-<a name="Examples-90"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-90">36.11.1 Examples</a></h3>
+<a name="Examples-83"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-83">31.11.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -22047,7 +18717,7 @@ frame rate of 30 frames per second:
 </li></ul>
 
 <a name="split_002c-asplit"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-split_002c-asplit">36.12 split, asplit</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-split_002c-asplit">31.12 split, asplit</a></h2>
 
 <p>Split input into several identical outputs.
 </p>
@@ -22056,8 +18726,8 @@ frame rate of 30 frames per second:
 <p>The filter accepts a single parameter which specifies the number of outputs. If
 unspecified, it defaults to 2.
 </p>
-<a name="Examples-83"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-83">36.12.1 Examples</a></h3>
+<a name="Examples-46"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-46">31.12.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -22086,7 +18756,7 @@ Create 5 copies of the input audio with <code>ffmpeg</code>:
 </li></ul>
 
 <a name="zmq_002c-azmq"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-zmq_002c-azmq">36.13 zmq, azmq</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-zmq_002c-azmq">31.13 zmq, azmq</a></h2>
 
 <p>Receive commands sent through a libzmq client, and forward them to
 filters in the filtergraph.
@@ -22126,8 +18796,8 @@ will send a reply to the client, adopting the format:
 
 <p><var>MESSAGE</var> is optional.
 </p>
-<a name="Examples-29"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-29">36.13.1 Examples</a></h3>
+<a name="Examples-31"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-31">31.13.1 Examples</a></h3>
 
 <p>Look at &lsquo;<tt>tools/zmqsend</tt>&rsquo; for an example of a zmq client which can
 be used to send commands processed by these filters.
@@ -22152,19 +18822,19 @@ command can be used:
 
 
 <a name="Multimedia-Sources"></a>
-<h1 class="chapter"><a href="ffplay-all.html#toc-Multimedia-Sources">37. Multimedia Sources</a></h1>
+<h1 class="chapter"><a href="ffplay-all.html#toc-Multimedia-Sources">32. Multimedia Sources</a></h1>
 
 <p>Below is a description of the currently available multimedia sources.
 </p>
 <a name="amovie"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-amovie">37.1 amovie</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-amovie">32.1 amovie</a></h2>
 
 <p>This is the same as <a href="#movie">movie</a> source, except it selects an audio
 stream by default.
 </p>
 <p><a name="movie"></a>
 </p><a name="movie-1"></a>
-<h2 class="section"><a href="ffplay-all.html#toc-movie-1">37.2 movie</a></h2>
+<h2 class="section"><a href="ffplay-all.html#toc-movie-1">32.2 movie</a></h2>
 
 <p>Read audio and/or video stream(s) from a movie container.
 </p>
@@ -22215,7 +18885,7 @@ changed, so it will generate non monotonically increasing timestamps.
 </p></dd>
 </dl>
 
-<p>This filter allows to overlay a second video on top of main input of
+<p>This filter allows one to overlay a second video on top of main input of
 a filtergraph as shown in this graph:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">input -----------&gt; deltapts0 --&gt; overlay --&gt; output
                                     ^
@@ -22223,8 +18893,8 @@ a filtergraph as shown in this graph:
 movie --&gt; scale--&gt; deltapts1 -------+
 </pre></td></tr></table>
 
-<a name="Examples-69"></a>
-<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-69">37.2.1 Examples</a></h3>
+<a name="Examples-61"></a>
+<h3 class="subsection"><a href="ffplay-all.html#toc-Examples-61">32.2.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -22253,7 +18923,7 @@ connected to the pad named &quot;audio&quot;:
 
 
 <a name="See-Also"></a>
-<h1 class="chapter"><a href="ffplay-all.html#toc-See-Also">38. See Also</a></h1>
+<h1 class="chapter"><a href="ffplay-all.html#toc-See-Also">33. See Also</a></h1>
 
 <p><a href="ffplay.html">ffplay</a>,
 <a href="ffmpeg.html">ffmpeg</a>, <a href="ffprobe.html">ffprobe</a>, <a href="ffserver.html">ffserver</a>,
@@ -22269,7 +18939,7 @@ connected to the pad named &quot;audio&quot;:
 </p>
 
 <a name="Authors"></a>
-<h1 class="chapter"><a href="ffplay-all.html#toc-Authors">39. Authors</a></h1>
+<h1 class="chapter"><a href="ffplay-all.html#toc-Authors">34. Authors</a></h1>
 
 <p>The FFmpeg developers.
 </p>
@@ -22283,4 +18953,4 @@ online repository at <a href="http://source.ffmpeg.org">http://source.ffmpeg.org
 </p>
 
 <footer class="footer pagination-right">
-<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>December 14, 2013</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
+<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>June 19, 2014</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
index e89b9d356cd07794eb9aed6a60c8e0284431892b..c44c5997c66f40717cf62af339581c6ba0103afa 100644 (file)
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <html>
-<!-- Created on December 14, 2013 by texi2html 1.82 -->
+<!-- Created on June 19, 2014 by texi2html 1.82 -->
 <!--
 texi2html was written by: 
             Lionel Cons <Lionel.Cons@cern.ch> (original author)
@@ -298,6 +298,14 @@ to a plain <code>%</code>
 appear in the report.
 </p>
 </dd>
+<dt> &lsquo;<samp>-hide_banner</samp>&rsquo;</dt>
+<dd><p>Suppress printing banner.
+</p>
+<p>All FFmpeg tools will normally show a copyright notice, build options
+and library versions. This option can be used to suppress printing
+this information.
+</p>
+</dd>
 <dt> &lsquo;<samp>-cpuflags flags (<em>global</em>)</samp>&rsquo;</dt>
 <dd><p>Allows setting and clearing cpu flags. This option is intended
 for testing. Do not use it unless you know what you&rsquo;re doing.
@@ -617,6 +625,13 @@ selected, if it is negative the subtitle rendering is disabled.
 <dd><p>Show audio waves.
 </p>
 </dd>
+<dt> &lt;s&gt;</dt>
+<dd><p>Step to the next frame.
+</p>
+<p>Pause if the stream is not already paused, step to the next video
+frame, and pause.
+</p>
+</dd>
 <dt> &lt;left/right&gt;</dt>
 <dd><p>Seek backward/forward 10 seconds.
 </p>
@@ -626,7 +641,9 @@ selected, if it is negative the subtitle rendering is disabled.
 </p>
 </dd>
 <dt> &lt;page down/page up&gt;</dt>
-<dd><p>Seek backward/forward 10 minutes.
+<dd><p>Seek to the previous/next chapter.
+or if there are no chapters
+Seek backward/forward 10 minutes.
 </p>
 </dd>
 <dt> &lt;mouse click&gt;</dt>
@@ -668,4 +685,4 @@ online repository at <a href="http://source.ffmpeg.org">http://source.ffmpeg.org
 </p>
 
 <footer class="footer pagination-right">
-<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>December 14, 2013</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
+<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>June 19, 2014</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
index 28d1450c185393b7e58f03e5f2efbce306d4787a..bc05eca759eecbe42d0cf173d56e15788cde17a6 100644 (file)
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <html>
-<!-- Created on December 14, 2013 by texi2html 1.82 -->
+<!-- Created on June 19, 2014 by texi2html 1.82 -->
 <!--
 texi2html was written by: 
             Lionel Cons <Lionel.Cons@cern.ch> (original author)
@@ -36,7 +36,7 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
 <ul class="toc">
   <li><a name="toc-Synopsis" href="#Synopsis">1. Synopsis</a></li>
   <li><a name="toc-Description" href="#Description">2. Description</a></li>
-  <li><a name="toc-Options-3" href="#Options-3">3. Options</a>
+  <li><a name="toc-Options" href="#Options">3. Options</a>
   <ul class="toc">
     <li><a name="toc-Stream-specifiers-1" href="#Stream-specifiers-1">3.1 Stream specifiers</a></li>
     <li><a name="toc-Generic-options" href="#Generic-options">3.2 Generic options</a></li>
@@ -53,16 +53,16 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
     <li><a name="toc-xml" href="#xml">4.6 xml</a></li>
   </ul></li>
   <li><a name="toc-Timecode" href="#Timecode">5. Timecode</a></li>
-  <li><a name="toc-Syntax" href="#Syntax">6. Syntax</a>
+  <li><a name="toc-Syntax-2" href="#Syntax-2">6. Syntax</a>
   <ul class="toc">
     <li><a name="toc-Quoting-and-escaping" href="#Quoting-and-escaping">6.1 Quoting and escaping</a>
     <ul class="toc">
-      <li><a name="toc-Examples-31" href="#Examples-31">6.1.1 Examples</a></li>
+      <li><a name="toc-Examples-30" href="#Examples-30">6.1.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-Date" href="#Date">6.2 Date</a></li>
     <li><a name="toc-Time-duration" href="#Time-duration">6.3 Time duration</a>
     <ul class="toc">
-      <li><a name="toc-Examples-16" href="#Examples-16">6.3.1 Examples</a></li>
+      <li><a name="toc-Examples-23" href="#Examples-23">6.3.1 Examples</a></li>
     </ul></li>
     <li><a name="toc-Video-size" href="#Video-size">6.4 Video size</a></li>
     <li><a name="toc-Video-rate" href="#Video-rate">6.5 Video rate</a></li>
@@ -78,782 +78,642 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
   <ul class="toc">
     <li><a name="toc-rawvideo" href="#rawvideo">11.1 rawvideo</a>
     <ul class="toc">
-      <li><a name="toc-Options-29" href="#Options-29">11.1.1 Options</a></li>
+      <li><a name="toc-Options-6" href="#Options-6">11.1.1 Options</a></li>
     </ul>
 </li>
   </ul></li>
   <li><a name="toc-Audio-Decoders" href="#Audio-Decoders">12. Audio Decoders</a>
   <ul class="toc">
-    <li><a name="toc-ffwavesynth" href="#ffwavesynth">12.1 ffwavesynth</a></li>
-    <li><a name="toc-libcelt" href="#libcelt">12.2 libcelt</a></li>
-    <li><a name="toc-libgsm" href="#libgsm">12.3 libgsm</a></li>
-    <li><a name="toc-libilbc" href="#libilbc">12.4 libilbc</a>
+    <li><a name="toc-ac3" href="#ac3">12.1 ac3</a>
     <ul class="toc">
-      <li><a name="toc-Options-9" href="#Options-9">12.4.1 Options</a></li>
+      <li><a name="toc-AC_002d3-Decoder-Options" href="#AC_002d3-Decoder-Options">12.1.1 AC-3 Decoder Options</a></li>
     </ul></li>
-    <li><a name="toc-libopencore_002damrnb" href="#libopencore_002damrnb">12.5 libopencore-amrnb</a></li>
-    <li><a name="toc-libopencore_002damrwb" href="#libopencore_002damrwb">12.6 libopencore-amrwb</a></li>
-    <li><a name="toc-libopus-1" href="#libopus-1">12.7 libopus</a></li>
+    <li><a name="toc-ffwavesynth" href="#ffwavesynth">12.2 ffwavesynth</a></li>
+    <li><a name="toc-libcelt" href="#libcelt">12.3 libcelt</a></li>
+    <li><a name="toc-libgsm" href="#libgsm">12.4 libgsm</a></li>
+    <li><a name="toc-libilbc" href="#libilbc">12.5 libilbc</a>
+    <ul class="toc">
+      <li><a name="toc-Options-12" href="#Options-12">12.5.1 Options</a></li>
+    </ul></li>
+    <li><a name="toc-libopencore_002damrnb" href="#libopencore_002damrnb">12.6 libopencore-amrnb</a></li>
+    <li><a name="toc-libopencore_002damrwb" href="#libopencore_002damrwb">12.7 libopencore-amrwb</a></li>
+    <li><a name="toc-libopus" href="#libopus">12.8 libopus</a></li>
   </ul></li>
   <li><a name="toc-Subtitles-Decoders" href="#Subtitles-Decoders">13. Subtitles Decoders</a>
   <ul class="toc">
     <li><a name="toc-dvdsub" href="#dvdsub">13.1 dvdsub</a>
     <ul class="toc">
-      <li><a name="toc-Options-21" href="#Options-21">13.1.1 Options</a></li>
+      <li><a name="toc-Options-8" href="#Options-8">13.1.1 Options</a></li>
     </ul></li>
     <li><a name="toc-libzvbi_002dteletext" href="#libzvbi_002dteletext">13.2 libzvbi-teletext</a>
     <ul class="toc">
-      <li><a name="toc-Options-15" href="#Options-15">13.2.1 Options</a></li>
-    </ul>
-</li>
-  </ul></li>
-  <li><a name="toc-Encoders" href="#Encoders">14. Encoders</a></li>
-  <li><a name="toc-Audio-Encoders" href="#Audio-Encoders">15. Audio Encoders</a>
-  <ul class="toc">
-    <li><a name="toc-aac" href="#aac">15.1 aac</a>
-    <ul class="toc">
-      <li><a name="toc-Options-11" href="#Options-11">15.1.1 Options</a></li>
-    </ul></li>
-    <li><a name="toc-ac3-and-ac3_005ffixed" href="#ac3-and-ac3_005ffixed">15.2 ac3 and ac3_fixed</a>
-    <ul class="toc">
-      <li><a name="toc-AC_002d3-Metadata" href="#AC_002d3-Metadata">15.2.1 AC-3 Metadata</a>
-      <ul class="toc">
-        <li><a name="toc-Metadata-Control-Options" href="#Metadata-Control-Options">15.2.1.1 Metadata Control Options</a></li>
-        <li><a name="toc-Downmix-Levels" href="#Downmix-Levels">15.2.1.2 Downmix Levels</a></li>
-        <li><a name="toc-Audio-Production-Information" href="#Audio-Production-Information">15.2.1.3 Audio Production Information</a></li>
-        <li><a name="toc-Other-Metadata-Options" href="#Other-Metadata-Options">15.2.1.4 Other Metadata Options</a></li>
-      </ul></li>
-      <li><a name="toc-Extended-Bitstream-Information" href="#Extended-Bitstream-Information">15.2.2 Extended Bitstream Information</a>
-      <ul class="toc">
-        <li><a name="toc-Extended-Bitstream-Information-_002d-Part-1" href="#Extended-Bitstream-Information-_002d-Part-1">15.2.2.1 Extended Bitstream Information - Part 1</a></li>
-        <li><a name="toc-Extended-Bitstream-Information-_002d-Part-2" href="#Extended-Bitstream-Information-_002d-Part-2">15.2.2.2 Extended Bitstream Information - Part 2</a></li>
-      </ul></li>
-      <li><a name="toc-Other-AC_002d3-Encoding-Options" href="#Other-AC_002d3-Encoding-Options">15.2.3 Other AC-3 Encoding Options</a></li>
-      <li><a name="toc-Floating_002dPoint_002dOnly-AC_002d3-Encoding-Options" href="#Floating_002dPoint_002dOnly-AC_002d3-Encoding-Options">15.2.4 Floating-Point-Only AC-3 Encoding Options</a></li>
-    </ul></li>
-    <li><a name="toc-libfaac-1" href="#libfaac-1">15.3 libfaac</a>
-    <ul class="toc">
-      <li><a name="toc-Options-13" href="#Options-13">15.3.1 Options</a></li>
-      <li><a name="toc-Examples-84" href="#Examples-84">15.3.2 Examples</a></li>
-    </ul></li>
-    <li><a name="toc-libfdk_005faac" href="#libfdk_005faac">15.4 libfdk_aac</a>
-    <ul class="toc">
-      <li><a name="toc-Options-2" href="#Options-2">15.4.1 Options</a></li>
-      <li><a name="toc-Examples-50" href="#Examples-50">15.4.2 Examples</a></li>
-    </ul></li>
-    <li><a name="toc-libmp3lame-1" href="#libmp3lame-1">15.5 libmp3lame</a>
-    <ul class="toc">
-      <li><a name="toc-Options-24" href="#Options-24">15.5.1 Options</a></li>
-    </ul></li>
-    <li><a name="toc-libopencore_002damrnb-1" href="#libopencore_002damrnb-1">15.6 libopencore-amrnb</a>
-    <ul class="toc">
-      <li><a name="toc-Options-16" href="#Options-16">15.6.1 Options</a></li>
-    </ul></li>
-    <li><a name="toc-libshine-1" href="#libshine-1">15.7 libshine</a>
-    <ul class="toc">
-      <li><a name="toc-Options" href="#Options">15.7.1 Options</a></li>
-    </ul></li>
-    <li><a name="toc-libtwolame" href="#libtwolame">15.8 libtwolame</a>
-    <ul class="toc">
-      <li><a name="toc-Options-12" href="#Options-12">15.8.1 Options</a></li>
-    </ul></li>
-    <li><a name="toc-libvo_002daacenc-1" href="#libvo_002daacenc-1">15.9 libvo-aacenc</a>
-    <ul class="toc">
-      <li><a name="toc-Options-17" href="#Options-17">15.9.1 Options</a></li>
-    </ul></li>
-    <li><a name="toc-libvo_002damrwbenc" href="#libvo_002damrwbenc">15.10 libvo-amrwbenc</a>
-    <ul class="toc">
-      <li><a name="toc-Options-32" href="#Options-32">15.10.1 Options</a></li>
-    </ul></li>
-    <li><a name="toc-libopus" href="#libopus">15.11 libopus</a>
-    <ul class="toc">
-      <li><a name="toc-Option-Mapping" href="#Option-Mapping">15.11.1 Option Mapping</a></li>
-    </ul></li>
-    <li><a name="toc-libvorbis" href="#libvorbis">15.12 libvorbis</a>
-    <ul class="toc">
-      <li><a name="toc-Options-1" href="#Options-1">15.12.1 Options</a></li>
-    </ul></li>
-    <li><a name="toc-libwavpack" href="#libwavpack">15.13 libwavpack</a></li>
-  </ul></li>
-  <li><a name="toc-Video-Encoders" href="#Video-Encoders">16. Video Encoders</a>
-  <ul class="toc">
-    <li><a name="toc-libtheora" href="#libtheora">16.1 libtheora</a>
-    <ul class="toc">
-      <li><a name="toc-Options-20" href="#Options-20">16.1.1 Options</a></li>
-      <li><a name="toc-Examples-47" href="#Examples-47">16.1.2 Examples</a></li>
-    </ul></li>
-    <li><a name="toc-libvpx" href="#libvpx">16.2 libvpx</a>
-    <ul class="toc">
-      <li><a name="toc-Options-23" href="#Options-23">16.2.1 Options</a></li>
-    </ul></li>
-    <li><a name="toc-libx264" href="#libx264">16.3 libx264</a>
-    <ul class="toc">
-      <li><a name="toc-Options-27" href="#Options-27">16.3.1 Options</a></li>
-    </ul></li>
-    <li><a name="toc-libxvid" href="#libxvid">16.4 libxvid</a>
-    <ul class="toc">
-      <li><a name="toc-Options-19" href="#Options-19">16.4.1 Options</a></li>
-    </ul></li>
-    <li><a name="toc-png" href="#png">16.5 png</a>
-    <ul class="toc">
-      <li><a name="toc-Private-options" href="#Private-options">16.5.1 Private options</a></li>
-    </ul></li>
-    <li><a name="toc-ProRes" href="#ProRes">16.6 ProRes</a>
-    <ul class="toc">
-      <li><a name="toc-Private-Options-for-prores_002dks" href="#Private-Options-for-prores_002dks">16.6.1 Private Options for prores-ks</a></li>
-      <li><a name="toc-Speed-considerations" href="#Speed-considerations">16.6.2 Speed considerations</a></li>
+      <li><a name="toc-Options-4" href="#Options-4">13.2.1 Options</a></li>
     </ul>
 </li>
   </ul></li>
-  <li><a name="toc-Bitstream-Filters" href="#Bitstream-Filters">17. Bitstream Filters</a>
-  <ul class="toc">
-    <li><a name="toc-aac_005fadtstoasc" href="#aac_005fadtstoasc">17.1 aac_adtstoasc</a></li>
-    <li><a name="toc-chomp" href="#chomp">17.2 chomp</a></li>
-    <li><a name="toc-dump_005fextra" href="#dump_005fextra">17.3 dump_extra</a></li>
-    <li><a name="toc-h264_005fmp4toannexb" href="#h264_005fmp4toannexb">17.4 h264_mp4toannexb</a></li>
-    <li><a name="toc-imx_005fdump_005fheader" href="#imx_005fdump_005fheader">17.5 imx_dump_header</a></li>
-    <li><a name="toc-mjpeg2jpeg" href="#mjpeg2jpeg">17.6 mjpeg2jpeg</a></li>
-    <li><a name="toc-mjpega_005fdump_005fheader" href="#mjpega_005fdump_005fheader">17.7 mjpega_dump_header</a></li>
-    <li><a name="toc-movsub" href="#movsub">17.8 movsub</a></li>
-    <li><a name="toc-mp3_005fheader_005fdecompress" href="#mp3_005fheader_005fdecompress">17.9 mp3_header_decompress</a></li>
-    <li><a name="toc-noise" href="#noise">17.10 noise</a></li>
-    <li><a name="toc-remove_005fextra" href="#remove_005fextra">17.11 remove_extra</a></li>
-  </ul></li>
-  <li><a name="toc-Format-Options" href="#Format-Options">18. Format Options</a>
-  <ul class="toc">
-    <li><a name="toc-Format-stream-specifiers-1" href="#Format-stream-specifiers-1">18.1 Format stream specifiers</a></li>
-  </ul></li>
-  <li><a name="toc-Demuxers" href="#Demuxers">19. Demuxers</a>
+  <li><a name="toc-Bitstream-Filters" href="#Bitstream-Filters">14. Bitstream Filters</a>
   <ul class="toc">
-    <li><a name="toc-applehttp" href="#applehttp">19.1 applehttp</a></li>
-    <li><a name="toc-asf" href="#asf">19.2 asf</a></li>
-    <li><a name="toc-concat-2" href="#concat-2">19.3 concat</a>
-    <ul class="toc">
-      <li><a name="toc-Syntax-2" href="#Syntax-2">19.3.1 Syntax</a></li>
-      <li><a name="toc-Options-14" href="#Options-14">19.3.2 Options</a></li>
-    </ul></li>
-    <li><a name="toc-flv" href="#flv">19.4 flv</a></li>
-    <li><a name="toc-libgme" href="#libgme">19.5 libgme</a></li>
-    <li><a name="toc-libquvi" href="#libquvi">19.6 libquvi</a></li>
-    <li><a name="toc-image2-2" href="#image2-2">19.7 image2</a>
-    <ul class="toc">
-      <li><a name="toc-Examples-83" href="#Examples-83">19.7.1 Examples</a></li>
-    </ul></li>
-    <li><a name="toc-mpegts" href="#mpegts">19.8 mpegts</a></li>
-    <li><a name="toc-rawvideo-1" href="#rawvideo-1">19.9 rawvideo</a></li>
-    <li><a name="toc-sbg" href="#sbg">19.10 sbg</a></li>
-    <li><a name="toc-tedcaptions" href="#tedcaptions">19.11 tedcaptions</a></li>
+    <li><a name="toc-aac_005fadtstoasc" href="#aac_005fadtstoasc">14.1 aac_adtstoasc</a></li>
+    <li><a name="toc-chomp" href="#chomp">14.2 chomp</a></li>
+    <li><a name="toc-dump_005fextra" href="#dump_005fextra">14.3 dump_extra</a></li>
+    <li><a name="toc-h264_005fmp4toannexb" href="#h264_005fmp4toannexb">14.4 h264_mp4toannexb</a></li>
+    <li><a name="toc-imx_005fdump_005fheader" href="#imx_005fdump_005fheader">14.5 imx_dump_header</a></li>
+    <li><a name="toc-mjpeg2jpeg" href="#mjpeg2jpeg">14.6 mjpeg2jpeg</a></li>
+    <li><a name="toc-mjpega_005fdump_005fheader" href="#mjpega_005fdump_005fheader">14.7 mjpega_dump_header</a></li>
+    <li><a name="toc-movsub" href="#movsub">14.8 movsub</a></li>
+    <li><a name="toc-mp3_005fheader_005fdecompress" href="#mp3_005fheader_005fdecompress">14.9 mp3_header_decompress</a></li>
+    <li><a name="toc-noise-1" href="#noise-1">14.10 noise</a></li>
+    <li><a name="toc-remove_005fextra" href="#remove_005fextra">14.11 remove_extra</a></li>
   </ul></li>
-  <li><a name="toc-Muxers" href="#Muxers">20. Muxers</a>
+  <li><a name="toc-Format-Options" href="#Format-Options">15. Format Options</a>
   <ul class="toc">
-    <li><a name="toc-aiff-1" href="#aiff-1">20.1 aiff</a></li>
-    <li><a name="toc-crc-1" href="#crc-1">20.2 crc</a></li>
-    <li><a name="toc-framecrc-1" href="#framecrc-1">20.3 framecrc</a></li>
-    <li><a name="toc-framemd5-1" href="#framemd5-1">20.4 framemd5</a></li>
-    <li><a name="toc-gif-1" href="#gif-1">20.5 gif</a></li>
-    <li><a name="toc-hls-1" href="#hls-1">20.6 hls</a></li>
-    <li><a name="toc-ico-1" href="#ico-1">20.7 ico</a></li>
-    <li><a name="toc-image2-1" href="#image2-1">20.8 image2</a></li>
-    <li><a name="toc-matroska" href="#matroska">20.9 matroska</a></li>
-    <li><a name="toc-md5-2" href="#md5-2">20.10 md5</a></li>
-    <li><a name="toc-mov_002fmp4_002fismv" href="#mov_002fmp4_002fismv">20.11 mov/mp4/ismv</a></li>
-    <li><a name="toc-mp3" href="#mp3">20.12 mp3</a></li>
-    <li><a name="toc-mpegts-1" href="#mpegts-1">20.13 mpegts</a></li>
-    <li><a name="toc-null" href="#null">20.14 null</a></li>
-    <li><a name="toc-ogg" href="#ogg">20.15 ogg</a></li>
-    <li><a name="toc-segment_002c-stream_005fsegment_002c-ssegment" href="#segment_002c-stream_005fsegment_002c-ssegment">20.16 segment, stream_segment, ssegment</a>
-    <ul class="toc">
-      <li><a name="toc-Examples-52" href="#Examples-52">20.16.1 Examples</a></li>
-    </ul></li>
-    <li><a name="toc-tee" href="#tee">20.17 tee</a></li>
+    <li><a name="toc-Format-stream-specifiers-1" href="#Format-stream-specifiers-1">15.1 Format stream specifiers</a></li>
   </ul></li>
-  <li><a name="toc-Metadata" href="#Metadata">21. Metadata</a></li>
-  <li><a name="toc-Protocols" href="#Protocols">22. Protocols</a>
+  <li><a name="toc-Demuxers" href="#Demuxers">16. Demuxers</a>
   <ul class="toc">
-    <li><a name="toc-bluray" href="#bluray">22.1 bluray</a></li>
-    <li><a name="toc-cache" href="#cache">22.2 cache</a></li>
-    <li><a name="toc-concat-1" href="#concat-1">22.3 concat</a></li>
-    <li><a name="toc-crypto" href="#crypto">22.4 crypto</a></li>
-    <li><a name="toc-data" href="#data">22.5 data</a></li>
-    <li><a name="toc-file" href="#file">22.6 file</a></li>
-    <li><a name="toc-ftp" href="#ftp">22.7 ftp</a></li>
-    <li><a name="toc-gopher" href="#gopher">22.8 gopher</a></li>
-    <li><a name="toc-hls-2" href="#hls-2">22.9 hls</a></li>
-    <li><a name="toc-http" href="#http">22.10 http</a>
+    <li><a name="toc-applehttp" href="#applehttp">16.1 applehttp</a></li>
+    <li><a name="toc-asf" href="#asf">16.2 asf</a></li>
+    <li><a name="toc-concat-2" href="#concat-2">16.3 concat</a>
     <ul class="toc">
-      <li><a name="toc-HTTP-Cookies" href="#HTTP-Cookies">22.10.1 HTTP Cookies</a></li>
+      <li><a name="toc-Syntax-1" href="#Syntax-1">16.3.1 Syntax</a></li>
+      <li><a name="toc-Options-11" href="#Options-11">16.3.2 Options</a></li>
     </ul></li>
-    <li><a name="toc-mmst" href="#mmst">22.11 mmst</a></li>
-    <li><a name="toc-mmsh" href="#mmsh">22.12 mmsh</a></li>
-    <li><a name="toc-md5-1" href="#md5-1">22.13 md5</a></li>
-    <li><a name="toc-pipe" href="#pipe">22.14 pipe</a></li>
-    <li><a name="toc-rtmp" href="#rtmp">22.15 rtmp</a></li>
-    <li><a name="toc-rtmpe" href="#rtmpe">22.16 rtmpe</a></li>
-    <li><a name="toc-rtmps" href="#rtmps">22.17 rtmps</a></li>
-    <li><a name="toc-rtmpt" href="#rtmpt">22.18 rtmpt</a></li>
-    <li><a name="toc-rtmpte" href="#rtmpte">22.19 rtmpte</a></li>
-    <li><a name="toc-rtmpts" href="#rtmpts">22.20 rtmpts</a></li>
-    <li><a name="toc-libssh" href="#libssh">22.21 libssh</a></li>
-    <li><a name="toc-librtmp-rtmp_002c-rtmpe_002c-rtmps_002c-rtmpt_002c-rtmpte" href="#librtmp-rtmp_002c-rtmpe_002c-rtmps_002c-rtmpt_002c-rtmpte">22.22 librtmp rtmp, rtmpe, rtmps, rtmpt, rtmpte</a></li>
-    <li><a name="toc-rtp" href="#rtp">22.23 rtp</a></li>
-    <li><a name="toc-rtsp" href="#rtsp">22.24 rtsp</a></li>
-    <li><a name="toc-sap" href="#sap">22.25 sap</a>
+    <li><a name="toc-flv" href="#flv">16.4 flv</a></li>
+    <li><a name="toc-libgme" href="#libgme">16.5 libgme</a></li>
+    <li><a name="toc-libquvi" href="#libquvi">16.6 libquvi</a></li>
+    <li><a name="toc-image2" href="#image2">16.7 image2</a>
     <ul class="toc">
-      <li><a name="toc-Muxer" href="#Muxer">22.25.1 Muxer</a></li>
-      <li><a name="toc-Demuxer" href="#Demuxer">22.25.2 Demuxer</a></li>
+      <li><a name="toc-Examples-38" href="#Examples-38">16.7.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-sctp" href="#sctp">22.26 sctp</a></li>
-    <li><a name="toc-srtp" href="#srtp">22.27 srtp</a></li>
-    <li><a name="toc-tcp" href="#tcp">22.28 tcp</a></li>
-    <li><a name="toc-tls" href="#tls">22.29 tls</a></li>
-    <li><a name="toc-udp" href="#udp">22.30 udp</a></li>
-    <li><a name="toc-unix" href="#unix">22.31 unix</a></li>
+    <li><a name="toc-mpegts" href="#mpegts">16.8 mpegts</a></li>
+    <li><a name="toc-rawvideo-1" href="#rawvideo-1">16.9 rawvideo</a></li>
+    <li><a name="toc-sbg" href="#sbg">16.10 sbg</a></li>
+    <li><a name="toc-tedcaptions" href="#tedcaptions">16.11 tedcaptions</a></li>
   </ul></li>
-  <li><a name="toc-Device-Options" href="#Device-Options">23. Device Options</a></li>
-  <li><a name="toc-Input-Devices" href="#Input-Devices">24. Input Devices</a>
+  <li><a name="toc-Metadata" href="#Metadata">17. Metadata</a></li>
+  <li><a name="toc-Protocols" href="#Protocols">18. Protocols</a>
   <ul class="toc">
-    <li><a name="toc-alsa" href="#alsa">24.1 alsa</a></li>
-    <li><a name="toc-bktr" href="#bktr">24.2 bktr</a></li>
-    <li><a name="toc-dshow" href="#dshow">24.3 dshow</a>
-    <ul class="toc">
-      <li><a name="toc-Options-6" href="#Options-6">24.3.1 Options</a></li>
-      <li><a name="toc-Examples-42" href="#Examples-42">24.3.2 Examples</a></li>
-    </ul></li>
-    <li><a name="toc-dv1394" href="#dv1394">24.4 dv1394</a></li>
-    <li><a name="toc-fbdev-1" href="#fbdev-1">24.5 fbdev</a></li>
-    <li><a name="toc-iec61883" href="#iec61883">24.6 iec61883</a>
-    <ul class="toc">
-      <li><a name="toc-Options-18" href="#Options-18">24.6.1 Options</a></li>
-      <li><a name="toc-Examples-45" href="#Examples-45">24.6.2 Examples</a></li>
-    </ul></li>
-    <li><a name="toc-jack" href="#jack">24.7 jack</a></li>
-    <li><a name="toc-lavfi" href="#lavfi">24.8 lavfi</a>
+    <li><a name="toc-bluray" href="#bluray">18.1 bluray</a></li>
+    <li><a name="toc-cache" href="#cache">18.2 cache</a></li>
+    <li><a name="toc-concat-1" href="#concat-1">18.3 concat</a></li>
+    <li><a name="toc-crypto" href="#crypto">18.4 crypto</a></li>
+    <li><a name="toc-data" href="#data">18.5 data</a></li>
+    <li><a name="toc-file" href="#file">18.6 file</a></li>
+    <li><a name="toc-ftp" href="#ftp">18.7 ftp</a></li>
+    <li><a name="toc-gopher" href="#gopher">18.8 gopher</a></li>
+    <li><a name="toc-hls" href="#hls">18.9 hls</a></li>
+    <li><a name="toc-http" href="#http">18.10 http</a>
     <ul class="toc">
-      <li><a name="toc-Options-28" href="#Options-28">24.8.1 Options</a></li>
-      <li><a name="toc-Examples-11" href="#Examples-11">24.8.2 Examples</a></li>
+      <li><a name="toc-HTTP-Cookies" href="#HTTP-Cookies">18.10.1 HTTP Cookies</a></li>
     </ul></li>
-    <li><a name="toc-libdc1394" href="#libdc1394">24.9 libdc1394</a></li>
-    <li><a name="toc-openal" href="#openal">24.10 openal</a>
+    <li><a name="toc-mmst" href="#mmst">18.11 mmst</a></li>
+    <li><a name="toc-mmsh" href="#mmsh">18.12 mmsh</a></li>
+    <li><a name="toc-md5" href="#md5">18.13 md5</a></li>
+    <li><a name="toc-pipe" href="#pipe">18.14 pipe</a></li>
+    <li><a name="toc-rtmp" href="#rtmp">18.15 rtmp</a></li>
+    <li><a name="toc-rtmpe" href="#rtmpe">18.16 rtmpe</a></li>
+    <li><a name="toc-rtmps" href="#rtmps">18.17 rtmps</a></li>
+    <li><a name="toc-rtmpt" href="#rtmpt">18.18 rtmpt</a></li>
+    <li><a name="toc-rtmpte" href="#rtmpte">18.19 rtmpte</a></li>
+    <li><a name="toc-rtmpts" href="#rtmpts">18.20 rtmpts</a></li>
+    <li><a name="toc-libssh" href="#libssh">18.21 libssh</a></li>
+    <li><a name="toc-librtmp-rtmp_002c-rtmpe_002c-rtmps_002c-rtmpt_002c-rtmpte" href="#librtmp-rtmp_002c-rtmpe_002c-rtmps_002c-rtmpt_002c-rtmpte">18.22 librtmp rtmp, rtmpe, rtmps, rtmpt, rtmpte</a></li>
+    <li><a name="toc-rtp" href="#rtp">18.23 rtp</a></li>
+    <li><a name="toc-rtsp" href="#rtsp">18.24 rtsp</a>
     <ul class="toc">
-      <li><a name="toc-Options-31" href="#Options-31">24.10.1 Options</a></li>
-      <li><a name="toc-Examples-65" href="#Examples-65">24.10.2 Examples</a></li>
+      <li><a name="toc-Examples-32" href="#Examples-32">18.24.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-oss-1" href="#oss-1">24.11 oss</a></li>
-    <li><a name="toc-pulse-1" href="#pulse-1">24.12 pulse</a>
+    <li><a name="toc-sap" href="#sap">18.25 sap</a>
     <ul class="toc">
-      <li><a name="toc-Options-4" href="#Options-4">24.12.1 Options</a></li>
-      <li><a name="toc-Examples-35" href="#Examples-35">24.12.2 Examples</a></li>
+      <li><a name="toc-Muxer" href="#Muxer">18.25.1 Muxer</a></li>
+      <li><a name="toc-Demuxer" href="#Demuxer">18.25.2 Demuxer</a></li>
     </ul></li>
-    <li><a name="toc-sndio-1" href="#sndio-1">24.13 sndio</a></li>
-    <li><a name="toc-video4linux2_002c-v4l2" href="#video4linux2_002c-v4l2">24.14 video4linux2, v4l2</a>
+    <li><a name="toc-sctp" href="#sctp">18.26 sctp</a></li>
+    <li><a name="toc-srtp" href="#srtp">18.27 srtp</a></li>
+    <li><a name="toc-tcp" href="#tcp">18.28 tcp</a></li>
+    <li><a name="toc-tls" href="#tls">18.29 tls</a></li>
+    <li><a name="toc-udp" href="#udp">18.30 udp</a>
     <ul class="toc">
-      <li><a name="toc-Options-10" href="#Options-10">24.14.1 Options</a></li>
+      <li><a name="toc-Examples-65" href="#Examples-65">18.30.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-vfwcap" href="#vfwcap">24.15 vfwcap</a></li>
-    <li><a name="toc-x11grab" href="#x11grab">24.16 x11grab</a>
-    <ul class="toc">
-      <li><a name="toc-Options-26" href="#Options-26">24.16.1 Options</a></li>
-    </ul>
-</li>
+    <li><a name="toc-unix" href="#unix">18.31 unix</a></li>
   </ul></li>
-  <li><a name="toc-Output-Devices" href="#Output-Devices">25. Output Devices</a>
+  <li><a name="toc-Device-Options" href="#Device-Options">19. Device Options</a></li>
+  <li><a name="toc-Input-Devices" href="#Input-Devices">20. Input Devices</a>
   <ul class="toc">
-    <li><a name="toc-alsa-1" href="#alsa-1">25.1 alsa</a>
+    <li><a name="toc-alsa" href="#alsa">20.1 alsa</a></li>
+    <li><a name="toc-bktr" href="#bktr">20.2 bktr</a></li>
+    <li><a name="toc-dshow" href="#dshow">20.3 dshow</a>
     <ul class="toc">
-      <li><a name="toc-Examples-53" href="#Examples-53">25.1.1 Examples</a></li>
+      <li><a name="toc-Options-13" href="#Options-13">20.3.1 Options</a></li>
+      <li><a name="toc-Examples-63" href="#Examples-63">20.3.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-caca" href="#caca">25.2 caca</a>
+    <li><a name="toc-dv1394" href="#dv1394">20.4 dv1394</a></li>
+    <li><a name="toc-fbdev" href="#fbdev">20.5 fbdev</a></li>
+    <li><a name="toc-iec61883" href="#iec61883">20.6 iec61883</a>
     <ul class="toc">
-      <li><a name="toc-Options-5" href="#Options-5">25.2.1 Options</a></li>
-      <li><a name="toc-Examples-30" href="#Examples-30">25.2.2 Examples</a></li>
+      <li><a name="toc-Options-7" href="#Options-7">20.6.1 Options</a></li>
+      <li><a name="toc-Examples-72" href="#Examples-72">20.6.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-fbdev" href="#fbdev">25.3 fbdev</a>
+    <li><a name="toc-jack" href="#jack">20.7 jack</a></li>
+    <li><a name="toc-lavfi" href="#lavfi">20.8 lavfi</a>
     <ul class="toc">
-      <li><a name="toc-Options-30" href="#Options-30">25.3.1 Options</a></li>
-      <li><a name="toc-Examples-78" href="#Examples-78">25.3.2 Examples</a></li>
+      <li><a name="toc-Options-10" href="#Options-10">20.8.1 Options</a></li>
+      <li><a name="toc-Examples-20" href="#Examples-20">20.8.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-oss" href="#oss">25.4 oss</a></li>
-    <li><a name="toc-pulse" href="#pulse">25.5 pulse</a>
+    <li><a name="toc-libdc1394" href="#libdc1394">20.9 libdc1394</a></li>
+    <li><a name="toc-openal" href="#openal">20.10 openal</a>
     <ul class="toc">
-      <li><a name="toc-Options-22" href="#Options-22">25.5.1 Options</a></li>
-      <li><a name="toc-Examples-73" href="#Examples-73">25.5.2 Examples</a></li>
+      <li><a name="toc-Options-14" href="#Options-14">20.10.1 Options</a></li>
+      <li><a name="toc-Examples-18" href="#Examples-18">20.10.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-sdl" href="#sdl">25.6 sdl</a>
+    <li><a name="toc-oss" href="#oss">20.11 oss</a></li>
+    <li><a name="toc-pulse" href="#pulse">20.12 pulse</a>
     <ul class="toc">
-      <li><a name="toc-Options-8" href="#Options-8">25.6.1 Options</a></li>
-      <li><a name="toc-Interactive-commands" href="#Interactive-commands">25.6.2 Interactive commands</a></li>
-      <li><a name="toc-Examples-58" href="#Examples-58">25.6.3 Examples</a></li>
+      <li><a name="toc-Options-2" href="#Options-2">20.12.1 Options</a></li>
+      <li><a name="toc-Examples-47" href="#Examples-47">20.12.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-sndio" href="#sndio">25.7 sndio</a></li>
-    <li><a name="toc-xv" href="#xv">25.8 xv</a>
+    <li><a name="toc-sndio" href="#sndio">20.13 sndio</a></li>
+    <li><a name="toc-video4linux2_002c-v4l2" href="#video4linux2_002c-v4l2">20.14 video4linux2, v4l2</a>
     <ul class="toc">
-      <li><a name="toc-Options-7" href="#Options-7">25.8.1 Options</a></li>
-      <li><a name="toc-Examples-66" href="#Examples-66">25.8.2 Examples</a></li>
+      <li><a name="toc-Options-3" href="#Options-3">20.14.1 Options</a></li>
+    </ul></li>
+    <li><a name="toc-vfwcap" href="#vfwcap">20.15 vfwcap</a></li>
+    <li><a name="toc-x11grab" href="#x11grab">20.16 x11grab</a>
+    <ul class="toc">
+      <li><a name="toc-Options-5" href="#Options-5">20.16.1 Options</a></li>
     </ul>
 </li>
   </ul></li>
-  <li><a name="toc-Resampler-Options" href="#Resampler-Options">26. Resampler Options</a></li>
-  <li><a name="toc-Scaler-Options" href="#Scaler-Options">27. Scaler Options</a></li>
-  <li><a name="toc-Filtering-Introduction" href="#Filtering-Introduction">28. Filtering Introduction</a></li>
-  <li><a name="toc-graph2dot" href="#graph2dot">29. graph2dot</a></li>
-  <li><a name="toc-Filtergraph-description" href="#Filtergraph-description">30. Filtergraph description</a>
+  <li><a name="toc-Resampler-Options" href="#Resampler-Options">21. Resampler Options</a></li>
+  <li><a name="toc-Scaler-Options" href="#Scaler-Options">22. Scaler Options</a></li>
+  <li><a name="toc-Filtering-Introduction" href="#Filtering-Introduction">23. Filtering Introduction</a></li>
+  <li><a name="toc-graph2dot" href="#graph2dot">24. graph2dot</a></li>
+  <li><a name="toc-Filtergraph-description" href="#Filtergraph-description">25. Filtergraph description</a>
   <ul class="toc">
-    <li><a name="toc-Filtergraph-syntax-1" href="#Filtergraph-syntax-1">30.1 Filtergraph syntax</a></li>
-    <li><a name="toc-Notes-on-filtergraph-escaping" href="#Notes-on-filtergraph-escaping">30.2 Notes on filtergraph escaping</a></li>
+    <li><a name="toc-Filtergraph-syntax-1" href="#Filtergraph-syntax-1">25.1 Filtergraph syntax</a></li>
+    <li><a name="toc-Notes-on-filtergraph-escaping" href="#Notes-on-filtergraph-escaping">25.2 Notes on filtergraph escaping</a></li>
   </ul></li>
-  <li><a name="toc-Timeline-editing" href="#Timeline-editing">31. Timeline editing</a></li>
-  <li><a name="toc-Audio-Filters" href="#Audio-Filters">32. Audio Filters</a>
+  <li><a name="toc-Timeline-editing" href="#Timeline-editing">26. Timeline editing</a></li>
+  <li><a name="toc-Audio-Filters" href="#Audio-Filters">27. Audio Filters</a>
   <ul class="toc">
-    <li><a name="toc-aconvert" href="#aconvert">32.1 aconvert</a>
+    <li><a name="toc-aconvert" href="#aconvert">27.1 aconvert</a>
+    <ul class="toc">
+      <li><a name="toc-Examples-12" href="#Examples-12">27.1.1 Examples</a></li>
+    </ul></li>
+    <li><a name="toc-adelay" href="#adelay">27.2 adelay</a>
     <ul class="toc">
-      <li><a name="toc-Examples-5" href="#Examples-5">32.1.1 Examples</a></li>
+      <li><a name="toc-Examples-13" href="#Examples-13">27.2.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-adelay" href="#adelay">32.2 adelay</a>
+    <li><a name="toc-aecho" href="#aecho">27.3 aecho</a>
     <ul class="toc">
-      <li><a name="toc-Examples-39" href="#Examples-39">32.2.1 Examples</a></li>
+      <li><a name="toc-Examples-77" href="#Examples-77">27.3.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-aecho" href="#aecho">32.3 aecho</a>
+    <li><a name="toc-aeval" href="#aeval">27.4 aeval</a>
     <ul class="toc">
-      <li><a name="toc-Examples-62" href="#Examples-62">32.3.1 Examples</a></li>
+      <li><a name="toc-Examples-39" href="#Examples-39">27.4.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-aeval" href="#aeval">32.4 aeval</a>
+    <li><a name="toc-afade" href="#afade">27.5 afade</a>
     <ul class="toc">
-      <li><a name="toc-Examples-82" href="#Examples-82">32.4.1 Examples</a></li>
+      <li><a name="toc-Examples-45" href="#Examples-45">27.5.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-afade" href="#afade">32.5 afade</a>
+    <li><a name="toc-aformat-1" href="#aformat-1">27.6 aformat</a></li>
+    <li><a name="toc-allpass" href="#allpass">27.7 allpass</a></li>
+    <li><a name="toc-amerge" href="#amerge">27.8 amerge</a>
     <ul class="toc">
-      <li><a name="toc-Examples-23" href="#Examples-23">32.5.1 Examples</a></li>
+      <li><a name="toc-Examples-22" href="#Examples-22">27.8.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-aformat-1" href="#aformat-1">32.6 aformat</a></li>
-    <li><a name="toc-allpass" href="#allpass">32.7 allpass</a></li>
-    <li><a name="toc-amerge" href="#amerge">32.8 amerge</a>
+    <li><a name="toc-amix" href="#amix">27.9 amix</a></li>
+    <li><a name="toc-anull" href="#anull">27.10 anull</a></li>
+    <li><a name="toc-apad" href="#apad">27.11 apad</a></li>
+    <li><a name="toc-aphaser" href="#aphaser">27.12 aphaser</a></li>
+    <li><a name="toc-aresample-1" href="#aresample-1">27.13 aresample</a>
     <ul class="toc">
-      <li><a name="toc-Examples-12" href="#Examples-12">32.8.1 Examples</a></li>
+      <li><a name="toc-Examples-78" href="#Examples-78">27.13.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-amix" href="#amix">32.9 amix</a></li>
-    <li><a name="toc-anull" href="#anull">32.10 anull</a></li>
-    <li><a name="toc-apad" href="#apad">32.11 apad</a></li>
-    <li><a name="toc-aphaser" href="#aphaser">32.12 aphaser</a></li>
-    <li><a name="toc-aresample-1" href="#aresample-1">32.13 aresample</a>
+    <li><a name="toc-asetnsamples" href="#asetnsamples">27.14 asetnsamples</a></li>
+    <li><a name="toc-asetrate" href="#asetrate">27.15 asetrate</a></li>
+    <li><a name="toc-ashowinfo" href="#ashowinfo">27.16 ashowinfo</a></li>
+    <li><a name="toc-astats" href="#astats">27.17 astats</a></li>
+    <li><a name="toc-astreamsync" href="#astreamsync">27.18 astreamsync</a>
     <ul class="toc">
-      <li><a name="toc-Examples-81" href="#Examples-81">32.13.1 Examples</a></li>
+      <li><a name="toc-Examples-61" href="#Examples-61">27.18.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-asetnsamples" href="#asetnsamples">32.14 asetnsamples</a></li>
-    <li><a name="toc-asetrate" href="#asetrate">32.15 asetrate</a></li>
-    <li><a name="toc-ashowinfo" href="#ashowinfo">32.16 ashowinfo</a></li>
-    <li><a name="toc-astats" href="#astats">32.17 astats</a></li>
-    <li><a name="toc-astreamsync" href="#astreamsync">32.18 astreamsync</a>
+    <li><a name="toc-asyncts" href="#asyncts">27.19 asyncts</a></li>
+    <li><a name="toc-atempo" href="#atempo">27.20 atempo</a>
     <ul class="toc">
-      <li><a name="toc-Examples-9" href="#Examples-9">32.18.1 Examples</a></li>
+      <li><a name="toc-Examples-71" href="#Examples-71">27.20.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-asyncts" href="#asyncts">32.19 asyncts</a></li>
-    <li><a name="toc-atempo" href="#atempo">32.20 atempo</a>
+    <li><a name="toc-atrim" href="#atrim">27.21 atrim</a></li>
+    <li><a name="toc-bandpass" href="#bandpass">27.22 bandpass</a></li>
+    <li><a name="toc-bandreject" href="#bandreject">27.23 bandreject</a></li>
+    <li><a name="toc-bass" href="#bass">27.24 bass</a></li>
+    <li><a name="toc-biquad" href="#biquad">27.25 biquad</a></li>
+    <li><a name="toc-channelmap" href="#channelmap">27.26 channelmap</a></li>
+    <li><a name="toc-channelsplit" href="#channelsplit">27.27 channelsplit</a></li>
+    <li><a name="toc-compand" href="#compand">27.28 compand</a>
     <ul class="toc">
-      <li><a name="toc-Examples-19" href="#Examples-19">32.20.1 Examples</a></li>
+      <li><a name="toc-Examples-24" href="#Examples-24">27.28.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-atrim" href="#atrim">32.21 atrim</a></li>
-    <li><a name="toc-bandpass" href="#bandpass">32.22 bandpass</a></li>
-    <li><a name="toc-bandreject" href="#bandreject">32.23 bandreject</a></li>
-    <li><a name="toc-bass" href="#bass">32.24 bass</a></li>
-    <li><a name="toc-biquad" href="#biquad">32.25 biquad</a></li>
-    <li><a name="toc-channelmap" href="#channelmap">32.26 channelmap</a></li>
-    <li><a name="toc-channelsplit" href="#channelsplit">32.27 channelsplit</a></li>
-    <li><a name="toc-compand" href="#compand">32.28 compand</a>
+    <li><a name="toc-earwax" href="#earwax">27.29 earwax</a></li>
+    <li><a name="toc-equalizer" href="#equalizer">27.30 equalizer</a>
     <ul class="toc">
-      <li><a name="toc-Examples-18" href="#Examples-18">32.28.1 Examples</a></li>
+      <li><a name="toc-Examples-6" href="#Examples-6">27.30.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-earwax" href="#earwax">32.29 earwax</a></li>
-    <li><a name="toc-equalizer" href="#equalizer">32.30 equalizer</a></li>
-    <li><a name="toc-highpass" href="#highpass">32.31 highpass</a></li>
-    <li><a name="toc-join" href="#join">32.32 join</a></li>
-    <li><a name="toc-ladspa" href="#ladspa">32.33 ladspa</a>
+    <li><a name="toc-highpass" href="#highpass">27.31 highpass</a></li>
+    <li><a name="toc-join" href="#join">27.32 join</a></li>
+    <li><a name="toc-ladspa" href="#ladspa">27.33 ladspa</a>
     <ul class="toc">
-      <li><a name="toc-Examples-32" href="#Examples-32">32.33.1 Examples</a></li>
-      <li><a name="toc-Commands" href="#Commands">32.33.2 Commands</a></li>
+      <li><a name="toc-Examples-52" href="#Examples-52">27.33.1 Examples</a></li>
+      <li><a name="toc-Commands" href="#Commands">27.33.2 Commands</a></li>
     </ul></li>
-    <li><a name="toc-lowpass" href="#lowpass">32.34 lowpass</a></li>
-    <li><a name="toc-pan" href="#pan">32.35 pan</a>
+    <li><a name="toc-lowpass" href="#lowpass">27.34 lowpass</a></li>
+    <li><a name="toc-pan" href="#pan">27.35 pan</a>
     <ul class="toc">
-      <li><a name="toc-Mixing-examples" href="#Mixing-examples">32.35.1 Mixing examples</a></li>
-      <li><a name="toc-Remapping-examples" href="#Remapping-examples">32.35.2 Remapping examples</a></li>
+      <li><a name="toc-Mixing-examples" href="#Mixing-examples">27.35.1 Mixing examples</a></li>
+      <li><a name="toc-Remapping-examples" href="#Remapping-examples">27.35.2 Remapping examples</a></li>
     </ul></li>
-    <li><a name="toc-replaygain" href="#replaygain">32.36 replaygain</a></li>
-    <li><a name="toc-resample" href="#resample">32.37 resample</a></li>
-    <li><a name="toc-silencedetect" href="#silencedetect">32.38 silencedetect</a>
+    <li><a name="toc-replaygain" href="#replaygain">27.36 replaygain</a></li>
+    <li><a name="toc-resample" href="#resample">27.37 resample</a></li>
+    <li><a name="toc-silencedetect" href="#silencedetect">27.38 silencedetect</a>
     <ul class="toc">
-      <li><a name="toc-Examples-46" href="#Examples-46">32.38.1 Examples</a></li>
+      <li><a name="toc-Examples-49" href="#Examples-49">27.38.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-treble" href="#treble">32.39 treble</a></li>
-    <li><a name="toc-volume" href="#volume">32.40 volume</a>
+    <li><a name="toc-treble" href="#treble">27.39 treble</a></li>
+    <li><a name="toc-volume" href="#volume">27.40 volume</a>
     <ul class="toc">
-      <li><a name="toc-Examples-10" href="#Examples-10">32.40.1 Examples</a></li>
+      <li><a name="toc-Commands-4" href="#Commands-4">27.40.1 Commands</a></li>
+      <li><a name="toc-Examples-74" href="#Examples-74">27.40.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-volumedetect" href="#volumedetect">32.41 volumedetect</a>
+    <li><a name="toc-volumedetect" href="#volumedetect">27.41 volumedetect</a>
     <ul class="toc">
-      <li><a name="toc-Examples-22" href="#Examples-22">32.41.1 Examples</a></li>
+      <li><a name="toc-Examples" href="#Examples">27.41.1 Examples</a></li>
     </ul>
 </li>
   </ul></li>
-  <li><a name="toc-Audio-Sources" href="#Audio-Sources">33. Audio Sources</a>
+  <li><a name="toc-Audio-Sources" href="#Audio-Sources">28. Audio Sources</a>
   <ul class="toc">
-    <li><a name="toc-abuffer" href="#abuffer">33.1 abuffer</a>
+    <li><a name="toc-abuffer" href="#abuffer">28.1 abuffer</a>
     <ul class="toc">
-      <li><a name="toc-Examples-40" href="#Examples-40">33.1.1 Examples</a></li>
+      <li><a name="toc-Examples-42" href="#Examples-42">28.1.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-aevalsrc" href="#aevalsrc">33.2 aevalsrc</a>
+    <li><a name="toc-aevalsrc" href="#aevalsrc">28.2 aevalsrc</a>
     <ul class="toc">
-      <li><a name="toc-Examples-55" href="#Examples-55">33.2.1 Examples</a></li>
+      <li><a name="toc-Examples-64" href="#Examples-64">28.2.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-anullsrc" href="#anullsrc">33.3 anullsrc</a>
+    <li><a name="toc-anullsrc" href="#anullsrc">28.3 anullsrc</a>
     <ul class="toc">
-      <li><a name="toc-Examples-54" href="#Examples-54">33.3.1 Examples</a></li>
+      <li><a name="toc-Examples-51" href="#Examples-51">28.3.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-flite" href="#flite">33.4 flite</a>
+    <li><a name="toc-flite" href="#flite">28.4 flite</a>
     <ul class="toc">
-      <li><a name="toc-Examples-56" href="#Examples-56">33.4.1 Examples</a></li>
+      <li><a name="toc-Examples-84" href="#Examples-84">28.4.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-sine" href="#sine">33.5 sine</a>
+    <li><a name="toc-sine" href="#sine">28.5 sine</a>
     <ul class="toc">
-      <li><a name="toc-Examples-26" href="#Examples-26">33.5.1 Examples</a></li>
+      <li><a name="toc-Examples-35" href="#Examples-35">28.5.1 Examples</a></li>
     </ul>
 </li>
   </ul></li>
-  <li><a name="toc-Audio-Sinks" href="#Audio-Sinks">34. Audio Sinks</a>
+  <li><a name="toc-Audio-Sinks" href="#Audio-Sinks">29. Audio Sinks</a>
   <ul class="toc">
-    <li><a name="toc-abuffersink" href="#abuffersink">34.1 abuffersink</a></li>
-    <li><a name="toc-anullsink" href="#anullsink">34.2 anullsink</a></li>
+    <li><a name="toc-abuffersink" href="#abuffersink">29.1 abuffersink</a></li>
+    <li><a name="toc-anullsink" href="#anullsink">29.2 anullsink</a></li>
   </ul></li>
-  <li><a name="toc-Video-Filters" href="#Video-Filters">35. Video Filters</a>
+  <li><a name="toc-Video-Filters" href="#Video-Filters">30. Video Filters</a>
   <ul class="toc">
-    <li><a name="toc-alphaextract" href="#alphaextract">35.1 alphaextract</a></li>
-    <li><a name="toc-alphamerge" href="#alphamerge">35.2 alphamerge</a></li>
-    <li><a name="toc-ass" href="#ass">35.3 ass</a></li>
-    <li><a name="toc-bbox" href="#bbox">35.4 bbox</a></li>
-    <li><a name="toc-blackdetect" href="#blackdetect">35.5 blackdetect</a></li>
-    <li><a name="toc-blackframe" href="#blackframe">35.6 blackframe</a></li>
-    <li><a name="toc-blend" href="#blend">35.7 blend</a>
+    <li><a name="toc-alphaextract" href="#alphaextract">30.1 alphaextract</a></li>
+    <li><a name="toc-alphamerge" href="#alphamerge">30.2 alphamerge</a></li>
+    <li><a name="toc-ass" href="#ass">30.3 ass</a></li>
+    <li><a name="toc-bbox" href="#bbox">30.4 bbox</a></li>
+    <li><a name="toc-blackdetect" href="#blackdetect">30.5 blackdetect</a></li>
+    <li><a name="toc-blackframe" href="#blackframe">30.6 blackframe</a></li>
+    <li><a name="toc-blend" href="#blend">30.7 blend</a>
     <ul class="toc">
-      <li><a name="toc-Examples-49" href="#Examples-49">35.7.1 Examples</a></li>
+      <li><a name="toc-Examples-75" href="#Examples-75">30.7.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-boxblur" href="#boxblur">35.8 boxblur</a>
+    <li><a name="toc-boxblur" href="#boxblur">30.8 boxblur</a>
     <ul class="toc">
-      <li><a name="toc-Examples-69" href="#Examples-69">35.8.1 Examples</a></li>
+      <li><a name="toc-Examples-5" href="#Examples-5">30.8.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-colorbalance" href="#colorbalance">35.9 colorbalance</a>
+    <li><a name="toc-colorbalance" href="#colorbalance">30.9 colorbalance</a>
     <ul class="toc">
-      <li><a name="toc-Examples-61" href="#Examples-61">35.9.1 Examples</a></li>
+      <li><a name="toc-Examples-14" href="#Examples-14">30.9.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-colorchannelmixer" href="#colorchannelmixer">35.10 colorchannelmixer</a>
+    <li><a name="toc-colorchannelmixer" href="#colorchannelmixer">30.10 colorchannelmixer</a>
     <ul class="toc">
-      <li><a name="toc-Examples-89" href="#Examples-89">35.10.1 Examples</a></li>
+      <li><a name="toc-Examples-43" href="#Examples-43">30.10.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-colormatrix" href="#colormatrix">35.11 colormatrix</a></li>
-    <li><a name="toc-copy" href="#copy">35.12 copy</a></li>
-    <li><a name="toc-crop" href="#crop">35.13 crop</a>
+    <li><a name="toc-colormatrix" href="#colormatrix">30.11 colormatrix</a></li>
+    <li><a name="toc-copy" href="#copy">30.12 copy</a></li>
+    <li><a name="toc-crop" href="#crop">30.13 crop</a>
     <ul class="toc">
-      <li><a name="toc-Examples-8" href="#Examples-8">35.13.1 Examples</a></li>
+      <li><a name="toc-Examples-53" href="#Examples-53">30.13.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-cropdetect" href="#cropdetect">35.14 cropdetect</a></li>
-    <li><a name="toc-curves-1" href="#curves-1">35.15 curves</a>
+    <li><a name="toc-cropdetect" href="#cropdetect">30.14 cropdetect</a></li>
+    <li><a name="toc-curves-1" href="#curves-1">30.15 curves</a>
     <ul class="toc">
-      <li><a name="toc-Examples-85" href="#Examples-85">35.15.1 Examples</a></li>
+      <li><a name="toc-Examples-54" href="#Examples-54">30.15.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-dctdnoiz" href="#dctdnoiz">35.16 dctdnoiz</a>
+    <li><a name="toc-dctdnoiz" href="#dctdnoiz">30.16 dctdnoiz</a>
     <ul class="toc">
-      <li><a name="toc-Examples-90" href="#Examples-90">35.16.1 Examples</a></li>
+      <li><a name="toc-Examples-4" href="#Examples-4">30.16.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-decimate-1" href="#decimate-1">35.17 decimate</a></li>
-    <li><a name="toc-delogo" href="#delogo">35.18 delogo</a>
+    <li><a name="toc-decimate-1" href="#decimate-1">30.17 decimate</a></li>
+    <li><a name="toc-dejudder" href="#dejudder">30.18 dejudder</a></li>
+    <li><a name="toc-delogo" href="#delogo">30.19 delogo</a>
     <ul class="toc">
-      <li><a name="toc-Examples-7" href="#Examples-7">35.18.1 Examples</a></li>
+      <li><a name="toc-Examples-73" href="#Examples-73">30.19.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-deshake" href="#deshake">35.19 deshake</a></li>
-    <li><a name="toc-drawbox" href="#drawbox">35.20 drawbox</a>
+    <li><a name="toc-deshake" href="#deshake">30.20 deshake</a></li>
+    <li><a name="toc-drawbox" href="#drawbox">30.21 drawbox</a>
     <ul class="toc">
-      <li><a name="toc-Examples-13" href="#Examples-13">35.20.1 Examples</a></li>
+      <li><a name="toc-Examples-8" href="#Examples-8">30.21.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-drawgrid" href="#drawgrid">35.21 drawgrid</a>
+    <li><a name="toc-drawgrid" href="#drawgrid">30.22 drawgrid</a>
     <ul class="toc">
-      <li><a name="toc-Examples-68" href="#Examples-68">35.21.1 Examples</a></li>
+      <li><a name="toc-Examples-46" href="#Examples-46">30.22.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-drawtext-1" href="#drawtext-1">35.22 drawtext</a>
+    <li><a name="toc-drawtext-1" href="#drawtext-1">30.23 drawtext</a>
     <ul class="toc">
-      <li><a name="toc-Syntax-1" href="#Syntax-1">35.22.1 Syntax</a></li>
-      <li><a name="toc-Text-expansion" href="#Text-expansion">35.22.2 Text expansion</a></li>
-      <li><a name="toc-Examples-48" href="#Examples-48">35.22.3 Examples</a></li>
+      <li><a name="toc-Syntax" href="#Syntax">30.23.1 Syntax</a></li>
+      <li><a name="toc-Text-expansion" href="#Text-expansion">30.23.2 Text expansion</a></li>
+      <li><a name="toc-Examples-44" href="#Examples-44">30.23.3 Examples</a></li>
     </ul></li>
-    <li><a name="toc-edgedetect" href="#edgedetect">35.23 edgedetect</a></li>
-    <li><a name="toc-extractplanes" href="#extractplanes">35.24 extractplanes</a>
+    <li><a name="toc-edgedetect" href="#edgedetect">30.24 edgedetect</a></li>
+    <li><a name="toc-extractplanes" href="#extractplanes">30.25 extractplanes</a>
     <ul class="toc">
-      <li><a name="toc-Examples-2" href="#Examples-2">35.24.1 Examples</a></li>
+      <li><a name="toc-Examples-67" href="#Examples-67">30.25.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-elbg" href="#elbg">35.25 elbg</a></li>
-    <li><a name="toc-fade" href="#fade">35.26 fade</a>
+    <li><a name="toc-elbg" href="#elbg">30.26 elbg</a></li>
+    <li><a name="toc-fade" href="#fade">30.27 fade</a>
     <ul class="toc">
-      <li><a name="toc-Examples-86" href="#Examples-86">35.26.1 Examples</a></li>
+      <li><a name="toc-Examples-10" href="#Examples-10">30.27.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-field" href="#field">35.27 field</a></li>
-    <li><a name="toc-fieldmatch" href="#fieldmatch">35.28 fieldmatch</a>
+    <li><a name="toc-field" href="#field">30.28 field</a></li>
+    <li><a name="toc-fieldmatch" href="#fieldmatch">30.29 fieldmatch</a>
     <ul class="toc">
-      <li><a name="toc-p_002fc_002fn_002fu_002fb-meaning-1" href="#p_002fc_002fn_002fu_002fb-meaning-1">35.28.1 p/c/n/u/b meaning</a>
+      <li><a name="toc-p_002fc_002fn_002fu_002fb-meaning-1" href="#p_002fc_002fn_002fu_002fb-meaning-1">30.29.1 p/c/n/u/b meaning</a>
       <ul class="toc">
-        <li><a name="toc-p_002fc_002fn" href="#p_002fc_002fn">35.28.1.1 p/c/n</a></li>
-        <li><a name="toc-u_002fb" href="#u_002fb">35.28.1.2 u/b</a></li>
+        <li><a name="toc-p_002fc_002fn" href="#p_002fc_002fn">30.29.1.1 p/c/n</a></li>
+        <li><a name="toc-u_002fb" href="#u_002fb">30.29.1.2 u/b</a></li>
       </ul></li>
-      <li><a name="toc-Examples-37" href="#Examples-37">35.28.2 Examples</a></li>
+      <li><a name="toc-Examples-69" href="#Examples-69">30.29.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-fieldorder" href="#fieldorder">35.29 fieldorder</a></li>
-    <li><a name="toc-fifo" href="#fifo">35.30 fifo</a></li>
-    <li><a name="toc-format-1" href="#format-1">35.31 format</a>
+    <li><a name="toc-fieldorder" href="#fieldorder">30.30 fieldorder</a></li>
+    <li><a name="toc-fifo" href="#fifo">30.31 fifo</a></li>
+    <li><a name="toc-format-1" href="#format-1">30.32 format</a>
     <ul class="toc">
-      <li><a name="toc-Examples-75" href="#Examples-75">35.31.1 Examples</a></li>
+      <li><a name="toc-Examples-7" href="#Examples-7">30.32.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-fps-1" href="#fps-1">35.32 fps</a>
+    <li><a name="toc-fps-1" href="#fps-1">30.33 fps</a>
     <ul class="toc">
-      <li><a name="toc-Examples-44" href="#Examples-44">35.32.1 Examples</a></li>
+      <li><a name="toc-Examples-62" href="#Examples-62">30.33.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-framestep" href="#framestep">35.33 framestep</a></li>
-    <li><a name="toc-frei0r-1" href="#frei0r-1">35.34 frei0r</a>
+    <li><a name="toc-framepack" href="#framepack">30.34 framepack</a></li>
+    <li><a name="toc-framestep" href="#framestep">30.35 framestep</a></li>
+    <li><a name="toc-frei0r-1" href="#frei0r-1">30.36 frei0r</a>
     <ul class="toc">
-      <li><a name="toc-Examples" href="#Examples">35.34.1 Examples</a></li>
+      <li><a name="toc-Examples-33" href="#Examples-33">30.36.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-geq" href="#geq">35.35 geq</a>
+    <li><a name="toc-geq" href="#geq">30.37 geq</a>
     <ul class="toc">
-      <li><a name="toc-Examples-74" href="#Examples-74">35.35.1 Examples</a></li>
+      <li><a name="toc-Examples-29" href="#Examples-29">30.37.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-gradfun" href="#gradfun">35.36 gradfun</a>
+    <li><a name="toc-gradfun" href="#gradfun">30.38 gradfun</a>
     <ul class="toc">
-      <li><a name="toc-Examples-76" href="#Examples-76">35.36.1 Examples</a></li>
+      <li><a name="toc-Examples-56" href="#Examples-56">30.38.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-haldclut-1" href="#haldclut-1">35.37 haldclut</a>
+    <li><a name="toc-haldclut-1" href="#haldclut-1">30.39 haldclut</a>
     <ul class="toc">
-      <li><a name="toc-Workflow-examples" href="#Workflow-examples">35.37.1 Workflow examples</a>
+      <li><a name="toc-Workflow-examples" href="#Workflow-examples">30.39.1 Workflow examples</a>
       <ul class="toc">
-        <li><a name="toc-Hald-CLUT-video-stream" href="#Hald-CLUT-video-stream">35.37.1.1 Hald CLUT video stream</a></li>
-        <li><a name="toc-Hald-CLUT-with-preview" href="#Hald-CLUT-with-preview">35.37.1.2 Hald CLUT with preview</a></li>
+        <li><a name="toc-Hald-CLUT-video-stream" href="#Hald-CLUT-video-stream">30.39.1.1 Hald CLUT video stream</a></li>
+        <li><a name="toc-Hald-CLUT-with-preview" href="#Hald-CLUT-with-preview">30.39.1.2 Hald CLUT with preview</a></li>
       </ul>
 </li>
     </ul></li>
-    <li><a name="toc-hflip" href="#hflip">35.38 hflip</a></li>
-    <li><a name="toc-histeq" href="#histeq">35.39 histeq</a></li>
-    <li><a name="toc-histogram" href="#histogram">35.40 histogram</a>
+    <li><a name="toc-hflip" href="#hflip">30.40 hflip</a></li>
+    <li><a name="toc-histeq" href="#histeq">30.41 histeq</a></li>
+    <li><a name="toc-histogram" href="#histogram">30.42 histogram</a>
     <ul class="toc">
-      <li><a name="toc-Examples-6" href="#Examples-6">35.40.1 Examples</a></li>
+      <li><a name="toc-Examples-27" href="#Examples-27">30.42.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-hqdn3d-1" href="#hqdn3d-1">35.41 hqdn3d</a></li>
-    <li><a name="toc-hue" href="#hue">35.42 hue</a>
+    <li><a name="toc-hqdn3d-1" href="#hqdn3d-1">30.43 hqdn3d</a></li>
+    <li><a name="toc-hue" href="#hue">30.44 hue</a>
     <ul class="toc">
-      <li><a name="toc-Examples-72" href="#Examples-72">35.42.1 Examples</a></li>
-      <li><a name="toc-Commands-3" href="#Commands-3">35.42.2 Commands</a></li>
+      <li><a name="toc-Examples-48" href="#Examples-48">30.44.1 Examples</a></li>
+      <li><a name="toc-Commands-3" href="#Commands-3">30.44.2 Commands</a></li>
     </ul></li>
-    <li><a name="toc-idet" href="#idet">35.43 idet</a></li>
-    <li><a name="toc-il" href="#il">35.44 il</a></li>
-    <li><a name="toc-interlace" href="#interlace">35.45 interlace</a></li>
-    <li><a name="toc-kerndeint" href="#kerndeint">35.46 kerndeint</a>
+    <li><a name="toc-idet" href="#idet">30.45 idet</a></li>
+    <li><a name="toc-il" href="#il">30.46 il</a></li>
+    <li><a name="toc-interlace" href="#interlace">30.47 interlace</a></li>
+    <li><a name="toc-kerndeint" href="#kerndeint">30.48 kerndeint</a>
     <ul class="toc">
-      <li><a name="toc-Examples-88" href="#Examples-88">35.46.1 Examples</a></li>
+      <li><a name="toc-Examples-1" href="#Examples-1">30.48.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-lut3d-1" href="#lut3d-1">35.47 lut3d</a></li>
-    <li><a name="toc-lut_002c-lutrgb_002c-lutyuv" href="#lut_002c-lutrgb_002c-lutyuv">35.48 lut, lutrgb, lutyuv</a>
+    <li><a name="toc-lut3d-1" href="#lut3d-1">30.49 lut3d</a></li>
+    <li><a name="toc-lut_002c-lutrgb_002c-lutyuv" href="#lut_002c-lutrgb_002c-lutyuv">30.50 lut, lutrgb, lutyuv</a>
     <ul class="toc">
-      <li><a name="toc-Examples-17" href="#Examples-17">35.48.1 Examples</a></li>
+      <li><a name="toc-Examples-26" href="#Examples-26">30.50.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-mergeplanes" href="#mergeplanes">35.49 mergeplanes</a>
+    <li><a name="toc-mergeplanes" href="#mergeplanes">30.51 mergeplanes</a>
     <ul class="toc">
-      <li><a name="toc-Examples-43" href="#Examples-43">35.49.1 Examples</a></li>
+      <li><a name="toc-Examples-82" href="#Examples-82">30.51.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-mcdeint" href="#mcdeint">35.50 mcdeint</a></li>
-    <li><a name="toc-mp" href="#mp">35.51 mp</a>
+    <li><a name="toc-mcdeint" href="#mcdeint">30.52 mcdeint</a></li>
+    <li><a name="toc-mp" href="#mp">30.53 mp</a>
     <ul class="toc">
-      <li><a name="toc-Examples-27" href="#Examples-27">35.51.1 Examples</a></li>
+      <li><a name="toc-Examples-34" href="#Examples-34">30.53.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-mpdecimate" href="#mpdecimate">35.52 mpdecimate</a></li>
-    <li><a name="toc-negate" href="#negate">35.53 negate</a></li>
-    <li><a name="toc-noformat" href="#noformat">35.54 noformat</a>
+    <li><a name="toc-mpdecimate" href="#mpdecimate">30.54 mpdecimate</a></li>
+    <li><a name="toc-negate" href="#negate">30.55 negate</a></li>
+    <li><a name="toc-noformat" href="#noformat">30.56 noformat</a>
     <ul class="toc">
-      <li><a name="toc-Examples-15" href="#Examples-15">35.54.1 Examples</a></li>
+      <li><a name="toc-Examples-21" href="#Examples-21">30.56.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-noise-1" href="#noise-1">35.55 noise</a>
+    <li><a name="toc-noise" href="#noise">30.57 noise</a>
     <ul class="toc">
-      <li><a name="toc-Examples-38" href="#Examples-38">35.55.1 Examples</a></li>
+      <li><a name="toc-Examples-70" href="#Examples-70">30.57.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-null-1" href="#null-1">35.56 null</a></li>
-    <li><a name="toc-ocv" href="#ocv">35.57 ocv</a>
+    <li><a name="toc-null" href="#null">30.58 null</a></li>
+    <li><a name="toc-ocv" href="#ocv">30.59 ocv</a>
     <ul class="toc">
-      <li><a name="toc-dilate-1" href="#dilate-1">35.57.1 dilate</a></li>
-      <li><a name="toc-erode" href="#erode">35.57.2 erode</a></li>
-      <li><a name="toc-smooth" href="#smooth">35.57.3 smooth</a></li>
+      <li><a name="toc-dilate-1" href="#dilate-1">30.59.1 dilate</a></li>
+      <li><a name="toc-erode" href="#erode">30.59.2 erode</a></li>
+      <li><a name="toc-smooth" href="#smooth">30.59.3 smooth</a></li>
     </ul></li>
-    <li><a name="toc-overlay-1" href="#overlay-1">35.58 overlay</a>
+    <li><a name="toc-overlay-1" href="#overlay-1">30.60 overlay</a>
     <ul class="toc">
-      <li><a name="toc-Commands-2" href="#Commands-2">35.58.1 Commands</a></li>
-      <li><a name="toc-Examples-4" href="#Examples-4">35.58.2 Examples</a></li>
+      <li><a name="toc-Commands-5" href="#Commands-5">30.60.1 Commands</a></li>
+      <li><a name="toc-Examples-76" href="#Examples-76">30.60.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-owdenoise" href="#owdenoise">35.59 owdenoise</a></li>
-    <li><a name="toc-pad" href="#pad">35.60 pad</a>
+    <li><a name="toc-owdenoise" href="#owdenoise">30.61 owdenoise</a></li>
+    <li><a name="toc-pad" href="#pad">30.62 pad</a>
     <ul class="toc">
-      <li><a name="toc-Examples-64" href="#Examples-64">35.60.1 Examples</a></li>
+      <li><a name="toc-Examples-55" href="#Examples-55">30.62.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-perspective" href="#perspective">35.61 perspective</a></li>
-    <li><a name="toc-phase" href="#phase">35.62 phase</a></li>
-    <li><a name="toc-pixdesctest" href="#pixdesctest">35.63 pixdesctest</a></li>
-    <li><a name="toc-pp" href="#pp">35.64 pp</a>
+    <li><a name="toc-perspective" href="#perspective">30.63 perspective</a></li>
+    <li><a name="toc-phase" href="#phase">30.64 phase</a></li>
+    <li><a name="toc-pixdesctest" href="#pixdesctest">30.65 pixdesctest</a></li>
+    <li><a name="toc-pp" href="#pp">30.66 pp</a>
     <ul class="toc">
-      <li><a name="toc-Examples-29" href="#Examples-29">35.64.1 Examples</a></li>
+      <li><a name="toc-Examples-3" href="#Examples-3">30.66.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-psnr" href="#psnr">35.65 psnr</a></li>
-    <li><a name="toc-pullup" href="#pullup">35.66 pullup</a></li>
-    <li><a name="toc-removelogo" href="#removelogo">35.67 removelogo</a></li>
-    <li><a name="toc-rotate" href="#rotate">35.68 rotate</a>
+    <li><a name="toc-psnr" href="#psnr">30.67 psnr</a></li>
+    <li><a name="toc-pullup-1" href="#pullup-1">30.68 pullup</a></li>
+    <li><a name="toc-removelogo" href="#removelogo">30.69 removelogo</a></li>
+    <li><a name="toc-rotate" href="#rotate">30.70 rotate</a>
     <ul class="toc">
-      <li><a name="toc-Examples-51" href="#Examples-51">35.68.1 Examples</a></li>
-      <li><a name="toc-Commands-1" href="#Commands-1">35.68.2 Commands</a></li>
+      <li><a name="toc-Examples-2" href="#Examples-2">30.70.1 Examples</a></li>
+      <li><a name="toc-Commands-2" href="#Commands-2">30.70.2 Commands</a></li>
     </ul></li>
-    <li><a name="toc-sab" href="#sab">35.69 sab</a></li>
-    <li><a name="toc-scale-1" href="#scale-1">35.70 scale</a>
+    <li><a name="toc-sab" href="#sab">30.71 sab</a></li>
+    <li><a name="toc-scale-1" href="#scale-1">30.72 scale</a>
     <ul class="toc">
-      <li><a name="toc-Options-25" href="#Options-25">35.70.1 Options</a></li>
-      <li><a name="toc-Examples-34" href="#Examples-34">35.70.2 Examples</a></li>
+      <li><a name="toc-Options-9" href="#Options-9">30.72.1 Options</a></li>
+      <li><a name="toc-Examples-19" href="#Examples-19">30.72.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-separatefields" href="#separatefields">35.71 separatefields</a></li>
-    <li><a name="toc-setdar_002c-setsar" href="#setdar_002c-setsar">35.72 setdar, setsar</a>
+    <li><a name="toc-separatefields" href="#separatefields">30.73 separatefields</a></li>
+    <li><a name="toc-setdar_002c-setsar" href="#setdar_002c-setsar">30.74 setdar, setsar</a>
     <ul class="toc">
-      <li><a name="toc-Examples-28" href="#Examples-28">35.72.1 Examples</a></li>
+      <li><a name="toc-Examples-17" href="#Examples-17">30.74.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-setfield-1" href="#setfield-1">35.73 setfield</a></li>
-    <li><a name="toc-showinfo" href="#showinfo">35.74 showinfo</a></li>
-    <li><a name="toc-smartblur-1" href="#smartblur-1">35.75 smartblur</a></li>
-    <li><a name="toc-stereo3d" href="#stereo3d">35.76 stereo3d</a>
+    <li><a name="toc-setfield-1" href="#setfield-1">30.75 setfield</a></li>
+    <li><a name="toc-showinfo" href="#showinfo">30.76 showinfo</a></li>
+    <li><a name="toc-smartblur-1" href="#smartblur-1">30.77 smartblur</a></li>
+    <li><a name="toc-stereo3d" href="#stereo3d">30.78 stereo3d</a>
     <ul class="toc">
-      <li><a name="toc-Examples-87" href="#Examples-87">35.76.1 Examples</a></li>
+      <li><a name="toc-Examples-66" href="#Examples-66">30.78.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-spp" href="#spp">35.77 spp</a></li>
-    <li><a name="toc-subtitles-1" href="#subtitles-1">35.78 subtitles</a></li>
-    <li><a name="toc-super2xsai" href="#super2xsai">35.79 super2xsai</a></li>
-    <li><a name="toc-swapuv" href="#swapuv">35.80 swapuv</a></li>
-    <li><a name="toc-telecine" href="#telecine">35.81 telecine</a></li>
-    <li><a name="toc-thumbnail" href="#thumbnail">35.82 thumbnail</a>
+    <li><a name="toc-spp" href="#spp">30.79 spp</a></li>
+    <li><a name="toc-subtitles-1" href="#subtitles-1">30.80 subtitles</a></li>
+    <li><a name="toc-super2xsai" href="#super2xsai">30.81 super2xsai</a></li>
+    <li><a name="toc-swapuv" href="#swapuv">30.82 swapuv</a></li>
+    <li><a name="toc-telecine" href="#telecine">30.83 telecine</a></li>
+    <li><a name="toc-thumbnail" href="#thumbnail">30.84 thumbnail</a>
     <ul class="toc">
-      <li><a name="toc-Examples-25" href="#Examples-25">35.82.1 Examples</a></li>
+      <li><a name="toc-Examples-9" href="#Examples-9">30.84.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-tile" href="#tile">35.83 tile</a>
+    <li><a name="toc-tile" href="#tile">30.85 tile</a>
     <ul class="toc">
-      <li><a name="toc-Examples-70" href="#Examples-70">35.83.1 Examples</a></li>
+      <li><a name="toc-Examples-36" href="#Examples-36">30.85.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-tinterlace" href="#tinterlace">35.84 tinterlace</a></li>
-    <li><a name="toc-transpose" href="#transpose">35.85 transpose</a></li>
-    <li><a name="toc-trim" href="#trim">35.86 trim</a></li>
-    <li><a name="toc-unsharp" href="#unsharp">35.87 unsharp</a>
+    <li><a name="toc-tinterlace" href="#tinterlace">30.86 tinterlace</a></li>
+    <li><a name="toc-transpose" href="#transpose">30.87 transpose</a></li>
+    <li><a name="toc-trim" href="#trim">30.88 trim</a></li>
+    <li><a name="toc-unsharp" href="#unsharp">30.89 unsharp</a>
     <ul class="toc">
-      <li><a name="toc-Examples-60" href="#Examples-60">35.87.1 Examples</a></li>
+      <li><a name="toc-Examples-59" href="#Examples-59">30.89.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-vidstabdetect-1" href="#vidstabdetect-1">35.88 vidstabdetect</a>
+    <li><a name="toc-vidstabdetect-1" href="#vidstabdetect-1">30.90 vidstabdetect</a>
     <ul class="toc">
-      <li><a name="toc-Examples-36" href="#Examples-36">35.88.1 Examples</a></li>
+      <li><a name="toc-Examples-57" href="#Examples-57">30.90.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-vidstabtransform-1" href="#vidstabtransform-1">35.89 vidstabtransform</a>
+    <li><a name="toc-vidstabtransform-1" href="#vidstabtransform-1">30.91 vidstabtransform</a>
     <ul class="toc">
-      <li><a name="toc-Examples-3" href="#Examples-3">35.89.1 Examples</a></li>
+      <li><a name="toc-Options-1" href="#Options-1">30.91.1 Options</a></li>
+      <li><a name="toc-Examples-81" href="#Examples-81">30.91.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-vflip" href="#vflip">35.90 vflip</a></li>
-    <li><a name="toc-vignette" href="#vignette">35.91 vignette</a>
+    <li><a name="toc-vflip" href="#vflip">30.92 vflip</a></li>
+    <li><a name="toc-vignette" href="#vignette">30.93 vignette</a>
     <ul class="toc">
-      <li><a name="toc-Expressions" href="#Expressions">35.91.1 Expressions</a></li>
-      <li><a name="toc-Examples-80" href="#Examples-80">35.91.2 Examples</a></li>
+      <li><a name="toc-Expressions" href="#Expressions">30.93.1 Expressions</a></li>
+      <li><a name="toc-Examples-11" href="#Examples-11">30.93.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-w3fdif" href="#w3fdif">35.92 w3fdif</a></li>
-    <li><a name="toc-yadif-1" href="#yadif-1">35.93 yadif</a></li>
+    <li><a name="toc-w3fdif" href="#w3fdif">30.94 w3fdif</a></li>
+    <li><a name="toc-yadif-1" href="#yadif-1">30.95 yadif</a></li>
   </ul></li>
-  <li><a name="toc-Video-Sources" href="#Video-Sources">36. Video Sources</a>
+  <li><a name="toc-Video-Sources" href="#Video-Sources">31. Video Sources</a>
   <ul class="toc">
-    <li><a name="toc-buffer" href="#buffer">36.1 buffer</a></li>
-    <li><a name="toc-cellauto" href="#cellauto">36.2 cellauto</a>
+    <li><a name="toc-buffer" href="#buffer">31.1 buffer</a></li>
+    <li><a name="toc-cellauto" href="#cellauto">31.2 cellauto</a>
     <ul class="toc">
-      <li><a name="toc-Examples-33" href="#Examples-33">36.2.1 Examples</a></li>
+      <li><a name="toc-Examples-37" href="#Examples-37">31.2.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-mandelbrot" href="#mandelbrot">36.3 mandelbrot</a></li>
-    <li><a name="toc-mptestsrc" href="#mptestsrc">36.4 mptestsrc</a></li>
-    <li><a name="toc-frei0r_005fsrc" href="#frei0r_005fsrc">36.5 frei0r_src</a></li>
-    <li><a name="toc-life" href="#life">36.6 life</a>
+    <li><a name="toc-mandelbrot" href="#mandelbrot">31.3 mandelbrot</a></li>
+    <li><a name="toc-mptestsrc" href="#mptestsrc">31.4 mptestsrc</a></li>
+    <li><a name="toc-frei0r_005fsrc" href="#frei0r_005fsrc">31.5 frei0r_src</a></li>
+    <li><a name="toc-life" href="#life">31.6 life</a>
     <ul class="toc">
-      <li><a name="toc-Examples-63" href="#Examples-63">36.6.1 Examples</a></li>
+      <li><a name="toc-Examples-15" href="#Examples-15">31.6.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-color_002c-haldclutsrc_002c-nullsrc_002c-rgbtestsrc_002c-smptebars_002c-smptehdbars_002c-testsrc" href="#color_002c-haldclutsrc_002c-nullsrc_002c-rgbtestsrc_002c-smptebars_002c-smptehdbars_002c-testsrc">36.7 color, haldclutsrc, nullsrc, rgbtestsrc, smptebars, smptehdbars, testsrc</a>
+    <li><a name="toc-color_002c-haldclutsrc_002c-nullsrc_002c-rgbtestsrc_002c-smptebars_002c-smptehdbars_002c-testsrc" href="#color_002c-haldclutsrc_002c-nullsrc_002c-rgbtestsrc_002c-smptebars_002c-smptehdbars_002c-testsrc">31.7 color, haldclutsrc, nullsrc, rgbtestsrc, smptebars, smptehdbars, testsrc</a>
     <ul class="toc">
-      <li><a name="toc-Commands-4" href="#Commands-4">36.7.1 Commands</a></li>
+      <li><a name="toc-Commands-1" href="#Commands-1">31.7.1 Commands</a></li>
     </ul>
 </li>
   </ul></li>
-  <li><a name="toc-Video-Sinks" href="#Video-Sinks">37. Video Sinks</a>
+  <li><a name="toc-Video-Sinks" href="#Video-Sinks">32. Video Sinks</a>
   <ul class="toc">
-    <li><a name="toc-buffersink" href="#buffersink">37.1 buffersink</a></li>
-    <li><a name="toc-nullsink" href="#nullsink">37.2 nullsink</a></li>
+    <li><a name="toc-buffersink" href="#buffersink">32.1 buffersink</a></li>
+    <li><a name="toc-nullsink" href="#nullsink">32.2 nullsink</a></li>
   </ul></li>
-  <li><a name="toc-Multimedia-Filters" href="#Multimedia-Filters">38. Multimedia Filters</a>
+  <li><a name="toc-Multimedia-Filters" href="#Multimedia-Filters">33. Multimedia Filters</a>
   <ul class="toc">
-    <li><a name="toc-avectorscope" href="#avectorscope">38.1 avectorscope</a>
+    <li><a name="toc-avectorscope" href="#avectorscope">33.1 avectorscope</a>
     <ul class="toc">
-      <li><a name="toc-Examples-24" href="#Examples-24">38.1.1 Examples</a></li>
+      <li><a name="toc-Examples-80" href="#Examples-80">33.1.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-concat-3" href="#concat-3">38.2 concat</a>
+    <li><a name="toc-concat-3" href="#concat-3">33.2 concat</a>
     <ul class="toc">
-      <li><a name="toc-Examples-91" href="#Examples-91">38.2.1 Examples</a></li>
+      <li><a name="toc-Examples-60" href="#Examples-60">33.2.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-ebur128" href="#ebur128">38.3 ebur128</a>
+    <li><a name="toc-ebur128" href="#ebur128">33.3 ebur128</a>
     <ul class="toc">
-      <li><a name="toc-Examples-14" href="#Examples-14">38.3.1 Examples</a></li>
+      <li><a name="toc-Examples-58" href="#Examples-58">33.3.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-interleave_002c-ainterleave" href="#interleave_002c-ainterleave">38.4 interleave, ainterleave</a>
+    <li><a name="toc-interleave_002c-ainterleave" href="#interleave_002c-ainterleave">33.4 interleave, ainterleave</a>
     <ul class="toc">
-      <li><a name="toc-Examples-57" href="#Examples-57">38.4.1 Examples</a></li>
+      <li><a name="toc-Examples-40" href="#Examples-40">33.4.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-perms_002c-aperms" href="#perms_002c-aperms">38.5 perms, aperms</a></li>
-    <li><a name="toc-select_002c-aselect" href="#select_002c-aselect">38.6 select, aselect</a>
+    <li><a name="toc-perms_002c-aperms" href="#perms_002c-aperms">33.5 perms, aperms</a></li>
+    <li><a name="toc-select_002c-aselect" href="#select_002c-aselect">33.6 select, aselect</a>
     <ul class="toc">
-      <li><a name="toc-Examples-59" href="#Examples-59">38.6.1 Examples</a></li>
+      <li><a name="toc-Examples-41" href="#Examples-41">33.6.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-sendcmd_002c-asendcmd" href="#sendcmd_002c-asendcmd">38.7 sendcmd, asendcmd</a>
+    <li><a name="toc-sendcmd_002c-asendcmd" href="#sendcmd_002c-asendcmd">33.7 sendcmd, asendcmd</a>
     <ul class="toc">
-      <li><a name="toc-Commands-syntax" href="#Commands-syntax">38.7.1 Commands syntax</a></li>
-      <li><a name="toc-Examples-71" href="#Examples-71">38.7.2 Examples</a></li>
+      <li><a name="toc-Commands-syntax" href="#Commands-syntax">33.7.1 Commands syntax</a></li>
+      <li><a name="toc-Examples-50" href="#Examples-50">33.7.2 Examples</a></li>
     </ul></li>
-    <li><a name="toc-setpts_002c-asetpts" href="#setpts_002c-asetpts">38.8 setpts, asetpts</a>
+    <li><a name="toc-setpts_002c-asetpts" href="#setpts_002c-asetpts">33.8 setpts, asetpts</a>
     <ul class="toc">
-      <li><a name="toc-Examples-20" href="#Examples-20">38.8.1 Examples</a></li>
+      <li><a name="toc-Examples-28" href="#Examples-28">33.8.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-settb_002c-asettb" href="#settb_002c-asettb">38.9 settb, asettb</a>
+    <li><a name="toc-settb_002c-asettb" href="#settb_002c-asettb">33.9 settb, asettb</a>
     <ul class="toc">
-      <li><a name="toc-Examples-79" href="#Examples-79">38.9.1 Examples</a></li>
+      <li><a name="toc-Examples-79" href="#Examples-79">33.9.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-showspectrum" href="#showspectrum">38.10 showspectrum</a>
+    <li><a name="toc-showspectrum" href="#showspectrum">33.10 showspectrum</a>
     <ul class="toc">
-      <li><a name="toc-Examples-67" href="#Examples-67">38.10.1 Examples</a></li>
+      <li><a name="toc-Examples-31" href="#Examples-31">33.10.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-showwaves" href="#showwaves">38.11 showwaves</a>
+    <li><a name="toc-showwaves" href="#showwaves">33.11 showwaves</a>
     <ul class="toc">
-      <li><a name="toc-Examples-21" href="#Examples-21">38.11.1 Examples</a></li>
+      <li><a name="toc-Examples-68" href="#Examples-68">33.11.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-split_002c-asplit" href="#split_002c-asplit">38.12 split, asplit</a>
+    <li><a name="toc-split_002c-asplit" href="#split_002c-asplit">33.12 split, asplit</a>
     <ul class="toc">
-      <li><a name="toc-Examples-1" href="#Examples-1">38.12.1 Examples</a></li>
+      <li><a name="toc-Examples-83" href="#Examples-83">33.12.1 Examples</a></li>
     </ul></li>
-    <li><a name="toc-zmq_002c-azmq" href="#zmq_002c-azmq">38.13 zmq, azmq</a>
+    <li><a name="toc-zmq_002c-azmq" href="#zmq_002c-azmq">33.13 zmq, azmq</a>
     <ul class="toc">
-      <li><a name="toc-Examples-41" href="#Examples-41">38.13.1 Examples</a></li>
+      <li><a name="toc-Examples-16" href="#Examples-16">33.13.1 Examples</a></li>
     </ul>
 </li>
   </ul></li>
-  <li><a name="toc-Multimedia-Sources" href="#Multimedia-Sources">39. Multimedia Sources</a>
+  <li><a name="toc-Multimedia-Sources" href="#Multimedia-Sources">34. Multimedia Sources</a>
   <ul class="toc">
-    <li><a name="toc-amovie" href="#amovie">39.1 amovie</a></li>
-    <li><a name="toc-movie-1" href="#movie-1">39.2 movie</a>
+    <li><a name="toc-amovie" href="#amovie">34.1 amovie</a></li>
+    <li><a name="toc-movie-1" href="#movie-1">34.2 movie</a>
     <ul class="toc">
-      <li><a name="toc-Examples-77" href="#Examples-77">39.2.1 Examples</a></li>
+      <li><a name="toc-Examples-25" href="#Examples-25">34.2.1 Examples</a></li>
     </ul>
 </li>
   </ul></li>
-  <li><a name="toc-See-Also" href="#See-Also">40. See Also</a></li>
-  <li><a name="toc-Authors" href="#Authors">41. Authors</a></li>
+  <li><a name="toc-See-Also" href="#See-Also">35. See Also</a></li>
+  <li><a name="toc-Authors" href="#Authors">36. Authors</a></li>
 </ul>
 </div>
 
@@ -897,8 +757,8 @@ and printed in the corresponding &quot;FORMAT&quot;, &quot;STREAM&quot; or &quot
 section.
 </p>
 
-<a name="Options-3"></a>
-<h1 class="chapter"><a href="ffprobe-all.html#toc-Options-3">3. Options</a></h1>
+<a name="Options"></a>
+<h1 class="chapter"><a href="ffprobe-all.html#toc-Options">3. Options</a></h1>
 
 <p>All the numerical options, if not specified otherwise, accept a string
 representing a number as input, which may be followed by one of the SI
@@ -1133,6 +993,14 @@ to a plain <code>%</code>
 appear in the report.
 </p>
 </dd>
+<dt> &lsquo;<samp>-hide_banner</samp>&rsquo;</dt>
+<dd><p>Suppress printing banner.
+</p>
+<p>All FFmpeg tools will normally show a copyright notice, build options
+and library versions. This option can be used to suppress printing
+this information.
+</p>
+</dd>
 <dt> &lsquo;<samp>-cpuflags flags (<em>global</em>)</samp>&rsquo;</dt>
 <dd><p>Allows setting and clearing cpu flags. This option is intended
 for testing. Do not use it unless you know what you&rsquo;re doing.
@@ -1816,8 +1684,8 @@ DV, GXF and AVI timecodes are available in format metadata
 
 </li></ul>
 
-<a name="Syntax"></a>
-<h1 class="chapter"><a href="ffprobe-all.html#toc-Syntax">6. Syntax</a></h1>
+<a name="Syntax-2"></a>
+<h1 class="chapter"><a href="ffprobe-all.html#toc-Syntax-2">6. Syntax</a></h1>
 
 <p>This section documents the syntax and formats employed by the FFmpeg
 libraries and tools.
@@ -1860,8 +1728,8 @@ escaped according to the rules defined above.
 <p>The tool &lsquo;<tt>tools/ffescape</tt>&rsquo; in the FFmpeg source tree can be used
 to automatically quote or escape a string in a script.
 </p>
-<a name="Examples-31"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-31">6.1.1 Examples</a></h3>
+<a name="Examples-30"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-30">6.1.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -1932,8 +1800,8 @@ maximum of 2 digits. The <var>m</var> at the end expresses decimal value for
 </p>
 <p>In both expressions, the optional &lsquo;<samp>-</samp>&rsquo; indicates negative duration.
 </p>
-<a name="Examples-16"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-16">6.3.1 Examples</a></h3>
+<a name="Examples-23"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-23">6.3.1 Examples</a></h3>
 
 <p>The following examples are all valid time duration:
 </p>
@@ -3195,7 +3063,7 @@ which can be obtained with <code>ffmpeg -opencl_bench</code> or <code>av_opencl_
 <dt> &lsquo;<samp>device_idx</samp>&rsquo;</dt>
 <dd><p>Select the index of the device used to run OpenCL code.
 </p>
-<p>The specifed index must be one of the indexes in the device list which
+<p>The specified index must be one of the indexes in the device list which
 can be obtained with <code>ffmpeg -opencl_bench</code> or <code>av_opencl_get_device_list()</code>.
 </p>
 </dd>
@@ -4251,6 +4119,9 @@ decoding starts.
 </dd>
 <dt> &lsquo;<samp>skip_exp <var>integer</var> (<em>encoding,video</em>)</samp>&rsquo;</dt>
 <dd><p>Set frame skip exponent.
+Negative values behave identical to the corresponding positive ones, except
+that the score is normalized.
+Positive values exist primarly for compatibility reasons and are not so useful.
 </p>
 </dd>
 <dt> &lsquo;<samp>skipcmp <var>integer</var> (<em>encoding,video</em>)</samp>&rsquo;</dt>
@@ -4528,7 +4399,7 @@ available decoders using the configure option <code>--list-decoders</code>.
 with the options <code>--enable-decoder=<var>DECODER</var></code> /
 <code>--disable-decoder=<var>DECODER</var></code>.
 </p>
-<p>The option <code>-codecs</code> of the ff* tools will display the list of
+<p>The option <code>-decoders</code> of the ff* tools will display the list of
 enabled decoders.
 </p>
 
@@ -4545,8 +4416,8 @@ follows.
 </p>
 <p>This decoder decodes rawvideo streams.
 </p>
-<a name="Options-29"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-29">11.1.1 Options</a></h3>
+<a name="Options-6"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-6">11.1.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>top <var>top_field_first</var></samp>&rsquo;</dt>
@@ -4570,8 +4441,44 @@ follows.
 <a name="Audio-Decoders"></a>
 <h1 class="chapter"><a href="ffprobe-all.html#toc-Audio-Decoders">12. Audio Decoders</a></h1>
 
+<p>A description of some of the currently available audio decoders
+follows.
+</p>
+<a name="ac3"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-ac3">12.1 ac3</a></h2>
+
+<p>AC-3 audio decoder.
+</p>
+<p>This decoder implements part of ATSC A/52:2010 and ETSI TS 102 366, as well as
+the undocumented RealAudio 3 (a.k.a. dnet).
+</p>
+<a name="AC_002d3-Decoder-Options"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-AC_002d3-Decoder-Options">12.1.1 AC-3 Decoder Options</a></h3>
+
+<dl compact="compact">
+<dt> &lsquo;<samp>-drc_scale <var>value</var></samp>&rsquo;</dt>
+<dd><p>Dynamic Range Scale Factor. The factor to apply to dynamic range values
+from the AC-3 stream. This factor is applied exponentially.
+There are 3 notable scale factor ranges:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>drc_scale == 0</samp>&rsquo;</dt>
+<dd><p>DRC disabled. Produces full range audio.
+</p></dd>
+<dt> &lsquo;<samp>0 &lt; drc_scale &lt;= 1</samp>&rsquo;</dt>
+<dd><p>DRC enabled.  Applies a fraction of the stream DRC value.
+Audio reproduction is between full range and full compression.
+</p></dd>
+<dt> &lsquo;<samp>drc_scale &gt; 1</samp>&rsquo;</dt>
+<dd><p>DRC enabled. Applies drc_scale asymmetrically.
+Loud sounds are fully compressed.  Soft sounds are enhanced.
+</p></dd>
+</dl>
+
+</dd>
+</dl>
+
 <a name="ffwavesynth"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-ffwavesynth">12.1 ffwavesynth</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-ffwavesynth">12.2 ffwavesynth</a></h2>
 
 <p>Internal wave synthetizer.
 </p>
@@ -4580,7 +4487,7 @@ use is purely internal and the format of the data it accepts is not publicly
 documented.
 </p>
 <a name="libcelt"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-libcelt">12.2 libcelt</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-libcelt">12.3 libcelt</a></h2>
 
 <p>libcelt decoder wrapper.
 </p>
@@ -4589,7 +4496,7 @@ Requires the presence of the libcelt headers and library during configuration.
 You need to explicitly configure the build with <code>--enable-libcelt</code>.
 </p>
 <a name="libgsm"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-libgsm">12.3 libgsm</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-libgsm">12.4 libgsm</a></h2>
 
 <p>libgsm decoder wrapper.
 </p>
@@ -4600,7 +4507,7 @@ to explicitly configure the build with <code>--enable-libgsm</code>.
 <p>This decoder supports both the ordinary GSM and the Microsoft variant.
 </p>
 <a name="libilbc"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-libilbc">12.4 libilbc</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-libilbc">12.5 libilbc</a></h2>
 
 <p>libilbc decoder wrapper.
 </p>
@@ -4609,8 +4516,8 @@ audio codec. Requires the presence of the libilbc headers and library during
 configuration. You need to explicitly configure the build with
 <code>--enable-libilbc</code>.
 </p>
-<a name="Options-9"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-9">12.4.1 Options</a></h3>
+<a name="Options-12"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-12">12.5.1 Options</a></h3>
 
 <p>The following option is supported by the libilbc wrapper.
 </p>
@@ -4624,7 +4531,7 @@ value is 0 (disabled).
 </dl>
 
 <a name="libopencore_002damrnb"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-libopencore_002damrnb">12.5 libopencore-amrnb</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-libopencore_002damrnb">12.6 libopencore-amrnb</a></h2>
 
 <p>libopencore-amrnb decoder wrapper.
 </p>
@@ -4637,7 +4544,7 @@ explicitly configure the build with <code>--enable-libopencore-amrnb</code>.
 without this library.
 </p>
 <a name="libopencore_002damrwb"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-libopencore_002damrwb">12.6 libopencore-amrwb</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-libopencore_002damrwb">12.7 libopencore-amrwb</a></h2>
 
 <p>libopencore-amrwb decoder wrapper.
 </p>
@@ -4649,8 +4556,8 @@ explicitly configure the build with <code>--enable-libopencore-amrwb</code>.
 <p>An FFmpeg native decoder for AMR-WB exists, so users can decode AMR-WB
 without this library.
 </p>
-<a name="libopus-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-libopus-1">12.7 libopus</a></h2>
+<a name="libopus"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-libopus">12.8 libopus</a></h2>
 
 <p>libopus decoder wrapper.
 </p>
@@ -4669,8 +4576,8 @@ configuration. You need to explicitly configure the build with
 <p>This codec decodes the bitmap subtitles used in DVDs; the same subtitles can
 also be found in VobSub file pairs and in some Matroska files.
 </p>
-<a name="Options-21"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-21">13.1.1 Options</a></h3>
+<a name="Options-8"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-8">13.1.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>palette</samp>&rsquo;</dt>
@@ -4695,8 +4602,8 @@ subtitles. Requires the presence of the libzvbi headers and library during
 configuration. You need to explicitly configure the build with
 <code>--enable-libzvbi</code>.
 </p>
-<a name="Options-15"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-15">13.2.1 Options</a></h3>
+<a name="Options-4"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-4">13.2.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>txt_page</samp>&rsquo;</dt>
@@ -4738,4042 +4645,795 @@ is 0 which means an opaque (black) background.
 </p></dd>
 </dl>
 
-<a name="Encoders"></a>
-<h1 class="chapter"><a href="ffprobe-all.html#toc-Encoders">14. Encoders</a></h1>
+<a name="Bitstream-Filters"></a>
+<h1 class="chapter"><a href="ffprobe-all.html#toc-Bitstream-Filters">14. Bitstream Filters</a></h1>
 
-<p>Encoders are configured elements in FFmpeg which allow the encoding of
-multimedia streams.
-</p>
-<p>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</code> option. You can list all
-available encoders using the configure option <code>--list-encoders</code>.
+<p>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</code>.
 </p>
-<p>You can disable all the encoders with the configure option
-<code>--disable-encoders</code> and selectively enable / disable single encoders
-with the options <code>--enable-encoder=<var>ENCODER</var></code> /
-<code>--disable-encoder=<var>ENCODER</var></code>.
+<p>You can disable all the bitstream filters using the configure option
+<code>--disable-bsfs</code>, and selectively enable any bitstream filter using
+the option <code>--enable-bsf=BSF</code>, or you can disable a particular
+bitstream filter using the option <code>--disable-bsf=BSF</code>.
 </p>
-<p>The option <code>-codecs</code> of the ff* tools will display the list of
-enabled encoders.
+<p>The option <code>-bsfs</code> of the ff* tools will display the list of
+all the supported bitstream filters included in your build.
 </p>
-
-<a name="Audio-Encoders"></a>
-<h1 class="chapter"><a href="ffprobe-all.html#toc-Audio-Encoders">15. Audio Encoders</a></h1>
-
-<p>A description of some of the currently available audio encoders
-follows.
+<p>Below is a description of the currently available bitstream filters.
 </p>
-<p><a name="aacenc"></a>
-</p><a name="aac"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-aac">15.1 aac</a></h2>
+<a name="aac_005fadtstoasc"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-aac_005fadtstoasc">14.1 aac_adtstoasc</a></h2>
 
-<p>Advanced Audio Coding (AAC) encoder.
-</p>
-<p>This encoder is an experimental FFmpeg-native AAC encoder. Currently only the
-low complexity (AAC-LC) profile is supported. To use this encoder, you must set
-&lsquo;<samp>strict</samp>&rsquo; option to &lsquo;<samp>experimental</samp>&rsquo; or lower.
+<p>Convert MPEG-2/4 AAC ADTS to MPEG-4 Audio Specific Configuration
+bitstream filter.
 </p>
-<p>As this encoder is experimental, unexpected behavior may exist from time to
-time. For a more stable AAC encoder, see <a href="#libvo_002daacenc">libvo-aacenc</a>. However, be warned
-that it has a worse quality reported by some users.
+<p>This filter creates an MPEG-4 AudioSpecificConfig from an MPEG-2/4
+ADTS header and removes the ADTS header.
 </p>
-<p>See also <a href="#libfdk_002daac_002denc">libfdk_aac</a> and <a href="#libfaac">libfaac</a>.
+<p>This is required for example when copying an AAC stream from a raw
+ADTS AAC container to a FLV or a MOV/MP4 file.
 </p>
-<a name="Options-11"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-11">15.1.1 Options</a></h3>
+<a name="chomp"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-chomp">14.2 chomp</a></h2>
 
-<dl compact="compact">
-<dt> &lsquo;<samp>b</samp>&rsquo;</dt>
-<dd><p>Set bit rate in bits/s. Setting this automatically activates constant bit rate
-(CBR) mode.
-</p>
-</dd>
-<dt> &lsquo;<samp>q</samp>&rsquo;</dt>
-<dd><p>Set quality for variable bit rate (VBR) mode. This option is valid only using
-the <code>ffmpeg</code> command-line tool. For library interface users, use
-&lsquo;<samp>global_quality</samp>&rsquo;.
+<p>Remove zero padding at the end of a packet.
 </p>
-</dd>
-<dt> &lsquo;<samp>stereo_mode</samp>&rsquo;</dt>
-<dd><p>Set stereo encoding mode. Possible values:
+<a name="dump_005fextra"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-dump_005fextra">14.3 dump_extra</a></h2>
+
+<p>Add extradata to the beginning of the filtered packets.
 </p>
-<dl compact="compact">
-<dt> &lsquo;<samp>auto</samp>&rsquo;</dt>
-<dd><p>Automatically selected by the encoder.
+<p>The additional argument specifies which packets should be filtered.
+It accepts the values:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>a</samp>&rsquo;</dt>
+<dd><p>add extradata to all key packets, but only if <var>local_header</var> is
+set in the &lsquo;<samp>flags2</samp>&rsquo; codec context field
 </p>
 </dd>
-<dt> &lsquo;<samp>ms_off</samp>&rsquo;</dt>
-<dd><p>Disable middle/side encoding. This is the default.
+<dt> &lsquo;<samp>k</samp>&rsquo;</dt>
+<dd><p>add extradata to all key packets
 </p>
 </dd>
-<dt> &lsquo;<samp>ms_force</samp>&rsquo;</dt>
-<dd><p>Force middle/side encoding.
+<dt> &lsquo;<samp>e</samp>&rsquo;</dt>
+<dd><p>add extradata to all packets
 </p></dd>
 </dl>
 
-</dd>
-<dt> &lsquo;<samp>aac_coder</samp>&rsquo;</dt>
-<dd><p>Set AAC encoder coding method. Possible values:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>faac</samp>&rsquo;</dt>
-<dd><p>FAAC-inspired method.
-</p>
-<p>This method is a simplified reimplementation of the method used in FAAC, which
-sets thresholds proportional to the band energies, and then decreases all the
-thresholds with quantizer steps to find the appropriate quantization with
-distortion below threshold band by band.
+<p>If not specified it is assumed &lsquo;<samp>k</samp>&rsquo;.
 </p>
-<p>The quality of this method is comparable to the two loop searching method
-descibed below, but somewhat a little better and slower.
+<p>For example the following <code>ffmpeg</code> command forces a global
+header (thus disabling individual packet headers) in the H.264 packets
+generated by the <code>libx264</code> encoder, but corrects them by adding
+the header stored in extradata to the key packets:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -map 0 -flags:v +global_header -c:v libx264 -bsf:v dump_extra out.ts
+</pre></td></tr></table>
+
+<a name="h264_005fmp4toannexb"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-h264_005fmp4toannexb">14.4 h264_mp4toannexb</a></h2>
+
+<p>Convert an H.264 bitstream from length prefixed mode to start code
+prefixed mode (as defined in the Annex B of the ITU-T H.264
+specification).
 </p>
-</dd>
-<dt> &lsquo;<samp>anmr</samp>&rsquo;</dt>
-<dd><p>Average noise to mask ratio (ANMR) trellis-based solution.
+<p>This is required by some streaming formats, typically the MPEG-2
+transport stream format (&quot;mpegts&quot;).
 </p>
-<p>This has a theoretic best quality out of all the coding methods, but at the
-cost of the slowest speed.
+<p>For example to remux an MP4 file containing an H.264 stream to mpegts
+format with <code>ffmpeg</code>, you can use the command:
 </p>
-</dd>
-<dt> &lsquo;<samp>twoloop</samp>&rsquo;</dt>
-<dd><p>Two loop searching (TLS) method.
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT.mp4 -codec copy -bsf:v h264_mp4toannexb OUTPUT.ts
+</pre></td></tr></table>
+
+<a name="imx_005fdump_005fheader"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-imx_005fdump_005fheader">14.5 imx_dump_header</a></h2>
+
+<a name="mjpeg2jpeg"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-mjpeg2jpeg">14.6 mjpeg2jpeg</a></h2>
+
+<p>Convert MJPEG/AVI1 packets to full JPEG/JFIF packets.
 </p>
-<p>This method first sets quantizers depending on band thresholds and then tries
-to find an optimal combination by adding or subtracting a specific value from
-all quantizers and adjusting some individual quantizer a little.
+<p>MJPEG is a video codec wherein each video frame is essentially a
+JPEG image. The individual frames can be extracted without loss,
+e.g. by
 </p>
-<p>This method produces similar quality with the FAAC method and is the default.
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i ../some_mjpeg.avi -c:v copy frames_%d.jpg
+</pre></td></tr></table>
+
+<p>Unfortunately, these chunks are incomplete JPEG images, because
+they lack the DHT segment required for decoding. Quoting from
+<a href="http://www.digitalpreservation.gov/formats/fdd/fdd000063.shtml">http://www.digitalpreservation.gov/formats/fdd/fdd000063.shtml</a>:
 </p>
-</dd>
-<dt> &lsquo;<samp>fast</samp>&rsquo;</dt>
-<dd><p>Constant quantizer method.
+<p>Avery Lee, writing in the rec.video.desktop newsgroup in 2001,
+commented that &quot;MJPEG, or at least the MJPEG in AVIs having the
+MJPG fourcc, is restricted JPEG with a fixed &ndash; and *omitted* &ndash;
+Huffman table. The JPEG must be YCbCr colorspace, it must be 4:2:2,
+and it must use basic Huffman encoding, not arithmetic or
+progressive. . . . You can indeed extract the MJPEG frames and
+decode them with a regular JPEG decoder, but you have to prepend
+the DHT segment to them, or else the decoder won&rsquo;t have any idea
+how to decompress the data. The exact table necessary is given in
+the OpenDML spec.&quot;
 </p>
-<p>This method sets a constant quantizer for all bands. This is the fastest of all
-the methods, yet produces the worst quality.
+<p>This bitstream filter patches the header of frames extracted from an MJPEG
+stream (carrying the AVI1 header ID and lacking a DHT segment) to
+produce fully qualified JPEG images.
 </p>
-</dd>
-</dl>
-
-</dd>
-</dl>
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i mjpeg-movie.avi -c:v copy -bsf:v mjpeg2jpeg frame_%d.jpg
+exiftran -i -9 frame*.jpg
+ffmpeg -i frame_%d.jpg -c:v copy rotated.avi
+</pre></td></tr></table>
 
-<a name="ac3-and-ac3_005ffixed"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-ac3-and-ac3_005ffixed">15.2 ac3 and ac3_fixed</a></h2>
+<a name="mjpega_005fdump_005fheader"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-mjpega_005fdump_005fheader">14.7 mjpega_dump_header</a></h2>
 
-<p>AC-3 audio encoders.
-</p>
-<p>These encoders implement part of ATSC A/52:2010 and ETSI TS 102 366, as well as
-the undocumented RealAudio 3 (a.k.a. dnet).
-</p>
-<p>The <var>ac3</var> encoder uses floating-point math, while the <var>ac3_fixed</var>
-encoder only uses fixed-point integer math. This does not mean that one is
-always faster, just that one or the other may be better suited to a
-particular system. The floating-point encoder will generally produce better
-quality audio for a given bitrate. The <var>ac3_fixed</var> encoder is not the
-default codec for any of the output formats, so it must be specified explicitly
-using the option <code>-acodec ac3_fixed</code> in order to use it.
-</p>
-<a name="AC_002d3-Metadata"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-AC_002d3-Metadata">15.2.1 AC-3 Metadata</a></h3>
-
-<p>The AC-3 metadata options are used to set parameters that describe the audio,
-but in most cases do not affect the audio encoding itself. Some of the options
-do directly affect or influence the decoding and playback of the resulting
-bitstream, while others are just for informational purposes. A few of the
-options will add bits to the output stream that could otherwise be used for
-audio data, and will thus affect the quality of the output. Those will be
-indicated accordingly with a note in the option list below.
-</p>
-<p>These parameters are described in detail in several publicly-available
-documents.
-</p><ul>
-<li> <a href="http://www.atsc.org/cms/standards/a_52-2010.pdf">A/52:2010 - Digital Audio Compression (AC-3) (E-AC-3) Standard</a>
-</li><li> <a href="http://www.atsc.org/cms/standards/a_54a_with_corr_1.pdf">A/54 - Guide to the Use of the ATSC Digital Television Standard</a>
-</li><li> <a href="http://www.dolby.com/uploadedFiles/zz-_Shared_Assets/English_PDFs/Professional/18_Metadata.Guide.pdf">Dolby Metadata Guide</a>
-</li><li> <a href="http://www.dolby.com/uploadedFiles/zz-_Shared_Assets/English_PDFs/Professional/46_DDEncodingGuidelines.pdf">Dolby Digital Professional Encoding Guidelines</a>
-</li></ul>
+<a name="movsub"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-movsub">14.8 movsub</a></h2>
 
-<a name="Metadata-Control-Options"></a>
-<h4 class="subsubsection"><a href="ffprobe-all.html#toc-Metadata-Control-Options">15.2.1.1 Metadata Control Options</a></h4>
+<a name="mp3_005fheader_005fdecompress"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-mp3_005fheader_005fdecompress">14.9 mp3_header_decompress</a></h2>
 
-<dl compact="compact">
-<dt> &lsquo;<samp>-per_frame_metadata <var>boolean</var></samp>&rsquo;</dt>
-<dd><p>Allow Per-Frame Metadata. Specifies if the encoder should check for changing
-metadata for each frame.
-</p><dl compact="compact">
-<dt> &lsquo;<samp>0</samp>&rsquo;</dt>
-<dd><p>The metadata values set at initialization will be used for every frame in the
-stream. (default)
-</p></dd>
-<dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dd><p>Metadata values can be changed before encoding each frame.
-</p></dd>
-</dl>
+<a name="noise-1"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-noise-1">14.10 noise</a></h2>
 
-</dd>
-</dl>
+<a name="remove_005fextra"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-remove_005fextra">14.11 remove_extra</a></h2>
 
-<a name="Downmix-Levels"></a>
-<h4 class="subsubsection"><a href="ffprobe-all.html#toc-Downmix-Levels">15.2.1.2 Downmix Levels</a></h4>
+<a name="Format-Options"></a>
+<h1 class="chapter"><a href="ffprobe-all.html#toc-Format-Options">15. Format Options</a></h1>
 
+<p>The libavformat library provides some generic global options, which
+can be set on all the muxers and demuxers. In addition each muxer or
+demuxer may support so-called private options, which are specific for
+that component.
+</p>
+<p>Options may be set by specifying -<var>option</var> <var>value</var> in the
+FFmpeg tools, or by setting the value explicitly in the
+<code>AVFormatContext</code> options or using the &lsquo;<tt>libavutil/opt.h</tt>&rsquo; API
+for programmatic use.
+</p>
+<p>The list of supported options follows:
+</p>
 <dl compact="compact">
-<dt> &lsquo;<samp>-center_mixlev <var>level</var></samp>&rsquo;</dt>
-<dd><p>Center Mix Level. The amount of gain the decoder should apply to the center
-channel when downmixing to stereo. This field will only be written to the
-bitstream if a center channel is present. The value is specified as a scale
-factor. There are 3 valid values:
+<dt> &lsquo;<samp>avioflags <var>flags</var> (<em>input/output</em>)</samp>&rsquo;</dt>
+<dd><p>Possible values:
 </p><dl compact="compact">
-<dt> &lsquo;<samp>0.707</samp>&rsquo;</dt>
-<dd><p>Apply -3dB gain
-</p></dd>
-<dt> &lsquo;<samp>0.595</samp>&rsquo;</dt>
-<dd><p>Apply -4.5dB gain (default)
-</p></dd>
-<dt> &lsquo;<samp>0.500</samp>&rsquo;</dt>
-<dd><p>Apply -6dB gain
+<dt> &lsquo;<samp>direct</samp>&rsquo;</dt>
+<dd><p>Reduce buffering.
 </p></dd>
 </dl>
 
 </dd>
-<dt> &lsquo;<samp>-surround_mixlev <var>level</var></samp>&rsquo;</dt>
-<dd><p>Surround Mix Level. The amount of gain the decoder should apply to the surround
-channel(s) when downmixing to stereo. This field will only be written to the
-bitstream if one or more surround channels are present. The value is specified
-as a scale factor.  There are 3 valid values:
-</p><dl compact="compact">
-<dt> &lsquo;<samp>0.707</samp>&rsquo;</dt>
-<dd><p>Apply -3dB gain
-</p></dd>
-<dt> &lsquo;<samp>0.500</samp>&rsquo;</dt>
-<dd><p>Apply -6dB gain (default)
-</p></dd>
-<dt> &lsquo;<samp>0.000</samp>&rsquo;</dt>
-<dd><p>Silence Surround Channel(s)
-</p></dd>
-</dl>
-
-</dd>
-</dl>
-
-<a name="Audio-Production-Information"></a>
-<h4 class="subsubsection"><a href="ffprobe-all.html#toc-Audio-Production-Information">15.2.1.3 Audio Production Information</a></h4>
-<p>Audio Production Information is optional information describing the mixing
-environment.  Either none or both of the fields are written to the bitstream.
+<dt> &lsquo;<samp>probesize <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
+<dd><p>Set probing size in bytes, i.e. the size of the data to analyze to get
+stream information. A higher value will allow to detect more
+information in case it is dispersed into the stream, but will increase
+latency. Must be an integer not lesser than 32. It is 5000000 by default.
 </p>
-<dl compact="compact">
-<dt> &lsquo;<samp>-mixing_level <var>number</var></samp>&rsquo;</dt>
-<dd><p>Mixing Level. Specifies peak sound pressure level (SPL) in the production
-environment when the mix was mastered. Valid values are 80 to 111, or -1 for
-unknown or not indicated. The default value is -1, but that value cannot be
-used if the Audio Production Information is written to the bitstream. Therefore,
-if the <code>room_type</code> option is not the default value, the <code>mixing_level</code>
-option must not be -1.
-</p>
-</dd>
-<dt> &lsquo;<samp>-room_type <var>type</var></samp>&rsquo;</dt>
-<dd><p>Room Type. Describes the equalization used during the final mixing session at
-the studio or on the dubbing stage. A large room is a dubbing stage with the
-industry standard X-curve equalization; a small room has flat equalization.
-This field will not be written to the bitstream if both the <code>mixing_level</code>
-option and the <code>room_type</code> option have the default values.
-</p><dl compact="compact">
-<dt> &lsquo;<samp>0</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>notindicated</samp>&rsquo;</dt>
-<dd><p>Not Indicated (default)
-</p></dd>
-<dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>large</samp>&rsquo;</dt>
-<dd><p>Large Room
-</p></dd>
-<dt> &lsquo;<samp>2</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>small</samp>&rsquo;</dt>
-<dd><p>Small Room
-</p></dd>
-</dl>
-
-</dd>
-</dl>
-
-<a name="Other-Metadata-Options"></a>
-<h4 class="subsubsection"><a href="ffprobe-all.html#toc-Other-Metadata-Options">15.2.1.4 Other Metadata Options</a></h4>
-
-<dl compact="compact">
-<dt> &lsquo;<samp>-copyright <var>boolean</var></samp>&rsquo;</dt>
-<dd><p>Copyright Indicator. Specifies whether a copyright exists for this audio.
-</p><dl compact="compact">
-<dt> &lsquo;<samp>0</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>off</samp>&rsquo;</dt>
-<dd><p>No Copyright Exists (default)
-</p></dd>
-<dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>on</samp>&rsquo;</dt>
-<dd><p>Copyright Exists
-</p></dd>
-</dl>
-
 </dd>
-<dt> &lsquo;<samp>-dialnorm <var>value</var></samp>&rsquo;</dt>
-<dd><p>Dialogue Normalization. Indicates how far the average dialogue level of the
-program is below digital 100% full scale (0 dBFS). This parameter determines a
-level shift during audio reproduction that sets the average volume of the
-dialogue to a preset level. The goal is to match volume level between program
-sources. A value of -31dB will result in no volume level change, relative to
-the source volume, during audio reproduction. Valid values are whole numbers in
-the range -31 to -1, with -31 being the default.
+<dt> &lsquo;<samp>packetsize <var>integer</var> (<em>output</em>)</samp>&rsquo;</dt>
+<dd><p>Set packet size.
 </p>
 </dd>
-<dt> &lsquo;<samp>-dsur_mode <var>mode</var></samp>&rsquo;</dt>
-<dd><p>Dolby Surround Mode. Specifies whether the stereo signal uses Dolby Surround
-(Pro Logic). This field will only be written to the bitstream if the audio
-stream is stereo. Using this option does <b>NOT</b> mean the encoder will actually
-apply Dolby Surround processing.
-</p><dl compact="compact">
-<dt> &lsquo;<samp>0</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>notindicated</samp>&rsquo;</dt>
-<dd><p>Not Indicated (default)
-</p></dd>
-<dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>off</samp>&rsquo;</dt>
-<dd><p>Not Dolby Surround Encoded
-</p></dd>
-<dt> &lsquo;<samp>2</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>on</samp>&rsquo;</dt>
-<dd><p>Dolby Surround Encoded
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>-original <var>boolean</var></samp>&rsquo;</dt>
-<dd><p>Original Bit Stream Indicator. Specifies whether this audio is from the
-original source and not a copy.
-</p><dl compact="compact">
-<dt> &lsquo;<samp>0</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>off</samp>&rsquo;</dt>
-<dd><p>Not Original Source
-</p></dd>
-<dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>on</samp>&rsquo;</dt>
-<dd><p>Original Source (default)
-</p></dd>
-</dl>
-
-</dd>
-</dl>
-
-<a name="Extended-Bitstream-Information"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Extended-Bitstream-Information">15.2.2 Extended Bitstream Information</a></h3>
-<p>The extended bitstream options are part of the Alternate Bit Stream Syntax as
-specified in Annex D of the A/52:2010 standard. It is grouped into 2 parts.
-If any one parameter in a group is specified, all values in that group will be
-written to the bitstream.  Default values are used for those that are written
-but have not been specified.  If the mixing levels are written, the decoder
-will use these values instead of the ones specified in the <code>center_mixlev</code>
-and <code>surround_mixlev</code> options if it supports the Alternate Bit Stream
-Syntax.
+<dt> &lsquo;<samp>fflags <var>flags</var> (<em>input/output</em>)</samp>&rsquo;</dt>
+<dd><p>Set format flags.
 </p>
-<a name="Extended-Bitstream-Information-_002d-Part-1"></a>
-<h4 class="subsubsection"><a href="ffprobe-all.html#toc-Extended-Bitstream-Information-_002d-Part-1">15.2.2.1 Extended Bitstream Information - Part 1</a></h4>
-
-<dl compact="compact">
-<dt> &lsquo;<samp>-dmix_mode <var>mode</var></samp>&rsquo;</dt>
-<dd><p>Preferred Stereo Downmix Mode. Allows the user to select either Lt/Rt
-(Dolby Surround) or Lo/Ro (normal stereo) as the preferred stereo downmix mode.
+<p>Possible values:
 </p><dl compact="compact">
-<dt> &lsquo;<samp>0</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>notindicated</samp>&rsquo;</dt>
-<dd><p>Not Indicated (default)
-</p></dd>
-<dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>ltrt</samp>&rsquo;</dt>
-<dd><p>Lt/Rt Downmix Preferred
+<dt> &lsquo;<samp>ignidx</samp>&rsquo;</dt>
+<dd><p>Ignore index.
 </p></dd>
-<dt> &lsquo;<samp>2</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>loro</samp>&rsquo;</dt>
-<dd><p>Lo/Ro Downmix Preferred
+<dt> &lsquo;<samp>genpts</samp>&rsquo;</dt>
+<dd><p>Generate PTS.
 </p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>-ltrt_cmixlev <var>level</var></samp>&rsquo;</dt>
-<dd><p>Lt/Rt Center Mix Level. The amount of gain the decoder should apply to the
-center channel when downmixing to stereo in Lt/Rt mode.
-</p><dl compact="compact">
-<dt> &lsquo;<samp>1.414</samp>&rsquo;</dt>
-<dd><p>Apply +3dB gain
+<dt> &lsquo;<samp>nofillin</samp>&rsquo;</dt>
+<dd><p>Do not fill in missing values that can be exactly calculated.
 </p></dd>
-<dt> &lsquo;<samp>1.189</samp>&rsquo;</dt>
-<dd><p>Apply +1.5dB gain
+<dt> &lsquo;<samp>noparse</samp>&rsquo;</dt>
+<dd><p>Disable AVParsers, this needs <code>+nofillin</code> too.
 </p></dd>
-<dt> &lsquo;<samp>1.000</samp>&rsquo;</dt>
-<dd><p>Apply 0dB gain
+<dt> &lsquo;<samp>igndts</samp>&rsquo;</dt>
+<dd><p>Ignore DTS.
 </p></dd>
-<dt> &lsquo;<samp>0.841</samp>&rsquo;</dt>
-<dd><p>Apply -1.5dB gain
+<dt> &lsquo;<samp>discardcorrupt</samp>&rsquo;</dt>
+<dd><p>Discard corrupted frames.
 </p></dd>
-<dt> &lsquo;<samp>0.707</samp>&rsquo;</dt>
-<dd><p>Apply -3.0dB gain
+<dt> &lsquo;<samp>sortdts</samp>&rsquo;</dt>
+<dd><p>Try to interleave output packets by DTS.
 </p></dd>
-<dt> &lsquo;<samp>0.595</samp>&rsquo;</dt>
-<dd><p>Apply -4.5dB gain (default)
+<dt> &lsquo;<samp>keepside</samp>&rsquo;</dt>
+<dd><p>Do not merge side data.
 </p></dd>
-<dt> &lsquo;<samp>0.500</samp>&rsquo;</dt>
-<dd><p>Apply -6.0dB gain
+<dt> &lsquo;<samp>latm</samp>&rsquo;</dt>
+<dd><p>Enable RTP MP4A-LATM payload.
 </p></dd>
-<dt> &lsquo;<samp>0.000</samp>&rsquo;</dt>
-<dd><p>Silence Center Channel
+<dt> &lsquo;<samp>nobuffer</samp>&rsquo;</dt>
+<dd><p>Reduce the latency introduced by optional buffering
 </p></dd>
 </dl>
 
 </dd>
-<dt> &lsquo;<samp>-ltrt_surmixlev <var>level</var></samp>&rsquo;</dt>
-<dd><p>Lt/Rt Surround Mix Level. The amount of gain the decoder should apply to the
-surround channel(s) when downmixing to stereo in Lt/Rt mode.
+<dt> &lsquo;<samp>seek2any <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
+<dd><p>Allow seeking to non-keyframes on demuxer level when supported if set to 1.
+Default is 0.
+</p>
+</dd>
+<dt> &lsquo;<samp>analyzeduration <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
+<dd><p>Specify how many microseconds are analyzed to probe the input. A
+higher value will allow to detect more accurate information, but will
+increase latency. It defaults to 5,000,000 microseconds = 5 seconds.
+</p>
+</dd>
+<dt> &lsquo;<samp>cryptokey <var>hexadecimal string</var> (<em>input</em>)</samp>&rsquo;</dt>
+<dd><p>Set decryption key.
+</p>
+</dd>
+<dt> &lsquo;<samp>indexmem <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
+<dd><p>Set max memory used for timestamp index (per stream).
+</p>
+</dd>
+<dt> &lsquo;<samp>rtbufsize <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
+<dd><p>Set max memory used for buffering real-time frames.
+</p>
+</dd>
+<dt> &lsquo;<samp>fdebug <var>flags</var> (<em>input/output</em>)</samp>&rsquo;</dt>
+<dd><p>Print specific debug info.
+</p>
+<p>Possible values:
 </p><dl compact="compact">
-<dt> &lsquo;<samp>0.841</samp>&rsquo;</dt>
-<dd><p>Apply -1.5dB gain
-</p></dd>
-<dt> &lsquo;<samp>0.707</samp>&rsquo;</dt>
-<dd><p>Apply -3.0dB gain
-</p></dd>
-<dt> &lsquo;<samp>0.595</samp>&rsquo;</dt>
-<dd><p>Apply -4.5dB gain
-</p></dd>
-<dt> &lsquo;<samp>0.500</samp>&rsquo;</dt>
-<dd><p>Apply -6.0dB gain (default)
-</p></dd>
-<dt> &lsquo;<samp>0.000</samp>&rsquo;</dt>
-<dd><p>Silence Surround Channel(s)
-</p></dd>
+<dt> &lsquo;<samp>ts</samp>&rsquo;</dt>
 </dl>
 
 </dd>
-<dt> &lsquo;<samp>-loro_cmixlev <var>level</var></samp>&rsquo;</dt>
-<dd><p>Lo/Ro Center Mix Level. The amount of gain the decoder should apply to the
-center channel when downmixing to stereo in Lo/Ro mode.
+<dt> &lsquo;<samp>max_delay <var>integer</var> (<em>input/output</em>)</samp>&rsquo;</dt>
+<dd><p>Set maximum muxing or demuxing delay in microseconds.
+</p>
+</dd>
+<dt> &lsquo;<samp>fpsprobesize <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
+<dd><p>Set number of frames used to probe fps.
+</p>
+</dd>
+<dt> &lsquo;<samp>audio_preload <var>integer</var> (<em>output</em>)</samp>&rsquo;</dt>
+<dd><p>Set microseconds by which audio packets should be interleaved earlier.
+</p>
+</dd>
+<dt> &lsquo;<samp>chunk_duration <var>integer</var> (<em>output</em>)</samp>&rsquo;</dt>
+<dd><p>Set microseconds for each chunk.
+</p>
+</dd>
+<dt> &lsquo;<samp>chunk_size <var>integer</var> (<em>output</em>)</samp>&rsquo;</dt>
+<dd><p>Set size in bytes for each chunk.
+</p>
+</dd>
+<dt> &lsquo;<samp>err_detect, f_err_detect <var>flags</var> (<em>input</em>)</samp>&rsquo;</dt>
+<dd><p>Set error detection flags. <code>f_err_detect</code> is deprecated and
+should be used only via the <code>ffmpeg</code> tool.
+</p>
+<p>Possible values:
 </p><dl compact="compact">
-<dt> &lsquo;<samp>1.414</samp>&rsquo;</dt>
-<dd><p>Apply +3dB gain
-</p></dd>
-<dt> &lsquo;<samp>1.189</samp>&rsquo;</dt>
-<dd><p>Apply +1.5dB gain
+<dt> &lsquo;<samp>crccheck</samp>&rsquo;</dt>
+<dd><p>Verify embedded CRCs.
 </p></dd>
-<dt> &lsquo;<samp>1.000</samp>&rsquo;</dt>
-<dd><p>Apply 0dB gain
+<dt> &lsquo;<samp>bitstream</samp>&rsquo;</dt>
+<dd><p>Detect bitstream specification deviations.
 </p></dd>
-<dt> &lsquo;<samp>0.841</samp>&rsquo;</dt>
-<dd><p>Apply -1.5dB gain
+<dt> &lsquo;<samp>buffer</samp>&rsquo;</dt>
+<dd><p>Detect improper bitstream length.
 </p></dd>
-<dt> &lsquo;<samp>0.707</samp>&rsquo;</dt>
-<dd><p>Apply -3.0dB gain
+<dt> &lsquo;<samp>explode</samp>&rsquo;</dt>
+<dd><p>Abort decoding on minor error detection.
 </p></dd>
-<dt> &lsquo;<samp>0.595</samp>&rsquo;</dt>
-<dd><p>Apply -4.5dB gain (default)
+<dt> &lsquo;<samp>careful</samp>&rsquo;</dt>
+<dd><p>Consider things that violate the spec and have not been seen in the
+wild as errors.
 </p></dd>
-<dt> &lsquo;<samp>0.500</samp>&rsquo;</dt>
-<dd><p>Apply -6.0dB gain
+<dt> &lsquo;<samp>compliant</samp>&rsquo;</dt>
+<dd><p>Consider all spec non compliancies as errors.
 </p></dd>
-<dt> &lsquo;<samp>0.000</samp>&rsquo;</dt>
-<dd><p>Silence Center Channel
+<dt> &lsquo;<samp>aggressive</samp>&rsquo;</dt>
+<dd><p>Consider things that a sane encoder should not do as an error.
 </p></dd>
 </dl>
 
 </dd>
-<dt> &lsquo;<samp>-loro_surmixlev <var>level</var></samp>&rsquo;</dt>
-<dd><p>Lo/Ro Surround Mix Level. The amount of gain the decoder should apply to the
-surround channel(s) when downmixing to stereo in Lo/Ro mode.
-</p><dl compact="compact">
-<dt> &lsquo;<samp>0.841</samp>&rsquo;</dt>
-<dd><p>Apply -1.5dB gain
-</p></dd>
-<dt> &lsquo;<samp>0.707</samp>&rsquo;</dt>
-<dd><p>Apply -3.0dB gain
-</p></dd>
-<dt> &lsquo;<samp>0.595</samp>&rsquo;</dt>
-<dd><p>Apply -4.5dB gain
-</p></dd>
-<dt> &lsquo;<samp>0.500</samp>&rsquo;</dt>
-<dd><p>Apply -6.0dB gain (default)
-</p></dd>
-<dt> &lsquo;<samp>0.000</samp>&rsquo;</dt>
-<dd><p>Silence Surround Channel(s)
-</p></dd>
-</dl>
-
+<dt> &lsquo;<samp>use_wallclock_as_timestamps <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
+<dd><p>Use wallclock as timestamps.
+</p>
 </dd>
-</dl>
-
-<a name="Extended-Bitstream-Information-_002d-Part-2"></a>
-<h4 class="subsubsection"><a href="ffprobe-all.html#toc-Extended-Bitstream-Information-_002d-Part-2">15.2.2.2 Extended Bitstream Information - Part 2</a></h4>
-
-<dl compact="compact">
-<dt> &lsquo;<samp>-dsurex_mode <var>mode</var></samp>&rsquo;</dt>
-<dd><p>Dolby Surround EX Mode. Indicates whether the stream uses Dolby Surround EX
-(7.1 matrixed to 5.1). Using this option does <b>NOT</b> mean the encoder will actually
-apply Dolby Surround EX processing.
+<dt> &lsquo;<samp>avoid_negative_ts <var>integer</var> (<em>output</em>)</samp>&rsquo;</dt>
+<dd>
+<p>Possible values:
 </p><dl compact="compact">
-<dt> &lsquo;<samp>0</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>notindicated</samp>&rsquo;</dt>
-<dd><p>Not Indicated (default)
-</p></dd>
-<dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>on</samp>&rsquo;</dt>
-<dd><p>Dolby Surround EX Off
-</p></dd>
-<dt> &lsquo;<samp>2</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>off</samp>&rsquo;</dt>
-<dd><p>Dolby Surround EX On
+<dt> &lsquo;<samp>make_non_negative</samp>&rsquo;</dt>
+<dd><p>Shift timestamps to make them non-negative.
+Also note that this affects only leading negative timestamps, and not
+non-monotonic negative timestamps.
 </p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>-dheadphone_mode <var>mode</var></samp>&rsquo;</dt>
-<dd><p>Dolby Headphone Mode. Indicates whether the stream uses Dolby Headphone
-encoding (multi-channel matrixed to 2.0 for use with headphones). Using this
-option does <b>NOT</b> mean the encoder will actually apply Dolby Headphone
-processing.
-</p><dl compact="compact">
-<dt> &lsquo;<samp>0</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>notindicated</samp>&rsquo;</dt>
-<dd><p>Not Indicated (default)
+<dt> &lsquo;<samp>make_zero</samp>&rsquo;</dt>
+<dd><p>Shift timestamps so that the first timestamp is 0.
 </p></dd>
-<dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>on</samp>&rsquo;</dt>
-<dd><p>Dolby Headphone Off
+<dt> &lsquo;<samp>auto (default)</samp>&rsquo;</dt>
+<dd><p>Enables shifting when required by the target format.
 </p></dd>
-<dt> &lsquo;<samp>2</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>off</samp>&rsquo;</dt>
-<dd><p>Dolby Headphone On
+<dt> &lsquo;<samp>disabled</samp>&rsquo;</dt>
+<dd><p>Disables shifting of timestamp.
 </p></dd>
 </dl>
 
+<p>When shifting is enabled, all output timestamps are shifted by the
+same amount. Audio, video, and subtitles desynching and relative
+timestamp differences are preserved compared to how they would have
+been without shifting.
+</p>
 </dd>
-<dt> &lsquo;<samp>-ad_conv_type <var>type</var></samp>&rsquo;</dt>
-<dd><p>A/D Converter Type. Indicates whether the audio has passed through HDCD A/D
-conversion.
-</p><dl compact="compact">
-<dt> &lsquo;<samp>0</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>standard</samp>&rsquo;</dt>
-<dd><p>Standard A/D Converter (default)
-</p></dd>
-<dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>hdcd</samp>&rsquo;</dt>
-<dd><p>HDCD A/D Converter
-</p></dd>
-</dl>
-
+<dt> &lsquo;<samp>skip_initial_bytes <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
+<dd><p>Set number of bytes to skip before reading header and frames if set to 1.
+Default is 0.
+</p>
 </dd>
-</dl>
-
-<a name="Other-AC_002d3-Encoding-Options"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Other-AC_002d3-Encoding-Options">15.2.3 Other AC-3 Encoding Options</a></h3>
-
-<dl compact="compact">
-<dt> &lsquo;<samp>-stereo_rematrixing <var>boolean</var></samp>&rsquo;</dt>
-<dd><p>Stereo Rematrixing. Enables/Disables use of rematrixing for stereo input. This
-is an optional AC-3 feature that increases quality by selectively encoding
-the left/right channels as mid/side. This option is enabled by default, and it
-is highly recommended that it be left as enabled except for testing purposes.
+<dt> &lsquo;<samp>correct_ts_overflow <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
+<dd><p>Correct single timestamp overflows if set to 1. Default is 1.
 </p>
 </dd>
-</dl>
-
-<a name="Floating_002dPoint_002dOnly-AC_002d3-Encoding-Options"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Floating_002dPoint_002dOnly-AC_002d3-Encoding-Options">15.2.4 Floating-Point-Only AC-3 Encoding Options</a></h3>
-
-<p>These options are only valid for the floating-point encoder and do not exist
-for the fixed-point encoder due to the corresponding features not being
-implemented in fixed-point.
+<dt> &lsquo;<samp>flush_packets <var>integer</var> (<em>output</em>)</samp>&rsquo;</dt>
+<dd><p>Flush the underlying I/O stream after each packet. Default 1 enables it, and
+has the effect of reducing the latency; 0 disables it and may slightly
+increase performance in some cases.
 </p>
-<dl compact="compact">
-<dt> &lsquo;<samp>-channel_coupling <var>boolean</var></samp>&rsquo;</dt>
-<dd><p>Enables/Disables use of channel coupling, which is an optional AC-3 feature
-that increases quality by combining high frequency information from multiple
-channels into a single channel. The per-channel high frequency information is
-sent with less accuracy in both the frequency and time domains. This allows
-more bits to be used for lower frequencies while preserving enough information
-to reconstruct the high frequencies. This option is enabled by default for the
-floating-point encoder and should generally be left as enabled except for
-testing purposes or to increase encoding speed.
-</p><dl compact="compact">
-<dt> &lsquo;<samp>-1</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>auto</samp>&rsquo;</dt>
-<dd><p>Selected by Encoder (default)
-</p></dd>
-<dt> &lsquo;<samp>0</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>off</samp>&rsquo;</dt>
-<dd><p>Disable Channel Coupling
-</p></dd>
-<dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>on</samp>&rsquo;</dt>
-<dd><p>Enable Channel Coupling
-</p></dd>
-</dl>
-
 </dd>
-<dt> &lsquo;<samp>-cpl_start_band <var>number</var></samp>&rsquo;</dt>
-<dd><p>Coupling Start Band. Sets the channel coupling start band, from 1 to 15. If a
-value higher than the bandwidth is used, it will be reduced to 1 less than the
-coupling end band. If <var>auto</var> is used, the start band will be determined by
-the encoder based on the bit rate, sample rate, and channel layout. This option
-has no effect if channel coupling is disabled.
-</p><dl compact="compact">
-<dt> &lsquo;<samp>-1</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>auto</samp>&rsquo;</dt>
-<dd><p>Selected by Encoder (default)
+<dt> &lsquo;<samp>output_ts_offset <var>offset</var> (<em>output</em>)</samp>&rsquo;</dt>
+<dd><p>Set the output time offset.
+</p>
+<p><var>offset</var> must be a time duration specification,
+see <a href="ffmpeg-utils.html#time-duration-syntax">(ffmpeg-utils)time duration syntax</a>.
+</p>
+<p>The offset is added by the muxer to the output timestamps.
+</p>
+<p>Specifying a positive offset means that the corresponding streams are
+delayed bt the time duration specified in <var>offset</var>. Default value
+is <code>0</code> (meaning that no offset is applied).
 </p></dd>
 </dl>
 
-</dd>
-</dl>
 
-<p><a name="libfaac"></a>
-</p><a name="libfaac-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-libfaac-1">15.3 libfaac</a></h2>
+<p><a name="Format-stream-specifiers"></a>
+</p><a name="Format-stream-specifiers-1"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-Format-stream-specifiers-1">15.1 Format stream specifiers</a></h2>
 
-<p>libfaac AAC (Advanced Audio Coding) encoder wrapper.
-</p>
-<p>Requires the presence of the libfaac headers and library during
-configuration. You need to explicitly configure the build with
-<code>--enable-libfaac --enable-nonfree</code>.
-</p>
-<p>This encoder is considered to be of higher quality with respect to the
-<a href="#aacenc">the native experimental FFmpeg AAC encoder</a>.
+<p>Format stream specifiers allow selection of one or more streams that
+match specific properties.
 </p>
-<p>For more information see the libfaac project at
-<a href="http://www.audiocoding.com/faac.html/">http://www.audiocoding.com/faac.html/</a>.
-</p>
-<a name="Options-13"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-13">15.3.1 Options</a></h3>
-
-<p>The following shared FFmpeg codec options are recognized.
-</p>
-<p>The following options are supported by the libfaac wrapper. The
-<code>faac</code>-equivalent of the options are listed in parentheses.
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>b (<em>-b</em>)</samp>&rsquo;</dt>
-<dd><p>Set bit rate in bits/s for ABR (Average Bit Rate) mode. If the bit rate
-is not explicitly specified, it is automatically set to a suitable
-value depending on the selected profile. <code>faac</code> bitrate is
-expressed in kilobits/s.
-</p>
-<p>Note that libfaac does not support CBR (Constant Bit Rate) but only
-ABR (Average Bit Rate).
-</p>
-<p>If VBR mode is enabled this option is ignored.
-</p>
-</dd>
-<dt> &lsquo;<samp>ar (<em>-R</em>)</samp>&rsquo;</dt>
-<dd><p>Set audio sampling rate (in Hz).
-</p>
-</dd>
-<dt> &lsquo;<samp>ac (<em>-c</em>)</samp>&rsquo;</dt>
-<dd><p>Set the number of audio channels.
-</p>
-</dd>
-<dt> &lsquo;<samp>cutoff (<em>-C</em>)</samp>&rsquo;</dt>
-<dd><p>Set cutoff frequency. If not specified (or explicitly set to 0) it
-will use a value automatically computed by the library. Default value
-is 0.
-</p>
-</dd>
-<dt> &lsquo;<samp>profile</samp>&rsquo;</dt>
-<dd><p>Set audio profile.
-</p>
-<p>The following profiles are recognized:
-</p><dl compact="compact">
-<dt> &lsquo;<samp>aac_main</samp>&rsquo;</dt>
-<dd><p>Main AAC (Main)
-</p>
-</dd>
-<dt> &lsquo;<samp>aac_low</samp>&rsquo;</dt>
-<dd><p>Low Complexity AAC (LC)
-</p>
-</dd>
-<dt> &lsquo;<samp>aac_ssr</samp>&rsquo;</dt>
-<dd><p>Scalable Sample Rate (SSR)
-</p>
-</dd>
-<dt> &lsquo;<samp>aac_ltp</samp>&rsquo;</dt>
-<dd><p>Long Term Prediction (LTP)
-</p></dd>
-</dl>
-
-<p>If not specified it is set to &lsquo;<samp>aac_low</samp>&rsquo;.
-</p>
-</dd>
-<dt> &lsquo;<samp>flags +qscale</samp>&rsquo;</dt>
-<dd><p>Set constant quality VBR (Variable Bit Rate) mode.
-</p>
-</dd>
-<dt> &lsquo;<samp>global_quality</samp>&rsquo;</dt>
-<dd><p>Set quality in VBR mode as an integer number of lambda units.
-</p>
-<p>Only relevant when VBR mode is enabled with <code>flags +qscale</code>.  The
-value is converted to QP units by dividing it by <code>FF_QP2LAMBDA</code>,
-and used to set the quality value used by libfaac. A reasonable range
-for the option value in QP units is [10-500], the higher the value the
-higher the quality.
-</p>
-</dd>
-<dt> &lsquo;<samp>q (<em>-q</em>)</samp>&rsquo;</dt>
-<dd><p>Enable VBR mode when set to a non-negative value, and set constant
-quality value as a double floating point value in QP units.
-</p>
-<p>The value sets the quality value used by libfaac. A reasonable range
-for the option value is [10-500], the higher the value the higher the
-quality.
-</p>
-<p>This option is valid only using the <code>ffmpeg</code> command-line
-tool. For library interface users, use &lsquo;<samp>global_quality</samp>&rsquo;.
-</p></dd>
-</dl>
-
-<a name="Examples-84"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-84">15.3.2 Examples</a></h3>
-
-<ul>
-<li>
-Use <code>ffmpeg</code> to convert an audio file to ABR 128 kbps AAC in an M4A (MP4)
-container:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i input.wav -codec:a libfaac -b:a 128k -output.m4a
-</pre></td></tr></table>
-
-</li><li>
-Use <code>ffmpeg</code> to convert an audio file to VBR AAC, using the
-LTP AAC profile:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i input.wav -c:a libfaac -profile:a aac_ltp -q:a 100 output.m4a
-</pre></td></tr></table>
-</li></ul>
-
-<p><a name="libfdk_002daac_002denc"></a>
-</p><a name="libfdk_005faac"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-libfdk_005faac">15.4 libfdk_aac</a></h2>
-
-<p>libfdk-aac AAC (Advanced Audio Coding) encoder wrapper.
-</p>
-<p>The libfdk-aac library is based on the Fraunhofer FDK AAC code from
-the Android project.
-</p>
-<p>Requires the presence of the libfdk-aac headers and library during
-configuration. You need to explicitly configure the build with
-<code>--enable-libfdk-aac</code>. The library is also incompatible with GPL,
-so if you allow the use of GPL, you should configure with
-<code>--enable-gpl --enable-nonfree --enable-libfdk-aac</code>.
-</p>
-<p>This encoder is considered to be of higher quality with respect to
-both <a href="#aacenc">the native experimental FFmpeg AAC encoder</a> and
-<a href="#libfaac">libfaac</a>.
-</p>
-<p>VBR encoding, enabled through the &lsquo;<samp>vbr</samp>&rsquo; or &lsquo;<samp>flags
-+qscale</samp>&rsquo; options, is experimental and only works with some
-combinations of parameters.
-</p>
-<p>For more information see the fdk-aac project at
-<a href="http://sourceforge.net/p/opencore-amr/fdk-aac/">http://sourceforge.net/p/opencore-amr/fdk-aac/</a>.
-</p>
-<a name="Options-2"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-2">15.4.1 Options</a></h3>
-
-<p>The following options are mapped on the shared FFmpeg codec options.
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>b</samp>&rsquo;</dt>
-<dd><p>Set bit rate in bits/s. If the bitrate is not explicitly specified, it
-is automatically set to a suitable value depending on the selected
-profile.
-</p>
-<p>In case VBR mode is enabled the option is ignored.
-</p>
-</dd>
-<dt> &lsquo;<samp>ar</samp>&rsquo;</dt>
-<dd><p>Set audio sampling rate (in Hz).
-</p>
-</dd>
-<dt> &lsquo;<samp>channels</samp>&rsquo;</dt>
-<dd><p>Set the number of audio channels.
-</p>
-</dd>
-<dt> &lsquo;<samp>flags +qscale</samp>&rsquo;</dt>
-<dd><p>Enable fixed quality, VBR (Variable Bit Rate) mode.
-Note that VBR is implicitly enabled when the &lsquo;<samp>vbr</samp>&rsquo; value is
-positive.
-</p>
-</dd>
-<dt> &lsquo;<samp>cutoff</samp>&rsquo;</dt>
-<dd><p>Set cutoff frequency. If not specified (or explicitly set to 0) it
-will use a value automatically computed by the library. Default value
-is 0.
-</p>
-</dd>
-<dt> &lsquo;<samp>profile</samp>&rsquo;</dt>
-<dd><p>Set audio profile.
-</p>
-<p>The following profiles are recognized:
-</p><dl compact="compact">
-<dt> &lsquo;<samp>aac_low</samp>&rsquo;</dt>
-<dd><p>Low Complexity AAC (LC)
-</p>
-</dd>
-<dt> &lsquo;<samp>aac_he</samp>&rsquo;</dt>
-<dd><p>High Efficiency AAC (HE-AAC)
-</p>
-</dd>
-<dt> &lsquo;<samp>aac_he_v2</samp>&rsquo;</dt>
-<dd><p>High Efficiency AAC version 2 (HE-AACv2)
-</p>
-</dd>
-<dt> &lsquo;<samp>aac_ld</samp>&rsquo;</dt>
-<dd><p>Low Delay AAC (LD)
-</p>
-</dd>
-<dt> &lsquo;<samp>aac_eld</samp>&rsquo;</dt>
-<dd><p>Enhanced Low Delay AAC (ELD)
-</p></dd>
-</dl>
-
-<p>If not specified it is set to &lsquo;<samp>aac_low</samp>&rsquo;.
-</p></dd>
-</dl>
-
-<p>The following are private options of the libfdk_aac encoder.
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>afterburner</samp>&rsquo;</dt>
-<dd><p>Enable afterburner feature if set to 1, disabled if set to 0. This
-improves the quality but also the required processing power.
-</p>
-<p>Default value is 1.
-</p>
-</dd>
-<dt> &lsquo;<samp>eld_sbr</samp>&rsquo;</dt>
-<dd><p>Enable SBR (Spectral Band Replication) for ELD if set to 1, disabled
-if set to 0.
-</p>
-<p>Default value is 0.
-</p>
-</dd>
-<dt> &lsquo;<samp>signaling</samp>&rsquo;</dt>
-<dd><p>Set SBR/PS signaling style.
-</p>
-<p>It can assume one of the following values:
-</p><dl compact="compact">
-<dt> &lsquo;<samp>default</samp>&rsquo;</dt>
-<dd><p>choose signaling implicitly (explicit hierarchical by default,
-implicit if global header is disabled)
-</p>
-</dd>
-<dt> &lsquo;<samp>implicit</samp>&rsquo;</dt>
-<dd><p>implicit backwards compatible signaling
-</p>
-</dd>
-<dt> &lsquo;<samp>explicit_sbr</samp>&rsquo;</dt>
-<dd><p>explicit SBR, implicit PS signaling
-</p>
-</dd>
-<dt> &lsquo;<samp>explicit_hierarchical</samp>&rsquo;</dt>
-<dd><p>explicit hierarchical signaling
-</p></dd>
-</dl>
-
-<p>Default value is &lsquo;<samp>default</samp>&rsquo;.
-</p>
-</dd>
-<dt> &lsquo;<samp>latm</samp>&rsquo;</dt>
-<dd><p>Output LATM/LOAS encapsulated data if set to 1, disabled if set to 0.
-</p>
-<p>Default value is 0.
-</p>
-</dd>
-<dt> &lsquo;<samp>header_period</samp>&rsquo;</dt>
-<dd><p>Set StreamMuxConfig and PCE repetition period (in frames) for sending
-in-band configuration buffers within LATM/LOAS transport layer.
-</p>
-<p>Must be a 16-bits non-negative integer.
-</p>
-<p>Default value is 0.
-</p>
-</dd>
-<dt> &lsquo;<samp>vbr</samp>&rsquo;</dt>
-<dd><p>Set VBR mode, from 1 to 5. 1 is lowest quality (though still pretty
-good) and 5 is highest quality. A value of 0 will disable VBR, and CBR
-(Constant Bit Rate) is enabled.
-</p>
-<p>Currently only the &lsquo;<samp>aac_low</samp>&rsquo; profile supports VBR encoding.
-</p>
-<p>VBR modes 1-5 correspond to roughly the following average bit rates:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dd><p>32 kbps/channel
-</p></dd>
-<dt> &lsquo;<samp>2</samp>&rsquo;</dt>
-<dd><p>40 kbps/channel
-</p></dd>
-<dt> &lsquo;<samp>3</samp>&rsquo;</dt>
-<dd><p>48-56 kbps/channel
-</p></dd>
-<dt> &lsquo;<samp>4</samp>&rsquo;</dt>
-<dd><p>64 kbps/channel
-</p></dd>
-<dt> &lsquo;<samp>5</samp>&rsquo;</dt>
-<dd><p>about 80-96 kbps/channel
-</p></dd>
-</dl>
-
-<p>Default value is 0.
-</p></dd>
-</dl>
-
-<a name="Examples-50"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-50">15.4.2 Examples</a></h3>
-
-<ul>
-<li>
-Use <code>ffmpeg</code> to convert an audio file to VBR AAC in an M4A (MP4)
-container:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i input.wav -codec:a libfdk_aac -vbr 3 output.m4a
-</pre></td></tr></table>
-
-</li><li>
-Use <code>ffmpeg</code> to convert an audio file to CBR 64k kbps AAC, using the
-High-Efficiency AAC profile:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i input.wav -c:a libfdk_aac -profile:a aac_he -b:a 64k output.m4a
-</pre></td></tr></table>
-</li></ul>
-
-<p><a name="libmp3lame"></a>
-</p><a name="libmp3lame-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-libmp3lame-1">15.5 libmp3lame</a></h2>
-
-<p>LAME (Lame Ain&rsquo;t an MP3 Encoder) MP3 encoder wrapper.
-</p>
-<p>Requires the presence of the libmp3lame headers and library during
-configuration. You need to explicitly configure the build with
-<code>--enable-libmp3lame</code>.
-</p>
-<p>See <a href="#libshine">libshine</a> for a fixed-point MP3 encoder, although with a
-lower quality.
-</p>
-<a name="Options-24"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-24">15.5.1 Options</a></h3>
-
-<p>The following options are supported by the libmp3lame wrapper. The
-<code>lame</code>-equivalent of the options are listed in parentheses.
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>b (<em>-b</em>)</samp>&rsquo;</dt>
-<dd><p>Set bitrate expressed in bits/s for CBR or ABR. LAME <code>bitrate</code> is
-expressed in kilobits/s.
-</p>
-</dd>
-<dt> &lsquo;<samp>q (<em>-V</em>)</samp>&rsquo;</dt>
-<dd><p>Set constant quality setting for VBR. This option is valid only
-using the <code>ffmpeg</code> command-line tool. For library interface
-users, use &lsquo;<samp>global_quality</samp>&rsquo;.
-</p>
-</dd>
-<dt> &lsquo;<samp>compression_level (<em>-q</em>)</samp>&rsquo;</dt>
-<dd><p>Set algorithm quality. Valid arguments are integers in the 0-9 range,
-with 0 meaning highest quality but slowest, and 9 meaning fastest
-while producing the worst quality.
-</p>
-</dd>
-<dt> &lsquo;<samp>reservoir</samp>&rsquo;</dt>
-<dd><p>Enable use of bit reservoir when set to 1. Default value is 1. LAME
-has this enabled by default, but can be overriden by use
-&lsquo;<samp>--nores</samp>&rsquo; option.
-</p>
-</dd>
-<dt> &lsquo;<samp>joint_stereo (<em>-m j</em>)</samp>&rsquo;</dt>
-<dd><p>Enable the encoder to use (on a frame by frame basis) either L/R
-stereo or mid/side stereo. Default value is 1.
-</p>
-</dd>
-<dt> &lsquo;<samp>abr (<em>--abr</em>)</samp>&rsquo;</dt>
-<dd><p>Enable the encoder to use ABR when set to 1. The <code>lame</code>
-&lsquo;<samp>--abr</samp>&rsquo; sets the target bitrate, while this options only
-tells FFmpeg to use ABR still relies on &lsquo;<samp>b</samp>&rsquo; to set bitrate.
-</p>
-</dd>
-</dl>
-
-<a name="libopencore_002damrnb-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-libopencore_002damrnb-1">15.6 libopencore-amrnb</a></h2>
-
-<p>OpenCORE Adaptive Multi-Rate Narrowband encoder.
-</p>
-<p>Requires the presence of the libopencore-amrnb headers and library during
-configuration. You need to explicitly configure the build with
-<code>--enable-libopencore-amrnb --enable-version3</code>.
-</p>
-<p>This is a mono-only encoder. Officially it only supports 8000Hz sample rate,
-but you can override it by setting &lsquo;<samp>strict</samp>&rsquo; to &lsquo;<samp>unofficial</samp>&rsquo; or
-lower.
-</p>
-<a name="Options-16"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-16">15.6.1 Options</a></h3>
-
-<dl compact="compact">
-<dt> &lsquo;<samp>b</samp>&rsquo;</dt>
-<dd><p>Set bitrate in bits per second. Only the following bitrates are supported,
-otherwise libavcodec will round to the nearest valid bitrate.
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>4750</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>5150</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>5900</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>6700</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>7400</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>7950</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>10200</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>12200</samp>&rsquo;</dt>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>dtx</samp>&rsquo;</dt>
-<dd><p>Allow discontinuous transmission (generate comfort noise) when set to 1. The
-default value is 0 (disabled).
-</p>
-</dd>
-</dl>
-
-<p><a name="libshine"></a>
-</p><a name="libshine-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-libshine-1">15.7 libshine</a></h2>
-
-<p>Shine Fixed-Point MP3 encoder wrapper.
-</p>
-<p>Shine is a fixed-point MP3 encoder. It has a far better performance on
-platforms without an FPU, e.g. armel CPUs, and some phones and tablets.
-However, as it is more targeted on performance than quality, it is not on par
-with LAME and other production-grade encoders quality-wise. Also, according to
-the project&rsquo;s homepage, this encoder may not be free of bugs as the code was
-written a long time ago and the project was dead for at least 5 years.
-</p>
-<p>This encoder only supports stereo and mono input. This is also CBR-only.
-</p>
-<p>The original project (last updated in early 2007) is at
-<a href="http://sourceforge.net/projects/libshine-fxp/">http://sourceforge.net/projects/libshine-fxp/</a>. We only support the
-updated fork by the Savonet/Liquidsoap project at <a href="https://github.com/savonet/shine">https://github.com/savonet/shine</a>.
-</p>
-<p>Requires the presence of the libshine headers and library during
-configuration. You need to explicitly configure the build with
-<code>--enable-libshine</code>.
-</p>
-<p>See also <a href="#libmp3lame">libmp3lame</a>.
-</p>
-<a name="Options"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Options">15.7.1 Options</a></h3>
-
-<p>The following options are supported by the libshine wrapper. The
-<code>shineenc</code>-equivalent of the options are listed in parentheses.
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>b (<em>-b</em>)</samp>&rsquo;</dt>
-<dd><p>Set bitrate expressed in bits/s for CBR. <code>shineenc</code> &lsquo;<samp>-b</samp>&rsquo; option
-is expressed in kilobits/s.
-</p>
-</dd>
-</dl>
-
-<a name="libtwolame"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-libtwolame">15.8 libtwolame</a></h2>
-
-<p>TwoLAME MP2 encoder wrapper.
-</p>
-<p>Requires the presence of the libtwolame headers and library during
-configuration. You need to explicitly configure the build with
-<code>--enable-libtwolame</code>.
-</p>
-<a name="Options-12"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-12">15.8.1 Options</a></h3>
-
-<p>The following options are supported by the libtwolame wrapper. The
-<code>twolame</code>-equivalent options follow the FFmpeg ones and are in
-parentheses.
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>b (<em>-b</em>)</samp>&rsquo;</dt>
-<dd><p>Set bitrate expressed in bits/s for CBR. <code>twolame</code> &lsquo;<samp>b</samp>&rsquo;
-option is expressed in kilobits/s. Default value is 128k.
-</p>
-</dd>
-<dt> &lsquo;<samp>q (<em>-V</em>)</samp>&rsquo;</dt>
-<dd><p>Set quality for experimental VBR support. Maximum value range is
-from -50 to 50, useful range is from -10 to 10. The higher the
-value, the better the quality. This option is valid only using the
-<code>ffmpeg</code> command-line tool. For library interface users,
-use &lsquo;<samp>global_quality</samp>&rsquo;.
-</p>
-</dd>
-<dt> &lsquo;<samp>mode (<em>--mode</em>)</samp>&rsquo;</dt>
-<dd><p>Set the mode of the resulting audio. Possible values:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>auto</samp>&rsquo;</dt>
-<dd><p>Choose mode automatically based on the input. This is the default.
-</p></dd>
-<dt> &lsquo;<samp>stereo</samp>&rsquo;</dt>
-<dd><p>Stereo
-</p></dd>
-<dt> &lsquo;<samp>joint_stereo</samp>&rsquo;</dt>
-<dd><p>Joint stereo
-</p></dd>
-<dt> &lsquo;<samp>dual_channel</samp>&rsquo;</dt>
-<dd><p>Dual channel
-</p></dd>
-<dt> &lsquo;<samp>mono</samp>&rsquo;</dt>
-<dd><p>Mono
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>psymodel (<em>--psyc-mode</em>)</samp>&rsquo;</dt>
-<dd><p>Set psychoacoustic model to use in encoding. The argument must be
-an integer between -1 and 4, inclusive. The higher the value, the
-better the quality. The default value is 3.
-</p>
-</dd>
-<dt> &lsquo;<samp>energy_levels (<em>--energy</em>)</samp>&rsquo;</dt>
-<dd><p>Enable energy levels extensions when set to 1. The default value is
-0 (disabled).
-</p>
-</dd>
-<dt> &lsquo;<samp>error_protection (<em>--protect</em>)</samp>&rsquo;</dt>
-<dd><p>Enable CRC error protection when set to 1. The default value is 0
-(disabled).
-</p>
-</dd>
-<dt> &lsquo;<samp>copyright (<em>--copyright</em>)</samp>&rsquo;</dt>
-<dd><p>Set MPEG audio copyright flag when set to 1. The default value is 0
-(disabled).
-</p>
-</dd>
-<dt> &lsquo;<samp>original (<em>--original</em>)</samp>&rsquo;</dt>
-<dd><p>Set MPEG audio original flag when set to 1. The default value is 0
-(disabled).
-</p>
-</dd>
-</dl>
-
-<p><a name="libvo_002daacenc"></a>
-</p><a name="libvo_002daacenc-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-libvo_002daacenc-1">15.9 libvo-aacenc</a></h2>
-
-<p>VisualOn AAC encoder.
-</p>
-<p>Requires the presence of the libvo-aacenc headers and library during
-configuration. You need to explicitly configure the build with
-<code>--enable-libvo-aacenc --enable-version3</code>.
-</p>
-<p>This encoder is considered to be worse than the
-<a href="#aacenc">native experimental FFmpeg AAC encoder</a>, according to
-multiple sources.
-</p>
-<a name="Options-17"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-17">15.9.1 Options</a></h3>
-
-<p>The VisualOn AAC encoder only support encoding AAC-LC and up to 2
-channels. It is also CBR-only.
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>b</samp>&rsquo;</dt>
-<dd><p>Set bit rate in bits/s.
-</p>
-</dd>
-</dl>
-
-<a name="libvo_002damrwbenc"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-libvo_002damrwbenc">15.10 libvo-amrwbenc</a></h2>
-
-<p>VisualOn Adaptive Multi-Rate Wideband encoder.
-</p>
-<p>Requires the presence of the libvo-amrwbenc headers and library during
-configuration. You need to explicitly configure the build with
-<code>--enable-libvo-amrwbenc --enable-version3</code>.
-</p>
-<p>This is a mono-only encoder. Officially it only supports 16000Hz sample
-rate, but you can override it by setting &lsquo;<samp>strict</samp>&rsquo; to
-&lsquo;<samp>unofficial</samp>&rsquo; or lower.
-</p>
-<a name="Options-32"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-32">15.10.1 Options</a></h3>
-
-<dl compact="compact">
-<dt> &lsquo;<samp>b</samp>&rsquo;</dt>
-<dd><p>Set bitrate in bits/s. Only the following bitrates are supported, otherwise
-libavcodec will round to the nearest valid bitrate.
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>6600</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>8850</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>12650</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>14250</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>15850</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>18250</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>19850</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>23050</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>23850</samp>&rsquo;</dt>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>dtx</samp>&rsquo;</dt>
-<dd><p>Allow discontinuous transmission (generate comfort noise) when set to 1. The
-default value is 0 (disabled).
-</p>
-</dd>
-</dl>
-
-<a name="libopus"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-libopus">15.11 libopus</a></h2>
-
-<p>libopus Opus Interactive Audio Codec encoder wrapper.
-</p>
-<p>Requires the presence of the libopus headers and library during
-configuration. You need to explicitly configure the build with
-<code>--enable-libopus</code>.
-</p>
-<a name="Option-Mapping"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Option-Mapping">15.11.1 Option Mapping</a></h3>
-
-<p>Most libopus options are modeled after the <code>opusenc</code> utility from
-opus-tools. The following is an option mapping chart describing options
-supported by the libopus wrapper, and their <code>opusenc</code>-equivalent
-in parentheses.
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>b (<em>bitrate</em>)</samp>&rsquo;</dt>
-<dd><p>Set the bit rate in bits/s.  FFmpeg&rsquo;s &lsquo;<samp>b</samp>&rsquo; option is
-expressed in bits/s, while <code>opusenc</code>&rsquo;s &lsquo;<samp>bitrate</samp>&rsquo; in
-kilobits/s.
-</p>
-</dd>
-<dt> &lsquo;<samp>vbr (<em>vbr</em>, <em>hard-cbr</em>, and <em>cvbr</em>)</samp>&rsquo;</dt>
-<dd><p>Set VBR mode. The FFmpeg &lsquo;<samp>vbr</samp>&rsquo; option has the following
-valid arguments, with the their <code>opusenc</code> equivalent options
-in parentheses:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>off (<em>hard-cbr</em>)</samp>&rsquo;</dt>
-<dd><p>Use constant bit rate encoding.
-</p>
-</dd>
-<dt> &lsquo;<samp>on (<em>vbr</em>)</samp>&rsquo;</dt>
-<dd><p>Use variable bit rate encoding (the default).
-</p>
-</dd>
-<dt> &lsquo;<samp>constrained (<em>cvbr</em>)</samp>&rsquo;</dt>
-<dd><p>Use constrained variable bit rate encoding.
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>compression_level (<em>comp</em>)</samp>&rsquo;</dt>
-<dd><p>Set encoding algorithm complexity. Valid options are integers in
-the 0-10 range. 0 gives the fastest encodes but lower quality, while 10
-gives the highest quality but slowest encoding. The default is 10.
-</p>
-</dd>
-<dt> &lsquo;<samp>frame_duration (<em>framesize</em>)</samp>&rsquo;</dt>
-<dd><p>Set maximum frame size, or duration of a frame in milliseconds. The
-argument must be exactly the following: 2.5, 5, 10, 20, 40, 60. Smaller
-frame sizes achieve lower latency but less quality at a given bitrate.
-Sizes greater than 20ms are only interesting at fairly low bitrates.
-The default is 20ms.
-</p>
-</dd>
-<dt> &lsquo;<samp>packet_loss (<em>expect-loss</em>)</samp>&rsquo;</dt>
-<dd><p>Set expected packet loss percentage. The default is 0.
-</p>
-</dd>
-<dt> &lsquo;<samp>application (N.A.)</samp>&rsquo;</dt>
-<dd><p>Set intended application type. Valid options are listed below:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>voip</samp>&rsquo;</dt>
-<dd><p>Favor improved speech intelligibility.
-</p></dd>
-<dt> &lsquo;<samp>audio</samp>&rsquo;</dt>
-<dd><p>Favor faithfulness to the input (the default).
-</p></dd>
-<dt> &lsquo;<samp>lowdelay</samp>&rsquo;</dt>
-<dd><p>Restrict to only the lowest delay modes.
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>cutoff (N.A.)</samp>&rsquo;</dt>
-<dd><p>Set cutoff bandwidth in Hz. The argument must be exactly one of the
-following: 4000, 6000, 8000, 12000, or 20000, corresponding to
-narrowband, mediumband, wideband, super wideband, and fullband
-respectively. The default is 0 (cutoff disabled).
-</p>
-</dd>
-</dl>
-
-<a name="libvorbis"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-libvorbis">15.12 libvorbis</a></h2>
-
-<p>libvorbis encoder wrapper.
-</p>
-<p>Requires the presence of the libvorbisenc headers and library during
-configuration. You need to explicitly configure the build with
-<code>--enable-libvorbis</code>.
-</p>
-<a name="Options-1"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-1">15.12.1 Options</a></h3>
-
-<p>The following options are supported by the libvorbis wrapper. The
-<code>oggenc</code>-equivalent of the options are listed in parentheses.
-</p>
-<p>To get a more accurate and extensive documentation of the libvorbis
-options, consult the libvorbisenc&rsquo;s and <code>oggenc</code>&rsquo;s documentations.
-See <a href="http://xiph.org/vorbis/">http://xiph.org/vorbis/</a>,
-<a href="http://wiki.xiph.org/Vorbis-tools">http://wiki.xiph.org/Vorbis-tools</a>, and oggenc(1).
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>b (<em>-b</em>)</samp>&rsquo;</dt>
-<dd><p>Set bitrate expressed in bits/s for ABR. <code>oggenc</code> &lsquo;<samp>-b</samp>&rsquo; is
-expressed in kilobits/s.
-</p>
-</dd>
-<dt> &lsquo;<samp>q (<em>-q</em>)</samp>&rsquo;</dt>
-<dd><p>Set constant quality setting for VBR. The value should be a float
-number in the range of -1.0 to 10.0. The higher the value, the better
-the quality. The default value is &lsquo;<samp>3.0</samp>&rsquo;.
-</p>
-<p>This option is valid only using the <code>ffmpeg</code> command-line tool.
-For library interface users, use &lsquo;<samp>global_quality</samp>&rsquo;.
-</p>
-</dd>
-<dt> &lsquo;<samp>cutoff (<em>--advanced-encode-option lowpass_frequency=N</em>)</samp>&rsquo;</dt>
-<dd><p>Set cutoff bandwidth in Hz, a value of 0 disables cutoff. <code>oggenc</code>&rsquo;s
-related option is expressed in kHz. The default value is &lsquo;<samp>0</samp>&rsquo; (cutoff
-disabled).
-</p>
-</dd>
-<dt> &lsquo;<samp>minrate (<em>-m</em>)</samp>&rsquo;</dt>
-<dd><p>Set minimum bitrate expressed in bits/s. <code>oggenc</code> &lsquo;<samp>-m</samp>&rsquo; is
-expressed in kilobits/s.
-</p>
-</dd>
-<dt> &lsquo;<samp>maxrate (<em>-M</em>)</samp>&rsquo;</dt>
-<dd><p>Set maximum bitrate expressed in bits/s. <code>oggenc</code> &lsquo;<samp>-M</samp>&rsquo; is
-expressed in kilobits/s. This only has effect on ABR mode.
-</p>
-</dd>
-<dt> &lsquo;<samp>iblock (<em>--advanced-encode-option impulse_noisetune=N</em>)</samp>&rsquo;</dt>
-<dd><p>Set noise floor bias for impulse blocks. The value is a float number from
--15.0 to 0.0. A negative bias instructs the encoder to pay special attention
-to the crispness of transients in the encoded audio. The tradeoff for better
-transient response is a higher bitrate.
-</p>
-</dd>
-</dl>
-
-<a name="libwavpack"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-libwavpack">15.13 libwavpack</a></h2>
-
-<p>A wrapper providing WavPack encoding through libwavpack.
-</p>
-<p>Only lossless mode using 32-bit integer samples is supported currently.
-The &lsquo;<samp>compression_level</samp>&rsquo; option can be used to control speed vs.
-compression tradeoff, with the values mapped to libwavpack as follows:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>0</samp>&rsquo;</dt>
-<dd><p>Fast mode - corresponding to the wavpack &lsquo;<samp>-f</samp>&rsquo; option.
-</p>
-</dd>
-<dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dd><p>Normal (default) settings.
-</p>
-</dd>
-<dt> &lsquo;<samp>2</samp>&rsquo;</dt>
-<dd><p>High quality - corresponding to the wavpack &lsquo;<samp>-h</samp>&rsquo; option.
-</p>
-</dd>
-<dt> &lsquo;<samp>3</samp>&rsquo;</dt>
-<dd><p>Very high quality - corresponding to the wavpack &lsquo;<samp>-hh</samp>&rsquo; option.
-</p>
-</dd>
-<dt> &lsquo;<samp>4-8</samp>&rsquo;</dt>
-<dd><p>Same as 3, but with extra processing enabled - corresponding to the wavpack
-&lsquo;<samp>-x</samp>&rsquo; option. I.e. 4 is the same as &lsquo;<samp>-x2</samp>&rsquo; and 8 is the same as
-&lsquo;<samp>-x6</samp>&rsquo;.
-</p>
-</dd>
-</dl>
-
-
-<a name="Video-Encoders"></a>
-<h1 class="chapter"><a href="ffprobe-all.html#toc-Video-Encoders">16. Video Encoders</a></h1>
-
-<p>A description of some of the currently available video encoders
-follows.
-</p>
-<a name="libtheora"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-libtheora">16.1 libtheora</a></h2>
-
-<p>libtheora Theora encoder wrapper.
-</p>
-<p>Requires the presence of the libtheora headers and library during
-configuration. You need to explicitly configure the build with
-<code>--enable-libtheora</code>.
-</p>
-<p>For more informations about the libtheora project see
-<a href="http://www.theora.org/">http://www.theora.org/</a>.
-</p>
-<a name="Options-20"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-20">16.1.1 Options</a></h3>
-
-<p>The following global options are mapped to internal libtheora options
-which affect the quality and the bitrate of the encoded stream.
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>b</samp>&rsquo;</dt>
-<dd><p>Set the video bitrate in bit/s for CBR (Constant Bit Rate) mode.  In
-case VBR (Variable Bit Rate) mode is enabled this option is ignored.
-</p>
-</dd>
-<dt> &lsquo;<samp>flags</samp>&rsquo;</dt>
-<dd><p>Used to enable constant quality mode (VBR) encoding through the
-&lsquo;<samp>qscale</samp>&rsquo; flag, and to enable the <code>pass1</code> and <code>pass2</code>
-modes.
-</p>
-</dd>
-<dt> &lsquo;<samp>g</samp>&rsquo;</dt>
-<dd><p>Set the GOP size.
-</p>
-</dd>
-<dt> &lsquo;<samp>global_quality</samp>&rsquo;</dt>
-<dd><p>Set the global quality as an integer in lambda units.
-</p>
-<p>Only relevant when VBR mode is enabled with <code>flags +qscale</code>. The
-value is converted to QP units by dividing it by <code>FF_QP2LAMBDA</code>,
-clipped in the [0 - 10] range, and then multiplied by 6.3 to get a
-value in the native libtheora range [0-63]. A higher value corresponds
-to a higher quality.
-</p>
-</dd>
-<dt> &lsquo;<samp>q</samp>&rsquo;</dt>
-<dd><p>Enable VBR mode when set to a non-negative value, and set constant
-quality value as a double floating point value in QP units.
-</p>
-<p>The value is clipped in the [0-10] range, and then multiplied by 6.3
-to get a value in the native libtheora range [0-63].
-</p>
-<p>This option is valid only using the <code>ffmpeg</code> command-line
-tool. For library interface users, use &lsquo;<samp>global_quality</samp>&rsquo;.
-</p></dd>
-</dl>
-
-<a name="Examples-47"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-47">16.1.2 Examples</a></h3>
-
-<ul>
-<li>
-Set maximum constant quality (VBR) encoding with <code>ffmpeg</code>:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -codec:v libtheora -q:v 10 OUTPUT.ogg
-</pre></td></tr></table>
-
-</li><li>
-Use <code>ffmpeg</code> to convert a CBR 1000 kbps Theora video stream:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -codec:v libtheora -b:v 1000k OUTPUT.ogg
-</pre></td></tr></table>
-</li></ul>
-
-<a name="libvpx"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-libvpx">16.2 libvpx</a></h2>
-
-<p>VP8 format supported through libvpx.
-</p>
-<p>Requires the presence of the libvpx headers and library during configuration.
-You need to explicitly configure the build with <code>--enable-libvpx</code>.
-</p>
-<a name="Options-23"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-23">16.2.1 Options</a></h3>
-
-<p>Mapping from FFmpeg to libvpx options with conversion notes in parentheses.
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>threads</samp>&rsquo;</dt>
-<dd><p>g_threads
-</p>
-</dd>
-<dt> &lsquo;<samp>profile</samp>&rsquo;</dt>
-<dd><p>g_profile
-</p>
-</dd>
-<dt> &lsquo;<samp>vb</samp>&rsquo;</dt>
-<dd><p>rc_target_bitrate
-</p>
-</dd>
-<dt> &lsquo;<samp>g</samp>&rsquo;</dt>
-<dd><p>kf_max_dist
-</p>
-</dd>
-<dt> &lsquo;<samp>keyint_min</samp>&rsquo;</dt>
-<dd><p>kf_min_dist
-</p>
-</dd>
-<dt> &lsquo;<samp>qmin</samp>&rsquo;</dt>
-<dd><p>rc_min_quantizer
-</p>
-</dd>
-<dt> &lsquo;<samp>qmax</samp>&rsquo;</dt>
-<dd><p>rc_max_quantizer
-</p>
-</dd>
-<dt> &lsquo;<samp>bufsize, vb</samp>&rsquo;</dt>
-<dd><p>rc_buf_sz
-<code>(bufsize * 1000 / vb)</code>
-</p>
-<p>rc_buf_optimal_sz
-<code>(bufsize * 1000 / vb * 5 / 6)</code>
-</p>
-</dd>
-<dt> &lsquo;<samp>rc_init_occupancy, vb</samp>&rsquo;</dt>
-<dd><p>rc_buf_initial_sz
-<code>(rc_init_occupancy * 1000 / vb)</code>
-</p>
-</dd>
-<dt> &lsquo;<samp>rc_buffer_aggressivity</samp>&rsquo;</dt>
-<dd><p>rc_undershoot_pct
-</p>
-</dd>
-<dt> &lsquo;<samp>skip_threshold</samp>&rsquo;</dt>
-<dd><p>rc_dropframe_thresh
-</p>
-</dd>
-<dt> &lsquo;<samp>qcomp</samp>&rsquo;</dt>
-<dd><p>rc_2pass_vbr_bias_pct
-</p>
-</dd>
-<dt> &lsquo;<samp>maxrate, vb</samp>&rsquo;</dt>
-<dd><p>rc_2pass_vbr_maxsection_pct
-<code>(maxrate * 100 / vb)</code>
-</p>
-</dd>
-<dt> &lsquo;<samp>minrate, vb</samp>&rsquo;</dt>
-<dd><p>rc_2pass_vbr_minsection_pct
-<code>(minrate * 100 / vb)</code>
-</p>
-</dd>
-<dt> &lsquo;<samp>minrate, maxrate, vb</samp>&rsquo;</dt>
-<dd><p><code>VPX_CBR</code>
-<code>(minrate == maxrate == vb)</code>
-</p>
-</dd>
-<dt> &lsquo;<samp>crf</samp>&rsquo;</dt>
-<dd><p><code>VPX_CQ</code>, <code>VP8E_SET_CQ_LEVEL</code>
-</p>
-</dd>
-<dt> &lsquo;<samp>quality</samp>&rsquo;</dt>
-<dd><dl compact="compact">
-<dt> &lsquo;<samp><var>best</var></samp>&rsquo;</dt>
-<dd><p><code>VPX_DL_BEST_QUALITY</code>
-</p></dd>
-<dt> &lsquo;<samp><var>good</var></samp>&rsquo;</dt>
-<dd><p><code>VPX_DL_GOOD_QUALITY</code>
-</p></dd>
-<dt> &lsquo;<samp><var>realtime</var></samp>&rsquo;</dt>
-<dd><p><code>VPX_DL_REALTIME</code>
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>speed</samp>&rsquo;</dt>
-<dd><p><code>VP8E_SET_CPUUSED</code>
-</p>
-</dd>
-<dt> &lsquo;<samp>nr</samp>&rsquo;</dt>
-<dd><p><code>VP8E_SET_NOISE_SENSITIVITY</code>
-</p>
-</dd>
-<dt> &lsquo;<samp>mb_threshold</samp>&rsquo;</dt>
-<dd><p><code>VP8E_SET_STATIC_THRESHOLD</code>
-</p>
-</dd>
-<dt> &lsquo;<samp>slices</samp>&rsquo;</dt>
-<dd><p><code>VP8E_SET_TOKEN_PARTITIONS</code>
-</p>
-</dd>
-<dt> &lsquo;<samp>max-intra-rate</samp>&rsquo;</dt>
-<dd><p><code>VP8E_SET_MAX_INTRA_BITRATE_PCT</code>
-</p>
-</dd>
-<dt> &lsquo;<samp>force_key_frames</samp>&rsquo;</dt>
-<dd><p><code>VPX_EFLAG_FORCE_KF</code>
-</p>
-</dd>
-<dt> &lsquo;<samp>Alternate reference frame related</samp>&rsquo;</dt>
-<dd><dl compact="compact">
-<dt> &lsquo;<samp>vp8flags altref</samp>&rsquo;</dt>
-<dd><p><code>VP8E_SET_ENABLEAUTOALTREF</code>
-</p></dd>
-<dt> &lsquo;<samp><var>arnr_max_frames</var></samp>&rsquo;</dt>
-<dd><p><code>VP8E_SET_ARNR_MAXFRAMES</code>
-</p></dd>
-<dt> &lsquo;<samp><var>arnr_type</var></samp>&rsquo;</dt>
-<dd><p><code>VP8E_SET_ARNR_TYPE</code>
-</p></dd>
-<dt> &lsquo;<samp><var>arnr_strength</var></samp>&rsquo;</dt>
-<dd><p><code>VP8E_SET_ARNR_STRENGTH</code>
-</p></dd>
-<dt> &lsquo;<samp><var>rc_lookahead</var></samp>&rsquo;</dt>
-<dd><p>g_lag_in_frames
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>vp8flags error_resilient</samp>&rsquo;</dt>
-<dd><p>g_error_resilient
-</p>
-</dd>
-</dl>
-
-<p>For more information about libvpx see:
-<a href="http://www.webmproject.org/">http://www.webmproject.org/</a>
-</p>
-<a name="libx264"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-libx264">16.3 libx264</a></h2>
-
-<p>x264 H.264/MPEG-4 AVC encoder wrapper.
-</p>
-<p>This encoder requires the presence of the libx264 headers and library
-during configuration. You need to explicitly configure the build with
-<code>--enable-libx264</code>.
-</p>
-<p>libx264 supports an impressive number of features, including 8x8 and
-4x4 adaptive spatial transform, adaptive B-frame placement, CAVLC/CABAC
-entropy coding, interlacing (MBAFF), lossless mode, psy optimizations
-for detail retention (adaptive quantization, psy-RD, psy-trellis).
-</p>
-<p>Many libx264 encoder options are mapped to FFmpeg global codec
-options, while unique encoder options are provided through private
-options. Additionally the &lsquo;<samp>x264opts</samp>&rsquo; and &lsquo;<samp>x264-params</samp>&rsquo;
-private options allows to pass a list of key=value tuples as accepted
-by the libx264 <code>x264_param_parse</code> function.
-</p>
-<p>The x264 project website is at
-<a href="http://www.videolan.org/developers/x264.html">http://www.videolan.org/developers/x264.html</a>.
-</p>
-<a name="Options-27"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-27">16.3.1 Options</a></h3>
-
-<p>The following options are supported by the libx264 wrapper. The
-<code>x264</code>-equivalent options or values are listed in parentheses
-for easy migration.
-</p>
-<p>To reduce the duplication of documentation, only the private options
-and some others requiring special attention are documented here. For
-the documentation of the undocumented generic options, see
-<a href="#codec_002doptions">the Codec Options chapter</a>.
-</p>
-<p>To get a more accurate and extensive documentation of the libx264
-options, invoke the command <code>x264 --full-help</code> or consult
-the libx264 documentation.
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>b (<em>bitrate</em>)</samp>&rsquo;</dt>
-<dd><p>Set bitrate in bits/s. Note that FFmpeg&rsquo;s &lsquo;<samp>b</samp>&rsquo; option is
-expressed in bits/s, while <code>x264</code>&rsquo;s &lsquo;<samp>bitrate</samp>&rsquo; is in
-kilobits/s.
-</p>
-</dd>
-<dt> &lsquo;<samp>bf (<em>bframes</em>)</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>g (<em>keyint</em>)</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>qmax (<em>qpmax</em>)</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>qmin (<em>qpmin</em>)</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>qdiff (<em>qpstep</em>)</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>qblur (<em>qblur</em>)</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>qcomp (<em>qcomp</em>)</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>refs (<em>ref</em>)</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>sc_threshold (<em>scenecut</em>)</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>trellis (<em>trellis</em>)</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>nr  (<em>nr</em>)</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>me_range (<em>merange</em>)</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>me_method (<em>me</em>)</samp>&rsquo;</dt>
-<dd><p>Set motion estimation method. Possible values in the decreasing order
-of speed:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>dia (<em>dia</em>)</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>epzs (<em>dia</em>)</samp>&rsquo;</dt>
-<dd><p>Diamond search with radius 1 (fastest). &lsquo;<samp>epzs</samp>&rsquo; is an alias for
-&lsquo;<samp>dia</samp>&rsquo;.
-</p></dd>
-<dt> &lsquo;<samp>hex (<em>hex</em>)</samp>&rsquo;</dt>
-<dd><p>Hexagonal search with radius 2.
-</p></dd>
-<dt> &lsquo;<samp>umh (<em>umh</em>)</samp>&rsquo;</dt>
-<dd><p>Uneven multi-hexagon search.
-</p></dd>
-<dt> &lsquo;<samp>esa (<em>esa</em>)</samp>&rsquo;</dt>
-<dd><p>Exhaustive search.
-</p></dd>
-<dt> &lsquo;<samp>tesa (<em>tesa</em>)</samp>&rsquo;</dt>
-<dd><p>Hadamard exhaustive search (slowest).
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>subq (<em>subme</em>)</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>b_strategy (<em>b-adapt</em>)</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>keyint_min (<em>min-keyint</em>)</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>coder</samp>&rsquo;</dt>
-<dd><p>Set entropy encoder. Possible values:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>ac</samp>&rsquo;</dt>
-<dd><p>Enable CABAC.
-</p>
-</dd>
-<dt> &lsquo;<samp>vlc</samp>&rsquo;</dt>
-<dd><p>Enable CAVLC and disable CABAC. It generates the same effect as
-<code>x264</code>&rsquo;s &lsquo;<samp>--no-cabac</samp>&rsquo; option.
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>cmp</samp>&rsquo;</dt>
-<dd><p>Set full pixel motion estimation comparation algorithm. Possible values:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>chroma</samp>&rsquo;</dt>
-<dd><p>Enable chroma in motion estimation.
-</p>
-</dd>
-<dt> &lsquo;<samp>sad</samp>&rsquo;</dt>
-<dd><p>Ignore chroma in motion estimation. It generates the same effect as
-<code>x264</code>&rsquo;s &lsquo;<samp>--no-chroma-me</samp>&rsquo; option.
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>threads (<em>threads</em>)</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>thread_type</samp>&rsquo;</dt>
-<dd><p>Set multithreading technique. Possible values:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>slice</samp>&rsquo;</dt>
-<dd><p>Slice-based multithreading. It generates the same effect as
-<code>x264</code>&rsquo;s &lsquo;<samp>--sliced-threads</samp>&rsquo; option.
-</p></dd>
-<dt> &lsquo;<samp>frame</samp>&rsquo;</dt>
-<dd><p>Frame-based multithreading.
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>flags</samp>&rsquo;</dt>
-<dd><p>Set encoding flags. It can be used to disable closed GOP and enable
-open GOP by setting it to <code>-cgop</code>. The result is similar to
-the behavior of <code>x264</code>&rsquo;s &lsquo;<samp>--open-gop</samp>&rsquo; option.
-</p>
-</dd>
-<dt> &lsquo;<samp>rc_init_occupancy (<em>vbv-init</em>)</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>preset (<em>preset</em>)</samp>&rsquo;</dt>
-<dd><p>Set the encoding preset.
-</p>
-</dd>
-<dt> &lsquo;<samp>tune (<em>tune</em>)</samp>&rsquo;</dt>
-<dd><p>Set tuning of the encoding params.
-</p>
-</dd>
-<dt> &lsquo;<samp>profile (<em>profile</em>)</samp>&rsquo;</dt>
-<dd><p>Set profile restrictions.
-</p>
-</dd>
-<dt> &lsquo;<samp>fastfirstpass</samp>&rsquo;</dt>
-<dd><p>Enable fast settings when encoding first pass, when set to 1. When set
-to 0, it has the same effect of <code>x264</code>&rsquo;s
-&lsquo;<samp>--slow-firstpass</samp>&rsquo; option.
-</p>
-</dd>
-<dt> &lsquo;<samp>crf (<em>crf</em>)</samp>&rsquo;</dt>
-<dd><p>Set the quality for constant quality mode.
-</p>
-</dd>
-<dt> &lsquo;<samp>crf_max (<em>crf-max</em>)</samp>&rsquo;</dt>
-<dd><p>In CRF mode, prevents VBV from lowering quality beyond this point.
-</p>
-</dd>
-<dt> &lsquo;<samp>qp (<em>qp</em>)</samp>&rsquo;</dt>
-<dd><p>Set constant quantization rate control method parameter.
-</p>
-</dd>
-<dt> &lsquo;<samp>aq-mode (<em>aq-mode</em>)</samp>&rsquo;</dt>
-<dd><p>Set AQ method. Possible values:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>none (<em>0</em>)</samp>&rsquo;</dt>
-<dd><p>Disabled.
-</p>
-</dd>
-<dt> &lsquo;<samp>variance (<em>1</em>)</samp>&rsquo;</dt>
-<dd><p>Variance AQ (complexity mask).
-</p>
-</dd>
-<dt> &lsquo;<samp>autovariance (<em>2</em>)</samp>&rsquo;</dt>
-<dd><p>Auto-variance AQ (experimental).
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>aq-strength (<em>aq-strength</em>)</samp>&rsquo;</dt>
-<dd><p>Set AQ strength, reduce blocking and blurring in flat and textured areas.
-</p>
-</dd>
-<dt> &lsquo;<samp>psy</samp>&rsquo;</dt>
-<dd><p>Use psychovisual optimizations when set to 1. When set to 0, it has the
-same effect as <code>x264</code>&rsquo;s &lsquo;<samp>--no-psy</samp>&rsquo; option.
-</p>
-</dd>
-<dt> &lsquo;<samp>psy-rd  (<em>psy-rd</em>)</samp>&rsquo;</dt>
-<dd><p>Set strength of psychovisual optimization, in
-<var>psy-rd</var>:<var>psy-trellis</var> format.
-</p>
-</dd>
-<dt> &lsquo;<samp>rc-lookahead (<em>rc-lookahead</em>)</samp>&rsquo;</dt>
-<dd><p>Set number of frames to look ahead for frametype and ratecontrol.
-</p>
-</dd>
-<dt> &lsquo;<samp>weightb</samp>&rsquo;</dt>
-<dd><p>Enable weighted prediction for B-frames when set to 1. When set to 0,
-it has the same effect as <code>x264</code>&rsquo;s &lsquo;<samp>--no-weightb</samp>&rsquo; option.
-</p>
-</dd>
-<dt> &lsquo;<samp>weightp (<em>weightp</em>)</samp>&rsquo;</dt>
-<dd><p>Set weighted prediction method for P-frames. Possible values:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>none (<em>0</em>)</samp>&rsquo;</dt>
-<dd><p>Disabled
-</p></dd>
-<dt> &lsquo;<samp>simple (<em>1</em>)</samp>&rsquo;</dt>
-<dd><p>Enable only weighted refs
-</p></dd>
-<dt> &lsquo;<samp>smart (<em>2</em>)</samp>&rsquo;</dt>
-<dd><p>Enable both weighted refs and duplicates
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>ssim (<em>ssim</em>)</samp>&rsquo;</dt>
-<dd><p>Enable calculation and printing SSIM stats after the encoding.
-</p>
-</dd>
-<dt> &lsquo;<samp>intra-refresh (<em>intra-refresh</em>)</samp>&rsquo;</dt>
-<dd><p>Enable the use of Periodic Intra Refresh instead of IDR frames when set
-to 1.
-</p>
-</dd>
-<dt> &lsquo;<samp>bluray-compat (<em>bluray-compat</em>)</samp>&rsquo;</dt>
-<dd><p>Configure the encoder to be compatible with the bluray standard.
-It is a shorthand for setting &quot;bluray-compat=1 force-cfr=1&quot;.
-</p>
-</dd>
-<dt> &lsquo;<samp>b-bias (<em>b-bias</em>)</samp>&rsquo;</dt>
-<dd><p>Set the influence on how often B-frames are used.
-</p>
-</dd>
-<dt> &lsquo;<samp>b-pyramid (<em>b-pyramid</em>)</samp>&rsquo;</dt>
-<dd><p>Set method for keeping of some B-frames as references. Possible values:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>none (<em>none</em>)</samp>&rsquo;</dt>
-<dd><p>Disabled.
-</p></dd>
-<dt> &lsquo;<samp>strict (<em>strict</em>)</samp>&rsquo;</dt>
-<dd><p>Strictly hierarchical pyramid.
-</p></dd>
-<dt> &lsquo;<samp>normal (<em>normal</em>)</samp>&rsquo;</dt>
-<dd><p>Non-strict (not Blu-ray compatible).
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>mixed-refs</samp>&rsquo;</dt>
-<dd><p>Enable the use of one reference per partition, as opposed to one
-reference per macroblock when set to 1. When set to 0, it has the
-same effect as <code>x264</code>&rsquo;s &lsquo;<samp>--no-mixed-refs</samp>&rsquo; option.
-</p>
-</dd>
-<dt> &lsquo;<samp>8x8dct</samp>&rsquo;</dt>
-<dd><p>Enable adaptive spatial transform (high profile 8x8 transform)
-when set to 1. When set to 0, it has the same effect as
-<code>x264</code>&rsquo;s &lsquo;<samp>--no-8x8dct</samp>&rsquo; option.
-</p>
-</dd>
-<dt> &lsquo;<samp>fast-pskip</samp>&rsquo;</dt>
-<dd><p>Enable early SKIP detection on P-frames when set to 1. When set
-to 0, it has the same effect as <code>x264</code>&rsquo;s
-&lsquo;<samp>--no-fast-pskip</samp>&rsquo; option.
-</p>
-</dd>
-<dt> &lsquo;<samp>aud (<em>aud</em>)</samp>&rsquo;</dt>
-<dd><p>Enable use of access unit delimiters when set to 1.
-</p>
-</dd>
-<dt> &lsquo;<samp>mbtree</samp>&rsquo;</dt>
-<dd><p>Enable use macroblock tree ratecontrol when set to 1. When set
-to 0, it has the same effect as <code>x264</code>&rsquo;s
-&lsquo;<samp>--no-mbtree</samp>&rsquo; option.
-</p>
-</dd>
-<dt> &lsquo;<samp>deblock (<em>deblock</em>)</samp>&rsquo;</dt>
-<dd><p>Set loop filter parameters, in <var>alpha</var>:<var>beta</var> form.
-</p>
-</dd>
-<dt> &lsquo;<samp>cplxblur (<em>cplxblur</em>)</samp>&rsquo;</dt>
-<dd><p>Set fluctuations reduction in QP (before curve compression).
-</p>
-</dd>
-<dt> &lsquo;<samp>partitions (<em>partitions</em>)</samp>&rsquo;</dt>
-<dd><p>Set partitions to consider as a comma-separated list of. Possible
-values in the list:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>p8x8</samp>&rsquo;</dt>
-<dd><p>8x8 P-frame partition.
-</p></dd>
-<dt> &lsquo;<samp>p4x4</samp>&rsquo;</dt>
-<dd><p>4x4 P-frame partition.
-</p></dd>
-<dt> &lsquo;<samp>b8x8</samp>&rsquo;</dt>
-<dd><p>4x4 B-frame partition.
-</p></dd>
-<dt> &lsquo;<samp>i8x8</samp>&rsquo;</dt>
-<dd><p>8x8 I-frame partition.
-</p></dd>
-<dt> &lsquo;<samp>i4x4</samp>&rsquo;</dt>
-<dd><p>4x4 I-frame partition.
-(Enabling &lsquo;<samp>p4x4</samp>&rsquo; requires &lsquo;<samp>p8x8</samp>&rsquo; to be enabled. Enabling
-&lsquo;<samp>i8x8</samp>&rsquo; requires adaptive spatial transform (&lsquo;<samp>8x8dct</samp>&rsquo;
-option) to be enabled.)
-</p></dd>
-<dt> &lsquo;<samp>none (<em>none</em>)</samp>&rsquo;</dt>
-<dd><p>Do not consider any partitions.
-</p></dd>
-<dt> &lsquo;<samp>all (<em>all</em>)</samp>&rsquo;</dt>
-<dd><p>Consider every partition.
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>direct-pred (<em>direct</em>)</samp>&rsquo;</dt>
-<dd><p>Set direct MV prediction mode. Possible values:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>none (<em>none</em>)</samp>&rsquo;</dt>
-<dd><p>Disable MV prediction.
-</p></dd>
-<dt> &lsquo;<samp>spatial (<em>spatial</em>)</samp>&rsquo;</dt>
-<dd><p>Enable spatial predicting.
-</p></dd>
-<dt> &lsquo;<samp>temporal (<em>temporal</em>)</samp>&rsquo;</dt>
-<dd><p>Enable temporal predicting.
-</p></dd>
-<dt> &lsquo;<samp>auto (<em>auto</em>)</samp>&rsquo;</dt>
-<dd><p>Automatically decided.
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>slice-max-size (<em>slice-max-size</em>)</samp>&rsquo;</dt>
-<dd><p>Set the limit of the size of each slice in bytes. If not specified
-but RTP payload size (&lsquo;<samp>ps</samp>&rsquo;) is specified, that is used.
-</p>
-</dd>
-<dt> &lsquo;<samp>stats (<em>stats</em>)</samp>&rsquo;</dt>
-<dd><p>Set the file name for multi-pass stats.
-</p>
-</dd>
-<dt> &lsquo;<samp>nal-hrd (<em>nal-hrd</em>)</samp>&rsquo;</dt>
-<dd><p>Set signal HRD information (requires &lsquo;<samp>vbv-bufsize</samp>&rsquo; to be set).
-Possible values:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>none (<em>none</em>)</samp>&rsquo;</dt>
-<dd><p>Disable HRD information signaling.
-</p></dd>
-<dt> &lsquo;<samp>vbr (<em>vbr</em>)</samp>&rsquo;</dt>
-<dd><p>Variable bit rate.
-</p></dd>
-<dt> &lsquo;<samp>cbr (<em>cbr</em>)</samp>&rsquo;</dt>
-<dd><p>Constant bit rate (not allowed in MP4 container).
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>x264opts (N.A.)</samp>&rsquo;</dt>
-<dd><p>Set any x264 option, see <code>x264 --fullhelp</code> for a list.
-</p>
-<p>Argument is a list of <var>key</var>=<var>value</var> couples separated by
-&quot;:&quot;. In <var>filter</var> and <var>psy-rd</var> options that use &quot;:&quot; as a separator
-themselves, use &quot;,&quot; instead. They accept it as well since long ago but this
-is kept undocumented for some reason.
-</p>
-<p>For example to specify libx264 encoding options with <code>ffmpeg</code>:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i foo.mpg -vcodec libx264 -x264opts keyint=123:min-keyint=20 -an out.mkv
-</pre></td></tr></table>
-
-</dd>
-<dt> &lsquo;<samp>x264-params (N.A.)</samp>&rsquo;</dt>
-<dd><p>Override the x264 configuration using a :-separated list of key=value
-parameters.
-</p>
-<p>This option is functionally the same as the &lsquo;<samp>x264opts</samp>&rsquo;, but is
-duplicated for compability with the Libav fork.
-</p>
-<p>For example to specify libx264 encoding options with <code>ffmpeg</code>:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -c:v libx264 -x264-params level=30:bframes=0:weightp=0:\
-cabac=0:ref=1:vbv-maxrate=768:vbv-bufsize=2000:analyse=all:me=umh:\
-no-fast-pskip=1:subq=6:8x8dct=0:trellis=0 OUTPUT
-</pre></td></tr></table>
-</dd>
-</dl>
-
-<p>Encoding ffpresets for common usages are provided so they can be used with the
-general presets system (e.g. passing the &lsquo;<samp>pre</samp>&rsquo; option).
-</p>
-<a name="libxvid"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-libxvid">16.4 libxvid</a></h2>
-
-<p>Xvid MPEG-4 Part 2 encoder wrapper.
-</p>
-<p>This encoder requires the presence of the libxvidcore headers and library
-during configuration. You need to explicitly configure the build with
-<code>--enable-libxvid --enable-gpl</code>.
-</p>
-<p>The native <code>mpeg4</code> encoder supports the MPEG-4 Part 2 format, so
-users can encode to this format without this library.
-</p>
-<a name="Options-19"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-19">16.4.1 Options</a></h3>
-
-<p>The following options are supported by the libxvid wrapper. Some of
-the following options are listed but are not documented, and
-correspond to shared codec options. See <a href="#codec_002doptions">the Codec Options chapter</a> for their documentation. The other shared options
-which are not listed have no effect for the libxvid encoder.
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>b</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>g</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>qmin</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>qmax</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>mpeg_quant</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>threads</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>bf</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>b_qfactor</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>b_qoffset</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>flags</samp>&rsquo;</dt>
-<dd><p>Set specific encoding flags. Possible values:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>mv4</samp>&rsquo;</dt>
-<dd><p>Use four motion vector by macroblock.
-</p>
-</dd>
-<dt> &lsquo;<samp>aic</samp>&rsquo;</dt>
-<dd><p>Enable high quality AC prediction.
-</p>
-</dd>
-<dt> &lsquo;<samp>gray</samp>&rsquo;</dt>
-<dd><p>Only encode grayscale.
-</p>
-</dd>
-<dt> &lsquo;<samp>gmc</samp>&rsquo;</dt>
-<dd><p>Enable the use of global motion compensation (GMC).
-</p>
-</dd>
-<dt> &lsquo;<samp>qpel</samp>&rsquo;</dt>
-<dd><p>Enable quarter-pixel motion compensation.
-</p>
-</dd>
-<dt> &lsquo;<samp>cgop</samp>&rsquo;</dt>
-<dd><p>Enable closed GOP.
-</p>
-</dd>
-<dt> &lsquo;<samp>global_header</samp>&rsquo;</dt>
-<dd><p>Place global headers in extradata instead of every keyframe.
-</p>
-</dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>trellis</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>me_method</samp>&rsquo;</dt>
-<dd><p>Set motion estimation method. Possible values in decreasing order of
-speed and increasing order of quality:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>zero</samp>&rsquo;</dt>
-<dd><p>Use no motion estimation (default).
-</p>
-</dd>
-<dt> &lsquo;<samp>phods</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>x1</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>log</samp>&rsquo;</dt>
-<dd><p>Enable advanced diamond zonal search for 16x16 blocks and half-pixel
-refinement for 16x16 blocks. &lsquo;<samp>x1</samp>&rsquo; and &lsquo;<samp>log</samp>&rsquo; are aliases for
-&lsquo;<samp>phods</samp>&rsquo;.
-</p>
-</dd>
-<dt> &lsquo;<samp>epzs</samp>&rsquo;</dt>
-<dd><p>Enable all of the things described above, plus advanced diamond zonal
-search for 8x8 blocks, half-pixel refinement for 8x8 blocks, and motion
-estimation on chroma planes.
-</p>
-</dd>
-<dt> &lsquo;<samp>full</samp>&rsquo;</dt>
-<dd><p>Enable all of the things described above, plus extended 16x16 and 8x8
-blocks search.
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>mbd</samp>&rsquo;</dt>
-<dd><p>Set macroblock decision algorithm. Possible values in the increasing
-order of quality:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>simple</samp>&rsquo;</dt>
-<dd><p>Use macroblock comparing function algorithm (default).
-</p>
-</dd>
-<dt> &lsquo;<samp>bits</samp>&rsquo;</dt>
-<dd><p>Enable rate distortion-based half pixel and quarter pixel refinement for
-16x16 blocks.
-</p>
-</dd>
-<dt> &lsquo;<samp>rd</samp>&rsquo;</dt>
-<dd><p>Enable all of the things described above, plus rate distortion-based
-half pixel and quarter pixel refinement for 8x8 blocks, and rate
-distortion-based search using square pattern.
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>lumi_aq</samp>&rsquo;</dt>
-<dd><p>Enable lumi masking adaptive quantization when set to 1. Default is 0
-(disabled).
-</p>
-</dd>
-<dt> &lsquo;<samp>variance_aq</samp>&rsquo;</dt>
-<dd><p>Enable variance adaptive quantization when set to 1. Default is 0
-(disabled).
-</p>
-<p>When combined with &lsquo;<samp>lumi_aq</samp>&rsquo;, the resulting quality will not
-be better than any of the two specified individually. In other
-words, the resulting quality will be the worse one of the two
-effects.
-</p>
-</dd>
-<dt> &lsquo;<samp>ssim</samp>&rsquo;</dt>
-<dd><p>Set structural similarity (SSIM) displaying method. Possible values:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>off</samp>&rsquo;</dt>
-<dd><p>Disable displaying of SSIM information.
-</p>
-</dd>
-<dt> &lsquo;<samp>avg</samp>&rsquo;</dt>
-<dd><p>Output average SSIM at the end of encoding to stdout. The format of
-showing the average SSIM is:
-</p>
-<table><tr><td>&nbsp;</td><td><pre class="example">Average SSIM: %f
-</pre></td></tr></table>
-
-<p>For users who are not familiar with C, %f means a float number, or
-a decimal (e.g. 0.939232).
-</p>
-</dd>
-<dt> &lsquo;<samp>frame</samp>&rsquo;</dt>
-<dd><p>Output both per-frame SSIM data during encoding and average SSIM at
-the end of encoding to stdout. The format of per-frame information
-is:
-</p>
-<table><tr><td>&nbsp;</td><td><pre class="example">       SSIM: avg: %1.3f min: %1.3f max: %1.3f
-</pre></td></tr></table>
-
-<p>For users who are not familiar with C, %1.3f means a float number
-rounded to 3 digits after the dot (e.g. 0.932).
-</p>
-</dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>ssim_acc</samp>&rsquo;</dt>
-<dd><p>Set SSIM accuracy. Valid options are integers within the range of
-0-4, while 0 gives the most accurate result and 4 computes the
-fastest.
-</p>
-</dd>
-</dl>
-
-<a name="png"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-png">16.5 png</a></h2>
-
-<p>PNG image encoder.
-</p>
-<a name="Private-options"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Private-options">16.5.1 Private options</a></h3>
-
-<dl compact="compact">
-<dt> &lsquo;<samp>dpi <var>integer</var></samp>&rsquo;</dt>
-<dd><p>Set physical density of pixels, in dots per inch, unset by default
-</p></dd>
-<dt> &lsquo;<samp>dpm <var>integer</var></samp>&rsquo;</dt>
-<dd><p>Set physical density of pixels, in dots per meter, unset by default
-</p></dd>
-</dl>
-
-<a name="ProRes"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-ProRes">16.6 ProRes</a></h2>
-
-<p>Apple ProRes encoder.
-</p>
-<p>FFmpeg contains 2 ProRes encoders, the prores-aw and prores-ks encoder.
-The used encoder can be choosen with the <code>-vcodec</code> option.
-</p>
-<a name="Private-Options-for-prores_002dks"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Private-Options-for-prores_002dks">16.6.1 Private Options for prores-ks</a></h3>
-
-<dl compact="compact">
-<dt> &lsquo;<samp>profile <var>integer</var></samp>&rsquo;</dt>
-<dd><p>Select the ProRes profile to encode
-</p><dl compact="compact">
-<dt> &lsquo;<samp>proxy</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>lt</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>standard</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>hq</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>4444</samp>&rsquo;</dt>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>quant_mat <var>integer</var></samp>&rsquo;</dt>
-<dd><p>Select quantization matrix.
-</p><dl compact="compact">
-<dt> &lsquo;<samp>auto</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>default</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>proxy</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>lt</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>standard</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>hq</samp>&rsquo;</dt>
-</dl>
-<p>If set to <var>auto</var>, the matrix matching the profile will be picked.
-If not set, the matrix providing the highest quality, <var>default</var>, will be
-picked.
-</p>
-</dd>
-<dt> &lsquo;<samp>bits_per_mb <var>integer</var></samp>&rsquo;</dt>
-<dd><p>How many bits to allot for coding one macroblock. Different profiles use
-between 200 and 2400 bits per macroblock, the maximum is 8000.
-</p>
-</dd>
-<dt> &lsquo;<samp>mbs_per_slice <var>integer</var></samp>&rsquo;</dt>
-<dd><p>Number of macroblocks in each slice (1-8); the default value (8)
-should be good in almost all situations.
-</p>
-</dd>
-<dt> &lsquo;<samp>vendor <var>string</var></samp>&rsquo;</dt>
-<dd><p>Override the 4-byte vendor ID.
-A custom vendor ID like <var>apl0</var> would claim the stream was produced by
-the Apple encoder.
-</p>
-</dd>
-<dt> &lsquo;<samp>alpha_bits <var>integer</var></samp>&rsquo;</dt>
-<dd><p>Specify number of bits for alpha component.
-Possible values are <var>0</var>, <var>8</var> and <var>16</var>.
-Use <var>0</var> to disable alpha plane coding.
-</p>
-</dd>
-</dl>
-
-<a name="Speed-considerations"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Speed-considerations">16.6.2 Speed considerations</a></h3>
-
-<p>In the default mode of operation the encoder has to honor frame constraints
-(i.e. not produc frames with size bigger than requested) while still making
-output picture as good as possible.
-A frame containing a lot of small details is harder to compress and the encoder
-would spend more time searching for appropriate quantizers for each slice.
-</p>
-<p>Setting a higher &lsquo;<samp>bits_per_mb</samp>&rsquo; limit will improve the speed.
-</p>
-<p>For the fastest encoding speed set the &lsquo;<samp>qscale</samp>&rsquo; parameter (4 is the
-recommended value) and do not set a size constraint.
-</p>
-<a name="Bitstream-Filters"></a>
-<h1 class="chapter"><a href="ffprobe-all.html#toc-Bitstream-Filters">17. Bitstream Filters</a></h1>
-
-<p>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</code>.
-</p>
-<p>You can disable all the bitstream filters using the configure option
-<code>--disable-bsfs</code>, and selectively enable any bitstream filter using
-the option <code>--enable-bsf=BSF</code>, or you can disable a particular
-bitstream filter using the option <code>--disable-bsf=BSF</code>.
-</p>
-<p>The option <code>-bsfs</code> of the ff* tools will display the list of
-all the supported bitstream filters included in your build.
-</p>
-<p>Below is a description of the currently available bitstream filters.
-</p>
-<a name="aac_005fadtstoasc"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-aac_005fadtstoasc">17.1 aac_adtstoasc</a></h2>
-
-<p>Convert MPEG-2/4 AAC ADTS to MPEG-4 Audio Specific Configuration
-bitstream filter.
-</p>
-<p>This filter creates an MPEG-4 AudioSpecificConfig from an MPEG-2/4
-ADTS header and removes the ADTS header.
-</p>
-<p>This is required for example when copying an AAC stream from a raw
-ADTS AAC container to a FLV or a MOV/MP4 file.
-</p>
-<a name="chomp"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-chomp">17.2 chomp</a></h2>
-
-<p>Remove zero padding at the end of a packet.
-</p>
-<a name="dump_005fextra"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-dump_005fextra">17.3 dump_extra</a></h2>
-
-<p>Add extradata to the beginning of the filtered packets.
-</p>
-<p>The additional argument specifies which packets should be filtered.
-It accepts the values:
-</p><dl compact="compact">
-<dt> &lsquo;<samp>a</samp>&rsquo;</dt>
-<dd><p>add extradata to all key packets, but only if <var>local_header</var> is
-set in the &lsquo;<samp>flags2</samp>&rsquo; codec context field
-</p>
-</dd>
-<dt> &lsquo;<samp>k</samp>&rsquo;</dt>
-<dd><p>add extradata to all key packets
-</p>
-</dd>
-<dt> &lsquo;<samp>e</samp>&rsquo;</dt>
-<dd><p>add extradata to all packets
-</p></dd>
-</dl>
-
-<p>If not specified it is assumed &lsquo;<samp>k</samp>&rsquo;.
-</p>
-<p>For example the following <code>ffmpeg</code> command forces a global
-header (thus disabling individual packet headers) in the H.264 packets
-generated by the <code>libx264</code> encoder, but corrects them by adding
-the header stored in extradata to the key packets:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -map 0 -flags:v +global_header -c:v libx264 -bsf:v dump_extra out.ts
-</pre></td></tr></table>
-
-<a name="h264_005fmp4toannexb"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-h264_005fmp4toannexb">17.4 h264_mp4toannexb</a></h2>
-
-<p>Convert an H.264 bitstream from length prefixed mode to start code
-prefixed mode (as defined in the Annex B of the ITU-T H.264
-specification).
-</p>
-<p>This is required by some streaming formats, typically the MPEG-2
-transport stream format (&quot;mpegts&quot;).
-</p>
-<p>For example to remux an MP4 file containing an H.264 stream to mpegts
-format with <code>ffmpeg</code>, you can use the command:
-</p>
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT.mp4 -codec copy -bsf:v h264_mp4toannexb OUTPUT.ts
-</pre></td></tr></table>
-
-<a name="imx_005fdump_005fheader"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-imx_005fdump_005fheader">17.5 imx_dump_header</a></h2>
-
-<a name="mjpeg2jpeg"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-mjpeg2jpeg">17.6 mjpeg2jpeg</a></h2>
-
-<p>Convert MJPEG/AVI1 packets to full JPEG/JFIF packets.
-</p>
-<p>MJPEG is a video codec wherein each video frame is essentially a
-JPEG image. The individual frames can be extracted without loss,
-e.g. by
-</p>
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i ../some_mjpeg.avi -c:v copy frames_%d.jpg
-</pre></td></tr></table>
-
-<p>Unfortunately, these chunks are incomplete JPEG images, because
-they lack the DHT segment required for decoding. Quoting from
-<a href="http://www.digitalpreservation.gov/formats/fdd/fdd000063.shtml">http://www.digitalpreservation.gov/formats/fdd/fdd000063.shtml</a>:
-</p>
-<p>Avery Lee, writing in the rec.video.desktop newsgroup in 2001,
-commented that &quot;MJPEG, or at least the MJPEG in AVIs having the
-MJPG fourcc, is restricted JPEG with a fixed &ndash; and *omitted* &ndash;
-Huffman table. The JPEG must be YCbCr colorspace, it must be 4:2:2,
-and it must use basic Huffman encoding, not arithmetic or
-progressive. . . . You can indeed extract the MJPEG frames and
-decode them with a regular JPEG decoder, but you have to prepend
-the DHT segment to them, or else the decoder won&rsquo;t have any idea
-how to decompress the data. The exact table necessary is given in
-the OpenDML spec.&quot;
-</p>
-<p>This bitstream filter patches the header of frames extracted from an MJPEG
-stream (carrying the AVI1 header ID and lacking a DHT segment) to
-produce fully qualified JPEG images.
-</p>
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i mjpeg-movie.avi -c:v copy -bsf:v mjpeg2jpeg frame_%d.jpg
-exiftran -i -9 frame*.jpg
-ffmpeg -i frame_%d.jpg -c:v copy rotated.avi
-</pre></td></tr></table>
-
-<a name="mjpega_005fdump_005fheader"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-mjpega_005fdump_005fheader">17.7 mjpega_dump_header</a></h2>
-
-<a name="movsub"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-movsub">17.8 movsub</a></h2>
-
-<a name="mp3_005fheader_005fdecompress"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-mp3_005fheader_005fdecompress">17.9 mp3_header_decompress</a></h2>
-
-<a name="noise"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-noise">17.10 noise</a></h2>
-
-<a name="remove_005fextra"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-remove_005fextra">17.11 remove_extra</a></h2>
-
-<a name="Format-Options"></a>
-<h1 class="chapter"><a href="ffprobe-all.html#toc-Format-Options">18. Format Options</a></h1>
-
-<p>The libavformat library provides some generic global options, which
-can be set on all the muxers and demuxers. In addition each muxer or
-demuxer may support so-called private options, which are specific for
-that component.
-</p>
-<p>Options may be set by specifying -<var>option</var> <var>value</var> in the
-FFmpeg tools, or by setting the value explicitly in the
-<code>AVFormatContext</code> options or using the &lsquo;<tt>libavutil/opt.h</tt>&rsquo; API
-for programmatic use.
-</p>
-<p>The list of supported options follows:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>avioflags <var>flags</var> (<em>input/output</em>)</samp>&rsquo;</dt>
-<dd><p>Possible values:
-</p><dl compact="compact">
-<dt> &lsquo;<samp>direct</samp>&rsquo;</dt>
-<dd><p>Reduce buffering.
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>probesize <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
-<dd><p>Set probing size in bytes, i.e. the size of the data to analyze to get
-stream information. A higher value will allow to detect more
-information in case it is dispersed into the stream, but will increase
-latency. Must be an integer not lesser than 32. It is 5000000 by default.
-</p>
-</dd>
-<dt> &lsquo;<samp>packetsize <var>integer</var> (<em>output</em>)</samp>&rsquo;</dt>
-<dd><p>Set packet size.
-</p>
-</dd>
-<dt> &lsquo;<samp>fflags <var>flags</var> (<em>input/output</em>)</samp>&rsquo;</dt>
-<dd><p>Set format flags.
-</p>
-<p>Possible values:
-</p><dl compact="compact">
-<dt> &lsquo;<samp>ignidx</samp>&rsquo;</dt>
-<dd><p>Ignore index.
-</p></dd>
-<dt> &lsquo;<samp>genpts</samp>&rsquo;</dt>
-<dd><p>Generate PTS.
-</p></dd>
-<dt> &lsquo;<samp>nofillin</samp>&rsquo;</dt>
-<dd><p>Do not fill in missing values that can be exactly calculated.
-</p></dd>
-<dt> &lsquo;<samp>noparse</samp>&rsquo;</dt>
-<dd><p>Disable AVParsers, this needs <code>+nofillin</code> too.
-</p></dd>
-<dt> &lsquo;<samp>igndts</samp>&rsquo;</dt>
-<dd><p>Ignore DTS.
-</p></dd>
-<dt> &lsquo;<samp>discardcorrupt</samp>&rsquo;</dt>
-<dd><p>Discard corrupted frames.
-</p></dd>
-<dt> &lsquo;<samp>sortdts</samp>&rsquo;</dt>
-<dd><p>Try to interleave output packets by DTS.
-</p></dd>
-<dt> &lsquo;<samp>keepside</samp>&rsquo;</dt>
-<dd><p>Do not merge side data.
-</p></dd>
-<dt> &lsquo;<samp>latm</samp>&rsquo;</dt>
-<dd><p>Enable RTP MP4A-LATM payload.
-</p></dd>
-<dt> &lsquo;<samp>nobuffer</samp>&rsquo;</dt>
-<dd><p>Reduce the latency introduced by optional buffering
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>seek2any <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
-<dd><p>Allow seeking to non-keyframes on demuxer level when supported if set to 1.
-Default is 0.
-</p>
-</dd>
-<dt> &lsquo;<samp>analyzeduration <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
-<dd><p>Specify how many microseconds are analyzed to probe the input. A
-higher value will allow to detect more accurate information, but will
-increase latency. It defaults to 5,000,000 microseconds = 5 seconds.
-</p>
-</dd>
-<dt> &lsquo;<samp>cryptokey <var>hexadecimal string</var> (<em>input</em>)</samp>&rsquo;</dt>
-<dd><p>Set decryption key.
-</p>
-</dd>
-<dt> &lsquo;<samp>indexmem <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
-<dd><p>Set max memory used for timestamp index (per stream).
-</p>
-</dd>
-<dt> &lsquo;<samp>rtbufsize <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
-<dd><p>Set max memory used for buffering real-time frames.
-</p>
-</dd>
-<dt> &lsquo;<samp>fdebug <var>flags</var> (<em>input/output</em>)</samp>&rsquo;</dt>
-<dd><p>Print specific debug info.
-</p>
-<p>Possible values:
-</p><dl compact="compact">
-<dt> &lsquo;<samp>ts</samp>&rsquo;</dt>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>max_delay <var>integer</var> (<em>input/output</em>)</samp>&rsquo;</dt>
-<dd><p>Set maximum muxing or demuxing delay in microseconds.
-</p>
-</dd>
-<dt> &lsquo;<samp>fpsprobesize <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
-<dd><p>Set number of frames used to probe fps.
-</p>
-</dd>
-<dt> &lsquo;<samp>audio_preload <var>integer</var> (<em>output</em>)</samp>&rsquo;</dt>
-<dd><p>Set microseconds by which audio packets should be interleaved earlier.
-</p>
-</dd>
-<dt> &lsquo;<samp>chunk_duration <var>integer</var> (<em>output</em>)</samp>&rsquo;</dt>
-<dd><p>Set microseconds for each chunk.
-</p>
-</dd>
-<dt> &lsquo;<samp>chunk_size <var>integer</var> (<em>output</em>)</samp>&rsquo;</dt>
-<dd><p>Set size in bytes for each chunk.
-</p>
-</dd>
-<dt> &lsquo;<samp>err_detect, f_err_detect <var>flags</var> (<em>input</em>)</samp>&rsquo;</dt>
-<dd><p>Set error detection flags. <code>f_err_detect</code> is deprecated and
-should be used only via the <code>ffmpeg</code> tool.
-</p>
-<p>Possible values:
-</p><dl compact="compact">
-<dt> &lsquo;<samp>crccheck</samp>&rsquo;</dt>
-<dd><p>Verify embedded CRCs.
-</p></dd>
-<dt> &lsquo;<samp>bitstream</samp>&rsquo;</dt>
-<dd><p>Detect bitstream specification deviations.
-</p></dd>
-<dt> &lsquo;<samp>buffer</samp>&rsquo;</dt>
-<dd><p>Detect improper bitstream length.
-</p></dd>
-<dt> &lsquo;<samp>explode</samp>&rsquo;</dt>
-<dd><p>Abort decoding on minor error detection.
-</p></dd>
-<dt> &lsquo;<samp>careful</samp>&rsquo;</dt>
-<dd><p>Consider things that violate the spec and have not been seen in the
-wild as errors.
-</p></dd>
-<dt> &lsquo;<samp>compliant</samp>&rsquo;</dt>
-<dd><p>Consider all spec non compliancies as errors.
-</p></dd>
-<dt> &lsquo;<samp>aggressive</samp>&rsquo;</dt>
-<dd><p>Consider things that a sane encoder should not do as an error.
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>use_wallclock_as_timestamps <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
-<dd><p>Use wallclock as timestamps.
-</p>
-</dd>
-<dt> &lsquo;<samp>avoid_negative_ts <var>integer</var> (<em>output</em>)</samp>&rsquo;</dt>
-<dd><p>Shift timestamps to make them non-negative. A value of 1 enables shifting,
-a value of 0 disables it, the default value of -1 enables shifting
-when required by the target format.
-</p>
-<p>When shifting is enabled, all output timestamps are shifted by the
-same amount. Audio, video, and subtitles desynching and relative
-timestamp differences are preserved compared to how they would have
-been without shifting.
-</p>
-<p>Also note that this affects only leading negative timestamps, and not
-non-monotonic negative timestamps.
-</p>
-</dd>
-<dt> &lsquo;<samp>skip_initial_bytes <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
-<dd><p>Set number of bytes to skip before reading header and frames if set to 1.
-Default is 0.
-</p>
-</dd>
-<dt> &lsquo;<samp>correct_ts_overflow <var>integer</var> (<em>input</em>)</samp>&rsquo;</dt>
-<dd><p>Correct single timestamp overflows if set to 1. Default is 1.
-</p>
-</dd>
-<dt> &lsquo;<samp>flush_packets <var>integer</var> (<em>output</em>)</samp>&rsquo;</dt>
-<dd><p>Flush the underlying I/O stream after each packet. Default 1 enables it, and
-has the effect of reducing the latency; 0 disables it and may slightly
-increase performance in some cases.
-</p></dd>
-</dl>
-
-
-<p><a name="Format-stream-specifiers"></a>
-</p><a name="Format-stream-specifiers-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-Format-stream-specifiers-1">18.1 Format stream specifiers</a></h2>
-
-<p>Format stream specifiers allow selection of one or more streams that
-match specific properties.
-</p>
-<p>Possible forms of stream specifiers are:
-</p><dl compact="compact">
-<dt> &lsquo;<samp><var>stream_index</var></samp>&rsquo;</dt>
-<dd><p>Matches the stream with this index.
-</p>
-</dd>
-<dt> &lsquo;<samp><var>stream_type</var>[:<var>stream_index</var>]</samp>&rsquo;</dt>
-<dd><p><var>stream_type</var> is one of following: &rsquo;v&rsquo; for video, &rsquo;a&rsquo; for audio,
-&rsquo;s&rsquo; for subtitle, &rsquo;d&rsquo; for data, and &rsquo;t&rsquo; for attachments. If
-<var>stream_index</var> is given, then it matches the stream number
-<var>stream_index</var> of this type. Otherwise, it matches all streams of
-this type.
-</p>
-</dd>
-<dt> &lsquo;<samp>p:<var>program_id</var>[:<var>stream_index</var>]</samp>&rsquo;</dt>
-<dd><p>If <var>stream_index</var> is given, then it matches the stream with number
-<var>stream_index</var> in the program with the id
-<var>program_id</var>. Otherwise, it matches all streams in the program.
-</p>
-</dd>
-<dt> &lsquo;<samp>#<var>stream_id</var></samp>&rsquo;</dt>
-<dd><p>Matches the stream by a format-specific ID.
-</p></dd>
-</dl>
-
-<p>The exact semantics of stream specifiers is defined by the
-<code>avformat_match_stream_specifier()</code> function declared in the
-&lsquo;<tt>libavformat/avformat.h</tt>&rsquo; header.
-</p>
-<a name="Demuxers"></a>
-<h1 class="chapter"><a href="ffprobe-all.html#toc-Demuxers">19. Demuxers</a></h1>
-
-<p>Demuxers are configured elements in FFmpeg that can read the
-multimedia streams from a particular type of file.
-</p>
-<p>When you configure your FFmpeg build, all the supported demuxers
-are enabled by default. You can list all available ones using the
-configure option <code>--list-demuxers</code>.
-</p>
-<p>You can disable all the demuxers using the configure option
-<code>--disable-demuxers</code>, and selectively enable a single demuxer with
-the option <code>--enable-demuxer=<var>DEMUXER</var></code>, or disable it
-with the option <code>--disable-demuxer=<var>DEMUXER</var></code>.
-</p>
-<p>The option <code>-formats</code> of the ff* tools will display the list of
-enabled demuxers.
-</p>
-<p>The description of some of the currently available demuxers follows.
-</p>
-<a name="applehttp"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-applehttp">19.1 applehttp</a></h2>
-
-<p>Apple HTTP Live Streaming demuxer.
-</p>
-<p>This demuxer presents all AVStreams from all variant streams.
-The id field is set to the bitrate variant index number. By setting
-the discard flags on AVStreams (by pressing &rsquo;a&rsquo; or &rsquo;v&rsquo; in ffplay),
-the caller can decide which variant streams to actually receive.
-The total bitrate of the variant that the stream belongs to is
-available in a metadata key named &quot;variant_bitrate&quot;.
-</p>
-<a name="asf"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-asf">19.2 asf</a></h2>
-
-<p>Advanced Systems Format demuxer.
-</p>
-<p>This demuxer is used to demux ASF files and MMS network streams.
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>-no_resync_search <var>bool</var></samp>&rsquo;</dt>
-<dd><p>Do not try to resynchronize by looking for a certain optional start code.
-</p></dd>
-</dl>
-
-<p><a name="concat"></a>
-</p><a name="concat-2"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-concat-2">19.3 concat</a></h2>
-
-<p>Virtual concatenation script demuxer.
-</p>
-<p>This demuxer reads a list of files and other directives from a text file and
-demuxes them one after the other, as if all their packet had been muxed
-together.
-</p>
-<p>The timestamps in the files are adjusted so that the first file starts at 0
-and each next file starts where the previous one finishes. Note that it is
-done globally and may cause gaps if all streams do not have exactly the same
-length.
-</p>
-<p>All files must have the same streams (same codecs, same time base, etc.).
-</p>
-<p>The duration of each file is used to adjust the timestamps of the next file:
-if the duration is incorrect (because it was computed using the bit-rate or
-because the file is truncated, for example), it can cause artifacts. The
-<code>duration</code> directive can be used to override the duration stored in
-each file.
-</p>
-<a name="Syntax-2"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Syntax-2">19.3.1 Syntax</a></h3>
-
-<p>The script is a text file in extended-ASCII, with one directive per line.
-Empty lines, leading spaces and lines starting with &rsquo;#&rsquo; are ignored. The
-following directive is recognized:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp><code>file <var>path</var></code></samp>&rsquo;</dt>
-<dd><p>Path to a file to read; special characters and spaces must be escaped with
-backslash or single quotes.
-</p>
-<p>All subsequent directives apply to that file.
-</p>
-</dd>
-<dt> &lsquo;<samp><code>ffconcat version 1.0</code></samp>&rsquo;</dt>
-<dd><p>Identify the script type and version. It also sets the &lsquo;<samp>safe</samp>&rsquo; option
-to 1 if it was to its default -1.
-</p>
-<p>To make FFmpeg recognize the format automatically, this directive must
-appears exactly as is (no extra space or byte-order-mark) on the very first
-line of the script.
-</p>
-</dd>
-<dt> &lsquo;<samp><code>duration <var>dur</var></code></samp>&rsquo;</dt>
-<dd><p>Duration of the file. This information can be specified from the file;
-specifying it here may be more efficient or help if the information from the
-file is not available or accurate.
-</p>
-<p>If the duration is set for all files, then it is possible to seek in the
-whole concatenated video.
-</p>
-</dd>
-</dl>
-
-<a name="Options-14"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-14">19.3.2 Options</a></h3>
-
-<p>This demuxer accepts the following option:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>safe</samp>&rsquo;</dt>
-<dd><p>If set to 1, reject unsafe file paths. A file path is considered safe if it
-does not contain a protocol specification and is relative and all components
-only contain characters from the portable character set (letters, digits,
-period, underscore and hyphen) and have no period at the beginning of a
-component.
-</p>
-<p>If set to 0, any file name is accepted.
-</p>
-<p>The default is -1, it is equivalent to 1 if the format was automatically
-probed and 0 otherwise.
-</p>
-</dd>
-</dl>
-
-<a name="flv"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-flv">19.4 flv</a></h2>
-
-<p>Adobe Flash Video Format demuxer.
-</p>
-<p>This demuxer is used to demux FLV files and RTMP network streams.
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>-flv_metadata <var>bool</var></samp>&rsquo;</dt>
-<dd><p>Allocate the streams according to the onMetaData array content.
-</p></dd>
-</dl>
-
-<a name="libgme"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-libgme">19.5 libgme</a></h2>
-
-<p>The Game Music Emu library is a collection of video game music file emulators.
-</p>
-<p>See <a href="http://code.google.com/p/game-music-emu/">http://code.google.com/p/game-music-emu/</a> for more information.
-</p>
-<p>Some files have multiple tracks. The demuxer will pick the first track by
-default. The &lsquo;<samp>track_index</samp>&rsquo; option can be used to select a different
-track. Track indexes start at 0. The demuxer exports the number of tracks as
-<var>tracks</var> meta data entry.
-</p>
-<p>For very large files, the &lsquo;<samp>max_size</samp>&rsquo; option may have to be adjusted.
-</p>
-<a name="libquvi"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-libquvi">19.6 libquvi</a></h2>
-
-<p>Play media from Internet services using the quvi project.
-</p>
-<p>The demuxer accepts a &lsquo;<samp>format</samp>&rsquo; option to request a specific quality. It
-is by default set to <var>best</var>.
-</p>
-<p>See <a href="http://quvi.sourceforge.net/">http://quvi.sourceforge.net/</a> for more information.
-</p>
-<p>FFmpeg needs to be built with <code>--enable-libquvi</code> for this demuxer to be
-enabled.
-</p>
-<a name="image2-2"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-image2-2">19.7 image2</a></h2>
-
-<p>Image file demuxer.
-</p>
-<p>This demuxer reads from a list of image files specified by a pattern.
-The syntax and meaning of the pattern is specified by the
-option <var>pattern_type</var>.
-</p>
-<p>The pattern may contain a suffix which is used to automatically
-determine the format of the images contained in the files.
-</p>
-<p>The size, the pixel format, and the format of each image must be the
-same for all the files in the sequence.
-</p>
-<p>This demuxer accepts the following options:
-</p><dl compact="compact">
-<dt> &lsquo;<samp>framerate</samp>&rsquo;</dt>
-<dd><p>Set the frame rate for the video stream. It defaults to 25.
-</p></dd>
-<dt> &lsquo;<samp>loop</samp>&rsquo;</dt>
-<dd><p>If set to 1, loop over the input. Default value is 0.
-</p></dd>
-<dt> &lsquo;<samp>pattern_type</samp>&rsquo;</dt>
-<dd><p>Select the pattern type used to interpret the provided filename.
-</p>
-<p><var>pattern_type</var> accepts one of the following values.
-</p><dl compact="compact">
-<dt> &lsquo;<samp>sequence</samp>&rsquo;</dt>
-<dd><p>Select a sequence pattern type, used to specify a sequence of files
-indexed by sequential numbers.
-</p>
-<p>A sequence pattern may contain the string &quot;%d&quot; or &quot;%0<var>N</var>d&quot;, which
-specifies the position of the characters representing a sequential
-number in each filename matched by the pattern. If the form
-&quot;%d0<var>N</var>d&quot; is used, the string representing the number in each
-filename is 0-padded and <var>N</var> is the total number of 0-padded
-digits representing the number. The literal character &rsquo;%&rsquo; can be
-specified in the pattern with the string &quot;%%&quot;.
-</p>
-<p>If the sequence pattern contains &quot;%d&quot; or &quot;%0<var>N</var>d&quot;, the first filename of
-the file list specified by the pattern must contain a number
-inclusively contained between <var>start_number</var> and
-<var>start_number</var>+<var>start_number_range</var>-1, and all the following
-numbers must be sequential.
-</p>
-<p>For example the pattern &quot;img-%03d.bmp&quot; will match a sequence of
-filenames of the form &lsquo;<tt>img-001.bmp</tt>&rsquo;, &lsquo;<tt>img-002.bmp</tt>&rsquo;, ...,
-&lsquo;<tt>img-010.bmp</tt>&rsquo;, etc.; the pattern &quot;i%%m%%g-%d.jpg&quot; will match a
-sequence of filenames of the form &lsquo;<tt>i%m%g-1.jpg</tt>&rsquo;,
-&lsquo;<tt>i%m%g-2.jpg</tt>&rsquo;, ..., &lsquo;<tt>i%m%g-10.jpg</tt>&rsquo;, etc.
-</p>
-<p>Note that the pattern must not necessarily contain &quot;%d&quot; or
-&quot;%0<var>N</var>d&quot;, for example to convert a single image file
-&lsquo;<tt>img.jpeg</tt>&rsquo; you can employ the command:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i img.jpeg img.png
-</pre></td></tr></table>
-
-</dd>
-<dt> &lsquo;<samp>glob</samp>&rsquo;</dt>
-<dd><p>Select a glob wildcard pattern type.
-</p>
-<p>The pattern is interpreted like a <code>glob()</code> pattern. This is only
-selectable if libavformat was compiled with globbing support.
-</p>
-</dd>
-<dt> &lsquo;<samp>glob_sequence <em>(deprecated, will be removed)</em></samp>&rsquo;</dt>
-<dd><p>Select a mixed glob wildcard/sequence pattern.
-</p>
-<p>If your version of libavformat was compiled with globbing support, and
-the provided pattern contains at least one glob meta character among
-<code>%*?[]{}</code> that is preceded by an unescaped &quot;%&quot;, the pattern is
-interpreted like a <code>glob()</code> pattern, otherwise it is interpreted
-like a sequence pattern.
-</p>
-<p>All glob special characters <code>%*?[]{}</code> must be prefixed
-with &quot;%&quot;. To escape a literal &quot;%&quot; you shall use &quot;%%&quot;.
-</p>
-<p>For example the pattern <code>foo-%*.jpeg</code> will match all the
-filenames prefixed by &quot;foo-&quot; and terminating with &quot;.jpeg&quot;, and
-<code>foo-%?%?%?.jpeg</code> will match all the filenames prefixed with
-&quot;foo-&quot;, followed by a sequence of three characters, and terminating
-with &quot;.jpeg&quot;.
-</p>
-<p>This pattern type is deprecated in favor of <var>glob</var> and
-<var>sequence</var>.
-</p></dd>
-</dl>
-
-<p>Default value is <var>glob_sequence</var>.
-</p></dd>
-<dt> &lsquo;<samp>pixel_format</samp>&rsquo;</dt>
-<dd><p>Set the pixel format of the images to read. If not specified the pixel
-format is guessed from the first image file in the sequence.
-</p></dd>
-<dt> &lsquo;<samp>start_number</samp>&rsquo;</dt>
-<dd><p>Set the index of the file matched by the image file pattern to start
-to read from. Default value is 0.
-</p></dd>
-<dt> &lsquo;<samp>start_number_range</samp>&rsquo;</dt>
-<dd><p>Set the index interval range to check when looking for the first image
-file in the sequence, starting from <var>start_number</var>. Default value
-is 5.
-</p></dd>
-<dt> &lsquo;<samp>ts_from_file</samp>&rsquo;</dt>
-<dd><p>If set to 1, will set frame timestamp to modification time of image file. Note
-that monotonity of timestamps is not provided: images go in the same order as
-without this option. Default value is 0.
-</p></dd>
-<dt> &lsquo;<samp>video_size</samp>&rsquo;</dt>
-<dd><p>Set the video size of the images to read. If not specified the video
-size is guessed from the first image file in the sequence.
-</p></dd>
-</dl>
-
-<a name="Examples-83"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-83">19.7.1 Examples</a></h3>
-
-<ul>
-<li>
-Use <code>ffmpeg</code> for creating a video from the images in the file
-sequence &lsquo;<tt>img-001.jpeg</tt>&rsquo;, &lsquo;<tt>img-002.jpeg</tt>&rsquo;, ..., assuming an
-input frame rate of 10 frames per second:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -framerate 10 -i 'img-%03d.jpeg' out.mkv
-</pre></td></tr></table>
-
-</li><li>
-As above, but start by reading from a file with index 100 in the sequence:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -framerate 10 -start_number 100 -i 'img-%03d.jpeg' out.mkv
-</pre></td></tr></table>
-
-</li><li>
-Read images matching the &quot;*.png&quot; glob pattern , that is all the files
-terminating with the &quot;.png&quot; suffix:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -framerate 10 -pattern_type glob -i &quot;*.png&quot; out.mkv
-</pre></td></tr></table>
-</li></ul>
-
-<a name="mpegts"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-mpegts">19.8 mpegts</a></h2>
-
-<p>MPEG-2 transport stream demuxer.
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>fix_teletext_pts</samp>&rsquo;</dt>
-<dd><p>Overrides teletext packet PTS and DTS values with the timestamps calculated
-from the PCR of the first program which the teletext stream is part of and is
-not discarded. Default value is 1, set this option to 0 if you want your
-teletext packet PTS and DTS values untouched.
-</p></dd>
-</dl>
-
-<a name="rawvideo-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-rawvideo-1">19.9 rawvideo</a></h2>
-
-<p>Raw video demuxer.
-</p>
-<p>This demuxer allows to read raw video data. Since there is no header
-specifying the assumed video parameters, the user must specify them
-in order to be able to decode the data correctly.
-</p>
-<p>This demuxer accepts the following options:
-</p><dl compact="compact">
-<dt> &lsquo;<samp>framerate</samp>&rsquo;</dt>
-<dd><p>Set input video frame rate. Default value is 25.
-</p>
-</dd>
-<dt> &lsquo;<samp>pixel_format</samp>&rsquo;</dt>
-<dd><p>Set the input video pixel format. Default value is <code>yuv420p</code>.
-</p>
-</dd>
-<dt> &lsquo;<samp>video_size</samp>&rsquo;</dt>
-<dd><p>Set the input video size. This value must be specified explicitly.
-</p></dd>
-</dl>
-
-<p>For example to read a rawvideo file &lsquo;<tt>input.raw</tt>&rsquo; with
-<code>ffplay</code>, assuming a pixel format of <code>rgb24</code>, a video
-size of <code>320x240</code>, and a frame rate of 10 images per second, use
-the command:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffplay -f rawvideo -pixel_format rgb24 -video_size 320x240 -framerate 10 input.raw
-</pre></td></tr></table>
-
-<a name="sbg"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-sbg">19.10 sbg</a></h2>
-
-<p>SBaGen script demuxer.
-</p>
-<p>This demuxer reads the script language used by SBaGen
-<a href="http://uazu.net/sbagen/">http://uazu.net/sbagen/</a> to generate binaural beats sessions. A SBG
-script looks like that:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">-SE
-a: 300-2.5/3 440+4.5/0
-b: 300-2.5/0 440+4.5/3
-off: -
-NOW      == a
-+0:07:00 == b
-+0:14:00 == a
-+0:21:00 == b
-+0:30:00    off
-</pre></td></tr></table>
-
-<p>A SBG script can mix absolute and relative timestamps. If the script uses
-either only absolute timestamps (including the script start time) or only
-relative ones, then its layout is fixed, and the conversion is
-straightforward. On the other hand, if the script mixes both kind of
-timestamps, then the <var>NOW</var> reference for relative timestamps will be
-taken from the current time of day at the time the script is read, and the
-script layout will be frozen according to that reference. That means that if
-the script is directly played, the actual times will match the absolute
-timestamps up to the sound controller&rsquo;s clock accuracy, but if the user
-somehow pauses the playback or seeks, all times will be shifted accordingly.
-</p>
-<a name="tedcaptions"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-tedcaptions">19.11 tedcaptions</a></h2>
-
-<p>JSON captions used for <a href="http://www.ted.com/">TED Talks</a>.
-</p>
-<p>TED does not provide links to the captions, but they can be guessed from the
-page. The file &lsquo;<tt>tools/bookmarklets.html</tt>&rsquo; from the FFmpeg source tree
-contains a bookmarklet to expose them.
-</p>
-<p>This demuxer accepts the following option:
-</p><dl compact="compact">
-<dt> &lsquo;<samp>start_time</samp>&rsquo;</dt>
-<dd><p>Set the start time of the TED talk, in milliseconds. The default is 15000
-(15s). It is used to sync the captions with the downloadable videos, because
-they include a 15s intro.
-</p></dd>
-</dl>
-
-<p>Example: convert the captions to a format most players understand:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i http://www.ted.com/talks/subtitles/id/1/lang/en talk1-en.srt
-</pre></td></tr></table>
-
-<a name="Muxers"></a>
-<h1 class="chapter"><a href="ffprobe-all.html#toc-Muxers">20. Muxers</a></h1>
-
-<p>Muxers are configured elements in FFmpeg which allow writing
-multimedia streams to a particular type of file.
-</p>
-<p>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</code>.
-</p>
-<p>You can disable all the muxers with the configure option
-<code>--disable-muxers</code> and selectively enable / disable single muxers
-with the options <code>--enable-muxer=<var>MUXER</var></code> /
-<code>--disable-muxer=<var>MUXER</var></code>.
-</p>
-<p>The option <code>-formats</code> of the ff* tools will display the list of
-enabled muxers.
-</p>
-<p>A description of some of the currently available muxers follows.
-</p>
-<p><a name="aiff"></a>
-</p><a name="aiff-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-aiff-1">20.1 aiff</a></h2>
-
-<p>Audio Interchange File Format muxer.
-</p>
-<p>It accepts the following options:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>write_id3v2</samp>&rsquo;</dt>
-<dd><p>Enable ID3v2 tags writing when set to 1. Default is 0 (disabled).
+<p>Possible forms of stream specifiers are:
+</p><dl compact="compact">
+<dt> &lsquo;<samp><var>stream_index</var></samp>&rsquo;</dt>
+<dd><p>Matches the stream with this index.
 </p>
 </dd>
-<dt> &lsquo;<samp>id3v2_version</samp>&rsquo;</dt>
-<dd><p>Select ID3v2 version to write. Currently only version 3 and 4 (aka.
-ID3v2.3 and ID3v2.4) are supported. The default is version 4.
+<dt> &lsquo;<samp><var>stream_type</var>[:<var>stream_index</var>]</samp>&rsquo;</dt>
+<dd><p><var>stream_type</var> is one of following: &rsquo;v&rsquo; for video, &rsquo;a&rsquo; for audio,
+&rsquo;s&rsquo; for subtitle, &rsquo;d&rsquo; for data, and &rsquo;t&rsquo; for attachments. If
+<var>stream_index</var> is given, then it matches the stream number
+<var>stream_index</var> of this type. Otherwise, it matches all streams of
+this type.
 </p>
 </dd>
-</dl>
-
-<p><a name="crc"></a>
-</p><a name="crc-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-crc-1">20.2 crc</a></h2>
-
-<p>CRC (Cyclic Redundancy Check) testing format.
-</p>
-<p>This muxer computes and prints the Adler-32 CRC of all the input audio
-and video frames. By default audio frames are converted to signed
-16-bit raw audio and video frames to raw video before computing the
-CRC.
-</p>
-<p>The output of the muxer consists of a single line of the form:
-CRC=0x<var>CRC</var>, where <var>CRC</var> is a hexadecimal number 0-padded to
-8 digits containing the CRC for all the decoded input frames.
-</p>
-<p>For example to compute the CRC of the input, and store it in the file
-&lsquo;<tt>out.crc</tt>&rsquo;:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -f crc out.crc
-</pre></td></tr></table>
-
-<p>You can print the CRC to stdout with the command:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -f crc -
-</pre></td></tr></table>
-
-<p>You can select the output format of each frame with <code>ffmpeg</code> by
-specifying the audio and video codec and format. For example to
-compute the CRC of the input audio converted to PCM unsigned 8-bit
-and the input video converted to MPEG-2 video, use the command:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -c:a pcm_u8 -c:v mpeg2video -f crc -
-</pre></td></tr></table>
-
-<p>See also the <a href="#framecrc">framecrc</a> muxer.
-</p>
-<p><a name="framecrc"></a>
-</p><a name="framecrc-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-framecrc-1">20.3 framecrc</a></h2>
-
-<p>Per-packet CRC (Cyclic Redundancy Check) testing format.
-</p>
-<p>This muxer computes and prints the Adler-32 CRC for each audio
-and video packet. By default audio frames are converted to signed
-16-bit raw audio and video frames to raw video before computing the
-CRC.
-</p>
-<p>The output of the muxer consists of a line for each audio and video
-packet of the form:
-</p><table><tr><td>&nbsp;</td><td><pre class="example"><var>stream_index</var>, <var>packet_dts</var>, <var>packet_pts</var>, <var>packet_duration</var>, <var>packet_size</var>, 0x<var>CRC</var>
-</pre></td></tr></table>
-
-<p><var>CRC</var> is a hexadecimal number 0-padded to 8 digits containing the
-CRC of the packet.
-</p>
-<p>For example to compute the CRC of the audio and video frames in
-&lsquo;<tt>INPUT</tt>&rsquo;, converted to raw audio and video packets, and store it
-in the file &lsquo;<tt>out.crc</tt>&rsquo;:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -f framecrc out.crc
-</pre></td></tr></table>
-
-<p>To print the information to stdout, use the command:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -f framecrc -
-</pre></td></tr></table>
-
-<p>With <code>ffmpeg</code>, you can select the output format to which the
-audio and video frames are encoded before computing the CRC for each
-packet by specifying the audio and video codec. For example, to
-compute the CRC of each decoded input audio frame converted to PCM
-unsigned 8-bit and of each decoded input video frame converted to
-MPEG-2 video, use the command:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -c:a pcm_u8 -c:v mpeg2video -f framecrc -
-</pre></td></tr></table>
-
-<p>See also the <a href="#crc">crc</a> muxer.
-</p>
-<p><a name="framemd5"></a>
-</p><a name="framemd5-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-framemd5-1">20.4 framemd5</a></h2>
-
-<p>Per-packet MD5 testing format.
-</p>
-<p>This muxer computes and prints the MD5 hash for each audio
-and video packet. By default audio frames are converted to signed
-16-bit raw audio and video frames to raw video before computing the
-hash.
-</p>
-<p>The output of the muxer consists of a line for each audio and video
-packet of the form:
-</p><table><tr><td>&nbsp;</td><td><pre class="example"><var>stream_index</var>, <var>packet_dts</var>, <var>packet_pts</var>, <var>packet_duration</var>, <var>packet_size</var>, <var>MD5</var>
-</pre></td></tr></table>
-
-<p><var>MD5</var> is a hexadecimal number representing the computed MD5 hash
-for the packet.
-</p>
-<p>For example to compute the MD5 of the audio and video frames in
-&lsquo;<tt>INPUT</tt>&rsquo;, converted to raw audio and video packets, and store it
-in the file &lsquo;<tt>out.md5</tt>&rsquo;:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -f framemd5 out.md5
-</pre></td></tr></table>
-
-<p>To print the information to stdout, use the command:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -f framemd5 -
-</pre></td></tr></table>
-
-<p>See also the <a href="#md5">md5</a> muxer.
-</p>
-<p><a name="gif"></a>
-</p><a name="gif-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-gif-1">20.5 gif</a></h2>
-
-<p>Animated GIF muxer.
-</p>
-<p>It accepts the following options:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>loop</samp>&rsquo;</dt>
-<dd><p>Set the number of times to loop the output. Use <code>-1</code> for no loop, <code>0</code>
-for looping indefinitely (default).
+<dt> &lsquo;<samp>p:<var>program_id</var>[:<var>stream_index</var>]</samp>&rsquo;</dt>
+<dd><p>If <var>stream_index</var> is given, then it matches the stream with number
+<var>stream_index</var> in the program with the id
+<var>program_id</var>. Otherwise, it matches all streams in the program.
 </p>
 </dd>
-<dt> &lsquo;<samp>final_delay</samp>&rsquo;</dt>
-<dd><p>Force the delay (expressed in centiseconds) after the last frame. Each frame
-ends with a delay until the next frame. The default is <code>-1</code>, which is a
-special value to tell the muxer to re-use the previous delay. In case of a
-loop, you might want to customize this value to mark a pause for instance.
-</p></dd>
-</dl>
-
-<p>For example, to encode a gif looping 10 times, with a 5 seconds delay between
-the loops:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -loop 10 -final_delay 500 out.gif
-</pre></td></tr></table>
-
-<p>Note 1: if you wish to extract the frames in separate GIF files, you need to
-force the <a href="#image2">image2</a> muxer:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -c:v gif -f image2 &quot;out%d.gif&quot;
-</pre></td></tr></table>
-
-<p>Note 2: the GIF format has a very small time base: the delay between two frames
-can not be smaller than one centi second.
-</p>
-<p><a name="hls"></a>
-</p><a name="hls-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-hls-1">20.6 hls</a></h2>
-
-<p>Apple HTTP Live Streaming muxer that segments MPEG-TS according to
-the HTTP Live Streaming specification.
-</p>
-<p>It creates a playlist file and numbered segment files. The output
-filename specifies the playlist filename; the segment filenames
-receive the same basename as the playlist, a sequential number and
-a .ts extension.
-</p>
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i in.nut out.m3u8
-</pre></td></tr></table>
-
-<dl compact="compact">
-<dt> &lsquo;<samp>-hls_time <var>seconds</var></samp>&rsquo;</dt>
-<dd><p>Set the segment length in seconds.
-</p></dd>
-<dt> &lsquo;<samp>-hls_list_size <var>size</var></samp>&rsquo;</dt>
-<dd><p>Set the maximum number of playlist entries.
-</p></dd>
-<dt> &lsquo;<samp>-hls_wrap <var>wrap</var></samp>&rsquo;</dt>
-<dd><p>Set the number after which index wraps.
-</p></dd>
-<dt> &lsquo;<samp>-start_number <var>number</var></samp>&rsquo;</dt>
-<dd><p>Start the sequence from <var>number</var>.
+<dt> &lsquo;<samp>#<var>stream_id</var></samp>&rsquo;</dt>
+<dd><p>Matches the stream by a format-specific ID.
 </p></dd>
 </dl>
 
-<p><a name="ico"></a>
-</p><a name="ico-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-ico-1">20.7 ico</a></h2>
-
-<p>ICO file muxer.
-</p>
-<p>Microsoft&rsquo;s icon file format (ICO) has some strict limitations that should be noted:
-</p>
-<ul>
-<li>
-Size cannot exceed 256 pixels in any dimension
-
-</li><li>
-Only BMP and PNG images can be stored
-
-</li><li>
-If a BMP image is used, it must be one of the following pixel formats:
-<table><tr><td>&nbsp;</td><td><pre class="example">BMP Bit Depth      FFmpeg Pixel Format
-1bit               pal8
-4bit               pal8
-8bit               pal8
-16bit              rgb555le
-24bit              bgr24
-32bit              bgra
-</pre></td></tr></table>
-
-</li><li>
-If a BMP image is used, it must use the BITMAPINFOHEADER DIB header
-
-</li><li>
-If a PNG image is used, it must use the rgba pixel format
-</li></ul>
-
-<p><a name="image2"></a>
-</p><a name="image2-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-image2-1">20.8 image2</a></h2>
-
-<p>Image file muxer.
-</p>
-<p>The image file muxer writes video frames to image files.
-</p>
-<p>The output filenames are specified by a pattern, which can be used to
-produce sequentially numbered series of files.
-The pattern may contain the string &quot;%d&quot; or &quot;%0<var>N</var>d&quot;, this string
-specifies the position of the characters representing a numbering in
-the filenames. If the form &quot;%0<var>N</var>d&quot; is used, the string
-representing the number in each filename is 0-padded to <var>N</var>
-digits. The literal character &rsquo;%&rsquo; can be specified in the pattern with
-the string &quot;%%&quot;.
-</p>
-<p>If the pattern contains &quot;%d&quot; or &quot;%0<var>N</var>d&quot;, the first filename of
-the file list specified will contain the number 1, all the following
-numbers will be sequential.
-</p>
-<p>The pattern may contain a suffix which is used to automatically
-determine the format of the image files to write.
-</p>
-<p>For example the pattern &quot;img-%03d.bmp&quot; will specify a sequence of
-filenames of the form &lsquo;<tt>img-001.bmp</tt>&rsquo;, &lsquo;<tt>img-002.bmp</tt>&rsquo;, ...,
-&lsquo;<tt>img-010.bmp</tt>&rsquo;, etc.
-The pattern &quot;img%%-%d.jpg&quot; will specify a sequence of filenames of the
-form &lsquo;<tt>img%-1.jpg</tt>&rsquo;, &lsquo;<tt>img%-2.jpg</tt>&rsquo;, ..., &lsquo;<tt>img%-10.jpg</tt>&rsquo;,
-etc.
-</p>
-<p>The following example shows how to use <code>ffmpeg</code> for creating a
-sequence of files &lsquo;<tt>img-001.jpeg</tt>&rsquo;, &lsquo;<tt>img-002.jpeg</tt>&rsquo;, ...,
-taking one image every second from the input video:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i in.avi -vsync 1 -r 1 -f image2 'img-%03d.jpeg'
-</pre></td></tr></table>
-
-<p>Note that with <code>ffmpeg</code>, if the format is not specified with the
-<code>-f</code> option and the output filename specifies an image file
-format, the image2 muxer is automatically selected, so the previous
-command can be written as:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i in.avi -vsync 1 -r 1 'img-%03d.jpeg'
-</pre></td></tr></table>
-
-<p>Note also that the pattern must not necessarily contain &quot;%d&quot; or
-&quot;%0<var>N</var>d&quot;, for example to create a single image file
-&lsquo;<tt>img.jpeg</tt>&rsquo; from the input video you can employ the command:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i in.avi -f image2 -frames:v 1 img.jpeg
-</pre></td></tr></table>
-
-<dl compact="compact">
-<dt> &lsquo;<samp>start_number <var>number</var></samp>&rsquo;</dt>
-<dd><p>Start the sequence from <var>number</var>. Default value is 1. Must be a
-non-negative number.
-</p>
-</dd>
-<dt> &lsquo;<samp>-update <var>number</var></samp>&rsquo;</dt>
-<dd><p>If <var>number</var> is nonzero, the filename will always be interpreted as just a
-filename, not a pattern, and this file will be continuously overwritten with new
-images.
-</p>
-</dd>
-</dl>
-
-<p>The image muxer supports the .Y.U.V image file format. This format is
-special in that that each image frame consists of three files, for
-each of the YUV420P components. To read or write this image file format,
-specify the name of the &rsquo;.Y&rsquo; file. The muxer will automatically open the
-&rsquo;.U&rsquo; and &rsquo;.V&rsquo; files as required.
-</p>
-<a name="matroska"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-matroska">20.9 matroska</a></h2>
-
-<p>Matroska container muxer.
-</p>
-<p>This muxer implements the matroska and webm container specs.
-</p>
-<p>The recognized metadata settings in this muxer are:
+<p>The exact semantics of stream specifiers is defined by the
+<code>avformat_match_stream_specifier()</code> function declared in the
+&lsquo;<tt>libavformat/avformat.h</tt>&rsquo; header.
 </p>
-<dl compact="compact">
-<dt> &lsquo;<samp>title=<var>title name</var></samp>&rsquo;</dt>
-<dd><p>Name provided to a single track
-</p></dd>
-</dl>
-
-<dl compact="compact">
-<dt> &lsquo;<samp>language=<var>language name</var></samp>&rsquo;</dt>
-<dd><p>Specifies the language of the track in the Matroska languages form
-</p></dd>
-</dl>
-
-<dl compact="compact">
-<dt> &lsquo;<samp>stereo_mode=<var>mode</var></samp>&rsquo;</dt>
-<dd><p>Stereo 3D video layout of two views in a single video track
-</p><dl compact="compact">
-<dt> &lsquo;<samp>mono</samp>&rsquo;</dt>
-<dd><p>video is not stereo
-</p></dd>
-<dt> &lsquo;<samp>left_right</samp>&rsquo;</dt>
-<dd><p>Both views are arranged side by side, Left-eye view is on the left
-</p></dd>
-<dt> &lsquo;<samp>bottom_top</samp>&rsquo;</dt>
-<dd><p>Both views are arranged in top-bottom orientation, Left-eye view is at bottom
-</p></dd>
-<dt> &lsquo;<samp>top_bottom</samp>&rsquo;</dt>
-<dd><p>Both views are arranged in top-bottom orientation, Left-eye view is on top
-</p></dd>
-<dt> &lsquo;<samp>checkerboard_rl</samp>&rsquo;</dt>
-<dd><p>Each view is arranged in a checkerboard interleaved pattern, Left-eye view being first
-</p></dd>
-<dt> &lsquo;<samp>checkerboard_lr</samp>&rsquo;</dt>
-<dd><p>Each view is arranged in a checkerboard interleaved pattern, Right-eye view being first
-</p></dd>
-<dt> &lsquo;<samp>row_interleaved_rl</samp>&rsquo;</dt>
-<dd><p>Each view is constituted by a row based interleaving, Right-eye view is first row
-</p></dd>
-<dt> &lsquo;<samp>row_interleaved_lr</samp>&rsquo;</dt>
-<dd><p>Each view is constituted by a row based interleaving, Left-eye view is first row
-</p></dd>
-<dt> &lsquo;<samp>col_interleaved_rl</samp>&rsquo;</dt>
-<dd><p>Both views are arranged in a column based interleaving manner, Right-eye view is first column
-</p></dd>
-<dt> &lsquo;<samp>col_interleaved_lr</samp>&rsquo;</dt>
-<dd><p>Both views are arranged in a column based interleaving manner, Left-eye view is first column
-</p></dd>
-<dt> &lsquo;<samp>anaglyph_cyan_red</samp>&rsquo;</dt>
-<dd><p>All frames are in anaglyph format viewable through red-cyan filters
-</p></dd>
-<dt> &lsquo;<samp>right_left</samp>&rsquo;</dt>
-<dd><p>Both views are arranged side by side, Right-eye view is on the left
-</p></dd>
-<dt> &lsquo;<samp>anaglyph_green_magenta</samp>&rsquo;</dt>
-<dd><p>All frames are in anaglyph format viewable through green-magenta filters
-</p></dd>
-<dt> &lsquo;<samp>block_lr</samp>&rsquo;</dt>
-<dd><p>Both eyes laced in one Block, Left-eye view is first
-</p></dd>
-<dt> &lsquo;<samp>block_rl</samp>&rsquo;</dt>
-<dd><p>Both eyes laced in one Block, Right-eye view is first
-</p></dd>
-</dl>
-</dd>
-</dl>
-
-<p>For example a 3D WebM clip can be created using the following command line:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i sample_left_right_clip.mpg -an -c:v libvpx -metadata stereo_mode=left_right -y stereo_clip.webm
-</pre></td></tr></table>
+<a name="Demuxers"></a>
+<h1 class="chapter"><a href="ffprobe-all.html#toc-Demuxers">16. Demuxers</a></h1>
 
-<p>This muxer supports the following options:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>reserve_index_space</samp>&rsquo;</dt>
-<dd><p>By default, this muxer writes the index for seeking (called cues in Matroska
-terms) at the end of the file, because it cannot know in advance how much space
-to leave for the index at the beginning of the file. However for some use cases
-&ndash; e.g.  streaming where seeking is possible but slow &ndash; it is useful to put the
-index at the beginning of the file.
-</p>
-<p>If this option is set to a non-zero value, the muxer will reserve a given amount
-of space in the file header and then try to write the cues there when the muxing
-finishes. If the available space does not suffice, muxing will fail. A safe size
-for most use cases should be about 50kB per hour of video.
+<p>Demuxers are configured elements in FFmpeg that can read the
+multimedia streams from a particular type of file.
 </p>
-<p>Note that cues are only written if the output is seekable and this option will
-have no effect if it is not.
+<p>When you configure your FFmpeg build, all the supported demuxers
+are enabled by default. You can list all available ones using the
+configure option <code>--list-demuxers</code>.
 </p>
-</dd>
-</dl>
-
-<p><a name="md5"></a>
-</p><a name="md5-2"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-md5-2">20.10 md5</a></h2>
-
-<p>MD5 testing format.
+<p>You can disable all the demuxers using the configure option
+<code>--disable-demuxers</code>, and selectively enable a single demuxer with
+the option <code>--enable-demuxer=<var>DEMUXER</var></code>, or disable it
+with the option <code>--disable-demuxer=<var>DEMUXER</var></code>.
 </p>
-<p>This muxer computes and prints the MD5 hash of all the input audio
-and video frames. By default audio frames are converted to signed
-16-bit raw audio and video frames to raw video before computing the
-hash.
+<p>The option <code>-formats</code> of the ff* tools will display the list of
+enabled demuxers.
 </p>
-<p>The output of the muxer consists of a single line of the form:
-MD5=<var>MD5</var>, where <var>MD5</var> is a hexadecimal number representing
-the computed MD5 hash.
+<p>The description of some of the currently available demuxers follows.
 </p>
-<p>For example to compute the MD5 hash of the input converted to raw
-audio and video, and store it in the file &lsquo;<tt>out.md5</tt>&rsquo;:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -f md5 out.md5
-</pre></td></tr></table>
-
-<p>You can print the MD5 to stdout with the command:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -f md5 -
-</pre></td></tr></table>
+<a name="applehttp"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-applehttp">16.1 applehttp</a></h2>
 
-<p>See also the <a href="#framemd5">framemd5</a> muxer.
+<p>Apple HTTP Live Streaming demuxer.
 </p>
-<a name="mov_002fmp4_002fismv"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-mov_002fmp4_002fismv">20.11 mov/mp4/ismv</a></h2>
-
-<p>MOV/MP4/ISMV (Smooth Streaming) muxer.
+<p>This demuxer presents all AVStreams from all variant streams.
+The id field is set to the bitrate variant index number. By setting
+the discard flags on AVStreams (by pressing &rsquo;a&rsquo; or &rsquo;v&rsquo; in ffplay),
+the caller can decide which variant streams to actually receive.
+The total bitrate of the variant that the stream belongs to is
+available in a metadata key named &quot;variant_bitrate&quot;.
 </p>
-<p>The mov/mp4/ismv muxer supports fragmentation. Normally, a MOV/MP4
-file has all the metadata about all packets stored in one location
-(written at the end of the file, it can be moved to the start for
-better playback by adding <var>faststart</var> to the <var>movflags</var>, or
-using the <code>qt-faststart</code> tool). A fragmented
-file consists of a number of fragments, where packets and metadata
-about these packets are stored together. Writing a fragmented
-file has the advantage that the file is decodable even if the
-writing is interrupted (while a normal MOV/MP4 is undecodable if
-it is not properly finished), and it requires less memory when writing
-very long files (since writing normal MOV/MP4 files stores info about
-every single packet in memory until the file is closed). The downside
-is that it is less compatible with other applications.
+<a name="asf"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-asf">16.2 asf</a></h2>
+
+<p>Advanced Systems Format demuxer.
 </p>
-<p>Fragmentation is enabled by setting one of the AVOptions that define
-how to cut the file into fragments:
+<p>This demuxer is used to demux ASF files and MMS network streams.
 </p>
 <dl compact="compact">
-<dt> &lsquo;<samp>-moov_size <var>bytes</var></samp>&rsquo;</dt>
-<dd><p>Reserves space for the moov atom at the beginning of the file instead of placing the
-moov atom at the end. If the space reserved is insufficient, muxing will fail.
-</p></dd>
-<dt> &lsquo;<samp>-movflags frag_keyframe</samp>&rsquo;</dt>
-<dd><p>Start a new fragment at each video keyframe.
-</p></dd>
-<dt> &lsquo;<samp>-frag_duration <var>duration</var></samp>&rsquo;</dt>
-<dd><p>Create fragments that are <var>duration</var> microseconds long.
-</p></dd>
-<dt> &lsquo;<samp>-frag_size <var>size</var></samp>&rsquo;</dt>
-<dd><p>Create fragments that contain up to <var>size</var> bytes of payload data.
-</p></dd>
-<dt> &lsquo;<samp>-movflags frag_custom</samp>&rsquo;</dt>
-<dd><p>Allow the caller to manually choose when to cut fragments, by
-calling <code>av_write_frame(ctx, NULL)</code> to write a fragment with
-the packets written so far. (This is only useful with other
-applications integrating libavformat, not from <code>ffmpeg</code>.)
-</p></dd>
-<dt> &lsquo;<samp>-min_frag_duration <var>duration</var></samp>&rsquo;</dt>
-<dd><p>Don&rsquo;t create fragments that are shorter than <var>duration</var> microseconds long.
+<dt> &lsquo;<samp>-no_resync_search <var>bool</var></samp>&rsquo;</dt>
+<dd><p>Do not try to resynchronize by looking for a certain optional start code.
 </p></dd>
 </dl>
 
-<p>If more than one condition is specified, fragments are cut when
-one of the specified conditions is fulfilled. The exception to this is
-<code>-min_frag_duration</code>, which has to be fulfilled for any of the other
-conditions to apply.
+<p><a name="concat"></a>
+</p><a name="concat-2"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-concat-2">16.3 concat</a></h2>
+
+<p>Virtual concatenation script demuxer.
 </p>
-<p>Additionally, the way the output file is written can be adjusted
-through a few other options:
+<p>This demuxer reads a list of files and other directives from a text file and
+demuxes them one after the other, as if all their packet had been muxed
+together.
 </p>
-<dl compact="compact">
-<dt> &lsquo;<samp>-movflags empty_moov</samp>&rsquo;</dt>
-<dd><p>Write an initial moov atom directly at the start of the file, without
-describing any samples in it. Generally, an mdat/moov pair is written
-at the start of the file, as a normal MOV/MP4 file, containing only
-a short portion of the file. With this option set, there is no initial
-mdat atom, and the moov atom only describes the tracks but has
-a zero duration.
+<p>The timestamps in the files are adjusted so that the first file starts at 0
+and each next file starts where the previous one finishes. Note that it is
+done globally and may cause gaps if all streams do not have exactly the same
+length.
 </p>
-<p>Files written with this option set do not work in QuickTime.
-This option is implicitly set when writing ismv (Smooth Streaming) files.
-</p></dd>
-<dt> &lsquo;<samp>-movflags separate_moof</samp>&rsquo;</dt>
-<dd><p>Write a separate moof (movie fragment) atom for each track. Normally,
-packets for all tracks are written in a moof atom (which is slightly
-more efficient), but with this option set, the muxer writes one moof/mdat
-pair for each track, making it easier to separate tracks.
+<p>All files must have the same streams (same codecs, same time base, etc.).
 </p>
-<p>This option is implicitly set when writing ismv (Smooth Streaming) files.
-</p></dd>
-<dt> &lsquo;<samp>-movflags faststart</samp>&rsquo;</dt>
-<dd><p>Run a second pass moving the index (moov atom) to the beginning of the file.
-This operation can take a while, and will not work in various situations such
-as fragmented output, thus it is not enabled by default.
-</p></dd>
-<dt> &lsquo;<samp>-movflags rtphint</samp>&rsquo;</dt>
-<dd><p>Add RTP hinting tracks to the output file.
-</p></dd>
-</dl>
-
-<p>Smooth Streaming content can be pushed in real time to a publishing
-point on IIS with this muxer. Example:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -re <var>&lt;normal input/transcoding options&gt;</var> -movflags isml+frag_keyframe -f ismv http://server/publishingpoint.isml/Streams(Encoder1)
-</pre></td></tr></table>
-
-<a name="mp3"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-mp3">20.12 mp3</a></h2>
-
-<p>The MP3 muxer writes a raw MP3 stream with an ID3v2 header at the beginning and
-optionally an ID3v1 tag at the end. ID3v2.3 and ID3v2.4 are supported, the
-<code>id3v2_version</code> option controls which one is used. The legacy ID3v1 tag is
-not written by default, but may be enabled with the <code>write_id3v1</code> option.
+<p>The duration of each file is used to adjust the timestamps of the next file:
+if the duration is incorrect (because it was computed using the bit-rate or
+because the file is truncated, for example), it can cause artifacts. The
+<code>duration</code> directive can be used to override the duration stored in
+each file.
 </p>
-<p>For seekable output the muxer also writes a Xing frame at the beginning, which
-contains the number of frames in the file. It is useful for computing duration
-of VBR files.
+<a name="Syntax-1"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Syntax-1">16.3.1 Syntax</a></h3>
+
+<p>The script is a text file in extended-ASCII, with one directive per line.
+Empty lines, leading spaces and lines starting with &rsquo;#&rsquo; are ignored. The
+following directive is recognized:
 </p>
-<p>The muxer supports writing ID3v2 attached pictures (APIC frames). The pictures
-are supplied to the muxer in form of a video stream with a single packet. There
-can be any number of those streams, each will correspond to a single APIC frame.
-The stream metadata tags <var>title</var> and <var>comment</var> map to APIC
-<var>description</var> and <var>picture type</var> respectively. See
-<a href="http://id3.org/id3v2.4.0-frames">http://id3.org/id3v2.4.0-frames</a> for allowed picture types.
+<dl compact="compact">
+<dt> &lsquo;<samp><code>file <var>path</var></code></samp>&rsquo;</dt>
+<dd><p>Path to a file to read; special characters and spaces must be escaped with
+backslash or single quotes.
 </p>
-<p>Note that the APIC frames must be written at the beginning, so the muxer will
-buffer the audio frames until it gets all the pictures. It is therefore advised
-to provide the pictures as soon as possible to avoid excessive buffering.
+<p>All subsequent directives apply to that file.
 </p>
-<p>Examples:
+</dd>
+<dt> &lsquo;<samp><code>ffconcat version 1.0</code></samp>&rsquo;</dt>
+<dd><p>Identify the script type and version. It also sets the &lsquo;<samp>safe</samp>&rsquo; option
+to 1 if it was to its default -1.
 </p>
-<p>Write an mp3 with an ID3v2.3 header and an ID3v1 footer:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -id3v2_version 3 -write_id3v1 1 out.mp3
-</pre></td></tr></table>
-
-<p>To attach a picture to an mp3 file select both the audio and the picture stream
-with <code>map</code>:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i input.mp3 -i cover.png -c copy -map 0 -map 1
--metadata:s:v title=&quot;Album cover&quot; -metadata:s:v comment=&quot;Cover (Front)&quot; out.mp3
-</pre></td></tr></table>
-
-<a name="mpegts-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-mpegts-1">20.13 mpegts</a></h2>
-
-<p>MPEG transport stream muxer.
+<p>To make FFmpeg recognize the format automatically, this directive must
+appears exactly as is (no extra space or byte-order-mark) on the very first
+line of the script.
 </p>
-<p>This muxer implements ISO 13818-1 and part of ETSI EN 300 468.
+</dd>
+<dt> &lsquo;<samp><code>duration <var>dur</var></code></samp>&rsquo;</dt>
+<dd><p>Duration of the file. This information can be specified from the file;
+specifying it here may be more efficient or help if the information from the
+file is not available or accurate.
 </p>
-<p>The muxer options are:
+<p>If the duration is set for all files, then it is possible to seek in the
+whole concatenated video.
 </p>
-<dl compact="compact">
-<dt> &lsquo;<samp>-mpegts_original_network_id <var>number</var></samp>&rsquo;</dt>
-<dd><p>Set the original_network_id (default 0x0001). This is unique identifier
-of a network in DVB. Its main use is in the unique identification of a
-service through the path Original_Network_ID, Transport_Stream_ID.
-</p></dd>
-<dt> &lsquo;<samp>-mpegts_transport_stream_id <var>number</var></samp>&rsquo;</dt>
-<dd><p>Set the transport_stream_id (default 0x0001). This identifies a
-transponder in DVB.
-</p></dd>
-<dt> &lsquo;<samp>-mpegts_service_id <var>number</var></samp>&rsquo;</dt>
-<dd><p>Set the service_id (default 0x0001) also known as program in DVB.
-</p></dd>
-<dt> &lsquo;<samp>-mpegts_pmt_start_pid <var>number</var></samp>&rsquo;</dt>
-<dd><p>Set the first PID for PMT (default 0x1000, max 0x1f00).
-</p></dd>
-<dt> &lsquo;<samp>-mpegts_start_pid <var>number</var></samp>&rsquo;</dt>
-<dd><p>Set the first PID for data packets (default 0x0100, max 0x0f00).
-</p></dd>
-<dt> &lsquo;<samp>-mpegts_m2ts_mode <var>number</var></samp>&rsquo;</dt>
-<dd><p>Enable m2ts mode if set to 1. Default value is -1 which disables m2ts mode.
-</p></dd>
-<dt> &lsquo;<samp>-muxrate <var>number</var></samp>&rsquo;</dt>
-<dd><p>Set muxrate.
-</p></dd>
-<dt> &lsquo;<samp>-pes_payload_size <var>number</var></samp>&rsquo;</dt>
-<dd><p>Set minimum PES packet payload in bytes.
-</p></dd>
-<dt> &lsquo;<samp>-mpegts_flags <var>flags</var></samp>&rsquo;</dt>
-<dd><p>Set flags (see below).
-</p></dd>
-<dt> &lsquo;<samp>-mpegts_copyts <var>number</var></samp>&rsquo;</dt>
-<dd><p>Preserve original timestamps, if value is set to 1. Default value is -1, which
-results in shifting timestamps so that they start from 0.
-</p></dd>
-<dt> &lsquo;<samp>-tables_version <var>number</var></samp>&rsquo;</dt>
-<dd><p>Set PAT, PMT and SDT version (default 0, valid values are from 0 to 31, inclusively).
-This option allows updating stream structure so that standard consumer may
-detect the change. To do so, reopen output AVFormatContext (in case of API
-usage) or restart ffmpeg instance, cyclically changing tables_version value:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i source1.ts -codec copy -f mpegts -tables_version 0 udp://1.1.1.1:1111
-ffmpeg -i source2.ts -codec copy -f mpegts -tables_version 1 udp://1.1.1.1:1111
-...
-ffmpeg -i source3.ts -codec copy -f mpegts -tables_version 31 udp://1.1.1.1:1111
-ffmpeg -i source1.ts -codec copy -f mpegts -tables_version 0 udp://1.1.1.1:1111
-ffmpeg -i source2.ts -codec copy -f mpegts -tables_version 1 udp://1.1.1.1:1111
-...
-</pre></td></tr></table>
 </dd>
 </dl>
 
-<p>Option mpegts_flags may take a set of such flags:
-</p>
-<dl compact="compact">
-<dt> &lsquo;<samp>resend_headers</samp>&rsquo;</dt>
-<dd><p>Reemit PAT/PMT before writing the next packet.
-</p></dd>
-<dt> &lsquo;<samp>latm</samp>&rsquo;</dt>
-<dd><p>Use LATM packetization for AAC.
-</p></dd>
-</dl>
+<a name="Options-11"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-11">16.3.2 Options</a></h3>
 
-<p>The recognized metadata settings in mpegts muxer are <code>service_provider</code>
-and <code>service_name</code>. If they are not set the default for
-<code>service_provider</code> is &quot;FFmpeg&quot; and the default for
-<code>service_name</code> is &quot;Service01&quot;.
+<p>This demuxer accepts the following option:
 </p>
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i file.mpg -c copy \
-     -mpegts_original_network_id 0x1122 \
-     -mpegts_transport_stream_id 0x3344 \
-     -mpegts_service_id 0x5566 \
-     -mpegts_pmt_start_pid 0x1500 \
-     -mpegts_start_pid 0x150 \
-     -metadata service_provider=&quot;Some provider&quot; \
-     -metadata service_name=&quot;Some Channel&quot; \
-     -y out.ts
-</pre></td></tr></table>
-
-<a name="null"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-null">20.14 null</a></h2>
-
-<p>Null muxer.
+<dl compact="compact">
+<dt> &lsquo;<samp>safe</samp>&rsquo;</dt>
+<dd><p>If set to 1, reject unsafe file paths. A file path is considered safe if it
+does not contain a protocol specification and is relative and all components
+only contain characters from the portable character set (letters, digits,
+period, underscore and hyphen) and have no period at the beginning of a
+component.
 </p>
-<p>This muxer does not generate any output file, it is mainly useful for
-testing or benchmarking purposes.
+<p>If set to 0, any file name is accepted.
 </p>
-<p>For example to benchmark decoding with <code>ffmpeg</code> you can use the
-command:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -benchmark -i INPUT -f null out.null
-</pre></td></tr></table>
-
-<p>Note that the above command does not read or write the &lsquo;<tt>out.null</tt>&rsquo;
-file, but specifying the output file is required by the <code>ffmpeg</code>
-syntax.
+<p>The default is -1, it is equivalent to 1 if the format was automatically
+probed and 0 otherwise.
 </p>
-<p>Alternatively you can write the command as:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -benchmark -i INPUT -f null -
-</pre></td></tr></table>
+</dd>
+</dl>
 
-<a name="ogg"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-ogg">20.15 ogg</a></h2>
+<a name="flv"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-flv">16.4 flv</a></h2>
 
-<p>Ogg container muxer.
+<p>Adobe Flash Video Format demuxer.
+</p>
+<p>This demuxer is used to demux FLV files and RTMP network streams.
 </p>
 <dl compact="compact">
-<dt> &lsquo;<samp>-page_duration <var>duration</var></samp>&rsquo;</dt>
-<dd><p>Preferred page duration, in microseconds. The muxer will attempt to create
-pages that are approximately <var>duration</var> microseconds long. This allows the
-user to compromise between seek granularity and container overhead. The default
-is 1 second. A value of 0 will fill all segments, making pages as large as
-possible. A value of 1 will effectively use 1 packet-per-page in most
-situations, giving a small seek granularity at the cost of additional container
-overhead.
+<dt> &lsquo;<samp>-flv_metadata <var>bool</var></samp>&rsquo;</dt>
+<dd><p>Allocate the streams according to the onMetaData array content.
 </p></dd>
 </dl>
 
-<a name="segment_002c-stream_005fsegment_002c-ssegment"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-segment_002c-stream_005fsegment_002c-ssegment">20.16 segment, stream_segment, ssegment</a></h2>
+<a name="libgme"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-libgme">16.5 libgme</a></h2>
 
-<p>Basic stream segmenter.
+<p>The Game Music Emu library is a collection of video game music file emulators.
 </p>
-<p>The segmenter muxer outputs streams to a number of separate files of nearly
-fixed duration. Output filename pattern can be set in a fashion similar to
-<a href="#image2">image2</a>.
+<p>See <a href="http://code.google.com/p/game-music-emu/">http://code.google.com/p/game-music-emu/</a> for more information.
 </p>
-<p><code>stream_segment</code> is a variant of the muxer used to write to
-streaming output formats, i.e. which do not require global headers,
-and is recommended for outputting e.g. to MPEG transport stream segments.
-<code>ssegment</code> is a shorter alias for <code>stream_segment</code>.
+<p>Some files have multiple tracks. The demuxer will pick the first track by
+default. The &lsquo;<samp>track_index</samp>&rsquo; option can be used to select a different
+track. Track indexes start at 0. The demuxer exports the number of tracks as
+<var>tracks</var> meta data entry.
 </p>
-<p>Every segment starts with a keyframe of the selected reference stream,
-which is set through the &lsquo;<samp>reference_stream</samp>&rsquo; option.
+<p>For very large files, the &lsquo;<samp>max_size</samp>&rsquo; option may have to be adjusted.
 </p>
-<p>Note that if you want accurate splitting for a video file, you need to
-make the input key frames correspond to the exact splitting times
-expected by the segmenter, or the segment muxer will start the new
-segment with the key frame found next after the specified start
-time.
+<a name="libquvi"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-libquvi">16.6 libquvi</a></h2>
+
+<p>Play media from Internet services using the quvi project.
 </p>
-<p>The segment muxer works best with a single constant frame rate video.
+<p>The demuxer accepts a &lsquo;<samp>format</samp>&rsquo; option to request a specific quality. It
+is by default set to <var>best</var>.
 </p>
-<p>Optionally it can generate a list of the created segments, by setting
-the option <var>segment_list</var>. The list type is specified by the
-<var>segment_list_type</var> option. The entry filenames in the segment
-list are set by default to the basename of the corresponding segment
-files.
+<p>See <a href="http://quvi.sourceforge.net/">http://quvi.sourceforge.net/</a> for more information.
 </p>
-<p>The segment muxer supports the following options:
+<p>FFmpeg needs to be built with <code>--enable-libquvi</code> for this demuxer to be
+enabled.
 </p>
-<dl compact="compact">
-<dt> &lsquo;<samp>reference_stream <var>specifier</var></samp>&rsquo;</dt>
-<dd><p>Set the reference stream, as specified by the string <var>specifier</var>.
-If <var>specifier</var> is set to <code>auto</code>, the reference is choosen
-automatically. Otherwise it must be a stream specifier (see the &ldquo;Stream
-specifiers&rdquo; chapter in the ffmpeg manual) which specifies the
-reference stream. The default value is <code>auto</code>.
+<a name="image2"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-image2">16.7 image2</a></h2>
+
+<p>Image file demuxer.
 </p>
-</dd>
-<dt> &lsquo;<samp>segment_format <var>format</var></samp>&rsquo;</dt>
-<dd><p>Override the inner container format, by default it is guessed by the filename
-extension.
+<p>This demuxer reads from a list of image files specified by a pattern.
+The syntax and meaning of the pattern is specified by the
+option <var>pattern_type</var>.
 </p>
-</dd>
-<dt> &lsquo;<samp>segment_list <var>name</var></samp>&rsquo;</dt>
-<dd><p>Generate also a listfile named <var>name</var>. If not specified no
-listfile is generated.
+<p>The pattern may contain a suffix which is used to automatically
+determine the format of the images contained in the files.
 </p>
-</dd>
-<dt> &lsquo;<samp>segment_list_flags <var>flags</var></samp>&rsquo;</dt>
-<dd><p>Set flags affecting the segment list generation.
+<p>The size, the pixel format, and the format of each image must be the
+same for all the files in the sequence.
 </p>
-<p>It currently supports the following flags:
+<p>This demuxer accepts the following options:
 </p><dl compact="compact">
-<dt> &lsquo;<samp>cache</samp>&rsquo;</dt>
-<dd><p>Allow caching (only affects M3U8 list files).
-</p>
-</dd>
-<dt> &lsquo;<samp>live</samp>&rsquo;</dt>
-<dd><p>Allow live-friendly file generation.
+<dt> &lsquo;<samp>framerate</samp>&rsquo;</dt>
+<dd><p>Set the frame rate for the video stream. It defaults to 25.
 </p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>segment_list_size <var>size</var></samp>&rsquo;</dt>
-<dd><p>Update the list file so that it contains at most the last <var>size</var>
-segments. If 0 the list file will contain all the segments. Default
-value is 0.
-</p>
-</dd>
-<dt> &lsquo;<samp>segment_list_entry_prefix <var>prefix</var></samp>&rsquo;</dt>
-<dd><p>Set <var>prefix</var> to prepend to the name of each entry filename. By
-default no prefix is applied.
-</p>
-</dd>
-<dt> &lsquo;<samp>segment_list_type <var>type</var></samp>&rsquo;</dt>
-<dd><p>Specify the format for the segment list file.
+<dt> &lsquo;<samp>loop</samp>&rsquo;</dt>
+<dd><p>If set to 1, loop over the input. Default value is 0.
+</p></dd>
+<dt> &lsquo;<samp>pattern_type</samp>&rsquo;</dt>
+<dd><p>Select the pattern type used to interpret the provided filename.
 </p>
-<p>The following values are recognized:
+<p><var>pattern_type</var> accepts one of the following values.
 </p><dl compact="compact">
-<dt> &lsquo;<samp>flat</samp>&rsquo;</dt>
-<dd><p>Generate a flat list for the created segments, one segment per line.
-</p>
-</dd>
-<dt> &lsquo;<samp>csv, ext</samp>&rsquo;</dt>
-<dd><p>Generate a list for the created segments, one segment per line,
-each line matching the format (comma-separated values):
-</p><table><tr><td>&nbsp;</td><td><pre class="example"><var>segment_filename</var>,<var>segment_start_time</var>,<var>segment_end_time</var>
-</pre></td></tr></table>
-
-<p><var>segment_filename</var> is the name of the output file generated by the
-muxer according to the provided pattern. CSV escaping (according to
-RFC4180) is applied if required.
-</p>
-<p><var>segment_start_time</var> and <var>segment_end_time</var> specify
-the segment start and end time expressed in seconds.
-</p>
-<p>A list file with the suffix <code>&quot;.csv&quot;</code> or <code>&quot;.ext&quot;</code> will
-auto-select this format.
-</p>
-<p>&lsquo;<samp>ext</samp>&rsquo; is deprecated in favor or &lsquo;<samp>csv</samp>&rsquo;.
-</p>
-</dd>
-<dt> &lsquo;<samp>ffconcat</samp>&rsquo;</dt>
-<dd><p>Generate an ffconcat file for the created segments. The resulting file
-can be read using the FFmpeg <a href="#concat">concat</a> demuxer.
-</p>
-<p>A list file with the suffix <code>&quot;.ffcat&quot;</code> or <code>&quot;.ffconcat&quot;</code> will
-auto-select this format.
-</p>
-</dd>
-<dt> &lsquo;<samp>m3u8</samp>&rsquo;</dt>
-<dd><p>Generate an extended M3U8 file, version 3, compliant with
-<a href="http://tools.ietf.org/id/draft-pantos-http-live-streaming">http://tools.ietf.org/id/draft-pantos-http-live-streaming</a>.
-</p>
-<p>A list file with the suffix <code>&quot;.m3u8&quot;</code> will auto-select this format.
-</p></dd>
-</dl>
-
-<p>If not specified the type is guessed from the list file name suffix.
+<dt> &lsquo;<samp>sequence</samp>&rsquo;</dt>
+<dd><p>Select a sequence pattern type, used to specify a sequence of files
+indexed by sequential numbers.
 </p>
-</dd>
-<dt> &lsquo;<samp>segment_time <var>time</var></samp>&rsquo;</dt>
-<dd><p>Set segment duration to <var>time</var>, the value must be a duration
-specification. Default value is &quot;2&quot;. See also the
-&lsquo;<samp>segment_times</samp>&rsquo; option.
+<p>A sequence pattern may contain the string &quot;%d&quot; or &quot;%0<var>N</var>d&quot;, which
+specifies the position of the characters representing a sequential
+number in each filename matched by the pattern. If the form
+&quot;%d0<var>N</var>d&quot; is used, the string representing the number in each
+filename is 0-padded and <var>N</var> is the total number of 0-padded
+digits representing the number. The literal character &rsquo;%&rsquo; can be
+specified in the pattern with the string &quot;%%&quot;.
 </p>
-<p>Note that splitting may not be accurate, unless you force the
-reference stream key-frames at the given time. See the introductory
-notice and the examples below.
+<p>If the sequence pattern contains &quot;%d&quot; or &quot;%0<var>N</var>d&quot;, the first filename of
+the file list specified by the pattern must contain a number
+inclusively contained between <var>start_number</var> and
+<var>start_number</var>+<var>start_number_range</var>-1, and all the following
+numbers must be sequential.
 </p>
-</dd>
-<dt> &lsquo;<samp>segment_time_delta <var>delta</var></samp>&rsquo;</dt>
-<dd><p>Specify the accuracy time when selecting the start time for a
-segment, expressed as a duration specification. Default value is &quot;0&quot;.
+<p>For example the pattern &quot;img-%03d.bmp&quot; will match a sequence of
+filenames of the form &lsquo;<tt>img-001.bmp</tt>&rsquo;, &lsquo;<tt>img-002.bmp</tt>&rsquo;, ...,
+&lsquo;<tt>img-010.bmp</tt>&rsquo;, etc.; the pattern &quot;i%%m%%g-%d.jpg&quot; will match a
+sequence of filenames of the form &lsquo;<tt>i%m%g-1.jpg</tt>&rsquo;,
+&lsquo;<tt>i%m%g-2.jpg</tt>&rsquo;, ..., &lsquo;<tt>i%m%g-10.jpg</tt>&rsquo;, etc.
 </p>
-<p>When delta is specified a key-frame will start a new segment if its
-PTS satisfies the relation:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">PTS &gt;= start_time - time_delta
+<p>Note that the pattern must not necessarily contain &quot;%d&quot; or
+&quot;%0<var>N</var>d&quot;, for example to convert a single image file
+&lsquo;<tt>img.jpeg</tt>&rsquo; you can employ the command:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i img.jpeg img.png
 </pre></td></tr></table>
 
-<p>This option is useful when splitting video content, which is always
-split at GOP boundaries, in case a key frame is found just before the
-specified split time.
-</p>
-<p>In particular may be used in combination with the &lsquo;<tt>ffmpeg</tt>&rsquo; option
-<var>force_key_frames</var>. The key frame times specified by
-<var>force_key_frames</var> may not be set accurately because of rounding
-issues, with the consequence that a key frame time may result set just
-before the specified time. For constant frame rate videos a value of
-1/2*<var>frame_rate</var> should address the worst case mismatch between
-the specified time and the time set by <var>force_key_frames</var>.
-</p>
-</dd>
-<dt> &lsquo;<samp>segment_times <var>times</var></samp>&rsquo;</dt>
-<dd><p>Specify a list of split points. <var>times</var> contains a list of comma
-separated duration specifications, in increasing order. See also
-the &lsquo;<samp>segment_time</samp>&rsquo; option.
-</p>
 </dd>
-<dt> &lsquo;<samp>segment_frames <var>frames</var></samp>&rsquo;</dt>
-<dd><p>Specify a list of split video frame numbers. <var>frames</var> contains a
-list of comma separated integer numbers, in increasing order.
+<dt> &lsquo;<samp>glob</samp>&rsquo;</dt>
+<dd><p>Select a glob wildcard pattern type.
 </p>
-<p>This option specifies to start a new segment whenever a reference
-stream key frame is found and the sequential number (starting from 0)
-of the frame is greater or equal to the next value in the list.
+<p>The pattern is interpreted like a <code>glob()</code> pattern. This is only
+selectable if libavformat was compiled with globbing support.
 </p>
 </dd>
-<dt> &lsquo;<samp>segment_wrap <var>limit</var></samp>&rsquo;</dt>
-<dd><p>Wrap around segment index once it reaches <var>limit</var>.
+<dt> &lsquo;<samp>glob_sequence <em>(deprecated, will be removed)</em></samp>&rsquo;</dt>
+<dd><p>Select a mixed glob wildcard/sequence pattern.
 </p>
-</dd>
-<dt> &lsquo;<samp>segment_start_number <var>number</var></samp>&rsquo;</dt>
-<dd><p>Set the sequence number of the first segment. Defaults to <code>0</code>.
+<p>If your version of libavformat was compiled with globbing support, and
+the provided pattern contains at least one glob meta character among
+<code>%*?[]{}</code> that is preceded by an unescaped &quot;%&quot;, the pattern is
+interpreted like a <code>glob()</code> pattern, otherwise it is interpreted
+like a sequence pattern.
 </p>
-</dd>
-<dt> &lsquo;<samp>reset_timestamps <var>1|0</var></samp>&rsquo;</dt>
-<dd><p>Reset timestamps at the begin of each segment, so that each segment
-will start with near-zero timestamps. It is meant to ease the playback
-of the generated segments. May not work with some combinations of
-muxers/codecs. It is set to <code>0</code> by default.
+<p>All glob special characters <code>%*?[]{}</code> must be prefixed
+with &quot;%&quot;. To escape a literal &quot;%&quot; you shall use &quot;%%&quot;.
+</p>
+<p>For example the pattern <code>foo-%*.jpeg</code> will match all the
+filenames prefixed by &quot;foo-&quot; and terminating with &quot;.jpeg&quot;, and
+<code>foo-%?%?%?.jpeg</code> will match all the filenames prefixed with
+&quot;foo-&quot;, followed by a sequence of three characters, and terminating
+with &quot;.jpeg&quot;.
 </p>
-</dd>
-<dt> &lsquo;<samp>initial_offset <var>offset</var></samp>&rsquo;</dt>
-<dd><p>Specify timestamp offset to apply to the output packet timestamps. The
-argument must be a time duration specification, and defaults to 0.
+<p>This pattern type is deprecated in favor of <var>glob</var> and
+<var>sequence</var>.
 </p></dd>
 </dl>
 
-<a name="Examples-52"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-52">20.16.1 Examples</a></h3>
+<p>Default value is <var>glob_sequence</var>.
+</p></dd>
+<dt> &lsquo;<samp>pixel_format</samp>&rsquo;</dt>
+<dd><p>Set the pixel format of the images to read. If not specified the pixel
+format is guessed from the first image file in the sequence.
+</p></dd>
+<dt> &lsquo;<samp>start_number</samp>&rsquo;</dt>
+<dd><p>Set the index of the file matched by the image file pattern to start
+to read from. Default value is 0.
+</p></dd>
+<dt> &lsquo;<samp>start_number_range</samp>&rsquo;</dt>
+<dd><p>Set the index interval range to check when looking for the first image
+file in the sequence, starting from <var>start_number</var>. Default value
+is 5.
+</p></dd>
+<dt> &lsquo;<samp>ts_from_file</samp>&rsquo;</dt>
+<dd><p>If set to 1, will set frame timestamp to modification time of image file. Note
+that monotonity of timestamps is not provided: images go in the same order as
+without this option. Default value is 0.
+</p></dd>
+<dt> &lsquo;<samp>video_size</samp>&rsquo;</dt>
+<dd><p>Set the video size of the images to read. If not specified the video
+size is guessed from the first image file in the sequence.
+</p></dd>
+</dl>
+
+<a name="Examples-38"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-38">16.7.1 Examples</a></h3>
 
 <ul>
 <li>
-To remux the content of file &lsquo;<tt>in.mkv</tt>&rsquo; to a list of segments
-&lsquo;<tt>out-000.nut</tt>&rsquo;, &lsquo;<tt>out-001.nut</tt>&rsquo;, etc., and write the list of
-generated segments to &lsquo;<tt>out.list</tt>&rsquo;:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i in.mkv -codec copy -map 0 -f segment -segment_list out.list out%03d.nut
-</pre></td></tr></table>
-
-</li><li>
-As the example above, but segment the input file according to the split
-points specified by the <var>segment_times</var> option:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i in.mkv -codec copy -map 0 -f segment -segment_list out.csv -segment_times 1,2,3,5,8,13,21 out%03d.nut
-</pre></td></tr></table>
-
-</li><li>
-As the example above, but use the <code>ffmpeg</code> &lsquo;<samp>force_key_frames</samp>&rsquo;
-option to force key frames in the input at the specified location, together
-with the segment option &lsquo;<samp>segment_time_delta</samp>&rsquo; to account for
-possible roundings operated when setting key frame times.
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i in.mkv -force_key_frames 1,2,3,5,8,13,21 -codec:v mpeg4 -codec:a pcm_s16le -map 0 \
--f segment -segment_list out.csv -segment_times 1,2,3,5,8,13,21 -segment_time_delta 0.05 out%03d.nut
-</pre></td></tr></table>
-<p>In order to force key frames on the input file, transcoding is
-required.
-</p>
-</li><li>
-Segment the input file by splitting the input file according to the
-frame numbers sequence specified with the &lsquo;<samp>segment_frames</samp>&rsquo; option:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i in.mkv -codec copy -map 0 -f segment -segment_list out.csv -segment_frames 100,200,300,500,800 out%03d.nut
+Use <code>ffmpeg</code> for creating a video from the images in the file
+sequence &lsquo;<tt>img-001.jpeg</tt>&rsquo;, &lsquo;<tt>img-002.jpeg</tt>&rsquo;, ..., assuming an
+input frame rate of 10 frames per second:
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -framerate 10 -i 'img-%03d.jpeg' out.mkv
 </pre></td></tr></table>
 
 </li><li>
-To convert the &lsquo;<tt>in.mkv</tt>&rsquo; to TS segments using the <code>libx264</code>
-and <code>libfaac</code> encoders:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i in.mkv -map 0 -codec:v libx264 -codec:a libfaac -f ssegment -segment_list out.list out%03d.ts
+As above, but start by reading from a file with index 100 in the sequence:
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -framerate 10 -start_number 100 -i 'img-%03d.jpeg' out.mkv
 </pre></td></tr></table>
 
 </li><li>
-Segment the input file, and create an M3U8 live playlist (can be used
-as live HLS source):
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -re -i in.mkv -codec copy -map 0 -f segment -segment_list playlist.m3u8 \
--segment_list_flags +live -segment_time 10 out%03d.mkv
+Read images matching the &quot;*.png&quot; glob pattern , that is all the files
+terminating with the &quot;.png&quot; suffix:
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -framerate 10 -pattern_type glob -i &quot;*.png&quot; out.mkv
 </pre></td></tr></table>
 </li></ul>
 
-<a name="tee"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-tee">20.17 tee</a></h2>
+<a name="mpegts"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-mpegts">16.8 mpegts</a></h2>
 
-<p>The tee muxer can be used to write the same data to several files or any
-other kind of muxer. It can be used, for example, to both stream a video to
-the network and save it to disk at the same time.
-</p>
-<p>It is different from specifying several outputs to the <code>ffmpeg</code>
-command-line tool because the audio and video data will be encoded only once
-with the tee muxer; encoding can be a very expensive process. It is not
-useful when using the libavformat API directly because it is then possible
-to feed the same packets to several muxers directly.
+<p>MPEG-2 transport stream demuxer.
 </p>
-<p>The slave outputs are specified in the file name given to the muxer,
-separated by &rsquo;|&rsquo;. If any of the slave name contains the &rsquo;|&rsquo; separator,
-leading or trailing spaces or any special character, it must be
-escaped (see the &ldquo;Quoting and escaping&rdquo; section in the ffmpeg-utils
-manual).
+<dl compact="compact">
+<dt> &lsquo;<samp>fix_teletext_pts</samp>&rsquo;</dt>
+<dd><p>Overrides teletext packet PTS and DTS values with the timestamps calculated
+from the PCR of the first program which the teletext stream is part of and is
+not discarded. Default value is 1, set this option to 0 if you want your
+teletext packet PTS and DTS values untouched.
+</p></dd>
+</dl>
+
+<a name="rawvideo-1"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-rawvideo-1">16.9 rawvideo</a></h2>
+
+<p>Raw video demuxer.
 </p>
-<p>Muxer options can be specified for each slave by prepending them as a list of
-<var>key</var>=<var>value</var> pairs separated by &rsquo;:&rsquo;, between square brackets. If
-the options values contain a special character or the &rsquo;:&rsquo; separator, they
-must be escaped; note that this is a second level escaping.
+<p>This demuxer allows one to read raw video data. Since there is no header
+specifying the assumed video parameters, the user must specify them
+in order to be able to decode the data correctly.
 </p>
-<p>The following special options are also recognized:
+<p>This demuxer accepts the following options:
 </p><dl compact="compact">
-<dt> &lsquo;<samp>f</samp>&rsquo;</dt>
-<dd><p>Specify the format name. Useful if it cannot be guessed from the
-output name suffix.
+<dt> &lsquo;<samp>framerate</samp>&rsquo;</dt>
+<dd><p>Set input video frame rate. Default value is 25.
 </p>
 </dd>
-<dt> &lsquo;<samp>bsfs[/<var>spec</var>]</samp>&rsquo;</dt>
-<dd><p>Specify a list of bitstream filters to apply to the specified
-output. It is possible to specify to which streams a given bitstream
-filter applies, by appending a stream specifier to the option
-separated by <code>/</code>. If the stream specifier is not specified, the
-bistream filters will be applied to all streams in the output.
-</p>
-<p>Several bitstream filters can be specified, separated by &quot;,&quot;.
+<dt> &lsquo;<samp>pixel_format</samp>&rsquo;</dt>
+<dd><p>Set the input video pixel format. Default value is <code>yuv420p</code>.
 </p>
 </dd>
-<dt> &lsquo;<samp>select</samp>&rsquo;</dt>
-<dd><p>Select the streams that should be mapped to the slave output,
-specified by a stream specifier. If not specified, this defaults to
-all the input streams.
+<dt> &lsquo;<samp>video_size</samp>&rsquo;</dt>
+<dd><p>Set the input video size. This value must be specified explicitly.
 </p></dd>
 </dl>
 
-<p>Some examples follow.
-</p><ul>
-<li>
-Encode something and both archive it in a WebM file and stream it
-as MPEG-TS over UDP (the streams need to be explicitly mapped):
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i ... -c:v libx264 -c:a mp2 -f tee -map 0:v -map 0:a
-  &quot;archive-20121107.mkv|[f=mpegts]udp://10.0.1.255:1234/&quot;
+<p>For example to read a rawvideo file &lsquo;<tt>input.raw</tt>&rsquo; with
+<code>ffplay</code>, assuming a pixel format of <code>rgb24</code>, a video
+size of <code>320x240</code>, and a frame rate of 10 images per second, use
+the command:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">ffplay -f rawvideo -pixel_format rgb24 -video_size 320x240 -framerate 10 input.raw
 </pre></td></tr></table>
 
-</li><li>
-Use <code>ffmpeg</code> to encode the input, and send the output
-to three different destinations. The <code>dump_extra</code> bitstream
-filter is used to add extradata information to all the output video
-keyframes packets, as requested by the MPEG-TS format. The select
-option is applied to &lsquo;<tt>out.aac</tt>&rsquo; in order to make it contain only
-audio packets.
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i ... -map 0 -flags +global_header -c:v libx264 -c:a aac -strict experimental
-       -f tee &quot;[bsfs/v=dump_extra]out.ts|[movflags=+faststart]out.mp4|[select=a]out.aac&quot;
+<a name="sbg"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-sbg">16.10 sbg</a></h2>
+
+<p>SBaGen script demuxer.
+</p>
+<p>This demuxer reads the script language used by SBaGen
+<a href="http://uazu.net/sbagen/">http://uazu.net/sbagen/</a> to generate binaural beats sessions. A SBG
+script looks like that:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">-SE
+a: 300-2.5/3 440+4.5/0
+b: 300-2.5/0 440+4.5/3
+off: -
+NOW      == a
++0:07:00 == b
++0:14:00 == a
++0:21:00 == b
++0:30:00    off
 </pre></td></tr></table>
-</li></ul>
 
-<p>Note: some codecs may need different options depending on the output format;
-the auto-detection of this can not work with the tee muxer. The main example
-is the &lsquo;<samp>global_header</samp>&rsquo; flag.
+<p>A SBG script can mix absolute and relative timestamps. If the script uses
+either only absolute timestamps (including the script start time) or only
+relative ones, then its layout is fixed, and the conversion is
+straightforward. On the other hand, if the script mixes both kind of
+timestamps, then the <var>NOW</var> reference for relative timestamps will be
+taken from the current time of day at the time the script is read, and the
+script layout will be frozen according to that reference. That means that if
+the script is directly played, the actual times will match the absolute
+timestamps up to the sound controller&rsquo;s clock accuracy, but if the user
+somehow pauses the playback or seeks, all times will be shifted accordingly.
+</p>
+<a name="tedcaptions"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-tedcaptions">16.11 tedcaptions</a></h2>
+
+<p>JSON captions used for <a href="http://www.ted.com/">TED Talks</a>.
+</p>
+<p>TED does not provide links to the captions, but they can be guessed from the
+page. The file &lsquo;<tt>tools/bookmarklets.html</tt>&rsquo; from the FFmpeg source tree
+contains a bookmarklet to expose them.
 </p>
+<p>This demuxer accepts the following option:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>start_time</samp>&rsquo;</dt>
+<dd><p>Set the start time of the TED talk, in milliseconds. The default is 15000
+(15s). It is used to sync the captions with the downloadable videos, because
+they include a 15s intro.
+</p></dd>
+</dl>
+
+<p>Example: convert the captions to a format most players understand:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i http://www.ted.com/talks/subtitles/id/1/lang/en talk1-en.srt
+</pre></td></tr></table>
+
 <a name="Metadata"></a>
-<h1 class="chapter"><a href="ffprobe-all.html#toc-Metadata">21. Metadata</a></h1>
+<h1 class="chapter"><a href="ffprobe-all.html#toc-Metadata">17. Metadata</a></h1>
 
 <p>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.
@@ -8852,7 +5512,7 @@ be done as:
 </pre></td></tr></table>
 
 <a name="Protocols"></a>
-<h1 class="chapter"><a href="ffprobe-all.html#toc-Protocols">22. Protocols</a></h1>
+<h1 class="chapter"><a href="ffprobe-all.html#toc-Protocols">18. Protocols</a></h1>
 
 <p>Protocols are configured elements in FFmpeg that enable access to
 resources that require specific protocols.
@@ -8873,7 +5533,7 @@ supported protocols.
 <p>A description of the currently available protocols follows.
 </p>
 <a name="bluray"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-bluray">22.1 bluray</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-bluray">18.1 bluray</a></h2>
 
 <p>Read BluRay playlist.
 </p>
@@ -8904,7 +5564,7 @@ supported protocols.
 </pre></td></tr></table>
 
 <a name="cache"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-cache">22.2 cache</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-cache">18.2 cache</a></h2>
 
 <p>Caching wrapper for input stream.
 </p>
@@ -8914,7 +5574,7 @@ supported protocols.
 </pre></td></tr></table>
 
 <a name="concat-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-concat-1">22.3 concat</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-concat-1">18.3 concat</a></h2>
 
 <p>Physical concatenation protocol.
 </p>
@@ -8939,7 +5599,7 @@ command:
 many shells.
 </p>
 <a name="crypto"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-crypto">22.4 crypto</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-crypto">18.4 crypto</a></h2>
 
 <p>AES-encrypted stream reading protocol.
 </p>
@@ -8960,7 +5620,7 @@ crypto+<var>URL</var>
 </pre></td></tr></table>
 
 <a name="data"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-data">22.5 data</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-data">18.5 data</a></h2>
 
 <p>Data in-line in the URI. See <a href="http://en.wikipedia.org/wiki/Data_URI_scheme">http://en.wikipedia.org/wiki/Data_URI_scheme</a>.
 </p>
@@ -8969,21 +5629,28 @@ crypto+<var>URL</var>
 </pre></td></tr></table>
 
 <a name="file"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-file">22.6 file</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-file">18.6 file</a></h2>
 
 <p>File access protocol.
 </p>
-<p>Allow to read from or read to a file.
+<p>Allow to read from or write to a file.
+</p>
+<p>A file URL can have the form:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">file:<var>filename</var>
+</pre></td></tr></table>
+
+<p>where <var>filename</var> is the path of the file to read.
+</p>
+<p>An URL that does not have a protocol prefix will be assumed to be a
+file URL. Depending on the build, an URL that looks like a Windows
+path with the drive letter at the beginning will also be assumed to be
+a file URL (usually not the case in builds for unix-like systems).
 </p>
 <p>For example to read from a file &lsquo;<tt>input.mpeg</tt>&rsquo; with <code>ffmpeg</code>
 use the command:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i file:input.mpeg output.mpeg
 </pre></td></tr></table>
 
-<p>The ff* tools default to the file protocol, that is a resource
-specified with the name &quot;FILE.mpeg&quot; is interpreted as the URL
-&quot;file:FILE.mpeg&quot;.
-</p>
 <p>This protocol accepts the following options:
 </p>
 <dl compact="compact">
@@ -9001,7 +5668,7 @@ time, which is valuable for files on slow medium.
 </dl>
 
 <a name="ftp"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-ftp">22.7 ftp</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-ftp">18.7 ftp</a></h2>
 
 <p>FTP (File Transfer Protocol).
 </p>
@@ -9038,12 +5705,12 @@ etc.). Different FTP servers behave in different way during seek
 operation. ff* tools may produce incomplete content due to server limitations.
 </p>
 <a name="gopher"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-gopher">22.8 gopher</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-gopher">18.8 gopher</a></h2>
 
 <p>Gopher protocol.
 </p>
-<a name="hls-2"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-hls-2">22.9 hls</a></h2>
+<a name="hls"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-hls">18.9 hls</a></h2>
 
 <p>Read Apple HTTP Live Streaming compliant segmented stream as
 a uniform one. The M3U8 playlists describing the segments can be
@@ -9063,11 +5730,11 @@ To use the hls demuxer instead, simply use the direct URLs to the
 m3u8 files.
 </p>
 <a name="http"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-http">22.10 http</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-http">18.10 http</a></h2>
 
 <p>HTTP (Hyper Text Transfer Protocol).
 </p>
-<p>This protocol accepts the following options.
+<p>This protocol accepts the following options:
 </p>
 <dl compact="compact">
 <dt> &lsquo;<samp>seekable</samp>&rsquo;</dt>
@@ -9078,31 +5745,32 @@ value is -1.
 </p>
 </dd>
 <dt> &lsquo;<samp>chunked_post</samp>&rsquo;</dt>
-<dd><p>If set to 1 use chunked transfer-encoding for posts, default is 1.
-</p>
-</dd>
-<dt> &lsquo;<samp>headers</samp>&rsquo;</dt>
-<dd><p>Set custom HTTP headers, can override built in default headers. The
-value must be a string encoding the headers.
+<dd><p>If set to 1 use chunked Transfer-Encoding for posts, default is 1.
 </p>
 </dd>
 <dt> &lsquo;<samp>content_type</samp>&rsquo;</dt>
-<dd><p>Force a content type.
+<dd><p>Set a specific content type for the POST messages.
 </p>
 </dd>
-<dt> &lsquo;<samp>user-agent</samp>&rsquo;</dt>
-<dd><p>Override User-Agent header. If not specified the protocol will use a
-string describing the libavformat build.
+<dt> &lsquo;<samp>headers</samp>&rsquo;</dt>
+<dd><p>Set custom HTTP headers, can override built in default headers. The
+value must be a string encoding the headers.
 </p>
 </dd>
 <dt> &lsquo;<samp>multiple_requests</samp>&rsquo;</dt>
-<dd><p>Use persistent connections if set to 1. By default it is 0.
+<dd><p>Use persistent connections if set to 1, default is 0.
 </p>
 </dd>
 <dt> &lsquo;<samp>post_data</samp>&rsquo;</dt>
 <dd><p>Set custom HTTP post data.
 </p>
 </dd>
+<dt> &lsquo;<samp>user-agent</samp>&rsquo;</dt>
+<dt> &lsquo;<samp>user_agent</samp>&rsquo;</dt>
+<dd><p>Override the User-Agent header. If not specified the protocol will use a
+string describing the libavformat build. (&quot;Lavf/&lt;version&gt;&quot;)
+</p>
+</dd>
 <dt> &lsquo;<samp>timeout</samp>&rsquo;</dt>
 <dd><p>Set timeout of socket I/O operations used by the underlying low level
 operation. By default it is set to -1, which means that the timeout is
@@ -9110,7 +5778,7 @@ not specified.
 </p>
 </dd>
 <dt> &lsquo;<samp>mime_type</samp>&rsquo;</dt>
-<dd><p>Set MIME type.
+<dd><p>Export the MIME type.
 </p>
 </dd>
 <dt> &lsquo;<samp>icy</samp>&rsquo;</dt>
@@ -9121,24 +5789,34 @@ The default is 0.
 </p>
 </dd>
 <dt> &lsquo;<samp>icy_metadata_headers</samp>&rsquo;</dt>
-<dd><p>If the server supports ICY metadata, this contains the ICY specific HTTP reply
-headers, separated with newline characters.
+<dd><p>If the server supports ICY metadata, this contains the ICY-specific HTTP reply
+headers, separated by newline characters.
 </p>
 </dd>
 <dt> &lsquo;<samp>icy_metadata_packet</samp>&rsquo;</dt>
 <dd><p>If the server supports ICY metadata, and &lsquo;<samp>icy</samp>&rsquo; was set to 1, this
-contains the last non-empty metadata packet sent by the server.
+contains the last non-empty metadata packet sent by the server. It should be
+polled in regular intervals by applications interested in mid-stream metadata
+updates.
 </p>
 </dd>
 <dt> &lsquo;<samp>cookies</samp>&rsquo;</dt>
 <dd><p>Set the cookies to be sent in future requests. The format of each cookie is the
 same as the value of a Set-Cookie HTTP response field. Multiple cookies can be
 delimited by a newline character.
+</p>
+</dd>
+<dt> &lsquo;<samp>offset</samp>&rsquo;</dt>
+<dd><p>Set initial byte offset.
+</p>
+</dd>
+<dt> &lsquo;<samp>end_offset</samp>&rsquo;</dt>
+<dd><p>Try to limit the request to bytes preceding this offset.
 </p></dd>
 </dl>
 
 <a name="HTTP-Cookies"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-HTTP-Cookies">22.10.1 HTTP Cookies</a></h3>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-HTTP-Cookies">18.10.1 HTTP Cookies</a></h3>
 
 <p>Some HTTP requests will be denied unless cookie values are passed in with the
 request. The &lsquo;<samp>cookies</samp>&rsquo; option allows these cookies to be specified. At
@@ -9152,12 +5830,12 @@ by a newline.
 </pre></td></tr></table>
 
 <a name="mmst"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-mmst">22.11 mmst</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-mmst">18.11 mmst</a></h2>
 
 <p>MMS (Microsoft Media Server) protocol over TCP.
 </p>
 <a name="mmsh"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-mmsh">22.12 mmsh</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-mmsh">18.12 mmsh</a></h2>
 
 <p>MMS (Microsoft Media Server) protocol over HTTP.
 </p>
@@ -9165,8 +5843,8 @@ by a newline.
 </p><table><tr><td>&nbsp;</td><td><pre class="example">mmsh://<var>server</var>[:<var>port</var>][/<var>app</var>][/<var>playpath</var>]
 </pre></td></tr></table>
 
-<a name="md5-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-md5-1">22.13 md5</a></h2>
+<a name="md5"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-md5">18.13 md5</a></h2>
 
 <p>MD5 output protocol.
 </p>
@@ -9186,7 +5864,7 @@ ffmpeg -i input.flv -f avi -y md5:
 be seekable, so they will fail with the MD5 output protocol.
 </p>
 <a name="pipe"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-pipe">22.14 pipe</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-pipe">18.14 pipe</a></h2>
 
 <p>UNIX pipe access protocol.
 </p>
@@ -9228,7 +5906,7 @@ time, which is valuable if data transmission is slow.
 be seekable, so they will fail with the pipe output protocol.
 </p>
 <a name="rtmp"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-rtmp">22.15 rtmp</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-rtmp">18.15 rtmp</a></h2>
 
 <p>Real-Time Messaging Protocol.
 </p>
@@ -9374,7 +6052,7 @@ app names separately:
 </pre></td></tr></table>
 
 <a name="rtmpe"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-rtmpe">22.16 rtmpe</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-rtmpe">18.16 rtmpe</a></h2>
 
 <p>Encrypted Real-Time Messaging Protocol.
 </p>
@@ -9384,7 +6062,7 @@ consisting of Diffie-Hellman key exchange and HMACSHA256, generating
 a pair of RC4 keys.
 </p>
 <a name="rtmps"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-rtmps">22.17 rtmps</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-rtmps">18.17 rtmps</a></h2>
 
 <p>Real-Time Messaging Protocol over a secure SSL connection.
 </p>
@@ -9392,7 +6070,7 @@ a pair of RC4 keys.
 multimedia content across an encrypted connection.
 </p>
 <a name="rtmpt"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-rtmpt">22.18 rtmpt</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-rtmpt">18.18 rtmpt</a></h2>
 
 <p>Real-Time Messaging Protocol tunneled through HTTP.
 </p>
@@ -9401,7 +6079,7 @@ for streaming multimedia content within HTTP requests to traverse
 firewalls.
 </p>
 <a name="rtmpte"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-rtmpte">22.19 rtmpte</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-rtmpte">18.19 rtmpte</a></h2>
 
 <p>Encrypted Real-Time Messaging Protocol tunneled through HTTP.
 </p>
@@ -9410,7 +6088,7 @@ is used for streaming multimedia content within HTTP requests to traverse
 firewalls.
 </p>
 <a name="rtmpts"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-rtmpts">22.20 rtmpts</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-rtmpts">18.20 rtmpts</a></h2>
 
 <p>Real-Time Messaging Protocol tunneled through HTTPS.
 </p>
@@ -9419,7 +6097,7 @@ for streaming multimedia content within HTTPS requests to traverse
 firewalls.
 </p>
 <a name="libssh"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-libssh">22.21 libssh</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-libssh">18.21 libssh</a></h2>
 
 <p>Secure File Transfer Protocol via libssh
 </p>
@@ -9444,6 +6122,11 @@ is not specified.
 truncating. Default value is 1.
 </p>
 </dd>
+<dt> &lsquo;<samp>private_key</samp>&rsquo;</dt>
+<dd><p>Specify the path of the file containing private key to use during authorization.
+By default libssh searches for keys in the &lsquo;<tt>~/.ssh/</tt>&rsquo; directory.
+</p>
+</dd>
 </dl>
 
 <p>Example: Play a file stored on remote server.
@@ -9452,7 +6135,7 @@ truncating. Default value is 1.
 </pre></td></tr></table>
 
 <a name="librtmp-rtmp_002c-rtmpe_002c-rtmps_002c-rtmpt_002c-rtmpte"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-librtmp-rtmp_002c-rtmpe_002c-rtmps_002c-rtmpt_002c-rtmpte">22.22 librtmp rtmp, rtmpe, rtmps, rtmpt, rtmpte</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-librtmp-rtmp_002c-rtmpe_002c-rtmps_002c-rtmpt_002c-rtmpte">18.22 librtmp rtmp, rtmpe, rtmps, rtmpt, rtmpte</a></h2>
 
 <p>Real-Time Messaging Protocol and its variants supported through
 librtmp.
@@ -9490,7 +6173,7 @@ meaning as specified for the RTMP native protocol.
 </pre></td></tr></table>
 
 <a name="rtp"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-rtp">22.23 rtp</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-rtp">18.23 rtp</a></h2>
 
 <p>Real-time Transport Protocol.
 </p>
@@ -9566,8 +6249,10 @@ set to the the local RTP port value plus 1.
 </li></ol>
 
 <a name="rtsp"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-rtsp">22.24 rtsp</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-rtsp">18.24 rtsp</a></h2>
 
+<p>Real-Time Streaming Protocol.
+</p>
 <p>RTSP is not technically a protocol handler in libavformat, it is a demuxer
 and muxer. The demuxer supports both normal RTSP (with data transferred
 over RTP; this is used by e.g. Apple and Microsoft) and Real-RTSP (with
@@ -9581,13 +6266,23 @@ supporting it (currently Darwin Streaming Server and Mischa Spiegelmock&rsquo;s
 </p><table><tr><td>&nbsp;</td><td><pre class="example">rtsp://<var>hostname</var>[:<var>port</var>]/<var>path</var>
 </pre></td></tr></table>
 
-<p>The following options (set on the <code>ffmpeg</code>/<code>ffplay</code> command
-line, or set in code via <code>AVOption</code>s or in <code>avformat_open_input</code>),
-are supported:
+<p>Options can be set on the <code>ffmpeg</code>/<code>ffplay</code> command
+line, or set in code via <code>AVOption</code>s or in
+<code>avformat_open_input</code>.
 </p>
-<p>Flags for <code>rtsp_transport</code>:
+<p>The following options are supported.
 </p>
 <dl compact="compact">
+<dt> &lsquo;<samp>initial_pause</samp>&rsquo;</dt>
+<dd><p>Do not start playing the stream immediately if set to 1. Default value
+is 0.
+</p>
+</dd>
+<dt> &lsquo;<samp>rtsp_transport</samp>&rsquo;</dt>
+<dd><p>Set RTSP trasport protocols.
+</p>
+<p>It accepts the following values:
+</p><dl compact="compact">
 <dt> &lsquo;<samp>udp</samp>&rsquo;</dt>
 <dd><p>Use UDP as lower transport protocol.
 </p>
@@ -9609,11 +6304,14 @@ passing proxies.
 
 <p>Multiple lower transport protocols may be specified, in that case they are
 tried one at a time (if the setup of one fails, the next one is tried).
-For the muxer, only the <code>tcp</code> and <code>udp</code> options are supported.
+For the muxer, only the &lsquo;<samp>tcp</samp>&rsquo; and &lsquo;<samp>udp</samp>&rsquo; options are supported.
 </p>
-<p>Flags for <code>rtsp_flags</code>:
+</dd>
+<dt> &lsquo;<samp>rtsp_flags</samp>&rsquo;</dt>
+<dd><p>Set RTSP flags.
 </p>
-<dl compact="compact">
+<p>The following values are accepted:
+</p><dl compact="compact">
 <dt> &lsquo;<samp>filter_src</samp>&rsquo;</dt>
 <dd><p>Accept packets only from negotiated peer address and port.
 </p></dd>
@@ -9622,6 +6320,51 @@ For the muxer, only the <code>tcp</code> and <code>udp</code> options are suppor
 </p></dd>
 </dl>
 
+<p>Default value is &lsquo;<samp>none</samp>&rsquo;.
+</p>
+</dd>
+<dt> &lsquo;<samp>allowed_media_types</samp>&rsquo;</dt>
+<dd><p>Set media types to accept from the server.
+</p>
+<p>The following flags are accepted:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>video</samp>&rsquo;</dt>
+<dt> &lsquo;<samp>audio</samp>&rsquo;</dt>
+<dt> &lsquo;<samp>data</samp>&rsquo;</dt>
+</dl>
+
+<p>By default it accepts all media types.
+</p>
+</dd>
+<dt> &lsquo;<samp>min_port</samp>&rsquo;</dt>
+<dd><p>Set minimum local UDP port. Default value is 5000.
+</p>
+</dd>
+<dt> &lsquo;<samp>max_port</samp>&rsquo;</dt>
+<dd><p>Set maximum local UDP port. Default value is 65000.
+</p>
+</dd>
+<dt> &lsquo;<samp>timeout</samp>&rsquo;</dt>
+<dd><p>Set maximum timeout (in seconds) to wait for incoming connections.
+</p>
+<p>A value of -1 mean infinite (default). This option implies the
+&lsquo;<samp>rtsp_flags</samp>&rsquo; set to &lsquo;<samp>listen</samp>&rsquo;.
+</p>
+</dd>
+<dt> &lsquo;<samp>reorder_queue_size</samp>&rsquo;</dt>
+<dd><p>Set number of packets to buffer for handling of reordered packets.
+</p>
+</dd>
+<dt> &lsquo;<samp>stimeout</samp>&rsquo;</dt>
+<dd><p>Set socket TCP I/O timeout in micro seconds.
+</p>
+</dd>
+<dt> &lsquo;<samp>user-agent</samp>&rsquo;</dt>
+<dd><p>Override User-Agent header. If not specified, it default to the
+libavformat identifier string.
+</p></dd>
+</dl>
+
 <p>When receiving data over UDP, the demuxer tries to reorder received packets
 (since they may arrive out of order, or packets may get lost totally). This
 can be disabled by setting the maximum demuxing delay to zero (via
@@ -9632,36 +6375,36 @@ streams to display can be chosen with <code>-vst</code> <var>n</var> and
 <code>-ast</code> <var>n</var> for video and audio respectively, and can be switched
 on the fly by pressing <code>v</code> and <code>a</code>.
 </p>
-<p>Example command lines:
-</p>
-<p>To watch a stream over UDP, with a max reordering delay of 0.5 seconds:
+<a name="Examples-32"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-32">18.24.1 Examples</a></h3>
+
+<p>The following examples all make use of the <code>ffplay</code> and
+<code>ffmpeg</code> tools.
 </p>
+<ul>
+<li>
+Watch a stream over UDP, with a max reordering delay of 0.5 seconds:
 <table><tr><td>&nbsp;</td><td><pre class="example">ffplay -max_delay 500000 -rtsp_transport udp rtsp://server/video.mp4
 </pre></td></tr></table>
 
-<p>To watch a stream tunneled over HTTP:
-</p>
+</li><li>
+Watch a stream tunneled over HTTP:
 <table><tr><td>&nbsp;</td><td><pre class="example">ffplay -rtsp_transport http rtsp://server/video.mp4
 </pre></td></tr></table>
 
-<p>To send a stream in realtime to a RTSP server, for others to watch:
-</p>
+</li><li>
+Send a stream in realtime to a RTSP server, for others to watch:
 <table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -re -i <var>input</var> -f rtsp -muxdelay 0.1 rtsp://server/live.sdp
 </pre></td></tr></table>
 
-<p>To receive a stream in realtime:
-</p>
+</li><li>
+Receive a stream in realtime:
 <table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -rtsp_flags listen -i rtsp://ownaddress/live.sdp <var>output</var>
 </pre></td></tr></table>
-
-<dl compact="compact">
-<dt> &lsquo;<samp>stimeout</samp>&rsquo;</dt>
-<dd><p>Socket IO timeout in micro seconds.
-</p></dd>
-</dl>
+</li></ul>
 
 <a name="sap"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-sap">22.25 sap</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-sap">18.25 sap</a></h2>
 
 <p>Session Announcement Protocol (RFC 2974). This is not technically a
 protocol handler in libavformat, it is a muxer and demuxer.
@@ -9669,7 +6412,7 @@ It is used for signalling of RTP streams, by announcing the SDP for the
 streams regularly on a separate port.
 </p>
 <a name="Muxer"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Muxer">22.25.1 Muxer</a></h3>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Muxer">18.25.1 Muxer</a></h3>
 
 <p>The syntax for a SAP url given to the muxer is:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">sap://<var>destination</var>[:<var>port</var>][?<var>options</var>]
@@ -9726,7 +6469,7 @@ on unique ports.
 </pre></td></tr></table>
 
 <a name="Demuxer"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Demuxer">22.25.2 Demuxer</a></h3>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Demuxer">18.25.2 Demuxer</a></h3>
 
 <p>The syntax for a SAP url given to the demuxer is:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">sap://[<var>address</var>][:<var>port</var>]
@@ -9752,7 +6495,7 @@ Once an announcement is received, it tries to receive that particular stream.
 </pre></td></tr></table>
 
 <a name="sctp"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-sctp">22.26 sctp</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-sctp">18.26 sctp</a></h2>
 
 <p>Stream Control Transmission Protocol.
 </p>
@@ -9772,7 +6515,7 @@ Once an announcement is received, it tries to receive that particular stream.
 </dl>
 
 <a name="srtp"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-srtp">22.27 srtp</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-srtp">18.27 srtp</a></h2>
 
 <p>Secure Real-time Transport Protocol.
 </p>
@@ -9801,33 +6544,44 @@ used as master salt.
 </dl>
 
 <a name="tcp"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-tcp">22.28 tcp</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-tcp">18.28 tcp</a></h2>
 
-<p>Trasmission Control Protocol.
+<p>Transmission Control Protocol.
 </p>
 <p>The required syntax for a TCP url is:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">tcp://<var>hostname</var>:<var>port</var>[?<var>options</var>]
 </pre></td></tr></table>
 
+<p><var>options</var> contains a list of &amp;-separated options of the form
+<var>key</var>=<var>val</var>.
+</p>
+<p>The list of supported options follows.
+</p>
 <dl compact="compact">
-<dt> &lsquo;<samp>listen</samp>&rsquo;</dt>
-<dd><p>Listen for an incoming connection
+<dt> &lsquo;<samp>listen=<var>1|0</var></samp>&rsquo;</dt>
+<dd><p>Listen for an incoming connection. Default value is 0.
 </p>
 </dd>
 <dt> &lsquo;<samp>timeout=<var>microseconds</var></samp>&rsquo;</dt>
-<dd><p>In read mode: if no data arrived in more than this time interval, raise error.
-In write mode: if socket cannot be written in more than this time interval, raise error.
-This also sets timeout on TCP connection establishing.
+<dd><p>Set raise error timeout, expressed in microseconds.
+</p>
+<p>This option is only relevant in read mode: if no data arrived in more
+than this time interval, raise error.
 </p>
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i <var>input</var> -f <var>format</var> tcp://<var>hostname</var>:<var>port</var>?listen
-ffplay tcp://<var>hostname</var>:<var>port</var>
-</pre></td></tr></table>
-
 </dd>
+<dt> &lsquo;<samp>listen_timeout=<var>microseconds</var></samp>&rsquo;</dt>
+<dd><p>Set listen timeout, expressed in microseconds.
+</p></dd>
 </dl>
 
+<p>The following example shows how to setup a listening TCP connection
+with <code>ffmpeg</code>, which is then accessed with <code>ffplay</code>:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i <var>input</var> -f <var>format</var> tcp://<var>hostname</var>:<var>port</var>?listen
+ffplay tcp://<var>hostname</var>:<var>port</var>
+</pre></td></tr></table>
+
 <a name="tls"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-tls">22.29 tls</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-tls">18.29 tls</a></h2>
 
 <p>Transport Layer Security (TLS) / Secure Sockets Layer (SSL)
 </p>
@@ -9890,18 +6644,18 @@ the server role in the handshake instead of the client role.
 </pre></td></tr></table>
 
 <a name="udp"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-udp">22.30 udp</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-udp">18.30 udp</a></h2>
 
 <p>User Datagram Protocol.
 </p>
-<p>The required syntax for a UDP url is:
+<p>The required syntax for an UDP URL is:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">udp://<var>hostname</var>:<var>port</var>[?<var>options</var>]
 </pre></td></tr></table>
 
 <p><var>options</var> contains a list of &amp;-separated options of the form <var>key</var>=<var>val</var>.
 </p>
 <p>In case threading is enabled on the system, a circular buffer is used
-to store the incoming data, which allows to reduce loss of data due to
+to store the incoming data, which allows one to reduce loss of data due to
 UDP socket buffer overruns. The <var>fifo_size</var> and
 <var>overrun_nonfatal</var> options are related to this buffer.
 </p>
@@ -9968,26 +6722,36 @@ value is 0.
 </p>
 </dd>
 <dt> &lsquo;<samp>timeout=<var>microseconds</var></samp>&rsquo;</dt>
-<dd><p>In read mode: if no data arrived in more than this time interval, raise error.
+<dd><p>Set raise error timeout, expressed in microseconds.
+</p>
+<p>This option is only relevant in read mode: if no data arrived in more
+than this time interval, raise error.
 </p></dd>
 </dl>
 
-<p>Some usage examples of the UDP protocol with <code>ffmpeg</code> follow.
-</p>
-<p>To stream over UDP to a remote endpoint:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i <var>input</var> -f <var>format</var> udp://<var>hostname</var>:<var>port</var>
+<a name="Examples-65"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-65">18.30.1 Examples</a></h3>
+
+<ul>
+<li>
+Use <code>ffmpeg</code> to stream over UDP to a remote endpoint:
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i <var>input</var> -f <var>format</var> udp://<var>hostname</var>:<var>port</var>
 </pre></td></tr></table>
 
-<p>To stream in mpegts format over UDP using 188 sized UDP packets, using a large input buffer:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i <var>input</var> -f mpegts udp://<var>hostname</var>:<var>port</var>?pkt_size=188&amp;buffer_size=65535
+</li><li>
+Use <code>ffmpeg</code> to stream in mpegts format over UDP using 188
+sized UDP packets, using a large input buffer:
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i <var>input</var> -f mpegts udp://<var>hostname</var>:<var>port</var>?pkt_size=188&amp;buffer_size=65535
 </pre></td></tr></table>
 
-<p>To receive over UDP from a remote endpoint:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i udp://[<var>multicast-address</var>]:<var>port</var>
+</li><li>
+Use <code>ffmpeg</code> to receive over UDP from a remote endpoint:
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i udp://[<var>multicast-address</var>]:<var>port</var> ...
 </pre></td></tr></table>
+</li></ul>
 
 <a name="unix"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-unix">22.31 unix</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-unix">18.31 unix</a></h2>
 
 <p>Unix local socket
 </p>
@@ -10009,7 +6773,7 @@ value is 0.
 </dl>
 
 <a name="Device-Options"></a>
-<h1 class="chapter"><a href="ffprobe-all.html#toc-Device-Options">23. Device Options</a></h1>
+<h1 class="chapter"><a href="ffprobe-all.html#toc-Device-Options">19. Device Options</a></h1>
 
 <p>The libavdevice library provides the same interface as
 libavformat. Namely, an input device is considered like a demuxer, and
@@ -10027,7 +6791,7 @@ for programmatic use.
 </p>
 
 <a name="Input-Devices"></a>
-<h1 class="chapter"><a href="ffprobe-all.html#toc-Input-Devices">24. Input Devices</a></h1>
+<h1 class="chapter"><a href="ffprobe-all.html#toc-Input-Devices">20. Input Devices</a></h1>
 
 <p>Input devices are configured elements in FFmpeg which allow to access
 the data coming from a multimedia device attached to your system.
@@ -10047,7 +6811,7 @@ supported input devices (amongst the demuxers).
 <p>A description of the currently available input devices follows.
 </p>
 <a name="alsa"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-alsa">24.1 alsa</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-alsa">20.1 alsa</a></h2>
 
 <p>ALSA (Advanced Linux Sound Architecture) input device.
 </p>
@@ -10079,12 +6843,12 @@ card id 0, you may run the command:
 <a href="http://www.alsa-project.org/alsa-doc/alsa-lib/pcm.html">http://www.alsa-project.org/alsa-doc/alsa-lib/pcm.html</a>
 </p>
 <a name="bktr"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-bktr">24.2 bktr</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-bktr">20.2 bktr</a></h2>
 
 <p>BSD video input device.
 </p>
 <a name="dshow"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-dshow">24.3 dshow</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-dshow">20.3 dshow</a></h2>
 
 <p>Windows DirectShow input device.
 </p>
@@ -10102,8 +6866,8 @@ opened on the same input, which should improve synchronism between them.
 <p>where <var>TYPE</var> can be either <var>audio</var> or <var>video</var>,
 and <var>NAME</var> is the device&rsquo;s name.
 </p>
-<a name="Options-6"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-6">24.3.1 Options</a></h3>
+<a name="Options-13"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-13">20.3.1 Options</a></h3>
 
 <p>If no options are specified, the device&rsquo;s defaults are used.
 If the device does not support the requested options, it will
@@ -10166,8 +6930,8 @@ See also
 </dd>
 </dl>
 
-<a name="Examples-42"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-42">24.3.2 Examples</a></h3>
+<a name="Examples-63"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-63">20.3.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -10198,12 +6962,12 @@ Print the list of supported options in selected device and exit:
 </li></ul>
 
 <a name="dv1394"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-dv1394">24.4 dv1394</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-dv1394">20.4 dv1394</a></h2>
 
 <p>Linux DV 1394 input device.
 </p>
-<a name="fbdev-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-fbdev-1">24.5 fbdev</a></h2>
+<a name="fbdev"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-fbdev">20.5 fbdev</a></h2>
 
 <p>Linux framebuffer input device.
 </p>
@@ -10227,7 +6991,7 @@ Documentation/fb/framebuffer.txt included in the Linux source tree.
 <p>See also <a href="http://linux-fbdev.sourceforge.net/">http://linux-fbdev.sourceforge.net/</a>, and fbset(1).
 </p>
 <a name="iec61883"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-iec61883">24.6 iec61883</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-iec61883">20.6 iec61883</a></h2>
 
 <p>FireWire DV/HDV input device using libiec61883.
 </p>
@@ -10243,8 +7007,8 @@ Kernel 2.6.37 and later, since the old FireWire stack was removed.
 <p>Specify the FireWire port to be used as input file, or &quot;auto&quot;
 to choose the first port connected.
 </p>
-<a name="Options-18"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-18">24.6.1 Options</a></h3>
+<a name="Options-7"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-7">20.6.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>dvtype</samp>&rsquo;</dt>
@@ -10271,8 +7035,8 @@ Look at /sys/bus/firewire/devices to find out the GUIDs.
 </dd>
 </dl>
 
-<a name="Examples-45"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-45">24.6.2 Examples</a></h3>
+<a name="Examples-72"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-72">20.6.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -10289,7 +7053,7 @@ using a packet buffer of 100000 packets if the source is HDV.
 </li></ul>
 
 <a name="jack"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-jack">24.7 jack</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-jack">20.7 jack</a></h2>
 
 <p>JACK input device.
 </p>
@@ -10338,7 +7102,7 @@ $ jack_connect metro:120_bpm ffmpeg:input_1
 <a href="http://jackaudio.org/">http://jackaudio.org/</a>
 </p>
 <a name="lavfi"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-lavfi">24.8 lavfi</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-lavfi">20.8 lavfi</a></h2>
 
 <p>Libavfilter input virtual device.
 </p>
@@ -10350,8 +7114,8 @@ corresponding stream which is mapped to the generated output. Currently
 only video data is supported. The filtergraph is specified through the
 option &lsquo;<samp>graph</samp>&rsquo;.
 </p>
-<a name="Options-28"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-28">24.8.1 Options</a></h3>
+<a name="Options-10"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-10">20.8.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>graph</samp>&rsquo;</dt>
@@ -10374,8 +7138,8 @@ the option <var>graph</var>.
 </dd>
 </dl>
 
-<a name="Examples-11"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-11">24.8.2 Examples</a></h3>
+<a name="Examples-20"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-20">20.8.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -10409,12 +7173,12 @@ Read an audio stream and a video stream and play it back with
 </li></ul>
 
 <a name="libdc1394"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-libdc1394">24.9 libdc1394</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-libdc1394">20.9 libdc1394</a></h2>
 
 <p>IIDC1394 input device, based on libdc1394 and libraw1394.
 </p>
 <a name="openal"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-openal">24.10 openal</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-openal">20.10 openal</a></h2>
 
 <p>The OpenAL input device provides audio capture on all systems with a
 working OpenAL 1.1 implementation.
@@ -10449,7 +7213,7 @@ See <a href="http://developer.apple.com/technologies/mac/audio-and-video.html">h
 </p></dd>
 </dl>
 
-<p>This device allows to capture from an audio input device handled
+<p>This device allows one to capture from an audio input device handled
 through OpenAL.
 </p>
 <p>You need to specify the name of the device to capture in the provided
@@ -10457,8 +7221,8 @@ filename. If the empty string is provided, the device will
 automatically select the default device. You can get the list of the
 supported devices by using the option <var>list_devices</var>.
 </p>
-<a name="Options-31"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-31">24.10.1 Options</a></h3>
+<a name="Options-14"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-14">20.10.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>channels</samp>&rsquo;</dt>
@@ -10485,8 +7249,8 @@ Defaults to &lsquo;<samp>false</samp>&rsquo;.
 </dd>
 </dl>
 
-<a name="Examples-65"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-65">24.10.2 Examples</a></h3>
+<a name="Examples-18"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-18">20.10.2 Examples</a></h3>
 
 <p>Print the list of OpenAL supported devices and exit:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">$ ffmpeg -list_devices true -f openal -i dummy out.ogg
@@ -10507,8 +7271,8 @@ within the same <code>ffmpeg</code> command:
 <p>Note: not all OpenAL implementations support multiple simultaneous capture -
 try the latest OpenAL Soft if the above does not work.
 </p>
-<a name="oss-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-oss-1">24.11 oss</a></h2>
+<a name="oss"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-oss">20.11 oss</a></h2>
 
 <p>Open Sound System input device.
 </p>
@@ -10524,8 +7288,8 @@ command:
 <p>For more information about OSS see:
 <a href="http://manuals.opensound.com/usersguide/dsp.html">http://manuals.opensound.com/usersguide/dsp.html</a>
 </p>
-<a name="pulse-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-pulse-1">24.12 pulse</a></h2>
+<a name="pulse"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-pulse">20.12 pulse</a></h2>
 
 <p>PulseAudio input device.
 </p>
@@ -10539,8 +7303,8 @@ the command <code>pactl list sources</code>.
 </p>
 <p>More information about PulseAudio can be found on <a href="http://www.pulseaudio.org">http://www.pulseaudio.org</a>.
 </p>
-<a name="Options-4"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-4">24.12.1 Options</a></h3>
+<a name="Options-2"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-2">20.12.1 Options</a></h3>
 <dl compact="compact">
 <dt> &lsquo;<samp>server</samp>&rsquo;</dt>
 <dd><p>Connect to a specific PulseAudio server, specified by an IP address.
@@ -10575,14 +7339,14 @@ audio latency. By default it is unset.
 </p></dd>
 </dl>
 
-<a name="Examples-35"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-35">24.12.2 Examples</a></h3>
+<a name="Examples-47"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-47">20.12.2 Examples</a></h3>
 <p>Record a stream from default device:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -f pulse -i default /tmp/pulse.wav
 </pre></td></tr></table>
 
-<a name="sndio-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-sndio-1">24.13 sndio</a></h2>
+<a name="sndio"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-sndio">20.13 sndio</a></h2>
 
 <p>sndio input device.
 </p>
@@ -10599,7 +7363,7 @@ command:
 </pre></td></tr></table>
 
 <a name="video4linux2_002c-v4l2"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-video4linux2_002c-v4l2">24.14 video4linux2, v4l2</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-video4linux2_002c-v4l2">20.14 video4linux2, v4l2</a></h2>
 
 <p>Video4Linux2 input video device.
 </p>
@@ -10645,8 +7409,8 @@ frame rate and size as previously set:
 
 <p>For more information about Video4Linux, check <a href="http://linuxtv.org/">http://linuxtv.org/</a>.
 </p>
-<a name="Options-10"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-10">24.14.1 Options</a></h3>
+<a name="Options-3"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-3">20.14.1 Options</a></h3>
 
 <dl compact="compact">
 <dt> &lsquo;<samp>standard</samp>&rsquo;</dt>
@@ -10671,521 +7435,164 @@ previously selected channel.
 </dd>
 <dt> &lsquo;<samp>input_format</samp>&rsquo;</dt>
 <dd><p>Set the preferred pixel format (for raw video) or a codec name.
-This option allows to select the input format, when several are
+This option allows one to select the input format, when several are
 available.
 </p>
 </dd>
-<dt> &lsquo;<samp>framerate</samp>&rsquo;</dt>
-<dd><p>Set the preferred video frame rate.
-</p>
-</dd>
-<dt> &lsquo;<samp>list_formats</samp>&rsquo;</dt>
-<dd><p>List available formats (supported pixel formats, codecs, and frame
-sizes) and exit.
-</p>
-<p>Available values are:
-</p><dl compact="compact">
-<dt> &lsquo;<samp>all</samp>&rsquo;</dt>
-<dd><p>Show all available (compressed and non-compressed) formats.
-</p>
-</dd>
-<dt> &lsquo;<samp>raw</samp>&rsquo;</dt>
-<dd><p>Show only raw video (non-compressed) formats.
-</p>
-</dd>
-<dt> &lsquo;<samp>compressed</samp>&rsquo;</dt>
-<dd><p>Show only compressed formats.
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>list_standards</samp>&rsquo;</dt>
-<dd><p>List supported standards and exit.
-</p>
-<p>Available values are:
-</p><dl compact="compact">
-<dt> &lsquo;<samp>all</samp>&rsquo;</dt>
-<dd><p>Show all supported standards.
-</p></dd>
-</dl>
-
-</dd>
-<dt> &lsquo;<samp>timestamps, ts</samp>&rsquo;</dt>
-<dd><p>Set type of timestamps for grabbed frames.
-</p>
-<p>Available values are:
-</p><dl compact="compact">
-<dt> &lsquo;<samp>default</samp>&rsquo;</dt>
-<dd><p>Use timestamps from the kernel.
-</p>
-</dd>
-<dt> &lsquo;<samp>abs</samp>&rsquo;</dt>
-<dd><p>Use absolute timestamps (wall clock).
-</p>
-</dd>
-<dt> &lsquo;<samp>mono2abs</samp>&rsquo;</dt>
-<dd><p>Force conversion from monotonic to absolute timestamps.
-</p></dd>
-</dl>
-
-<p>Default value is <code>default</code>.
-</p></dd>
-</dl>
-
-<a name="vfwcap"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-vfwcap">24.15 vfwcap</a></h2>
-
-<p>VfW (Video for Windows) capture input device.
-</p>
-<p>The filename passed as input is the capture driver number, ranging from
-0 to 9. You may use &quot;list&quot; as filename to print a list of drivers. Any
-other filename will be interpreted as device number 0.
-</p>
-<a name="x11grab"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-x11grab">24.16 x11grab</a></h2>
-
-<p>X11 video input device.
-</p>
-<p>This device allows to capture a region of an X11 display.
-</p>
-<p>The filename passed as input has the syntax:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">[<var>hostname</var>]:<var>display_number</var>.<var>screen_number</var>[+<var>x_offset</var>,<var>y_offset</var>]
-</pre></td></tr></table>
-
-<p><var>hostname</var>:<var>display_number</var>.<var>screen_number</var> specifies the
-X11 display name of the screen to grab from. <var>hostname</var> can be
-omitted, and defaults to &quot;localhost&quot;. The environment variable
-<code>DISPLAY</code> contains the default display name.
-</p>
-<p><var>x_offset</var> and <var>y_offset</var> specify the offsets of the grabbed
-area with respect to the top-left border of the X11 screen. They
-default to 0.
-</p>
-<p>Check the X11 documentation (e.g. man X) for more detailed information.
-</p>
-<p>Use the <code>dpyinfo</code> program for getting basic information about the
-properties of your X11 display (e.g. grep for &quot;name&quot; or &quot;dimensions&quot;).
-</p>
-<p>For example to grab from &lsquo;<tt>:0.0</tt>&rsquo; using <code>ffmpeg</code>:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -f x11grab -framerate 25 -video_size cif -i :0.0 out.mpg
-</pre></td></tr></table>
-
-<p>Grab at position <code>10,20</code>:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -f x11grab -framerate 25 -video_size cif -i :0.0+10,20 out.mpg
-</pre></td></tr></table>
-
-<a name="Options-26"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-26">24.16.1 Options</a></h3>
-
-<dl compact="compact">
-<dt> &lsquo;<samp>draw_mouse</samp>&rsquo;</dt>
-<dd><p>Specify whether to draw the mouse pointer. A value of <code>0</code> specify
-not to draw the pointer. Default value is <code>1</code>.
-</p>
-</dd>
-<dt> &lsquo;<samp>follow_mouse</samp>&rsquo;</dt>
-<dd><p>Make the grabbed area follow the mouse. The argument can be
-<code>centered</code> or a number of pixels <var>PIXELS</var>.
-</p>
-<p>When it is specified with &quot;centered&quot;, the grabbing region follows the mouse
-pointer and keeps the pointer at the center of region; otherwise, the region
-follows only when the mouse pointer reaches within <var>PIXELS</var> (greater than
-zero) to the edge of region.
-</p>
-<p>For example:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -f x11grab -follow_mouse centered -framerate 25 -video_size cif -i :0.0 out.mpg
-</pre></td></tr></table>
-
-<p>To follow only when the mouse pointer reaches within 100 pixels to edge:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -f x11grab -follow_mouse 100 -framerate 25 -video_size cif -i :0.0 out.mpg
-</pre></td></tr></table>
-
-</dd>
-<dt> &lsquo;<samp>framerate</samp>&rsquo;</dt>
-<dd><p>Set the grabbing frame rate. Default value is <code>ntsc</code>,
-corresponding to a frame rate of <code>30000/1001</code>.
-</p>
-</dd>
-<dt> &lsquo;<samp>show_region</samp>&rsquo;</dt>
-<dd><p>Show grabbed region on screen.
-</p>
-<p>If <var>show_region</var> is specified with <code>1</code>, then the grabbing
-region will be indicated on screen. With this option, it is easy to
-know what is being grabbed if only a portion of the screen is grabbed.
-</p>
-<p>For example:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -f x11grab -show_region 1 -framerate 25 -video_size cif -i :0.0+10,20 out.mpg
-</pre></td></tr></table>
-
-<p>With <var>follow_mouse</var>:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -f x11grab -follow_mouse centered -show_region 1 -framerate 25 -video_size cif -i :0.0 out.mpg
-</pre></td></tr></table>
-
-</dd>
-<dt> &lsquo;<samp>video_size</samp>&rsquo;</dt>
-<dd><p>Set the video frame size. Default value is <code>vga</code>.
-</p></dd>
-</dl>
-
-<a name="Output-Devices"></a>
-<h1 class="chapter"><a href="ffprobe-all.html#toc-Output-Devices">25. Output Devices</a></h1>
-
-<p>Output devices are configured elements in FFmpeg that can write
-multimedia data to an output device attached to your system.
-</p>
-<p>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 &quot;&ndash;list-outdevs&quot;.
-</p>
-<p>You can disable all the output devices using the configure option
-&quot;&ndash;disable-outdevs&quot;, and selectively enable an output device using the
-option &quot;&ndash;enable-outdev=<var>OUTDEV</var>&quot;, or you can disable a particular
-input device using the option &quot;&ndash;disable-outdev=<var>OUTDEV</var>&quot;.
-</p>
-<p>The option &quot;-formats&quot; of the ff* tools will display the list of
-enabled output devices (amongst the muxers).
-</p>
-<p>A description of the currently available output devices follows.
-</p>
-<a name="alsa-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-alsa-1">25.1 alsa</a></h2>
-
-<p>ALSA (Advanced Linux Sound Architecture) output device.
-</p>
-<a name="Examples-53"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-53">25.1.1 Examples</a></h3>
-
-<ul>
-<li>
-Play a file on default ALSA device:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -f alsa default
-</pre></td></tr></table>
-
-</li><li>
-Play a file on soundcard 1, audio device 7:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -f alsa hw:1,7
-</pre></td></tr></table>
-</li></ul>
-
-<a name="caca"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-caca">25.2 caca</a></h2>
-
-<p>CACA output device.
-</p>
-<p>This output device allows to show a video stream in CACA window.
-Only one CACA window is allowed per application, so you can
-have only one instance of this output device in an application.
-</p>
-<p>To enable this output device you need to configure FFmpeg with
-<code>--enable-libcaca</code>.
-libcaca is a graphics library that outputs text instead of pixels.
-</p>
-<p>For more information about libcaca, check:
-<a href="http://caca.zoy.org/wiki/libcaca">http://caca.zoy.org/wiki/libcaca</a>
-</p>
-<a name="Options-5"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-5">25.2.1 Options</a></h3>
-
-<dl compact="compact">
-<dt> &lsquo;<samp>window_title</samp>&rsquo;</dt>
-<dd><p>Set the CACA window title, if not specified default to the filename
-specified for the output device.
-</p>
-</dd>
-<dt> &lsquo;<samp>window_size</samp>&rsquo;</dt>
-<dd><p>Set the CACA window size, can be a string of the form
-<var>width</var>x<var>height</var> or a video size abbreviation.
-If not specified it defaults to the size of the input video.
-</p>
-</dd>
-<dt> &lsquo;<samp>driver</samp>&rsquo;</dt>
-<dd><p>Set display driver.
-</p>
-</dd>
-<dt> &lsquo;<samp>algorithm</samp>&rsquo;</dt>
-<dd><p>Set dithering algorithm. Dithering is necessary
-because the picture being rendered has usually far more colours than
-the available palette.
-The accepted values are listed with <code>-list_dither algorithms</code>.
-</p>
-</dd>
-<dt> &lsquo;<samp>antialias</samp>&rsquo;</dt>
-<dd><p>Set antialias method. Antialiasing smoothens the rendered
-image and avoids the commonly seen staircase effect.
-The accepted values are listed with <code>-list_dither antialiases</code>.
-</p>
-</dd>
-<dt> &lsquo;<samp>charset</samp>&rsquo;</dt>
-<dd><p>Set which characters are going to be used when rendering text.
-The accepted values are listed with <code>-list_dither charsets</code>.
-</p>
-</dd>
-<dt> &lsquo;<samp>color</samp>&rsquo;</dt>
-<dd><p>Set color to be used when rendering text.
-The accepted values are listed with <code>-list_dither colors</code>.
-</p>
-</dd>
-<dt> &lsquo;<samp>list_drivers</samp>&rsquo;</dt>
-<dd><p>If set to &lsquo;<samp>true</samp>&rsquo;, print a list of available drivers and exit.
-</p>
-</dd>
-<dt> &lsquo;<samp>list_dither</samp>&rsquo;</dt>
-<dd><p>List available dither options related to the argument.
-The argument must be one of <code>algorithms</code>, <code>antialiases</code>,
-<code>charsets</code>, <code>colors</code>.
-</p></dd>
-</dl>
-
-<a name="Examples-30"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-30">25.2.2 Examples</a></h3>
-
-<ul>
-<li>
-The following command shows the <code>ffmpeg</code> output is an
-CACA window, forcing its size to 80x25:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -vcodec rawvideo -pix_fmt rgb24 -window_size 80x25 -f caca -
-</pre></td></tr></table>
-
-</li><li>
-Show the list of available drivers and exit:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -pix_fmt rgb24 -f caca -list_drivers true -
-</pre></td></tr></table>
-
-</li><li>
-Show the list of available dither colors and exit:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -pix_fmt rgb24 -f caca -list_dither colors -
-</pre></td></tr></table>
-</li></ul>
-
-<a name="fbdev"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-fbdev">25.3 fbdev</a></h2>
-
-<p>Linux framebuffer output device.
-</p>
-<p>The Linux framebuffer is a graphic hardware-independent abstraction
-layer to show graphics on a computer monitor, typically on the
-console. It is accessed through a file device node, usually
-&lsquo;<tt>/dev/fb0</tt>&rsquo;.
-</p>
-<p>For more detailed information read the file
-&lsquo;<tt>Documentation/fb/framebuffer.txt</tt>&rsquo; included in the Linux source tree.
-</p>
-<a name="Options-30"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-30">25.3.1 Options</a></h3>
-<dl compact="compact">
-<dt> &lsquo;<samp>xoffset</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>yoffset</samp>&rsquo;</dt>
-<dd><p>Set x/y coordinate of top left corner. Default is 0.
-</p></dd>
-</dl>
-
-<a name="Examples-78"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-78">25.3.2 Examples</a></h3>
-<p>Play a file on framebuffer device &lsquo;<tt>/dev/fb0</tt>&rsquo;.
-Required pixel format depends on current framebuffer settings.
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -re -i INPUT -vcodec rawvideo -pix_fmt bgra -f fbdev /dev/fb0
-</pre></td></tr></table>
-
-<p>See also <a href="http://linux-fbdev.sourceforge.net/">http://linux-fbdev.sourceforge.net/</a>, and fbset(1).
-</p>
-<a name="oss"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-oss">25.4 oss</a></h2>
-
-<p>OSS (Open Sound System) output device.
-</p>
-<a name="pulse"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-pulse">25.5 pulse</a></h2>
-
-<p>PulseAudio output device.
-</p>
-<p>To enable this output device you need to configure FFmpeg with <code>--enable-libpulse</code>.
-</p>
-<p>More information about PulseAudio can be found on <a href="http://www.pulseaudio.org">http://www.pulseaudio.org</a>
-</p>
-<a name="Options-22"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-22">25.5.1 Options</a></h3>
-<dl compact="compact">
-<dt> &lsquo;<samp>server</samp>&rsquo;</dt>
-<dd><p>Connect to a specific PulseAudio server, specified by an IP address.
-Default server is used when not provided.
-</p>
-</dd>
-<dt> &lsquo;<samp>name</samp>&rsquo;</dt>
-<dd><p>Specify the application name PulseAudio will use when showing active clients,
-by default it is the <code>LIBAVFORMAT_IDENT</code> string.
-</p>
-</dd>
-<dt> &lsquo;<samp>stream_name</samp>&rsquo;</dt>
-<dd><p>Specify the stream name PulseAudio will use when showing active streams,
-by default it is set to the specified output name.
-</p>
-</dd>
-<dt> &lsquo;<samp>device</samp>&rsquo;</dt>
-<dd><p>Specify the device to use. Default device is used when not provided.
-List of output devices can be obtained with command <code>pactl list sinks</code>.
+<dt> &lsquo;<samp>framerate</samp>&rsquo;</dt>
+<dd><p>Set the preferred video frame rate.
 </p>
 </dd>
-<dt> &lsquo;<samp>buffer_size</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>buffer_duration</samp>&rsquo;</dt>
-<dd><p>Control the size and duration of the PulseAudio buffer. A small buffer
-gives more control, but requires more frequent updates.
+<dt> &lsquo;<samp>list_formats</samp>&rsquo;</dt>
+<dd><p>List available formats (supported pixel formats, codecs, and frame
+sizes) and exit.
+</p>
+<p>Available values are:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>all</samp>&rsquo;</dt>
+<dd><p>Show all available (compressed and non-compressed) formats.
 </p>
-<p>&lsquo;<samp>buffer_size</samp>&rsquo; specifies size in bytes while
-&lsquo;<samp>buffer_duration</samp>&rsquo; specifies duration in milliseconds.
+</dd>
+<dt> &lsquo;<samp>raw</samp>&rsquo;</dt>
+<dd><p>Show only raw video (non-compressed) formats.
 </p>
-<p>When both options are provided then the highest value is used
-(duration is recalculated to bytes using stream parameters). If they
-are set to 0 (which is default), the device will use the default
-PulseAudio duration value. By default PulseAudio set buffer duration
-to around 2 seconds.
+</dd>
+<dt> &lsquo;<samp>compressed</samp>&rsquo;</dt>
+<dd><p>Show only compressed formats.
 </p></dd>
 </dl>
 
-<a name="Examples-73"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-73">25.5.2 Examples</a></h3>
-<p>Play a file on default device on default server:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg  -i INPUT -f pulse &quot;stream name&quot;
-</pre></td></tr></table>
-
-<a name="sdl"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-sdl">25.6 sdl</a></h2>
-
-<p>SDL (Simple DirectMedia Layer) output device.
-</p>
-<p>This output device allows to show a video stream in an SDL
-window. Only one SDL window is allowed per application, so you can
-have only one instance of this output device in an application.
-</p>
-<p>To enable this output device you need libsdl installed on your system
-when configuring your build.
-</p>
-<p>For more information about SDL, check:
-<a href="http://www.libsdl.org/">http://www.libsdl.org/</a>
+</dd>
+<dt> &lsquo;<samp>list_standards</samp>&rsquo;</dt>
+<dd><p>List supported standards and exit.
 </p>
-<a name="Options-8"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-8">25.6.1 Options</a></h3>
+<p>Available values are:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>all</samp>&rsquo;</dt>
+<dd><p>Show all supported standards.
+</p></dd>
+</dl>
 
-<dl compact="compact">
-<dt> &lsquo;<samp>window_title</samp>&rsquo;</dt>
-<dd><p>Set the SDL window title, if not specified default to the filename
-specified for the output device.
-</p>
 </dd>
-<dt> &lsquo;<samp>icon_title</samp>&rsquo;</dt>
-<dd><p>Set the name of the iconified SDL window, if not specified it is set
-to the same value of <var>window_title</var>.
+<dt> &lsquo;<samp>timestamps, ts</samp>&rsquo;</dt>
+<dd><p>Set type of timestamps for grabbed frames.
+</p>
+<p>Available values are:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>default</samp>&rsquo;</dt>
+<dd><p>Use timestamps from the kernel.
 </p>
 </dd>
-<dt> &lsquo;<samp>window_size</samp>&rsquo;</dt>
-<dd><p>Set the SDL window size, can be a string of the form
-<var>width</var>x<var>height</var> or a video size abbreviation.
-If not specified it defaults to the size of the input video,
-downscaled according to the aspect ratio.
+<dt> &lsquo;<samp>abs</samp>&rsquo;</dt>
+<dd><p>Use absolute timestamps (wall clock).
 </p>
 </dd>
-<dt> &lsquo;<samp>window_fullscreen</samp>&rsquo;</dt>
-<dd><p>Set fullscreen mode when non-zero value is provided.
-Default value is zero.
+<dt> &lsquo;<samp>mono2abs</samp>&rsquo;</dt>
+<dd><p>Force conversion from monotonic to absolute timestamps.
 </p></dd>
 </dl>
 
-<a name="Interactive-commands"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Interactive-commands">25.6.2 Interactive commands</a></h3>
-
-<p>The window created by the device can be controlled through the
-following interactive commands.
-</p>
-<dl compact="compact">
-<dt> &lt;q, ESC&gt;</dt>
-<dd><p>Quit the device immediately.
+<p>Default value is <code>default</code>.
 </p></dd>
 </dl>
 
-<a name="Examples-58"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-58">25.6.3 Examples</a></h3>
-
-<p>The following command shows the <code>ffmpeg</code> output is an
-SDL window, forcing its size to the qcif format:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -vcodec rawvideo -pix_fmt yuv420p -window_size qcif -f sdl &quot;SDL output&quot;
-</pre></td></tr></table>
-
-<a name="sndio"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-sndio">25.7 sndio</a></h2>
+<a name="vfwcap"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-vfwcap">20.15 vfwcap</a></h2>
 
-<p>sndio audio output device.
+<p>VfW (Video for Windows) capture input device.
+</p>
+<p>The filename passed as input is the capture driver number, ranging from
+0 to 9. You may use &quot;list&quot; as filename to print a list of drivers. Any
+other filename will be interpreted as device number 0.
 </p>
-<a name="xv"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-xv">25.8 xv</a></h2>
+<a name="x11grab"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-x11grab">20.16 x11grab</a></h2>
 
-<p>XV (XVideo) output device.
+<p>X11 video input device.
 </p>
-<p>This output device allows to show a video stream in a X Window System
-window.
+<p>This device allows one to capture a region of an X11 display.
 </p>
-<a name="Options-7"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-7">25.8.1 Options</a></h3>
+<p>The filename passed as input has the syntax:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">[<var>hostname</var>]:<var>display_number</var>.<var>screen_number</var>[+<var>x_offset</var>,<var>y_offset</var>]
+</pre></td></tr></table>
 
-<dl compact="compact">
-<dt> &lsquo;<samp>display_name</samp>&rsquo;</dt>
-<dd><p>Specify the hardware display name, which determines the display and
-communications domain to be used.
-</p>
-<p>The display name or DISPLAY environment variable can be a string in
-the format <var>hostname</var>[:<var>number</var>[.<var>screen_number</var>]].
+<p><var>hostname</var>:<var>display_number</var>.<var>screen_number</var> specifies the
+X11 display name of the screen to grab from. <var>hostname</var> can be
+omitted, and defaults to &quot;localhost&quot;. The environment variable
+<code>DISPLAY</code> contains the default display name.
 </p>
-<p><var>hostname</var> specifies the name of the host machine on which the
-display is physically attached. <var>number</var> specifies the number of
-the display server on that host machine. <var>screen_number</var> specifies
-the screen to be used on that server.
+<p><var>x_offset</var> and <var>y_offset</var> specify the offsets of the grabbed
+area with respect to the top-left border of the X11 screen. They
+default to 0.
 </p>
-<p>If unspecified, it defaults to the value of the DISPLAY environment
-variable.
+<p>Check the X11 documentation (e.g. man X) for more detailed information.
 </p>
-<p>For example, <code>dual-headed:0.1</code> would specify screen 1 of display
-0 on the machine named &ldquo;dual-headed&rdquo;.
+<p>Use the <code>dpyinfo</code> program for getting basic information about the
+properties of your X11 display (e.g. grep for &quot;name&quot; or &quot;dimensions&quot;).
 </p>
-<p>Check the X11 specification for more detailed information about the
-display name format.
+<p>For example to grab from &lsquo;<tt>:0.0</tt>&rsquo; using <code>ffmpeg</code>:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -f x11grab -framerate 25 -video_size cif -i :0.0 out.mpg
+</pre></td></tr></table>
+
+<p>Grab at position <code>10,20</code>:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -f x11grab -framerate 25 -video_size cif -i :0.0+10,20 out.mpg
+</pre></td></tr></table>
+
+<a name="Options-5"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-5">20.16.1 Options</a></h3>
+
+<dl compact="compact">
+<dt> &lsquo;<samp>draw_mouse</samp>&rsquo;</dt>
+<dd><p>Specify whether to draw the mouse pointer. A value of <code>0</code> specify
+not to draw the pointer. Default value is <code>1</code>.
 </p>
 </dd>
-<dt> &lsquo;<samp>window_size</samp>&rsquo;</dt>
-<dd><p>Set the created window size, can be a string of the form
-<var>width</var>x<var>height</var> or a video size abbreviation. If not
-specified it defaults to the size of the input video.
+<dt> &lsquo;<samp>follow_mouse</samp>&rsquo;</dt>
+<dd><p>Make the grabbed area follow the mouse. The argument can be
+<code>centered</code> or a number of pixels <var>PIXELS</var>.
+</p>
+<p>When it is specified with &quot;centered&quot;, the grabbing region follows the mouse
+pointer and keeps the pointer at the center of region; otherwise, the region
+follows only when the mouse pointer reaches within <var>PIXELS</var> (greater than
+zero) to the edge of region.
 </p>
+<p>For example:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -f x11grab -follow_mouse centered -framerate 25 -video_size cif -i :0.0 out.mpg
+</pre></td></tr></table>
+
+<p>To follow only when the mouse pointer reaches within 100 pixels to edge:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -f x11grab -follow_mouse 100 -framerate 25 -video_size cif -i :0.0 out.mpg
+</pre></td></tr></table>
+
 </dd>
-<dt> &lsquo;<samp>window_x</samp>&rsquo;</dt>
-<dt> &lsquo;<samp>window_y</samp>&rsquo;</dt>
-<dd><p>Set the X and Y window offsets for the created window. They are both
-set to 0 by default. The values may be ignored by the window manager.
+<dt> &lsquo;<samp>framerate</samp>&rsquo;</dt>
+<dd><p>Set the grabbing frame rate. Default value is <code>ntsc</code>,
+corresponding to a frame rate of <code>30000/1001</code>.
 </p>
 </dd>
-<dt> &lsquo;<samp>window_title</samp>&rsquo;</dt>
-<dd><p>Set the window title, if not specified default to the filename
-specified for the output device.
-</p></dd>
-</dl>
-
-<p>For more information about XVideo see <a href="http://www.x.org/">http://www.x.org/</a>.
+<dt> &lsquo;<samp>show_region</samp>&rsquo;</dt>
+<dd><p>Show grabbed region on screen.
 </p>
-<a name="Examples-66"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-66">25.8.2 Examples</a></h3>
-
-<ul>
-<li>
-Decode, display and encode video input with <code>ffmpeg</code> at the
-same time:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT OUTPUT -f xv display
+<p>If <var>show_region</var> is specified with <code>1</code>, then the grabbing
+region will be indicated on screen. With this option, it is easy to
+know what is being grabbed if only a portion of the screen is grabbed.
+</p>
+<p>For example:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -f x11grab -show_region 1 -framerate 25 -video_size cif -i :0.0+10,20 out.mpg
 </pre></td></tr></table>
 
-</li><li>
-Decode and display the input video to multiple X11 windows:
-<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i INPUT -f xv normal -vf negate -f xv negated
+<p>With <var>follow_mouse</var>:
+</p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -f x11grab -follow_mouse centered -show_region 1 -framerate 25 -video_size cif -i :0.0 out.mpg
 </pre></td></tr></table>
-</li></ul>
+
+</dd>
+<dt> &lsquo;<samp>video_size</samp>&rsquo;</dt>
+<dd><p>Set the video frame size. Default value is <code>vga</code>.
+</p></dd>
+</dl>
 
 <a name="Resampler-Options"></a>
-<h1 class="chapter"><a href="ffprobe-all.html#toc-Resampler-Options">26. Resampler Options</a></h1>
+<h1 class="chapter"><a href="ffprobe-all.html#toc-Resampler-Options">21. Resampler Options</a></h1>
 
 <p>The audio resampler supports the following named options.
 </p>
@@ -11469,7 +7876,7 @@ interval [0,64], default value is 0, which means it&rsquo;s not used.
 
 <p><a name="scaler_005foptions"></a>
 </p><a name="Scaler-Options"></a>
-<h1 class="chapter"><a href="ffprobe-all.html#toc-Scaler-Options">27. Scaler Options</a></h1>
+<h1 class="chapter"><a href="ffprobe-all.html#toc-Scaler-Options">22. Scaler Options</a></h1>
 
 <p>The video scaler supports the following named options.
 </p>
@@ -11511,7 +7918,7 @@ algorithm. Only a single algorithm should be selected.
 <dd><p>Select averaging area rescaling algorithm.
 </p>
 </dd>
-<dt> &lsquo;<samp>bicubiclin</samp>&rsquo;</dt>
+<dt> &lsquo;<samp>bicublin</samp>&rsquo;</dt>
 <dd><p>Select bicubic scaling algorithm for the luma component, bilinear for
 chroma components.
 </p>
@@ -11618,7 +8025,7 @@ values. Default value is &lsquo;<samp>auto</samp>&rsquo;.
 </dl>
 
 <a name="Filtering-Introduction"></a>
-<h1 class="chapter"><a href="ffprobe-all.html#toc-Filtering-Introduction">28. Filtering Introduction</a></h1>
+<h1 class="chapter"><a href="ffprobe-all.html#toc-Filtering-Introduction">23. Filtering Introduction</a></h1>
 
 <p>Filtering in FFmpeg is enabled through the libavfilter library.
 </p>
@@ -11670,7 +8077,7 @@ output.
 </p>
 
 <a name="graph2dot"></a>
-<h1 class="chapter"><a href="ffprobe-all.html#toc-graph2dot">29. graph2dot</a></h1>
+<h1 class="chapter"><a href="ffprobe-all.html#toc-graph2dot">24. graph2dot</a></h1>
 
 <p>The &lsquo;<tt>graph2dot</tt>&rsquo; program included in the FFmpeg &lsquo;<tt>tools</tt>&rsquo;
 directory can be used to parse a filtergraph description and issue a
@@ -11707,7 +8114,7 @@ filter in order to simulate a specific input file.
 </p>
 
 <a name="Filtergraph-description"></a>
-<h1 class="chapter"><a href="ffprobe-all.html#toc-Filtergraph-description">30. Filtergraph description</a></h1>
+<h1 class="chapter"><a href="ffprobe-all.html#toc-Filtergraph-description">25. Filtergraph description</a></h1>
 
 <p>A filtergraph is a directed graph of connected filters. It can contain
 cycles, and there can be multiple links between a pair of
@@ -11724,7 +8131,7 @@ output pads is called a &quot;sink&quot;.
 </p>
 <p><a name="Filtergraph-syntax"></a>
 </p><a name="Filtergraph-syntax-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-Filtergraph-syntax-1">30.1 Filtergraph syntax</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-Filtergraph-syntax-1">25.1 Filtergraph syntax</a></h2>
 
 <p>A filtergraph can be represented using a textual representation, which is
 recognized by the &lsquo;<samp>-filter</samp>&rsquo;/&lsquo;<samp>-vf</samp>&rsquo; and &lsquo;<samp>-filter_complex</samp>&rsquo;
@@ -11783,7 +8190,7 @@ terminated when the next special character (belonging to the set
 </p>
 <p>The name and arguments of the filter are optionally preceded and
 followed by a list of link labels.
-A link label allows to name a link and associate it to a filter output
+A link label allows one to name a link and associate it to a filter output
 or input pad. The preceding labels <var>in_link_1</var>
 ... <var>in_link_N</var>, are associated to the filter input pads,
 the following labels <var>out_link_1</var> ... <var>out_link_M</var>, are
@@ -11825,28 +8232,43 @@ to the filtergraph description.
 </pre></td></tr></table>
 
 <a name="Notes-on-filtergraph-escaping"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-Notes-on-filtergraph-escaping">30.2 Notes on filtergraph escaping</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-Notes-on-filtergraph-escaping">25.2 Notes on filtergraph escaping</a></h2>
 
-<p>Some filter arguments require the use of special characters, typically
-<code>:</code> to separate key=value pairs in a named options list. In this
-case the user should perform a first level escaping when specifying
-the filter arguments. For example, consider the following literal
-string to be embedded in the <a href="#drawtext">drawtext</a> filter arguments:
+<p>Filtergraph description composition entails several levels of
+escaping. See <a href="ffmpeg-utils.html#quoting_005fand_005fescaping">(ffmpeg-utils)quoting_and_escaping</a> for more
+information about the employed escaping procedure.
+</p>
+<p>A first level escaping affects the content of each filter option
+value, which may contain the special character <code>:</code> used to
+separate values, or one of the escaping characters <code>\'</code>.
+</p>
+<p>A second level escaping affects the whole filter description, which
+may contain the escaping characters <code>\'</code> or the special
+characters <code>[],;</code> used by the filtergraph description.
+</p>
+<p>Finally, when you specify a filtergraph on a shell commandline, you
+need to perform a third level escaping for the shell special
+characters contained within it.
+</p>
+<p>For example, consider the following string to be embedded in
+the <a href="#drawtext">drawtext</a> filter description &lsquo;<samp>text</samp>&rsquo; value:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">this is a 'string': may contain one, or more, special characters
 </pre></td></tr></table>
 
-<p>Since <code>:</code> is special for the filter arguments syntax, it needs to
-be escaped, so you get:
+<p>This string contains the <code>'</code> special escaping character, and the
+<code>:</code> special character, so it needs to be escaped in this way:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">text=this is a \'string\'\: may contain one, or more, special characters
 </pre></td></tr></table>
 
 <p>A second level of escaping is required when embedding the filter
-arguments in a filtergraph description, in order to escape all the
+description in a filtergraph description, in order to escape all the
 filtergraph special characters. Thus the example above becomes:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">drawtext=text=this is a \\\'string\\\'\\: may contain one\, or more\, special characters
 </pre></td></tr></table>
-
-<p>Finally an additional level of escaping may be needed when writing the
+<p>(note that in addition to the <code>\'</code> escaping special characters,
+also <code>,</code> needs to be escaped).
+</p>
+<p>Finally an additional level of escaping is needed when writing the
 filtergraph description in a shell command, which depends on the
 escaping rules of the adopted shell. For example, assuming that
 <code>\</code> is special and needs to be escaped with another <code>\</code>, the
@@ -11854,25 +8276,8 @@ previous string will finally result in:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">-vf &quot;drawtext=text=this is a \\\\\\'string\\\\\\'\\\\: may contain one\\, or more\\, special characters&quot;
 </pre></td></tr></table>
 
-<p>Sometimes, it might be more convenient to employ quoting in place of
-escaping. For example the string:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">Caesar: tu quoque, Brute, fili mi
-</pre></td></tr></table>
-
-<p>Can be quoted in the filter arguments as:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">text='Caesar: tu quoque, Brute, fili mi'
-</pre></td></tr></table>
-
-<p>And finally inserted in a filtergraph like:
-</p><table><tr><td>&nbsp;</td><td><pre class="example">drawtext=text=\'Caesar: tu quoque\, Brute\, fili mi\'
-</pre></td></tr></table>
-
-<p>See the &ldquo;Quoting and escaping&rdquo; section in the ffmpeg-utils manual
-for more information about the escaping and quoting rules adopted by
-FFmpeg.
-</p>
 <a name="Timeline-editing"></a>
-<h1 class="chapter"><a href="ffprobe-all.html#toc-Timeline-editing">31. Timeline editing</a></h1>
+<h1 class="chapter"><a href="ffprobe-all.html#toc-Timeline-editing">26. Timeline editing</a></h1>
 
 <p>Some filters support a generic &lsquo;<samp>enable</samp>&rsquo; option. For the filters
 supporting timeline editing, this option can be set to an expression which is
@@ -11909,7 +8314,7 @@ curves    = enable='gte(t,3)' : preset=cross_process
 
 
 <a name="Audio-Filters"></a>
-<h1 class="chapter"><a href="ffprobe-all.html#toc-Audio-Filters">32. Audio Filters</a></h1>
+<h1 class="chapter"><a href="ffprobe-all.html#toc-Audio-Filters">27. Audio Filters</a></h1>
 
 <p>When you configure your FFmpeg build, you can disable any of the
 existing filters using <code>--disable-filters</code>.
@@ -11919,7 +8324,7 @@ build.
 <p>Below is a description of the currently available audio filters.
 </p>
 <a name="aconvert"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-aconvert">32.1 aconvert</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-aconvert">27.1 aconvert</a></h2>
 
 <p>Convert the input audio format to the specified formats.
 </p>
@@ -11938,8 +8343,8 @@ or the corresponding number value defined in &lsquo;<tt>libavutil/channel_layout
 <p>The special parameter &quot;auto&quot;, signifies that the filter will
 automatically select the output format depending on the output filter.
 </p>
-<a name="Examples-5"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-5">32.1.1 Examples</a></h3>
+<a name="Examples-12"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-12">27.1.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -11954,7 +8359,7 @@ Convert input to unsigned 8-bit, automatically select out channel layout:
 </li></ul>
 
 <a name="adelay"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-adelay">32.2 adelay</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-adelay">27.2 adelay</a></h2>
 
 <p>Delay one or more audio channels.
 </p>
@@ -11971,8 +8376,8 @@ smaller than number of channels all remaining channels will not be delayed.
 </p></dd>
 </dl>
 
-<a name="Examples-39"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-39">32.2.1 Examples</a></h3>
+<a name="Examples-13"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-13">27.2.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -11983,7 +8388,7 @@ the second channel (and any other channels that may be present) unchanged.
 </li></ul>
 
 <a name="aecho"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-aecho">32.3 aecho</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-aecho">27.3 aecho</a></h2>
 
 <p>Apply echoing to the input audio.
 </p>
@@ -12019,8 +8424,8 @@ Default is <code>0.5</code>.
 </p></dd>
 </dl>
 
-<a name="Examples-62"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-62">32.3.1 Examples</a></h3>
+<a name="Examples-77"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-77">27.3.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -12045,7 +8450,7 @@ Same as above but with one more mountain:
 </li></ul>
 
 <a name="aeval"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-aeval">32.4 aeval</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-aeval">27.4 aeval</a></h2>
 
 <p>Modify an audio signal according to the specified expressions.
 </p>
@@ -12101,8 +8506,8 @@ use by default the same input channel layout.
 <p>Note: this filter is slow. For faster processing you should use a
 dedicated filter.
 </p>
-<a name="Examples-82"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-82">32.4.1 Examples</a></h3>
+<a name="Examples-39"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-39">27.4.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -12117,7 +8522,7 @@ Invert phase of the second channel:
 </li></ul>
 
 <a name="afade"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-afade">32.5 afade</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-afade">27.5 afade</a></h2>
 
 <p>Apply fade-in/out effect to input audio.
 </p>
@@ -12203,8 +8608,8 @@ If set this option is used instead of <var>nb_samples</var> one.
 </dd>
 </dl>
 
-<a name="Examples-23"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-23">32.5.1 Examples</a></h3>
+<a name="Examples-45"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-45">27.5.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -12220,7 +8625,7 @@ Fade out last 25 seconds of a 900 seconds audio:
 
 <p><a name="aformat"></a>
 </p><a name="aformat-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-aformat-1">32.6 aformat</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-aformat-1">27.6 aformat</a></h2>
 
 <p>Set output format constraints for the input audio. The framework will
 negotiate the most appropriate format to minimize conversions.
@@ -12250,7 +8655,7 @@ for the required syntax.
 </pre></td></tr></table>
 
 <a name="allpass"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-allpass">32.7 allpass</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-allpass">27.7 allpass</a></h2>
 
 <p>Apply a two-pole all-pass filter with central frequency (in Hz)
 <var>frequency</var>, and filter-width <var>width</var>.
@@ -12288,7 +8693,7 @@ without changing its frequency to amplitude relationship.
 </dl>
 
 <a name="amerge"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-amerge">32.8 amerge</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-amerge">27.8 amerge</a></h2>
 
 <p>Merge two or more audio streams into a single multi-channel stream.
 </p>
@@ -12323,8 +8728,8 @@ arbitrarily set to 4.0, which may or may not be the expected value.
 <p>If inputs do not have the same duration, the output will stop with the
 shortest.
 </p>
-<a name="Examples-12"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-12">32.8.1 Examples</a></h3>
+<a name="Examples-22"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-22">27.8.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -12339,7 +8744,7 @@ Multiple merges assuming 1 video stream and 6 audio streams in &lsquo;<tt>input.
 </li></ul>
 
 <a name="amix"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-amix">32.9 amix</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-amix">27.9 amix</a></h2>
 
 <p>Mixes multiple audio inputs into a single output.
 </p>
@@ -12381,18 +8786,18 @@ stream ends. The default value is 2 seconds.
 </dl>
 
 <a name="anull"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-anull">32.10 anull</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-anull">27.10 anull</a></h2>
 
 <p>Pass the audio source unchanged to the output.
 </p>
 <a name="apad"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-apad">32.11 apad</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-apad">27.11 apad</a></h2>
 
 <p>Pad the end of a audio stream with silence, this can be used together with
 -shortest to extend audio streams to the same length as the video stream.
 </p>
 <a name="aphaser"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-aphaser">32.12 aphaser</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-aphaser">27.12 aphaser</a></h2>
 <p>Add a phasing effect to the input audio.
 </p>
 <p>A phaser filter creates series of peaks and troughs in the frequency spectrum.
@@ -12434,7 +8839,7 @@ The position of the peaks and troughs are modulated so that they vary over time,
 
 <p><a name="aresample"></a>
 </p><a name="aresample-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-aresample-1">32.13 aresample</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-aresample-1">27.13 aresample</a></h2>
 
 <p>Resample the input audio to the specified parameters, using the
 libswresample library. If none are specified then the filter will
@@ -12450,8 +8855,8 @@ expresses a sample rate and <var>resampler_options</var> is a list of
 <var>key</var>=<var>value</var> pairs, separated by &quot;:&quot;. See the
 ffmpeg-resampler manual for the complete list of supported options.
 </p>
-<a name="Examples-81"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-81">32.13.1 Examples</a></h3>
+<a name="Examples-78"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-78">27.13.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -12467,7 +8872,7 @@ samples per second compensation:
 </li></ul>
 
 <a name="asetnsamples"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-asetnsamples">32.14 asetnsamples</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-asetnsamples">27.14 asetnsamples</a></h2>
 
 <p>Set the number of samples per each output audio frame.
 </p>
@@ -12497,7 +8902,7 @@ disable padding for the last frame, use:
 </pre></td></tr></table>
 
 <a name="asetrate"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-asetrate">32.15 asetrate</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-asetrate">27.15 asetrate</a></h2>
 
 <p>Set the sample rate without altering the PCM data.
 This will result in a change of speed and pitch.
@@ -12511,7 +8916,7 @@ This will result in a change of speed and pitch.
 </dl>
 
 <a name="ashowinfo"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-ashowinfo">32.16 ashowinfo</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-ashowinfo">27.16 ashowinfo</a></h2>
 
 <p>Show a line containing various information for each input audio frame.
 The input audio is not modified.
@@ -12567,7 +8972,7 @@ the data is treated as if all the planes were concatenated.
 </dl>
 
 <a name="astats"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-astats">32.17 astats</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-astats">27.17 astats</a></h2>
 
 <p>Display time domain statistical information about the audio channels.
 Statistics are calculated and displayed for each audio channel and,
@@ -12622,7 +9027,7 @@ Default is <code>0.05</code> (50 miliseconds). Allowed range is <code>[0.1 - 10]
 </dl>
 
 <a name="astreamsync"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-astreamsync">32.18 astreamsync</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-astreamsync">27.18 astreamsync</a></h2>
 
 <p>Forward two audio streams and control the order the buffers are forwarded.
 </p>
@@ -12652,8 +9057,8 @@ that has a smaller timestamp.
 </p></dd>
 </dl>
 
-<a name="Examples-9"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-9">32.18.1 Examples</a></h3>
+<a name="Examples-61"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-61">27.18.1 Examples</a></h3>
 
 <p>Stress-test <code>amerge</code> by randomly sending buffers on the wrong
 input, while avoiding too much of a desynchronization:
@@ -12663,7 +9068,7 @@ input, while avoiding too much of a desynchronization:
 </pre></td></tr></table>
 
 <a name="asyncts"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-asyncts">32.19 asyncts</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-asyncts">27.19 asyncts</a></h2>
 
 <p>Synchronize audio data with timestamps by squeezing/stretching it and/or
 dropping samples/adding silence when needed.
@@ -12700,7 +9105,7 @@ with a negative pts due to encoder delay.
 </dl>
 
 <a name="atempo"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-atempo">32.20 atempo</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-atempo">27.20 atempo</a></h2>
 
 <p>Adjust audio tempo.
 </p>
@@ -12708,8 +9113,8 @@ with a negative pts due to encoder delay.
 specified then the filter will assume nominal 1.0 tempo. Tempo must
 be in the [0.5, 2.0] range.
 </p>
-<a name="Examples-19"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-19">32.20.1 Examples</a></h3>
+<a name="Examples-71"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-71">27.20.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -12724,7 +9129,7 @@ To speed up audio to 125% tempo:
 </li></ul>
 
 <a name="atrim"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-atrim">32.21 atrim</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-atrim">27.21 atrim</a></h2>
 
 <p>Trim the input so that the output contains one continuous subpart of the input.
 </p>
@@ -12799,7 +9204,7 @@ keep only the first 1000 samples
 </li></ul>
 
 <a name="bandpass"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-bandpass">32.22 bandpass</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-bandpass">27.22 bandpass</a></h2>
 
 <p>Apply a two-pole Butterworth band-pass filter with central
 frequency <var>frequency</var>, and (3dB-point) band-width width.
@@ -12842,7 +9247,7 @@ The filter roll off at 6dB per octave (20dB per decade).
 </dl>
 
 <a name="bandreject"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-bandreject">32.23 bandreject</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-bandreject">27.23 bandreject</a></h2>
 
 <p>Apply a two-pole Butterworth band-reject filter with central
 frequency <var>frequency</var>, and (3dB-point) band-width <var>width</var>.
@@ -12879,7 +9284,7 @@ The filter roll off at 6dB per octave (20dB per decade).
 </dl>
 
 <a name="bass"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-bass">32.24 bass</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-bass">27.24 bass</a></h2>
 
 <p>Boost or cut the bass (lower) frequencies of the audio using a two-pole
 shelving filter with a response similar to that of a standard
@@ -12924,14 +9329,14 @@ The default value is <code>100</code> Hz.
 </dl>
 
 <a name="biquad"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-biquad">32.25 biquad</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-biquad">27.25 biquad</a></h2>
 
 <p>Apply a biquad IIR filter with the given coefficients.
 Where <var>b0</var>, <var>b1</var>, <var>b2</var> and <var>a0</var>, <var>a1</var>, <var>a2</var>
 are the numerator and denominator coefficients respectively.
 </p>
 <a name="channelmap"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-channelmap">32.26 channelmap</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-channelmap">27.26 channelmap</a></h2>
 
 <p>Remap input channels to new locations.
 </p>
@@ -12966,7 +9371,7 @@ the input.
 </pre></td></tr></table>
 
 <a name="channelsplit"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-channelsplit">32.27 channelsplit</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-channelsplit">27.27 channelsplit</a></h2>
 
 <p>Split each channel in input audio stream into a separate output stream.
 </p>
@@ -12992,8 +9397,7 @@ side_right.wav
 </pre></td></tr></table>
 
 <a name="compand"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-compand">32.28 compand</a></h2>
-
+<h2 class="section"><a href="ffprobe-all.html#toc-compand">27.28 compand</a></h2>
 <p>Compress or expand audio dynamic range.
 </p>
 <p>A description of the accepted options follows.
@@ -13001,80 +9405,77 @@ side_right.wav
 <dl compact="compact">
 <dt> &lsquo;<samp>attacks</samp>&rsquo;</dt>
 <dt> &lsquo;<samp>decays</samp>&rsquo;</dt>
-<dd><p>Set list of times in seconds for each channel over which the instantaneous
-level of the input signal is averaged to determine its volume.
-&lsquo;<samp>attacks</samp>&rsquo; refers to increase of volume and &lsquo;<samp>decays</samp>&rsquo; refers
-to decrease of volume.
-For most situations, the attack time (response to the audio getting louder)
-should be shorter than the decay time because the human ear is more sensitive
-to sudden loud audio than sudden soft audio.
-Typical value for attack is <code>0.3</code> seconds and for decay <code>0.8</code>
-seconds.
+<dd><p>Set list of times in seconds for each channel over which the instantaneous level
+of the input signal is averaged to determine its volume. <var>attacks</var> refers to
+increase of volume and <var>decays</var> refers to decrease of volume. For most
+situations, the attack time (response to the audio getting louder) should be
+shorter than the decay time because the human ear is more sensitive to sudden
+loud audio than sudden soft audio. A typical value for attack is 0.3 seconds and
+a typical value for decay is 0.8 seconds.
 </p>
 </dd>
 <dt> &lsquo;<samp>points</samp>&rsquo;</dt>
-<dd><p>Set list of points for transfer function, specified in dB relative to maximum
-possible signal amplitude.
-Each key points list need to be defined using the following syntax:
-<code>x0/y0 x1/y1 x2/y2 ...</code>.
+<dd><p>Set list of points for the transfer function, specified in dB relative to the
+maximum possible signal amplitude. Each key points list must be defined using
+the following syntax: <code>x0/y0|x1/y1|x2/y2|....</code> or
+<code>x0/y0 x1/y1 x2/y2 ....</code>
 </p>
-<p>The input values must be in strictly increasing order but the transfer
-function does not have to be monotonically rising.
-The point <code>0/0</code> is assumed but may be overridden (by <code>0/out-dBn</code>).
-Typical values for the transfer function are <code>-70/-70 -60/-20</code>.
+<p>The input values must be in strictly increasing order but the transfer function
+does not have to be monotonically rising. The point <code>0/0</code> is assumed but
+may be overridden (by <code>0/out-dBn</code>). Typical values for the transfer
+function are <code>-70/-70|-60/-20</code>.
 </p>
 </dd>
 <dt> &lsquo;<samp>soft-knee</samp>&rsquo;</dt>
-<dd><p>Set amount for which the points at where adjacent line segments on the
-transfer function meet will be rounded. Defaults is <code>0.01</code>.
+<dd><p>Set the curve radius in dB for all joints. Defaults to 0.01.
 </p>
 </dd>
 <dt> &lsquo;<samp>gain</samp>&rsquo;</dt>
-<dd><p>Set additional gain in dB to be applied at all points on the transfer function
-and allows easy adjustment of the overall gain.
-Default is <code>0</code>.
+<dd><p>Set additional gain in dB to be applied at all points on the transfer function.
+This allows easy adjustment of the overall gain. Defaults to 0.
 </p>
 </dd>
 <dt> &lsquo;<samp>volume</samp>&rsquo;</dt>
 <dd><p>Set initial volume in dB to be assumed for each channel when filtering starts.
-This permits the user to supply a nominal level initially, so that,
-for example, a very large gain is not applied to initial signal levels before
-the companding has begun to operate. A typical value for audio which is
-initially quiet is -90 dB. Default is <code>0</code>.
+This permits the user to supply a nominal level initially, so that, for
+example, a very large gain is not applied to initial signal levels before the
+companding has begun to operate. A typical value for audio which is initially
+quiet is -90 dB. Defaults to 0.
 </p>
 </dd>
 <dt> &lsquo;<samp>delay</samp>&rsquo;</dt>
-<dd><p>Set delay in seconds. Default is <code>0</code>. The input audio
-is analysed immediately, but audio is delayed before being fed to the
-volume adjuster. Specifying a delay approximately equal to the attack/decay
-times allows the filter to effectively operate in predictive rather than
-reactive mode.
-</p></dd>
+<dd><p>Set delay in seconds. The input audio is analyzed immediately, but audio is
+delayed before being fed to the volume adjuster. Specifying a delay
+approximately equal to the attack/decay times allows the filter to effectively
+operate in predictive rather than reactive mode. Defaults to 0.
+</p>
+</dd>
 </dl>
 
-<a name="Examples-18"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-18">32.28.1 Examples</a></h3>
+<a name="Examples-24"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-24">27.28.1 Examples</a></h3>
+
 <ul>
 <li>
-Make music with both quiet and loud passages suitable for listening
-in a noisy environment:
-<table><tr><td>&nbsp;</td><td><pre class="example">compand=.3 .3:1 1:-90/-60 -60/-40 -40/-30 -20/-20:6:0:-90:0.2
+Make music with both quiet and loud passages suitable for listening in a noisy
+environment:
+<table><tr><td>&nbsp;</td><td><pre class="example">compand=.3|.3:1|1:-90/-60|-60/-40|-40/-30|-20/-20:6:0:-90:0.2
 </pre></td></tr></table>
 
 </li><li>
-Noise-gate for when the noise is at a lower level than the signal:
-<table><tr><td>&nbsp;</td><td><pre class="example">compand=.1 .1:.2 .2:-900/-900 -50.1/-900 -50/-50:.01:0:-90:.1
+Noise gate for when the noise is at a lower level than the signal:
+<table><tr><td>&nbsp;</td><td><pre class="example">compand=.1|.1:.2|.2:-900/-900|-50.1/-900|-50/-50:.01:0:-90:.1
 </pre></td></tr></table>
 
 </li><li>
-Here is another noise-gate, this time for when the noise is at a higher level
+Here is another noise gate, this time for when the noise is at a higher level
 than the signal (making it, in some ways, similar to squelch):
-<table><tr><td>&nbsp;</td><td><pre class="example">compand=.1 .1:.1 .1:-45.1/-45.1 -45/-900 0/-900:.01:45:-90:.1
+<table><tr><td>&nbsp;</td><td><pre class="example">compand=.1|.1:.1|.1:-45.1/-45.1|-45/-900|0/-900:.01:45:-90:.1
 </pre></td></tr></table>
 </li></ul>
 
 <a name="earwax"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-earwax">32.29 earwax</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-earwax">27.29 earwax</a></h2>
 
 <p>Make audio easier to listen to on headphones.
 </p>
@@ -13086,7 +9487,7 @@ the listener (standard for speakers).
 <p>Ported from SoX.
 </p>
 <a name="equalizer"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-equalizer">32.30 equalizer</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-equalizer">27.30 equalizer</a></h2>
 
 <p>Apply a two-pole peaking equalisation (EQ) filter. With this
 filter, the signal-level at and around a selected frequency can
@@ -13131,8 +9532,22 @@ Beware of clipping when using a positive gain.
 </p></dd>
 </dl>
 
+<a name="Examples-6"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-6">27.30.1 Examples</a></h3>
+<ul>
+<li>
+Attenuate 10 dB at 1000 Hz, with a bandwidth of 200 Hz:
+<table><tr><td>&nbsp;</td><td><pre class="example">equalizer=f=1000:width_type=h:width=200:g=-10
+</pre></td></tr></table>
+
+</li><li>
+Apply 2 dB gain at 1000 Hz with Q 1 and attenuate 5 dB at 100 Hz with Q 2:
+<table><tr><td>&nbsp;</td><td><pre class="example">equalizer=f=1000:width_type=q:width=1:g=2,equalizer=f=100:width_type=q:width=2:g=-5
+</pre></td></tr></table>
+</li></ul>
+
 <a name="highpass"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-highpass">32.31 highpass</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-highpass">27.31 highpass</a></h2>
 
 <p>Apply a high-pass filter with 3dB point frequency.
 The filter can be either single-pole, or double-pole (the default).
@@ -13175,7 +9590,7 @@ The default is 0.707q and gives a Butterworth response.
 </dl>
 
 <a name="join"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-join">32.32 join</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-join">27.32 join</a></h2>
 
 <p>Join multiple input streams into one multi-channel stream.
 </p>
@@ -13214,7 +9629,7 @@ out
 </pre></td></tr></table>
 
 <a name="ladspa"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-ladspa">32.33 ladspa</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-ladspa">27.33 ladspa</a></h2>
 
 <p>Load a LADSPA (Linux Audio Developer&rsquo;s Simple Plugin API) plugin.
 </p>
@@ -13271,8 +9686,8 @@ Only used if plugin have zero inputs.
 </dd>
 </dl>
 
-<a name="Examples-32"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-32">32.33.1 Examples</a></h3>
+<a name="Examples-52"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-52">27.33.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -13316,7 +9731,7 @@ Apply <code>C* Eq10X2 - Stereo 10-band equaliser</code> effect:
 </li></ul>
 
 <a name="Commands"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Commands">32.33.2 Commands</a></h3>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Commands">27.33.2 Commands</a></h3>
 
 <p>This filter supports the following commands:
 </p><dl compact="compact">
@@ -13328,7 +9743,7 @@ Apply <code>C* Eq10X2 - Stereo 10-band equaliser</code> effect:
 </dl>
 
 <a name="lowpass"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-lowpass">32.34 lowpass</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-lowpass">27.34 lowpass</a></h2>
 
 <p>Apply a low-pass filter with 3dB point frequency.
 The filter can be either single-pole or double-pole (the default).
@@ -13371,7 +9786,7 @@ The default is 0.707q and gives a Butterworth response.
 </dl>
 
 <a name="pan"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-pan">32.35 pan</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-pan">27.35 pan</a></h2>
 
 <p>Mix channels with specific gain levels. The filter accepts the output
 channel layout followed by a set of channels definitions.
@@ -13412,7 +9827,7 @@ that specification will be renormalized so that the total is 1, thus
 avoiding clipping noise.
 </p>
 <a name="Mixing-examples"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Mixing-examples">32.35.1 Mixing examples</a></h3>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Mixing-examples">27.35.1 Mixing examples</a></h3>
 
 <p>For example, if you want to down-mix from stereo to mono, but with a bigger
 factor for the left channel:
@@ -13429,7 +9844,7 @@ that should be preferred (see &quot;-ac&quot; option) unless you have very speci
 needs.
 </p>
 <a name="Remapping-examples"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Remapping-examples">32.35.2 Remapping examples</a></h3>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Remapping-examples">27.35.2 Remapping examples</a></h3>
 
 <p>The channel remapping will be effective if, and only if:
 </p>
@@ -13463,20 +9878,20 @@ front left and right:
 </pre></td></tr></table>
 
 <a name="replaygain"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-replaygain">32.36 replaygain</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-replaygain">27.36 replaygain</a></h2>
 
 <p>ReplayGain scanner filter. This filter takes an audio stream as an input and
 outputs it unchanged.
 At end of filtering it displays <code>track_gain</code> and <code>track_peak</code>.
 </p>
 <a name="resample"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-resample">32.37 resample</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-resample">27.37 resample</a></h2>
 
 <p>Convert the audio sample format, sample rate and channel layout. This filter is
 not meant to be used directly.
 </p>
 <a name="silencedetect"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-silencedetect">32.38 silencedetect</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-silencedetect">27.38 silencedetect</a></h2>
 
 <p>Detect silence in an audio stream.
 </p>
@@ -13499,8 +9914,8 @@ specified value) or amplitude ratio. Default is -60dB, or 0.001.
 </p></dd>
 </dl>
 
-<a name="Examples-46"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-46">32.38.1 Examples</a></h3>
+<a name="Examples-49"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-49">27.38.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -13516,7 +9931,7 @@ tolerance in &lsquo;<tt>silence.mp3</tt>&rsquo;:
 </li></ul>
 
 <a name="treble"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-treble">32.39 treble</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-treble">27.39 treble</a></h2>
 
 <p>Boost or cut treble (upper) frequencies of the audio using a two-pole
 shelving filter with a response similar to that of a standard
@@ -13561,7 +9976,7 @@ The default value is <code>3000</code> Hz.
 </dl>
 
 <a name="volume"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-volume">32.40 volume</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-volume">27.40 volume</a></h2>
 
 <p>Adjust the input audio volume.
 </p>
@@ -13569,7 +9984,7 @@ The default value is <code>3000</code> Hz.
 </p>
 <dl compact="compact">
 <dt> &lsquo;<samp>volume</samp>&rsquo;</dt>
-<dd><p>Expresses how the audio volume will be increased or decreased.
+<dd><p>Set audio volume expression.
 </p>
 <p>Output values are clipped to the maximum value.
 </p>
@@ -13577,7 +9992,7 @@ The default value is <code>3000</code> Hz.
 </p><table><tr><td>&nbsp;</td><td><pre class="example"><var>output_volume</var> = <var>volume</var> * <var>input_volume</var>
 </pre></td></tr></table>
 
-<p>Default value for <var>volume</var> is 1.0.
+<p>Default value for <var>volume</var> is &quot;1.0&quot;.
 </p>
 </dd>
 <dt> &lsquo;<samp>precision</samp>&rsquo;</dt>
@@ -13597,11 +10012,88 @@ precision of the volume scaling.
 <dd><p>64-bit floating-point; limits input sample format to DBL.
 </p></dd>
 </dl>
+
+</dd>
+<dt> &lsquo;<samp>eval</samp>&rsquo;</dt>
+<dd><p>Set when the volume expression is evaluated.
+</p>
+<p>It accepts the following values:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>once</samp>&rsquo;</dt>
+<dd><p>only evaluate expression once during the filter initialization, or
+when the &lsquo;<samp>volume</samp>&rsquo; command is sent
+</p>
 </dd>
+<dt> &lsquo;<samp>frame</samp>&rsquo;</dt>
+<dd><p>evaluate expression for each incoming frame
+</p></dd>
 </dl>
 
-<a name="Examples-10"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-10">32.40.1 Examples</a></h3>
+<p>Default value is &lsquo;<samp>once</samp>&rsquo;.
+</p></dd>
+</dl>
+
+<p>The volume expression can contain the following parameters.
+</p>
+<dl compact="compact">
+<dt> &lsquo;<samp>n</samp>&rsquo;</dt>
+<dd><p>frame number (starting at zero)
+</p></dd>
+<dt> &lsquo;<samp>nb_channels</samp>&rsquo;</dt>
+<dd><p>number of channels
+</p></dd>
+<dt> &lsquo;<samp>nb_consumed_samples</samp>&rsquo;</dt>
+<dd><p>number of samples consumed by the filter
+</p></dd>
+<dt> &lsquo;<samp>nb_samples</samp>&rsquo;</dt>
+<dd><p>number of samples in the current frame
+</p></dd>
+<dt> &lsquo;<samp>pos</samp>&rsquo;</dt>
+<dd><p>original frame position in the file
+</p></dd>
+<dt> &lsquo;<samp>pts</samp>&rsquo;</dt>
+<dd><p>frame PTS
+</p></dd>
+<dt> &lsquo;<samp>sample_rate</samp>&rsquo;</dt>
+<dd><p>sample rate
+</p></dd>
+<dt> &lsquo;<samp>startpts</samp>&rsquo;</dt>
+<dd><p>PTS at start of stream
+</p></dd>
+<dt> &lsquo;<samp>startt</samp>&rsquo;</dt>
+<dd><p>time at start of stream
+</p></dd>
+<dt> &lsquo;<samp>t</samp>&rsquo;</dt>
+<dd><p>frame time
+</p></dd>
+<dt> &lsquo;<samp>tb</samp>&rsquo;</dt>
+<dd><p>timestamp timebase
+</p></dd>
+<dt> &lsquo;<samp>volume</samp>&rsquo;</dt>
+<dd><p>last set volume value
+</p></dd>
+</dl>
+
+<p>Note that when &lsquo;<samp>eval</samp>&rsquo; is set to &lsquo;<samp>once</samp>&rsquo; only the
+<var>sample_rate</var> and <var>tb</var> variables are available, all other
+variables will evaluate to NAN.
+</p>
+<a name="Commands-4"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Commands-4">27.40.1 Commands</a></h3>
+
+<p>This filter supports the following commands:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>volume</samp>&rsquo;</dt>
+<dd><p>Modify the volume expression.
+The command accepts the same syntax of the corresponding option.
+</p>
+<p>If the specified expression is not valid, it is kept at its current
+value.
+</p></dd>
+</dl>
+
+<a name="Examples-74"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-74">27.40.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -13620,10 +10112,15 @@ omitted, for example like in:
 Increase input audio power by 6 decibels using fixed-point precision:
 <table><tr><td>&nbsp;</td><td><pre class="example">volume=volume=6dB:precision=fixed
 </pre></td></tr></table>
+
+</li><li>
+Fade volume after time 10 with an annihilation period of 5 seconds:
+<table><tr><td>&nbsp;</td><td><pre class="example">volume='if(lt(t,10),1,max(1-(t-10)/5,0))':eval=frame
+</pre></td></tr></table>
 </li></ul>
 
 <a name="volumedetect"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-volumedetect">32.41 volumedetect</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-volumedetect">27.41 volumedetect</a></h2>
 
 <p>Detect the volume of the input video.
 </p>
@@ -13637,8 +10134,8 @@ the samples).
 </p>
 <p>All volumes are in decibels relative to the maximum PCM value.
 </p>
-<a name="Examples-22"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-22">32.41.1 Examples</a></h3>
+<a name="Examples"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples">27.41.1 Examples</a></h3>
 
 <p>Here is an excerpt of the output:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">[Parsed_volumedetect_0 &nbsp;0xa23120] mean_volume: -27 dB
@@ -13667,12 +10164,12 @@ raising it by +5 dB causes clipping for 6 samples, etc.
 </p>
 
 <a name="Audio-Sources"></a>
-<h1 class="chapter"><a href="ffprobe-all.html#toc-Audio-Sources">33. Audio Sources</a></h1>
+<h1 class="chapter"><a href="ffprobe-all.html#toc-Audio-Sources">28. Audio Sources</a></h1>
 
 <p>Below is a description of the currently available audio sources.
 </p>
 <a name="abuffer"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-abuffer">33.1 abuffer</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-abuffer">28.1 abuffer</a></h2>
 
 <p>Buffer audio frames, and make them available to the filter chain.
 </p>
@@ -13712,8 +10209,8 @@ must be consistent.
 </dd>
 </dl>
 
-<a name="Examples-40"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-40">33.1.1 Examples</a></h3>
+<a name="Examples-42"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-42">28.1.1 Examples</a></h3>
 
 <table><tr><td>&nbsp;</td><td><pre class="example">abuffer=sample_rate=44100:sample_fmt=s16p:channel_layout=stereo
 </pre></td></tr></table>
@@ -13726,7 +10223,7 @@ equivalent to:
 </pre></td></tr></table>
 
 <a name="aevalsrc"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-aevalsrc">33.2 aevalsrc</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-aevalsrc">28.2 aevalsrc</a></h2>
 
 <p>Generate an audio signal specified by an expression.
 </p>
@@ -13787,8 +10284,8 @@ default to 1024.
 </dd>
 </dl>
 
-<a name="Examples-55"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-55">33.2.1 Examples</a></h3>
+<a name="Examples-64"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-64">28.2.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -13826,7 +10323,7 @@ Generate 2.5 Hz binaural beats on a 360 Hz carrier:
 </li></ul>
 
 <a name="anullsrc"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-anullsrc">33.3 anullsrc</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-anullsrc">28.3 anullsrc</a></h2>
 
 <p>Null audio source, return unprocessed audio frames. It is mainly useful
 as a template and to be employed in analysis / debugging tools, or as
@@ -13857,8 +10354,8 @@ channel layout values.
 </dd>
 </dl>
 
-<a name="Examples-54"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-54">33.3.1 Examples</a></h3>
+<a name="Examples-51"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-51">28.3.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -13875,7 +10372,7 @@ Do the same operation with a more obvious syntax:
 <p>All the parameters need to be explicitly defined.
 </p>
 <a name="flite"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-flite">33.4 flite</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-flite">28.4 flite</a></h2>
 
 <p>Synthesize a voice utterance using the libflite library.
 </p>
@@ -13910,8 +10407,8 @@ immediately. Default value is 0.
 </p></dd>
 </dl>
 
-<a name="Examples-56"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-56">33.4.1 Examples</a></h3>
+<a name="Examples-84"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-84">28.4.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -13941,7 +10438,7 @@ the <code>lavfi</code> device:
 <a href="http://www.speech.cs.cmu.edu/flite/">http://www.speech.cs.cmu.edu/flite/</a>
 </p>
 <a name="sine"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-sine">33.5 sine</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-sine">28.5 sine</a></h2>
 
 <p>Generate an audio signal made of a sine wave with amplitude 1/8.
 </p>
@@ -13972,8 +10469,8 @@ the carrier frequency. Default is 0, meaning the beep is disabled.
 </p></dd>
 </dl>
 
-<a name="Examples-26"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-26">33.5.1 Examples</a></h3>
+<a name="Examples-35"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-35">28.5.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -13992,12 +10489,12 @@ sine=frequency=220:beep_factor=4:duration=5
 
 
 <a name="Audio-Sinks"></a>
-<h1 class="chapter"><a href="ffprobe-all.html#toc-Audio-Sinks">34. Audio Sinks</a></h1>
+<h1 class="chapter"><a href="ffprobe-all.html#toc-Audio-Sinks">29. Audio Sinks</a></h1>
 
 <p>Below is a description of the currently available audio sinks.
 </p>
 <a name="abuffersink"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-abuffersink">34.1 abuffersink</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-abuffersink">29.1 abuffersink</a></h2>
 
 <p>Buffer audio frames, and make them available to the end of filter chain.
 </p>
@@ -14010,7 +10507,7 @@ defines the incoming buffers&rsquo; formats, to be passed as the opaque
 parameter to <code>avfilter_init_filter</code> for initialization.
 </p>
 <a name="anullsink"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-anullsink">34.2 anullsink</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-anullsink">29.2 anullsink</a></h2>
 
 <p>Null audio sink, do absolutely nothing with the input audio. It is
 mainly useful as a template and to be employed in analysis / debugging
@@ -14018,7 +10515,7 @@ tools.
 </p>
 
 <a name="Video-Filters"></a>
-<h1 class="chapter"><a href="ffprobe-all.html#toc-Video-Filters">35. Video Filters</a></h1>
+<h1 class="chapter"><a href="ffprobe-all.html#toc-Video-Filters">30. Video Filters</a></h1>
 
 <p>When you configure your FFmpeg build, you can disable any of the
 existing filters using <code>--disable-filters</code>.
@@ -14028,13 +10525,13 @@ build.
 <p>Below is a description of the currently available video filters.
 </p>
 <a name="alphaextract"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-alphaextract">35.1 alphaextract</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-alphaextract">30.1 alphaextract</a></h2>
 
 <p>Extract the alpha component from the input as a grayscale video. This
 is especially useful with the <var>alphamerge</var> filter.
 </p>
 <a name="alphamerge"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-alphamerge">35.2 alphamerge</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-alphamerge">30.2 alphamerge</a></h2>
 
 <p>Add or replace the alpha component of the primary input with the
 grayscale value of a second input. This is intended for use with
@@ -14054,14 +10551,14 @@ pipeline drops frames. If you&rsquo;re trying to apply an image as an
 overlay to a video stream, consider the <var>overlay</var> filter instead.
 </p>
 <a name="ass"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-ass">35.3 ass</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-ass">30.3 ass</a></h2>
 
 <p>Same as the <a href="#subtitles">subtitles</a> filter, except that it doesn&rsquo;t require libavcodec
 and libavformat to work. On the other hand, it is limited to ASS (Advanced
 Substation Alpha) subtitles files.
 </p>
 <a name="bbox"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-bbox">35.4 bbox</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-bbox">30.4 bbox</a></h2>
 
 <p>Compute the bounding box for the non-black pixels in the input frame
 luminance plane.
@@ -14080,7 +10577,7 @@ log.
 </dl>
 
 <a name="blackdetect"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-blackdetect">35.5 blackdetect</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-blackdetect">30.5 blackdetect</a></h2>
 
 <p>Detect video intervals that are (almost) completely black. Can be
 useful to detect chapter transitions, commercials, or invalid
@@ -14133,7 +10630,7 @@ value, and detects only black intervals of 2 or more seconds:
 </pre></td></tr></table>
 
 <a name="blackframe"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-blackframe">35.6 blackframe</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-blackframe">30.6 blackframe</a></h2>
 
 <p>Detect frames that are (almost) completely black. Can be useful to
 detect chapter transitions or commercials. Output lines consist of
@@ -14159,7 +10656,7 @@ to <code>98</code>.
 </dl>
 
 <a name="blend"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-blend">35.7 blend</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-blend">30.7 blend</a></h2>
 
 <p>Blend two video frames into each other.
 </p>
@@ -14273,8 +10770,8 @@ Default is <code>1</code>.
 </p></dd>
 </dl>
 
-<a name="Examples-49"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-49">35.7.1 Examples</a></h3>
+<a name="Examples-75"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-75">30.7.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -14304,7 +10801,7 @@ Apply uncover up-left effect:
 </li></ul>
 
 <a name="boxblur"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-boxblur">35.8 boxblur</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-boxblur">30.8 boxblur</a></h2>
 
 <p>Apply boxblur algorithm to the input video.
 </p>
@@ -14371,8 +10868,8 @@ corresponding value set for &lsquo;<samp>luma_power</samp>&rsquo;.
 </p></dd>
 </dl>
 
-<a name="Examples-69"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-69">35.8.1 Examples</a></h3>
+<a name="Examples-5"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-5">30.8.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -14394,7 +10891,7 @@ Set luma and chroma radius to a fraction of the video dimension:
 </li></ul>
 
 <a name="colorbalance"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-colorbalance">35.9 colorbalance</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-colorbalance">30.9 colorbalance</a></h2>
 <p>Modify intensity of primary colors (red, green and blue) of input frames.
 </p>
 <p>The filter allows an input frame to be adjusted in the shadows, midtones or highlights
@@ -14427,8 +10924,8 @@ value towards the complementary color.
 </p></dd>
 </dl>
 
-<a name="Examples-61"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-61">35.9.1 Examples</a></h3>
+<a name="Examples-14"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-14">30.9.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -14438,7 +10935,7 @@ Add red color cast to shadows:
 </li></ul>
 
 <a name="colorchannelmixer"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-colorchannelmixer">35.10 colorchannelmixer</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-colorchannelmixer">30.10 colorchannelmixer</a></h2>
 
 <p>Adjust video input frames by re-mixing color channels.
 </p>
@@ -14486,8 +10983,8 @@ Default is <code>1</code> for <var>aa</var>, and <code>0</code> for <var>ar</var
 </p></dd>
 </dl>
 
-<a name="Examples-89"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-89">35.10.1 Examples</a></h3>
+<a name="Examples-43"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-43">30.10.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -14501,7 +10998,7 @@ Simulate sepia tones:
 </li></ul>
 
 <a name="colormatrix"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-colormatrix">35.11 colormatrix</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-colormatrix">30.11 colormatrix</a></h2>
 
 <p>Convert color matrix.
 </p>
@@ -14539,13 +11036,13 @@ specified.
 </pre></td></tr></table>
 
 <a name="copy"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-copy">35.12 copy</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-copy">30.12 copy</a></h2>
 
 <p>Copy the input source unchanged to the output. Mainly useful for
 testing purposes.
 </p>
 <a name="crop"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-crop">35.13 crop</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-crop">30.13 crop</a></h2>
 
 <p>Crop the input video to given dimensions.
 </p>
@@ -14658,8 +11155,8 @@ is approximated to the nearest valid value.
 <p>The expression for <var>x</var> may depend on <var>y</var>, and the expression
 for <var>y</var> may depend on <var>x</var>.
 </p>
-<a name="Examples-8"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-8">35.13.1 Examples</a></h3>
+<a name="Examples-53"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-53">30.13.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -14727,7 +11224,7 @@ Set x depending on the value of y:
 </li></ul>
 
 <a name="cropdetect"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-cropdetect">35.14 cropdetect</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-cropdetect">30.14 cropdetect</a></h2>
 
 <p>Auto-detect crop size.
 </p>
@@ -14764,7 +11261,7 @@ playback.
 
 <p><a name="curves"></a>
 </p><a name="curves-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-curves-1">35.15 curves</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-curves-1">30.15 curves</a></h2>
 
 <p>Apply color adjustments using curves.
 </p>
@@ -14841,8 +11338,8 @@ options. In this case, the unset component(s) will fallback on this
 <p>To avoid some filtergraph syntax conflicts, each key points list need to be
 defined using the following syntax: <code>x0/y0 x1/y1 x2/y2 ...</code>.
 </p>
-<a name="Examples-85"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-85">35.15.1 Examples</a></h3>
+<a name="Examples-54"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-54">30.15.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -14884,7 +11381,7 @@ Use a Photoshop preset and redefine the points of the green component:
 </li></ul>
 
 <a name="dctdnoiz"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-dctdnoiz">35.16 dctdnoiz</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-dctdnoiz">30.16 dctdnoiz</a></h2>
 
 <p>Denoise frames using 2D DCT (frequency domain filtering).
 </p>
@@ -14928,8 +11425,8 @@ variable.
 </p></dd>
 </dl>
 
-<a name="Examples-90"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-90">35.16.1 Examples</a></h3>
+<a name="Examples-4"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-4">30.16.1 Examples</a></h3>
 
 <p>Apply a denoise with a &lsquo;<samp>sigma</samp>&rsquo; of <code>4.5</code>:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">dctdnoiz=4.5
@@ -14941,7 +11438,7 @@ variable.
 
 <p><a name="decimate"></a>
 </p><a name="decimate-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-decimate-1">35.17 decimate</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-decimate-1">30.17 decimate</a></h2>
 
 <p>Drop duplicated frames at regular intervals.
 </p>
@@ -14986,8 +11483,43 @@ stream is the clean source from where the kept frames are chosen. Default is
 </p></dd>
 </dl>
 
+<a name="dejudder"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-dejudder">30.18 dejudder</a></h2>
+
+<p>Remove judder produced by partially interlaced telecined content.
+</p>
+<p>Judder can be introduced, for instance, by <a href="#pullup">pullup</a> filter. If the original
+source was partially telecined content then the output of <code>pullup,dejudder</code>
+will have a variable frame rate. May change the recorded frame rate of the
+container. Aside from that change, this filter will not affect constant frame
+rate video.
+</p>
+<p>The option available in this filter is:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>cycle</samp>&rsquo;</dt>
+<dd><p>Specify the length of the window over which the judder repeats.
+</p>
+<p>Accepts any interger greater than 1. Useful values are:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>4</samp>&rsquo;</dt>
+<dd><p>If the original was telecined from 24 to 30 fps (Film to NTSC).
+</p>
+</dd>
+<dt> &lsquo;<samp>5</samp>&rsquo;</dt>
+<dd><p>If the original was telecined from 25 to 30 fps (PAL to NTSC).
+</p>
+</dd>
+<dt> &lsquo;<samp>20</samp>&rsquo;</dt>
+<dd><p>If a mixture of the two.
+</p></dd>
+</dl>
+
+<p>The default is &lsquo;<samp>4</samp>&rsquo;.
+</p></dd>
+</dl>
+
 <a name="delogo"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-delogo">35.18 delogo</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-delogo">30.19 delogo</a></h2>
 
 <p>Suppress a TV station logo by a simple interpolation of the surrounding
 pixels. Just set a rectangle covering the logo and watch it disappear
@@ -15025,8 +11557,8 @@ compute the interpolated pixel values inside the rectangle.
 </dd>
 </dl>
 
-<a name="Examples-7"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-7">35.18.1 Examples</a></h3>
+<a name="Examples-73"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-73">30.19.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -15038,7 +11570,7 @@ and size 100x77, setting a band of size 10:
 </li></ul>
 
 <a name="deshake"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-deshake">35.19 deshake</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-deshake">30.20 deshake</a></h2>
 
 <p>Attempt to fix small changes in horizontal and/or vertical shift. This
 filter helps remove camera shake from hand-holding a camera, bumping a
@@ -15132,7 +11664,7 @@ FFmpeg was configured with <code>--enable-opencl</code>. Default value is 0.
 </dl>
 
 <a name="drawbox"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-drawbox">35.20 drawbox</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-drawbox">30.21 drawbox</a></h2>
 
 <p>Draw a colored box on the input image.
 </p>
@@ -15206,8 +11738,8 @@ each other, so you may for example specify <code>y=x/dar</code> or <code>h=w/dar
 </dd>
 </dl>
 
-<a name="Examples-13"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-13">35.20.1 Examples</a></h3>
+<a name="Examples-8"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-8">30.21.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -15236,7 +11768,7 @@ Draw a 2-pixel red 2.40:1 mask:
 </li></ul>
 
 <a name="drawgrid"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-drawgrid">35.21 drawgrid</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-drawgrid">30.22 drawgrid</a></h2>
 
 <p>Draw a grid on the input image.
 </p>
@@ -15311,8 +11843,8 @@ each other, so you may for example specify <code>y=x/dar</code> or <code>h=w/dar
 </dd>
 </dl>
 
-<a name="Examples-68"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-68">35.21.1 Examples</a></h3>
+<a name="Examples-46"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-46">30.22.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -15328,7 +11860,7 @@ Draw a white 3x3 grid with an opacity of 50%:
 
 <p><a name="drawtext"></a>
 </p><a name="drawtext-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-drawtext-1">35.22 drawtext</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-drawtext-1">30.23 drawtext</a></h2>
 
 <p>Draw text string or text from specified file on top of video using the
 libfreetype library.
@@ -15336,8 +11868,8 @@ libfreetype library.
 <p>To enable compilation of this filter you need to configure FFmpeg with
 <code>--enable-libfreetype</code>.
 </p>
-<a name="Syntax-1"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Syntax-1">35.22.1 Syntax</a></h3>
+<a name="Syntax"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Syntax">30.23.1 Syntax</a></h3>
 
 <p>The description of the accepted parameters follows.
 </p>
@@ -15355,6 +11887,18 @@ option, check the &quot;Color&quot; section in the ffmpeg-utils manual.
 <p>The default value of <var>boxcolor</var> is &quot;white&quot;.
 </p>
 </dd>
+<dt> &lsquo;<samp>borderw</samp>&rsquo;</dt>
+<dd><p>Set the width of the border to be drawn around the text using <var>bordercolor</var>.
+The default value of <var>borderw</var> is 0.
+</p>
+</dd>
+<dt> &lsquo;<samp>bordercolor</samp>&rsquo;</dt>
+<dd><p>Set the color to be used for drawing border around text. For the syntax of this
+option, check the &quot;Color&quot; section in the ffmpeg-utils manual.
+</p>
+<p>The default value of <var>bordercolor</var> is &quot;black&quot;.
+</p>
+</dd>
 <dt> &lsquo;<samp>expansion</samp>&rsquo;</dt>
 <dd><p>Select how the <var>text</var> is expanded. Can be either <code>none</code>,
 <code>strftime</code> (deprecated) or
@@ -15406,7 +11950,7 @@ a combination of the following values:
 <dt> <var>no_autohint</var></dt>
 </dl>
 
-<p>Default value is &quot;render&quot;.
+<p>Default value is &quot;default&quot;.
 </p>
 <p>For more information consult the documentation for the FT_LOAD_*
 libfreetype flags.
@@ -15570,7 +12114,7 @@ each other, so you can for example specify <code>y=x/dar</code>.
 </p>
 <p><a name="drawtext_005fexpansion"></a>
 </p><a name="Text-expansion"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Text-expansion">35.22.2 Text expansion</a></h3>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Text-expansion">30.23.2 Text expansion</a></h3>
 
 <p>If &lsquo;<samp>expansion</samp>&rsquo; is set to <code>strftime</code>,
 the filter recognizes strftime() sequences in the provided text and
@@ -15638,8 +12182,8 @@ It can accept an argument: a strftime() format string.
 </dd>
 </dl>
 
-<a name="Examples-48"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-48">35.22.3 Examples</a></h3>
+<a name="Examples-44"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-44">30.23.3 Examples</a></h3>
 
 <ul>
 <li>
@@ -15709,7 +12253,7 @@ Print the date of a real-time encoding (see strftime(3)):
 <a href="http://freedesktop.org/software/fontconfig/fontconfig-user.html">http://freedesktop.org/software/fontconfig/fontconfig-user.html</a>.
 </p>
 <a name="edgedetect"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-edgedetect">35.23 edgedetect</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-edgedetect">30.24 edgedetect</a></h2>
 
 <p>Detect and draw edges. The filter uses the Canny Edge Detection algorithm.
 </p>
@@ -15725,7 +12269,7 @@ algorithm.
 connected through 8-connectivity with the &quot;weak&quot; edge pixels selected
 by the low threshold.
 </p>
-<p><var>low</var> and <var>high</var> threshold values must be choosen in the range
+<p><var>low</var> and <var>high</var> threshold values must be chosen in the range
 [0,1], and <var>low</var> should be lesser or equal to <var>high</var>.
 </p>
 <p>Default value for <var>low</var> is <code>20/255</code>, and default value for <var>high</var>
@@ -15738,7 +12282,7 @@ is <code>50/255</code>.
 </pre></td></tr></table>
 
 <a name="extractplanes"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-extractplanes">35.24 extractplanes</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-extractplanes">30.25 extractplanes</a></h2>
 
 <p>Extract color channel components from input video stream into
 separate grayscale video streams.
@@ -15766,8 +12310,8 @@ with <code>y</code>, <code>u</code>, <code>v</code> planes at same time.
 </p></dd>
 </dl>
 
-<a name="Examples-2"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-2">35.24.1 Examples</a></h3>
+<a name="Examples-67"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-67">30.25.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -15778,7 +12322,7 @@ into 3 grayscale outputs:
 </li></ul>
 
 <a name="elbg"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-elbg">35.25 elbg</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-elbg">30.26 elbg</a></h2>
 
 <p>Apply a posterize effect using the ELBG (Enhanced LBG) algorithm.
 </p>
@@ -15808,7 +12352,7 @@ will try to use a good random seed on a best effort basis.
 </dl>
 
 <a name="fade"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-fade">35.26 fade</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-fade">30.27 fade</a></h2>
 
 <p>Apply fade-in/out effect to input video.
 </p>
@@ -15858,8 +12402,8 @@ If both duration and nb_frames are specified, duration is used. Default is 0.
 </p></dd>
 </dl>
 
-<a name="Examples-86"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-86">35.26.1 Examples</a></h3>
+<a name="Examples-10"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-10">30.27.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -15900,7 +12444,7 @@ Make first 5.5 seconds black, then fade in for 0.5 seconds:
 </li></ul>
 
 <a name="field"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-field">35.27 field</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-field">30.28 field</a></h2>
 
 <p>Extract a single field from an interlaced image using stride
 arithmetic to avoid wasting CPU time. The output frames are marked as
@@ -15917,7 +12461,7 @@ non-interlaced.
 </dl>
 
 <a name="fieldmatch"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-fieldmatch">35.28 fieldmatch</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-fieldmatch">30.29 fieldmatch</a></h2>
 
 <p>Field matching filter for inverse telecine. It is meant to reconstruct the
 progressive frames from a telecined stream. The filter does not drop duplicated
@@ -16167,10 +12711,10 @@ as &lsquo;<samp>MI</samp>&rsquo; in TFM/VFM vocabulary.
 
 <p><a name="p_002fc_002fn_002fu_002fb-meaning"></a>
 </p><a name="p_002fc_002fn_002fu_002fb-meaning-1"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-p_002fc_002fn_002fu_002fb-meaning-1">35.28.1 p/c/n/u/b meaning</a></h3>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-p_002fc_002fn_002fu_002fb-meaning-1">30.29.1 p/c/n/u/b meaning</a></h3>
 
 <a name="p_002fc_002fn"></a>
-<h4 class="subsubsection"><a href="ffprobe-all.html#toc-p_002fc_002fn">35.28.1.1 p/c/n</a></h4>
+<h4 class="subsubsection"><a href="ffprobe-all.html#toc-p_002fc_002fn">30.29.1.1 p/c/n</a></h4>
 
 <p>We assume the following telecined stream:
 </p>
@@ -16223,7 +12767,7 @@ basically, they refer to the frame and field of the opposite parity:
 </li></ul>
 
 <a name="u_002fb"></a>
-<h4 class="subsubsection"><a href="ffprobe-all.html#toc-u_002fb">35.28.1.2 u/b</a></h4>
+<h4 class="subsubsection"><a href="ffprobe-all.html#toc-u_002fb">30.29.1.2 u/b</a></h4>
 
 <p>The <var>u</var> and <var>b</var> matching are a bit special in the sense that they match
 from the opposite parity flag. In the following examples, we assume that we are
@@ -16256,8 +12800,8 @@ Output frames:
                  2          1          3          2          2
 </pre></td></tr></table>
 
-<a name="Examples-37"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-37">35.28.2 Examples</a></h3>
+<a name="Examples-69"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-69">30.29.2 Examples</a></h3>
 
 <p>Simple IVTC of a top field first telecined stream:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">fieldmatch=order=tff:combmatch=none, decimate
@@ -16268,7 +12812,7 @@ Output frames:
 </pre></td></tr></table>
 
 <a name="fieldorder"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-fieldorder">35.29 fieldorder</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-fieldorder">30.30 fieldorder</a></h2>
 
 <p>Transform the field order of the input video.
 </p>
@@ -16299,7 +12843,7 @@ which is bottom field first.
 </pre></td></tr></table>
 
 <a name="fifo"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-fifo">35.30 fifo</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-fifo">30.31 fifo</a></h2>
 
 <p>Buffer input images and send them when they are requested.
 </p>
@@ -16310,7 +12854,7 @@ framework.
 </p>
 <p><a name="format"></a>
 </p><a name="format-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-format-1">35.31 format</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-format-1">30.32 format</a></h2>
 
 <p>Convert the input video to one of the specified pixel formats.
 Libavfilter will try to pick one that is supported for the input to
@@ -16325,8 +12869,8 @@ the next filter.
 </dd>
 </dl>
 
-<a name="Examples-75"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-75">35.31.1 Examples</a></h3>
+<a name="Examples-7"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-7">30.32.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -16341,7 +12885,7 @@ Convert the input video to the format <var>yuv420p</var>
 
 <p><a name="fps"></a>
 </p><a name="fps-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-fps-1">35.32 fps</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-fps-1">30.33 fps</a></h2>
 
 <p>Convert the video to specified constant frame rate by duplicating or dropping
 frames as necessary.
@@ -16392,8 +12936,8 @@ frames with a negative PTS.
 </p>
 <p>See also the <a href="#setpts">setpts</a> filter.
 </p>
-<a name="Examples-44"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-44">35.32.1 Examples</a></h3>
+<a name="Examples-62"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-62">30.33.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -16407,8 +12951,57 @@ Sets the fps to 24, using abbreviation and rounding method to round to nearest:
 </pre></td></tr></table>
 </li></ul>
 
+<a name="framepack"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-framepack">30.34 framepack</a></h2>
+
+<p>Pack two different video streams into a stereoscopic video, setting proper
+metadata on supported codecs. The two views should have the same size and
+framerate and processing will stop when the shorter video ends. Please note
+that you may conveniently adjust view properties with the <a href="#scale">scale</a> and
+<a href="#fps">fps</a> filters.
+</p>
+<p>This filter accepts the following named parameters:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>format</samp>&rsquo;</dt>
+<dd><p>Desired packing format. Supported values are:
+</p>
+<dl compact="compact">
+<dt> &lsquo;<samp>sbs</samp>&rsquo;</dt>
+<dd><p>Views are next to each other (default).
+</p>
+</dd>
+<dt> &lsquo;<samp>tab</samp>&rsquo;</dt>
+<dd><p>Views are on top of each other.
+</p>
+</dd>
+<dt> &lsquo;<samp>lines</samp>&rsquo;</dt>
+<dd><p>Views are packed by line.
+</p>
+</dd>
+<dt> &lsquo;<samp>columns</samp>&rsquo;</dt>
+<dd><p>Views are eacked by column.
+</p>
+</dd>
+<dt> &lsquo;<samp>frameseq</samp>&rsquo;</dt>
+<dd><p>Views are temporally interleaved.
+</p>
+</dd>
+</dl>
+
+</dd>
+</dl>
+
+<p>Some examples follow:
+</p>
+<table><tr><td>&nbsp;</td><td><pre class="example"># Convert left and right views into a frame sequential video.
+ffmpeg -i LEFT -i RIGHT -filter_complex framepack=frameseq OUTPUT
+
+# Convert views into a side-by-side video with the same output resolution as the input.
+ffmpeg -i LEFT -i RIGHT -filter_complex [0:v]scale=w=iw/2[left],[1:v]scale=w=iw/2[right],[left][right]framepack=sbs OUTPUT
+</pre></td></tr></table>
+
 <a name="framestep"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-framestep">35.33 framestep</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-framestep">30.35 framestep</a></h2>
 
 <p>Select one frame every N-th frame.
 </p>
@@ -16422,7 +13015,7 @@ Allowed values are positive integers higher than 0. Default value is <code>1</co
 
 <p><a name="frei0r"></a>
 </p><a name="frei0r-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-frei0r-1">35.34 frei0r</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-frei0r-1">30.36 frei0r</a></h2>
 
 <p>Apply a frei0r effect to the input video.
 </p>
@@ -16457,8 +13050,8 @@ section in the ffmpeg-utils manual), a position (specified by the syntax <var>X<
 <p>The number and kind of parameters depend on the loaded effect. If an
 effect parameter is not specified the default value is set.
 </p>
-<a name="Examples"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples">35.34.1 Examples</a></h3>
+<a name="Examples-33"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-33">30.36.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -16484,7 +13077,7 @@ positions:
 <a href="http://frei0r.dyne.org">http://frei0r.dyne.org</a>
 </p>
 <a name="geq"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-geq">35.35 geq</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-geq">30.37 geq</a></h2>
 
 <p>The filter accepts the following options:
 </p>
@@ -16589,8 +13182,8 @@ plane. Return 0 if there is no such plane.
 <p>For functions, if <var>x</var> and <var>y</var> are outside the area, the value will be
 automatically clipped to the closer edge.
 </p>
-<a name="Examples-74"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-74">35.35.1 Examples</a></h3>
+<a name="Examples-29"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-29">30.37.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -16621,7 +13214,7 @@ Modify RGB components depending on pixel position:
 </li></ul>
 
 <a name="gradfun"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-gradfun">35.36 gradfun</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-gradfun">30.38 gradfun</a></h2>
 
 <p>Fix the banding artifacts that are sometimes introduced into nearly flat
 regions by truncation to 8bit color depth.
@@ -16654,8 +13247,8 @@ will be clipped to the valid range.
 <p>Alternatively, the options can be specified as a flat string:
 <var>strength</var>[:<var>radius</var>]
 </p>
-<a name="Examples-76"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-76">35.36.1 Examples</a></h3>
+<a name="Examples-56"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-56">30.38.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -16673,7 +13266,7 @@ value):
 
 <p><a name="haldclut"></a>
 </p><a name="haldclut-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-haldclut-1">35.37 haldclut</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-haldclut-1">30.39 haldclut</a></h2>
 
 <p>Apply a Hald CLUT to a video stream.
 </p>
@@ -16700,10 +13293,10 @@ filters share the same internals).
 (Hald CLUT author) at <a href="http://www.quelsolaar.com/technology/clut.html">http://www.quelsolaar.com/technology/clut.html</a>.
 </p>
 <a name="Workflow-examples"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Workflow-examples">35.37.1 Workflow examples</a></h3>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Workflow-examples">30.39.1 Workflow examples</a></h3>
 
 <a name="Hald-CLUT-video-stream"></a>
-<h4 class="subsubsection"><a href="ffprobe-all.html#toc-Hald-CLUT-video-stream">35.37.1.1 Hald CLUT video stream</a></h4>
+<h4 class="subsubsection"><a href="ffprobe-all.html#toc-Hald-CLUT-video-stream">30.39.1.1 Hald CLUT video stream</a></h4>
 
 <p>Generate an identity Hald CLUT stream altered with various effects:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -f lavfi -i <a href="#haldclutsrc">haldclutsrc</a>=8 -vf &quot;hue=H=2*PI*t:s=sin(2*PI*t)+1, curves=cross_process&quot; -t 10 -c:v ffv1 clut.nut
@@ -16720,7 +13313,7 @@ filters share the same internals).
 to the remaining frames of the <code>mandelbrot</code> stream.
 </p>
 <a name="Hald-CLUT-with-preview"></a>
-<h4 class="subsubsection"><a href="ffprobe-all.html#toc-Hald-CLUT-with-preview">35.37.1.2 Hald CLUT with preview</a></h4>
+<h4 class="subsubsection"><a href="ffprobe-all.html#toc-Hald-CLUT-with-preview">30.39.1.2 Hald CLUT with preview</a></h4>
 
 <p>A Hald CLUT is supposed to be a squared image of <code>Level*Level*Level</code> by
 <code>Level*Level*Level</code> pixels. For a given Hald CLUT, FFmpeg will select the
@@ -16747,7 +13340,7 @@ the color changes.
 </pre></td></tr></table>
 
 <a name="hflip"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-hflip">35.38 hflip</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-hflip">30.40 hflip</a></h2>
 
 <p>Flip the input video horizontally.
 </p>
@@ -16756,7 +13349,7 @@ the color changes.
 </pre></td></tr></table>
 
 <a name="histeq"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-histeq">35.39 histeq</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-histeq">30.41 histeq</a></h2>
 <p>This filter applies a global color histogram equalization on a
 per-frame basis.
 </p>
@@ -16793,12 +13386,12 @@ the histogram. Possible values are <code>none</code>, <code>weak</code> or
 </dl>
 
 <a name="histogram"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-histogram">35.40 histogram</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-histogram">30.42 histogram</a></h2>
 
 <p>Compute and draw a color distribution histogram for the input video.
 </p>
-<p>The computed histogram is a representation of distribution of color components
-in an image.
+<p>The computed histogram is a representation of the color component
+distribution in an image.
 </p>
 <p>The filter accepts the following options:
 </p>
@@ -16809,44 +13402,41 @@ in an image.
 <p>It accepts the following values:
 </p><dl compact="compact">
 <dt> &lsquo;<samp>levels</samp>&rsquo;</dt>
-<dd><p>standard histogram that display color components distribution in an image.
-Displays color graph for each color component. Shows distribution
-of the Y, U, V, A or R, G, B components, depending on input format,
-in current frame. Bellow each graph is color component scale meter.
+<dd><p>Standard histogram that displays the color components distribution in an
+image. Displays color graph for each color component. Shows distribution of
+the Y, U, V, A or R, G, B components, depending on input format, in the
+current frame. Below each graph a color component scale meter is shown.
 </p>
 </dd>
 <dt> &lsquo;<samp>color</samp>&rsquo;</dt>
-<dd><p>chroma values in vectorscope, if brighter more such chroma values are
-distributed in an image.
-Displays chroma values (U/V color placement) in two dimensional graph
-(which is called a vectorscope). It can be used to read of the hue and
-saturation of the current frame. At a same time it is a histogram.
-The whiter a pixel in the vectorscope, the more pixels of the input frame
-correspond to that pixel (that is the more pixels have this chroma value).
-The V component is displayed on the horizontal (X) axis, with the leftmost
-side being V = 0 and the rightmost side being V = 255.
-The U component is displayed on the vertical (Y) axis, with the top
-representing U = 0 and the bottom representing U = 255.
-</p>
-<p>The position of a white pixel in the graph corresponds to the chroma value
-of a pixel of the input clip. So the graph can be used to read of the
-hue (color flavor) and the saturation (the dominance of the hue in the color).
-As the hue of a color changes, it moves around the square. At the center of
-the square, the saturation is zero, which means that the corresponding pixel
-has no color. If you increase the amount of a specific color, while leaving
-the other colors unchanged, the saturation increases, and you move towards
+<dd><p>Displays chroma values (U/V color placement) in a two dimensional
+graph (which is called a vectorscope). The brighter a pixel in the
+vectorscope, the more pixels of the input frame correspond to that pixel
+(i.e., more pixels have this chroma value). The V component is displayed on
+the horizontal (X) axis, with the leftmost side being V = 0 and the rightmost
+side being V = 255. The U component is displayed on the vertical (Y) axis,
+with the top representing U = 0 and the bottom representing U = 255.
+</p>
+<p>The position of a white pixel in the graph corresponds to the chroma value of
+a pixel of the input clip. The graph can therefore be used to read the hue
+(color flavor) and the saturation (the dominance of the hue in the color). As
+the hue of a color changes, it moves around the square. At the center of the
+square the saturation is zero, which means that the corresponding pixel has no
+color. If the amount of a specific color is increased (while leaving the other
+colors unchanged) the saturation increases, and the indicator moves towards
 the edge of the square.
 </p>
 </dd>
 <dt> &lsquo;<samp>color2</samp>&rsquo;</dt>
-<dd><p>chroma values in vectorscope, similar as <code>color</code> but actual chroma values
+<dd><p>Chroma values in vectorscope, similar as <code>color</code> but actual chroma values
 are displayed.
 </p>
 </dd>
 <dt> &lsquo;<samp>waveform</samp>&rsquo;</dt>
-<dd><p>per row/column color component graph. In row mode graph in the left side represents
-color component value 0 and right side represents value = 255. In column mode top
-side represents color component value = 0 and bottom side represents value = 255.
+<dd><p>Per row/column color component graph. In row mode, the graph on the left side
+represents color component value 0 and the right side represents value = 255.
+In column mode, the top side represents color component value = 0 and bottom
+side represents value = 255.
 </p></dd>
 </dl>
 <p>Default value is <code>levels</code>.
@@ -16863,8 +13453,8 @@ Allowed range is [0, 40].
 </p>
 </dd>
 <dt> &lsquo;<samp>step</samp>&rsquo;</dt>
-<dd><p>Set step for <code>waveform</code> mode. Smaller values are useful to find out how much
-of same luminance values across input rows/columns are distributed.
+<dd><p>Set step for <code>waveform</code> mode. Smaller values are useful to find out how
+many values of the same luminance are distributed across input rows/columns.
 Default value is <code>10</code>. Allowed range is [1, 255].
 </p>
 </dd>
@@ -16886,27 +13476,26 @@ It accepts the following values:
 </p><dl compact="compact">
 <dt> &lsquo;<samp>parade</samp>&rsquo;</dt>
 <dd><p>Display separate graph for the color components side by side in
-<code>row</code> waveform mode or one below other in <code>column</code> waveform mode
-for <code>waveform</code> histogram mode. For <code>levels</code> histogram mode
-per color component graphs are placed one bellow other.
+<code>row</code> waveform mode or one below the other in <code>column</code> waveform mode
+for <code>waveform</code> histogram mode. For <code>levels</code> histogram mode,
+per color component graphs are placed below each other.
 </p>
-<p>This display mode in <code>waveform</code> histogram mode makes it easy to spot
-color casts in the highlights and shadows of an image, by comparing the
-contours of the top and the bottom of each waveform.
-Since whites, grays, and blacks are characterized by
-exactly equal amounts of red, green, and blue, neutral areas of the
-picture should display three waveforms of roughly equal width/height.
-If not, the correction is easy to make by making adjustments to level the
-three waveforms.
+<p>Using this display mode in <code>waveform</code> histogram mode makes it easy to
+spot color casts in the highlights and shadows of an image, by comparing the
+contours of the top and the bottom graphs of each waveform. Since whites,
+grays, and blacks are characterized by exactly equal amounts of red, green,
+and blue, neutral areas of the picture should display three waveforms of
+roughly equal width/height. If not, the correction is easy to perform by
+making level adjustments the three waveforms.
 </p>
 </dd>
 <dt> &lsquo;<samp>overlay</samp>&rsquo;</dt>
-<dd><p>Presents information that&rsquo;s identical to that in the <code>parade</code>, except
+<dd><p>Presents information identical to that in the <code>parade</code>, except
 that the graphs representing color components are superimposed directly
 over one another.
 </p>
-<p>This display mode in <code>waveform</code> histogram mode can make it easier to spot
-the relative differences or similarities in overlapping areas of the color
+<p>This display mode in <code>waveform</code> histogram mode makes it easier to spot
+relative differences or similarities in overlapping areas of the color
 components that are supposed to be identical, such as neutral whites, grays,
 or blacks.
 </p></dd>
@@ -16920,8 +13509,8 @@ Default is <code>linear</code>.
 </p></dd>
 </dl>
 
-<a name="Examples-6"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-6">35.40.1 Examples</a></h3>
+<a name="Examples-27"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-27">30.42.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -16933,7 +13522,7 @@ Calculate and draw histogram:
 
 <p><a name="hqdn3d"></a>
 </p><a name="hqdn3d-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-hqdn3d-1">35.41 hqdn3d</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-hqdn3d-1">30.43 hqdn3d</a></h2>
 
 <p>High precision/quality 3d denoise filter. This filter aims to reduce
 image noise producing smooth images and making still images really
@@ -16964,7 +13553,7 @@ defaults to 3.0*<var>luma_spatial</var>/4.0
 </dl>
 
 <a name="hue"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-hue">35.42 hue</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-hue">30.44 hue</a></h2>
 
 <p>Modify the hue and/or the saturation of the input.
 </p>
@@ -17020,8 +13609,8 @@ expressions containing the following constants:
 </p></dd>
 </dl>
 
-<a name="Examples-72"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-72">35.42.1 Examples</a></h3>
+<a name="Examples-48"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-48">30.44.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -17061,7 +13650,7 @@ Apply a 3 seconds saturation fade-out effect starting at 5 seconds:
 </li></ul>
 
 <a name="Commands-3"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Commands-3">35.42.2 Commands</a></h3>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Commands-3">30.44.2 Commands</a></h3>
 
 <p>This filter supports the following commands:
 </p><dl compact="compact">
@@ -17078,7 +13667,7 @@ value.
 </dl>
 
 <a name="idet"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-idet">35.43 idet</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-idet">30.45 idet</a></h2>
 
 <p>Detect video interlacing type.
 </p>
@@ -17097,11 +13686,11 @@ top or bottom field first.
 </dl>
 
 <a name="il"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-il">35.44 il</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-il">30.46 il</a></h2>
 
 <p>Deinterleave or interleave fields.
 </p>
-<p>This filter allows to process interlaced images fields without
+<p>This filter allows one to process interlaced images fields without
 deinterlacing them. Deinterleaving splits the input frame into 2
 fields (so called half pictures). Odd lines are moved to the top
 half of the output image, even lines to the bottom half.
@@ -17140,11 +13729,12 @@ You can process (filter) them independently and then re-interleave them.
 </dl>
 
 <a name="interlace"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-interlace">35.45 interlace</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-interlace">30.47 interlace</a></h2>
 
 <p>Simple interlacing filter from progressive contents. This interleaves upper (or
 lower) lines from odd frames with lower (or upper) lines from even frames,
-halving the frame rate and preserving image height.
+halving the frame rate and preserving image height. A vertical lowpass filter
+is always applied in order to avoid twitter effects and reduce moiré patterns.
 </p>
 <table><tr><td>&nbsp;</td><td><pre class="example">   Original        Original             New Frame
    Frame 'j'      Frame 'j+1'             (tff)
@@ -17163,16 +13753,11 @@ New Frame + 1 will be generated by Frame 'j+2' and Frame 'j+3' and so on
 <dt> &lsquo;<samp>scan</samp>&rsquo;</dt>
 <dd><p>determines whether the interlaced frame is taken from the even (tff - default)
 or odd (bff) lines of the progressive frame.
-</p>
-</dd>
-<dt> &lsquo;<samp>lowpass</samp>&rsquo;</dt>
-<dd><p>Enable (default) or disable the vertical lowpass filter to avoid twitter
-interlacing and reduce moire patterns.
 </p></dd>
 </dl>
 
 <a name="kerndeint"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-kerndeint">35.46 kerndeint</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-kerndeint">30.48 kerndeint</a></h2>
 
 <p>Deinterlace input video by applying Donald Graft&rsquo;s adaptive kernel
 deinterling. Work on interlaced parts of a video to produce
@@ -17207,8 +13792,8 @@ Default is 0.
 </p></dd>
 </dl>
 
-<a name="Examples-88"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-88">35.46.1 Examples</a></h3>
+<a name="Examples-1"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-1">30.48.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -17229,7 +13814,7 @@ Paint processed pixels in white:
 
 <p><a name="lut3d"></a>
 </p><a name="lut3d-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-lut3d-1">35.47 lut3d</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-lut3d-1">30.49 lut3d</a></h2>
 
 <p>Apply a 3D LUT to an input video.
 </p>
@@ -17275,7 +13860,7 @@ Paint processed pixels in white:
 </dl>
 
 <a name="lut_002c-lutrgb_002c-lutyuv"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-lut_002c-lutrgb_002c-lutyuv">35.48 lut, lutrgb, lutyuv</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-lut_002c-lutrgb_002c-lutyuv">30.50 lut, lutrgb, lutyuv</a></h2>
 
 <p>Compute a look-up table for binding each pixel component input value
 to an output value, and apply it to input video.
@@ -17377,8 +13962,8 @@ expression
 
 <p>All expressions default to &quot;val&quot;.
 </p>
-<a name="Examples-17"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-17">35.48.1 Examples</a></h3>
+<a name="Examples-26"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-26">30.50.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -17429,7 +14014,7 @@ Discard least significant bits of luma:
 </li></ul>
 
 <a name="mergeplanes"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-mergeplanes">35.49 mergeplanes</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-mergeplanes">30.51 mergeplanes</a></h2>
 
 <p>Merge color channel components from several video streams.
 </p>
@@ -17456,8 +14041,8 @@ plane, &rsquo;Cc&rsquo; describes the mapping for the output stream third plane
 </p></dd>
 </dl>
 
-<a name="Examples-43"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-43">35.49.1 Examples</a></h3>
+<a name="Examples-82"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-82">30.51.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -17487,7 +14072,7 @@ Cast a rgb24 clip to yuv444p:
 </li></ul>
 
 <a name="mcdeint"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-mcdeint">35.50 mcdeint</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-mcdeint">30.52 mcdeint</a></h2>
 
 <p>Apply motion-compensation deinterlacing.
 </p>
@@ -17539,7 +14124,7 @@ optimal individual vectors. Default value is 1.
 </dl>
 
 <a name="mp"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-mp">35.51 mp</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-mp">30.53 mp</a></h2>
 
 <p>Apply an MPlayer filter to the input video.
 </p>
@@ -17573,8 +14158,8 @@ the named filter.
 of the corresponding MPlayer filters. For detailed instructions check
 the &quot;VIDEO FILTERS&quot; section in the MPlayer manual.
 </p>
-<a name="Examples-27"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-27">35.51.1 Examples</a></h3>
+<a name="Examples-34"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-34">30.53.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -17586,7 +14171,7 @@ Adjust gamma, brightness, contrast:
 <p>See also mplayer(1), <a href="http://www.mplayerhq.hu/">http://www.mplayerhq.hu/</a>.
 </p>
 <a name="mpdecimate"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-mpdecimate">35.52 mpdecimate</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-mpdecimate">30.54 mpdecimate</a></h2>
 
 <p>Drop frames that do not differ greatly from the previous frame in
 order to reduce frame rate.
@@ -17628,7 +14213,7 @@ meaning the whole image) differ by more than a threshold of &lsquo;<samp>lo</sam
 
 
 <a name="negate"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-negate">35.53 negate</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-negate">30.55 negate</a></h2>
 
 <p>Negate input video.
 </p>
@@ -17636,7 +14221,7 @@ meaning the whole image) differ by more than a threshold of &lsquo;<samp>lo</sam
 alpha component (if available). The default value in input is 0.
 </p>
 <a name="noformat"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-noformat">35.54 noformat</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-noformat">30.56 noformat</a></h2>
 
 <p>Force libavfilter not to use any of the specified pixel formats for the
 input to the next filter.
@@ -17650,8 +14235,8 @@ input to the next filter.
 </dd>
 </dl>
 
-<a name="Examples-15"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-15">35.54.1 Examples</a></h3>
+<a name="Examples-21"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-21">30.56.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -17666,8 +14251,8 @@ Convert the input video to any of the formats not contained in the list:
 </pre></td></tr></table>
 </li></ul>
 
-<a name="noise-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-noise-1">35.55 noise</a></h2>
+<a name="noise"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-noise">30.57 noise</a></h2>
 
 <p>Add noise on video input frame.
 </p>
@@ -17716,20 +14301,20 @@ Available values for component flags are:
 </dd>
 </dl>
 
-<a name="Examples-38"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-38">35.55.1 Examples</a></h3>
+<a name="Examples-70"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-70">30.57.1 Examples</a></h3>
 
 <p>Add temporal and uniform noise to input video:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">noise=alls=20:allf=t+u
 </pre></td></tr></table>
 
-<a name="null-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-null-1">35.56 null</a></h2>
+<a name="null"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-null">30.58 null</a></h2>
 
 <p>Pass the video source unchanged to the output.
 </p>
 <a name="ocv"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-ocv">35.57 ocv</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-ocv">30.59 ocv</a></h2>
 
 <p>Apply video transform using libopencv.
 </p>
@@ -17758,7 +14343,7 @@ information:
 </p>
 <p><a name="dilate"></a>
 </p><a name="dilate-1"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-dilate-1">35.57.1 dilate</a></h3>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-dilate-1">30.59.1 dilate</a></h3>
 
 <p>Dilate an image by using a specific structuring element.
 This filter corresponds to the libopencv function <code>cvDilate</code>.
@@ -17804,7 +14389,7 @@ ocv=dilate:0x0+2x2/custom=diamond.shape|2
 </pre></td></tr></table>
 
 <a name="erode"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-erode">35.57.2 erode</a></h3>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-erode">30.59.2 erode</a></h3>
 
 <p>Erode an image by using a specific structuring element.
 This filter corresponds to the libopencv function <code>cvErode</code>.
@@ -17813,7 +14398,7 @@ This filter corresponds to the libopencv function <code>cvErode</code>.
 with the same syntax and semantics as the <a href="#dilate">dilate</a> filter.
 </p>
 <a name="smooth"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-smooth">35.57.3 smooth</a></h3>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-smooth">30.59.3 smooth</a></h3>
 
 <p>Smooth the input video.
 </p>
@@ -17837,7 +14422,7 @@ libopencv function <code>cvSmooth</code>.
 </p>
 <p><a name="overlay"></a>
 </p><a name="overlay-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-overlay-1">35.58 overlay</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-overlay-1">30.60 overlay</a></h2>
 
 <p>Overlay one video on top of another.
 </p>
@@ -17856,6 +14441,23 @@ on the main video. Default value is &quot;0&quot; for both expressions. In case
 the expression is invalid, it is set to a huge value (meaning that the
 overlay will not be displayed within the output visible area).
 </p>
+</dd>
+<dt> &lsquo;<samp>eof_action</samp>&rsquo;</dt>
+<dd><p>The action to take when EOF is encountered on the secondary input, accepts one
+of the following values:
+</p>
+<dl compact="compact">
+<dt> &lsquo;<samp>repeat</samp>&rsquo;</dt>
+<dd><p>repeat the last frame (the default)
+</p></dd>
+<dt> &lsquo;<samp>endall</samp>&rsquo;</dt>
+<dd><p>end both streams
+</p></dd>
+<dt> &lsquo;<samp>pass</samp>&rsquo;</dt>
+<dd><p>pass through the main input
+</p></dd>
+</dl>
+
 </dd>
 <dt> &lsquo;<samp>eval</samp>&rsquo;</dt>
 <dd><p>Set when the expressions for &lsquo;<samp>x</samp>&rsquo;, and &lsquo;<samp>y</samp>&rsquo; are evaluated.
@@ -17889,6 +14491,10 @@ terminates. Default value is 0.
 <dd><p>force YUV420 output
 </p>
 </dd>
+<dt> &lsquo;<samp>yuv422</samp>&rsquo;</dt>
+<dd><p>force YUV422 output
+</p>
+</dd>
 <dt> &lsquo;<samp>yuv444</samp>&rsquo;</dt>
 <dd><p>force YUV444 output
 </p>
@@ -17951,7 +14557,8 @@ format. For example for the pixel format &quot;yuv422p&quot; <var>hsub</var> is
 </dd>
 <dt> &lsquo;<samp>t</samp>&rsquo;</dt>
 <dd><p>timestamp expressed in seconds, NAN if the input timestamp is unknown
-</p></dd>
+</p>
+</dd>
 </dl>
 
 <p>Note that the <var>n</var>, <var>pos</var>, <var>t</var> variables are available only
@@ -17967,8 +14574,8 @@ the <var>movie</var> filter.
 <p>You can chain together more overlays but you should test the
 efficiency of such approach.
 </p>
-<a name="Commands-2"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Commands-2">35.58.1 Commands</a></h3>
+<a name="Commands-5"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Commands-5">30.60.1 Commands</a></h3>
 
 <p>This filter supports the following commands:
 </p><dl compact="compact">
@@ -17982,8 +14589,8 @@ value.
 </p></dd>
 </dl>
 
-<a name="Examples-4"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-4">35.58.2 Examples</a></h3>
+<a name="Examples-76"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-76">30.60.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -18041,6 +14648,13 @@ nullsrc=size=200x100 [background];
 &quot;
 </pre></td></tr></table>
 
+</li><li>
+mask 10-20 seconds of a video by applying the delogo filter to a section
+<table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i test.avi -codec:v:0 wmv2 -ar 11025 -b:v 9000k
+-vf '[in]split[split_main][split_delogo];[split_delogo]trim=start=360:end=371,delogo=0:0:640:480[delogoed];[split_main][delogoed]overlay=eof_action=pass[out]'
+masked.avi
+</pre></td></tr></table>
+
 </li><li>
 Chain several overlays in cascade:
 <table><tr><td>&nbsp;</td><td><pre class="example">nullsrc=s=200x200 [bg];
@@ -18054,7 +14668,7 @@ testsrc=s=100x100, split=4 [in0][in1][in2][in3];
 </li></ul>
 
 <a name="owdenoise"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-owdenoise">35.59 owdenoise</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-owdenoise">30.61 owdenoise</a></h2>
 
 <p>Apply Overcomplete Wavelet denoiser.
 </p>
@@ -18084,7 +14698,7 @@ slow down filtering.
 </dl>
 
 <a name="pad"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-pad">35.60 pad</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-pad">30.62 pad</a></h2>
 
 <p>Add paddings to the input image, and place the original input at the
 given coordinates <var>x</var>, <var>y</var>.
@@ -18174,8 +14788,8 @@ pixel format &quot;yuv422p&quot; <var>hsub</var> is 2 and <var>vsub</var> is 1.
 </p></dd>
 </dl>
 
-<a name="Examples-64"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-64">35.60.1 Examples</a></h3>
+<a name="Examples-55"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-55">30.62.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -18227,7 +14841,7 @@ corner of the output padded area:
 </li></ul>
 
 <a name="perspective"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-perspective">35.61 perspective</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-perspective">30.63 perspective</a></h2>
 
 <p>Correct perspective of video not recorded perpendicular to the screen.
 </p>
@@ -18269,7 +14883,7 @@ Default values are <code>0:0:W:0:0:H:W:H</code> with which perspective will rema
 </dl>
 
 <a name="phase"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-phase">35.62 phase</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-phase">30.64 phase</a></h2>
 
 <p>Delay interlaced video by one field time so that the field order changes.
 </p>
@@ -18341,7 +14955,7 @@ Filter selects among &lsquo;<samp>t</samp>&rsquo;, &lsquo;<samp>b</samp>&rsquo;
 </dl>
 
 <a name="pixdesctest"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-pixdesctest">35.63 pixdesctest</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-pixdesctest">30.65 pixdesctest</a></h2>
 
 <p>Pixel format descriptor test filter, mainly useful for internal
 testing. The output video should be equal to the input video.
@@ -18353,7 +14967,7 @@ testing. The output video should be equal to the input video.
 <p>can be used to test the monowhite pixel format descriptor definition.
 </p>
 <a name="pp"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-pp">35.64 pp</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-pp">30.66 pp</a></h2>
 
 <p>Enable the specified chain of postprocessing subfilters using libpostproc. This
 library should be automatically selected with a GPL build (<code>--enable-gpl</code>).
@@ -18535,8 +15149,8 @@ specify.
 </p></dd>
 </dl>
 
-<a name="Examples-29"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-29">35.64.1 Examples</a></h3>
+<a name="Examples-3"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-3">30.66.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -18563,7 +15177,7 @@ automatically depending on available CPU time:
 </li></ul>
 
 <a name="psnr"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-psnr">35.65 psnr</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-psnr">30.67 psnr</a></h2>
 
 <p>Obtain the average, maximum and minimum PSNR (Peak Signal to Noise
 Ratio) between two input videos.
@@ -18634,8 +15248,9 @@ specified by the suffix.
 reference file &lsquo;<tt>ref_movie.mpg</tt>&rsquo;. The PSNR of each individual frame
 is stored in &lsquo;<tt>stats.log</tt>&rsquo;.
 </p>
-<a name="pullup"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-pullup">35.66 pullup</a></h2>
+<p><a name="pullup"></a>
+</p><a name="pullup-1"></a>
+<h2 class="section"><a href="ffprobe-all.html#toc-pullup-1">30.68 pullup</a></h2>
 
 <p>Pulldown reversal (inverse telecine) filter, capable of handling mixed
 hard-telecine, 24000/1001 fps progressive, and 30000/1001 fps progressive
@@ -18705,7 +15320,7 @@ telecine NTSC input:
 </pre></td></tr></table>
 
 <a name="removelogo"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-removelogo">35.67 removelogo</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-removelogo">30.69 removelogo</a></h2>
 
 <p>Suppress a TV station logo, using an image file to determine which
 pixels comprise the logo. It works by filling in the pixels that
@@ -18737,7 +15352,7 @@ the image and will destroy more information than necessary, and extra
 pixels will slow things down on a large logo.
 </p>
 <a name="rotate"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-rotate">35.68 rotate</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-rotate">30.70 rotate</a></h2>
 
 <p>Rotate video by an arbitrary angle expressed in radians.
 </p>
@@ -18800,12 +15415,12 @@ pixel format &quot;yuv422p&quot; <var>hsub</var> is 2 and <var>vsub</var> is 1.
 </dd>
 <dt> &lsquo;<samp>in_w, iw</samp>&rsquo;</dt>
 <dt> &lsquo;<samp>in_h, ih</samp>&rsquo;</dt>
-<dd><p>the input video width and heigth
+<dd><p>the input video width and height
 </p>
 </dd>
 <dt> &lsquo;<samp>out_w, ow</samp>&rsquo;</dt>
 <dt> &lsquo;<samp>out_h, oh</samp>&rsquo;</dt>
-<dd><p>the output width and heigth, that is the size of the padded area as
+<dd><p>the output width and height, that is the size of the padded area as
 specified by the <var>width</var> and <var>height</var> expressions
 </p>
 </dd>
@@ -18819,8 +15434,8 @@ video rotated by <var>a</var> radians.
 </p></dd>
 </dl>
 
-<a name="Examples-51"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-51">35.68.1 Examples</a></h3>
+<a name="Examples-2"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-2">30.70.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -18833,6 +15448,11 @@ Rotate the input by PI/6 radians counter-clockwise:
 <table><tr><td>&nbsp;</td><td><pre class="example">rotate=-PI/6
 </pre></td></tr></table>
 
+</li><li>
+Rotate the input by 45 degrees clockwise:
+<table><tr><td>&nbsp;</td><td><pre class="example">rotate=45*PI/180
+</pre></td></tr></table>
+
 </li><li>
 Apply a constant rotation with period T, starting from an angle of PI/3:
 <table><tr><td>&nbsp;</td><td><pre class="example">rotate=PI/3+2*PI*t/T
@@ -18845,7 +15465,7 @@ seconds and an amplitude of A radians:
 </pre></td></tr></table>
 
 </li><li>
-Rotate the video, output size is choosen so that the whole rotating
+Rotate the video, output size is chosen so that the whole rotating
 input video is always completely contained in the output:
 <table><tr><td>&nbsp;</td><td><pre class="example">rotate='2*PI*t:ow=hypot(iw,ih):oh=ow'
 </pre></td></tr></table>
@@ -18857,8 +15477,8 @@ shown:
 </pre></td></tr></table>
 </li></ul>
 
-<a name="Commands-1"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Commands-1">35.68.2 Commands</a></h3>
+<a name="Commands-2"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Commands-2">30.70.2 Commands</a></h3>
 
 <p>The filter supports the following commands:
 </p>
@@ -18873,7 +15493,7 @@ value.
 </dl>
 
 <a name="sab"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-sab">35.69 sab</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-sab">30.71 sab</a></h2>
 
 <p>Apply Shape Adaptive Blur.
 </p>
@@ -18917,7 +15537,7 @@ corresponding luma option value.
 </p>
 <p><a name="scale"></a>
 </p><a name="scale-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-scale-1">35.70 scale</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-scale-1">30.72 scale</a></h2>
 
 <p>Scale (resize) the input video, using the libswscale library.
 </p>
@@ -18928,8 +15548,8 @@ of the input, by changing the output sample aspect ratio.
 the next filter, the scale filter will convert the input to the
 requested format.
 </p>
-<a name="Options-25"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-25">35.70.1 Options</a></h3>
+<a name="Options-9"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-9">30.72.1 Options</a></h3>
 <p>The filter accepts the following options, or any of the options
 supported by the libswscale scaler.
 </p>
@@ -18949,6 +15569,11 @@ maintains the aspect ratio of the input image, calculated from the
 other specified dimension. If both of them are -1, the input size is
 used
 </p>
+<p>If one of the values is -n with n &gt; 1, the scale filter will also use a value
+that maintains the aspect ratio of the input image, calculated from the other
+specified dimension. After that it will, however, make sure that the calculated
+dimension is divisible by n and adjust the value if necessary.
+</p>
 <p>See below for the list of accepted constants for use in the dimension
 expression.
 </p>
@@ -18977,7 +15602,7 @@ are flagged as interlaced or not.
 <dt> &lsquo;<samp>flags</samp>&rsquo;</dt>
 <dd><p>Set libswscale scaling flags. See
 <a href="ffmpeg-scaler.html#sws_005fflags">(ffmpeg-scaler)sws_flags</a> for the
-complete list of values. If not explictly specified the filter applies
+complete list of values. If not explicitly specified the filter applies
 the default flags.
 </p>
 </dd>
@@ -19139,8 +15764,8 @@ pixel format &quot;yuv422p&quot; <var>hsub</var> is 2 and <var>vsub</var> is 1.
 </p></dd>
 </dl>
 
-<a name="Examples-34"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-34">35.70.2 Examples</a></h3>
+<a name="Examples-19"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-19">30.72.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -19215,7 +15840,7 @@ aspect ratio:
 </li></ul>
 
 <a name="separatefields"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-separatefields">35.71 separatefields</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-separatefields">30.73 separatefields</a></h2>
 
 <p>The <code>separatefields</code> takes a frame-based video input and splits
 each frame into its components fields, producing a new half height clip
@@ -19226,7 +15851,7 @@ of each pair of fields to place first in the output.
 If it gets it wrong use <a href="#setfield">setfield</a> filter before <code>separatefields</code> filter.
 </p>
 <a name="setdar_002c-setsar"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-setdar_002c-setsar">35.72 setdar, setsar</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-setdar_002c-setsar">30.74 setdar, setsar</a></h2>
 
 <p>The <code>setdar</code> filter sets the Display Aspect Ratio for the filter
 output video.
@@ -19306,8 +15931,8 @@ pixel format &quot;yuv422p&quot; <var>hsub</var> is 2 and <var>vsub</var> is 1.
 </p></dd>
 </dl>
 
-<a name="Examples-28"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-28">35.72.1 Examples</a></h3>
+<a name="Examples-17"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-17">30.74.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -19332,7 +15957,7 @@ To set a display aspect ratio of 16:9, and specify a maximum integer value of
 
 <p><a name="setfield"></a>
 </p><a name="setfield-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-setfield-1">35.73 setfield</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-setfield-1">30.75 setfield</a></h2>
 
 <p>Force field for the output video frame.
 </p>
@@ -19368,7 +15993,7 @@ following filters (e.g. <code>fieldorder</code> or <code>yadif</code>).
 </dl>
 
 <a name="showinfo"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-showinfo">35.74 showinfo</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-showinfo">30.76 showinfo</a></h2>
 
 <p>Show a line containing various information for each input video frame.
 The input video is not modified.
@@ -19441,7 +16066,7 @@ expressed in the form &quot;[<var>c0</var> <var>c1</var> <var>c2</var> <var>c3</
 
 <p><a name="smartblur"></a>
 </p><a name="smartblur-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-smartblur-1">35.75 smartblur</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-smartblur-1">30.77 smartblur</a></h2>
 
 <p>Blur the input video without impacting the outlines.
 </p>
@@ -19495,7 +16120,7 @@ in [-30,0] will filter edges. Default value is 0.
 is set.
 </p>
 <a name="stereo3d"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-stereo3d">35.76 stereo3d</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-stereo3d">30.78 stereo3d</a></h2>
 
 <p>Convert between different stereoscopic image formats.
 </p>
@@ -19651,8 +16276,8 @@ is set.
 </p></dd>
 </dl>
 
-<a name="Examples-87"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-87">35.76.1 Examples</a></h3>
+<a name="Examples-66"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-66">30.78.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -19667,7 +16292,7 @@ Convert input video from above bellow (left eye above, right eye below) to side
 </li></ul>
 
 <a name="spp"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-spp">35.77 spp</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-spp">30.79 spp</a></h2>
 
 <p>Apply a simple postprocessing filter that compresses and decompresses the image
 at several (or - in the case of &lsquo;<samp>quality</samp>&rsquo; level <code>6</code> - all) shifts
@@ -19711,7 +16336,7 @@ option may cause flicker since the B-Frames have often larger QP. Default is
 
 <p><a name="subtitles"></a>
 </p><a name="subtitles-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-subtitles-1">35.78 subtitles</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-subtitles-1">30.80 subtitles</a></h2>
 
 <p>Draw subtitles on top of input video using the libass library.
 </p>
@@ -19754,7 +16379,7 @@ video, use the command:
 </pre></td></tr></table>
 
 <a name="super2xsai"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-super2xsai">35.79 super2xsai</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-super2xsai">30.81 super2xsai</a></h2>
 
 <p>Scale the input by 2x and smooth using the Super2xSaI (Scale and
 Interpolate) pixel art scaling algorithm.
@@ -19762,11 +16387,11 @@ Interpolate) pixel art scaling algorithm.
 <p>Useful for enlarging pixel art images without reducing sharpness.
 </p>
 <a name="swapuv"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-swapuv">35.80 swapuv</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-swapuv">30.82 swapuv</a></h2>
 <p>Swap U &amp; V plane.
 </p>
 <a name="telecine"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-telecine">35.81 telecine</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-telecine">30.83 telecine</a></h2>
 
 <p>Apply telecine process to the video.
 </p>
@@ -19809,7 +16434,7 @@ PAL output (25i):
 </pre></td></tr></table>
 
 <a name="thumbnail"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-thumbnail">35.82 thumbnail</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-thumbnail">30.84 thumbnail</a></h2>
 <p>Select the most representative frame in a given sequence of consecutive frames.
 </p>
 <p>The filter accepts the following options:
@@ -19825,8 +16450,8 @@ the end. Default is <code>100</code>.
 <p>Since the filter keeps track of the whole frames sequence, a bigger <var>n</var>
 value will result in a higher memory usage, so a high value is not recommended.
 </p>
-<a name="Examples-25"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-25">35.82.1 Examples</a></h3>
+<a name="Examples-9"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-9">30.84.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -19841,7 +16466,7 @@ Complete example of a thumbnail creation with <code>ffmpeg</code>:
 </li></ul>
 
 <a name="tile"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-tile">35.83 tile</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-tile">30.85 tile</a></h2>
 
 <p>Tile several successive frames together.
 </p>
@@ -19876,8 +16501,8 @@ is &quot;black&quot;.
 </p></dd>
 </dl>
 
-<a name="Examples-70"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-70">35.83.1 Examples</a></h3>
+<a name="Examples-36"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-36">30.85.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -19885,7 +16510,7 @@ Produce 8x8 PNG tiles of all keyframes (&lsquo;<samp>-skip_frame nokey</samp>&rs
 <table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -skip_frame nokey -i file.avi -vf 'scale=128:72,tile=8x8' -an -vsync 0 keyframes%03d.png
 </pre></td></tr></table>
 <p>The &lsquo;<samp>-vsync 0</samp>&rsquo; is necessary to prevent <code>ffmpeg</code> from
-duplicating each output frame to accomodate the originally detected frame
+duplicating each output frame to accommodate the originally detected frame
 rate.
 </p>
 </li><li>
@@ -19897,7 +16522,7 @@ mixed flat and named options:
 </li></ul>
 
 <a name="tinterlace"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-tinterlace">35.84 tinterlace</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-tinterlace">30.86 tinterlace</a></h2>
 
 <p>Perform various types of temporal field interlacing.
 </p>
@@ -19981,7 +16606,7 @@ patterning.
 </dl>
 
 <a name="transpose"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-transpose">35.85 transpose</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-transpose">30.87 transpose</a></h2>
 
 <p>Transpose rows with columns in the input video and optionally flip it.
 </p>
@@ -20063,7 +16688,7 @@ layout:
 </pre></td></tr></table>
 
 <a name="trim"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-trim">35.86 trim</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-trim">30.88 trim</a></h2>
 <p>Trim the input so that the output contains one continuous subpart of the input.
 </p>
 <p>This filter accepts the following options:
@@ -20136,7 +16761,7 @@ keep only the first second
 
 
 <a name="unsharp"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-unsharp">35.87 unsharp</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-unsharp">30.89 unsharp</a></h2>
 
 <p>Sharpen or blur the input video.
 </p>
@@ -20193,8 +16818,8 @@ FFmpeg was configured with <code>--enable-opencl</code>. Default value is 0.
 <p>All parameters are optional and default to the equivalent of the
 string &rsquo;5:5:1.0:5:5:0.0&rsquo;.
 </p>
-<a name="Examples-60"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-60">35.87.1 Examples</a></h3>
+<a name="Examples-59"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-59">30.89.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -20210,7 +16835,7 @@ Apply strong blur of both luma and chroma parameters:
 
 <p><a name="vidstabdetect"></a>
 </p><a name="vidstabdetect-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-vidstabdetect-1">35.88 vidstabdetect</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-vidstabdetect-1">30.90 vidstabdetect</a></h2>
 
 <p>Analyze video stabilization/deshaking. Perform pass 1 of 2, see
 <a href="#vidstabtransform">vidstabtransform</a> for pass 2.
@@ -20239,7 +16864,7 @@ value of 10 means strong shakiness. Default value is 5.
 <dt> &lsquo;<samp>accuracy</samp>&rsquo;</dt>
 <dd><p>Set the accuracy of the detection process. It must be a value in the
 range 1-15. A value of 1 means low accuracy, a value of 15 means high
-accuracy. Default value is 9.
+accuracy. Default value is 15.
 </p>
 </dd>
 <dt> &lsquo;<samp>stepsize</samp>&rsquo;</dt>
@@ -20271,8 +16896,8 @@ visualization.
 </p></dd>
 </dl>
 
-<a name="Examples-36"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-36">35.88.1 Examples</a></h3>
+<a name="Examples-57"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-57">30.90.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -20300,7 +16925,7 @@ Analyze a video with medium shakiness using <code>ffmpeg</code>:
 
 <p><a name="vidstabtransform"></a>
 </p><a name="vidstabtransform-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-vidstabtransform-1">35.89 vidstabtransform</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-vidstabtransform-1">30.91 vidstabtransform</a></h2>
 
 <p>Video stabilization/deshaking: pass 2 of 2,
 see <a href="#vidstabdetect">vidstabdetect</a> for pass 1.
@@ -20314,35 +16939,56 @@ the unsharp filter, see below.
 <p>To enable compilation of this filter you need to configure FFmpeg with
 <code>--enable-libvidstab</code>.
 </p>
-<p>This filter accepts the following options:
-</p>
+<a name="Options-1"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Options-1">30.91.1 Options</a></h3>
+
 <dl compact="compact">
 <dt> &lsquo;<samp>input</samp>&rsquo;</dt>
-<dd><p>path to the file used to read the transforms (default: &lsquo;<tt>transforms.trf</tt>&rsquo;)
+<dd><p>Set path to the file used to read the transforms. Default value is
+&lsquo;<tt>transforms.trf</tt>&rsquo;).
 </p>
 </dd>
 <dt> &lsquo;<samp>smoothing</samp>&rsquo;</dt>
-<dd><p>number of frames (value*2 + 1) used for lowpass filtering the camera movements
-(default: 10). For example a number of 10 means that 21 frames are used
-(10 in the past and 10 in the future) to smoothen the motion in the
-video. A larger values leads to a smoother video, but limits the
-acceleration of the camera (pan/tilt movements).
+<dd><p>Set the number of frames (value*2 + 1) used for lowpass filtering the
+camera movements. Default value is 10.
+</p>
+<p>For example a number of 10 means that 21 frames are used (10 in the
+past and 10 in the future) to smoothen the motion in the video. A
+larger values leads to a smoother video, but limits the acceleration
+of the camera (pan/tilt movements). 0 is a special case where a
+static camera is simulated.
+</p>
+</dd>
+<dt> &lsquo;<samp>optalgo</samp>&rsquo;</dt>
+<dd><p>Set the camera path optimization algorithm.
 </p>
+<p>Accepted values are:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>gauss</samp>&rsquo;</dt>
+<dd><p>gaussian kernel low-pass filter on camera motion (default)
+</p></dd>
+<dt> &lsquo;<samp>avg</samp>&rsquo;</dt>
+<dd><p>averaging on transformations
+</p></dd>
+</dl>
+
 </dd>
 <dt> &lsquo;<samp>maxshift</samp>&rsquo;</dt>
-<dd><p>maximal number of pixels to translate frames (default: -1 no limit)
+<dd><p>Set maximal number of pixels to translate frames. Default value is -1,
+meaning no limit.
 </p>
 </dd>
 <dt> &lsquo;<samp>maxangle</samp>&rsquo;</dt>
-<dd><p>maximal angle in radians (degree*PI/180) to rotate frames (default: -1
-no limit)
+<dd><p>Set maximal angle in radians (degree*PI/180) to rotate frames. Default
+value is -1, meaning no limit.
 </p>
 </dd>
 <dt> &lsquo;<samp>crop</samp>&rsquo;</dt>
-<dd><p>How to deal with borders that may be visible due to movement
-compensation. Available values are:
+<dd><p>Specify how to deal with borders that may be visible due to movement
+compensation.
 </p>
-<dl compact="compact">
+<p>Available values are:
+</p><dl compact="compact">
 <dt> &lsquo;<samp>keep</samp>&rsquo;</dt>
 <dd><p>keep image information from previous frame (default)
 </p></dd>
@@ -20353,59 +16999,49 @@ compensation. Available values are:
 
 </dd>
 <dt> &lsquo;<samp>invert</samp>&rsquo;</dt>
-<dd><dl compact="compact">
-<dt> &lsquo;<samp>0</samp>&rsquo;</dt>
-<dd><p>keep transforms normal (default)
-</p></dd>
-<dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dd><p>invert transforms
-</p></dd>
-</dl>
-
+<dd><p>Invert transforms if set to 1. Default value is 0.
+</p>
 </dd>
 <dt> &lsquo;<samp>relative</samp>&rsquo;</dt>
-<dd><p>consider transforms as
-</p><dl compact="compact">
-<dt> &lsquo;<samp>0</samp>&rsquo;</dt>
-<dd><p>absolute
-</p></dd>
-<dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dd><p>relative to previous frame (default)
-</p></dd>
-</dl>
-
+<dd><p>Consider transforms as relative to previsou frame if set to 1,
+absolute if set to 0. Default value is 0.
+</p>
 </dd>
 <dt> &lsquo;<samp>zoom</samp>&rsquo;</dt>
-<dd><p>percentage to zoom (default: 0)
-</p><dl compact="compact">
-<dt> &lsquo;<samp>&gt;0</samp>&rsquo;</dt>
-<dd><p>zoom in
-</p></dd>
-<dt> &lsquo;<samp>&lt;0</samp>&rsquo;</dt>
-<dd><p>zoom out
-</p></dd>
-</dl>
-
+<dd><p>Set percentage to zoom. A positive value will result in a zoom-in
+effect, a negative value in a zoom-out effect. Default value is 0 (no
+zoom).
+</p>
 </dd>
 <dt> &lsquo;<samp>optzoom</samp>&rsquo;</dt>
-<dd><p>set optimal zooming to avoid borders
+<dd><p>Set optimal zooming to avoid borders.
+</p>
+<p>Accepted values are:
 </p><dl compact="compact">
 <dt> &lsquo;<samp>0</samp>&rsquo;</dt>
 <dd><p>disabled
 </p></dd>
 <dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dd><p>optimal static zoom value is determined (only very strong movements will lead to visible borders) (default)
+<dd><p>optimal static zoom value is determined (only very strong movements
+will lead to visible borders) (default)
 </p></dd>
 <dt> &lsquo;<samp>2</samp>&rsquo;</dt>
-<dd><p>optimal adaptive zoom value is determined (no borders will be visible)
+<dd><p>optimal adaptive zoom value is determined (no borders will be
+visible), see &lsquo;<samp>zoomspeed</samp>&rsquo;
 </p></dd>
 </dl>
-<p>Note that the value given at zoom is added to the one calculated
-here.
+
+<p>Note that the value given at zoom is added to the one calculated here.
+</p>
+</dd>
+<dt> &lsquo;<samp>zoomspeed</samp>&rsquo;</dt>
+<dd><p>Set percent to zoom maximally each frame (enabled when
+&lsquo;<samp>optzoom</samp>&rsquo; is set to 2). Range is from 0 to 5, default value is
+0.25.
 </p>
 </dd>
 <dt> &lsquo;<samp>interpol</samp>&rsquo;</dt>
-<dd><p>type of interpolation
+<dd><p>Specify type of interpolation.
 </p>
 <p>Available values are:
 </p><dl compact="compact">
@@ -20425,45 +17061,43 @@ here.
 
 </dd>
 <dt> &lsquo;<samp>tripod</samp>&rsquo;</dt>
-<dd><p>virtual tripod mode means that the video is stabilized such that the
-camera stays stationary. Use also <code>tripod</code> option of
-<a href="#vidstabdetect">vidstabdetect</a>.
-</p><dl compact="compact">
-<dt> &lsquo;<samp>0</samp>&rsquo;</dt>
-<dd><p>off (default)
-</p></dd>
-<dt> &lsquo;<samp>1</samp>&rsquo;</dt>
-<dd><p>virtual tripod mode: equivalent to <code>relative=0:smoothing=0</code>
-</p></dd>
-</dl>
-
+<dd><p>Enable virtual tripod mode if set to 1, which is equivalent to
+<code>relative=0:smoothing=0</code>. Default value is 0.
+</p>
+<p>Use also <code>tripod</code> option of <a href="#vidstabdetect">vidstabdetect</a>.
+</p>
 </dd>
+<dt> &lsquo;<samp>debug</samp>&rsquo;</dt>
+<dd><p>Increase log verbosity if set to 1. Also the detected global motions
+are written to the temporary file &lsquo;<tt>global_motions.trf</tt>&rsquo;. Default
+value is 0.
+</p></dd>
 </dl>
 
-<a name="Examples-3"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-3">35.89.1 Examples</a></h3>
+<a name="Examples-81"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-81">30.91.2 Examples</a></h3>
 
 <ul>
 <li>
-typical call with default default values:
- (note the unsharp filter which is always recommended)
+Use <code>ffmpeg</code> for a typical stabilization with default values:
 <table><tr><td>&nbsp;</td><td><pre class="example">ffmpeg -i inp.mpeg -vf vidstabtransform,unsharp=5:5:0.8:3:3:0.4 inp_stabilized.mpeg
 </pre></td></tr></table>
 
+<p>Note the use of the unsharp filter which is always recommended.
+</p>
 </li><li>
-zoom in a bit more and load transform data from a given file
+Zoom in a bit more and load transform data from a given file:
 <table><tr><td>&nbsp;</td><td><pre class="example">vidstabtransform=zoom=5:input=&quot;mytransforms.trf&quot;
 </pre></td></tr></table>
 
 </li><li>
-smoothen the video even more
+Smoothen the video even more:
 <table><tr><td>&nbsp;</td><td><pre class="example">vidstabtransform=smoothing=30
 </pre></td></tr></table>
-
 </li></ul>
 
 <a name="vflip"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-vflip">35.90 vflip</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-vflip">30.92 vflip</a></h2>
 
 <p>Flip the input video vertically.
 </p>
@@ -20472,7 +17106,7 @@ smoothen the video even more
 </pre></td></tr></table>
 
 <a name="vignette"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-vignette">35.91 vignette</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-vignette">30.93 vignette</a></h2>
 
 <p>Make or reverse a natural vignetting effect.
 </p>
@@ -20538,7 +17172,7 @@ allows advanced dynamic expressions.
 </p>
 </dd>
 <dt> &lsquo;<samp>aspect</samp>&rsquo;</dt>
-<dd><p>Set vignette aspect. This setting allows to adjust the shape of the vignette.
+<dd><p>Set vignette aspect. This setting allows one to adjust the shape of the vignette.
 Setting this value to the SAR of the input will make a rectangular vignetting
 following the dimensions of the video.
 </p>
@@ -20547,7 +17181,7 @@ following the dimensions of the video.
 </dl>
 
 <a name="Expressions"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Expressions">35.91.1 Expressions</a></h3>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Expressions">30.93.1 Expressions</a></h3>
 
 <p>The &lsquo;<samp>alpha</samp>&rsquo;, &lsquo;<samp>x0</samp>&rsquo; and &lsquo;<samp>y0</samp>&rsquo; expressions can contain the
 following parameters.
@@ -20582,8 +17216,8 @@ expressed in seconds, NAN if undefined
 </dl>
 
 
-<a name="Examples-80"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-80">35.91.2 Examples</a></h3>
+<a name="Examples-11"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-11">30.93.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -20599,7 +17233,7 @@ Make a flickering vignetting:
 </li></ul>
 
 <a name="w3fdif"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-w3fdif">35.92 w3fdif</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-w3fdif">30.94 w3fdif</a></h2>
 
 <p>Deinterlace the input video (&quot;w3fdif&quot; stands for &quot;Weston 3 Field
 Deinterlacing Filter&quot;).
@@ -20646,7 +17280,7 @@ be set by passing an optional parameter:
 
 <p><a name="yadif"></a>
 </p><a name="yadif-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-yadif-1">35.93 yadif</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-yadif-1">30.95 yadif</a></h2>
 
 <p>Deinterlace the input video (&quot;yadif&quot; means &quot;yet another deinterlacing
 filter&quot;).
@@ -20716,12 +17350,12 @@ values:
 
 
 <a name="Video-Sources"></a>
-<h1 class="chapter"><a href="ffprobe-all.html#toc-Video-Sources">36. Video Sources</a></h1>
+<h1 class="chapter"><a href="ffprobe-all.html#toc-Video-Sources">31. Video Sources</a></h1>
 
 <p>Below is a description of the currently available video sources.
 </p>
 <a name="buffer"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-buffer">36.1 buffer</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-buffer">31.1 buffer</a></h2>
 
 <p>Buffer video frames, and make them available to the filter chain.
 </p>
@@ -20789,7 +17423,7 @@ syntax is deprecated:
 <p><var>width</var>:<var>height</var>:<var>pix_fmt</var>:<var>time_base.num</var>:<var>time_base.den</var>:<var>pixel_aspect.num</var>:<var>pixel_aspect.den</var>[:<var>sws_param</var>]
 </p>
 <a name="cellauto"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-cellauto">36.2 cellauto</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-cellauto">31.2 cellauto</a></h2>
 
 <p>Create a pattern generated by an elementary cellular automaton.
 </p>
@@ -20881,8 +17515,8 @@ This is the default behavior, for disabling set the value to 0.
 </p></dd>
 </dl>
 
-<a name="Examples-33"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-33">36.2.1 Examples</a></h3>
+<a name="Examples-37"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-37">31.2.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -20911,7 +17545,7 @@ Specify a more elaborated initial pattern:
 </li></ul>
 
 <a name="mandelbrot"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-mandelbrot">36.3 mandelbrot</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-mandelbrot">31.3 mandelbrot</a></h2>
 
 <p>Generate a Mandelbrot set fractal, and progressively zoom towards the
 point specified with <var>start_x</var> and <var>start_y</var>.
@@ -21000,7 +17634,7 @@ size&quot; section in the ffmpeg-utils manual. Default value is &quot;640x480&qu
 </dl>
 
 <a name="mptestsrc"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-mptestsrc">36.4 mptestsrc</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-mptestsrc">31.4 mptestsrc</a></h2>
 
 <p>Generate various test patterns, as generated by the MPlayer test filter.
 </p>
@@ -21057,7 +17691,7 @@ supposed to be generated forever.
 <p>will generate a &quot;dc_luma&quot; test pattern.
 </p>
 <a name="frei0r_005fsrc"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-frei0r_005fsrc">36.5 frei0r_src</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-frei0r_005fsrc">31.5 frei0r_src</a></h2>
 
 <p>Provide a frei0r source.
 </p>
@@ -21095,7 +17729,7 @@ and frame rate 10 which is overlayed on the overlay filter main input:
 </pre></td></tr></table>
 
 <a name="life"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-life">36.6 life</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-life">31.6 life</a></h2>
 
 <p>Generate a life pattern.
 </p>
@@ -21108,7 +17742,7 @@ horizontally, vertically, or diagonally adjacent.
 </p>
 <p>At each interaction the grid evolves according to the adopted rule,
 which specifies the number of neighbor alive cells which will make a
-cell stay alive or born. The &lsquo;<samp>rule</samp>&rsquo; option allows to specify
+cell stay alive or born. The &lsquo;<samp>rule</samp>&rsquo; option allows one to specify
 the rule to adopt.
 </p>
 <p>This source accepts the following options:
@@ -21206,8 +17840,8 @@ ffmpeg-utils manual.
 </p></dd>
 </dl>
 
-<a name="Examples-63"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-63">36.6.1 Examples</a></h3>
+<a name="Examples-15"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-15">31.6.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -21240,7 +17874,7 @@ Full example with slow death effect (mold) using <code>ffplay</code>:
 <a name="smptehdbars"></a>
 <a name="testsrc"></a>
 </p><a name="color_002c-haldclutsrc_002c-nullsrc_002c-rgbtestsrc_002c-smptebars_002c-smptehdbars_002c-testsrc"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-color_002c-haldclutsrc_002c-nullsrc_002c-rgbtestsrc_002c-smptebars_002c-smptehdbars_002c-testsrc">36.7 color, haldclutsrc, nullsrc, rgbtestsrc, smptebars, smptehdbars, testsrc</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-color_002c-haldclutsrc_002c-nullsrc_002c-rgbtestsrc_002c-smptebars_002c-smptehdbars_002c-testsrc">31.7 color, haldclutsrc, nullsrc, rgbtestsrc, smptebars, smptehdbars, testsrc</a></h2>
 
 <p>The <code>color</code> source provides an uniformly colored input.
 </p>
@@ -21341,8 +17975,8 @@ the <code>geq</code> filter:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">nullsrc=s=256x256, geq=random(1)*255:128:128
 </pre></td></tr></table>
 
-<a name="Commands-4"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Commands-4">36.7.1 Commands</a></h3>
+<a name="Commands-1"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Commands-1">31.7.1 Commands</a></h3>
 
 <p>The <code>color</code> source supports the following commands:
 </p>
@@ -21355,12 +17989,12 @@ corresponding &lsquo;<samp>color</samp>&rsquo; option.
 
 
 <a name="Video-Sinks"></a>
-<h1 class="chapter"><a href="ffprobe-all.html#toc-Video-Sinks">37. Video Sinks</a></h1>
+<h1 class="chapter"><a href="ffprobe-all.html#toc-Video-Sinks">32. Video Sinks</a></h1>
 
 <p>Below is a description of the currently available video sinks.
 </p>
 <a name="buffersink"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-buffersink">37.1 buffersink</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-buffersink">32.1 buffersink</a></h2>
 
 <p>Buffer video frames, and make them available to the end of the filter
 graph.
@@ -21374,7 +18008,7 @@ defines the incoming buffers&rsquo; formats, to be passed as the opaque
 parameter to <code>avfilter_init_filter</code> for initialization.
 </p>
 <a name="nullsink"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-nullsink">37.2 nullsink</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-nullsink">32.2 nullsink</a></h2>
 
 <p>Null video sink, do absolutely nothing with the input video. It is
 mainly useful as a template and to be employed in analysis / debugging
@@ -21382,12 +18016,12 @@ tools.
 </p>
 
 <a name="Multimedia-Filters"></a>
-<h1 class="chapter"><a href="ffprobe-all.html#toc-Multimedia-Filters">38. Multimedia Filters</a></h1>
+<h1 class="chapter"><a href="ffprobe-all.html#toc-Multimedia-Filters">33. Multimedia Filters</a></h1>
 
 <p>Below is a description of the currently available multimedia filters.
 </p>
 <a name="avectorscope"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-avectorscope">38.1 avectorscope</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-avectorscope">33.1 avectorscope</a></h2>
 
 <p>Convert input audio to a video output, representing the audio vector
 scope.
@@ -21447,8 +18081,8 @@ Allowed range is <code>[0, 255]</code>.
 </p></dd>
 </dl>
 
-<a name="Examples-24"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-24">38.1.1 Examples</a></h3>
+<a name="Examples-80"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-80">33.1.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -21459,7 +18093,7 @@ Complete example using <code>ffplay</code>:
 </li></ul>
 
 <a name="concat-3"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-concat-3">38.2 concat</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-concat-3">33.2 concat</a></h2>
 
 <p>Concatenate audio and video streams, joining them together one after the
 other.
@@ -21516,8 +18150,8 @@ explicitly by the user.
 <p>Different frame rates are acceptable but will result in variable frame rate
 at output; be sure to configure the output file to handle it.
 </p>
-<a name="Examples-91"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-91">38.2.1 Examples</a></h3>
+<a name="Examples-60"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-60">33.2.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -21542,7 +18176,7 @@ do not have exactly the same duration in the first file.
 </li></ul>
 
 <a name="ebur128"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-ebur128">38.3 ebur128</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-ebur128">33.3 ebur128</a></h2>
 
 <p>EBU R128 scanner filter. This filter takes an audio stream as input and outputs
 it unchanged. By default, it logs a message at a frequency of 10Hz with the
@@ -21603,11 +18237,38 @@ in metadata.  All the metadata keys are prefixed with <code>lavfi.r128.</code>.
 
 <p>By default, the logging level is set to <var>info</var>. If the &lsquo;<samp>video</samp>&rsquo; or
 the &lsquo;<samp>metadata</samp>&rsquo; options are set, it switches to <var>verbose</var>.
+</p>
+</dd>
+<dt> &lsquo;<samp>peak</samp>&rsquo;</dt>
+<dd><p>Set peak mode(s).
+</p>
+<p>Available modes can be cumulated (the option is a <code>flag</code> type). Possible
+values are:
+</p><dl compact="compact">
+<dt> &lsquo;<samp>none</samp>&rsquo;</dt>
+<dd><p>Disable any peak mode (default).
+</p></dd>
+<dt> &lsquo;<samp>sample</samp>&rsquo;</dt>
+<dd><p>Enable sample-peak mode.
+</p>
+<p>Simple peak mode looking for the higher sample value. It logs a message
+for sample-peak (identified by <code>SPK</code>).
+</p></dd>
+<dt> &lsquo;<samp>true</samp>&rsquo;</dt>
+<dd><p>Enable true-peak mode.
+</p>
+<p>If enabled, the peak lookup is done on an over-sampled version of the input
+stream for better peak accuracy. It logs a message for true-peak.
+(identified by <code>TPK</code>) and true-peak per frame (identified by <code>FTPK</code>).
+This mode requires a build with <code>libswresample</code>.
 </p></dd>
 </dl>
 
-<a name="Examples-14"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-14">38.3.1 Examples</a></h3>
+</dd>
+</dl>
+
+<a name="Examples-58"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-58">33.3.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -21622,7 +18283,7 @@ Run an analysis with <code>ffmpeg</code>:
 </li></ul>
 
 <a name="interleave_002c-ainterleave"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-interleave_002c-ainterleave">38.4 interleave, ainterleave</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-interleave_002c-ainterleave">33.4 interleave, ainterleave</a></h2>
 
 <p>Temporally interleave frames from several inputs.
 </p>
@@ -21655,8 +18316,8 @@ the queue is already filled.
 </p></dd>
 </dl>
 
-<a name="Examples-57"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-57">38.4.1 Examples</a></h3>
+<a name="Examples-40"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-40">33.4.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -21671,7 +18332,7 @@ Add flickering blur effect:
 </li></ul>
 
 <a name="perms_002c-aperms"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-perms_002c-aperms">38.5 perms, aperms</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-perms_002c-aperms">33.5 perms, aperms</a></h2>
 
 <p>Set read/write permissions for the output frames.
 </p>
@@ -21718,7 +18379,7 @@ following filter. Inserting a <a href="#format">format</a> or <a href="#aformat"
 perms/aperms filter can avoid this problem.
 </p>
 <a name="select_002c-aselect"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-select_002c-aselect">38.6 select, aselect</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-select_002c-aselect">33.6 select, aselect</a></h2>
 
 <p>Select frames to pass in output.
 </p>
@@ -21853,8 +18514,8 @@ value means the current frame is more likely to be one (see the example below)
 
 <p>The default value of the select expression is &quot;1&quot;.
 </p>
-<a name="Examples-59"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-59">38.6.1 Examples</a></h3>
+<a name="Examples-41"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-41">33.6.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -21916,7 +18577,7 @@ Send even and odd frames to separate outputs, and compose them:
 </li></ul>
 
 <a name="sendcmd_002c-asendcmd"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-sendcmd_002c-asendcmd">38.7 sendcmd, asendcmd</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-sendcmd_002c-asendcmd">33.7 sendcmd, asendcmd</a></h2>
 
 <p>Send commands to filters in the filtergraph.
 </p>
@@ -21943,7 +18604,7 @@ filters.
 </dl>
 
 <a name="Commands-syntax"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Commands-syntax">38.7.1 Commands syntax</a></h3>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Commands-syntax">33.7.1 Commands syntax</a></h3>
 
 <p>A commands description consists of a sequence of interval
 specifications, comprising a list of commands to be executed when a
@@ -22016,8 +18677,8 @@ follows:
 <var>INTERVALS</var>     ::= <var>INTERVAL</var>[;<var>INTERVALS</var>]
 </pre></td></tr></table>
 
-<a name="Examples-71"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-71">38.7.2 Examples</a></h3>
+<a name="Examples-50"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-50">33.7.2 Examples</a></h3>
 
 <ul>
 <li>
@@ -22049,7 +18710,7 @@ stored in a file &lsquo;<tt>test.cmd</tt>&rsquo;, can be specified with:
 
 <p><a name="setpts"></a>
 </p><a name="setpts_002c-asetpts"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-setpts_002c-asetpts">38.8 setpts, asetpts</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-setpts_002c-asetpts">33.8 setpts, asetpts</a></h2>
 
 <p>Change the PTS (presentation timestamp) of the input frames.
 </p>
@@ -22146,8 +18807,8 @@ instead.
 </dd>
 </dl>
 
-<a name="Examples-20"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-20">38.8.1 Examples</a></h3>
+<a name="Examples-28"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-28">33.8.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -22193,7 +18854,7 @@ Generate timestamps by counting samples:
 </li></ul>
 
 <a name="settb_002c-asettb"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-settb_002c-asettb">38.9 settb, asettb</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-settb_002c-asettb">33.9 settb, asettb</a></h2>
 
 <p>Set the timebase to use for the output frames timestamps.
 It is mainly useful for testing timebase configuration.
@@ -22213,7 +18874,7 @@ timebase), &quot;intb&quot; (the input timebase) and &quot;sr&quot; (the sample
 audio only). Default value is &quot;intb&quot;.
 </p>
 <a name="Examples-79"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-79">38.9.1 Examples</a></h3>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-79">33.9.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -22243,7 +18904,7 @@ Set the default timebase value:
 </li></ul>
 
 <a name="showspectrum"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-showspectrum">38.10 showspectrum</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-showspectrum">33.10 showspectrum</a></h2>
 
 <p>Convert input audio to a video output, representing the audio frequency
 spectrum.
@@ -22349,8 +19010,8 @@ Default value is <code>1</code>.
 <p>The usage is very similar to the showwaves filter; see the examples in that
 section.
 </p>
-<a name="Examples-67"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-67">38.10.1 Examples</a></h3>
+<a name="Examples-31"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-31">33.10.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -22366,7 +19027,7 @@ Complete example for a colored and sliding spectrum per channel using <code>ffpl
 </li></ul>
 
 <a name="showwaves"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-showwaves">38.11 showwaves</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-showwaves">33.11 showwaves</a></h2>
 
 <p>Convert input audio to a video output, representing the samples waves.
 </p>
@@ -22410,8 +19071,8 @@ option <var>n</var>. Default value is &quot;25&quot;.
 </dd>
 </dl>
 
-<a name="Examples-21"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-21">38.11.1 Examples</a></h3>
+<a name="Examples-68"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-68">33.11.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -22428,7 +19089,7 @@ frame rate of 30 frames per second:
 </li></ul>
 
 <a name="split_002c-asplit"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-split_002c-asplit">38.12 split, asplit</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-split_002c-asplit">33.12 split, asplit</a></h2>
 
 <p>Split input into several identical outputs.
 </p>
@@ -22437,8 +19098,8 @@ frame rate of 30 frames per second:
 <p>The filter accepts a single parameter which specifies the number of outputs. If
 unspecified, it defaults to 2.
 </p>
-<a name="Examples-1"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-1">38.12.1 Examples</a></h3>
+<a name="Examples-83"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-83">33.12.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -22467,7 +19128,7 @@ Create 5 copies of the input audio with <code>ffmpeg</code>:
 </li></ul>
 
 <a name="zmq_002c-azmq"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-zmq_002c-azmq">38.13 zmq, azmq</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-zmq_002c-azmq">33.13 zmq, azmq</a></h2>
 
 <p>Receive commands sent through a libzmq client, and forward them to
 filters in the filtergraph.
@@ -22507,8 +19168,8 @@ will send a reply to the client, adopting the format:
 
 <p><var>MESSAGE</var> is optional.
 </p>
-<a name="Examples-41"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-41">38.13.1 Examples</a></h3>
+<a name="Examples-16"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-16">33.13.1 Examples</a></h3>
 
 <p>Look at &lsquo;<tt>tools/zmqsend</tt>&rsquo; for an example of a zmq client which can
 be used to send commands processed by these filters.
@@ -22533,19 +19194,19 @@ command can be used:
 
 
 <a name="Multimedia-Sources"></a>
-<h1 class="chapter"><a href="ffprobe-all.html#toc-Multimedia-Sources">39. Multimedia Sources</a></h1>
+<h1 class="chapter"><a href="ffprobe-all.html#toc-Multimedia-Sources">34. Multimedia Sources</a></h1>
 
 <p>Below is a description of the currently available multimedia sources.
 </p>
 <a name="amovie"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-amovie">39.1 amovie</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-amovie">34.1 amovie</a></h2>
 
 <p>This is the same as <a href="#movie">movie</a> source, except it selects an audio
 stream by default.
 </p>
 <p><a name="movie"></a>
 </p><a name="movie-1"></a>
-<h2 class="section"><a href="ffprobe-all.html#toc-movie-1">39.2 movie</a></h2>
+<h2 class="section"><a href="ffprobe-all.html#toc-movie-1">34.2 movie</a></h2>
 
 <p>Read audio and/or video stream(s) from a movie container.
 </p>
@@ -22596,7 +19257,7 @@ changed, so it will generate non monotonically increasing timestamps.
 </p></dd>
 </dl>
 
-<p>This filter allows to overlay a second video on top of main input of
+<p>This filter allows one to overlay a second video on top of main input of
 a filtergraph as shown in this graph:
 </p><table><tr><td>&nbsp;</td><td><pre class="example">input -----------&gt; deltapts0 --&gt; overlay --&gt; output
                                     ^
@@ -22604,8 +19265,8 @@ a filtergraph as shown in this graph:
 movie --&gt; scale--&gt; deltapts1 -------+
 </pre></td></tr></table>
 
-<a name="Examples-77"></a>
-<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-77">39.2.1 Examples</a></h3>
+<a name="Examples-25"></a>
+<h3 class="subsection"><a href="ffprobe-all.html#toc-Examples-25">34.2.1 Examples</a></h3>
 
 <ul>
 <li>
@@ -22634,7 +19295,7 @@ connected to the pad named &quot;audio&quot;:
 
 
 <a name="See-Also"></a>
-<h1 class="chapter"><a href="ffprobe-all.html#toc-See-Also">40. See Also</a></h1>
+<h1 class="chapter"><a href="ffprobe-all.html#toc-See-Also">35. See Also</a></h1>
 
 <p><a href="ffprobe.html">ffprobe</a>,
 <a href="ffmpeg.html">ffmpeg</a>, <a href="ffplay.html">ffplay</a>, <a href="ffserver.html">ffserver</a>,
@@ -22650,7 +19311,7 @@ connected to the pad named &quot;audio&quot;:
 </p>
 
 <a name="Authors"></a>
-<h1 class="chapter"><a href="ffprobe-all.html#toc-Authors">41. Authors</a></h1>
+<h1 class="chapter"><a href="ffprobe-all.html#toc-Authors">36. Authors</a></h1>
 
 <p>The FFmpeg developers.
 </p>
@@ -22664,4 +19325,4 @@ online repository at <a href="http://source.ffmpeg.org">http://source.ffmpeg.org
 </p>
 
 <footer class="footer pagination-right">
-<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>December 14, 2013</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
+<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>June 19, 2014</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
index 68a93b930b6a61d275f39920ac41e16c96af326f..3a3b8fcd8202a3c2f0b3e53aab068397caf38b5c 100644 (file)
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <html>
-<!-- Created on December 14, 2013 by texi2html 1.82 -->
+<!-- Created on June 19, 2014 by texi2html 1.82 -->
 <!--
 texi2html was written by: 
             Lionel Cons <Lionel.Cons@cern.ch> (original author)
@@ -334,6 +334,14 @@ to a plain <code>%</code>
 appear in the report.
 </p>
 </dd>
+<dt> &lsquo;<samp>-hide_banner</samp>&rsquo;</dt>
+<dd><p>Suppress printing banner.
+</p>
+<p>All FFmpeg tools will normally show a copyright notice, build options
+and library versions. This option can be used to suppress printing
+this information.
+</p>
+</dd>
 <dt> &lsquo;<samp>-cpuflags flags (<em>global</em>)</samp>&rsquo;</dt>
 <dd><p>Allows setting and clearing cpu flags. This option is intended
 for testing. Do not use it unless you know what you&rsquo;re doing.
@@ -1049,4 +1057,4 @@ online repository at <a href="http://source.ffmpeg.org">http://source.ffmpeg.org
 </p>
 
 <footer class="footer pagination-right">
-<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>December 14, 2013</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
+<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>June 19, 2014</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
index 1ebcf042bb5442478eac5a6fec3dfabd3bb195d0..95e0985217249aeb1e986e5485d46d0670ba1134 100644 (file)
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <html>
-<!-- Created on December 14, 2013 by texi2html 1.82 -->
+<!-- Created on June 19, 2014 by texi2html 1.82 -->
 <!--
 texi2html was written by: 
             Lionel Cons <Lionel.Cons@cern.ch> (original author)
@@ -49,8 +49,10 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
     <li><a name="toc-libvpx" href="#libvpx">1.5 libvpx</a></li>
     <li><a name="toc-libwavpack" href="#libwavpack">1.6 libwavpack</a></li>
     <li><a name="toc-x264" href="#x264">1.7 x264</a></li>
-    <li><a name="toc-libilbc" href="#libilbc">1.8 libilbc</a></li>
-    <li><a name="toc-libzvbi" href="#libzvbi">1.9 libzvbi</a></li>
+    <li><a name="toc-x265" href="#x265">1.8 x265</a></li>
+    <li><a name="toc-libilbc" href="#libilbc">1.9 libilbc</a></li>
+    <li><a name="toc-libzvbi" href="#libzvbi">1.10 libzvbi</a></li>
+    <li><a name="toc-AviSynth" href="#AviSynth">1.11 AviSynth</a></li>
   </ul></li>
   <li><a name="toc-Supported-File-Formats_002c-Codecs-or-Features" href="#Supported-File-Formats_002c-Codecs-or-Features">2. Supported File Formats, Codecs or Features</a>
   <ul class="toc">
@@ -190,8 +192,22 @@ configure to enable it.
 (see <a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">http://www.gnu.org/licenses/old-licenses/gpl-2.0.html</a> for
 details), you must upgrade FFmpeg&rsquo;s license to GPL in order to use it.
 </p></div>
+<a name="x265"></a>
+<h2 class="section"><a href="general.html#toc-x265">1.8 x265</a></h2>
+
+<p>FFmpeg can make use of the x265 library for HEVC encoding.
+</p>
+<p>Go to <a href="http://x265.org/developers.html">http://x265.org/developers.html</a> and follow the instructions
+for installing the library. Then pass <code>--enable-libx265</code> to configure
+to enable it.
+</p>
+<div class="float ">
+<p>x265 is under the GNU Public License Version 2 or later
+(see <a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">http://www.gnu.org/licenses/old-licenses/gpl-2.0.html</a> for
+details), you must upgrade FFmpeg&rsquo;s license to GPL in order to use it.
+</p></div>
 <a name="libilbc"></a>
-<h2 class="section"><a href="general.html#toc-libilbc">1.8 libilbc</a></h2>
+<h2 class="section"><a href="general.html#toc-libilbc">1.9 libilbc</a></h2>
 
 <p>iLBC is a narrowband speech codec that has been made freely available
 by Google as part of the WebRTC project. libilbc is a packaging friendly
@@ -203,7 +219,7 @@ installing the library. Then pass <code>--enable-libilbc</code> to configure to
 enable it.
 </p>
 <a name="libzvbi"></a>
-<h2 class="section"><a href="general.html#toc-libzvbi">1.9 libzvbi</a></h2>
+<h2 class="section"><a href="general.html#toc-libzvbi">1.10 libzvbi</a></h2>
 
 <p>libzvbi is a VBI decoding library which can be used by FFmpeg to decode DVB
 teletext pages and DVB teletext subtitles.
@@ -217,6 +233,27 @@ enable it.
 (see <a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">http://www.gnu.org/licenses/old-licenses/gpl-2.0.html</a> for details),
 you must upgrade FFmpeg&rsquo;s license to GPL in order to use it.
 </p></div>
+<a name="AviSynth"></a>
+<h2 class="section"><a href="general.html#toc-AviSynth">1.11 AviSynth</a></h2>
+
+<p>FFmpeg can read AviSynth scripts as input. To enable support, pass
+<code>--enable-avisynth</code> to configure.  The correct headers are
+included in compat/avisynth/, which allows the user to enable support
+without needing to search for these headers themselves.
+</p>
+<p>For Windows, supported AviSynth variants are
+<a href="http://avisynth.nl">AviSynth 2.5 or 2.6</a> for 32-bit builds and
+<a href="http://avs-plus.net">AviSynth+ 0.1</a> for 32-bit and 64-bit builds.
+</p>
+<p>For Linux and OS X, the supported AviSynth variant is
+<a href="https://github.com/avxsynth/avxsynth">AvxSynth</a>.
+</p>
+<div class="float alert alert-info">
+<p>AviSynth and AvxSynth are loaded dynamically.  Distributors can build FFmpeg
+with <code>--enable-avisynth</code>, and the binaries will work regardless of the
+end user having AviSynth or AvxSynth installed - they&rsquo;ll only need to be
+installed to use AviSynth scripts (obviously).
+</p></div>
 
 <a name="Supported-File-Formats_002c-Codecs-or-Features"></a>
 <h1 class="chapter"><a href="general.html#toc-Supported-File-Formats_002c-Codecs-or-Features">2. Supported File Formats, Codecs or Features</a></h1>
@@ -323,6 +360,7 @@ library:
 <tr><td width="40%">MPEG-PS (program stream)</td><td width="10%">X</td><td width="10%">X</td><td width="40%">also known as <code>VOB</code> file, SVCD and DVD format supported</td></tr>
 <tr><td width="40%">MPEG-TS (transport stream)</td><td width="10%">X</td><td width="10%">X</td><td width="40%">also known as DVB Transport Stream</td></tr>
 <tr><td width="40%">MPEG-4</td><td width="10%">X</td><td width="10%">X</td><td width="40%">MPEG-4 is a variant of QuickTime.</td></tr>
+<tr><td width="40%">Mirillis FIC video</td><td width="10%"></td><td width="10%">X</td><td width="40%">No cursor rendering.</td></tr>
 <tr><td width="40%">MIME multipart JPEG</td><td width="10%">X</td><td width="10%"></td></tr>
 <tr><td width="40%">MSN TCP webcam</td><td width="10%"></td><td width="10%">X</td><td width="40%">Used by MSN Messenger webcam streams.</td></tr>
 <tr><td width="40%">MTV</td><td width="10%"></td><td width="10%">X</td></tr>
@@ -355,7 +393,7 @@ library:
 <tr><td width="40%">raw H.261</td><td width="10%">X</td><td width="10%">X</td></tr>
 <tr><td width="40%">raw H.263</td><td width="10%">X</td><td width="10%">X</td></tr>
 <tr><td width="40%">raw H.264</td><td width="10%">X</td><td width="10%">X</td></tr>
-<tr><td width="40%">raw HEVC</td><td width="10%"></td><td width="10%">X</td></tr>
+<tr><td width="40%">raw HEVC</td><td width="10%">X</td><td width="10%">X</td></tr>
 <tr><td width="40%">raw Ingenient MJPEG</td><td width="10%"></td><td width="10%">X</td></tr>
 <tr><td width="40%">raw MJPEG</td><td width="10%">X</td><td width="10%">X</td></tr>
 <tr><td width="40%">raw MLP</td><td width="10%"></td><td width="10%">X</td></tr>
@@ -471,7 +509,7 @@ following image formats are supported:
 <tr><td width="40%">Sun Rasterfile</td><td width="10%">X</td><td width="10%">X</td><td width="40%">Sun RAS image format</td></tr>
 <tr><td width="40%">TIFF</td><td width="10%">X</td><td width="10%">X</td><td width="40%">YUV, JPEG and some extension is not supported yet.</td></tr>
 <tr><td width="40%">Truevision Targa</td><td width="10%">X</td><td width="10%">X</td><td width="40%">Targa (.TGA) image format</td></tr>
-<tr><td width="40%">WebP</td><td width="10%"></td><td width="10%">X</td><td width="40%">WebP image format</td></tr>
+<tr><td width="40%">WebP</td><td width="10%">E</td><td width="10%">X</td><td width="40%">WebP image format, encoding supported through external library libwebp</td></tr>
 <tr><td width="40%">XBM</td><td width="10%">X</td><td width="10%">X</td><td width="40%">X BitMap image format</td></tr>
 <tr><td width="40%">XFace</td><td width="10%">X</td><td width="10%">X</td><td width="40%">X-Face image format</td></tr>
 <tr><td width="40%">XWD</td><td width="10%">X</td><td width="10%">X</td><td width="40%">X Window Dump image format</td></tr>
@@ -553,7 +591,7 @@ following image formats are supported:
 <tr><td width="40%">H.263 / H.263-1996</td><td width="10%">X</td><td width="10%">X</td></tr>
 <tr><td width="40%">H.263+ / H.263-1998 / H.263 version 2</td><td width="10%">X</td><td width="10%">X</td></tr>
 <tr><td width="40%">H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10</td><td width="10%">E</td><td width="10%">X</td><td width="40%">encoding supported through external library libx264</td></tr>
-<tr><td width="40%">HEVC</td><td width="10%"></td><td width="10%">X</td></tr>
+<tr><td width="40%">HEVC</td><td width="10%">X</td><td width="10%">X</td><td width="40%">encoding supported through the external library libx265</td></tr>
 <tr><td width="40%">HNM version 4</td><td width="10%"></td><td width="10%">X</td></tr>
 <tr><td width="40%">HuffYUV</td><td width="10%">X</td><td width="10%">X</td></tr>
 <tr><td width="40%">HuffYUV FFmpeg variant</td><td width="10%">X</td><td width="10%">X</td></tr>
@@ -714,6 +752,7 @@ following image formats are supported:
 <tr><td width="40%">Apple lossless audio</td><td width="10%">X</td><td width="10%">X</td><td width="40%">QuickTime fourcc &rsquo;alac&rsquo;</td></tr>
 <tr><td width="40%">ATRAC1</td><td width="10%"></td><td width="10%">X</td></tr>
 <tr><td width="40%">ATRAC3</td><td width="10%"></td><td width="10%">X</td></tr>
+<tr><td width="40%">ATRAC3+</td><td width="10%"></td><td width="10%">X</td></tr>
 <tr><td width="40%">Bink Audio</td><td width="10%"></td><td width="10%">X</td><td width="40%">Used in Bink and Smacker files in many games.</td></tr>
 <tr><td width="40%">CELT</td><td width="10%"></td><td width="10%">E</td><td width="40%">decoding supported through external library libcelt</td></tr>
 <tr><td width="40%">Delphine Software International CIN audio</td><td width="10%"></td><td width="10%">X</td><td width="40%">Codec used in Delphine Software International games.</td></tr>
@@ -853,6 +892,7 @@ performance on systems without hardware floating point support).
 <table>
 <tr><td width="40%">Name</td><td width="10%">Support</td></tr>
 <tr><td width="40%">file</td><td width="10%">X</td></tr>
+<tr><td width="40%">FTP</td><td width="10%">X</td></tr>
 <tr><td width="40%">Gopher</td><td width="10%">X</td></tr>
 <tr><td width="40%">HLS</td><td width="10%">X</td></tr>
 <tr><td width="40%">HTTP</td><td width="10%">X</td></tr>
@@ -868,6 +908,7 @@ performance on systems without hardware floating point support).
 <tr><td width="40%">RTMPTS</td><td width="10%">X</td></tr>
 <tr><td width="40%">RTP</td><td width="10%">X</td></tr>
 <tr><td width="40%">SCTP</td><td width="10%">X</td></tr>
+<tr><td width="40%">SFTP</td><td width="10%">E</td></tr>
 <tr><td width="40%">TCP</td><td width="10%">X</td></tr>
 <tr><td width="40%">TLS</td><td width="10%">X</td></tr>
 <tr><td width="40%">UDP</td><td width="10%">X</td></tr>
@@ -888,13 +929,14 @@ performance on systems without hardware floating point support).
 <tr><td width="40%">caca</td><td width="10%"></td><td width="10%">X</td></tr>
 <tr><td width="40%">DV1394</td><td width="10%">X</td><td width="10%"></td></tr>
 <tr><td width="40%">Lavfi virtual device</td><td width="10%">X</td><td width="10%"></td></tr>
-<tr><td width="40%">Linux framebuffer</td><td width="10%">X</td><td width="10%"></td></tr>
+<tr><td width="40%">Linux framebuffer</td><td width="10%">X</td><td width="10%">X</td></tr>
 <tr><td width="40%">JACK</td><td width="10%">X</td><td width="10%"></td></tr>
 <tr><td width="40%">LIBCDIO</td><td width="10%">X</td></tr>
 <tr><td width="40%">LIBDC1394</td><td width="10%">X</td><td width="10%"></td></tr>
 <tr><td width="40%">OpenAL</td><td width="10%">X</td></tr>
+<tr><td width="40%">OpenGL</td><td width="10%"></td><td width="10%">X</td></tr>
 <tr><td width="40%">OSS</td><td width="10%">X</td><td width="10%">X</td></tr>
-<tr><td width="40%">Pulseaudio</td><td width="10%">X</td><td width="10%"></td></tr>
+<tr><td width="40%">PulseAudio</td><td width="10%">X</td><td width="10%">X</td></tr>
 <tr><td width="40%">SDL</td><td width="10%"></td><td width="10%">X</td></tr>
 <tr><td width="40%">Video4Linux2</td><td width="10%">X</td><td width="10%">X</td></tr>
 <tr><td width="40%">VfW capture</td><td width="10%">X</td><td width="10%"></td></tr>
@@ -917,4 +959,4 @@ performance on systems without hardware floating point support).
 </table>
 
 <footer class="footer pagination-right">
-<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>December 14, 2013</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
+<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>June 19, 2014</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
index a6552521bb2f99904583808e27026788b4478eda..22414bbbccd7ad9f54a3748f2235448a25c541e3 100644 (file)
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <html>
-<!-- Created on December 14, 2013 by texi2html 1.82 -->
+<!-- Created on June 19, 2014 by texi2html 1.82 -->
 <!--
 texi2html was written by: 
             Lionel Cons <Lionel.Cons@cern.ch> (original author)
@@ -346,7 +346,7 @@ the current branch history.
 <table><tr><td>&nbsp;</td><td><pre class="example">git commit --amend
 </pre></td></tr></table>
 
-<p>allows to amend the last commit details quickly.
+<p>allows one to amend the last commit details quickly.
 </p>
 <table><tr><td>&nbsp;</td><td><pre class="example">git rebase -i origin/master
 </pre></td></tr></table>
@@ -456,4 +456,4 @@ recommended.
 <p>Contact the project admins <a href="mailto:root@ffmpeg.org">root@ffmpeg.org</a> if you have technical
 problems with the GIT server.
 </p><footer class="footer pagination-right">
-<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>December 14, 2013</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
+<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>June 19, 2014</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
index cc87b0a061b5248ac1086ee7a1c6ec8258ff0c93..4aa67270779c12e77c578389884c6ccb477e129f 100644 (file)
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <html>
-<!-- Created on December 14, 2013 by texi2html 1.82 -->
+<!-- Created on June 19, 2014 by texi2html 1.82 -->
 <!--
 texi2html was written by: 
             Lionel Cons <Lionel.Cons@cern.ch> (original author)
@@ -75,4 +75,4 @@ online repository at <a href="http://source.ffmpeg.org">http://source.ffmpeg.org
 </p>
 
 <footer class="footer pagination-right">
-<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>December 14, 2013</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
+<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>June 19, 2014</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
index 5b0609a3ce4d65eaac2e4e90d06971588b0d3860..38e27c3021821e9a1f4294e9a3260e0305967c09 100644 (file)
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <html>
-<!-- Created on December 14, 2013 by texi2html 1.82 -->
+<!-- Created on June 19, 2014 by texi2html 1.82 -->
 <!--
 texi2html was written by: 
             Lionel Cons <Lionel.Cons@cern.ch> (original author)
@@ -72,4 +72,4 @@ online repository at <a href="http://source.ffmpeg.org">http://source.ffmpeg.org
 </p>
 
 <footer class="footer pagination-right">
-<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>December 14, 2013</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
+<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>June 19, 2014</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
index 2185113a06183a6e343953787fb476164d0f5907..58a5de349242d3c4b3ab57f20e76a53ad873fd82 100644 (file)
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <html>
-<!-- Created on December 14, 2013 by texi2html 1.82 -->
+<!-- Created on June 19, 2014 by texi2html 1.82 -->
 <!--
 texi2html was written by: 
             Lionel Cons <Lionel.Cons@cern.ch> (original author)
@@ -71,4 +71,4 @@ online repository at <a href="http://source.ffmpeg.org">http://source.ffmpeg.org
 </p>
 
 <footer class="footer pagination-right">
-<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>December 14, 2013</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
+<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>June 19, 2014</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
index 8c5b25673748ae974e11c6eb0b56cdbbdf91b6a2..170f29f89ff2d7107a34f51ebe9cc29152ed58d2 100644 (file)
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <html>
-<!-- Created on December 14, 2013 by texi2html 1.82 -->
+<!-- Created on June 19, 2014 by texi2html 1.82 -->
 <!--
 texi2html was written by: 
             Lionel Cons <Lionel.Cons@cern.ch> (original author)
@@ -75,4 +75,4 @@ online repository at <a href="http://source.ffmpeg.org">http://source.ffmpeg.org
 </p>
 
 <footer class="footer pagination-right">
-<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>December 14, 2013</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
+<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>June 19, 2014</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
index 84234782b3c435589e4c4434f629ed9181fd88c7..4eb38645b75979d77a645b983f35f3eab64d62cb 100644 (file)
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <html>
-<!-- Created on December 14, 2013 by texi2html 1.82 -->
+<!-- Created on June 19, 2014 by texi2html 1.82 -->
 <!--
 texi2html was written by: 
             Lionel Cons <Lionel.Cons@cern.ch> (original author)
@@ -94,4 +94,4 @@ online repository at <a href="http://source.ffmpeg.org">http://source.ffmpeg.org
 </p>
 
 <footer class="footer pagination-right">
-<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>December 14, 2013</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
+<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>June 19, 2014</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
index d137bfa7d28ad51c41df350b231ff3a274b1b05f..2ef5a2e201ced7c626a1a8bd30ef209bc7612e7c 100644 (file)
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <html>
-<!-- Created on December 14, 2013 by texi2html 1.82 -->
+<!-- Created on June 19, 2014 by texi2html 1.82 -->
 <!--
 texi2html was written by: 
             Lionel Cons <Lionel.Cons@cern.ch> (original author)
@@ -97,4 +97,4 @@ online repository at <a href="http://source.ffmpeg.org">http://source.ffmpeg.org
 </p>
 
 <footer class="footer pagination-right">
-<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>December 14, 2013</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
+<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>June 19, 2014</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
index e3becabe3d0213e90ba1ae5ad8d70347dd640c61..8e7684c165575612ddf5607c25fed8b53e931131 100644 (file)
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <html>
-<!-- Created on December 14, 2013 by texi2html 1.82 -->
+<!-- Created on June 19, 2014 by texi2html 1.82 -->
 <!--
 texi2html was written by: 
             Lionel Cons <Lionel.Cons@cern.ch> (original author)
@@ -90,4 +90,4 @@ online repository at <a href="http://source.ffmpeg.org">http://source.ffmpeg.org
 </p>
 
 <footer class="footer pagination-right">
-<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>December 14, 2013</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
+<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>June 19, 2014</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
index 1dcfa2efee3e4722f179480da504504660cead10..bf71d28c10975aef6e9adc3b35d3da04367c3ba1 100644 (file)
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <html>
-<!-- Created on December 14, 2013 by texi2html 1.82 -->
+<!-- Created on June 19, 2014 by texi2html 1.82 -->
 <!--
 texi2html was written by: 
             Lionel Cons <Lionel.Cons@cern.ch> (original author)
@@ -180,4 +180,4 @@ to be read big-endian.
 </table>
 
 <footer class="footer pagination-right">
-<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>December 14, 2013</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
+<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>June 19, 2014</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
index d8bc01adae93e96d13dd10b1a334010bb8a64af3..ba7c5116e5b7b12bc500a5aa99aaf9f21b657c7e 100644 (file)
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <html>
-<!-- Created on December 14, 2013 by texi2html 1.82 -->
+<!-- Created on June 19, 2014 by texi2html 1.82 -->
 <!--
 texi2html was written by: 
             Lionel Cons <Lionel.Cons@cern.ch> (original author)
@@ -101,8 +101,9 @@ bash directly to work around this:
 unacelerated code.
 </p>
 <p>Mac OS X on PowerPC or ARM (iPhone) requires a preprocessor from
+<a href="https://github.com/FFmpeg/gas-preprocessor">https://github.com/FFmpeg/gas-preprocessor</a> or
 <a href="http://github.com/yuvi/gas-preprocessor">http://github.com/yuvi/gas-preprocessor</a> to build the optimized
-assembler functions. Just download the Perl script and put it somewhere
+assembler functions. Put the Perl script somewhere
 in your PATH, FFmpeg&rsquo;s configure will pick it up automatically.
 </p>
 <p>Mac OS X on amd64 and x86 requires <code>yasm</code> to build most of the
@@ -418,4 +419,4 @@ libraries must do it themselves.
 </li></ul>
 
 <footer class="footer pagination-right">
-<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>December 14, 2013</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
+<span class="label label-info">This document was generated by <em>Kyle Schwarz</em> on <em>June 19, 2014</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.</span></footer></div></div></body>
diff --git a/dependencies/ffmpeg/ff-prompt.cmd b/dependencies/ffmpeg/ff-prompt.cmd
deleted file mode 100644 (file)
index 63bd33d..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-ECHO OFF
-REM FF Prompt 1.0
-REM Open a command prompt to run ffmpeg/ffplay/ffprobe
-REM Copyright (C) 2013  Kyle Schwarz
-
-TITLE "FF Prompt"
-
-IF NOT EXIST bin\ffmpeg.exe (
-  CLS
-  ECHO bin\ffmpeg.exe could not be found.
-  GOTO:error
-)
-
-CD bin || GOTO:error
-PROMPT $G
-CLS
-ffmpeg -version
-SET PATH=%CD%;%PATH%
-ECHO.
-ECHO For help run: ffmpeg -h
-ECHO For formats run: ffmpeg -formats ^| more
-ECHO For codecs run: ffmpeg -codecs ^| more
-ECHO.
-ECHO Current directory is now: "%CD%"
-ECHO The bin directory has been added to PATH
-ECHO.
-
-CMD /F:ON /Q /K
-GOTO:EOF
-
-:error
-  ECHO.
-  ECHO Press any key to exit.
-  PAUSE >nul
-  GOTO:EOF
index fbf31ef4f68388e2cf69529aafaef1a939ebde38..5df717caefff5d5cb6d10d7bc0951a774760f643 100644 (file)
@@ -285,6 +285,7 @@ enum AVCodecID {
     AV_CODEC_ID_WEBP_DEPRECATED,
     AV_CODEC_ID_HNM4_VIDEO,
     AV_CODEC_ID_HEVC_DEPRECATED,
+    AV_CODEC_ID_FIC,
 
     AV_CODEC_ID_BRENDER_PIX= MKBETAG('B','P','I','X'),
     AV_CODEC_ID_Y41P       = MKBETAG('Y','4','1','P'),
@@ -513,6 +514,7 @@ enum AVCodecID {
     AV_CODEC_ID_OTF        = MKBETAG( 0 ,'O','T','F'),
     AV_CODEC_ID_SMPTE_KLV  = MKBETAG('K','L','V','A'),
     AV_CODEC_ID_DVD_NAV    = MKBETAG('D','N','A','V'),
+    AV_CODEC_ID_TIMED_ID3  = MKBETAG('T','I','D','3'),
 
 
     AV_CODEC_ID_PROBE = 0x19000, ///< codec_id is not known (like AV_CODEC_ID_NONE) but lavf should attempt to identify it
@@ -728,7 +730,13 @@ typedef struct RcOverride{
 #define CODEC_FLAG_PASS1           0x0200   ///< Use internal 2pass ratecontrol in first pass mode.
 #define CODEC_FLAG_PASS2           0x0400   ///< Use internal 2pass ratecontrol in second pass mode.
 #define CODEC_FLAG_GRAY            0x2000   ///< Only decode/encode grayscale.
-#define CODEC_FLAG_EMU_EDGE        0x4000   ///< Don't draw edges.
+#if FF_API_EMU_EDGE
+/**
+ * @deprecated edges are not used/required anymore. I.e. this flag is now always
+ * set.
+ */
+#define CODEC_FLAG_EMU_EDGE        0x4000
+#endif
 #define CODEC_FLAG_PSNR            0x8000   ///< error[?] variables will be set during encoding.
 #define CODEC_FLAG_TRUNCATED       0x00010000 /** Input bitstream might be truncated at a random
                                                   location instead of only at frame boundaries. */
@@ -767,7 +775,13 @@ typedef struct RcOverride{
 #define CODEC_CAP_DR1             0x0002
 #define CODEC_CAP_TRUNCATED       0x0008
 #if FF_API_XVMC
-/* Codec can export data for HW decoding (XvMC). */
+/* Codec can export data for HW decoding. This flag indicates that
+ * the codec would call get_format() with list that might contain HW accelerated
+ * pixel formats (XvMC, VDPAU, VAAPI, etc). The application can pick any of them
+ * including raw image format.
+ * The application can use the passed context to determine bitstream version,
+ * chroma format, resolution etc.
+ */
 #define CODEC_CAP_HWACCEL         0x0010
 #endif /* FF_API_XVMC */
 /**
@@ -1695,7 +1709,7 @@ typedef struct AVCodecContext {
      * XVideo Motion Acceleration
      * - encoding: forbidden
      * - decoding: set by decoder
-     * @deprecated XvMC support is slated for removal.
+     * @deprecated XvMC doesn't need it anymore.
      */
     attribute_deprecated int xvmc_acceleration;
 #endif /* FF_API_XVMC */
@@ -2145,12 +2159,11 @@ typedef struct AVCodecContext {
      * If AV_GET_BUFFER_FLAG_REF is set in flags then the frame may be reused
      * (read and/or written to if it is writable) later by libavcodec.
      *
-     * If CODEC_FLAG_EMU_EDGE is not set in s->flags, the buffer must contain an
-     * edge of the size returned by avcodec_get_edge_width() on all sides.
-     *
      * avcodec_align_dimensions2() should be used to find the required width and
      * height, as they normally need to be rounded up to the next multiple of 16.
      *
+     * Some decoders do not support linesizes changing between frames.
+     *
      * If frame multithreading is used and thread_safe_callbacks is set,
      * this callback may be called from a different thread, but not from more
      * than one at once. Does not need to be reentrant.
@@ -2975,6 +2988,14 @@ typedef struct AVCodecContext {
 #define FF_DEBUG_VIS_MV_B_FOR  0x00000002 //visualize forward predicted MVs of B frames
 #define FF_DEBUG_VIS_MV_B_BACK 0x00000004 //visualize backward predicted MVs of B frames
 #endif
+
+    /**
+     * custom intra quantization matrix
+     * Code outside libavcodec should access this field using av_codec_g/set_chroma_intra_matrix()
+     * - encoding: Set by user, can be NULL.
+     * - decoding: unused.
+     */
+    uint16_t *chroma_intra_matrix;
 } AVCodecContext;
 
 AVRational av_codec_get_pkt_timebase         (const AVCodecContext *avctx);
@@ -2989,6 +3010,9 @@ void av_codec_set_lowres(AVCodecContext *avctx, int val);
 int  av_codec_get_seek_preroll(const AVCodecContext *avctx);
 void av_codec_set_seek_preroll(AVCodecContext *avctx, int val);
 
+uint16_t *av_codec_get_chroma_intra_matrix(const AVCodecContext *avctx);
+void av_codec_set_chroma_intra_matrix(AVCodecContext *avctx, uint16_t *val);
+
 /**
  * AVProfile.
  */
@@ -3100,6 +3124,8 @@ typedef struct AVCodec {
 
 int av_codec_get_max_lowres(const AVCodec *codec);
 
+struct MpegEncContext;
+
 /**
  * AVHWAccel.
  */
@@ -3161,6 +3187,7 @@ typedef struct AVHWAccel {
      *
      * Meaningful slice information (codec specific) is guaranteed to
      * be parsed at this point. This function is mandatory.
+     * The only exception is XvMC, that works on MB level.
      *
      * @param avctx the codec context
      * @param buf the slice data buffer base
@@ -3188,6 +3215,17 @@ typedef struct AVHWAccel {
      * AVCodecContext.release_buffer().
      */
     int priv_data_size;
+
+    /**
+     * Called for every Macroblock in a slice.
+     *
+     * XvMC uses it to replace the ff_MPV_decode_mb().
+     * Instead of decoding to raw picture, MB parameters are
+     * stored in an array provided by the video driver.
+     *
+     * @param s the mpeg context
+     */
+    void (*decode_mb)(struct MpegEncContext *s);
 } AVHWAccel;
 
 /**
@@ -3715,14 +3753,20 @@ attribute_deprecated int avcodec_default_reget_buffer(AVCodecContext *s, AVFrame
  */
 int avcodec_default_get_buffer2(AVCodecContext *s, AVFrame *frame, int flags);
 
+#if FF_API_EMU_EDGE
 /**
  * Return the amount of padding in pixels which the get_buffer callback must
  * provide around the edge of the image for codecs which do not have the
  * CODEC_FLAG_EMU_EDGE flag.
  *
  * @return Required padding in pixels.
+ *
+ * @deprecated CODEC_FLAG_EMU_EDGE is deprecated, so this function is no longer
+ * needed
  */
+attribute_deprecated
 unsigned avcodec_get_edge_width(void);
+#endif
 
 /**
  * Modify width and height values so that they will result in a memory
@@ -3730,8 +3774,6 @@ unsigned avcodec_get_edge_width(void);
  * padding.
  *
  * May only be used if a codec with CODEC_CAP_DR1 has been opened.
- * If CODEC_FLAG_EMU_EDGE is not set, the dimensions must have been increased
- * according to avcodec_get_edge_width() before.
  */
 void avcodec_align_dimensions(AVCodecContext *s, int *width, int *height);
 
@@ -3741,8 +3783,6 @@ void avcodec_align_dimensions(AVCodecContext *s, int *width, int *height);
  * line sizes are a multiple of the respective linesize_align[i].
  *
  * May only be used if a codec with CODEC_CAP_DR1 has been opened.
- * If CODEC_FLAG_EMU_EDGE is not set, the dimensions must have been increased
- * according to avcodec_get_edge_width() before.
  */
 void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height,
                                int linesize_align[AV_NUM_DATA_POINTERS]);
@@ -4717,7 +4757,9 @@ void avcodec_set_dimensions(AVCodecContext *s, int width, int height);
 /**
  * Put a string representing the codec tag codec_tag in buf.
  *
+ * @param buf       buffer to place codec tag in
  * @param buf_size size in bytes of buf
+ * @param codec_tag codec tag to assign
  * @return the length of the string that would have been generated if
  * enough space had been available, excluding the trailing null
  */
index 2d20a45f8725d278fdaaa4935778372cb890bf85..0c0f9b8d8dae13c14a8cd91a1c4234b07821e916 100644 (file)
@@ -99,9 +99,11 @@ enum DCTTransformType {
 
 /**
  * Set up DCT.
+ *
  * @param nbits           size of the input array:
  *                        (1 << nbits)     for DCT-II, DCT-III and DST-I
  *                        (1 << nbits) + 1 for DCT-I
+ * @param type            the type of transform
  *
  * @note the first element of the input of DST-I is ignored
  */
index b3d6399a655bb29e4293e192dbe041a9b7f5b1b9..2f68188c9c31ee7e7fecde4c2cab64ebd0914639 100644 (file)
 
 #include "libavcodec/version.h"
 
+// extra flags not defined in VDADecoder.h
+enum {
+    kVDADecodeInfo_Asynchronous = 1UL << 0,
+    kVDADecodeInfo_FrameDropped = 1UL << 1
+};
+
 /**
  * @defgroup lavc_codec_hwaccel_vda VDA
  * @ingroup lavc_codec_hwaccel
index 1beb01cc394af78bb1dc8e2bbba4ee79c4ffc8ce..61a7968524549a99111b29602bca2fc46ce47a73 100644 (file)
  * Libavcodec version macros.
  */
 
-#include "libavutil/avutil.h"
+#include "libavutil/version.h"
 
 #define LIBAVCODEC_VERSION_MAJOR 55
-#define LIBAVCODEC_VERSION_MINOR  45
-#define LIBAVCODEC_VERSION_MICRO 101
+#define LIBAVCODEC_VERSION_MINOR  52
+#define LIBAVCODEC_VERSION_MICRO 102
 
 #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
                                                LIBAVCODEC_VERSION_MINOR, \
 #ifndef FF_API_NEG_LINESIZES
 #define FF_API_NEG_LINESIZES     (LIBAVCODEC_VERSION_MAJOR < 56)
 #endif
+#ifndef FF_API_EMU_EDGE
+#define FF_API_EMU_EDGE          (LIBAVCODEC_VERSION_MAJOR < 56)
+#endif
 
 #endif /* AVCODEC_VERSION_H */
index efd69fc913ee8f74d259d43b878d6c9fed68bbfb..c2e187cc16e0ee3e08bde97aefbb391e804803ed 100644 (file)
@@ -33,8 +33,6 @@
 #include "version.h"
 #include "avcodec.h"
 
-#if FF_API_XVMC
-
 /**
  * @defgroup lavc_codec_hwaccel_xvmc XvMC
  * @ingroup lavc_codec_hwaccel
@@ -169,6 +167,4 @@ attribute_deprecated struct xvmc_pix_fmt {
  * @}
  */
 
-#endif /* FF_API_XVMC */
-
 #endif /* AVCODEC_XVMC_H */
index 93a044f27078bd06c9a7dae7f8c380d96530a014..28344ca161f18b9cdb620a9a048c0e2ad8d27a03 100644 (file)
@@ -66,4 +66,168 @@ const char *avdevice_license(void);
  */
 void avdevice_register_all(void);
 
+typedef struct AVDeviceRect {
+    int x;      /**< x coordinate of top left corner */
+    int y;      /**< y coordinate of top left corner */
+    int width;  /**< width */
+    int height; /**< height */
+} AVDeviceRect;
+
+/**
+ * Message types used by avdevice_app_to_dev_control_message().
+ */
+enum AVAppToDevMessageType {
+    /**
+     * Dummy message.
+     */
+    AV_APP_TO_DEV_NONE = MKBETAG('N','O','N','E'),
+
+    /**
+     * Window size change message.
+     *
+     * Message is sent to the device every time the application changes the size
+     * of the window device renders to.
+     * Message should also be sent right after window is created.
+     *
+     * data: AVDeviceRect: new window size.
+     */
+    AV_APP_TO_DEV_WINDOW_SIZE = MKBETAG('G','E','O','M'),
+
+    /**
+     * Repaint request message.
+     *
+     * Message is sent to the device when window have to be rapainted.
+     *
+     * data: AVDeviceRect: area required to be repainted.
+     *       NULL: whole area is required to be repainted.
+     */
+    AV_APP_TO_DEV_WINDOW_REPAINT = MKBETAG('R','E','P','A')
+};
+
+/**
+ * Message types used by avdevice_dev_to_app_control_message().
+ */
+enum AVDevToAppMessageType {
+    /**
+     * Dummy message.
+     */
+    AV_DEV_TO_APP_NONE = MKBETAG('N','O','N','E'),
+
+    /**
+     * Create window buffer message.
+     *
+     * Device requests to create a window buffer. Exact meaning is device-
+     * and application-dependent. Message is sent before rendering first
+     * frame and all one-shot initializations should be done here.
+     * Application is allowed to ignore preferred window buffer size.
+     *
+     * @note: Application is obligated to inform about window buffer size
+     *        with AV_APP_TO_DEV_WINDOW_SIZE message.
+     *
+     * data: AVDeviceRect: preferred size of the window buffer.
+     *       NULL: no preferred size of the window buffer.
+     */
+    AV_DEV_TO_APP_CREATE_WINDOW_BUFFER = MKBETAG('B','C','R','E'),
+
+    /**
+     * Prepare window buffer message.
+     *
+     * Device requests to prepare a window buffer for rendering.
+     * Exact meaning is device- and application-dependent.
+     * Message is sent before rendering of each frame.
+     *
+     * data: NULL.
+     */
+    AV_DEV_TO_APP_PREPARE_WINDOW_BUFFER = MKBETAG('B','P','R','E'),
+
+    /**
+     * Display window buffer message.
+     *
+     * Device requests to display a window buffer.
+     * Message is sent when new frame is ready to be displyed.
+     * Usually buffers need to be swapped in handler of this message.
+     *
+     * data: NULL.
+     */
+    AV_DEV_TO_APP_DISPLAY_WINDOW_BUFFER = MKBETAG('B','D','I','S'),
+
+    /**
+     * Destroy window buffer message.
+     *
+     * Device requests to destroy a window buffer.
+     * Message is sent when device is about to be destroyed and window
+     * buffer is not required anymore.
+     *
+     * data: NULL.
+     */
+    AV_DEV_TO_APP_DESTROY_WINDOW_BUFFER = MKBETAG('B','D','E','S')
+};
+
+/**
+ * Send control message from application to device.
+ *
+ * @param s         device context.
+ * @param type      message type.
+ * @param data      message data. Exact type depends on message type.
+ * @param data_size size of message data.
+ * @return >= 0 on success, negative on error.
+ *         AVERROR(ENOSYS) when device doesn't implement handler of the message.
+ */
+int avdevice_app_to_dev_control_message(struct AVFormatContext *s,
+                                        enum AVAppToDevMessageType type,
+                                        void *data, size_t data_size);
+
+/**
+ * Send control message from device to application.
+ *
+ * @param s         device context.
+ * @param type      message type.
+ * @param data      message data. Can be NULL.
+ * @param data_size size of message data.
+ * @return >= 0 on success, negative on error.
+ *         AVERROR(ENOSYS) when application doesn't implement handler of the message.
+ */
+int avdevice_dev_to_app_control_message(struct AVFormatContext *s,
+                                        enum AVDevToAppMessageType type,
+                                        void *data, size_t data_size);
+
+/**
+ * Structure describes basic parameters of the device.
+ */
+typedef struct AVDeviceInfo {
+    char *device_name;                   /**< device name, format depends on device */
+    char *device_description;            /**< human friendly name */
+} AVDeviceInfo;
+
+/**
+ * List of devices.
+ */
+typedef struct AVDeviceInfoList {
+    AVDeviceInfo **devices;              /**< list of autodetected devices */
+    int nb_devices;                      /**< number of autodetected devices */
+    int default_device;                  /**< index of default device or -1 if no default */
+} AVDeviceInfoList;
+
+/**
+ * List devices.
+ *
+ * Returns available device names and their parameters.
+ *
+ * @note: Some devices may accept system-dependent device names that cannot be
+ *        autodetected. The list returned by this function cannot be assumed to
+ *        be always completed.
+ *
+ * @param s                device context.
+ * @param[out] device_list list of autodetected devices.
+ * @return count of autodetected devices, negative on error.
+ */
+int avdevice_list_devices(struct AVFormatContext *s, AVDeviceInfoList **device_list);
+
+/**
+ * Convinient function to free result of avdevice_list_devices().
+ *
+ * @param devices device list to be freed.
+ */
+void avdevice_free_list_devices(AVDeviceInfoList **device_list);
+
 #endif /* AVDEVICE_AVDEVICE_H */
index 0bbd48e7a5700c93de09ee8cda02f87559ee0a26..85b3b376621a02e9850cacc56ce54be5bf194812 100644 (file)
  * Libavdevice version macros
  */
 
-#include "libavutil/avutil.h"
+#include "libavutil/version.h"
 
 #define LIBAVDEVICE_VERSION_MAJOR  55
-#define LIBAVDEVICE_VERSION_MINOR   5
-#define LIBAVDEVICE_VERSION_MICRO 102
+#define LIBAVDEVICE_VERSION_MINOR  10
+#define LIBAVDEVICE_VERSION_MICRO 100
 
 #define LIBAVDEVICE_VERSION_INT AV_VERSION_INT(LIBAVDEVICE_VERSION_MAJOR, \
                                                LIBAVDEVICE_VERSION_MINOR, \
index 3518ad8b3b74c2000dbc9dbbf8dc7917e6ee7b9d..ef7e8cadcf35540ccb4d8124e42a83761827476d 100644 (file)
@@ -385,6 +385,12 @@ struct AVFilterPad {
      */
     int needs_fifo;
 
+    /**
+     * The filter expects writable frames from its input link,
+     * duplicating data buffers if needed.
+     *
+     * input pads only.
+     */
     int needs_writable;
 };
 #endif
index ce96d08b361812911a6068497a6f94780632fc84..24cd2feac7ba9a712a2c87872f69a81519e1296e 100644 (file)
 
 /**
  * @file
+ * @ingroup lavfi_buffersink
  * memory buffer sink API for audio and video
  */
 
 #include "avfilter.h"
 
+/**
+ * @defgroup lavfi_buffersink Buffer sink API
+ * @ingroup lavfi
+ * @{
+ */
+
 #if FF_API_AVFILTERBUFFER
 /**
  * Get an audio/video buffer data from buffer_sink and put it in bufref.
@@ -162,8 +169,12 @@ AVRational av_buffersink_get_frame_rate(AVFilterContext *ctx);
  * @param frame pointer to an allocated frame that will be filled with data.
  *              The data must be freed using av_frame_unref() / av_frame_free()
  *
- * @return >= 0 in case of success, a negative AVERROR code in case of
- *         failure.
+ * @return
+ *         - >= 0 if a frame was successfully returned.
+ *         - AVERROR(EAGAIN) if no frames are available at this point; more
+ *           input frames must be added to the filtergraph to get more output.
+ *         - AVERROR_EOF if there will be no more output frames on this sink.
+ *         - A different negative AVERROR code in other failure cases.
  */
 int av_buffersink_get_frame(AVFilterContext *ctx, AVFrame *frame);
 
@@ -178,9 +189,16 @@ int av_buffersink_get_frame(AVFilterContext *ctx, AVFrame *frame);
  *              frame will contain exactly nb_samples audio samples, except at
  *              the end of stream, when it can contain less than nb_samples.
  *
+ * @return The return codes have the same meaning as for
+ *         av_buffersink_get_samples().
+ *
  * @warning do not mix this function with av_buffersink_get_frame(). Use only one or
  * the other with a single sink, not both.
  */
 int av_buffersink_get_samples(AVFilterContext *ctx, AVFrame *frame, int nb_samples);
 
+/**
+ * @}
+ */
+
 #endif /* AVFILTER_BUFFERSINK_H */
index 89613e10cd2e0dc72a9e6c3104de302b5882b7c8..5d124337b5aaef20ee858e850b2284b0bbf06354 100644 (file)
 
 /**
  * @file
+ * @ingroup lavfi_buffersrc
  * Memory buffer source API.
  */
 
 #include "libavcodec/avcodec.h"
 #include "avfilter.h"
 
+/**
+ * @defgroup lavfi_buffersrc Buffer source API
+ * @ingroup lavfi
+ * @{
+ */
+
 enum {
 
     /**
@@ -79,8 +86,9 @@ unsigned av_buffersrc_get_nb_failed_requests(AVFilterContext *buffer_src);
 
 #if FF_API_AVFILTERBUFFER
 /**
- * Add a buffer to the filtergraph s.
+ * Add a buffer to a filtergraph.
  *
+ * @param ctx an instance of the buffersrc filter
  * @param buf buffer containing frame data to be passed down the filtergraph.
  * This function will take ownership of buf, the user must not free it.
  * A NULL buf signals EOF -- i.e. no more frames will be sent to this filter.
@@ -88,13 +96,13 @@ unsigned av_buffersrc_get_nb_failed_requests(AVFilterContext *buffer_src);
  * @deprecated use av_buffersrc_write_frame() or av_buffersrc_add_frame()
  */
 attribute_deprecated
-int av_buffersrc_buffer(AVFilterContext *s, AVFilterBufferRef *buf);
+int av_buffersrc_buffer(AVFilterContext *ctx, AVFilterBufferRef *buf);
 #endif
 
 /**
  * Add a frame to the buffer source.
  *
- * @param s an instance of the buffersrc filter.
+ * @param ctx   an instance of the buffersrc filter
  * @param frame frame to be added. If the frame is reference counted, this
  * function will make a new reference to it. Otherwise the frame data will be
  * copied.
@@ -104,12 +112,12 @@ int av_buffersrc_buffer(AVFilterContext *s, AVFilterBufferRef *buf);
  * This function is equivalent to av_buffersrc_add_frame_flags() with the
  * AV_BUFFERSRC_FLAG_KEEP_REF flag.
  */
-int av_buffersrc_write_frame(AVFilterContext *s, const AVFrame *frame);
+int av_buffersrc_write_frame(AVFilterContext *ctx, const AVFrame *frame);
 
 /**
  * Add a frame to the buffer source.
  *
- * @param s an instance of the buffersrc filter.
+ * @param ctx   an instance of the buffersrc filter
  * @param frame frame to be added. If the frame is reference counted, this
  * function will take ownership of the reference(s) and reset the frame.
  * Otherwise the frame data will be copied. If this function returns an error,
@@ -145,4 +153,8 @@ int av_buffersrc_add_frame_flags(AVFilterContext *buffer_src,
                                  AVFrame *frame, int flags);
 
 
+/**
+ * @}
+ */
+
 #endif /* AVFILTER_BUFFERSRC_H */
index 9cc7e3cde1f52609944b7456e28cc6f5c1c4b012..a33ab490d04eedacc25d391adde33e57b97fdf58 100644 (file)
  * Libavfilter version macros
  */
 
-#include "libavutil/avutil.h"
+#include "libavutil/version.h"
 
-#define LIBAVFILTER_VERSION_MAJOR  3
-#define LIBAVFILTER_VERSION_MINOR  92
+#define LIBAVFILTER_VERSION_MAJOR   4
+#define LIBAVFILTER_VERSION_MINOR   2
 #define LIBAVFILTER_VERSION_MICRO 100
 
 #define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
  */
 
 #ifndef FF_API_AVFILTERPAD_PUBLIC
-#define FF_API_AVFILTERPAD_PUBLIC           (LIBAVFILTER_VERSION_MAJOR < 4)
+#define FF_API_AVFILTERPAD_PUBLIC           (LIBAVFILTER_VERSION_MAJOR < 5)
 #endif
 #ifndef FF_API_FOO_COUNT
-#define FF_API_FOO_COUNT                    (LIBAVFILTER_VERSION_MAJOR < 4)
+#define FF_API_FOO_COUNT                    (LIBAVFILTER_VERSION_MAJOR < 5)
 #endif
 #ifndef FF_API_FILL_FRAME
-#define FF_API_FILL_FRAME                   (LIBAVFILTER_VERSION_MAJOR < 4)
+#define FF_API_FILL_FRAME                   (LIBAVFILTER_VERSION_MAJOR < 5)
 #endif
 #ifndef FF_API_BUFFERSRC_BUFFER
-#define FF_API_BUFFERSRC_BUFFER             (LIBAVFILTER_VERSION_MAJOR < 4)
+#define FF_API_BUFFERSRC_BUFFER             (LIBAVFILTER_VERSION_MAJOR < 5)
 #endif
 #ifndef FF_API_AVFILTERBUFFER
-#define FF_API_AVFILTERBUFFER               (LIBAVFILTER_VERSION_MAJOR < 4)
+#define FF_API_AVFILTERBUFFER               (LIBAVFILTER_VERSION_MAJOR < 5)
 #endif
 #ifndef FF_API_OLD_FILTER_OPTS
-#define FF_API_OLD_FILTER_OPTS              (LIBAVFILTER_VERSION_MAJOR < 4)
+#define FF_API_OLD_FILTER_OPTS              (LIBAVFILTER_VERSION_MAJOR < 5)
 #endif
 #ifndef FF_API_ACONVERT_FILTER
-#define FF_API_ACONVERT_FILTER              (LIBAVFILTER_VERSION_MAJOR < 4)
+#define FF_API_ACONVERT_FILTER              (LIBAVFILTER_VERSION_MAJOR < 5)
 #endif
 #ifndef FF_API_AVFILTER_OPEN
-#define FF_API_AVFILTER_OPEN                (LIBAVFILTER_VERSION_MAJOR < 4)
+#define FF_API_AVFILTER_OPEN                (LIBAVFILTER_VERSION_MAJOR < 5)
 #endif
 #ifndef FF_API_AVFILTER_INIT_FILTER
-#define FF_API_AVFILTER_INIT_FILTER         (LIBAVFILTER_VERSION_MAJOR < 4)
+#define FF_API_AVFILTER_INIT_FILTER         (LIBAVFILTER_VERSION_MAJOR < 5)
 #endif
 #ifndef FF_API_OLD_FILTER_REGISTER
-#define FF_API_OLD_FILTER_REGISTER          (LIBAVFILTER_VERSION_MAJOR < 4)
+#define FF_API_OLD_FILTER_REGISTER          (LIBAVFILTER_VERSION_MAJOR < 5)
 #endif
 #ifndef FF_API_OLD_GRAPH_PARSE
-#define FF_API_OLD_GRAPH_PARSE              (LIBAVFILTER_VERSION_MAJOR < 4)
+#define FF_API_OLD_GRAPH_PARSE              (LIBAVFILTER_VERSION_MAJOR < 5)
 #endif
 #ifndef FF_API_DRAWTEXT_OLD_TIMELINE
-#define FF_API_DRAWTEXT_OLD_TIMELINE        (LIBAVFILTER_VERSION_MAJOR < 4)
+#define FF_API_DRAWTEXT_OLD_TIMELINE        (LIBAVFILTER_VERSION_MAJOR < 5)
 #endif
 #ifndef FF_API_NOCONST_GET_NAME
-#define FF_API_NOCONST_GET_NAME             (LIBAVFILTER_VERSION_MAJOR < 4)
+#define FF_API_NOCONST_GET_NAME             (LIBAVFILTER_VERSION_MAJOR < 5)
+#endif
+#ifndef FF_API_INTERLACE_LOWPASS_SET
+#define FF_API_INTERLACE_LOWPASS_SET        (LIBAVFILTER_VERSION_MAJOR < 5)
 #endif
 
 #endif /* AVFILTER_VERSION_H */
index 6bd54cec64d6f06efeb8eff3da300fdb12e5f15c..7839c0adc5b4a281f9e42d84a5204a2a99f9c8ca 100644 (file)
  *
  * @defgroup lavf_encoding Muxing
  * @{
+ * Muxers take encoded data in the form of @ref AVPacket "AVPackets" and write
+ * it into files or other output bytestreams in the specified container format.
+ *
+ * The main API functions for muxing are avformat_write_header() for writing the
+ * file header, av_write_frame() / av_interleaved_write_frame() for writing the
+ * packets and av_write_trailer() for finalizing the file.
+ *
+ * At the beginning of the muxing process, the caller must first call
+ * avformat_alloc_context() to create a muxing context. The caller then sets up
+ * the muxer by filling the various fields in this context:
+ *
+ * - The @ref AVFormatContext.oformat "oformat" field must be set to select the
+ *   muxer that will be used.
+ * - Unless the format is of the AVFMT_NOFILE type, the @ref AVFormatContext.pb
+ *   "pb" field must be set to an opened IO context, either returned from
+ *   avio_open2() or a custom one.
+ * - Unless the format is of the AVFMT_NOSTREAMS type, at least one stream must
+ *   be created with the avformat_new_stream() function. The caller should fill
+ *   the @ref AVStream.codec "stream codec context" information, such as the
+ *   codec @ref AVCodecContext.codec_type "type", @ref AVCodecContext.codec_id
+ *   "id" and other parameters (e.g. width / height, the pixel or sample format,
+ *   etc.) as known. The @ref AVCodecContext.time_base "codec timebase" should
+ *   be set to the timebase that the caller desires to use for this stream (note
+ *   that the timebase actually used by the muxer can be different, as will be
+ *   described later).
+ * - The caller may fill in additional information, such as @ref
+ *   AVFormatContext.metadata "global" or @ref AVStream.metadata "per-stream"
+ *   metadata, @ref AVFormatContext.chapters "chapters", @ref
+ *   AVFormatContext.programs "programs", etc. as described in the
+ *   AVFormatContext documentation. Whether such information will actually be
+ *   stored in the output depends on what the container format and the muxer
+ *   support.
+ *
+ * When the muxing context is fully set up, the caller must call
+ * avformat_write_header() to initialize the muxer internals and write the file
+ * header. Whether anything actually is written to the IO context at this step
+ * depends on the muxer, but this function must always be called. Any muxer
+ * private options must be passed in the options parameter to this function.
+ *
+ * The data is then sent to the muxer by repeatedly calling av_write_frame() or
+ * av_interleaved_write_frame() (consult those functions' documentation for
+ * discussion on the difference between them; only one of them may be used with
+ * a single muxing context, they should not be mixed). Do note that the timing
+ * information on the packets sent to the muxer must be in the corresponding
+ * AVStream's timebase. That timebase is set by the muxer (in the
+ * avformat_write_header() step) and may be different from the timebase the
+ * caller set on the codec context.
+ *
+ * Once all the data has been written, the caller must call av_write_trailer()
+ * to flush any buffered packets and finalize the output file, then close the IO
+ * context (if any) and finally free the muxing context with
+ * avformat_free_context().
  * @}
  *
  * @defgroup lavf_io I/O Read/Write
 
 struct AVFormatContext;
 
+struct AVDeviceInfoList;
 
 /**
  * @defgroup metadata_api Public Metadata API
@@ -290,6 +343,7 @@ struct AVFormatContext;
  * Allocate and read the payload of a packet and initialize its
  * fields with default values.
  *
+ * @param s    associated IO context
  * @param pkt packet
  * @param size desired payload size
  * @return >0 (read size) if OK, AVERROR_xxx otherwise
@@ -305,6 +359,7 @@ int av_get_packet(AVIOContext *s, AVPacket *pkt, int size);
  * when there is no reasonable way to know (an upper bound of)
  * the final size.
  *
+ * @param s    associated IO context
  * @param pkt packet
  * @param size amount of data to read
  * @return >0 (read size) if OK, AVERROR_xxx otherwise, previous data
@@ -338,6 +393,8 @@ typedef struct AVProbeData {
 } AVProbeData;
 
 #define AVPROBE_SCORE_RETRY (AVPROBE_SCORE_MAX/4)
+#define AVPROBE_SCORE_STREAM_RETRY (AVPROBE_SCORE_MAX/4-1)
+
 #define AVPROBE_SCORE_EXTENSION  50 ///< score for file extension
 #define AVPROBE_SCORE_MAX       100 ///< maximum score
 
@@ -453,6 +510,27 @@ typedef struct AVOutputFormat {
 
     void (*get_output_timestamp)(struct AVFormatContext *s, int stream,
                                  int64_t *dts, int64_t *wall);
+    /**
+     * Allows sending messages from application to device.
+     */
+    int (*control_message)(struct AVFormatContext *s, int type,
+                           void *data, size_t data_size);
+
+    /**
+     * Write an uncoded AVFrame.
+     *
+     * See av_write_uncoded_frame() for details.
+     *
+     * The library will free *frame afterwards, but the muxer can prevent it
+     * by setting the pointer to NULL.
+     */
+    int (*write_uncoded_frame)(struct AVFormatContext *, int stream_index,
+                               AVFrame **frame, unsigned flags);
+    /**
+     * Returns device list with it properties.
+     * @see avdevice_list_devices() for more details.
+     */
+    int (*get_device_list)(struct AVFormatContext *s, struct AVDeviceInfoList *device_list);
 } AVOutputFormat;
 /**
  * @}
@@ -581,6 +659,12 @@ typedef struct AVInputFormat {
      * Active streams are all streams that have AVStream.discard < AVDISCARD_ALL.
      */
     int (*read_seek2)(struct AVFormatContext *s, int stream_index, int64_t min_ts, int64_t ts, int64_t max_ts, int flags);
+
+    /**
+     * Returns device list with it properties.
+     * @see avdevice_list_devices() for more details.
+     */
+    int (*get_device_list)(struct AVFormatContext *s, struct AVDeviceInfoList *device_list);
 } AVInputFormat;
 /**
  * @}
@@ -756,9 +840,16 @@ typedef struct AVStream {
         int64_t last_dts;
         int64_t duration_gcd;
         int duration_count;
+        int64_t rfps_duration_sum;
         double (*duration_error)[2][MAX_STD_TIMEBASES];
         int64_t codec_info_duration;
         int64_t codec_info_duration_fields;
+
+        /**
+         * 0  -> decoder has not been searched for yet.
+         * >0 -> decoder found
+         * <0 -> decoder with codec_id == -found_decoder has not been found
+         */
         int found_decoder;
 
         int64_t last_duration;
@@ -892,6 +983,24 @@ typedef struct AVStream {
      */
     int pts_wrap_behavior;
 
+    /**
+     * Internal data to prevent doing update_initial_durations() twice
+     */
+    int update_initial_durations_done;
+
+    /**
+     * Internal data to generate dts from pts
+     */
+    int64_t pts_reorder_error[MAX_REORDER_DELAY+1];
+    uint8_t pts_reorder_error_count[MAX_REORDER_DELAY+1];
+
+    /**
+     * Internal data to analyze DTS and detect faulty mpeg streams
+     */
+    int64_t last_dts_for_order_check;
+    uint8_t dts_ordered;
+    uint8_t dts_misordered;
+
 } AVStream;
 
 AVRational av_stream_get_r_frame_rate(const AVStream *s);
@@ -942,6 +1051,13 @@ typedef struct AVChapter {
 } AVChapter;
 
 
+/**
+ * Callback used by devices to communicate with application.
+ */
+typedef int (*av_format_control_message)(struct AVFormatContext *s, int type,
+                                         void *data, size_t data_size);
+
+
 /**
  * The duration of a video can be estimated through various ways, and this enum can be used
  * to know how the duration was estimated.
@@ -952,6 +1068,8 @@ enum AVDurationEstimationMethod {
     AVFMT_DURATION_FROM_BITRATE ///< Duration estimated from bitrate (less accurate)
 };
 
+typedef struct AVFormatInternal AVFormatInternal;
+
 /**
  * Format I/O context.
  * New fields can be added to the end with minor version bumps.
@@ -962,32 +1080,41 @@ enum AVDurationEstimationMethod {
  */
 typedef struct AVFormatContext {
     /**
-     * A class for logging and AVOptions. Set by avformat_alloc_context().
+     * A class for logging and @ref avoptions. Set by avformat_alloc_context().
      * Exports (de)muxer private options if they exist.
      */
     const AVClass *av_class;
 
     /**
-     * Can only be iformat or oformat, not both at the same time.
+     * The input container format.
      *
-     * decoding: set by avformat_open_input().
-     * encoding: set by the user.
+     * Demuxing only, set by avformat_open_input().
      */
     struct AVInputFormat *iformat;
+
+    /**
+     * The output container format.
+     *
+     * Muxing only, must be set by the caller before avformat_write_header().
+     */
     struct AVOutputFormat *oformat;
 
     /**
      * Format private data. This is an AVOptions-enabled struct
      * if and only if iformat/oformat.priv_class is not NULL.
+     *
+     * - muxing: set by avformat_write_header()
+     * - demuxing: set by avformat_open_input()
      */
     void *priv_data;
 
     /**
      * I/O context.
      *
-     * decoding: either set by the user before avformat_open_input() (then
-     * the user must close it manually) or set by avformat_open_input().
-     * encoding: set by the user.
+     * - demuxing: either set by the user before avformat_open_input() (then
+     *             the user must close it manually) or set by avformat_open_input().
+     * - muxing: set by the user before avformat_write_header(). The caller must
+     *           take care of closing / freeing the IO context.
      *
      * Do NOT set this field if AVFMT_NOFILE flag is set in
      * iformat/oformat.flags. In such a case, the (de)muxer will handle
@@ -998,37 +1125,54 @@ typedef struct AVFormatContext {
     /* stream info */
     int ctx_flags; /**< Format-specific flags, see AVFMTCTX_xx */
 
+    /**
+     * Number of elements in AVFormatContext.streams.
+     *
+     * Set by avformat_new_stream(), must not be modified by any other code.
+     */
+    unsigned int nb_streams;
     /**
      * A list of all streams in the file. New streams are created with
      * avformat_new_stream().
      *
-     * decoding: streams are created by libavformat in avformat_open_input().
-     * If AVFMTCTX_NOHEADER is set in ctx_flags, then new streams may also
-     * appear in av_read_frame().
-     * encoding: streams are created by the user before avformat_write_header().
+     * - demuxing: streams are created by libavformat in avformat_open_input().
+     *             If AVFMTCTX_NOHEADER is set in ctx_flags, then new streams may also
+     *             appear in av_read_frame().
+     * - muxing: streams are created by the user before avformat_write_header().
+     *
+     * Freed by libavformat in avformat_free_context().
      */
-    unsigned int nb_streams;
     AVStream **streams;
 
-    char filename[1024]; /**< input or output filename */
+    /**
+     * input or output filename
+     *
+     * - demuxing: set by avformat_open_input()
+     * - muxing: may be set by the caller before avformat_write_header()
+     */
+    char filename[1024];
 
     /**
-     * Decoding: position of the first frame of the component, in
+     * Position of the first frame of the component, in
      * AV_TIME_BASE fractional seconds. NEVER set this value directly:
      * It is deduced from the AVStream values.
+     *
+     * Demuxing only, set by libavformat.
      */
     int64_t start_time;
 
     /**
-     * Decoding: duration of the stream, in AV_TIME_BASE fractional
+     * Duration of the stream, in AV_TIME_BASE fractional
      * seconds. Only set this value if you know none of the individual stream
      * durations and also do not set any of them. This is deduced from the
      * AVStream values if not set.
+     *
+     * Demuxing only, set by libavformat.
      */
     int64_t duration;
 
     /**
-     * Decoding: total stream bitrate in bit/s, 0 if not
+     * Total stream bitrate in bit/s, 0 if not
      * available. Never set it directly if the file_size and the
      * duration are known as FFmpeg can compute it automatically.
      */
@@ -1054,13 +1198,16 @@ typedef struct AVFormatContext {
 #define AVFMT_FLAG_KEEP_SIDE_DATA 0x40000 ///< Don't merge side data but keep it separate.
 
     /**
-     * decoding: size of data to probe; encoding: unused.
+     * Maximum size of the data read from input for determining
+     * the input container format.
+     * Demuxing only, set by the caller before avformat_open_input().
      */
     unsigned int probesize;
 
     /**
-     * decoding: maximum time (in AV_TIME_BASE units) during which the input should
-     * be analyzed in avformat_find_stream_info().
+     * Maximum duration (in AV_TIME_BASE units) of the data read
+     * from input in avformat_find_stream_info().
+     * Demuxing only, set by the caller before avformat_find_stream_info().
      */
     int max_analyze_duration;
 
@@ -1095,8 +1242,8 @@ typedef struct AVFormatContext {
      * accurate seeking (depends on demuxer).
      * Demuxers for which a full in-memory index is mandatory will ignore
      * this.
-     * muxing  : unused
-     * demuxing: set by user
+     * - muxing: unused
+     * demuxing: set by user
      */
     unsigned int max_index_size;
 
@@ -1114,41 +1261,49 @@ typedef struct AVFormatContext {
      * in the trailer.  To write chapters in the trailer, nb_chapters
      * must be zero when write_header is called and non-zero when
      * write_trailer is called.
-     * muxing  : set by user
-     * demuxing: set by libavformat
+     * - muxing: set by user
+     * demuxing: set by libavformat
      */
     unsigned int nb_chapters;
     AVChapter **chapters;
 
+    /**
+     * Metadata that applies to the whole file.
+     *
+     * - demuxing: set by libavformat in avformat_open_input()
+     * - muxing: may be set by the caller before avformat_write_header()
+     *
+     * Freed by libavformat in avformat_free_context().
+     */
     AVDictionary *metadata;
 
     /**
      * Start time of the stream in real world time, in microseconds
-     * since the unix epoch (00:00 1st January 1970). That is, pts=0
-     * in the stream was captured at this real world time.
-     * - encoding: Set by user.
-     * - decoding: Unused.
+     * since the Unix epoch (00:00 1st January 1970). That is, pts=0 in the
+     * stream was captured at this real world time.
+     * Muxing only, set by the caller before avformat_write_header().
      */
     int64_t start_time_realtime;
 
     /**
-     * decoding: number of frames used to probe fps
+     * The number of frames used for determining the framerate in
+     * avformat_find_stream_info().
+     * Demuxing only, set by the caller before avformat_find_stream_info().
      */
     int fps_probe_size;
 
     /**
      * Error recognition; higher values will detect more errors but may
      * misdetect some more or less valid parts as errors.
-     * - encoding: unused
-     * - decoding: Set by user.
+     * Demuxing only, set by the caller before avformat_open_input().
      */
     int error_recognition;
 
     /**
      * Custom interrupt callbacks for the I/O layer.
      *
-     * decoding: set by the user before avformat_open_input().
-     * encoding: set by the user before avformat_write_header()
+     * demuxing: set by the user before avformat_open_input().
+     * muxing: set by the user before avformat_write_header()
      * (mainly useful for AVFMT_NOFILE formats). The callback
      * should also be passed to avio_open2() if it's used to
      * open the file.
@@ -1161,6 +1316,24 @@ typedef struct AVFormatContext {
     int debug;
 #define FF_FDEBUG_TS        0x0001
 
+    /**
+     * Maximum buffering duration for interleaving.
+     *
+     * To ensure all the streams are interleaved correctly,
+     * av_interleaved_write_frame() will wait until it has at least one packet
+     * for each stream before actually writing any packets to the output file.
+     * When some streams are "sparse" (i.e. there are large gaps between
+     * successive packets), this can result in excessive buffering.
+     *
+     * This field specifies the maximum difference between the timestamps of the
+     * first and the last packet in the muxing queue, above which libavformat
+     * will output a packet regardless of whether it has queued a packet for all
+     * the streams.
+     *
+     * Muxing only, set by the caller before avformat_write_header().
+     */
+    int64_t max_interleave_delta;
+
     /**
      * Transport stream id.
      * This will be moved into demuxer private options. Thus no API/ABI compatibility
@@ -1235,14 +1408,14 @@ typedef struct AVFormatContext {
     /**
      * Correct single timestamp overflows
      * - encoding: unused
-     * - decoding: Set by user via AVOPtions (NO direct access)
+     * - decoding: Set by user via AVOptions (NO direct access)
      */
     unsigned int correct_ts_overflow;
 
     /**
      * Force seeking to any (also non key) frames.
      * - encoding: unused
-     * - decoding: Set by user via AVOPtions (NO direct access)
+     * - decoding: Set by user via AVOptions (NO direct access)
      */
     int seek2any;
 
@@ -1312,6 +1485,12 @@ typedef struct AVFormatContext {
      */
     AVRational offset_timebase;
 
+    /**
+     * An opaque field for libavformat internal usage.
+     * Must not be accessed in any way by callers.
+     */
+    AVFormatInternal *internal;
+
     /**
      * IO repositioned flag.
      * This is set by avformat when the underlaying IO context read pointer
@@ -1343,6 +1522,31 @@ typedef struct AVFormatContext {
      * Demuxing: Set by user via av_format_set_subtitle_codec (NO direct access).
      */
     AVCodec *subtitle_codec;
+
+    /**
+     * Number of bytes to be written as padding in a metadata header.
+     * Demuxing: Unused.
+     * Muxing: Set by user via av_format_set_metadata_header_padding.
+     */
+    int metadata_header_padding;
+
+    /**
+     * User data.
+     * This is a place for some private data of the user.
+     * Mostly usable with control_message_cb or any future callbacks in device's context.
+     */
+    void *opaque;
+
+    /**
+     * Callback used by devices to communicate with application.
+     */
+    av_format_control_message control_message_cb;
+
+    /**
+     * Output timestamp offset, in microseconds.
+     * Muxing: set by user via AVOptions (NO direct access)
+     */
+    int64_t output_ts_offset;
 } AVFormatContext;
 
 int av_format_get_probe_score(const AVFormatContext *s);
@@ -1352,6 +1556,12 @@ AVCodec * av_format_get_audio_codec(const AVFormatContext *s);
 void      av_format_set_audio_codec(AVFormatContext *s, AVCodec *c);
 AVCodec * av_format_get_subtitle_codec(const AVFormatContext *s);
 void      av_format_set_subtitle_codec(AVFormatContext *s, AVCodec *c);
+int       av_format_get_metadata_header_padding(const AVFormatContext *s);
+void      av_format_set_metadata_header_padding(AVFormatContext *s, int c);
+void *    av_format_get_opaque(const AVFormatContext *s);
+void      av_format_set_opaque(AVFormatContext *s, void *opaque);
+av_format_control_message av_format_get_control_message_cb(const AVFormatContext *s);
+void      av_format_set_control_message_cb(AVFormatContext *s, av_format_control_message callback);
 
 /**
  * Returns the method used to set ctx->duration.
@@ -1465,6 +1675,7 @@ const AVClass *avformat_get_class(void);
  * User is required to call avcodec_close() and avformat_free_context() to
  * clean up the allocation by avformat_new_stream().
  *
+ * @param s media file handle
  * @param c If non-NULL, the AVCodecContext corresponding to the new stream
  * will be initialized to use this codec. This is needed for e.g. codec-specific
  * defaults to be set, so codec should be provided if it is known.
@@ -1522,6 +1733,7 @@ AVInputFormat *av_find_input_format(const char *short_name);
 /**
  * Guess the file format.
  *
+ * @param pd        data to be probed
  * @param is_opened Whether the file is already opened; determines whether
  *                  demuxers with or without AVFMT_NOFILE are probed.
  */
@@ -1530,6 +1742,7 @@ AVInputFormat *av_probe_input_format(AVProbeData *pd, int is_opened);
 /**
  * Guess the file format.
  *
+ * @param pd        data to be probed
  * @param is_opened Whether the file is already opened; determines whether
  *                  demuxers with or without AVFMT_NOFILE are probed.
  * @param score_max A probe score larger that this is required to accept a
@@ -1733,6 +1946,8 @@ int av_read_frame(AVFormatContext *s, AVPacket *pkt);
 /**
  * Seek to the keyframe at timestamp.
  * 'timestamp' in 'stream_index'.
+ *
+ * @param s media file handle
  * @param stream_index If stream_index is (-1), a default
  * stream is selected, and timestamp is automatically converted
  * from AV_TIME_BASE units to the stream specific time_base.
@@ -1760,6 +1975,7 @@ int av_seek_frame(AVFormatContext *s, int stream_index, int64_t timestamp,
  * keyframes (this may not be supported by all demuxers).
  * If flags contain AVSEEK_FLAG_BACKWARD, it is ignored.
  *
+ * @param s media file handle
  * @param stream_index index of the stream which is used as time base reference
  * @param min_ts smallest acceptable timestamp
  * @param ts target timestamp
@@ -1859,49 +2075,108 @@ int avformat_write_header(AVFormatContext *s, AVDictionary **options);
 /**
  * Write a packet to an output media file.
  *
- * The packet shall contain one audio or video frame.
- * The packet must be correctly interleaved according to the container
- * specification, if not then av_interleaved_write_frame must be used.
+ * This function passes the packet directly to the muxer, without any buffering
+ * or reordering. The caller is responsible for correctly interleaving the
+ * packets if the format requires it. Callers that want libavformat to handle
+ * the interleaving should call av_interleaved_write_frame() instead of this
+ * function.
  *
  * @param s media file handle
- * @param pkt The packet, which contains the stream_index, buf/buf_size,
- *            dts/pts, ...
- *            This can be NULL (at any time, not just at the end), in
- *            order to immediately flush data buffered within the muxer,
- *            for muxers that buffer up data internally before writing it
- *            to the output.
+ * @param pkt The packet containing the data to be written. Note that unlike
+ *            av_interleaved_write_frame(), this function does not take
+ *            ownership of the packet passed to it (though some muxers may make
+ *            an internal reference to the input packet).
+ *            <br>
+ *            This parameter can be NULL (at any time, not just at the end), in
+ *            order to immediately flush data buffered within the muxer, for
+ *            muxers that buffer up data internally before writing it to the
+ *            output.
+ *            <br>
+ *            Packet's @ref AVPacket.stream_index "stream_index" field must be
+ *            set to the index of the corresponding stream in @ref
+ *            AVFormatContext.streams "s->streams". It is very strongly
+ *            recommended that timing information (@ref AVPacket.pts "pts", @ref
+ *            AVPacket.dts "dts", @ref AVPacket.duration "duration") is set to
+ *            correct values.
  * @return < 0 on error, = 0 if OK, 1 if flushed and there is no more data to flush
+ *
+ * @see av_interleaved_write_frame()
  */
 int av_write_frame(AVFormatContext *s, AVPacket *pkt);
 
 /**
  * Write a packet to an output media file ensuring correct interleaving.
  *
- * The packet must contain one audio or video frame.
- * If the packets are already correctly interleaved, the application should
- * call av_write_frame() instead as it is slightly faster. It is also important
- * to keep in mind that completely non-interleaved input will need huge amounts
- * of memory to interleave with this, so it is preferable to interleave at the
- * demuxer level.
+ * This function will buffer the packets internally as needed to make sure the
+ * packets in the output file are properly interleaved in the order of
+ * increasing dts. Callers doing their own interleaving should call
+ * av_write_frame() instead of this function.
  *
  * @param s media file handle
- * @param pkt The packet containing the data to be written. pkt->buf must be set
- * to a valid AVBufferRef describing the packet data. Libavformat takes
- * ownership of this reference and will unref it when it sees fit. The caller
- * must not access the data through this reference after this function returns.
- * This can be NULL (at any time, not just at the end), to flush the
- * interleaving queues.
- * Packet's @ref AVPacket.stream_index "stream_index" field must be set to the
- * index of the corresponding stream in @ref AVFormatContext.streams
- * "s.streams".
- * It is very strongly recommended that timing information (@ref AVPacket.pts
- * "pts", @ref AVPacket.dts "dts" @ref AVPacket.duration "duration") is set to
- * correct values.
- *
- * @return 0 on success, a negative AVERROR on error.
+ * @param pkt The packet containing the data to be written.
+ *            <br>
+ *            If the packet is reference-counted, this function will take
+ *            ownership of this reference and unreference it later when it sees
+ *            fit.
+ *            The caller must not access the data through this reference after
+ *            this function returns. If the packet is not reference-counted,
+ *            libavformat will make a copy.
+ *            <br>
+ *            This parameter can be NULL (at any time, not just at the end), to
+ *            flush the interleaving queues.
+ *            <br>
+ *            Packet's @ref AVPacket.stream_index "stream_index" field must be
+ *            set to the index of the corresponding stream in @ref
+ *            AVFormatContext.streams "s->streams". It is very strongly
+ *            recommended that timing information (@ref AVPacket.pts "pts", @ref
+ *            AVPacket.dts "dts", @ref AVPacket.duration "duration") is set to
+ *            correct values.
+ *
+ * @return 0 on success, a negative AVERROR on error. Libavformat will always
+ *         take care of freeing the packet, even if this function fails.
+ *
+ * @see av_write_frame(), AVFormatContext.max_interleave_delta
  */
 int av_interleaved_write_frame(AVFormatContext *s, AVPacket *pkt);
 
+/**
+ * Write a uncoded frame to an output media file.
+ *
+ * The frame must be correctly interleaved according to the container
+ * specification; if not, then av_interleaved_write_frame() must be used.
+ *
+ * See av_interleaved_write_frame() for details.
+ */
+int av_write_uncoded_frame(AVFormatContext *s, int stream_index,
+                           AVFrame *frame);
+
+/**
+ * Write a uncoded frame to an output media file.
+ *
+ * If the muxer supports it, this function allows to write an AVFrame
+ * structure directly, without encoding it into a packet.
+ * It is mostly useful for devices and similar special muxers that use raw
+ * video or PCM data and will not serialize it into a byte stream.
+ *
+ * To test whether it is possible to use it with a given muxer and stream,
+ * use av_write_uncoded_frame_query().
+ *
+ * The caller gives up ownership of the frame and must not access it
+ * afterwards.
+ *
+ * @return  >=0 for success, a negative code on error
+ */
+int av_interleaved_write_uncoded_frame(AVFormatContext *s, int stream_index,
+                                       AVFrame *frame);
+
+/**
+ * Test whether a muxer supports uncoded frame.
+ *
+ * @return  >=0 if an uncoded frame can be written to that muxer and stream,
+ *          <0 if not
+ */
+int av_write_uncoded_frame_query(AVFormatContext *s, int stream_index);
+
 /**
  * Write the stream trailer to an output media file and free the
  * file private data.
@@ -2025,6 +2300,7 @@ void av_pkt_dump_log2(void *avcl, int level, AVPacket *pkt, int dump_payload,
  *
  * @param tags list of supported codec_id-codec_tag pairs, as stored
  * in AVInputFormat.codec_tag and AVOutputFormat.codec_tag
+ * @param tag  codec tag to match to a codec ID
  */
 enum AVCodecID av_codec_get_id(const struct AVCodecTag * const *tags, unsigned int tag);
 
@@ -2034,6 +2310,7 @@ enum AVCodecID av_codec_get_id(const struct AVCodecTag * const *tags, unsigned i
  *
  * @param tags list of supported codec_id-codec_tag pairs, as stored
  * in AVInputFormat.codec_tag and AVOutputFormat.codec_tag
+ * @param id   codec ID to match to a codec tag
  */
 unsigned int av_codec_get_tag(const struct AVCodecTag * const *tags, enum AVCodecID id);
 
@@ -2053,6 +2330,9 @@ int av_find_default_stream_index(AVFormatContext *s);
 
 /**
  * Get the index for a specific timestamp.
+ *
+ * @param st        stream that the timestamp belongs to
+ * @param timestamp timestamp to retrieve the index for
  * @param flags if AVSEEK_FLAG_BACKWARD then the returned index will correspond
  *                 to the timestamp which is <= the requested one, if backward
  *                 is 0, then it will be >=
@@ -2149,6 +2429,7 @@ int av_sdp_create(AVFormatContext *ac[], int n_files, char *buf, int size);
  * Return a positive value if the given filename has one of the given
  * extensions, 0 otherwise.
  *
+ * @param filename   file name to check against the given extensions
  * @param extensions a comma-separated list of filename extensions
  */
 int av_match_ext(const char *filename, const char *extensions);
@@ -2156,6 +2437,8 @@ int av_match_ext(const char *filename, const char *extensions);
 /**
  * Test if the given container can store a codec.
  *
+ * @param ofmt           container to check for compatibility
+ * @param codec_id       codec to potentially store in container
  * @param std_compliance standards compliance level, one of FF_COMPLIANCE_*
  *
  * @return 1 if codec with ID codec_id can be stored in ofmt, 0 if it cannot.
@@ -2183,6 +2466,14 @@ const struct AVCodecTag *avformat_get_riff_video_tags(void);
  * @return the table mapping RIFF FourCCs for audio to AVCodecID.
  */
 const struct AVCodecTag *avformat_get_riff_audio_tags(void);
+/**
+ * @return the table mapping MOV FourCCs for video to libavcodec AVCodecID.
+ */
+const struct AVCodecTag *avformat_get_mov_video_tags(void);
+/**
+ * @return the table mapping MOV FourCCs for audio to AVCodecID.
+ */
+const struct AVCodecTag *avformat_get_mov_audio_tags(void);
 
 /**
  * @}
index 4f4ac3cbaf961a440d7c68822dd4c050948dc6f4..defd6172bc631bace5ae2c5dff24c15a8378febb 100644 (file)
@@ -150,6 +150,15 @@ typedef struct AVIOContext {
 
 /* unbuffered I/O */
 
+/**
+ * Return the name of the protocol that will handle the passed URL.
+ *
+ * NULL is returned if no protocol could be found for the given URL.
+ *
+ * @return Name of the protocol or NULL.
+ */
+const char *avio_find_protocol_name(const char *url);
+
 /**
  * Return AVIO_FLAG_* access flags corresponding to the access permissions
  * of the resource in url, or a negative value corresponding to an
@@ -366,6 +375,7 @@ int avio_get_str16be(AVIOContext *pb, int maxlen, char *buf, int buflen);
  *
  * @param s Used to return the pointer to the created AVIOContext.
  * In case of failure the pointed to value is set to NULL.
+ * @param url resource to access
  * @param flags flags which control how the resource indicated by url
  * is to be opened
  * @return >= 0 in case of success, a negative value corresponding to an
@@ -381,6 +391,7 @@ int avio_open(AVIOContext **s, const char *url, int flags);
  *
  * @param s Used to return the pointer to the created AVIOContext.
  * In case of failure the pointed to value is set to NULL.
+ * @param url resource to access
  * @param flags flags which control how the resource indicated by url
  * is to be opened
  * @param int_cb an interrupt callback to be used at the protocols level
@@ -454,6 +465,8 @@ const char *avio_enum_protocols(void **opaque, int output);
 /**
  * Pause and resume playing - only meaningful if using a network streaming
  * protocol (e.g. MMS).
+ *
+ * @param h     IO context from which to call the read_pause function pointer
  * @param pause 1 for pause, 0 for resume
  */
 int     avio_pause(AVIOContext *h, int pause);
@@ -461,6 +474,8 @@ int     avio_pause(AVIOContext *h, int pause);
 /**
  * Seek to a given timestamp relative to some component stream.
  * Only meaningful if using a network streaming protocol (e.g. MMS.).
+ *
+ * @param h IO context from which to call the seek function pointers
  * @param stream_index The stream index that the timestamp is relative to.
  *        If stream_index is (-1) the timestamp should be in AV_TIME_BASE
  *        units from the beginning of the presentation.
index 4fe8364ab2077d75da30c298ef616256083e3999..9f0695c86da686c72a35b1ec7ea85491da05dd70 100644 (file)
  * Libavformat version macros
  */
 
-#include "libavutil/avutil.h"
+#include "libavutil/version.h"
 
 #define LIBAVFORMAT_VERSION_MAJOR 55
-#define LIBAVFORMAT_VERSION_MINOR 22
+#define LIBAVFORMAT_VERSION_MINOR 33
 #define LIBAVFORMAT_VERSION_MICRO 100
 
 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
index 882a2b57dc22ac1a1b8e4606a9c4760d51eece63..de2f71d12b62609ff5b7864bb592766801b20f30 100644 (file)
@@ -131,6 +131,20 @@ size_t av_strlcat(char *dst, const char *src, size_t size);
  */
 size_t av_strlcatf(char *dst, size_t size, const char *fmt, ...) av_printf_format(3, 4);
 
+/**
+ * Get the count of continuous non zero chars starting from the beginning.
+ *
+ * @param len maximum number of characters to check in the string, that
+ *            is the maximum value which is returned by the function
+ */
+static inline size_t av_strnlen(const char *s, size_t len)
+{
+    size_t i;
+    for (i = 0; i < len && s[i]; i++)
+        ;
+    return i;
+}
+
 /**
  * Print arguments following specified format into a large enough auto
  * allocated buffer. It is similar to GNU asprintf().
index 5ebda5ed6f402f553c1694d81098c56354ab3a8c..d6566c116362f72a757a0333db2dea1023ff5bb8 100644 (file)
  * @{
  *
  * @}
+ *
+ * @defgroup preproc_misc Preprocessor String Macros
+ *
+ * @{
+ *
+ * @}
  */
 
 
@@ -277,9 +283,9 @@ char av_get_picture_type_char(enum AVPictureType pict_type);
 #include "common.h"
 #include "error.h"
 #include "version.h"
+#include "macros.h"
 #include "mathematics.h"
 #include "rational.h"
-#include "intfloat_readwrite.h"
 #include "log.h"
 #include "pixfmt.h"
 
index 06f654816d80a303eb694c78c944703b2750a5af..f38e1dec83dc89babdd6a6f0bd6532441445699f 100644 (file)
@@ -34,7 +34,9 @@
 
 #include "config.h"
 
-#if   ARCH_ARM
+#if   ARCH_AARCH64
+#   include "aarch64/bswap.h"
+#elif ARCH_ARM
 #   include "arm/bswap.h"
 #elif ARCH_AVR32
 #   include "avr32/bswap.h"
index ba4f96d2d04dfd215d0c07a4a7feb05f589edfa5..bc6befd8e386e7e088f22a154bfebafc52fcea90 100644 (file)
@@ -114,6 +114,10 @@ enum AVMatrixEncoding {
     AV_MATRIX_ENCODING_NONE,
     AV_MATRIX_ENCODING_DOLBY,
     AV_MATRIX_ENCODING_DPLII,
+    AV_MATRIX_ENCODING_DPLIIX,
+    AV_MATRIX_ENCODING_DPLIIZ,
+    AV_MATRIX_ENCODING_DOLBYEX,
+    AV_MATRIX_ENCODING_DOLBYHEADPHONE,
     AV_MATRIX_ENCODING_NB
 };
 
index 55c3ec9a06fce2694780ebb67e43a6c7a32070b3..0ad400fefb822dab62b0ef9a8d7c765dfe40b568 100644 (file)
@@ -51,6 +51,9 @@
 // #define AV_CPU_FLAG_CMOV         0x1000 ///< supports cmov instruction
 // #endif
 #define AV_CPU_FLAG_AVX2         0x8000 ///< AVX2 functions: requires OS support even if YMM registers aren't used
+#define AV_CPU_FLAG_FMA3        0x10000 ///< Haswell FMA3 functions
+#define AV_CPU_FLAG_BMI1        0x20000 ///< Bit Manipulation Instruction Set 1
+#define AV_CPU_FLAG_BMI2        0x40000 ///< Bit Manipulation Instruction Set 2
 
 #define AV_CPU_FLAG_ALTIVEC      0x0001 ///< standard
 
index 1dfc5a6443a59f9cd4db6c67e0ba4d26d55f8f77..c23a2d12cb5dd27979501b1d00d61740f1714c01 100644 (file)
  * entries and finally av_dict_free() to free the dictionary
  * and all its contents.
  *
@code
* AVDictionary *d = NULL;                // "create" an empty dictionary
- * av_dict_set(&d, "foo", "bar", 0);      // add an entry
- *
- * char *k = av_strdup("key");            // if your strings are already allocated,
- * char *v = av_strdup("value");          // you can avoid copying them like this
- * av_dict_set(&d, k, v, AV_DICT_DONT_STRDUP_KEY | AV_DICT_DONT_STRDUP_VAL);
- *
* AVDictionaryEntry *t = NULL;
- * while (t = av_dict_get(d, "", t, AV_DICT_IGNORE_SUFFIX)) {
- *     <....>                             // iterate over all entries in d
- * }
- *
* av_dict_free(&d);
@endcode
+ @code
  AVDictionary *d = NULL;           // "create" an empty dictionary
+   AVDictionaryEntry *t = NULL;
+
+   av_dict_set(&d, "foo", "bar", 0); // add an entry
+
+   char *k = av_strdup("key");       // if your strings are already allocated,
+   char *v = av_strdup("value");     // you can avoid copying them like this
  av_dict_set(&d, k, v, AV_DICT_DONT_STRDUP_KEY | AV_DICT_DONT_STRDUP_VAL);
+
+   while (t = av_dict_get(d, "", t, AV_DICT_IGNORE_SUFFIX)) {
+       <....>                             // iterate over all entries in d
+   }
  av_dict_free(&d);
+ @endcode
  *
  */
 
@@ -85,14 +85,17 @@ typedef struct AVDictionary AVDictionary;
 /**
  * Get a dictionary entry with matching key.
  *
+ * The returned entry key or value must not be changed, or it will
+ * cause undefined behavior.
+ *
  * To iterate through all the dictionary entries, you can set the matching key
  * to the null string "" and set the AV_DICT_IGNORE_SUFFIX flag.
  *
  * @param prev Set to the previous matching element to find the next.
  *             If set to NULL the first matching element is returned.
  * @param key matching key
- * @param flags Allows case as well as suffix-insensitive comparisons.
- * @return Found entry or NULL, changing key or value leads to undefined behavior.
+ * @param flags a collection of AV_DICT_* flags controlling how the entry is retrieved
+ * @return found entry or NULL in case no matching entry was found in the dictionary
  */
 AVDictionaryEntry *
 av_dict_get(AVDictionary *m, const char *key, const AVDictionaryEntry *prev, int flags);
diff --git a/dependencies/ffmpeg/include/libavutil/downmix_info.h b/dependencies/ffmpeg/include/libavutil/downmix_info.h
new file mode 100644 (file)
index 0000000..c369891
--- /dev/null
@@ -0,0 +1,114 @@
+/*
+ * Copyright (c) 2014 Tim Walker <tdskywalker@gmail.com>
+ *
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef AVUTIL_DOWNMIX_INFO_H
+#define AVUTIL_DOWNMIX_INFO_H
+
+#include "frame.h"
+
+/**
+ * @file
+ * audio downmix medatata
+ */
+
+/**
+ * @addtogroup lavu_audio
+ * @{
+ */
+
+/**
+ * @defgroup downmix_info Audio downmix metadata
+ * @{
+ */
+
+/**
+ * Possible downmix types.
+ */
+enum AVDownmixType {
+    AV_DOWNMIX_TYPE_UNKNOWN, /**< Not indicated. */
+    AV_DOWNMIX_TYPE_LORO,    /**< Lo/Ro 2-channel downmix (Stereo). */
+    AV_DOWNMIX_TYPE_LTRT,    /**< Lt/Rt 2-channel downmix, Dolby Surround compatible. */
+    AV_DOWNMIX_TYPE_DPLII,   /**< Lt/Rt 2-channel downmix, Dolby Pro Logic II compatible. */
+    AV_DOWNMIX_TYPE_NB       /**< Number of downmix types. Not part of ABI. */
+};
+
+/**
+ * This structure describes optional metadata relevant to a downmix procedure.
+ *
+ * All fields are set by the decoder to the value indicated in the audio
+ * bitstream (if present), or to a "sane" default otherwise.
+ */
+typedef struct AVDownmixInfo {
+    /**
+     * Type of downmix preferred by the mastering engineer.
+     */
+    enum AVDownmixType preferred_downmix_type;
+
+    /**
+     * Absolute scale factor representing the nominal level of the center
+     * channel during a regular downmix.
+     */
+    double center_mix_level;
+
+    /**
+     * Absolute scale factor representing the nominal level of the center
+     * channel during an Lt/Rt compatible downmix.
+     */
+    double center_mix_level_ltrt;
+
+    /**
+     * Absolute scale factor representing the nominal level of the surround
+     * channels during a regular downmix.
+     */
+    double surround_mix_level;
+
+    /**
+     * Absolute scale factor representing the nominal level of the surround
+     * channels during an Lt/Rt compatible downmix.
+     */
+    double surround_mix_level_ltrt;
+
+    /**
+     * Absolute scale factor representing the level at which the LFE data is
+     * mixed into L/R channels during downmixing.
+     */
+    double lfe_mix_level;
+} AVDownmixInfo;
+
+/**
+ * Get a frame's AV_FRAME_DATA_DOWNMIX_INFO side data for editing.
+ *
+ * The side data is created and added to the frame if it's absent.
+ *
+ * @param frame the frame for which the side data is to be obtained.
+ *
+ * @return the AVDownmixInfo structure to be edited by the caller.
+ */
+AVDownmixInfo *av_downmix_info_update_side_data(AVFrame *frame);
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+#endif /* AVUTIL_DOWNMIX_INFO_H */
index ff40f358d31dc9af32062e7791cba3ef0da2eec9..58a021936025af36f0944b63e01a0c54b7cbe7b7 100644 (file)
@@ -1,4 +1,4 @@
 #ifndef AVUTIL_FFVERSION_H
 #define AVUTIL_FFVERSION_H
-#define FFMPEG_VERSION "N-59112-gec13849"
+#define FFMPEG_VERSION "2.2.3"
 #endif /* AVUTIL_FFVERSION_H */
index b31cc3ec4cb72f7fc24bc422eaaed903fd7dcd2c..9fedba8635f152e446f01beeb632fd703f1411f9 100644 (file)
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+/**
+ * @file
+ * @ingroup lavu_frame
+ * reference-counted frame API
+ */
+
 #ifndef AVUTIL_FRAME_H
 #define AVUTIL_FRAME_H
 
 #include <stdint.h>
 
-#include "libavcodec/version.h"
-
 #include "avutil.h"
 #include "buffer.h"
 #include "dict.h"
 #include "rational.h"
 #include "samplefmt.h"
+#include "version.h"
+
 
 enum AVColorSpace{
     AVCOL_SPC_RGB         =  0,
@@ -53,6 +59,14 @@ enum AVColorRange{
 };
 
 
+/**
+ * @defgroup lavu_frame AVFrame
+ * @ingroup lavu_data
+ *
+ * @{
+ * AVFrame is an abstraction for reference-counted raw multimedia data.
+ */
+
 enum AVFrameSideDataType {
     /**
      * The data is the AVPanScan struct defined in libavcodec.
@@ -69,6 +83,15 @@ enum AVFrameSideDataType {
      * The data is the AVStereo3D struct defined in libavutil/stereo3d.h.
      */
     AV_FRAME_DATA_STEREO3D,
+    /**
+     * The data is the AVMatrixEncoding enum defined in libavutil/channel_layout.h.
+     */
+    AV_FRAME_DATA_MATRIXENCODING,
+    /**
+     * Metadata relevant to a downmix procedure.
+     * The data is the AVDownmixInfo struct defined in libavutil/downmix_info.h.
+     */
+    AV_FRAME_DATA_DOWNMIX_INFO,
 };
 
 typedef struct AVFrameSideData {
@@ -400,13 +423,23 @@ typedef struct AVFrame {
     AVFrameSideData **side_data;
     int            nb_side_data;
 
+/**
+ * @defgroup lavu_frame_flags AV_FRAME_FLAGS
+ * Flags describing additional frame properties.
+ *
+ * @{
+ */
+
 /**
  * The frame data may be corrupted, e.g. due to decoding errors.
  */
 #define AV_FRAME_FLAG_CORRUPT       (1 << 0)
+/**
+ * @}
+ */
 
     /**
-     * Frame flags, a combination of AV_FRAME_FLAG_*
+     * Frame flags, a combination of @ref lavu_frame_flags
      */
     int flags;
 
@@ -563,7 +596,7 @@ AVFrame *av_frame_alloc(void);
 void av_frame_free(AVFrame **frame);
 
 /**
- * Setup a new reference to the data described by a given frame.
+ * Set up a new reference to the data described by the source frame.
  *
  * Copy frame properties from src to dst and create a new reference for each
  * AVBufferRef from src.
@@ -640,6 +673,19 @@ int av_frame_is_writable(AVFrame *frame);
  */
 int av_frame_make_writable(AVFrame *frame);
 
+/**
+ * Copy the frame data from src to dst.
+ *
+ * This function does not allocate anything, dst must be already initialized and
+ * allocated with the same parameters as src.
+ *
+ * This function only copies the frame data (i.e. the contents of the data /
+ * extended data arrays), not any other properties.
+ *
+ * @return >= 0 on success, a negative AVERROR on error.
+ */
+int av_frame_copy(AVFrame *dst, const AVFrame *src);
+
 /**
  * Copy only "metadata" fields from src to dst.
  *
@@ -680,4 +726,8 @@ AVFrameSideData *av_frame_new_side_data(AVFrame *frame,
 AVFrameSideData *av_frame_get_side_data(const AVFrame *frame,
                                         enum AVFrameSideDataType type);
 
+/**
+ * @}
+ */
+
 #endif /* AVUTIL_FRAME_H */
index 55459e811a0dfcb50cf9a912f7114d0e22791c05..5fb476f948b765a9ea03e2ee93604c641098570c 100644 (file)
@@ -260,9 +260,10 @@ void av_log_set_callback(void (*callback)(void*, int, const char*, va_list));
  *        lavu_log_constants "Logging Constant".
  * @param fmt The format string (printf-compatible) that specifies how
  *        subsequent arguments are converted to output.
- * @param ap The arguments referenced by the format string.
+ * @param vl The arguments referenced by the format string.
  */
-void av_log_default_callback(void* ptr, int level, const char* fmt, va_list vl);
+void av_log_default_callback(void *avcl, int level, const char *fmt,
+                             va_list vl);
 
 /**
  * Return the context name
diff --git a/dependencies/ffmpeg/include/libavutil/macros.h b/dependencies/ffmpeg/include/libavutil/macros.h
new file mode 100644 (file)
index 0000000..4465323
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+/**
+ * @file
+ * @ingroup lavu
+ * Utility Preprocessor macros
+ */
+
+#ifndef AVUTIL_MACROS_H
+#define AVUTIL_MACROS_H
+
+/**
+ * @addtogroup preproc_misc Preprocessor String Macros
+ *
+ * String manipulation macros
+ *
+ * @{
+ */
+
+#define AV_STRINGIFY(s)         AV_TOSTRING(s)
+#define AV_TOSTRING(s) #s
+
+#define AV_GLUE(a, b) a ## b
+#define AV_JOIN(a, b) AV_GLUE(a, b)
+
+/**
+ * @}
+ */
+
+#define AV_PRAGMA(s) _Pragma(#s)
+
+#endif /* AVUTIL_MACROS_H */
index 71f0392218d71fdbf6fc630681949a5ecaaf9298..88739e80b8fcb6416345d96b8c9e6aa6e49861d9 100644 (file)
@@ -45,6 +45,9 @@
 #ifndef M_PI
 #define M_PI           3.14159265358979323846  /* pi */
 #endif
+#ifndef M_PI_2
+#define M_PI_2         1.57079632679489661923  /* pi/2 */
+#endif
 #ifndef M_SQRT1_2
 #define M_SQRT1_2      0.70710678118654752440  /* 1/sqrt(2) */
 #endif
@@ -133,14 +136,28 @@ int64_t av_compare_mod(uint64_t a, uint64_t b, uint64_t mod);
  * Rescale a timestamp while preserving known durations.
  *
  * @param in_ts Input timestamp
- * @param in_tb Input timesbase
+ * @param in_tb Input timebase
  * @param fs_tb Duration and *last timebase
  * @param duration duration till the next call
- * @param out_tb Output timesbase
+ * @param out_tb Output timebase
  */
 int64_t av_rescale_delta(AVRational in_tb, int64_t in_ts,  AVRational fs_tb, int duration, int64_t *last, AVRational out_tb);
 
 /**
+ * Add a value to a timestamp.
+ *
+ * This function gurantees that when the same value is repeatly added that
+ * no accumulation of rounding errors occurs.
+ *
+ * @param ts Input timestamp
+ * @param ts_tb Input timestamp timebase
+ * @param inc value to add to ts
+ * @param inc_tb inc timebase
+ */
+int64_t av_add_stable(AVRational ts_tb, int64_t ts, AVRational inc_tb, int64_t inc);
+
+
+    /**
  * @}
  */
 
index 14faa6e066ee747fdfa1dbf750a749feb6e07101..cd1b18e4c0b6ea716acc46f6be8e4547aa184780 100644 (file)
@@ -282,10 +282,21 @@ typedef struct AVOption {
     int flags;
 #define AV_OPT_FLAG_ENCODING_PARAM  1   ///< a generic parameter which can be set by the user for muxing or encoding
 #define AV_OPT_FLAG_DECODING_PARAM  2   ///< a generic parameter which can be set by the user for demuxing or decoding
+#if FF_API_OPT_TYPE_METADATA
 #define AV_OPT_FLAG_METADATA        4   ///< some data extracted or inserted into the file like title, comment, ...
+#endif
 #define AV_OPT_FLAG_AUDIO_PARAM     8
 #define AV_OPT_FLAG_VIDEO_PARAM     16
 #define AV_OPT_FLAG_SUBTITLE_PARAM  32
+/**
+ * The option is inteded for exporting values to the caller.
+ */
+#define AV_OPT_FLAG_EXPORT          64
+/**
+ * The option may not be set through the AVOptions API, only read.
+ * This flag only makes sense when AV_OPT_FLAG_EXPORT is also set.
+ */
+#define AV_OPT_FLAG_READONLY        128
 #define AV_OPT_FLAG_FILTERING_PARAM (1<<16) ///< a generic parameter which can be set by the user for filtering
 //FIXME think about enc-audio, ... style flags
 
index 3d32d3eec97ba76ee1230d8bbc79d0f5abe7c88f..9418c4a2b9844c8e53ea3bc9be4503d5e96a823a 100644 (file)
@@ -83,6 +83,7 @@ enum AVPixelFormat {
 #if FF_API_XVMC
     AV_PIX_FMT_XVMC_MPEG2_MC,///< XVideo Motion Acceleration via common packet passing
     AV_PIX_FMT_XVMC_MPEG2_IDCT,
+#define AV_PIX_FMT_XVMC AV_PIX_FMT_XVMC_MPEG2_IDCT
 #endif /* FF_API_XVMC */
     AV_PIX_FMT_UYVY422,   ///< packed YUV 4:2:2, 16bpp, Cb Y0 Cr Y1
     AV_PIX_FMT_UYYVYY411, ///< packed YUV 4:1:1, 12bpp, Cb Y0 Y1 Cr Y2 Y3
@@ -262,6 +263,9 @@ enum AVPixelFormat {
     AV_PIX_FMT_BAYER_GBRG16BE, ///< bayer, GBGB..(odd line), RGRG..(even line), 16-bit samples, big-endian */
     AV_PIX_FMT_BAYER_GRBG16LE, ///< bayer, GRGR..(odd line), BGBG..(even line), 16-bit samples, little-endian */
     AV_PIX_FMT_BAYER_GRBG16BE, ///< bayer, GRGR..(odd line), BGBG..(even line), 16-bit samples, big-endian */
+#if !FF_API_XVMC
+    AV_PIX_FMT_XVMC,///< XVideo Motion Acceleration via common packet passing
+#endif /* !FF_API_XVMC */
 
     AV_PIX_FMT_NB,        ///< number of pixel formats, DO NOT USE THIS if you want to link with shared libav* because the number of formats might differ between versions
 
index b9800ee3600445e7e41902f1b97e9dfef61d3f8b..7439701db23667fff7faa6a844fe4640a50dd731 100644 (file)
@@ -45,6 +45,17 @@ typedef struct AVRational{
     int den; ///< denominator
 } AVRational;
 
+/**
+ * Create a rational.
+ * Useful for compilers that do not support compound literals.
+ * @note  The return value is not reduced.
+ */
+static inline AVRational av_make_q(int num, int den)
+{
+    AVRational r = { num, den };
+    return r;
+}
+
 /**
  * Compare two rationals.
  * @param a first rational
index b384ad49afb202364633bf09fa7076b7d4042799..8829da9ff441897e6d0fade95c578ca0898ed7e2 100644 (file)
@@ -140,7 +140,7 @@ AVStereo3D *av_stereo3d_alloc(void);
 /**
  * Allocate a complete AVFrameSideData and add it to the frame.
  *
- * @param The frame on which the side data is added to.
+ * @param frame The frame which side data is added to.
  *
  * @return The AVStereo3D structure to be filled by caller.
  */
index f63a08c579c2716473d6d4860d09c67cc2e34d23..f010a7ee38f008564f9bdff314cd0e7790e1b796 100644 (file)
 
 #include "common.h"
 
+#if defined(__cplusplus) && !defined(__STDC_FORMAT_MACROS) && !defined(PRId64)
+#error missing -D__STDC_FORMAT_MACROS / #define __STDC_FORMAT_MACROS
+#endif
+
 #define AV_TS_MAX_STRING_SIZE 32
 
 /**
index 4c0aed37d276f4895b82b01b1bfde39489feed2e..7f093cd583c93f6d5f1c27d4c476c0722652c19d 100644 (file)
 #ifndef AVUTIL_VERSION_H
 #define AVUTIL_VERSION_H
 
-/**
- * @defgroup preproc_misc Preprocessor String Macros
- *
- * String manipulation macros
- *
- * @{
- */
-
-#define AV_STRINGIFY(s)         AV_TOSTRING(s)
-#define AV_TOSTRING(s) #s
-
-#define AV_GLUE(a, b) a ## b
-#define AV_JOIN(a, b) AV_GLUE(a, b)
-
-#define AV_PRAGMA(s) _Pragma(#s)
-
-/**
- * @}
- */
+#include "macros.h"
 
 /**
  * @defgroup version_utils Library Version Macros
@@ -58,7 +40,6 @@
  * @}
  */
 
-
 /**
  * @file
  * @ingroup lavu
@@ -75,7 +56,7 @@
  */
 
 #define LIBAVUTIL_VERSION_MAJOR  52
-#define LIBAVUTIL_VERSION_MINOR  58
+#define LIBAVUTIL_VERSION_MINOR  66
 #define LIBAVUTIL_VERSION_MICRO 100
 
 #define LIBAVUTIL_VERSION_INT   AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
  */
 
 #ifndef FF_API_GET_BITS_PER_SAMPLE_FMT
-#define FF_API_GET_BITS_PER_SAMPLE_FMT (LIBAVUTIL_VERSION_MAJOR < 53)
+#define FF_API_GET_BITS_PER_SAMPLE_FMT (LIBAVUTIL_VERSION_MAJOR < 54)
 #endif
 #ifndef FF_API_FIND_OPT
-#define FF_API_FIND_OPT                 (LIBAVUTIL_VERSION_MAJOR < 53)
+#define FF_API_FIND_OPT                 (LIBAVUTIL_VERSION_MAJOR < 54)
 #endif
 #ifndef FF_API_OLD_AVOPTIONS
-#define FF_API_OLD_AVOPTIONS            (LIBAVUTIL_VERSION_MAJOR < 53)
+#define FF_API_OLD_AVOPTIONS            (LIBAVUTIL_VERSION_MAJOR < 54)
 #endif
 #ifndef FF_API_PIX_FMT
-#define FF_API_PIX_FMT                  (LIBAVUTIL_VERSION_MAJOR < 53)
+#define FF_API_PIX_FMT                  (LIBAVUTIL_VERSION_MAJOR < 54)
 #endif
 #ifndef FF_API_CONTEXT_SIZE
-#define FF_API_CONTEXT_SIZE             (LIBAVUTIL_VERSION_MAJOR < 53)
+#define FF_API_CONTEXT_SIZE             (LIBAVUTIL_VERSION_MAJOR < 54)
 #endif
 #ifndef FF_API_PIX_FMT_DESC
-#define FF_API_PIX_FMT_DESC             (LIBAVUTIL_VERSION_MAJOR < 53)
+#define FF_API_PIX_FMT_DESC             (LIBAVUTIL_VERSION_MAJOR < 54)
 #endif
 #ifndef FF_API_AV_REVERSE
-#define FF_API_AV_REVERSE               (LIBAVUTIL_VERSION_MAJOR < 53)
+#define FF_API_AV_REVERSE               (LIBAVUTIL_VERSION_MAJOR < 54)
 #endif
 #ifndef FF_API_AUDIOCONVERT
-#define FF_API_AUDIOCONVERT             (LIBAVUTIL_VERSION_MAJOR < 53)
+#define FF_API_AUDIOCONVERT             (LIBAVUTIL_VERSION_MAJOR < 54)
 #endif
 #ifndef FF_API_CPU_FLAG_MMX2
-#define FF_API_CPU_FLAG_MMX2            (LIBAVUTIL_VERSION_MAJOR < 53)
+#define FF_API_CPU_FLAG_MMX2            (LIBAVUTIL_VERSION_MAJOR < 54)
 #endif
 #ifndef FF_API_SAMPLES_UTILS_RETURN_ZERO
-#define FF_API_SAMPLES_UTILS_RETURN_ZERO (LIBAVUTIL_VERSION_MAJOR < 53)
+#define FF_API_SAMPLES_UTILS_RETURN_ZERO (LIBAVUTIL_VERSION_MAJOR < 54)
 #endif
 #ifndef FF_API_LLS_PRIVATE
-#define FF_API_LLS_PRIVATE              (LIBAVUTIL_VERSION_MAJOR < 53)
+#define FF_API_LLS_PRIVATE              (LIBAVUTIL_VERSION_MAJOR < 54)
 #endif
 #ifndef FF_API_LLS1
-#define FF_API_LLS1                     (LIBAVUTIL_VERSION_MAJOR < 53)
+#define FF_API_LLS1                     (LIBAVUTIL_VERSION_MAJOR < 54)
 #endif
 #ifndef FF_API_AVFRAME_LAVC
-#define FF_API_AVFRAME_LAVC             (LIBAVUTIL_VERSION_MAJOR < 53)
+#define FF_API_AVFRAME_LAVC             (LIBAVUTIL_VERSION_MAJOR < 54)
 #endif
 #ifndef FF_API_VDPAU
-#define FF_API_VDPAU                    (LIBAVUTIL_VERSION_MAJOR < 53)
+#define FF_API_VDPAU                    (LIBAVUTIL_VERSION_MAJOR < 54)
 #endif
 #ifndef FF_API_GET_CHANNEL_LAYOUT_COMPAT
-#define FF_API_GET_CHANNEL_LAYOUT_COMPAT (LIBAVUTIL_VERSION_MAJOR < 53)
+#define FF_API_GET_CHANNEL_LAYOUT_COMPAT (LIBAVUTIL_VERSION_MAJOR < 54)
 #endif
 #ifndef FF_API_OLD_OPENCL
-#define FF_API_OLD_OPENCL               (LIBAVUTIL_VERSION_MAJOR < 53)
+#define FF_API_OLD_OPENCL               (LIBAVUTIL_VERSION_MAJOR < 54)
 #endif
 #ifndef FF_API_XVMC
-#define FF_API_XVMC                     (LIBAVUTIL_VERSION_MAJOR < 53)
+#define FF_API_XVMC                     (LIBAVUTIL_VERSION_MAJOR < 54)
 #endif
 #ifndef FF_API_INTFLOAT
-#define FF_API_INTFLOAT                 (LIBAVUTIL_VERSION_MAJOR < 53)
+#define FF_API_INTFLOAT                 (LIBAVUTIL_VERSION_MAJOR < 54)
+#endif
+#ifndef FF_API_OPT_TYPE_METADATA
+#define FF_API_OPT_TYPE_METADATA        (LIBAVUTIL_VERSION_MAJOR < 54)
 #endif
 
 /**
index 381130184d197c4aab46b503ca5a7a92c302f8e8..4ba008e728ca80eb939ff02be0116d577f6c5d7b 100644 (file)
@@ -165,6 +165,13 @@ struct SwrContext *swr_alloc(void);
  */
 int swr_init(struct SwrContext *s);
 
+/**
+ * Check whether an swr context has been initialized or not.
+ *
+ * @return positive if it has been initialized, 0 if not initialized
+ */
+int swr_is_initialized(struct SwrContext *s);
+
 /**
  * Allocate SwrContext if needed and set/reset common parameters.
  *
index 464c86d74be48bbb067e807bc885290544797fad..3a9287519c61b8ca46918d0e6d0523e320fe8e79 100644 (file)
@@ -29,8 +29,8 @@
 #include "libavutil/avutil.h"
 
 #define LIBSWRESAMPLE_VERSION_MAJOR 0
-#define LIBSWRESAMPLE_VERSION_MINOR 17
-#define LIBSWRESAMPLE_VERSION_MICRO 104
+#define LIBSWRESAMPLE_VERSION_MINOR 18
+#define LIBSWRESAMPLE_VERSION_MICRO 100
 
 #define LIBSWRESAMPLE_VERSION_INT  AV_VERSION_INT(LIBSWRESAMPLE_VERSION_MAJOR, \
                                                   LIBSWRESAMPLE_VERSION_MINOR, \
index 360ec820a90d69ca85e72711cca2af340a3491df..6f82d3d059cf895aaccb619c904c1e23edae4c60 100644 (file)
  * swscale version macros
  */
 
-#include "libavutil/avutil.h"
+#include "libavutil/version.h"
 
 #define LIBSWSCALE_VERSION_MAJOR 2
 #define LIBSWSCALE_VERSION_MINOR 5
-#define LIBSWSCALE_VERSION_MICRO 101
+#define LIBSWSCALE_VERSION_MICRO 102
 
 #define LIBSWSCALE_VERSION_INT  AV_VERSION_INT(LIBSWSCALE_VERSION_MAJOR, \
                                                LIBSWSCALE_VERSION_MINOR, \
index 92cba204eedd56479f74a5386d7f96416606b4c6..ac19976ee1b7b688a7f59be2e5ecb1ca5d9d0926 100644 (file)
@@ -9,6 +9,7 @@ EXPORTS
     av_bitstream_filter_filter
     av_bitstream_filter_init
     av_bitstream_filter_next
+    av_codec_get_chroma_intra_matrix
     av_codec_get_codec_descriptor
     av_codec_get_lowres
     av_codec_get_max_lowres
@@ -17,6 +18,7 @@ EXPORTS
     av_codec_is_decoder
     av_codec_is_encoder
     av_codec_next
+    av_codec_set_chroma_intra_matrix
     av_codec_set_codec_descriptor
     av_codec_set_lowres
     av_codec_set_pkt_timebase
@@ -156,6 +158,7 @@ EXPORTS
     avpriv_aac_parse_header
     avpriv_ac3_channel_layout_tab DATA
     avpriv_ac3_parse_header
+    avpriv_ac3_parse_header2
     avpriv_adx_decode_header
     avpriv_align_put_bits
     avpriv_bprint_to_extradata
@@ -187,6 +190,7 @@ EXPORTS
     avpriv_mjpeg_val_dc DATA
     avpriv_mpa_bitrate_tab DATA
     avpriv_mpa_decode_header
+    avpriv_mpa_decode_header2
     avpriv_mpa_freq_tab DATA
     avpriv_mpeg4audio_get_config
     avpriv_mpeg4audio_sample_rates DATA
index f4cd4ec0ed46b09f4f8d975a125c4b5dddc23069..cff9790e60caa827ff755fb4b2ffd6107e9dae1f 100644 (file)
Binary files a/dependencies/ffmpeg/lib/avcodec.lib and b/dependencies/ffmpeg/lib/avcodec.lib differ
index 7fa3953f0b9878829124162eb6b6f17162ac19f5..1a0e8e42bb49dea2e03baf9ccfe22c823767ec82 100644 (file)
@@ -1,5 +1,9 @@
 EXPORTS
+    avdevice_app_to_dev_control_message
     avdevice_configuration
+    avdevice_dev_to_app_control_message
+    avdevice_free_list_devices
     avdevice_license
+    avdevice_list_devices
     avdevice_register_all
     avdevice_version
index 5488f8e28ed2b4fd0b511b99377b32ee0752a06c..d9927cef697a391e37fcc2b4cd89cf59df13e8ee 100644 (file)
Binary files a/dependencies/ffmpeg/lib/avdevice.lib and b/dependencies/ffmpeg/lib/avdevice.lib differ
index 466a0693a842ac2fd0beb141e6a2c6b2c0772def..4bc72539a349a07ca8280f5164723af6af53144e 100644 (file)
Binary files a/dependencies/ffmpeg/lib/avfilter.lib and b/dependencies/ffmpeg/lib/avfilter.lib differ
index cddc68a57697368d7e66b3b7a0a71c0bc6b9b2e1..6cc2bece702ec0fa2d65176edad33d4e67ae6de7 100644 (file)
@@ -16,10 +16,16 @@ EXPORTS
     av_find_stream_info
     av_fmt_ctx_get_duration_estimation_method
     av_format_get_audio_codec
+    av_format_get_control_message_cb
+    av_format_get_metadata_header_padding
+    av_format_get_opaque
     av_format_get_probe_score
     av_format_get_subtitle_codec
     av_format_get_video_codec
     av_format_set_audio_codec
+    av_format_set_control_message_cb
+    av_format_set_metadata_header_padding
+    av_format_set_opaque
     av_format_set_subtitle_codec
     av_format_set_video_codec
     av_get_frame_filename
@@ -34,6 +40,7 @@ EXPORTS
     av_iformat_next
     av_index_search_timestamp
     av_interleaved_write_frame
+    av_interleaved_write_uncoded_frame
     av_match_ext
     av_new_program
     av_new_stream
@@ -60,6 +67,8 @@ EXPORTS
     av_url_split
     av_write_frame
     av_write_trailer
+    av_write_uncoded_frame
+    av_write_uncoded_frame_query
     avformat_alloc_context
     avformat_alloc_output_context
     avformat_alloc_output_context2
@@ -68,6 +77,8 @@ EXPORTS
     avformat_find_stream_info
     avformat_free_context
     avformat_get_class
+    avformat_get_mov_audio_tags
+    avformat_get_mov_video_tags
     avformat_get_riff_audio_tags
     avformat_get_riff_video_tags
     avformat_license
@@ -87,6 +98,7 @@ EXPORTS
     avio_close_dyn_buf
     avio_closep
     avio_enum_protocols
+    avio_find_protocol_name
     avio_flush
     avio_get_str
     avio_get_str16be
@@ -145,6 +157,7 @@ EXPORTS
     ffurl_seek
     ffurl_size
     ffurl_write
+    get_codec_guid
     get_crc_table
     get_extension
     url_feof
index 8397addf145ed5df0c90cc6b2f9f2172c8b166e3..7c3850540502fa184ab45f065d215368d3bd7605 100644 (file)
Binary files a/dependencies/ffmpeg/lib/avformat.lib and b/dependencies/ffmpeg/lib/avformat.lib differ
index 1967b82c20264a73cba8cf9aa63bc0d5b095aa63..c523e4ee307890d7c80939d55c818e63f5ffefc8 100644 (file)
@@ -1,5 +1,6 @@
 EXPORTS
     av_add_q
+    av_add_stable
     av_adler32_update
     av_aes_alloc
     av_aes_crypt
@@ -73,6 +74,7 @@ EXPORTS
     av_dict_set
     av_dirname
     av_div_q
+    av_downmix_info_update_side_data
     av_dynarray2_add
     av_dynarray_add
     av_escape
@@ -104,6 +106,7 @@ EXPORTS
     av_force_cpu_flags
     av_frame_alloc
     av_frame_clone
+    av_frame_copy
     av_frame_copy_props
     av_frame_free
     av_frame_get_best_effort_timestamp
index cc2adad25f9bc8d996891b79fed7c7eaef901a86..3f259493121278339627979d435c810e1afa63f5 100644 (file)
Binary files a/dependencies/ffmpeg/lib/avutil.lib and b/dependencies/ffmpeg/lib/avutil.lib differ
index bb6d307914298f394a4d7c89eccbb481ba0dd30d..cca6b0d0e204a9918b9a3a64bcf2d94d3f8ebd9d 100644 (file)
Binary files a/dependencies/ffmpeg/lib/libavcodec.dll.a and b/dependencies/ffmpeg/lib/libavcodec.dll.a differ
index c4619c029f4ed707b223448768602cffbee355bc..cf70f6b788c9dd56aa3220123c632c3626488522 100644 (file)
Binary files a/dependencies/ffmpeg/lib/libavdevice.dll.a and b/dependencies/ffmpeg/lib/libavdevice.dll.a differ
index c71e9b1a33d56655aaca5519ab7bcae175819bdc..2d39fed9efbfb24da0accf0c2ae50802a71045d0 100644 (file)
Binary files a/dependencies/ffmpeg/lib/libavfilter.dll.a and b/dependencies/ffmpeg/lib/libavfilter.dll.a differ
index f52cc92a272675940ce21d0db57687504cb56300..c20351d7ff6b243b840bec156f9838ba9ea52a88 100644 (file)
Binary files a/dependencies/ffmpeg/lib/libavformat.dll.a and b/dependencies/ffmpeg/lib/libavformat.dll.a differ
index 6d6c883d55614cbd399c752b165541e08b8dcfb1..37a951e5b92f2a121ba9ff4546c0a3345edad668 100644 (file)
Binary files a/dependencies/ffmpeg/lib/libavutil.dll.a and b/dependencies/ffmpeg/lib/libavutil.dll.a differ
index 07ad4adb3700894420dfb72c02a6e4804b32cc4d..aeb69e9794eff94e317d5d4032687b3a4e8d4c42 100644 (file)
Binary files a/dependencies/ffmpeg/lib/libpostproc.dll.a and b/dependencies/ffmpeg/lib/libpostproc.dll.a differ
index f055e8095117129f06b975488104d7b1087b9df2..cdc95619c038741b9b6113e813eed995194bed2c 100644 (file)
Binary files a/dependencies/ffmpeg/lib/libswresample.dll.a and b/dependencies/ffmpeg/lib/libswresample.dll.a differ
index 128fdfb0f0b4589e3a1739f29a236ac0bb2a67e7..2b0c16b69b75ade55bc5b3738ff8ec8588c93fc6 100644 (file)
Binary files a/dependencies/ffmpeg/lib/libswscale.dll.a and b/dependencies/ffmpeg/lib/libswscale.dll.a differ
index 9a2fa555a16b0859b6a0b0cd40a78e3120281589..957c8972cd485d4e1adc3bbe4a853fdd3921a520 100644 (file)
Binary files a/dependencies/ffmpeg/lib/postproc.lib and b/dependencies/ffmpeg/lib/postproc.lib differ
index 91b4c64a2e9c495db8dd10fe8bc3d26c08d462f0..6c337fc9b1fcba4031a67818ca72c74a320b6787 100644 (file)
@@ -96,6 +96,7 @@ EXPORTS
     swr_get_delay
     swr_init
     swr_inject_silence
+    swr_is_initialized
     swr_next_pts
     swr_set_channel_mapping
     swr_set_compensation
index 23734a547148a2cdeb47f726aaed8493286942ca..095265ef36540e6f0de8339c89e81cf1db6bb601 100644 (file)
Binary files a/dependencies/ffmpeg/lib/swresample.lib and b/dependencies/ffmpeg/lib/swresample.lib differ
index 059af03fc3854a0dae3f2faa5f5e9430c6d03354..ed862febbfd4868c988becb53973e60a45a7d935 100644 (file)
Binary files a/dependencies/ffmpeg/lib/swscale.lib and b/dependencies/ffmpeg/lib/swscale.lib differ
diff --git a/dependencies/ffmpeg/licenses/ffmpeg.txt b/dependencies/ffmpeg/licenses/ffmpeg.txt
deleted file mode 100644 (file)
index 818433e..0000000
+++ /dev/null
@@ -1,674 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE\r
-                       Version 3, 29 June 2007\r
-\r
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>\r
- Everyone is permitted to copy and distribute verbatim copies\r
- of this license document, but changing it is not allowed.\r
-\r
-                            Preamble\r
-\r
-  The GNU General Public License is a free, copyleft license for\r
-software and other kinds of works.\r
-\r
-  The licenses for most software and other practical works are designed\r
-to take away your freedom to share and change the works.  By contrast,\r
-the GNU General Public License is intended to guarantee your freedom to\r
-share and change all versions of a program--to make sure it remains free\r
-software for all its users.  We, the Free Software Foundation, use the\r
-GNU General Public License for most of our software; it applies also to\r
-any other work released this way by its authors.  You can apply it to\r
-your programs, too.\r
-\r
-  When we speak of free software, we are referring to freedom, not\r
-price.  Our General Public Licenses are designed to make sure that you\r
-have the freedom to distribute copies of free software (and charge for\r
-them if you wish), that you receive source code or can get it if you\r
-want it, that you can change the software or use pieces of it in new\r
-free programs, and that you know you can do these things.\r
-\r
-  To protect your rights, we need to prevent others from denying you\r
-these rights or asking you to surrender the rights.  Therefore, you have\r
-certain responsibilities if you distribute copies of the software, or if\r
-you modify it: responsibilities to respect the freedom of others.\r
-\r
-  For example, if you distribute copies of such a program, whether\r
-gratis or for a fee, you must pass on to the recipients the same\r
-freedoms that you received.  You must make sure that they, too, receive\r
-or can get the source code.  And you must show them these terms so they\r
-know their rights.\r
-\r
-  Developers that use the GNU GPL protect your rights with two steps:\r
-(1) assert copyright on the software, and (2) offer you this License\r
-giving you legal permission to copy, distribute and/or modify it.\r
-\r
-  For the developers' and authors' protection, the GPL clearly explains\r
-that there is no warranty for this free software.  For both users' and\r
-authors' sake, the GPL requires that modified versions be marked as\r
-changed, so that their problems will not be attributed erroneously to\r
-authors of previous versions.\r
-\r
-  Some devices are designed to deny users access to install or run\r
-modified versions of the software inside them, although the manufacturer\r
-can do so.  This is fundamentally incompatible with the aim of\r
-protecting users' freedom to change the software.  The systematic\r
-pattern of such abuse occurs in the area of products for individuals to\r
-use, which is precisely where it is most unacceptable.  Therefore, we\r
-have designed this version of the GPL to prohibit the practice for those\r
-products.  If such problems arise substantially in other domains, we\r
-stand ready to extend this provision to those domains in future versions\r
-of the GPL, as needed to protect the freedom of users.\r
-\r
-  Finally, every program is threatened constantly by software patents.\r
-States should not allow patents to restrict development and use of\r
-software on general-purpose computers, but in those that do, we wish to\r
-avoid the special danger that patents applied to a free program could\r
-make it effectively proprietary.  To prevent this, the GPL assures that\r
-patents cannot be used to render the program non-free.\r
-\r
-  The precise terms and conditions for copying, distribution and\r
-modification follow.\r
-\r
-                       TERMS AND CONDITIONS\r
-\r
-  0. Definitions.\r
-\r
-  "This License" refers to version 3 of the GNU General Public License.\r
-\r
-  "Copyright" also means copyright-like laws that apply to other kinds of\r
-works, such as semiconductor masks.\r
-\r
-  "The Program" refers to any copyrightable work licensed under this\r
-License.  Each licensee is addressed as "you".  "Licensees" and\r
-"recipients" may be individuals or organizations.\r
-\r
-  To "modify" a work means to copy from or adapt all or part of the work\r
-in a fashion requiring copyright permission, other than the making of an\r
-exact copy.  The resulting work is called a "modified version" of the\r
-earlier work or a work "based on" the earlier work.\r
-\r
-  A "covered work" means either the unmodified Program or a work based\r
-on the Program.\r
-\r
-  To "propagate" a work means to do anything with it that, without\r
-permission, would make you directly or secondarily liable for\r
-infringement under applicable copyright law, except executing it on a\r
-computer or modifying a private copy.  Propagation includes copying,\r
-distribution (with or without modification), making available to the\r
-public, and in some countries other activities as well.\r
-\r
-  To "convey" a work means any kind of propagation that enables other\r
-parties to make or receive copies.  Mere interaction with a user through\r
-a computer network, with no transfer of a copy, is not conveying.\r
-\r
-  An interactive user interface displays "Appropriate Legal Notices"\r
-to the extent that it includes a convenient and prominently visible\r
-feature that (1) displays an appropriate copyright notice, and (2)\r
-tells the user that there is no warranty for the work (except to the\r
-extent that warranties are provided), that licensees may convey the\r
-work under this License, and how to view a copy of this License.  If\r
-the interface presents a list of user commands or options, such as a\r
-menu, a prominent item in the list meets this criterion.\r
-\r
-  1. Source Code.\r
-\r
-  The "source code" for a work means the preferred form of the work\r
-for making modifications to it.  "Object code" means any non-source\r
-form of a work.\r
-\r
-  A "Standard Interface" means an interface that either is an official\r
-standard defined by a recognized standards body, or, in the case of\r
-interfaces specified for a particular programming language, one that\r
-is widely used among developers working in that language.\r
-\r
-  The "System Libraries" of an executable work include anything, other\r
-than the work as a whole, that (a) is included in the normal form of\r
-packaging a Major Component, but which is not part of that Major\r
-Component, and (b) serves only to enable use of the work with that\r
-Major Component, or to implement a Standard Interface for which an\r
-implementation is available to the public in source code form.  A\r
-"Major Component", in this context, means a major essential component\r
-(kernel, window system, and so on) of the specific operating system\r
-(if any) on which the executable work runs, or a compiler used to\r
-produce the work, or an object code interpreter used to run it.\r
-\r
-  The "Corresponding Source" for a work in object code form means all\r
-the source code needed to generate, install, and (for an executable\r
-work) run the object code and to modify the work, including scripts to\r
-control those activities.  However, it does not include the work's\r
-System Libraries, or general-purpose tools or generally available free\r
-programs which are used unmodified in performing those activities but\r
-which are not part of the work.  For example, Corresponding Source\r
-includes interface definition files associated with source files for\r
-the work, and the source code for shared libraries and dynamically\r
-linked subprograms that the work is specifically designed to require,\r
-such as by intimate data communication or control flow between those\r
-subprograms and other parts of the work.\r
-\r
-  The Corresponding Source need not include anything that users\r
-can regenerate automatically from other parts of the Corresponding\r
-Source.\r
-\r
-  The Corresponding Source for a work in source code form is that\r
-same work.\r
-\r
-  2. Basic Permissions.\r
-\r
-  All rights granted under this License are granted for the term of\r
-copyright on the Program, and are irrevocable provided the stated\r
-conditions are met.  This License explicitly affirms your unlimited\r
-permission to run the unmodified Program.  The output from running a\r
-covered work is covered by this License only if the output, given its\r
-content, constitutes a covered work.  This License acknowledges your\r
-rights of fair use or other equivalent, as provided by copyright law.\r
-\r
-  You may make, run and propagate covered works that you do not\r
-convey, without conditions so long as your license otherwise remains\r
-in force.  You may convey covered works to others for the sole purpose\r
-of having them make modifications exclusively for you, or provide you\r
-with facilities for running those works, provided that you comply with\r
-the terms of this License in conveying all material for which you do\r
-not control copyright.  Those thus making or running the covered works\r
-for you must do so exclusively on your behalf, under your direction\r
-and control, on terms that prohibit them from making any copies of\r
-your copyrighted material outside their relationship with you.\r
-\r
-  Conveying under any other circumstances is permitted solely under\r
-the conditions stated below.  Sublicensing is not allowed; section 10\r
-makes it unnecessary.\r
-\r
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.\r
-\r
-  No covered work shall be deemed part of an effective technological\r
-measure under any applicable law fulfilling obligations under article\r
-11 of the WIPO copyright treaty adopted on 20 December 1996, or\r
-similar laws prohibiting or restricting circumvention of such\r
-measures.\r
-\r
-  When you convey a covered work, you waive any legal power to forbid\r
-circumvention of technological measures to the extent such circumvention\r
-is effected by exercising rights under this License with respect to\r
-the covered work, and you disclaim any intention to limit operation or\r
-modification of the work as a means of enforcing, against the work's\r
-users, your or third parties' legal rights to forbid circumvention of\r
-technological measures.\r
-\r
-  4. Conveying Verbatim Copies.\r
-\r
-  You may convey verbatim copies of the Program's source code as you\r
-receive it, in any medium, provided that you conspicuously and\r
-appropriately publish on each copy an appropriate copyright notice;\r
-keep intact all notices stating that this License and any\r
-non-permissive terms added in accord with section 7 apply to the code;\r
-keep intact all notices of the absence of any warranty; and give all\r
-recipients a copy of this License along with the Program.\r
-\r
-  You may charge any price or no price for each copy that you convey,\r
-and you may offer support or warranty protection for a fee.\r
-\r
-  5. Conveying Modified Source Versions.\r
-\r
-  You may convey a work based on the Program, or the modifications to\r
-produce it from the Program, in the form of source code under the\r
-terms of section 4, provided that you also meet all of these conditions:\r
-\r
-    a) The work must carry prominent notices stating that you modified\r
-    it, and giving a relevant date.\r
-\r
-    b) The work must carry prominent notices stating that it is\r
-    released under this License and any conditions added under section\r
-    7.  This requirement modifies the requirement in section 4 to\r
-    "keep intact all notices".\r
-\r
-    c) You must license the entire work, as a whole, under this\r
-    License to anyone who comes into possession of a copy.  This\r
-    License will therefore apply, along with any applicable section 7\r
-    additional terms, to the whole of the work, and all its parts,\r
-    regardless of how they are packaged.  This License gives no\r
-    permission to license the work in any other way, but it does not\r
-    invalidate such permission if you have separately received it.\r
-\r
-    d) If the work has interactive user interfaces, each must display\r
-    Appropriate Legal Notices; however, if the Program has interactive\r
-    interfaces that do not display Appropriate Legal Notices, your\r
-    work need not make them do so.\r
-\r
-  A compilation of a covered work with other separate and independent\r
-works, which are not by their nature extensions of the covered work,\r
-and which are not combined with it such as to form a larger program,\r
-in or on a volume of a storage or distribution medium, is called an\r
-"aggregate" if the compilation and its resulting copyright are not\r
-used to limit the access or legal rights of the compilation's users\r
-beyond what the individual works permit.  Inclusion of a covered work\r
-in an aggregate does not cause this License to apply to the other\r
-parts of the aggregate.\r
-\r
-  6. Conveying Non-Source Forms.\r
-\r
-  You may convey a covered work in object code form under the terms\r
-of sections 4 and 5, provided that you also convey the\r
-machine-readable Corresponding Source under the terms of this License,\r
-in one of these ways:\r
-\r
-    a) Convey the object code in, or embodied in, a physical product\r
-    (including a physical distribution medium), accompanied by the\r
-    Corresponding Source fixed on a durable physical medium\r
-    customarily used for software interchange.\r
-\r
-    b) Convey the object code in, or embodied in, a physical product\r
-    (including a physical distribution medium), accompanied by a\r
-    written offer, valid for at least three years and valid for as\r
-    long as you offer spare parts or customer support for that product\r
-    model, to give anyone who possesses the object code either (1) a\r
-    copy of the Corresponding Source for all the software in the\r
-    product that is covered by this License, on a durable physical\r
-    medium customarily used for software interchange, for a price no\r
-    more than your reasonable cost of physically performing this\r
-    conveying of source, or (2) access to copy the\r
-    Corresponding Source from a network server at no charge.\r
-\r
-    c) Convey individual copies of the object code with a copy of the\r
-    written offer to provide the Corresponding Source.  This\r
-    alternative is allowed only occasionally and noncommercially, and\r
-    only if you received the object code with such an offer, in accord\r
-    with subsection 6b.\r
-\r
-    d) Convey the object code by offering access from a designated\r
-    place (gratis or for a charge), and offer equivalent access to the\r
-    Corresponding Source in the same way through the same place at no\r
-    further charge.  You need not require recipients to copy the\r
-    Corresponding Source along with the object code.  If the place to\r
-    copy the object code is a network server, the Corresponding Source\r
-    may be on a different server (operated by you or a third party)\r
-    that supports equivalent copying facilities, provided you maintain\r
-    clear directions next to the object code saying where to find the\r
-    Corresponding Source.  Regardless of what server hosts the\r
-    Corresponding Source, you remain obligated to ensure that it is\r
-    available for as long as needed to satisfy these requirements.\r
-\r
-    e) Convey the object code using peer-to-peer transmission, provided\r
-    you inform other peers where the object code and Corresponding\r
-    Source of the work are being offered to the general public at no\r
-    charge under subsection 6d.\r
-\r
-  A separable portion of the object code, whose source code is excluded\r
-from the Corresponding Source as a System Library, need not be\r
-included in conveying the object code work.\r
-\r
-  A "User Product" is either (1) a "consumer product", which means any\r
-tangible personal property which is normally used for personal, family,\r
-or household purposes, or (2) anything designed or sold for incorporation\r
-into a dwelling.  In determining whether a product is a consumer product,\r
-doubtful cases shall be resolved in favor of coverage.  For a particular\r
-product received by a particular user, "normally used" refers to a\r
-typical or common use of that class of product, regardless of the status\r
-of the particular user or of the way in which the particular user\r
-actually uses, or expects or is expected to use, the product.  A product\r
-is a consumer product regardless of whether the product has substantial\r
-commercial, industrial or non-consumer uses, unless such uses represent\r
-the only significant mode of use of the product.\r
-\r
-  "Installation Information" for a User Product means any methods,\r
-procedures, authorization keys, or other information required to install\r
-and execute modified versions of a covered work in that User Product from\r
-a modified version of its Corresponding Source.  The information must\r
-suffice to ensure that the continued functioning of the modified object\r
-code is in no case prevented or interfered with solely because\r
-modification has been made.\r
-\r
-  If you convey an object code work under this section in, or with, or\r
-specifically for use in, a User Product, and the conveying occurs as\r
-part of a transaction in which the right of possession and use of the\r
-User Product is transferred to the recipient in perpetuity or for a\r
-fixed term (regardless of how the transaction is characterized), the\r
-Corresponding Source conveyed under this section must be accompanied\r
-by the Installation Information.  But this requirement does not apply\r
-if neither you nor any third party retains the ability to install\r
-modified object code on the User Product (for example, the work has\r
-been installed in ROM).\r
-\r
-  The requirement to provide Installation Information does not include a\r
-requirement to continue to provide support service, warranty, or updates\r
-for a work that has been modified or installed by the recipient, or for\r
-the User Product in which it has been modified or installed.  Access to a\r
-network may be denied when the modification itself materially and\r
-adversely affects the operation of the network or violates the rules and\r
-protocols for communication across the network.\r
-\r
-  Corresponding Source conveyed, and Installation Information provided,\r
-in accord with this section must be in a format that is publicly\r
-documented (and with an implementation available to the public in\r
-source code form), and must require no special password or key for\r
-unpacking, reading or copying.\r
-\r
-  7. Additional Terms.\r
-\r
-  "Additional permissions" are terms that supplement the terms of this\r
-License by making exceptions from one or more of its conditions.\r
-Additional permissions that are applicable to the entire Program shall\r
-be treated as though they were included in this License, to the extent\r
-that they are valid under applicable law.  If additional permissions\r
-apply only to part of the Program, that part may be used separately\r
-under those permissions, but the entire Program remains governed by\r
-this License without regard to the additional permissions.\r
-\r
-  When you convey a copy of a covered work, you may at your option\r
-remove any additional permissions from that copy, or from any part of\r
-it.  (Additional permissions may be written to require their own\r
-removal in certain cases when you modify the work.)  You may place\r
-additional permissions on material, added by you to a covered work,\r
-for which you have or can give appropriate copyright permission.\r
-\r
-  Notwithstanding any other provision of this License, for material you\r
-add to a covered work, you may (if authorized by the copyright holders of\r
-that material) supplement the terms of this License with terms:\r
-\r
-    a) Disclaiming warranty or limiting liability differently from the\r
-    terms of sections 15 and 16 of this License; or\r
-\r
-    b) Requiring preservation of specified reasonable legal notices or\r
-    author attributions in that material or in the Appropriate Legal\r
-    Notices displayed by works containing it; or\r
-\r
-    c) Prohibiting misrepresentation of the origin of that material, or\r
-    requiring that modified versions of such material be marked in\r
-    reasonable ways as different from the original version; or\r
-\r
-    d) Limiting the use for publicity purposes of names of licensors or\r
-    authors of the material; or\r
-\r
-    e) Declining to grant rights under trademark law for use of some\r
-    trade names, trademarks, or service marks; or\r
-\r
-    f) Requiring indemnification of licensors and authors of that\r
-    material by anyone who conveys the material (or modified versions of\r
-    it) with contractual assumptions of liability to the recipient, for\r
-    any liability that these contractual assumptions directly impose on\r
-    those licensors and authors.\r
-\r
-  All other non-permissive additional terms are considered "further\r
-restrictions" within the meaning of section 10.  If the Program as you\r
-received it, or any part of it, contains a notice stating that it is\r
-governed by this License along with a term that is a further\r
-restriction, you may remove that term.  If a license document contains\r
-a further restriction but permits relicensing or conveying under this\r
-License, you may add to a covered work material governed by the terms\r
-of that license document, provided that the further restriction does\r
-not survive such relicensing or conveying.\r
-\r
-  If you add terms to a covered work in accord with this section, you\r
-must place, in the relevant source files, a statement of the\r
-additional terms that apply to those files, or a notice indicating\r
-where to find the applicable terms.\r
-\r
-  Additional terms, permissive or non-permissive, may be stated in the\r
-form of a separately written license, or stated as exceptions;\r
-the above requirements apply either way.\r
-\r
-  8. Termination.\r
-\r
-  You may not propagate or modify a covered work except as expressly\r
-provided under this License.  Any attempt otherwise to propagate or\r
-modify it is void, and will automatically terminate your rights under\r
-this License (including any patent licenses granted under the third\r
-paragraph of section 11).\r
-\r
-  However, if you cease all violation of this License, then your\r
-license from a particular copyright holder is reinstated (a)\r
-provisionally, unless and until the copyright holder explicitly and\r
-finally terminates your license, and (b) permanently, if the copyright\r
-holder fails to notify you of the violation by some reasonable means\r
-prior to 60 days after the cessation.\r
-\r
-  Moreover, your license from a particular copyright holder is\r
-reinstated permanently if the copyright holder notifies you of the\r
-violation by some reasonable means, this is the first time you have\r
-received notice of violation of this License (for any work) from that\r
-copyright holder, and you cure the violation prior to 30 days after\r
-your receipt of the notice.\r
-\r
-  Termination of your rights under this section does not terminate the\r
-licenses of parties who have received copies or rights from you under\r
-this License.  If your rights have been terminated and not permanently\r
-reinstated, you do not qualify to receive new licenses for the same\r
-material under section 10.\r
-\r
-  9. Acceptance Not Required for Having Copies.\r
-\r
-  You are not required to accept this License in order to receive or\r
-run a copy of the Program.  Ancillary propagation of a covered work\r
-occurring solely as a consequence of using peer-to-peer transmission\r
-to receive a copy likewise does not require acceptance.  However,\r
-nothing other than this License grants you permission to propagate or\r
-modify any covered work.  These actions infringe copyright if you do\r
-not accept this License.  Therefore, by modifying or propagating a\r
-covered work, you indicate your acceptance of this License to do so.\r
-\r
-  10. Automatic Licensing of Downstream Recipients.\r
-\r
-  Each time you convey a covered work, the recipient automatically\r
-receives a license from the original licensors, to run, modify and\r
-propagate that work, subject to this License.  You are not responsible\r
-for enforcing compliance by third parties with this License.\r
-\r
-  An "entity transaction" is a transaction transferring control of an\r
-organization, or substantially all assets of one, or subdividing an\r
-organization, or merging organizations.  If propagation of a covered\r
-work results from an entity transaction, each party to that\r
-transaction who receives a copy of the work also receives whatever\r
-licenses to the work the party's predecessor in interest had or could\r
-give under the previous paragraph, plus a right to possession of the\r
-Corresponding Source of the work from the predecessor in interest, if\r
-the predecessor has it or can get it with reasonable efforts.\r
-\r
-  You may not impose any further restrictions on the exercise of the\r
-rights granted or affirmed under this License.  For example, you may\r
-not impose a license fee, royalty, or other charge for exercise of\r
-rights granted under this License, and you may not initiate litigation\r
-(including a cross-claim or counterclaim in a lawsuit) alleging that\r
-any patent claim is infringed by making, using, selling, offering for\r
-sale, or importing the Program or any portion of it.\r
-\r
-  11. Patents.\r
-\r
-  A "contributor" is a copyright holder who authorizes use under this\r
-License of the Program or a work on which the Program is based.  The\r
-work thus licensed is called the contributor's "contributor version".\r
-\r
-  A contributor's "essential patent claims" are all patent claims\r
-owned or controlled by the contributor, whether already acquired or\r
-hereafter acquired, that would be infringed by some manner, permitted\r
-by this License, of making, using, or selling its contributor version,\r
-but do not include claims that would be infringed only as a\r
-consequence of further modification of the contributor version.  For\r
-purposes of this definition, "control" includes the right to grant\r
-patent sublicenses in a manner consistent with the requirements of\r
-this License.\r
-\r
-  Each contributor grants you a non-exclusive, worldwide, royalty-free\r
-patent license under the contributor's essential patent claims, to\r
-make, use, sell, offer for sale, import and otherwise run, modify and\r
-propagate the contents of its contributor version.\r
-\r
-  In the following three paragraphs, a "patent license" is any express\r
-agreement or commitment, however denominated, not to enforce a patent\r
-(such as an express permission to practice a patent or covenant not to\r
-sue for patent infringement).  To "grant" such a patent license to a\r
-party means to make such an agreement or commitment not to enforce a\r
-patent against the party.\r
-\r
-  If you convey a covered work, knowingly relying on a patent license,\r
-and the Corresponding Source of the work is not available for anyone\r
-to copy, free of charge and under the terms of this License, through a\r
-publicly available network server or other readily accessible means,\r
-then you must either (1) cause the Corresponding Source to be so\r
-available, or (2) arrange to deprive yourself of the benefit of the\r
-patent license for this particular work, or (3) arrange, in a manner\r
-consistent with the requirements of this License, to extend the patent\r
-license to downstream recipients.  "Knowingly relying" means you have\r
-actual knowledge that, but for the patent license, your conveying the\r
-covered work in a country, or your recipient's use of the covered work\r
-in a country, would infringe one or more identifiable patents in that\r
-country that you have reason to believe are valid.\r
-\r
-  If, pursuant to or in connection with a single transaction or\r
-arrangement, you convey, or propagate by procuring conveyance of, a\r
-covered work, and grant a patent license to some of the parties\r
-receiving the covered work authorizing them to use, propagate, modify\r
-or convey a specific copy of the covered work, then the patent license\r
-you grant is automatically extended to all recipients of the covered\r
-work and works based on it.\r
-\r
-  A patent license is "discriminatory" if it does not include within\r
-the scope of its coverage, prohibits the exercise of, or is\r
-conditioned on the non-exercise of one or more of the rights that are\r
-specifically granted under this License.  You may not convey a covered\r
-work if you are a party to an arrangement with a third party that is\r
-in the business of distributing software, under which you make payment\r
-to the third party based on the extent of your activity of conveying\r
-the work, and under which the third party grants, to any of the\r
-parties who would receive the covered work from you, a discriminatory\r
-patent license (a) in connection with copies of the covered work\r
-conveyed by you (or copies made from those copies), or (b) primarily\r
-for and in connection with specific products or compilations that\r
-contain the covered work, unless you entered into that arrangement,\r
-or that patent license was granted, prior to 28 March 2007.\r
-\r
-  Nothing in this License shall be construed as excluding or limiting\r
-any implied license or other defenses to infringement that may\r
-otherwise be available to you under applicable patent law.\r
-\r
-  12. No Surrender of Others' Freedom.\r
-\r
-  If conditions are imposed on you (whether by court order, agreement or\r
-otherwise) that contradict the conditions of this License, they do not\r
-excuse you from the conditions of this License.  If you cannot convey a\r
-covered work so as to satisfy simultaneously your obligations under this\r
-License and any other pertinent obligations, then as a consequence you may\r
-not convey it at all.  For example, if you agree to terms that obligate you\r
-to collect a royalty for further conveying from those to whom you convey\r
-the Program, the only way you could satisfy both those terms and this\r
-License would be to refrain entirely from conveying the Program.\r
-\r
-  13. Use with the GNU Affero General Public License.\r
-\r
-  Notwithstanding any other provision of this License, you have\r
-permission to link or combine any covered work with a work licensed\r
-under version 3 of the GNU Affero General Public License into a single\r
-combined work, and to convey the resulting work.  The terms of this\r
-License will continue to apply to the part which is the covered work,\r
-but the special requirements of the GNU Affero General Public License,\r
-section 13, concerning interaction through a network will apply to the\r
-combination as such.\r
-\r
-  14. Revised Versions of this License.\r
-\r
-  The Free Software Foundation may publish revised and/or new versions of\r
-the GNU General Public License from time to time.  Such new versions will\r
-be similar in spirit to the present version, but may differ in detail to\r
-address new problems or concerns.\r
-\r
-  Each version is given a distinguishing version number.  If the\r
-Program specifies that a certain numbered version of the GNU General\r
-Public License "or any later version" applies to it, you have the\r
-option of following the terms and conditions either of that numbered\r
-version or of any later version published by the Free Software\r
-Foundation.  If the Program does not specify a version number of the\r
-GNU General Public License, you may choose any version ever published\r
-by the Free Software Foundation.\r
-\r
-  If the Program specifies that a proxy can decide which future\r
-versions of the GNU General Public License can be used, that proxy's\r
-public statement of acceptance of a version permanently authorizes you\r
-to choose that version for the Program.\r
-\r
-  Later license versions may give you additional or different\r
-permissions.  However, no additional obligations are imposed on any\r
-author or copyright holder as a result of your choosing to follow a\r
-later version.\r
-\r
-  15. Disclaimer of Warranty.\r
-\r
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\r
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\r
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY\r
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\r
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\r
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\r
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.\r
-\r
-  16. Limitation of Liability.\r
-\r
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\r
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\r
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\r
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\r
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\r
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\r
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\r
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\r
-SUCH DAMAGES.\r
-\r
-  17. Interpretation of Sections 15 and 16.\r
-\r
-  If the disclaimer of warranty and limitation of liability provided\r
-above cannot be given local legal effect according to their terms,\r
-reviewing courts shall apply local law that most closely approximates\r
-an absolute waiver of all civil liability in connection with the\r
-Program, unless a warranty or assumption of liability accompanies a\r
-copy of the Program in return for a fee.\r
-\r
-                     END OF TERMS AND CONDITIONS\r
-\r
-            How to Apply These Terms to Your New Programs\r
-\r
-  If you develop a new program, and you want it to be of the greatest\r
-possible use to the public, the best way to achieve this is to make it\r
-free software which everyone can redistribute and change under these terms.\r
-\r
-  To do so, attach the following notices to the program.  It is safest\r
-to attach them to the start of each source file to most effectively\r
-state the exclusion of warranty; and each file should have at least\r
-the "copyright" line and a pointer to where the full notice is found.\r
-\r
-    <one line to give the program's name and a brief idea of what it does.>\r
-    Copyright (C) <year>  <name of author>\r
-\r
-    This program is free software: you can redistribute it and/or modify\r
-    it under the terms of the GNU General Public License as published by\r
-    the Free Software Foundation, either version 3 of the License, or\r
-    (at your option) any later version.\r
-\r
-    This program is distributed in the hope that it will be useful,\r
-    but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
-    GNU General Public License for more details.\r
-\r
-    You should have received a copy of the GNU General Public License\r
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.\r
-\r
-Also add information on how to contact you by electronic and paper mail.\r
-\r
-  If the program does terminal interaction, make it output a short\r
-notice like this when it starts in an interactive mode:\r
-\r
-    <program>  Copyright (C) <year>  <name of author>\r
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\r
-    This is free software, and you are welcome to redistribute it\r
-    under certain conditions; type `show c' for details.\r
-\r
-The hypothetical commands `show w' and `show c' should show the appropriate\r
-parts of the General Public License.  Of course, your program's commands\r
-might be different; for a GUI interface, you would use an "about box".\r
-\r
-  You should also get your employer (if you work as a programmer) or school,\r
-if any, to sign a "copyright disclaimer" for the program, if necessary.\r
-For more information on this, and how to apply and follow the GNU GPL, see\r
-<http://www.gnu.org/licenses/>.\r
-\r
-  The GNU General Public License does not permit incorporating your program\r
-into proprietary programs.  If your program is a subroutine library, you\r
-may consider it more useful to permit linking proprietary applications with\r
-the library.  If this is what you want to do, use the GNU Lesser General\r
-Public License instead of this License.  But first, please read\r
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.\r
similarity index 96%
rename from dependencies/ffmpeg/licenses/rtmp.txt
rename to dependencies/ffmpeg/licenses/gme.txt
index 7ba5aff47386db7f38f88e190eaafe9647508bcb..5ab7695ab8cabe0c5c8a814bb0ab1e8066578fbb 100644 (file)
-                  GNU LESSER GENERAL PUBLIC LICENSE\r
-                       Version 2.1, February 1999\r
-\r
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.\r
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\r
- Everyone is permitted to copy and distribute verbatim copies\r
- of this license document, but changing it is not allowed.\r
-\r
-[This is the first released version of the Lesser GPL.  It also counts\r
- as the successor of the GNU Library Public License, version 2, hence\r
- the version number 2.1.]\r
-\r
-                            Preamble\r
-\r
-  The licenses for most software are designed to take away your\r
-freedom to share and change it.  By contrast, the GNU General Public\r
-Licenses are intended to guarantee your freedom to share and change\r
-free software--to make sure the software is free for all its users.\r
-\r
-  This license, the Lesser General Public License, applies to some\r
-specially designated software packages--typically libraries--of the\r
-Free Software Foundation and other authors who decide to use it.  You\r
-can use it too, but we suggest you first think carefully about whether\r
-this license or the ordinary General Public License is the better\r
-strategy to use in any particular case, based on the explanations below.\r
-\r
-  When we speak of free software, we are referring to freedom of use,\r
-not price.  Our General Public Licenses are designed to make sure that\r
-you have the freedom to distribute copies of free software (and charge\r
-for this service if you wish); that you receive source code or can get\r
-it if you want it; that you can change the software and use pieces of\r
-it in new free programs; and that you are informed that you can do\r
-these things.\r
-\r
-  To protect your rights, we need to make restrictions that forbid\r
-distributors to deny you these rights or to ask you to surrender these\r
-rights.  These restrictions translate to certain responsibilities for\r
-you if you distribute copies of the library or if you modify it.\r
-\r
-  For example, if you distribute copies of the library, whether gratis\r
-or for a fee, you must give the recipients all the rights that we gave\r
-you.  You must make sure that they, too, receive or can get the source\r
-code.  If you link other code with the library, you must provide\r
-complete object files to the recipients, so that they can relink them\r
-with the library after making changes to the library and recompiling\r
-it.  And you must show them these terms so they know their rights.\r
-\r
-  We protect your rights with a two-step method: (1) we copyright the\r
-library, and (2) we offer you this license, which gives you legal\r
-permission to copy, distribute and/or modify the library.\r
-\r
-  To protect each distributor, we want to make it very clear that\r
-there is no warranty for the free library.  Also, if the library is\r
-modified by someone else and passed on, the recipients should know\r
-that what they have is not the original version, so that the original\r
-author's reputation will not be affected by problems that might be\r
-introduced by others.\r
-\r
-  Finally, software patents pose a constant threat to the existence of\r
-any free program.  We wish to make sure that a company cannot\r
-effectively restrict the users of a free program by obtaining a\r
-restrictive license from a patent holder.  Therefore, we insist that\r
-any patent license obtained for a version of the library must be\r
-consistent with the full freedom of use specified in this license.\r
-\r
-  Most GNU software, including some libraries, is covered by the\r
-ordinary GNU General Public License.  This license, the GNU Lesser\r
-General Public License, applies to certain designated libraries, and\r
-is quite different from the ordinary General Public License.  We use\r
-this license for certain libraries in order to permit linking those\r
-libraries into non-free programs.\r
-\r
-  When a program is linked with a library, whether statically or using\r
-a shared library, the combination of the two is legally speaking a\r
-combined work, a derivative of the original library.  The ordinary\r
-General Public License therefore permits such linking only if the\r
-entire combination fits its criteria of freedom.  The Lesser General\r
-Public License permits more lax criteria for linking other code with\r
-the library.\r
-\r
-  We call this license the "Lesser" General Public License because it\r
-does Less to protect the user's freedom than the ordinary General\r
-Public License.  It also provides other free software developers Less\r
-of an advantage over competing non-free programs.  These disadvantages\r
-are the reason we use the ordinary General Public License for many\r
-libraries.  However, the Lesser license provides advantages in certain\r
-special circumstances.\r
-\r
-  For example, on rare occasions, there may be a special need to\r
-encourage the widest possible use of a certain library, so that it becomes\r
-a de-facto standard.  To achieve this, non-free programs must be\r
-allowed to use the library.  A more frequent case is that a free\r
-library does the same job as widely used non-free libraries.  In this\r
-case, there is little to gain by limiting the free library to free\r
-software only, so we use the Lesser General Public License.\r
-\r
-  In other cases, permission to use a particular library in non-free\r
-programs enables a greater number of people to use a large body of\r
-free software.  For example, permission to use the GNU C Library in\r
-non-free programs enables many more people to use the whole GNU\r
-operating system, as well as its variant, the GNU/Linux operating\r
-system.\r
-\r
-  Although the Lesser General Public License is Less protective of the\r
-users' freedom, it does ensure that the user of a program that is\r
-linked with the Library has the freedom and the wherewithal to run\r
-that program using a modified version of the Library.\r
-\r
-  The precise terms and conditions for copying, distribution and\r
-modification follow.  Pay close attention to the difference between a\r
-"work based on the library" and a "work that uses the library".  The\r
-former contains code derived from the library, whereas the latter must\r
-be combined with the library in order to run.\r
-\r
-                  GNU LESSER GENERAL PUBLIC LICENSE\r
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\r
-\r
-  0. This License Agreement applies to any software library or other\r
-program which contains a notice placed by the copyright holder or\r
-other authorized party saying it may be distributed under the terms of\r
-this Lesser General Public License (also called "this License").\r
-Each licensee is addressed as "you".\r
-\r
-  A "library" means a collection of software functions and/or data\r
-prepared so as to be conveniently linked with application programs\r
-(which use some of those functions and data) to form executables.\r
-\r
-  The "Library", below, refers to any such software library or work\r
-which has been distributed under these terms.  A "work based on the\r
-Library" means either the Library or any derivative work under\r
-copyright law: that is to say, a work containing the Library or a\r
-portion of it, either verbatim or with modifications and/or translated\r
-straightforwardly into another language.  (Hereinafter, translation is\r
-included without limitation in the term "modification".)\r
-\r
-  "Source code" for a work means the preferred form of the work for\r
-making modifications to it.  For a library, complete source code means\r
-all the source code for all modules it contains, plus any associated\r
-interface definition files, plus the scripts used to control compilation\r
-and installation of the library.\r
-\r
-  Activities other than copying, distribution and modification are not\r
-covered by this License; they are outside its scope.  The act of\r
-running a program using the Library is not restricted, and output from\r
-such a program is covered only if its contents constitute a work based\r
-on the Library (independent of the use of the Library in a tool for\r
-writing it).  Whether that is true depends on what the Library does\r
-and what the program that uses the Library does.\r
-\r
-  1. You may copy and distribute verbatim copies of the Library's\r
-complete source code as you receive it, in any medium, provided that\r
-you conspicuously and appropriately publish on each copy an\r
-appropriate copyright notice and disclaimer of warranty; keep intact\r
-all the notices that refer to this License and to the absence of any\r
-warranty; and distribute a copy of this License along with the\r
-Library.\r
-\r
-  You may charge a fee for the physical act of transferring a copy,\r
-and you may at your option offer warranty protection in exchange for a\r
-fee.\r
-\r
-  2. You may modify your copy or copies of the Library or any portion\r
-of it, thus forming a work based on the Library, and copy and\r
-distribute such modifications or work under the terms of Section 1\r
-above, provided that you also meet all of these conditions:\r
-\r
-    a) The modified work must itself be a software library.\r
-\r
-    b) You must cause the files modified to carry prominent notices\r
-    stating that you changed the files and the date of any change.\r
-\r
-    c) You must cause the whole of the work to be licensed at no\r
-    charge to all third parties under the terms of this License.\r
-\r
-    d) If a facility in the modified Library refers to a function or a\r
-    table of data to be supplied by an application program that uses\r
-    the facility, other than as an argument passed when the facility\r
-    is invoked, then you must make a good faith effort to ensure that,\r
-    in the event an application does not supply such function or\r
-    table, the facility still operates, and performs whatever part of\r
-    its purpose remains meaningful.\r
-\r
-    (For example, a function in a library to compute square roots has\r
-    a purpose that is entirely well-defined independent of the\r
-    application.  Therefore, Subsection 2d requires that any\r
-    application-supplied function or table used by this function must\r
-    be optional: if the application does not supply it, the square\r
-    root function must still compute square roots.)\r
-\r
-These requirements apply to the modified work as a whole.  If\r
-identifiable sections of that work are not derived from the Library,\r
-and can be reasonably considered independent and separate works in\r
-themselves, then this License, and its terms, do not apply to those\r
-sections when you distribute them as separate works.  But when you\r
-distribute the same sections as part of a whole which is a work based\r
-on the Library, the distribution of the whole must be on the terms of\r
-this License, whose permissions for other licensees extend to the\r
-entire whole, and thus to each and every part regardless of who wrote\r
-it.\r
-\r
-Thus, it is not the intent of this section to claim rights or contest\r
-your rights to work written entirely by you; rather, the intent is to\r
-exercise the right to control the distribution of derivative or\r
-collective works based on the Library.\r
-\r
-In addition, mere aggregation of another work not based on the Library\r
-with the Library (or with a work based on the Library) on a volume of\r
-a storage or distribution medium does not bring the other work under\r
-the scope of this License.\r
-\r
-  3. You may opt to apply the terms of the ordinary GNU General Public\r
-License instead of this License to a given copy of the Library.  To do\r
-this, you must alter all the notices that refer to this License, so\r
-that they refer to the ordinary GNU General Public License, version 2,\r
-instead of to this License.  (If a newer version than version 2 of the\r
-ordinary GNU General Public License has appeared, then you can specify\r
-that version instead if you wish.)  Do not make any other change in\r
-these notices.\r
-\r
-  Once this change is made in a given copy, it is irreversible for\r
-that copy, so the ordinary GNU General Public License applies to all\r
-subsequent copies and derivative works made from that copy.\r
-\r
-  This option is useful when you wish to copy part of the code of\r
-the Library into a program that is not a library.\r
-\r
-  4. You may copy and distribute the Library (or a portion or\r
-derivative of it, under Section 2) in object code or executable form\r
-under the terms of Sections 1 and 2 above provided that you accompany\r
-it with the complete corresponding machine-readable source code, which\r
-must be distributed under the terms of Sections 1 and 2 above on a\r
-medium customarily used for software interchange.\r
-\r
-  If distribution of object code is made by offering access to copy\r
-from a designated place, then offering equivalent access to copy the\r
-source code from the same place satisfies the requirement to\r
-distribute the source code, even though third parties are not\r
-compelled to copy the source along with the object code.\r
-\r
-  5. A program that contains no derivative of any portion of the\r
-Library, but is designed to work with the Library by being compiled or\r
-linked with it, is called a "work that uses the Library".  Such a\r
-work, in isolation, is not a derivative work of the Library, and\r
-therefore falls outside the scope of this License.\r
-\r
-  However, linking a "work that uses the Library" with the Library\r
-creates an executable that is a derivative of the Library (because it\r
-contains portions of the Library), rather than a "work that uses the\r
-library".  The executable is therefore covered by this License.\r
-Section 6 states terms for distribution of such executables.\r
-\r
-  When a "work that uses the Library" uses material from a header file\r
-that is part of the Library, the object code for the work may be a\r
-derivative work of the Library even though the source code is not.\r
-Whether this is true is especially significant if the work can be\r
-linked without the Library, or if the work is itself a library.  The\r
-threshold for this to be true is not precisely defined by law.\r
-\r
-  If such an object file uses only numerical parameters, data\r
-structure layouts and accessors, and small macros and small inline\r
-functions (ten lines or less in length), then the use of the object\r
-file is unrestricted, regardless of whether it is legally a derivative\r
-work.  (Executables containing this object code plus portions of the\r
-Library will still fall under Section 6.)\r
-\r
-  Otherwise, if the work is a derivative of the Library, you may\r
-distribute the object code for the work under the terms of Section 6.\r
-Any executables containing that work also fall under Section 6,\r
-whether or not they are linked directly with the Library itself.\r
-\r
-  6. As an exception to the Sections above, you may also combine or\r
-link a "work that uses the Library" with the Library to produce a\r
-work containing portions of the Library, and distribute that work\r
-under terms of your choice, provided that the terms permit\r
-modification of the work for the customer's own use and reverse\r
-engineering for debugging such modifications.\r
-\r
-  You must give prominent notice with each copy of the work that the\r
-Library is used in it and that the Library and its use are covered by\r
-this License.  You must supply a copy of this License.  If the work\r
-during execution displays copyright notices, you must include the\r
-copyright notice for the Library among them, as well as a reference\r
-directing the user to the copy of this License.  Also, you must do one\r
-of these things:\r
-\r
-    a) Accompany the work with the complete corresponding\r
-    machine-readable source code for the Library including whatever\r
-    changes were used in the work (which must be distributed under\r
-    Sections 1 and 2 above); and, if the work is an executable linked\r
-    with the Library, with the complete machine-readable "work that\r
-    uses the Library", as object code and/or source code, so that the\r
-    user can modify the Library and then relink to produce a modified\r
-    executable containing the modified Library.  (It is understood\r
-    that the user who changes the contents of definitions files in the\r
-    Library will not necessarily be able to recompile the application\r
-    to use the modified definitions.)\r
-\r
-    b) Use a suitable shared library mechanism for linking with the\r
-    Library.  A suitable mechanism is one that (1) uses at run time a\r
-    copy of the library already present on the user's computer system,\r
-    rather than copying library functions into the executable, and (2)\r
-    will operate properly with a modified version of the library, if\r
-    the user installs one, as long as the modified version is\r
-    interface-compatible with the version that the work was made with.\r
-\r
-    c) Accompany the work with a written offer, valid for at\r
-    least three years, to give the same user the materials\r
-    specified in Subsection 6a, above, for a charge no more\r
-    than the cost of performing this distribution.\r
-\r
-    d) If distribution of the work is made by offering access to copy\r
-    from a designated place, offer equivalent access to copy the above\r
-    specified materials from the same place.\r
-\r
-    e) Verify that the user has already received a copy of these\r
-    materials or that you have already sent this user a copy.\r
-\r
-  For an executable, the required form of the "work that uses the\r
-Library" must include any data and utility programs needed for\r
-reproducing the executable from it.  However, as a special exception,\r
-the materials to be distributed need not include anything that is\r
-normally distributed (in either source or binary form) with the major\r
-components (compiler, kernel, and so on) of the operating system on\r
-which the executable runs, unless that component itself accompanies\r
-the executable.\r
-\r
-  It may happen that this requirement contradicts the license\r
-restrictions of other proprietary libraries that do not normally\r
-accompany the operating system.  Such a contradiction means you cannot\r
-use both them and the Library together in an executable that you\r
-distribute.\r
-\r
-  7. You may place library facilities that are a work based on the\r
-Library side-by-side in a single library together with other library\r
-facilities not covered by this License, and distribute such a combined\r
-library, provided that the separate distribution of the work based on\r
-the Library and of the other library facilities is otherwise\r
-permitted, and provided that you do these two things:\r
-\r
-    a) Accompany the combined library with a copy of the same work\r
-    based on the Library, uncombined with any other library\r
-    facilities.  This must be distributed under the terms of the\r
-    Sections above.\r
-\r
-    b) Give prominent notice with the combined library of the fact\r
-    that part of it is a work based on the Library, and explaining\r
-    where to find the accompanying uncombined form of the same work.\r
-\r
-  8. You may not copy, modify, sublicense, link with, or distribute\r
-the Library except as expressly provided under this License.  Any\r
-attempt otherwise to copy, modify, sublicense, link with, or\r
-distribute the Library is void, and will automatically terminate your\r
-rights under this License.  However, parties who have received copies,\r
-or rights, from you under this License will not have their licenses\r
-terminated so long as such parties remain in full compliance.\r
-\r
-  9. You are not required to accept this License, since you have not\r
-signed it.  However, nothing else grants you permission to modify or\r
-distribute the Library or its derivative works.  These actions are\r
-prohibited by law if you do not accept this License.  Therefore, by\r
-modifying or distributing the Library (or any work based on the\r
-Library), you indicate your acceptance of this License to do so, and\r
-all its terms and conditions for copying, distributing or modifying\r
-the Library or works based on it.\r
-\r
-  10. Each time you redistribute the Library (or any work based on the\r
-Library), the recipient automatically receives a license from the\r
-original licensor to copy, distribute, link with or modify the Library\r
-subject to these terms and conditions.  You may not impose any further\r
-restrictions on the recipients' exercise of the rights granted herein.\r
-You are not responsible for enforcing compliance by third parties with\r
-this License.\r
-\r
-  11. If, as a consequence of a court judgment or allegation of patent\r
-infringement or for any other reason (not limited to patent issues),\r
-conditions are imposed on you (whether by court order, agreement or\r
-otherwise) that contradict the conditions of this License, they do not\r
-excuse you from the conditions of this License.  If you cannot\r
-distribute so as to satisfy simultaneously your obligations under this\r
-License and any other pertinent obligations, then as a consequence you\r
-may not distribute the Library at all.  For example, if a patent\r
-license would not permit royalty-free redistribution of the Library by\r
-all those who receive copies directly or indirectly through you, then\r
-the only way you could satisfy both it and this License would be to\r
-refrain entirely from distribution of the Library.\r
-\r
-If any portion of this section is held invalid or unenforceable under any\r
-particular circumstance, the balance of the section is intended to apply,\r
-and the section as a whole is intended to apply in other circumstances.\r
-\r
-It is not the purpose of this section to induce you to infringe any\r
-patents or other property right claims or to contest validity of any\r
-such claims; this section has the sole purpose of protecting the\r
-integrity of the free software distribution system which is\r
-implemented by public license practices.  Many people have made\r
-generous contributions to the wide range of software distributed\r
-through that system in reliance on consistent application of that\r
-system; it is up to the author/donor to decide if he or she is willing\r
-to distribute software through any other system and a licensee cannot\r
-impose that choice.\r
-\r
-This section is intended to make thoroughly clear what is believed to\r
-be a consequence of the rest of this License.\r
-\r
-  12. If the distribution and/or use of the Library is restricted in\r
-certain countries either by patents or by copyrighted interfaces, the\r
-original copyright holder who places the Library under this License may add\r
-an explicit geographical distribution limitation excluding those countries,\r
-so that distribution is permitted only in or among countries not thus\r
-excluded.  In such case, this License incorporates the limitation as if\r
-written in the body of this License.\r
-\r
-  13. The Free Software Foundation may publish revised and/or new\r
-versions of the Lesser General Public License from time to time.\r
-Such new versions will be similar in spirit to the present version,\r
-but may differ in detail to address new problems or concerns.\r
-\r
-Each version is given a distinguishing version number.  If the Library\r
-specifies a version number of this License which applies to it and\r
-"any later version", you have the option of following the terms and\r
-conditions either of that version or of any later version published by\r
-the Free Software Foundation.  If the Library does not specify a\r
-license version number, you may choose any version ever published by\r
-the Free Software Foundation.\r
-\r
-  14. If you wish to incorporate parts of the Library into other free\r
-programs whose distribution conditions are incompatible with these,\r
-write to the author to ask for permission.  For software which is\r
-copyrighted by the Free Software Foundation, write to the Free\r
-Software Foundation; we sometimes make exceptions for this.  Our\r
-decision will be guided by the two goals of preserving the free status\r
-of all derivatives of our free software and of promoting the sharing\r
-and reuse of software generally.\r
-\r
-                            NO WARRANTY\r
-\r
-  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO\r
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.\r
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR\r
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY\r
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE\r
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE\r
-LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME\r
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.\r
-\r
-  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN\r
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY\r
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU\r
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR\r
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE\r
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING\r
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A\r
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF\r
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH\r
-DAMAGES.\r
-\r
-                     END OF TERMS AND CONDITIONS\r
-\r
-           How to Apply These Terms to Your New Libraries\r
-\r
-  If you develop a new library, and you want it to be of the greatest\r
-possible use to the public, we recommend making it free software that\r
-everyone can redistribute and change.  You can do so by permitting\r
-redistribution under these terms (or, alternatively, under the terms of the\r
-ordinary General Public License).\r
-\r
-  To apply these terms, attach the following notices to the library.  It is\r
-safest to attach them to the start of each source file to most effectively\r
-convey the exclusion of warranty; and each file should have at least the\r
-"copyright" line and a pointer to where the full notice is found.\r
-\r
-    <one line to give the library's name and a brief idea of what it does.>\r
-    Copyright (C) <year>  <name of author>\r
-\r
-    This library is free software; you can redistribute it and/or\r
-    modify it under the terms of the GNU Lesser General Public\r
-    License as published by the Free Software Foundation; either\r
-    version 2.1 of the License, or (at your option) any later version.\r
-\r
-    This library is distributed in the hope that it will be useful,\r
-    but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
-    Lesser General Public License for more details.\r
-\r
-    You should have received a copy of the GNU Lesser General Public\r
-    License along with this library; if not, write to the Free Software\r
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\r
-\r
-Also add information on how to contact you by electronic and paper mail.\r
-\r
-You should also get your employer (if you work as a programmer) or your\r
-school, if any, to sign a "copyright disclaimer" for the library, if\r
-necessary.  Here is a sample; alter the names:\r
-\r
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the\r
-  library `Frob' (a library for tweaking knobs) written by James Random Hacker.\r
-\r
-  <signature of Ty Coon>, 1 April 1990\r
-  Ty Coon, President of Vice\r
-\r
-That's all there is to it!\r
-\r
+                 GNU LESSER GENERAL PUBLIC LICENSE
+                      Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+                           Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+\f
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+\f
+                 GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+  
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+\f
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+\f
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+\f
+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+\f
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+\f
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+\f
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+                           NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+                    END OF TERMS AND CONDITIONS
+\f
+           How to Apply These Terms to Your New Libraries
+
+  If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change.  You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+  To apply these terms, attach the following notices to the library.  It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the library's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the
+  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+  <signature of Ty Coon>, 1 April 1990
+  Ty Coon, President of Vice
+
+That's all there is to it!
+
+
diff --git a/dependencies/ffmpeg/licenses/gsm.txt b/dependencies/ffmpeg/licenses/gsm.txt
deleted file mode 100644 (file)
index 8aec8e1..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-Copyright 1992, 1993, 1994 by Jutta Degener and Carsten Bormann,\r
-Technische Universitaet Berlin\r
-\r
-Any use of this software is permitted provided that this notice is not\r
-removed and that neither the authors nor the Technische Universitaet Berlin\r
-are deemed to have made any representations as to the suitability of this\r
-software for any purpose nor are held responsible for any defects of\r
-this software.  THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.\r
-\r
-As a matter of courtesy, the authors request to be informed about uses\r
-this software has found, about bugs in this software, and about any\r
-improvements that may be of general interest.\r
-\r
-Berlin, 28.11.1994\r
-Jutta Degener\r
-Carsten Bormann\r
-\r
-                                 oOo\r
-\r
-Since the original terms of 15 years ago maybe do not make our\r
-intentions completely clear given today's refined usage of the legal\r
-terms, we append this additional permission:\r
-\r
-      Permission to use, copy, modify, and distribute this software\r
-      for any purpose with or without fee is hereby granted,\r
-      provided that this notice is not removed and that neither\r
-      the authors nor the Technische Universitaet Berlin are\r
-      deemed to have made any representations as to the suitability\r
-      of this software for any purpose nor are held responsible\r
-      for any defects of this software.  THERE IS ABSOLUTELY NO\r
-      WARRANTY FOR THIS SOFTWARE.\r
-\r
-Berkeley/Bremen, 05.04.2009\r
-Jutta Degener\r
-Carsten Bormann
\ No newline at end of file
diff --git a/dependencies/ffmpeg/licenses/libwebp.txt b/dependencies/ffmpeg/licenses/libwebp.txt
new file mode 100644 (file)
index 0000000..7a6f995
--- /dev/null
@@ -0,0 +1,30 @@
+Copyright (c) 2010, Google Inc. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+  * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+
+  * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+
+  * Neither the name of Google nor the names of its contributors may
+    be used to endorse or promote products derived from this software
+    without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
diff --git a/dependencies/ffmpeg/licenses/theora.txt b/dependencies/ffmpeg/licenses/theora.txt
deleted file mode 100644 (file)
index 0914cca..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-Copyright (C) 2002-2009 Xiph.org Foundation\r
-\r
-Redistribution and use in source and binary forms, with or without\r
-modification, are permitted provided that the following conditions\r
-are met:\r
-\r
-- Redistributions of source code must retain the above copyright\r
-notice, this list of conditions and the following disclaimer.\r
-\r
-- Redistributions in binary form must reproduce the above copyright\r
-notice, this list of conditions and the following disclaimer in the\r
-documentation and/or other materials provided with the distribution.\r
-\r
-- Neither the name of the Xiph.org Foundation nor the names of its\r
-contributors may be used to endorse or promote products derived from\r
-this software without specific prior written permission.\r
-\r
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\r
-``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\r
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\r
-A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION\r
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\r
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\r
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\r
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\r
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\r
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\r
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/dependencies/ffmpeg/licenses/vorbis.txt b/dependencies/ffmpeg/licenses/vorbis.txt
deleted file mode 100644 (file)
index 9ce60f8..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-Copyright (c) 2002-2008 Xiph.org Foundation\r
-\r
-Redistribution and use in source and binary forms, with or without\r
-modification, are permitted provided that the following conditions\r
-are met:\r
-\r
-- Redistributions of source code must retain the above copyright\r
-notice, this list of conditions and the following disclaimer.\r
-\r
-- Redistributions in binary form must reproduce the above copyright\r
-notice, this list of conditions and the following disclaimer in the\r
-documentation and/or other materials provided with the distribution.\r
-\r
-- Neither the name of the Xiph.org Foundation nor the names of its\r
-contributors may be used to endorse or promote products derived from\r
-this software without specific prior written permission.\r
-\r
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\r
-``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\r
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\r
-A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION\r
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\r
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\r
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\r
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\r
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\r
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\r
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/dependencies/ffmpeg/licenses/x265.txt b/dependencies/ffmpeg/licenses/x265.txt
new file mode 100644 (file)
index 0000000..18c946f
--- /dev/null
@@ -0,0 +1,343 @@
+                   GNU GENERAL PUBLIC LICENSE
+                      Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                           Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+\f
+                   GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+\f
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+\f
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+\f
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+                           NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+                    END OF TERMS AND CONDITIONS
+\f
+           How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year  name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
+
+This program is also available under a commercial proprietary license.
+For more information, contact us at licensing@multicorewareinc.com.
index cc3d1b63f78ad4525a0d8c3c0a45b99009f16941..1bc1fb5bb4f449b6d9cb40c34c709891bd78a398 100644 (file)
@@ -61,6 +61,8 @@
       <xsd:attribute name="pkt_pts_time"  type="xsd:float"/>
       <xsd:attribute name="pkt_dts"       type="xsd:long" />
       <xsd:attribute name="pkt_dts_time"  type="xsd:float"/>
+      <xsd:attribute name="best_effort_timestamp"      type="xsd:long" />
+      <xsd:attribute name="best_effort_timestamp_time" type="xsd:float" />
       <xsd:attribute name="pkt_duration"  type="xsd:long" />
       <xsd:attribute name="pkt_duration_time" type="xsd:float"/>
       <xsd:attribute name="pkt_pos"       type="xsd:long" />