OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2013 The WebM project authors. All Rights Reserved. | 2 * Copyright (c) 2013 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 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
196 | 196 |
197 EXPECT_EQ(0, max_error) | 197 EXPECT_EQ(0, max_error) |
198 << "Error: partial inverse transform produces different results"; | 198 << "Error: partial inverse transform produces different results"; |
199 } | 199 } |
200 using std::tr1::make_tuple; | 200 using std::tr1::make_tuple; |
201 | 201 |
202 INSTANTIATE_TEST_CASE_P( | 202 INSTANTIATE_TEST_CASE_P( |
203 C, PartialIDctTest, | 203 C, PartialIDctTest, |
204 ::testing::Values( | 204 ::testing::Values( |
205 make_tuple(&vpx_fdct32x32_c, | 205 make_tuple(&vpx_fdct32x32_c, |
206 &vp9_idct32x32_1024_add_c, | 206 &vpx_idct32x32_1024_add_c, |
207 &vp9_idct32x32_34_add_c, | 207 &vpx_idct32x32_34_add_c, |
208 TX_32X32, 34), | 208 TX_32X32, 34), |
209 make_tuple(&vpx_fdct32x32_c, | 209 make_tuple(&vpx_fdct32x32_c, |
210 &vp9_idct32x32_1024_add_c, | 210 &vpx_idct32x32_1024_add_c, |
211 &vp9_idct32x32_1_add_c, | 211 &vpx_idct32x32_1_add_c, |
212 TX_32X32, 1), | 212 TX_32X32, 1), |
213 make_tuple(&vpx_fdct16x16_c, | 213 make_tuple(&vpx_fdct16x16_c, |
214 &vp9_idct16x16_256_add_c, | 214 &vpx_idct16x16_256_add_c, |
215 &vp9_idct16x16_10_add_c, | 215 &vpx_idct16x16_10_add_c, |
216 TX_16X16, 10), | 216 TX_16X16, 10), |
217 make_tuple(&vpx_fdct16x16_c, | 217 make_tuple(&vpx_fdct16x16_c, |
218 &vp9_idct16x16_256_add_c, | 218 &vpx_idct16x16_256_add_c, |
219 &vp9_idct16x16_1_add_c, | 219 &vpx_idct16x16_1_add_c, |
220 TX_16X16, 1), | 220 TX_16X16, 1), |
221 make_tuple(&vpx_fdct8x8_c, | 221 make_tuple(&vpx_fdct8x8_c, |
222 &vp9_idct8x8_64_add_c, | 222 &vpx_idct8x8_64_add_c, |
223 &vp9_idct8x8_12_add_c, | 223 &vpx_idct8x8_12_add_c, |
224 TX_8X8, 12), | 224 TX_8X8, 12), |
225 make_tuple(&vpx_fdct8x8_c, | 225 make_tuple(&vpx_fdct8x8_c, |
226 &vp9_idct8x8_64_add_c, | 226 &vpx_idct8x8_64_add_c, |
227 &vp9_idct8x8_1_add_c, | 227 &vpx_idct8x8_1_add_c, |
228 TX_8X8, 1), | 228 TX_8X8, 1), |
229 make_tuple(&vpx_fdct4x4_c, | 229 make_tuple(&vpx_fdct4x4_c, |
230 &vp9_idct4x4_16_add_c, | 230 &vpx_idct4x4_16_add_c, |
231 &vp9_idct4x4_1_add_c, | 231 &vpx_idct4x4_1_add_c, |
232 TX_4X4, 1))); | 232 TX_4X4, 1))); |
233 | 233 |
234 #if HAVE_NEON && !CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE | 234 #if HAVE_NEON && !CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE |
235 INSTANTIATE_TEST_CASE_P( | 235 INSTANTIATE_TEST_CASE_P( |
236 NEON, PartialIDctTest, | 236 NEON, PartialIDctTest, |
237 ::testing::Values( | 237 ::testing::Values( |
238 make_tuple(&vpx_fdct32x32_c, | 238 make_tuple(&vpx_fdct32x32_c, |
239 &vp9_idct32x32_1024_add_c, | 239 &vpx_idct32x32_1024_add_c, |
240 &vp9_idct32x32_1_add_neon, | 240 &vpx_idct32x32_1_add_neon, |
241 TX_32X32, 1), | 241 TX_32X32, 1), |
242 make_tuple(&vpx_fdct16x16_c, | 242 make_tuple(&vpx_fdct16x16_c, |
243 &vp9_idct16x16_256_add_c, | 243 &vpx_idct16x16_256_add_c, |
244 &vp9_idct16x16_10_add_neon, | 244 &vpx_idct16x16_10_add_neon, |
245 TX_16X16, 10), | 245 TX_16X16, 10), |
246 make_tuple(&vpx_fdct16x16_c, | 246 make_tuple(&vpx_fdct16x16_c, |
247 &vp9_idct16x16_256_add_c, | 247 &vpx_idct16x16_256_add_c, |
248 &vp9_idct16x16_1_add_neon, | 248 &vpx_idct16x16_1_add_neon, |
249 TX_16X16, 1), | 249 TX_16X16, 1), |
250 make_tuple(&vpx_fdct8x8_c, | 250 make_tuple(&vpx_fdct8x8_c, |
251 &vp9_idct8x8_64_add_c, | 251 &vpx_idct8x8_64_add_c, |
252 &vp9_idct8x8_12_add_neon, | 252 &vpx_idct8x8_12_add_neon, |
253 TX_8X8, 12), | 253 TX_8X8, 12), |
254 make_tuple(&vpx_fdct8x8_c, | 254 make_tuple(&vpx_fdct8x8_c, |
255 &vp9_idct8x8_64_add_c, | 255 &vpx_idct8x8_64_add_c, |
256 &vp9_idct8x8_1_add_neon, | 256 &vpx_idct8x8_1_add_neon, |
257 TX_8X8, 1), | 257 TX_8X8, 1), |
258 make_tuple(&vpx_fdct4x4_c, | 258 make_tuple(&vpx_fdct4x4_c, |
259 &vp9_idct4x4_16_add_c, | 259 &vpx_idct4x4_16_add_c, |
260 &vp9_idct4x4_1_add_neon, | 260 &vpx_idct4x4_1_add_neon, |
261 TX_4X4, 1))); | 261 TX_4X4, 1))); |
262 #endif // HAVE_NEON && !CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE | 262 #endif // HAVE_NEON && !CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE |
263 | 263 |
264 #if HAVE_SSE2 && !CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE | 264 #if HAVE_SSE2 && !CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE |
265 INSTANTIATE_TEST_CASE_P( | 265 INSTANTIATE_TEST_CASE_P( |
266 SSE2, PartialIDctTest, | 266 SSE2, PartialIDctTest, |
267 ::testing::Values( | 267 ::testing::Values( |
268 make_tuple(&vpx_fdct32x32_c, | 268 make_tuple(&vpx_fdct32x32_c, |
269 &vp9_idct32x32_1024_add_c, | 269 &vpx_idct32x32_1024_add_c, |
270 &vp9_idct32x32_34_add_sse2, | 270 &vpx_idct32x32_34_add_sse2, |
271 TX_32X32, 34), | 271 TX_32X32, 34), |
272 make_tuple(&vpx_fdct32x32_c, | 272 make_tuple(&vpx_fdct32x32_c, |
273 &vp9_idct32x32_1024_add_c, | 273 &vpx_idct32x32_1024_add_c, |
274 &vp9_idct32x32_1_add_sse2, | 274 &vpx_idct32x32_1_add_sse2, |
275 TX_32X32, 1), | 275 TX_32X32, 1), |
276 make_tuple(&vpx_fdct16x16_c, | 276 make_tuple(&vpx_fdct16x16_c, |
277 &vp9_idct16x16_256_add_c, | 277 &vpx_idct16x16_256_add_c, |
278 &vp9_idct16x16_10_add_sse2, | 278 &vpx_idct16x16_10_add_sse2, |
279 TX_16X16, 10), | 279 TX_16X16, 10), |
280 make_tuple(&vpx_fdct16x16_c, | 280 make_tuple(&vpx_fdct16x16_c, |
281 &vp9_idct16x16_256_add_c, | 281 &vpx_idct16x16_256_add_c, |
282 &vp9_idct16x16_1_add_sse2, | 282 &vpx_idct16x16_1_add_sse2, |
283 TX_16X16, 1), | 283 TX_16X16, 1), |
284 make_tuple(&vpx_fdct8x8_c, | 284 make_tuple(&vpx_fdct8x8_c, |
285 &vp9_idct8x8_64_add_c, | 285 &vpx_idct8x8_64_add_c, |
286 &vp9_idct8x8_12_add_sse2, | 286 &vpx_idct8x8_12_add_sse2, |
287 TX_8X8, 12), | 287 TX_8X8, 12), |
288 make_tuple(&vpx_fdct8x8_c, | 288 make_tuple(&vpx_fdct8x8_c, |
289 &vp9_idct8x8_64_add_c, | 289 &vpx_idct8x8_64_add_c, |
290 &vp9_idct8x8_1_add_sse2, | 290 &vpx_idct8x8_1_add_sse2, |
291 TX_8X8, 1), | 291 TX_8X8, 1), |
292 make_tuple(&vpx_fdct4x4_c, | 292 make_tuple(&vpx_fdct4x4_c, |
293 &vp9_idct4x4_16_add_c, | 293 &vpx_idct4x4_16_add_c, |
294 &vp9_idct4x4_1_add_sse2, | 294 &vpx_idct4x4_1_add_sse2, |
295 TX_4X4, 1))); | 295 TX_4X4, 1))); |
296 #endif | 296 #endif |
297 | 297 |
298 #if HAVE_SSSE3 && CONFIG_USE_X86INC && ARCH_X86_64 && \ | 298 #if HAVE_SSSE3 && CONFIG_USE_X86INC && ARCH_X86_64 && \ |
299 !CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE | 299 !CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE |
300 INSTANTIATE_TEST_CASE_P( | 300 INSTANTIATE_TEST_CASE_P( |
301 SSSE3_64, PartialIDctTest, | 301 SSSE3_64, PartialIDctTest, |
302 ::testing::Values( | 302 ::testing::Values( |
303 make_tuple(&vpx_fdct8x8_c, | 303 make_tuple(&vpx_fdct8x8_c, |
304 &vp9_idct8x8_64_add_c, | 304 &vpx_idct8x8_64_add_c, |
305 &vp9_idct8x8_12_add_ssse3, | 305 &vpx_idct8x8_12_add_ssse3, |
306 TX_8X8, 12))); | 306 TX_8X8, 12))); |
307 #endif | 307 #endif |
308 | 308 |
309 #if HAVE_MSA && !CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE | 309 #if HAVE_MSA && !CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE |
310 INSTANTIATE_TEST_CASE_P( | 310 INSTANTIATE_TEST_CASE_P( |
311 MSA, PartialIDctTest, | 311 MSA, PartialIDctTest, |
312 ::testing::Values( | 312 ::testing::Values( |
313 make_tuple(&vpx_fdct32x32_c, | 313 make_tuple(&vpx_fdct32x32_c, |
314 &vp9_idct32x32_1024_add_c, | 314 &vpx_idct32x32_1024_add_c, |
315 &vp9_idct32x32_34_add_msa, | 315 &vpx_idct32x32_34_add_msa, |
316 TX_32X32, 34), | 316 TX_32X32, 34), |
317 make_tuple(&vpx_fdct32x32_c, | 317 make_tuple(&vpx_fdct32x32_c, |
318 &vp9_idct32x32_1024_add_c, | 318 &vpx_idct32x32_1024_add_c, |
319 &vp9_idct32x32_1_add_msa, | 319 &vpx_idct32x32_1_add_msa, |
320 TX_32X32, 1), | 320 TX_32X32, 1), |
321 make_tuple(&vpx_fdct16x16_c, | 321 make_tuple(&vpx_fdct16x16_c, |
322 &vp9_idct16x16_256_add_c, | 322 &vpx_idct16x16_256_add_c, |
323 &vp9_idct16x16_10_add_msa, | 323 &vpx_idct16x16_10_add_msa, |
324 TX_16X16, 10), | 324 TX_16X16, 10), |
325 make_tuple(&vpx_fdct16x16_c, | 325 make_tuple(&vpx_fdct16x16_c, |
326 &vp9_idct16x16_256_add_c, | 326 &vpx_idct16x16_256_add_c, |
327 &vp9_idct16x16_1_add_msa, | 327 &vpx_idct16x16_1_add_msa, |
328 TX_16X16, 1), | 328 TX_16X16, 1), |
329 make_tuple(&vpx_fdct8x8_c, | 329 make_tuple(&vpx_fdct8x8_c, |
330 &vp9_idct8x8_64_add_c, | 330 &vpx_idct8x8_64_add_c, |
331 &vp9_idct8x8_12_add_msa, | 331 &vpx_idct8x8_12_add_msa, |
332 TX_8X8, 10), | 332 TX_8X8, 10), |
333 make_tuple(&vpx_fdct8x8_c, | 333 make_tuple(&vpx_fdct8x8_c, |
334 &vp9_idct8x8_64_add_c, | 334 &vpx_idct8x8_64_add_c, |
335 &vp9_idct8x8_1_add_msa, | 335 &vpx_idct8x8_1_add_msa, |
336 TX_8X8, 1), | 336 TX_8X8, 1), |
337 make_tuple(&vpx_fdct4x4_c, | 337 make_tuple(&vpx_fdct4x4_c, |
338 &vp9_idct4x4_16_add_c, | 338 &vpx_idct4x4_16_add_c, |
339 &vp9_idct4x4_1_add_msa, | 339 &vpx_idct4x4_1_add_msa, |
340 TX_4X4, 1))); | 340 TX_4X4, 1))); |
341 #endif // HAVE_MSA && !CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE | 341 #endif // HAVE_MSA && !CONFIG_VP9_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE |
342 | 342 |
343 } // namespace | 343 } // namespace |
OLD | NEW |