Browse Source

avfilter/vf_maskedmerge: fix bug when copying >8bit plane(s)

Signed-off-by: Paul B Mahol <onemda@gmail.com>
tags/n3.4
Paul B Mahol 8 years ago
parent
commit
f4218d93ef
2 changed files with 5 additions and 1 deletions
  1. +1
    -0
      libavfilter/maskedmerge.h
  2. +4
    -1
      libavfilter/vf_maskedmerge.c

+ 1
- 0
libavfilter/maskedmerge.h View File

@@ -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;


+ 4
- 1
libavfilter/vf_maskedmerge.c View File

@@ -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;



Loading…
Cancel
Save