OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2014 The WebM project authors. All Rights Reserved. | 2 * Copyright (c) 2014 The WebM project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
127 RunTest(left_col, above_data, dst, ref_dst); | 127 RunTest(left_col, above_data, dst, ref_dst); |
128 } | 128 } |
129 | 129 |
130 using std::tr1::make_tuple; | 130 using std::tr1::make_tuple; |
131 | 131 |
132 #if HAVE_SSE2 | 132 #if HAVE_SSE2 |
133 #if CONFIG_VP9_HIGHBITDEPTH | 133 #if CONFIG_VP9_HIGHBITDEPTH |
134 #if ARCH_X86_64 | 134 #if ARCH_X86_64 |
135 INSTANTIATE_TEST_CASE_P(SSE2_TO_C_8, VP9IntraPredTest, | 135 INSTANTIATE_TEST_CASE_P(SSE2_TO_C_8, VP9IntraPredTest, |
136 ::testing::Values( | 136 ::testing::Values( |
137 make_tuple(&vp9_high_dc_predictor_32x32_sse2, | 137 make_tuple(&vp9_highbd_dc_predictor_32x32_sse2, |
138 &vp9_high_dc_predictor_32x32_c, 32, 8), | 138 &vp9_highbd_dc_predictor_32x32_c, 32, 8), |
139 make_tuple(&vp9_high_tm_predictor_16x16_sse2, | 139 make_tuple(&vp9_highbd_tm_predictor_16x16_sse2, |
140 &vp9_high_tm_predictor_16x16_c, 16, 8), | 140 &vp9_highbd_tm_predictor_16x16_c, 16, 8), |
141 make_tuple(&vp9_high_tm_predictor_32x32_sse2, | 141 make_tuple(&vp9_highbd_tm_predictor_32x32_sse2, |
142 &vp9_high_tm_predictor_32x32_c, 32, 8), | 142 &vp9_highbd_tm_predictor_32x32_c, 32, 8), |
143 make_tuple(&vp9_high_dc_predictor_4x4_sse, | 143 make_tuple(&vp9_highbd_dc_predictor_4x4_sse, |
144 &vp9_high_dc_predictor_4x4_c, 4, 8), | 144 &vp9_highbd_dc_predictor_4x4_c, 4, 8), |
145 make_tuple(&vp9_high_dc_predictor_8x8_sse2, | 145 make_tuple(&vp9_highbd_dc_predictor_8x8_sse2, |
146 &vp9_high_dc_predictor_8x8_c, 8, 8), | 146 &vp9_highbd_dc_predictor_8x8_c, 8, 8), |
147 make_tuple(&vp9_high_dc_predictor_16x16_sse2, | 147 make_tuple(&vp9_highbd_dc_predictor_16x16_sse2, |
148 &vp9_high_dc_predictor_16x16_c, 16, 8), | 148 &vp9_highbd_dc_predictor_16x16_c, 16, 8), |
149 make_tuple(&vp9_high_v_predictor_4x4_sse, | 149 make_tuple(&vp9_highbd_v_predictor_4x4_sse, |
150 &vp9_high_v_predictor_4x4_c, 4, 8), | 150 &vp9_highbd_v_predictor_4x4_c, 4, 8), |
151 make_tuple(&vp9_high_v_predictor_8x8_sse2, | 151 make_tuple(&vp9_highbd_v_predictor_8x8_sse2, |
152 &vp9_high_v_predictor_8x8_c, 8, 8), | 152 &vp9_highbd_v_predictor_8x8_c, 8, 8), |
153 make_tuple(&vp9_high_v_predictor_16x16_sse2, | 153 make_tuple(&vp9_highbd_v_predictor_16x16_sse2, |
154 &vp9_high_v_predictor_16x16_c, 16, 8), | 154 &vp9_highbd_v_predictor_16x16_c, 16, 8), |
155 make_tuple(&vp9_high_v_predictor_32x32_sse2, | 155 make_tuple(&vp9_highbd_v_predictor_32x32_sse2, |
156 &vp9_high_v_predictor_32x32_c, 32, 8), | 156 &vp9_highbd_v_predictor_32x32_c, 32, 8), |
157 make_tuple(&vp9_high_tm_predictor_4x4_sse, | 157 make_tuple(&vp9_highbd_tm_predictor_4x4_sse, |
158 &vp9_high_tm_predictor_4x4_c, 4, 8), | 158 &vp9_highbd_tm_predictor_4x4_c, 4, 8), |
159 make_tuple(&vp9_high_tm_predictor_8x8_sse2, | 159 make_tuple(&vp9_highbd_tm_predictor_8x8_sse2, |
160 &vp9_high_tm_predictor_8x8_c, 8, 8))); | 160 &vp9_highbd_tm_predictor_8x8_c, 8, 8))); |
161 #else | 161 #else |
162 INSTANTIATE_TEST_CASE_P(SSE2_TO_C_8, VP9IntraPredTest, | 162 INSTANTIATE_TEST_CASE_P(SSE2_TO_C_8, VP9IntraPredTest, |
163 ::testing::Values( | 163 ::testing::Values( |
164 make_tuple(&vp9_high_dc_predictor_4x4_sse, | 164 make_tuple(&vp9_highbd_dc_predictor_4x4_sse, |
165 &vp9_high_dc_predictor_4x4_c, 4, 8), | 165 &vp9_highbd_dc_predictor_4x4_c, 4, 8), |
166 make_tuple(&vp9_high_dc_predictor_8x8_sse2, | 166 make_tuple(&vp9_highbd_dc_predictor_8x8_sse2, |
167 &vp9_high_dc_predictor_8x8_c, 8, 8), | 167 &vp9_highbd_dc_predictor_8x8_c, 8, 8), |
168 make_tuple(&vp9_high_dc_predictor_16x16_sse2, | 168 make_tuple(&vp9_highbd_dc_predictor_16x16_sse2, |
169 &vp9_high_dc_predictor_16x16_c, 16, 8), | 169 &vp9_highbd_dc_predictor_16x16_c, 16, 8), |
170 make_tuple(&vp9_high_v_predictor_4x4_sse, | 170 make_tuple(&vp9_highbd_v_predictor_4x4_sse, |
171 &vp9_high_v_predictor_4x4_c, 4, 8), | 171 &vp9_highbd_v_predictor_4x4_c, 4, 8), |
172 make_tuple(&vp9_high_v_predictor_8x8_sse2, | 172 make_tuple(&vp9_highbd_v_predictor_8x8_sse2, |
173 &vp9_high_v_predictor_8x8_c, 8, 8), | 173 &vp9_highbd_v_predictor_8x8_c, 8, 8), |
174 make_tuple(&vp9_high_v_predictor_16x16_sse2, | 174 make_tuple(&vp9_highbd_v_predictor_16x16_sse2, |
175 &vp9_high_v_predictor_16x16_c, 16, 8), | 175 &vp9_highbd_v_predictor_16x16_c, 16, 8), |
176 make_tuple(&vp9_high_v_predictor_32x32_sse2, | 176 make_tuple(&vp9_highbd_v_predictor_32x32_sse2, |
177 &vp9_high_v_predictor_32x32_c, 32, 8), | 177 &vp9_highbd_v_predictor_32x32_c, 32, 8), |
178 make_tuple(&vp9_high_tm_predictor_4x4_sse, | 178 make_tuple(&vp9_highbd_tm_predictor_4x4_sse, |
179 &vp9_high_tm_predictor_4x4_c, 4, 8), | 179 &vp9_highbd_tm_predictor_4x4_c, 4, 8), |
180 make_tuple(&vp9_high_tm_predictor_8x8_sse2, | 180 make_tuple(&vp9_highbd_tm_predictor_8x8_sse2, |
181 &vp9_high_tm_predictor_8x8_c, 8, 8))); | 181 &vp9_highbd_tm_predictor_8x8_c, 8, 8))); |
182 #endif | 182 #endif |
183 #if ARCH_X86_64 | 183 #if ARCH_X86_64 |
184 INSTANTIATE_TEST_CASE_P(SSE2_TO_C_10, VP9IntraPredTest, | 184 INSTANTIATE_TEST_CASE_P(SSE2_TO_C_10, VP9IntraPredTest, |
185 ::testing::Values( | 185 ::testing::Values( |
186 make_tuple(&vp9_high_dc_predictor_32x32_sse2, | 186 make_tuple(&vp9_highbd_dc_predictor_32x32_sse2, |
187 &vp9_high_dc_predictor_32x32_c, 32, 10), | 187 &vp9_highbd_dc_predictor_32x32_c, 32, |
188 make_tuple(&vp9_high_tm_predictor_16x16_sse2, | 188 10), |
189 &vp9_high_tm_predictor_16x16_c, 16, 10), | 189 make_tuple(&vp9_highbd_tm_predictor_16x16_sse2, |
190 make_tuple(&vp9_high_tm_predictor_32x32_sse2, | 190 &vp9_highbd_tm_predictor_16x16_c, 16, |
191 &vp9_high_tm_predictor_32x32_c, 32, 10), | 191 10), |
192 make_tuple(&vp9_high_dc_predictor_4x4_sse, | 192 make_tuple(&vp9_highbd_tm_predictor_32x32_sse2, |
193 &vp9_high_dc_predictor_4x4_c, 4, 10), | 193 &vp9_highbd_tm_predictor_32x32_c, 32, |
194 make_tuple(&vp9_high_dc_predictor_8x8_sse2, | 194 10), |
195 &vp9_high_dc_predictor_8x8_c, 8, 10), | 195 make_tuple(&vp9_highbd_dc_predictor_4x4_sse, |
196 make_tuple(&vp9_high_dc_predictor_16x16_sse2, | 196 &vp9_highbd_dc_predictor_4x4_c, 4, 10), |
197 &vp9_high_dc_predictor_16x16_c, 16, 10), | 197 make_tuple(&vp9_highbd_dc_predictor_8x8_sse2, |
198 make_tuple(&vp9_high_v_predictor_4x4_sse, | 198 &vp9_highbd_dc_predictor_8x8_c, 8, 10), |
199 &vp9_high_v_predictor_4x4_c, 4, 10), | 199 make_tuple(&vp9_highbd_dc_predictor_16x16_sse2, |
200 make_tuple(&vp9_high_v_predictor_8x8_sse2, | 200 &vp9_highbd_dc_predictor_16x16_c, 16, |
201 &vp9_high_v_predictor_8x8_c, 8, 10), | 201 10), |
202 make_tuple(&vp9_high_v_predictor_16x16_sse2, | 202 make_tuple(&vp9_highbd_v_predictor_4x4_sse, |
203 &vp9_high_v_predictor_16x16_c, 16, 10), | 203 &vp9_highbd_v_predictor_4x4_c, 4, 10), |
204 make_tuple(&vp9_high_v_predictor_32x32_sse2, | 204 make_tuple(&vp9_highbd_v_predictor_8x8_sse2, |
205 &vp9_high_v_predictor_32x32_c, 32, 10), | 205 &vp9_highbd_v_predictor_8x8_c, 8, 10), |
206 make_tuple(&vp9_high_tm_predictor_4x4_sse, | 206 make_tuple(&vp9_highbd_v_predictor_16x16_sse2, |
207 &vp9_high_tm_predictor_4x4_c, 4, 10), | 207 &vp9_highbd_v_predictor_16x16_c, 16, |
208 make_tuple(&vp9_high_tm_predictor_8x8_sse2, | 208 10), |
209 &vp9_high_tm_predictor_8x8_c, 8, 10))); | 209 make_tuple(&vp9_highbd_v_predictor_32x32_sse2, |
| 210 &vp9_highbd_v_predictor_32x32_c, 32, |
| 211 10), |
| 212 make_tuple(&vp9_highbd_tm_predictor_4x4_sse, |
| 213 &vp9_highbd_tm_predictor_4x4_c, 4, 10), |
| 214 make_tuple(&vp9_highbd_tm_predictor_8x8_sse2, |
| 215 &vp9_highbd_tm_predictor_8x8_c, 8, 10))); |
210 #else | 216 #else |
211 INSTANTIATE_TEST_CASE_P(SSE2_TO_C_10, VP9IntraPredTest, | 217 INSTANTIATE_TEST_CASE_P(SSE2_TO_C_10, VP9IntraPredTest, |
212 ::testing::Values( | 218 ::testing::Values( |
213 make_tuple(&vp9_high_dc_predictor_4x4_sse, | 219 make_tuple(&vp9_highbd_dc_predictor_4x4_sse, |
214 &vp9_high_dc_predictor_4x4_c, 4, 10), | 220 &vp9_highbd_dc_predictor_4x4_c, 4, 10), |
215 make_tuple(&vp9_high_dc_predictor_8x8_sse2, | 221 make_tuple(&vp9_highbd_dc_predictor_8x8_sse2, |
216 &vp9_high_dc_predictor_8x8_c, 8, 10), | 222 &vp9_highbd_dc_predictor_8x8_c, 8, 10), |
217 make_tuple(&vp9_high_dc_predictor_16x16_sse2, | 223 make_tuple(&vp9_highbd_dc_predictor_16x16_sse2, |
218 &vp9_high_dc_predictor_16x16_c, 16, 10), | 224 &vp9_highbd_dc_predictor_16x16_c, 16, |
219 make_tuple(&vp9_high_v_predictor_4x4_sse, | 225 10), |
220 &vp9_high_v_predictor_4x4_c, 4, 10), | 226 make_tuple(&vp9_highbd_v_predictor_4x4_sse, |
221 make_tuple(&vp9_high_v_predictor_8x8_sse2, | 227 &vp9_highbd_v_predictor_4x4_c, 4, 10), |
222 &vp9_high_v_predictor_8x8_c, 8, 10), | 228 make_tuple(&vp9_highbd_v_predictor_8x8_sse2, |
223 make_tuple(&vp9_high_v_predictor_16x16_sse2, | 229 &vp9_highbd_v_predictor_8x8_c, 8, 10), |
224 &vp9_high_v_predictor_16x16_c, 16, 10), | 230 make_tuple(&vp9_highbd_v_predictor_16x16_sse2, |
225 make_tuple(&vp9_high_v_predictor_32x32_sse2, | 231 &vp9_highbd_v_predictor_16x16_c, 16, 10), |
226 &vp9_high_v_predictor_32x32_c, 32, 10), | 232 make_tuple(&vp9_highbd_v_predictor_32x32_sse2, |
227 make_tuple(&vp9_high_tm_predictor_4x4_sse, | 233 &vp9_highbd_v_predictor_32x32_c, 32, 10), |
228 &vp9_high_tm_predictor_4x4_c, 4, 10), | 234 make_tuple(&vp9_highbd_tm_predictor_4x4_sse, |
229 make_tuple(&vp9_high_tm_predictor_8x8_sse2, | 235 &vp9_highbd_tm_predictor_4x4_c, 4, 10), |
230 &vp9_high_tm_predictor_8x8_c, 8, 10))); | 236 make_tuple(&vp9_highbd_tm_predictor_8x8_sse2, |
| 237 &vp9_highbd_tm_predictor_8x8_c, 8, 10))); |
231 #endif | 238 #endif |
232 | 239 |
233 #if ARCH_X86_64 | 240 #if ARCH_X86_64 |
234 INSTANTIATE_TEST_CASE_P(SSE2_TO_C_12, VP9IntraPredTest, | 241 INSTANTIATE_TEST_CASE_P(SSE2_TO_C_12, VP9IntraPredTest, |
235 ::testing::Values( | 242 ::testing::Values( |
236 make_tuple(&vp9_high_dc_predictor_32x32_sse2, | 243 make_tuple(&vp9_highbd_dc_predictor_32x32_sse2, |
237 &vp9_high_dc_predictor_32x32_c, 32, 12), | 244 &vp9_highbd_dc_predictor_32x32_c, 32, |
238 make_tuple(&vp9_high_tm_predictor_16x16_sse2, | 245 12), |
239 &vp9_high_tm_predictor_16x16_c, 16, 12), | 246 make_tuple(&vp9_highbd_tm_predictor_16x16_sse2, |
240 make_tuple(&vp9_high_tm_predictor_32x32_sse2, | 247 &vp9_highbd_tm_predictor_16x16_c, 16, |
241 &vp9_high_tm_predictor_32x32_c, 32, 12), | 248 12), |
242 make_tuple(&vp9_high_dc_predictor_4x4_sse, | 249 make_tuple(&vp9_highbd_tm_predictor_32x32_sse2, |
243 &vp9_high_dc_predictor_4x4_c, 4, 12), | 250 &vp9_highbd_tm_predictor_32x32_c, 32, |
244 make_tuple(&vp9_high_dc_predictor_8x8_sse2, | 251 12), |
245 &vp9_high_dc_predictor_8x8_c, 8, 12), | 252 make_tuple(&vp9_highbd_dc_predictor_4x4_sse, |
246 make_tuple(&vp9_high_dc_predictor_16x16_sse2, | 253 &vp9_highbd_dc_predictor_4x4_c, 4, 12), |
247 &vp9_high_dc_predictor_16x16_c, 16, 12), | 254 make_tuple(&vp9_highbd_dc_predictor_8x8_sse2, |
248 make_tuple(&vp9_high_v_predictor_4x4_sse, | 255 &vp9_highbd_dc_predictor_8x8_c, 8, 12), |
249 &vp9_high_v_predictor_4x4_c, 4, 12), | 256 make_tuple(&vp9_highbd_dc_predictor_16x16_sse2, |
250 make_tuple(&vp9_high_v_predictor_8x8_sse2, | 257 &vp9_highbd_dc_predictor_16x16_c, 16, |
251 &vp9_high_v_predictor_8x8_c, 8, 12), | 258 12), |
252 make_tuple(&vp9_high_v_predictor_16x16_sse2, | 259 make_tuple(&vp9_highbd_v_predictor_4x4_sse, |
253 &vp9_high_v_predictor_16x16_c, 16, 12), | 260 &vp9_highbd_v_predictor_4x4_c, 4, 12), |
254 make_tuple(&vp9_high_v_predictor_32x32_sse2, | 261 make_tuple(&vp9_highbd_v_predictor_8x8_sse2, |
255 &vp9_high_v_predictor_32x32_c, 32, 12), | 262 &vp9_highbd_v_predictor_8x8_c, 8, 12), |
256 make_tuple(&vp9_high_tm_predictor_4x4_sse, | 263 make_tuple(&vp9_highbd_v_predictor_16x16_sse2, |
257 &vp9_high_tm_predictor_4x4_c, 4, 12), | 264 &vp9_highbd_v_predictor_16x16_c, 16, |
258 make_tuple(&vp9_high_tm_predictor_8x8_sse2, | 265 12), |
259 &vp9_high_tm_predictor_8x8_c, 8, 12))); | 266 make_tuple(&vp9_highbd_v_predictor_32x32_sse2, |
| 267 &vp9_highbd_v_predictor_32x32_c, 32, |
| 268 12), |
| 269 make_tuple(&vp9_highbd_tm_predictor_4x4_sse, |
| 270 &vp9_highbd_tm_predictor_4x4_c, 4, 12), |
| 271 make_tuple(&vp9_highbd_tm_predictor_8x8_sse2, |
| 272 &vp9_highbd_tm_predictor_8x8_c, 8, 12))); |
260 #else | 273 #else |
261 INSTANTIATE_TEST_CASE_P(SSE2_TO_C_12, VP9IntraPredTest, | 274 INSTANTIATE_TEST_CASE_P(SSE2_TO_C_12, VP9IntraPredTest, |
262 ::testing::Values( | 275 ::testing::Values( |
263 make_tuple(&vp9_high_dc_predictor_4x4_sse, | 276 make_tuple(&vp9_highbd_dc_predictor_4x4_sse, |
264 &vp9_high_dc_predictor_4x4_c, 4, 12), | 277 &vp9_highbd_dc_predictor_4x4_c, 4, 12), |
265 make_tuple(&vp9_high_dc_predictor_8x8_sse2, | 278 make_tuple(&vp9_highbd_dc_predictor_8x8_sse2, |
266 &vp9_high_dc_predictor_8x8_c, 8, 12), | 279 &vp9_highbd_dc_predictor_8x8_c, 8, 12), |
267 make_tuple(&vp9_high_dc_predictor_16x16_sse2, | 280 make_tuple(&vp9_highbd_dc_predictor_16x16_sse2, |
268 &vp9_high_dc_predictor_16x16_c, 16, 12), | 281 &vp9_highbd_dc_predictor_16x16_c, 16, |
269 make_tuple(&vp9_high_v_predictor_4x4_sse, | 282 12), |
270 &vp9_high_v_predictor_4x4_c, 4, 12), | 283 make_tuple(&vp9_highbd_v_predictor_4x4_sse, |
271 make_tuple(&vp9_high_v_predictor_8x8_sse2, | 284 &vp9_highbd_v_predictor_4x4_c, 4, 12), |
272 &vp9_high_v_predictor_8x8_c, 8, 12), | 285 make_tuple(&vp9_highbd_v_predictor_8x8_sse2, |
273 make_tuple(&vp9_high_v_predictor_16x16_sse2, | 286 &vp9_highbd_v_predictor_8x8_c, 8, 12), |
274 &vp9_high_v_predictor_16x16_c, 16, 12), | 287 make_tuple(&vp9_highbd_v_predictor_16x16_sse2, |
275 make_tuple(&vp9_high_v_predictor_32x32_sse2, | 288 &vp9_highbd_v_predictor_16x16_c, 16, 12), |
276 &vp9_high_v_predictor_32x32_c, 32, 12), | 289 make_tuple(&vp9_highbd_v_predictor_32x32_sse2, |
277 make_tuple(&vp9_high_tm_predictor_4x4_sse, | 290 &vp9_highbd_v_predictor_32x32_c, 32, 12), |
278 &vp9_high_tm_predictor_4x4_c, 4, 12), | 291 make_tuple(&vp9_highbd_tm_predictor_4x4_sse, |
279 make_tuple(&vp9_high_tm_predictor_8x8_sse2, | 292 &vp9_highbd_tm_predictor_4x4_c, 4, 12), |
280 &vp9_high_tm_predictor_8x8_c, 8, 12))); | 293 make_tuple(&vp9_highbd_tm_predictor_8x8_sse2, |
| 294 &vp9_highbd_tm_predictor_8x8_c, 8, 12))); |
281 #endif | 295 #endif |
282 #endif // CONFIG_VP9_HIGHBITDEPTH | 296 #endif // CONFIG_VP9_HIGHBITDEPTH |
283 #endif // HAVE_SSE2 | 297 #endif // HAVE_SSE2 |
284 } // namespace | 298 } // namespace |
OLD | NEW |