1 #ifndef __TEST_SUBSAMPLE_AND_INTERLACE_34786202_B970_4091_AC4A_4F4137124732_H__
2 #define __TEST_SUBSAMPLE_AND_INTERLACE_34786202_B970_4091_AC4A_4F4137124732_H__
4 #include <gtest/gtest.h>
10 #include "xy_malloc.h"
11 #include "xy_intrinsics.h"
12 #include "subpic_alphablend_test_data.h"
15 class SubSampleAndInterlaceTest
: public ::testing::Test
22 const UV_TestData
& GetZeroData(int w
)
28 const UV_TestData
& GetRandomData(int w
)
31 FillRandByte( data1
.u
, w
);
32 FillRandByte( data1
.v
, w
);
35 void FillRandByte(BYTE
* buf
, int size
)
37 for (int i
=0;i
<size
;i
++)
39 buf
[i
] = rand() & 0xff;
43 // virtual void TearDown() {}
45 //A_Y_UV_TestData data2[20];
46 //A_Y_UV_TestData data3[20];
50 TEST_F(SubSampleAndInterlaceTest
, Check_subsample_and_interlace_2_line
)
52 UV_TestData data0
,data1
,data2
;
54 for (int i
=0;i
<10000;i
++)
56 for (int w
=16;w
<33*16;w
+=16)
59 data0
= GetZeroData(w
*2);
63 subsample_and_interlace_2_line_c( data1
.u
, data1
.u
, data1
.v
, w
, w
);
64 subsample_and_interlace_2_line_sse2( data2
.u
, data2
.u
, data2
.v
, w
, w
);
66 ASSERT_EQ(true, data1
==data0
)
70 ASSERT_EQ(true, data2
==data0
)
76 data0
= GetRandomData(w
*2);
80 subsample_and_interlace_2_line_c( data1
.u
, data1
.u
, data1
.v
, w
, w
);
81 subsample_and_interlace_2_line_sse2( data2
.u
, data2
.u
, data2
.v
, w
, w
);
83 ASSERT_EQ(true, data1
==data2
)
90 data0
= GetRandomData(w
*2);
94 subsample_and_interlace_2_line_c( data1
.u
, data1
.u
, data1
.v
, w
, w
);
95 subsample_and_interlace_2_line_sse2( data2
.u
, data2
.u
, data2
.v
, w
, w
);
97 ASSERT_EQ(true, data1
==data2
)
104 TEST_F(SubSampleAndInterlaceTest
, Check_hleft_vmid_subsample_and_interlace_2_line
)
106 UV_TestData data0
,data1
,data2
;
108 for (int i
=0;i
<1000;i
++)
110 for (int pitch
=16;pitch
<=160;pitch
+=16)
113 //for (int w=pitch-15;w<=pitch;w++)
116 data0
= GetZeroData(pitch
*2);
120 hleft_vmid_subsample_and_interlace_2_line_c( data1
.u
, data1
.u
, data1
.v
, w
, pitch
);
121 hleft_vmid_subsample_and_interlace_2_line_sse2( data2
.u
, data2
.u
, data2
.v
, w
, pitch
);
123 ASSERT_EQ(true, data1
==data0
)
124 <<"pitch:"<<pitch
<<" w:"<<w
<<std::endl
128 ASSERT_EQ(true, data2
==data0
)
129 <<"pitch:"<<pitch
<<" w:"<<w
<<std::endl
135 data0
= GetRandomData(pitch
*2);
139 hleft_vmid_subsample_and_interlace_2_line_c( data1
.u
, data1
.u
, data1
.v
, w
, pitch
);
140 hleft_vmid_subsample_and_interlace_2_line_sse2( data2
.u
, data2
.u
, data2
.v
, w
, pitch
);
142 ASSERT_EQ(true, data1
==data2
)
143 <<"pitch:"<<pitch
<<" w:"<<w
<<std::endl
152 data0
= GetRandomData(w
*2);
156 hleft_vmid_subsample_and_interlace_2_line_c( data1
.u
, data1
.u
, data1
.v
, w
, w
);
157 hleft_vmid_subsample_and_interlace_2_line_sse2( data2
.u
, data2
.u
, data2
.v
, w
, w
);
159 ASSERT_EQ(true, data1
==data2
)
164 #endif // __TEST_SUBSAMPLE_AND_INTERLACE_34786202_B970_4091_AC4A_4F4137124732_H__