aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/arm/rv34dsp_init_neon.c
diff options
context:
space:
mode:
authorJanne Grunau <janne-libav@jannau.net>2012-01-15 19:16:02 +0100
committerJanne Grunau <janne-libav@jannau.net>2012-01-16 19:26:41 +0100
commit9e12002f114d7e0b0ef69519518cdc0391e5e198 (patch)
tree3fccd0b24d28f56962f40cbc97452f8bf173e068 /libavcodec/arm/rv34dsp_init_neon.c
parent9ba9c3402499d90e54f8aa111b62c278206d11af (diff)
downloadffmpeg-9e12002f114d7e0b0ef69519518cdc0391e5e198.tar.gz
rv34: add NEON rv34_idct_add
Overall almost 4% faster, idct_add down from 350 to 85 cycles, idct_dc_add down from 83 to 30 cycles. squash: rv34 idct rearrange partial register loads
Diffstat (limited to 'libavcodec/arm/rv34dsp_init_neon.c')
-rw-r--r--libavcodec/arm/rv34dsp_init_neon.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libavcodec/arm/rv34dsp_init_neon.c b/libavcodec/arm/rv34dsp_init_neon.c
index 3984d43c39..744818cee3 100644
--- a/libavcodec/arm/rv34dsp_init_neon.c
+++ b/libavcodec/arm/rv34dsp_init_neon.c
@@ -27,8 +27,14 @@ void ff_rv34_inv_transform_noround_neon(DCTELEM *block);
void ff_rv34_inv_transform_noround_dc_neon(DCTELEM *block);
+void ff_rv34_idct_add_neon(uint8_t *dst, int stride, DCTELEM *block);
+void ff_rv34_idct_dc_add_neon(uint8_t *dst, int stride, int dc);
+
void ff_rv34dsp_init_neon(RV34DSPContext *c, DSPContext* dsp)
{
c->rv34_inv_transform = ff_rv34_inv_transform_noround_neon;
c->rv34_inv_transform_dc = ff_rv34_inv_transform_noround_dc_neon;
+
+ c->rv34_idct_add = ff_rv34_idct_add_neon;
+ c->rv34_idct_dc_add = ff_rv34_idct_dc_add_neon;
}