Browse Source

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

This is shorter and consistent across filters.
tags/n2.0
Anton Khirnov 12 years ago
parent
commit
05fab5530b
1 changed files with 21 additions and 21 deletions
  1. +21
    -21
      libavfilter/vf_gradfun.c

+ 21
- 21
libavfilter/vf_gradfun.c View File

@@ -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) 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) 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; return 0;
} }


static av_cold void uninit(AVFilterContext *ctx) 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) static int query_formats(AVFilterContext *ctx)
@@ -161,25 +161,25 @@ static int query_formats(AVFilterContext *ctx)


static int config_input(AVFilterLink *inlink) 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); const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(inlink->format);
int hsub = desc->log2_chroma_w; int hsub = desc->log2_chroma_w;
int vsub = desc->log2_chroma_h; 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); 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; return 0;
} }


static int filter_frame(AVFilterLink *inlink, AVFrame *in) static int filter_frame(AVFilterLink *inlink, AVFrame *in)
{ {
GradFunContext *gf = inlink->dst->priv;
GradFunContext *s = inlink->dst->priv;
AVFilterLink *outlink = inlink->dst->outputs[0]; AVFilterLink *outlink = inlink->dst->outputs[0];
AVFrame *out; AVFrame *out;
int p, direct; int p, direct;
@@ -203,15 +203,15 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
for (p = 0; p < 4 && in->data[p]; p++) { for (p = 0; p < 4 && in->data[p]; p++) {
int w = inlink->w; int w = inlink->w;
int h = inlink->h; int h = inlink->h;
int r = gf->radius;
int r = s->radius;
if (p) { 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) 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]) 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); av_image_copy_plane(out->data[p], out->linesize[p], in->data[p], in->linesize[p], w, h);
} }


Loading…
Cancel
Save