Showing the changes to test/encoder/EncUT_Sample.cpp (1 of 14 files). Show all
Unified · Split
| @@ -188,6 +188,42 @@ TEST_F (SadSatdCFuncTest, WelsSampleSad4x4_c) { · 187 unmodified lines | ||
| 188 | 188 | EXPECT_EQ (WelsSampleSad4x4_c (m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB), iSumSad); |
| 189 | 189 | } |
| 190 | 190 | |
| 191 | +TEST_F (SadSatdCFuncTest, WelsSampleSad8x4_c) { | |
| 192 | + for (int i = 0; i < (m_iStrideA << 2); i++) | |
| 193 | + m_pPixSrcA[i] = rand() % 256; | |
| 194 | + for (int i = 0; i < (m_iStrideB << 2); i++) | |
| 195 | + m_pPixSrcB[i] = rand() % 256; | |
| 196 | + uint8_t* pPixA = m_pPixSrcA; | |
| 197 | + uint8_t* pPixB = m_pPixSrcB; | |
| 198 | + | |
| 199 | + int32_t iSumSad = 0; | |
| 200 | + for (int i = 0; i < 4; i++) { | |
| 201 | + for (int j = 0; j < 8; j++) | |
| 202 | + iSumSad += abs (pPixA[j] - pPixB[j]); | |
| 203 | + pPixA += m_iStrideA; | |
| 204 | + pPixB += m_iStrideB; | |
| 205 | + } | |
| 206 | + EXPECT_EQ (WelsSampleSad8x4_c (m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB), iSumSad); | |
| 207 | +} | |
| 208 | + | |
| 209 | +TEST_F (SadSatdCFuncTest, WelsSampleSad4x8_c) { | |
| 210 | + for (int i = 0; i < (m_iStrideA << 2); i++) | |
| 211 | + m_pPixSrcA[i] = rand() % 256; | |
| 212 | + for (int i = 0; i < (m_iStrideB << 2); i++) | |
| 213 | + m_pPixSrcB[i] = rand() % 256; | |
| 214 | + uint8_t* pPixA = m_pPixSrcA; | |
| 215 | + uint8_t* pPixB = m_pPixSrcB; | |
| 216 | + | |
| 217 | + int32_t iSumSad = 0; | |
| 218 | + for (int i = 0; i < 8; i++) { | |
| 219 | + for (int j = 0; j < 4; j++) | |
| 220 | + iSumSad += abs (pPixA[j] - pPixB[j]); | |
| 221 | + pPixA += m_iStrideA; | |
| 222 | + pPixB += m_iStrideB; | |
| 223 | + } | |
| 224 | + EXPECT_EQ (WelsSampleSad4x8_c (m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB), iSumSad); | |
| 225 | +} | |
| 226 | + | |
| 191 | 227 | TEST_F (SadSatdCFuncTest, WelsSampleSad8x8_c) { |
| 192 | 228 | for (int i = 0; i < (m_iStrideA << 3); i++) |
| 193 | 229 | m_pPixSrcA[i] = rand() % 256; |
| @@ -444,6 +480,51 @@ TEST_F (SadSatdCFuncTest, WelsSampleSadFour4x4_c) { · 250 unmodified lines | ||
| 444 | 480 | EXPECT_EQ (m_pSad[0] + m_pSad[1] + m_pSad[2] + m_pSad[3], iSumSad); |
| 445 | 481 | } |
| 446 | 482 | |
| 483 | +TEST_F (SadSatdCFuncTest, WelsSampleSadFour8x4_c) { | |
| 484 | + for (int i = 0; i < (m_iStrideA << 3); i++) | |
| 485 | + m_pPixSrcA[i] = rand() % 256; | |
| 486 | + for (int i = 0; i < (m_iStrideB << 3); i++) | |
| 487 | + m_pPixSrcB[i] = rand() % 256; | |
| 488 | + uint8_t* pPixA = m_pPixSrcA; | |
| 489 | + uint8_t* pPixB = m_pPixSrcB + m_iStrideB; | |
| 490 | + | |
| 491 | + int32_t iSumSad = 0; | |
| 492 | + for (int i = 0; i < 4; i++) { | |
| 493 | + for (int j = 0; j < 8; j++) { | |
| 494 | + iSumSad += abs (pPixA[j] - pPixB[j - 1]); | |
| 495 | + iSumSad += abs (pPixA[j] - pPixB[j + 1]); | |
| 496 | + iSumSad += abs (pPixA[j] - pPixB[j - m_iStrideB]); | |
| 497 | + iSumSad += abs (pPixA[j] - pPixB[j + m_iStrideB]); | |
| 498 | + } | |
| 499 | + pPixA += m_iStrideA; | |
| 500 | + pPixB += m_iStrideB; | |
| 501 | + } | |
| 502 | + WelsSampleSadFour8x4_c (m_pPixSrcA, m_iStrideA, m_pPixSrcB + m_iStrideB, m_iStrideB, m_pSad); | |
| 503 | + EXPECT_EQ (m_pSad[0] + m_pSad[1] + m_pSad[2] + m_pSad[3], iSumSad); | |
| 504 | +} | |
| 505 | + | |
| 506 | +TEST_F (SadSatdCFuncTest, WelsSampleSadFour4x8_c) { | |
| 507 | + for (int i = 0; i < (m_iStrideA << 3); i++) | |
| 508 | + m_pPixSrcA[i] = rand() % 256; | |
| 509 | + for (int i = 0; i < (m_iStrideB << 3); i++) | |
| 510 | + m_pPixSrcB[i] = rand() % 256; | |
| 511 | + uint8_t* pPixA = m_pPixSrcA; | |
| 512 | + uint8_t* pPixB = m_pPixSrcB + m_iStrideB; | |
| 513 | + | |
| 514 | + int32_t iSumSad = 0; | |
| 515 | + for (int i = 0; i < 8; i++) { | |
| 516 | + for (int j = 0; j < 4; j++) { | |
| 517 | + iSumSad += abs (pPixA[j] - pPixB[j - 1]); | |
| 518 | + iSumSad += abs (pPixA[j] - pPixB[j + 1]); | |
| 519 | + iSumSad += abs (pPixA[j] - pPixB[j - m_iStrideB]); | |
| 520 | + iSumSad += abs (pPixA[j] - pPixB[j + m_iStrideB]); | |
| 521 | + } | |
| 522 | + pPixA += m_iStrideA; | |
| 523 | + pPixB += m_iStrideB; | |
| 524 | + } | |
| 525 | + WelsSampleSadFour4x8_c (m_pPixSrcA, m_iStrideA, m_pPixSrcB + m_iStrideB, m_iStrideB, m_pSad); | |
| 526 | + EXPECT_EQ (m_pSad[0] + m_pSad[1] + m_pSad[2] + m_pSad[3], iSumSad); | |
| 527 | +} | |
| 447 | 528 | |
| 448 | 529 | class SadSatdAssemblyFuncTest : public testing::Test { |
| 449 | 530 | public: |