vf_gradfun: use the name 's' for the pointer to the private context

This is shorter and consistent across filters.
pull/18/head
Anton Khirnov 12 years ago
parent f6b6d6ac42
commit 05fab5530b
  1. 42
      libavfilter/vf_gradfun.c

@ -122,26 +122,26 @@ static void filter(GradFunContext *ctx, uint8_t *dst, uint8_t *src, int width, i
static av_cold int init(AVFilterContext *ctx)
{
GradFunContext *gf = ctx->priv;
GradFunContext *s = ctx->priv;
gf->thresh = (1 << 15) / gf->strength;
gf->radius &= ~1;
s->thresh = (1 << 15) / s->strength;
s->radius &= ~1;
gf->blur_line = ff_gradfun_blur_line_c;
gf->filter_line = ff_gradfun_filter_line_c;
s->blur_line = ff_gradfun_blur_line_c;
s->filter_line = ff_gradfun_filter_line_c;
if (ARCH_X86)
ff_gradfun_init_x86(gf);
ff_gradfun_init_x86(s);
av_log(ctx, AV_LOG_VERBOSE, "threshold:%.2f radius:%d\n", gf->strength, gf->radius);
av_log(ctx, AV_LOG_VERBOSE, "threshold:%.2f radius:%d\n", s->strength, s->radius);
return 0;
}
static av_cold void uninit(AVFilterContext *ctx)
{
GradFunContext *gf = ctx->priv;
av_freep(&gf->buf);
GradFunContext *s = ctx->priv;
av_freep(&s->buf);
}
static int query_formats(AVFilterContext *ctx)
@ -161,25 +161,25 @@ static int query_formats(AVFilterContext *ctx)
static int config_input(AVFilterLink *inlink)
{
GradFunContext *gf = inlink->dst->priv;
GradFunContext *s = inlink->dst->priv;
const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(inlink->format);
int hsub = desc->log2_chroma_w;
int vsub = desc->log2_chroma_h;
gf->buf = av_mallocz((FFALIGN(inlink->w, 16) * (gf->radius + 1) / 2 + 32) * sizeof(uint16_t));
if (!gf->buf)
s->buf = av_mallocz((FFALIGN(inlink->w, 16) * (s->radius + 1) / 2 + 32) * sizeof(uint16_t));
if (!s->buf)
return AVERROR(ENOMEM);
gf->chroma_w = -((-inlink->w) >> hsub);
gf->chroma_h = -((-inlink->h) >> vsub);
gf->chroma_r = av_clip(((((gf->radius >> hsub) + (gf->radius >> vsub)) / 2 ) + 1) & ~1, 4, 32);
s->chroma_w = -((-inlink->w) >> hsub);
s->chroma_h = -((-inlink->h) >> vsub);
s->chroma_r = av_clip(((((s->radius >> hsub) + (s->radius >> vsub)) / 2 ) + 1) & ~1, 4, 32);
return 0;
}
static int filter_frame(AVFilterLink *inlink, AVFrame *in)
{
GradFunContext *gf = inlink->dst->priv;
GradFunContext *s = inlink->dst->priv;
AVFilterLink *outlink = inlink->dst->outputs[0];
AVFrame *out;
int p, direct;
@ -203,15 +203,15 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
for (p = 0; p < 4 && in->data[p]; p++) {
int w = inlink->w;
int h = inlink->h;
int r = gf->radius;
int r = s->radius;
if (p) {
w = gf->chroma_w;
h = gf->chroma_h;
r = gf->chroma_r;
w = s->chroma_w;
h = s->chroma_h;
r = s->chroma_r;
}
if (FFMIN(w, h) > 2 * r)
filter(gf, out->data[p], in->data[p], w, h, out->linesize[p], in->linesize[p], r);
filter(s, out->data[p], in->data[p], w, h, out->linesize[p], in->linesize[p], r);
else if (out->data[p] != in->data[p])
av_image_copy_plane(out->data[p], out->linesize[p], in->data[p], in->linesize[p], w, h);
}

Loading…
Cancel
Save