diff options
Diffstat (limited to 'vp9/encoder')
-rw-r--r-- | vp9/encoder/vp9_sad_c.c | 6 | ||||
-rw-r--r-- | vp9/encoder/vp9_sadmxn.h | 38 |
2 files changed, 41 insertions, 3 deletions
diff --git a/vp9/encoder/vp9_sad_c.c b/vp9/encoder/vp9_sad_c.c index 42ddb21a5..55d595baf 100644 --- a/vp9/encoder/vp9_sad_c.c +++ b/vp9/encoder/vp9_sad_c.c @@ -10,11 +10,11 @@ #include <stdlib.h> -#include "vp9/common/vp9_sadmxn.h" -#include "vp9/encoder/vp9_variance.h" +#include "./vp9_rtcd.h" #include "./vpx_config.h" +#include "vp9/encoder/vp9_sadmxn.h" +#include "vp9/encoder/vp9_variance.h" #include "vpx/vpx_integer.h" -#include "./vp9_rtcd.h" #define sad_mxn_func(m, n) \ unsigned int vp9_sad##m##x##n##_c(const uint8_t *src_ptr, \ diff --git a/vp9/encoder/vp9_sadmxn.h b/vp9/encoder/vp9_sadmxn.h new file mode 100644 index 000000000..b2dfd63f9 --- /dev/null +++ b/vp9/encoder/vp9_sadmxn.h @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2010 The WebM project authors. All Rights Reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +#ifndef VP9_COMMON_VP9_SADMXN_H_ +#define VP9_COMMON_VP9_SADMXN_H_ + +#include "./vpx_config.h" +#include "vpx/vpx_integer.h" + +static INLINE unsigned int sad_mx_n_c(const uint8_t *src_ptr, + int src_stride, + const uint8_t *ref_ptr, + int ref_stride, + int m, + int n) { + int r, c; + unsigned int sad = 0; + + for (r = 0; r < n; r++) { + for (c = 0; c < m; c++) { + sad += abs(src_ptr[c] - ref_ptr[c]); + } + + src_ptr += src_stride; + ref_ptr += ref_stride; + } + + return sad; +} + +#endif // VP9_COMMON_VP9_SADMXN_H_ |