History

Partly add arm asm code to encoder.

Licai Guo committed 12 years ago

Commit bb244d71 parent 7150adc28 files · +7914 −1Browse files

Showing the changes to codec/encoder/core/src/encode_mb_aux.cpp (1 of 28 files). Show all

Unified · Split

codec/encoder/core/src/encode_mb_aux.cpp+30−0
@@ -508,6 +508,13 @@ int32_t WelsGetNoneZeroCount_c (int16_t* pLevel) { · 507 unmodified lines
508 return (16 - iCnt);508 return (16 - iCnt);
509}509}
510 510
511#ifdef HAVE_NEON
512int32_t WelsHadamardQuant2x2Skip_neon(int16_t* pRes, int16_t iFF, int16_t iMF) {
513 int16_t iThreshold = ((1<<16)-1)/iMF - iFF;
514 return WelsHadamardQuant2x2SkipKernel_neon(pRes, iThreshold);
515}
516#endif
517
511void WelsInitEncodingFuncs (SWelsFuncPtrList* pFuncList, uint32_t uiCpuFlag) {518void WelsInitEncodingFuncs (SWelsFuncPtrList* pFuncList, uint32_t uiCpuFlag) {
512 pFuncList->pfCopy8x8Aligned = WelsCopy8x8_c;519 pFuncList->pfCopy8x8Aligned = WelsCopy8x8_c;
513 pFuncList->pfCopy16x16Aligned =520 pFuncList->pfCopy16x16Aligned =
@@ -571,5 +578,28 @@ void WelsInitEncodingFuncs (SWelsFuncPtrList* pFuncList, uint32_t uiCpuFlag) { · 57 unmodified lines
571//#endif//MACOS578//#endif//MACOS
572 579
573#endif//X86_ASM580#endif//X86_ASM
581
582#if defined(HAVE_NEON)
583 if (uiCpuFlag & WELS_CPU_NEON) {
584 pFuncList->pfQuantizationHadamard2x2 = WelsHadamardQuant2x2_neon;
585 pFuncList->pfQuantizationHadamard2x2Skip = WelsHadamardQuant2x2Skip_neon;
586 pFuncList->pfDctT4 = WelsDctT4_neon;
587 pFuncList->pfCopy8x8Aligned = WelsCopy8x8_neon;
588 pFuncList->pfCopy8x16Aligned = WelsCopy8x16_neon;
589
590 pFuncList->pfGetNoneZeroCount = WelsGetNoneZeroCount_neon;
591 pFuncList->pfTransformHadamard4x4Dc = WelsHadamardT4Dc_neon;
592
593 pFuncList->pfQuantization4x4 = WelsQuant4x4_neon;
594 pFuncList->pfQuantizationDc4x4 = WelsQuant4x4Dc_neon;
595 pFuncList->pfQuantizationFour4x4 = WelsQuantFour4x4_neon;
596 pFuncList->pfQuantizationFour4x4Max = WelsQuantFour4x4Max_neon;
597
598 pFuncList->pfCopy16x16Aligned = WelsCopy16x16_neon;
599 pFuncList->pfCopy16x16NotAligned = WelsCopy16x16NotAligned_neon;
600 pFuncList->pfCopy16x8NotAligned = WelsCopy16x8NotAligned_neon;
601 pFuncList->pfDctFourT4 = WelsDctFourT4_neon;
602 }
603#endif
574}604}
575}605}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t