前言
Github
地址:Github
简书地址:简书
专辑地址:FFplay专辑
29.80 hwupload
将系统内存帧上载到硬件表面。
初始化过滤器时,必须提供要上载的设备。 如果使用ffmpeg
,请使用'-filter_hw_device'
选项选择适当的设备。
29.81 hwupload_cuda
将系统内存帧上传到CUDA
设备。
它接受以下可选参数:
device
要使用的CUDA
设备的编号。
29.82 hqx
应用专为像素艺术设计的高品质放大滤镜。 此过滤器最初由Maxim Stepin
创建。
它接受以下选项:
n
设置缩放尺寸:hq2x
为2
,hq3x
为3
,hq4x
为4
。 默认值为3
。
29.83 hstack
水平堆叠输入视频。
所有流必须具有相同的像素格式且具有相同的高度。
请注意,此滤镜比使用叠加和填充滤镜更快地创建相同的输出。
过滤器接受以下选项:
inputs
设置输入流的数量。 默认值为2
。
shortest
如果设置为1
,则在最短输入终止时强制输出终止。 默认值为0
。
29.84 hue
修改输入的色调和/或饱和度。
它接受以下参数:
h
将色调角度指定为度数。它接受一个表达式,默认为0
。
s
在[-10,10]
范围内指定饱和度。它接受一个表达式,默认为1
。
h
将色调角度指定为弧度数。它接受一个表达式,默认为0
。
b
指定[-10,10]
范围内的亮度。它接受一个表达式,默认为0
。
'h'
和'H'
是互斥的,不能同时指定。
'b'
,'h'
,'H'
和's'
选项值是包含以下常量的表达式:
n
从0
开始的输入帧的帧数。
pts
以时基为单位表示的输入帧的呈现时间戳。
r
输入视频的帧速率,如果输入帧速率未知,则为NAN
。
t
时间戳以秒表示,如果输入时间戳未知,则为NAN
。
tb
输入视频的时基。
29.84.1 示例
-
将色调设置为
90
度,将饱和度设置为1.0
:hue=h=90:s=1
-
相同的命令,但用弧度表示色调:
hue=H=PI/2:s=1
-
旋转色调并在
1
秒的时间内使饱和度在0
到2
之间摆动:hue="H=2*PI*t: s=sin(2*PI*t)+1"
-
从
0
开始应用3
秒饱和度淡入效果:hue="s=min(t/3\,1)"
一般淡入表达式可写为:
hue="s=min(0\, max((t-START)/DURATION\, 1))"
-
从
5
秒开始应用3
秒饱和度淡出效果:hue="s=max(0\, min(1\, (8-t)/3))"
-
一般淡出表达式可写为:
hue="s=max(0\, min(1\, (START+DURATION-t)/DURATION))"
29.84.2 命令行
此筛选器支持以下命令:
b
s
h
H
修改输入视频的色调和/或饱和度和/或亮度。 该命令接受相应选项的相同语法。
如果指定的表达式无效,则保持其当前值。
29.85 hysteresis
通过连接组件将第一个流生成第二个流。 这使得构建更强大的边缘掩模成为可能。
此过滤器接受以下选项:
planes
设置将处理为位图的平面,将从第一个流复制未处理的平面。 默认值为0xf
,将处理所有平面。
threshold
设置过滤中使用的阈值。 如果像素分量值高于该值,则激活用于连接分量的滤波算法。 默认值为0
。
29.86 idet
检测视频隔行扫描类型。
此过滤器尝试首先检测输入帧是隔行扫描,逐行扫描,顶部还是底部字段。它还将尝试检测相邻帧之间重复的字段(电视电影的标志)。
在对每个帧进行分类时,单帧检测仅考虑紧邻的帧。多帧检测包含先前帧的分类历史。
过滤器将记录这些元数据值:
single.current_frame
使用单帧检测检测当前帧的类型。其中一个:tff
(顶部字段优先),bff
(底部字段优先),progressive
或undetermined
single.tff
使用单帧检测首先检测到作为顶场的累积帧数。
multiple.tff
使用多帧检测首先检测到作为顶场的累积帧数。
single.bff
首先使用单帧检测检测到作为底场的累积帧数。
multiple.current_frame
使用多帧检测检测当前帧的类型。其中一个:tff
(顶部字段优先),bff
(底部字段优先),progressive
或undetermined
。
multiple.bff
首先使用多帧检测检测到作为底场的累积帧数。
single.progressive
使用单帧检测检测为累进的累积帧数。
multiple.progressive
使用多帧检测检测为累进的累积帧数。
single.undetermined
使用单帧检测无法分类的累积帧数。
multiple.undetermined
使用多帧检测无法分类的累积帧数。
repeated.current_frame
当前帧中的哪个字段从最后一个开始重复。一个neither
,top
或bottom
。
repeated.neither
没有重复字段的累积帧数。
repeated.top
从前一帧的顶部字段重复顶部字段的累积帧数。
repeated.bottom
从前一帧的底部字段重复底部字段的累积帧数。
过滤器接受以下选项:
intl_thres
设置隔行阈值。
prog_thres
设置渐进阈值。
rep_thres
重复现场检测的阈值。
half_life
给定帧对统计数据的贡献减半的帧数(即,它对其分类仅贡献0.5
)。默认值为0
表示所有看到的帧永远都是1.0
的全权重。
analyze_interlaced_flag
当这不是0
时,idet
将使用指定的帧数来确定隔行扫描标志是否准确,它将不计算未确定的帧。如果发现该标志是准确的,则将在没有任何进一步计算的情况下使用该标志,如果发现它是不准确的,则将在没有任何进一步计算的情况下将其清除。这允许将idet
滤波器作为低计算方法插入以清除隔行扫描标志。
29.87 il
解交织或交错字段。
此过滤器允许人们处理隔行扫描图像字段而不对其进行去隔行扫描。 去交错将输入帧分成2
个字段(所谓的半图像)。 奇数行移动到输出图像的上半部分,甚至行到下半部分。 您可以独立处理(过滤)它们,然后重新交错它们。
过滤器接受以下选项:
luma_mode,l
chroma_mode,c
alpha_mode, a
luma_mode
,chroma_mode
和alpha_mode
的可用值为:
值 | 解释 |
---|---|
none | 什么也不做 |
deinterleave, d | 解交织字段,将一个放在另一个之上 |
interleave, i | 交错字段。 反转去交错的效果 |
默认值是:none
。
luma_swap, ls
chroma_swap, cs
alpha_swap, as
交换luma/chroma/alpha
字段。 交换偶数和奇数行。 默认值为0
。
29.88 inflate
对视频应用膨胀效果。
此滤镜通过仅考虑高于像素的值来将像素替换为局部(3x3
)平均值。
它接受以下选项:
threshold0
threshold1
threshold2
threshold3
限制每个平面的最大变化,默认为65535
。如果为0
,则平面将保持不变。
29.89 interlace
简单的隔行扫描过滤器来自渐进内容。 这将来自奇数帧的上(或下)行与来自偶数帧的较低(或较高)行交错,将帧速率减半并保持图像高度。
Original Original New Frame
Frame 'j' Frame 'j+1' (tff)
========== =========== ==================
Line 0 --------------------> Frame 'j' Line 0
Line 1 Line 1 ----> Frame 'j+1' Line 1
Line 2 ---------------------> Frame 'j' Line 2
Line 3 Line 3 ----> Frame 'j+1' Line 3
... ... ...
New Frame + 1 will be generated by Frame 'j+2' and Frame 'j+3' and so on
它接受以下可选参数:
scan
这确定了隔行扫描帧是从渐进帧的偶数(tff
-默认)还是奇数(bff
)行中获取的。
lowpass
垂直低通滤波器,避免推特交错,减少莫尔条纹。
参数 | 解释 |
---|---|
0, off | 禁用垂直低通滤波器 |
1, linear | 启用线性过滤器(默认) |
2, complex | 启用复杂过滤器。 这将略低于减少Twitter 和云纹,但更好地保留细节和锐度的主观印象 |
网友评论