0006-contrib-png-fix-ARM-assembly-for-iOS.patch 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. From cd01b3d671af8f9243b7b73748ce27682faca7a7 Mon Sep 17 00:00:00 2001
  2. From: =?UTF-8?q?Felix=20Paul=20Ku=CC=88hne?= <fkuehne@videolan.org>
  3. Date: Sat, 20 Jul 2013 23:35:05 +0200
  4. Subject: [PATCH 06/20] contrib/png: fix ARM assembly for iOS
  5. ---
  6. contrib/src/png/ios.patch | 66 +++++++++++++++++++++++++++++++++++++++++++++++
  7. contrib/src/png/rules.mak | 14 +++++++++-
  8. 2 files changed, 79 insertions(+), 1 deletion(-)
  9. create mode 100644 contrib/src/png/ios.patch
  10. diff --git a/contrib/src/png/ios.patch b/contrib/src/png/ios.patch
  11. new file mode 100644
  12. index 0000000..f4b8bc1
  13. --- /dev/null
  14. +++ b/contrib/src/png/ios.patch
  15. @@ -0,0 +1,66 @@
  16. +diff -ru png/arm/filter_neon.S png-fixed/arm/filter_neon.S
  17. +--- png/arm/filter_neon.S 2013-06-27 05:25:41.000000000 +0200
  18. ++++ png-fixed/arm/filter_neon.S 2013-07-20 23:33:23.000000000 +0200
  19. +@@ -46,7 +46,7 @@
  20. + \name:
  21. + .endm
  22. +
  23. +-func png_read_filter_row_sub4_neon, export=1
  24. ++func _png_read_filter_row_sub4_neon, export=1
  25. + ldr r3, [r0, #4] @ rowbytes
  26. + vmov.i8 d3, #0
  27. + 1:
  28. +@@ -62,7 +62,7 @@
  29. + bx lr
  30. + endfunc
  31. +
  32. +-func png_read_filter_row_sub3_neon, export=1
  33. ++func _png_read_filter_row_sub3_neon, export=1
  34. + ldr r3, [r0, #4] @ rowbytes
  35. + vmov.i8 d3, #0
  36. + mov r0, r1
  37. +@@ -88,7 +88,7 @@
  38. + bx lr
  39. + endfunc
  40. +
  41. +-func png_read_filter_row_up_neon, export=1
  42. ++func _png_read_filter_row_up_neon, export=1
  43. + ldr r3, [r0, #4] @ rowbytes
  44. + 1:
  45. + vld1.8 {q0}, [r1,:128]
  46. +@@ -101,7 +101,7 @@
  47. + bx lr
  48. + endfunc
  49. +
  50. +-func png_read_filter_row_avg4_neon, export=1
  51. ++func _png_read_filter_row_avg4_neon, export=1
  52. + ldr r12, [r0, #4] @ rowbytes
  53. + vmov.i8 d3, #0
  54. + 1:
  55. +@@ -122,7 +122,7 @@
  56. + bx lr
  57. + endfunc
  58. +
  59. +-func png_read_filter_row_avg3_neon, export=1
  60. ++func _png_read_filter_row_avg3_neon, export=1
  61. + push {r4,lr}
  62. + ldr r12, [r0, #4] @ rowbytes
  63. + vmov.i8 d3, #0
  64. +@@ -173,7 +173,7 @@
  65. + vbsl \rx, \ra, d28
  66. + .endm
  67. +
  68. +-func png_read_filter_row_paeth4_neon, export=1
  69. ++func _png_read_filter_row_paeth4_neon, export=1
  70. + ldr r12, [r0, #4] @ rowbytes
  71. + vmov.i8 d3, #0
  72. + vmov.i8 d20, #0
  73. +@@ -196,7 +196,7 @@
  74. + bx lr
  75. + endfunc
  76. +
  77. +-func png_read_filter_row_paeth3_neon, export=1
  78. ++func _png_read_filter_row_paeth3_neon, export=1
  79. + push {r4,lr}
  80. + ldr r12, [r0, #4] @ rowbytes
  81. + vmov.i8 d3, #0
  82. diff --git a/contrib/src/png/rules.mak b/contrib/src/png/rules.mak
  83. index 468dd14..24b0b5f 100644
  84. --- a/contrib/src/png/rules.mak
  85. +++ b/contrib/src/png/rules.mak
  86. @@ -7,6 +7,15 @@ ifeq ($(call need_pkg,"libpng"),)
  87. PKGS_FOUND += png
  88. endif
  89. +PNGCONF =
  90. +ifdef HAVE_IOS
  91. +ifdef HAVE_ARMV7A
  92. +PNGCONF = --enable-arm-neon=yes
  93. +else
  94. +PNGCONF = --enable-arm-neon=no
  95. +endif
  96. +endif
  97. +
  98. $(TARBALLS)/libpng-$(PNG_VERSION).tar.xz:
  99. $(call download,$(PNG_URL))
  100. @@ -17,12 +26,15 @@ png: libpng-$(PNG_VERSION).tar.xz .sum-png
  101. $(APPLY) $(SRC)/png/winrt.patch
  102. $(APPLY) $(SRC)/png/bins.patch
  103. $(APPLY) $(SRC)/png/automake.patch
  104. +ifdef HAVE_IOS
  105. + $(APPLY) $(SRC)/png/ios.patch
  106. +endif
  107. $(MOVE)
  108. DEPS_png = zlib $(DEPS_zlib)
  109. .png: png
  110. $(RECONF)
  111. - cd $< && $(HOSTVARS) ./configure $(HOSTCONF)
  112. + cd $< && $(HOSTVARS) ./configure $(HOSTCONF) $(PNGCONF)
  113. cd $< && $(MAKE) install
  114. touch $@
  115. --
  116. 1.8.5.2 (Apple Git-48)