Browse Source

avfilter/vf_weave: fix top vs bottom field order

Fixes #6590.
tags/n3.4
Paul B Mahol 7 years ago
parent
commit
16efcfe413
2 changed files with 5 additions and 5 deletions
  1. +4
    -4
      libavfilter/vf_weave.c
  2. +1
    -1
      tests/fate/filter-video.mak

+ 4
- 4
libavfilter/vf_weave.c View File

@@ -100,20 +100,20 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)

for (i = 0; i < s->nb_planes; i++) {
if (s->double_weave && !(inlink->frame_count_out & 1)) {
av_image_copy_plane(out->data[i] + out->linesize[i] * !s->first_field,
av_image_copy_plane(out->data[i] + out->linesize[i] * s->first_field,
out->linesize[i] * 2,
in->data[i], in->linesize[i],
s->linesize[i], s->planeheight[i]);
av_image_copy_plane(out->data[i] + out->linesize[i] * s->first_field,
av_image_copy_plane(out->data[i] + out->linesize[i] * !s->first_field,
out->linesize[i] * 2,
s->prev->data[i], s->prev->linesize[i],
s->linesize[i], s->planeheight[i]);
} else {
av_image_copy_plane(out->data[i] + out->linesize[i] * s->first_field,
av_image_copy_plane(out->data[i] + out->linesize[i] * !s->first_field,
out->linesize[i] * 2,
in->data[i], in->linesize[i],
s->linesize[i], s->planeheight[i]);
av_image_copy_plane(out->data[i] + out->linesize[i] * !s->first_field,
av_image_copy_plane(out->data[i] + out->linesize[i] * s->first_field,
out->linesize[i] * 2,
s->prev->data[i], s->prev->linesize[i],
s->linesize[i], s->planeheight[i]);


+ 1
- 1
tests/fate/filter-video.mak View File

@@ -289,7 +289,7 @@ FATE_FILTER_VSYNTH-$(CONFIG_SEPARATEFIELDS_FILTER) += fate-filter-separatefields
fate-filter-separatefields: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf separatefields

FATE_FILTER_VSYNTH-$(CONFIG_WEAVE_FILTER) += fate-filter-weave
fate-filter-weave: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf weave
fate-filter-weave: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf weave=bottom

FATE_FILTER_VSYNTH-$(CONFIG_SELECT_FILTER) += fate-filter-select-alternate
fate-filter-select-alternate: tests/data/filtergraphs/select-alternate


Loading…
Cancel
Save