Re: [FFmpeg-devel] [PATCH 2/5] avfilter/select: use av_pixelutils_bdiff()

2014-08-17 Thread Michael Niedermayer
On Thu, Aug 14, 2014 at 11:05:12PM +0200, Clément Bœsch wrote:
 ---
  libavfilter/f_select.c | 20 +---
  1 file changed, 5 insertions(+), 15 deletions(-)

LGTM

[...]
-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

In a rich man's house there is no place to spit but his face.
-- Diogenes of Sinope


signature.asc
Description: Digital signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH 2/5] avfilter/select: use av_pixelutils_bdiff()

2014-08-14 Thread Clément Bœsch
---
 libavfilter/f_select.c | 20 +---
 1 file changed, 5 insertions(+), 15 deletions(-)

diff --git a/libavfilter/f_select.c b/libavfilter/f_select.c
index 546a940..e1837db 100644
--- a/libavfilter/f_select.c
+++ b/libavfilter/f_select.c
@@ -251,22 +251,12 @@ static double get_scene_score(AVFilterContext *ctx, 
AVFrame *frame)
 if (prev_picref 
 frame-height == prev_picref-height 
 frame-width  == prev_picref-width) {
-int x, y, nb_sad = 0;
-int64_t sad = 0;
 double mafd, diff;
-uint8_t *p1 =  frame-data[0];
-uint8_t *p2 = prev_picref-data[0];
-const int p1_linesize =   frame-linesize[0];
-const int p2_linesize = prev_picref-linesize[0];
-
-for (y = 0; y  frame-height - 7; y += 8) {
-for (x = 0; x  frame-width*3 - 7; x += 8) {
-sad += select-sad(p1 + x, p1_linesize, p2 + x, p2_linesize);
-nb_sad += 8 * 8;
-}
-p1 += 8 * p1_linesize;
-p2 += 8 * p2_linesize;
-}
+const int nb_sad = (frame-height  ~7) * ((frame-width*3)  ~7);
+const int64_t sad = av_pixelutils_bdiff(
+frame-data[0], frame-linesize[0],
+prev_picref-data[0], prev_picref-linesize[0],
+select-sad, frame-width*3, frame-height, 8);
 emms_c();
 mafd = nb_sad ? (double)sad / nb_sad : 0;
 diff = fabs(mafd - select-prev_mafd);
-- 
2.0.4

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel