Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(264)

Side by Side Diff: source/libvpx/test/variance_test.cc

Issue 290653003: libvpx: Pull from upstream (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/libvpx/
Patch Set: Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2012 The WebM project authors. All Rights Reserved. 2 * Copyright (c) 2012 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 #include <stdlib.h> 10 #include <stdlib.h>
(...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after
287 287
288 namespace vp8 { 288 namespace vp8 {
289 289
290 #if CONFIG_VP8_ENCODER 290 #if CONFIG_VP8_ENCODER
291 typedef VarianceTest<vp8_variance_fn_t> VP8VarianceTest; 291 typedef VarianceTest<vp8_variance_fn_t> VP8VarianceTest;
292 292
293 TEST_P(VP8VarianceTest, Zero) { ZeroTest(); } 293 TEST_P(VP8VarianceTest, Zero) { ZeroTest(); }
294 TEST_P(VP8VarianceTest, Ref) { RefTest(); } 294 TEST_P(VP8VarianceTest, Ref) { RefTest(); }
295 TEST_P(VP8VarianceTest, OneQuarter) { OneQuarterTest(); } 295 TEST_P(VP8VarianceTest, OneQuarter) { OneQuarterTest(); }
296 296
297 const vp8_variance_fn_t variance4x4_c = vp8_variance4x4_c;
298 const vp8_variance_fn_t variance8x8_c = vp8_variance8x8_c;
299 const vp8_variance_fn_t variance8x16_c = vp8_variance8x16_c;
300 const vp8_variance_fn_t variance16x8_c = vp8_variance16x8_c;
301 const vp8_variance_fn_t variance16x16_c = vp8_variance16x16_c;
297 INSTANTIATE_TEST_CASE_P( 302 INSTANTIATE_TEST_CASE_P(
298 C, VP8VarianceTest, 303 C, VP8VarianceTest,
299 ::testing::Values(make_tuple(2, 2, vp8_variance4x4_c), 304 ::testing::Values(make_tuple(2, 2, variance4x4_c),
300 make_tuple(3, 3, vp8_variance8x8_c), 305 make_tuple(3, 3, variance8x8_c),
301 make_tuple(3, 4, vp8_variance8x16_c), 306 make_tuple(3, 4, variance8x16_c),
302 make_tuple(4, 3, vp8_variance16x8_c), 307 make_tuple(4, 3, variance16x8_c),
303 make_tuple(4, 4, vp8_variance16x16_c))); 308 make_tuple(4, 4, variance16x16_c)));
304 309
305 #if HAVE_NEON 310 #if HAVE_NEON
311 const vp8_variance_fn_t variance8x8_neon = vp8_variance8x8_neon;
312 const vp8_variance_fn_t variance8x16_neon = vp8_variance8x16_neon;
313 const vp8_variance_fn_t variance16x8_neon = vp8_variance16x8_neon;
314 const vp8_variance_fn_t variance16x16_neon = vp8_variance16x16_neon;
306 INSTANTIATE_TEST_CASE_P( 315 INSTANTIATE_TEST_CASE_P(
307 NEON, VP8VarianceTest, 316 NEON, VP8VarianceTest,
308 ::testing::Values(make_tuple(3, 3, vp8_variance8x8_neon), 317 ::testing::Values(make_tuple(3, 3, variance8x8_neon),
309 make_tuple(3, 4, vp8_variance8x16_neon), 318 make_tuple(3, 4, variance8x16_neon),
310 make_tuple(4, 3, vp8_variance16x8_neon), 319 make_tuple(4, 3, variance16x8_neon),
311 make_tuple(4, 4, vp8_variance16x16_neon))); 320 make_tuple(4, 4, variance16x16_neon)));
312 #endif 321 #endif
313 322
314 #if HAVE_MMX 323 #if HAVE_MMX
324 const vp8_variance_fn_t variance4x4_mmx = vp8_variance4x4_mmx;
325 const vp8_variance_fn_t variance8x8_mmx = vp8_variance8x8_mmx;
326 const vp8_variance_fn_t variance8x16_mmx = vp8_variance8x16_mmx;
327 const vp8_variance_fn_t variance16x8_mmx = vp8_variance16x8_mmx;
328 const vp8_variance_fn_t variance16x16_mmx = vp8_variance16x16_mmx;
315 INSTANTIATE_TEST_CASE_P( 329 INSTANTIATE_TEST_CASE_P(
316 MMX, VP8VarianceTest, 330 MMX, VP8VarianceTest,
317 ::testing::Values(make_tuple(2, 2, vp8_variance4x4_mmx), 331 ::testing::Values(make_tuple(2, 2, variance4x4_mmx),
318 make_tuple(3, 3, vp8_variance8x8_mmx), 332 make_tuple(3, 3, variance8x8_mmx),
319 make_tuple(3, 4, vp8_variance8x16_mmx), 333 make_tuple(3, 4, variance8x16_mmx),
320 make_tuple(4, 3, vp8_variance16x8_mmx), 334 make_tuple(4, 3, variance16x8_mmx),
321 make_tuple(4, 4, vp8_variance16x16_mmx))); 335 make_tuple(4, 4, variance16x16_mmx)));
322 #endif 336 #endif
323 337
324 #if HAVE_SSE2 338 #if HAVE_SSE2
339 const vp8_variance_fn_t variance4x4_wmt = vp8_variance4x4_wmt;
340 const vp8_variance_fn_t variance8x8_wmt = vp8_variance8x8_wmt;
341 const vp8_variance_fn_t variance8x16_wmt = vp8_variance8x16_wmt;
342 const vp8_variance_fn_t variance16x8_wmt = vp8_variance16x8_wmt;
343 const vp8_variance_fn_t variance16x16_wmt = vp8_variance16x16_wmt;
325 INSTANTIATE_TEST_CASE_P( 344 INSTANTIATE_TEST_CASE_P(
326 SSE2, VP8VarianceTest, 345 SSE2, VP8VarianceTest,
327 ::testing::Values(make_tuple(2, 2, vp8_variance4x4_wmt), 346 ::testing::Values(make_tuple(2, 2, variance4x4_wmt),
328 make_tuple(3, 3, vp8_variance8x8_wmt), 347 make_tuple(3, 3, variance8x8_wmt),
329 make_tuple(3, 4, vp8_variance8x16_wmt), 348 make_tuple(3, 4, variance8x16_wmt),
330 make_tuple(4, 3, vp8_variance16x8_wmt), 349 make_tuple(4, 3, variance16x8_wmt),
331 make_tuple(4, 4, vp8_variance16x16_wmt))); 350 make_tuple(4, 4, variance16x16_wmt)));
332 #endif 351 #endif
333 #endif // CONFIG_VP8_ENCODER 352 #endif // CONFIG_VP8_ENCODER
334 353
335 } // namespace vp8 354 } // namespace vp8
336 355
337 // ----------------------------------------------------------------------------- 356 // -----------------------------------------------------------------------------
338 // VP9 test cases. 357 // VP9 test cases.
339 358
340 namespace vp9 { 359 namespace vp9 {
341 360
342 #if CONFIG_VP9_ENCODER 361 #if CONFIG_VP9_ENCODER
343 typedef VarianceTest<vp9_variance_fn_t> VP9VarianceTest; 362 typedef VarianceTest<vp9_variance_fn_t> VP9VarianceTest;
344 typedef SubpelVarianceTest<vp9_subpixvariance_fn_t> VP9SubpelVarianceTest; 363 typedef SubpelVarianceTest<vp9_subpixvariance_fn_t> VP9SubpelVarianceTest;
345 typedef SubpelVarianceTest<vp9_subp_avg_variance_fn_t> VP9SubpelAvgVarianceTest; 364 typedef SubpelVarianceTest<vp9_subp_avg_variance_fn_t> VP9SubpelAvgVarianceTest;
346 365
347 TEST_P(VP9VarianceTest, Zero) { ZeroTest(); } 366 TEST_P(VP9VarianceTest, Zero) { ZeroTest(); }
348 TEST_P(VP9VarianceTest, Ref) { RefTest(); } 367 TEST_P(VP9VarianceTest, Ref) { RefTest(); }
349 TEST_P(VP9SubpelVarianceTest, Ref) { RefTest(); } 368 TEST_P(VP9SubpelVarianceTest, Ref) { RefTest(); }
350 TEST_P(VP9SubpelAvgVarianceTest, Ref) { RefTest(); } 369 TEST_P(VP9SubpelAvgVarianceTest, Ref) { RefTest(); }
351 TEST_P(VP9VarianceTest, OneQuarter) { OneQuarterTest(); } 370 TEST_P(VP9VarianceTest, OneQuarter) { OneQuarterTest(); }
352 371
372 const vp9_variance_fn_t variance4x4_c = vp9_variance4x4_c;
373 const vp9_variance_fn_t variance4x8_c = vp9_variance4x8_c;
374 const vp9_variance_fn_t variance8x4_c = vp9_variance8x4_c;
375 const vp9_variance_fn_t variance8x8_c = vp9_variance8x8_c;
376 const vp9_variance_fn_t variance8x16_c = vp9_variance8x16_c;
377 const vp9_variance_fn_t variance16x8_c = vp9_variance16x8_c;
378 const vp9_variance_fn_t variance16x16_c = vp9_variance16x16_c;
379 const vp9_variance_fn_t variance16x32_c = vp9_variance16x32_c;
380 const vp9_variance_fn_t variance32x16_c = vp9_variance32x16_c;
381 const vp9_variance_fn_t variance32x32_c = vp9_variance32x32_c;
382 const vp9_variance_fn_t variance32x64_c = vp9_variance32x64_c;
383 const vp9_variance_fn_t variance64x32_c = vp9_variance64x32_c;
384 const vp9_variance_fn_t variance64x64_c = vp9_variance64x64_c;
353 INSTANTIATE_TEST_CASE_P( 385 INSTANTIATE_TEST_CASE_P(
354 C, VP9VarianceTest, 386 C, VP9VarianceTest,
355 ::testing::Values(make_tuple(2, 2, vp9_variance4x4_c), 387 ::testing::Values(make_tuple(2, 2, variance4x4_c),
356 make_tuple(2, 3, vp9_variance4x8_c), 388 make_tuple(2, 3, variance4x8_c),
357 make_tuple(3, 2, vp9_variance8x4_c), 389 make_tuple(3, 2, variance8x4_c),
358 make_tuple(3, 3, vp9_variance8x8_c), 390 make_tuple(3, 3, variance8x8_c),
359 make_tuple(3, 4, vp9_variance8x16_c), 391 make_tuple(3, 4, variance8x16_c),
360 make_tuple(4, 3, vp9_variance16x8_c), 392 make_tuple(4, 3, variance16x8_c),
361 make_tuple(4, 4, vp9_variance16x16_c), 393 make_tuple(4, 4, variance16x16_c),
362 make_tuple(4, 5, vp9_variance16x32_c), 394 make_tuple(4, 5, variance16x32_c),
363 make_tuple(5, 4, vp9_variance32x16_c), 395 make_tuple(5, 4, variance32x16_c),
364 make_tuple(5, 5, vp9_variance32x32_c), 396 make_tuple(5, 5, variance32x32_c),
365 make_tuple(5, 6, vp9_variance32x64_c), 397 make_tuple(5, 6, variance32x64_c),
366 make_tuple(6, 5, vp9_variance64x32_c), 398 make_tuple(6, 5, variance64x32_c),
367 make_tuple(6, 6, vp9_variance64x64_c))); 399 make_tuple(6, 6, variance64x64_c)));
368 400
401 const vp9_subpixvariance_fn_t subpel_variance4x4_c =
402 vp9_sub_pixel_variance4x4_c;
403 const vp9_subpixvariance_fn_t subpel_variance4x8_c =
404 vp9_sub_pixel_variance4x8_c;
405 const vp9_subpixvariance_fn_t subpel_variance8x4_c =
406 vp9_sub_pixel_variance8x4_c;
407 const vp9_subpixvariance_fn_t subpel_variance8x8_c =
408 vp9_sub_pixel_variance8x8_c;
409 const vp9_subpixvariance_fn_t subpel_variance8x16_c =
410 vp9_sub_pixel_variance8x16_c;
411 const vp9_subpixvariance_fn_t subpel_variance16x8_c =
412 vp9_sub_pixel_variance16x8_c;
413 const vp9_subpixvariance_fn_t subpel_variance16x16_c =
414 vp9_sub_pixel_variance16x16_c;
415 const vp9_subpixvariance_fn_t subpel_variance16x32_c =
416 vp9_sub_pixel_variance16x32_c;
417 const vp9_subpixvariance_fn_t subpel_variance32x16_c =
418 vp9_sub_pixel_variance32x16_c;
419 const vp9_subpixvariance_fn_t subpel_variance32x32_c =
420 vp9_sub_pixel_variance32x32_c;
421 const vp9_subpixvariance_fn_t subpel_variance32x64_c =
422 vp9_sub_pixel_variance32x64_c;
423 const vp9_subpixvariance_fn_t subpel_variance64x32_c =
424 vp9_sub_pixel_variance64x32_c;
425 const vp9_subpixvariance_fn_t subpel_variance64x64_c =
426 vp9_sub_pixel_variance64x64_c;
369 INSTANTIATE_TEST_CASE_P( 427 INSTANTIATE_TEST_CASE_P(
370 C, VP9SubpelVarianceTest, 428 C, VP9SubpelVarianceTest,
371 ::testing::Values(make_tuple(2, 2, vp9_sub_pixel_variance4x4_c), 429 ::testing::Values(make_tuple(2, 2, subpel_variance4x4_c),
372 make_tuple(2, 3, vp9_sub_pixel_variance4x8_c), 430 make_tuple(2, 3, subpel_variance4x8_c),
373 make_tuple(3, 2, vp9_sub_pixel_variance8x4_c), 431 make_tuple(3, 2, subpel_variance8x4_c),
374 make_tuple(3, 3, vp9_sub_pixel_variance8x8_c), 432 make_tuple(3, 3, subpel_variance8x8_c),
375 make_tuple(3, 4, vp9_sub_pixel_variance8x16_c), 433 make_tuple(3, 4, subpel_variance8x16_c),
376 make_tuple(4, 3, vp9_sub_pixel_variance16x8_c), 434 make_tuple(4, 3, subpel_variance16x8_c),
377 make_tuple(4, 4, vp9_sub_pixel_variance16x16_c), 435 make_tuple(4, 4, subpel_variance16x16_c),
378 make_tuple(4, 5, vp9_sub_pixel_variance16x32_c), 436 make_tuple(4, 5, subpel_variance16x32_c),
379 make_tuple(5, 4, vp9_sub_pixel_variance32x16_c), 437 make_tuple(5, 4, subpel_variance32x16_c),
380 make_tuple(5, 5, vp9_sub_pixel_variance32x32_c), 438 make_tuple(5, 5, subpel_variance32x32_c),
381 make_tuple(5, 6, vp9_sub_pixel_variance32x64_c), 439 make_tuple(5, 6, subpel_variance32x64_c),
382 make_tuple(6, 5, vp9_sub_pixel_variance64x32_c), 440 make_tuple(6, 5, subpel_variance64x32_c),
383 make_tuple(6, 6, vp9_sub_pixel_variance64x64_c))); 441 make_tuple(6, 6, subpel_variance64x64_c)));
384 442
443 const vp9_subp_avg_variance_fn_t subpel_avg_variance4x4_c =
444 vp9_sub_pixel_avg_variance4x4_c;
445 const vp9_subp_avg_variance_fn_t subpel_avg_variance4x8_c =
446 vp9_sub_pixel_avg_variance4x8_c;
447 const vp9_subp_avg_variance_fn_t subpel_avg_variance8x4_c =
448 vp9_sub_pixel_avg_variance8x4_c;
449 const vp9_subp_avg_variance_fn_t subpel_avg_variance8x8_c =
450 vp9_sub_pixel_avg_variance8x8_c;
451 const vp9_subp_avg_variance_fn_t subpel_avg_variance8x16_c =
452 vp9_sub_pixel_avg_variance8x16_c;
453 const vp9_subp_avg_variance_fn_t subpel_avg_variance16x8_c =
454 vp9_sub_pixel_avg_variance16x8_c;
455 const vp9_subp_avg_variance_fn_t subpel_avg_variance16x16_c =
456 vp9_sub_pixel_avg_variance16x16_c;
457 const vp9_subp_avg_variance_fn_t subpel_avg_variance16x32_c =
458 vp9_sub_pixel_avg_variance16x32_c;
459 const vp9_subp_avg_variance_fn_t subpel_avg_variance32x16_c =
460 vp9_sub_pixel_avg_variance32x16_c;
461 const vp9_subp_avg_variance_fn_t subpel_avg_variance32x32_c =
462 vp9_sub_pixel_avg_variance32x32_c;
463 const vp9_subp_avg_variance_fn_t subpel_avg_variance32x64_c =
464 vp9_sub_pixel_avg_variance32x64_c;
465 const vp9_subp_avg_variance_fn_t subpel_avg_variance64x32_c =
466 vp9_sub_pixel_avg_variance64x32_c;
467 const vp9_subp_avg_variance_fn_t subpel_avg_variance64x64_c =
468 vp9_sub_pixel_avg_variance64x64_c;
385 INSTANTIATE_TEST_CASE_P( 469 INSTANTIATE_TEST_CASE_P(
386 C, VP9SubpelAvgVarianceTest, 470 C, VP9SubpelAvgVarianceTest,
387 ::testing::Values(make_tuple(2, 2, vp9_sub_pixel_avg_variance4x4_c), 471 ::testing::Values(make_tuple(2, 2, subpel_avg_variance4x4_c),
388 make_tuple(2, 3, vp9_sub_pixel_avg_variance4x8_c), 472 make_tuple(2, 3, subpel_avg_variance4x8_c),
389 make_tuple(3, 2, vp9_sub_pixel_avg_variance8x4_c), 473 make_tuple(3, 2, subpel_avg_variance8x4_c),
390 make_tuple(3, 3, vp9_sub_pixel_avg_variance8x8_c), 474 make_tuple(3, 3, subpel_avg_variance8x8_c),
391 make_tuple(3, 4, vp9_sub_pixel_avg_variance8x16_c), 475 make_tuple(3, 4, subpel_avg_variance8x16_c),
392 make_tuple(4, 3, vp9_sub_pixel_avg_variance16x8_c), 476 make_tuple(4, 3, subpel_avg_variance16x8_c),
393 make_tuple(4, 4, vp9_sub_pixel_avg_variance16x16_c), 477 make_tuple(4, 4, subpel_avg_variance16x16_c),
394 make_tuple(4, 5, vp9_sub_pixel_avg_variance16x32_c), 478 make_tuple(4, 5, subpel_avg_variance16x32_c),
395 make_tuple(5, 4, vp9_sub_pixel_avg_variance32x16_c), 479 make_tuple(5, 4, subpel_avg_variance32x16_c),
396 make_tuple(5, 5, vp9_sub_pixel_avg_variance32x32_c), 480 make_tuple(5, 5, subpel_avg_variance32x32_c),
397 make_tuple(5, 6, vp9_sub_pixel_avg_variance32x64_c), 481 make_tuple(5, 6, subpel_avg_variance32x64_c),
398 make_tuple(6, 5, vp9_sub_pixel_avg_variance64x32_c), 482 make_tuple(6, 5, subpel_avg_variance64x32_c),
399 make_tuple(6, 6, vp9_sub_pixel_avg_variance64x64_c))); 483 make_tuple(6, 6, subpel_avg_variance64x64_c)));
400 484
401 #if HAVE_MMX 485 #if HAVE_MMX
486 const vp9_variance_fn_t variance4x4_mmx = vp9_variance4x4_mmx;
487 const vp9_variance_fn_t variance8x8_mmx = vp9_variance8x8_mmx;
488 const vp9_variance_fn_t variance8x16_mmx = vp9_variance8x16_mmx;
489 const vp9_variance_fn_t variance16x8_mmx = vp9_variance16x8_mmx;
490 const vp9_variance_fn_t variance16x16_mmx = vp9_variance16x16_mmx;
402 INSTANTIATE_TEST_CASE_P( 491 INSTANTIATE_TEST_CASE_P(
403 MMX, VP9VarianceTest, 492 MMX, VP9VarianceTest,
404 ::testing::Values(make_tuple(2, 2, vp9_variance4x4_mmx), 493 ::testing::Values(make_tuple(2, 2, variance4x4_mmx),
405 make_tuple(3, 3, vp9_variance8x8_mmx), 494 make_tuple(3, 3, variance8x8_mmx),
406 make_tuple(3, 4, vp9_variance8x16_mmx), 495 make_tuple(3, 4, variance8x16_mmx),
407 make_tuple(4, 3, vp9_variance16x8_mmx), 496 make_tuple(4, 3, variance16x8_mmx),
408 make_tuple(4, 4, vp9_variance16x16_mmx))); 497 make_tuple(4, 4, variance16x16_mmx)));
409 #endif 498 #endif
410 499
411 #if HAVE_SSE2 500 #if HAVE_SSE2
412 #if CONFIG_USE_X86INC 501 #if CONFIG_USE_X86INC
502 const vp9_variance_fn_t variance4x4_sse2 = vp9_variance4x4_sse2;
503 const vp9_variance_fn_t variance4x8_sse2 = vp9_variance4x8_sse2;
504 const vp9_variance_fn_t variance8x4_sse2 = vp9_variance8x4_sse2;
505 const vp9_variance_fn_t variance8x8_sse2 = vp9_variance8x8_sse2;
506 const vp9_variance_fn_t variance8x16_sse2 = vp9_variance8x16_sse2;
507 const vp9_variance_fn_t variance16x8_sse2 = vp9_variance16x8_sse2;
508 const vp9_variance_fn_t variance16x16_sse2 = vp9_variance16x16_sse2;
509 const vp9_variance_fn_t variance16x32_sse2 = vp9_variance16x32_sse2;
510 const vp9_variance_fn_t variance32x16_sse2 = vp9_variance32x16_sse2;
511 const vp9_variance_fn_t variance32x32_sse2 = vp9_variance32x32_sse2;
512 const vp9_variance_fn_t variance32x64_sse2 = vp9_variance32x64_sse2;
513 const vp9_variance_fn_t variance64x32_sse2 = vp9_variance64x32_sse2;
514 const vp9_variance_fn_t variance64x64_sse2 = vp9_variance64x64_sse2;
413 INSTANTIATE_TEST_CASE_P( 515 INSTANTIATE_TEST_CASE_P(
414 SSE2, VP9VarianceTest, 516 SSE2, VP9VarianceTest,
415 ::testing::Values(make_tuple(2, 2, vp9_variance4x4_sse2), 517 ::testing::Values(make_tuple(2, 2, variance4x4_sse2),
416 make_tuple(2, 3, vp9_variance4x8_sse2), 518 make_tuple(2, 3, variance4x8_sse2),
417 make_tuple(3, 2, vp9_variance8x4_sse2), 519 make_tuple(3, 2, variance8x4_sse2),
418 make_tuple(3, 3, vp9_variance8x8_sse2), 520 make_tuple(3, 3, variance8x8_sse2),
419 make_tuple(3, 4, vp9_variance8x16_sse2), 521 make_tuple(3, 4, variance8x16_sse2),
420 make_tuple(4, 3, vp9_variance16x8_sse2), 522 make_tuple(4, 3, variance16x8_sse2),
421 make_tuple(4, 4, vp9_variance16x16_sse2), 523 make_tuple(4, 4, variance16x16_sse2),
422 make_tuple(4, 5, vp9_variance16x32_sse2), 524 make_tuple(4, 5, variance16x32_sse2),
423 make_tuple(5, 4, vp9_variance32x16_sse2), 525 make_tuple(5, 4, variance32x16_sse2),
424 make_tuple(5, 5, vp9_variance32x32_sse2), 526 make_tuple(5, 5, variance32x32_sse2),
425 make_tuple(5, 6, vp9_variance32x64_sse2), 527 make_tuple(5, 6, variance32x64_sse2),
426 make_tuple(6, 5, vp9_variance64x32_sse2), 528 make_tuple(6, 5, variance64x32_sse2),
427 make_tuple(6, 6, vp9_variance64x64_sse2))); 529 make_tuple(6, 6, variance64x64_sse2)));
428 530
531 const vp9_subpixvariance_fn_t subpel_variance4x4_sse =
532 vp9_sub_pixel_variance4x4_sse;
533 const vp9_subpixvariance_fn_t subpel_variance4x8_sse =
534 vp9_sub_pixel_variance4x8_sse;
535 const vp9_subpixvariance_fn_t subpel_variance8x4_sse2 =
536 vp9_sub_pixel_variance8x4_sse2;
537 const vp9_subpixvariance_fn_t subpel_variance8x8_sse2 =
538 vp9_sub_pixel_variance8x8_sse2;
539 const vp9_subpixvariance_fn_t subpel_variance8x16_sse2 =
540 vp9_sub_pixel_variance8x16_sse2;
541 const vp9_subpixvariance_fn_t subpel_variance16x8_sse2 =
542 vp9_sub_pixel_variance16x8_sse2;
543 const vp9_subpixvariance_fn_t subpel_variance16x16_sse2 =
544 vp9_sub_pixel_variance16x16_sse2;
545 const vp9_subpixvariance_fn_t subpel_variance16x32_sse2 =
546 vp9_sub_pixel_variance16x32_sse2;
547 const vp9_subpixvariance_fn_t subpel_variance32x16_sse2 =
548 vp9_sub_pixel_variance32x16_sse2;
549 const vp9_subpixvariance_fn_t subpel_variance32x32_sse2 =
550 vp9_sub_pixel_variance32x32_sse2;
551 const vp9_subpixvariance_fn_t subpel_variance32x64_sse2 =
552 vp9_sub_pixel_variance32x64_sse2;
553 const vp9_subpixvariance_fn_t subpel_variance64x32_sse2 =
554 vp9_sub_pixel_variance64x32_sse2;
555 const vp9_subpixvariance_fn_t subpel_variance64x64_sse2 =
556 vp9_sub_pixel_variance64x64_sse2;
429 INSTANTIATE_TEST_CASE_P( 557 INSTANTIATE_TEST_CASE_P(
430 SSE2, VP9SubpelVarianceTest, 558 SSE2, VP9SubpelVarianceTest,
431 ::testing::Values(make_tuple(2, 2, vp9_sub_pixel_variance4x4_sse), 559 ::testing::Values(make_tuple(2, 2, subpel_variance4x4_sse),
432 make_tuple(2, 3, vp9_sub_pixel_variance4x8_sse), 560 make_tuple(2, 3, subpel_variance4x8_sse),
433 make_tuple(3, 2, vp9_sub_pixel_variance8x4_sse2), 561 make_tuple(3, 2, subpel_variance8x4_sse2),
434 make_tuple(3, 3, vp9_sub_pixel_variance8x8_sse2), 562 make_tuple(3, 3, subpel_variance8x8_sse2),
435 make_tuple(3, 4, vp9_sub_pixel_variance8x16_sse2), 563 make_tuple(3, 4, subpel_variance8x16_sse2),
436 make_tuple(4, 3, vp9_sub_pixel_variance16x8_sse2), 564 make_tuple(4, 3, subpel_variance16x8_sse2),
437 make_tuple(4, 4, vp9_sub_pixel_variance16x16_sse2), 565 make_tuple(4, 4, subpel_variance16x16_sse2),
438 make_tuple(4, 5, vp9_sub_pixel_variance16x32_sse2), 566 make_tuple(4, 5, subpel_variance16x32_sse2),
439 make_tuple(5, 4, vp9_sub_pixel_variance32x16_sse2), 567 make_tuple(5, 4, subpel_variance32x16_sse2),
440 make_tuple(5, 5, vp9_sub_pixel_variance32x32_sse2), 568 make_tuple(5, 5, subpel_variance32x32_sse2),
441 make_tuple(5, 6, vp9_sub_pixel_variance32x64_sse2), 569 make_tuple(5, 6, subpel_variance32x64_sse2),
442 make_tuple(6, 5, vp9_sub_pixel_variance64x32_sse2), 570 make_tuple(6, 5, subpel_variance64x32_sse2),
443 make_tuple(6, 6, vp9_sub_pixel_variance64x64_sse2))); 571 make_tuple(6, 6, subpel_variance64x64_sse2)));
444 572
573 const vp9_subp_avg_variance_fn_t subpel_avg_variance4x4_sse =
574 vp9_sub_pixel_avg_variance4x4_sse;
575 const vp9_subp_avg_variance_fn_t subpel_avg_variance4x8_sse =
576 vp9_sub_pixel_avg_variance4x8_sse;
577 const vp9_subp_avg_variance_fn_t subpel_avg_variance8x4_sse2 =
578 vp9_sub_pixel_avg_variance8x4_sse2;
579 const vp9_subp_avg_variance_fn_t subpel_avg_variance8x8_sse2 =
580 vp9_sub_pixel_avg_variance8x8_sse2;
581 const vp9_subp_avg_variance_fn_t subpel_avg_variance8x16_sse2 =
582 vp9_sub_pixel_avg_variance8x16_sse2;
583 const vp9_subp_avg_variance_fn_t subpel_avg_variance16x8_sse2 =
584 vp9_sub_pixel_avg_variance16x8_sse2;
585 const vp9_subp_avg_variance_fn_t subpel_avg_variance16x16_sse2 =
586 vp9_sub_pixel_avg_variance16x16_sse2;
587 const vp9_subp_avg_variance_fn_t subpel_avg_variance16x32_sse2 =
588 vp9_sub_pixel_avg_variance16x32_sse2;
589 const vp9_subp_avg_variance_fn_t subpel_avg_variance32x16_sse2 =
590 vp9_sub_pixel_avg_variance32x16_sse2;
591 const vp9_subp_avg_variance_fn_t subpel_avg_variance32x32_sse2 =
592 vp9_sub_pixel_avg_variance32x32_sse2;
593 const vp9_subp_avg_variance_fn_t subpel_avg_variance32x64_sse2 =
594 vp9_sub_pixel_avg_variance32x64_sse2;
595 const vp9_subp_avg_variance_fn_t subpel_avg_variance64x32_sse2 =
596 vp9_sub_pixel_avg_variance64x32_sse2;
597 const vp9_subp_avg_variance_fn_t subpel_avg_variance64x64_sse2 =
598 vp9_sub_pixel_avg_variance64x64_sse2;
445 INSTANTIATE_TEST_CASE_P( 599 INSTANTIATE_TEST_CASE_P(
446 SSE2, VP9SubpelAvgVarianceTest, 600 SSE2, VP9SubpelAvgVarianceTest,
447 ::testing::Values(make_tuple(2, 2, vp9_sub_pixel_avg_variance4x4_sse), 601 ::testing::Values(make_tuple(2, 2, subpel_avg_variance4x4_sse),
448 make_tuple(2, 3, vp9_sub_pixel_avg_variance4x8_sse), 602 make_tuple(2, 3, subpel_avg_variance4x8_sse),
449 make_tuple(3, 2, vp9_sub_pixel_avg_variance8x4_sse2), 603 make_tuple(3, 2, subpel_avg_variance8x4_sse2),
450 make_tuple(3, 3, vp9_sub_pixel_avg_variance8x8_sse2), 604 make_tuple(3, 3, subpel_avg_variance8x8_sse2),
451 make_tuple(3, 4, vp9_sub_pixel_avg_variance8x16_sse2), 605 make_tuple(3, 4, subpel_avg_variance8x16_sse2),
452 make_tuple(4, 3, vp9_sub_pixel_avg_variance16x8_sse2), 606 make_tuple(4, 3, subpel_avg_variance16x8_sse2),
453 make_tuple(4, 4, vp9_sub_pixel_avg_variance16x16_sse2), 607 make_tuple(4, 4, subpel_avg_variance16x16_sse2),
454 make_tuple(4, 5, vp9_sub_pixel_avg_variance16x32_sse2), 608 make_tuple(4, 5, subpel_avg_variance16x32_sse2),
455 make_tuple(5, 4, vp9_sub_pixel_avg_variance32x16_sse2), 609 make_tuple(5, 4, subpel_avg_variance32x16_sse2),
456 make_tuple(5, 5, vp9_sub_pixel_avg_variance32x32_sse2), 610 make_tuple(5, 5, subpel_avg_variance32x32_sse2),
457 make_tuple(5, 6, vp9_sub_pixel_avg_variance32x64_sse2), 611 make_tuple(5, 6, subpel_avg_variance32x64_sse2),
458 make_tuple(6, 5, vp9_sub_pixel_avg_variance64x32_sse2), 612 make_tuple(6, 5, subpel_avg_variance64x32_sse2),
459 make_tuple(6, 6, vp9_sub_pixel_avg_variance64x64_sse2))); 613 make_tuple(6, 6, subpel_avg_variance64x64_sse2)));
460 #endif 614 #endif
461 #endif 615 #endif
462 616
463 #if HAVE_SSSE3 617 #if HAVE_SSSE3
464 #if CONFIG_USE_X86INC 618 #if CONFIG_USE_X86INC
465 619
620 const vp9_subpixvariance_fn_t subpel_variance4x4_ssse3 =
621 vp9_sub_pixel_variance4x4_ssse3;
622 const vp9_subpixvariance_fn_t subpel_variance4x8_ssse3 =
623 vp9_sub_pixel_variance4x8_ssse3;
624 const vp9_subpixvariance_fn_t subpel_variance8x4_ssse3 =
625 vp9_sub_pixel_variance8x4_ssse3;
626 const vp9_subpixvariance_fn_t subpel_variance8x8_ssse3 =
627 vp9_sub_pixel_variance8x8_ssse3;
628 const vp9_subpixvariance_fn_t subpel_variance8x16_ssse3 =
629 vp9_sub_pixel_variance8x16_ssse3;
630 const vp9_subpixvariance_fn_t subpel_variance16x8_ssse3 =
631 vp9_sub_pixel_variance16x8_ssse3;
632 const vp9_subpixvariance_fn_t subpel_variance16x16_ssse3 =
633 vp9_sub_pixel_variance16x16_ssse3;
634 const vp9_subpixvariance_fn_t subpel_variance16x32_ssse3 =
635 vp9_sub_pixel_variance16x32_ssse3;
636 const vp9_subpixvariance_fn_t subpel_variance32x16_ssse3 =
637 vp9_sub_pixel_variance32x16_ssse3;
638 const vp9_subpixvariance_fn_t subpel_variance32x32_ssse3 =
639 vp9_sub_pixel_variance32x32_ssse3;
640 const vp9_subpixvariance_fn_t subpel_variance32x64_ssse3 =
641 vp9_sub_pixel_variance32x64_ssse3;
642 const vp9_subpixvariance_fn_t subpel_variance64x32_ssse3 =
643 vp9_sub_pixel_variance64x32_ssse3;
644 const vp9_subpixvariance_fn_t subpel_variance64x64_ssse3 =
645 vp9_sub_pixel_variance64x64_ssse3;
466 INSTANTIATE_TEST_CASE_P( 646 INSTANTIATE_TEST_CASE_P(
467 SSSE3, VP9SubpelVarianceTest, 647 SSSE3, VP9SubpelVarianceTest,
468 ::testing::Values(make_tuple(2, 2, vp9_sub_pixel_variance4x4_ssse3), 648 ::testing::Values(make_tuple(2, 2, subpel_variance4x4_ssse3),
469 make_tuple(2, 3, vp9_sub_pixel_variance4x8_ssse3), 649 make_tuple(2, 3, subpel_variance4x8_ssse3),
470 make_tuple(3, 2, vp9_sub_pixel_variance8x4_ssse3), 650 make_tuple(3, 2, subpel_variance8x4_ssse3),
471 make_tuple(3, 3, vp9_sub_pixel_variance8x8_ssse3), 651 make_tuple(3, 3, subpel_variance8x8_ssse3),
472 make_tuple(3, 4, vp9_sub_pixel_variance8x16_ssse3), 652 make_tuple(3, 4, subpel_variance8x16_ssse3),
473 make_tuple(4, 3, vp9_sub_pixel_variance16x8_ssse3), 653 make_tuple(4, 3, subpel_variance16x8_ssse3),
474 make_tuple(4, 4, vp9_sub_pixel_variance16x16_ssse3), 654 make_tuple(4, 4, subpel_variance16x16_ssse3),
475 make_tuple(4, 5, vp9_sub_pixel_variance16x32_ssse3), 655 make_tuple(4, 5, subpel_variance16x32_ssse3),
476 make_tuple(5, 4, vp9_sub_pixel_variance32x16_ssse3), 656 make_tuple(5, 4, subpel_variance32x16_ssse3),
477 make_tuple(5, 5, vp9_sub_pixel_variance32x32_ssse3), 657 make_tuple(5, 5, subpel_variance32x32_ssse3),
478 make_tuple(5, 6, vp9_sub_pixel_variance32x64_ssse3), 658 make_tuple(5, 6, subpel_variance32x64_ssse3),
479 make_tuple(6, 5, vp9_sub_pixel_variance64x32_ssse3), 659 make_tuple(6, 5, subpel_variance64x32_ssse3),
480 make_tuple(6, 6, vp9_sub_pixel_variance64x64_ssse3))); 660 make_tuple(6, 6, subpel_variance64x64_ssse3)));
481 661
662 const vp9_subp_avg_variance_fn_t subpel_avg_variance4x4_ssse3 =
663 vp9_sub_pixel_avg_variance4x4_ssse3;
664 const vp9_subp_avg_variance_fn_t subpel_avg_variance4x8_ssse3 =
665 vp9_sub_pixel_avg_variance4x8_ssse3;
666 const vp9_subp_avg_variance_fn_t subpel_avg_variance8x4_ssse3 =
667 vp9_sub_pixel_avg_variance8x4_ssse3;
668 const vp9_subp_avg_variance_fn_t subpel_avg_variance8x8_ssse3 =
669 vp9_sub_pixel_avg_variance8x8_ssse3;
670 const vp9_subp_avg_variance_fn_t subpel_avg_variance8x16_ssse3 =
671 vp9_sub_pixel_avg_variance8x16_ssse3;
672 const vp9_subp_avg_variance_fn_t subpel_avg_variance16x8_ssse3 =
673 vp9_sub_pixel_avg_variance16x8_ssse3;
674 const vp9_subp_avg_variance_fn_t subpel_avg_variance16x16_ssse3 =
675 vp9_sub_pixel_avg_variance16x16_ssse3;
676 const vp9_subp_avg_variance_fn_t subpel_avg_variance16x32_ssse3 =
677 vp9_sub_pixel_avg_variance16x32_ssse3;
678 const vp9_subp_avg_variance_fn_t subpel_avg_variance32x16_ssse3 =
679 vp9_sub_pixel_avg_variance32x16_ssse3;
680 const vp9_subp_avg_variance_fn_t subpel_avg_variance32x32_ssse3 =
681 vp9_sub_pixel_avg_variance32x32_ssse3;
682 const vp9_subp_avg_variance_fn_t subpel_avg_variance32x64_ssse3 =
683 vp9_sub_pixel_avg_variance32x64_ssse3;
684 const vp9_subp_avg_variance_fn_t subpel_avg_variance64x32_ssse3 =
685 vp9_sub_pixel_avg_variance64x32_ssse3;
686 const vp9_subp_avg_variance_fn_t subpel_avg_variance64x64_ssse3 =
687 vp9_sub_pixel_avg_variance64x64_ssse3;
482 INSTANTIATE_TEST_CASE_P( 688 INSTANTIATE_TEST_CASE_P(
483 SSSE3, VP9SubpelAvgVarianceTest, 689 SSSE3, VP9SubpelAvgVarianceTest,
484 ::testing::Values(make_tuple(2, 2, vp9_sub_pixel_avg_variance4x4_ssse3), 690 ::testing::Values(make_tuple(2, 2, subpel_avg_variance4x4_ssse3),
485 make_tuple(2, 3, vp9_sub_pixel_avg_variance4x8_ssse3), 691 make_tuple(2, 3, subpel_avg_variance4x8_ssse3),
486 make_tuple(3, 2, vp9_sub_pixel_avg_variance8x4_ssse3), 692 make_tuple(3, 2, subpel_avg_variance8x4_ssse3),
487 make_tuple(3, 3, vp9_sub_pixel_avg_variance8x8_ssse3), 693 make_tuple(3, 3, subpel_avg_variance8x8_ssse3),
488 make_tuple(3, 4, vp9_sub_pixel_avg_variance8x16_ssse3), 694 make_tuple(3, 4, subpel_avg_variance8x16_ssse3),
489 make_tuple(4, 3, vp9_sub_pixel_avg_variance16x8_ssse3), 695 make_tuple(4, 3, subpel_avg_variance16x8_ssse3),
490 make_tuple(4, 4, vp9_sub_pixel_avg_variance16x16_ssse3), 696 make_tuple(4, 4, subpel_avg_variance16x16_ssse3),
491 make_tuple(4, 5, vp9_sub_pixel_avg_variance16x32_ssse3), 697 make_tuple(4, 5, subpel_avg_variance16x32_ssse3),
492 make_tuple(5, 4, vp9_sub_pixel_avg_variance32x16_ssse3), 698 make_tuple(5, 4, subpel_avg_variance32x16_ssse3),
493 make_tuple(5, 5, vp9_sub_pixel_avg_variance32x32_ssse3), 699 make_tuple(5, 5, subpel_avg_variance32x32_ssse3),
494 make_tuple(5, 6, vp9_sub_pixel_avg_variance32x64_ssse3), 700 make_tuple(5, 6, subpel_avg_variance32x64_ssse3),
495 make_tuple(6, 5, vp9_sub_pixel_avg_variance64x32_ssse3), 701 make_tuple(6, 5, subpel_avg_variance64x32_ssse3),
496 make_tuple(6, 6, vp9_sub_pixel_avg_variance64x64_ssse3))); 702 make_tuple(6, 6, subpel_avg_variance64x64_ssse3)));
497 #endif 703 #endif
498 #endif 704 #endif
499 #endif // CONFIG_VP9_ENCODER 705 #endif // CONFIG_VP9_ENCODER
500 706
501 } // namespace vp9 707 } // namespace vp9
502 708
503 } // namespace 709 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698