Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
F
ffmpeg.wasm-core
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Linshizhi
ffmpeg.wasm-core
Commits
6e4009d4
Commit
6e4009d4
authored
Feb 22, 2014
by
Janne Grunau
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
arm: dcadsp: implement decode_hf as external NEON asm
parent
4cb69642
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
36 additions
and
0 deletions
+36
-0
dcadsp_init_arm.c
libavcodec/arm/dcadsp_init_arm.c
+7
-0
dcadsp_neon.S
libavcodec/arm/dcadsp_neon.S
+29
-0
No files found.
libavcodec/arm/dcadsp_init_arm.c
View file @
6e4009d4
...
...
@@ -49,6 +49,12 @@ void ff_synth_filter_float_neon(FFTContext *imdct,
float
out
[
32
],
const
float
in
[
32
],
float
scale
);
void
ff_decode_hf_neon
(
float
dst
[
DCA_SUBBANDS
][
8
],
const
int32_t
vq_num
[
DCA_SUBBANDS
],
const
int8_t
hf_vq
[
1024
][
32
],
intptr_t
vq_offset
,
int32_t
scale
[
DCA_SUBBANDS
][
2
],
intptr_t
start
,
intptr_t
end
);
av_cold
void
ff_dcadsp_init_arm
(
DCADSPContext
*
s
)
{
int
cpu_flags
=
av_get_cpu_flags
();
...
...
@@ -61,6 +67,7 @@ av_cold void ff_dcadsp_init_arm(DCADSPContext *s)
if
(
have_neon
(
cpu_flags
))
{
s
->
lfe_fir
[
0
]
=
ff_dca_lfe_fir0_neon
;
s
->
lfe_fir
[
1
]
=
ff_dca_lfe_fir1_neon
;
s
->
decode_hf
=
ff_decode_hf_neon
;
}
}
...
...
libavcodec/arm/dcadsp_neon.S
View file @
6e4009d4
...
...
@@ -20,6 +20,35 @@
#include "libavutil/arm/asm.S"
function ff_decode_hf_neon, export=1
push {r4-r5,lr}
add r2, r2, r3
ldr r3, [sp, #12]
ldrd r4, r5, [sp, #16]
add r3, r3, r4, lsl #3
add r1, r1, r4, lsl #2
add r0, r0, r4, lsl #5
1: ldr_post lr, r1, #4
add r4, r4, #1
add lr, r2, lr, lsl #5
cmp r4, r5
vld1.32 {d7}, [r3]!
vld1.8 {d0}, [lr,:64]
vcvt.f32.s32 d7, d7, #4
vmovl.s8 q1, d0
vmovl.s16 q0, d2
vmovl.s16 q1, d3
vcvt.f32.s32 q0, q0
vcvt.f32.s32 q1, q1
vmul.f32 q0, q0, d7[0]
vmul.f32 q1, q1, d7[0]
vst1.32 {q0-q1}, [r0,:128]!
bne 1b
pop {r4-r5,pc}
endfunc
function ff_dca_lfe_fir0_neon, export=1
push {r4-r6,lr}
mov r3, #32 @ decifactor
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment