FFplay文档解读-45-视频过滤器二十

前言

Github地址:Github
简书地址:简书
专辑地址:FFplay专辑

29.190 w3fdif

对输入视频进行去交错(w3fdif代表Weston 3 Field Deinterlacing Filter)。

基于Martin WestonBBC R&D描述的过程,并基于Jim EasterbrookBBC R&D编写的去隔行算法实现,Weston 3场反交错滤波器使用由BBC R&D计算的滤波器系数。

有两组滤波器系数,所谓的"simple":和"complex"。 可以通过传递可选参数来设置使用哪组滤波器系数:

filter

设置隔行扫描滤波器系数。 接受以下值之一:

解释
simple 简单的滤波器系数集
complex 更复杂的滤波器系数集

默认值是:‘complex’。

deint

指定要去隔行的帧。 接受以下值之一:

解释
all 对所有帧进行去隔行扫描
interlaced 仅隔离标记为隔行扫描的帧

默认值是:‘all’。

29.191 waveform

视频波形监视器。

波形监视器绘制颜色分量强度。 默认情况下仅亮度。 波形的每列对应于源视频中的一列像素。

它接受以下选项:

mode, m

可以是row(行)或column(列)。 默认为列。 在行模式中,左侧的图表表示颜色分量值0,右侧表示value = 255。在列模式中,上侧表示颜色分量value = 0,下侧表示value = 255

intensity, i

设定强度。 较小的值有助于找出在输入行/列中分布了多少相同亮度的值。 默认值为0.04。 允许范围为[0,1]。

mirror, r

设置镜像模式。 0表示未镜像,1表示镜像。 在镜像模式下,较高的值将在左侧表示行模式,而在顶部表示列模式。 默认值为1(镜像)。

display, d

设置显示模式。 它接受以下值:

解释
overlay 除了表示颜色分量的图形直接叠加在彼此之外时,呈现与游行中的信息相同的信息。

该显示模式使得更容易发现应该是相同的颜色分量的重叠区域中的相对差异或相似性,例如中性白色,灰色或黑色
stack 在行模式下并排显示颜色组件的单独图形,或在列模式下显示一个在另一个下方的图形
parade 在列模式下并排显示颜色组件的单独图形,或在行模式下显示一个在另一个下方的图形

使用此显示模式,通过比较每个波形的顶部和底部图形的轮廓,可以轻松地在图像的高光和阴影中发现色偏。 由于白色,灰色和黑色的特征是红色,绿色和蓝色的数量完全相等,因此图像的中性区域应显示三个width/height大致相等的波形。 如果不是,通过对三个波形进行电平调整,可以很容易地进行校正。

默认值是:stack。

components, c

设置要显示的颜色组件。 默认值为1,如果输入在RGB颜色空间中,则表示仅亮度或红色分量。 如果设置为例如7,它将显示所有3(如果)可用的颜色分量。

envelope, e
解释
none 没有envelope,这是默认值
instant 即使step值很小,图中显示的即时包络,最小值和最大值也很容易看到
peak 保持图表中显示的最小值和最大值。 这样,仍然可以在不经常查看波形的情况下发现超出范围值
peak+instant 峰值和即时包络结合在一起
filter, f
解释
lowpass 没有filtering,这是默认值
flat Luma和色度结合在一起
aflat 与上面类似,但显示蓝色和红色色度之间的差异
xflat 与上面类似,但使用不同的颜色
chroma 仅显示色度
color 显示波形上的实际颜色值
acolor 与上面类似,但是亮度显示色度值的频率
graticule, g

设置要显示的刻度。

解释
none 不要显示刻度
green 显示绿色标线,显示合法的广播范围
orange 显示显示合法广播范围的橙色标线
opacity, o

设置经纬网不透明度。

flags, fl

设置经纬网标志。

解释
numbers 在线条上方绘制数字。 默认情况下启用
dots 画点而不是线
scale, s

设置用于显示刻度的比例。

digital
millivolts
ire

默认值是:digital。

bgopacity, b

设置背景不透明度。

29.192 weave, doubleweave

编织采用基于场的视频输入,并将每两个连续场连接成单帧,产生一个新的双倍高度剪辑,帧速率为帧速率的一半,帧数为一半。

双层编织与编织相同,但没有将帧速率和帧数减半。

它接受以下选项:

first_field

设置第一个字段。 可用值包括:

|top, t|将帧设置为top-field-first|
|bottom, b|将帧设置为bottom-field-first|

29.192.1 示例

  • 使用selectseparatefields过滤器交错视频:

      separatefields,select=eq(mod(n,4),0)+eq(mod(n,4),3),weave
    

29.193 xbr

应用专为像素艺术设计的xBR高质量放大滤镜。 它遵循一组边缘检测规则,请参阅http://www.libretro.com/forums/viewtopic.php?f=6&t=134。

它接受以下选项:

n

设置缩放尺寸:2表示2xBR,3表示3xBR,4表示4xBR。 默认值为3

29.194 yadif

对输入视频进行去交错(yadif表示"yet another deinterlacing filter")。

它接受以下参数:

mode

采用隔行扫描模式。 它接受以下值之一:

解释
0, send_frame 为每帧输出一帧
1, send_field 为每个字段输出一帧
2, send_frame_nospatial send_frame一样,但它会跳过空间隔行扫描检查
3, send_field_nospatial send_field一样,但它会跳过空间隔行扫描检查

默认值是:send_frame。

parity

假设输入隔行扫描视频的图像场奇偶校验。 它接受以下值之一:

解释
0, tff 假设顶部字段是第一个
1, bff 假设底部字段是第一个
-1, auto 启用字段奇偶校验的自动检测

默认值为auto。 如果隔行扫描未知或解码器不导出该信息,则首先假设顶场。

deint

指定要去隔行的帧。 接受以下值之一:

解释
0, all 对所有帧进行去隔行扫描
1, interlaced 仅隔离标记为隔行扫描的帧

默认值是:all。

29.195 zoompan

应用缩放和平移效果。

此过滤器接受以下选项:

zoom,z

设置缩放表达式。默认值为1。

x
y

设置xy表达式。默认值为0。

d

将持续时间表达式设置为帧数。这将设置单个输入图像的效果将持续多少帧数。

s

设置输出图像大小,默认为'hd720'

fps

设置输出帧速率,默认为25。

每个表达式可以包含以下常量:

in_w,iw

输入宽度。

in_h, ih

输入高度。

out_w,ow

输出宽度。

out_h, oh

输出高度。

in

输入帧数。

on

输出帧数。

x
y

最后从当前输入帧的'x''y'表达式计算'x''y'位置。

px
py

前一输入帧的最后一个输出帧的'x''y',或者当还没有这样的?。ǖ谝皇淙胫。┦蔽?code>0。

zoom

最后计算的当前输入帧的'z'表达式缩放。

pzoom

上次计算的上一输入帧的最后一个输出帧的缩放。

duration

当前输入帧的输出帧数。根据每个输入帧的'd'表达式计算。

pduration

为先前输入帧创建的输出帧数。

a

有理数:输入宽度/输入高度。

sar

样本长宽比。

dar

显示宽高比。

29.195.1 示例

  • 放大到1.5并同时平移到图片中心附近的某个位置:

      zoompan=z='min(zoom+0.0015,1.5)':d=700:x='if(gte(zoom,1.5),x,x+1/a)':y='if(gte(zoom,1.5),y,y+1)':s=640x360
    
  • 放大至1.5并始终在图片中心平移:

      zoompan=z='min(zoom+0.0015,1.5)':d=700:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)'
    
  • 与上述相同但没有暂停:

      zoompan=z='min(max(zoom,pzoom)+0.0015,1.5)':d=1:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)'
    

29.196 zscale

使用z.lib库扩展(调整大?。┦淙胧悠担?a target="_blank" rel="nofollow">https://github.com/sekrit-twc/zimg。

通过更改输出样本宽高比,zscale过滤器强制输出显示宽高比与输入相同。

如果输入图像格式与下一个过滤器请求的格式不同,则zscale过滤器会将输入转换为请求的格式。

29.196.1 参数

过滤器接受以下选项。

width, w
height, h

设置输出视频维度表达式。 默认值是输入维度。

如果widthw值为0,则输入宽度用于输出。 如果heighth值为0,则输入高度用于输出。

如果其中一个且只有一个值为-nn> = 1,则zscale过滤器将使用一个值,该值保持输入图像的纵横比,从另一个指定的维度计算。 之后,它将确保计算出的尺寸可被n整除,并在必要时调整该值。

如果两个值都是-nn> = 1,则行为将与之前详细设置为0的两个值相同。

请参阅下面的维度表达式中使用的已接受常量列表。

size, s

设置视频大小。 有关此选项的语法,请检查(ffmpeg-utils)视频大小语法。

dither, d

设置抖动类型。

可能的值是:

none
ordered
random
error_diffusion

默认值是:none。

filter, f

设置调整大小过滤器类型。

可能的值是:

point
bilinear
bicubic
spline16
spline36
lanczos

默认值是:bilinear

range, r

设置颜色范围。

可能的值是:

input
limited
full

默认值与input相同。

primaries, p

设置颜色原色。

可能的值是:

input
709
unspecified
170m
240m
2020

默认值与input相同。

transfer, t

设置传输特性。

可能的值是:

input
709
unspecified
601
linear
2020_10
2020_12
smpte2084
iec61966-2-1
arib-std-b67

默认值与input相同。

matrix, m

设置颜色空间矩阵。

可能的值如下所示:

input
709
unspecified
470bg
170m
2020_ncl
2020_cl

默认值与input相同。

rangein, rin

设置输入颜色范围。

可能的值是:

input
limited
full

默认值与input相同。

primariesin, pin

设置输入颜色原色。

可能的值是:

input
709
unspecified
170m
240m
2020

默认值与input相同。

transferin, tin

设置输入传输特性。

可能的值是:

input
709
unspecified
601
linear
2020_10
2020_12

默认值与input相同。

matrixin, min

设置输入颜色空间矩阵。

可能的价值是:

input
709
unspecified
470bg
170m
2020_ncl
2020_cl
chromal, c

设置输出色度位置。

可能的值是:

input
left
center
topleft
top
bottomleft
bottom
chromalin, cin

设置输入色度位置。

可能的值是:

|input|
|left|
|center|
|topleft|
|top|
|bottomleft|
|bottom|

npl

设置标称峰值亮度。

'w''h'选项的值是包含以下常量的表达式:

in_w
in_h

输入的宽度和高度。

iw 
ih

这些与in_win_h相同。

out_w
out_h

输出(缩放)宽度和高度。

ow
oh

这些与out_wout_h相同。

a

iw/ih一样。

sar

输入样本宽高比。

dar

输入显示宽高比。 从(iw/ih)* sar计算。

hsub
vsub

水平和垂直输入色度子样本值。 例如,对于像素格式“yuv422p”,hsub2vsub1。

ohsub
ovsub

水平和垂直输出色度子样本值。 例如,对于像素格式“yuv422p”,hsub2,vsub1

?著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,992评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,212评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事?!?“怎么了?”我有些...
    开封第一讲书人阅读 159,535评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,197评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,310评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,383评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,409评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,191评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,621评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,910评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,084评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,763评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,403评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,083评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,318评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,946评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,967评论 2 351

推荐阅读更多精彩内容