[FFmpeg-devel] [PATCH 01/13] avfilter: Remove unnecessary emms_c for ff_scene_sad_get_fn

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Sun Sep 3 14:42:29 EEST 2023


Andreas Rheinhardt:
> ff_scene_sad_get_fn() does not return functions that use
> MMX at all.
> 
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> ---
>  libavfilter/f_select.c        | 1 -
>  libavfilter/vf_framerate.c    | 1 -
>  libavfilter/vf_freezedetect.c | 1 -
>  libavfilter/vf_minterpolate.c | 1 -
>  libavfilter/vf_scdet.c        | 1 -
>  5 files changed, 5 deletions(-)
> 
> diff --git a/libavfilter/f_select.c b/libavfilter/f_select.c
> index 49fcdc31ff..c9e216f51c 100644
> --- a/libavfilter/f_select.c
> +++ b/libavfilter/f_select.c
> @@ -294,7 +294,6 @@ static double get_scene_score(AVFilterContext *ctx, AVFrame *frame)
>              count += select->width[plane] * select->height[plane];
>          }
>  
> -        emms_c();
>          mafd = (double)sad / count / (1ULL << (select->bitdepth - 8));
>          diff = fabs(mafd - select->prev_mafd);
>          ret  = av_clipf(FFMIN(mafd, diff) / 100., 0, 1);
> diff --git a/libavfilter/vf_framerate.c b/libavfilter/vf_framerate.c
> index 6ef5dca27a..6d448be74c 100644
> --- a/libavfilter/vf_framerate.c
> +++ b/libavfilter/vf_framerate.c
> @@ -76,7 +76,6 @@ static double get_scene_score(AVFilterContext *ctx, AVFrame *crnt, AVFrame *next
>  
>          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);
>          diff = fabs(mafd - s->prev_mafd);
>          ret  = av_clipf(FFMIN(mafd, diff), 0, 100.0);
> diff --git a/libavfilter/vf_freezedetect.c b/libavfilter/vf_freezedetect.c
> index fb4e59b127..18d392d9ae 100644
> --- a/libavfilter/vf_freezedetect.c
> +++ b/libavfilter/vf_freezedetect.c
> @@ -131,7 +131,6 @@ static int is_frozen(FreezeDetectContext *s, AVFrame *reference, AVFrame *frame)
>              count += s->width[plane] * s->height[plane];
>          }
>      }
> -    emms_c();
>      mafd = (double)sad / count / (1ULL << s->bitdepth);
>      return (mafd <= s->noise);
>  }
> diff --git a/libavfilter/vf_minterpolate.c b/libavfilter/vf_minterpolate.c
> index 610ac6b1bb..9920210ece 100644
> --- a/libavfilter/vf_minterpolate.c
> +++ b/libavfilter/vf_minterpolate.c
> @@ -825,7 +825,6 @@ static int detect_scene_change(AVFilterContext *ctx)
>          double ret = 0, mafd, diff;
>          uint64_t sad;
>          mi_ctx->sad(p1, linesize1, p2, linesize2, input->w, input->h, &sad);
> -        emms_c();
>          mafd = (double) sad * 100.0 / (input->h * input->w) / (1 << mi_ctx->bitdepth);
>          diff = fabs(mafd - mi_ctx->prev_mafd);
>          ret  = av_clipf(FFMIN(mafd, diff), 0, 100.0);
> diff --git a/libavfilter/vf_scdet.c b/libavfilter/vf_scdet.c
> index 6de84a43a0..15399cfebf 100644
> --- a/libavfilter/vf_scdet.c
> +++ b/libavfilter/vf_scdet.c
> @@ -126,7 +126,6 @@ static double get_scene_score(AVFilterContext *ctx, AVFrame *frame)
>              count += s->width[plane] * s->height[plane];
>          }
>  
> -        emms_c();
>          mafd = (double)sad * 100. / count / (1ULL << s->bitdepth);
>          diff = fabs(mafd - s->prev_mafd);
>          ret  = av_clipf(FFMIN(mafd, diff), 0, 100.);

Will apply this patchset tomorrow unless there are objections.

- Andreas



More information about the ffmpeg-devel mailing list