| 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 |