atadenoise算法的原理是什么,ffmpeg源代码中的哪个函数实现了atadenoise算法?

问题描述

我无法弄清楚 libavfilter/vf_atadenoise.c 中的哪个函数在 ffmpeg 中实现了 atadenoise...

解决方法

顶层函数是

static int filter_frame(AVFilterLink *inlink,AVFrame *buf)

在里面,电话

ctx->internal->execute(ctx,s->filter_slice,&td,NULL,FFMIN3(s->planeheight[1],s->planeheight[2],ff_filter_get_nb_threads(ctx)));

导致过滤的线程执行。

s->filter_slice 是指向实际过滤函数的函数指针,具体取决于输入参数。

对函数指针的引用发生在

static int config_input(AVFilterLink *inlink)

所有定制的过滤器功能都是使用宏定义的,从下面的行开始,

#define WFILTER_ROW(type,name)