Showing the changes to test/processing (1 of 7 files). Show all
Unified · Split
| @@ -9,8 +9,8 @@ · 8 unmodified lines | |||
| 9 | using namespace WelsVP; | 9 | using namespace WelsVP; |
| 10 | 10 | ||
| 11 | void DyadicBilinearDownsampler_ref (uint8_t* pDst, const int32_t kiDstStride, | 11 | void DyadicBilinearDownsampler_ref (uint8_t* pDst, const int32_t kiDstStride, |
| 12 | uint8_t* pSrc, const int32_t kiSrcStride, | 12 | uint8_t* pSrc, const int32_t kiSrcStride, |
| 13 | const int32_t kiSrcWidth, const int32_t kiSrcHeight) { | 13 | const int32_t kiSrcWidth, const int32_t kiSrcHeight) { |
| 14 | uint8_t* pDstLine = pDst; | 14 | uint8_t* pDstLine = pDst; |
| 15 | uint8_t* pSrcLine = pSrc; | 15 | uint8_t* pSrcLine = pSrc; |
| 16 | const int32_t kiSrcStridex2 = kiSrcStride << 1; | 16 | const int32_t kiSrcStridex2 = kiSrcStride << 1; |
| @@ -30,8 +30,9 @@ void DyadicBilinearDownsampler_ref (uint8_t* pDst, const int32_t kiDstStride, · 13 unmodified lines | |||
| 30 | } | 30 | } |
| 31 | } | 31 | } |
| 32 | 32 | ||
| 33 | void GeneralBilinearFastDownsampler_ref (uint8_t* pDst, const int32_t kiDstStride, const int32_t kiDstWidth, const int32_t kiDstHeight, | 33 | void GeneralBilinearFastDownsampler_ref (uint8_t* pDst, const int32_t kiDstStride, const int32_t kiDstWidth, |
| 34 | uint8_t* pSrc, const int32_t kiSrcStride, const int32_t kiSrcWidth, const int32_t kiSrcHeight) { | 34 | const int32_t kiDstHeight, |
| 35 | uint8_t* pSrc, const int32_t kiSrcStride, const int32_t kiSrcWidth, const int32_t kiSrcHeight) { | ||
| 35 | const uint32_t kuiScaleBitWidth = 16, kuiScaleBitHeight = 15; | 36 | const uint32_t kuiScaleBitWidth = 16, kuiScaleBitHeight = 15; |
| 36 | const uint32_t kuiScaleWidth = (1 << kuiScaleBitWidth), kuiScaleHeight = (1 << kuiScaleBitHeight); | 37 | const uint32_t kuiScaleWidth = (1 << kuiScaleBitWidth), kuiScaleHeight = (1 << kuiScaleBitHeight); |
| 37 | int32_t fScalex = WELS_ROUND ((float)kiSrcWidth / (float)kiDstWidth * kuiScaleWidth); | 38 | int32_t fScalex = WELS_ROUND ((float)kiSrcWidth / (float)kiDstWidth * kuiScaleWidth); |
| @@ -98,7 +99,8 @@ void GeneralBilinearFastDownsampler_ref (uint8_t* pDst, const int32_t kiDstStrid · 60 unmodified lines | |||
| 98 | } | 99 | } |
| 99 | } | 100 | } |
| 100 | 101 | ||
| 101 | void GeneralBilinearAccurateDownsampler_ref (uint8_t* pDst, const int32_t kiDstStride, const int32_t kiDstWidth, const int32_t kiDstHeight, | 102 | void GeneralBilinearAccurateDownsampler_ref (uint8_t* pDst, const int32_t kiDstStride, const int32_t kiDstWidth, |
| 103 | const int32_t kiDstHeight, | ||
| 102 | uint8_t* pSrc, const int32_t kiSrcStride, const int32_t kiSrcWidth, const int32_t kiSrcHeight) { | 104 | uint8_t* pSrc, const int32_t kiSrcStride, const int32_t kiSrcWidth, const int32_t kiSrcHeight) { |
| 103 | const int32_t kiScaleBit = 15; | 105 | const int32_t kiScaleBit = 15; |
| 104 | const int32_t kiScale = (1 << kiScaleBit); | 106 | const int32_t kiScale = (1 << kiScaleBit); |
| @@ -243,7 +245,8 @@ TEST (DownSampleTest, func) { \ · 138 unmodified lines | |||
| 243 | 245 | ||
| 244 | GENERATE_DyadicBilinearDownsampler_UT (DyadicBilinearDownsampler_c, 0, 0) | 246 | GENERATE_DyadicBilinearDownsampler_UT (DyadicBilinearDownsampler_c, 0, 0) |
| 245 | GENERATE_GeneralBilinearDownsampler_UT (GeneralBilinearFastDownsampler_c, GeneralBilinearFastDownsampler_ref, 0, 0) | 247 | GENERATE_GeneralBilinearDownsampler_UT (GeneralBilinearFastDownsampler_c, GeneralBilinearFastDownsampler_ref, 0, 0) |
| 246 | GENERATE_GeneralBilinearDownsampler_UT (GeneralBilinearAccurateDownsampler_c, GeneralBilinearAccurateDownsampler_ref, 0, 0) | 248 | GENERATE_GeneralBilinearDownsampler_UT (GeneralBilinearAccurateDownsampler_c, GeneralBilinearAccurateDownsampler_ref, 0, |
| 249 | 0) | ||
| 247 | 250 | ||
| 248 | #if defined(X86_ASM) | 251 | #if defined(X86_ASM) |
| 249 | GENERATE_DyadicBilinearDownsampler_UT (DyadicBilinearDownsamplerWidthx32_sse, 1, WELS_CPU_SSE) | 252 | GENERATE_DyadicBilinearDownsampler_UT (DyadicBilinearDownsamplerWidthx32_sse, 1, WELS_CPU_SSE) |
| @@ -256,20 +259,24 @@ GENERATE_DyadicBilinearDownsampler_UT (DyadicBilinearDownsamplerWidthx16_ssse3, · 6 unmodified lines | |||
| 256 | GENERATE_DyadicBilinearDownsampler_UT (DyadicBilinearDownsamplerWidthx32_sse4, 1, WELS_CPU_SSE41) | 259 | GENERATE_DyadicBilinearDownsampler_UT (DyadicBilinearDownsamplerWidthx32_sse4, 1, WELS_CPU_SSE41) |
| 257 | GENERATE_DyadicBilinearDownsampler_UT (DyadicBilinearDownsamplerWidthx16_sse4, 1, WELS_CPU_SSE41) | 260 | GENERATE_DyadicBilinearDownsampler_UT (DyadicBilinearDownsamplerWidthx16_sse4, 1, WELS_CPU_SSE41) |
| 258 | 261 | ||
| 259 | GENERATE_GeneralBilinearDownsampler_UT (GeneralBilinearFastDownsamplerWrap_sse2, GeneralBilinearFastDownsampler_ref, 1, WELS_CPU_SSE2) | 262 | GENERATE_GeneralBilinearDownsampler_UT (GeneralBilinearFastDownsamplerWrap_sse2, GeneralBilinearFastDownsampler_ref, 1, |
| 260 | GENERATE_GeneralBilinearDownsampler_UT (GeneralBilinearAccurateDownsamplerWrap_sse2, GeneralBilinearAccurateDownsampler_ref, 1, WELS_CPU_SSE2) | 263 | WELS_CPU_SSE2) |
| 264 | GENERATE_GeneralBilinearDownsampler_UT (GeneralBilinearAccurateDownsamplerWrap_sse2, | ||
| 265 | GeneralBilinearAccurateDownsampler_ref, 1, WELS_CPU_SSE2) | ||
| 261 | #endif | 266 | #endif |
| 262 | 267 | ||
| 263 | #if defined(HAVE_NEON) | 268 | #if defined(HAVE_NEON) |
| 264 | GENERATE_DyadicBilinearDownsampler_UT (DyadicBilinearDownsamplerWidthx32_neon, 1, WELS_CPU_NEON) | 269 | GENERATE_DyadicBilinearDownsampler_UT (DyadicBilinearDownsamplerWidthx32_neon, 1, WELS_CPU_NEON) |
| 265 | GENERATE_DyadicBilinearDownsampler_UT (DyadicBilinearDownsampler_neon, 1, WELS_CPU_NEON) | 270 | GENERATE_DyadicBilinearDownsampler_UT (DyadicBilinearDownsampler_neon, 1, WELS_CPU_NEON) |
| 266 | 271 | ||
| 267 | GENERATE_GeneralBilinearDownsampler_UT (GeneralBilinearAccurateDownsamplerWrap_neon, GeneralBilinearAccurateDownsampler_ref, 1, WELS_CPU_NEON) | 272 | GENERATE_GeneralBilinearDownsampler_UT (GeneralBilinearAccurateDownsamplerWrap_neon, |
| 273 | GeneralBilinearAccurateDownsampler_ref, 1, WELS_CPU_NEON) | ||
| 268 | #endif | 274 | #endif |
| 269 | 275 | ||
| 270 | #if defined(HAVE_NEON_AARCH64) | 276 | #if defined(HAVE_NEON_AARCH64) |
| 271 | GENERATE_DyadicBilinearDownsampler_UT (DyadicBilinearDownsamplerWidthx32_AArch64_neon, 1, WELS_CPU_NEON) | 277 | GENERATE_DyadicBilinearDownsampler_UT (DyadicBilinearDownsamplerWidthx32_AArch64_neon, 1, WELS_CPU_NEON) |
| 272 | GENERATE_DyadicBilinearDownsampler_UT (DyadicBilinearDownsampler_AArch64_neon, 1, WELS_CPU_NEON) | 278 | GENERATE_DyadicBilinearDownsampler_UT (DyadicBilinearDownsampler_AArch64_neon, 1, WELS_CPU_NEON) |
| 273 | 279 | ||
| 274 | GENERATE_GeneralBilinearDownsampler_UT (GeneralBilinearAccurateDownsamplerWrap_AArch64_neon, GeneralBilinearAccurateDownsampler_ref, 1, WELS_CPU_NEON) | 280 | GENERATE_GeneralBilinearDownsampler_UT (GeneralBilinearAccurateDownsamplerWrap_AArch64_neon, |
| 281 | GeneralBilinearAccurateDownsampler_ref, 1, WELS_CPU_NEON) | ||
| 275 | #endif | 282 | #endif |