History

Add optimization files in codec/encoder/core/mips

Add dct_mmi.c, quant_mmi.c and score_mmi.c in codec/encoder/core/mips

gxw committed 8 years ago

Commit 906dacd1 parent 9e2abda13 files · +1562 −2Browse files

Showing the changes to test/encoder/EncUT_EncoderMbAux.cpp (1 of 13 files). Show all

Unified · Split

test/encoder/EncUT_EncoderMbAux.cpp+40−0
@@ -315,6 +315,11 @@ TEST (EncodeMbAuxTest, WelsGetNoneZeroCount_sse42) { · 314 unmodified lines
315 TestGetNoneZeroCount (WelsGetNoneZeroCount_sse42);315 TestGetNoneZeroCount (WelsGetNoneZeroCount_sse42);
316}316}
317#endif317#endif
318#ifdef HAVE_MMI
319TEST (EncodeMbAuxTest, WelsGetNoneZeroCount_mmi) {
320 TestGetNoneZeroCount (WelsGetNoneZeroCount_mmi);
321}
322#endif
318#define WELS_ABS_LC(a) ((sign ^ (int32_t)(a)) - sign)323#define WELS_ABS_LC(a) ((sign ^ (int32_t)(a)) - sign)
319#define NEW_QUANT(pDct, ff, mf) (((ff)+ WELS_ABS_LC(pDct))*(mf)) >>16324#define NEW_QUANT(pDct, ff, mf) (((ff)+ WELS_ABS_LC(pDct))*(mf)) >>16
320#define WELS_NEW_QUANT(pDct,ff,mf) WELS_ABS_LC(NEW_QUANT(pDct, ff, mf))325#define WELS_NEW_QUANT(pDct,ff,mf) WELS_ABS_LC(NEW_QUANT(pDct, ff, mf))
@@ -478,6 +483,24 @@ TEST (EncodeMbAuxTest, WelsQuantFour4x4Max_avx2) { · 157 unmodified lines
478}483}
479#endif //HAVE_AVX2484#endif //HAVE_AVX2
480#endif485#endif
486#ifdef HAVE_MMI
487TEST (EncodeMbAuxTest, WelsQuant4x4_mmi) {
488 if (WelsCPUFeatureDetect (0) & WELS_CPU_MMI)
489 TestWelsQuant4x4 (WelsQuant4x4_mmi);
490}
491TEST (EncodeMbAuxTest, WelsQuant4x4Dc_mmi) {
492 if (WelsCPUFeatureDetect (0) & WELS_CPU_MMI)
493 TestWelsQuant4x4Dc (WelsQuant4x4Dc_mmi);
494}
495TEST (EncodeMbAuxTest, WelsQuantFour4x4_mmi) {
496 if (WelsCPUFeatureDetect (0) & WELS_CPU_MMI)
497 TestWelsQuantFour4x4 (WelsQuantFour4x4_mmi);
498}
499TEST (EncodeMbAuxTest, WelsQuantFour4x4Max_mmi) {
500 if (WelsCPUFeatureDetect (0) & WELS_CPU_MMI)
501 TestWelsQuantFour4x4Max (WelsQuantFour4x4Max_mmi);
502}
503#endif //HAVE_MMI
481int32_t WelsHadamardQuant2x2SkipAnchor (int16_t* rs, int16_t ff, int16_t mf) {504int32_t WelsHadamardQuant2x2SkipAnchor (int16_t* rs, int16_t ff, int16_t mf) {
482 int16_t pDct[4], s[4];505 int16_t pDct[4], s[4];
483 int16_t threshold = ((1 << 16) - 1) / mf - ff;506 int16_t threshold = ((1 << 16) - 1) / mf - ff;
@@ -611,3 +634,20 @@ TEST (EncodeMbAuxTest, WelsHadamardT4Dc_sse2) { · 127 unmodified lines
611 FREE_MEMORY (iLumaDcS);634 FREE_MEMORY (iLumaDcS);
612}635}
613#endif636#endif
637#ifdef HAVE_MMI
638TEST (EncodeMbAuxTest, WelsHadamardT4Dc_mmi) {
639 CMemoryAlign cMemoryAlign (0);
640 ALLOC_MEMORY (int16_t, iDct, 128 * 16);
641 ALLOC_MEMORY (int16_t, iLumaDcC, 16);
642 ALLOC_MEMORY (int16_t, iLumaDcS, 16);
643 for (int i = 0; i < 128 * 16; i++)
644 iDct[i] = (rand() & 32767) - 16384;
645 WelsHadamardT4Dc_c (iLumaDcC, iDct);
646 WelsHadamardT4Dc_mmi (iLumaDcS, iDct);
647 for (int i = 0; i < 16; i++)
648 EXPECT_EQ (iLumaDcC[i], iLumaDcS[i]);
649 FREE_MEMORY (iDct);
650 FREE_MEMORY (iLumaDcC);
651 FREE_MEMORY (iLumaDcS);
652}
653#endif

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