[linphone] fix armv7hl compilation

nucleo nucleo at fedoraproject.org
Sat Jul 27 10:03:16 UTC 2013


commit 16195623df8d785760d82ef474a5abb0ef354278
Author: nucleo <nucleo at fedoraproject.org>
Date:   Sat Jul 27 13:03:04 2013 +0300

    fix armv7hl compilation

 linphone-3.6.1-arm.patch |   63 ++++++++++++++++++++++++++++++++++++++++++++++
 linphone.spec            |    5 +++
 2 files changed, 68 insertions(+), 0 deletions(-)
---
diff --git a/linphone-3.6.1-arm.patch b/linphone-3.6.1-arm.patch
new file mode 100644
index 0000000..e925ce5
--- /dev/null
+++ b/linphone-3.6.1-arm.patch
@@ -0,0 +1,63 @@
+--- linphone-3.6.1/mediastreamer2/src/voip/msvideo_neon.c	2013-01-14 17:13:45.990192572 +0200
++++ linphone-3.6.1/mediastreamer2/src/voip/msvideo_neon.c	2013-07-27 12:58:00.366301016 +0300
+@@ -379,8 +379,8 @@
+ #endif
+ }
+ 
+-static void reverse_and_down_scale_32bytes_neon(unsigned char* src, unsigned char* dest) {
+ #ifdef __ARM_NEON__
++static void reverse_and_down_scale_32bytes_neon(unsigned char* src, unsigned char* dest) {
+ 	__asm  (/*load 16x1 pixel
+ 			 [  0,  1,  2,  3,  4,  5,  6,  7, 8, 9, 10, 11, 12, 13, 14, 15]*/
+ 			"vld2.8 {q0,q1},[%0] \n\t"
+@@ -395,11 +395,11 @@
+ 			: "r"(src),"r"(dest)/*in*/
+ 			: "r4","q0","q1","memory" /*modified*/
+ 			);
+-#endif
+ }
++#endif
+ 
+-static void reverse_16bytes_neon(unsigned char* src, unsigned char* dest) {
+ #ifdef __ARM_NEON__
++static void reverse_16bytes_neon(unsigned char* src, unsigned char* dest) {
+ 	__asm  (/*load 16x1 pixel
+ 			[  0,  1,  2,  3,  4,  5,  6,  7, 8, 9, 10, 11, 12, 13, 14, 15]*/
+ 		   "vld1.8 {d0,d1},[%0] \n\t"
+@@ -414,11 +414,11 @@
+ 		   : "r"(src),"r"(dest)/*in*/
+ 		   : "r4","d0","d1","memory" /*modified*/
+ 		   );
+-#endif
+ }
++#endif
+ 
+-static void deinterlace_and_reverse_2x8bytes_neon(unsigned char* src, unsigned char* udest, unsigned char* vdest) {
+ #ifdef __ARM_NEON__
++static void deinterlace_and_reverse_2x8bytes_neon(unsigned char* src, unsigned char* udest, unsigned char* vdest) {
+ 	__asm  (/*load 16x1 values
+ 			[  U0, V0, U1, V1, U2, V2, U3, V3, U4, V4, U5, V5, U6, V6, U7, V7]
+ 			[  U0, U1, U2, U3, U4, U5, U6, U7, V0, V1, V2, V3, V4, V5, V6, V7]*/
+@@ -434,10 +434,10 @@
+ 		   : "r"(src),"r"(udest),"r"(vdest)/*in*/
+ 		   : "r4","d0","d1","memory" /*modified*/
+ 		   );
+-#endif
+ }
+-static void deinterlace_down_scale_and_reverse_2x16bytes_neon(unsigned char* src, unsigned char* udest, unsigned char* vdest) {
++#endif
+ #ifdef __ARM_NEON__
++static void deinterlace_down_scale_and_reverse_2x16bytes_neon(unsigned char* src, unsigned char* udest, unsigned char* vdest) {
+ 	__asm  (/*load 32x1 values*/
+ 			
+ 			"vld4.8 {d0,d1,d2,d3},[%0] \n\t" /*only keep half*/ 
+@@ -453,8 +453,8 @@
+ 			: "r"(src),"r"(udest),"r"(vdest)/*in*/
+ 			: "r4","q0","q1","memory" /*modified*/
+ 			);
+-#endif
+ }
++#endif
+ 
+ void deinterlace_down_scale_neon(uint8_t* ysrc, uint8_t* cbcrsrc, uint8_t* ydst, uint8_t* u_dst, uint8_t* v_dst, int w, int h, int y_byte_per_row,int cbcr_byte_per_row,bool_t down_scale) {
+ #ifdef __ARM_NEON__
diff --git a/linphone.spec b/linphone.spec
index 1d44d8e..988524e 100644
--- a/linphone.spec
+++ b/linphone.spec
@@ -8,6 +8,7 @@ URL:            http://www.linphone.org/
 
 Source0:        http://download.savannah.gnu.org/releases/linphone/3.5.x/sources/%{name}-%{version}.tar.gz
 Patch0:         linphone-3.6.1-rootca.patch
+Patch1:         linphone-3.6.1-arm.patch
 
 # for video support
 BuildRequires:  glew-devel
@@ -97,6 +98,9 @@ Libraries and headers required to develop software with mediastreamer2.
 %prep
 %setup0 -q
 %patch0 -p1 -b .rootca
+%ifarch %{arm}
+%patch1 -p1 -b .arm
+%endif
 
 autoreconf -i -f
 
@@ -207,6 +211,7 @@ mv $RPM_BUILD_ROOT%{_datadir}/doc/mediastreamer*/html doc/mediastreamer
 %changelog
 * Sat Jul 27 2013 Alexey Kurov <nucleo at fedoraproject.org> - 3.6.1-2
 - use /etc/ssl/certs/ca-bundle.crt root_ca
+- fix armv7hl compilation
 
 * Sun Jul  7 2013 Alexey Kurov <nucleo at fedoraproject.org> - 3.6.1-1
 - linphone-3.6.1


More information about the scm-commits mailing list