diff options
author | Frank Barchard <fbarchard@google.com> | 2015-07-28 14:30:07 -0700 |
---|---|---|
committer | Frank Barchard <fbarchard@google.com> | 2015-07-28 14:30:07 -0700 |
commit | 45230390ff0bdda298c9703f7995327af7523772 (patch) | |
tree | e22e875bbfafcdd7bc9a0d05fd7c48bdc8491f0d /source/rotate.cc | |
parent | cb54e8b69ad68ae30ed29634698b1e2dd8a3f668 (diff) | |
download | libyuv-45230390ff0bdda298c9703f7995327af7523772.tar.gz |
add support for odd width rotate
R=harryjin@google.com
BUG=libyuv:464
Review URL: https://webrtc-codereview.appspot.com/52219004.
Diffstat (limited to 'source/rotate.cc')
-rw-r--r-- | source/rotate.cc | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/source/rotate.cc b/source/rotate.cc index 32022742..be3d5892 100644 --- a/source/rotate.cc +++ b/source/rotate.cc @@ -27,21 +27,26 @@ void TransposePlane(const uint8* src, int src_stride, int width, int height) { int i = height; void (*TransposeWx8)(const uint8* src, int src_stride, - uint8* dst, int dst_stride, - int width) = TransposeWx8_C; + uint8* dst, int dst_stride, int width) = TransposeWx8_C; #if defined(HAS_TRANSPOSEWX8_NEON) if (TestCpuFlag(kCpuHasNEON)) { TransposeWx8 = TransposeWx8_NEON; } #endif #if defined(HAS_TRANSPOSEWX8_SSSE3) - if (TestCpuFlag(kCpuHasSSSE3) && IS_ALIGNED(width, 8)) { - TransposeWx8 = TransposeWx8_SSSE3; + if (TestCpuFlag(kCpuHasSSSE3)) { + TransposeWx8 = TransposeWx8_Any_SSSE3; + if (IS_ALIGNED(width, 8)) { + TransposeWx8 = TransposeWx8_SSSE3; + } } #endif #if defined(HAS_TRANSPOSEWX8_FAST_SSSE3) - if (TestCpuFlag(kCpuHasSSSE3) && IS_ALIGNED(width, 16)) { - TransposeWx8 = TransposeWx8_Fast_SSSE3; + if (TestCpuFlag(kCpuHasSSSE3)) { + TransposeWx8 = TransposeWx8_Fast_Any_SSSE3; + if (IS_ALIGNED(width, 16)) { + TransposeWx8 = TransposeWx8_Fast_SSSE3; + } } #endif #if defined(HAS_TRANSPOSEWX8_MIPS_DSPR2) |