Commit 1da179d5 authored by Felix Paul Kühne's avatar Felix Paul Kühne

patches: remove patches moved to the VLCKit.git repository

parent 2a7b1e61
From 45f58af5e06564a3b161ddcee2cda2a4bd8dd123 Mon Sep 17 00:00:00 2001
From: David Geldreich <david.geldreich@free.fr>
Date: Fri, 20 Apr 2012 16:41:19 +0200
Subject: [PATCH 01/15] arm_neon: added function macro to handle the underscore
prefix for the iOS ARM ABI
---
modules/arm_neon/asm.S | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 49 insertions(+)
create mode 100644 modules/arm_neon/asm.S
diff --git a/modules/arm_neon/asm.S b/modules/arm_neon/asm.S
new file mode 100644
index 0000000..d853255
--- /dev/null
+++ b/modules/arm_neon/asm.S
@@ -0,0 +1,49 @@
+@*****************************************************************************
+@ asm.S : defines and macros
+@*****************************************************************************
+@ Copyright (C) 2012 David Geldreich <david.geldreich at free.fr>
+@
+@ 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.
+@****************************************************************************/
+
+#ifdef __APPLE__
+# define EXTERN_ASM _
+#else
+# define EXTERN_ASM
+#endif
+
+#ifdef __ELF__
+# define ELF
+#else
+# define ELF @
+#endif
+
+.macro function name, export=0
+ .macro endfunc
+ELF .size \name, . - \name
+ .endfunc
+ .purgem endfunc
+ .endm
+ .text
+ .align 2
+ .if \export
+ .global EXTERN_ASM\name
+EXTERN_ASM\name:
+ .endif
+ELF .type \name, %function
+ .func \name
+\name:
+.endm
+
--
1.8.3.4 (Apple Git-47)
From b695837cc67bf404332f68e90b828387f01510eb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Fri, 10 Aug 2012 16:01:49 +0200
Subject: [PATCH 02/15] arm_neon: use a macro to fix compilation for iOS
---
modules/arm_neon/amplify.S | 9 +++---
modules/arm_neon/simple_channel_mixer.S | 57 +++++++++++++++------------------
2 files changed, 31 insertions(+), 35 deletions(-)
diff --git a/modules/arm_neon/amplify.S b/modules/arm_neon/amplify.S
index 5938118..578f972 100644
--- a/modules/arm_neon/amplify.S
+++ b/modules/arm_neon/amplify.S
@@ -18,6 +18,8 @@
@ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
@****************************************************************************/
+#include "asm.S"
+
.syntax unified
.arm
.fpu neon
@@ -26,10 +28,8 @@
#define DST r0
#define SRC r1
#define SIZE r2
- .align 2
- .global amplify_float_arm_neon
- .type amplify_float_arm_neon, %function
-amplify_float_arm_neon:
+
+function amplify_float_arm_neon, export=1
cmp SIZE, #0
bxeq lr
#ifdef __ARM_PCS
@@ -79,3 +79,4 @@ amplify_float_arm_neon:
4: vst1.f32 {d20-d21}, [DST,:128]!
5: vst1.f32 {d16-d17}, [DST,:128]!
bx lr
+endfunc
diff --git a/modules/arm_neon/simple_channel_mixer.S b/modules/arm_neon/simple_channel_mixer.S
index dcc51ed..4722be4 100644
--- a/modules/arm_neon/simple_channel_mixer.S
+++ b/modules/arm_neon/simple_channel_mixer.S
@@ -19,6 +19,8 @@
@ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
@****************************************************************************/
+#include "asm.S"
+
.fpu neon
.text
.align 2
@@ -34,9 +36,8 @@ coeff_7to2:
.float 0.5
.float 0.25
.float 0.25
- .global convert_7to2_neon_asm
- .type convert_7to2_neon_asm, %function
-convert_7to2_neon_asm:
+
+function convert_7to2_neon_asm, export=1
push {r4,lr}
adr COEFF, coeff_7to2
@@ -63,16 +64,15 @@ convert_7to2_neon_asm:
bne 0b
pop {r4,pc}
-
+endfunc
coeff_5to2:
.float 0.5
.float 0.5
.float 0.33
.float 0.33
- .global convert_5to2_neon_asm
- .type convert_5to2_neon_asm, %function
-convert_5to2_neon_asm:
+
+function convert_5to2_neon_asm, export=1
push {r4,lr}
adr COEFF, coeff_5to2
@@ -95,14 +95,13 @@ convert_5to2_neon_asm:
bne 0b
pop {r4,pc}
-
+endfunc
coeff_4to2:
.float 0.5
.float 0.5
- .global convert_4to2_neon_asm
- .type convert_4to2_neon_asm, %function
-convert_4to2_neon_asm:
+
+function convert_4to2_neon_asm, export=1
push {r4,lr}
adr COEFF, coeff_4to2
@@ -119,14 +118,13 @@ convert_4to2_neon_asm:
bne 0b
pop {r4,pc}
-
+endfunc
coeff_3to2:
.float 0.5
.float 0.5
- .global convert_3to2_neon_asm
- .type convert_3to2_neon_asm, %function
-convert_3to2_neon_asm:
+
+function convert_3to2_neon_asm, export=1
push {r4,lr}
adr COEFF, coeff_3to2
@@ -147,16 +145,15 @@ convert_3to2_neon_asm:
bne 0b
pop {r4,pc}
-
+endfunc
coeff_7to1:
.float 0.25
.float 0.25
.float 0.125
.float 0.125
- .global convert_7to1_neon_asm
- .type convert_7to1_neon_asm, %function
-convert_7to1_neon_asm:
+
+function convert_7to1_neon_asm, export=1
push {r4,lr}
adr COEFF, coeff_7to1
@@ -181,16 +178,15 @@ convert_7to1_neon_asm:
bne 0b
pop {r4,pc}
-
+endfunc
coeff_5to1:
.float 0.25
.float 0.25
.float 0.16666667
.float 0.16666667
- .global convert_5to1_neon_asm
- .type convert_5to1_neon_asm, %function
-convert_5to1_neon_asm:
+
+function convert_5to1_neon_asm, export=1
push {r4,lr}
adr COEFF, coeff_5to1
@@ -212,16 +208,15 @@ convert_5to1_neon_asm:
bne 0b
pop {r4,pc}
-
+endfunc
coeff_7to4:
.float 0.5
.float 0.5
.float 0.16666667
.float 0.16666667
- .global convert_7to4_neon_asm
- .type convert_7to4_neon_asm, %function
-convert_7to4_neon_asm:
+
+function convert_7to4_neon_asm, export=1
push {r4,lr}
adr COEFF, coeff_7to4
@@ -247,14 +242,13 @@ convert_7to4_neon_asm:
bne 0b
pop {r4,pc}
-
+endfunc
coeff_5to4:
.float 0.5
.float 0.5
- .global convert_5to4_neon_asm
- .type convert_5to4_neon_asm, %function
-convert_5to4_neon_asm:
+
+function convert_5to4_neon_asm, export=1
push {r4,lr}
adr COEFF, coeff_5to4
@@ -277,3 +271,4 @@ convert_5to4_neon_asm:
bne 0b
pop {r4,pc}
+endfunc
--
1.8.3.4 (Apple Git-47)
From 050e919944b842b9c84f217ac75c396ea2b8f34b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Fri, 10 Aug 2012 16:02:07 +0200
Subject: [PATCH 03/15] deinterlace/merge: use a macro to fix compilation for
iOS
---
modules/video_filter/deinterlace/merge_arm.S | 26 ++++++++++----------------
1 file changed, 10 insertions(+), 16 deletions(-)
diff --git a/modules/video_filter/deinterlace/merge_arm.S b/modules/video_filter/deinterlace/merge_arm.S
index dd77902..03e5042 100644
--- a/modules/video_filter/deinterlace/merge_arm.S
+++ b/modules/video_filter/deinterlace/merge_arm.S
@@ -18,6 +18,8 @@
@ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
@****************************************************************************/
+#include "../../arm_neon/asm.S"
+
.syntax unified
.arm
.arch armv6
@@ -29,11 +31,8 @@
#define SRC2 r2
#define SIZE r3
- .align 2
- .global merge8_arm_neon
- .type merge8_arm_neon, %function
@ NOTE: Offset and pitch must be multiple of 16-bytes in VLC.
-merge8_arm_neon:
+function merge8_arm_neon, export=1
cmp SIZE, #64
blo 2f
1:
@@ -70,11 +69,9 @@ merge8_arm_neon:
vhadd.u8 q0, q0, q8
vst1.u8 {q0}, [DEST,:128]!
bx lr
+endfunc
- .align 2
- .global merge16_arm_neon
- .type merge16_arm_neon, %function
-merge16_arm_neon:
+function merge16_arm_neon, export=1
cmp SIZE, #64
blo 2f
1:
@@ -111,11 +108,9 @@ merge16_arm_neon:
vhadd.u16 q0, q0, q8
vst1.u16 {q0}, [DEST,:128]!
bx lr
+endfunc
- .align 2
- .global merge8_armv6
- .type merge8_armv6, %function
-merge8_armv6:
+function merge8_armv6, export=1
push {r4-r9,lr}
1:
pld [SRC1, #64]
@@ -133,11 +128,9 @@ merge8_armv6:
stm DEST!, {r6-r7}
popeq {r4-r9,pc}
b 1b
+endfunc
- .align 2
- .global merge16_armv6
- .type merge16_armv6, %function
-merge16_armv6:
+function merge16_armv6, export=1
push {r4-r9,lr}
1:
pld [SRC1, #64]
@@ -155,3 +148,4 @@ merge16_armv6:
stm DEST!, {r6-r7}
popeq {r4-r9,pc}
b 1b
+endfunc
--
1.8.3.4 (Apple Git-47)
From d9c5a7316ec8565bef6da6c387ecf139fde1c31b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Sat, 11 Aug 2012 13:29:25 +0200
Subject: [PATCH 04/15] contrib/ebml+mkv: compile with hidden symbols on iOS
---
contrib/src/ebml/rules.mak | 7 +++++--
contrib/src/matroska/rules.mak | 6 +++++-
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/contrib/src/ebml/rules.mak b/contrib/src/ebml/rules.mak
index 1d01818..a36727c 100644
--- a/contrib/src/ebml/rules.mak
+++ b/contrib/src/ebml/rules.mak
@@ -16,8 +16,11 @@ libebml: libebml-$(EBML_VERSION).tar.bz2 .sum-ebml
$(MOVE)
# libebml requires exceptions
-EBML_EXTRA_FLAGS = CXXFLAGS="${CXXFLAGS} -fexceptions" \
- CPPFLAGS=""
+ifdef HAVE_IOS
+EBML_EXTRA_FLAGS = CXXFLAGS="${CXXFLAGS} -fexceptions -fvisibility=hidden" CPPFLAGS=""
+else
+EBML_EXTRA_FLAGS = CXXFLAGS="${CXXFLAGS} -fexceptions" CPPFLAGS=""
+endif
.ebml: libebml
ifdef HAVE_WIN32
diff --git a/contrib/src/matroska/rules.mak b/contrib/src/matroska/rules.mak
index 57d7f15..5e63db6 100644
--- a/contrib/src/matroska/rules.mak
+++ b/contrib/src/matroska/rules.mak
@@ -18,11 +18,15 @@ libmatroska: libmatroska-$(MATROSKA_VERSION).tar.bz2 .sum-matroska
$(APPLY) $(SRC)/matroska/matroska-pic.patch
$(MOVE)
+ifdef HAVE_IOS
+MATROSKA_EXTRA_FLAGS = CXXFLAGS="${CXXFLAGS} -fvisibility=hidden"
+endif
+
.matroska: libmatroska
ifdef HAVE_WIN32
cd $< && $(MAKE) -C make/mingw32 prefix="$(PREFIX)" $(HOSTVARS) SHARED=no EBML_DLL=no libmatroska.a
else
- cd $< && $(MAKE) -C make/linux prefix="$(PREFIX)" $(HOSTVARS) staticlib
+ cd $< && $(MAKE) -C make/linux prefix="$(PREFIX)" $(HOSTVARS) $(MATROSKA_EXTRA_FLAGS) staticlib
endif
cd $< && $(MAKE) -C make/linux install_staticlib install_headers prefix="$(PREFIX)" $(HOSTVARS)
$(RANLIB) "$(PREFIX)/lib/libmatroska.a"
--
1.8.3.4 (Apple Git-47)
From f168369d2ba1b2b6ccaa2303eb9b1ecc7febbb16 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Thu, 18 Oct 2012 18:38:17 +0200
Subject: [PATCH 05/15] posix/thread: add a hack to work-around crashes when
using the buggy iOS 6 runtime
---
src/posix/thread.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/src/posix/thread.c b/src/posix/thread.c
index 514f592..6a95bb0 100644
--- a/src/posix/thread.c
+++ b/src/posix/thread.c
@@ -355,6 +355,18 @@ void vlc_cond_init_daytime (vlc_cond_t *p_condvar)
void vlc_cond_destroy (vlc_cond_t *p_condvar)
{
int val = pthread_cond_destroy( p_condvar );
+
+#ifdef __APPLE__
+ if (val != 0) {
+ printf("pthread_cond_destroy returned %i\n", val);
+
+ if (val == EBUSY) {
+ printf("this is a EBUSY!\n");
+ return;
+ }
+ }
+#endif
+
VLC_THREAD_ASSERT ("destroying condition");
}
--
1.8.3.4 (Apple Git-47)
From cecc12556227e0c28fdb5d8841e6101e7160a5f2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Fri, 19 Jul 2013 18:38:41 +0700
Subject: [PATCH 06/15] freetype: added a fake font lookup mechanism for iOS to
use the packaged demo fonts
---
modules/text_renderer/freetype.c | 42 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
diff --git a/modules/text_renderer/freetype.c b/modules/text_renderer/freetype.c
index 05fa2a2..9a00739 100644
--- a/modules/text_renderer/freetype.c
+++ b/modules/text_renderer/freetype.c
@@ -106,6 +106,9 @@
#include <TargetConditionals.h>
#if !TARGET_OS_IPHONE
#include <Carbon/Carbon.h>
+#else
+#include <CoreFoundation/CoreFoundation.h>
+#include <vlc_url.h>
#endif
#include <sys/param.h> /* for MAXPATHLEN */
#undef HAVE_FONTCONFIG
@@ -807,6 +810,40 @@ static char* MacLegacy_Select( filter_t *p_filter, const char* psz_fontname,
return psz_path;
}
+#else
+static char *iOSFake_Select( filter_t *p_filter, bool b_monospace, bool b_bold,
+ bool b_italic )
+{
+ // included for future implementation
+ VLC_UNUSED(p_filter);
+ VLC_UNUSED(b_bold);
+ VLC_UNUSED(b_italic);
+ VLC_UNUSED(b_monospace);
+
+ CFURLRef fileURL;
+ fileURL = CFBundleCopyResourceURL(CFBundleGetMainBundle(), b_monospace ?
+ CFSTR("OpenSans-Regular.ttf") : CFSTR("SourceCodePro-Regular.ttf"),
+ NULL,
+ NULL);
+ CFStringRef urlString = CFURLCopyFileSystemPath(fileURL, kCFURLPOSIXPathStyle);
+ CFRelease(fileURL);
+
+ if (!urlString)
+ return NULL;
+
+ CFIndex length = CFStringGetLength(urlString);
+ if (!length)
+ return NULL;
+ length++;
+
+ char *psz_path = (char *)malloc(length);
+ CFStringGetCString(urlString, psz_path, length, kCFStringEncodingUTF8);
+ CFRelease(urlString);
+
+ psz_path = strdup(psz_path);
+
+ return psz_path;
+}
#endif
#endif
@@ -1988,6 +2025,8 @@ static FT_Face LoadFace( filter_t *p_filter,
#elif defined( __APPLE__ )
#if !TARGET_OS_IPHONE
psz_fontfile = MacLegacy_Select( p_filter, p_style->psz_fontname, false, false, -1, &i_idx );
+#else
+ psz_fontfile = iOSFake_Select( p_filter, false, false, false );
#endif
#elif defined( _WIN32 )
psz_fontfile = Win32_Select( p_filter,
@@ -2890,6 +2929,9 @@ static int Create( vlc_object_t *p_this )
#elif defined(__APPLE__)
#if !TARGET_OS_IPHONE
psz_fontfile = MacLegacy_Select( p_filter, psz_fontfamily, false, false, 0, &fontindex );
+#else
+ psz_fontfile = iOSFake_Select( p_filter, false, false, false );
+ psz_monofontfile = iOSFake_Select( p_filter, true, false, false );
#endif
#elif defined(_WIN32)
psz_fontfile = Win32_Select( p_filter, psz_fontfamily, false, false,
--
1.8.3.4 (Apple Git-47)
<
From 905187dae126c16116f4a47a3f0af7aad8f6682f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
Date: Wed, 29 May 2013 13:25:54 +0200
Subject: [PATCH 07/15] libass: fix text rendering on iOS by providing a font
lookup mechanism for the font shipped with Aspen
---
modules/codec/libass.c | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/modules/codec/libass.c b/modules/codec/libass.c
index aa38f1b..38961bc 100644
--- a/modules/codec/libass.c
+++ b/modules/codec/libass.c
@@ -29,6 +29,13 @@
# include "config.h"
#endif
+#if defined (__APPLE__)
+#include <TargetConditionals.h>
+#if TARGET_OS_IPHONE
+#include <CoreFoundation/CoreFoundation.h>
+#endif
+#endif
+
#include <string.h>
#include <limits.h>
#include <assert.h>
@@ -213,6 +220,34 @@ static int Create( vlc_object_t *p_this )
#if defined( __ANDROID__ )
const char *psz_font = "/system/fonts/DroidSans-Bold.ttf";
const char *psz_family = "Droid Sans Bold";
+#elif defined (__APPLE__)
+#if !TARGET_OS_IPHONE
+ const char *psz_font = NULL; /* We don't ship a default font with VLC */
+ const char *psz_family = "Arial"; /* Use Arial if we can't find anything more suitable */
+#else
+ CFURLRef fileURL;
+ fileURL = CFBundleCopyResourceURL(CFBundleGetMainBundle(), CFSTR("OpenSans-Regular.ttf"),
+ NULL,
+ NULL);
+ CFStringRef urlString = CFURLCopyFileSystemPath(fileURL, kCFURLPOSIXPathStyle);
+ CFRelease(fileURL);
+
+ if (!urlString)
+ return VLC_EGENERIC;
+
+ CFIndex length = CFStringGetLength(urlString);
+ if (!length)
+ return VLC_EGENERIC;
+ length++;
+
+ char *psz_path = (char *)malloc(length);
+ CFStringGetCString(urlString, psz_path, length, kCFStringEncodingUTF8);
+ CFRelease(urlString);
+
+ const char *psz_font = (const char *)strdup(psz_path);
+ free(psz_path);
+ const char *psz_family = "Open Sans";
+#endif
#else
const char *psz_font = NULL; /* We don't ship a default font with VLC */
const char *psz_family = "Arial"; /* Use Arial if we can't find anything more suitable */
--
1.8.3.4 (Apple Git-47)