MCPcopy Create free account
hub / github.com/cisco/openh264 / WelsInitEncodingFuncs

Function WelsInitEncodingFuncs

codec/encoder/core/src/encode_mb_aux.cpp:464–642  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

462}
463#endif
464void WelsInitEncodingFuncs (SWelsFuncPtrList* pFuncList, uint32_t uiCpuFlag) {
465 pFuncList->pfCopy8x8Aligned = WelsCopy8x8_c;
466 pFuncList->pfCopy16x16Aligned =
467 pFuncList->pfCopy16x16NotAligned = WelsCopy16x16_c;
468 pFuncList->pfCopy16x8NotAligned = WelsCopy16x8_c;
469 pFuncList->pfCopy8x16Aligned = WelsCopy8x16_c;
470 pFuncList->pfCopy4x4 = WelsCopy4x4_c;
471 pFuncList->pfCopy8x4 = WelsCopy8x4_c;
472 pFuncList->pfCopy4x8 = WelsCopy4x8_c;
473 pFuncList->pfQuantizationHadamard2x2 = WelsHadamardQuant2x2_c;
474 pFuncList->pfQuantizationHadamard2x2Skip = WelsHadamardQuant2x2Skip_c;
475 pFuncList->pfTransformHadamard4x4Dc = WelsHadamardT4Dc_c;
476
477 pFuncList->pfDctT4 = WelsDctT4_c;
478 pFuncList->pfDctFourT4 = WelsDctFourT4_c;
479
480 pFuncList->pfScan4x4 = WelsScan4x4DcAc_c;
481 pFuncList->pfScan4x4Ac = WelsScan4x4Ac_c;
482 pFuncList->pfCalculateSingleCtr4x4 = WelsCalculateSingleCtr4x4_c;
483
484 pFuncList->pfGetNoneZeroCount = WelsGetNoneZeroCount_c;
485
486 pFuncList->pfQuantization4x4 = WelsQuant4x4_c;
487 pFuncList->pfQuantizationDc4x4 = WelsQuant4x4Dc_c;
488 pFuncList->pfQuantizationFour4x4 = WelsQuantFour4x4_c;
489 pFuncList->pfQuantizationFour4x4Max = WelsQuantFour4x4Max_c;
490
491#if defined(X86_ASM)
492 if (uiCpuFlag & WELS_CPU_MMXEXT) {
493
494 pFuncList->pfQuantizationHadamard2x2 = WelsHadamardQuant2x2_mmx;
495 pFuncList->pfQuantizationHadamard2x2Skip = WelsHadamardQuant2x2Skip_mmx;
496
497 pFuncList->pfDctT4 = WelsDctT4_mmx;
498
499 pFuncList->pfCopy8x8Aligned = WelsCopy8x8_mmx;
500 pFuncList->pfCopy8x16Aligned = WelsCopy8x16_mmx;
501 }
502 if (uiCpuFlag & WELS_CPU_SSE2) {
503 pFuncList->pfGetNoneZeroCount = WelsGetNoneZeroCount_sse2;
504 pFuncList->pfTransformHadamard4x4Dc = WelsHadamardT4Dc_sse2;
505
506 pFuncList->pfQuantization4x4 = WelsQuant4x4_sse2;
507 pFuncList->pfQuantizationDc4x4 = WelsQuant4x4Dc_sse2;
508 pFuncList->pfQuantizationFour4x4 = WelsQuantFour4x4_sse2;
509 pFuncList->pfQuantizationFour4x4Max = WelsQuantFour4x4Max_sse2;
510
511 pFuncList->pfCopy16x16Aligned = WelsCopy16x16_sse2;
512 pFuncList->pfCopy16x16NotAligned = WelsCopy16x16NotAligned_sse2;
513 pFuncList->pfCopy16x8NotAligned = WelsCopy16x8NotAligned_sse2;
514
515 pFuncList->pfScan4x4 = WelsScan4x4DcAc_sse2;
516 pFuncList->pfScan4x4Ac = WelsScan4x4Ac_sse2;
517 pFuncList->pfCalculateSingleCtr4x4 = WelsCalculateSingleCtr4x4_sse2;
518
519 pFuncList->pfDctT4 = WelsDctT4_sse2;
520 pFuncList->pfDctFourT4 = WelsDctFourT4_sse2;
521 }

Callers 3

TESTFunction · 0.85
InitFunctionPointersFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected