We do four blocks at a time when possible, but need to handle single blocks at a time for intra prediction. ~2.31x speedup over MMX for the DCT on Haswell. ~1.92x speedup over MMX for the IDCT on Haswell.
Showing the changes to codec/encoder/core/src/encode_mb_aux.cpp (1 of 7 files). Show all
Unified · Split
| @@ -516,6 +516,7 @@ void WelsInitEncodingFuncs (SWelsFuncPtrList* pFuncList, uint32_t uiCpuFlag) { · 515 unmodified lines | |||
| 516 | pFuncList->pfScan4x4Ac = WelsScan4x4Ac_sse2; | 516 | pFuncList->pfScan4x4Ac = WelsScan4x4Ac_sse2; |
| 517 | pFuncList->pfCalculateSingleCtr4x4 = WelsCalculateSingleCtr4x4_sse2; | 517 | pFuncList->pfCalculateSingleCtr4x4 = WelsCalculateSingleCtr4x4_sse2; |
| 518 | 518 | ||
| 519 | pFuncList->pfDctT4 = WelsDctT4_sse2; | ||
| 519 | pFuncList->pfDctFourT4 = WelsDctFourT4_sse2; | 520 | pFuncList->pfDctFourT4 = WelsDctFourT4_sse2; |
| 520 | } | 521 | } |
| 521 | //#ifndef MACOS | 522 | //#ifndef MACOS |