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

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Fri Sep 1 01:20:18 EEST 2023


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.);
-- 
2.34.1



More information about the ffmpeg-devel mailing list