Commit 837cea40 authored by James Zern's avatar James Zern
Browse files

variance_test: create fn pointers w/'&' ref

this helps some toolchains (vs9) resolve the type of the parameter

Change-Id: I8c83b86da53b1783cd18c0f765b67ba33da91d72
parent ab5ce2e5
......@@ -747,115 +747,63 @@ TEST_P(VpxSubpelAvgVarianceTest, Ref) { RefTest(); }
INSTANTIATE_TEST_CASE_P(C, SumOfSquaresTest,
::testing::Values(vpx_get_mb_ss_c));
const Get4x4SseFunc get4x4sse_cs_c = vpx_get4x4sse_cs_c;
INSTANTIATE_TEST_CASE_P(C, VpxSseTest,
::testing::Values(make_tuple(2, 2, get4x4sse_cs_c)));
::testing::Values(make_tuple(2, 2,
&vpx_get4x4sse_cs_c)));
const VarianceMxNFunc mse16x16_c = vpx_mse16x16_c;
const VarianceMxNFunc mse16x8_c = vpx_mse16x8_c;
const VarianceMxNFunc mse8x16_c = vpx_mse8x16_c;
const VarianceMxNFunc mse8x8_c = vpx_mse8x8_c;
INSTANTIATE_TEST_CASE_P(C, VpxMseTest,
::testing::Values(make_tuple(4, 4, mse16x16_c),
make_tuple(4, 3, mse16x8_c),
make_tuple(3, 4, mse8x16_c),
make_tuple(3, 3, mse8x8_c)));
const VarianceMxNFunc variance64x64_c = vpx_variance64x64_c;
const VarianceMxNFunc variance64x32_c = vpx_variance64x32_c;
const VarianceMxNFunc variance32x64_c = vpx_variance32x64_c;
const VarianceMxNFunc variance32x32_c = vpx_variance32x32_c;
const VarianceMxNFunc variance32x16_c = vpx_variance32x16_c;
const VarianceMxNFunc variance16x32_c = vpx_variance16x32_c;
const VarianceMxNFunc variance16x16_c = vpx_variance16x16_c;
const VarianceMxNFunc variance16x8_c = vpx_variance16x8_c;
const VarianceMxNFunc variance8x16_c = vpx_variance8x16_c;
const VarianceMxNFunc variance8x8_c = vpx_variance8x8_c;
const VarianceMxNFunc variance8x4_c = vpx_variance8x4_c;
const VarianceMxNFunc variance4x8_c = vpx_variance4x8_c;
const VarianceMxNFunc variance4x4_c = vpx_variance4x4_c;
::testing::Values(make_tuple(4, 4, &vpx_mse16x16_c),
make_tuple(4, 3, &vpx_mse16x8_c),
make_tuple(3, 4, &vpx_mse8x16_c),
make_tuple(3, 3, &vpx_mse8x8_c)));
INSTANTIATE_TEST_CASE_P(
C, VpxVarianceTest,
::testing::Values(make_tuple(6, 6, variance64x64_c, 0),
make_tuple(6, 5, variance64x32_c, 0),
make_tuple(5, 6, variance32x64_c, 0),
make_tuple(5, 5, variance32x32_c, 0),
make_tuple(5, 4, variance32x16_c, 0),
make_tuple(4, 5, variance16x32_c, 0),
make_tuple(4, 4, variance16x16_c, 0),
make_tuple(4, 3, variance16x8_c, 0),
make_tuple(3, 4, variance8x16_c, 0),
make_tuple(3, 3, variance8x8_c, 0),
make_tuple(3, 2, variance8x4_c, 0),
make_tuple(2, 3, variance4x8_c, 0),
make_tuple(2, 2, variance4x4_c, 0)));
const SubpixVarMxNFunc subpel_var64x64_c = vpx_sub_pixel_variance64x64_c;
const SubpixVarMxNFunc subpel_var64x32_c = vpx_sub_pixel_variance64x32_c;
const SubpixVarMxNFunc subpel_var32x64_c = vpx_sub_pixel_variance32x64_c;
const SubpixVarMxNFunc subpel_var32x32_c = vpx_sub_pixel_variance32x32_c;
const SubpixVarMxNFunc subpel_var32x16_c = vpx_sub_pixel_variance32x16_c;
const SubpixVarMxNFunc subpel_var16x32_c = vpx_sub_pixel_variance16x32_c;
const SubpixVarMxNFunc subpel_var16x16_c = vpx_sub_pixel_variance16x16_c;
const SubpixVarMxNFunc subpel_var16x8_c = vpx_sub_pixel_variance16x8_c;
const SubpixVarMxNFunc subpel_var8x16_c = vpx_sub_pixel_variance8x16_c;
const SubpixVarMxNFunc subpel_var8x8_c = vpx_sub_pixel_variance8x8_c;
const SubpixVarMxNFunc subpel_var8x4_c = vpx_sub_pixel_variance8x4_c;
const SubpixVarMxNFunc subpel_var4x8_c = vpx_sub_pixel_variance4x8_c;
const SubpixVarMxNFunc subpel_var4x4_c = vpx_sub_pixel_variance4x4_c;
::testing::Values(make_tuple(6, 6, &vpx_variance64x64_c, 0),
make_tuple(6, 5, &vpx_variance64x32_c, 0),
make_tuple(5, 6, &vpx_variance32x64_c, 0),
make_tuple(5, 5, &vpx_variance32x32_c, 0),
make_tuple(5, 4, &vpx_variance32x16_c, 0),
make_tuple(4, 5, &vpx_variance16x32_c, 0),
make_tuple(4, 4, &vpx_variance16x16_c, 0),
make_tuple(4, 3, &vpx_variance16x8_c, 0),
make_tuple(3, 4, &vpx_variance8x16_c, 0),
make_tuple(3, 3, &vpx_variance8x8_c, 0),
make_tuple(3, 2, &vpx_variance8x4_c, 0),
make_tuple(2, 3, &vpx_variance4x8_c, 0),
make_tuple(2, 2, &vpx_variance4x4_c, 0)));
INSTANTIATE_TEST_CASE_P(
C, VpxSubpelVarianceTest,
::testing::Values(make_tuple(6, 6, subpel_var64x64_c, 0),
make_tuple(6, 5, subpel_var64x32_c, 0),
make_tuple(5, 6, subpel_var32x64_c, 0),
make_tuple(5, 5, subpel_var32x32_c, 0),
make_tuple(5, 4, subpel_var32x16_c, 0),
make_tuple(4, 5, subpel_var16x32_c, 0),
make_tuple(4, 4, subpel_var16x16_c, 0),
make_tuple(4, 3, subpel_var16x8_c, 0),
make_tuple(3, 4, subpel_var8x16_c, 0),
make_tuple(3, 3, subpel_var8x8_c, 0),
make_tuple(3, 2, subpel_var8x4_c, 0),
make_tuple(2, 3, subpel_var4x8_c, 0),
make_tuple(2, 2, subpel_var4x4_c, 0)));
const SubpixAvgVarMxNFunc subpel_avg_var64x64_c =
vpx_sub_pixel_avg_variance64x64_c;
const SubpixAvgVarMxNFunc subpel_avg_var64x32_c =
vpx_sub_pixel_avg_variance64x32_c;
const SubpixAvgVarMxNFunc subpel_avg_var32x64_c =
vpx_sub_pixel_avg_variance32x64_c;
const SubpixAvgVarMxNFunc subpel_avg_var32x32_c =
vpx_sub_pixel_avg_variance32x32_c;
const SubpixAvgVarMxNFunc subpel_avg_var32x16_c =
vpx_sub_pixel_avg_variance32x16_c;
const SubpixAvgVarMxNFunc subpel_avg_var16x32_c =
vpx_sub_pixel_avg_variance16x32_c;
const SubpixAvgVarMxNFunc subpel_avg_var16x16_c =
vpx_sub_pixel_avg_variance16x16_c;
const SubpixAvgVarMxNFunc subpel_avg_var16x8_c =
vpx_sub_pixel_avg_variance16x8_c;
const SubpixAvgVarMxNFunc subpel_avg_var8x16_c =
vpx_sub_pixel_avg_variance8x16_c;
const SubpixAvgVarMxNFunc subpel_avg_var8x8_c = vpx_sub_pixel_avg_variance8x8_c;
const SubpixAvgVarMxNFunc subpel_avg_var8x4_c = vpx_sub_pixel_avg_variance8x4_c;
const SubpixAvgVarMxNFunc subpel_avg_var4x8_c = vpx_sub_pixel_avg_variance4x8_c;
const SubpixAvgVarMxNFunc subpel_avg_var4x4_c = vpx_sub_pixel_avg_variance4x4_c;
::testing::Values(make_tuple(6, 6, &vpx_sub_pixel_variance64x64_c, 0),
make_tuple(6, 5, &vpx_sub_pixel_variance64x32_c, 0),
make_tuple(5, 6, &vpx_sub_pixel_variance32x64_c, 0),
make_tuple(5, 5, &vpx_sub_pixel_variance32x32_c, 0),
make_tuple(5, 4, &vpx_sub_pixel_variance32x16_c, 0),
make_tuple(4, 5, &vpx_sub_pixel_variance16x32_c, 0),
make_tuple(4, 4, &vpx_sub_pixel_variance16x16_c, 0),
make_tuple(4, 3, &vpx_sub_pixel_variance16x8_c, 0),
make_tuple(3, 4, &vpx_sub_pixel_variance8x16_c, 0),
make_tuple(3, 3, &vpx_sub_pixel_variance8x8_c, 0),
make_tuple(3, 2, &vpx_sub_pixel_variance8x4_c, 0),
make_tuple(2, 3, &vpx_sub_pixel_variance4x8_c, 0),
make_tuple(2, 2, &vpx_sub_pixel_variance4x4_c, 0)));
INSTANTIATE_TEST_CASE_P(
C, VpxSubpelAvgVarianceTest,
::testing::Values(make_tuple(6, 6, subpel_avg_var64x64_c, 0),
make_tuple(6, 5, subpel_avg_var64x32_c, 0),
make_tuple(5, 6, subpel_avg_var32x64_c, 0),
make_tuple(5, 5, subpel_avg_var32x32_c, 0),
make_tuple(5, 4, subpel_avg_var32x16_c, 0),
make_tuple(4, 5, subpel_avg_var16x32_c, 0),
make_tuple(4, 4, subpel_avg_var16x16_c, 0),
make_tuple(4, 3, subpel_avg_var16x8_c, 0),
make_tuple(3, 4, subpel_avg_var8x16_c, 0),
make_tuple(3, 3, subpel_avg_var8x8_c, 0),
make_tuple(3, 2, subpel_avg_var8x4_c, 0),
make_tuple(2, 3, subpel_avg_var4x8_c, 0),
make_tuple(2, 2, subpel_avg_var4x4_c, 0)));
::testing::Values(make_tuple(6, 6, &vpx_sub_pixel_avg_variance64x64_c, 0),
make_tuple(6, 5, &vpx_sub_pixel_avg_variance64x32_c, 0),
make_tuple(5, 6, &vpx_sub_pixel_avg_variance32x64_c, 0),
make_tuple(5, 5, &vpx_sub_pixel_avg_variance32x32_c, 0),
make_tuple(5, 4, &vpx_sub_pixel_avg_variance32x16_c, 0),
make_tuple(4, 5, &vpx_sub_pixel_avg_variance16x32_c, 0),
make_tuple(4, 4, &vpx_sub_pixel_avg_variance16x16_c, 0),
make_tuple(4, 3, &vpx_sub_pixel_avg_variance16x8_c, 0),
make_tuple(3, 4, &vpx_sub_pixel_avg_variance8x16_c, 0),
make_tuple(3, 3, &vpx_sub_pixel_avg_variance8x8_c, 0),
make_tuple(3, 2, &vpx_sub_pixel_avg_variance8x4_c, 0),
make_tuple(2, 3, &vpx_sub_pixel_avg_variance4x8_c, 0),
make_tuple(2, 2, &vpx_sub_pixel_avg_variance4x4_c, 0)));
#if CONFIG_VP9_HIGHBITDEPTH
typedef MseTest<VarianceMxNFunc> VpxHBDMseTest;
......@@ -875,1166 +823,531 @@ TEST_P(VpxHBDSubpelVarianceTest, ExtremeRef) { ExtremeRefTest(); }
TEST_P(VpxHBDSubpelAvgVarianceTest, Ref) { RefTest(); }
/* TODO(debargha): This test does not support the highbd version
const VarianceMxNFunc highbd_12_mse16x16_c = vpx_highbd_12_mse16x16_c;
const VarianceMxNFunc highbd_12_mse16x8_c = vpx_highbd_12_mse16x8_c;
const VarianceMxNFunc highbd_12_mse8x16_c = vpx_highbd_12_mse8x16_c;
const VarianceMxNFunc highbd_12_mse8x8_c = vpx_highbd_12_mse8x8_c;
const VarianceMxNFunc highbd_10_mse16x16_c = vpx_highbd_10_mse16x16_c;
const VarianceMxNFunc highbd_10_mse16x8_c = vpx_highbd_10_mse16x8_c;
const VarianceMxNFunc highbd_10_mse8x16_c = vpx_highbd_10_mse8x16_c;
const VarianceMxNFunc highbd_10_mse8x8_c = vpx_highbd_10_mse8x8_c;
const VarianceMxNFunc highbd_8_mse16x16_c = vpx_highbd_8_mse16x16_c;
const VarianceMxNFunc highbd_8_mse16x8_c = vpx_highbd_8_mse16x8_c;
const VarianceMxNFunc highbd_8_mse8x16_c = vpx_highbd_8_mse8x16_c;
const VarianceMxNFunc highbd_8_mse8x8_c = vpx_highbd_8_mse8x8_c;
INSTANTIATE_TEST_CASE_P(
C, VpxHBDMseTest, ::testing::Values(make_tuple(4, 4, highbd_12_mse16x16_c),
make_tuple(4, 4, highbd_12_mse16x8_c),
make_tuple(4, 4, highbd_12_mse8x16_c),
make_tuple(4, 4, highbd_12_mse8x8_c),
make_tuple(4, 4, highbd_10_mse16x16_c),
make_tuple(4, 4, highbd_10_mse16x8_c),
make_tuple(4, 4, highbd_10_mse8x16_c),
make_tuple(4, 4, highbd_10_mse8x8_c),
make_tuple(4, 4, highbd_8_mse16x16_c),
make_tuple(4, 4, highbd_8_mse16x8_c),
make_tuple(4, 4, highbd_8_mse8x16_c),
make_tuple(4, 4, highbd_8_mse8x8_c)));
C, VpxHBDMseTest,
::testing::Values(make_tuple(4, 4, &vpx_highbd_12_mse16x16_c),
make_tuple(4, 4, &vpx_highbd_12_mse16x8_c),
make_tuple(4, 4, &vpx_highbd_12_mse8x16_c),
make_tuple(4, 4, &vpx_highbd_12_mse8x8_c),
make_tuple(4, 4, &vpx_highbd_10_mse16x16_c),
make_tuple(4, 4, &vpx_highbd_10_mse16x8_c),
make_tuple(4, 4, &vpx_highbd_10_mse8x16_c),
make_tuple(4, 4, &vpx_highbd_10_mse8x8_c),
make_tuple(4, 4, &vpx_highbd_8_mse16x16_c),
make_tuple(4, 4, &vpx_highbd_8_mse16x8_c),
make_tuple(4, 4, &vpx_highbd_8_mse8x16_c),
make_tuple(4, 4, &vpx_highbd_8_mse8x8_c)));
*/
const VarianceMxNFunc highbd_12_variance64x64_c = vpx_highbd_12_variance64x64_c;
const VarianceMxNFunc highbd_12_variance64x32_c = vpx_highbd_12_variance64x32_c;
const VarianceMxNFunc highbd_12_variance32x64_c = vpx_highbd_12_variance32x64_c;
const VarianceMxNFunc highbd_12_variance32x32_c = vpx_highbd_12_variance32x32_c;
const VarianceMxNFunc highbd_12_variance32x16_c = vpx_highbd_12_variance32x16_c;
const VarianceMxNFunc highbd_12_variance16x32_c = vpx_highbd_12_variance16x32_c;
const VarianceMxNFunc highbd_12_variance16x16_c = vpx_highbd_12_variance16x16_c;
const VarianceMxNFunc highbd_12_variance16x8_c = vpx_highbd_12_variance16x8_c;
const VarianceMxNFunc highbd_12_variance8x16_c = vpx_highbd_12_variance8x16_c;
const VarianceMxNFunc highbd_12_variance8x8_c = vpx_highbd_12_variance8x8_c;
const VarianceMxNFunc highbd_12_variance8x4_c = vpx_highbd_12_variance8x4_c;
const VarianceMxNFunc highbd_12_variance4x8_c = vpx_highbd_12_variance4x8_c;
const VarianceMxNFunc highbd_12_variance4x4_c = vpx_highbd_12_variance4x4_c;
const VarianceMxNFunc highbd_10_variance64x64_c = vpx_highbd_10_variance64x64_c;
const VarianceMxNFunc highbd_10_variance64x32_c = vpx_highbd_10_variance64x32_c;
const VarianceMxNFunc highbd_10_variance32x64_c = vpx_highbd_10_variance32x64_c;
const VarianceMxNFunc highbd_10_variance32x32_c = vpx_highbd_10_variance32x32_c;
const VarianceMxNFunc highbd_10_variance32x16_c = vpx_highbd_10_variance32x16_c;
const VarianceMxNFunc highbd_10_variance16x32_c = vpx_highbd_10_variance16x32_c;
const VarianceMxNFunc highbd_10_variance16x16_c = vpx_highbd_10_variance16x16_c;
const VarianceMxNFunc highbd_10_variance16x8_c = vpx_highbd_10_variance16x8_c;
const VarianceMxNFunc highbd_10_variance8x16_c = vpx_highbd_10_variance8x16_c;
const VarianceMxNFunc highbd_10_variance8x8_c = vpx_highbd_10_variance8x8_c;
const VarianceMxNFunc highbd_10_variance8x4_c = vpx_highbd_10_variance8x4_c;
const VarianceMxNFunc highbd_10_variance4x8_c = vpx_highbd_10_variance4x8_c;
const VarianceMxNFunc highbd_10_variance4x4_c = vpx_highbd_10_variance4x4_c;
const VarianceMxNFunc highbd_8_variance64x64_c = vpx_highbd_8_variance64x64_c;
const VarianceMxNFunc highbd_8_variance64x32_c = vpx_highbd_8_variance64x32_c;
const VarianceMxNFunc highbd_8_variance32x64_c = vpx_highbd_8_variance32x64_c;
const VarianceMxNFunc highbd_8_variance32x32_c = vpx_highbd_8_variance32x32_c;
const VarianceMxNFunc highbd_8_variance32x16_c = vpx_highbd_8_variance32x16_c;
const VarianceMxNFunc highbd_8_variance16x32_c = vpx_highbd_8_variance16x32_c;
const VarianceMxNFunc highbd_8_variance16x16_c = vpx_highbd_8_variance16x16_c;
const VarianceMxNFunc highbd_8_variance16x8_c = vpx_highbd_8_variance16x8_c;
const VarianceMxNFunc highbd_8_variance8x16_c = vpx_highbd_8_variance8x16_c;
const VarianceMxNFunc highbd_8_variance8x8_c = vpx_highbd_8_variance8x8_c;
const VarianceMxNFunc highbd_8_variance8x4_c = vpx_highbd_8_variance8x4_c;
const VarianceMxNFunc highbd_8_variance4x8_c = vpx_highbd_8_variance4x8_c;
const VarianceMxNFunc highbd_8_variance4x4_c = vpx_highbd_8_variance4x4_c;
INSTANTIATE_TEST_CASE_P(
C, VpxHBDVarianceTest,
::testing::Values(make_tuple(6, 6, highbd_12_variance64x64_c, 12),
make_tuple(6, 5, highbd_12_variance64x32_c, 12),
make_tuple(5, 6, highbd_12_variance32x64_c, 12),
make_tuple(5, 5, highbd_12_variance32x32_c, 12),
make_tuple(5, 4, highbd_12_variance32x16_c, 12),
make_tuple(4, 5, highbd_12_variance16x32_c, 12),
make_tuple(4, 4, highbd_12_variance16x16_c, 12),
make_tuple(4, 3, highbd_12_variance16x8_c, 12),
make_tuple(3, 4, highbd_12_variance8x16_c, 12),
make_tuple(3, 3, highbd_12_variance8x8_c, 12),
make_tuple(3, 2, highbd_12_variance8x4_c, 12),
make_tuple(2, 3, highbd_12_variance4x8_c, 12),
make_tuple(2, 2, highbd_12_variance4x4_c, 12),
make_tuple(6, 6, highbd_10_variance64x64_c, 10),
make_tuple(6, 5, highbd_10_variance64x32_c, 10),
make_tuple(5, 6, highbd_10_variance32x64_c, 10),
make_tuple(5, 5, highbd_10_variance32x32_c, 10),
make_tuple(5, 4, highbd_10_variance32x16_c, 10),
make_tuple(4, 5, highbd_10_variance16x32_c, 10),
make_tuple(4, 4, highbd_10_variance16x16_c, 10),
make_tuple(4, 3, highbd_10_variance16x8_c, 10),
make_tuple(3, 4, highbd_10_variance8x16_c, 10),
make_tuple(3, 3, highbd_10_variance8x8_c, 10),
make_tuple(3, 2, highbd_10_variance8x4_c, 10),
make_tuple(2, 3, highbd_10_variance4x8_c, 10),
make_tuple(2, 2, highbd_10_variance4x4_c, 10),
make_tuple(6, 6, highbd_8_variance64x64_c, 8),
make_tuple(6, 5, highbd_8_variance64x32_c, 8),
make_tuple(5, 6, highbd_8_variance32x64_c, 8),
make_tuple(5, 5, highbd_8_variance32x32_c, 8),
make_tuple(5, 4, highbd_8_variance32x16_c, 8),
make_tuple(4, 5, highbd_8_variance16x32_c, 8),
make_tuple(4, 4, highbd_8_variance16x16_c, 8),
make_tuple(4, 3, highbd_8_variance16x8_c, 8),
make_tuple(3, 4, highbd_8_variance8x16_c, 8),
make_tuple(3, 3, highbd_8_variance8x8_c, 8),
make_tuple(3, 2, highbd_8_variance8x4_c, 8),
make_tuple(2, 3, highbd_8_variance4x8_c, 8),
make_tuple(2, 2, highbd_8_variance4x4_c, 8)));
const SubpixVarMxNFunc highbd_8_subpel_var64x64_c =
vpx_highbd_8_sub_pixel_variance64x64_c;
const SubpixVarMxNFunc highbd_8_subpel_var64x32_c =
vpx_highbd_8_sub_pixel_variance64x32_c;
const SubpixVarMxNFunc highbd_8_subpel_var32x64_c =
vpx_highbd_8_sub_pixel_variance32x64_c;
const SubpixVarMxNFunc highbd_8_subpel_var32x32_c =
vpx_highbd_8_sub_pixel_variance32x32_c;
const SubpixVarMxNFunc highbd_8_subpel_var32x16_c =
vpx_highbd_8_sub_pixel_variance32x16_c;
const SubpixVarMxNFunc highbd_8_subpel_var16x32_c =
vpx_highbd_8_sub_pixel_variance16x32_c;
const SubpixVarMxNFunc highbd_8_subpel_var16x16_c =
vpx_highbd_8_sub_pixel_variance16x16_c;
const SubpixVarMxNFunc highbd_8_subpel_var16x8_c =
vpx_highbd_8_sub_pixel_variance16x8_c;
const SubpixVarMxNFunc highbd_8_subpel_var8x16_c =
vpx_highbd_8_sub_pixel_variance8x16_c;
const SubpixVarMxNFunc highbd_8_subpel_var8x8_c =
vpx_highbd_8_sub_pixel_variance8x8_c;
const SubpixVarMxNFunc highbd_8_subpel_var8x4_c =
vpx_highbd_8_sub_pixel_variance8x4_c;
const SubpixVarMxNFunc highbd_8_subpel_var4x8_c =
vpx_highbd_8_sub_pixel_variance4x8_c;
const SubpixVarMxNFunc highbd_8_subpel_var4x4_c =
vpx_highbd_8_sub_pixel_variance4x4_c;
const SubpixVarMxNFunc highbd_10_subpel_var64x64_c =
vpx_highbd_10_sub_pixel_variance64x64_c;
const SubpixVarMxNFunc highbd_10_subpel_var64x32_c =
vpx_highbd_10_sub_pixel_variance64x32_c;
const SubpixVarMxNFunc highbd_10_subpel_var32x64_c =
vpx_highbd_10_sub_pixel_variance32x64_c;
const SubpixVarMxNFunc highbd_10_subpel_var32x32_c =
vpx_highbd_10_sub_pixel_variance32x32_c;
const SubpixVarMxNFunc highbd_10_subpel_var32x16_c =
vpx_highbd_10_sub_pixel_variance32x16_c;
const SubpixVarMxNFunc highbd_10_subpel_var16x32_c =
vpx_highbd_10_sub_pixel_variance16x32_c;
const SubpixVarMxNFunc highbd_10_subpel_var16x16_c =
vpx_highbd_10_sub_pixel_variance16x16_c;
const SubpixVarMxNFunc highbd_10_subpel_var16x8_c =
vpx_highbd_10_sub_pixel_variance16x8_c;
const SubpixVarMxNFunc highbd_10_subpel_var8x16_c =
vpx_highbd_10_sub_pixel_variance8x16_c;
const SubpixVarMxNFunc highbd_10_subpel_var8x8_c =
vpx_highbd_10_sub_pixel_variance8x8_c;
const SubpixVarMxNFunc highbd_10_subpel_var8x4_c =
vpx_highbd_10_sub_pixel_variance8x4_c;
const SubpixVarMxNFunc highbd_10_subpel_var4x8_c =
vpx_highbd_10_sub_pixel_variance4x8_c;
const SubpixVarMxNFunc highbd_10_subpel_var4x4_c =
vpx_highbd_10_sub_pixel_variance4x4_c;
const SubpixVarMxNFunc highbd_12_subpel_var64x64_c =
vpx_highbd_12_sub_pixel_variance64x64_c;
const SubpixVarMxNFunc highbd_12_subpel_var64x32_c =
vpx_highbd_12_sub_pixel_variance64x32_c;
const SubpixVarMxNFunc highbd_12_subpel_var32x64_c =
vpx_highbd_12_sub_pixel_variance32x64_c;
const SubpixVarMxNFunc highbd_12_subpel_var32x32_c =
vpx_highbd_12_sub_pixel_variance32x32_c;
const SubpixVarMxNFunc highbd_12_subpel_var32x16_c =
vpx_highbd_12_sub_pixel_variance32x16_c;
const SubpixVarMxNFunc highbd_12_subpel_var16x32_c =
vpx_highbd_12_sub_pixel_variance16x32_c;
const SubpixVarMxNFunc highbd_12_subpel_var16x16_c =
vpx_highbd_12_sub_pixel_variance16x16_c;
const SubpixVarMxNFunc highbd_12_subpel_var16x8_c =
vpx_highbd_12_sub_pixel_variance16x8_c;
const SubpixVarMxNFunc highbd_12_subpel_var8x16_c =
vpx_highbd_12_sub_pixel_variance8x16_c;
const SubpixVarMxNFunc highbd_12_subpel_var8x8_c =
vpx_highbd_12_sub_pixel_variance8x8_c;
const SubpixVarMxNFunc highbd_12_subpel_var8x4_c =
vpx_highbd_12_sub_pixel_variance8x4_c;
const SubpixVarMxNFunc highbd_12_subpel_var4x8_c =
vpx_highbd_12_sub_pixel_variance4x8_c;
const SubpixVarMxNFunc highbd_12_subpel_var4x4_c =
vpx_highbd_12_sub_pixel_variance4x4_c;
::testing::Values(make_tuple(6, 6, &vpx_highbd_12_variance64x64_c, 12),
make_tuple(6, 5, &vpx_highbd_12_variance64x32_c, 12),
make_tuple(5, 6, &vpx_highbd_12_variance32x64_c, 12),
make_tuple(5, 5, &vpx_highbd_12_variance32x32_c, 12),
make_tuple(5, 4, &vpx_highbd_12_variance32x16_c, 12),
make_tuple(4, 5, &vpx_highbd_12_variance16x32_c, 12),
make_tuple(4, 4, &vpx_highbd_12_variance16x16_c, 12),
make_tuple(4, 3, &vpx_highbd_12_variance16x8_c, 12),
make_tuple(3, 4, &vpx_highbd_12_variance8x16_c, 12),
make_tuple(3, 3, &vpx_highbd_12_variance8x8_c, 12),
make_tuple(3, 2, &vpx_highbd_12_variance8x4_c, 12),
make_tuple(2, 3, &vpx_highbd_12_variance4x8_c, 12),
make_tuple(2, 2, &vpx_highbd_12_variance4x4_c, 12),
make_tuple(6, 6, &vpx_highbd_10_variance64x64_c, 10),
make_tuple(6, 5, &vpx_highbd_10_variance64x32_c, 10),
make_tuple(5, 6, &vpx_highbd_10_variance32x64_c, 10),
make_tuple(5, 5, &vpx_highbd_10_variance32x32_c, 10),
make_tuple(5, 4, &vpx_highbd_10_variance32x16_c, 10),
make_tuple(4, 5, &vpx_highbd_10_variance16x32_c, 10),
make_tuple(4, 4, &vpx_highbd_10_variance16x16_c, 10),
make_tuple(4, 3, &vpx_highbd_10_variance16x8_c, 10),
make_tuple(3, 4, &vpx_highbd_10_variance8x16_c, 10),
make_tuple(3, 3, &vpx_highbd_10_variance8x8_c, 10),
make_tuple(3, 2, &vpx_highbd_10_variance8x4_c, 10),
make_tuple(2, 3, &vpx_highbd_10_variance4x8_c, 10),
make_tuple(2, 2, &vpx_highbd_10_variance4x4_c, 10),
make_tuple(6, 6, &vpx_highbd_8_variance64x64_c, 8),
make_tuple(6, 5, &vpx_highbd_8_variance64x32_c, 8),
make_tuple(5, 6, &vpx_highbd_8_variance32x64_c, 8),
make_tuple(5, 5, &vpx_highbd_8_variance32x32_c, 8),
make_tuple(5, 4, &vpx_highbd_8_variance32x16_c, 8),
make_tuple(4, 5, &vpx_highbd_8_variance16x32_c, 8),
make_tuple(4, 4, &vpx_highbd_8_variance16x16_c, 8),
make_tuple(4, 3, &vpx_highbd_8_variance16x8_c, 8),
make_tuple(3, 4, &vpx_highbd_8_variance8x16_c, 8),
make_tuple(3, 3, &vpx_highbd_8_variance8x8_c, 8),
make_tuple(3, 2, &vpx_highbd_8_variance8x4_c, 8),
make_tuple(2, 3, &vpx_highbd_8_variance4x8_c, 8),
make_tuple(2, 2, &vpx_highbd_8_variance4x4_c, 8)));
INSTANTIATE_TEST_CASE_P(
C, VpxHBDSubpelVarianceTest,
::testing::Values(make_tuple(6, 6, highbd_8_subpel_var64x64_c, 8),
make_tuple(6, 5, highbd_8_subpel_var64x32_c, 8),
make_tuple(5, 6, highbd_8_subpel_var32x64_c, 8),
make_tuple(5, 5, highbd_8_subpel_var32x32_c, 8),
make_tuple(5, 4, highbd_8_subpel_var32x16_c, 8),
make_tuple(4, 5, highbd_8_subpel_var16x32_c, 8),
make_tuple(4, 4, highbd_8_subpel_var16x16_c, 8),
make_tuple(4, 3, highbd_8_subpel_var16x8_c, 8),
make_tuple(3, 4, highbd_8_subpel_var8x16_c, 8),
make_tuple(3, 3, highbd_8_subpel_var8x8_c, 8),
make_tuple(3, 2, highbd_8_subpel_var8x4_c, 8),
make_tuple(2, 3, highbd_8_subpel_var4x8_c, 8),
make_tuple(2, 2, highbd_8_subpel_var4x4_c, 8),
make_tuple(6, 6, highbd_10_subpel_var64x64_c, 10),
make_tuple(6, 5, highbd_10_subpel_var64x32_c, 10),
make_tuple(5, 6, highbd_10_subpel_var32x64_c, 10),
make_tuple(5, 5, highbd_10_subpel_var32x32_c, 10),
make_tuple(5, 4, highbd_10_subpel_var32x16_c, 10),
make_tuple(4, 5, highbd_10_subpel_var16x32_c, 10),
make_tuple(4, 4, highbd_10_subpel_var16x16_c, 10),
make_tuple(4, 3, highbd_10_subpel_var16x8_c, 10),
make_tuple(3, 4, highbd_10_subpel_var8x16_c, 10),
make_tuple(3, 3, highbd_10_subpel_var8x8_c, 10),
make_tuple(3, 2, highbd_10_subpel_var8x4_c, 10),
make_tuple(2, 3, highbd_10_subpel_var4x8_c, 10),
make_tuple(2, 2, highbd_10_subpel_var4x4_c, 10),
make_tuple(6, 6, highbd_12_subpel_var64x64_c, 12),
make_tuple(6, 5, highbd_12_subpel_var64x32_c, 12),
make_tuple(5, 6, highbd_12_subpel_var32x64_c, 12),
make_tuple(5, 5, highbd_12_subpel_var32x32_c, 12),
make_tuple(5, 4, highbd_12_subpel_var32x16_c, 12),
make_tuple(4, 5, highbd_12_subpel_var16x32_c, 12),
make_tuple(4, 4, highbd_12_subpel_var16x16_c, 12),
make_tuple(4, 3, highbd_12_subpel_var16x8_c, 12),
make_tuple(3, 4, highbd_12_subpel_var8x16_c, 12),
make_tuple(3, 3, highbd_12_subpel_var8x8_c, 12),
make_tuple(3, 2, highbd_12_subpel_var8x4_c, 12),
make_tuple(2, 3, highbd_12_subpel_var4x8_c, 12),
make_tuple(2, 2, highbd_12_subpel_var4x4_c, 12)));
const SubpixAvgVarMxNFunc highbd_8_subpel_avg_var64x64_c =
vpx_highbd_8_sub_pixel_avg_variance64x64_c;
const SubpixAvgVarMxNFunc highbd_8_subpel_avg_var64x32_c =
vpx_highbd_8_sub_pixel_avg_variance64x32_c;
const SubpixAvgVarMxNFunc highbd_8_subpel_avg_var32x64_c =
vpx_highbd_8_sub_pixel_avg_variance32x64_c;
const SubpixAvgVarMxNFunc highbd_8_subpel_avg_var32x32_c =
vpx_highbd_8_sub_pixel_avg_variance32x32_c;
const SubpixAvgVarMxNFunc highbd_8_subpel_avg_var32x16_c =
vpx_highbd_8_sub_pixel_avg_variance32x16_c;
const SubpixAvgVarMxNFunc highbd_8_subpel_avg_var16x32_c =
vpx_highbd_8_sub_pixel_avg_variance16x32_c;
const SubpixAvgVarMxNFunc highbd_8_subpel_avg_var16x16_c =
vpx_highbd_8_sub_pixel_avg_variance16x16_c;
const SubpixAvgVarMxNFunc highbd_8_subpel_avg_var16x8_c =
vpx_highbd_8_sub_pixel_avg_variance16x8_c;
const SubpixAvgVarMxNFunc highbd_8_subpel_avg_var8x16_c =
vpx_highbd_8_sub_pixel_avg_variance8x16_c;
const SubpixAvgVarMxNFunc highbd_8_subpel_avg_var8x8_c =
vpx_highbd_8_sub_pixel_avg_variance8x8_c;
const SubpixAvgVarMxNFunc highbd_8_subpel_avg_var8x4_c =
vpx_highbd_8_sub_pixel_avg_variance8x4_c;
const SubpixAvgVarMxNFunc highbd_8_subpel_avg_var4x8_c =
vpx_highbd_8_sub_pixel_avg_variance4x8_c;
const SubpixAvgVarMxNFunc highbd_8_subpel_avg_var4x4_c =
vpx_highbd_8_sub_pixel_avg_variance4x4_c;
const SubpixAvgVarMxNFunc highbd_10_subpel_avg_var64x64_c =
vpx_highbd_10_sub_pixel_avg_variance64x64_c;
const SubpixAvgVarMxNFunc highbd_10_subpel_avg_var64x32_c =
vpx_highbd_10_sub_pixel_avg_variance64x32_c;
const SubpixAvgVarMxNFunc highbd_10_subpel_avg_var32x64_c =
vpx_highbd_10_sub_pixel_avg_variance32x64_c;
const SubpixAvgVarMxNFunc highbd_10_subpel_avg_var32x32_c =
vpx_highbd_10_sub_pixel_avg_variance32x32_c;
const SubpixAvgVarMxNFunc highbd_10_subpel_avg_var32x16_c =
vpx_highbd_10_sub_pixel_avg_variance32x16_c;
const SubpixAvgVarMxNFunc highbd_10_subpel_avg_var16x32_c =
vpx_highbd_10_sub_pixel_avg_variance16x32_c;
const SubpixAvgVarMxNFunc highbd_10_subpel_avg_var16x16_c =
vpx_highbd_10_sub_pixel_avg_variance16x16_c;
const SubpixAvgVarMxNFunc highbd_10_subpel_avg_var16x8_c =
vpx_highbd_10_sub_pixel_avg_variance16x8_c;
const SubpixAvgVarMxNFunc highbd_10_subpel_avg_var8x16_c =
vpx_highbd_10_sub_pixel_avg_variance8x16_c;
const SubpixAvgVarMxNFunc highbd_10_subpel_avg_var8x8_c =
vpx_highbd_10_sub_pixel_avg_variance8x8_c;
const SubpixAvgVarMxNFunc highbd_10_subpel_avg_var8x4_c =
vpx_highbd_10_sub_pixel_avg_variance8x4_c;
const SubpixAvgVarMxNFunc highbd_10_subpel_avg_var4x8_c =
vpx_highbd_10_sub_pixel_avg_variance4x8_c;
const SubpixAvgVarMxNFunc highbd_10_subpel_avg_var4x4_c =
vpx_highbd_10_sub_pixel_avg_variance4x4_c;
const SubpixAvgVarMxNFunc highbd_12_subpel_avg_var64x64_c =
vpx_highbd_12_sub_pixel_avg_variance64x64_c;
const SubpixAvgVarMxNFunc highbd_12_subpel_avg_var64x32_c =
vpx_highbd_12_sub_pixel_avg_variance64x32_c;
const SubpixAvgVarMxNFunc highbd_12_subpel_avg_var32x64_c =
vpx_highbd_12_sub_pixel_avg_variance32x64_c;
const SubpixAvgVarMxNFunc highbd_12_subpel_avg_var32x32_c =
vpx_highbd_12_sub_pixel_avg_variance32x32_c;
const SubpixAvgVarMxNFunc highbd_12_subpel_avg_var32x16_c =
vpx_highbd_12_sub_pixel_avg_variance32x16_c;
const SubpixAvgVarMxNFunc highbd_12_subpel_avg_var16x32_c =
vpx_highbd_12_sub_pixel_avg_variance16x32_c;
const SubpixAvgVarMxNFunc highbd_12_subpel_avg_var16x16_c =
vpx_highbd_12_sub_pixel_avg_variance16x16_c;
const SubpixAvgVarMxNFunc highbd_12_subpel_avg_var16x8_c =
vpx_highbd_12_sub_pixel_avg_variance16x8_c;
const SubpixAvgVarMxNFunc highbd_12_subpel_avg_var8x16_c =
vpx_highbd_12_sub_pixel_avg_variance8x16_c;
const SubpixAvgVarMxNFunc highbd_12_subpel_avg_var8x8_c =
vpx_highbd_12_sub_pixel_avg_variance8x8_c;
const SubpixAvgVarMxNFunc highbd_12_subpel_avg_var8x4_c =
vpx_highbd_12_sub_pixel_avg_variance8x4_c;
const SubpixAvgVarMxNFunc highbd_12_subpel_avg_var4x8_c =
vpx_highbd_12_sub_pixel_avg_variance4x8_c;
const SubpixAvgVarMxNFunc highbd_12_subpel_avg_var4x4_c =
vpx_highbd_12_sub_pixel_avg_variance4x4_c;
::testing::Values(
make_tuple(6, 6, &vpx_highbd_8_sub_pixel_variance64x64_c, 8),
make_tuple(6, 5, &vpx_highbd_8_sub_pixel_variance64x32_c, 8),
make_tuple(5, 6, &vpx_highbd_8_sub_pixel_variance32x64_c, 8),
make_tuple(5, 5, &vpx_highbd_8_sub_pixel_variance32x32_c, 8),
make_tuple(5, 4, &vpx_highbd_8_sub_pixel_variance32x16_c, 8),
make_tuple(4, 5, &vpx_highbd_8_sub_pixel_variance16x32_c, 8),
make_tuple(4, 4, &vpx_highbd_8_sub_pixel_variance16x16_c, 8),
make_tuple(4, 3, &vpx_highbd_8_sub_pixel_variance16x8_c, 8),
make_tuple(3, 4, &vpx_highbd_8_sub_pixel_variance8x16_c, 8),
make_tuple(3, 3, &vpx_highbd_8_sub_pixel_variance8x8_c, 8),
make_tuple(3, 2, &vpx_highbd_8_sub_pixel_variance8x4_c, 8),
make_tuple(2, 3, &vpx_highbd_8_sub_pixel_variance4x8_c, 8),
make_tuple(2, 2, &vpx_highbd_8_sub_pixel_variance4x4_c, 8),
make_tuple(6, 6, &vpx_highbd_10_sub_pixel_variance64x64_c, 10),
make_tuple(6, 5, &vpx_highbd_10_sub_pixel_variance64x32_c, 10),
make_tuple(5, 6, &vpx_highbd_10_sub_pixel_variance32x64_c, 10),
make_tuple(5, 5, &vpx_highbd_10_sub_pixel_variance32x32_c, 10),
make_tuple(5, 4, &vpx_highbd_10_sub_pixel_variance32x16_c, 10),
make_tuple(4, 5, &vpx_highbd_10_sub_pixel_variance16x32_c, 10),
make_tuple(4, 4, &vpx_highbd_10_sub_pixel_variance16x16_c, 10),
make_tuple(4, 3, &vpx_highbd_10_sub_pixel_variance16x8_c, 10),
make_tuple(3, 4, &vpx_highbd_10_sub_pixel_variance8x16_c, 10),
make_tuple(3, 3, &vpx_highbd_10_sub_pixel_variance8x8_c, 10),
make_tuple(3, 2, &vpx_highbd_10_sub_pixel_variance8x4_c, 10),
make_tuple(2, 3, &vpx_highbd_10_sub_pixel_variance4x8_c, 10),
make_tuple(2, 2, &vpx_highbd_10_sub_pixel_variance4x4_c, 10),
make_tuple(6, 6, &vpx_highbd_12_sub_pixel_variance64x64_c, 12),
make_tuple(6, 5, &vpx_highbd_12_sub_pixel_variance64x32_c, 12),
make_tuple(5, 6, &vpx_highbd_12_sub_pixel_variance32x64_c, 12),
make_tuple(5, 5, &vpx_highbd_12_sub_pixel_variance32x32_c, 12),
make_tuple(5, 4, &vpx_highbd_12_sub_pixel_variance32x16_c, 12),
make_tuple(4, 5, &vpx_highbd_12_sub_pixel_variance16x32_c, 12),
make_tuple(4, 4, &vpx_highbd_12_sub_pixel_variance16x16_c, 12),
make_tuple(4, 3, &vpx_highbd_12_sub_pixel_variance16x8_c, 12),
make_tuple(3, 4, &vpx_highbd_12_sub_pixel_variance8x16_c, 12),
make_tuple(3, 3, &vpx_highbd_12_sub_pixel_variance8x8_c, 12),
make_tuple(3, 2, &vpx_highbd_12_sub_pixel_variance8x4_c, 12),
make_tuple(2, 3, &vpx_highbd_12_sub_pixel_variance4x8_c, 12),
make_tuple(2, 2, &vpx_highbd_12_sub_pixel_variance4x4_c, 12)));
INSTANTIATE_TEST_CASE_P(
C, VpxHBDSubpelAvgVarianceTest,
::testing::Values(
make_tuple(6, 6, highbd_8_subpel_avg_var64x64_c, 8),
make_tuple(6, 5, highbd_8_subpel_avg_var64x32_c, 8),
make_tuple(5, 6, highbd_8_subpel_avg_var32x64_c, 8),
make_tuple(5, 5, highbd_8_subpel_avg_var32x32_c, 8),
make_tuple(5, 4, highbd_8_subpel_avg_var32x16_c, 8),
make_tuple(4, 5, highbd_8_subpel_avg_var16x32_c, 8),
make_tuple(4, 4, highbd_8_subpel_avg_var16x16_c, 8),
make_tuple(4, 3, highbd_8_subpel_avg_var16x8_c, 8),
make_tuple(3, 4, highbd_8_subpel_avg_var8x16_c, 8),
make_tuple(3, 3, highbd_8_subpel_avg_var8x8_c, 8),
make_tuple(3, 2, highbd_8_subpel_avg_var8x4_c, 8),
make_tuple(2, 3, highbd_8_sub