[FFmpeg-cvslog] avfilter/vf_maskedmerge: fix bug when copying >8bit plane(s)
Paul B Mahol
git at videolan.org
Sun Apr 23 19:34:26 EEST 2017
ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Sun Apr 23 18:31:05 2017 +0200| [f4218d93efaefb2fb1a1dfcf45d6917a397e96ed] | committer: Paul B Mahol
avfilter/vf_maskedmerge: fix bug when copying >8bit plane(s)
Signed-off-by: Paul B Mahol <onemda at gmail.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f4218d93efaefb2fb1a1dfcf45d6917a397e96ed
---
libavfilter/maskedmerge.h | 1 +
libavfilter/vf_maskedmerge.c | 5 ++++-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/libavfilter/maskedmerge.h b/libavfilter/maskedmerge.h
index a8c7551bad..8e2b1cf676 100644
--- a/libavfilter/maskedmerge.h
+++ b/libavfilter/maskedmerge.h
@@ -27,6 +27,7 @@
typedef struct MaskedMergeContext {
const AVClass *class;
int width[4], height[4];
+ int linesize[4];
int nb_planes;
int planes;
int half, depth;
diff --git a/libavfilter/vf_maskedmerge.c b/libavfilter/vf_maskedmerge.c
index 2c42d62d8a..cf8a56814e 100644
--- a/libavfilter/vf_maskedmerge.c
+++ b/libavfilter/vf_maskedmerge.c
@@ -91,7 +91,7 @@ static int process_frame(FFFrameSync *fs)
for (p = 0; p < s->nb_planes; p++) {
if (!((1 << p) & s->planes)) {
av_image_copy_plane(out->data[p], out->linesize[p], base->data[p], base->linesize[p],
- s->width[p], s->height[p]);
+ s->linesize[p], s->height[p]);
continue;
}
@@ -229,6 +229,9 @@ static int config_output(AVFilterLink *outlink)
outlink->sample_aspect_ratio = base->sample_aspect_ratio;
outlink->frame_rate = base->frame_rate;
+ if ((ret = av_image_fill_linesizes(s->linesize, outlink->format, outlink->w)) < 0)
+ return ret;
+
if ((ret = ff_framesync_init(&s->fs, ctx, 3)) < 0)
return ret;
More information about the ffmpeg-cvslog
mailing list