Add dct_mmi.c, quant_mmi.c and score_mmi.c in codec/encoder/core/mips
Showing the changes to test/encoder/EncUT_EncoderMbAux.cpp (1 of 13 files). Show all
Unified · Split
| @@ -315,6 +315,11 @@ TEST (EncodeMbAuxTest, WelsGetNoneZeroCount_sse42) { · 314 unmodified lines | ||
| 315 | 315 | TestGetNoneZeroCount (WelsGetNoneZeroCount_sse42); |
| 316 | 316 | } |
| 317 | 317 | #endif |
| 318 | +#ifdef HAVE_MMI | |
| 319 | +TEST (EncodeMbAuxTest, WelsGetNoneZeroCount_mmi) { | |
| 320 | + TestGetNoneZeroCount (WelsGetNoneZeroCount_mmi); | |
| 321 | +} | |
| 322 | +#endif | |
| 318 | 323 | #define WELS_ABS_LC(a) ((sign ^ (int32_t)(a)) - sign) |
| 319 | 324 | #define NEW_QUANT(pDct, ff, mf) (((ff)+ WELS_ABS_LC(pDct))*(mf)) >>16 |
| 320 | 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 | 484 | #endif //HAVE_AVX2 |
| 480 | 485 | #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 | |
| 481 | 504 | int32_t WelsHadamardQuant2x2SkipAnchor (int16_t* rs, int16_t ff, int16_t mf) { |
| 482 | 505 | int16_t pDct[4], s[4]; |
| 483 | 506 | int16_t threshold = ((1 << 16) - 1) / mf - ff; |
| @@ -611,3 +634,20 @@ TEST (EncodeMbAuxTest, WelsHadamardT4Dc_sse2) { · 127 unmodified lines | ||
| 611 | 634 | FREE_MEMORY (iLumaDcS); |
| 612 | 635 | } |
| 613 | 636 | #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 | |