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

Side by Side Diff: source/libvpx/vp9/common/x86/vp9_subpixel_variance_sse2.c

Issue 11974002: libvpx: Pull from upstream (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/libvpx/
Patch Set: Created 7 years, 11 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 /*
2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved.
3 *
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
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11 #define HALFNDX 8
12
13 void vp9_half_horiz_variance16x_h_sse2(const unsigned char *ref_ptr,
14 int ref_pixels_per_line,
15 const unsigned char *src_ptr,
16 int src_pixels_per_line,
17 unsigned int Height,
18 int *sum,
19 unsigned int *sumsquared);
20
21 void vp9_half_vert_variance16x_h_sse2(const unsigned char *ref_ptr,
22 int ref_pixels_per_line,
23 const unsigned char *src_ptr,
24 int src_pixels_per_line,
25 unsigned int Height,
26 int *sum,
27 unsigned int *sumsquared);
28
29 void vp9_half_horiz_vert_variance16x_h_sse2(const unsigned char *ref_ptr,
30 int ref_pixels_per_line,
31 const unsigned char *src_ptr,
32 int src_pixels_per_line,
33 unsigned int Height,
34 int *sum,
35 unsigned int *sumsquared);
36
37 void vp9_filter_block2d_bil_var_sse2(const unsigned char *ref_ptr,
38 int ref_pixels_per_line,
39 const unsigned char *src_ptr,
40 int src_pixels_per_line,
41 unsigned int Height,
42 int xoffset,
43 int yoffset,
44 int *sum,
45 unsigned int *sumsquared);
46
47 unsigned int vp9_sub_pixel_variance16x2_sse2(const unsigned char *src_ptr,
48 int src_pixels_per_line,
49 int xoffset,
50 int yoffset,
51 const unsigned char *dst_ptr,
52 int dst_pixels_per_line,
53 unsigned int *sse) {
54 int xsum0, xsum1;
55 unsigned int xxsum0, xxsum1;
56
57 if (xoffset == HALFNDX && yoffset == 0) {
58 vp9_half_horiz_variance16x_h_sse2(
59 src_ptr, src_pixels_per_line,
60 dst_ptr, dst_pixels_per_line, 2,
61 &xsum0, &xxsum0);
62 } else if (xoffset == 0 && yoffset == HALFNDX) {
63 vp9_half_vert_variance16x_h_sse2(
64 src_ptr, src_pixels_per_line,
65 dst_ptr, dst_pixels_per_line, 2,
66 &xsum0, &xxsum0);
67 } else if (xoffset == HALFNDX && yoffset == HALFNDX) {
68 vp9_half_horiz_vert_variance16x_h_sse2(
69 src_ptr, src_pixels_per_line,
70 dst_ptr, dst_pixels_per_line, 2,
71 &xsum0, &xxsum0);
72 } else {
73 vp9_filter_block2d_bil_var_sse2(
74 src_ptr, src_pixels_per_line,
75 dst_ptr, dst_pixels_per_line, 2,
76 xoffset, yoffset,
77 &xsum0, &xxsum0);
78
79 vp9_filter_block2d_bil_var_sse2(
80 src_ptr + 8, src_pixels_per_line,
81 dst_ptr + 8, dst_pixels_per_line, 2,
82 xoffset, yoffset,
83 &xsum1, &xxsum1);
84 xsum0 += xsum1;
85 xxsum0 += xxsum1;
86 }
87
88 *sse = xxsum0;
89 return (xxsum0 - (((unsigned int)xsum0 * xsum0) >> 5));
90 }
OLDNEW
« no previous file with comments | « source/libvpx/vp9/common/x86/vp9_subpixel_mmx.asm ('k') | source/libvpx/vp9/common/x86/vp9_subpixel_x86.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698