Commit f3d8a4ea authored by Paul B Mahol's avatar Paul B Mahol

avfilter/vf_limiter: always limit min/max to format depth

parent 40b74abf
...@@ -138,13 +138,14 @@ static int config_props(AVFilterLink *inlink) ...@@ -138,13 +138,14 @@ static int config_props(AVFilterLink *inlink)
AVFilterContext *ctx = inlink->dst; AVFilterContext *ctx = inlink->dst;
LimiterContext *s = ctx->priv; LimiterContext *s = ctx->priv;
const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(inlink->format); const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(inlink->format);
int vsub, hsub, ret; int depth, vsub, hsub, ret;
s->nb_planes = av_pix_fmt_count_planes(inlink->format); s->nb_planes = av_pix_fmt_count_planes(inlink->format);
if ((ret = av_image_fill_linesizes(s->linesize, inlink->format, inlink->w)) < 0) if ((ret = av_image_fill_linesizes(s->linesize, inlink->format, inlink->w)) < 0)
return ret; return ret;
depth = desc->comp[0].depth;
hsub = desc->log2_chroma_w; hsub = desc->log2_chroma_w;
vsub = desc->log2_chroma_h; vsub = desc->log2_chroma_h;
s->height[1] = s->height[2] = AV_CEIL_RSHIFT(inlink->h, vsub); s->height[1] = s->height[2] = AV_CEIL_RSHIFT(inlink->h, vsub);
...@@ -152,10 +153,11 @@ static int config_props(AVFilterLink *inlink) ...@@ -152,10 +153,11 @@ static int config_props(AVFilterLink *inlink)
s->width[1] = s->width[2] = AV_CEIL_RSHIFT(inlink->w, hsub); s->width[1] = s->width[2] = AV_CEIL_RSHIFT(inlink->w, hsub);
s->width[0] = s->width[3] = inlink->w; s->width[0] = s->width[3] = inlink->w;
if (desc->comp[0].depth == 8) { s->max = FFMIN(s->max, (1 << depth) - 1);
s->min = FFMIN(s->min, (1 << depth) - 1);
if (depth == 8) {
s->dsp.limiter = limiter8; s->dsp.limiter = limiter8;
s->max = FFMIN(s->max, 255);
s->min = FFMIN(s->min, 255);
} else { } else {
s->dsp.limiter = limiter16; s->dsp.limiter = limiter16;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment