summaryrefslogtreecommitdiff
path: root/third_party/libyuv/source/rotate_neon.cc
diff options
context:
space:
mode:
authorJim Bankoski <jimbankoski@google.com>2016-06-28 07:26:07 -0700
committerJames Bankoski <jimbankoski@google.com>2016-06-29 17:53:14 +0000
commitb8f83282f8506ad3d839440341bbe683df7d2cf6 (patch)
treefa0097c5a4fd8b53fa39d11c20da05c656eaa535 /third_party/libyuv/source/rotate_neon.cc
parentb34705f64ff0bc8facd0fc33fe07bf6def67cb45 (diff)
downloadlibvpx-b8f83282f8506ad3d839440341bbe683df7d2cf6.tar
libvpx-b8f83282f8506ad3d839440341bbe683df7d2cf6.tar.gz
libvpx-b8f83282f8506ad3d839440341bbe683df7d2cf6.tar.bz2
libvpx-b8f83282f8506ad3d839440341bbe683df7d2cf6.zip
libyuv: update to b8ddb5a2
Fixes color issue when scaling without breaking mingw. BUG=https://bugs.chromium.org/p/libyuv/issues/detail?id=605 BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1252 Change-Id: I3920c5664def7ae7a23f60fb160d26d23bc86a27
Diffstat (limited to 'third_party/libyuv/source/rotate_neon.cc')
-rw-r--r--third_party/libyuv/source/rotate_neon.cc10
1 files changed, 4 insertions, 6 deletions
diff --git a/third_party/libyuv/source/rotate_neon.cc b/third_party/libyuv/source/rotate_neon.cc
index 76043b3b3..1c22b472b 100644
--- a/third_party/libyuv/source/rotate_neon.cc
+++ b/third_party/libyuv/source/rotate_neon.cc
@@ -27,7 +27,7 @@ static uvec8 kVTbl4x4Transpose =
void TransposeWx8_NEON(const uint8* src, int src_stride,
uint8* dst, int dst_stride,
int width) {
- const uint8* src_temp = NULL;
+ const uint8* src_temp;
asm volatile (
// loops are on blocks of 8. loop will stop when
// counter gets to or below 0. starting the counter
@@ -35,7 +35,6 @@ void TransposeWx8_NEON(const uint8* src, int src_stride,
"sub %5, #8 \n"
// handle 8x8 blocks. this should be the majority of the plane
- ".p2align 2 \n"
"1: \n"
"mov %0, %1 \n"
@@ -230,7 +229,7 @@ void TransposeWx8_NEON(const uint8* src, int src_stride,
"4: \n"
- : "+r"(src_temp), // %0
+ : "=&r"(src_temp), // %0
"+r"(src), // %1
"+r"(src_stride), // %2
"+r"(dst), // %3
@@ -248,7 +247,7 @@ void TransposeUVWx8_NEON(const uint8* src, int src_stride,
uint8* dst_a, int dst_stride_a,
uint8* dst_b, int dst_stride_b,
int width) {
- const uint8* src_temp = NULL;
+ const uint8* src_temp;
asm volatile (
// loops are on blocks of 8. loop will stop when
// counter gets to or below 0. starting the counter
@@ -256,7 +255,6 @@ void TransposeUVWx8_NEON(const uint8* src, int src_stride,
"sub %7, #8 \n"
// handle 8x8 blocks. this should be the majority of the plane
- ".p2align 2 \n"
"1: \n"
"mov %0, %1 \n"
@@ -514,7 +512,7 @@ void TransposeUVWx8_NEON(const uint8* src, int src_stride,
"4: \n"
- : "+r"(src_temp), // %0
+ : "=&r"(src_temp), // %0
"+r"(src), // %1
"+r"(src_stride), // %2
"+r"(dst_a), // %3