Documentación del escalador de FFmpeg
1 Descripción
El reescalador de FFmpeg proporciona una interfaz de alto nivel para las utilidades de conversión de imagen de la biblioteca libswscale. En concreto, permite reescalar imágenes y convertir el pixel format.
2 Opciones del escalador
El escalador de vídeo admite las siguientes opciones con nombre.
Las opciones se establecen indicando -option value en las herramientas de FFmpeg, con algunas excepciones exclusivas de la API que se indican más adelante. Para uso mediante programación, pueden establecerse directamente en las opciones de SwsContext o mediante la API de libavutil/opt.h.
scaler, scaler_sub
Elige el algoritmo de escalado que se utilizará. El valor predeterminado es ‘auto’ en ambos casos. Acepta los siguientes valores:
‘auto’
Elección automática. En el caso de ‘scaler_sub’, esto significa el mismo algoritmo que ‘scaler’. En el caso de ‘scaler’, se usa de forma predeterminada el algoritmo indicado por el flag ‘sws_flags’.
‘bilinear’
Filtro bilineal (también llamado filtro triangular).
‘bicubic’
Spline BC cúbico de 2 taps (también llamado spline de Mitchell-Netravali). Los parámetros B y C pueden configurarse mediante param0 y param1, con valores predeterminados de 0.0 y 0.6 respectivamente.
‘point, neighbor’
Muestreo por punto (también llamado vecino más cercano).
‘area’
Promediado por área. Equivalente a ‘bilinear’ para el escalado ascendente.
‘gaussian’
Aproximación de filtro gaussiano de 2 taps. El parámetro de nitidez puede configurarse mediante param0, con un valor predeterminado de 3.0.
‘sinc’
Filtro sinc sin ventana.
‘lanczos’
Remuestreo de Lanczos (sinc con ventana sinc). El número de taps del filtro puede configurarse mediante param0, con un valor predeterminado de 3.
‘spline’
Spline cúbico natural sin ventana.
sws_flags
Establece los flags del escalador. También se usa para fijar el algoritmo de escalado, aunque este uso está obsoleto en favor de configurar ‘scaler’. Solo puede seleccionarse un único algoritmo. El valor predeterminado es ‘bicubic’.
Acepta los siguientes valores:
‘fast_bilinear’
Selecciona el algoritmo de escalado bilineal rápido. (Obsoleto)
‘bilinear’
Selecciona el algoritmo de escalado bilineal. (Obsoleto)
‘bicubic’
Selecciona el algoritmo de escalado bicúbico. (Obsoleto)
‘experimental’
Selecciona el algoritmo de escalado experimental. (Obsoleto)
‘neighbor’
Selecciona el algoritmo de reescalado por vecino más cercano. (Obsoleto)
‘area’
Selecciona el algoritmo de reescalado por promediado de área. (Obsoleto)
‘bicublin’
Selecciona el algoritmo de escalado bicúbico para la componente de luma y bilineal para las componentes de croma. (Obsoleto)
‘gauss’
Selecciona el algoritmo de reescalado gaussiano. (Obsoleto)
‘sinc’
Selecciona el algoritmo de reescalado sinc. (Obsoleto)
‘lanczos’
Selecciona el algoritmo de reescalado de Lanczos. El ancho predeterminado (alpha) es 3 y puede cambiarse mediante param0. (Obsoleto)
‘spline’
Selecciona el algoritmo de reescalado por spline cúbico natural. (Obsoleto)
‘print_info’
Activa la impresión de información y el registro de depuración.
‘accurate_rnd’
Activa el redondeo preciso.
‘full_chroma_int’
Activa la interpolación de croma completa.
‘full_chroma_inp’
Selecciona la entrada de croma completa.
‘bitexact’
Activa la salida bitexact.
‘unstable’
Permite el uso de código nuevo experimental. Puede afectar sutilmente a la salida o incluso producir resultados incorrectos. Solo para pruebas.
srcw (API only)
Establece el ancho de origen.
srch (API only)
Establece la altura de origen.
dstw (API only)
Establece el ancho de destino.
dsth (API only)
Establece la altura de destino.
src_format (API only)
Establece el pixel format de origen (debe expresarse como un entero).
dst_format (API only)
Establece el pixel format de destino (debe expresarse como un entero).
src_range (boolean)
Si el valor se establece en 1, indica que el origen es de rango completo. El valor predeterminado es 0, que indica que el origen es de rango limitado.
dst_range (boolean)
Si el valor se establece en 1, activa el rango completo para el destino. El valor predeterminado es 0, que activa el rango limitado.
gamma (boolean)
Si el valor se establece en 1, activa el escalado con corrección gamma. El valor predeterminado es 0.
param0, param1
Establece los parámetros del algoritmo de escalado. Los valores especificados son propios de algunos algoritmos de escalado e ignorados por los demás. Los valores especificados son números de coma flotante.
sws_dither
Establece el algoritmo de tramado (dithering). Acepta uno de los siguientes valores. El valor predeterminado es ‘auto’.
‘auto’
elección automática
‘none’
sin tramado
‘bayer’
tramado de Bayer
‘ed’
tramado por difusión de error
‘a_dither’
tramado aritmético, basado en suma
‘x_dither’
tramado aritmético, basado en xor (más aleatorio/con un patrón menos perceptible que a_dither).
alphablend
Establece la mezcla alfa que se usará cuando la entrada tenga alfa pero la salida no. El valor predeterminado es ‘none’.
‘uniform_color’
Mezcla sobre un color de fondo uniforme
‘checkerboard’
Mezcla sobre un patrón de tablero de ajedrez
‘none’
Sin mezcla
sws_backends
Establece los backends de swscale permitidos. Esta es una opción de tipo flags, por lo que pueden combinarse varios backends.
‘auto’
Selección automática. Equivale a ‘stable’ o a ‘all’, según esté activado o no el flag ‘unstable’. Este es el valor predeterminado.
‘stable’
Todos los backends estables.
‘unstable’
Todos los backends inestables.
‘all’
Todos los backends disponibles.
‘legacy’
Código heredado de swscale.
‘c’
Código de referencia basado en plantillas.
‘memcpy’
Vía rápida mediante memcpy de libc.
‘x86’
Kernels SIMD para x86.
‘aarch64’
Kernels NEON para AArch64.
‘spirv’
Backend Vulkan SPIR-V.
‘glsl’
Backend Vulkan GLSL.
3 Véase también
ffmpeg, ffplay, ffprobe, libswscale
4 Autores
Los desarrolladores de FFmpeg.
Para más detalles sobre la autoría, véase el historial de Git del proyecto (https://git.ffmpeg.org/ffmpeg), por ejemplo escribiendo el comando git log en el directorio de fuentes de FFmpeg, o consultando el repositorio en línea en https://git.ffmpeg.org/ffmpeg.
Los responsables de los distintos componentes figuran en el archivo MAINTAINERS del árbol de código fuente.
Alojamiento proporcionado por telepoint.bg