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
508508 return (16 - iCnt);
509509 }
510510
511+#ifdef HAVE_NEON
512+int32_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+
511518 void WelsInitEncodingFuncs (SWelsFuncPtrList* pFuncList, uint32_t uiCpuFlag) {
512519 pFuncList->pfCopy8x8Aligned = WelsCopy8x8_c;
513520 pFuncList->pfCopy16x16Aligned =
@@ -571,5 +578,28 @@ void WelsInitEncodingFuncs (SWelsFuncPtrList* pFuncList, uint32_t uiCpuFlag) { · 57 unmodified lines
571578 //#endif//MACOS
572579
573580 #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
574604 }
575605 }

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