Documentação do redimensionador do FFmpeg
1 Descrição
O redimensionador do FFmpeg oferece uma interface de alto nível para os utilitários de conversão de imagem da biblioteca libswscale. Em especial, permite realizar o redimensionamento de imagens e a conversão de pixel format.
2 Opções do redimensionador
O redimensionador de vídeo aceita as seguintes opções nomeadas.
As opções são definidas indicando -option value nas ferramentas do FFmpeg, com algumas exceções exclusivas da API indicadas a seguir. Para uso programático, elas podem ser definidas explicitamente nas opções de SwsContext ou pela API de libavutil/opt.h.
scaler, scaler_sub
Escolhe o algoritmo de redimensionamento a ser usado. O valor padrão é ‘auto’ para ambos. Aceita os seguintes valores:
‘auto’
Escolha automática. Para ‘scaler_sub’, isso significa o mesmo algoritmo que ‘scaler’. Para ‘scaler’, o padrão é o algoritmo selecionado pela flag ‘sws_flags’.
‘bilinear’
Filtro bilinear (também chamado de filtro triangular).
‘bicubic’
Spline BC cúbico de 2 taps (também chamado de spline de Mitchell-Netravali). Os parâmetros B e C podem ser configurados definindo param0 e param1, com valores padrão de 0.0 e 0.6, respectivamente.
‘point, neighbor’
Amostragem por ponto (também chamada de vizinho mais próximo).
‘area’
Média de área. Equivalente a ‘bilinear’ para ampliação (upscaling).
‘gaussian’
Aproximação de filtro gaussiano de 2 taps. O parâmetro de nitidez pode ser configurado definindo param0, com valor padrão de 3.0.
‘sinc’
Filtro sinc sem janela.
‘lanczos’
Reamostragem de Lanczos (sinc com janela sinc). O número de taps do filtro pode ser configurado definindo param0, com valor padrão de 3.
‘spline’
Spline bicúbico natural sem janela.
sws_flags
Define as flags do redimensionador. Também é usado para definir o algoritmo de redimensionamento, embora esse uso esteja obsoleto em favor de definir ‘scaler’. Somente um único algoritmo pode ser selecionado. O valor padrão é ‘bicubic’.
Aceita os seguintes valores:
‘fast_bilinear’
Seleciona o algoritmo de redimensionamento bilinear rápido. (Obsoleto)
‘bilinear’
Seleciona o algoritmo de redimensionamento bilinear. (Obsoleto)
‘bicubic’
Seleciona o algoritmo de redimensionamento bicúbico. (Obsoleto)
‘experimental’
Seleciona o algoritmo de redimensionamento experimental. (Obsoleto)
‘neighbor’
Seleciona o algoritmo de redimensionamento por vizinho mais próximo. (Obsoleto)
‘area’
Seleciona o algoritmo de redimensionamento por média de área. (Obsoleto)
‘bicublin’
Seleciona o algoritmo de redimensionamento bicúbico para o componente de luma e bilinear para os componentes de croma. (Obsoleto)
‘gauss’
Seleciona o algoritmo de redimensionamento gaussiano. (Obsoleto)
‘sinc’
Seleciona o algoritmo de redimensionamento sinc. (Obsoleto)
‘lanczos’
Seleciona o algoritmo de redimensionamento de Lanczos. A largura padrão (alpha) é 3 e pode ser alterada definindo param0. (Obsoleto)
‘spline’
Seleciona o algoritmo de redimensionamento por spline bicúbico natural. (Obsoleto)
‘print_info’
Ativa a impressão de informações e o registro de depuração.
‘accurate_rnd’
Ativa o arredondamento preciso.
‘full_chroma_int’
Ativa a interpolação completa de croma.
‘full_chroma_inp’
Seleciona a entrada completa de croma.
‘bitexact’
Ativa a saída bitexact.
‘unstable’
Permite o uso de código novo experimental. Pode afetar sutilmente a saída ou até mesmo produzir resultados incorretos. Somente para testes.
srcw (API only)
Define a largura de origem.
srch (API only)
Define a altura de origem.
dstw (API only)
Define a largura de destino.
dsth (API only)
Define a altura de destino.
src_format (API only)
Define o pixel format de origem (deve ser expresso como um inteiro).
dst_format (API only)
Define o pixel format de destino (deve ser expresso como um inteiro).
src_range (boolean)
Se o valor for definido como 1, indica que a origem é de faixa completa. O valor padrão é 0, que indica que a origem é de faixa limitada.
dst_range (boolean)
Se o valor for definido como 1, ativa a faixa completa para o destino. O valor padrão é 0, que ativa a faixa limitada.
gamma (boolean)
Se o valor for definido como 1, ativa o redimensionamento com correção de gama. O valor padrão é 0.
param0, param1
Define os parâmetros do algoritmo de redimensionamento. Os valores especificados são específicos de alguns algoritmos de redimensionamento e ignorados pelos demais. Os valores especificados são números de ponto flutuante.
sws_dither
Define o algoritmo de dithering. Aceita um dos seguintes valores. O valor padrão é ‘auto’.
‘auto’
escolha automática
‘none’
sem dithering
‘bayer’
dithering Bayer
‘ed’
dithering por difusão de erro
‘a_dither’
dithering aritmético, baseado em soma
‘x_dither’
dithering aritmético, baseado em xor (mais aleatório/com padrão menos perceptível que a_dither).
alphablend
Define a mesclagem alfa a ser usada quando a entrada tem alfa, mas a saída não. O valor padrão é ‘none’.
‘uniform_color’
Mescla sobre uma cor de fundo uniforme
‘checkerboard’
Mescla sobre um padrão de tabuleiro de xadrez
‘none’
Sem mesclagem
sws_backends
Define os backends de swscale permitidos. Trata-se de uma opção do tipo flags, portanto vários backends podem ser combinados.
‘auto’
Seleção automática. Equivale a ‘stable’ ou a ‘all’, conforme a flag ‘unstable’ esteja definida ou não. Este é o valor padrão.
‘stable’
Todos os backends estáveis.
‘unstable’
Todos os backends instáveis.
‘all’
Todos os backends disponíveis.
‘legacy’
Código legado do swscale.
‘c’
Código de referência baseado em templates.
‘memcpy’
Caminho rápido usando memcpy da libc.
‘x86’
Kernels SIMD para x86.
‘aarch64’
Kernels NEON para AArch64.
‘spirv’
Backend Vulkan SPIR-V.
‘glsl’
Backend Vulkan GLSL.
3 Veja também
ffmpeg, ffplay, ffprobe, libswscale
4 Autores
Os desenvolvedores do FFmpeg.
Para mais detalhes sobre a autoria, consulte o histórico do Git do projeto (https://git.ffmpeg.org/ffmpeg), por exemplo, digitando o comando git log no diretório de código-fonte do FFmpeg, ou navegando pelo repositório on-line em https://git.ffmpeg.org/ffmpeg.
Os mantenedores dos componentes específicos estão listados no arquivo MAINTAINERS na árvore de código-fonte.
Hospedagem fornecida por telepoint.bg