diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-03-26 20:26:26 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-03-26 20:39:10 +0100 |
commit | f38af0143c1849e8c8cea8d3374b4a554763eeee (patch) | |
tree | 0d84e984281c2b46123d3e3854b262031bc7d287 | |
parent | 87b128d5ef6aeb01cc8bba167c929c74cbf2e7c7 (diff) | |
parent | 15a29c39d9ef15b0783c04b3228e1c55f6701ee3 (diff) | |
download | ffmpeg-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/Makefile | 4 | ||||
-rw-r--r-- | libavcodec/arm/mlpdsp_armv5te.S (renamed from libavcodec/arm/mlpdsp_arm.S) | 2 | ||||
-rw-r--r-- | libavcodec/arm/mlpdsp_init_arm.c | 6 |
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; + } } |