问题描述
我无法弄清楚 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)