-
Notifications
You must be signed in to change notification settings - Fork 1
/
ffmpeg64.patch
130 lines (118 loc) · 6.61 KB
/
ffmpeg64.patch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
--- xbmc/cores/dvdplayer/Codecs/ffmpeg/libavcodec/x86/dsputil_mmx.h.orig 2010-02-17 22:37:17.000000000 -0800
+++ xbmc/cores/dvdplayer/Codecs/ffmpeg/libavcodec/x86/dsputil_mmx.h 2010-02-17 22:41:27.000000000 -0800
@@ -27,37 +27,37 @@
typedef struct { uint64_t a, b; } xmm_reg;
-extern const uint64_t ff_bone;
-extern const uint64_t ff_wtwo;
+extern const uint64_t __attribute__((visibility("hidden"))) ff_bone;
+extern const uint64_t __attribute__((visibility("hidden"))) ff_wtwo;
-extern const uint64_t ff_pdw_80000000[2];
+extern const uint64_t __attribute__((visibility("hidden"))) ff_pdw_80000000[2];
-extern const uint64_t ff_pw_3;
-extern const uint64_t ff_pw_4;
-extern const xmm_reg ff_pw_5;
-extern const xmm_reg ff_pw_8;
-extern const uint64_t ff_pw_15;
-extern const xmm_reg ff_pw_16;
-extern const uint64_t ff_pw_20;
-extern const xmm_reg ff_pw_28;
-extern const xmm_reg ff_pw_32;
-extern const uint64_t ff_pw_42;
-extern const xmm_reg ff_pw_64;
-extern const uint64_t ff_pw_96;
-extern const uint64_t ff_pw_128;
-extern const uint64_t ff_pw_255;
-
-extern const uint64_t ff_pb_1;
-extern const uint64_t ff_pb_3;
-extern const uint64_t ff_pb_7;
-extern const uint64_t ff_pb_1F;
-extern const uint64_t ff_pb_3F;
-extern const uint64_t ff_pb_81;
-extern const uint64_t ff_pb_A1;
-extern const uint64_t ff_pb_FC;
+extern const uint64_t __attribute__((visibility("hidden"))) ff_pw_3;
+extern const uint64_t __attribute__((visibility("hidden"))) ff_pw_4;
+extern const xmm_reg __attribute__((visibility("hidden"))) ff_pw_5;
+extern const xmm_reg __attribute__((visibility("hidden"))) ff_pw_8;
+extern const uint64_t __attribute__((visibility("hidden"))) ff_pw_15;
+extern const xmm_reg __attribute__((visibility("hidden"))) ff_pw_16;
+extern const uint64_t __attribute__((visibility("hidden"))) ff_pw_20;
+extern const xmm_reg __attribute__((visibility("hidden"))) ff_pw_28;
+extern const xmm_reg __attribute__((visibility("hidden"))) ff_pw_32;
+extern const uint64_t __attribute__((visibility("hidden"))) ff_pw_42;
+extern const xmm_reg __attribute__((visibility("hidden"))) ff_pw_64;
+extern const uint64_t __attribute__((visibility("hidden"))) ff_pw_96;
+extern const uint64_t __attribute__((visibility("hidden"))) ff_pw_128;
+extern const uint64_t __attribute__((visibility("hidden"))) ff_pw_255;
+
+extern const uint64_t __attribute__((visibility("hidden"))) ff_pb_1;
+extern const uint64_t __attribute__((visibility("hidden"))) ff_pb_3;
+extern const uint64_t __attribute__((visibility("hidden"))) ff_pb_7;
+extern const uint64_t __attribute__((visibility("hidden"))) ff_pb_1F;
+extern const uint64_t __attribute__((visibility("hidden"))) ff_pb_3F;
+extern const uint64_t __attribute__((visibility("hidden"))) ff_pb_81;
+extern const uint64_t __attribute__((visibility("hidden"))) ff_pb_A1;
+extern const uint64_t __attribute__((visibility("hidden"))) ff_pb_FC;
-extern const double ff_pd_1[2];
-extern const double ff_pd_2[2];
+extern const double __attribute__((visibility("hidden"))) ff_pd_1[2];
+extern const double __attribute__((visibility("hidden"))) ff_pd_2[2];
#define LOAD4(stride,in,a,b,c,d)\
"movq 0*"#stride"+"#in", "#a"\n\t"\
--- xbmc/cores/dvdplayer/Codecs/ffmpeg/libavcodec/x86/vc1dsp_mmx.c.orig 2010-02-17 22:44:34.000000000 -0800
+++ xbmc/cores/dvdplayer/Codecs/ffmpeg/libavcodec/x86/vc1dsp_mmx.c 2010-02-17 22:45:31.000000000 -0800
@@ -73,7 +73,10 @@
"movq %%mm"#R1", "#OFF"(%1) \n\t" \
"add %2, %0 \n\t"
-DECLARE_ALIGNED_16(const uint64_t, ff_pw_9) = 0x0009000900090009ULL;
+#ifndef _ATTR_HIDDEN
+#define _ATTR_HIDDEN __attribute__((visibility("hidden")))
+#endif
+DECLARE_ALIGNED_16(const uint64_t, _ATTR_HIDDEN ff_pw_9) = 0x0009000900090009ULL;
/** Sacrifying mm6 allows to pipeline loads from src */
static void vc1_put_ver_16b_shift2_mmx(int16_t *dst,
--- xbmc/cores/dvdplayer/Codecs/ffmpeg/libswscale/swscale.c.orig 2010-02-17 22:51:41.000000000 -0800
+++ xbmc/cores/dvdplayer/Codecs/ffmpeg/libswscale/swscale.c 2010-02-17 22:56:00.000000000 -0800
@@ -221,6 +221,10 @@
write special BGR->BGR scaler
*/
+#ifndef _ATTR_HIDDEN
+#define _ATTR_HIDDEN __attribute__((visibility("hidden")))
+#endif
+
#if ARCH_X86 && CONFIG_GPL
DECLARE_ASM_CONST(8, uint64_t, bF8)= 0xF8F8F8F8F8F8F8F8LL;
DECLARE_ASM_CONST(8, uint64_t, bFC)= 0xFCFCFCFCFCFCFCFCLL;
@@ -246,22 +250,22 @@
DECLARE_ASM_CONST(8, uint64_t, g15Mask)= 0x03E003E003E003E0LL;
DECLARE_ASM_CONST(8, uint64_t, r15Mask)= 0x7C007C007C007C00LL;
-DECLARE_ALIGNED(8, const uint64_t, ff_M24A) = 0x00FF0000FF0000FFLL;
-DECLARE_ALIGNED(8, const uint64_t, ff_M24B) = 0xFF0000FF0000FF00LL;
-DECLARE_ALIGNED(8, const uint64_t, ff_M24C) = 0x0000FF0000FF0000LL;
+DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_M24A) = 0x00FF0000FF0000FFLL;
+DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_M24B) = 0xFF0000FF0000FF00LL;
+DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_M24C) = 0x0000FF0000FF0000LL;
#ifdef FAST_BGR2YV12
-DECLARE_ALIGNED(8, const uint64_t, ff_bgr2YCoeff) = 0x000000210041000DULL;
-DECLARE_ALIGNED(8, const uint64_t, ff_bgr2UCoeff) = 0x0000FFEEFFDC0038ULL;
-DECLARE_ALIGNED(8, const uint64_t, ff_bgr2VCoeff) = 0x00000038FFD2FFF8ULL;
+DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_bgr2YCoeff) = 0x000000210041000DULL;
+DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_bgr2UCoeff) = 0x0000FFEEFFDC0038ULL;
+DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_bgr2VCoeff) = 0x00000038FFD2FFF8ULL;
#else
-DECLARE_ALIGNED(8, const uint64_t, ff_bgr2YCoeff) = 0x000020E540830C8BULL;
-DECLARE_ALIGNED(8, const uint64_t, ff_bgr2UCoeff) = 0x0000ED0FDAC23831ULL;
-DECLARE_ALIGNED(8, const uint64_t, ff_bgr2VCoeff) = 0x00003831D0E6F6EAULL;
+DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_bgr2YCoeff) = 0x000020E540830C8BULL;
+DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_bgr2UCoeff) = 0x0000ED0FDAC23831ULL;
+DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_bgr2VCoeff) = 0x00003831D0E6F6EAULL;
#endif /* FAST_BGR2YV12 */
-DECLARE_ALIGNED(8, const uint64_t, ff_bgr2YOffset) = 0x1010101010101010ULL;
-DECLARE_ALIGNED(8, const uint64_t, ff_bgr2UVOffset) = 0x8080808080808080ULL;
-DECLARE_ALIGNED(8, const uint64_t, ff_w1111) = 0x0001000100010001ULL;
+DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_bgr2YOffset) = 0x1010101010101010ULL;
+DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_bgr2UVOffset) = 0x8080808080808080ULL;
+DECLARE_ALIGNED(8, const uint64_t, _ATTR_HIDDEN ff_w1111) = 0x0001000100010001ULL;
DECLARE_ASM_CONST(8, uint64_t, ff_bgr24toY1Coeff) = 0x0C88000040870C88ULL;
DECLARE_ASM_CONST(8, uint64_t, ff_bgr24toY2Coeff) = 0x20DE4087000020DEULL;