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
52d196fb
Commit
52d196fb
authored
Nov 12, 2016
by
Martin Storsjö
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
arm: vp9itxfm: Simplify txfm string comparisons
Signed-off-by:
Martin Storsjö
<
martin@martin.st
>
parent
3c9546df
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
10 additions
and
35 deletions
+10
-35
vp9itxfm_neon.S
libavcodec/arm/vp9itxfm_neon.S
+10
-35
No files found.
libavcodec/arm/vp9itxfm_neon.S
View file @
52d196fb
...
@@ -258,8 +258,7 @@ function ff_vp9_\txfm1\()_\txfm2\()_4x4_add_neon, export=1
...
@@ -258,8 +258,7 @@ function ff_vp9_\txfm1\()_\txfm2\()_4x4_add_neon, export=1
.endif
.endif
vmov.i16 q15, #0
vmov.i16 q15, #0
.ifc \txfm1,idct
.ifc \txfm1\()_\txfm2,idct_idct
.ifc \txfm2,idct
cmp r3, #1
cmp r3, #1
bne 1f
bne 1f
@ DC-only for idct/idct
@ DC-only for idct/idct
...
@@ -273,7 +272,6 @@ function ff_vp9_\txfm1\()_\txfm2\()_4x4_add_neon, export=1
...
@@ -273,7 +272,6 @@ function ff_vp9_\txfm1\()_\txfm2\()_4x4_add_neon, export=1
vmov q3, q2
vmov q3, q2
b 2f
b 2f
.endif
.endif
.endif
1:
1:
vld1.16 {d4-d7}, [r2,:128]
vld1.16 {d4-d7}, [r2,:128]
...
@@ -386,29 +384,21 @@ function ff_vp9_\txfm1\()_\txfm2\()_8x8_add_neon, export=1
...
@@ -386,29 +384,21 @@ function ff_vp9_\txfm1\()_\txfm2\()_8x8_add_neon, export=1
@ if only idct is involved.
@ if only idct is involved.
@ The iadst also uses a few coefficients from
@ The iadst also uses a few coefficients from
@ idct, so those always need to be loaded.
@ idct, so those always need to be loaded.
.ifc \txfm1,iadst
.ifc \txfm1\()_\txfm2,idct_idct
movrel r12, iadst8_coeffs
movrel r12, idct_coeffs
vld1.16 {q1}, [r12,:128]!
vpush {q4-q5}
vpush {q4-q7}
vld1.16 {q0}, [r12,:128]
vld1.16 {q0}, [r12,:128]
.else
.else
.ifc \txfm2,iadst
movrel r12, iadst8_coeffs
movrel r12, iadst8_coeffs
vld1.16 {q1}, [r12,:128]!
vld1.16 {q1}, [r12,:128]!
vpush {q4-q7}
vpush {q4-q7}
vld1.16 {q0}, [r12,:128]
vld1.16 {q0}, [r12,:128]
.else
movrel r12, idct_coeffs
vpush {q4-q5}
vld1.16 {q0}, [r12,:128]
.endif
.endif
.endif
vmov.i16 q2, #0
vmov.i16 q2, #0
vmov.i16 q3, #0
vmov.i16 q3, #0
.ifc \txfm1,idct
.ifc \txfm1\()_\txfm2,idct_idct
.ifc \txfm2,idct
cmp r3, #1
cmp r3, #1
bne 1f
bne 1f
@ DC-only for idct/idct
@ DC-only for idct/idct
...
@@ -428,7 +418,6 @@ function ff_vp9_\txfm1\()_\txfm2\()_8x8_add_neon, export=1
...
@@ -428,7 +418,6 @@ function ff_vp9_\txfm1\()_\txfm2\()_8x8_add_neon, export=1
vst1.16 {d4[0]}, [r2,:16]
vst1.16 {d4[0]}, [r2,:16]
b 2f
b 2f
.endif
.endif
.endif
1:
1:
vld1.16 {q8-q9}, [r2,:128]!
vld1.16 {q8-q9}, [r2,:128]!
vld1.16 {q10-q11}, [r2,:128]!
vld1.16 {q10-q11}, [r2,:128]!
...
@@ -497,14 +486,10 @@ function ff_vp9_\txfm1\()_\txfm2\()_8x8_add_neon, export=1
...
@@ -497,14 +486,10 @@ function ff_vp9_\txfm1\()_\txfm2\()_8x8_add_neon, export=1
vst1.8 {d10}, [r3,:64], r1
vst1.8 {d10}, [r3,:64], r1
vst1.8 {d11}, [r3,:64], r1
vst1.8 {d11}, [r3,:64], r1
.ifc \txfm1
,iads
t
.ifc \txfm1
\()_\txfm2,idct_idc
t
vpop {q4-q
7
}
vpop {q4-q
5
}
.else
.else
.ifc \txfm2,iadst
vpop {q4-q7}
vpop {q4-q7}
.else
vpop {q4-q5}
.endif
.endif
.endif
bx lr
bx lr
endfunc
endfunc
...
@@ -798,19 +783,13 @@ itxfm16_1d_funcs iadst
...
@@ -798,19 +783,13 @@ itxfm16_1d_funcs iadst
.macro itxfm_func16x16 txfm1, txfm2
.macro itxfm_func16x16 txfm1, txfm2
function ff_vp9_\txfm1\()_\txfm2\()_16x16_add_neon, export=1
function ff_vp9_\txfm1\()_\txfm2\()_16x16_add_neon, export=1
.ifc \txfm1,idct
.ifc \txfm1\()_\txfm2,idct_idct
.ifc \txfm2,idct
cmp r3, #1
cmp r3, #1
beq idct16x16_dc_add_neon
beq idct16x16_dc_add_neon
.endif
.endif
.endif
push {r4-r7,lr}
push {r4-r7,lr}
.ifc \txfm1,iadst
.ifnc \txfm1\()_\txfm2,idct_idct
vpush {q4-q7}
.else
.ifc \txfm2,iadst
vpush {q4-q7}
vpush {q4-q7}
.endif
.endif
.endif
mov r7, sp
mov r7, sp
...
@@ -850,12 +829,8 @@ A sub sp, sp, #512
...
@@ -850,12 +829,8 @@ A sub sp, sp, #512
.endr
.endr
mov sp, r7
mov sp, r7
.ifc \txfm1,iadst
.ifnc \txfm1\()_\txfm2,idct_idct
vpop {q4-q7}
.else
.ifc \txfm2,iadst
vpop {q4-q7}
vpop {q4-q7}
.endif
.endif
.endif
pop {r4-r7,pc}
pop {r4-r7,pc}
endfunc
endfunc
...
...
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