Ticket #175: configure-1.0pre5try2.log

File configure-1.0pre5try2.log, 125.8 KB (added by pub_br_mplayerhq.hu@…, 22 years ago)

configure.log for MPlayer-1.0pre5try2/configure --enable-largefiles --enable-gui

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