History

modify some functions extending to sub8x8 usage, especially in ME part

huili2 committed 11 years ago

Commit c3cfce51 parent 4da932414 files · +165 −14Browse files

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

Unified · Split

test/encoder/EncUT_Sample.cpp+81−0
@@ -188,6 +188,42 @@ TEST_F (SadSatdCFuncTest, WelsSampleSad4x4_c) { · 187 unmodified lines
188 EXPECT_EQ (WelsSampleSad4x4_c (m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB), iSumSad);188 EXPECT_EQ (WelsSampleSad4x4_c (m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB), iSumSad);
189}189}
190 190
191TEST_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
209TEST_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
191TEST_F (SadSatdCFuncTest, WelsSampleSad8x8_c) {227TEST_F (SadSatdCFuncTest, WelsSampleSad8x8_c) {
192 for (int i = 0; i < (m_iStrideA << 3); i++)228 for (int i = 0; i < (m_iStrideA << 3); i++)
193 m_pPixSrcA[i] = rand() % 256;229 m_pPixSrcA[i] = rand() % 256;
@@ -444,6 +480,51 @@ TEST_F (SadSatdCFuncTest, WelsSampleSadFour4x4_c) { · 250 unmodified lines
444 EXPECT_EQ (m_pSad[0] + m_pSad[1] + m_pSad[2] + m_pSad[3], iSumSad);480 EXPECT_EQ (m_pSad[0] + m_pSad[1] + m_pSad[2] + m_pSad[3], iSumSad);
445}481}
446 482
483TEST_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
506TEST_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
448class SadSatdAssemblyFuncTest : public testing::Test {529class SadSatdAssemblyFuncTest : public testing::Test {
449 public:530 public:

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