Ticket #189: configure.log

File configure.log, 127.6 KB (added by semicide@…, 22 years ago)

./configure --enable-gui logging output

Line 
1============ Checking for cc version ============
2Result is: 2.95.3, ok
3##########################################
4
5============ Checking for host cc ============
6Result is: cc
7##########################################
8
9============ Checking for CPU vendor ============
10Result is: AuthenticAMD (6:3:1)
11##########################################
12
13============ Checking for CPU type ============
14Result is: AMD Duron(tm) processor
15##########################################
16
17============ Checking for GCC & CPU optimization abilities ============
18
19int main(void) { return 0; }
20
21cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -march=athlon -mcpu=athlon
22cc1: bad value (athlon) for -march= switch
23cc1: bad value (athlon) for -mcpu= switch
24
25ldd /tmp/mplayer-conf-25707-9067.o
26ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
27
28
29int main(void) { return 0; }
30
31cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -march=i686 -mcpu=i686
32
33ldd /tmp/mplayer-conf-25707-9067.o
34 libc.so.6 => /lib/libc.so.6 (0x4002c000)
35 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
36
37Result is: i686
38##########################################
39
40============ Checking for kernel support of mmx ============
41
42#include <signal.h>
43void catch() { exit(1); }
44int main(void){
45 signal(SIGILL, catch);
46 __asm__ __volatile__ ("emms":::"memory");return(0);
47}
48
49cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
50
51ldd /tmp/mplayer-conf-25707-9067.o
52 libc.so.6 => /lib/libc.so.6 (0x4002c000)
53 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
54
55Result is: yes
56##########################################
57
58============ Checking for kernel support of mmx2 ============
59
60#include <signal.h>
61void catch() { exit(1); }
62int main(void){
63 signal(SIGILL, catch);
64 __asm__ __volatile__ ("sfence":::"memory");return(0);
65}
66
67cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
68
69ldd /tmp/mplayer-conf-25707-9067.o
70 libc.so.6 => /lib/libc.so.6 (0x4002c000)
71 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
72
73Result is: yes
74##########################################
75
76============ Checking for kernel support of 3dnow ============
77
78#include <signal.h>
79void catch() { exit(1); }
80int main(void){
81 signal(SIGILL, catch);
82 __asm__ __volatile__ ("femms":::"memory");return(0);
83}
84
85cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
86
87ldd /tmp/mplayer-conf-25707-9067.o
88 libc.so.6 => /lib/libc.so.6 (0x4002c000)
89 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
90
91Result is: yes
92##########################################
93
94============ Checking for kernel support of 3dnowex ============
95
96#include <signal.h>
97void catch() { exit(1); }
98int main(void){
99 signal(SIGILL, catch);
100 __asm__ __volatile__ ("pswapd %%mm0, %%mm0":::"memory");return(0);
101}
102
103cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
104
105ldd /tmp/mplayer-conf-25707-9067.o
106 libc.so.6 => /lib/libc.so.6 (0x4002c000)
107 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
108
109Result is: yes
110##########################################
111
112============ Checking for mtrr support ============
113Result is: yes
114##########################################
115
116============ Checking for assembler support of -pipe option ============
117
118int main(void) { return 0; }
119
120cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -pipe
121
122ldd /tmp/mplayer-conf-25707-9067.o
123 libc.so.6 => /lib/libc.so.6 (0x4002c000)
124 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
125
126Result is: yes
127##########################################
128
129============ Checking for assembler (/usr/i486-suse-linux/bin/as 2.11.92.0.10) ============
130Result is: ok
131##########################################
132
133============ Checking for Linux kernel version ============
134Result is: 2.4.18-4GB, ok
135##########################################
136
137============ Checking for mplayer binary name ============
138Result is: mplayer
139##########################################
140
141============ Checking for awk ============
142./configure: mawk: command not found
143
144Result is: gawk
145##########################################
146
147============ Checking for extra headers ============
148Result is: none
149##########################################
150
151============ Checking for extra libs ============
152Result is: none
153##########################################
154
155============ Checking for -lposix ============
156
157int main(void) { return 0; }
158
159cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lposix
160/usr/i486-suse-linux/bin/ld: cannot find -lposix
161collect2: ld returned 1 exit status
162
163ldd /tmp/mplayer-conf-25707-9067.o
164ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
165
166Result is: no
167##########################################
168
169============ Checking for -lm ============
170
171int main(void) { return 0; }
172
173cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lm
174
175ldd /tmp/mplayer-conf-25707-9067.o
176 libm.so.6 => /lib/libm.so.6 (0x4002c000)
177 libc.so.6 => /lib/libc.so.6 (0x4004f000)
178 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
179
180Result is: yes
181##########################################
182
183============ Checking for i18n ============
184
185#include <libintl.h>
186int main(void) { gettext("test"); return 0; }
187
188cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
189
190ldd /tmp/mplayer-conf-25707-9067.o
191 libc.so.6 => /lib/libc.so.6 (0x4002c000)
192 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
193
194Result is: yes
195##########################################
196
197============ Checking for setlocale() ============
198
199#include <locale.h>
200int main(void) { setlocale( LC_ALL,"" ); return 0; }
201
202cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
203
204ldd /tmp/mplayer-conf-25707-9067.o
205 libc.so.6 => /lib/libc.so.6 (0x4002c000)
206 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
207
208Result is: yes
209##########################################
210
211============ Checking for iconv ============
212
213#include <stdio.h>
214#include <unistd.h>
215#include <iconv.h>
216#define INBUFSIZE 1024
217#define OUTBUFSIZE 4096
218
219char inbuffer[INBUFSIZE];
220char outbuffer[OUTBUFSIZE];
221
222int main(void) {
223 size_t numread;
224 iconv_t icdsc;
225 char *tocode="UTF-8";
226 char *fromcode="cp1250";
227 if ((icdsc = iconv_open (tocode, fromcode)) != (iconv_t)(-1)) {
228 while ((numread = read (0, inbuffer, INBUFSIZE))) {
229 char *iptr=inbuffer;
230 char *optr=outbuffer;
231 size_t inleft=numread;
232 size_t outleft=OUTBUFSIZE;
233 if (iconv(icdsc, (const char **)&iptr, &inleft, &optr, &outleft)
234 != (size_t)(-1)) {
235 write (1, outbuffer, OUTBUFSIZE - outleft);
236 }
237 }
238 if (iconv_close(icdsc) == -1)
239 ;
240 }
241}
242
243cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lm
244/tmp/mplayer-conf-9091-9067.c: In function `main':
245/tmp/mplayer-conf-9091-9067.c:21: warning: passing arg 2 of `iconv' from incompatible pointer type
246
247ldd /tmp/mplayer-conf-25707-9067.o
248 libm.so.6 => /lib/libm.so.6 (0x4002c000)
249 libc.so.6 => /lib/libc.so.6 (0x4004f000)
250 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
251
252Result is: yes
253##########################################
254
255============ Checking for langinfo ============
256
257#include <langinfo.h>
258int main(void) { nl_langinfo(CODESET); return 0; }
259
260cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
261
262ldd /tmp/mplayer-conf-25707-9067.o
263 libc.so.6 => /lib/libc.so.6 (0x4002c000)
264 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
265
266Result is: yes
267##########################################
268
269============ Checking for language ============
270Result is: using en (man pages: en)
271##########################################
272
273============ Checking for enable sighandler ============
274Result is: yes
275##########################################
276
277============ Checking for runtime cpudetection ============
278Result is: no
279##########################################
280
281============ Checking for restrict keyword ============
282
283void foo(char * restrict p); int main(){}
284
285cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
286/tmp/mplayer-conf-9091-9067.c:1: parse error before `p'
287
288ldd /tmp/mplayer-conf-25707-9067.o
289ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
290
291
292void foo(char * __restrict p); int main(){}
293
294cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
295
296ldd /tmp/mplayer-conf-25707-9067.o
297 libc.so.6 => /lib/libc.so.6 (0x4002c000)
298 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
299
300Result is: __restrict
301##########################################
302
303============ Checking for __builtin_expect ============
304
305int foo (int a) {
306 a = __builtin_expect (a, 10);
307 return a == 10 ? 0 : 1;
308}
309int main() { return foo(10) && foo(0); }
310
311cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
312/tmp/cc4ZEEFM.o: In function `foo':
313/tmp/cc4ZEEFM.o(.text+0x10): undefined reference to `__builtin_expect'
314collect2: ld returned 1 exit status
315
316ldd /tmp/mplayer-conf-25707-9067.o
317ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
318
319Result is: no
320##########################################
321
322============ Checking for kstat ============
323
324#include <kstat.h>
325int main(void) { (void) kstat_open(); (void) kstat_close(0); return 0; }
326
327cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lkstat
328/tmp/mplayer-conf-9091-9067.c:1: kstat.h: No such file or directory
329
330ldd /tmp/mplayer-conf-25707-9067.o
331ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
332
333Result is: no
334##########################################
335
336============ Checking for posix4 ============
337
338#include <time.h>
339int main(void) { (void) nanosleep(0, 0); return 0; }
340
341cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lposix4
342/usr/i486-suse-linux/bin/ld: cannot find -lposix4
343collect2: ld returned 1 exit status
344
345ldd /tmp/mplayer-conf-25707-9067.o
346ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
347
348Result is: no
349##########################################
350
351============ Checking for lrintf ============
352
353#include <math.h>
354int main(void) { (void) lrintf(0.0); return 0; }
355
356cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lm
357
358ldd /tmp/mplayer-conf-25707-9067.o
359 libm.so.6 => /lib/libm.so.6 (0x4002c000)
360 libc.so.6 => /lib/libc.so.6 (0x4004f000)
361 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
362
363Result is: yes
364##########################################
365
366============ Checking for nanosleep ============
367
368#include <time.h>
369int main(void) { (void) nanosleep(0, 0); return 0; }
370
371cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
372
373ldd /tmp/mplayer-conf-25707-9067.o
374 libc.so.6 => /lib/libc.so.6 (0x4002c000)
375 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
376
377Result is: yes
378##########################################
379
380============ Checking for socklib ============
381
382#include <netdb.h>
383int main(void) { (void) gethostbyname(0); return 0; }
384
385cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lsocket
386/usr/i486-suse-linux/bin/ld: cannot find -lsocket
387collect2: ld returned 1 exit status
388
389ldd /tmp/mplayer-conf-25707-9067.o
390ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
391
392
393#include <netdb.h>
394int main(void) { (void) gethostbyname(0); return 0; }
395
396cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lnsl
397
398ldd /tmp/mplayer-conf-25707-9067.o
399 libnsl.so.1 => /lib/libnsl.so.1 (0x4002c000)
400 libc.so.6 => /lib/libc.so.6 (0x40042000)
401 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
402
403
404#include <netdb.h>
405int main(void) { (void) gethostbyname(0); return 0; }
406
407cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lsocket -lnsl
408/usr/i486-suse-linux/bin/ld: cannot find -lsocket
409collect2: ld returned 1 exit status
410
411ldd /tmp/mplayer-conf-25707-9067.o
412ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
413
414
415#include <netdb.h>
416int main(void) { (void) gethostbyname(0); return 0; }
417
418cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lsocket -ldnet
419/usr/i486-suse-linux/bin/ld: cannot find -lsocket
420collect2: ld returned 1 exit status
421
422ldd /tmp/mplayer-conf-25707-9067.o
423ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
424
425
426#include <netdb.h>
427int main(void) { (void) gethostbyname(0); return 0; }
428
429cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lsocket -lbind
430/usr/i486-suse-linux/bin/ld: cannot find -lsocket
431collect2: ld returned 1 exit status
432
433ldd /tmp/mplayer-conf-25707-9067.o
434ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
435
436
437#include <winsock2.h>
438int main(void) { (void) gethostbyname(0); return 0; }
439
440cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lws2_32
441/tmp/mplayer-conf-9091-9067.c:1: winsock2.h: No such file or directory
442
443ldd /tmp/mplayer-conf-25707-9067.o
444ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
445
446Result is: yes (using -lnsl)
447##########################################
448
449============ Checking for inet_pton() ============
450
451#include <sys/types.h>
452#include <sys/socket.h>
453#include <arpa/inet.h>
454int main(void) { (void) inet_pton(0, 0, 0); return 0; }
455
456cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lnsl
457
458ldd /tmp/mplayer-conf-25707-9067.o
459 libnsl.so.1 => /lib/libnsl.so.1 (0x4002c000)
460 libc.so.6 => /lib/libc.so.6 (0x40042000)
461 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
462
463Result is: yes (using -lnsl)
464##########################################
465
466============ Checking for inttypes.h (required) ============
467
468#include <inttypes.h>
469int main(void) { return 0; }
470
471cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
472
473ldd /tmp/mplayer-conf-25707-9067.o
474 libc.so.6 => /lib/libc.so.6 (0x4002c000)
475 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
476
477Result is: yes
478##########################################
479
480============ Checking for int_fastXY_t in inttypes.h ============
481
482#include <inttypes.h>
483int main(void) {
484volatile int_fast16_t v= 0;
485return v; }
486
487cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
488
489ldd /tmp/mplayer-conf-25707-9067.o
490 libc.so.6 => /lib/libc.so.6 (0x4002c000)
491 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
492
493Result is: yes
494##########################################
495
496============ Checking for word size ============
497
498#include <stdio.h>
499#include <sys/types.h>
500int main(void) { printf("%d\n", sizeof(size_t)*8); return 0; }
501
502cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
503
504ldd /tmp/mplayer-conf-25707-9067.o
505 libc.so.6 => /lib/libc.so.6 (0x4002c000)
506 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
507
508Result is: 32
509##########################################
510
511============ Checking for stddef.h ============
512
513#include <stddef.h>
514int main(void) { return 0; }
515
516cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
517
518ldd /tmp/mplayer-conf-25707-9067.o
519 libc.so.6 => /lib/libc.so.6 (0x4002c000)
520 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
521
522Result is: yes
523##########################################
524
525============ Checking for malloc.h ============
526
527#include <malloc.h>
528int main(void) { (void) malloc(0); return 0; }
529
530cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
531
532ldd /tmp/mplayer-conf-25707-9067.o
533 libc.so.6 => /lib/libc.so.6 (0x4002c000)
534 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
535
536Result is: yes
537##########################################
538
539============ Checking for memalign() ============
540
541#include <malloc.h>
542int main (void) { (void) memalign(64, sizeof(char)); return 0; }
543
544cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
545
546ldd /tmp/mplayer-conf-25707-9067.o
547 libc.so.6 => /lib/libc.so.6 (0x4002c000)
548 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
549
550Result is: yes
551##########################################
552
553============ Checking for alloca.h ============
554
555#include <alloca.h>
556int main(void) { (void) alloca(0); return 0; }
557
558cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
559
560ldd /tmp/mplayer-conf-25707-9067.o
561 libc.so.6 => /lib/libc.so.6 (0x4002c000)
562 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
563
564
565#include <alloca.h>
566int main(void) { (void) alloca(0); return 0; }
567
568cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
569
570ldd /tmp/mplayer-conf-25707-9067.o
571 libc.so.6 => /lib/libc.so.6 (0x4002c000)
572 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
573
574Result is: yes
575##########################################
576
577============ Checking for mman.h ============
578
579#include <sys/types.h>
580#include <sys/mman.h>
581int main(void) { (void) mmap(0, 0, 0, 0, 0, 0); return 0; }
582
583cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
584
585ldd /tmp/mplayer-conf-25707-9067.o
586 libc.so.6 => /lib/libc.so.6 (0x4002c000)
587 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
588
589Result is: yes
590##########################################
591
592============ Checking for dynamic loader ============
593
594#include <dlfcn.h>
595int main(void) { dlopen(0, 0); dlclose(0); dlsym(0, 0); return 0; }
596
597cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
598/tmp/ccUiPuVn.o: In function `main':
599/tmp/ccUiPuVn.o(.text+0xe): undefined reference to `dlopen'
600/tmp/ccUiPuVn.o(.text+0x1b): undefined reference to `dlclose'
601/tmp/ccUiPuVn.o(.text+0x2a): undefined reference to `dlsym'
602collect2: ld returned 1 exit status
603
604ldd /tmp/mplayer-conf-25707-9067.o
605ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
606
607
608#include <dlfcn.h>
609int main(void) { dlopen(0, 0); dlclose(0); dlsym(0, 0); return 0; }
610
611cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -ldl
612
613ldd /tmp/mplayer-conf-25707-9067.o
614 libdl.so.2 => /lib/libdl.so.2 (0x4002c000)
615 libc.so.6 => /lib/libc.so.6 (0x40030000)
616 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
617
618Result is: yes
619##########################################
620
621============ Checking for dynamic a/v plugins support ============
622Result is: no
623##########################################
624
625============ Checking for pthread ============
626
627#include <pthread.h>
628void* func(void *arg) { return arg; }
629int main(void) { pthread_t tid; return pthread_create (&tid, 0, func, 0) == 0 ? 0 : 1; }
630
631cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
632/tmp/cc04PlDr.o: In function `main':
633/tmp/cc04PlDr.o(.text+0x34): undefined reference to `pthread_create'
634collect2: ld returned 1 exit status
635
636ldd /tmp/mplayer-conf-25707-9067.o
637ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
638
639
640#include <pthread.h>
641void* func(void *arg) { return arg; }
642int main(void) { pthread_t tid; return pthread_create (&tid, 0, func, 0) == 0 ? 0 : 1; }
643
644cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lpthread
645
646ldd /tmp/mplayer-conf-25707-9067.o
647 libpthread.so.0 => /lib/libpthread.so.0 (0x4002c000)
648 libc.so.6 => /lib/libc.so.6 (0x40042000)
649 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
650
651Result is: yes (using -lpthread)
652##########################################
653
654============ Checking for sys/soundcard.h ============
655
656#include <sys/soundcard.h>
657int main(void) { return 0; }
658
659cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
660
661ldd /tmp/mplayer-conf-25707-9067.o
662 libc.so.6 => /lib/libc.so.6 (0x4002c000)
663 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
664
665Result is: yes
666##########################################
667
668============ Checking for sys/dvdio.h ============
669
670#include <unistd.h>
671#include <sys/dvdio.h>
672int main(void) { return 0; }
673
674cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
675/tmp/mplayer-conf-9091-9067.c:2: sys/dvdio.h: No such file or directory
676
677ldd /tmp/mplayer-conf-25707-9067.o
678ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
679
680Result is: no
681##########################################
682
683============ Checking for sys/cdio.h ============
684
685#include <unistd.h>
686#include <sys/cdio.h>
687int main(void) { return 0; }
688
689cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
690/tmp/mplayer-conf-9091-9067.c:2: sys/cdio.h: No such file or directory
691
692ldd /tmp/mplayer-conf-25707-9067.o
693ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
694
695Result is: no
696##########################################
697
698============ Checking for linux/cdrom.h ============
699
700#include <sys/types.h>
701#include <linux/cdrom.h>
702int main(void) { return 0; }
703
704cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
705
706ldd /tmp/mplayer-conf-25707-9067.o
707 libc.so.6 => /lib/libc.so.6 (0x4002c000)
708 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
709
710Result is: yes
711##########################################
712
713============ Checking for dvd.h ============
714
715#include <dvd.h>
716int main(void) { return 0; }
717
718cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
719/tmp/mplayer-conf-9091-9067.c:1: dvd.h: No such file or directory
720
721ldd /tmp/mplayer-conf-25707-9067.o
722ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
723
724Result is: no
725##########################################
726
727============ Checking for BSDI dvd.h ============
728
729#include <dvd.h>
730int main(void) { return 0; }
731
732cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
733/tmp/mplayer-conf-9091-9067.c:1: dvd.h: No such file or directory
734
735ldd /tmp/mplayer-conf-25707-9067.o
736ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
737
738Result is: no
739##########################################
740
741============ Checking for HPUX SCSI header ============
742
743#include <sys/scsi.h>
744int main(void) { return 0; }
745
746cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
747/tmp/mplayer-conf-9091-9067.c:1: sys/scsi.h: No such file or directory
748
749ldd /tmp/mplayer-conf-25707-9067.o
750ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
751
752Result is: no
753##########################################
754
755============ Checking for userspace SCSI headers (Solaris) ============
756
757# include <unistd.h>
758# include <stropts.h>
759# include <sys/scsi/scsi_types.h>
760# include <sys/scsi/impl/uscsi.h>
761int main(void) { return 0; }
762
763cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
764/tmp/mplayer-conf-9091-9067.c:3: sys/scsi/scsi_types.h: No such file or directory
765/tmp/mplayer-conf-9091-9067.c:4: sys/scsi/impl/uscsi.h: No such file or directory
766
767ldd /tmp/mplayer-conf-25707-9067.o
768ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
769
770Result is: no
771##########################################
772
773============ Checking for termcap ============
774
775int main(void) { return 0; }
776
777cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -ltermcap
778/usr/i486-suse-linux/bin/ld: cannot find -ltermcap
779collect2: ld returned 1 exit status
780
781ldd /tmp/mplayer-conf-25707-9067.o
782ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
783
784
785int main(void) { return 0; }
786
787cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -ltinfo
788/usr/i486-suse-linux/bin/ld: cannot find -ltinfo
789collect2: ld returned 1 exit status
790
791ldd /tmp/mplayer-conf-25707-9067.o
792ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
793
794Result is: no
795##########################################
796
797============ Checking for termios ============
798
799#include <sys/termios.h>
800int main(void) { return 0; }
801
802cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
803
804ldd /tmp/mplayer-conf-25707-9067.o
805 libc.so.6 => /lib/libc.so.6 (0x4002c000)
806 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
807
808Result is: yes (using sys/termios.h)
809##########################################
810
811============ Checking for shm ============
812
813#include <sys/types.h>
814#include <sys/shm.h>
815int main(void) { shmget(0, 0, 0); shmat(0, 0, 0); shmctl(0, 0, 0); return 0; }
816
817cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
818
819ldd /tmp/mplayer-conf-25707-9067.o
820 libc.so.6 => /lib/libc.so.6 (0x4002c000)
821 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
822
823Result is: yes
824##########################################
825
826============ Checking for linux devfs ============
827Result is: no
828##########################################
829
830============ Checking for scandir() ============
831
832int main (void) { scandir("", 0, 0, 0); alphasort(0, 0); return 0; }
833
834cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
835
836ldd /tmp/mplayer-conf-25707-9067.o
837 libc.so.6 => /lib/libc.so.6 (0x4002c000)
838 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
839
840Result is: yes
841##########################################
842
843============ Checking for strsep() ============
844
845#include <string.h>
846int main (void) { char *s = "Hello, world!"; (void) strsep(&s, ","); return 0; }
847
848cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
849
850ldd /tmp/mplayer-conf-25707-9067.o
851 libc.so.6 => /lib/libc.so.6 (0x4002c000)
852 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
853
854Result is: yes
855##########################################
856
857============ Checking for strlcpy() ============
858
859#include <string.h>
860int main (void) { char *s = "Hello, world!", t[20]; (void) strlcpy(t, s, sizeof( t )); return 0; }
861
862cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
863/tmp/ccoEVGu6.o: In function `main':
864/tmp/ccoEVGu6.o(.text+0x1b): undefined reference to `strlcpy'
865collect2: ld returned 1 exit status
866
867ldd /tmp/mplayer-conf-25707-9067.o
868ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
869
870Result is: no
871##########################################
872
873============ Checking for strlcat() ============
874
875#include <string.h>
876int main (void) { char *s = "Hello, world!", t[20]; (void) strlcat(t, s, sizeof( t )); return 0; }
877
878cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
879/tmp/ccuO709A.o: In function `main':
880/tmp/ccuO709A.o(.text+0x1b): undefined reference to `strlcat'
881collect2: ld returned 1 exit status
882
883ldd /tmp/mplayer-conf-25707-9067.o
884ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
885
886Result is: no
887##########################################
888
889============ Checking for fseeko() ============
890
891#include <stdio.h>
892int main (void) { int i; i = fseeko(stdin, 0, 0); return 0; }
893
894cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
895
896ldd /tmp/mplayer-conf-25707-9067.o
897 libc.so.6 => /lib/libc.so.6 (0x4002c000)
898 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
899
900Result is: yes
901##########################################
902
903============ Checking for localtime_r() ============
904
905#include <time.h>
906int main( void ) { localtime_r(NULL, NULL); }
907
908cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
909
910ldd /tmp/mplayer-conf-25707-9067.o
911 libc.so.6 => /lib/libc.so.6 (0x4002c000)
912 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
913
914Result is: yes
915##########################################
916
917============ Checking for vsscanf() ============
918
919#include <stdarg.h>
920int main(void) { vsscanf(0, 0, 0); return 0; }
921
922cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
923
924ldd /tmp/mplayer-conf-25707-9067.o
925 libc.so.6 => /lib/libc.so.6 (0x4002c000)
926 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
927
928Result is: yes
929##########################################
930
931============ Checking for swab() ============
932
933#include <unistd.h>
934int main(void) { swab(0, 0, 0); return 0; }
935
936cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
937
938ldd /tmp/mplayer-conf-25707-9067.o
939 libc.so.6 => /lib/libc.so.6 (0x4002c000)
940 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
941
942Result is: yes
943##########################################
944
945============ Checking for posix select() ============
946
947#include <stdio.h>
948#include <stdlib.h>
949#include <sys/types.h>
950#include <string.h>
951#include <sys/time.h>
952#include <unistd.h>
953int main(void) {int nfds = 1; fd_set readfds; struct timeval timeout; select(nfds,&readfds,NULL,NULL,&timeout); return 0; }
954
955cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
956
957ldd /tmp/mplayer-conf-25707-9067.o
958 libc.so.6 => /lib/libc.so.6 (0x4002c000)
959 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
960
961Result is: yes
962##########################################
963
964============ Checking for gettimeofday() ============
965
966#include <stdio.h>
967#include <sys/time.h>
968int main(void) {struct timeval tv_start; gettimeofday(&tv_start, NULL); return 0; }
969
970cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
971
972ldd /tmp/mplayer-conf-25707-9067.o
973 libc.so.6 => /lib/libc.so.6 (0x4002c000)
974 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
975
976Result is: yes
977##########################################
978
979============ Checking for glob() ============
980
981#include <stdio.h>
982#include <glob.h>
983int main(void) { glob_t gg; glob("filename",0,NULL,&gg); return 0; }
984
985cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
986
987ldd /tmp/mplayer-conf-25707-9067.o
988 libc.so.6 => /lib/libc.so.6 (0x4002c000)
989 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
990
991Result is: yes
992##########################################
993
994============ Checking for sys/sysinfo.h ============
995
996#include <sys/sysinfo.h>
997int main(void) {
998 struct sysinfo s_info;
999 sysinfo(&s_info);
1000 return 0;
1001}
1002
1003cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
1004
1005ldd /tmp/mplayer-conf-25707-9067.o
1006 libc.so.6 => /lib/libc.so.6 (0x4002c000)
1007 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
1008
1009Result is: yes
1010##########################################
1011
1012============ Checking for Mac OS X APIs ============
1013Result is: no
1014##########################################
1015
1016============ Checking for Mac OS X Finder Support ============
1017Result is: no
1018##########################################
1019
1020============ Checking for Samba support (libsmbclient) ============
1021
1022#include <libsmbclient.h>
1023int main(void) { smbc_opendir("smb://"); return 0; }
1024
1025cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lsmbclient
1026
1027ldd /tmp/mplayer-conf-25707-9067.o
1028 libsmbclient.so.0 => /usr/lib/libsmbclient.so.0 (0x4002c000)
1029 libc.so.6 => /lib/libc.so.6 (0x400f0000)
1030 libssl.so.0.9.6 => /usr/lib/libssl.so.0.9.6 (0x40218000)
1031 libcrypto.so.0.9.6 => /usr/lib/libcrypto.so.0.9.6 (0x40246000)
1032 libcups.so.2 => /usr/lib/libcups.so.2 (0x40317000)
1033 libdl.so.2 => /lib/libdl.so.2 (0x40331000)
1034 libnsl.so.1 => /lib/libnsl.so.1 (0x40335000)
1035 libpam.so.0 => /lib/libpam.so.0 (0x4034b000)
1036 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
1037
1038Result is: yes
1039##########################################
1040
1041============ Checking for 3dfx ============
1042Result is: no
1043##########################################
1044
1045============ Checking for tdfxfb ============
1046Result is: no
1047##########################################
1048
1049============ Checking for tdfxvid ============
1050Result is: no
1051##########################################
1052
1053============ Checking for tga ============
1054Result is: yes
1055##########################################
1056
1057============ Checking for DirectFB headers presence ============
1058Result is: not found
1059##########################################
1060
1061============ Checking for DirectFB ============
1062Result is: no
1063##########################################
1064
1065============ Checking for X11 headers presence ============
1066Result is: yes (using /usr/X11/include)
1067##########################################
1068
1069============ Checking for X11 libs presence ============
1070Result is: yes (using /usr/X11R6/lib)
1071##########################################
1072
1073============ Checking for X11 ============
1074
1075#include <X11/Xlib.h>
1076#include <X11/Xutil.h>
1077int main(void) { (void) XCreateWindow(0,0,0,0,0,0,0,0,0,0,0,0); return 0; }
1078
1079cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -I/usr/X11/include -L/usr/X11R6/lib -lXext -lX11 -lnsl
1080
1081ldd /tmp/mplayer-conf-25707-9067.o
1082 libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x4002c000)
1083 libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4003a000)
1084 libnsl.so.1 => /lib/libnsl.so.1 (0x400fa000)
1085 libc.so.6 => /lib/libc.so.6 (0x40110000)
1086 libdl.so.2 => /lib/libdl.so.2 (0x40239000)
1087 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
1088
1089Result is: yes
1090##########################################
1091
1092============ Checking for DPMS ============
1093
1094#include <X11/Xmd.h>
1095#include <X11/Xlib.h>
1096#include <X11/Xutil.h>
1097#include <X11/Xatom.h>
1098#include <X11/extensions/dpms.h>
1099int main(void) {
1100 (void) DPMSQueryExtension(0, 0, 0);
1101}
1102
1103cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -I/usr/X11/include -lXdpms -L/usr/X11R6/lib -lXext -lX11 -lnsl
1104/usr/i486-suse-linux/bin/ld: cannot find -lXdpms
1105collect2: ld returned 1 exit status
1106
1107ldd /tmp/mplayer-conf-25707-9067.o
1108ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
1109
1110
1111#include <X11/Xlib.h>
1112#include <X11/extensions/dpms.h>
1113int main(void) {
1114 (void) DPMSQueryExtension(0, 0, 0);
1115}
1116
1117cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -I/usr/X11/include -L/usr/X11R6/lib -lXext -lX11 -lnsl
1118
1119ldd /tmp/mplayer-conf-25707-9067.o
1120 libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x4002c000)
1121 libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4003a000)
1122 libnsl.so.1 => /lib/libnsl.so.1 (0x400fa000)
1123 libc.so.6 => /lib/libc.so.6 (0x40110000)
1124 libdl.so.2 => /lib/libdl.so.2 (0x40239000)
1125 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
1126
1127Result is: yes (using Xdpms 4)
1128##########################################
1129
1130============ Checking for Xv ============
1131
1132#include <X11/Xlib.h>
1133#include <X11/extensions/Xvlib.h>
1134int main(void) {
1135 (void) XvGetPortAttribute(0, 0, 0, 0);
1136 (void) XvQueryPortAttributes(0, 0, 0);
1137 return 0; }
1138
1139cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -I/usr/X11/include -lXv -L/usr/X11R6/lib -lXext -lX11 -lnsl
1140
1141ldd /tmp/mplayer-conf-25707-9067.o
1142 libXv.so.1 => /usr/X11R6/lib/libXv.so.1 (0x4002c000)
1143 libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x40031000)
1144 libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4003f000)
1145 libnsl.so.1 => /lib/libnsl.so.1 (0x400ff000)
1146 libc.so.6 => /lib/libc.so.6 (0x40116000)
1147 libdl.so.2 => /lib/libdl.so.2 (0x4023e000)
1148 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
1149
1150Result is: yes
1151##########################################
1152
1153============ Checking for XvMC ============
1154Result is: no
1155##########################################
1156
1157============ Checking for Xinerama ============
1158
1159#include <X11/Xlib.h>
1160#include <X11/extensions/Xinerama.h>
1161int main(void) { (void) XineramaIsActive(0); return 0; }
1162
1163cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -I/usr/X11/include -lXinerama -L/usr/X11R6/lib -lXext -lX11 -lnsl
1164
1165ldd /tmp/mplayer-conf-25707-9067.o
1166 libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x4002c000)
1167 libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4003a000)
1168 libnsl.so.1 => /lib/libnsl.so.1 (0x400fa000)
1169 libc.so.6 => /lib/libc.so.6 (0x40110000)
1170 libdl.so.2 => /lib/libdl.so.2 (0x40239000)
1171 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
1172
1173Result is: yes
1174##########################################
1175
1176============ Checking for Xxf86vm ============
1177
1178#include <X11/Xlib.h>
1179#include <X11/extensions/xf86vmode.h>
1180#include <X11/XF86keysym.h>
1181int main(void) { (void) XF86VidModeQueryExtension(0, 0, 0); return 0; }
1182
1183cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -I/usr/X11/include -lXxf86vm -L/usr/X11R6/lib -lXext -lX11 -lnsl
1184
1185ldd /tmp/mplayer-conf-25707-9067.o
1186 libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x4002c000)
1187 libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4003a000)
1188 libnsl.so.1 => /lib/libnsl.so.1 (0x400fa000)
1189 libc.so.6 => /lib/libc.so.6 (0x40110000)
1190 libdl.so.2 => /lib/libdl.so.2 (0x40239000)
1191 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
1192
1193Result is: yes
1194##########################################
1195
1196============ Checking for DGA ============
1197
1198#include <X11/Xlib.h>
1199#include <X11/extensions/xf86dga.h>
1200int main (void) { (void) XF86DGASetViewPort(0, 0, 0, 0); return 0; }
1201
1202cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -I/usr/X11/include -lXxf86dga -lXxf86vm -L/usr/X11R6/lib -lXext -lX11 -lnsl
1203
1204ldd /tmp/mplayer-conf-25707-9067.o
1205 libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x4002c000)
1206 libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4003a000)
1207 libnsl.so.1 => /lib/libnsl.so.1 (0x400fa000)
1208 libc.so.6 => /lib/libc.so.6 (0x40110000)
1209 libdl.so.2 => /lib/libdl.so.2 (0x40239000)
1210 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
1211
1212
1213#include <X11/Xlib.h>
1214#include <X11/extensions/xf86dga.h>
1215int main (void) { (void) XDGASetViewport(0, 0, 0, 0, 0); return 0; }
1216
1217cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -I/usr/X11/include -lXxf86dga -L/usr/X11R6/lib -lXext -lX11 -lnsl
1218
1219ldd /tmp/mplayer-conf-25707-9067.o
1220 libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x4002c000)
1221 libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4003a000)
1222 libnsl.so.1 => /lib/libnsl.so.1 (0x400fa000)
1223 libc.so.6 => /lib/libc.so.6 (0x40110000)
1224 libdl.so.2 => /lib/libdl.so.2 (0x40239000)
1225 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
1226
1227Result is: yes (using DGA 2.0)
1228##########################################
1229
1230============ Checking for OpenGL ============
1231
1232#include <GL/gl.h>
1233int main(void) { return 0; }
1234
1235cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -I/usr/X11/include -L/usr/X11R6/lib -lXext -lX11 -lnsl -lGL -lm
1236
1237ldd /tmp/mplayer-conf-25707-9067.o
1238 libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x4002c000)
1239 libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4003a000)
1240 libnsl.so.1 => /lib/libnsl.so.1 (0x400fa000)
1241 libGL.so.1 => /usr/lib/libGL.so.1 (0x40110000)
1242 libm.so.6 => /lib/libm.so.6 (0x402c8000)
1243 libc.so.6 => /lib/libc.so.6 (0x402eb000)
1244 libdl.so.2 => /lib/libdl.so.2 (0x40413000)
1245 libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x40417000)
1246 libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x40421000)
1247 libXmu.so.6 => /usr/X11R6/lib/libXmu.so.6 (0x40439000)
1248 libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x40450000)
1249 libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x4049d000)
1250 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
1251
1252Result is: yes
1253##########################################
1254
1255============ Checking for /dev/mga_vid ============
1256Result is: no
1257##########################################
1258
1259============ Checking for xmga ============
1260Result is: no
1261##########################################
1262
1263============ Checking for GGI ============
1264
1265#include <ggi/ggi.h>
1266int main(void) { return 0; }
1267
1268cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lggi
1269/tmp/mplayer-conf-9091-9067.c:1: ggi/ggi.h: No such file or directory
1270
1271ldd /tmp/mplayer-conf-25707-9067.o
1272ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
1273
1274Result is: no
1275##########################################
1276
1277============ Checking for AA ============
1278
1279#include <aalib.h>
1280int main(void) { (void) aa_init(0, 0, 0); return 0; }
1281
1282cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -laa
1283
1284ldd /tmp/mplayer-conf-25707-9067.o
1285 libaa.so.1 => /usr/lib/libaa.so.1 (0x4002c000)
1286 libc.so.6 => /lib/libc.so.6 (0x40043000)
1287 libslang.so.1 => /usr/lib/libslang.so.1 (0x4016b000)
1288 libm.so.6 => /lib/libm.so.6 (0x401d0000)
1289 libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x401f4000)
1290 libgpm.so.1 => /usr/lib/libgpm.so.1 (0x402b4000)
1291 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
1292 libdl.so.2 => /lib/libdl.so.2 (0x402ba000)
1293 libncurses.so.5 => /lib/libncurses.so.5 (0x402be000)
1294
1295Result is: yes
1296##########################################
1297
1298============ Checking for CACA ============
1299./configure: caca-config: command not found
1300Result is: no
1301##########################################
1302
1303============ Checking for SVGAlib ============
1304
1305#include <vga.h>
1306#include <vgagl.h>
1307int main(void) { return 0; }
1308
1309cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lvgagl -lvga -lm
1310/tmp/mplayer-conf-9091-9067.c:1: vga.h: No such file or directory
1311/tmp/mplayer-conf-9091-9067.c:2: vgagl.h: No such file or directory
1312
1313ldd /tmp/mplayer-conf-25707-9067.o
1314ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
1315
1316Result is: no
1317##########################################
1318
1319============ Checking for FBDev ============
1320Result is: yes
1321##########################################
1322
1323============ Checking for DVB ============
1324
1325#include <sys/poll.h>
1326#include <sys/ioctl.h>
1327#include <stdio.h>
1328#include <time.h>
1329#include <unistd.h>
1330
1331#include <ost/dmx.h>
1332#include <ost/frontend.h>
1333#include <ost/sec.h>
1334#include <ost/video.h>
1335#include <ost/audio.h>
1336int main(void) {return 0;}
1337
1338cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
1339/tmp/mplayer-conf-9091-9067.c:7: ost/dmx.h: No such file or directory
1340/tmp/mplayer-conf-9091-9067.c:8: ost/frontend.h: No such file or directory
1341/tmp/mplayer-conf-9091-9067.c:9: ost/sec.h: No such file or directory
1342/tmp/mplayer-conf-9091-9067.c:10: ost/video.h: No such file or directory
1343/tmp/mplayer-conf-9091-9067.c:11: ost/audio.h: No such file or directory
1344
1345ldd /tmp/mplayer-conf-25707-9067.o
1346ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
1347
1348
1349#include <sys/poll.h>
1350#include <sys/ioctl.h>
1351#include <stdio.h>
1352#include <time.h>
1353#include <unistd.h>
1354
1355#include <ost/dmx.h>
1356#include <ost/frontend.h>
1357#include <ost/sec.h>
1358#include <ost/video.h>
1359#include <ost/audio.h>
1360int main(void) {return 0;}
1361
1362cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
1363cc: : No such file or directory
1364/tmp/mplayer-conf-9091-9067.c:7: ost/dmx.h: No such file or directory
1365/tmp/mplayer-conf-9091-9067.c:8: ost/frontend.h: No such file or directory
1366/tmp/mplayer-conf-9091-9067.c:9: ost/sec.h: No such file or directory
1367/tmp/mplayer-conf-9091-9067.c:10: ost/video.h: No such file or directory
1368/tmp/mplayer-conf-9091-9067.c:11: ost/audio.h: No such file or directory
1369
1370ldd /tmp/mplayer-conf-25707-9067.o
1371ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
1372
1373
1374#include <sys/poll.h>
1375#include <sys/ioctl.h>
1376#include <stdio.h>
1377#include <time.h>
1378#include <unistd.h>
1379
1380#include <ost/dmx.h>
1381#include <ost/frontend.h>
1382#include <ost/sec.h>
1383#include <ost/video.h>
1384#include <ost/audio.h>
1385int main(void) {return 0;}
1386
1387cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -I/usr/src/DVB/ost/include
1388/tmp/mplayer-conf-9091-9067.c:7: ost/dmx.h: No such file or directory
1389/tmp/mplayer-conf-9091-9067.c:8: ost/frontend.h: No such file or directory
1390/tmp/mplayer-conf-9091-9067.c:9: ost/sec.h: No such file or directory
1391/tmp/mplayer-conf-9091-9067.c:10: ost/video.h: No such file or directory
1392/tmp/mplayer-conf-9091-9067.c:11: ost/audio.h: No such file or directory
1393
1394ldd /tmp/mplayer-conf-25707-9067.o
1395ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
1396
1397Result is: no (specify path to DVB/ost/include with --with-dvbincdir=DIR)
1398##########################################
1399
1400============ Checking for DVB HEAD ============
1401
1402#include <sys/poll.h>
1403#include <sys/ioctl.h>
1404#include <stdio.h>
1405#include <time.h>
1406#include <unistd.h>
1407
1408#include <linux/dvb/dmx.h>
1409#include <linux/dvb/frontend.h>
1410#include <linux/dvb/video.h>
1411#include <linux/dvb/audio.h>
1412int main(void) {return 0;}
1413
1414cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
1415/tmp/mplayer-conf-9091-9067.c:7: linux/dvb/dmx.h: No such file or directory
1416/tmp/mplayer-conf-9091-9067.c:8: linux/dvb/frontend.h: No such file or directory
1417/tmp/mplayer-conf-9091-9067.c:9: linux/dvb/video.h: No such file or directory
1418/tmp/mplayer-conf-9091-9067.c:10: linux/dvb/audio.h: No such file or directory
1419
1420ldd /tmp/mplayer-conf-25707-9067.o
1421ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
1422
1423
1424#include <sys/poll.h>
1425#include <sys/ioctl.h>
1426#include <stdio.h>
1427#include <time.h>
1428#include <unistd.h>
1429
1430#include <linux/dvb/dmx.h>
1431#include <linux/dvb/frontend.h>
1432#include <linux/dvb/video.h>
1433#include <linux/dvb/audio.h>
1434int main(void) {return 0;}
1435
1436cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
1437cc: : No such file or directory
1438/tmp/mplayer-conf-9091-9067.c:7: linux/dvb/dmx.h: No such file or directory
1439/tmp/mplayer-conf-9091-9067.c:8: linux/dvb/frontend.h: No such file or directory
1440/tmp/mplayer-conf-9091-9067.c:9: linux/dvb/video.h: No such file or directory
1441/tmp/mplayer-conf-9091-9067.c:10: linux/dvb/audio.h: No such file or directory
1442
1443ldd /tmp/mplayer-conf-25707-9067.o
1444ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
1445
1446
1447#include <sys/poll.h>
1448#include <sys/ioctl.h>
1449#include <stdio.h>
1450#include <time.h>
1451#include <unistd.h>
1452
1453#include <linux/dvb/dmx.h>
1454#include <linux/dvb/frontend.h>
1455#include <linux/dvb/video.h>
1456#include <linux/dvb/audio.h>
1457int main(void) {return 0;}
1458
1459cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -I/usr/src/DVB/include
1460/tmp/mplayer-conf-9091-9067.c:7: linux/dvb/dmx.h: No such file or directory
1461/tmp/mplayer-conf-9091-9067.c:8: linux/dvb/frontend.h: No such file or directory
1462/tmp/mplayer-conf-9091-9067.c:9: linux/dvb/video.h: No such file or directory
1463/tmp/mplayer-conf-9091-9067.c:10: linux/dvb/audio.h: No such file or directory
1464
1465ldd /tmp/mplayer-conf-25707-9067.o
1466ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
1467
1468Result is: no (specify path to DVB/include (HEAD Version) with --with-dvbincdir=DIR)
1469##########################################
1470
1471============ Checking for PNG support ============
1472
1473#include <png.h>
1474#include <string.h>
1475int main(void) {
1476 printf("png.h : %s\n", PNG_LIBPNG_VER_STRING);
1477 printf("libpng: %s\n", png_libpng_ver);
1478 return (strcmp(PNG_LIBPNG_VER_STRING, png_libpng_ver));
1479}
1480
1481cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lpng -lz -lm
1482
1483ldd /tmp/mplayer-conf-25707-9067.o
1484 libpng.so.2 => /usr/lib/libpng.so.2 (0x4002c000)
1485 libz.so.1 => /lib/libz.so.1 (0x4005d000)
1486 libm.so.6 => /lib/libm.so.6 (0x4006c000)
1487 libc.so.6 => /lib/libc.so.6 (0x4008f000)
1488 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
1489
1490png.h : 1.0.12
1491libpng: 1.0.12
1492Result is: yes
1493##########################################
1494
1495============ Checking for JPEG support ============
1496
1497#include <stdio.h>
1498#include <stdlib.h>
1499#include <setjmp.h>
1500#include <string.h>
1501#include <jpeglib.h>
1502int main(void) {
1503 return 0;
1504}
1505
1506cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -ljpeg -lm
1507
1508ldd /tmp/mplayer-conf-25707-9067.o
1509 libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x4002c000)
1510 libm.so.6 => /lib/libm.so.6 (0x4004b000)
1511 libc.so.6 => /lib/libc.so.6 (0x4006e000)
1512 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
1513
1514Result is: yes
1515##########################################
1516
1517============ Checking for PNM support ============
1518Result is: yes
1519##########################################
1520
1521============ Checking for md5sum support ============
1522Result is: yes
1523##########################################
1524
1525============ Checking for GIF support ============
1526
1527#include <gif_lib.h>
1528int main(void) {
1529 return 0;
1530}
1531
1532cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lungif
1533
1534ldd /tmp/mplayer-conf-25707-9067.o
1535 libungif.so.4 => /usr/lib/libungif.so.4 (0x4002c000)
1536 libc.so.6 => /lib/libc.so.6 (0x40034000)
1537 libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4015c000)
1538 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
1539 libdl.so.2 => /lib/libdl.so.2 (0x4021c000)
1540
1541
1542#include <signal.h>
1543#include <gif_lib.h>
1544void catch() { exit(1); }
1545int main(void) {
1546 signal(SIGSEGV, catch); // catch segfault
1547 printf("EGifPutExtensionFirst is at address %p\n", EGifPutExtensionFirst);
1548 EGifSetGifVersion("89a"); // this will segfault a buggy gif lib.
1549 return 0;
1550}
1551
1552cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lungif
1553
1554ldd /tmp/mplayer-conf-25707-9067.o
1555 libungif.so.4 => /usr/lib/libungif.so.4 (0x4002c000)
1556 libc.so.6 => /lib/libc.so.6 (0x40034000)
1557 libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4015c000)
1558 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
1559 libdl.so.2 => /lib/libdl.so.2 (0x4021c000)
1560
1561EGifPutExtensionFirst is at address 0x8048500
1562Result is: yes
1563##########################################
1564
1565============ Checking for broken giflib workaround ============
1566
1567#include <gif_lib.h>
1568int main(void) {
1569 GifFileType gif;
1570 printf("UserData is at address %p\n", gif.UserData);
1571 return 0;
1572}
1573
1574cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lungif
1575
1576ldd /tmp/mplayer-conf-25707-9067.o
1577 libungif.so.4 => /usr/lib/libungif.so.4 (0x4002c000)
1578 libc.so.6 => /lib/libc.so.6 (0x40034000)
1579 libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4015c000)
1580 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
1581 libdl.so.2 => /lib/libdl.so.2 (0x4021c000)
1582
1583UserData is at address 0x4000bcd0
1584Result is: disabled
1585##########################################
1586
1587============ Checking for VESA support ============
1588
1589#include <sys/io.h>
1590int main(void) { return 0; }
1591
1592cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
1593
1594ldd /tmp/mplayer-conf-25707-9067.o
1595 libc.so.6 => /lib/libc.so.6 (0x4002c000)
1596 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
1597
1598Result is: yes
1599##########################################
1600
1601============ Checking for SDL ============
16021.2.3
16031.2.3
1604
1605#include <SDL.h>
1606int main(int argc, char *argv[]) { return 0; }
1607
1608cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -I/usr/include/SDL -D_REENTRANT -L/usr/lib -Wl,-rpath,/usr/lib -lSDL -lpthread
1609
1610ldd /tmp/mplayer-conf-25707-9067.o
1611 libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0x40017000)
1612 libpthread.so.0 => /lib/libpthread.so.0 (0x400a0000)
1613 libc.so.6 => /lib/libc.so.6 (0x400b6000)
1614 libm.so.6 => /lib/libm.so.6 (0x401de000)
1615 libasound.so.2 => /usr/lib/libasound.so.2 (0x40202000)
1616 libdl.so.2 => /lib/libdl.so.2 (0x40281000)
1617 libartsc.so.0 => /opt/kde2/lib/libartsc.so.0 (0x40285000)
1618 libesd.so.0 => /usr/lib/libesd.so.0 (0x4028c000)
1619 libaudiofile.so.0 => /usr/lib/libaudiofile.so.0 (0x40293000)
1620 libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x402b5000)
1621 libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x40376000)
1622 libaa.so.1 => /usr/lib/libaa.so.1 (0x40384000)
1623 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
1624 libslang.so.1 => /usr/lib/libslang.so.1 (0x4039b000)
1625 libgpm.so.1 => /usr/lib/libgpm.so.1 (0x40400000)
1626 libncurses.so.5 => /lib/libncurses.so.5 (0x40406000)
1627
1628Result is: yes (using sdl-config)
1629##########################################
1630
1631============ Checking for Windows waveout ============
1632
1633#include <windows.h>
1634#include <mmsystem.h>
1635int main(void) { return 0; }
1636
1637cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lwinmm
1638/tmp/mplayer-conf-9091-9067.c:1: windows.h: No such file or directory
1639/tmp/mplayer-conf-9091-9067.c:2: mmsystem.h: No such file or directory
1640
1641ldd /tmp/mplayer-conf-25707-9067.o
1642ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
1643
1644Result is: no
1645##########################################
1646
1647============ Checking for Directx ============
1648
1649#include <windows.h>
1650#include <ddraw.h>
1651#include <dsound.h>
1652int main(void) { return 0; }
1653
1654cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lgdi32
1655/tmp/mplayer-conf-9091-9067.c:1: windows.h: No such file or directory
1656/tmp/mplayer-conf-9091-9067.c:2: ddraw.h: No such file or directory
1657/tmp/mplayer-conf-9091-9067.c:3: dsound.h: No such file or directory
1658
1659ldd /tmp/mplayer-conf-25707-9067.o
1660ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
1661
1662Result is: no
1663##########################################
1664
1665============ Checking for NAS ============
1666
1667#include <audio/audiolib.h>
1668int main(void) { return 0; }
1669
1670cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -laudio -I/usr/X11/include -lXt -L/usr/X11R6/lib -lXext -lX11 -lnsl -lm
1671/tmp/mplayer-conf-9091-9067.c:1: audio/audiolib.h: No such file or directory
1672
1673ldd /tmp/mplayer-conf-25707-9067.o
1674ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
1675
1676Result is: no
1677##########################################
1678
1679============ Checking for DXR2 ============
1680
1681#include <dxr2ioctl.h>
1682int main(void) { return 0; }
1683
1684cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
1685/tmp/mplayer-conf-9091-9067.c:1: dxr2ioctl.h: No such file or directory
1686
1687ldd /tmp/mplayer-conf-25707-9067.o
1688ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
1689
1690
1691#include <dxr2ioctl.h>
1692int main(void) { return 0; }
1693
1694cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -I/usr/local/include/dxr2
1695/tmp/mplayer-conf-9091-9067.c:1: dxr2ioctl.h: No such file or directory
1696
1697ldd /tmp/mplayer-conf-25707-9067.o
1698ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
1699
1700
1701#include <dxr2ioctl.h>
1702int main(void) { return 0; }
1703
1704cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -I/usr/include/dxr2
1705/tmp/mplayer-conf-9091-9067.c:1: dxr2ioctl.h: No such file or directory
1706
1707ldd /tmp/mplayer-conf-25707-9067.o
1708ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
1709
1710Result is: no
1711##########################################
1712
1713============ Checking for DXR3/H+ ============
1714
1715#include <linux/em8300.h>
1716int main(void) { return 0; }
1717
1718cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
1719/tmp/mplayer-conf-9091-9067.c:1: linux/em8300.h: No such file or directory
1720
1721ldd /tmp/mplayer-conf-25707-9067.o
1722ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
1723
1724Result is: no
1725##########################################
1726
1727============ Checking for libmp1e ============
1728Result is: no
1729##########################################
1730
1731============ Checking for libfame ============
1732Result is: no
1733##########################################
1734
1735============ Checking for OSS Audio ============
1736
1737#include <sys/ioctl.h>
1738#include <sys/soundcard.h>
1739int main(void) { int arg = SNDCTL_DSP_SETFRAGMENT; return 0; }
1740
1741cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
1742
1743ldd /tmp/mplayer-conf-25707-9067.o
1744 libc.so.6 => /lib/libc.so.6 (0x4002c000)
1745 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
1746
1747
1748#include <sys/ioctl.h>
1749#include <sys/soundcard.h>
1750#ifdef OPEN_SOUND_SYSTEM
1751int main(void) { return 0; }
1752#else
1753#error Not the real thing
1754#endif
1755
1756cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
1757
1758ldd /tmp/mplayer-conf-25707-9067.o
1759 libc.so.6 => /lib/libc.so.6 (0x4002c000)
1760 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
1761
1762Result is: yes
1763##########################################
1764
1765============ Checking for aRts ============
1766./configure: artsc-config: command not found
1767Result is: no
1768##########################################
1769
1770============ Checking for EsounD ============
17710.2.23
1772
1773#include <esd.h>
1774int main(void) { return 0; }
1775
1776cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -L/usr/lib -lesd -laudiofile -lm
1777
1778ldd /tmp/mplayer-conf-25707-9067.o
1779 libesd.so.0 => /usr/lib/libesd.so.0 (0x4002c000)
1780 libaudiofile.so.0 => /usr/lib/libaudiofile.so.0 (0x40033000)
1781 libm.so.6 => /lib/libm.so.6 (0x40055000)
1782 libc.so.6 => /lib/libc.so.6 (0x40078000)
1783 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
1784
1785Result is: yes
1786##########################################
1787
1788============ Checking for esd_get_latency() ============
1789
1790#include <esd.h>
1791int main(void) { return esd_get_latency(0); }
1792
1793cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -L/usr/lib -lesd -laudiofile -lm
1794
1795ldd /tmp/mplayer-conf-25707-9067.o
1796 libesd.so.0 => /usr/lib/libesd.so.0 (0x4002c000)
1797 libaudiofile.so.0 => /usr/lib/libaudiofile.so.0 (0x40033000)
1798 libm.so.6 => /lib/libm.so.6 (0x40055000)
1799 libc.so.6 => /lib/libc.so.6 (0x40078000)
1800 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
1801
1802Result is: yes
1803##########################################
1804
1805============ Checking for Polyp ============
1806Result is: no
1807##########################################
1808
1809============ Checking for JACK ============
1810Result is: no
1811##########################################
1812
1813============ Checking for ALSA audio ============
1814
1815#include <sys/asoundlib.h>
1816int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==5)); }
1817
1818cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lasound -ldl -lpthread
1819In file included from /tmp/mplayer-conf-9091-9067.c:1:
1820/usr/include/sys/asoundlib.h:1: warning: #warning This header is deprecated, use <alsa/asoundlib.h> instead.
1821
1822ldd /tmp/mplayer-conf-25707-9067.o
1823 libasound.so.2 => /usr/lib/libasound.so.2 (0x4002c000)
1824 libdl.so.2 => /lib/libdl.so.2 (0x400ab000)
1825 libpthread.so.0 => /lib/libpthread.so.0 (0x400af000)
1826 libc.so.6 => /lib/libc.so.6 (0x400c5000)
1827 libm.so.6 => /lib/libm.so.6 (0x401ee000)
1828 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
1829
1830
1831#include <sys/asoundlib.h>
1832int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==9)); }
1833
1834cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lasound -ldl -lpthread
1835In file included from /tmp/mplayer-conf-9091-9067.c:1:
1836/usr/include/sys/asoundlib.h:1: warning: #warning This header is deprecated, use <alsa/asoundlib.h> instead.
1837
1838ldd /tmp/mplayer-conf-25707-9067.o
1839 libasound.so.2 => /usr/lib/libasound.so.2 (0x4002c000)
1840 libdl.so.2 => /lib/libdl.so.2 (0x400ab000)
1841 libpthread.so.0 => /lib/libpthread.so.0 (0x400af000)
1842 libc.so.6 => /lib/libc.so.6 (0x400c5000)
1843 libm.so.6 => /lib/libm.so.6 (0x401ee000)
1844 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
1845
1846
1847#include <alsa/asoundlib.h>
1848int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==9)); }
1849
1850cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lasound -ldl -lpthread
1851
1852ldd /tmp/mplayer-conf-25707-9067.o
1853 libasound.so.2 => /usr/lib/libasound.so.2 (0x4002c000)
1854 libdl.so.2 => /lib/libdl.so.2 (0x400ab000)
1855 libpthread.so.0 => /lib/libpthread.so.0 (0x400af000)
1856 libc.so.6 => /lib/libc.so.6 (0x400c5000)
1857 libm.so.6 => /lib/libm.so.6 (0x401ee000)
1858 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
1859
1860
1861#include <sys/asoundlib.h>
1862int main(void) { return (!(SND_LIB_MAJOR==1 && SND_LIB_MINOR==0)); }
1863
1864cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lasound -ldl -lpthread
1865In file included from /tmp/mplayer-conf-9091-9067.c:1:
1866/usr/include/sys/asoundlib.h:1: warning: #warning This header is deprecated, use <alsa/asoundlib.h> instead.
1867
1868ldd /tmp/mplayer-conf-25707-9067.o
1869 libasound.so.2 => /usr/lib/libasound.so.2 (0x4002c000)
1870 libdl.so.2 => /lib/libdl.so.2 (0x400ab000)
1871 libpthread.so.0 => /lib/libpthread.so.0 (0x400af000)
1872 libc.so.6 => /lib/libc.so.6 (0x400c5000)
1873 libm.so.6 => /lib/libm.so.6 (0x401ee000)
1874 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
1875
1876
1877#include <alsa/asoundlib.h>
1878int main(void) { return (!(SND_LIB_MAJOR==1 && SND_LIB_MINOR==0)); }
1879
1880cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lasound -ldl -lpthread
1881
1882ldd /tmp/mplayer-conf-25707-9067.o
1883 libasound.so.2 => /usr/lib/libasound.so.2 (0x4002c000)
1884 libdl.so.2 => /lib/libdl.so.2 (0x400ab000)
1885 libpthread.so.0 => /lib/libpthread.so.0 (0x400af000)
1886 libc.so.6 => /lib/libc.so.6 (0x400c5000)
1887 libm.so.6 => /lib/libm.so.6 (0x401ee000)
1888 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
1889
1890Result is: yes (using alsa 0.9.x and alsa/asoundlib.h)
1891##########################################
1892
1893============ Checking for Sun audio ============
1894
1895#include <sys/types.h>
1896#include <sys/audioio.h>
1897int main(void) { audio_info_t info; AUDIO_INITINFO(&info); return 0; }
1898
1899cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
1900/tmp/mplayer-conf-9091-9067.c:2: sys/audioio.h: No such file or directory
1901
1902ldd /tmp/mplayer-conf-25707-9067.o
1903ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
1904
1905Result is: no
1906##########################################
1907
1908============ Checking for Sun mediaLib ============
1909
1910#include <mlib.h>
1911int main(void) { mlib_VideoColorYUV2ABGR420(0,0,0,0,0,0,0,0,0); return 0; }
1912
1913cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -I/opt/SUNWmlib/include -L/opt/SUNWmlib/lib -lmlib
1914/tmp/mplayer-conf-9091-9067.c:1: mlib.h: No such file or directory
1915
1916ldd /tmp/mplayer-conf-25707-9067.o
1917ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
1918
1919Result is: no
1920##########################################
1921
1922============ Checking for SGI audio ============
1923
1924#include <dmedia/audio.h>
1925int main(void) { return 0; }
1926
1927cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
1928/tmp/mplayer-conf-9091-9067.c:1: dmedia/audio.h: No such file or directory
1929
1930ldd /tmp/mplayer-conf-25707-9067.o
1931ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
1932
1933Result is: no
1934##########################################
1935
1936============ Checking for VCD support ============
1937Result is: ok
1938##########################################
1939
1940============ Checking for DVD support (libmpdvdkit) ============
1941Result is: yes
1942##########################################
1943
1944============ Checking for DVD support (libdvdread) ============
1945Result is: disabled by libmpdvdkit2
1946##########################################
1947
1948============ Checking for cdparanoia ============
1949
1950#include <cdda_interface.h>
1951#include <cdda_paranoia.h>
1952// This need a better test. How ?
1953int main(void) { return 1; }
1954
1955cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lcdda_interface -lcdda_paranoia -lm
1956
1957ldd /tmp/mplayer-conf-25707-9067.o
1958 libcdda_interface.so.0 => /usr/lib/libcdda_interface.so.0 (0x4002c000)
1959 libcdda_paranoia.so.0 => /usr/lib/libcdda_paranoia.so.0 (0x40049000)
1960 libm.so.6 => /lib/libm.so.6 (0x40052000)
1961 libc.so.6 => /lib/libc.so.6 (0x40075000)
1962 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
1963
1964Result is: yes
1965##########################################
1966
1967============ Checking for freetype >= 2.0.9 ============
1968
1969#include <stdio.h>
1970#include <ft2build.h>
1971#include FT_FREETYPE_H
1972#if ((FREETYPE_MAJOR < 2) || ((FREETYPE_MINOR == 0) && (FREETYPE_PATCH < 9)))
1973#error "Need FreeType 2.0.9 or newer"
1974#endif
1975int main()
1976{
1977 FT_Library library;
1978 FT_Int major=-1,minor=-1,patch=-1;
1979 int err=FT_Init_FreeType(&library);
1980 if(err){
1981 printf("Couldn't initialize freetype2 lib, err code: %d\n",err);
1982 exit(err);
1983 }
1984 FT_Library_Version(library,&major,&minor,&patch); // in v2.1.0+ only :(((
1985 printf("freetype2 header version: %d.%d.%d library version: %d.%d.%d\n",
1986 FREETYPE_MAJOR,FREETYPE_MINOR,FREETYPE_PATCH,
1987 (int)major,(int)minor,(int)patch );
1988 if(major!=FREETYPE_MAJOR || minor!=FREETYPE_MINOR){
1989 printf("Library and header version mismatch! Fix it in your distribution!\n");
1990 exit(1);
1991 }
1992 return 0;
1993}
1994
1995cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -I/usr/include/freetype2 -lfreetype
1996/tmp/mplayer-conf-9091-9067.c:5: #error "Need FreeType 2.0.9 or newer"
1997
1998ldd /tmp/mplayer-conf-25707-9067.o
1999ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
2000
2001Result is: no
2002##########################################
2003
2004============ Checking for fontconfig ============
2005Result is: no
2006##########################################
2007
2008============ Checking for fribidi with charsets ============
2009Result is: no
2010##########################################
2011
2012============ Checking for ENCA ============
2013
2014#include <enca.h>
2015int main()
2016{
2017 const char **langs;
2018 size_t langcnt;
2019 langs = enca_get_languages(&langcnt);
2020 return 0;
2021}
2022
2023cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lenca
2024/tmp/mplayer-conf-9091-9067.c:1: enca.h: No such file or directory
2025
2026ldd /tmp/mplayer-conf-25707-9067.o
2027ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
2028
2029Result is: no
2030##########################################
2031
2032============ Checking for zlib ============
2033
2034#include <zlib.h>
2035int main(void) { (void) inflate(0, Z_NO_FLUSH); return 0; }
2036
2037cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lz
2038
2039ldd /tmp/mplayer-conf-25707-9067.o
2040 libz.so.1 => /lib/libz.so.1 (0x4002c000)
2041 libc.so.6 => /lib/libc.so.6 (0x4003b000)
2042 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
2043
2044Result is: yes
2045##########################################
2046
2047============ Checking for RTC ============
2048
2049#include <sys/ioctl.h>
2050#include <linux/rtc.h>
2051int main(void) { return RTC_IRQP_READ; }
2052
2053cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
2054
2055ldd /tmp/mplayer-conf-25707-9067.o
2056 libc.so.6 => /lib/libc.so.6 (0x4002c000)
2057 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
2058
2059Result is: yes
2060##########################################
2061
2062============ Checking for external liblzo support ============
2063
2064#include <lzo1x.h>
2065int main(void) { lzo_init();return 0; }
2066
2067cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -llzo
2068/tmp/mplayer-conf-9091-9067.c:1: lzo1x.h: No such file or directory
2069
2070ldd /tmp/mplayer-conf-25707-9067.o
2071ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
2072
2073Result is: no
2074##########################################
2075
2076============ Checking for mad support ============
2077
2078#include <mad.h>
2079int main(void) { return 0; }
2080
2081cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lmad
2082/tmp/mplayer-conf-9091-9067.c:1: mad.h: No such file or directory
2083
2084ldd /tmp/mplayer-conf-25707-9067.o
2085ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
2086
2087Result is: no
2088##########################################
2089
2090============ Checking for Toolame ============
2091
2092#include <toolame.h>
2093int main(void) { toolame_init(); return 0; }
2094
2095cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -ltoolame -lm
2096/tmp/mplayer-conf-9091-9067.c:1: toolame.h: No such file or directory
2097
2098ldd /tmp/mplayer-conf-25707-9067.o
2099ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
2100
2101Result is: no
2102##########################################
2103
2104============ Checking for OggVorbis support ============
2105
2106#include <vorbis/codec.h>
2107int main(void) { vorbis_packet_blocksize(0,0); return 0; }
2108
2109cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lvorbis -logg -lm
2110
2111ldd /tmp/mplayer-conf-25707-9067.o
2112 libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0x4002c000)
2113 libogg.so.0 => /usr/lib/libogg.so.0 (0x4004b000)
2114 libm.so.6 => /lib/libm.so.6 (0x4004f000)
2115 libc.so.6 => /lib/libc.so.6 (0x40072000)
2116 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
2117
2118Result is: yes
2119##########################################
2120
2121============ Checking for OggTheora support (only the CVS version!) ============
2122
2123#include <theora/theora.h>
2124#include <string.h>
2125int main(void)
2126{
2127 /* theora is in flux, make sure that all interface routines and
2128 * datatypes exist and work the way we expect it, so we don't break
2129 * mplayer */
2130 ogg_packet op;
2131 theora_comment tc;
2132 theora_info inf;
2133 theora_state st;
2134 yuv_buffer yuv;
2135 int r;
2136 double t;
2137
2138 theora_info_init (&inf);
2139 theora_comment_init (&tc);
2140
2141 return 0;
2142
2143 /* we don't want to execute this kind of nonsense; just for making sure
2144 * that compilation works... */
2145 memset(&op, 0, sizeof(op));
2146 r = theora_decode_header (&inf, &tc, &op);
2147 r = theora_decode_init (&st, &inf);
2148 t = theora_granule_time (&st, op.granulepos);
2149 r = theora_decode_packetin (&st, &op);
2150 r = theora_decode_YUVout (&st, &yuv);
2151 theora_clear (&st);
2152
2153 return 0;
2154}
2155
2156cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -ltheora -logg -lm
2157/tmp/mplayer-conf-9091-9067.c:1: theora/theora.h: No such file or directory
2158
2159ldd /tmp/mplayer-conf-25707-9067.o
2160ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
2161
2162Result is: no
2163##########################################
2164
2165============ Checking for mp3lib support ============
2166Result is: yes
2167##########################################
2168
2169============ Checking for liba52 support ============
2170Result is: yes
2171##########################################
2172
2173============ Checking for libdts support ============
2174
2175#include <stdint.h>
2176#include <dts.h>
2177int main(void) { dts_init (0); return 0; }
2178
2179cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -ldts -lm
2180/tmp/mplayer-conf-9091-9067.c:2: dts.h: No such file or directory
2181
2182ldd /tmp/mplayer-conf-25707-9067.o
2183ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
2184
2185Result is: no
2186##########################################
2187
2188============ Checking for libmpeg2 support ============
2189Result is: yes
2190##########################################
2191
2192============ Checking for Matroska support ============
2193Result is: yes
2194##########################################
2195
2196============ Checking for internal FAAD2 (AAC) support ============
2197
2198/*
2199** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
2200** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com
2201**
2202** This program is free software; you can redistribute it and/or modify
2203** it under the terms of the GNU General Public License as published by
2204** the Free Software Foundation; either version 2 of the License, or
2205** (at your option) any later version.
2206**
2207** This program is distributed in the hope that it will be useful,
2208** but WITHOUT ANY WARRANTY; without even the implied warranty of
2209** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2210** GNU General Public License for more details.
2211**
2212** You should have received a copy of the GNU General Public License
2213** along with this program; if not, write to the Free Software
2214** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
2215**
2216** Any non-GPL usage of this software or parts of this software is strictly
2217** forbidden.
2218**
2219** Commercial non-GPL licensing of this software is possible.
2220** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
2221**
2222** Initially modified for use with MPlayer by Arpad Gereöffy on 2003/08/30
2223** $Id: cfft.c,v 1.5 2004/09/24 17:31:33 diego Exp $
2224** detailed CVS changelog at http://www.mplayerhq.hu/cgi-bin/cvsweb.cgi/main/
2225**/
2226
2227/*
2228 * Algorithmically based on Fortran-77 FFTPACK
2229 * by Paul N. Swarztrauber(Version 4, 1985).
2230 *
2231 * Does even sized fft only
2232 */
2233
2234/* isign is +1 for backward and -1 for forward transforms */
2235
2236#include "common.h"
2237#include "structs.h"
2238
2239#include <stdlib.h>
2240
2241#include "cfft.h"
2242#include "cfft_tab.h"
2243
2244
2245/* static function declarations */
2246#ifdef USE_SSE
2247static void passf2pos_sse(const uint16_t l1, const complex_t *cc,
2248 complex_t *ch, const complex_t *wa);
2249static void passf2pos_sse_ido(const uint16_t ido, const uint16_t l1, const complex_t *cc,
2250 complex_t *ch, const complex_t *wa);
2251static void passf4pos_sse_ido(const uint16_t ido, const uint16_t l1, const complex_t *cc, complex_t *ch,
2252 const complex_t *wa1, const complex_t *wa2, const complex_t *wa3);
2253#endif
2254static void passf2pos(const uint16_t ido, const uint16_t l1, const complex_t *cc,
2255 complex_t *ch, const complex_t *wa);
2256static void passf2neg(const uint16_t ido, const uint16_t l1, const complex_t *cc,
2257 complex_t *ch, const complex_t *wa);
2258static void passf3(const uint16_t ido, const uint16_t l1, const complex_t *cc,
2259 complex_t *ch, const complex_t *wa1, const complex_t *wa2, const int8_t isign);
2260static void passf4pos(const uint16_t ido, const uint16_t l1, const complex_t *cc, complex_t *ch,
2261 const complex_t *wa1, const complex_t *wa2, const complex_t *wa3);
2262static void passf4neg(const uint16_t ido, const uint16_t l1, const complex_t *cc, complex_t *ch,
2263 const complex_t *wa1, const complex_t *wa2, const complex_t *wa3);
2264static void passf5(const uint16_t ido, const uint16_t l1, const complex_t *cc, complex_t *ch,
2265 const complex_t *wa1, const complex_t *wa2, const complex_t *wa3,
2266 const complex_t *wa4, const int8_t isign);
2267INLINE void cfftf1(uint16_t n, complex_t *c, complex_t *ch,
2268 const uint16_t *ifac, const complex_t *wa, const int8_t isign);
2269static void cffti1(uint16_t n, complex_t *wa, uint16_t *ifac);
2270
2271
2272/*----------------------------------------------------------------------
2273 passf2, passf3, passf4, passf5. Complex FFT passes fwd and bwd.
2274 ----------------------------------------------------------------------*/
2275
2276#if 0 //def USE_SSE
2277static void passf2pos_sse(const uint16_t l1, const complex_t *cc,
2278 complex_t *ch, const complex_t *wa)
2279{
2280 uint16_t k, ah, ac;
2281
2282 for (k = 0; k < l1; k++)
2283 {
2284 ah = 2*k;
2285 ac = 4*k;
2286
2287 RE(ch[ah]) = RE(cc[ac]) + RE(cc[ac+1]);
2288 IM(ch[ah]) = IM(cc[ac]) + IM(cc[ac+1]);
2289
2290 RE(ch[ah+l1]) = RE(cc[ac]) - RE(cc[ac+1]);
2291 IM(ch[ah+l1]) = IM(cc[ac]) - IM(cc[ac+1]);
2292 }
2293}
2294
2295static void passf2pos_sse_ido(const uint16_t ido, const uint16_t l1, const complex_t *cc,
2296 complex_t *ch, const complex_t *wa)
2297{
2298 uint16_t i, k, ah, ac;
2299
2300 for (k = 0; k < l1; k++)
2301 {
2302 ah = k*ido;
2303 ac = 2*k*ido;
2304
2305 for (i = 0; i < ido; i+=4)
2306 {
2307 __m128 m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14;
2308 __m128 m15, m16, m17, m18, m19, m20, m21, m22, m23, m24;
2309 __m128 w1, w2, w3, w4;
2310
2311 m1 = _mm_load_ps(&RE(cc[ac+i]));
2312 m2 = _mm_load_ps(&RE(cc[ac+ido+i]));
2313 m5 = _mm_load_ps(&RE(cc[ac+i+2]));
2314 m6 = _mm_load_ps(&RE(cc[ac+ido+i+2]));
2315 w1 = _mm_load_ps(&RE(wa[i]));
2316 w3 = _mm_load_ps(&RE(wa[i+2]));
2317
2318 m3 = _mm_add_ps(m1, m2);
2319 m15 = _mm_add_ps(m5, m6);
2320
2321 m4 = _mm_sub_ps(m1, m2);
2322 m16 = _mm_sub_ps(m5, m6);
2323
2324 _mm_store_ps(&RE(ch[ah+i]), m3);
2325 _mm_store_ps(&RE(ch[ah+i+2]), m15);
2326
2327
2328 w2 = _mm_shuffle_ps(w1, w1, _MM_SHUFFLE(2, 3, 0, 1));
2329 w4 = _mm_shuffle_ps(w3, w3, _MM_SHUFFLE(2, 3, 0, 1));
2330
2331 m7 = _mm_mul_ps(m4, w1);
2332 m17 = _mm_mul_ps(m16, w3);
2333 m8 = _mm_mul_ps(m4, w2);
2334 m18 = _mm_mul_ps(m16, w4);
2335
2336 m9 = _mm_shuffle_ps(m7, m8, _MM_SHUFFLE(2, 0, 2, 0));
2337 m19 = _mm_shuffle_ps(m17, m18, _MM_SHUFFLE(2, 0, 2, 0));
2338 m10 = _mm_shuffle_ps(m7, m8, _MM_SHUFFLE(3, 1, 3, 1));
2339 m20 = _mm_shuffle_ps(m17, m18, _MM_SHUFFLE(3, 1, 3, 1));
2340
2341 m11 = _mm_add_ps(m9, m10);
2342 m21 = _mm_add_ps(m19, m20);
2343 m12 = _mm_sub_ps(m9, m10);
2344 m22 = _mm_sub_ps(m19, m20);
2345
2346 m13 = _mm_shuffle_ps(m11, m11, _MM_SHUFFLE(0, 0, 3, 2));
2347 m23 = _mm_shuffle_ps(m21, m21, _MM_SHUFFLE(0, 0, 3, 2));
2348
2349 m14 = _mm_unpacklo_ps(m12, m13);
2350 m24 = _mm_unpacklo_ps(m22, m23);
2351
2352 _mm_store_ps(&RE(ch[ah+i+l1*ido]), m14);
2353 _mm_store_ps(&RE(ch[ah+i+2+l1*ido]), m24);
2354 }
2355 }
2356}
2357#endif
2358
2359static void passf2pos(const uint16_t ido, const uint16_t l1, const complex_t *cc,
2360 complex_t *ch, const complex_t *wa)
2361{
2362 uint16_t i, k, ah, ac;
2363
2364 if (ido == 1)
2365 {
2366 for (k = 0; k < l1; k++)
2367 {
2368 ah = 2*k;
2369 ac = 4*k;
2370
2371 RE(ch[ah]) = RE(cc[ac]) + RE(cc[ac+1]);
2372 RE(ch[ah+l1]) = RE(cc[ac]) - RE(cc[ac+1]);
2373 IM(ch[ah]) = IM(cc[ac]) + IM(cc[ac+1]);
2374 IM(ch[ah+l1]) = IM(cc[ac]) - IM(cc[ac+1]);
2375 }
2376 } else {
2377 for (k = 0; k < l1; k++)
2378 {
2379 ah = k*ido;
2380 ac = 2*k*ido;
2381
2382 for (i = 0; i < ido; i++)
2383 {
2384 complex_t t2;
2385
2386 RE(ch[ah+i]) = RE(cc[ac+i]) + RE(cc[ac+i+ido]);
2387 RE(t2) = RE(cc[ac+i]) - RE(cc[ac+i+ido]);
2388
2389 IM(ch[ah+i]) = IM(cc[ac+i]) + IM(cc[ac+i+ido]);
2390 IM(t2) = IM(cc[ac+i]) - IM(cc[ac+i+ido]);
2391
2392#if 1
2393 ComplexMult(&IM(ch[ah+i+l1*ido]), &RE(ch[ah+i+l1*ido]),
2394 IM(t2), RE(t2), RE(wa[i]), IM(wa[i]));
2395#else
2396 ComplexMult(&RE(ch[ah+i+l1*ido]), &IM(ch[ah+i+l1*ido]),
2397 RE(t2), IM(t2), RE(wa[i]), IM(wa[i]));
2398#endif
2399 }
2400 }
2401 }
2402}
2403
2404static void passf2neg(const uint16_t ido, const uint16_t l1, const complex_t *cc,
2405 complex_t *ch, const complex_t *wa)
2406{
2407 uint16_t i, k, ah, ac;
2408
2409 if (ido == 1)
2410 {
2411 for (k = 0; k < l1; k++)
2412 {
2413 ah = 2*k;
2414 ac = 4*k;
2415
2416 RE(ch[ah]) = RE(cc[ac]) + RE(cc[ac+1]);
2417 RE(ch[ah+l1]) = RE(cc[ac]) - RE(cc[ac+1]);
2418 IM(ch[ah]) = IM(cc[ac]) + IM(cc[ac+1]);
2419 IM(ch[ah+l1]) = IM(cc[ac]) - IM(cc[ac+1]);
2420 }
2421 } else {
2422 for (k = 0; k < l1; k++)
2423 {
2424 ah = k*ido;
2425 ac = 2*k*ido;
2426
2427 for (i = 0; i < ido; i++)
2428 {
2429 complex_t t2;
2430
2431 RE(ch[ah+i]) = RE(cc[ac+i]) + RE(cc[ac+i+ido]);
2432 RE(t2) = RE(cc[ac+i]) - RE(cc[ac+i+ido]);
2433
2434 IM(ch[ah+i]) = IM(cc[ac+i]) + IM(cc[ac+i+ido]);
2435 IM(t2) = IM(cc[ac+i]) - IM(cc[ac+i+ido]);
2436
2437#if 1
2438 ComplexMult(&RE(ch[ah+i+l1*ido]), &IM(ch[ah+i+l1*ido]),
2439 RE(t2), IM(t2), RE(wa[i]), IM(wa[i]));
2440#else
2441 ComplexMult(&IM(ch[ah+i+l1*ido]), &RE(ch[ah+i+l1*ido]),
2442 IM(t2), RE(t2), RE(wa[i]), IM(wa[i]));
2443#endif
2444 }
2445 }
2446 }
2447}
2448
2449
2450static void passf3(const uint16_t ido, const uint16_t l1, const complex_t *cc,
2451 complex_t *ch, const complex_t *wa1, const complex_t *wa2,
2452 const int8_t isign)
2453{
2454 static real_t taur = FRAC_CONST(-0.5);
2455 static real_t taui = FRAC_CONST(0.866025403784439);
2456 uint16_t i, k, ac, ah;
2457 complex_t c2, c3, d2, d3, t2;
2458
2459 if (ido == 1)
2460 {
2461 if (isign == 1)
2462 {
2463 for (k = 0; k < l1; k++)
2464 {
2465 ac = 3*k+1;
2466 ah = k;
2467
2468 RE(t2) = RE(cc[ac]) + RE(cc[ac+1]);
2469 IM(t2) = IM(cc[ac]) + IM(cc[ac+1]);
2470 RE(c2) = RE(cc[ac-1]) + MUL_F(RE(t2),taur);
2471 IM(c2) = IM(cc[ac-1]) + MUL_F(IM(t2),taur);
2472
2473 RE(ch[ah]) = RE(cc[ac-1]) + RE(t2);
2474 IM(ch[ah]) = IM(cc[ac-1]) + IM(t2);
2475
2476 RE(c3) = MUL_F((RE(cc[ac]) - RE(cc[ac+1])), taui);
2477 IM(c3) = MUL_F((IM(cc[ac]) - IM(cc[ac+1])), taui);
2478
2479 RE(ch[ah+l1]) = RE(c2) - IM(c3);
2480 IM(ch[ah+l1]) = IM(c2) + RE(c3);
2481 RE(ch[ah+2*l1]) = RE(c2) + IM(c3);
2482 IM(ch[ah+2*l1]) = IM(c2) - RE(c3);
2483 }
2484 } else {
2485 for (k = 0; k < l1; k++)
2486 {
2487 ac = 3*k+1;
2488 ah = k;
2489
2490 RE(t2) = RE(cc[ac]) + RE(cc[ac+1]);
2491 IM(t2) = IM(cc[ac]) + IM(cc[ac+1]);
2492 RE(c2) = RE(cc[ac-1]) + MUL_F(RE(t2),taur);
2493 IM(c2) = IM(cc[ac-1]) + MUL_F(IM(t2),taur);
2494
2495 RE(ch[ah]) = RE(cc[ac-1]) + RE(t2);
2496 IM(ch[ah]) = IM(cc[ac-1]) + IM(t2);
2497
2498 RE(c3) = MUL_F((RE(cc[ac]) - RE(cc[ac+1])), taui);
2499 IM(c3) = MUL_F((IM(cc[ac]) - IM(cc[ac+1])), taui);
2500
2501 RE(ch[ah+l1]) = RE(c2) + IM(c3);
2502 IM(ch[ah+l1]) = IM(c2) - RE(c3);
2503 RE(ch[ah+2*l1]) = RE(c2) - IM(c3);
2504 IM(ch[ah+2*l1]) = IM(c2) + RE(c3);
2505 }
2506 }
2507 } else {
2508 if (isign == 1)
2509 {
2510 for (k = 0; k < l1; k++)
2511 {
2512 for (i = 0; i < ido; i++)
2513 {
2514 ac = i + (3*k+1)*ido;
2515 ah = i + k * ido;
2516
2517 RE(t2) = RE(cc[ac]) + RE(cc[ac+ido]);
2518 RE(c2) = RE(cc[ac-ido]) + MUL_F(RE(t2),taur);
2519 IM(t2) = IM(cc[ac]) + IM(cc[ac+ido]);
2520 IM(c2) = IM(cc[ac-ido]) + MUL_F(IM(t2),taur);
2521
2522 RE(ch[ah]) = RE(cc[ac-ido]) + RE(t2);
2523 IM(ch[ah]) = IM(cc[ac-ido]) + IM(t2);
2524
2525 RE(c3) = MUL_F((RE(cc[ac]) - RE(cc[ac+ido])), taui);
2526 IM(c3) = MUL_F((IM(cc[ac]) - IM(cc[ac+ido])), taui);
2527
2528 RE(d2) = RE(c2) - IM(c3);
2529 IM(d3) = IM(c2) - RE(c3);
2530 RE(d3) = RE(c2) + IM(c3);
2531 IM(d2) = IM(c2) + RE(c3);
2532
2533#if 1
2534 ComplexMult(&IM(ch[ah+l1*ido]), &RE(ch[ah+l1*ido]),
2535 IM(d2), RE(d2), RE(wa1[i]), IM(wa1[i]));
2536 ComplexMult(&IM(ch[ah+2*l1*ido]), &RE(ch[ah+2*l1*ido]),
2537 IM(d3), RE(d3), RE(wa2[i]), IM(wa2[i]));
2538#else
2539 ComplexMult(&RE(ch[ah+l1*ido]), &IM(ch[ah+l1*ido]),
2540 RE(d2), IM(d2), RE(wa1[i]), IM(wa1[i]));
2541 ComplexMult(&RE(ch[ah+2*l1*ido]), &IM(ch[ah+2*l1*ido]),
2542 RE(d3), IM(d3), RE(wa2[i]), IM(wa2[i]));
2543#endif
2544 }
2545 }
2546 } else {
2547 for (k = 0; k < l1; k++)
2548 {
2549 for (i = 0; i < ido; i++)
2550 {
2551 ac = i + (3*k+1)*ido;
2552 ah = i + k * ido;
2553
2554 RE(t2) = RE(cc[ac]) + RE(cc[ac+ido]);
2555 RE(c2) = RE(cc[ac-ido]) + MUL_F(RE(t2),taur);
2556 IM(t2) = IM(cc[ac]) + IM(cc[ac+ido]);
2557 IM(c2) = IM(cc[ac-ido]) + MUL_F(IM(t2),taur);
2558
2559 RE(ch[ah]) = RE(cc[ac-ido]) + RE(t2);
2560 IM(ch[ah]) = IM(cc[ac-ido]) + IM(t2);
2561
2562 RE(c3) = MUL_F((RE(cc[ac]) - RE(cc[ac+ido])), taui);
2563 IM(c3) = MUL_F((IM(cc[ac]) - IM(cc[ac+ido])), taui);
2564
2565 RE(d2) = RE(c2) + IM(c3);
2566 IM(d3) = IM(c2) + RE(c3);
2567 RE(d3) = RE(c2) - IM(c3);
2568 IM(d2) = IM(c2) - RE(c3);
2569
2570#if 1
2571 ComplexMult(&RE(ch[ah+l1*ido]), &IM(ch[ah+l1*ido]),
2572 RE(d2), IM(d2), RE(wa1[i]), IM(wa1[i]));
2573 ComplexMult(&RE(ch[ah+2*l1*ido]), &IM(ch[ah+2*l1*ido]),
2574 RE(d3), IM(d3), RE(wa2[i]), IM(wa2[i]));
2575#else
2576 ComplexMult(&IM(ch[ah+l1*ido]), &RE(ch[ah+l1*ido]),
2577 IM(d2), RE(d2), RE(wa1[i]), IM(wa1[i]));
2578 ComplexMult(&IM(ch[ah+2*l1*ido]), &RE(ch[ah+2*l1*ido]),
2579 IM(d3), RE(d3), RE(wa2[i]), IM(wa2[i]));
2580#endif
2581 }
2582 }
2583 }
2584 }
2585}
2586
2587#ifdef USE_SSE
2588ALIGN static const int32_t negate[4] = { 0x0, 0x0, 0x0, 0x80000000 };
2589
2590__declspec(naked) static void passf4pos_sse(const uint16_t l1, const complex_t *cc,
2591 complex_t *ch, const complex_t *wa1, const complex_t *wa2,
2592 const complex_t *wa3)
2593{
2594 __asm {
2595 push ebx
2596 mov ebx, esp
2597 and esp, -16
2598 push edi
2599 push esi
2600 sub esp, 8
2601 movzx edi, WORD PTR [ebx+8]
2602
2603 movaps xmm1, XMMWORD PTR negate
2604
2605 test edi, edi
2606 jle l1_is_zero
2607
2608 lea esi, DWORD PTR [edi+edi]
2609 add esi, esi
2610 sub esi, edi
2611 add esi, esi
2612 add esi, esi
2613 add esi, esi
2614 mov eax, DWORD PTR [ebx+16]
2615 add esi, eax
2616 lea ecx, DWORD PTR [edi+edi]
2617 add ecx, ecx
2618 add ecx, ecx
2619 add ecx, ecx
2620 add ecx, eax
2621 lea edx, DWORD PTR [edi+edi]
2622 add edx, edx
2623 add edx, edx
2624 add edx, eax
2625 xor eax, eax
2626 mov DWORD PTR [esp], ebp
2627 mov ebp, DWORD PTR [ebx+12]
2628
2629fftloop:
2630 lea edi, DWORD PTR [eax+eax]
2631 add edi, edi
2632 movaps xmm2, XMMWORD PTR [ebp+edi*8]
2633 movaps xmm0, XMMWORD PTR [ebp+edi*8+16]
2634 movaps xmm7, XMMWORD PTR [ebp+edi*8+32]
2635 movaps xmm5, XMMWORD PTR [ebp+edi*8+48]
2636 movaps xmm6, xmm2
2637 addps xmm6, xmm0
2638 movaps xmm4, xmm1
2639 xorps xmm4, xmm7
2640 movaps xmm3, xmm1
2641 xorps xmm3, xmm5
2642 xorps xmm2, xmm1
2643 xorps xmm0, xmm1
2644 addps xmm7, xmm5
2645 subps xmm2, xmm0
2646 movaps xmm0, xmm6
2647 shufps xmm0, xmm7, 68
2648 subps xmm4, xmm3
2649 shufps xmm6, xmm7, 238
2650 movaps xmm5, xmm2
2651 shufps xmm5, xmm4, 68
2652 movaps xmm3, xmm0
2653 addps xmm3, xmm6
2654 shufps xmm2, xmm4, 187
2655 subps xmm0, xmm6
2656 movaps xmm4, xmm5
2657 addps xmm4, xmm2
2658 mov edi, DWORD PTR [ebx+16]
2659 movaps XMMWORD PTR [edi+eax*8], xmm3
2660 subps xmm5, xmm2
2661 movaps XMMWORD PTR [edx+eax*8], xmm4
2662 movaps XMMWORD PTR [ecx+eax*8], xmm0
2663 movaps XMMWORD PTR [esi+eax*8], xmm5
2664 add eax, 2
2665 movzx eax, ax
2666 movzx edi, WORD PTR [ebx+8]
2667 cmp eax, edi
2668 jl fftloop
2669
2670 mov ebp, DWORD PTR [esp]
2671
2672l1_is_zero:
2673
2674 add esp, 8
2675 pop esi
2676 pop edi
2677 mov esp, ebx
2678 pop ebx
2679 ret
2680 }
2681}
2682#endif
2683
2684#if 0
2685static void passf4pos_sse_ido(const uint16_t ido, const uint16_t l1, const complex_t *cc,
2686 complex_t *ch, const complex_t *wa1, const complex_t *wa2,
2687 const complex_t *wa3)
2688{
2689 uint16_t i, k, ac, ah;
2690
2691 for (k = 0; k < l1; k++)
2692 {
2693 ac = 4*k*ido;
2694 ah = k*ido;
2695
2696 for (i = 0; i < ido; i+=2)
2697 {
2698 __m128 m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, m16;
2699 __m128 n1, n2, n3, n4, n5, n6, n7, n8, n9, m17, m18, m19, m20, m21, m22, m23;
2700 __m128 w1, w2, w3, w4, w5, w6, m24, m25, m26, m27, m28, m29, m30;
2701 __m128 neg1 = _mm_set_ps(-1.0, 1.0, -1.0, 1.0);
2702
2703 m1 = _mm_load_ps(&RE(cc[ac+i]));
2704 m2 = _mm_load_ps(&RE(cc[ac+i+2*ido]));
2705 m3 = _mm_add_ps(m1, m2);
2706 m4 = _mm_sub_ps(m1, m2);
2707
2708 n1 = _mm_load_ps(&RE(cc[ac+i+ido]));
2709 n2 = _mm_load_ps(&RE(cc[ac+i+3*ido]));
2710 n3 = _mm_add_ps(n1, n2);
2711
2712 n4 = _mm_mul_ps(neg1, n1);
2713 n5 = _mm_mul_ps(neg1, n2);
2714 n6 = _mm_sub_ps(n4, n5);
2715
2716 m5 = _mm_add_ps(m3, n3);
2717
2718 n7 = _mm_shuffle_ps(n6, n6, _MM_SHUFFLE(2, 3, 0, 1));
2719 n8 = _mm_add_ps(m4, n7);
2720
2721 m6 = _mm_sub_ps(m3, n3);
2722 n9 = _mm_sub_ps(m4, n7);
2723
2724 _mm_store_ps(&RE(ch[ah+i]), m5);
2725
2726#if 0
2727 static INLINE void ComplexMult(real_t *y1, real_t *y2,
2728 real_t x1, real_t x2, real_t c1, real_t c2)
2729 {
2730 *y1 = MUL_F(x1, c1) + MUL_F(x2, c2);
2731 *y2 = MUL_F(x2, c1) - MUL_F(x1, c2);
2732 }
2733
2734 m7.0 = RE(c2)*RE(wa1[i])
2735 m7.1 = IM(c2)*IM(wa1[i])
2736 m7.2 = RE(c6)*RE(wa1[i+1])
2737 m7.3 = IM(c6)*IM(wa1[i+1])
2738
2739 m8.0 = RE(c2)*IM(wa1[i])
2740 m8.1 = IM(c2)*RE(wa1[i])
2741 m8.2 = RE(c6)*IM(wa1[i+1])
2742 m8.3 = IM(c6)*RE(wa1[i+1])
2743
2744 RE(0) = m7.0 - m7.1
2745 IM(0) = m8.0 + m8.1
2746 RE(1) = m7.2 - m7.3
2747 IM(1) = m8.2 + m8.3
2748
2749 ////
2750 RE(0) = RE(c2)*RE(wa1[i]) - IM(c2)*IM(wa1[i])
2751 IM(0) = RE(c2)*IM(wa1[i]) + IM(c2)*RE(wa1[i])
2752 RE(1) = RE(c6)*RE(wa1[i+1]) - IM(c6)*IM(wa1[i+1])
2753 IM(1) = RE(c6)*IM(wa1[i+1]) + IM(c6)*RE(wa1[i+1])
2754#endif
2755
2756 w1 = _mm_load_ps(&RE(wa1[i]));
2757 w3 = _mm_load_ps(&RE(wa2[i]));
2758 w5 = _mm_load_ps(&RE(wa3[i]));
2759
2760 w2 = _mm_shuffle_ps(w1, w1, _MM_SHUFFLE(2, 3, 0, 1));
2761 w4 = _mm_shuffle_ps(w3, w3, _MM_SHUFFLE(2, 3, 0, 1));
2762 w6 = _mm_shuffle_ps(w5, w5, _MM_SHUFFLE(2, 3, 0, 1));
2763
2764 m7 = _mm_mul_ps(n8, w1);
2765 m15 = _mm_mul_ps(m6, w3);
2766 m23 = _mm_mul_ps(n9, w5);
2767 m8 = _mm_mul_ps(n8, w2);
2768 m16 = _mm_mul_ps(m6, w4);
2769 m24 = _mm_mul_ps(n9, w6);
2770
2771 m9 = _mm_shuffle_ps(m7, m8, _MM_SHUFFLE(2, 0, 2, 0));
2772 m17 = _mm_shuffle_ps(m15, m16, _MM_SHUFFLE(2, 0, 2, 0));
2773 m25 = _mm_shuffle_ps(m23, m24, _MM_SHUFFLE(2, 0, 2, 0));
2774 m10 = _mm_shuffle_ps(m7, m8, _MM_SHUFFLE(3, 1, 3, 1));
2775 m18 = _mm_shuffle_ps(m15, m16, _MM_SHUFFLE(3, 1, 3, 1));
2776 m26 = _mm_shuffle_ps(m23, m24, _MM_SHUFFLE(3, 1, 3, 1));
2777
2778 m11 = _mm_add_ps(m9, m10);
2779 m19 = _mm_add_ps(m17, m18);
2780 m27 = _mm_add_ps(m25, m26);
2781 m12 = _mm_sub_ps(m9, m10);
2782 m20 = _mm_sub_ps(m17, m18);
2783 m28 = _mm_sub_ps(m25, m26);
2784
2785 m13 = _mm_shuffle_ps(m11, m11, _MM_SHUFFLE(0, 0, 3, 2));
2786 m21 = _mm_shuffle_ps(m19, m19, _MM_SHUFFLE(0, 0, 3, 2));
2787 m29 = _mm_shuffle_ps(m27, m27, _MM_SHUFFLE(0, 0, 3, 2));
2788 m14 = _mm_unpacklo_ps(m12, m13);
2789 m22 = _mm_unpacklo_ps(m20, m21);
2790 m30 = _mm_unpacklo_ps(m28, m29);
2791
2792 _mm_store_ps(&RE(ch[ah+i+l1*ido]), m14);
2793 _mm_store_ps(&RE(ch[ah+i+2*l1*ido]), m22);
2794 _mm_store_ps(&RE(ch[ah+i+3*l1*ido]), m30);
2795 }
2796 }
2797}
2798#endif
2799
2800static void passf4pos(const uint16_t ido, const uint16_t l1, const complex_t *cc,
2801 complex_t *ch, const complex_t *wa1, const complex_t *wa2,
2802 const complex_t *wa3)
2803{
2804 uint16_t i, k, ac, ah;
2805
2806 if (ido == 1)
2807 {
2808 for (k = 0; k < l1; k++)
2809 {
2810 complex_t t1, t2, t3, t4;
2811
2812 ac = 4*k;
2813 ah = k;
2814
2815 RE(t2) = RE(cc[ac]) + RE(cc[ac+2]);
2816 RE(t1) = RE(cc[ac]) - RE(cc[ac+2]);
2817 IM(t2) = IM(cc[ac]) + IM(cc[ac+2]);
2818 IM(t1) = IM(cc[ac]) - IM(cc[ac+2]);
2819 RE(t3) = RE(cc[ac+1]) + RE(cc[ac+3]);
2820 IM(t4) = RE(cc[ac+1]) - RE(cc[ac+3]);
2821 IM(t3) = IM(cc[ac+3]) + IM(cc[ac+1]);
2822 RE(t4) = IM(cc[ac+3]) - IM(cc[ac+1]);
2823
2824 RE(ch[ah]) = RE(t2) + RE(t3);
2825 RE(ch[ah+2*l1]) = RE(t2) - RE(t3);
2826
2827 IM(ch[ah]) = IM(t2) + IM(t3);
2828 IM(ch[ah+2*l1]) = IM(t2) - IM(t3);
2829
2830 RE(ch[ah+l1]) = RE(t1) + RE(t4);
2831 RE(ch[ah+3*l1]) = RE(t1) - RE(t4);
2832
2833 IM(ch[ah+l1]) = IM(t1) + IM(t4);
2834 IM(ch[ah+3*l1]) = IM(t1) - IM(t4);
2835 }
2836 } else {
2837 for (k = 0; k < l1; k++)
2838 {
2839 ac = 4*k*ido;
2840 ah = k*ido;
2841
2842 for (i = 0; i < ido; i++)
2843 {
2844 complex_t c2, c3, c4, t1, t2, t3, t4;
2845
2846 RE(t2) = RE(cc[ac+i]) + RE(cc[ac+i+2*ido]);
2847 RE(t1) = RE(cc[ac+i]) - RE(cc[ac+i+2*ido]);
2848 IM(t2) = IM(cc[ac+i]) + IM(cc[ac+i+2*ido]);
2849 IM(t1) = IM(cc[ac+i]) - IM(cc[ac+i+2*ido]);
2850 RE(t3) = RE(cc[ac+i+ido]) + RE(cc[ac+i+3*ido]);
2851 IM(t4) = RE(cc[ac+i+ido]) - RE(cc[ac+i+3*ido]);
2852 IM(t3) = IM(cc[ac+i+3*ido]) + IM(cc[ac+i+ido]);
2853 RE(t4) = IM(cc[ac+i+3*ido]) - IM(cc[ac+i+ido]);
2854
2855 RE(c2) = RE(t1) + RE(t4);
2856 RE(c4) = RE(t1) - RE(t4);
2857
2858 IM(c2) = IM(t1) + IM(t4);
2859 IM(c4) = IM(t1) - IM(t4);
2860
2861 RE(ch[ah+i]) = RE(t2) + RE(t3);
2862 RE(c3) = RE(t2) - RE(t3);
2863
2864 IM(ch[ah+i]) = IM(t2) + IM(t3);
2865 IM(c3) = IM(t2) - IM(t3);
2866
2867#if 1
2868 ComplexMult(&IM(ch[ah+i+l1*ido]), &RE(ch[ah+i+l1*ido]),
2869 IM(c2), RE(c2), RE(wa1[i]), IM(wa1[i]));
2870 ComplexMult(&IM(ch[ah+i+2*l1*ido]), &RE(ch[ah+i+2*l1*ido]),
2871 IM(c3), RE(c3), RE(wa2[i]), IM(wa2[i]));
2872 ComplexMult(&IM(ch[ah+i+3*l1*ido]), &RE(ch[ah+i+3*l1*ido]),
2873 IM(c4), RE(c4), RE(wa3[i]), IM(wa3[i]));
2874#else
2875 ComplexMult(&RE(ch[ah+i+l1*ido]), &IM(ch[ah+i+l1*ido]),
2876 RE(c2), IM(c2), RE(wa1[i]), IM(wa1[i]));
2877 ComplexMult(&RE(ch[ah+i+2*l1*ido]), &IM(ch[ah+i+2*l1*ido]),
2878 RE(c3), IM(c3), RE(wa2[i]), IM(wa2[i]));
2879 ComplexMult(&RE(ch[ah+i+3*l1*ido]), &IM(ch[ah+i+3*l1*ido]),
2880 RE(c4), IM(c4), RE(wa3[i]), IM(wa3[i]));
2881#endif
2882 }
2883 }
2884 }
2885}
2886
2887static void passf4neg(const uint16_t ido, const uint16_t l1, const complex_t *cc,
2888 complex_t *ch, const complex_t *wa1, const complex_t *wa2,
2889 const complex_t *wa3)
2890{
2891 uint16_t i, k, ac, ah;
2892
2893 if (ido == 1)
2894 {
2895 for (k = 0; k < l1; k++)
2896 {
2897 complex_t t1, t2, t3, t4;
2898
2899 ac = 4*k;
2900 ah = k;
2901
2902 RE(t2) = RE(cc[ac]) + RE(cc[ac+2]);
2903 RE(t1) = RE(cc[ac]) - RE(cc[ac+2]);
2904 IM(t2) = IM(cc[ac]) + IM(cc[ac+2]);
2905 IM(t1) = IM(cc[ac]) - IM(cc[ac+2]);
2906 RE(t3) = RE(cc[ac+1]) + RE(cc[ac+3]);
2907 IM(t4) = RE(cc[ac+1]) - RE(cc[ac+3]);
2908 IM(t3) = IM(cc[ac+3]) + IM(cc[ac+1]);
2909 RE(t4) = IM(cc[ac+3]) - IM(cc[ac+1]);
2910
2911 RE(ch[ah]) = RE(t2) + RE(t3);
2912 RE(ch[ah+2*l1]) = RE(t2) - RE(t3);
2913
2914 IM(ch[ah]) = IM(t2) + IM(t3);
2915 IM(ch[ah+2*l1]) = IM(t2) - IM(t3);
2916
2917 RE(ch[ah+l1]) = RE(t1) - RE(t4);
2918 RE(ch[ah+3*l1]) = RE(t1) + RE(t4);
2919
2920 IM(ch[ah+l1]) = IM(t1) - IM(t4);
2921 IM(ch[ah+3*l1]) = IM(t1) + IM(t4);
2922 }
2923 } else {
2924 for (k = 0; k < l1; k++)
2925 {
2926 ac = 4*k*ido;
2927 ah = k*ido;
2928
2929 for (i = 0; i < ido; i++)
2930 {
2931 complex_t c2, c3, c4, t1, t2, t3, t4;
2932
2933 RE(t2) = RE(cc[ac+i]) + RE(cc[ac+i+2*ido]);
2934 RE(t1) = RE(cc[ac+i]) - RE(cc[ac+i+2*ido]);
2935 IM(t2) = IM(cc[ac+i]) + IM(cc[ac+i+2*ido]);
2936 IM(t1) = IM(cc[ac+i]) - IM(cc[ac+i+2*ido]);
2937 RE(t3) = RE(cc[ac+i+ido]) + RE(cc[ac+i+3*ido]);
2938 IM(t4) = RE(cc[ac+i+ido]) - RE(cc[ac+i+3*ido]);
2939 IM(t3) = IM(cc[ac+i+3*ido]) + IM(cc[ac+i+ido]);
2940 RE(t4) = IM(cc[ac+i+3*ido]) - IM(cc[ac+i+ido]);
2941
2942 RE(c2) = RE(t1) - RE(t4);
2943 RE(c4) = RE(t1) + RE(t4);
2944
2945 IM(c2) = IM(t1) - IM(t4);
2946 IM(c4) = IM(t1) + IM(t4);
2947
2948 RE(ch[ah+i]) = RE(t2) + RE(t3);
2949 RE(c3) = RE(t2) - RE(t3);
2950
2951 IM(ch[ah+i]) = IM(t2) + IM(t3);
2952 IM(c3) = IM(t2) - IM(t3);
2953
2954#if 1
2955 ComplexMult(&RE(ch[ah+i+l1*ido]), &IM(ch[ah+i+l1*ido]),
2956 RE(c2), IM(c2), RE(wa1[i]), IM(wa1[i]));
2957 ComplexMult(&RE(ch[ah+i+2*l1*ido]), &IM(ch[ah+i+2*l1*ido]),
2958 RE(c3), IM(c3), RE(wa2[i]), IM(wa2[i]));
2959 ComplexMult(&RE(ch[ah+i+3*l1*ido]), &IM(ch[ah+i+3*l1*ido]),
2960 RE(c4), IM(c4), RE(wa3[i]), IM(wa3[i]));
2961#else
2962 ComplexMult(&IM(ch[ah+i+l1*ido]), &RE(ch[ah+i+l1*ido]),
2963 IM(c2), RE(c2), RE(wa1[i]), IM(wa1[i]));
2964 ComplexMult(&IM(ch[ah+i+2*l1*ido]), &RE(ch[ah+i+2*l1*ido]),
2965 IM(c3), RE(c3), RE(wa2[i]), IM(wa2[i]));
2966 ComplexMult(&IM(ch[ah+i+3*l1*ido]), &RE(ch[ah+i+3*l1*ido]),
2967 IM(c4), RE(c4), RE(wa3[i]), IM(wa3[i]));
2968#endif
2969 }
2970 }
2971 }
2972}
2973
2974static void passf5(const uint16_t ido, const uint16_t l1, const complex_t *cc,
2975 complex_t *ch, const complex_t *wa1, const complex_t *wa2, const complex_t *wa3,
2976 const complex_t *wa4, const int8_t isign)
2977{
2978 static real_t tr11 = FRAC_CONST(0.309016994374947);
2979 static real_t ti11 = FRAC_CONST(0.951056516295154);
2980 static real_t tr12 = FRAC_CONST(-0.809016994374947);
2981 static real_t ti12 = FRAC_CONST(0.587785252292473);
2982 uint16_t i, k, ac, ah;
2983 complex_t c2, c3, c4, c5, d3, d4, d5, d2, t2, t3, t4, t5;
2984
2985 if (ido == 1)
2986 {
2987 if (isign == 1)
2988 {
2989 for (k = 0; k < l1; k++)
2990 {
2991 ac = 5*k + 1;
2992 ah = k;
2993
2994 RE(t2) = RE(cc[ac]) + RE(cc[ac+3]);
2995 IM(t2) = IM(cc[ac]) + IM(cc[ac+3]);
2996 RE(t3) = RE(cc[ac+1]) + RE(cc[ac+2]);
2997 IM(t3) = IM(cc[ac+1]) + IM(cc[ac+2]);
2998 RE(t4) = RE(cc[ac+1]) - RE(cc[ac+2]);
2999 IM(t4) = IM(cc[ac+1]) - IM(cc[ac+2]);
3000 RE(t5) = RE(cc[ac]) - RE(cc[ac+3]);
3001 IM(t5) = IM(cc[ac]) - IM(cc[ac+3]);
3002
3003 RE(ch[ah]) = RE(cc[ac-1]) + RE(t2) + RE(t3);
3004 IM(ch[ah]) = IM(cc[ac-1]) + IM(t2) + IM(t3);
3005
3006 RE(c2) = RE(cc[ac-1]) + MUL_F(RE(t2),tr11) + MUL_F(RE(t3),tr12);
3007 IM(c2) = IM(cc[ac-1]) + MUL_F(IM(t2),tr11) + MUL_F(IM(t3),tr12);
3008 RE(c3) = RE(cc[ac-1]) + MUL_F(RE(t2),tr12) + MUL_F(RE(t3),tr11);
3009 IM(c3) = IM(cc[ac-1]) + MUL_F(IM(t2),tr12) + MUL_F(IM(t3),tr11);
3010
3011 ComplexMult(&RE(c5), &RE(c4),
3012 ti11, ti12, RE(t5), RE(t4));
3013 ComplexMult(&IM(c5), &IM(c4),
3014 ti11, ti12, IM(t5), IM(t4));
3015
3016 RE(ch[ah+l1]) = RE(c2) - IM(c5);
3017 IM(ch[ah+l1]) = IM(c2) + RE(c5);
3018 RE(ch[ah+2*l1]) = RE(c3) - IM(c4);
3019 IM(ch[ah+2*l1]) = IM(c3) + RE(c4);
3020 RE(ch[ah+3*l1]) = RE(c3) + IM(c4);
3021 IM(ch[ah+3*l1]) = IM(c3) - RE(c4);
3022 RE(ch[ah+4*l1]) = RE(c2) + IM(c5);
3023 IM(ch[ah+4*l1]) = IM(c2) - RE(c5);
3024 }
3025 } else {
3026 for (k = 0; k < l1; k++)
3027 {
3028 ac = 5*k + 1;
3029 ah = k;
3030
3031 RE(t2) = RE(cc[ac]) + RE(cc[ac+3]);
3032 IM(t2) = IM(cc[ac]) + IM(cc[ac+3]);
3033 RE(t3) = RE(cc[ac+1]) + RE(cc[ac+2]);
3034 IM(t3) = IM(cc[ac+1]) + IM(cc[ac+2]);
3035 RE(t4) = RE(cc[ac+1]) - RE(cc[ac+2]);
3036 IM(t4) = IM(cc[ac+1]) - IM(cc[ac+2]);
3037 RE(t5) = RE(cc[ac]) - RE(cc[ac+3]);
3038 IM(t5) = IM(cc[ac]) - IM(cc[ac+3]);
3039
3040 RE(ch[ah]) = RE(cc[ac-1]) + RE(t2) + RE(t3);
3041 IM(ch[ah]) = IM(cc[ac-1]) + IM(t2) + IM(t3);
3042
3043 RE(c2) = RE(cc[ac-1]) + MUL_F(RE(t2),tr11) + MUL_F(RE(t3),tr12);
3044 IM(c2) = IM(cc[ac-1]) + MUL_F(IM(t2),tr11) + MUL_F(IM(t3),tr12);
3045 RE(c3) = RE(cc[ac-1]) + MUL_F(RE(t2),tr12) + MUL_F(RE(t3),tr11);
3046 IM(c3) = IM(cc[ac-1]) + MUL_F(IM(t2),tr12) + MUL_F(IM(t3),tr11);
3047
3048 ComplexMult(&RE(c4), &RE(c5),
3049 ti12, ti11, RE(t5), RE(t4));
3050 ComplexMult(&IM(c4), &IM(c5),
3051 ti12, ti12, IM(t5), IM(t4));
3052
3053 RE(ch[ah+l1]) = RE(c2) + IM(c5);
3054 IM(ch[ah+l1]) = IM(c2) - RE(c5);
3055 RE(ch[ah+2*l1]) = RE(c3) + IM(c4);
3056 IM(ch[ah+2*l1]) = IM(c3) - RE(c4);
3057 RE(ch[ah+3*l1]) = RE(c3) - IM(c4);
3058 IM(ch[ah+3*l1]) = IM(c3) + RE(c4);
3059 RE(ch[ah+4*l1]) = RE(c2) - IM(c5);
3060 IM(ch[ah+4*l1]) = IM(c2) + RE(c5);
3061 }
3062 }
3063 } else {
3064 if (isign == 1)
3065 {
3066 for (k = 0; k < l1; k++)
3067 {
3068 for (i = 0; i < ido; i++)
3069 {
3070 ac = i + (k*5 + 1) * ido;
3071 ah = i + k * ido;
3072
3073 RE(t2) = RE(cc[ac]) + RE(cc[ac+3*ido]);
3074 IM(t2) = IM(cc[ac]) + IM(cc[ac+3*ido]);
3075 RE(t3) = RE(cc[ac+ido]) + RE(cc[ac+2*ido]);
3076 IM(t3) = IM(cc[ac+ido]) + IM(cc[ac+2*ido]);
3077 RE(t4) = RE(cc[ac+ido]) - RE(cc[ac+2*ido]);
3078 IM(t4) = IM(cc[ac+ido]) - IM(cc[ac+2*ido]);
3079 RE(t5) = RE(cc[ac]) - RE(cc[ac+3*ido]);
3080 IM(t5) = IM(cc[ac]) - IM(cc[ac+3*ido]);
3081
3082 RE(ch[ah]) = RE(cc[ac-ido]) + RE(t2) + RE(t3);
3083 IM(ch[ah]) = IM(cc[ac-ido]) + IM(t2) + IM(t3);
3084
3085 RE(c2) = RE(cc[ac-ido]) + MUL_F(RE(t2),tr11) + MUL_F(RE(t3),tr12);
3086 IM(c2) = IM(cc[ac-ido]) + MUL_F(IM(t2),tr11) + MUL_F(IM(t3),tr12);
3087 RE(c3) = RE(cc[ac-ido]) + MUL_F(RE(t2),tr12) + MUL_F(RE(t3),tr11);
3088 IM(c3) = IM(cc[ac-ido]) + MUL_F(IM(t2),tr12) + MUL_F(IM(t3),tr11);
3089
3090 ComplexMult(&RE(c5), &RE(c4),
3091 ti11, ti12, RE(t5), RE(t4));
3092 ComplexMult(&IM(c5), &IM(c4),
3093 ti11, ti12, IM(t5), IM(t4));
3094
3095 IM(d2) = IM(c2) + RE(c5);
3096 IM(d3) = IM(c3) + RE(c4);
3097 RE(d4) = RE(c3) + IM(c4);
3098 RE(d5) = RE(c2) + IM(c5);
3099 RE(d2) = RE(c2) - IM(c5);
3100 IM(d5) = IM(c2) - RE(c5);
3101 RE(d3) = RE(c3) - IM(c4);
3102 IM(d4) = IM(c3) - RE(c4);
3103
3104#if 1
3105 ComplexMult(&IM(ch[ah+l1*ido]), &RE(ch[ah+l1*ido]),
3106 IM(d2), RE(d2), RE(wa1[i]), IM(wa1[i]));
3107 ComplexMult(&IM(ch[ah+2*l1*ido]), &RE(ch[ah+2*l1*ido]),
3108 IM(d3), RE(d3), RE(wa2[i]), IM(wa2[i]));
3109 ComplexMult(&IM(ch[ah+3*l1*ido]), &RE(ch[ah+3*l1*ido]),
3110 IM(d4), RE(d4), RE(wa3[i]), IM(wa3[i]));
3111 ComplexMult(&IM(ch[ah+4*l1*ido]), &RE(ch[ah+4*l1*ido]),
3112 IM(d5), RE(d5), RE(wa4[i]), IM(wa4[i]));
3113#else
3114 ComplexMult(&RE(ch[ah+l1*ido]), &IM(ch[ah+l1*ido]),
3115 RE(d2), IM(d2), RE(wa1[i]), IM(wa1[i]));
3116 ComplexMult(&RE(ch[ah+2*l1*ido]), &IM(ch[ah+2*l1*ido]),
3117 RE(d3), IM(d3), RE(wa2[i]), IM(wa2[i]));
3118 ComplexMult(&RE(ch[ah+3*l1*ido]), &IM(ch[ah+3*l1*ido]),
3119 RE(d4), IM(d4), RE(wa3[i]), IM(wa3[i]));
3120 ComplexMult(&RE(ch[ah+4*l1*ido]), &IM(ch[ah+4*l1*ido]),
3121 RE(d5), IM(d5), RE(wa4[i]), IM(wa4[i]));
3122#endif
3123 }
3124 }
3125 } else {
3126 for (k = 0; k < l1; k++)
3127 {
3128 for (i = 0; i < ido; i++)
3129 {
3130 ac = i + (k*5 + 1) * ido;
3131 ah = i + k * ido;
3132
3133 RE(t2) = RE(cc[ac]) + RE(cc[ac+3*ido]);
3134 IM(t2) = IM(cc[ac]) + IM(cc[ac+3*ido]);
3135 RE(t3) = RE(cc[ac+ido]) + RE(cc[ac+2*ido]);
3136 IM(t3) = IM(cc[ac+ido]) + IM(cc[ac+2*ido]);
3137 RE(t4) = RE(cc[ac+ido]) - RE(cc[ac+2*ido]);
3138 IM(t4) = IM(cc[ac+ido]) - IM(cc[ac+2*ido]);
3139 RE(t5) = RE(cc[ac]) - RE(cc[ac+3*ido]);
3140 IM(t5) = IM(cc[ac]) - IM(cc[ac+3*ido]);
3141
3142 RE(ch[ah]) = RE(cc[ac-ido]) + RE(t2) + RE(t3);
3143 IM(ch[ah]) = IM(cc[ac-ido]) + IM(t2) + IM(t3);
3144
3145 RE(c2) = RE(cc[ac-ido]) + MUL_F(RE(t2),tr11) + MUL_F(RE(t3),tr12);
3146 IM(c2) = IM(cc[ac-ido]) + MUL_F(IM(t2),tr11) + MUL_F(IM(t3),tr12);
3147 RE(c3) = RE(cc[ac-ido]) + MUL_F(RE(t2),tr12) + MUL_F(RE(t3),tr11);
3148 IM(c3) = IM(cc[ac-ido]) + MUL_F(IM(t2),tr12) + MUL_F(IM(t3),tr11);
3149
3150 ComplexMult(&RE(c4), &RE(c5),
3151 ti12, ti11, RE(t5), RE(t4));
3152 ComplexMult(&IM(c4), &IM(c5),
3153 ti12, ti12, IM(t5), IM(t4));
3154
3155 IM(d2) = IM(c2) - RE(c5);
3156 IM(d3) = IM(c3) - RE(c4);
3157 RE(d4) = RE(c3) - IM(c4);
3158 RE(d5) = RE(c2) - IM(c5);
3159 RE(d2) = RE(c2) + IM(c5);
3160 IM(d5) = IM(c2) + RE(c5);
3161 RE(d3) = RE(c3) + IM(c4);
3162 IM(d4) = IM(c3) + RE(c4);
3163
3164#if 1
3165 ComplexMult(&RE(ch[ah+l1*ido]), &IM(ch[ah+l1*ido]),
3166 RE(d2), IM(d2), RE(wa1[i]), IM(wa1[i]));
3167 ComplexMult(&RE(ch[ah+2*l1*ido]), &IM(ch[ah+2*l1*ido]),
3168 RE(d3), IM(d3), RE(wa2[i]), IM(wa2[i]));
3169 ComplexMult(&RE(ch[ah+3*l1*ido]), &IM(ch[ah+3*l1*ido]),
3170 RE(d4), IM(d4), RE(wa3[i]), IM(wa3[i]));
3171 ComplexMult(&RE(ch[ah+4*l1*ido]), &IM(ch[ah+4*l1*ido]),
3172 RE(d5), IM(d5), RE(wa4[i]), IM(wa4[i]));
3173#else
3174 ComplexMult(&IM(ch[ah+l1*ido]), &RE(ch[ah+l1*ido]),
3175 IM(d2), RE(d2), RE(wa1[i]), IM(wa1[i]));
3176 ComplexMult(&IM(ch[ah+2*l1*ido]), &RE(ch[ah+2*l1*ido]),
3177 IM(d3), RE(d3), RE(wa2[i]), IM(wa2[i]));
3178 ComplexMult(&IM(ch[ah+3*l1*ido]), &RE(ch[ah+3*l1*ido]),
3179 IM(d4), RE(d4), RE(wa3[i]), IM(wa3[i]));
3180 ComplexMult(&IM(ch[ah+4*l1*ido]), &RE(ch[ah+4*l1*ido]),
3181 IM(d5), RE(d5), RE(wa4[i]), IM(wa4[i]));
3182#endif
3183 }
3184 }
3185 }
3186 }
3187}
3188
3189
3190/*----------------------------------------------------------------------
3191 cfftf1, cfftf, cfftb, cffti1, cffti. Complex FFTs.
3192 ----------------------------------------------------------------------*/
3193
3194#ifdef USE_SSE
3195
3196#define CONV(A,B,C) ( (A<<2) | ((B & 0x1)<<1) | ((C==1)&0x1) )
3197
3198static INLINE void cfftf1pos_sse(uint16_t n, complex_t *c, complex_t *ch,
3199 const uint16_t *ifac, const complex_t *wa,
3200 const int8_t isign)
3201{
3202 uint16_t i;
3203 uint16_t k1, l1, l2;
3204 uint16_t na, nf, ip, iw, ix2, ix3, ix4, ido, idl1;
3205
3206 nf = ifac[1];
3207 na = 0;
3208 l1 = 1;
3209 iw = 0;
3210
3211 for (k1 = 2; k1 <= nf+1; k1++)
3212 {
3213 ip = ifac[k1];
3214 l2 = ip*l1;
3215 ido = n / l2;
3216 idl1 = ido*l1;
3217
3218 ix2 = iw + ido;
3219 ix3 = ix2 + ido;
3220 ix4 = ix3 + ido;
3221
3222 switch (CONV(ip,na,ido))
3223 {
3224 case CONV(4,0,0):
3225 //passf4pos_sse_ido((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)c, ch, &wa[iw], &wa[ix2], &wa[ix3]);
3226 passf4pos((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)c, ch, &wa[iw], &wa[ix2], &wa[ix3]);
3227 break;
3228 case CONV(4,0,1):
3229 passf4pos_sse((const uint16_t)l1, (const complex_t*)c, ch, &wa[iw], &wa[ix2], &wa[ix3]);
3230 break;
3231 case CONV(4,1,0):
3232 passf4pos((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)ch, c, &wa[iw], &wa[ix2], &wa[ix3]);
3233 //passf4pos_sse_ido((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)ch, c, &wa[iw], &wa[ix2], &wa[ix3]);
3234 break;
3235 case CONV(4,1,1):
3236 passf4pos_sse((const uint16_t)l1, (const complex_t*)ch, c, &wa[iw], &wa[ix2], &wa[ix3]);
3237 break;
3238 case CONV(2,0,0):
3239 passf2pos((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)c, ch, &wa[iw]);
3240 //passf2pos_sse_ido((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)c, ch, &wa[iw]);
3241 break;
3242 case CONV(2,0,1):
3243 passf2pos((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)c, ch, &wa[iw]);
3244 //passf2pos_sse((const uint16_t)l1, (const complex_t*)c, ch, &wa[iw]);
3245 break;
3246 case CONV(2,1,0):
3247 passf2pos((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)ch, c, &wa[iw]);
3248 //passf2pos_sse_ido((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)ch, c, &wa[iw]);
3249 break;
3250 case CONV(2,1,1):
3251 passf2pos((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)ch, c, &wa[iw]);
3252 //passf2pos_sse((const uint16_t)l1, (const complex_t*)ch, c, &wa[iw]);
3253 break;
3254 case CONV(3,0,0):
3255 case CONV(3,0,1):
3256 passf3((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)c, ch, &wa[iw], &wa[ix2], isign);
3257 break;
3258 case CONV(3,1,0):
3259 case CONV(3,1,1):
3260 passf3((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)ch, c, &wa[iw], &wa[ix2], isign);
3261 break;
3262 case CONV(5,0,0):
3263 case CONV(5,0,1):
3264 passf5((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)c, ch, &wa[iw], &wa[ix2], &wa[ix3], &wa[ix4], isign);
3265 break;
3266 case CONV(5,1,0):
3267 case CONV(5,1,1):
3268 passf5((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)ch, c, &wa[iw], &wa[ix2], &wa[ix3], &wa[ix4], isign);
3269 break;
3270 }
3271
3272 na = 1 - na;
3273
3274 l1 = l2;
3275 iw += (ip-1) * ido;
3276 }
3277
3278 if (na == 0)
3279 return;
3280
3281 for (i = 0; i < n; i++)
3282 {
3283 RE(c[i]) = RE(ch[i]);
3284 IM(c[i]) = IM(ch[i]);
3285 }
3286}
3287#endif
3288
3289static INLINE void cfftf1pos(uint16_t n, complex_t *c, complex_t *ch,
3290 const uint16_t *ifac, const complex_t *wa,
3291 const int8_t isign)
3292{
3293 uint16_t i;
3294 uint16_t k1, l1, l2;
3295 uint16_t na, nf, ip, iw, ix2, ix3, ix4, ido, idl1;
3296
3297 nf = ifac[1];
3298 na = 0;
3299 l1 = 1;
3300 iw = 0;
3301
3302 for (k1 = 2; k1 <= nf+1; k1++)
3303 {
3304 ip = ifac[k1];
3305 l2 = ip*l1;
3306 ido = n / l2;
3307 idl1 = ido*l1;
3308
3309 switch (ip)
3310 {
3311 case 4:
3312 ix2 = iw + ido;
3313 ix3 = ix2 + ido;
3314
3315 if (na == 0)
3316 passf4pos((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)c, ch, &wa[iw], &wa[ix2], &wa[ix3]);
3317 else
3318 passf4pos((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)ch, c, &wa[iw], &wa[ix2], &wa[ix3]);
3319
3320 na = 1 - na;
3321 break;
3322 case 2:
3323 if (na == 0)
3324 passf2pos((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)c, ch, &wa[iw]);
3325 else
3326 passf2pos((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)ch, c, &wa[iw]);
3327
3328 na = 1 - na;
3329 break;
3330 case 3:
3331 ix2 = iw + ido;
3332
3333 if (na == 0)
3334 passf3((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)c, ch, &wa[iw], &wa[ix2], isign);
3335 else
3336 passf3((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)ch, c, &wa[iw], &wa[ix2], isign);
3337
3338 na = 1 - na;
3339 break;
3340 case 5:
3341 ix2 = iw + ido;
3342 ix3 = ix2 + ido;
3343 ix4 = ix3 + ido;
3344
3345 if (na == 0)
3346 passf5((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)c, ch, &wa[iw], &wa[ix2], &wa[ix3], &wa[ix4], isign);
3347 else
3348 passf5((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)ch, c, &wa[iw], &wa[ix2], &wa[ix3], &wa[ix4], isign);
3349
3350 na = 1 - na;
3351 break;
3352 }
3353
3354 l1 = l2;
3355 iw += (ip-1) * ido;
3356 }
3357
3358 if (na == 0)
3359 return;
3360
3361 for (i = 0; i < n; i++)
3362 {
3363 RE(c[i]) = RE(ch[i]);
3364 IM(c[i]) = IM(ch[i]);
3365 }
3366}
3367
3368static INLINE void cfftf1neg(uint16_t n, complex_t *c, complex_t *ch,
3369 const uint16_t *ifac, const complex_t *wa,
3370 const int8_t isign)
3371{
3372 uint16_t i;
3373 uint16_t k1, l1, l2;
3374 uint16_t na, nf, ip, iw, ix2, ix3, ix4, ido, idl1;
3375
3376 nf = ifac[1];
3377 na = 0;
3378 l1 = 1;
3379 iw = 0;
3380
3381 for (k1 = 2; k1 <= nf+1; k1++)
3382 {
3383 ip = ifac[k1];
3384 l2 = ip*l1;
3385 ido = n / l2;
3386 idl1 = ido*l1;
3387
3388 switch (ip)
3389 {
3390 case 4:
3391 ix2 = iw + ido;
3392 ix3 = ix2 + ido;
3393
3394 if (na == 0)
3395 passf4neg((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)c, ch, &wa[iw], &wa[ix2], &wa[ix3]);
3396 else
3397 passf4neg((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)ch, c, &wa[iw], &wa[ix2], &wa[ix3]);
3398
3399 na = 1 - na;
3400 break;
3401 case 2:
3402 if (na == 0)
3403 passf2neg((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)c, ch, &wa[iw]);
3404 else
3405 passf2neg((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)ch, c, &wa[iw]);
3406
3407 na = 1 - na;
3408 break;
3409 case 3:
3410 ix2 = iw + ido;
3411
3412 if (na == 0)
3413 passf3((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)c, ch, &wa[iw], &wa[ix2], isign);
3414 else
3415 passf3((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)ch, c, &wa[iw], &wa[ix2], isign);
3416
3417 na = 1 - na;
3418 break;
3419 case 5:
3420 ix2 = iw + ido;
3421 ix3 = ix2 + ido;
3422 ix4 = ix3 + ido;
3423
3424 if (na == 0)
3425 passf5((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)c, ch, &wa[iw], &wa[ix2], &wa[ix3], &wa[ix4], isign);
3426 else
3427 passf5((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)ch, c, &wa[iw], &wa[ix2], &wa[ix3], &wa[ix4], isign);
3428
3429 na = 1 - na;
3430 break;
3431 }
3432
3433 l1 = l2;
3434 iw += (ip-1) * ido;
3435 }
3436
3437 if (na == 0)
3438 return;
3439
3440 for (i = 0; i < n; i++)
3441 {
3442 RE(c[i]) = RE(ch[i]);
3443 IM(c[i]) = IM(ch[i]);
3444 }
3445}
3446
3447void cfftf(cfft_info *cfft, complex_t *c)
3448{
3449 cfftf1neg(cfft->n, c, cfft->work, (const uint16_t*)cfft->ifac, (const complex_t*)cfft->tab, -1);
3450}
3451
3452void cfftb(cfft_info *cfft, complex_t *c)
3453{
3454 cfftf1pos(cfft->n, c, cfft->work, (const uint16_t*)cfft->ifac, (const complex_t*)cfft->tab, +1);
3455}
3456
3457#ifdef USE_SSE
3458void cfftb_sse(cfft_info *cfft, complex_t *c)
3459{
3460 cfftf1pos_sse(cfft->n, c, cfft->work, (const uint16_t*)cfft->ifac, (const complex_t*)cfft->tab, +1);
3461}
3462#endif
3463
3464static void cffti1(uint16_t n, complex_t *wa, uint16_t *ifac)
3465{
3466 static uint16_t ntryh[4] = {3, 4, 2, 5};
3467#ifndef FIXED_POINT
3468 real_t arg, argh, argld, fi;
3469 uint16_t ido, ipm;
3470 uint16_t i1, k1, l1, l2;
3471 uint16_t ld, ii, ip;
3472#endif
3473 uint16_t ntry = 0, i, j;
3474 uint16_t ib;
3475 uint16_t nf, nl, nq, nr;
3476
3477 nl = n;
3478 nf = 0;
3479 j = 0;
3480
3481startloop:
3482 j++;
3483
3484 if (j <= 4)
3485 ntry = ntryh[j-1];
3486 else
3487 ntry += 2;
3488
3489 do
3490 {
3491 nq = nl / ntry;
3492 nr = nl - ntry*nq;
3493
3494 if (nr != 0)
3495 goto startloop;
3496
3497 nf++;
3498 ifac[nf+1] = ntry;
3499 nl = nq;
3500
3501 if (ntry == 2 && nf != 1)
3502 {
3503 for (i = 2; i <= nf; i++)
3504 {
3505 ib = nf - i + 2;
3506 ifac[ib+1] = ifac[ib];
3507 }
3508 ifac[2] = 2;
3509 }
3510 } while (nl != 1);
3511
3512 ifac[0] = n;
3513 ifac[1] = nf;
3514
3515#ifndef FIXED_POINT
3516 argh = (real_t)2.0*(real_t)M_PI / (real_t)n;
3517 i = 0;
3518 l1 = 1;
3519
3520 for (k1 = 1; k1 <= nf; k1++)
3521 {
3522 ip = ifac[k1+1];
3523 ld = 0;
3524 l2 = l1*ip;
3525 ido = n / l2;
3526 ipm = ip - 1;
3527
3528 for (j = 0; j < ipm; j++)
3529 {
3530 i1 = i;
3531 RE(wa[i]) = 1.0;
3532 IM(wa[i]) = 0.0;
3533 ld += l1;
3534 fi = 0;
3535 argld = ld*argh;
3536
3537 for (ii = 0; ii < ido; ii++)
3538 {
3539 i++;
3540 fi++;
3541 arg = fi * argld;
3542 RE(wa[i]) = (real_t)cos(arg);
3543#if 1
3544 IM(wa[i]) = (real_t)sin(arg);
3545#else
3546 IM(wa[i]) = (real_t)-sin(arg);
3547#endif
3548 }
3549
3550 if (ip > 5)
3551 {
3552 RE(wa[i1]) = RE(wa[i]);
3553 IM(wa[i1]) = IM(wa[i]);
3554 }
3555 }
3556 l1 = l2;
3557 }
3558#endif
3559}
3560
3561cfft_info *cffti(uint16_t n)
3562{
3563 cfft_info *cfft = (cfft_info*)faad_malloc(sizeof(cfft_info));
3564
3565 cfft->n = n;
3566 cfft->work = (complex_t*)faad_malloc(n*sizeof(complex_t));
3567
3568#ifndef FIXED_POINT
3569 cfft->tab = (complex_t*)faad_malloc(n*sizeof(complex_t));
3570
3571 cffti1(n, cfft->tab, cfft->ifac);
3572#else
3573 cffti1(n, NULL, cfft->ifac);
3574
3575 switch (n)
3576 {
3577 case 64: cfft->tab = (complex_t*)cfft_tab_64; break;
3578 case 512: cfft->tab = (complex_t*)cfft_tab_512; break;
3579#ifdef LD_DEC
3580 case 256: cfft->tab = (complex_t*)cfft_tab_256; break;
3581#endif
3582
3583#ifdef ALLOW_SMALL_FRAMELENGTH
3584 case 60: cfft->tab = (complex_t*)cfft_tab_60; break;
3585 case 480: cfft->tab = (complex_t*)cfft_tab_480; break;
3586#ifdef LD_DEC
3587 case 240: cfft->tab = (complex_t*)cfft_tab_240; break;
3588#endif
3589#endif
3590 }
3591#endif
3592
3593 return cfft;
3594}
3595
3596void cfftu(cfft_info *cfft)
3597{
3598 if (cfft->work) faad_free(cfft->work);
3599#ifndef FIXED_POINT
3600 if (cfft->tab) faad_free(cfft->tab);
3601#endif
3602
3603 if (cfft) faad_free(cfft);
3604}
3605
3606
3607cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -c -O4 -march=i686 -mcpu=i686 -pipe -ffast-math -fomit-frame-pointer -I/usr/local/MPlayer-1.0pre6a/libfaad2
3608
3609ldd /tmp/mplayer-conf-25707-9067.o
3610ldd: warning: you do not have execution permission for `/tmp/mplayer-conf-25707-9067.o'
3611 not a dynamic executable
3612
3613Result is: yes
3614##########################################
3615
3616============ Checking for external FAAD2 (AAC) support ============
3617Result is: no
3618##########################################
3619
3620============ Checking for FAAD2 version ============
3621
3622#include <faad.h>
3623#ifndef FAAD_MIN_STREAMSIZE
3624#error Too old version
3625#endif
3626int main(void) {
3627#ifdef FAAD2_VERSION
3628 printf("%s\n",FAAD2_VERSION);
3629#else
3630 printf("1.0\n");
3631#endif
3632 return 0;
3633}
3634
3635cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -I- -I/usr/local/MPlayer-1.0pre6a/libfaad2 -lm
3636
3637ldd /tmp/mplayer-conf-25707-9067.o
3638 libm.so.6 => /lib/libm.so.6 (0x4002c000)
3639 libc.so.6 => /lib/libc.so.6 (0x4004f000)
3640 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
3641
36422.1 beta
3643Result is: 2.1 beta
3644##########################################
3645
3646============ Checking for LADSPA plugin support ============
3647
3648#include <stdio.h>
3649#include <ladspa.h>
3650int main(void) {
3651const LADSPA_Descriptor *ld = NULL;
3652return 0;
3653}
3654
3655cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
3656
3657ldd /tmp/mplayer-conf-25707-9067.o
3658 libc.so.6 => /lib/libc.so.6 (0x4002c000)
3659 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
3660
3661Result is: yes
3662##########################################
3663
3664============ Checking for Win32 codec DLL support ============
3665Result is: yes (using /usr/local/lib/codecs)
3666##########################################
3667
3668============ Checking for Win32 loader support ============
3669Result is: yes
3670##########################################
3671
3672============ Checking for DirectShow ============
3673Result is: yes
3674##########################################
3675
3676============ Checking for XAnim DLL ============
3677Result is: yes (using /usr/local/lib/codecs)
3678##########################################
3679
3680============ Checking for RealPlayer DLL ============
3681Result is: yes (using /usr/local/lib/codecs)
3682##########################################
3683
3684============ Checking for LIVE.COM Streaming Media libraries ============
3685
3686#include <liveMedia.hh>
3687#if (LIVEMEDIA_LIBRARY_VERSION_INT < 1090195200)
3688#error Please upgrade to version 2004.07.19 or later of the "LIVE.COM Streaming Media" libraries - available from <www.live.com/liveMedia/>
3689#endif
3690int main(void) {}
3691
3692cc /tmp/mplayer-conf-30290-9067.cpp -o /tmp/mplayer-conf-25707-9067.o -I/usr/include/liveMedia -I/usr/include/UsageEnvironment -I/usr/include/groupsock
3693/tmp/mplayer-conf-30290-9067.cpp:1: liveMedia.hh: No such file or directory
3694/tmp/mplayer-conf-30290-9067.cpp:3: #error Please upgrade to version 2004.07.19 or later of the "LIVE.COM Streaming Media" libraries - available from <www.live.com/liveMedia/>
3695
3696ldd /tmp/mplayer-conf-25707-9067.o
3697ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
3698
3699Result is: no
3700##########################################
3701
3702============ Checking for FFmpeg libavcodec (static) ============
3703Result is: yes
3704##########################################
3705
3706============ Checking for FFmpeg libavformat (static) ============
3707Result is: yes
3708##########################################
3709
3710============ Checking for libdv-0.9.5+ ============
3711
3712#include <libdv/dv.h>
3713int main(void) { dv_encoder_t* enc=dv_encoder_new(1,1,1); return 0; }
3714
3715cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -ldv -lm
3716/tmp/mplayer-conf-9091-9067.c:1: libdv/dv.h: No such file or directory
3717
3718ldd /tmp/mplayer-conf-25707-9067.o
3719ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
3720
3721Result is: no
3722##########################################
3723
3724============ Checking for zr ============
3725Result is: no
3726##########################################
3727
3728============ Checking for bl ============
3729Result is: no
3730##########################################
3731
3732============ Checking for XviD ============
3733
3734#include <xvid.h>
3735int main(void) { xvid_init(0, 0, 0, 0); return 0; }
3736
3737cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lxvidcore -lm
3738/tmp/mplayer-conf-9091-9067.c:1: xvid.h: No such file or directory
3739
3740ldd /tmp/mplayer-conf-25707-9067.o
3741ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
3742
3743
3744#include <xvid.h>
3745int main(void) { xvid_global(0, 0, 0, 0); return 0; }
3746
3747cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lxvidcore -lm
3748/tmp/mplayer-conf-9091-9067.c:1: xvid.h: No such file or directory
3749
3750ldd /tmp/mplayer-conf-25707-9067.o
3751ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
3752
3753Result is: no
3754##########################################
3755
3756============ Checking for x264 ============
3757
3758#include <stdint.h>
3759#include <stdarg.h>
3760#include <x264.h>
3761int main(void) { x264_encoder_open((void*)0); return 0; }
3762
3763cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lx264 -lm
3764/tmp/mplayer-conf-9091-9067.c:3: x264.h: No such file or directory
3765
3766ldd /tmp/mplayer-conf-25707-9067.o
3767ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
3768
3769Result is: no
3770##########################################
3771
3772============ Checking for DivX4linux/DivX5linux/OpenDivX decore ============
3773
3774#include <decore.h>
3775int main(void) { (void) decore(0, 0, 0, 0); return DEC_OPT_FRAME_311; }
3776
3777cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lm -ldivxdecore
3778/tmp/mplayer-conf-9091-9067.c:1: decore.h: No such file or directory
3779
3780ldd /tmp/mplayer-conf-25707-9067.o
3781ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
3782
3783
3784#include <decore.h>
3785int main(void) { (void) decore(0, 0, 0, 0); return DEC_OPT_INIT; }
3786
3787cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lm -ldivxdecore
3788/tmp/mplayer-conf-9091-9067.c:1: decore.h: No such file or directory
3789
3790ldd /tmp/mplayer-conf-25707-9067.o
3791ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
3792
3793Result is: no
3794##########################################
3795
3796============ Checking for libmp3lame (for mencoder) ============
3797
3798#include <lame/lame.h>
3799int main(void) { lame_version_t lv; (void) lame_init(); get_lame_version_numerical(&lv); printf("%d%d\n",lv.major,lv.minor); return 0; }
3800
3801cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -lmp3lame -lvorbis -logg -lm
3802/tmp/mplayer-conf-9091-9067.c:1: lame/lame.h: No such file or directory
3803
3804ldd /tmp/mplayer-conf-25707-9067.o
3805ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
3806
3807Result is: no
3808##########################################
3809
3810============ Checking for DivX4linux encore (for mencoder) ============
3811
3812#include <encore2.h>
3813int main(void) { (void) encore(0, 0, 0, 0); return 0; }
3814
3815cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -ldivxencore -lm
3816/tmp/mplayer-conf-9091-9067.c:1: encore2.h: No such file or directory
3817
3818ldd /tmp/mplayer-conf-25707-9067.o
3819ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
3820
3821Result is: no
3822##########################################
3823
3824============ Checking for mencoder ============
3825Result is: yes
3826##########################################
3827
3828============ Checking for fastmemcpy ============
3829Result is: yes
3830##########################################
3831
3832============ Checking for UniquE RAR File Library ============
3833Result is: yes
3834##########################################
3835
3836============ Checking for TV interface ============
3837Result is: yes
3838##########################################
3839
3840============ Checking for EDL support ============
3841Result is: yes
3842##########################################
3843
3844============ Checking for *BSD BrookTree 848 TV interface ============
3845
3846#include <sys/types.h>
3847#if defined(__NetBSD__)
3848#include <dev/ic/bt8xx.h>
3849#else
3850#include <machine/ioctl_bt848.h>
3851#endif
3852int main(void) { return 0; }
3853
3854cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
3855/tmp/mplayer-conf-9091-9067.c:5: machine/ioctl_bt848.h: No such file or directory
3856
3857ldd /tmp/mplayer-conf-25707-9067.o
3858ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
3859
3860Result is: no
3861##########################################
3862
3863============ Checking for Video 4 Linux TV interface ============
3864
3865#include <stdlib.h>
3866#include <linux/videodev.h>
3867int main(void) { return 0; }
3868
3869cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
3870
3871ldd /tmp/mplayer-conf-25707-9067.o
3872 libc.so.6 => /lib/libc.so.6 (0x4002c000)
3873 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
3874
3875Result is: yes
3876##########################################
3877
3878============ Checking for Video 4 Linux 2 TV interface ============
3879Result is: yes
3880##########################################
3881
3882============ Checking for audio select() ============
3883Result is: yes
3884##########################################
3885
3886============ Checking for network ============
3887Result is: yes
3888##########################################
3889
3890============ Checking for ftp ============
3891Result is: yes
3892##########################################
3893
3894============ Checking for byte order ============
3895
3896short ascii_name[] = { (('M'<<8)|'P'),(('l'<<8)|'a'),(('y'<<8)|'e'),(('r'<<8)|'B'),
3897 (('i'<<8)|'g'),(('E'<<8)|'n'),(('d'<<8)|'i'),(('a'<<8)|'n'),0};
3898int main(){
3899 char* s = (char*)ascii_name;
3900 return 0;
3901}
3902
3903cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
3904
3905ldd /tmp/mplayer-conf-25707-9067.o
3906 libc.so.6 => /lib/libc.so.6 (0x4002c000)
3907 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
3908
3909Result is: little-endian
3910##########################################
3911
3912============ Checking for shared postprocess lib ============
3913Result is: no
3914##########################################
3915
3916============ Checking for OSD menu ============
3917Result is: no
3918##########################################
3919
3920============ Checking for QTX codecs ============
3921Result is: yes
3922##########################################
3923
3924============ Checking for Subtitles sorting ============
3925Result is: yes
3926##########################################
3927
3928============ Checking for XMMS inputplugin support ============
3929Result is: no
3930##########################################
3931
3932============ Checking for inet6 ============
3933
3934#include <sys/types.h>
3935#include <sys/socket.h>
3936int main(void) { socket(AF_INET6, SOCK_STREAM, AF_INET6); }
3937
3938cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
3939
3940ldd /tmp/mplayer-conf-25707-9067.o
3941 libc.so.6 => /lib/libc.so.6 (0x4002c000)
3942 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
3943
3944Result is: yes
3945##########################################
3946
3947============ Checking for gethostbyname2 ============
3948
3949#include <sys/types.h>
3950#include <sys/socket.h>
3951#include <netdb.h>
3952int main(void) { gethostbyname2("", AF_INET); }
3953
3954cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
3955
3956ldd /tmp/mplayer-conf-25707-9067.o
3957 libc.so.6 => /lib/libc.so.6 (0x4002c000)
3958 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
3959
3960Result is: yes
3961##########################################
3962
3963============ Checking for GUI ============
3964============ Checking for XShape extension ============
3965
3966#include <X11/Xlib.h>
3967#include <X11/Xproto.h>
3968#include <X11/Xutil.h>
3969#include <X11/extensions/shape.h>
3970#include <stdlib.h>
3971int main(void) {
3972 char *name = ":0.0";
3973 Display *wsDisplay;
3974 int exitvar = 0;
3975 int eventbase, errorbase;
3976 if (getenv("DISPLAY"))
3977 name=getenv("DISPLAY");
3978 wsDisplay=XOpenDisplay(name);
3979 if (!XShapeQueryExtension(wsDisplay,&eventbase,&errorbase))
3980 exitvar=1;
3981 XCloseDisplay(wsDisplay);
3982 return exitvar;
3983}
3984
3985cc /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -I/usr/X11/include -L/usr/X11R6/lib -lXext -lX11 -lnsl
3986
3987ldd /tmp/mplayer-conf-25707-9067.o
3988 libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x4002c000)
3989 libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4003a000)
3990 libnsl.so.1 => /lib/libnsl.so.1 (0x400fa000)
3991 libc.so.6 => /lib/libc.so.6 (0x40110000)
3992 libdl.so.2 => /lib/libdl.so.2 (0x40239000)
3993 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
3994
3995Result is: yes
3996##########################################
3997
3998============ Checking for GTK version ============
3999Result is: 1.2.10 (using gtk-config)
4000##########################################
4001
4002============ Checking for glib version ============
4003Result is: 1.2.10 (using glib-config)
4004##########################################
4005
4006============ Checking for automatic gdb attach ============
4007Result is: no
4008##########################################
4009
4010============ Checking for compiler support for -fno-PIC ============
4011
4012int main(void) { return 0; }
4013
4014cc -O4 -march=i686 -mcpu=i686 -pipe -ffast-math -fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -fno-PIC
4015
4016ldd /tmp/mplayer-conf-25707-9067.o
4017 libc.so.6 => /lib/libc.so.6 (0x4002c000)
4018 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
4019
4020Result is: yes
4021##########################################
4022
4023============ Checking for ftello() ============
4024
4025#include <stdio.h>
4026#include <sys/types.h>
4027int main (void) { ftello(stdin); return 0; }
4028
4029cc -fno-PIC -O4 -march=i686 -mcpu=i686 -pipe -ffast-math -fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o
4030
4031ldd /tmp/mplayer-conf-25707-9067.o
4032 libc.so.6 => /lib/libc.so.6 (0x4002c000)
4033 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
4034
4035Result is: yes
4036##########################################
4037
4038============ Checking for lirc ============
4039
4040#include <lirc/lirc_client.h>
4041int main(void) { return 0; }
4042
4043cc -fno-PIC -O4 -march=i686 -mcpu=i686 -pipe -ffast-math -fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -llirc_client
4044
4045ldd /tmp/mplayer-conf-25707-9067.o
4046 liblirc_client.so.0 => /usr/lib/liblirc_client.so.0 (0x4002c000)
4047 libc.so.6 => /lib/libc.so.6 (0x40031000)
4048 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
4049
4050Result is: yes
4051##########################################
4052
4053============ Checking for lircc ============
4054
4055#include <lirc/lircc.h>
4056int main(void) { return 0; }
4057
4058cc -fno-PIC -O4 -march=i686 -mcpu=i686 -pipe -ffast-math -fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 /tmp/mplayer-conf-9091-9067.c -o /tmp/mplayer-conf-25707-9067.o -llircc
4059/tmp/mplayer-conf-9091-9067.c:1: lirc/lircc.h: No such file or directory
4060
4061ldd /tmp/mplayer-conf-25707-9067.o
4062ldd: /tmp/mplayer-conf-25707-9067.o: No such file or directory
4063
4064Result is: no
4065##########################################
4066