mirror of
https://chromium.googlesource.com/libyuv/libyuv
synced 2025-12-06 16:56:55 +08:00
Fix the bug (0 extension from int to int64) in ScaleARGBRowDownEven_NEON.
Reason of this bug is that ARM64 can't extend the sign bit of a 32-bit integer to 64-bit integer automatically. ScaleARGBRowDownEven_NEON is also enabled for ARM64. BUG=319 TESTED=libyuv_unittest R=fbarchard@google.com Change-Id: Ib8d30a05156239247296aa8bb4faa94b4f69a9c3 Review URL: https://webrtc-codereview.appspot.com/32949004 git-svn-id: http://libyuv.googlecode.com/svn/trunk@1273 16f28f9a-4ce2-e073-06de-1de4eb20be90
This commit is contained in:
parent
738dfa0307
commit
63996ab7ca
@ -31,7 +31,7 @@ void ScaleARGBRowDownEven_SSE2(const uint8* src_ptr, int src_stride,
|
||||
uint8* dst_ptr, int dst_width);
|
||||
#endif
|
||||
#if !defined(LIBYUV_DISABLE_NEON) && !defined(__native_client__) && \
|
||||
(defined(__ARM_NEON__) || defined(LIBYUV_NEON))
|
||||
(defined(__ARM_NEON__) || defined(LIBYUV_NEON) || defined(__aarch64__))
|
||||
#define HAS_SCALEARGBROWDOWNEVEN_NEON
|
||||
void ScaleARGBRowDownEven_NEON(const uint8* src_ptr, int src_stride,
|
||||
int src_stepx,
|
||||
|
||||
@ -701,7 +701,7 @@ void ScaleARGBRowDownEven_NEON(const uint8* src_argb, ptrdiff_t src_stride,
|
||||
: "+r"(src_argb), // %0
|
||||
"+r"(dst_argb), // %1
|
||||
"+r"(dst_width) // %2
|
||||
: "r"(src_stepx * 4) // %3
|
||||
: "r"(static_cast<ptrdiff_t>(src_stepx * 4)) // %3
|
||||
: "memory", "cc", "v0"
|
||||
);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user