Commit acce9ed4 authored by fbarchard@google.com's avatar fbarchard@google.com

Nacl port of Polynomial

BUG=265
TESTED=untested
R=nfullagar@google.com

Review URL: https://webrtc-codereview.appspot.com/2196009

git-svn-id: http://libyuv.googlecode.com/svn/trunk@787 16f28f9a-4ce2-e073-06de-1de4eb20be90
parent c3b04796
Name: libyuv
URL: http://code.google.com/p/libyuv/
Version: 786
Version: 787
License: BSD
License File: LICENSE
......
......@@ -47,6 +47,7 @@ extern "C" {
#define HAS_ARGBGRAYROW_SSSE3
#define HAS_ARGBMIRRORROW_SSSE3
#define HAS_ARGBMULTIPLYROW_SSE2
#define HAS_ARGBPOLYNOMIALROW_SSE2
#define HAS_ARGBQUANTIZEROW_SSE2
#define HAS_ARGBSEPIAROW_SSSE3
#define HAS_ARGBSHADEROW_SSE2
......@@ -98,7 +99,6 @@ extern "C" {
// Conversions:
#define HAS_ARGB1555TOARGBROW_SSE2
#define HAS_ARGB4444TOARGBROW_SSE2
#define HAS_ARGBPOLYNOMIALROW_SSE2
#define HAS_ARGBTOARGB1555ROW_SSE2
#define HAS_ARGBTOARGB4444ROW_SSE2
#define HAS_ARGBTORAWROW_SSSE3
......@@ -144,7 +144,7 @@ extern "C" {
// Effects:
#define HAS_ARGBCOLORTABLEROW_X86
#define HAS_RGBCOLORTABLEROW_X86
#define HAS_ARGBLUMACOLORTABLEROW_SSE2
//#define HAS_ARGBLUMACOLORTABLEROW_SSSE3
// Caveat: Visual C 2012 required for AVX2.
#if _MSC_VER >= 1700
......
......@@ -11,6 +11,6 @@
#ifndef INCLUDE_LIBYUV_VERSION_H_ // NOLINT
#define INCLUDE_LIBYUV_VERSION_H_
#define LIBYUV_VERSION 786
#define LIBYUV_VERSION 787
#endif // INCLUDE_LIBYUV_VERSION_H_ NOLINT
......@@ -5827,8 +5827,8 @@ void ARGBPolynomialRow_SSE2(const uint8* src_argb,
// 2 pixel loop.
".p2align 4 \n"
"1: \n"
"movq (%0),%%xmm0 \n"
"lea 0x8(%0),%0 \n"
"movq "MEMACCESS(0)",%%xmm0 \n"
"lea "MEMLEA(0x8,0)",%0 \n"
"punpcklbw %%xmm3,%%xmm0 \n"
"movdqa %%xmm0,%%xmm4 \n"
"punpcklwd %%xmm3,%%xmm0 \n"
......@@ -5837,20 +5837,20 @@ void ARGBPolynomialRow_SSE2(const uint8* src_argb,
"cvtdq2ps %%xmm4,%%xmm4 \n"
"movdqa %%xmm0,%%xmm1 \n"
"movdqa %%xmm4,%%xmm5 \n"
"mulps 0x10(%3),%%xmm0 \n"
"mulps 0x10(%3),%%xmm4 \n"
"addps (%3),%%xmm0 \n"
"addps (%3),%%xmm4 \n"
"mulps "MEMACCESS2(0x10,3)",%%xmm0 \n"
"mulps "MEMACCESS2(0x10,3)",%%xmm4 \n"
"addps "MEMACCESS(3)",%%xmm0 \n"
"addps "MEMACCESS(3)",%%xmm4 \n"
"movdqa %%xmm1,%%xmm2 \n"
"movdqa %%xmm5,%%xmm6 \n"
"mulps %%xmm1,%%xmm2 \n"
"mulps %%xmm5,%%xmm6 \n"
"mulps %%xmm2,%%xmm1 \n"
"mulps %%xmm6,%%xmm5 \n"
"mulps 0x20(%3),%%xmm2 \n"
"mulps 0x20(%3),%%xmm6 \n"
"mulps 0x30(%3),%%xmm1 \n"
"mulps 0x30(%3),%%xmm5 \n"
"mulps "MEMACCESS2(0x20,3)",%%xmm2 \n"
"mulps "MEMACCESS2(0x20,3)",%%xmm6 \n"
"mulps "MEMACCESS2(0x30,3)",%%xmm1 \n"
"mulps "MEMACCESS2(0x30,3)",%%xmm5 \n"
"addps %%xmm2,%%xmm0 \n"
"addps %%xmm6,%%xmm4 \n"
"addps %%xmm1,%%xmm0 \n"
......@@ -5860,8 +5860,8 @@ void ARGBPolynomialRow_SSE2(const uint8* src_argb,
"packuswb %%xmm4,%%xmm0 \n"
"packuswb %%xmm0,%%xmm0 \n"
"sub $0x2,%2 \n"
"movq %%xmm0,(%1) \n"
"lea 0x8(%1),%1 \n"
"movq %%xmm0,"MEMACCESS(1)" \n"
"lea "MEMLEA(0x8,1)",%1 \n"
"jg 1b \n"
: "+r"(src_argb), // %0
"+r"(dst_argb), // %1
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment