FFplay文档解读-39-视频过滤器十四

本文介绍了FFmpeg中的pseudocolor和psnr过滤器,pseudocolor用于伪彩色变换,psnr用于计算两个视频间的信噪比。文章详细解析了过滤器的选项和使用示例,是音视频处理学习者的参考资料。
摘要由CSDN通过智能技术生成

29.130 prewitt

应用prewitt运算符输入视频流。

过滤器接受以下选项:

planes

设置要处理的平面,将复制未处理的平面。 默认值为0xf,将处理所有平面。

scale

设定值将与过滤结果相乘。

delta

设置将添加到筛选结果的值。

29.131 program_opencl

使用OpenCL程序过滤视频。

source

OpenCL程序源文件。

kernel

程序中的内核名称。

inputs

过滤器的输入数量。 默认为1

size, s

输出帧的大小。 默认值与第一个输入相同。

程序源文件必须包含具有给定名称的内核函数,该函数将针对输出的每个平面运行一次。 平面上的每次运行都会作为单独的2D全局NDRange排队,每个像素都会生成一个工作项。 因此,每个工作项的全局ID偏移量是目标图像中像素的坐标。

 学习地址:音视频新手快速入门必备系列-FFmpeg+SDL播放器开发实现-学习视频教程-腾讯课堂
【文章福利】免费领取更多音视频学习资料包、大厂面试题、技术视频和学习路线图,资料包括(C/C++,Linux,FFmpeg webRTC rtmp hls rtsp ffplay srs 等等)有需要的可以点击1079654574加群领取哦~

  

内核函数需要采用以下参数:

  • 目标图像,__ write_only image2d_t

  这个图像将成为输出; 内核应该写出所有内容。

  • 帧索引,unsigned int

  这是一个从零开始的计数器,每帧增加一个。

  • 源图像,__ read_only image2d_t

  这些是每个输入的最新图像。 内核可以从它们读取以生成输出,但是它们无法写入。

示例程序如下:

  • 将输入复制到输出(输出必须与输入的大小相同)。

      __kernel void copy(__write_only image2d_t destination,
                 unsigned int index,
                 __read_only  image2d_t source)
      {
      const sampler_t sampler = CLK_NORMALIZED_COORDS_FALSE;
    
      int2 location = (int2)(get_global_id(0), get_global_id(1));
    
      float4 value = read_imagef(source, sampler, location);
    
      write_imagef(destination, location, value);
      }
    
  • 应用简单的转换,使用索引计数器增加一个量的输入。 采样器对像素值进行线性插值,输出的尺寸不必与输入相同。

      __kernel void rotate_image(__write_only image2d_t dst,
                         unsigned int index,
                         __read_only  image2d_t src)
      {
      const sampler_t sampler = (CLK_NORMALIZED_COORDS_FALSE |
                             CLK_FILTER_LINEAR);
    
      float 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值