summaryrefslogtreecommitdiff
path: root/vp9/common
diff options
context:
space:
mode:
authorJohn Koleszar <jkoleszar@google.com>2013-04-02 14:54:44 -0700
committerJohn Koleszar <jkoleszar@google.com>2013-04-02 14:54:44 -0700
commit42db454c7f99ad97d834edb231b94172d4f29b97 (patch)
tree2824f813e12549dd9a6f68086a682238c26886dc /vp9/common
parent49bc402a9479636d6b75693e421473161de98db4 (diff)
parent3db60c8c6c6081864e50a162e2236ba03e21828b (diff)
downloadlibvpx-42db454c7f99ad97d834edb231b94172d4f29b97.tar
libvpx-42db454c7f99ad97d834edb231b94172d4f29b97.tar.gz
libvpx-42db454c7f99ad97d834edb231b94172d4f29b97.tar.bz2
libvpx-42db454c7f99ad97d834edb231b94172d4f29b97.zip
Merge branch 'master' into experimental
Conflicts: vp9/vp9_common.mk Change-Id: I2cd5ab47dc31c4210cefc23a282102123d5e2221
Diffstat (limited to 'vp9/common')
-rw-r--r--vp9/common/x86/vp9_loopfilter_intrin_mmx.c74
-rw-r--r--vp9/common/x86/vp9_loopfilter_intrin_sse2.c (renamed from vp9/common/x86/vp9_loopfilter_x86.c)72
-rw-r--r--vp9/common/x86/vp9_sadmxn_sse2.c (renamed from vp9/common/x86/vp9_sadmxn_x86.c)7
3 files changed, 76 insertions, 77 deletions
diff --git a/vp9/common/x86/vp9_loopfilter_intrin_mmx.c b/vp9/common/x86/vp9_loopfilter_intrin_mmx.c
new file mode 100644
index 000000000..2be9e3179
--- /dev/null
+++ b/vp9/common/x86/vp9_loopfilter_intrin_mmx.c
@@ -0,0 +1,74 @@
+/*
+ * 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.
+ */
+
+#include "vp9/common/vp9_loopfilter.h"
+
+prototype_loopfilter(vp9_loop_filter_vertical_edge_mmx);
+prototype_loopfilter(vp9_loop_filter_horizontal_edge_mmx);
+
+/* Horizontal MB filtering */
+void vp9_loop_filter_mbh_mmx(unsigned char *y_ptr,
+ unsigned char *u_ptr, unsigned char *v_ptr,
+ int y_stride, int uv_stride,
+ struct loop_filter_info *lfi) {
+}
+
+/* Vertical MB Filtering */
+void vp9_loop_filter_mbv_mmx(unsigned char *y_ptr,
+ unsigned char *u_ptr, unsigned char *v_ptr,
+ int y_stride, int uv_stride,
+ struct loop_filter_info *lfi) {
+}
+
+/* Horizontal B Filtering */
+void vp9_loop_filter_bh_mmx(unsigned char *y_ptr,
+ unsigned char *u_ptr, unsigned char *v_ptr,
+ int y_stride, int uv_stride,
+ struct loop_filter_info *lfi) {
+
+}
+
+void vp9_loop_filter_bhs_mmx(unsigned char *y_ptr, int y_stride,
+ const unsigned char *blimit) {
+ vp9_loop_filter_simple_horizontal_edge_mmx(y_ptr + 4 * y_stride,
+ y_stride, blimit);
+ vp9_loop_filter_simple_horizontal_edge_mmx(y_ptr + 8 * y_stride,
+ y_stride, blimit);
+ vp9_loop_filter_simple_horizontal_edge_mmx(y_ptr + 12 * y_stride,
+ y_stride, blimit);
+}
+
+/* Vertical B Filtering */
+void vp9_loop_filter_bv_mmx(unsigned char *y_ptr,
+ unsigned char *u_ptr, unsigned char *v_ptr,
+ int y_stride, int uv_stride,
+ struct loop_filter_info *lfi) {
+ vp9_loop_filter_vertical_edge_mmx(y_ptr + 4, y_stride,
+ lfi->blim, lfi->lim, lfi->hev_thr, 2);
+ vp9_loop_filter_vertical_edge_mmx(y_ptr + 8, y_stride,
+ lfi->blim, lfi->lim, lfi->hev_thr, 2);
+ vp9_loop_filter_vertical_edge_mmx(y_ptr + 12, y_stride,
+ lfi->blim, lfi->lim, lfi->hev_thr, 2);
+
+ if (u_ptr)
+ vp9_loop_filter_vertical_edge_mmx(u_ptr + 4, uv_stride,
+ lfi->blim, lfi->lim, lfi->hev_thr, 1);
+
+ if (v_ptr)
+ vp9_loop_filter_vertical_edge_mmx(v_ptr + 4, uv_stride,
+ lfi->blim, lfi->lim, lfi->hev_thr, 1);
+}
+
+void vp9_loop_filter_bvs_mmx(unsigned char *y_ptr, int y_stride,
+ const unsigned char *blimit) {
+ vp9_loop_filter_simple_vertical_edge_mmx(y_ptr + 4, y_stride, blimit);
+ vp9_loop_filter_simple_vertical_edge_mmx(y_ptr + 8, y_stride, blimit);
+ vp9_loop_filter_simple_vertical_edge_mmx(y_ptr + 12, y_stride, blimit);
+}
diff --git a/vp9/common/x86/vp9_loopfilter_x86.c b/vp9/common/x86/vp9_loopfilter_intrin_sse2.c
index c8487547b..08447a62d 100644
--- a/vp9/common/x86/vp9_loopfilter_x86.c
+++ b/vp9/common/x86/vp9_loopfilter_intrin_sse2.c
@@ -8,84 +8,16 @@
* be found in the AUTHORS file in the root of the source tree.
*/
-#include <emmintrin.h> // SSE2
-#include "vpx_config.h"
+#include <emmintrin.h> /* SSE2 */
#include "vp9/common/vp9_loopfilter.h"
#include "vpx_ports/emmintrin_compat.h"
-prototype_loopfilter(vp9_loop_filter_vertical_edge_mmx);
-prototype_loopfilter(vp9_loop_filter_horizontal_edge_mmx);
-
prototype_loopfilter(vp9_loop_filter_vertical_edge_sse2);
prototype_loopfilter(vp9_loop_filter_horizontal_edge_sse2);
extern loop_filter_uvfunction vp9_loop_filter_horizontal_edge_uv_sse2;
extern loop_filter_uvfunction vp9_loop_filter_vertical_edge_uv_sse2;
-#if HAVE_MMX
-/* Horizontal MB filtering */
-void vp9_loop_filter_mbh_mmx(unsigned char *y_ptr,
- unsigned char *u_ptr, unsigned char *v_ptr,
- int y_stride, int uv_stride,
- struct loop_filter_info *lfi) {
-}
-
-/* Vertical MB Filtering */
-void vp9_loop_filter_mbv_mmx(unsigned char *y_ptr,
- unsigned char *u_ptr, unsigned char *v_ptr,
- int y_stride, int uv_stride,
- struct loop_filter_info *lfi) {
-}
-
-/* Horizontal B Filtering */
-void vp9_loop_filter_bh_mmx(unsigned char *y_ptr,
- unsigned char *u_ptr, unsigned char *v_ptr,
- int y_stride, int uv_stride,
- struct loop_filter_info *lfi) {
-
-}
-
-void vp9_loop_filter_bhs_mmx(unsigned char *y_ptr, int y_stride,
- const unsigned char *blimit) {
- vp9_loop_filter_simple_horizontal_edge_mmx(y_ptr + 4 * y_stride,
- y_stride, blimit);
- vp9_loop_filter_simple_horizontal_edge_mmx(y_ptr + 8 * y_stride,
- y_stride, blimit);
- vp9_loop_filter_simple_horizontal_edge_mmx(y_ptr + 12 * y_stride,
- y_stride, blimit);
-}
-
-/* Vertical B Filtering */
-void vp9_loop_filter_bv_mmx(unsigned char *y_ptr,
- unsigned char *u_ptr, unsigned char *v_ptr,
- int y_stride, int uv_stride,
- struct loop_filter_info *lfi) {
- vp9_loop_filter_vertical_edge_mmx(y_ptr + 4, y_stride,
- lfi->blim, lfi->lim, lfi->hev_thr, 2);
- vp9_loop_filter_vertical_edge_mmx(y_ptr + 8, y_stride,
- lfi->blim, lfi->lim, lfi->hev_thr, 2);
- vp9_loop_filter_vertical_edge_mmx(y_ptr + 12, y_stride,
- lfi->blim, lfi->lim, lfi->hev_thr, 2);
-
- if (u_ptr)
- vp9_loop_filter_vertical_edge_mmx(u_ptr + 4, uv_stride,
- lfi->blim, lfi->lim, lfi->hev_thr, 1);
-
- if (v_ptr)
- vp9_loop_filter_vertical_edge_mmx(v_ptr + 4, uv_stride,
- lfi->blim, lfi->lim, lfi->hev_thr, 1);
-}
-
-void vp9_loop_filter_bvs_mmx(unsigned char *y_ptr, int y_stride,
- const unsigned char *blimit) {
- vp9_loop_filter_simple_vertical_edge_mmx(y_ptr + 4, y_stride, blimit);
- vp9_loop_filter_simple_vertical_edge_mmx(y_ptr + 8, y_stride, blimit);
- vp9_loop_filter_simple_vertical_edge_mmx(y_ptr + 12, y_stride, blimit);
-}
-#endif
-
-#if HAVE_SSE2
-
void vp9_mb_lpf_horizontal_edge_w_sse2(unsigned char *s,
int p,
const unsigned char *_blimit,
@@ -1217,5 +1149,3 @@ void vp9_loop_filter_bvs_sse2(unsigned char *y_ptr, int y_stride,
vp9_loop_filter_simple_vertical_edge_sse2(y_ptr + 8, y_stride, blimit);
vp9_loop_filter_simple_vertical_edge_sse2(y_ptr + 12, y_stride, blimit);
}
-
-#endif
diff --git a/vp9/common/x86/vp9_sadmxn_x86.c b/vp9/common/x86/vp9_sadmxn_sse2.c
index 3072d6df8..ed873a5ba 100644
--- a/vp9/common/x86/vp9_sadmxn_x86.c
+++ b/vp9/common/x86/vp9_sadmxn_sse2.c
@@ -8,13 +8,10 @@
* be found in the AUTHORS file in the root of the source tree.
*/
-#include <emmintrin.h> // SSE2
-#include "./vpx_config.h"
-#include "./vp9_rtcd.h"
+#include <emmintrin.h> /* SSE2 */
#include "vpx/vpx_integer.h"
#include "vpx_ports/emmintrin_compat.h"
-#if HAVE_SSE2
unsigned int vp9_sad16x3_sse2(
const unsigned char *src_ptr,
int src_stride,
@@ -96,5 +93,3 @@ unsigned int vp9_sad3x16_sse2(
sad = _mm_add_epi16(sad, _mm_srli_si128(sad, 8));
return _mm_cvtsi128_si32(sad);
}
-
-#endif