mirror of
https://gitee.com/openharmony/third_party_ffmpeg
synced 2024-11-24 19:59:46 +00:00
vf_gradfun: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
This commit is contained in:
parent
f6b6d6ac42
commit
05fab5530b
@ -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…
Reference in New Issue
Block a user