美文网首页FFPlay专辑
FFplay文档解读-34-视频过滤器九

FFplay文档解读-34-视频过滤器九

作者: 张芳涛 | 来源:发表于2018-11-15 17:54 被阅读8次

    前言

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

    29.80 hwupload

    将系统内存帧上载到硬件表面。

    初始化过滤器时,必须提供要上载的设备。 如果使用ffmpeg,请使用'-filter_hw_device'选项选择适当的设备。

    29.81 hwupload_cuda

    将系统内存帧上传到CUDA设备。

    它接受以下可选参数:

    device
    

    要使用的CUDA设备的编号。

    29.82 hqx

    应用专为像素艺术设计的高品质放大滤镜。 此过滤器最初由Maxim Stepin创建。

    它接受以下选项:

    n
    

    设置缩放尺寸:hq2x2hq3x3hq4x4。 默认值为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秒的时间内使饱和度在02之间摆动:

        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(底部字段优先),progressiveundetermined

    single.tff
    

    使用单帧检测首先检测到作为顶场的累积帧数。

    multiple.tff
    

    使用多帧检测首先检测到作为顶场的累积帧数。

    single.bff
    

    首先使用单帧检测检测到作为底场的累积帧数。

    multiple.current_frame
    

    使用多帧检测检测当前帧的类型。其中一个:tff(顶部字段优先),bff(底部字段优先),progressiveundetermined

    multiple.bff
    

    首先使用多帧检测检测到作为底场的累积帧数。

    single.progressive
    

    使用单帧检测检测为累进的累积帧数。

    multiple.progressive
    

    使用多帧检测检测为累进的累积帧数。

    single.undetermined
    

    使用单帧检测无法分类的累积帧数。

    multiple.undetermined
    

    使用多帧检测无法分类的累积帧数。

    repeated.current_frame
    

    当前帧中的哪个字段从最后一个开始重复。一个neithertopbottom

    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_modechroma_modealpha_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和云纹,但更好地保留细节和锐度的主观印象

    相关文章

      网友评论

        本文标题:FFplay文档解读-34-视频过滤器九

        本文链接:https://www.haomeiwen.com/subject/adxufqtx.html