[FFmpeg-devel] Fw: [PATCH] Refactor two near-identical clauses.

Michael Niedermayer michael at niedermayer.cc
Thu Jun 28 03:38:51 EEST 2018


On Sun, Jun 17, 2018 at 03:40:19PM +0300, Shlomi Fish wrote:
> On Sun, 17 Jun 2018 03:05:27 +0200
> Michael Niedermayer <michael at niedermayer.cc> wrote:
> 
> > On Tue, Jun 12, 2018 at 12:53:20PM +0300, Shlomi Fish wrote:
> > > This message did not arrive to the list after three submissions.
> > > 
> > > 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,  
> > 
> > this seems to be corrupted by line breaks
> > 
> 
> Well, the git send-email email was silently dropped three times... See:
> 
> http://www.shlomifish.org/Files/files/code/0001-Refactor-two-near-identical-clauses.patch
> 
> also attached here. Email has sadly become unreliable.
> 
> > [...]
> > 
> 
> 

>  vf_weave.c |   33 ++++++++++++++-------------------
>  1 file changed, 14 insertions(+), 19 deletions(-)
> f5a0afe735e322c2539a11dd7d8b28534d96c99c  0001-Refactor-two-near-identical-clauses.patch
> From b6678799848297cd7079085035259baf6d8c54f0 Mon Sep 17 00:00:00 2001
> From: Shlomi Fish <shlomif at shlomifish.org>
> Date: Fri, 25 May 2018 23:44:54 +0300
> 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;

if first_field is 0 both field1 and 2 are 0 while !s->first_field was not 0
but gets replaced by it
am i missing something ?

stdbool seems unneeded

and what is "Placed under the Expat licence" supposed to mean ?
the file is under LGPL


[...]


-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Avoid a single point of failure, be that a person or equipment.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20180628/aff0aa97/attachment.sig>


More information about the ffmpeg-devel mailing list