1 |
aballier 09/10/02 21:42:18 |
2 |
|
3 |
Added: 010_all_freetype-font.patch |
4 |
020_all_check_headers_regexps.patch |
5 |
030_all_xcb_sysconf_bsd.patch 300_all_pic.patch |
6 |
310_all_mmx_pic.patch |
7 |
320_all_disable_media_list_player_tests.patch |
8 |
530_all_older_xcb_xv.patch 540_all_x264.patch |
9 |
550_all_nofc.patch series |
10 |
Log: |
11 |
add patches for 1.0-bugfix as future 1.0.3 |
12 |
|
13 |
Revision Changes Path |
14 |
1.1 src/patchsets/vlc/1.0.3/010_all_freetype-font.patch |
15 |
|
16 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/1.0.3/010_all_freetype-font.patch?rev=1.1&view=markup |
17 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/1.0.3/010_all_freetype-font.patch?rev=1.1&content-type=text/plain |
18 |
|
19 |
Index: 010_all_freetype-font.patch |
20 |
=================================================================== |
21 |
The default font used by VLC does not exists on every system, instead of that, |
22 |
we use DejaVU, and add it to the dependencies, as anyway many people have that |
23 |
font installed. |
24 |
|
25 |
Index: vlc/modules/misc/freetype.c |
26 |
=================================================================== |
27 |
--- vlc.orig/modules/misc/freetype.c |
28 |
+++ vlc/modules/misc/freetype.c |
29 |
@@ -64,8 +64,8 @@ |
30 |
#define DEFAULT_FONT "" /* Default font found at run-time */ |
31 |
#define FC_DEFAULT_FONT "Arial" |
32 |
#else |
33 |
-#define DEFAULT_FONT "/usr/share/fonts/truetype/freefont/FreeSerifBold.ttf" |
34 |
-#define FC_DEFAULT_FONT "Serif Bold" |
35 |
+#define DEFAULT_FONT "/usr/share/fonts/dejavu/DejaVuSans.ttf" |
36 |
+#define FC_DEFAULT_FONT "Sans" |
37 |
#endif |
38 |
|
39 |
#if defined(HAVE_FRIBIDI) |
40 |
|
41 |
|
42 |
|
43 |
1.1 src/patchsets/vlc/1.0.3/020_all_check_headers_regexps.patch |
44 |
|
45 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/1.0.3/020_all_check_headers_regexps.patch?rev=1.1&view=markup |
46 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/1.0.3/020_all_check_headers_regexps.patch?rev=1.1&content-type=text/plain |
47 |
|
48 |
Index: 020_all_check_headers_regexps.patch |
49 |
=================================================================== |
50 |
This fixes weird check_headers failures when it also matches things like 'const' which are obviously allowed in the public headers and cause check failures due to these false positives. |
51 |
--- |
52 |
src/check_headers | 2 +- |
53 |
1 files changed, 1 insertions(+), 1 deletions(-) |
54 |
|
55 |
Index: vlc-1.0.1/src/check_headers |
56 |
=================================================================== |
57 |
--- vlc-1.0.1.orig/src/check_headers |
58 |
+++ vlc-1.0.1/src/check_headers |
59 |
@@ -6,7 +6,7 @@ cd "$(dirname "$0")" || exit $? |
60 |
# Look for configure #defines in public headers. |
61 |
# There are incorrect, as external users don't have our <config.h>. |
62 |
regexp="$(cat ../config.h.in | \ |
63 |
- sed -n -e 's/^#undef \([A-Z0-9_]*\)$/\1/p' | \ |
64 |
+ sed -n -e 's/^#undef \([[:upper:][:digit:]_]*\)$/\1/p' | \ |
65 |
grep -v 'WORDS_BIGENDIAN' | \ |
66 |
xargs | \ |
67 |
sed -e 's/ /\\\|/g')" |
68 |
|
69 |
|
70 |
|
71 |
1.1 src/patchsets/vlc/1.0.3/030_all_xcb_sysconf_bsd.patch |
72 |
|
73 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/1.0.3/030_all_xcb_sysconf_bsd.patch?rev=1.1&view=markup |
74 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/1.0.3/030_all_xcb_sysconf_bsd.patch?rev=1.1&content-type=text/plain |
75 |
|
76 |
Index: 030_all_xcb_sysconf_bsd.patch |
77 |
=================================================================== |
78 |
commit a73ea66ebb2b60d1e2e83a9ab17feefb8ad15e16 |
79 |
Author: Alexis Ballier <aballier@g.o> |
80 |
Date: Fri Jul 10 15:04:42 2009 +0200 |
81 |
|
82 |
xcb_window: Use sysconf to discover HOST_NAME_MAX. |
83 |
|
84 |
POSIX does not mandate HOST_NAME_MAX to be defined and FreeBSD does not |
85 |
define it to encourage people to use sysconf() for discovering its |
86 |
value. If sysconf fails, fallback to _POSIX_HOST_NAME_MAX. |
87 |
|
88 |
Signed-off-by: Rémi Denis-Courmont <remi@××××××.net> (with minor changes) |
89 |
|
90 |
Index: vlc-1.0.1/modules/video_output/xcb/window.c |
91 |
=================================================================== |
92 |
--- vlc-1.0.1.orig/modules/video_output/xcb/window.c |
93 |
+++ vlc-1.0.1/modules/video_output/xcb/window.c |
94 |
@@ -27,8 +27,8 @@ |
95 |
#include <stdarg.h> |
96 |
#include <assert.h> |
97 |
#include <poll.h> |
98 |
-#include <unistd.h> /* gethostname() */ |
99 |
-#include <limits.h> /* HOST_NAME_MAX */ |
100 |
+#include <unistd.h> /* gethostname() and sysconf() */ |
101 |
+#include <limits.h> /* _POSIX_HOST_NAME_MAX */ |
102 |
|
103 |
#include <xcb/xcb.h> |
104 |
typedef xcb_atom_t Atom; |
105 |
@@ -96,13 +96,18 @@ void set_ascii_prop (xcb_connection_t *c |
106 |
static inline |
107 |
void set_hostname_prop (xcb_connection_t *conn, xcb_window_t window) |
108 |
{ |
109 |
- char hostname[HOST_NAME_MAX]; |
110 |
+ char* hostname; |
111 |
+ long host_name_max = sysconf (_SC_HOST_NAME_MAX); |
112 |
+ if (host_name_max <= 0) host_name_max = _POSIX_HOST_NAME_MAX; |
113 |
+ hostname = malloc (host_name_max); |
114 |
+ if(!hostname) return; |
115 |
|
116 |
- if (gethostname (hostname, sizeof (hostname)) == 0) |
117 |
+ if (gethostname (hostname, host_name_max) == 0) |
118 |
{ |
119 |
- hostname[sizeof (hostname) - 1] = '\0'; |
120 |
+ hostname[host_name_max - 1] = '\0'; |
121 |
set_ascii_prop (conn, window, XA_WM_CLIENT_MACHINE, hostname); |
122 |
} |
123 |
+ free(hostname); |
124 |
} |
125 |
|
126 |
static inline |
127 |
|
128 |
|
129 |
|
130 |
1.1 src/patchsets/vlc/1.0.3/300_all_pic.patch |
131 |
|
132 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/1.0.3/300_all_pic.patch?rev=1.1&view=markup |
133 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/1.0.3/300_all_pic.patch?rev=1.1&content-type=text/plain |
134 |
|
135 |
Index: 300_all_pic.patch |
136 |
=================================================================== |
137 |
Index: vlc-1.0.1/libs/loader/Makefile.am |
138 |
=================================================================== |
139 |
--- vlc-1.0.1.orig/libs/loader/Makefile.am |
140 |
+++ vlc-1.0.1/libs/loader/Makefile.am |
141 |
@@ -14,7 +14,7 @@ noinst_LTLIBRARIES = libloader.la |
142 |
# TODO: real check for vsscanf() and <sys/mmap.h> |
143 |
AM_CPPFLAGS = -D__WINE__ -DHAVE_SYS_MMAN_H=1 -DHAVE_VSSCANF=1 \ |
144 |
-DWIN32_PATH=\"\" -DTRACE\(...\)=\(void\)0 |
145 |
-AM_CFLAGS = -fno-PIC `$(top_builddir)/vlc-config --cflags` -U_FILE_OFFSET_BITS \ |
146 |
+AM_CFLAGS = -fPIC `$(top_builddir)/vlc-config --cflags` -U_FILE_OFFSET_BITS \ |
147 |
-fno-omit-frame-pointer -mno-omit-leaf-frame-pointer |
148 |
|
149 |
noinst_HEADERS = com.h driver.h ext.h ldt_keeper.h loader.h registry.h \ |
150 |
Index: vlc-1.0.1/libs/loader/module.c |
151 |
=================================================================== |
152 |
--- vlc-1.0.1.orig/libs/loader/module.c |
153 |
+++ vlc-1.0.1/libs/loader/module.c |
154 |
@@ -63,8 +63,8 @@ |
155 |
|
156 |
#ifdef EMU_QTX_API |
157 |
#include "wrapper.h" |
158 |
-static int report_func(void *stack_base, int stack_size, reg386_t *reg, uint32_t *flags); |
159 |
-static int report_func_ret(void *stack_base, int stack_size, reg386_t *reg, uint32_t *flags); |
160 |
+int report_func(void *stack_base, int stack_size, reg386_t *reg, uint32_t *flags); |
161 |
+int report_func_ret(void *stack_base, int stack_size, reg386_t *reg, uint32_t *flags); |
162 |
#endif |
163 |
|
164 |
//#undef TRACE |
165 |
@@ -572,8 +572,6 @@ HMODULE WINAPI LoadLibraryExA(LPCSTR lib |
166 |
fprintf(stderr,"QuickTime.qts patched!!! old entry=%p\n",ptr[0]); |
167 |
|
168 |
#ifdef EMU_QTX_API |
169 |
- report_entry = report_func; |
170 |
- report_ret = report_func_ret; |
171 |
wrapper_target=ptr[0]; |
172 |
ptr[0]=wrapper; |
173 |
#endif |
174 |
@@ -754,7 +752,7 @@ static int dump_component(char* name,int |
175 |
static uint32_t ret_array[4096]; |
176 |
static int ret_i=0; |
177 |
|
178 |
-static int report_func(void *stack_base, int stack_size, reg386_t *reg, uint32_t *flags) |
179 |
+int report_func(void *stack_base, int stack_size, reg386_t *reg, uint32_t *flags) |
180 |
{ |
181 |
#ifdef DEBUG_QTX_API |
182 |
int i; |
183 |
@@ -953,7 +951,7 @@ static int report_func(void *stack_base, |
184 |
return 0; |
185 |
} |
186 |
|
187 |
-static int report_func_ret(void *stack_base, int stack_size, reg386_t *reg, uint32_t *flags) |
188 |
+int report_func_ret(void *stack_base, int stack_size, reg386_t *reg, uint32_t *flags) |
189 |
{ |
190 |
int i; |
191 |
short err; |
192 |
@@ -1066,8 +1064,6 @@ FARPROC MODULE_GetProcAddress( |
193 |
// || !strcmp(function,"_CallComponent") |
194 |
){ |
195 |
fprintf(stderr,"theQuickTimeDispatcher catched -> %p\n",retproc); |
196 |
- report_entry = report_func; |
197 |
- report_ret = report_func_ret; |
198 |
wrapper_target=(void(*)(void))retproc; |
199 |
retproc=(FARPROC)wrapper; |
200 |
} |
201 |
Index: vlc-1.0.1/libs/loader/stubs.s |
202 |
=================================================================== |
203 |
--- vlc-1.0.1.orig/libs/loader/stubs.s |
204 |
+++ vlc-1.0.1/libs/loader/stubs.s |
205 |
@@ -33,3 +33,6 @@ exp_EH_prolog: |
206 |
leal 12(%esp), %ebp |
207 |
pushl %eax |
208 |
ret |
209 |
+ |
210 |
+.section .note.GNU-stack,"",@progbits |
211 |
+ |
212 |
Index: vlc-1.0.1/libs/loader/wrapper.S |
213 |
=================================================================== |
214 |
--- vlc-1.0.1.orig/libs/loader/wrapper.S |
215 |
+++ vlc-1.0.1/libs/loader/wrapper.S |
216 |
@@ -1,17 +1,19 @@ |
217 |
.section .data |
218 |
-.globl caller_return |
219 |
caller_return: |
220 |
.long 0 |
221 |
-.globl report_entry |
222 |
-report_entry: |
223 |
- .long null_call |
224 |
-.globl report_ret |
225 |
-report_ret: |
226 |
- .long null_call |
227 |
.global wrapper_target |
228 |
wrapper_target: |
229 |
.long null_call |
230 |
|
231 |
+#undef __i686 /* gcc define gets in our way */ |
232 |
+ .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits |
233 |
+.globl __i686.get_pc_thunk.bx |
234 |
+ .hidden __i686.get_pc_thunk.bx |
235 |
+ .type __i686.get_pc_thunk.bx,@function |
236 |
+__i686.get_pc_thunk.bx: |
237 |
+ movl (%esp), %ebx |
238 |
+ ret |
239 |
+ |
240 |
.section .text |
241 |
.globl null_call |
242 |
.type null_call, @function |
243 |
@@ -22,46 +24,60 @@ null_call: |
244 |
.type wrapper, @function |
245 |
.balign 16,0x90 |
246 |
wrapper: |
247 |
+ pushl $0 |
248 |
pusha # store registers (EAX, ECX, EDX, EBX, ESP, EBP, ESI, EDI) |
249 |
pushf # store flags |
250 |
|
251 |
push %ebp # set up a stack frame |
252 |
movl %esp, %ebp |
253 |
|
254 |
+ call __i686.get_pc_thunk.bx |
255 |
+ addl $_GLOBAL_OFFSET_TABLE_, %ebx |
256 |
+ |
257 |
leal 4(%ebp), %eax # push flags addr |
258 |
push %eax |
259 |
leal 8(%ebp), %eax # push registers addr |
260 |
push %eax |
261 |
- |
262 |
- leal 40(%ebp), %edx |
263 |
+ |
264 |
+ leal 44(%ebp), %edx |
265 |
movl (%ebp), %eax |
266 |
subl %edx, %eax |
267 |
push %eax |
268 |
push %edx |
269 |
- |
270 |
- call *report_entry # report entry |
271 |
- |
272 |
+ |
273 |
+ call report_func@PLT # report entry |
274 |
+ |
275 |
test %eax, %eax |
276 |
jnz .Ldone |
277 |
|
278 |
+ movl 44(%ebp), %eax # switch return addresses |
279 |
+ movl %eax, caller_return@GOTOFF(%ebx) |
280 |
+ leal .Lwrapper_return@GOTOFF(%ebx), %eax |
281 |
+ movl %eax, 40(%ebp) |
282 |
+ |
283 |
+ movl wrapper_target@GOTOFF(%ebx), %eax |
284 |
+ mov %eax, 40(%ebp) # wrapper_target should return at .Lwrapper_return |
285 |
+ |
286 |
leave # restore %esp, %ebp |
287 |
popf # restore flags |
288 |
popa # restore registers |
289 |
- |
290 |
- popl caller_return # switch return addresses |
291 |
- pushl $.Lwrapper_return |
292 |
- |
293 |
- jmp *wrapper_target # wrapper_target should return at .Lwrapper_return |
294 |
+ |
295 |
+ ret |
296 |
|
297 |
.balign 16, 0x90 |
298 |
.Lwrapper_return: |
299 |
- pushl caller_return # restore the original return address |
300 |
+ pushl $0 # restore the original return address |
301 |
pusha # more for reference sake here |
302 |
pushf |
303 |
|
304 |
push %ebp # set up a stack frame |
305 |
movl %esp, %ebp |
306 |
|
307 |
+ call __i686.get_pc_thunk.bx |
308 |
+ addl $_GLOBAL_OFFSET_TABLE_, %ebx |
309 |
+ movl caller_return@GOTOFF(%ebx), %eax |
310 |
+ movl %eax, 40(%ebp) # restore the original return address |
311 |
+ |
312 |
leal 4(%ebp), %eax # push flags addr |
313 |
push %eax |
314 |
leal 8(%ebp), %eax # push registers addr |
315 |
@@ -73,11 +89,13 @@ wrapper: |
316 |
push %eax |
317 |
push %edx |
318 |
|
319 |
- call *report_ret # report the return information (same args) |
320 |
+ call report_func_ret@PLT# report the return information (same args) |
321 |
.Ldone: |
322 |
|
323 |
leave |
324 |
popf |
325 |
popa |
326 |
ret |
327 |
- |
328 |
+ |
329 |
+.section .note.GNU-stack,"",@progbits |
330 |
+ |
331 |
Index: vlc-1.0.1/libs/loader/wrapper.h |
332 |
=================================================================== |
333 |
--- vlc-1.0.1.orig/libs/loader/wrapper.h |
334 |
+++ vlc-1.0.1/libs/loader/wrapper.h |
335 |
@@ -7,10 +7,6 @@ typedef struct { |
336 |
uint32_t edi, esi, ebp, esp, ebx, edx, ecx, eax; |
337 |
} reg386_t; |
338 |
|
339 |
-typedef int (*wrapper_func_t)(void *stack_base, int stack_size, reg386_t *reg, uint32_t *flags); |
340 |
- |
341 |
-extern wrapper_func_t report_entry, report_ret; |
342 |
- |
343 |
extern void (*wrapper_target)(void); |
344 |
|
345 |
extern int wrapper(void); |
346 |
|
347 |
|
348 |
|
349 |
1.1 src/patchsets/vlc/1.0.3/310_all_mmx_pic.patch |
350 |
|
351 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/1.0.3/310_all_mmx_pic.patch?rev=1.1&view=markup |
352 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/1.0.3/310_all_mmx_pic.patch?rev=1.1&content-type=text/plain |
353 |
|
354 |
Index: 310_all_mmx_pic.patch |
355 |
=================================================================== |
356 |
Fix textrels in the mmx accelerated i420_rgb plugin |
357 |
http://trac.videolan.org/vlc/ticket/1383 |
358 |
Let gcc choose how to reference memory addresses |
359 |
|
360 |
Index: vlc-1.0.1/modules/video_chroma/i420_rgb_mmx.h |
361 |
=================================================================== |
362 |
--- vlc-1.0.1.orig/modules/video_chroma/i420_rgb_mmx.h |
363 |
+++ vlc-1.0.1/modules/video_chroma/i420_rgb_mmx.h |
364 |
@@ -34,18 +34,18 @@ |
365 |
#define USED_U64(foo) \ |
366 |
static const uint64_t foo __asm__ (#foo) __attribute__((unused)) |
367 |
#endif |
368 |
-USED_U64(mmx_80w) = 0x0080008000800080ULL; |
369 |
-USED_U64(mmx_10w) = 0x1010101010101010ULL; |
370 |
-USED_U64(mmx_00ffw) = 0x00ff00ff00ff00ffULL; |
371 |
-USED_U64(mmx_Y_coeff) = 0x253f253f253f253fULL; |
372 |
- |
373 |
-USED_U64(mmx_U_green) = 0xf37df37df37df37dULL; |
374 |
-USED_U64(mmx_U_blue) = 0x4093409340934093ULL; |
375 |
-USED_U64(mmx_V_red) = 0x3312331233123312ULL; |
376 |
-USED_U64(mmx_V_green) = 0xe5fce5fce5fce5fcULL; |
377 |
+USED_U64(mmx_80w) = 0x0080008000800080ULL; /* Will be referenced as %4 in inline asm */ |
378 |
+USED_U64(mmx_10w) = 0x1010101010101010ULL; /* -- as %5 */ |
379 |
+USED_U64(mmx_00ffw) = 0x00ff00ff00ff00ffULL; /* -- as %6 */ |
380 |
+USED_U64(mmx_Y_coeff) = 0x253f253f253f253fULL; /* -- as %7 */ |
381 |
+ |
382 |
+USED_U64(mmx_U_green) = 0xf37df37df37df37dULL; /* -- as %8 */ |
383 |
+USED_U64(mmx_U_blue) = 0x4093409340934093ULL; /* -- as %9 */ |
384 |
+USED_U64(mmx_V_red) = 0x3312331233123312ULL; /* -- as %10 */ |
385 |
+USED_U64(mmx_V_green) = 0xe5fce5fce5fce5fcULL; /* -- as %11 */ |
386 |
|
387 |
-USED_U64(mmx_mask_f8) = 0xf8f8f8f8f8f8f8f8ULL; |
388 |
-USED_U64(mmx_mask_fc) = 0xfcfcfcfcfcfcfcfcULL; |
389 |
+USED_U64(mmx_mask_f8) = 0xf8f8f8f8f8f8f8f8ULL; /* -- as %12 */ |
390 |
+USED_U64(mmx_mask_fc) = 0xfcfcfcfcfcfcfcfcULL; /* -- as %13 */ |
391 |
#undef USED_U64 |
392 |
|
393 |
#if defined(CAN_COMPILE_MMX) |
394 |
@@ -59,18 +59,16 @@ USED_U64(mmx_mask_fc) = 0xfcfcfcfcfcfcfc |
395 |
MMX_INSTRUCTIONS \ |
396 |
: \ |
397 |
: "r" (p_y), "r" (p_u), \ |
398 |
- "r" (p_v), "r" (p_buffer) ); \ |
399 |
+ "r" (p_v), "r" (p_buffer), \ |
400 |
+ "m" (mmx_80w), "m" (mmx_10w), \ |
401 |
+ "m" (mmx_00ffw), "m" (mmx_Y_coeff), \ |
402 |
+ "m" (mmx_U_green), "m" (mmx_U_blue), \ |
403 |
+ "m" (mmx_V_red), "m" (mmx_V_green), \ |
404 |
+ "m" (mmx_mask_f8), "m" (mmx_mask_fc) ); \ |
405 |
} while(0) |
406 |
|
407 |
#define MMX_END __asm__ __volatile__ ( "emms" ) |
408 |
|
409 |
-/* Use RIP-relative code in PIC mode on amd64 */ |
410 |
-#if defined(__x86_64__) && defined(__PIC__) |
411 |
-# define G "(%%rip)" |
412 |
-#else |
413 |
-# define G |
414 |
-#endif |
415 |
- |
416 |
#define MMX_INIT_16 " \n\ |
417 |
movd (%1), %%mm0 # Load 4 Cb 00 00 00 00 u3 u2 u1 u0 \n\ |
418 |
movd (%2), %%mm1 # Load 4 Cr 00 00 00 00 v3 v2 v1 v0 \n\ |
419 |
@@ -103,27 +101,27 @@ movq (%0), %%mm6 # Load 8 Y |
420 |
# convert the chroma part \n\ |
421 |
punpcklbw %%mm4, %%mm0 # scatter 4 Cb 00 u3 00 u2 00 u1 00 u0 \n\ |
422 |
punpcklbw %%mm4, %%mm1 # scatter 4 Cr 00 v3 00 v2 00 v1 00 v0 \n\ |
423 |
-psubsw mmx_80w"G", %%mm0 # Cb -= 128 \n\ |
424 |
-psubsw mmx_80w"G", %%mm1 # Cr -= 128 \n\ |
425 |
+psubsw %4, %%mm0 # Cb -= 128 \n\ |
426 |
+psubsw %4, %%mm1 # Cr -= 128 \n\ |
427 |
psllw $3, %%mm0 # Promote precision \n\ |
428 |
psllw $3, %%mm1 # Promote precision \n\ |
429 |
movq %%mm0, %%mm2 # Copy 4 Cb 00 u3 00 u2 00 u1 00 u0 \n\ |
430 |
movq %%mm1, %%mm3 # Copy 4 Cr 00 v3 00 v2 00 v1 00 v0 \n\ |
431 |
-pmulhw mmx_U_green"G", %%mm2 # Mul Cb with green coeff -> Cb green \n\ |
432 |
-pmulhw mmx_V_green"G", %%mm3 # Mul Cr with green coeff -> Cr green \n\ |
433 |
-pmulhw mmx_U_blue"G", %%mm0 # Mul Cb -> Cblue 00 b3 00 b2 00 b1 00 b0 \n\ |
434 |
-pmulhw mmx_V_red"G", %%mm1 # Mul Cr -> Cred 00 r3 00 r2 00 r1 00 r0 \n\ |
435 |
+pmulhw %8, %%mm2 # Mul Cb with green coeff -> Cb green \n\ |
436 |
+pmulhw %11, %%mm3 # Mul Cr with green coeff -> Cr green \n\ |
437 |
+pmulhw %9, %%mm0 # Mul Cb -> Cblue 00 b3 00 b2 00 b1 00 b0 \n\ |
438 |
+pmulhw %10, %%mm1 # Mul Cr -> Cred 00 r3 00 r2 00 r1 00 r0 \n\ |
439 |
paddsw %%mm3, %%mm2 # Cb green + Cr green -> Cgreen \n\ |
440 |
\n\ |
441 |
# convert the luma part \n\ |
442 |
-psubusb mmx_10w"G", %%mm6 # Y -= 16 \n\ |
443 |
+psubusb %5, %%mm6 # Y -= 16 \n\ |
444 |
movq %%mm6, %%mm7 # Copy 8 Y Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 \n\ |
445 |
-pand mmx_00ffw"G", %%mm6 # get Y even 00 Y6 00 Y4 00 Y2 00 Y0 \n\ |
446 |
+pand %6, %%mm6 # get Y even 00 Y6 00 Y4 00 Y2 00 Y0 \n\ |
447 |
psrlw $8, %%mm7 # get Y odd 00 Y7 00 Y5 00 Y3 00 Y1 \n\ |
448 |
psllw $3, %%mm6 # Promote precision \n\ |
449 |
psllw $3, %%mm7 # Promote precision \n\ |
450 |
-pmulhw mmx_Y_coeff"G", %%mm6 # Mul 4 Y even 00 y6 00 y4 00 y2 00 y0 \n\ |
451 |
-pmulhw mmx_Y_coeff"G", %%mm7 # Mul 4 Y odd 00 y7 00 y5 00 y3 00 y1 \n\ |
452 |
+pmulhw %7, %%mm6 # Mul 4 Y even 00 y6 00 y4 00 y2 00 y0 \n\ |
453 |
+pmulhw %7, %%mm7 # Mul 4 Y odd 00 y7 00 y5 00 y3 00 y1 \n\ |
454 |
" |
455 |
|
456 |
/* |
457 |
@@ -168,14 +166,14 @@ punpcklbw %%mm5, %%mm2 # |
458 |
|
459 |
#define MMX_YUV_GRAY " \n\ |
460 |
# convert the luma part \n\ |
461 |
-psubusb mmx_10w"G", %%mm6 \n\ |
462 |
+psubusb %5, %%mm6 \n\ |
463 |
movq %%mm6, %%mm7 \n\ |
464 |
-pand mmx_00ffw"G", %%mm6 \n\ |
465 |
+pand %6, %%mm6 \n\ |
466 |
psrlw $8, %%mm7 \n\ |
467 |
psllw $3, %%mm6 \n\ |
468 |
psllw $3, %%mm7 \n\ |
469 |
-pmulhw mmx_Y_coeff"G", %%mm6 \n\ |
470 |
-pmulhw mmx_Y_coeff"G", %%mm7 \n\ |
471 |
+pmulhw %7, %%mm6 \n\ |
472 |
+pmulhw %7, %%mm7 \n\ |
473 |
packuswb %%mm6, %%mm6 \n\ |
474 |
packuswb %%mm7, %%mm7 \n\ |
475 |
punpcklbw %%mm7, %%mm6 \n\ |
476 |
@@ -183,8 +181,8 @@ punpcklbw %%mm7, %%mm6 |
477 |
|
478 |
#define MMX_UNPACK_16_GRAY " \n\ |
479 |
movq %%mm6, %%mm5 \n\ |
480 |
-pand mmx_mask_f8"G", %%mm6 \n\ |
481 |
-pand mmx_mask_fc"G", %%mm5 \n\ |
482 |
+pand %12, %%mm6 \n\ |
483 |
+pand %13, %%mm5 \n\ |
484 |
movq %%mm6, %%mm7 \n\ |
485 |
psrlw $3, %%mm7 \n\ |
486 |
pxor %%mm3, %%mm3 \n\ |
487 |
@@ -213,10 +211,10 @@ movq %%mm2, 8(%3) |
488 |
|
489 |
#define MMX_UNPACK_15 " \n\ |
490 |
# mask unneeded bits off \n\ |
491 |
-pand mmx_mask_f8"G", %%mm0 # b7b6b5b4 b3______ b7b6b5b4 b3______ \n\ |
492 |
+pand %12, %%mm0 # b7b6b5b4 b3______ b7b6b5b4 b3______ \n\ |
493 |
psrlw $3,%%mm0 # ______b7 b6b5b4b3 ______b7 b6b5b4b3 \n\ |
494 |
-pand mmx_mask_f8"G", %%mm2 # g7g6g5g4 g3______ g7g6g5g4 g3______ \n\ |
495 |
-pand mmx_mask_f8"G", %%mm1 # r7r6r5r4 r3______ r7r6r5r4 r3______ \n\ |
496 |
+pand %12, %%mm2 # g7g6g5g4 g3______ g7g6g5g4 g3______ \n\ |
497 |
+pand %12, %%mm1 # r7r6r5r4 r3______ r7r6r5r4 r3______ \n\ |
498 |
psrlw $1,%%mm1 # __r7r6r5 r4r3____ __r7r6r5 r4r3____ \n\ |
499 |
pxor %%mm4, %%mm4 # zero mm4 \n\ |
500 |
movq %%mm0, %%mm5 # Copy B7-B0 \n\ |
501 |
@@ -249,9 +247,9 @@ movq %%mm5, 8(%3) # store |
502 |
|
503 |
#define MMX_UNPACK_16 " \n\ |
504 |
# mask unneeded bits off \n\ |
505 |
-pand mmx_mask_f8"G", %%mm0 # b7b6b5b4 b3______ b7b6b5b4 b3______ \n\ |
506 |
-pand mmx_mask_fc"G", %%mm2 # g7g6g5g4 g3g2____ g7g6g5g4 g3g2____ \n\ |
507 |
-pand mmx_mask_f8"G", %%mm1 # r7r6r5r4 r3______ r7r6r5r4 r3______ \n\ |
508 |
+pand %12, %%mm0 # b7b6b5b4 b3______ b7b6b5b4 b3______ \n\ |
509 |
+pand %13, %%mm2 # g7g6g5g4 g3g2____ g7g6g5g4 g3g2____ \n\ |
510 |
+pand %12, %%mm1 # r7r6r5r4 r3______ r7r6r5r4 r3______ \n\ |
511 |
psrlw $3,%%mm0 # ______b7 b6b5b4b3 ______b7 b6b5b4b3 \n\ |
512 |
pxor %%mm4, %%mm4 # zero mm4 \n\ |
513 |
movq %%mm0, %%mm5 # Copy B7-B0 \n\ |
514 |
|
515 |
|
516 |
|
517 |
1.1 src/patchsets/vlc/1.0.3/320_all_disable_media_list_player_tests.patch |
518 |
|
519 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/1.0.3/320_all_disable_media_list_player_tests.patch?rev=1.1&view=markup |
520 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/1.0.3/320_all_disable_media_list_player_tests.patch?rev=1.1&content-type=text/plain |
521 |
|
522 |
Index: 320_all_disable_media_list_player_tests.patch |
523 |
=================================================================== |
524 |
commit 3403c4274410115dbe5ce282aa8b045f8aedb002 |
525 |
Author: Pierre d'Herbemont <pdherbemont@××××.fr> |
526 |
Date: Wed Aug 19 11:42:53 2009 +0200 |
527 |
|
528 |
test: Disable test_media_list_player as it deadlocks. |
529 |
|
530 |
Index: vlc-1.0.1/test/Makefile.am |
531 |
=================================================================== |
532 |
--- vlc-1.0.1.orig/test/Makefile.am |
533 |
+++ vlc-1.0.1/test/Makefile.am |
534 |
@@ -11,7 +11,6 @@ check_PROGRAMS = \ |
535 |
test_libvlc_core \ |
536 |
test_libvlc_events \ |
537 |
test_libvlc_media_list \ |
538 |
- test_libvlc_media_list_player \ |
539 |
$(NULL) |
540 |
EXTRA_PROGRAMS = \ |
541 |
test_libvlc_media_player \ |
542 |
|
543 |
|
544 |
|
545 |
1.1 src/patchsets/vlc/1.0.3/530_all_older_xcb_xv.patch |
546 |
|
547 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/1.0.3/530_all_older_xcb_xv.patch?rev=1.1&view=markup |
548 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/1.0.3/530_all_older_xcb_xv.patch?rev=1.1&content-type=text/plain |
549 |
|
550 |
Index: 530_all_older_xcb_xv.patch |
551 |
=================================================================== |
552 |
commit f77bf7a10aa7b10a5e27701da137dcb29ae9f3bd |
553 |
Author: Rémi Denis-Courmont <remi@××××××.net> |
554 |
Date: Sat May 23 15:45:56 2009 +0300 |
555 |
|
556 |
Support for older xcb-xv |
557 |
|
558 |
Index: vlc/configure.ac |
559 |
=================================================================== |
560 |
--- vlc.orig/configure.ac |
561 |
+++ vlc/configure.ac |
562 |
@@ -4174,6 +4174,11 @@ AS_IF([test "${enable_xcb}" != "no"], [ |
563 |
AS_IF([test "${enable_xvideo}" != "no"], [ |
564 |
PKG_CHECK_MODULES(XCB_XV, [xcb-xv >= 1.1.90.1], [ |
565 |
VLC_ADD_PLUGIN([xcb_xv]) |
566 |
+ ], [ |
567 |
+ PKG_CHECK_MODULES(XCB_XV, [xcb-xv], [ |
568 |
+ VLC_ADD_PLUGIN([xcb_xv]) |
569 |
+ VLC_ADD_CFLAGS([xcb_xv], [-DXCB_XV_OLD]) |
570 |
+ ]) |
571 |
]) |
572 |
]) |
573 |
|
574 |
Index: vlc/modules/video_output/xcb/xvideo.c |
575 |
=================================================================== |
576 |
--- vlc.orig/modules/video_output/xcb/xvideo.c |
577 |
+++ vlc/modules/video_output/xcb/xvideo.c |
578 |
@@ -345,7 +345,11 @@ FindFormat (vout_thread_t *vout, vlc_fou |
579 |
xcb_connection_t *conn = vout->p_sys->conn; |
580 |
const xcb_xv_image_format_info_t *f, *end; |
581 |
|
582 |
+#ifndef XCB_XV_OLD |
583 |
f = xcb_xv_list_image_formats_format (list); |
584 |
+#else |
585 |
+ f = (xcb_xv_image_format_info_t *) (list + 1); |
586 |
+#endif |
587 |
end = f + xcb_xv_list_image_formats_format_length (list); |
588 |
for (; f < end; f++) |
589 |
{ |
590 |
Index: vlc/src/misc/linux_specific.c |
591 |
=================================================================== |
592 |
--- vlc.orig/src/misc/linux_specific.c |
593 |
+++ vlc/src/misc/linux_specific.c |
594 |
@@ -91,7 +91,7 @@ void system_Init (libvlc_int_t *libvlc, |
595 |
"Please update to version 2.8 or newer.\n", stderr); |
596 |
fflush (stderr); |
597 |
#ifndef DISABLE_BUGGY_GLIBC_CHECK |
598 |
- abort (); |
599 |
+ //abort (); |
600 |
#endif |
601 |
} |
602 |
#endif |
603 |
|
604 |
|
605 |
|
606 |
1.1 src/patchsets/vlc/1.0.3/540_all_x264.patch |
607 |
|
608 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/1.0.3/540_all_x264.patch?rev=1.1&view=markup |
609 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/1.0.3/540_all_x264.patch?rev=1.1&content-type=text/plain |
610 |
|
611 |
Index: 540_all_x264.patch |
612 |
=================================================================== |
613 |
From 6cdaaf845e734bf124fb7af53caf5c6bdcaca63f Mon Sep 17 00:00:00 2001 |
614 |
From: Alexis Ballier <aballier@g.o> |
615 |
Date: Thu, 24 Sep 2009 20:05:10 +0200 |
616 |
Subject: [PATCH] Fix build with libx264 >= 76, ported from [e8c090dc917ca2eb5b639a4c137084791768b347] |
617 |
|
618 |
--- |
619 |
modules/codec/x264.c | 21 +++++++++++++++++++++ |
620 |
1 files changed, 21 insertions(+), 0 deletions(-) |
621 |
|
622 |
Index: vlc-1.0.2/modules/codec/x264.c |
623 |
=================================================================== |
624 |
--- vlc-1.0.2.orig/modules/codec/x264.c |
625 |
+++ vlc-1.0.2/modules/codec/x264.c |
626 |
@@ -1366,6 +1366,21 @@ static int Open ( vlc_object_t *p_this |
627 |
p_enc->fmt_out.i_extra = 0; |
628 |
p_enc->fmt_out.p_extra = NULL; |
629 |
|
630 |
+#if X264_BUILD >= 76 |
631 |
+ p_enc->fmt_out.i_extra = x264_encoder_headers( p_sys->h, &nal, &i_nal ); |
632 |
+ p_enc->fmt_out.p_extra = malloc( p_enc->fmt_out.i_extra ); |
633 |
+ if( !p_enc->fmt_out.p_extra ) |
634 |
+ { |
635 |
+ Close( VLC_OBJECT(p_enc) ); |
636 |
+ return VLC_ENOMEM; |
637 |
+ } |
638 |
+ void *p_tmp = p_enc->fmt_out.p_extra; |
639 |
+ for( i = 0; i < i_nal; i++ ) |
640 |
+ { |
641 |
+ memcpy( p_tmp, nal[i].p_payload, nal[i].i_payload ); |
642 |
+ p_tmp += nal[i].i_payload; |
643 |
+ } |
644 |
+#else |
645 |
x264_encoder_headers( p_sys->h, &nal, &i_nal ); |
646 |
for( i = 0; i < i_nal; i++ ) |
647 |
{ |
648 |
@@ -1387,6 +1402,7 @@ static int Open ( vlc_object_t *p_this |
649 |
|
650 |
p_enc->fmt_out.i_extra += i_size; |
651 |
} |
652 |
+#endif |
653 |
|
654 |
return VLC_SUCCESS; |
655 |
} |
656 |
@@ -1423,10 +1439,15 @@ static block_t *Encode( encoder_t *p_enc |
657 |
|
658 |
for( i = 0, i_out = 0; i < i_nal; i++ ) |
659 |
{ |
660 |
+#if X264_BUILD >= 76 |
661 |
+ memcpy( p_sys->p_buffer + i_out, nal[i].p_payload, nal[i].i_payload ); |
662 |
+ i_out += nal[i].i_payload; |
663 |
+#else |
664 |
int i_size = p_sys->i_buffer - i_out; |
665 |
x264_nal_encode( p_sys->p_buffer + i_out, &i_size, 1, &nal[i] ); |
666 |
|
667 |
i_out += i_size; |
668 |
+#endif |
669 |
} |
670 |
|
671 |
p_block = block_New( p_enc, i_out ); |
672 |
|
673 |
|
674 |
|
675 |
1.1 src/patchsets/vlc/1.0.3/550_all_nofc.patch |
676 |
|
677 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/1.0.3/550_all_nofc.patch?rev=1.1&view=markup |
678 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/1.0.3/550_all_nofc.patch?rev=1.1&content-type=text/plain |
679 |
|
680 |
Index: 550_all_nofc.patch |
681 |
=================================================================== |
682 |
commit 184f04c939a361c9c9f2eb549fcc2e3d1dac2227 |
683 |
Author: Alexis Ballier <aballier@g.o> |
684 |
Date: Thu Sep 24 21:58:36 2009 +0200 |
685 |
|
686 |
Fix build without fontconfig nor optimizations. |
687 |
|
688 |
Configuring vlc with --disable-fontconfig and --disable-optimizations makes it fail to build the freetype plugin. |
689 |
At higher optimizations levels, gcc performs dead code elimitation which does not happen at -O0, then the linker is looking for functions that are defined only when fontconfig is enabled. |
690 |
|
691 |
References: https://bugs.gentoo.org/show_bug.cgi?id=281963 |
692 |
|
693 |
Signed-off-by: Rémi Denis-Courmont <remi@××××××.net> |
694 |
|
695 |
Index: vlc-1.0.2/modules/misc/freetype.c |
696 |
=================================================================== |
697 |
--- vlc-1.0.2.orig/modules/misc/freetype.c |
698 |
+++ vlc-1.0.2/modules/misc/freetype.c |
699 |
@@ -2416,6 +2416,33 @@ static char* FontConfig_Select( FcConfig |
700 |
FcPatternDestroy( p_pat ); |
701 |
return strdup( (const char*)val_s ); |
702 |
} |
703 |
+#else |
704 |
+ |
705 |
+static void SetupLine( filter_t *p_filter, const char *psz_text_in, |
706 |
+ uint32_t **psz_text_out, uint32_t *pi_runs, |
707 |
+ uint32_t **ppi_run_lengths, ft_style_t ***ppp_styles, |
708 |
+ ft_style_t *p_style ) |
709 |
+{ |
710 |
+ VLC_UNUSED(p_filter); |
711 |
+ VLC_UNUSED(psz_text_in); |
712 |
+ VLC_UNUSED(psz_text_out); |
713 |
+ VLC_UNUSED(pi_runs); |
714 |
+ VLC_UNUSED(ppi_run_lengths); |
715 |
+ VLC_UNUSED(ppp_styles); |
716 |
+ VLC_UNUSED(p_style); |
717 |
+} |
718 |
+ |
719 |
+static ft_style_t *GetStyleFromFontStack( filter_sys_t *p_sys, |
720 |
+ font_stack_t **p_fonts, bool b_bold, bool b_italic, |
721 |
+ bool b_uline ) |
722 |
+{ |
723 |
+ VLC_UNUSED(p_sys); |
724 |
+ VLC_UNUSED(p_fonts); |
725 |
+ VLC_UNUSED(b_bold); |
726 |
+ VLC_UNUSED(b_italic); |
727 |
+ VLC_UNUSED(b_uline); |
728 |
+ return NULL; |
729 |
+} |
730 |
#endif |
731 |
|
732 |
static void FreeLine( line_desc_t *p_line ) |
733 |
|
734 |
|
735 |
|
736 |
1.1 src/patchsets/vlc/1.0.3/series |
737 |
|
738 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/1.0.3/series?rev=1.1&view=markup |
739 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/1.0.3/series?rev=1.1&content-type=text/plain |
740 |
|
741 |
Index: series |
742 |
=================================================================== |
743 |
010_all_freetype-font.patch |
744 |
020_all_check_headers_regexps.patch |
745 |
030_all_xcb_sysconf_bsd.patch |
746 |
300_all_pic.patch |
747 |
310_all_mmx_pic.patch |
748 |
320_all_disable_media_list_player_tests.patch |
749 |
530_all_older_xcb_xv.patch |
750 |
540_all_x264.patch |
751 |
550_all_nofc.patch |