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
315315 TestGetNoneZeroCount (WelsGetNoneZeroCount_sse42);
316316 }
317317 #endif
318+#ifdef HAVE_MMI
319+TEST (EncodeMbAuxTest, WelsGetNoneZeroCount_mmi) {
320+ TestGetNoneZeroCount (WelsGetNoneZeroCount_mmi);
321+}
322+#endif
318323 #define WELS_ABS_LC(a) ((sign ^ (int32_t)(a)) - sign)
319324 #define NEW_QUANT(pDct, ff, mf) (((ff)+ WELS_ABS_LC(pDct))*(mf)) >>16
320325 #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
478483 }
479484 #endif //HAVE_AVX2
480485 #endif
486+#ifdef HAVE_MMI
487+TEST (EncodeMbAuxTest, WelsQuant4x4_mmi) {
488+ if (WelsCPUFeatureDetect (0) & WELS_CPU_MMI)
489+ TestWelsQuant4x4 (WelsQuant4x4_mmi);
490+}
491+TEST (EncodeMbAuxTest, WelsQuant4x4Dc_mmi) {
492+ if (WelsCPUFeatureDetect (0) & WELS_CPU_MMI)
493+ TestWelsQuant4x4Dc (WelsQuant4x4Dc_mmi);
494+}
495+TEST (EncodeMbAuxTest, WelsQuantFour4x4_mmi) {
496+ if (WelsCPUFeatureDetect (0) & WELS_CPU_MMI)
497+ TestWelsQuantFour4x4 (WelsQuantFour4x4_mmi);
498+}
499+TEST (EncodeMbAuxTest, WelsQuantFour4x4Max_mmi) {
500+ if (WelsCPUFeatureDetect (0) & WELS_CPU_MMI)
501+ TestWelsQuantFour4x4Max (WelsQuantFour4x4Max_mmi);
502+}
503+#endif //HAVE_MMI
481504 int32_t WelsHadamardQuant2x2SkipAnchor (int16_t* rs, int16_t ff, int16_t mf) {
482505 int16_t pDct[4], s[4];
483506 int16_t threshold = ((1 << 16) - 1) / mf - ff;
@@ -611,3 +634,20 @@ TEST (EncodeMbAuxTest, WelsHadamardT4Dc_sse2) { · 127 unmodified lines
611634 FREE_MEMORY (iLumaDcS);
612635 }
613636 #endif
637+#ifdef HAVE_MMI
638+TEST (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