1 |
aballier 10/02/23 10:06:11 |
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_png14.patch |
9 |
series |
10 |
Log: |
11 |
add patches for 1.0.5, adding libpng1.4 compatibility from upstream master |
12 |
|
13 |
Revision Changes Path |
14 |
1.1 src/patchsets/vlc/1.0.5/010_all_freetype-font.patch |
15 |
|
16 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/1.0.5/010_all_freetype-font.patch?rev=1.1&view=markup |
17 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/1.0.5/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-1.0.5/modules/misc/freetype.c |
26 |
=================================================================== |
27 |
--- vlc-1.0.5.orig/modules/misc/freetype.c |
28 |
+++ vlc-1.0.5/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.5/020_all_check_headers_regexps.patch |
44 |
|
45 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/1.0.5/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.5/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.5/src/check_headers |
56 |
=================================================================== |
57 |
--- vlc-1.0.5.orig/src/check_headers |
58 |
+++ vlc-1.0.5/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.5/030_all_xcb_sysconf_bsd.patch |
72 |
|
73 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/1.0.5/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.5/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.5/modules/video_output/xcb/window.c |
91 |
=================================================================== |
92 |
--- vlc-1.0.5.orig/modules/video_output/xcb/window.c |
93 |
+++ vlc-1.0.5/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.5/300_all_pic.patch |
131 |
|
132 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/1.0.5/300_all_pic.patch?rev=1.1&view=markup |
133 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/1.0.5/300_all_pic.patch?rev=1.1&content-type=text/plain |
134 |
|
135 |
Index: 300_all_pic.patch |
136 |
=================================================================== |
137 |
Index: vlc-1.0.5/libs/loader/Makefile.am |
138 |
=================================================================== |
139 |
--- vlc-1.0.5.orig/libs/loader/Makefile.am |
140 |
+++ vlc-1.0.5/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.5/libs/loader/module.c |
151 |
=================================================================== |
152 |
--- vlc-1.0.5.orig/libs/loader/module.c |
153 |
+++ vlc-1.0.5/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.5/libs/loader/stubs.s |
202 |
=================================================================== |
203 |
--- vlc-1.0.5.orig/libs/loader/stubs.s |
204 |
+++ vlc-1.0.5/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.5/libs/loader/wrapper.S |
213 |
=================================================================== |
214 |
--- vlc-1.0.5.orig/libs/loader/wrapper.S |
215 |
+++ vlc-1.0.5/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.5/libs/loader/wrapper.h |
332 |
=================================================================== |
333 |
--- vlc-1.0.5.orig/libs/loader/wrapper.h |
334 |
+++ vlc-1.0.5/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.5/310_all_mmx_pic.patch |
350 |
|
351 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/1.0.5/310_all_mmx_pic.patch?rev=1.1&view=markup |
352 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/1.0.5/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.5/modules/video_chroma/i420_rgb_mmx.h |
361 |
=================================================================== |
362 |
--- vlc-1.0.5.orig/modules/video_chroma/i420_rgb_mmx.h |
363 |
+++ vlc-1.0.5/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.5/320_all_disable_media_list_player_tests.patch |
518 |
|
519 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/1.0.5/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.5/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.5/test/Makefile.am |
531 |
=================================================================== |
532 |
--- vlc-1.0.5.orig/test/Makefile.am |
533 |
+++ vlc-1.0.5/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.5/530_all_older_xcb_xv.patch |
546 |
|
547 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/1.0.5/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.5/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-1.0.5/configure.ac |
559 |
=================================================================== |
560 |
--- vlc-1.0.5.orig/configure.ac |
561 |
+++ vlc-1.0.5/configure.ac |
562 |
@@ -4201,6 +4201,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-1.0.5/modules/video_output/xcb/xvideo.c |
575 |
=================================================================== |
576 |
--- vlc-1.0.5.orig/modules/video_output/xcb/xvideo.c |
577 |
+++ vlc-1.0.5/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-1.0.5/src/misc/linux_specific.c |
591 |
=================================================================== |
592 |
--- vlc-1.0.5.orig/src/misc/linux_specific.c |
593 |
+++ vlc-1.0.5/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.5/540_all_png14.patch |
607 |
|
608 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/1.0.5/540_all_png14.patch?rev=1.1&view=markup |
609 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/1.0.5/540_all_png14.patch?rev=1.1&content-type=text/plain |
610 |
|
611 |
Index: 540_all_png14.patch |
612 |
=================================================================== |
613 |
commit ffa6a2fa83452afe6a6ec67c4a3e8a5f1a6aaeef |
614 |
Author: Jean-Baptiste Kempf <jb@××××××××.org> |
615 |
Date: Mon Feb 15 23:50:27 2010 +0100 |
616 |
|
617 |
Png: compatibility with libpng 1.4 |
618 |
|
619 |
Patch probably from arekm -- pld-linux . org |
620 |
|
621 |
Index: vlc-1.0.5/modules/codec/png.c |
622 |
=================================================================== |
623 |
--- vlc-1.0.5.orig/modules/codec/png.c |
624 |
+++ vlc-1.0.5/modules/codec/png.c |
625 |
@@ -155,7 +155,7 @@ static picture_t *DecodeBlock( decoder_t |
626 |
p_info = png_create_info_struct( p_png ); |
627 |
if( p_info == NULL ) |
628 |
{ |
629 |
- png_destroy_read_struct( &p_png, png_infopp_NULL, png_infopp_NULL ); |
630 |
+ png_destroy_read_struct( &p_png, NULL, NULL ); |
631 |
block_Release( p_block ); *pp_block = NULL; |
632 |
return NULL; |
633 |
} |
634 |
@@ -163,7 +163,7 @@ static picture_t *DecodeBlock( decoder_t |
635 |
p_end_info = png_create_info_struct( p_png ); |
636 |
if( p_end_info == NULL ) |
637 |
{ |
638 |
- png_destroy_read_struct( &p_png, &p_info, png_infopp_NULL ); |
639 |
+ png_destroy_read_struct( &p_png, &p_info, NULL ); |
640 |
block_Release( p_block ); *pp_block = NULL; |
641 |
return NULL; |
642 |
} |
643 |
|
644 |
|
645 |
|
646 |
1.1 src/patchsets/vlc/1.0.5/series |
647 |
|
648 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/1.0.5/series?rev=1.1&view=markup |
649 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/1.0.5/series?rev=1.1&content-type=text/plain |
650 |
|
651 |
Index: series |
652 |
=================================================================== |
653 |
010_all_freetype-font.patch |
654 |
020_all_check_headers_regexps.patch |
655 |
030_all_xcb_sysconf_bsd.patch |
656 |
300_all_pic.patch |
657 |
310_all_mmx_pic.patch |
658 |
320_all_disable_media_list_player_tests.patch |
659 |
530_all_older_xcb_xv.patch |
660 |
540_all_png14.patch |