Commit 45230390 authored by Frank Barchard's avatar Frank Barchard

add support for odd width rotate

R=harryjin@google.com
BUG=libyuv:464

Review URL: https://webrtc-codereview.appspot.com/52219004.
parent cb54e8b6
...@@ -27,21 +27,26 @@ void TransposePlane(const uint8* src, int src_stride, ...@@ -27,21 +27,26 @@ void TransposePlane(const uint8* src, int src_stride,
int width, int height) { int width, int height) {
int i = height; int i = height;
void (*TransposeWx8)(const uint8* src, int src_stride, void (*TransposeWx8)(const uint8* src, int src_stride,
uint8* dst, int dst_stride, uint8* dst, int dst_stride, int width) = TransposeWx8_C;
int width) = TransposeWx8_C;
#if defined(HAS_TRANSPOSEWX8_NEON) #if defined(HAS_TRANSPOSEWX8_NEON)
if (TestCpuFlag(kCpuHasNEON)) { if (TestCpuFlag(kCpuHasNEON)) {
TransposeWx8 = TransposeWx8_NEON; TransposeWx8 = TransposeWx8_NEON;
} }
#endif #endif
#if defined(HAS_TRANSPOSEWX8_SSSE3) #if defined(HAS_TRANSPOSEWX8_SSSE3)
if (TestCpuFlag(kCpuHasSSSE3) && IS_ALIGNED(width, 8)) { if (TestCpuFlag(kCpuHasSSSE3)) {
TransposeWx8 = TransposeWx8_SSSE3; TransposeWx8 = TransposeWx8_Any_SSSE3;
if (IS_ALIGNED(width, 8)) {
TransposeWx8 = TransposeWx8_SSSE3;
}
} }
#endif #endif
#if defined(HAS_TRANSPOSEWX8_FAST_SSSE3) #if defined(HAS_TRANSPOSEWX8_FAST_SSSE3)
if (TestCpuFlag(kCpuHasSSSE3) && IS_ALIGNED(width, 16)) { if (TestCpuFlag(kCpuHasSSSE3)) {
TransposeWx8 = TransposeWx8_Fast_SSSE3; TransposeWx8 = TransposeWx8_Fast_Any_SSSE3;
if (IS_ALIGNED(width, 16)) {
TransposeWx8 = TransposeWx8_Fast_SSSE3;
}
} }
#endif #endif
#if defined(HAS_TRANSPOSEWX8_MIPS_DSPR2) #if defined(HAS_TRANSPOSEWX8_MIPS_DSPR2)
......
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