Showing the changes to codec/processing/src/downsample (2 of 120 files). Show all
Unified · Split
| @@ -112,8 +112,9 @@ HalveDownsampleFunc DyadicBilinearDownsamplerWidthx32_neon; · 111 unmodified lines | |||
| 112 | 112 | ||
| 113 | GeneralDownsampleFunc GeneralBilinearAccurateDownsamplerWrap_neon; | 113 | GeneralDownsampleFunc GeneralBilinearAccurateDownsamplerWrap_neon; |
| 114 | 114 | ||
| 115 | void GeneralBilinearAccurateDownsampler_neon( uint8_t* pDst, const int32_t kiDstStride, const int32_t kiDstWidth, const int32_t kiDstHeight, | 115 | void GeneralBilinearAccurateDownsampler_neon (uint8_t* pDst, const int32_t kiDstStride, const int32_t kiDstWidth, |
| 116 | uint8_t* pSrc, const int32_t kiSrcStride, const uint32_t kuiScaleX, const uint32_t kuiScaleY); | 116 | const int32_t kiDstHeight, |
| 117 | uint8_t* pSrc, const int32_t kiSrcStride, const uint32_t kuiScaleX, const uint32_t kuiScaleY); | ||
| 117 | 118 | ||
| 118 | WELSVP_EXTERN_C_END | 119 | WELSVP_EXTERN_C_END |
| 119 | #endif | 120 | #endif |
| @@ -230,13 +230,15 @@ void GeneralBilinearAccurateDownsampler_c (uint8_t* pDst, const int32_t kiDstStr · 229 unmodified lines | |||
| 230 | #endif //X86_ASM | 230 | #endif //X86_ASM |
| 231 | 231 | ||
| 232 | #ifdef HAVE_NEON | 232 | #ifdef HAVE_NEON |
| 233 | void GeneralBilinearAccurateDownsamplerWrap_neon(uint8_t* pDst, const int32_t kiDstStride, const int32_t kiDstWidth, const int32_t kiDstHeight, | 233 | void GeneralBilinearAccurateDownsamplerWrap_neon (uint8_t* pDst, const int32_t kiDstStride, const int32_t kiDstWidth, |
| 234 | uint8_t* pSrc, const int32_t kiSrcStride, const int32_t kiSrcWidth, const int32_t kiSrcHeight) { | 234 | const int32_t kiDstHeight, |
| 235 | uint8_t* pSrc, const int32_t kiSrcStride, const int32_t kiSrcWidth, const int32_t kiSrcHeight) { | ||
| 235 | const int32_t kiScaleBit = 15; | 236 | const int32_t kiScaleBit = 15; |
| 236 | const uint32_t kuiScale = (1 << kiScaleBit); | 237 | const uint32_t kuiScale = (1 << kiScaleBit); |
| 237 | uint32_t uiScalex = (uint32_t)((float)kiSrcWidth / (float)kiDstWidth * kuiScale); | 238 | uint32_t uiScalex = (uint32_t) ((float)kiSrcWidth / (float)kiDstWidth * kuiScale); |
| 238 | uint32_t uiScaley = (uint32_t)((float)kiSrcHeight / (float)kiDstHeight * kuiScale); | 239 | uint32_t uiScaley = (uint32_t) ((float)kiSrcHeight / (float)kiDstHeight * kuiScale); |
| 239 | GeneralBilinearAccurateDownsampler_neon(pDst, kiDstStride, kiDstWidth, kiDstHeight, pSrc, kiSrcStride, uiScalex, uiScaley); | 240 | GeneralBilinearAccurateDownsampler_neon (pDst, kiDstStride, kiDstWidth, kiDstHeight, pSrc, kiSrcStride, uiScalex, |
| 241 | uiScaley); | ||
| 240 | } | 242 | } |
| 241 | #endif | 243 | #endif |
| 242 | WELSVP_NAMESPACE_END | 244 | WELSVP_NAMESPACE_END |