Index: source/planar_functions.cc |
diff --git a/source/planar_functions.cc b/source/planar_functions.cc |
index 143ae869dde2cbdf44ade9442accb09a14b83ae9..7a10a69f72da0902c7bcd7fef28a3a0d82db83e6 100644 |
--- a/source/planar_functions.cc |
+++ b/source/planar_functions.cc |
@@ -2579,17 +2579,19 @@ int HalfFloatPlane(const uint16* src_y, int src_stride_y, |
#endif |
#if defined(HAS_HALFFLOATROW_F16C) |
if (TestCpuFlag(kCpuHasAVX2) && TestCpuFlag(kCpuHasF16C)) { |
- HalfFloatRow = HalfFloatRow_Any_F16C; |
+ HalfFloatRow = (scale == 1.0f) ? |
+ HalfFloat1Row_Any_F16C : HalfFloatRow_Any_F16C; |
if (IS_ALIGNED(width, 16)) { |
- HalfFloatRow = HalfFloatRow_F16C; |
+ HalfFloatRow = (scale == 1.0f) ? HalfFloat1Row_F16C : HalfFloatRow_F16C; |
} |
} |
#endif |
#if defined(HAS_HALFFLOATROW_NEON) |
if (TestCpuFlag(kCpuHasNEON)) { |
- HalfFloatRow = HalfFloatRow_Any_NEON; |
+ HalfFloatRow = (scale == 1.0f) ? |
+ HalfFloat1Row_Any_NEON : HalfFloatRow_Any_NEON; |
if (IS_ALIGNED(width, 8)) { |
- HalfFloatRow = HalfFloatRow_NEON; |
+ HalfFloatRow = (scale == 1.0f) ? HalfFloat1Row_NEON : HalfFloatRow_NEON; |
} |
} |
#endif |