History

Add optimization files for loongson platform

1. Add dct_mmi.c in codec/decoder/core/mips 2. Add vaa_mmi.c in codec/processing/src/mips 3. Add optimization functions in codec/common/src/mc.cpp

gxw committed 8 years ago

Commit 14750b41 parent 906dacd14 files · +4385 −0Browse files

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

Unified · Split

test/encoder/EncUT_EncoderMbAux.cpp+56−0
@@ -74,6 +74,39 @@ TEST (EncodeMbAuxTest, WelsScan4x4DcAc_sse2) { · 73 unmodified lines
7474 FREE_MEMORY (iDct);
7575 }
7676 #endif
77+#ifdef HAVE_MMI
78+TEST (EncodeMbAuxTest, WelsScan4x4Ac_mmi) {
79+ CMemoryAlign cMemoryAlign (0);
80+ ALLOC_MEMORY (int16_t, iLevelA, 16);
81+ ALLOC_MEMORY (int16_t, iLevelB, 16);
82+ ALLOC_MEMORY (int16_t, iDct, 16);
83+ for (int i = 0; i < 16; i++) {
84+ iDct[i] = rand() % 256 + 1;
85+ }
86+ WelsScan4x4Ac_c (iLevelA, iDct);
87+ WelsScan4x4Ac_mmi (iLevelB, iDct);
88+ for (int j = 0; j < 16; j++)
89+ EXPECT_EQ (iLevelA[j], iLevelB[j]);
90+ FREE_MEMORY (iLevelA);
91+ FREE_MEMORY (iLevelB);
92+ FREE_MEMORY (iDct);
93+}
94+TEST (EncodeMbAuxTest, WelsScan4x4DcAc_mmi) {
95+ CMemoryAlign cMemoryAlign (0);
96+ ALLOC_MEMORY (int16_t, iLevelA, 32);
97+ ALLOC_MEMORY (int16_t, iLevelB, 32);
98+ ALLOC_MEMORY (int16_t, iDct, 32);
99+ for (int i = 0; i < 32; i++)
100+ iDct[i] = (rand() & 32767) - 16384;
101+ WelsScan4x4DcAc_mmi (iLevelA, iDct);
102+ WelsScan4x4DcAc_c (iLevelB, iDct);
103+ for (int i = 0; i < 16; i++)
104+ EXPECT_EQ (iLevelA[i], iLevelB[i]);
105+ FREE_MEMORY (iLevelA);
106+ FREE_MEMORY (iLevelB);
107+ FREE_MEMORY (iDct);
108+}
109+#endif
77110 TEST (EncodeMbAuxTest, TestScan_4x4_dcc) {
78111 CMemoryAlign cMemoryAlign (0);
79112 ALLOC_MEMORY (int16_t, iLevel, 16);
@@ -236,6 +269,29 @@ TEST (EncodeMbAuxTest, WelsCalculateSingleCtr4x4_sse2) { · 156 unmodified lines
236269 FREE_MEMORY (iDctS);
237270 }
238271 #endif
272+#ifdef HAVE_MMI
273+TEST (EncodeMbAuxTest, WelsDctT4_mmi) {
274+ TestDctT4 (WelsDctT4_mmi);
275+}
276+
277+TEST (EncodeMbAuxTest, WelsDctFourT4_mmi) {
278+ TestDctFourT4 (WelsDctFourT4_mmi);
279+}
280+
281+TEST (EncodeMbAuxTest, WelsCalculateSingleCtr4x4_mmi) {
282+ CMemoryAlign cMemoryAlign (0);
283+ ALLOC_MEMORY (int16_t, iDctC, 16);
284+ ALLOC_MEMORY (int16_t, iDctS, 16);
285+ for (int i = 0; i < 16; i++)
286+ iDctC[i] = iDctS[i] = (rand() & 65535) - 32768;
287+ WelsCalculateSingleCtr4x4_c (iDctC);
288+ WelsCalculateSingleCtr4x4_mmi (iDctS);
289+ for (int i = 0; i < 16; i++)
290+ EXPECT_EQ (iDctC[i], iDctS[i]);
291+ FREE_MEMORY (iDctC);
292+ FREE_MEMORY (iDctS);
293+}
294+#endif
239295
240296 void copy (uint8_t* pDst, int32_t iDStride, uint8_t* pSrc, int32_t iSStride, int32_t iWidth, int32_t iHeight) {
241297 for (int i = 0; i < iHeight; i++)

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