This makes sure we don't accidentally return the same sequence of random numbers multiple times within one test (which would be very non-random). Every time srand(time()) is called, the pseudo random number generator is initialized to the same value (as long as time() returned the same value). By initializing the random number generator once and for all before starting to run the unit tests, we are sure we don't need to reinitialize it within all the tests and all the functions that use random numbers. This fixes occasional errors in MotionEstimateTest. MotionEstimateTest was designed to allow the test to occasionally not succeed - if it didn't succeed, it tried again, up to 100 times. However, since the YUVPixelDataGenerator function reset the random seed to time(), every attempt actually ran with the same random data (as long as all 100 attempts ran within 1 second) - thus if one attempt in MotionEstimateTest failed, all 100 of them would fail. If the utility functions don't touch the random seed, this is not an issue.
Showing the changes to test/encoder/EncUT_Sample.cpp (1 of 16 files). Show all
Unified · Split
| @@ -1,7 +1,5 @@ | |||
| 1 | #include<gtest/gtest.h> | 1 | #include<gtest/gtest.h> |
| 2 | #include<math.h> | 2 | #include<math.h> |
| 3 | #include<stdlib.h> | ||
| 4 | #include<time.h> | ||
| 5 | 3 | ||
| 6 | #include "cpu_core.h" | 4 | #include "cpu_core.h" |
| 7 | #include "cpu.h" | 5 | #include "cpu.h" |
| @@ -24,7 +22,6 @@ TEST (IntraSadSatdFuncTest, WelsIntra16x16Combined3Sad_ssse3) { · 16 unmodified lines | |||
| 24 | uint8_t* pDec = (uint8_t*)cMemoryAlign.WelsMalloc (iLineSizeDec << 5, "pDec"); | 22 | uint8_t* pDec = (uint8_t*)cMemoryAlign.WelsMalloc (iLineSizeDec << 5, "pDec"); |
| 25 | uint8_t* pEnc = (uint8_t*)cMemoryAlign.WelsMalloc (iLineSizeEnc << 5, "pEnc"); | 23 | uint8_t* pEnc = (uint8_t*)cMemoryAlign.WelsMalloc (iLineSizeEnc << 5, "pEnc"); |
| 26 | uint8_t* pDst = (uint8_t*)cMemoryAlign.WelsMalloc (512, "pDst"); | 24 | uint8_t* pDst = (uint8_t*)cMemoryAlign.WelsMalloc (512, "pDst"); |
| 27 | srand ((uint32_t)time (NULL)); | ||
| 28 | for (int i = 0; i < (iLineSizeDec << 5); i++) | 25 | for (int i = 0; i < (iLineSizeDec << 5); i++) |
| 29 | pDec[i] = rand() % 256; | 26 | pDec[i] = rand() % 256; |
| 30 | for (int i = 0; i < (iLineSizeEnc << 5); i++) | 27 | for (int i = 0; i < (iLineSizeEnc << 5); i++) |
| @@ -56,7 +53,6 @@ TEST (IntraSadSatdFuncTest, WelsIntra16x16Combined3Satd_sse41) { · 25 unmodified lines | |||
| 56 | uint8_t* pDec = (uint8_t*)cMemoryAlign.WelsMalloc (iLineSizeDec << 5, "pDec"); | 53 | uint8_t* pDec = (uint8_t*)cMemoryAlign.WelsMalloc (iLineSizeDec << 5, "pDec"); |
| 57 | uint8_t* pEnc = (uint8_t*)cMemoryAlign.WelsMalloc (iLineSizeEnc << 5, "pEnc"); | 54 | uint8_t* pEnc = (uint8_t*)cMemoryAlign.WelsMalloc (iLineSizeEnc << 5, "pEnc"); |
| 58 | uint8_t* pDst = (uint8_t*)cMemoryAlign.WelsMalloc (512, "pDst"); | 55 | uint8_t* pDst = (uint8_t*)cMemoryAlign.WelsMalloc (512, "pDst"); |
| 59 | srand ((uint32_t)time (NULL)); | ||
| 60 | for (int i = 0; i < (iLineSizeDec << 5); i++) | 56 | for (int i = 0; i < (iLineSizeDec << 5); i++) |
| 61 | pDec[i] = rand() % 256; | 57 | pDec[i] = rand() % 256; |
| 62 | for (int i = 0; i < (iLineSizeEnc << 5); i++) | 58 | for (int i = 0; i < (iLineSizeEnc << 5); i++) |
| @@ -88,7 +84,6 @@ TEST (IntraSadSatdFuncTest, WelsSampleSatdThree4x4_sse2) { · 25 unmodified lines | |||
| 88 | uint8_t* pEnc = (uint8_t*)cMemoryAlign.WelsMalloc (iLineSizeEnc << 5, "pEnc"); | 84 | uint8_t* pEnc = (uint8_t*)cMemoryAlign.WelsMalloc (iLineSizeEnc << 5, "pEnc"); |
| 89 | uint8_t* pDst = (uint8_t*)cMemoryAlign.WelsMalloc (512, "pDst"); | 85 | uint8_t* pDst = (uint8_t*)cMemoryAlign.WelsMalloc (512, "pDst"); |
| 90 | WelsInitFillingPredFuncs (WELS_CPU_SSE2); | 86 | WelsInitFillingPredFuncs (WELS_CPU_SSE2); |
| 91 | srand ((uint32_t)time (NULL)); | ||
| 92 | for (int i = 0; i < (iLineSizeDec << 5); i++) | 87 | for (int i = 0; i < (iLineSizeDec << 5); i++) |
| 93 | pDec[i] = rand() % 256; | 88 | pDec[i] = rand() % 256; |
| 94 | for (int i = 0; i < (iLineSizeEnc << 5); i++) | 89 | for (int i = 0; i < (iLineSizeEnc << 5); i++) |
| @@ -121,7 +116,6 @@ TEST (IntraSadSatdFuncTest, WelsIntraChroma8x8Combined3Satd_sse41) { · 26 unmodified lines | |||
| 121 | uint8_t* pDecCr = (uint8_t*)cMemoryAlign.WelsMalloc (iLineSizeDec << 5, "pDecCr"); | 116 | uint8_t* pDecCr = (uint8_t*)cMemoryAlign.WelsMalloc (iLineSizeDec << 5, "pDecCr"); |
| 122 | uint8_t* pEncCr = (uint8_t*)cMemoryAlign.WelsMalloc (iLineSizeEnc << 5, "pEncCr"); | 117 | uint8_t* pEncCr = (uint8_t*)cMemoryAlign.WelsMalloc (iLineSizeEnc << 5, "pEncCr"); |
| 123 | uint8_t* pDstChma = (uint8_t*)cMemoryAlign.WelsMalloc (512, "pDstChma"); | 118 | uint8_t* pDstChma = (uint8_t*)cMemoryAlign.WelsMalloc (512, "pDstChma"); |
| 124 | srand ((uint32_t)time (NULL)); | ||
| 125 | for (int i = 0; i < (iLineSizeDec << 5); i++) { | 119 | for (int i = 0; i < (iLineSizeDec << 5); i++) { |
| 126 | pDecCb[i] = rand() % 256; | 120 | pDecCb[i] = rand() % 256; |
| 127 | pDecCr[i] = rand() % 256; | 121 | pDecCr[i] = rand() % 256; |
| @@ -165,7 +159,6 @@ class SadSatdCFuncTest : public testing::Test { · 37 unmodified lines | |||
| 165 | virtual void SetUp() { | 159 | virtual void SetUp() { |
| 166 | pMemAlign = new CMemoryAlign (0); | 160 | pMemAlign = new CMemoryAlign (0); |
| 167 | 161 | ||
| 168 | srand ((uint32_t)time (NULL)); | ||
| 169 | m_iStrideA = rand() % 256 + PIXEL_STRIDE; | 162 | m_iStrideA = rand() % 256 + PIXEL_STRIDE; |
| 170 | m_iStrideB = rand() % 256 + PIXEL_STRIDE; | 163 | m_iStrideB = rand() % 256 + PIXEL_STRIDE; |
| 171 | m_pPixSrcA = (uint8_t*)pMemAlign->WelsMalloc (m_iStrideA << 5, "Sad_m_pPixSrcA"); | 164 | m_pPixSrcA = (uint8_t*)pMemAlign->WelsMalloc (m_iStrideA << 5, "Sad_m_pPixSrcA"); |
| @@ -192,7 +185,6 @@ class SadSatdCFuncTest : public testing::Test { · 20 unmodified lines | |||
| 192 | }; | 185 | }; |
| 193 | 186 | ||
| 194 | TEST_F (SadSatdCFuncTest, WelsSampleSad4x4_c) { | 187 | TEST_F (SadSatdCFuncTest, WelsSampleSad4x4_c) { |
| 195 | srand ((uint32_t)time (NULL)); | ||
| 196 | for (int i = 0; i < (m_iStrideA << 2); i++) | 188 | for (int i = 0; i < (m_iStrideA << 2); i++) |
| 197 | m_pPixSrcA[i] = rand() % 256; | 189 | m_pPixSrcA[i] = rand() % 256; |
| 198 | for (int i = 0; i < (m_iStrideB << 2); i++) | 190 | for (int i = 0; i < (m_iStrideB << 2); i++) |
| @@ -211,7 +203,6 @@ TEST_F (SadSatdCFuncTest, WelsSampleSad4x4_c) { · 12 unmodified lines | |||
| 211 | } | 203 | } |
| 212 | 204 | ||
| 213 | TEST_F (SadSatdCFuncTest, WelsSampleSad8x8_c) { | 205 | TEST_F (SadSatdCFuncTest, WelsSampleSad8x8_c) { |
| 214 | srand ((uint32_t)time (NULL)); | ||
| 215 | for (int i = 0; i < (m_iStrideA << 3); i++) | 206 | for (int i = 0; i < (m_iStrideA << 3); i++) |
| 216 | m_pPixSrcA[i] = rand() % 256; | 207 | m_pPixSrcA[i] = rand() % 256; |
| 217 | for (int i = 0; i < (m_iStrideB << 3); i++) | 208 | for (int i = 0; i < (m_iStrideB << 3); i++) |
| @@ -231,7 +222,6 @@ TEST_F (SadSatdCFuncTest, WelsSampleSad8x8_c) { · 13 unmodified lines | |||
| 231 | } | 222 | } |
| 232 | 223 | ||
| 233 | TEST_F (SadSatdCFuncTest, WelsSampleSad16x8_c) { | 224 | TEST_F (SadSatdCFuncTest, WelsSampleSad16x8_c) { |
| 234 | srand ((uint32_t)time (NULL)); | ||
| 235 | for (int i = 0; i < (m_iStrideA << 3); i++) | 225 | for (int i = 0; i < (m_iStrideA << 3); i++) |
| 236 | m_pPixSrcA[i] = rand() % 256; | 226 | m_pPixSrcA[i] = rand() % 256; |
| 237 | for (int i = 0; i < (m_iStrideB << 3); i++) | 227 | for (int i = 0; i < (m_iStrideB << 3); i++) |
| @@ -251,7 +241,6 @@ TEST_F (SadSatdCFuncTest, WelsSampleSad16x8_c) { · 13 unmodified lines | |||
| 251 | } | 241 | } |
| 252 | 242 | ||
| 253 | TEST_F (SadSatdCFuncTest, WelsSampleSad8x16_c) { | 243 | TEST_F (SadSatdCFuncTest, WelsSampleSad8x16_c) { |
| 254 | srand ((uint32_t)time (NULL)); | ||
| 255 | for (int i = 0; i < (m_iStrideA << 4); i++) | 244 | for (int i = 0; i < (m_iStrideA << 4); i++) |
| 256 | m_pPixSrcA[i] = rand() % 256; | 245 | m_pPixSrcA[i] = rand() % 256; |
| 257 | for (int i = 0; i < (m_iStrideB << 4); i++) | 246 | for (int i = 0; i < (m_iStrideB << 4); i++) |
| @@ -271,7 +260,6 @@ TEST_F (SadSatdCFuncTest, WelsSampleSad8x16_c) { · 13 unmodified lines | |||
| 271 | } | 260 | } |
| 272 | 261 | ||
| 273 | TEST_F (SadSatdCFuncTest, WelsSampleSad16x16_c) { | 262 | TEST_F (SadSatdCFuncTest, WelsSampleSad16x16_c) { |
| 274 | srand ((uint32_t)time (NULL)); | ||
| 275 | for (int i = 0; i < (m_iStrideA << 4); i++) | 263 | for (int i = 0; i < (m_iStrideA << 4); i++) |
| 276 | m_pPixSrcA[i] = rand() % 256; | 264 | m_pPixSrcA[i] = rand() % 256; |
| 277 | for (int i = 0; i < (m_iStrideB << 4); i++) | 265 | for (int i = 0; i < (m_iStrideB << 4); i++) |
| @@ -291,7 +279,6 @@ TEST_F (SadSatdCFuncTest, WelsSampleSad16x16_c) { · 13 unmodified lines | |||
| 291 | } | 279 | } |
| 292 | 280 | ||
| 293 | TEST_F (SadSatdCFuncTest, WelsSampleSatd4x4_c) { | 281 | TEST_F (SadSatdCFuncTest, WelsSampleSatd4x4_c) { |
| 294 | srand ((uint32_t)time (NULL)); | ||
| 295 | for (int i = 0; i < (m_iStrideA << 2); i++) | 282 | for (int i = 0; i < (m_iStrideA << 2); i++) |
| 296 | m_pPixSrcA[i] = rand() % 256; | 283 | m_pPixSrcA[i] = rand() % 256; |
| 297 | for (int i = 0; i < (m_iStrideB << 2); i++) | 284 | for (int i = 0; i < (m_iStrideB << 2); i++) |
| @@ -355,7 +342,6 @@ TEST_F (SadSatdCFuncTest, WelsSampleSatd4x4_c) { · 57 unmodified lines | |||
| 355 | } | 342 | } |
| 356 | 343 | ||
| 357 | TEST_F (SadSatdCFuncTest, WelsSampleSadFour16x16_c) { | 344 | TEST_F (SadSatdCFuncTest, WelsSampleSadFour16x16_c) { |
| 358 | srand ((uint32_t)time (NULL)); | ||
| 359 | for (int i = 0; i < (m_iStrideA << 5); i++) | 345 | for (int i = 0; i < (m_iStrideA << 5); i++) |
| 360 | m_pPixSrcA[i] = rand() % 256; | 346 | m_pPixSrcA[i] = rand() % 256; |
| 361 | for (int i = 0; i < (m_iStrideB << 5); i++) | 347 | for (int i = 0; i < (m_iStrideB << 5); i++) |
| @@ -379,7 +365,6 @@ TEST_F (SadSatdCFuncTest, WelsSampleSadFour16x16_c) { · 17 unmodified lines | |||
| 379 | } | 365 | } |
| 380 | 366 | ||
| 381 | TEST_F (SadSatdCFuncTest, WelsSampleSadFour16x8_c) { | 367 | TEST_F (SadSatdCFuncTest, WelsSampleSadFour16x8_c) { |
| 382 | srand ((uint32_t)time (NULL)); | ||
| 383 | for (int i = 0; i < (m_iStrideA << 5); i++) | 368 | for (int i = 0; i < (m_iStrideA << 5); i++) |
| 384 | m_pPixSrcA[i] = rand() % 256; | 369 | m_pPixSrcA[i] = rand() % 256; |
| 385 | for (int i = 0; i < (m_iStrideB << 5); i++) | 370 | for (int i = 0; i < (m_iStrideB << 5); i++) |
| @@ -404,7 +389,6 @@ TEST_F (SadSatdCFuncTest, WelsSampleSadFour16x8_c) { · 18 unmodified lines | |||
| 404 | } | 389 | } |
| 405 | 390 | ||
| 406 | TEST_F (SadSatdCFuncTest, WelsSampleSadFour8x16_c) { | 391 | TEST_F (SadSatdCFuncTest, WelsSampleSadFour8x16_c) { |
| 407 | srand ((uint32_t)time (NULL)); | ||
| 408 | for (int i = 0; i < (m_iStrideA << 5); i++) | 392 | for (int i = 0; i < (m_iStrideA << 5); i++) |
| 409 | m_pPixSrcA[i] = rand() % 256; | 393 | m_pPixSrcA[i] = rand() % 256; |
| 410 | for (int i = 0; i < (m_iStrideB << 5); i++) | 394 | for (int i = 0; i < (m_iStrideB << 5); i++) |
| @@ -429,7 +413,6 @@ TEST_F (SadSatdCFuncTest, WelsSampleSadFour8x16_c) { · 18 unmodified lines | |||
| 429 | } | 413 | } |
| 430 | 414 | ||
| 431 | TEST_F (SadSatdCFuncTest, WelsSampleSadFour8x8_c) { | 415 | TEST_F (SadSatdCFuncTest, WelsSampleSadFour8x8_c) { |
| 432 | srand ((uint32_t)time (NULL)); | ||
| 433 | for (int i = 0; i < (m_iStrideA << 4); i++) | 416 | for (int i = 0; i < (m_iStrideA << 4); i++) |
| 434 | m_pPixSrcA[i] = rand() % 256; | 417 | m_pPixSrcA[i] = rand() % 256; |
| 435 | for (int i = 0; i < (m_iStrideB << 4); i++) | 418 | for (int i = 0; i < (m_iStrideB << 4); i++) |
| @@ -453,7 +436,6 @@ TEST_F (SadSatdCFuncTest, WelsSampleSadFour8x8_c) { · 17 unmodified lines | |||
| 453 | } | 436 | } |
| 454 | 437 | ||
| 455 | TEST_F (SadSatdCFuncTest, WelsSampleSadFour4x4_c) { | 438 | TEST_F (SadSatdCFuncTest, WelsSampleSadFour4x4_c) { |
| 456 | srand ((uint32_t)time (NULL)); | ||
| 457 | for (int i = 0; i < (m_iStrideA << 3); i++) | 439 | for (int i = 0; i < (m_iStrideA << 3); i++) |
| 458 | m_pPixSrcA[i] = rand() % 256; | 440 | m_pPixSrcA[i] = rand() % 256; |
| 459 | for (int i = 0; i < (m_iStrideB << 3); i++) | 441 | for (int i = 0; i < (m_iStrideB << 3); i++) |
| @@ -512,7 +494,6 @@ TEST_F (SadSatdAssemblyFuncTest, WelsSampleSad4x4_mmx) { · 52 unmodified lines | |||
| 512 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_MMXEXT)) | 494 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_MMXEXT)) |
| 513 | return; | 495 | return; |
| 514 | 496 | ||
| 515 | srand ((uint32_t)time (NULL)); | ||
| 516 | for (int i = 0; i < (m_iStrideA << 2); i++) | 497 | for (int i = 0; i < (m_iStrideA << 2); i++) |
| 517 | m_pPixSrcA[i] = rand() % 256; | 498 | m_pPixSrcA[i] = rand() % 256; |
| 518 | for (int i = 0; i < (m_iStrideB << 2); i++) | 499 | for (int i = 0; i < (m_iStrideB << 2); i++) |
| @@ -527,7 +508,6 @@ TEST_F (SadSatdAssemblyFuncTest, WelsSampleSad8x8_sse21) { · 8 unmodified lines | |||
| 527 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE2)) | 508 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE2)) |
| 528 | return; | 509 | return; |
| 529 | 510 | ||
| 530 | srand ((uint32_t)time (NULL)); | ||
| 531 | for (int i = 0; i < (m_iStrideA << 3); i++) | 511 | for (int i = 0; i < (m_iStrideA << 3); i++) |
| 532 | m_pPixSrcA[i] = rand() % 256; | 512 | m_pPixSrcA[i] = rand() % 256; |
| 533 | for (int i = 0; i < (m_iStrideB << 3); i++) | 513 | for (int i = 0; i < (m_iStrideB << 3); i++) |
| @@ -540,7 +520,6 @@ TEST_F (SadSatdAssemblyFuncTest, WelsSampleSad8x8_sse21) { · 6 unmodified lines | |||
| 540 | TEST_F (SadSatdAssemblyFuncTest, WelsSampleSad8x16_sse2) { | 520 | TEST_F (SadSatdAssemblyFuncTest, WelsSampleSad8x16_sse2) { |
| 541 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE2)) | 521 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE2)) |
| 542 | return; | 522 | return; |
| 543 | srand ((uint32_t)time (NULL)); | ||
| 544 | for (int i = 0; i < (m_iStrideA << 4); i++) | 523 | for (int i = 0; i < (m_iStrideA << 4); i++) |
| 545 | m_pPixSrcA[i] = rand() % 256; | 524 | m_pPixSrcA[i] = rand() % 256; |
| 546 | for (int i = 0; i < (m_iStrideB << 4); i++) | 525 | for (int i = 0; i < (m_iStrideB << 4); i++) |
| @@ -553,7 +532,6 @@ TEST_F (SadSatdAssemblyFuncTest, WelsSampleSad8x16_sse2) { · 6 unmodified lines | |||
| 553 | TEST_F (SadSatdAssemblyFuncTest, WelsSampleSad16x8_sse2) { | 532 | TEST_F (SadSatdAssemblyFuncTest, WelsSampleSad16x8_sse2) { |
| 554 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE2)) | 533 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE2)) |
| 555 | return; | 534 | return; |
| 556 | srand ((uint32_t)time (NULL)); | ||
| 557 | for (int i = 0; i < (m_iStrideA << 3); i++) | 535 | for (int i = 0; i < (m_iStrideA << 3); i++) |
| 558 | m_pPixSrcA[i] = rand() % 256; | 536 | m_pPixSrcA[i] = rand() % 256; |
| 559 | for (int i = 0; i < (m_iStrideB << 3); i++) | 537 | for (int i = 0; i < (m_iStrideB << 3); i++) |
| @@ -566,7 +544,6 @@ TEST_F (SadSatdAssemblyFuncTest, WelsSampleSad16x8_sse2) { · 6 unmodified lines | |||
| 566 | TEST_F (SadSatdAssemblyFuncTest, WelsSampleSad16x16_sse2) { | 544 | TEST_F (SadSatdAssemblyFuncTest, WelsSampleSad16x16_sse2) { |
| 567 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE2)) | 545 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE2)) |
| 568 | return; | 546 | return; |
| 569 | srand ((uint32_t)time (NULL)); | ||
| 570 | for (int i = 0; i < (m_iStrideA << 4); i++) | 547 | for (int i = 0; i < (m_iStrideA << 4); i++) |
| 571 | m_pPixSrcA[i] = rand() % 256; | 548 | m_pPixSrcA[i] = rand() % 256; |
| 572 | for (int i = 0; i < (m_iStrideB << 4); i++) | 549 | for (int i = 0; i < (m_iStrideB << 4); i++) |
| @@ -579,7 +556,6 @@ TEST_F (SadSatdAssemblyFuncTest, WelsSampleSad16x16_sse2) { · 6 unmodified lines | |||
| 579 | TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd4x4_sse2) { | 556 | TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd4x4_sse2) { |
| 580 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE2)) | 557 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE2)) |
| 581 | return; | 558 | return; |
| 582 | srand ((uint32_t)time (NULL)); | ||
| 583 | for (int i = 0; i < (m_iStrideA << 2); i++) | 559 | for (int i = 0; i < (m_iStrideA << 2); i++) |
| 584 | m_pPixSrcA[i] = rand() % 256; | 560 | m_pPixSrcA[i] = rand() % 256; |
| 585 | for (int i = 0; i < (m_iStrideB << 2); i++) | 561 | for (int i = 0; i < (m_iStrideB << 2); i++) |
| @@ -592,7 +568,6 @@ TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd4x4_sse2) { · 6 unmodified lines | |||
| 592 | TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd8x8_sse2) { | 568 | TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd8x8_sse2) { |
| 593 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE2)) | 569 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE2)) |
| 594 | return; | 570 | return; |
| 595 | srand ((uint32_t)time (NULL)); | ||
| 596 | for (int i = 0; i < (m_iStrideA << 3); i++) | 571 | for (int i = 0; i < (m_iStrideA << 3); i++) |
| 597 | m_pPixSrcA[i] = rand() % 256; | 572 | m_pPixSrcA[i] = rand() % 256; |
| 598 | for (int i = 0; i < (m_iStrideB << 3); i++) | 573 | for (int i = 0; i < (m_iStrideB << 3); i++) |
| @@ -605,7 +580,6 @@ TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd8x8_sse2) { · 6 unmodified lines | |||
| 605 | TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd8x16_sse2) { | 580 | TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd8x16_sse2) { |
| 606 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE2)) | 581 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE2)) |
| 607 | return; | 582 | return; |
| 608 | srand ((uint32_t)time (NULL)); | ||
| 609 | for (int i = 0; i < (m_iStrideA << 4); i++) | 583 | for (int i = 0; i < (m_iStrideA << 4); i++) |
| 610 | m_pPixSrcA[i] = rand() % 256; | 584 | m_pPixSrcA[i] = rand() % 256; |
| 611 | for (int i = 0; i < (m_iStrideB << 4); i++) | 585 | for (int i = 0; i < (m_iStrideB << 4); i++) |
| @@ -618,7 +592,6 @@ TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd8x16_sse2) { · 6 unmodified lines | |||
| 618 | TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd16x8_sse2) { | 592 | TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd16x8_sse2) { |
| 619 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE2)) | 593 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE2)) |
| 620 | return; | 594 | return; |
| 621 | srand ((uint32_t)time (NULL)); | ||
| 622 | for (int i = 0; i < (m_iStrideA << 3); i++) | 595 | for (int i = 0; i < (m_iStrideA << 3); i++) |
| 623 | m_pPixSrcA[i] = rand() % 256; | 596 | m_pPixSrcA[i] = rand() % 256; |
| 624 | for (int i = 0; i < (m_iStrideB << 3); i++) | 597 | for (int i = 0; i < (m_iStrideB << 3); i++) |
| @@ -631,7 +604,6 @@ TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd16x8_sse2) { · 6 unmodified lines | |||
| 631 | TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd16x16_sse2) { | 604 | TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd16x16_sse2) { |
| 632 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE2)) | 605 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE2)) |
| 633 | return; | 606 | return; |
| 634 | srand ((uint32_t)time (NULL)); | ||
| 635 | for (int i = 0; i < (m_iStrideA << 4); i++) | 607 | for (int i = 0; i < (m_iStrideA << 4); i++) |
| 636 | m_pPixSrcA[i] = rand() % 256; | 608 | m_pPixSrcA[i] = rand() % 256; |
| 637 | for (int i = 0; i < (m_iStrideB << 4); i++) | 609 | for (int i = 0; i < (m_iStrideB << 4); i++) |
| @@ -644,7 +616,6 @@ TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd16x16_sse2) { · 6 unmodified lines | |||
| 644 | TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd4x4_sse41) { | 616 | TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd4x4_sse41) { |
| 645 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE41)) | 617 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE41)) |
| 646 | return; | 618 | return; |
| 647 | srand ((uint32_t)time (NULL)); | ||
| 648 | for (int i = 0; i < (m_iStrideA << 2); i++) | 619 | for (int i = 0; i < (m_iStrideA << 2); i++) |
| 649 | m_pPixSrcA[i] = rand() % 256; | 620 | m_pPixSrcA[i] = rand() % 256; |
| 650 | for (int i = 0; i < (m_iStrideB << 2); i++) | 621 | for (int i = 0; i < (m_iStrideB << 2); i++) |
| @@ -657,7 +628,6 @@ TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd4x4_sse41) { · 6 unmodified lines | |||
| 657 | TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd8x8_sse41) { | 628 | TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd8x8_sse41) { |
| 658 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE41)) | 629 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE41)) |
| 659 | return; | 630 | return; |
| 660 | srand ((uint32_t)time (NULL)); | ||
| 661 | for (int i = 0; i < (m_iStrideA << 3); i++) | 631 | for (int i = 0; i < (m_iStrideA << 3); i++) |
| 662 | m_pPixSrcA[i] = rand() % 256; | 632 | m_pPixSrcA[i] = rand() % 256; |
| 663 | for (int i = 0; i < (m_iStrideB << 3); i++) | 633 | for (int i = 0; i < (m_iStrideB << 3); i++) |
| @@ -670,7 +640,6 @@ TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd8x8_sse41) { · 6 unmodified lines | |||
| 670 | TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd8x16_sse41) { | 640 | TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd8x16_sse41) { |
| 671 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE41)) | 641 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE41)) |
| 672 | return; | 642 | return; |
| 673 | srand ((uint32_t)time (NULL)); | ||
| 674 | for (int i = 0; i < (m_iStrideA << 4); i++) | 643 | for (int i = 0; i < (m_iStrideA << 4); i++) |
| 675 | m_pPixSrcA[i] = rand() % 256; | 644 | m_pPixSrcA[i] = rand() % 256; |
| 676 | for (int i = 0; i < (m_iStrideB << 4); i++) | 645 | for (int i = 0; i < (m_iStrideB << 4); i++) |
| @@ -683,7 +652,6 @@ TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd8x16_sse41) { · 6 unmodified lines | |||
| 683 | TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd16x8_sse41) { | 652 | TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd16x8_sse41) { |
| 684 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE41)) | 653 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE41)) |
| 685 | return; | 654 | return; |
| 686 | srand ((uint32_t)time (NULL)); | ||
| 687 | for (int i = 0; i < (m_iStrideA << 3); i++) | 655 | for (int i = 0; i < (m_iStrideA << 3); i++) |
| 688 | m_pPixSrcA[i] = rand() % 256; | 656 | m_pPixSrcA[i] = rand() % 256; |
| 689 | for (int i = 0; i < (m_iStrideB << 3); i++) | 657 | for (int i = 0; i < (m_iStrideB << 3); i++) |
| @@ -696,7 +664,6 @@ TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd16x8_sse41) { · 6 unmodified lines | |||
| 696 | TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd16x16_sse41) { | 664 | TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd16x16_sse41) { |
| 697 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE41)) | 665 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE41)) |
| 698 | return; | 666 | return; |
| 699 | srand ((uint32_t)time (NULL)); | ||
| 700 | for (int i = 0; i < (m_iStrideA << 4); i++) | 667 | for (int i = 0; i < (m_iStrideA << 4); i++) |
| 701 | m_pPixSrcA[i] = rand() % 256; | 668 | m_pPixSrcA[i] = rand() % 256; |
| 702 | for (int i = 0; i < (m_iStrideB << 4); i++) | 669 | for (int i = 0; i < (m_iStrideB << 4); i++) |
| @@ -710,7 +677,6 @@ TEST_F (SadSatdAssemblyFuncTest, WelsSampleSadFour16x16_sse2) { · 7 unmodified lines | |||
| 710 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE2)) | 677 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE2)) |
| 711 | return; | 678 | return; |
| 712 | 679 | ||
| 713 | srand ((uint32_t)time (NULL)); | ||
| 714 | for (int i = 0; i < (m_iStrideA << 5); i++) | 680 | for (int i = 0; i < (m_iStrideA << 5); i++) |
| 715 | m_pPixSrcA[i] = rand() % 256; | 681 | m_pPixSrcA[i] = rand() % 256; |
| 716 | for (int i = 0; i < (m_iStrideB << 5); i++) | 682 | for (int i = 0; i < (m_iStrideB << 5); i++) |
| @@ -739,7 +705,6 @@ TEST_F (SadSatdAssemblyFuncTest, WelsSampleSadFour16x8_sse2) { · 22 unmodified lines | |||
| 739 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE2)) | 705 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE2)) |
| 740 | return; | 706 | return; |
| 741 | 707 | ||
| 742 | srand ((uint32_t)time (NULL)); | ||
| 743 | for (int i = 0; i < (m_iStrideA << 5); i++) | 708 | for (int i = 0; i < (m_iStrideA << 5); i++) |
| 744 | m_pPixSrcA[i] = rand() % 256; | 709 | m_pPixSrcA[i] = rand() % 256; |
| 745 | for (int i = 0; i < (m_iStrideB << 5); i++) | 710 | for (int i = 0; i < (m_iStrideB << 5); i++) |
| @@ -768,7 +733,6 @@ TEST_F (SadSatdAssemblyFuncTest, WelsSampleSadFour8x16_sse2) { · 22 unmodified lines | |||
| 768 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE2)) | 733 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE2)) |
| 769 | return; | 734 | return; |
| 770 | 735 | ||
| 771 | srand ((uint32_t)time (NULL)); | ||
| 772 | for (int i = 0; i < (m_iStrideA << 5); i++) | 736 | for (int i = 0; i < (m_iStrideA << 5); i++) |
| 773 | m_pPixSrcA[i] = rand() % 256; | 737 | m_pPixSrcA[i] = rand() % 256; |
| 774 | for (int i = 0; i < (m_iStrideB << 5); i++) | 738 | for (int i = 0; i < (m_iStrideB << 5); i++) |
| @@ -797,7 +761,6 @@ TEST_F (SadSatdAssemblyFuncTest, WelsSampleSadFour8x8_sse2) { · 22 unmodified lines | |||
| 797 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE2)) | 761 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE2)) |
| 798 | return; | 762 | return; |
| 799 | 763 | ||
| 800 | srand ((uint32_t)time (NULL)); | ||
| 801 | for (int i = 0; i < (m_iStrideA << 4); i++) | 764 | for (int i = 0; i < (m_iStrideA << 4); i++) |
| 802 | m_pPixSrcA[i] = rand() % 256; | 765 | m_pPixSrcA[i] = rand() % 256; |
| 803 | for (int i = 0; i < (m_iStrideB << 4); i++) | 766 | for (int i = 0; i < (m_iStrideB << 4); i++) |
| @@ -827,7 +790,6 @@ TEST_F (SadSatdAssemblyFuncTest, WelsSampleSadFour4x4_sse2) { · 23 unmodified lines | |||
| 827 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE2)) | 790 | if (0 == (m_uiCpuFeatureFlag & WELS_CPU_SSE2)) |
| 828 | return; | 791 | return; |
| 829 | 792 | ||
| 830 | srand ((uint32_t)time (NULL)); | ||
| 831 | for (int i = 0; i < (m_iStrideA << 3); i++) | 793 | for (int i = 0; i < (m_iStrideA << 3); i++) |
| 832 | m_pPixSrcA[i] = rand() % 256; | 794 | m_pPixSrcA[i] = rand() % 256; |
| 833 | for (int i = 0; i < (m_iStrideB << 3); i++) | 795 | for (int i = 0; i < (m_iStrideB << 3); i++) |