| Index: source/libvpx/vp9/encoder/vp9_avg.c
|
| diff --git a/source/libvpx/vp9/encoder/vp9_avg.c b/source/libvpx/vp9/encoder/vp9_avg.c
|
| index f8fa7d2e8dfda96b97e18ab51ec29d25fe8e6900..8d6cf0667c15b1ae80156c01b48d048bdbc64589 100644
|
| --- a/source/libvpx/vp9/encoder/vp9_avg.c
|
| +++ b/source/libvpx/vp9/encoder/vp9_avg.c
|
| @@ -28,6 +28,36 @@ unsigned int vp9_avg_4x4_c(const uint8_t *s, int p) {
|
| return (sum + 8) >> 4;
|
| }
|
|
|
| +// Integer projection onto row vectors.
|
| +void vp9_int_pro_row_c(int16_t *hbuf, uint8_t const *ref,
|
| + const int ref_stride, const int height) {
|
| + int idx;
|
| + for (idx = 0; idx < 16; ++idx) {
|
| + int i;
|
| + hbuf[idx] = 0;
|
| + for (i = 0; i < height; ++i)
|
| + hbuf[idx] += ref[i * ref_stride];
|
| + ++ref;
|
| + }
|
| +}
|
| +
|
| +int16_t vp9_int_pro_col_c(uint8_t const *ref, const int width) {
|
| + int idx;
|
| + int16_t sum = 0;
|
| + for (idx = 0; idx < width; ++idx)
|
| + sum += ref[idx];
|
| + return sum;
|
| +}
|
| +
|
| +int vp9_vector_sad_c(int16_t const *ref, int16_t const *src,
|
| + const int width) {
|
| + int i;
|
| + int this_sad = 0;
|
| + for (i = 0; i < width; ++i)
|
| + this_sad += abs(ref[i] - src[i]);
|
| + return this_sad;
|
| +}
|
| +
|
| #if CONFIG_VP9_HIGHBITDEPTH
|
| unsigned int vp9_highbd_avg_8x8_c(const uint8_t *s8, int p) {
|
| int i, j;
|
|
|