Commit c6a48a25 authored by Sebastien Alaiwan's avatar Sebastien Alaiwan Committed by sebastien alaiwan

Drop support for CONFIG_EMULATE_HARDWARE

This experiment complexifies DSP function dispatch, without bringing
any real value (it's non-normative arbitrary behaviour).
Moreover, it only has an effect on obsolete transforms, the new ones
don't implement this mechanism.

Change-Id: Idaccdd0c14ed6b7008cd4f365c7f017ba8ccacf5
parent 28744309
......@@ -407,8 +407,6 @@ if ((aom_config("CONFIG_AV1_ENCODER") eq "yes") || (aom_config("CONFIG_PVQ") eq
# Inverse transform
if (aom_config("CONFIG_AV1") eq "yes") {
if (aom_config("CONFIG_HIGHBITDEPTH") eq "yes") {
# Note as optimized versions of these functions are added we need to add a check to ensure
# that when CONFIG_EMULATE_HARDWARE is on, it defaults to the C versions only.
add_proto qw/void aom_iwht4x4_1_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
add_proto qw/void aom_iwht4x4_16_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
......@@ -430,42 +428,7 @@ if (aom_config("CONFIG_HIGHBITDEPTH") eq "yes") {
add_proto qw/void aom_highbd_iwht4x4_16_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int bd";
# Force C versions if CONFIG_EMULATE_HARDWARE is 1
if (aom_config("CONFIG_EMULATE_HARDWARE") eq "yes") {
add_proto qw/void aom_idct4x4_16_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
add_proto qw/void aom_idct4x4_1_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
add_proto qw/void aom_idct8x8_64_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
add_proto qw/void aom_idct8x8_12_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
add_proto qw/void aom_idct8x8_1_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
add_proto qw/void aom_idct16x16_256_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
add_proto qw/void aom_idct16x16_10_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
add_proto qw/void aom_idct16x16_1_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
add_proto qw/void aom_idct32x32_1024_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
add_proto qw/void aom_idct32x32_135_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
add_proto qw/void aom_idct32x32_34_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
add_proto qw/void aom_idct32x32_1_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
add_proto qw/void aom_highbd_idct4x4_16_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int bd";
add_proto qw/void aom_highbd_idct8x8_64_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int bd";
add_proto qw/void aom_highbd_idct8x8_10_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int bd";
add_proto qw/void aom_highbd_idct16x16_256_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int bd";
add_proto qw/void aom_highbd_idct16x16_10_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int bd";
} else {
{
add_proto qw/void aom_idct4x4_16_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
specialize qw/aom_idct4x4_16_add sse2/;
......@@ -518,38 +481,9 @@ if (aom_config("CONFIG_HIGHBITDEPTH") eq "yes") {
add_proto qw/void aom_highbd_idct16x16_10_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int bd";
specialize qw/aom_highbd_idct16x16_10_add sse2/;
} # CONFIG_EMULATE_HARDWARE
}
} else {
# Force C versions if CONFIG_EMULATE_HARDWARE is 1
if (aom_config("CONFIG_EMULATE_HARDWARE") eq "yes") {
add_proto qw/void aom_idct4x4_1_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
add_proto qw/void aom_idct4x4_16_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
add_proto qw/void aom_idct8x8_1_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
add_proto qw/void aom_idct8x8_64_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
add_proto qw/void aom_idct8x8_12_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
add_proto qw/void aom_idct16x16_1_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
add_proto qw/void aom_idct16x16_256_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
add_proto qw/void aom_idct16x16_10_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
add_proto qw/void aom_idct32x32_1024_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
add_proto qw/void aom_idct32x32_135_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
add_proto qw/void aom_idct32x32_34_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
add_proto qw/void aom_idct32x32_1_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
add_proto qw/void aom_iwht4x4_1_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
add_proto qw/void aom_iwht4x4_16_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
} else {
{
add_proto qw/void aom_idct4x4_1_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
specialize qw/aom_idct4x4_1_add sse2 neon dspr2 msa/;
......@@ -598,7 +532,7 @@ if (aom_config("CONFIG_HIGHBITDEPTH") eq "yes") {
add_proto qw/void aom_iwht4x4_16_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride";
specialize qw/aom_iwht4x4_16_add msa sse2/;
} # CONFIG_EMULATE_HARDWARE
}
} # CONFIG_HIGHBITDEPTH
} # CONFIG_AV1
......
......@@ -50,37 +50,10 @@ static INLINE tran_high_t check_range(tran_high_t input, int bd) {
return input;
}
#if CONFIG_EMULATE_HARDWARE
// When CONFIG_EMULATE_HARDWARE is 1 the transform performs a
// non-normative method to handle overflows. A stream that causes
// overflows in the inverse transform is considered invalid,
// and a hardware implementer is free to choose any reasonable
// method to handle overflows. However to aid in hardware
// verification they can use a specific implementation of the
// WRAPLOW() macro below that is identical to their intended
// hardware implementation (and also use configure options to trigger
// the C-implementation of the transform).
//
// The particular WRAPLOW implementation below performs strict
// overflow wrapping to match common hardware implementations.
// bd of 8 uses trans_low with 16bits, need to remove 16bits
// bd of 10 uses trans_low with 18bits, need to remove 14bits
// bd of 12 uses trans_low with 20bits, need to remove 12bits
// bd of x uses trans_low with 8+x bits, need to remove 24-x bits
#define WRAPLOW(x) ((((int32_t)check_range(x, 8)) << 16) >> 16)
#if CONFIG_HIGHBITDEPTH
#define HIGHBD_WRAPLOW(x, bd) \
((((int32_t)check_range((x), bd)) << (24 - bd)) >> (24 - bd))
#endif // CONFIG_HIGHBITDEPTH
#else // CONFIG_EMULATE_HARDWARE
#define WRAPLOW(x) ((int32_t)check_range(x, 8))
#if CONFIG_HIGHBITDEPTH
#define HIGHBD_WRAPLOW(x, bd) ((int32_t)check_range((x), bd))
#endif // CONFIG_HIGHBITDEPTH
#endif // CONFIG_EMULATE_HARDWARE
void aom_idct4_c(const tran_low_t *input, tran_low_t *output);
void aom_idct8_c(const tran_low_t *input, tran_low_t *output);
......
......@@ -62,35 +62,7 @@ if (aom_config("CONFIG_HIGHBITDEPTH") eq "yes") {
# Inverse dct
#
if (aom_config("CONFIG_HIGHBITDEPTH") eq "yes") {
# Note as optimized versions of these functions are added we need to add a check to ensure
# that when CONFIG_EMULATE_HARDWARE is on, it defaults to the C versions only.
if (aom_config("CONFIG_EMULATE_HARDWARE") eq "yes") {
add_proto qw/void av1_iht4x4_16_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
add_proto qw/void av1_iht4x8_32_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
add_proto qw/void av1_iht8x4_32_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
add_proto qw/void av1_iht8x16_128_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
add_proto qw/void av1_iht16x8_128_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
add_proto qw/void av1_iht16x32_512_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
add_proto qw/void av1_iht32x16_512_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
add_proto qw/void av1_iht4x16_64_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
add_proto qw/void av1_iht16x4_64_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
add_proto qw/void av1_iht8x32_256_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
add_proto qw/void av1_iht32x8_256_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
add_proto qw/void av1_iht8x8_64_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
add_proto qw/void av1_iht16x16_256_add/, "const tran_low_t *input, uint8_t *output, int pitch, int tx_type";
} else {
{
add_proto qw/void av1_iht4x4_16_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
specialize qw/av1_iht4x4_16_add sse2/;
......@@ -129,37 +101,7 @@ if (aom_config("CONFIG_HIGHBITDEPTH") eq "yes") {
add_proto qw/void av1_iht32x32_1024_add/, "const tran_low_t *input, uint8_t *output, int pitch, int tx_type";
}
} else {
# Force C versions if CONFIG_EMULATE_HARDWARE is 1
if (aom_config("CONFIG_EMULATE_HARDWARE") eq "yes") {
add_proto qw/void av1_iht4x4_16_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
add_proto qw/void av1_iht4x8_32_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
add_proto qw/void av1_iht8x4_32_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
add_proto qw/void av1_iht8x16_128_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
add_proto qw/void av1_iht16x8_128_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
add_proto qw/void av1_iht16x32_512_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
add_proto qw/void av1_iht32x16_512_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
add_proto qw/void av1_iht4x16_64_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
add_proto qw/void av1_iht16x4_64_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
add_proto qw/void av1_iht8x32_256_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
add_proto qw/void av1_iht32x8_256_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
add_proto qw/void av1_iht8x8_64_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
add_proto qw/void av1_iht16x16_256_add/, "const tran_low_t *input, uint8_t *output, int pitch, int tx_type";
add_proto qw/void av1_iht32x32_1024_add/, "const tran_low_t *input, uint8_t *output, int pitch, int tx_type";
} else {
{
add_proto qw/void av1_iht4x4_16_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type";
specialize qw/av1_iht4x4_16_add sse2 neon dspr2/;
......@@ -284,8 +226,6 @@ if (aom_config("CONFIG_HIGHBITDEPTH") eq "yes") {
#
# dct
#
# Note as optimized versions of these functions are added we need to add a check to ensure
# that when CONFIG_EMULATE_HARDWARE is on, it defaults to the C versions only.
add_proto qw/void av1_highbd_iht4x4_16_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type, int bd";
add_proto qw/void av1_highbd_iht4x8_32_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type, int bd";
......
......@@ -72,7 +72,6 @@ CONFIG_EXPERIMENTAL equ ${CONFIG_EXPERIMENTAL}
CONFIG_SIZE_LIMIT equ ${CONFIG_SIZE_LIMIT}
CONFIG_AOM_QM equ ${CONFIG_AOM_QM}
CONFIG_FP_MB_STATS equ ${CONFIG_FP_MB_STATS}
CONFIG_EMULATE_HARDWARE equ ${CONFIG_EMULATE_HARDWARE}
CONFIG_CDEF equ ${CONFIG_CDEF}
CONFIG_VAR_TX equ ${CONFIG_VAR_TX}
CONFIG_RECT_TX equ ${CONFIG_RECT_TX}
......
......@@ -89,7 +89,6 @@
#define CONFIG_SIZE_LIMIT ${CONFIG_SIZE_LIMIT}
#define CONFIG_AOM_QM ${CONFIG_AOM_QM}
#define CONFIG_FP_MB_STATS ${CONFIG_FP_MB_STATS}
#define CONFIG_EMULATE_HARDWARE ${CONFIG_EMULATE_HARDWARE}
#define CONFIG_CDEF ${CONFIG_CDEF}
#define CONFIG_VAR_TX ${CONFIG_VAR_TX}
#define CONFIG_RECT_TX ${CONFIG_RECT_TX}
......
......@@ -89,7 +89,6 @@ set(CONFIG_EXPERIMENTAL 0 CACHE BOOL "Internal flag.")
set(CONFIG_SIZE_LIMIT 0 CACHE BOOL "Internal flag.")
set(CONFIG_AOM_QM 0 CACHE BOOL "Internal flag.")
set(CONFIG_FP_MB_STATS 0 CACHE BOOL "Internal flag.")
set(CONFIG_EMULATE_HARDWARE 0 CACHE BOOL "Internal flag.")
set(CONFIG_CDEF 1 CACHE BOOL "Internal flag.")
set(CONFIG_VAR_TX 0 CACHE BOOL "Internal flag.")
set(CONFIG_RECT_TX 1 CACHE BOOL "Internal flag.")
......
......@@ -43,7 +43,6 @@ CONFIG_DEPENDENT_HORZTILES=${RTCD_CONFIG_DEPENDENT_HORZTILES}
CONFIG_DUAL_FILTER=${RTCD_CONFIG_DUAL_FILTER}
CONFIG_EC_ADAPT=${RTCD_CONFIG_EC_ADAPT}
CONFIG_EC_MULTISYMBOL=${RTCD_CONFIG_EC_MULTISYMBOL}
CONFIG_EMULATE_HARDWARE=${RTCD_CONFIG_EMULATE_HARDWARE}
CONFIG_ENCODERS=${RTCD_CONFIG_ENCODERS}
CONFIG_ENCODE_PERF_TESTS=${RTCD_CONFIG_ENCODE_PERF_TESTS}
CONFIG_ENTROPY=${RTCD_CONFIG_ENTROPY}
......
......@@ -44,7 +44,6 @@ CONFIG_DEPENDENT_HORZTILES=${RTCD_CONFIG_DEPENDENT_HORZTILES}
CONFIG_DUAL_FILTER=${RTCD_CONFIG_DUAL_FILTER}
CONFIG_EC_ADAPT=${RTCD_CONFIG_EC_ADAPT}
CONFIG_EC_MULTISYMBOL=${RTCD_CONFIG_EC_MULTISYMBOL}
CONFIG_EMULATE_HARDWARE=${RTCD_CONFIG_EMULATE_HARDWARE}
CONFIG_ENCODERS=${RTCD_CONFIG_ENCODERS}
CONFIG_ENCODE_PERF_TESTS=${RTCD_CONFIG_ENCODE_PERF_TESTS}
CONFIG_ENTROPY=${RTCD_CONFIG_ENTROPY}
......
......@@ -44,7 +44,6 @@ CONFIG_DEPENDENT_HORZTILES=${RTCD_CONFIG_DEPENDENT_HORZTILES}
CONFIG_DUAL_FILTER=${RTCD_CONFIG_DUAL_FILTER}
CONFIG_EC_ADAPT=${RTCD_CONFIG_EC_ADAPT}
CONFIG_EC_MULTISYMBOL=${RTCD_CONFIG_EC_MULTISYMBOL}
CONFIG_EMULATE_HARDWARE=${RTCD_CONFIG_EMULATE_HARDWARE}
CONFIG_ENCODERS=${RTCD_CONFIG_ENCODERS}
CONFIG_ENCODE_PERF_TESTS=${RTCD_CONFIG_ENCODE_PERF_TESTS}
CONFIG_ENTROPY=${RTCD_CONFIG_ENTROPY}
......
......@@ -40,7 +40,6 @@ CONFIG_DEPENDENT_HORZTILES=${RTCD_CONFIG_DEPENDENT_HORZTILES}
CONFIG_DUAL_FILTER=${RTCD_CONFIG_DUAL_FILTER}
CONFIG_EC_ADAPT=${RTCD_CONFIG_EC_ADAPT}
CONFIG_EC_MULTISYMBOL=${RTCD_CONFIG_EC_MULTISYMBOL}
CONFIG_EMULATE_HARDWARE=${RTCD_CONFIG_EMULATE_HARDWARE}
CONFIG_ENCODERS=${RTCD_CONFIG_ENCODERS}
CONFIG_ENCODE_PERF_TESTS=${RTCD_CONFIG_ENCODE_PERF_TESTS}
CONFIG_ENTROPY=${RTCD_CONFIG_ENTROPY}
......
......@@ -45,7 +45,6 @@ CONFIG_DEPENDENT_HORZTILES=${RTCD_CONFIG_DEPENDENT_HORZTILES}
CONFIG_DUAL_FILTER=${RTCD_CONFIG_DUAL_FILTER}
CONFIG_EC_ADAPT=${RTCD_CONFIG_EC_ADAPT}
CONFIG_EC_MULTISYMBOL=${RTCD_CONFIG_EC_MULTISYMBOL}
CONFIG_EMULATE_HARDWARE=${RTCD_CONFIG_EMULATE_HARDWARE}
CONFIG_ENCODERS=${RTCD_CONFIG_ENCODERS}
CONFIG_ENCODE_PERF_TESTS=${RTCD_CONFIG_ENCODE_PERF_TESTS}
CONFIG_ENTROPY=${RTCD_CONFIG_ENTROPY}
......
......@@ -44,7 +44,6 @@ CONFIG_DEPENDENT_HORZTILES=${RTCD_CONFIG_DEPENDENT_HORZTILES}
CONFIG_DUAL_FILTER=${RTCD_CONFIG_DUAL_FILTER}
CONFIG_EC_ADAPT=${RTCD_CONFIG_EC_ADAPT}
CONFIG_EC_MULTISYMBOL=${RTCD_CONFIG_EC_MULTISYMBOL}
CONFIG_EMULATE_HARDWARE=${RTCD_CONFIG_EMULATE_HARDWARE}
CONFIG_ENCODERS=${RTCD_CONFIG_ENCODERS}
CONFIG_ENCODE_PERF_TESTS=${RTCD_CONFIG_ENCODE_PERF_TESTS}
CONFIG_ENTROPY=${RTCD_CONFIG_ENTROPY}
......
......@@ -50,7 +50,6 @@ CONFIG_DEPENDENT_HORZTILES=${RTCD_CONFIG_DEPENDENT_HORZTILES}
CONFIG_DUAL_FILTER=${RTCD_CONFIG_DUAL_FILTER}
CONFIG_EC_ADAPT=${RTCD_CONFIG_EC_ADAPT}
CONFIG_EC_MULTISYMBOL=${RTCD_CONFIG_EC_MULTISYMBOL}
CONFIG_EMULATE_HARDWARE=${RTCD_CONFIG_EMULATE_HARDWARE}
CONFIG_ENCODERS=${RTCD_CONFIG_ENCODERS}
CONFIG_ENCODE_PERF_TESTS=${RTCD_CONFIG_ENCODE_PERF_TESTS}
CONFIG_ENTROPY=${RTCD_CONFIG_ENTROPY}
......
......@@ -50,7 +50,6 @@ CONFIG_DEPENDENT_HORZTILES=${RTCD_CONFIG_DEPENDENT_HORZTILES}
CONFIG_DUAL_FILTER=${RTCD_CONFIG_DUAL_FILTER}
CONFIG_EC_ADAPT=${RTCD_CONFIG_EC_ADAPT}
CONFIG_EC_MULTISYMBOL=${RTCD_CONFIG_EC_MULTISYMBOL}
CONFIG_EMULATE_HARDWARE=${RTCD_CONFIG_EMULATE_HARDWARE}
CONFIG_ENCODERS=${RTCD_CONFIG_ENCODERS}
CONFIG_ENCODE_PERF_TESTS=${RTCD_CONFIG_ENCODE_PERF_TESTS}
CONFIG_ENTROPY=${RTCD_CONFIG_ENTROPY}
......
......@@ -245,7 +245,6 @@ HAVE_LIST="
"
EXPERIMENT_LIST="
fp_mb_stats
emulate_hardware
cdef
var_tx
rect_tx
......
......@@ -163,7 +163,7 @@ TEST_P(AV1HighbdTrans16x16HT, HighbdCoeffCheck) { RunBitexactCheck(); }
using std::tr1::make_tuple;
#if HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
#if HAVE_SSE2
const Ht16x16Param kArrayHt16x16Param_sse2[] = {
make_tuple(&av1_fht16x16_sse2, &av1_iht16x16_256_add_sse2, 0, AOM_BITS_8,
256),
......@@ -202,9 +202,9 @@ const Ht16x16Param kArrayHt16x16Param_sse2[] = {
};
INSTANTIATE_TEST_CASE_P(SSE2, AV1Trans16x16HT,
::testing::ValuesIn(kArrayHt16x16Param_sse2));
#endif // HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
#endif // HAVE_SSE2
#if HAVE_AVX2 && !CONFIG_EMULATE_HARDWARE
#if HAVE_AVX2
const Ht16x16Param kArrayHt16x16Param_avx2[] = {
make_tuple(&av1_fht16x16_avx2, &av1_iht16x16_256_add_avx2, 0, AOM_BITS_8,
256),
......@@ -243,9 +243,9 @@ const Ht16x16Param kArrayHt16x16Param_avx2[] = {
};
INSTANTIATE_TEST_CASE_P(AVX2, AV1Trans16x16HT,
::testing::ValuesIn(kArrayHt16x16Param_avx2));
#endif // HAVE_AVX2 && !CONFIG_EMULATE_HARDWARE
#endif // HAVE_AVX2
#if HAVE_SSE4_1 && CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
#if HAVE_SSE4_1 && CONFIG_HIGHBITDEPTH
const HighbdHt16x16Param kArrayHBDHt16x16Param_sse4_1[] = {
make_tuple(&av1_fwd_txfm2d_16x16_sse4_1, 0, 10),
make_tuple(&av1_fwd_txfm2d_16x16_sse4_1, 0, 12),
......@@ -270,6 +270,6 @@ const HighbdHt16x16Param kArrayHBDHt16x16Param_sse4_1[] = {
};
INSTANTIATE_TEST_CASE_P(SSE4_1, AV1HighbdTrans16x16HT,
::testing::ValuesIn(kArrayHBDHt16x16Param_sse4_1));
#endif // HAVE_SSE4_1 && CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
#endif // HAVE_SSE4_1 && CONFIG_HIGHBITDEPTH
} // namespace
......@@ -100,7 +100,7 @@ const Ht16x32Param kArrayHt16x32Param_c[] = {
INSTANTIATE_TEST_CASE_P(C, AV1Trans16x32HT,
::testing::ValuesIn(kArrayHt16x32Param_c));
#if HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
#if HAVE_SSE2
const Ht16x32Param kArrayHt16x32Param_sse2[] = {
make_tuple(&av1_fht16x32_sse2, &av1_iht16x32_512_add_sse2, 0, AOM_BITS_8,
512),
......@@ -139,6 +139,6 @@ const Ht16x32Param kArrayHt16x32Param_sse2[] = {
};
INSTANTIATE_TEST_CASE_P(SSE2, AV1Trans16x32HT,
::testing::ValuesIn(kArrayHt16x32Param_sse2));
#endif // HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
#endif // HAVE_SSE2
} // namespace
......@@ -101,7 +101,7 @@ const Ht16x8Param kArrayHt16x8Param_c[] = {
INSTANTIATE_TEST_CASE_P(C, AV1Trans16x8HT,
::testing::ValuesIn(kArrayHt16x8Param_c));
#if HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
#if HAVE_SSE2
const Ht16x8Param kArrayHt16x8Param_sse2[] = {
make_tuple(&av1_fht16x8_sse2, &av1_iht16x8_128_add_sse2, 0, AOM_BITS_8, 128),
make_tuple(&av1_fht16x8_sse2, &av1_iht16x8_128_add_sse2, 1, AOM_BITS_8, 128),
......@@ -124,6 +124,6 @@ const Ht16x8Param kArrayHt16x8Param_sse2[] = {
};
INSTANTIATE_TEST_CASE_P(SSE2, AV1Trans16x8HT,
::testing::ValuesIn(kArrayHt16x8Param_sse2));
#endif // HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
#endif // HAVE_SSE2
} // namespace
......@@ -100,7 +100,7 @@ const Ht32x16Param kArrayHt32x16Param_c[] = {
INSTANTIATE_TEST_CASE_P(C, AV1Trans32x16HT,
::testing::ValuesIn(kArrayHt32x16Param_c));
#if HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
#if HAVE_SSE2
const Ht32x16Param kArrayHt32x16Param_sse2[] = {
make_tuple(&av1_fht32x16_sse2, &av1_iht32x16_512_add_sse2, 0, AOM_BITS_8,
512),
......@@ -139,6 +139,6 @@ const Ht32x16Param kArrayHt32x16Param_sse2[] = {
};
INSTANTIATE_TEST_CASE_P(SSE2, AV1Trans32x16HT,
::testing::ValuesIn(kArrayHt32x16Param_sse2));
#endif // HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
#endif // HAVE_SSE2
} // namespace
......@@ -165,7 +165,7 @@ TEST_P(AV1HighbdTrans4x4HT, HighbdCoeffCheck) { RunBitexactCheck(); }
using std::tr1::make_tuple;
#if HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
#if HAVE_SSE2
const Ht4x4Param kArrayHt4x4Param_sse2[] = {
make_tuple(&av1_fht4x4_sse2, &av1_iht4x4_16_add_sse2, 0, AOM_BITS_8, 16),
make_tuple(&av1_fht4x4_sse2, &av1_iht4x4_16_add_sse2, 1, AOM_BITS_8, 16),
......@@ -188,9 +188,9 @@ const Ht4x4Param kArrayHt4x4Param_sse2[] = {
};
INSTANTIATE_TEST_CASE_P(SSE2, AV1Trans4x4HT,
::testing::ValuesIn(kArrayHt4x4Param_sse2));
#endif // HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
#endif // HAVE_SSE2
#if HAVE_SSE4_1 && CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
#if HAVE_SSE4_1 && CONFIG_HIGHBITDEPTH
const HighbdHt4x4Param kArrayHighbdHt4x4Param[] = {
make_tuple(&av1_fwd_txfm2d_4x4_sse4_1, 0, 10),
make_tuple(&av1_fwd_txfm2d_4x4_sse4_1, 0, 12),
......@@ -217,6 +217,6 @@ const HighbdHt4x4Param kArrayHighbdHt4x4Param[] = {
INSTANTIATE_TEST_CASE_P(SSE4_1, AV1HighbdTrans4x4HT,
::testing::ValuesIn(kArrayHighbdHt4x4Param));
#endif // HAVE_SSE4_1 && CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
#endif // HAVE_SSE4_1 && CONFIG_HIGHBITDEPTH
} // namespace
......@@ -101,7 +101,7 @@ const Ht4x8Param kArrayHt4x8Param_c[] = {
INSTANTIATE_TEST_CASE_P(C, AV1Trans4x8HT,
::testing::ValuesIn(kArrayHt4x8Param_c));
#if HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
#if HAVE_SSE2
const Ht4x8Param kArrayHt4x8Param_sse2[] = {
make_tuple(&av1_fht4x8_sse2, &av1_iht4x8_32_add_sse2, 0, AOM_BITS_8, 32),
make_tuple(&av1_fht4x8_sse2, &av1_iht4x8_32_add_sse2, 1, AOM_BITS_8, 32),
......@@ -124,6 +124,6 @@ const Ht4x8Param kArrayHt4x8Param_sse2[] = {
};
INSTANTIATE_TEST_CASE_P(SSE2, AV1Trans4x8HT,
::testing::ValuesIn(kArrayHt4x8Param_sse2));
#endif // HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
#endif // HAVE_SSE2
} // namespace
......@@ -100,7 +100,7 @@ const Ht8x16Param kArrayHt8x16Param_c[] = {
INSTANTIATE_TEST_CASE_P(C, AV1Trans8x16HT,
::testing::ValuesIn(kArrayHt8x16Param_c));
#if HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
#if HAVE_SSE2
const Ht8x16Param kArrayHt8x16Param_sse2[] = {
make_tuple(&av1_fht8x16_sse2, &av1_iht8x16_128_add_sse2, 0, AOM_BITS_8, 128),
make_tuple(&av1_fht8x16_sse2, &av1_iht8x16_128_add_sse2, 1, AOM_BITS_8, 128),
......@@ -123,6 +123,6 @@ const Ht8x16Param kArrayHt8x16Param_sse2[] = {
};
INSTANTIATE_TEST_CASE_P(SSE2, AV1Trans8x16HT,
::testing::ValuesIn(kArrayHt8x16Param_sse2));
#endif // HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
#endif // HAVE_SSE2
} // namespace
......@@ -100,7 +100,7 @@ const Ht8x4Param kArrayHt8x4Param_c[] = {
INSTANTIATE_TEST_CASE_P(C, AV1Trans8x4HT,
::testing::ValuesIn(kArrayHt8x4Param_c));
#if HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
#if HAVE_SSE2
const Ht8x4Param kArrayHt8x4Param_sse2[] = {
make_tuple(&av1_fht8x4_sse2, &av1_iht8x4_32_add_sse2, 0, AOM_BITS_8, 32),
make_tuple(&av1_fht8x4_sse2, &av1_iht8x4_32_add_sse2, 1, AOM_BITS_8, 32),
......@@ -123,6 +123,6 @@ const Ht8x4Param kArrayHt8x4Param_sse2[] = {
};
INSTANTIATE_TEST_CASE_P(SSE2, AV1Trans8x4HT,
::testing::ValuesIn(kArrayHt8x4Param_sse2));
#endif // HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
#endif // HAVE_SSE2
} // namespace
......@@ -165,7 +165,7 @@ TEST_P(AV1HighbdTrans8x8HT, HighbdCoeffCheck) { RunBitexactCheck(); }
using std::tr1::make_tuple;
#if HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
#if HAVE_SSE2
const Ht8x8Param kArrayHt8x8Param_sse2[] = {
make_tuple(&av1_fht8x8_sse2, &av1_iht8x8_64_add_sse2, 0, AOM_BITS_8, 64),
make_tuple(&av1_fht8x8_sse2, &av1_iht8x8_64_add_sse2, 1, AOM_BITS_8, 64),
......@@ -188,9 +188,9 @@ const Ht8x8Param kArrayHt8x8Param_sse2[] = {
};
INSTANTIATE_TEST_CASE_P(SSE2, AV1Trans8x8HT,
::testing::ValuesIn(kArrayHt8x8Param_sse2));
#endif // HAVE_SSE2 && !CONFIG_EMULATE_HARDWARE
#endif // HAVE_SSE2
#if HAVE_SSE4_1 && CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
#if HAVE_SSE4_1 && CONFIG_HIGHBITDEPTH
const HighbdHt8x8Param kArrayHBDHt8x8Param_sse4_1[] = {
make_tuple(&av1_fwd_txfm2d_8x8_sse4_1, 0, 10),
make_tuple(&av1_fwd_txfm2d_8x8_sse4_1, 0, 12),
......@@ -215,6 +215,6 @@ const HighbdHt8x8Param kArrayHBDHt8x8Param_sse4_1[] = {
};
INSTANTIATE_TEST_CASE_P(SSE4_1, AV1HighbdTrans8x8HT,
::testing::ValuesIn(kArrayHBDHt8x8Param_sse4_1));
#endif // HAVE_SSE4_1 && CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
#endif // HAVE_SSE4_1 && CONFIG_HIGHBITDEPTH
} // namespace
......@@ -851,14 +851,14 @@ INSTANTIATE_TEST_CASE_P(C, PartialTrans16x16Test,
AOM_BITS_8)));
#endif // CONFIG_HIGHBITDEPTH
#if HAVE_NEON_ASM && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
#if HAVE_NEON_ASM && !CONFIG_HIGHBITDEPTH
INSTANTIATE_TEST_CASE_P(
NEON, Trans16x16DCT,
::testing::Values(make_tuple(&aom_fdct16x16_c, &aom_idct16x16_256_add_neon,
0, AOM_BITS_8)));
#endif
#if HAVE_SSE2 && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
#if HAVE_SSE2 && !CONFIG_HIGHBITDEPTH
INSTANTIATE_TEST_CASE_P(
SSE2, Trans16x16DCT,
::testing::Values(make_tuple(&aom_fdct16x16_sse2,
......@@ -876,15 +876,15 @@ INSTANTIATE_TEST_CASE_P(
INSTANTIATE_TEST_CASE_P(SSE2, PartialTrans16x16Test,
::testing::Values(make_tuple(&aom_fdct16x16_1_sse2,
AOM_BITS_8)));
#endif // HAVE_SSE2 && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
#endif // HAVE_SSE2 && !CONFIG_HIGHBITDEPTH
#if HAVE_AVX2 && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
#if HAVE_AVX2 && !CONFIG_HIGHBITDEPTH
INSTANTIATE_TEST_CASE_P(AVX2, PartialTrans16x16Test,
::testing::Values(make_tuple(&aom_fdct16x16_1_avx2,
AOM_BITS_8)));
#endif // HAVE_AVX2 && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
#endif // HAVE_AVX2 && !CONFIG_HIGHBITDEPTH
#if HAVE_SSE2 && CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
#if HAVE_SSE2 && CONFIG_HIGHBITDEPTH
INSTANTIATE_TEST_CASE_P(
SSE2, Trans16x16DCT,
::testing::Values(
......@@ -924,9 +924,9 @@ INSTANTIATE_TEST_CASE_P(
INSTANTIATE_TEST_CASE_P(SSE2, PartialTrans16x16Test,
::testing::Values(make_tuple(&aom_fdct16x16_1_sse2,
AOM_BITS_8)));
#endif // HAVE_SSE2 && CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
#endif // HAVE_SSE2 && CONFIG_HIGHBITDEPTH
#if HAVE_MSA && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
#if HAVE_MSA && !CONFIG_HIGHBITDEPTH
INSTANTIATE_TEST_CASE_P(MSA, Trans16x16DCT,
::testing::Values(make_tuple(&aom_fdct16x16_msa,
&aom_idct16x16_256_add_msa,
......@@ -945,5 +945,5 @@ INSTANTIATE_TEST_CASE_P(
INSTANTIATE_TEST_CASE_P(MSA, PartialTrans16x16Test,
::testing::Values(make_tuple(&aom_fdct16x16_1_msa,
AOM_BITS_8)));
#endif // HAVE_MSA && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
#endif // HAVE_MSA && !CONFIG_HIGHBITDEPTH
} // namespace
......@@ -381,16 +381,16 @@ INSTANTIATE_TEST_CASE_P(C, PartialTrans32x32Test,
AOM_BITS_8)));
#endif // CONFIG_HIGHBITDEPTH
#if HAVE_NEON && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
#if HAVE_NEON && !CONFIG_HIGHBITDEPTH
INSTANTIATE_TEST_CASE_P(
NEON, Trans32x32Test,
::testing::Values(make_tuple(&aom_fdct32x32_c, &aom_idct32x32_1024_add_neon,
0, AOM_BITS_8),
make_tuple(&aom_fdct32x32_rd_c,
&aom_idct32x32_1024_add_neon, 1, AOM_BITS_8)));
#endif // HAVE_NEON && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
#endif // HAVE_NEON && !CONFIG_HIGHBITDEPTH
#if HAVE_SSE2 && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
#if HAVE_SSE2 && !CONFIG_HIGHBITDEPTH
INSTANTIATE_TEST_CASE_P(
SSE2, Trans32x32Test,
::testing::Values(make_tuple(&aom_fdct32x32_sse2,
......@@ -400,15 +400,15 @@ INSTANTIATE_TEST_CASE_P(
INSTANTIATE_TEST_CASE_P(SSE2, PartialTrans32x32Test,
::testing::Values(make_tuple(&aom_fdct32x32_1_sse2,
AOM_BITS_8)));
#endif // HAVE_SSE2 && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
#endif // HAVE_SSE2 && !CONFIG_HIGHBITDEPTH
#if HAVE_AVX2 && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
#if HAVE_AVX2 && !CONFIG_HIGHBITDEPTH
INSTANTIATE_TEST_CASE_P(AVX2, PartialTrans32x32Test,
::testing::Values(make_tuple(&aom_fdct32x32_1_avx2,
AOM_BITS_8)));
#endif // HAVE_AVX2 && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
#endif // HAVE_AVX2 && !CONFIG_HIGHBITDEPTH
#if HAVE_SSE2 && CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
#if HAVE_SSE2 && CONFIG_HIGHBITDEPTH
INSTANTIATE_TEST_CASE_P(
SSE2, Trans32x32Test,
::testing::Values(
......@@ -425,27 +425,27 @@ INSTANTIATE_TEST_CASE_P(
INSTANTIATE_TEST_CASE_P(SSE2, PartialTrans32x32Test,
::testing::Values(make_tuple(&aom_fdct32x32_1_sse2,
AOM_BITS_8)));
#endif // HAVE_SSE2 && CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
#endif // HAVE_SSE2 && CONFIG_HIGHBITDEPTH
#if HAVE_AVX2 && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE
#if HAVE_AVX2 && !CONFIG_HIGHBITDEPTH
INSTANTIATE_TEST_CASE_P(
AVX2, Trans32x32Test,
::testing::Values(make_tuple(&aom_fdct32x32_avx2,
&aom_idct32x32_1024_add_sse2, 0, AOM_BITS_8),
make_tuple(&aom_fdct32x32_rd_avx2,
&aom_idct32x32_1024_add_sse2, 1, AOM_BITS_8)));
#endif // HAVE_AVX2 && !CONFIG_HIGHBITDEPTH && !CONFIG_EMULATE_HARDWARE