Commit 5a06fe32 authored by Frank Bossen's avatar Frank Bossen
Browse files

Add SSE4 implementation of 64-point transform

Can reduce decoder run time by 4 percent.

Change-Id: Ibdd5bb3a18002789852f2e367b32533163a8c022
parent 66965a20
......@@ -268,6 +268,8 @@ if (aom_config("CONFIG_TX64X64") eq "yes") {
add_proto qw/void av1_inv_txfm2d_add_64x32/, "const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd";
add_proto qw/void av1_inv_txfm2d_add_16x64/, "const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd";
add_proto qw/void av1_inv_txfm2d_add_64x16/, "const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd";
specialize qw/av1_inv_txfm2d_add_64x64 sse4_1/;
}
add_proto qw/void av1_inv_txfm2d_add_4x16/, "const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd";
add_proto qw/void av1_inv_txfm2d_add_16x4/, "const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd";
......
This diff is collapsed.
......@@ -88,6 +88,8 @@ class AV1HighbdInvHTNxN : public ::testing::TestWithParam<IHbdHtParam> {
return 16;
} else if (1024 == num_coeffs_) {
return 32;
} else if (4096 == num_coeffs_) {
return 64;
} else {
return 0;
}
......@@ -151,6 +153,12 @@ using std::tr1::make_tuple;
&av1_fwd_txfm2d_16x16_c, &av1_inv_txfm2d_add_16x16_sse4_1, \
&av1_inv_txfm2d_add_16x16_c, 256
#endif
#if CONFIG_TX64X64
#define PARAM_LIST_64X64 \
&av1_fwd_txfm2d_64x64_c, &av1_inv_txfm2d_add_64x64_sse4_1, \
&av1_inv_txfm2d_add_64x64_c, 4096
#endif
const IHbdHtParam kArrayIhtParam[] = {
// 16x16
#if !CONFIG_DAALA_TX16
......@@ -215,6 +223,10 @@ const IHbdHtParam kArrayIhtParam[] = {
make_tuple(PARAM_LIST_4X4, FLIPADST_ADST, 10),
make_tuple(PARAM_LIST_4X4, FLIPADST_ADST, 12),
#endif
#if CONFIG_TX64X64
make_tuple(PARAM_LIST_64X64, DCT_DCT, 10),
make_tuple(PARAM_LIST_64X64, DCT_DCT, 12),
#endif
};
INSTANTIATE_TEST_CASE_P(SSE4_1, AV1HighbdInvHTNxN,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment