mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-25 16:52:31 +00:00
ARM: NEON clear_block[s]
Originally committed as revision 23412 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
522d3930ff
commit
73404a44c1
@ -34,6 +34,9 @@ void ff_vp3_idct_put_neon(uint8_t *dest, int line_size, DCTELEM *data);
|
||||
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, AVCodecContext *avctx)
|
||||
}
|
||||
}
|
||||
|
||||
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;
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user