diff options
author | Paul B Mahol <onemda@gmail.com> | 2018-11-20 23:18:47 +0100 |
---|---|---|
committer | Paul B Mahol <onemda@gmail.com> | 2018-11-20 23:18:47 +0100 |
commit | 57815cfad5c5d6beb6f3fc0ae86b050a970d3a08 (patch) | |
tree | 9bbfc5be892934d17fab44012f64d6c5b521ae4d /libavfilter | |
parent | e3a96309826dd0ea33db0300f7c75414fdbea0a4 (diff) | |
download | ffmpeg-57815cfad5c5d6beb6f3fc0ae86b050a970d3a08.tar.gz |
avfilter/vf_overlay: fix crash with negative y
Diffstat (limited to 'libavfilter')
-rw-r--r-- | libavfilter/vf_overlay.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/libavfilter/vf_overlay.c b/libavfilter/vf_overlay.c index ba25893739..a12e7a793f 100644 --- a/libavfilter/vf_overlay.c +++ b/libavfilter/vf_overlay.c @@ -473,12 +473,12 @@ static av_always_inline void blend_plane(AVFilterContext *ctx, slice_start = (jmax * jobnr) / nb_jobs; slice_end = (jmax * (jobnr+1)) / nb_jobs; - sp = src->data[i] + slice_start * src->linesize[i]; + sp = src->data[i] + (j + slice_start) * src->linesize[i]; dp = dst->data[dst_plane] - + (yp + slice_start) * dst->linesize[dst_plane] + + (yp + j + slice_start) * dst->linesize[dst_plane] + dst_offset; - ap = src->data[3] + (slice_start << vsub) * src->linesize[3]; - dap = dst->data[3] + ((yp + slice_start) << vsub) * dst->linesize[3]; + ap = src->data[3] + (j + slice_start << vsub) * src->linesize[3]; + dap = dst->data[3] + ((yp + j + slice_start) << vsub) * dst->linesize[3]; for (j = j + slice_start; j < slice_end; j++) { k = FFMAX(-xp, 0); |