Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(32)

Side by Side Diff: source/libvpx/vp9/encoder/vp9_avg.c

Issue 958693004: libvpx: Pull from upstream (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/libvpx.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2014 The WebM project authors. All Rights Reserved. 2 * Copyright (c) 2014 The WebM project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 #include "vp9/common/vp9_common.h" 10 #include "vp9/common/vp9_common.h"
(...skipping 10 matching lines...) Expand all
21 21
22 unsigned int vp9_avg_4x4_c(const uint8_t *s, int p) { 22 unsigned int vp9_avg_4x4_c(const uint8_t *s, int p) {
23 int i, j; 23 int i, j;
24 int sum = 0; 24 int sum = 0;
25 for (i = 0; i < 4; ++i, s+=p) 25 for (i = 0; i < 4; ++i, s+=p)
26 for (j = 0; j < 4; sum += s[j], ++j) {} 26 for (j = 0; j < 4; sum += s[j], ++j) {}
27 27
28 return (sum + 8) >> 4; 28 return (sum + 8) >> 4;
29 } 29 }
30 30
31 // Integer projection onto row vectors.
32 void vp9_int_pro_row_c(int16_t *hbuf, uint8_t const *ref,
33 const int ref_stride, const int height) {
34 int idx;
35 for (idx = 0; idx < 16; ++idx) {
36 int i;
37 hbuf[idx] = 0;
38 for (i = 0; i < height; ++i)
39 hbuf[idx] += ref[i * ref_stride];
40 ++ref;
41 }
42 }
43
44 int16_t vp9_int_pro_col_c(uint8_t const *ref, const int width) {
45 int idx;
46 int16_t sum = 0;
47 for (idx = 0; idx < width; ++idx)
48 sum += ref[idx];
49 return sum;
50 }
51
52 int vp9_vector_sad_c(int16_t const *ref, int16_t const *src,
53 const int width) {
54 int i;
55 int this_sad = 0;
56 for (i = 0; i < width; ++i)
57 this_sad += abs(ref[i] - src[i]);
58 return this_sad;
59 }
60
31 #if CONFIG_VP9_HIGHBITDEPTH 61 #if CONFIG_VP9_HIGHBITDEPTH
32 unsigned int vp9_highbd_avg_8x8_c(const uint8_t *s8, int p) { 62 unsigned int vp9_highbd_avg_8x8_c(const uint8_t *s8, int p) {
33 int i, j; 63 int i, j;
34 int sum = 0; 64 int sum = 0;
35 const uint16_t* s = CONVERT_TO_SHORTPTR(s8); 65 const uint16_t* s = CONVERT_TO_SHORTPTR(s8);
36 for (i = 0; i < 8; ++i, s+=p) 66 for (i = 0; i < 8; ++i, s+=p)
37 for (j = 0; j < 8; sum += s[j], ++j) {} 67 for (j = 0; j < 8; sum += s[j], ++j) {}
38 68
39 return (sum + 32) >> 6; 69 return (sum + 32) >> 6;
40 } 70 }
41 71
42 unsigned int vp9_highbd_avg_4x4_c(const uint8_t *s8, int p) { 72 unsigned int vp9_highbd_avg_4x4_c(const uint8_t *s8, int p) {
43 int i, j; 73 int i, j;
44 int sum = 0; 74 int sum = 0;
45 const uint16_t* s = CONVERT_TO_SHORTPTR(s8); 75 const uint16_t* s = CONVERT_TO_SHORTPTR(s8);
46 for (i = 0; i < 4; ++i, s+=p) 76 for (i = 0; i < 4; ++i, s+=p)
47 for (j = 0; j < 4; sum += s[j], ++j) {} 77 for (j = 0; j < 4; sum += s[j], ++j) {}
48 78
49 return (sum + 8) >> 4; 79 return (sum + 8) >> 4;
50 } 80 }
51 #endif // CONFIG_VP9_HIGHBITDEPTH 81 #endif // CONFIG_VP9_HIGHBITDEPTH
52 82
53 83
OLDNEW
« no previous file with comments | « source/libvpx/vp9/encoder/vp9_aq_cyclicrefresh.c ('k') | source/libvpx/vp9/encoder/vp9_bitstream.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698