WelsSampleSatd16x16_avx2 (~2.31x speedup over SSE4.1 on Haswell). WelsSampleSatd16x8_avx2 (~2.19x speedup over SSE4.1 on Haswell). WelsSampleSatd8x16_avx2 (~1.68x speedup over SSE4.1 on Haswell). WelsSampleSatd8x8_avx2 (~1.53x speedup over SSE4.1 on Haswell).
Showing the changes to codec/encoder/core/src/sample.cpp (1 of 5 files). Show all
Unified · Split
| @@ -405,6 +405,13 @@ void WelsInitSampleSadFunc (SWelsFuncPtrList* pFuncList, uint32_t uiCpuFlag) { · 404 unmodified lines | ||
| 405 | 405 | pFuncList->sSampleDealingFuncs.pfIntra8x8Combined3Satd = WelsIntraChroma8x8Combined3Satd_sse41; |
| 406 | 406 | } |
| 407 | 407 | |
| 408 | + if (uiCpuFlag & WELS_CPU_AVX2) { | |
| 409 | + pFuncList->sSampleDealingFuncs.pfSampleSatd[BLOCK_16x16] = WelsSampleSatd16x16_avx2; | |
| 410 | + pFuncList->sSampleDealingFuncs.pfSampleSatd[BLOCK_16x8] = WelsSampleSatd16x8_avx2; | |
| 411 | + pFuncList->sSampleDealingFuncs.pfSampleSatd[BLOCK_8x16] = WelsSampleSatd8x16_avx2; | |
| 412 | + pFuncList->sSampleDealingFuncs.pfSampleSatd[BLOCK_8x8] = WelsSampleSatd8x8_avx2; | |
| 413 | + } | |
| 414 | + | |
| 408 | 415 | #endif //(X86_ASM) |
| 409 | 416 | |
| 410 | 417 | #if defined (HAVE_NEON) |