summaryrefslogtreecommitdiff
path: root/audio/madplay/patches/patch-ab
diff options
context:
space:
mode:
Diffstat (limited to 'audio/madplay/patches/patch-ab')
-rw-r--r--audio/madplay/patches/patch-ab88
1 files changed, 88 insertions, 0 deletions
diff --git a/audio/madplay/patches/patch-ab b/audio/madplay/patches/patch-ab
new file mode 100644
index 00000000000..0e0aa3a9fc3
--- /dev/null
+++ b/audio/madplay/patches/patch-ab
@@ -0,0 +1,88 @@
+$NetBSD: patch-ab,v 1.3 2001/03/25 11:34:57 simonb Exp $
+
+This patch should be in the next madplay release and can be
+deleted then - simonb (20010325).
+
+--- libmad/imdct_l_arm.S.orig Mon Sep 25 04:49:38 2000
++++ libmad/imdct_l_arm.S Sun Mar 25 19:02:43 2001
+@@ -1,5 +1,5 @@
+ /*****************************************************************************
+-* Copyright (C) 2000 Andre McCurdy <armccurdy@yahoo.co.uk>
++* Copyright (C) 2000-2001 Andre McCurdy <armccurdy@yahoo.co.uk>
+ *
+ * This program is free software. you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+@@ -24,6 +24,9 @@
+ *
+ * $Id: patch-ab,v 1.3 2001/03/25 11:34:57 simonb Exp $
+ *
++* 2001/03/24: Andre McCurdy <armccurdy@yahoo.co.uk>
++* - Corrected PIC unsafe loading of address of 'imdct36_long_karray'
++*
+ * 2000/09/20: Robert Leslie <rob@mars.org>
+ * - Added a global symbol with leading underscore per suggestion of
+ * Simon Burge to support linking with the a.out format.
+@@ -465,7 +468,7 @@
+
+ @----
+
+- ldr r2, =imdct36_long_karray @ base address of Knn array
++ add r2, pc, #(imdct36_long_karray-.-8) @ r2 = base address of Knn array (PIC safe ?)
+
+
+ loop:
+@@ -515,12 +518,29 @@
+
+ movs r8, r8, lsl #8 @ push result location index off the top end
+ beq loop @ loop back if completion flag not set
++ b imdct_l_windowing @ branch to windowing stage if looping finished
++
++imdct36_long_karray:
++
++ .word K17, -K13, K10, -K06, -K05, K01, -K00, K04, -K07, K11, K12, -K16, 0x00000000
++ .word K13, K07, K16, K01, K10, -K05, K04, -K11, K00, -K17, K06, -K12, 0x00200800
++ .word K11, K17, K05, K12, -K01, K06, -K07, K00, -K13, K04, -K16, K10, 0x00200c00
++ .word K07, K00, -K12, K05, -K16, -K10, K11, -K17, K04, K13, K01, K06, 0x00001400
++ .word K05, K10, -K00, -K17, K07, -K13, K12, K06, -K16, K01, -K11, -K04, 0x00181800
++ .word K01, K05, -K07, -K11, K13, K17, -K16, -K12, K10, K06, -K04, -K00, 0x00102000
++ .word -K16, K12, -K11, K07, K04, -K00, -K01, K05, -K06, K10, K13, -K17, 0x00284800
++ .word -K12, K06, K17, -K00, -K11, K04, K05, -K10, K01, K16, -K07, -K13, 0x00085000
++ .word -K10, K16, K04, -K13, -K00, K07, K06, -K01, -K12, -K05, K17, K11, 0x00105400
++ .word -K06, -K01, K13, K04, K17, -K11, -K10, -K16, -K05, K12, K00, K07, 0x00185c00
++ .word -K04, -K11, -K01, K16, K06, K12, K13, -K07, -K17, -K00, -K10, -K05, 0x00006000
++ .word -K00, -K04, -K06, -K10, -K12, -K16, -K17, -K13, -K11, -K07, -K05, -K01, 0x00206801
+
+
+ @----
+ @-------------------------------------------------------------------------
+ @----
+
++imdct_l_windowing:
+
+ ldr r11, [sp, #80] @ fetch function parameter 3 from out of the stack
+ ldmia r1!, { r0, r2 - r9 } @ load 9 words from x0, update pointer
+@@ -973,24 +993,6 @@
+
+ add sp, sp, #(21*4) @ return stack frame
+ ldmia sp!, { r4 - r11, pc } @ restore callee saved regs, and return
+-
+- @----
+-
+-
+-imdct36_long_karray:
+-
+- .word K17, -K13, K10, -K06, -K05, K01, -K00, K04, -K07, K11, K12, -K16, 0x00000000
+- .word K13, K07, K16, K01, K10, -K05, K04, -K11, K00, -K17, K06, -K12, 0x00200800
+- .word K11, K17, K05, K12, -K01, K06, -K07, K00, -K13, K04, -K16, K10, 0x00200c00
+- .word K07, K00, -K12, K05, -K16, -K10, K11, -K17, K04, K13, K01, K06, 0x00001400
+- .word K05, K10, -K00, -K17, K07, -K13, K12, K06, -K16, K01, -K11, -K04, 0x00181800
+- .word K01, K05, -K07, -K11, K13, K17, -K16, -K12, K10, K06, -K04, -K00, 0x00102000
+- .word -K16, K12, -K11, K07, K04, -K00, -K01, K05, -K06, K10, K13, -K17, 0x00284800
+- .word -K12, K06, K17, -K00, -K11, K04, K05, -K10, K01, K16, -K07, -K13, 0x00085000
+- .word -K10, K16, K04, -K13, -K00, K07, K06, -K01, -K12, -K05, K17, K11, 0x00105400
+- .word -K06, -K01, K13, K04, K17, -K11, -K10, -K16, -K05, K12, K00, K07, 0x00185c00
+- .word -K04, -K11, -K01, K16, K06, K12, K13, -K07, -K17, -K00, -K10, -K05, 0x00006000
+- .word -K00, -K04, -K06, -K10, -K12, -K16, -K17, -K13, -K11, -K07, -K05, -K01, 0x00206801
+
+ @----
+ @END