aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-03-26 20:26:26 +0100
committerMichael Niedermayer <michaelni@gmx.at>2014-03-26 20:39:10 +0100
commitf38af0143c1849e8c8cea8d3374b4a554763eeee (patch)
tree0d84e984281c2b46123d3e3854b262031bc7d287
parent87b128d5ef6aeb01cc8bba167c929c74cbf2e7c7 (diff)
parent15a29c39d9ef15b0783c04b3228e1c55f6701ee3 (diff)
downloadffmpeg-f38af0143c1849e8c8cea8d3374b4a554763eeee.tar.gz
Merge commit '15a29c39d9ef15b0783c04b3228e1c55f6701ee3'
* commit '15a29c39d9ef15b0783c04b3228e1c55f6701ee3': truehd: add hand-scheduled ARM asm version of mlp_filter_channel. Conflicts: libavcodec/arm/Makefile libavcodec/arm/mlpdsp_init_arm.c See: 87b128d5ef6aeb01cc8bba167c929c74cbf2e7c7 Merged-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavcodec/arm/Makefile4
-rw-r--r--libavcodec/arm/mlpdsp_armv5te.S (renamed from libavcodec/arm/mlpdsp_arm.S)2
-rw-r--r--libavcodec/arm/mlpdsp_init_arm.c6
3 files changed, 8 insertions, 4 deletions
diff --git a/libavcodec/arm/Makefile b/libavcodec/arm/Makefile
index 4658223965..a9c9aae51b 100644
--- a/libavcodec/arm/Makefile
+++ b/libavcodec/arm/Makefile
@@ -16,8 +16,7 @@ OBJS-$(CONFIG_H264PRED) += arm/h264pred_init_arm.o
OBJS-$(CONFIG_H264QPEL) += arm/h264qpel_init_arm.o
OBJS-$(CONFIG_HPELDSP) += arm/hpeldsp_init_arm.o \
arm/hpeldsp_arm.o
-OBJS-$(CONFIG_MLP_DECODER) += arm/mlpdsp_init_arm.o \
- arm/mlpdsp_arm.o
+OBJS-$(CONFIG_MLP_DECODER) += arm/mlpdsp_init_arm.o
OBJS-$(CONFIG_MPEGAUDIODSP) += arm/mpegaudiodsp_init_arm.o
OBJS-$(CONFIG_MPEGVIDEO) += arm/mpegvideo_arm.o
OBJS-$(CONFIG_NEON_CLOBBER_TEST) += arm/neontest.o
@@ -40,6 +39,7 @@ OBJS-$(CONFIG_RV40_DECODER) += arm/rv34dsp_init_arm.o \
ARMV5TE-OBJS-$(CONFIG_DSPUTIL) += arm/dsputil_init_armv5te.o \
arm/simple_idct_armv5te.o
+ARMV5TE-OBJS-$(CONFIG_MLP_DECODER) += arm/mlpdsp_armv5te.o
ARMV5TE-OBJS-$(CONFIG_MPEGVIDEO) += arm/mpegvideo_armv5te.o \
arm/mpegvideo_armv5te_s.o
ARMV5TE-OBJS-$(CONFIG_VIDEODSP) += arm/videodsp_init_armv5te.o \
diff --git a/libavcodec/arm/mlpdsp_arm.S b/libavcodec/arm/mlpdsp_armv5te.S
index 615819d3fe..f3295f5679 100644
--- a/libavcodec/arm/mlpdsp_arm.S
+++ b/libavcodec/arm/mlpdsp_armv5te.S
@@ -63,7 +63,7 @@ PSAMP .req lr
.endm
.macro loadd_ group, index0, index1, base, offset
-A .if offset >= 256
+A .if \offset >= 256
A ldr \group\index0, [\base, #\offset]
A ldr \group\index1, [\base, #(\offset) + 4]
A .else
diff --git a/libavcodec/arm/mlpdsp_init_arm.c b/libavcodec/arm/mlpdsp_init_arm.c
index 9a14815463..a8319ce88a 100644
--- a/libavcodec/arm/mlpdsp_init_arm.c
+++ b/libavcodec/arm/mlpdsp_init_arm.c
@@ -32,5 +32,9 @@ void ff_mlp_filter_channel_arm(int32_t *state, const int32_t *coeff,
av_cold void ff_mlpdsp_init_arm(MLPDSPContext *c)
{
- c->mlp_filter_channel = ff_mlp_filter_channel_arm;
+ int cpu_flags = av_get_cpu_flags();
+
+ if (have_armv5te(cpu_flags)) {
+ c->mlp_filter_channel = ff_mlp_filter_channel_arm;
+ }
}