[FFmpeg-devel] Fw: [PATCH] Refactor two near-identical clauses.
Shlomi Fish
shlomif at shlomifish.org
Sat Jun 16 19:30:10 EEST 2018
On Tue, 12 Jun 2018 12:53:20 +0300
Shlomi Fish <shlomif at shlomifish.org> wrote:
> This message did not arrive to the list after three submissions.
>
hi all!
Ping! Can this patch please be reviewed?
> Begin forwarded message:
>
> Date: Tue, 12 Jun 2018 12:42:52 +0300
> From: Shlomi Fish <shlomif at shlomifish.org>
> To: ffmpeg-devel at ffmpeg.org
> Cc: Shlomi Fish <shlomif at shlomifish.org>
> Subject: [PATCH] Refactor two near-identical clauses.
>
>
> Placed under the Expat licence . All tests pass.
> ---
> libavfilter/vf_weave.c | 33 ++++++++++++++-------------------
> 1 file changed, 14 insertions(+), 19 deletions(-)
>
> diff --git a/libavfilter/vf_weave.c b/libavfilter/vf_weave.c
> index 037f5d1cf2..be371201e1 100644
> --- a/libavfilter/vf_weave.c
> +++ b/libavfilter/vf_weave.c
> @@ -23,6 +23,7 @@
> #include "libavutil/pixdesc.h"
> #include "avfilter.h"
> #include "internal.h"
> +#include <stdbool.h>
>
> typedef struct WeaveContext {
> const AVClass *class;
> @@ -84,6 +85,8 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
> AVFilterLink *outlink = ctx->outputs[0];
> AVFrame *out;
> int i;
> + bool weave;
> + int field1, field2;
>
> if (!s->prev) {
> s->prev = in;
> @@ -98,26 +101,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 = s->first_field * weave;
> + field2 = s->first_field * !weave;
> 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;
--
-----------------------------------------------------------------
Shlomi Fish http://www.shlomifish.org/
https://github.com/shlomif/PySolFC - open source Solitaire games
Larry Wall has more dollars in the bank than in his Perl code.
— http://www.shlomifish.org/humour/bits/facts/Larry-Wall/
Please reply to list if it's a mailing list post - http://shlom.in/reply .
More information about the ffmpeg-devel
mailing list