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

Unified Diff: libvpx/source/libvpx/vp8/encoder/x86/variance_mmx.c

Issue 7624054: Revert r97185 "Update libvpx snapshot to v0.9.7-p1 (Cayuga)." (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party
Patch Set: Created 9 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: libvpx/source/libvpx/vp8/encoder/x86/variance_mmx.c
diff --git a/libvpx/source/libvpx/vp8/encoder/x86/variance_mmx.c b/libvpx/source/libvpx/vp8/encoder/x86/variance_mmx.c
index 92b695f1750c56ef9839226afe6eb2d8d1dcc6d5..cc8c1d0e3bd690bcbe2535a173a35c8fe716c3f6 100644
--- a/libvpx/source/libvpx/vp8/encoder/x86/variance_mmx.c
+++ b/libvpx/source/libvpx/vp8/encoder/x86/variance_mmx.c
@@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
-#include "vpx_config.h"
+
#include "vp8/encoder/variance.h"
#include "vp8/common/pragmas.h"
#include "vpx_ports/mem.h"
@@ -34,7 +34,7 @@ extern void filter_block1d_v6_mmx
short *vp7_filter
);
-extern unsigned int vp8_get_mb_ss_mmx(const short *src_ptr);
+extern unsigned int vp8_get_mb_ss_mmx(short *src_ptr);
extern unsigned int vp8_get8x8var_mmx
(
const unsigned char *src_ptr,
@@ -76,6 +76,44 @@ extern void vp8_filter_block2d_bil_var_mmx
int *sum,
unsigned int *sumsquared
);
+extern unsigned int vp8_get16x16pred_error_mmx
+(
+ unsigned char *src_ptr,
+ int src_stride,
+ unsigned char *ref_ptr,
+ int ref_stride
+);
+
+
+unsigned int vp8_get16x16var_mmx(
+ const unsigned char *src_ptr,
+ int source_stride,
+ const unsigned char *ref_ptr,
+ int recon_stride,
+ unsigned *SSE,
+ unsigned *SUM
+)
+{
+ unsigned int sse0, sse1, sse2, sse3, var;
+ int sum0, sum1, sum2, sum3, avg;
+
+
+ vp8_get8x8var_mmx(src_ptr, source_stride, ref_ptr, recon_stride, &sse0, &sum0) ;
+ vp8_get8x8var_mmx(src_ptr + 8, source_stride, ref_ptr + 8, recon_stride, &sse1, &sum1);
+ vp8_get8x8var_mmx(src_ptr + 8 * source_stride, source_stride, ref_ptr + 8 * recon_stride, recon_stride, &sse2, &sum2) ;
+ vp8_get8x8var_mmx(src_ptr + 8 * source_stride + 8, source_stride, ref_ptr + 8 * recon_stride + 8, recon_stride, &sse3, &sum3);
+
+ var = sse0 + sse1 + sse2 + sse3;
+ avg = sum0 + sum1 + sum2 + sum3;
+
+ *SSE = var;
+ *SUM = avg;
+ return (var - ((avg * avg) >> 8));
+
+}
+
+
+
unsigned int vp8_variance4x4_mmx(
@@ -138,7 +176,7 @@ unsigned int vp8_variance16x16_mmx(
int source_stride,
const unsigned char *ref_ptr,
int recon_stride,
- unsigned int *sse)
+ int *sse)
{
unsigned int sse0, sse1, sse2, sse3, var;
int sum0, sum1, sum2, sum3, avg;
@@ -363,7 +401,7 @@ unsigned int vp8_sub_pixel_variance8x16_mmx
int yoffset,
const unsigned char *dst_ptr,
int dst_pixels_per_line,
- unsigned int *sse
+ int *sse
)
{
int xsum;
« no previous file with comments | « libvpx/source/libvpx/vp8/encoder/x86/variance_impl_ssse3.asm ('k') | libvpx/source/libvpx/vp8/encoder/x86/variance_sse2.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698