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
188188 EXPECT_EQ (WelsSampleSad4x4_c (m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB), iSumSad);
189189 }
190190
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+
191227 TEST_F (SadSatdCFuncTest, WelsSampleSad8x8_c) {
192228 for (int i = 0; i < (m_iStrideA << 3); i++)
193229 m_pPixSrcA[i] = rand() % 256;
@@ -444,6 +480,51 @@ TEST_F (SadSatdCFuncTest, WelsSampleSadFour4x4_c) { · 250 unmodified lines
444480 EXPECT_EQ (m_pSad[0] + m_pSad[1] + m_pSad[2] + m_pSad[3], iSumSad);
445481 }
446482
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+}
447528
448529 class SadSatdAssemblyFuncTest : public testing::Test {
449530 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