Showing the changes to codec/processing/src/downsample/downsamplefuncs.cpp (1 of 3 files). Show all
Unified · Split
| @@ -202,31 +202,31 @@ void GeneralBilinearAccurateDownsampler_c (uint8_t* pDst, const int32_t kiDstStr · 201 unmodified lines | ||
| 202 | 202 | |
| 203 | 203 | |
| 204 | 204 | #ifdef X86_ASM |
| 205 | −//void GeneralBilinearFastDownsamplerWrap_sse2 (uint8_t* pDst, const int32_t kiDstStride, const int32_t kiDstWidth, | |
| 206 | −// const int32_t kiDstHeight, | |
| 207 | −// uint8_t* pSrc, const int32_t kiSrcStride, const int32_t kiSrcWidth, const int32_t kiSrcHeight) { | |
| 208 | −// const int32_t kiScaleBitWidth = 16, kiScaleBitHeight = 15; | |
| 209 | −// const uint32_t kuiScaleWidth = (1 << kiScaleBitWidth), kuiScaleHeight = (1 << kiScaleBitHeight); | |
| 210 | −// | |
| 211 | −// uint32_t uiScalex = WELS_ROUND ((float)kiSrcWidth / (float)kiDstWidth * kuiScaleWidth); | |
| 212 | −// uint32_t uiScaley = WELS_ROUND ((float)kiSrcHeight / (float)kiDstHeight * kuiScaleHeight); | |
| 213 | −// | |
| 214 | −// GeneralBilinearFastDownsampler_sse2 (pDst, kiDstStride, kiDstWidth, kiDstHeight, | |
| 215 | −// pSrc, kiSrcStride, kiSrcWidth, kiSrcHeight, uiScalex, uiScaley); | |
| 216 | −//} | |
| 217 | −// | |
| 218 | −//void GeneralBilinearAccurateDownsamplerWrap_sse2 (uint8_t* pDst, const int32_t kiDstStride, const int32_t kiDstWidth, | |
| 219 | −// const int32_t kiDstHeight, | |
| 220 | −// uint8_t* pSrc, const int32_t kiSrcStride, const int32_t kiSrcWidth, const int32_t kiSrcHeight) { | |
| 221 | −// const int32_t kiScaleBit = 15; | |
| 222 | −// const uint32_t kuiScale = (1 << kiScaleBit); | |
| 223 | −// | |
| 224 | −// uint32_t uiScalex = WELS_ROUND ((float)kiSrcWidth / (float)kiDstWidth * kuiScale); | |
| 225 | −// uint32_t uiScaley = WELS_ROUND ((float)kiSrcHeight / (float)kiDstHeight * kuiScale); | |
| 226 | −// | |
| 227 | −// GeneralBilinearAccurateDownsampler_sse2 (pDst, kiDstStride, kiDstWidth, kiDstHeight, | |
| 228 | −// pSrc, kiSrcStride, kiSrcWidth, kiSrcHeight, uiScalex, uiScaley); | |
| 229 | −//} | |
| 205 | +void GeneralBilinearFastDownsamplerWrap_sse2 (uint8_t* pDst, const int32_t kiDstStride, const int32_t kiDstWidth, | |
| 206 | + const int32_t kiDstHeight, | |
| 207 | + uint8_t* pSrc, const int32_t kiSrcStride, const int32_t kiSrcWidth, const int32_t kiSrcHeight) { | |
| 208 | + const int32_t kiScaleBitWidth = 16, kiScaleBitHeight = 15; | |
| 209 | + const uint32_t kuiScaleWidth = (1 << kiScaleBitWidth), kuiScaleHeight = (1 << kiScaleBitHeight); | |
| 210 | + | |
| 211 | + uint32_t uiScalex = WELS_ROUND ((float)kiSrcWidth / (float)kiDstWidth * kuiScaleWidth); | |
| 212 | + uint32_t uiScaley = WELS_ROUND ((float)kiSrcHeight / (float)kiDstHeight * kuiScaleHeight); | |
| 213 | + | |
| 214 | + GeneralBilinearFastDownsampler_sse2 (pDst, kiDstStride, kiDstWidth, kiDstHeight, | |
| 215 | + pSrc, kiSrcStride, kiSrcWidth, kiSrcHeight, uiScalex, uiScaley); | |
| 216 | +} | |
| 217 | + | |
| 218 | +void GeneralBilinearAccurateDownsamplerWrap_sse2 (uint8_t* pDst, const int32_t kiDstStride, const int32_t kiDstWidth, | |
| 219 | + const int32_t kiDstHeight, | |
| 220 | + uint8_t* pSrc, const int32_t kiSrcStride, const int32_t kiSrcWidth, const int32_t kiSrcHeight) { | |
| 221 | + const int32_t kiScaleBit = 15; | |
| 222 | + const uint32_t kuiScale = (1 << kiScaleBit); | |
| 223 | + | |
| 224 | + uint32_t uiScalex = WELS_ROUND ((float)kiSrcWidth / (float)kiDstWidth * kuiScale); | |
| 225 | + uint32_t uiScaley = WELS_ROUND ((float)kiSrcHeight / (float)kiDstHeight * kuiScale); | |
| 226 | + | |
| 227 | + GeneralBilinearAccurateDownsampler_sse2 (pDst, kiDstStride, kiDstWidth, kiDstHeight, | |
| 228 | + pSrc, kiSrcStride, kiSrcWidth, kiSrcHeight, uiScalex, uiScaley); | |
| 229 | +} | |
| 230 | 230 | #endif //X86_ASM |
| 231 | 231 | |
| 232 | 232 | #ifdef HAVE_NEON |