教程菜单 本页目录

视频缩放和像素格式转换器

1 描述

FFmpeg 缩放器为 libswscale 库图像转换实用程序提供了高级接口。特别是,它允许执行图像重新缩放和像素格式转换。

2 缩放器选项

视频缩放器支持以下命名选项。

可以通过在 FFmpeg 工具中指定 -option 值来设置选项,但下面列出了一些仅限 API 的例外情况。对于编程使用,可以在 SwsContext 选项中或通过 libavutil/opt.h API 明确设置它们。

sws_flags

设置缩放器标志。这也用于设置缩放算法。只应选择一种算法。默认值为“双三次”。

它接受以下值:

fast_bilinear

选择快速双线性缩放算法。

bilinear

选择双线性缩放算法。

bicubic

选择双三次缩放算法。

experimental

选择实验性缩放算法。

neighbor

选择最近邻重新缩放算法。

area

选择平均区域缩放算法。

bicublin

为亮度分量选择双三次缩放算法,为色度分量选择双线性缩放算法。

gauss

选择高斯缩放算法。

sinc

选择 sinc 缩放算法。

lanczos

选择 Lanczos 缩放算法。默认宽度(alpha)为 3,可以通过设置 param0 进行更改。

spline

选择自然双三次样条重缩放算法。

print_info

启用打印/调试日志记录。

accurate_rnd

启用精确舍入。

full_chroma_int

启用全色度插值。

full_chroma_inp

选择全色度输入。

bitexact

启用位精确输出。

srcw (API only)

设置源宽度。

srch (API only)

设置源高度。

dstw (API only)

设置目标宽度。

dsth (API only)

设置目标高度。

src_format (API only)

设置源像素格式(必须以整数表示)。

dst_format (API only)

设置目标像素格式(必须以整数表示)。

src_range (boolean)

如果值设置为 1,表示源为全范围。默认值为 0,表示源为有限范围。

dst_range (boolean)

如果值设置为 1,则启用目标的全范围。默认值为 0,启用有限范围。

param0, param1

设置缩放算法参数。指定的值是某些缩放算法所特有的,其他算法会忽略这些值。指定的值是浮点数值。

sws_dither

设置抖动算法。接受以下值之一。默认值为“自动”。

auto

自动选择

none

无抖动

bayer

拜耳抖动

ed

误差扩散抖动

a_dither

基于加法的算术抖动

x_dither

基于异或的算术抖动(更随机/不太明显图案化 a_dither)。

alphablend

设置当输入有 alpha 但输出没有时使用的 alpha 混合。默认值为“无”。

uniform_color

混合到统一的背景颜色上

checkerboard

混合到棋盘上

none

无混合

本页目录