ref: 0178d974e529c0e7592ccd1be926d91b8935eb0d
parent: 4412996d5989104f34f200b0bf87aed5bd41ed05
author: Linfeng Zhang <linfengz@google.com>
date: Tue May 2 10:14:06 EDT 2017
Clean specializes of idct functions Change-Id: I8bb660de47b5f97263ec381dc428db96e9c9a4b2
--- a/vpx_dsp/vpx_dsp_rtcd_defs.pl
+++ b/vpx_dsp/vpx_dsp_rtcd_defs.pl
@@ -594,6 +594,36 @@
add_proto qw/void vpx_iwht4x4_1_add/, "const tran_low_t *input, uint8_t *dest, int stride";
+if (vpx_config("CONFIG_EMULATE_HARDWARE") ne "yes") {
+ specialize qw/vpx_idct4x4_16_add neon sse2/;
+
+ specialize qw/vpx_idct4x4_1_add neon sse2/;
+
+ specialize qw/vpx_idct8x8_64_add neon sse2 ssse3/;
+
+ specialize qw/vpx_idct8x8_12_add neon sse2 ssse3/;
+
+ specialize qw/vpx_idct8x8_1_add neon sse2/;
+
+ specialize qw/vpx_idct16x16_256_add neon sse2/;
+
+ specialize qw/vpx_idct16x16_38_add neon sse2/;
+ $vpx_idct16x16_38_add_sse2=vpx_idct16x16_256_add_sse2;
+
+ specialize qw/vpx_idct16x16_10_add neon sse2/;
+
+ specialize qw/vpx_idct16x16_1_add neon sse2/;
+
+ specialize qw/vpx_idct32x32_1024_add neon sse2 ssse3/;
+
+ specialize qw/vpx_idct32x32_135_add neon sse2 ssse3/;
+ $vpx_idct32x32_135_add_sse2=vpx_idct32x32_1024_add_sse2;
+
+ specialize qw/vpx_idct32x32_34_add neon sse2 ssse3/;
+
+ specialize qw/vpx_idct32x32_1_add neon sse2/;
+} # !CONFIG_EMULATE_HARDWARE
+
if (vpx_config("CONFIG_VP9_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.
@@ -634,35 +664,6 @@
add_proto qw/void vpx_highbd_iwht4x4_1_add/, "const tran_low_t *input, uint8_t *dest, int stride, int bd";
if (vpx_config("CONFIG_EMULATE_HARDWARE") ne "yes") {
- specialize qw/vpx_idct4x4_16_add neon sse2/;
-
- specialize qw/vpx_idct4x4_1_add neon sse2/;
-
- specialize qw/vpx_idct8x8_64_add neon sse2 ssse3/;
-
- specialize qw/vpx_idct8x8_12_add neon sse2 ssse3/;
-
- specialize qw/vpx_idct8x8_1_add neon sse2/;
-
- specialize qw/vpx_idct16x16_256_add neon sse2/;
-
- specialize qw/vpx_idct16x16_38_add neon sse2/;
- $vpx_idct16x16_38_add_sse2=vpx_idct16x16_256_add_sse2;
-
- specialize qw/vpx_idct16x16_10_add neon sse2/;
-
- specialize qw/vpx_idct16x16_1_add neon sse2/;
-
- specialize qw/vpx_idct32x32_1024_add neon sse2 ssse3/;
-
- specialize qw/vpx_idct32x32_135_add neon sse2 ssse3/;
- # Need to add 135 eob idct32x32 implementations.
- $vpx_idct32x32_135_add_sse2=vpx_idct32x32_1024_add_sse2;
-
- specialize qw/vpx_idct32x32_34_add neon sse2 ssse3/;
-
- specialize qw/vpx_idct32x32_1_add neon sse2/;
-
specialize qw/vpx_highbd_idct4x4_16_add neon sse2/;
specialize qw/vpx_highbd_idct8x8_64_add neon sse2/;
@@ -684,41 +685,39 @@
} # !CONFIG_EMULATE_HARDWARE
} else {
if (vpx_config("CONFIG_EMULATE_HARDWARE") ne "yes") {
- specialize qw/vpx_idct4x4_1_add sse2 neon dspr2 msa/;
+ specialize qw/vpx_idct4x4_16_add dspr2 msa/;
- specialize qw/vpx_idct4x4_16_add sse2 neon dspr2 msa/;
+ specialize qw/vpx_idct4x4_1_add dspr2 msa/;
- specialize qw/vpx_idct8x8_1_add sse2 neon dspr2 msa/;
+ specialize qw/vpx_idct8x8_64_add dspr2 msa/;
- specialize qw/vpx_idct8x8_64_add sse2 ssse3 neon dspr2 msa/;
+ specialize qw/vpx_idct8x8_12_add dspr2 msa/;
- specialize qw/vpx_idct8x8_12_add sse2 ssse3 neon dspr2 msa/;
+ specialize qw/vpx_idct8x8_1_add dspr2 msa/;
- specialize qw/vpx_idct16x16_1_add sse2 neon dspr2 msa/;
+ specialize qw/vpx_idct16x16_256_add dspr2 msa/;
- specialize qw/vpx_idct16x16_256_add sse2 neon dspr2 msa/;
-
- specialize qw/vpx_idct16x16_38_add sse2 neon dspr2 msa/;
- $vpx_idct16x16_38_add_sse2=vpx_idct16x16_256_add_sse2;
+ specialize qw/vpx_idct16x16_38_add dspr2 msa/;
$vpx_idct16x16_38_add_dspr2=vpx_idct16x16_256_add_dspr2;
$vpx_idct16x16_38_add_msa=vpx_idct16x16_256_add_msa;
- specialize qw/vpx_idct16x16_10_add sse2 neon dspr2 msa/;
+ specialize qw/vpx_idct16x16_10_add dspr2 msa/;
- specialize qw/vpx_idct32x32_1024_add sse2 ssse3 neon dspr2 msa/;
+ specialize qw/vpx_idct16x16_1_add dspr2 msa/;
- specialize qw/vpx_idct32x32_135_add sse2 ssse3 neon dspr2 msa/;
- $vpx_idct32x32_135_add_sse2=vpx_idct32x32_1024_add_sse2;
+ specialize qw/vpx_idct32x32_1024_add dspr2 msa/;
+
+ specialize qw/vpx_idct32x32_135_add dspr2 msa/;
$vpx_idct32x32_135_add_dspr2=vpx_idct32x32_1024_add_dspr2;
$vpx_idct32x32_135_add_msa=vpx_idct32x32_1024_add_msa;
- specialize qw/vpx_idct32x32_34_add sse2 ssse3 neon dspr2 msa/;
+ specialize qw/vpx_idct32x32_34_add dspr2 msa/;
- specialize qw/vpx_idct32x32_1_add sse2 neon dspr2 msa/;
+ specialize qw/vpx_idct32x32_1_add dspr2 msa/;
- specialize qw/vpx_iwht4x4_1_add msa/;
-
specialize qw/vpx_iwht4x4_16_add msa sse2/;
+
+ specialize qw/vpx_iwht4x4_1_add msa/;
} # !CONFIG_EMULATE_HARDWARE
} # CONFIG_VP9_HIGHBITDEPTH
} # CONFIG_VP9