mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-02-26 00:31:12 +00:00
avfilter/vf_noise: dont corrupt the picture outside width x height
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
3eba83daed
commit
51dab60c7b
@ -57,6 +57,7 @@ typedef struct {
|
|||||||
const AVClass *class;
|
const AVClass *class;
|
||||||
int nb_planes;
|
int nb_planes;
|
||||||
int linesize[4];
|
int linesize[4];
|
||||||
|
int bytewidth[4];
|
||||||
int height[4];
|
int height[4];
|
||||||
FilterParams all;
|
FilterParams all;
|
||||||
FilterParams param[4];
|
FilterParams param[4];
|
||||||
@ -196,6 +197,9 @@ static int config_input(AVFilterLink *inlink)
|
|||||||
n->height[1] = n->height[2] = FF_CEIL_RSHIFT(inlink->h, desc->log2_chroma_h);
|
n->height[1] = n->height[2] = FF_CEIL_RSHIFT(inlink->h, desc->log2_chroma_h);
|
||||||
n->height[0] = n->height[3] = inlink->h;
|
n->height[0] = n->height[3] = inlink->h;
|
||||||
|
|
||||||
|
n->bytewidth [1] = n->bytewidth [2] = FF_CEIL_RSHIFT(inlink->w, desc->log2_chroma_w) * ((desc->comp[0].depth_minus1 + 1) / 8);
|
||||||
|
n->bytewidth [0] = n->bytewidth [3] = inlink->w * ((desc->comp[0].depth_minus1 + 1) / 8);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -377,7 +381,7 @@ static int filter_slice(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs)
|
|||||||
noise(td->out->data[plane] + start * td->out->linesize[plane],
|
noise(td->out->data[plane] + start * td->out->linesize[plane],
|
||||||
td->in->data[plane] + start * td->in->linesize[plane],
|
td->in->data[plane] + start * td->in->linesize[plane],
|
||||||
td->out->linesize[plane], td->in->linesize[plane],
|
td->out->linesize[plane], td->in->linesize[plane],
|
||||||
s->linesize[plane], start, end, s, plane);
|
s->bytewidth[plane], start, end, s, plane);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user