History

[UT] Reduce duplication in quantization tests

Sindre Aamås committed 10 years ago

Commit abaf3a41 parent eb9f5651 file · +12 −21Browse files

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

Unified · Split

test/encoder/EncUT_EncoderMbAux.cpp+12−21
@@ -292,6 +292,7 @@ TEST (EncodeMbAuxTest, WelsGetNoneZeroCount_sse2) { · 291 unmodified lines
292292 #define WELS_ABS_LC(a) ((sign ^ (int32_t)(a)) - sign)
293293 #define NEW_QUANT(pDct, ff, mf) (((ff)+ WELS_ABS_LC(pDct))*(mf)) >>16
294294 #define WELS_NEW_QUANT(pDct,ff,mf) WELS_ABS_LC(NEW_QUANT(pDct, ff, mf))
295+namespace {
295296 void WelsQuantFour4x4MaxAnchor (int16_t* pDct, int16_t* ff, int16_t* mf, int16_t* max) {
296297 int32_t i, j, k, sign;
297298 int16_t max_abs;
@@ -308,25 +309,7 @@ void WelsQuantFour4x4MaxAnchor (int16_t* pDct, int16_t* ff, int16_t* mf, int16_ · 10 unmodified lines
308309 max[k] = max_abs;
309310 }
310311 }
311−TEST (EncodeMbAuxTest, WelsQuantFour4x4Max_c) {
312− int16_t ff[8], mf[8];
313− int16_t iDctA[64], iMaxA[16];
314− int16_t iDctC[64], iMaxC[16];
315− for (int i = 0; i < 8; i++) {
316− ff[i] = rand() & 32767;
317− mf[i] = rand() & 32767;
318− }
319− for (int i = 0; i < 64; i++)
320− iDctA[i] = iDctC[i] = (rand() & 65535) - 32767;
321− WelsQuantFour4x4MaxAnchor (iDctA, ff, mf, iMaxA);
322− WelsQuantFour4x4Max_c (iDctC, ff, mf, iMaxC);
323− for (int i = 0; i < 64; i++)
324− EXPECT_EQ (iDctA[i], iDctC[i]);
325− for (int i = 0; i < 4; i++)
326− EXPECT_EQ (iMaxA[i], iMaxC[i]);
327−}
328−#ifdef X86_ASM
329−TEST (EncodeMbAuxTest, WelsQuantFour4x4Max_sse2) {
312+void TestWelsQuantFour4x4Max (PQuantizationMaxFunc func) {
330313 CMemoryAlign cMemoryAlign (0);
331314 ALLOC_MEMORY (int16_t, ff, 8);
332315 ALLOC_MEMORY (int16_t, mf, 8);
@@ -340,8 +323,8 @@ TEST (EncodeMbAuxTest, WelsQuantFour4x4Max_sse2) { · 7 unmodified lines
340323 }
341324 for (int i = 0; i < 64; i++)
342325 iDctC[i] = iDctS[i] = (rand() & 65535) - 32767;
343− WelsQuantFour4x4Max_c (iDctC, ff, mf, iMaxC);
344− WelsQuantFour4x4Max_sse2 (iDctS, ff, mf, iMaxS);
326+ WelsQuantFour4x4MaxAnchor (iDctC, ff, mf, iMaxC);
327+ func (iDctS, ff, mf, iMaxS);
345328 for (int i = 0; i < 64; i++)
346329 EXPECT_EQ (iDctC[i], iDctS[i]);
347330 for (int i = 0; i < 4; i++)
@@ -353,6 +336,14 @@ TEST (EncodeMbAuxTest, WelsQuantFour4x4Max_sse2) { · 5 unmodified lines
353336 FREE_MEMORY (iMaxC);
354337 FREE_MEMORY (iMaxS);
355338 }
339+} // anon ns
340+TEST (EncodeMbAuxTest, WelsQuantFour4x4Max_c) {
341+ TestWelsQuantFour4x4Max (WelsQuantFour4x4Max_c);
342+}
343+#ifdef X86_ASM
344+TEST (EncodeMbAuxTest, WelsQuantFour4x4Max_sse2) {
345+ TestWelsQuantFour4x4Max (WelsQuantFour4x4Max_sse2);
346+}
356347 #endif
357348 int32_t WelsHadamardQuant2x2SkipAnchor (int16_t* rs, int16_t ff, int16_t mf) {
358349 int16_t pDct[4], s[4];

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