Commit 65da611d authored by Michael Niedermayer's avatar Michael Niedermayer

Merge remote-tracking branch 'cigaes/master'

* cigaes/master:
  doc/faq: explain DAR/SAR preserving.
  doc: set documentencoding on toplevel texi files.
Merged-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parents fb3fb1d0 c49c42a4
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle Developer Documentation
@titlepage
......
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle FFmpeg FAQ
@titlepage
......@@ -466,6 +467,40 @@ point acceptable for your tastes. The most common options to do that are
@option{-qscale} and @option{-qmax}, but you should peruse the documentation
of the encoder you chose.
@section I have a stretched video, why does scaling does not fix it?
A lot of video codecs and formats can store the @emph{aspect ratio} of the
video: this is the ratio between the width and the height of either the full
image (DAR, display aspect ratio) or individual pixels (SAR, sample aspect
ratio). For example, EGA screens at resolution 640×350 had 4:3 DAR and 35:48
SAR.
Most still image processing work with square pixels, i.e. 1:1 SAR, but a lot
of video standards, especially from the analogic-numeric transition era, use
non-square pixels.
Most processing filters in FFmpeg handle the aspect ratio to avoid
stretching the image: cropping adjusts the DAR to keep the SAR constant,
scaling adjusts the SAR to keep the DAR constant.
If you want to stretch, or “unstretch”, the image, you need to override the
information with the
@url{http://ffmpeg.org/ffmpeg-filters.html#setdar_002c-setsar, @code{setdar or setsar filters}}.
Do not forget to examine carefully the original video to check whether the
stretching comes from the image or from the aspect ratio information.
For example, to fix a badly encoded EGA capture, use the following commands,
either the first one to upscale to square pixels or the second one to set
the correct aspect ratio or the third one to avoid transcoding (may not work
depending on the format / codec / player / phase of the moon):
@example
ffmpeg -i ega_screen.nut -vf scale=640:480,setsar=1 ega_screen_scaled.nut
ffmpeg -i ega_screen.nut -vf setdar=4/3 ega_screen_anamorphic.nut
ffmpeg -i ega_screen.nut -aspect 4/3 -c copy ega_screen_overridden.nut
@end example
@chapter Development
@section Are there examples illustrating how to use the FFmpeg libraries, particularly libavcodec and libavformat?
......
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle FFmpeg Automated Testing Environment
@titlepage
......
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle FFmpeg Bitstream Filters Documentation
@titlepage
......
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle FFmpeg Codecs Documentation
@titlepage
......
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle FFmpeg Devices Documentation
@titlepage
......
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle FFmpeg Filters Documentation
@titlepage
......
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle FFmpeg Formats Documentation
@titlepage
......
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle FFmpeg Protocols Documentation
@titlepage
......
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle FFmpeg Resampler Documentation
@titlepage
......
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle FFmpeg Scaler Documentation
@titlepage
......
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle FFmpeg Utilities Documentation
@titlepage
......
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle ffmpeg Documentation
@titlepage
......
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle ffplay Documentation
@titlepage
......
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle ffprobe Documentation
@titlepage
......
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle ffserver Documentation
@titlepage
......
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle General Documentation
@titlepage
......
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle Using git to develop FFmpeg
......
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle Libavcodec Documentation
@titlepage
......
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle Libavdevice Documentation
@titlepage
......
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle Libavfilter Documentation
@titlepage
......
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle Libavformat Documentation
@titlepage
......
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle Libavutil Documentation
@titlepage
......
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle Libswresample Documentation
@titlepage
......
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle Libswscale Documentation
@titlepage
......
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle NUT
......
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle Platform Specific Information
@titlepage
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment