diff options
author | Janne Grunau <janne-libav@jannau.net> | 2012-01-15 19:16:02 +0100 |
---|---|---|
committer | Janne Grunau <janne-libav@jannau.net> | 2012-01-16 19:26:41 +0100 |
commit | 9e12002f114d7e0b0ef69519518cdc0391e5e198 (patch) | |
tree | 3fccd0b24d28f56962f40cbc97452f8bf173e068 /libavcodec/arm/rv34dsp_init_neon.c | |
parent | 9ba9c3402499d90e54f8aa111b62c278206d11af (diff) | |
download | ffmpeg-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.c | 6 |
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; } |