Commit 1ecdcb61 authored by Shlomi Fish's avatar Shlomi Fish Committed by Carl Eugen Hoyos

lavfi/weave: Refactor two near-identical clauses.

The changes contained in this patch are hereby placed under the Expat licence.

Reviewed-by: Paul B Mahol
parent 267ba2aa
......@@ -84,6 +84,8 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
AVFilterLink *outlink = ctx->outputs[0];
AVFrame *out;
int i;
int weave;
int field1, field2;
if (!s->prev) {
s->prev = in;
......@@ -98,26 +100,18 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
}
av_frame_copy_props(out, in);
weave = (s->double_weave && !(inlink->frame_count_out & 1));
field1 = weave ? s->first_field : (!s->first_field);
field2 = weave ? (!s->first_field) : s->first_field;
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,
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,
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,
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,
out->linesize[i] * 2,
s->prev->data[i], s->prev->linesize[i],
s->linesize[i], s->planeheight[i]);
}
av_image_copy_plane(out->data[i] + out->linesize[i] * field1,
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] * field2,
out->linesize[i] * 2,
s->prev->data[i], s->prev->linesize[i],
s->linesize[i], s->planeheight[i]);
}
out->pts = s->double_weave ? s->prev->pts : in->pts / 2;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment