s->size |= 1;
}
s->radius = s->size / 2;
- s->mid = s->radius + 1;
+ s->mid = s->radius;
return 0;
}
for (int p = 0; p < s->nb_planes; p++) {
float sigma = s->radius * s->sigma[p];
- s->weights[p][s->mid] = 1.f;
+ s->weights[p][s->radius] = 1.f;
for (int n = 1; n <= s->radius; n++) {
s->weights[p][s->radius + n] =
s->weights[p][s->radius - n] = expf(-0.5 * (n + 1) * (n + 1) / (sigma * sigma));
{ NULL }
};
-AVFilter ff_vf_atadenoise = {
+const AVFilter ff_vf_atadenoise = {
.name = "atadenoise",
.description = NULL_IF_CONFIG_SMALL("Apply an Adaptive Temporal Averaging Denoiser."),
.priv_size = sizeof(ATADenoiseContext),