ref: 7354a8cbaec15e9baf8051706a83118c5ee345b7
parent: c4c73ee5d656bf497fb1a3a92d6dc5b39cc80760
author: Martin Storsjö <[email protected]>
date: Wed Jan 28 03:57:38 EST 2015
Handle width==2 for the neon version of McCopy Fall back on the C version of the algorithm here, just as in McCopy_sse2. This fixes 2 of the McCopy tests on arm/aarch64.
--- a/codec/decoder/core/src/mc.cpp
+++ b/codec/decoder/core/src/mc.cpp
@@ -678,8 +678,10 @@
McCopyWidthEq16_neon (pSrc, iSrcStride, pDst, iDstStride, iHeight);
else if (8 == iWidth)
McCopyWidthEq8_neon (pSrc, iSrcStride, pDst, iDstStride, iHeight);
- else
+ else if (4 == iWidth)
McCopyWidthEq4_neon (pSrc, iSrcStride, pDst, iDstStride, iHeight);
+ else
+ McCopyWidthEq2_c (pSrc, iSrcStride, pDst, iDstStride, iHeight);
}
void McHorVer20_neon (const uint8_t* pSrc, int32_t iSrcStride, uint8_t* pDst, int32_t iDstStride,
int32_t iWidth, int32_t iHeight) {
@@ -929,8 +931,10 @@
McCopyWidthEq16_AArch64_neon (pSrc, iSrcStride, pDst, iDstStride, iHeight);
else if (8 == iWidth)
McCopyWidthEq8_AArch64_neon (pSrc, iSrcStride, pDst, iDstStride, iHeight);
- else
+ else if (4 == iWidth)
McCopyWidthEq4_AArch64_neon (pSrc, iSrcStride, pDst, iDstStride, iHeight);
+ else
+ McCopyWidthEq2_c (pSrc, iSrcStride, pDst, iDstStride, iHeight);
}
void McHorVer20_AArch64_neon (const uint8_t* pSrc, int32_t iSrcStride, uint8_t* pDst, int32_t iDstStride,
int32_t iWidth, int32_t iHeight) {