On Thu, Oct 10, 2019 at 01:52:56PM +0200, Michael Niedermayer wrote:
> On Tue, Oct 08, 2019 at 11:28:37PM +0800, lance.lmw...@gmail.com wrote:
> > From: Limin Wang <lance.lmw...@gmail.com>
> > 
> > Reviewed-by: Paul B Mahol <one...@gmail.com>
> > Signed-off-by: Limin Wang <lance.lmw...@gmail.com>
> > ---
> >  libavfilter/vf_framerate.c | 15 +++++++++++----
> >  1 file changed, 11 insertions(+), 4 deletions(-)
> > 
> > diff --git a/libavfilter/vf_framerate.c b/libavfilter/vf_framerate.c
> > index 6c8d01c..8d16998 100644
> > --- a/libavfilter/vf_framerate.c
> > +++ b/libavfilter/vf_framerate.c
> > @@ -71,13 +71,20 @@ static double get_scene_score(AVFilterContext *ctx, 
> > AVFrame *crnt, AVFrame *next
> >  
> >      if (crnt->height == next->height &&
> >          crnt->width  == next->width) {
> > +        AVDictionaryEntry *e_mafd = NULL;
> >          uint64_t sad;
> > -        double mafd, diff;
> > +        double mafd = HUGE_VAL, diff;
> > +        char *tail = NULL;
> >  
> >          ff_dlog(ctx, "get_scene_score() process\n");
> > -        s->sad(crnt->data[0], crnt->linesize[0], next->data[0], 
> > next->linesize[0], crnt->width, crnt->height, &sad);
> > -        emms_c();
> > -        mafd = (double)sad * 100.0 / (crnt->width * crnt->height) / (1 << 
> > s->bitdepth);
> > +        e_mafd = av_dict_get(next->metadata, "lavfi.scd.mafd", NULL, 
> > AV_DICT_MATCH_CASE);
> > +        if (e_mafd)
> > +            mafd = strtod(e_mafd->value, &tail);
> > +        if (*tail || mafd == HUGE_VAL) {
> > +            s->sad(crnt->data[0], crnt->linesize[0], next->data[0], 
> > next->linesize[0], crnt->width, crnt->height, &sad);
> > +            emms_c();
> > +            mafd = (double)sad * 100.0 / (crnt->width * crnt->height) / (1 
> > << s->bitdepth);
> > +        }
> 
> while this is not introduced by the patch, i would suggest to seperate
> emms_c() from functions using floating point, This combination does have
> some potential for emms and the compilers optimizer hitting each other

Michael, I haven't clear about what to seperate the emms_c? any reference usage 
in 
existing codebase? I can help to submit patch to fix it, there're at least five 
filters
are using the same way.

> 
> thx
> 
> 
> [...]
> -- 
> Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
> 
> Old school: Use the lowest level language in which you can solve the problem
>             conveniently.
> New school: Use the highest level language in which the latest supercomputer
>             can solve the problem without the user falling asleep waiting.



> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to