]> granicus.if.org Git - libvpx/commitdiff
max_sad check is not always implemented
authorJohann <johannkoenig@google.com>
Fri, 10 Feb 2012 00:19:10 +0000 (16:19 -0800)
committerJohann <johannkoenig@google.com>
Fri, 10 Feb 2012 00:19:10 +0000 (16:19 -0800)
As an optimization some architectures use the max_sad argument to break
out early from the SAD. Pass in INT_MAX instead of 0 to prevent this.

Change-Id: I653c476834b97771578d63f231233d445388629d

vp8/common/postproc.c

index 87e999772482dc2bd6ae66b25ac90ee7b5792ee4..401989ba5a3d8b73525e4734d3873c506d3e83a8 100644 (file)
@@ -19,6 +19,7 @@
 #include "systemdependent.h"
 #include "../encoder/variance.h"
 
+#include <limits.h>
 #include <math.h>
 #include <stdlib.h>
 #include <stdio.h>
@@ -729,17 +730,17 @@ static void multiframe_quality_enhance_block
     if (blksize == 16)
     {
         act = (vp8_variance16x16(yd, yd_stride, VP8_ZEROS, 0, &sse)+128)>>8;
-        sad = (vp8_sad16x16(y, y_stride, yd, yd_stride, 0)+128)>>8;
+        sad = (vp8_sad16x16(y, y_stride, yd, yd_stride, INT_MAX)+128)>>8;
     }
     else if (blksize == 8)
     {
         act = (vp8_variance8x8(yd, yd_stride, VP8_ZEROS, 0, &sse)+32)>>6;
-        sad = (vp8_sad8x8(y, y_stride, yd, yd_stride, 0)+32)>>6;
+        sad = (vp8_sad8x8(y, y_stride, yd, yd_stride, INT_MAX)+32)>>6;
     }
     else
     {
         act = (vp8_variance4x4(yd, yd_stride, VP8_ZEROS, 0, &sse)+8)>>4;
-        sad = (vp8_sad4x4(y, y_stride, yd, yd_stride, 0)+8)>>4;
+        sad = (vp8_sad4x4(y, y_stride, yd, yd_stride, INT_MAX)+8)>>4;
     }
     /* thr = qdiff/8 + log2(act) + log4(qprev) */
     thr = (qdiff>>3);