mirror of
https://chromium.googlesource.com/libyuv/libyuv
synced 2025-12-07 17:26:49 +08:00
Fix for clobber registers on SumSquareError_SSE2 used for PSNR
BUG=none TEST=none Review URL: https://webrtc-codereview.appspot.com/1410004 git-svn-id: http://libyuv.googlecode.com/svn/trunk@683 16f28f9a-4ce2-e073-06de-1de4eb20be90
This commit is contained in:
parent
4154163e20
commit
b432b7da2d
@ -1,6 +1,6 @@
|
||||
Name: libyuv
|
||||
URL: http://code.google.com/p/libyuv/
|
||||
Version: 682
|
||||
Version: 683
|
||||
License: BSD
|
||||
License File: LICENSE
|
||||
|
||||
|
||||
@ -11,6 +11,6 @@
|
||||
#ifndef INCLUDE_LIBYUV_VERSION_H_ // NOLINT
|
||||
#define INCLUDE_LIBYUV_VERSION_H_
|
||||
|
||||
#define LIBYUV_VERSION 682
|
||||
#define LIBYUV_VERSION 683
|
||||
|
||||
#endif // INCLUDE_LIBYUV_VERSION_H_ NOLINT
|
||||
|
||||
@ -56,7 +56,7 @@ uint32 SumSquareError_SSE2(const uint8* src_a, const uint8* src_b, int count) {
|
||||
:
|
||||
: "memory", "cc"
|
||||
#if defined(__SSE2__)
|
||||
, "xmm0", "xmm1", "xmm2", "xmm5"
|
||||
, "xmm0", "xmm1", "xmm2", "xmm3", "xmm5"
|
||||
#endif
|
||||
);
|
||||
return sse;
|
||||
|
||||
@ -159,7 +159,7 @@ static uint32 SumSquareError_SSE2(const uint8* src_a,
|
||||
:
|
||||
: "memory", "cc"
|
||||
#if defined(__SSE2__)
|
||||
, "xmm0", "xmm1", "xmm2", "xmm5"
|
||||
, "xmm0", "xmm1", "xmm2", "xmm3", "xmm5"
|
||||
#endif
|
||||
); // NOLINT
|
||||
return sse;
|
||||
|
||||
@ -20,10 +20,11 @@ extern "C" {
|
||||
typedef unsigned int uint32; // NOLINT
|
||||
typedef unsigned short uint16; // NOLINT
|
||||
|
||||
#if defined(_M_X64) || (defined(_M_IX86_FP) && (_M_IX86_FP >= 2))
|
||||
#if !defined(LIBYUV_DISABLE_X86) && \
|
||||
(defined(_M_X64) || (defined(_M_IX86_FP) && (_M_IX86_FP >= 2)))
|
||||
#define __SSE2__
|
||||
#endif
|
||||
#ifdef __SSE2__
|
||||
#if !defined(LIBYUV_DISABLE_X86) && defined(__SSE2__)
|
||||
#include <emmintrin.h>
|
||||
#endif
|
||||
|
||||
@ -48,7 +49,7 @@ static const double kiW[KERNEL + 1 + 1] = {
|
||||
1. / 726., // 1 / sum(i:0..3, j..6) K[i]*K[j]
|
||||
};
|
||||
|
||||
#ifdef __SSE2__
|
||||
#if !defined(LIBYUV_DISABLE_X86) && defined(__SSE2__)
|
||||
|
||||
#define PWEIGHT(A, B) static_cast<uint16>(K[(A)] * K[(B)]) // weight product
|
||||
#define MAKE_WEIGHT(L) \
|
||||
@ -130,7 +131,7 @@ double GetSSIMFullKernel(const uint8 *org, const uint8 *rec,
|
||||
double area_weight) {
|
||||
uint32 xm = 0, ym = 0, xxm = 0, xym = 0, yym = 0;
|
||||
|
||||
#ifndef __SSE2__
|
||||
#if defined(LIBYUV_DISABLE_X86) || !defined(__SSE2__)
|
||||
|
||||
org += yo * stride + xo;
|
||||
rec += yo * stride + xo;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user