Table of Contents
1 Description
The FFmpeg rescaler provides a high-level interface to the libswscale library image conversion utilities. In particular it allows one to perform image rescaling and pixel format conversion.
2 Scaler Options
The video scaler supports the following named options.
Options may be set by specifying -option value in the
FFmpeg tools, with a few API-only exceptions noted below.
For programmatic use, they can be set explicitly in the
SwsContext options or through the libavutil/opt.h API.
scaler, scaler_sub
: Choose the scaling algorithm to use. Default value is ‘auto’ for both.
It accepts the following values:
‘`auto`’
: Aumotic choice. For ‘`scaler_sub`’, this means the same algorithm as
‘`scaler`’. For ‘`scaler`’, this defaults to the scaler flag selected
by ‘`sws_flags`’.
‘`bilinear`’
: Bilinear filter. (AKA triangle filter)
‘`bicubic`’
: 2-tap cubic BC-spline (AKA Mitchell-Netravali spline). The B and C parameters
can be configured by setting `param0` and `param1`, defaulting to
0.0 and 0.6 respectively.
‘`point, neighbor`’
: Point sampling (AKA nearest neighbor).
‘`area`’
: Area averaging. Equivalent to ‘`bilinear`’ for upscaling.
‘`gaussian`’
: 2-tap Gaussian filter approximation. The sharpness parameter can be configured
by setting `param0`, defaulting to 3.0.
‘`sinc`’
: Unwindowed sinc filter.
‘`lanczos`’
: Lanczos resampling (sinc windowed sinc). The number of filter taps can
be configured by setting `param0`, defaulting to 3.
‘`spline`’
: Unwindowed natural bicubic spline.
sws_flags
: Set the scaler flags. This is also used to set the scaling
algorithm, though this usage is deprecated in favor of setting ‘scaler’.
Only a single algorithm may be selected. Default value is ‘bicubic’.
It accepts the following values:
‘`fast_bilinear`’
: Select fast bilinear scaling algorithm. (Deprecated)
‘`bilinear`’
: Select bilinear scaling algorithm. (Deprecated)
‘`bicubic`’
: Select bicubic scaling algorithm. (Deprecated)
‘`experimental`’
: Select experimental scaling algorithm. (Deprecated)
‘`neighbor`’
: Select nearest neighbor rescaling algorithm. (Deprecated)
‘`area`’
: Select averaging area rescaling algorithm. (Deprecated)
‘`bicublin`’
: Select bicubic scaling algorithm for the luma component, bilinear for
chroma components. (Deprecated)
‘`gauss`’
: Select Gaussian rescaling algorithm. (Deprecated)
‘`sinc`’
: Select sinc rescaling algorithm. (Deprecated)
‘`lanczos`’
: Select Lanczos rescaling algorithm. The default width (alpha) is 3 and can be
changed by setting `param0`. (Deprecated)
‘`spline`’
: Select natural bicubic spline rescaling algorithm. (Deprecated)
‘`print_info`’
: Enable printing/debug logging.
‘`accurate_rnd`’
: Enable accurate rounding.
‘`full_chroma_int`’
: Enable full chroma interpolation.
‘`full_chroma_inp`’
: Select full chroma input.
‘`bitexact`’
: Enable bitexact output.
‘`unstable`’
: Allow the use of experimental new code. May subtly affect the output or even
produce wrong results. For testing only.
srcw (API only)
: Set source width.
srch (API only)
: Set source height.
dstw (API only)
: Set destination width.
dsth (API only)
: Set destination height.
src_format (API only)
: Set source pixel format (must be expressed as an integer).
dst_format (API only)
: Set destination pixel format (must be expressed as an integer).
src_range (boolean)
: If value is set to 1, indicates source is full range. Default value is
0, which indicates source is limited range.
dst_range (boolean)
: If value is set to 1, enable full range for destination. Default value
is 0, which enables limited range.
gamma (boolean)
: If value is set to 1, enable gamma correct scaling. Default value is 0.
param0, param1
: Set scaling algorithm parameters. The specified values are specific of
some scaling algorithms and ignored by others. The specified values
are floating point number values.
sws_dither
: Set the dithering algorithm. Accepts one of the following
values. Default value is ‘auto’.
‘`auto`’
: automatic choice
‘`none`’
: no dithering
‘`bayer`’
: bayer dither
‘`ed`’
: error diffusion dither
‘`a_dither`’
: arithmetic dither, based using addition
‘`x_dither`’
: arithmetic dither, based using xor (more random/less apparent patterning that
a\_dither).
alphablend
: Set the alpha blending to use when the input has alpha but the output does not.
Default value is ‘none’.
‘`uniform_color`’
: Blend onto a uniform background color
‘`checkerboard`’
: Blend onto a checkerboard
‘`none`’
: No blending
sws_backends
: Set the allowed swscale backends. This is a flags option, so multiple backends
may be combined.
‘`auto`’
: Automatic selection. Equal to either ‘`stable`’ or ‘`all`’ depending on
whether or not the ‘`unstable`’ flag is set. This is the default value.
‘`stable`’
: All stable backends.
‘`unstable`’
: All unstable backends.
‘`all`’
: All available backends.
‘`legacy`’
: Legacy swscale code.
‘`c`’
: Template-based reference code.
‘`memcpy`’
: Fast path using libc `memcpy`.
‘`x86`’
: x86 SIMD kernels.
‘`aarch64`’
: AArch64 NEON kernels.
‘`spirv`’
: Vulkan SPIR-V backend.
3 See Also
ffmpeg, ffplay, ffprobe, libswscale
4 Authors
The FFmpeg developers.
For details about the authorship, see the Git history of the project
(https://git.ffmpeg.org/ffmpeg), e.g. by typing the command
git log in the FFmpeg source directory, or browsing the
online repository at <https://git.ffmpeg.org/ffmpeg>.
Maintainers for the specific components are listed in the file
MAINTAINERS in the source code tree.
This document was generated using makeinfo.
Hosting provided by telepoint.bg
