[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