diff options
author | David Conrad <lessen42@gmail.com> | 2009-05-23 18:36:20 +0000 |
---|---|---|
committer | David Conrad <lessen42@gmail.com> | 2009-05-23 18:36:20 +0000 |
commit | 6db8697a396c101ce67a8ab7a030aa233b1f7ecf (patch) | |
tree | 415f4917e91ecae33fed3071ea4f844575433912 | |
parent | 45e5feda68668758758ba8773d9ebf9dd17eb949 (diff) | |
download | ffmpeg-6db8697a396c101ce67a8ab7a030aa233b1f7ecf.tar.gz |
ARM: NEON VP3 Loop Filter
Originally committed as revision 18916 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | libavcodec/Makefile | 4 | ||||
-rw-r--r-- | libavcodec/arm/dsputil_neon.c | 8 |
2 files changed, 12 insertions, 0 deletions
diff --git a/libavcodec/Makefile b/libavcodec/Makefile index 551576a7bb..461cb41844 100644 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile @@ -495,11 +495,15 @@ OBJS-$(HAVE_ARMVFP) += arm/dsputil_vfp.o \ OBJS-$(HAVE_IWMMXT) += arm/dsputil_iwmmxt.o \ arm/mpegvideo_iwmmxt.o \ +NEON-OBJS-$(CONFIG_THEORA_DECODER) += arm/vp3dsp_neon.o +NEON-OBJS-$(CONFIG_VP3_DECODER) += arm/vp3dsp_neon.o + OBJS-$(HAVE_NEON) += arm/dsputil_neon.o \ arm/dsputil_neon_s.o \ arm/h264dsp_neon.o \ arm/h264idct_neon.o \ arm/simple_idct_neon.o \ + $(NEON-OBJS-yes) OBJS-$(ARCH_BFIN) += bfin/dsputil_bfin.o \ bfin/fdct_bfin.o \ diff --git a/libavcodec/arm/dsputil_neon.c b/libavcodec/arm/dsputil_neon.c index 9b9513001a..20425c1b6f 100644 --- a/libavcodec/arm/dsputil_neon.c +++ b/libavcodec/arm/dsputil_neon.c @@ -150,6 +150,9 @@ void ff_h264_idct_add8_neon(uint8_t **dest, const int *block_offset, DCTELEM *block, int stride, const uint8_t nnzc[6*8]); +void ff_vp3_v_loop_filter_neon(uint8_t *, int, int *); +void ff_vp3_h_loop_filter_neon(uint8_t *, int, int *); + void ff_vector_fmul_neon(float *dst, const float *src, int len); void ff_vector_fmul_window_neon(float *dst, const float *src0, const float *src1, const float *win, @@ -255,6 +258,11 @@ void ff_dsputil_init_neon(DSPContext *c, AVCodecContext *avctx) c->h264_idct_add16intra = ff_h264_idct_add16intra_neon; c->h264_idct_add8 = ff_h264_idct_add8_neon; + if (CONFIG_VP3_DECODER || CONFIG_THEORA_DECODER) { + c->vp3_v_loop_filter = ff_vp3_v_loop_filter_neon; + c->vp3_h_loop_filter = ff_vp3_h_loop_filter_neon; + } + c->vector_fmul = ff_vector_fmul_neon; c->vector_fmul_window = ff_vector_fmul_window_neon; |