.S and .c should not have the same base name
authorRémi Denis-Courmont <remi@remlab.net>
Wed, 13 Jan 2010 20:57:35 +0000 (22:57 +0200)
committerRémi Denis-Courmont <remi@remlab.net>
Wed, 13 Jan 2010 20:57:35 +0000 (22:57 +0200)
Otherwise, the object files will conflict

modules/arm_neon/Modules.am
modules/arm_neon/i420_yuy2.S [deleted file]
modules/arm_neon/i420_yuyv.S [new file with mode: 0644]

index 1ba5c5d..52393b1 100644 (file)
@@ -8,7 +8,7 @@ libaudio_format_neon_plugin_la_LIBADD = $(AM_LIBADD)
 libaudio_format_neon_plugin_la_DEPENDENCIES =
 
 libi420_yuy2_neon_plugin_la_SOURCES = \
-       i420_yuy2.S \
+       i420_yuyv.S \
        i420_yuy2.c
 libi420_yuy2_neon_plugin_la_CFLAGS = $(AM_CFLAGS)
 libi420_yuy2_neon_plugin_la_LIBADD = $(AM_LIBADD)
diff --git a/modules/arm_neon/i420_yuy2.S b/modules/arm_neon/i420_yuy2.S
deleted file mode 100644 (file)
index 8d8645c..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
- @*****************************************************************************
- @ i420_yuyv_neon.S : ARM NEONv1 I420 to YUYV chroma conversion
- @*****************************************************************************
- @ Copyright (C) 2009 Rémi Denis-Courmont
- @
- @ 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
- @ the Free Software Foundation; either version 2 of the License, or
- @ (at your option) any later version.
- @
- @ This program is distributed in the hope that it will be useful,
- @ but WITHOUT ANY WARRANTY; without even the implied warranty of
- @ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- @ GNU General Public License for more details.
- @
- @ You should have received a copy of the GNU General Public License
- @ along with this program; if not, write to the Free Software Foundation,
- @ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- @****************************************************************************/
-
-       .fpu neon
-       .text
-
-#define O1     r0
-#define        O2      r1
-#define        PITCH   r2
-#define        HEIGHT  r3
-#define        Y1      r4
-#define        Y2      r5
-#define        U       r6
-#define        V       r7
-#define        END_O1  r12
-
-       .align
-       .global i420_yuyv_neon
-       .type   i420_yuyv_neon, %function
-i420_yuyv_neon:
-       push            {r4-r7, lr}
-       ldmia           r1,     {Y1, U, V}
-       add             O2,     O1,     PITCH, lsl #1
-       add             Y2,     Y1,     PITCH
-1:
-       mov             END_O1, O2
-       pld             [Y2]
-2:
-       pld             [U, #64]
-       vld1.u8         {d2},           [U,:64]!
-       pld             [V, #64]
-       vld1.u8         {d3},           [V,:64]!
-       pld             [Y1, #64]
-       vzip.u8         d2,     d3
-       vld1.u8         {q0},           [Y1,:128]!
-       pld             [Y2, #64]
-       vmov            q3,     q1
-       vzip.u8         q0,     q1
-       vld1.u8         {q2},           [Y2,:128]!
-       vzip.u8         q2,     q3
-       vst1.u8         {q0-q1},        [O1,:128]!
-       vst1.u8         {q2-q3},        [O2,:128]!
-
-       cmp             O1,     END_O1
-       bne             2b
-
-       sub             HEIGHT, #2
-       mov             O1,     O2
-       add             O2,     PITCH,  lsl #1
-       mov             Y1,     Y2
-       add             Y2,     PITCH
-
-       cmp             HEIGHT, #0
-       bne             1b
-
-       pop             {r4-r7, pc}
-
-       .global i420_uyvy_neon
-       .type   i420_uyvy_neon, %function
-i420_uyvy_neon:
-       push            {r4-r7, lr}
-       ldmia           r1,     {Y1, U, V}
-       add             O2,     O1,     PITCH, lsl #1
-       add             Y2,     Y1,     PITCH
-1:
-       mov             END_O1, O2
-2:
-       pld             [U, #64]
-       vld1.u8         {d0},           [U,:64]!
-       pld             [V, #64]
-       vld1.u8         {d1},           [V,:64]!
-       pld             [Y1, #64]
-       vzip.u8         d0,     d1
-       vld1.u8         {q1},           [Y1,:128]!
-       pld             [Y2, #64]
-       vmov            q2,     q0
-       vzip.u8         q0,     q1
-       vld1.u8         {q3},           [Y2,:128]!
-       vzip.u8         q2,     q3
-       vst1.u8         {q0-q1},        [O1,:128]!
-       vst1.u8         {q2-q3},        [O2,:128]!
-
-       cmp             O1,     END_O1
-       bne             2b
-
-       sub             HEIGHT, #2
-       mov             O1,     O2
-       add             O2,     PITCH,  lsl #1
-       mov             Y1,     Y2
-       add             Y2,     PITCH
-
-       cmp             HEIGHT, #0
-       bne             1b
-
-       pop             {r4-r7, pc}
diff --git a/modules/arm_neon/i420_yuyv.S b/modules/arm_neon/i420_yuyv.S
new file mode 100644 (file)
index 0000000..8d8645c
--- /dev/null
@@ -0,0 +1,112 @@
+ @*****************************************************************************
+ @ i420_yuyv_neon.S : ARM NEONv1 I420 to YUYV chroma conversion
+ @*****************************************************************************
+ @ Copyright (C) 2009 Rémi Denis-Courmont
+ @
+ @ 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
+ @ the Free Software Foundation; either version 2 of the License, or
+ @ (at your option) any later version.
+ @
+ @ This program is distributed in the hope that it will be useful,
+ @ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ @ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ @ GNU General Public License for more details.
+ @
+ @ You should have received a copy of the GNU General Public License
+ @ along with this program; if not, write to the Free Software Foundation,
+ @ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
+ @****************************************************************************/
+
+       .fpu neon
+       .text
+
+#define O1     r0
+#define        O2      r1
+#define        PITCH   r2
+#define        HEIGHT  r3
+#define        Y1      r4
+#define        Y2      r5
+#define        U       r6
+#define        V       r7
+#define        END_O1  r12
+
+       .align
+       .global i420_yuyv_neon
+       .type   i420_yuyv_neon, %function
+i420_yuyv_neon:
+       push            {r4-r7, lr}
+       ldmia           r1,     {Y1, U, V}
+       add             O2,     O1,     PITCH, lsl #1
+       add             Y2,     Y1,     PITCH
+1:
+       mov             END_O1, O2
+       pld             [Y2]
+2:
+       pld             [U, #64]
+       vld1.u8         {d2},           [U,:64]!
+       pld             [V, #64]
+       vld1.u8         {d3},           [V,:64]!
+       pld             [Y1, #64]
+       vzip.u8         d2,     d3
+       vld1.u8         {q0},           [Y1,:128]!
+       pld             [Y2, #64]
+       vmov            q3,     q1
+       vzip.u8         q0,     q1
+       vld1.u8         {q2},           [Y2,:128]!
+       vzip.u8         q2,     q3
+       vst1.u8         {q0-q1},        [O1,:128]!
+       vst1.u8         {q2-q3},        [O2,:128]!
+
+       cmp             O1,     END_O1
+       bne             2b
+
+       sub             HEIGHT, #2
+       mov             O1,     O2
+       add             O2,     PITCH,  lsl #1
+       mov             Y1,     Y2
+       add             Y2,     PITCH
+
+       cmp             HEIGHT, #0
+       bne             1b
+
+       pop             {r4-r7, pc}
+
+       .global i420_uyvy_neon
+       .type   i420_uyvy_neon, %function
+i420_uyvy_neon:
+       push            {r4-r7, lr}
+       ldmia           r1,     {Y1, U, V}
+       add             O2,     O1,     PITCH, lsl #1
+       add             Y2,     Y1,     PITCH
+1:
+       mov             END_O1, O2
+2:
+       pld             [U, #64]
+       vld1.u8         {d0},           [U,:64]!
+       pld             [V, #64]
+       vld1.u8         {d1},           [V,:64]!
+       pld             [Y1, #64]
+       vzip.u8         d0,     d1
+       vld1.u8         {q1},           [Y1,:128]!
+       pld             [Y2, #64]
+       vmov            q2,     q0
+       vzip.u8         q0,     q1
+       vld1.u8         {q3},           [Y2,:128]!
+       vzip.u8         q2,     q3
+       vst1.u8         {q0-q1},        [O1,:128]!
+       vst1.u8         {q2-q3},        [O2,:128]!
+
+       cmp             O1,     END_O1
+       bne             2b
+
+       sub             HEIGHT, #2
+       mov             O1,     O2
+       add             O2,     PITCH,  lsl #1
+       mov             Y1,     Y2
+       add             Y2,     PITCH
+
+       cmp             HEIGHT, #0
+       bne             1b
+
+       pop             {r4-r7, pc}