aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/arm/simple_idct_neon.S
diff options
context:
space:
mode:
authorMåns Rullgård <mans@mansr.com>2009-05-28 17:19:28 +0000
committerMåns Rullgård <mans@mansr.com>2009-05-28 17:19:28 +0000
commitc9311a12d5f948cbfab1732edff087e61ab9b8d4 (patch)
treece95aabc703d89b16103645434a2cef7e165290f /libavcodec/arm/simple_idct_neon.S
parenta33031789032af595a283bdf947009c598eaffe1 (diff)
downloadffmpeg-c9311a12d5f948cbfab1732edff087e61ab9b8d4.tar.gz
ARM: add some PLD in NEON IDCT
Originally committed as revision 18972 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/arm/simple_idct_neon.S')
-rw-r--r--libavcodec/arm/simple_idct_neon.S17
1 files changed, 15 insertions, 2 deletions
diff --git a/libavcodec/arm/simple_idct_neon.S b/libavcodec/arm/simple_idct_neon.S
index e7099a221e..08824812fa 100644
--- a/libavcodec/arm/simple_idct_neon.S
+++ b/libavcodec/arm/simple_idct_neon.S
@@ -68,6 +68,19 @@
.text
.align 6
+function idct_row4_pld_neon
+ pld [r0]
+ add r3, r0, r1, lsl #2
+ pld [r0, r1]
+ pld [r0, r1, lsl #1]
+ pld [r3, -r1]
+ pld [r3]
+ pld [r3, r1]
+ add r3, r3, r1, lsl #1
+ pld [r3]
+ pld [r3, r1]
+ .endfunc
+
function idct_row4_neon
vmov.i32 q15, #(1<<(ROW_SHIFT-1))
vld1.64 {d2-d5}, [r2,:128]!
@@ -252,7 +265,7 @@ idct_coeff_neon:
function ff_simple_idct_put_neon, export=1
idct_start r2
- bl idct_row4_neon
+ bl idct_row4_pld_neon
bl idct_row4_neon
add r2, r2, #-128
bl idct_col4_neon
@@ -307,7 +320,7 @@ function idct_col4_add8_neon
function ff_simple_idct_add_neon, export=1
idct_start r2
- bl idct_row4_neon
+ bl idct_row4_pld_neon
bl idct_row4_neon
add r2, r2, #-128
bl idct_col4_neon