[FFmpeg-cvslog] r23412 - in trunk/libavcodec/arm: dsputil_init_neon.c dsputil_neon.S
mru
subversion
Tue Jun 1 19:21:16 CEST 2010
Author: mru
Date: Tue Jun 1 19:21:16 2010
New Revision: 23412
Log:
ARM: NEON clear_block[s]
Modified:
trunk/libavcodec/arm/dsputil_init_neon.c
trunk/libavcodec/arm/dsputil_neon.S
Modified: trunk/libavcodec/arm/dsputil_init_neon.c
==============================================================================
--- trunk/libavcodec/arm/dsputil_init_neon.c Tue Jun 1 18:36:36 2010 (r23411)
+++ trunk/libavcodec/arm/dsputil_init_neon.c Tue Jun 1 19:21:16 2010 (r23412)
@@ -34,6 +34,9 @@ void ff_vp3_idct_put_neon(uint8_t *dest,
void ff_vp3_idct_add_neon(uint8_t *dest, int line_size, DCTELEM *data);
void ff_vp3_idct_dc_add_neon(uint8_t *dest, int line_size, const DCTELEM *data);
+void ff_clear_block_neon(DCTELEM *block);
+void ff_clear_blocks_neon(DCTELEM *blocks);
+
void ff_put_pixels16_neon(uint8_t *, const uint8_t *, int, int);
void ff_put_pixels16_x2_neon(uint8_t *, const uint8_t *, int, int);
void ff_put_pixels16_y2_neon(uint8_t *, const uint8_t *, int, int);
@@ -189,6 +192,9 @@ void ff_dsputil_init_neon(DSPContext *c,
}
}
+ c->clear_block = ff_clear_block_neon;
+ c->clear_blocks = ff_clear_blocks_neon;
+
c->put_pixels_tab[0][0] = ff_put_pixels16_neon;
c->put_pixels_tab[0][1] = ff_put_pixels16_x2_neon;
c->put_pixels_tab[0][2] = ff_put_pixels16_y2_neon;
Modified: trunk/libavcodec/arm/dsputil_neon.S
==============================================================================
--- trunk/libavcodec/arm/dsputil_neon.S Tue Jun 1 18:36:36 2010 (r23411)
+++ trunk/libavcodec/arm/dsputil_neon.S Tue Jun 1 19:21:16 2010 (r23412)
@@ -25,6 +25,22 @@
preserve8
.text
+function ff_clear_block_neon, export=1
+ vmov.i16 q0, #0
+ .rept 8
+ vst1.16 {q0}, [r0,:128]!
+ .endr
+ bx lr
+endfunc
+
+function ff_clear_blocks_neon, export=1
+ vmov.i16 q0, #0
+ .rept 8*6
+ vst1.16 {q0}, [r0,:128]!
+ .endr
+ bx lr
+endfunc
+
.macro pixels16 avg=0
.if \avg
mov ip, r0
More information about the ffmpeg-cvslog
mailing list