| 2988 | } |
| 2989 | |
| 2990 | void WelsBlockFuncInit (SBlockFunc* pFunc, int32_t iCpu) { |
| 2991 | pFunc->pWelsSetNonZeroCountFunc = WelsNonZeroCount_c; |
| 2992 | pFunc->pWelsBlockZero16x16Func = WelsBlockZero16x16_c; |
| 2993 | pFunc->pWelsBlockZero8x8Func = WelsBlockZero8x8_c; |
| 2994 | |
| 2995 | #ifdef HAVE_NEON |
| 2996 | if (iCpu & WELS_CPU_NEON) { |
| 2997 | pFunc->pWelsSetNonZeroCountFunc = WelsNonZeroCount_neon; |
| 2998 | pFunc->pWelsBlockZero16x16Func = WelsBlockZero16x16_neon; |
| 2999 | pFunc->pWelsBlockZero8x8Func = WelsBlockZero8x8_neon; |
| 3000 | } |
| 3001 | #endif |
| 3002 | |
| 3003 | #ifdef HAVE_NEON_AARCH64 |
| 3004 | if (iCpu & WELS_CPU_NEON) { |
| 3005 | pFunc->pWelsSetNonZeroCountFunc = WelsNonZeroCount_AArch64_neon; |
| 3006 | pFunc->pWelsBlockZero16x16Func = WelsBlockZero16x16_AArch64_neon; |
| 3007 | pFunc->pWelsBlockZero8x8Func = WelsBlockZero8x8_AArch64_neon; |
| 3008 | } |
| 3009 | #endif |
| 3010 | |
| 3011 | #if defined(X86_ASM) |
| 3012 | if (iCpu & WELS_CPU_SSE2) { |
| 3013 | pFunc->pWelsSetNonZeroCountFunc = WelsNonZeroCount_sse2; |
| 3014 | pFunc->pWelsBlockZero16x16Func = WelsBlockZero16x16_sse2; |
| 3015 | pFunc->pWelsBlockZero8x8Func = WelsBlockZero8x8_sse2; |
| 3016 | } |
| 3017 | #endif |
| 3018 | |
| 3019 | } |
| 3020 | |
| 3021 | void WelsBlockInit (int16_t* pBlock, int iW, int iH, int iStride, uint8_t uiVal) { |
| 3022 | int32_t i; |
no outgoing calls
no test coverage detected