diff options
author | Mans Rullgard <mans@mansr.com> | 2011-03-12 23:16:06 +0000 |
---|---|---|
committer | Mans Rullgard <mans@mansr.com> | 2011-03-24 16:30:54 +0000 |
commit | 245c78313fac79d3336f139fbca88c8d799f866a (patch) | |
tree | ba39582f0e7f2291eef5ce9db761f616d8ecd383 /libavcodec/arm/ac3dsp_neon.S | |
parent | f4855a904e4d3a12822739cda149262f98e8723a (diff) | |
download | ffmpeg-245c78313fac79d3336f139fbca88c8d799f866a.tar.gz |
ac3enc: NEON optimised shift functions
Diffstat (limited to 'libavcodec/arm/ac3dsp_neon.S')
-rw-r--r-- | libavcodec/arm/ac3dsp_neon.S | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/libavcodec/arm/ac3dsp_neon.S b/libavcodec/arm/ac3dsp_neon.S index e69a3c2013..43d4e612af 100644 --- a/libavcodec/arm/ac3dsp_neon.S +++ b/libavcodec/arm/ac3dsp_neon.S @@ -57,3 +57,24 @@ function ff_ac3_exponent_min_neon, export=1 bgt 1b pop {pc} endfunc + +function ff_ac3_lshift_int16_neon, export=1 + vdup.16 q0, r2 +1: vld1.16 {q1}, [r0,:128] + vshl.s16 q1, q1, q0 + vst1.16 {q1}, [r0,:128]! + subs r1, r1, #8 + bgt 1b + bx lr +endfunc + +function ff_ac3_rshift_int32_neon, export=1 + rsb r2, r2, #0 + vdup.32 q0, r2 +1: vld1.32 {q1}, [r0,:128] + vshl.s32 q1, q1, q0 + vst1.32 {q1}, [r0,:128]! + subs r1, r1, #4 + bgt 1b + bx lr +endfunc |