5 #define __STDC_HOSTED__ 1
9 #define __GNUC_MINOR__ 1
11 #define __GNUC_PATCHLEVEL__ 2
13 #define __SIZE_TYPE__ long unsigned int
15 #define __PTRDIFF_TYPE__ long int
17 #define __WCHAR_TYPE__ int
19 #define __WINT_TYPE__ unsigned int
21 #define __INTMAX_TYPE__ long int
23 #define __UINTMAX_TYPE__ long unsigned int
25 #define __GXX_ABI_VERSION 1002
27 #define __SCHAR_MAX__ 127
29 #define __SHRT_MAX__ 32767
31 #define __INT_MAX__ 2147483647
33 #define __LONG_MAX__ 9223372036854775807L
35 #define __LONG_LONG_MAX__ 9223372036854775807LL
37 #define __WCHAR_MAX__ 2147483647
39 #define __CHAR_BIT__ 8
41 #define __INTMAX_MAX__ 9223372036854775807L
43 #define __FLT_EVAL_METHOD__ 0
45 #define __FLT_RADIX__ 2
47 #define __FLT_MANT_DIG__ 24
51 #define __FLT_MIN_EXP__ (-125)
53 #define __FLT_MIN_10_EXP__ (-37)
55 #define __FLT_MAX_EXP__ 128
57 #define __FLT_MAX_10_EXP__ 38
59 #define __FLT_MAX__ 3.40282347e+38F
61 #define __FLT_MIN__ 1.17549435e-38F
63 #define __FLT_EPSILON__ 1.19209290e-7F
65 #define __FLT_DENORM_MIN__ 1.40129846e-45F
67 #define __FLT_HAS_INFINITY__ 1
69 #define __FLT_HAS_QUIET_NAN__ 1
71 #define __DBL_MANT_DIG__ 53
73 #define __DBL_DIG__ 15
75 #define __DBL_MIN_EXP__ (-1021)
77 #define __DBL_MIN_10_EXP__ (-307)
79 #define __DBL_MAX_EXP__ 1024
81 #define __DBL_MAX_10_EXP__ 308
83 #define __DBL_MAX__ 1.7976931348623157e+308
85 #define __DBL_MIN__ 2.2250738585072014e-308
87 #define __DBL_EPSILON__ 2.2204460492503131e-16
89 #define __DBL_DENORM_MIN__ 4.9406564584124654e-324
91 #define __DBL_HAS_INFINITY__ 1
93 #define __DBL_HAS_QUIET_NAN__ 1
95 #define __LDBL_MANT_DIG__ 64
97 #define __LDBL_DIG__ 18
99 #define __LDBL_MIN_EXP__ (-16381)
101 #define __LDBL_MIN_10_EXP__ (-4931)
103 #define __LDBL_MAX_EXP__ 16384
105 #define __LDBL_MAX_10_EXP__ 4932
107 #define __DECIMAL_DIG__ 21
109 #define __LDBL_MAX__ 1.18973149535723176502e+4932L
111 #define __LDBL_MIN__ 3.36210314311209350626e-4932L
113 #define __LDBL_EPSILON__ 1.08420217248550443401e-19L
115 #define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
117 #define __LDBL_HAS_INFINITY__ 1
119 #define __LDBL_HAS_QUIET_NAN__ 1
121 #define __REGISTER_PREFIX__
123 #define __USER_LABEL_PREFIX__
125 #define __VERSION__ "4.1.2 20070214 ( (gdc 0.23, using dmd 1.007)) (Gentoo 4.1.2)"
131 #define __OPTIMIZE__ 1
133 #define __FAST_MATH__ 1
135 #define __FINITE_MATH_ONLY__ 1
145 #define __tune_k8__ 1
151 #define __3dNOW_A__ 1
157 #define __SSE_MATH__ 1
159 #define __SSE2_MATH__ 1
165 #define __gnu_linux__ 1
185 #define HAVE_CONFIG_H 1
189 #define _GNU_SOURCE 1
196 # 1 "video_out_dfb.c"
197 # 20 "video_out_dfb.c"
198 # 1 "../../../config.h" 1
199 # 14 "../../../config.h"
200 #define DIRECTFB_VERSION "0.9.25"
203 #define HAVE_DLFCN_H 1
209 #define HAVE_INTTYPES_H 1
212 #define HAVE_MEMORY_H 1
215 #define HAVE_STDINT_H 1
218 #define HAVE_STDLIB_H 1
221 #define HAVE_STRINGS_H 1
224 #define HAVE_STRING_H 1
227 #define HAVE_SYS_STAT_H 1
230 #define HAVE_SYS_TYPES_H 1
233 #define HAVE_UNISTD_H 1
236 #define PACKAGE_BUGREPORT ""
239 #define PACKAGE_NAME ""
242 #define PACKAGE_STRING ""
245 #define PACKAGE_TARNAME ""
248 #define PACKAGE_VERSION ""
251 #define STDC_HEADERS 1
255 # 21 "video_out_dfb.c" 2
258 # 1 "/usr/include/stdio.h" 1 3 4
266 # 1 "/usr/include/gentoo-multilib/amd64/stdio.h" 1 3 4
267 # 27 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
269 # 1 "/usr/include/features.h" 1 3 4
277 # 1 "/usr/include/gentoo-multilib/amd64/features.h" 1 3 4
278 # 21 "/usr/include/gentoo-multilib/amd64/features.h" 3 4
279 #define _FEATURES_H 1
280 # 93 "/usr/include/gentoo-multilib/amd64/features.h" 3 4
284 #undef __USE_POSIX199309
285 #undef __USE_POSIX199506
287 #undef __USE_XOPEN_EXTENDED
290 #undef __USE_LARGEFILE
291 #undef __USE_LARGEFILE64
292 #undef __USE_FILE_OFFSET64
298 #undef __USE_REENTRANT
299 #undef __USE_FORTIFY_LEVEL
301 #undef __KERNEL_STRICT_NAMES
306 #define __KERNEL_STRICT_NAMES
311 # 132 "/usr/include/gentoo-multilib/amd64/features.h" 3 4
312 #define __GNUC_PREREQ(maj,min) ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
313 # 149 "/usr/include/gentoo-multilib/amd64/features.h" 3 4
314 #undef _ISOC99_SOURCE
315 #define _ISOC99_SOURCE 1
317 #define _POSIX_SOURCE 1
318 #undef _POSIX_C_SOURCE
319 #define _POSIX_C_SOURCE 200112L
321 #define _XOPEN_SOURCE 600
322 #undef _XOPEN_SOURCE_EXTENDED
323 #define _XOPEN_SOURCE_EXTENDED 1
324 #undef _LARGEFILE64_SOURCE
325 #define _LARGEFILE64_SOURCE 1
327 #define _BSD_SOURCE 1
329 #define _SVID_SOURCE 1
330 #undef _ATFILE_SOURCE
331 #define _ATFILE_SOURCE 1
332 # 185 "/usr/include/gentoo-multilib/amd64/features.h" 3 4
333 #define __USE_ISOC99 1
334 # 203 "/usr/include/gentoo-multilib/amd64/features.h" 3 4
335 #define __USE_POSIX 1
339 #define __USE_POSIX2 1
343 #define __USE_POSIX199309 1
347 #define __USE_POSIX199506 1
351 #define __USE_XOPEN2K 1
355 #define __USE_XOPEN 1
357 #define __USE_XOPEN_EXTENDED 1
358 #define __USE_UNIX98 1
359 #undef _LARGEFILE_SOURCE
360 #define _LARGEFILE_SOURCE 1
362 #define __USE_XOPEN2K 1
364 #define __USE_ISOC99 1
365 # 242 "/usr/include/gentoo-multilib/amd64/features.h" 3 4
366 #define __USE_LARGEFILE 1
370 #define __USE_LARGEFILE64 1
390 #define __USE_ATFILE 1
398 #define __USE_REENTRANT 1
399 # 285 "/usr/include/gentoo-multilib/amd64/features.h" 3 4
400 #define __USE_FORTIFY_LEVEL 0
404 #define __STDC_IEC_559__ 1
405 #define __STDC_IEC_559_COMPLEX__ 1
408 #define __STDC_ISO_10646__ 200009L
416 #undef __GNU_LIBRARY__
417 #define __GNU_LIBRARY__ 6
422 #define __GLIBC_MINOR__ 5
424 #define __GLIBC_PREREQ(maj,min) ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))
432 #define __GLIBC_HAVE_LONG_LONG 1
438 # 1 "/usr/include/sys/cdefs.h" 1 3 4
446 # 1 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 1 3 4
447 # 21 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 3 4
448 #define _SYS_CDEFS_H 1
449 # 36 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 3 4
452 # 47 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 3 4
453 #define __THROW __attribute__ ((__nothrow__))
454 #define __NTH(fct) __attribute__ ((__nothrow__)) fct
455 # 74 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 3 4
456 #define __P(args) args
457 #define __PMT(args) args
462 #define __CONCAT(x,y) x ## y
463 #define __STRING(x) #x
466 #define __ptr_t void *
467 #define __long_double_t long double
475 #define __BEGIN_DECLS
477 # 114 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 3 4
478 #define __BEGIN_NAMESPACE_STD
479 #define __END_NAMESPACE_STD
480 #define __USING_NAMESPACE_STD(name)
481 #define __BEGIN_NAMESPACE_C99
482 #define __END_NAMESPACE_C99
483 #define __USING_NAMESPACE_C99(name)
496 #define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1)
497 #define __bos0(ptr) __builtin_object_size (ptr, 0)
498 #define __warndecl(name,msg) extern void name (void)
505 # 167 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 3 4
506 #define __REDIRECT(name,proto,alias) name proto __asm__ (__ASMNAME (#alias))
511 #define __REDIRECT_NTH(name,proto,alias) name proto __asm__ (__ASMNAME (#alias)) __THROW
514 #define __ASMNAME(cname) __ASMNAME2 (__USER_LABEL_PREFIX__, cname)
515 #define __ASMNAME2(prefix,cname) __STRING (prefix) cname
516 # 197 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 3 4
517 #define __attribute_malloc__ __attribute__ ((__malloc__))
518 # 206 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 3 4
519 #define __attribute_pure__ __attribute__ ((__pure__))
520 # 215 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 3 4
521 #define __attribute_used__ __attribute__ ((__used__))
522 #define __attribute_noinline__ __attribute__ ((__noinline__))
530 #define __attribute_deprecated__ __attribute__ ((__deprecated__))
531 # 236 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 3 4
532 #define __attribute_format_arg__(x) __attribute__ ((__format_arg__ (x)))
533 # 246 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 3 4
534 #define __attribute_format_strfmon__(a,b) __attribute__ ((__format__ (__strfmon__, a, b)))
535 # 255 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 3 4
536 #define __nonnull(params) __attribute__ ((__nonnull__ params))
544 #define __attribute_warn_unused_result__ __attribute__ ((__warn_unused_result__))
545 # 272 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 3 4
551 #define __always_inline __inline __attribute__ ((__always_inline__))
552 # 299 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 3 4
553 #define __restrict_arr __restrict
554 # 313 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 3 4
555 # 1 "/usr/include/bits/wordsize.h" 1 3 4
563 # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4
567 #define __WORDSIZE 64
568 #define __WORDSIZE_COMPAT32 1
569 # 9 "/usr/include/bits/wordsize.h" 2 3 4
570 # 314 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 2 3 4
571 # 331 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 3 4
572 #define __LDBL_REDIR1(name,proto,alias) name proto
573 #define __LDBL_REDIR(name,proto) name proto
574 #define __LDBL_REDIR1_NTH(name,proto,alias) name proto __THROW
575 #define __LDBL_REDIR_NTH(name,proto) name proto __THROW
576 #define __LDBL_REDIR_DECL(name)
577 # 9 "/usr/include/sys/cdefs.h" 2 3 4
578 # 324 "/usr/include/gentoo-multilib/amd64/features.h" 2 3 4
579 # 338 "/usr/include/gentoo-multilib/amd64/features.h" 3 4
580 #define __USE_EXTERN_INLINES 1
588 # 1 "/usr/include/gnu/stubs.h" 1 3 4
596 # 1 "/usr/include/gentoo-multilib/amd64/gnu/stubs.h" 1 3 4
600 # 1 "/usr/include/bits/wordsize.h" 1 3 4
608 # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4
612 #define __WORDSIZE 64
613 #define __WORDSIZE_COMPAT32 1
614 # 9 "/usr/include/bits/wordsize.h" 2 3 4
615 # 5 "/usr/include/gentoo-multilib/amd64/gnu/stubs.h" 2 3 4
620 # 1 "/usr/include/gnu/stubs-64.h" 1 3 4
624 # 1 "/usr/include/gentoo-multilib/amd64/gnu/stubs-64.h" 1 3 4
625 # 10 "/usr/include/gentoo-multilib/amd64/gnu/stubs-64.h" 3 4
626 #define __stub___kernel_cosl
627 #define __stub___kernel_rem_pio2l
628 #define __stub___kernel_sinl
629 #define __stub___kernel_tanl
630 #define __stub_bdflush
631 #define __stub_chflags
632 #define __stub_fattach
633 #define __stub_fchflags
634 #define __stub_fdetach
635 #define __stub_feupdateenv
636 #define __stub_getmsg
638 #define __stub_lchmod
639 #define __stub_lutimes
640 #define __stub_putmsg
641 #define __stub_revoke
642 #define __stub_setlogin
643 #define __stub_sigreturn
646 # 5 "/usr/include/gnu/stubs-64.h" 2 3 4
647 # 10 "/usr/include/gentoo-multilib/amd64/gnu/stubs.h" 2 3 4
648 # 9 "/usr/include/gnu/stubs.h" 2 3 4
649 # 347 "/usr/include/gentoo-multilib/amd64/features.h" 2 3 4
650 # 9 "/usr/include/features.h" 2 3 4
651 # 29 "/usr/include/gentoo-multilib/amd64/stdio.h" 2 3 4
655 #define __need_size_t
657 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4
658 # 189 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
662 #define _SYS_SIZE_T_H
668 #define _SIZE_T_DEFINED_
669 #define _SIZE_T_DEFINED
670 #define _BSD_SIZE_T_DEFINED_
671 #define _SIZE_T_DECLARED
672 #define ___int_size_t_h
684 typedef long unsigned int size_t;
685 # 236 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
687 # 398 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
693 #define NULL ((void *)0)
700 # 35 "/usr/include/gentoo-multilib/amd64/stdio.h" 2 3 4
702 # 1 "/usr/include/bits/types.h" 1 3 4
710 # 1 "/usr/include/gentoo-multilib/amd64/bits/types.h" 1 3 4
711 # 25 "/usr/include/gentoo-multilib/amd64/bits/types.h" 3 4
712 #define _BITS_TYPES_H 1
714 # 1 "/usr/include/features.h" 1 3 4
715 # 28 "/usr/include/gentoo-multilib/amd64/bits/types.h" 2 3 4
716 # 1 "/usr/include/bits/wordsize.h" 1 3 4
724 # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4
728 #define __WORDSIZE 64
729 #define __WORDSIZE_COMPAT32 1
730 # 9 "/usr/include/bits/wordsize.h" 2 3 4
731 # 29 "/usr/include/gentoo-multilib/amd64/bits/types.h" 2 3 4
733 #define __need_size_t
734 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4
735 # 236 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
737 # 409 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
739 # 32 "/usr/include/gentoo-multilib/amd64/bits/types.h" 2 3 4
742 typedef unsigned char __u_char;
743 typedef unsigned short int __u_short;
744 typedef unsigned int __u_int;
745 typedef unsigned long int __u_long;
748 typedef signed char __int8_t;
749 typedef unsigned char __uint8_t;
750 typedef signed short int __int16_t;
751 typedef unsigned short int __uint16_t;
752 typedef signed int __int32_t;
753 typedef unsigned int __uint32_t;
755 typedef signed long int __int64_t;
756 typedef unsigned long int __uint64_t;
764 typedef long int __quad_t;
765 typedef unsigned long int __u_quad_t;
766 # 102 "/usr/include/gentoo-multilib/amd64/bits/types.h" 3 4
767 #define __S16_TYPE short int
768 #define __U16_TYPE unsigned short int
769 #define __S32_TYPE int
770 #define __U32_TYPE unsigned int
771 #define __SLONGWORD_TYPE long int
772 #define __ULONGWORD_TYPE unsigned long int
773 # 121 "/usr/include/gentoo-multilib/amd64/bits/types.h" 3 4
774 #define __SQUAD_TYPE long int
775 #define __UQUAD_TYPE unsigned long int
776 #define __SWORD_TYPE long int
777 #define __UWORD_TYPE unsigned long int
778 #define __SLONG32_TYPE int
779 #define __ULONG32_TYPE unsigned int
780 #define __S64_TYPE long int
781 #define __U64_TYPE unsigned long int
783 #define __STD_TYPE typedef
787 # 1 "/usr/include/bits/typesizes.h" 1 3 4
795 # 1 "/usr/include/gentoo-multilib/amd64/bits/typesizes.h" 1 3 4
796 # 25 "/usr/include/gentoo-multilib/amd64/bits/typesizes.h" 3 4
797 #define _BITS_TYPESIZES_H 1
802 #define __DEV_T_TYPE __UQUAD_TYPE
803 #define __UID_T_TYPE __U32_TYPE
804 #define __GID_T_TYPE __U32_TYPE
805 #define __INO_T_TYPE __ULONGWORD_TYPE
806 #define __INO64_T_TYPE __UQUAD_TYPE
807 #define __MODE_T_TYPE __U32_TYPE
808 #define __NLINK_T_TYPE __UWORD_TYPE
809 #define __OFF_T_TYPE __SLONGWORD_TYPE
810 #define __OFF64_T_TYPE __SQUAD_TYPE
811 #define __PID_T_TYPE __S32_TYPE
812 #define __RLIM_T_TYPE __ULONGWORD_TYPE
813 #define __RLIM64_T_TYPE __UQUAD_TYPE
814 #define __BLKCNT_T_TYPE __SLONGWORD_TYPE
815 #define __BLKCNT64_T_TYPE __SQUAD_TYPE
816 #define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
817 #define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
818 #define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
819 #define __FSFILCNT64_T_TYPE __UQUAD_TYPE
820 #define __ID_T_TYPE __U32_TYPE
821 #define __CLOCK_T_TYPE __SLONGWORD_TYPE
822 #define __TIME_T_TYPE __SLONGWORD_TYPE
823 #define __USECONDS_T_TYPE __U32_TYPE
824 #define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
825 #define __DADDR_T_TYPE __S32_TYPE
826 #define __SWBLK_T_TYPE __SLONGWORD_TYPE
827 #define __KEY_T_TYPE __S32_TYPE
828 #define __CLOCKID_T_TYPE __S32_TYPE
829 #define __TIMER_T_TYPE void *
830 #define __BLKSIZE_T_TYPE __SLONGWORD_TYPE
831 #define __FSID_T_TYPE struct { int __val[2]; }
832 #define __SSIZE_T_TYPE __SWORD_TYPE
835 #define __FD_SETSIZE 1024
836 # 9 "/usr/include/bits/typesizes.h" 2 3 4
837 # 135 "/usr/include/gentoo-multilib/amd64/bits/types.h" 2 3 4
840 typedef unsigned long int __dev_t;
841 typedef unsigned int __uid_t;
842 typedef unsigned int __gid_t;
843 typedef unsigned long int __ino_t;
844 typedef unsigned long int __ino64_t;
845 typedef unsigned int __mode_t;
846 typedef unsigned long int __nlink_t;
847 typedef long int __off_t;
848 typedef long int __off64_t;
850 typedef struct { int __val[2]; } __fsid_t;
851 typedef long int __clock_t;
852 typedef unsigned long int __rlim_t;
853 typedef unsigned long int __rlim64_t;
854 typedef unsigned int __id_t;
855 typedef long int __time_t;
856 typedef unsigned int __useconds_t;
857 typedef long int __suseconds_t;
859 typedef int __daddr_t;
860 typedef long int __swblk_t;
864 typedef int __clockid_t;
867 typedef void * __timer_t;
870 typedef long int __blksize_t;
875 typedef long int __blkcnt_t;
876 typedef long int __blkcnt64_t;
879 typedef unsigned long int __fsblkcnt_t;
880 typedef unsigned long int __fsblkcnt64_t;
883 typedef unsigned long int __fsfilcnt_t;
884 typedef unsigned long int __fsfilcnt64_t;
886 typedef long int __ssize_t;
890 typedef __off64_t __loff_t;
891 typedef __quad_t *__qaddr_t;
892 typedef char *__caddr_t;
895 typedef long int __intptr_t;
898 typedef unsigned int __socklen_t;
902 # 9 "/usr/include/bits/types.h" 2 3 4
903 # 37 "/usr/include/gentoo-multilib/amd64/stdio.h" 2 3 4
905 #define __need___FILE
913 typedef struct _IO_FILE FILE;
921 #define __FILE_defined 1
929 typedef struct _IO_FILE __FILE;
931 #define ____FILE_defined 1
937 #define _STDIO_USES_IOSTREAM
939 # 1 "/usr/include/libio.h" 1 3 4
947 # 1 "/usr/include/gentoo-multilib/amd64/libio.h" 1 3 4
948 # 30 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4
951 # 1 "/usr/include/_G_config.h" 1 3 4
959 # 1 "/usr/include/gentoo-multilib/amd64/_G_config.h" 1 3 4
964 #define _G_config_h 1
968 # 1 "/usr/include/bits/types.h" 1 3 4
969 # 10 "/usr/include/gentoo-multilib/amd64/_G_config.h" 2 3 4
970 #define __need_size_t
971 #define __need_wchar_t
972 #define __need_wint_t
974 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4
975 # 236 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
977 # 265 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
985 #define _BSD_WCHAR_T_
986 #define _WCHAR_T_DEFINED_
987 #define _WCHAR_T_DEFINED
989 #define ___int_wchar_t_h
990 #define __INT_WCHAR_T_H
992 #define _WCHAR_T_DECLARED
993 # 292 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
995 # 326 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
997 # 345 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
998 #undef __need_wchar_t
1008 typedef unsigned int wint_t;
1010 #undef __need_wint_t
1011 # 398 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
1017 #define NULL ((void *)0)
1024 # 15 "/usr/include/gentoo-multilib/amd64/_G_config.h" 2 3 4
1025 # 23 "/usr/include/gentoo-multilib/amd64/_G_config.h" 3 4
1026 #define __need_mbstate_t
1027 # 1 "/usr/include/wchar.h" 1 3 4
1035 # 1 "/usr/include/gentoo-multilib/amd64/wchar.h" 1 3 4
1036 # 47 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4
1037 #define __need_wint_t
1038 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4
1039 # 357 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
1040 #undef __need_wint_t
1041 # 409 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
1043 # 49 "/usr/include/gentoo-multilib/amd64/wchar.h" 2 3 4
1045 # 1 "/usr/include/bits/wchar.h" 1 3 4
1053 # 1 "/usr/include/gentoo-multilib/amd64/bits/wchar.h" 1 3 4
1054 # 21 "/usr/include/gentoo-multilib/amd64/bits/wchar.h" 3 4
1055 #define _BITS_WCHAR_H 1
1057 #define __WCHAR_MIN (-2147483647 - 1)
1058 #define __WCHAR_MAX (2147483647)
1059 # 9 "/usr/include/bits/wchar.h" 2 3 4
1060 # 51 "/usr/include/gentoo-multilib/amd64/wchar.h" 2 3 4
1061 # 74 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4
1062 #define __mbstate_t_defined 1
1074 #undef __need_mbstate_t
1075 # 9 "/usr/include/wchar.h" 2 3 4
1076 # 25 "/usr/include/gentoo-multilib/amd64/_G_config.h" 2 3 4
1077 #define _G_size_t size_t
1081 __mbstate_t __state;
1086 __mbstate_t __state;
1088 #define _G_ssize_t __ssize_t
1089 #define _G_off_t __off_t
1090 #define _G_off64_t __off64_t
1091 #define _G_pid_t __pid_t
1092 #define _G_uid_t __uid_t
1093 #define _G_wchar_t wchar_t
1094 #define _G_wint_t wint_t
1095 #define _G_stat64 stat64
1096 # 1 "/usr/include/gconv.h" 1 3 4
1104 # 1 "/usr/include/gentoo-multilib/amd64/gconv.h" 1 3 4
1105 # 24 "/usr/include/gentoo-multilib/amd64/gconv.h" 3 4
1108 # 1 "/usr/include/features.h" 1 3 4
1109 # 27 "/usr/include/gentoo-multilib/amd64/gconv.h" 2 3 4
1110 #define __need_mbstate_t
1111 # 1 "/usr/include/wchar.h" 1 3 4
1119 # 1 "/usr/include/gentoo-multilib/amd64/wchar.h" 1 3 4
1120 # 47 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4
1121 #define __need_wint_t
1122 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4
1123 # 357 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
1124 #undef __need_wint_t
1125 # 409 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
1127 # 49 "/usr/include/gentoo-multilib/amd64/wchar.h" 2 3 4
1129 # 1 "/usr/include/bits/wchar.h" 1 3 4
1130 # 51 "/usr/include/gentoo-multilib/amd64/wchar.h" 2 3 4
1131 # 86 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4
1132 #undef __need_mbstate_t
1133 # 9 "/usr/include/wchar.h" 2 3 4
1134 # 29 "/usr/include/gentoo-multilib/amd64/gconv.h" 2 3 4
1135 #define __need_size_t
1136 #define __need_wchar_t
1137 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4
1138 # 236 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
1139 #undef __need_size_t
1140 # 345 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
1141 #undef __need_wchar_t
1142 # 409 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
1144 # 32 "/usr/include/gentoo-multilib/amd64/gconv.h" 2 3 4
1147 #define __UNKNOWN_10646_CHAR ((wchar_t) 0xfffd)
1157 __GCONV_EMPTY_INPUT,
1158 __GCONV_FULL_OUTPUT,
1159 __GCONV_ILLEGAL_INPUT,
1160 __GCONV_INCOMPLETE_INPUT,
1162 __GCONV_ILLEGAL_DESCRIPTOR,
1163 __GCONV_INTERNAL_ERROR
1170 __GCONV_IS_LAST = 0x0001,
1171 __GCONV_IGNORE_ERRORS = 0x0002
1176 struct __gconv_step;
1177 struct __gconv_step_data;
1178 struct __gconv_loaded_object;
1179 struct __gconv_trans_data;
1183 typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *,
1184 __const unsigned char **, __const unsigned char *,
1185 unsigned char **, size_t *, int, int);
1188 typedef wint_t (*__gconv_btowc_fct) (struct __gconv_step *, unsigned char);
1191 typedef int (*__gconv_init_fct) (struct __gconv_step *);
1192 typedef void (*__gconv_end_fct) (struct __gconv_step *);
1196 typedef int (*__gconv_trans_fct) (struct __gconv_step *,
1197 struct __gconv_step_data *, void *,
1198 __const unsigned char *,
1199 __const unsigned char **,
1200 __const unsigned char *, unsigned char **,
1204 typedef int (*__gconv_trans_context_fct) (void *, __const unsigned char *,
1205 __const unsigned char *,
1206 unsigned char *, unsigned char *);
1209 typedef int (*__gconv_trans_query_fct) (__const char *, __const char ***,
1213 typedef int (*__gconv_trans_init_fct) (void **, const char *);
1214 typedef void (*__gconv_trans_end_fct) (void *);
1216 struct __gconv_trans_data
1219 __gconv_trans_fct __trans_fct;
1220 __gconv_trans_context_fct __trans_context_fct;
1221 __gconv_trans_end_fct __trans_end_fct;
1223 struct __gconv_trans_data *__next;
1230 struct __gconv_loaded_object *__shlib_handle;
1231 __const char *__modname;
1239 __gconv_btowc_fct __btowc_fct;
1240 __gconv_init_fct __init_fct;
1241 __gconv_end_fct __end_fct;
1245 int __min_needed_from;
1246 int __max_needed_from;
1247 int __min_needed_to;
1248 int __max_needed_to;
1258 struct __gconv_step_data
1260 unsigned char *__outbuf;
1261 unsigned char *__outbufend;
1269 int __invocation_counter;
1275 __mbstate_t *__statep;
1276 __mbstate_t __state;
1280 struct __gconv_trans_data *__trans;
1285 typedef struct __gconv_info
1288 struct __gconv_step *__steps;
1289 __extension__ struct __gconv_step_data __data [];
1291 # 9 "/usr/include/gconv.h" 2 3 4
1292 # 45 "/usr/include/gentoo-multilib/amd64/_G_config.h" 2 3 4
1295 struct __gconv_info __cd;
1298 struct __gconv_info __cd;
1299 struct __gconv_step_data __data;
1303 typedef int _G_int16_t __attribute__ ((__mode__ (__HI__)));
1304 typedef int _G_int32_t __attribute__ ((__mode__ (__SI__)));
1305 typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__)));
1306 typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__)));
1308 #define _G_HAVE_BOOL 1
1312 #define _G_HAVE_ATEXIT 1
1313 #define _G_HAVE_SYS_CDEFS 1
1314 #define _G_HAVE_SYS_WAIT 1
1315 #define _G_NEED_STDARG_H 1
1316 #define _G_va_list __gnuc_va_list
1318 #define _G_HAVE_PRINTF_FP 1
1319 #define _G_HAVE_MMAP 1
1320 #define _G_HAVE_MREMAP 1
1321 #define _G_HAVE_LONG_DOUBLE_IO 1
1322 #define _G_HAVE_IO_FILE_OPEN 1
1323 #define _G_HAVE_IO_GETLINE_INFO 1
1325 #define _G_IO_IO_FILE_VERSION 0x20001
1327 #define _G_OPEN64 __open64
1328 #define _G_LSEEK64 __lseek64
1329 #define _G_MMAP64 __mmap64
1330 #define _G_FSTAT64(fd,buf) __fxstat64 (_STAT_VER, fd, buf)
1333 #define _G_HAVE_ST_BLKSIZE defined (_STATBUF_ST_BLKSIZE)
1335 #define _G_BUFSIZ 8192
1338 #define _G_NAMES_HAVE_UNDERSCORE 0
1339 #define _G_VTABLE_LABEL_HAS_LENGTH 1
1340 #define _G_USING_THUNKS 1
1341 #define _G_VTABLE_LABEL_PREFIX "__vt_"
1342 #define _G_VTABLE_LABEL_PREFIX_ID __vt_
1346 #define _G_ARGS(ARGLIST) ARGLIST
1347 # 9 "/usr/include/_G_config.h" 2 3 4
1348 # 33 "/usr/include/gentoo-multilib/amd64/libio.h" 2 3 4
1350 #define _IO_pos_t _G_fpos_t
1351 #define _IO_fpos_t _G_fpos_t
1352 #define _IO_fpos64_t _G_fpos64_t
1353 #define _IO_size_t _G_size_t
1354 #define _IO_ssize_t _G_ssize_t
1355 #define _IO_off_t _G_off_t
1356 #define _IO_off64_t _G_off64_t
1357 #define _IO_pid_t _G_pid_t
1358 #define _IO_uid_t _G_uid_t
1359 #define _IO_iconv_t _G_iconv_t
1360 #define _IO_HAVE_SYS_WAIT _G_HAVE_SYS_WAIT
1361 #define _IO_HAVE_ST_BLKSIZE _G_HAVE_ST_BLKSIZE
1362 #define _IO_BUFSIZ _G_BUFSIZ
1363 #define _IO_va_list _G_va_list
1364 #define _IO_wint_t _G_wint_t
1368 #define __need___va_list
1369 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stdarg.h" 1 3 4
1370 # 37 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stdarg.h" 3 4
1371 #undef __need___va_list
1376 #define __GNUC_VA_LIST
1377 typedef __builtin_va_list __gnuc_va_list;
1378 # 54 "/usr/include/gentoo-multilib/amd64/libio.h" 2 3 4
1381 #define _IO_va_list __gnuc_va_list
1382 # 76 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4
1383 #define _PARAMS(protos) __P(protos)
1391 #define _IO_UNIFIED_JUMPTABLES 1
1398 # 105 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4
1399 #define _IOS_INPUT 1
1400 #define _IOS_OUTPUT 2
1401 #define _IOS_ATEND 4
1402 #define _IOS_APPEND 8
1403 #define _IOS_TRUNC 16
1404 #define _IOS_NOCREATE 32
1405 #define _IOS_NOREPLACE 64
1406 #define _IOS_BIN 128
1414 #define _IO_MAGIC 0xFBAD0000
1415 #define _OLD_STDIO_MAGIC 0xFABC0000
1416 #define _IO_MAGIC_MASK 0xFFFF0000
1417 #define _IO_USER_BUF 1
1418 #define _IO_UNBUFFERED 2
1419 #define _IO_NO_READS 4
1420 #define _IO_NO_WRITES 8
1421 #define _IO_EOF_SEEN 0x10
1422 #define _IO_ERR_SEEN 0x20
1423 #define _IO_DELETE_DONT_CLOSE 0x40
1424 #define _IO_LINKED 0x80
1425 #define _IO_IN_BACKUP 0x100
1426 #define _IO_LINE_BUF 0x200
1427 #define _IO_TIED_PUT_GET 0x400
1428 #define _IO_CURRENTLY_PUTTING 0x800
1429 #define _IO_IS_APPENDING 0x1000
1430 #define _IO_IS_FILEBUF 0x2000
1431 #define _IO_BAD_SEEN 0x4000
1432 #define _IO_USER_LOCK 0x8000
1434 #define _IO_FLAGS2_MMAP 1
1435 #define _IO_FLAGS2_NOTCANCEL 2
1441 #define _IO_SKIPWS 01
1443 #define _IO_RIGHT 04
1444 #define _IO_INTERNAL 010
1447 #define _IO_HEX 0100
1448 #define _IO_SHOWBASE 0200
1449 #define _IO_SHOWPOINT 0400
1450 #define _IO_UPPERCASE 01000
1451 #define _IO_SHOWPOS 02000
1452 #define _IO_SCIENTIFIC 04000
1453 #define _IO_FIXED 010000
1454 #define _IO_UNITBUF 020000
1455 #define _IO_STDIO 040000
1456 #define _IO_DONT_CLOSE 0100000
1457 #define _IO_BOOLALPHA 0200000
1460 struct _IO_jump_t; struct _IO_FILE;
1461 # 176 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4
1462 typedef void _IO_lock_t;
1469 struct _IO_marker *_next;
1470 struct _IO_FILE *_sbuf;
1475 # 199 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4
1479 enum __codecvt_result
1486 # 267 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4
1489 #define _IO_file_flags _flags
1495 char* _IO_read_base;
1496 char* _IO_write_base;
1497 char* _IO_write_ptr;
1498 char* _IO_write_end;
1502 char *_IO_save_base;
1503 char *_IO_backup_base;
1506 struct _IO_marker *_markers;
1508 struct _IO_FILE *_chain;
1516 __off_t _old_offset;
1518 #define __HAVE_COLUMN
1520 unsigned short _cur_column;
1521 signed char _vtable_offset;
1527 # 315 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4
1529 # 324 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4
1538 char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)];
1543 typedef struct _IO_FILE _IO_FILE;
1546 struct _IO_FILE_plus;
1548 extern struct _IO_FILE_plus _IO_2_1_stdin_;
1549 extern struct _IO_FILE_plus _IO_2_1_stdout_;
1550 extern struct _IO_FILE_plus _IO_2_1_stderr_;
1552 #define _IO_stdin ((_IO_FILE*)(&_IO_2_1_stdin_))
1553 #define _IO_stdout ((_IO_FILE*)(&_IO_2_1_stdout_))
1554 #define _IO_stderr ((_IO_FILE*)(&_IO_2_1_stderr_))
1555 # 360 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4
1556 typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes);
1564 typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf,
1573 typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w);
1576 typedef int __io_close_fn (void *__cookie);
1581 typedef __io_read_fn cookie_read_function_t;
1582 typedef __io_write_fn cookie_write_function_t;
1583 typedef __io_seek_fn cookie_seek_function_t;
1584 typedef __io_close_fn cookie_close_function_t;
1590 __io_write_fn *write;
1592 __io_close_fn *close;
1593 } _IO_cookie_io_functions_t;
1594 typedef _IO_cookie_io_functions_t cookie_io_functions_t;
1596 struct _IO_cookie_file;
1599 extern void _IO_cookie_init (struct _IO_cookie_file *__cfile, int __read_write,
1600 void *__cookie, _IO_cookie_io_functions_t __fns);
1608 extern int __underflow (_IO_FILE *) __attribute__ ((__nothrow__));
1609 extern int __uflow (_IO_FILE *) __attribute__ ((__nothrow__));
1610 extern int __overflow (_IO_FILE *, int) __attribute__ ((__nothrow__));
1611 extern wint_t __wunderflow (_IO_FILE *) __attribute__ ((__nothrow__));
1612 extern wint_t __wuflow (_IO_FILE *) __attribute__ ((__nothrow__));
1613 extern wint_t __woverflow (_IO_FILE *, wint_t) __attribute__ ((__nothrow__));
1616 #define _IO_BE(expr,res) __builtin_expect ((expr), res)
1621 #define _IO_getc_unlocked(_fp) (_IO_BE ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end, 0) ? __uflow (_fp) : *(unsigned char *) (_fp)->_IO_read_ptr++)
1624 #define _IO_peekc_unlocked(_fp) (_IO_BE ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end, 0) && __underflow (_fp) == EOF ? EOF : *(unsigned char *) (_fp)->_IO_read_ptr)
1628 #define _IO_putc_unlocked(_ch,_fp) (_IO_BE ((_fp)->_IO_write_ptr >= (_fp)->_IO_write_end, 0) ? __overflow (_fp, (unsigned char) (_ch)) : (unsigned char) (*(_fp)->_IO_write_ptr++ = (_ch)))
1633 #define _IO_getwc_unlocked(_fp) (_IO_BE ((_fp)->_wide_data->_IO_read_ptr >= (_fp)->_wide_data->_IO_read_end, 0) ? __wuflow (_fp) : (_IO_wint_t) *(_fp)->_wide_data->_IO_read_ptr++)
1637 #define _IO_putwc_unlocked(_wch,_fp) (_IO_BE ((_fp)->_wide_data->_IO_write_ptr >= (_fp)->_wide_data->_IO_write_end, 0) ? __woverflow (_fp, _wch) : (_IO_wint_t) (*(_fp)->_wide_data->_IO_write_ptr++ = (_wch)))
1643 #define _IO_feof_unlocked(__fp) (((__fp)->_flags & _IO_EOF_SEEN) != 0)
1644 #define _IO_ferror_unlocked(__fp) (((__fp)->_flags & _IO_ERR_SEEN) != 0)
1646 extern int _IO_getc (_IO_FILE *__fp) __attribute__ ((__nothrow__));
1647 extern int _IO_putc (int __c, _IO_FILE *__fp) __attribute__ ((__nothrow__));
1648 extern int _IO_feof (_IO_FILE *__fp) __attribute__ ((__nothrow__));
1649 extern int _IO_ferror (_IO_FILE *__fp) __attribute__ ((__nothrow__));
1651 extern int _IO_peekc_locked (_IO_FILE *__fp) __attribute__ ((__nothrow__));
1654 #define _IO_PENDING_OUTPUT_COUNT(_fp) ((_fp)->_IO_write_ptr - (_fp)->_IO_write_base)
1657 extern void _IO_flockfile (_IO_FILE *) __attribute__ ((__nothrow__));
1658 extern void _IO_funlockfile (_IO_FILE *) __attribute__ ((__nothrow__));
1659 extern int _IO_ftrylockfile (_IO_FILE *) __attribute__ ((__nothrow__));
1660 # 472 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4
1661 #define _IO_peekc(_fp) _IO_peekc_unlocked (_fp)
1662 #define _IO_flockfile(_fp)
1663 #define _IO_funlockfile(_fp)
1664 #define _IO_ftrylockfile(_fp)
1665 #define _IO_cleanup_region_start(_fct,_fp)
1666 #define _IO_cleanup_region_end(_Doit)
1669 extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict,
1670 __gnuc_va_list, int *__restrict);
1671 extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict,
1673 extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t) __attribute__ ((__nothrow__));
1674 extern size_t _IO_sgetn (_IO_FILE *, void *, size_t) __attribute__ ((__nothrow__));
1676 extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int) __attribute__ ((__nothrow__));
1677 extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int) __attribute__ ((__nothrow__));
1679 extern void _IO_free_backup_area (_IO_FILE *) __attribute__ ((__nothrow__));
1680 # 9 "/usr/include/libio.h" 2 3 4
1681 # 73 "/usr/include/gentoo-multilib/amd64/stdio.h" 2 3 4
1686 typedef __gnuc_va_list va_list;
1687 #define _VA_LIST_DEFINED
1697 typedef _G_fpos_t fpos_t;
1703 typedef _G_fpos64_t fpos64_t;
1714 #define BUFSIZ _IO_BUFSIZ
1715 # 118 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
1723 #define P_tmpdir "/tmp"
1724 # 138 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
1725 # 1 "/usr/include/bits/stdio_lim.h" 1 3 4
1733 # 1 "/usr/include/gentoo-multilib/amd64/bits/stdio_lim.h" 1 3 4
1734 # 24 "/usr/include/gentoo-multilib/amd64/bits/stdio_lim.h" 3 4
1736 #define TMP_MAX 238328
1737 #define FILENAME_MAX 4096
1747 #define FOPEN_MAX 16
1748 # 9 "/usr/include/bits/stdio_lim.h" 2 3 4
1749 # 139 "/usr/include/gentoo-multilib/amd64/stdio.h" 2 3 4
1753 extern struct _IO_FILE *stdin;
1754 extern struct _IO_FILE *stdout;
1755 extern struct _IO_FILE *stderr;
1758 #define stdout stdout
1759 #define stderr stderr
1763 extern int remove (__const char *__filename) __attribute__ ((__nothrow__));
1765 extern int rename (__const char *__old, __const char *__new) __attribute__ ((__nothrow__));
1770 extern int renameat (int __oldfd, __const char *__old, int __newfd,
1771 __const char *__new) __attribute__ ((__nothrow__));
1780 extern FILE *tmpfile (void);
1781 # 179 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
1782 extern FILE *tmpfile64 (void);
1786 extern char *tmpnam (char *__s) __attribute__ ((__nothrow__));
1792 extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__));
1793 # 201 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
1794 extern char *tempnam (__const char *__dir, __const char *__pfx)
1795 __attribute__ ((__nothrow__)) __attribute__ ((__malloc__));
1804 extern int fclose (FILE *__stream);
1809 extern int fflush (FILE *__stream);
1811 # 226 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
1812 extern int fflush_unlocked (FILE *__stream);
1813 # 236 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
1814 extern int fcloseall (void);
1824 extern FILE *fopen (__const char *__restrict __filename,
1825 __const char *__restrict __modes);
1830 extern FILE *freopen (__const char *__restrict __filename,
1831 __const char *__restrict __modes,
1832 FILE *__restrict __stream);
1833 # 267 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
1836 extern FILE *fopen64 (__const char *__restrict __filename,
1837 __const char *__restrict __modes);
1838 extern FILE *freopen64 (__const char *__restrict __filename,
1839 __const char *__restrict __modes,
1840 FILE *__restrict __stream);
1845 extern FILE *fdopen (int __fd, __const char *__modes) __attribute__ ((__nothrow__));
1851 extern FILE *fopencookie (void *__restrict __magic_cookie,
1852 __const char *__restrict __modes,
1853 _IO_cookie_io_functions_t __io_funcs) __attribute__ ((__nothrow__));
1856 extern FILE *fmemopen (void *__s, size_t __len, __const char *__modes) __attribute__ ((__nothrow__));
1861 extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__));
1868 extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__));
1872 extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
1873 int __modes, size_t __n) __attribute__ ((__nothrow__));
1879 extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
1880 size_t __size) __attribute__ ((__nothrow__));
1883 extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__));
1892 extern int fprintf (FILE *__restrict __stream,
1893 __const char *__restrict __format, ...);
1898 extern int printf (__const char *__restrict __format, ...);
1900 extern int sprintf (char *__restrict __s,
1901 __const char *__restrict __format, ...) __attribute__ ((__nothrow__));
1907 extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format,
1908 __gnuc_va_list __arg);
1913 extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg);
1915 extern int vsprintf (char *__restrict __s, __const char *__restrict __format,
1916 __gnuc_va_list __arg) __attribute__ ((__nothrow__));
1922 extern int snprintf (char *__restrict __s, size_t __maxlen,
1923 __const char *__restrict __format, ...)
1924 __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4)));
1926 extern int vsnprintf (char *__restrict __s, size_t __maxlen,
1927 __const char *__restrict __format, __gnuc_va_list __arg)
1928 __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0)));
1935 extern int vasprintf (char **__restrict __ptr, __const char *__restrict __f,
1936 __gnuc_va_list __arg)
1937 __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 0)));
1938 extern int __asprintf (char **__restrict __ptr,
1939 __const char *__restrict __fmt, ...)
1940 __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3)));
1941 extern int asprintf (char **__restrict __ptr,
1942 __const char *__restrict __fmt, ...)
1943 __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3)));
1951 extern int vdprintf (int __fd, __const char *__restrict __fmt,
1952 __gnuc_va_list __arg)
1953 __attribute__ ((__format__ (__printf__, 2, 0)));
1954 extern int dprintf (int __fd, __const char *__restrict __fmt, ...)
1955 __attribute__ ((__format__ (__printf__, 2, 3)));
1964 extern int fscanf (FILE *__restrict __stream,
1965 __const char *__restrict __format, ...) ;
1970 extern int scanf (__const char *__restrict __format, ...) ;
1972 extern int sscanf (__const char *__restrict __s,
1973 __const char *__restrict __format, ...) __attribute__ ((__nothrow__));
1982 extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format,
1983 __gnuc_va_list __arg)
1984 __attribute__ ((__format__ (__scanf__, 2, 0))) ;
1990 extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg)
1991 __attribute__ ((__format__ (__scanf__, 1, 0))) ;
1994 extern int vsscanf (__const char *__restrict __s,
1995 __const char *__restrict __format, __gnuc_va_list __arg)
1996 __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__scanf__, 2, 0)));
2006 extern int fgetc (FILE *__stream);
2007 extern int getc (FILE *__stream);
2013 extern int getchar (void);
2018 #define getc(_fp) _IO_getc (_fp)
2025 extern int getc_unlocked (FILE *__stream);
2026 extern int getchar_unlocked (void);
2027 # 469 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
2028 extern int fgetc_unlocked (FILE *__stream);
2040 extern int fputc (int __c, FILE *__stream);
2041 extern int putc (int __c, FILE *__stream);
2047 extern int putchar (int __c);
2052 #define putc(_ch,_fp) _IO_putc (_ch, _fp)
2053 # 502 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
2054 extern int fputc_unlocked (int __c, FILE *__stream);
2062 extern int putc_unlocked (int __c, FILE *__stream);
2063 extern int putchar_unlocked (int __c);
2070 extern int getw (FILE *__stream);
2073 extern int putw (int __w, FILE *__stream);
2082 extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
2090 extern char *gets (char *__s) ;
2092 # 548 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
2093 extern char *fgets_unlocked (char *__restrict __s, int __n,
2094 FILE *__restrict __stream) ;
2095 # 564 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
2096 extern __ssize_t __getdelim (char **__restrict __lineptr,
2097 size_t *__restrict __n, int __delimiter,
2098 FILE *__restrict __stream) ;
2099 extern __ssize_t getdelim (char **__restrict __lineptr,
2100 size_t *__restrict __n, int __delimiter,
2101 FILE *__restrict __stream) ;
2109 extern __ssize_t getline (char **__restrict __lineptr,
2110 size_t *__restrict __n,
2111 FILE *__restrict __stream) ;
2120 extern int fputs (__const char *__restrict __s, FILE *__restrict __stream);
2126 extern int puts (__const char *__s);
2133 extern int ungetc (int __c, FILE *__stream);
2140 extern size_t fread (void *__restrict __ptr, size_t __size,
2141 size_t __n, FILE *__restrict __stream) ;
2146 extern size_t fwrite (__const void *__restrict __ptr, size_t __size,
2147 size_t __n, FILE *__restrict __s) ;
2149 # 625 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
2150 extern int fputs_unlocked (__const char *__restrict __s,
2151 FILE *__restrict __stream);
2152 # 636 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
2153 extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
2154 size_t __n, FILE *__restrict __stream) ;
2155 extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size,
2156 size_t __n, FILE *__restrict __stream) ;
2165 extern int fseek (FILE *__stream, long int __off, int __whence);
2170 extern long int ftell (FILE *__stream) ;
2175 extern void rewind (FILE *__stream);
2177 # 672 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
2178 extern int fseeko (FILE *__stream, __off_t __off, int __whence);
2183 extern __off_t ftello (FILE *__stream) ;
2184 # 691 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
2191 extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos);
2196 extern int fsetpos (FILE *__stream, __const fpos_t *__pos);
2197 # 714 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
2201 extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence);
2202 extern __off64_t ftello64 (FILE *__stream) ;
2203 extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos);
2204 extern int fsetpos64 (FILE *__stream, __const fpos64_t *__pos);
2209 extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__));
2211 extern int feof (FILE *__stream) __attribute__ ((__nothrow__)) ;
2213 extern int ferror (FILE *__stream) __attribute__ ((__nothrow__)) ;
2218 extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__));
2219 extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ;
2220 extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ;
2229 extern void perror (__const char *__s);
2236 # 1 "/usr/include/bits/sys_errlist.h" 1 3 4
2244 # 1 "/usr/include/gentoo-multilib/amd64/bits/sys_errlist.h" 1 3 4
2245 # 27 "/usr/include/gentoo-multilib/amd64/bits/sys_errlist.h" 3 4
2246 extern int sys_nerr;
2247 extern __const char *__const sys_errlist[];
2250 extern int _sys_nerr;
2251 extern __const char *__const _sys_errlist[];
2252 # 9 "/usr/include/bits/sys_errlist.h" 2 3 4
2253 # 753 "/usr/include/gentoo-multilib/amd64/stdio.h" 2 3 4
2258 extern int fileno (FILE *__stream) __attribute__ ((__nothrow__)) ;
2263 extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ;
2264 # 772 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
2265 extern FILE *popen (__const char *__command, __const char *__modes) ;
2271 extern int pclose (FILE *__stream);
2277 extern char *ctermid (char *__s) __attribute__ ((__nothrow__));
2283 extern char *cuserid (char *__s);
2291 extern int obstack_printf (struct obstack *__restrict __obstack,
2292 __const char *__restrict __format, ...)
2293 __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3)));
2294 extern int obstack_vprintf (struct obstack *__restrict __obstack,
2295 __const char *__restrict __format,
2296 __gnuc_va_list __args)
2297 __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 0)));
2305 extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__));
2309 extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__)) ;
2312 extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__));
2313 # 833 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
2314 # 1 "/usr/include/bits/stdio.h" 1 3 4
2322 # 1 "/usr/include/gentoo-multilib/amd64/bits/stdio.h" 1 3 4
2323 # 27 "/usr/include/gentoo-multilib/amd64/bits/stdio.h" 3 4
2324 #define __STDIO_INLINE extern __inline
2331 vprintf (__const char *__restrict __fmt, __gnuc_va_list __arg)
2333 return vfprintf (stdout, __fmt, __arg);
2340 return _IO_getc (stdin);
2347 getc_unlocked (FILE *__fp)
2349 return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++);
2354 getchar_unlocked (void)
2356 return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++);
2365 return _IO_putc (__c, stdout);
2372 fputc_unlocked (int __c, FILE *__stream)
2374 return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
2382 putc_unlocked (int __c, FILE *__stream)
2384 return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
2389 putchar_unlocked (int __c)
2391 return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c)));
2398 extern __inline __ssize_t
2399 getline (char **__lineptr, size_t *__n, FILE *__stream)
2401 return __getdelim (__lineptr, __n, '\n', __stream);
2409 __attribute__ ((__nothrow__)) feof_unlocked (FILE *__stream)
2411 return (((__stream)->_flags & 0x10) != 0);
2416 __attribute__ ((__nothrow__)) ferror_unlocked (FILE *__stream)
2418 return (((__stream)->_flags & 0x20) != 0);
2427 #define fread_unlocked(ptr,size,n,stream) (__extension__ ((__builtin_constant_p (size) && __builtin_constant_p (n) && (size_t) (size) * (size_t) (n) <= 8 && (size_t) (size) != 0) ? ({ char *__ptr = (char *) (ptr); FILE *__stream = (stream); size_t __cnt; for (__cnt = (size_t) (size) * (size_t) (n); __cnt > 0; --__cnt) { int __c = _IO_getc_unlocked (__stream); if (__c == EOF) break; *__ptr++ = __c; } ((size_t) (size) * (size_t) (n) - __cnt) / (size_t) (size); }) : (((__builtin_constant_p (size) && (size_t) (size) == 0) || (__builtin_constant_p (n) && (size_t) (n) == 0)) ? ((void) (ptr), (void) (stream), (void) (size), (void) (n), (size_t) 0) : fread_unlocked (ptr, size, n, stream))))
2428 # 154 "/usr/include/gentoo-multilib/amd64/bits/stdio.h" 3 4
2429 #define fwrite_unlocked(ptr,size,n,stream) (__extension__ ((__builtin_constant_p (size) && __builtin_constant_p (n) && (size_t) (size) * (size_t) (n) <= 8 && (size_t) (size) != 0) ? ({ const char *__ptr = (const char *) (ptr); FILE *__stream = (stream); size_t __cnt; for (__cnt = (size_t) (size) * (size_t) (n); __cnt > 0; --__cnt) if (_IO_putc_unlocked (*__ptr++, __stream) == EOF) break; ((size_t) (size) * (size_t) (n) - __cnt) / (size_t) (size); }) : (((__builtin_constant_p (size) && (size_t) (size) == 0) || (__builtin_constant_p (n) && (size_t) (n) == 0)) ? ((void) (ptr), (void) (stream), (void) (size), (void) (n), (size_t) 0) : fwrite_unlocked (ptr, size, n, stream))))
2430 # 176 "/usr/include/gentoo-multilib/amd64/bits/stdio.h" 3 4
2431 #undef __STDIO_INLINE
2432 # 9 "/usr/include/bits/stdio.h" 2 3 4
2433 # 834 "/usr/include/gentoo-multilib/amd64/stdio.h" 2 3 4
2434 # 842 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4
2436 # 9 "/usr/include/stdio.h" 2 3 4
2437 # 24 "video_out_dfb.c" 2
2438 # 1 "/usr/include/stdlib.h" 1 3 4
2446 # 1 "/usr/include/gentoo-multilib/amd64/stdlib.h" 1 3 4
2447 # 25 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4
2448 # 1 "/usr/include/features.h" 1 3 4
2449 # 26 "/usr/include/gentoo-multilib/amd64/stdlib.h" 2 3 4
2452 #define __need_size_t
2454 #define __need_wchar_t
2457 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4
2458 # 236 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
2459 #undef __need_size_t
2460 # 345 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
2461 #undef __need_wchar_t
2462 # 398 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
2468 #define NULL ((void *)0)
2475 # 34 "/usr/include/gentoo-multilib/amd64/stdlib.h" 2 3 4
2484 # 1 "/usr/include/bits/waitflags.h" 1 3 4
2492 # 1 "/usr/include/gentoo-multilib/amd64/bits/waitflags.h" 1 3 4
2493 # 26 "/usr/include/gentoo-multilib/amd64/bits/waitflags.h" 3 4
2500 #define WCONTINUED 8
2501 #define WNOWAIT 0x01000000
2503 #define __WNOTHREAD 0x20000000
2505 #define __WALL 0x40000000
2506 #define __WCLONE 0x80000000
2507 # 9 "/usr/include/bits/waitflags.h" 2 3 4
2508 # 43 "/usr/include/gentoo-multilib/amd64/stdlib.h" 2 3 4
2509 # 1 "/usr/include/bits/waitstatus.h" 1 3 4
2517 # 1 "/usr/include/gentoo-multilib/amd64/bits/waitstatus.h" 1 3 4
2518 # 29 "/usr/include/gentoo-multilib/amd64/bits/waitstatus.h" 3 4
2519 #define __WEXITSTATUS(status) (((status) & 0xff00) >> 8)
2522 #define __WTERMSIG(status) ((status) & 0x7f)
2525 #define __WSTOPSIG(status) __WEXITSTATUS(status)
2528 #define __WIFEXITED(status) (__WTERMSIG(status) == 0)
2531 #define __WIFSIGNALED(status) (((signed char) (((status) & 0x7f) + 1) >> 1) > 0)
2535 #define __WIFSTOPPED(status) (((status) & 0xff) == 0x7f)
2540 #define __WIFCONTINUED(status) ((status) == __W_CONTINUED)
2544 #define __WCOREDUMP(status) ((status) & __WCOREFLAG)
2547 #define __W_EXITCODE(ret,sig) ((ret) << 8 | (sig))
2548 #define __W_STOPCODE(sig) ((sig) << 8 | 0x7f)
2549 #define __W_CONTINUED 0xffff
2550 #define __WCOREFLAG 0x80
2555 # 1 "/usr/include/endian.h" 1 3 4
2563 # 1 "/usr/include/gentoo-multilib/amd64/endian.h" 1 3 4
2564 # 20 "/usr/include/gentoo-multilib/amd64/endian.h" 3 4
2567 # 1 "/usr/include/features.h" 1 3 4
2568 # 23 "/usr/include/gentoo-multilib/amd64/endian.h" 2 3 4
2569 # 32 "/usr/include/gentoo-multilib/amd64/endian.h" 3 4
2570 #define __LITTLE_ENDIAN 1234
2571 #define __BIG_ENDIAN 4321
2572 #define __PDP_ENDIAN 3412
2575 # 1 "/usr/include/bits/endian.h" 1 3 4
2583 # 1 "/usr/include/gentoo-multilib/amd64/bits/endian.h" 1 3 4
2590 #define __BYTE_ORDER __LITTLE_ENDIAN
2591 # 9 "/usr/include/bits/endian.h" 2 3 4
2592 # 38 "/usr/include/gentoo-multilib/amd64/endian.h" 2 3 4
2597 #define __FLOAT_WORD_ORDER __BYTE_ORDER
2601 #define LITTLE_ENDIAN __LITTLE_ENDIAN
2602 #define BIG_ENDIAN __BIG_ENDIAN
2603 #define PDP_ENDIAN __PDP_ENDIAN
2604 #define BYTE_ORDER __BYTE_ORDER
2608 #define __LONG_LONG_PAIR(HI,LO) LO, HI
2609 # 9 "/usr/include/endian.h" 2 3 4
2610 # 66 "/usr/include/gentoo-multilib/amd64/bits/waitstatus.h" 2 3 4
2618 unsigned int __w_termsig:7;
2619 unsigned int __w_coredump:1;
2620 unsigned int __w_retcode:8;
2629 } __wait_terminated;
2633 unsigned int __w_stopval:8;
2634 unsigned int __w_stopsig:8;
2645 #define w_termsig __wait_terminated.__w_termsig
2646 #define w_coredump __wait_terminated.__w_coredump
2647 #define w_retcode __wait_terminated.__w_retcode
2648 #define w_stopsig __wait_stopped.__w_stopsig
2649 #define w_stopval __wait_stopped.__w_stopval
2650 # 9 "/usr/include/bits/waitstatus.h" 2 3 4
2651 # 44 "/usr/include/gentoo-multilib/amd64/stdlib.h" 2 3 4
2659 #define __WAIT_INT(status) (__extension__ ({ union { __typeof(status) __in; int __i; } __u; __u.__in = (status); __u.__i; }))
2660 # 68 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4
2665 } __WAIT_STATUS __attribute__ ((__transparent_union__));
2666 #define __WAIT_STATUS_DEFN int *
2667 # 85 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4
2668 #define WEXITSTATUS(status) __WEXITSTATUS(__WAIT_INT(status))
2669 #define WTERMSIG(status) __WTERMSIG(__WAIT_INT(status))
2670 #define WSTOPSIG(status) __WSTOPSIG(__WAIT_INT(status))
2671 #define WIFEXITED(status) __WIFEXITED(__WAIT_INT(status))
2672 #define WIFSIGNALED(status) __WIFSIGNALED(__WAIT_INT(status))
2673 #define WIFSTOPPED(status) __WIFSTOPPED(__WAIT_INT(status))
2675 #define WIFCONTINUED(status) __WIFCONTINUED(__WAIT_INT(status))
2694 #define __ldiv_t_defined 1
2701 __extension__ typedef struct
2706 #define __lldiv_t_defined 1
2712 #define RAND_MAX 2147483647
2717 #define EXIT_FAILURE 1
2718 #define EXIT_SUCCESS 0
2722 #define MB_CUR_MAX (__ctype_get_mb_cur_max ())
2723 extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__)) ;
2728 extern double atof (__const char *__nptr)
2729 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
2731 extern int atoi (__const char *__nptr)
2732 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
2734 extern long int atol (__const char *__nptr)
2735 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
2741 __extension__ extern long long int atoll (__const char *__nptr)
2742 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
2748 extern double strtod (__const char *__restrict __nptr,
2749 char **__restrict __endptr)
2750 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2756 extern float strtof (__const char *__restrict __nptr,
2757 char **__restrict __endptr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2759 extern long double strtold (__const char *__restrict __nptr,
2760 char **__restrict __endptr)
2761 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2767 extern long int strtol (__const char *__restrict __nptr,
2768 char **__restrict __endptr, int __base)
2769 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2771 extern unsigned long int strtoul (__const char *__restrict __nptr,
2772 char **__restrict __endptr, int __base)
2773 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2779 extern long long int strtoq (__const char *__restrict __nptr,
2780 char **__restrict __endptr, int __base)
2781 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2784 extern unsigned long long int strtouq (__const char *__restrict __nptr,
2785 char **__restrict __endptr, int __base)
2786 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2793 extern long long int strtoll (__const char *__restrict __nptr,
2794 char **__restrict __endptr, int __base)
2795 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2798 extern unsigned long long int strtoull (__const char *__restrict __nptr,
2799 char **__restrict __endptr, int __base)
2800 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2802 # 236 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4
2803 # 1 "/usr/include/xlocale.h" 1 3 4
2811 # 1 "/usr/include/gentoo-multilib/amd64/xlocale.h" 1 3 4
2812 # 22 "/usr/include/gentoo-multilib/amd64/xlocale.h" 3 4
2813 #define _XLOCALE_H 1
2819 typedef struct __locale_struct
2822 struct locale_data *__locales[13];
2825 const unsigned short int *__ctype_b;
2826 const int *__ctype_tolower;
2827 const int *__ctype_toupper;
2830 const char *__names[13];
2832 # 9 "/usr/include/xlocale.h" 2 3 4
2833 # 237 "/usr/include/gentoo-multilib/amd64/stdlib.h" 2 3 4
2837 extern long int strtol_l (__const char *__restrict __nptr,
2838 char **__restrict __endptr, int __base,
2839 __locale_t __loc) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 4))) ;
2841 extern unsigned long int strtoul_l (__const char *__restrict __nptr,
2842 char **__restrict __endptr,
2843 int __base, __locale_t __loc)
2844 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 4))) ;
2847 extern long long int strtoll_l (__const char *__restrict __nptr,
2848 char **__restrict __endptr, int __base,
2850 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 4))) ;
2853 extern unsigned long long int strtoull_l (__const char *__restrict __nptr,
2854 char **__restrict __endptr,
2855 int __base, __locale_t __loc)
2856 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 4))) ;
2858 extern double strtod_l (__const char *__restrict __nptr,
2859 char **__restrict __endptr, __locale_t __loc)
2860 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 3))) ;
2862 extern float strtof_l (__const char *__restrict __nptr,
2863 char **__restrict __endptr, __locale_t __loc)
2864 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 3))) ;
2866 extern long double strtold_l (__const char *__restrict __nptr,
2867 char **__restrict __endptr,
2869 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 3))) ;
2876 extern double __strtod_internal (__const char *__restrict __nptr,
2877 char **__restrict __endptr, int __group)
2878 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2879 extern float __strtof_internal (__const char *__restrict __nptr,
2880 char **__restrict __endptr, int __group)
2881 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2882 extern long double __strtold_internal (__const char *__restrict __nptr,
2883 char **__restrict __endptr,
2885 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2887 extern long int __strtol_internal (__const char *__restrict __nptr,
2888 char **__restrict __endptr,
2889 int __base, int __group)
2890 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2891 #define __strtol_internal_defined 1
2894 extern unsigned long int __strtoul_internal (__const char *__restrict __nptr,
2895 char **__restrict __endptr,
2896 int __base, int __group)
2897 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2898 #define __strtoul_internal_defined 1
2903 extern long long int __strtoll_internal (__const char *__restrict __nptr,
2904 char **__restrict __endptr,
2905 int __base, int __group)
2906 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2907 #define __strtoll_internal_defined 1
2911 extern unsigned long long int __strtoull_internal (__const char *
2913 char **__restrict __endptr,
2914 int __base, int __group)
2915 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2916 #define __strtoull_internal_defined 1
2924 extern __inline double
2925 __attribute__ ((__nothrow__)) strtod (__const char *__restrict __nptr, char **__restrict __endptr)
2927 return __strtod_internal (__nptr, __endptr, 0);
2929 extern __inline long int
2930 __attribute__ ((__nothrow__)) strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base)
2933 return __strtol_internal (__nptr, __endptr, __base, 0);
2935 extern __inline unsigned long int
2936 __attribute__ ((__nothrow__)) strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base)
2939 return __strtoul_internal (__nptr, __endptr, __base, 0);
2945 extern __inline float
2946 __attribute__ ((__nothrow__)) strtof (__const char *__restrict __nptr, char **__restrict __endptr)
2948 return __strtof_internal (__nptr, __endptr, 0);
2951 extern __inline long double
2952 __attribute__ ((__nothrow__)) strtold (__const char *__restrict __nptr, char **__restrict __endptr)
2954 return __strtold_internal (__nptr, __endptr, 0);
2961 __extension__ extern __inline long long int
2962 __attribute__ ((__nothrow__)) strtoq (__const char *__restrict __nptr, char **__restrict __endptr, int __base)
2965 return __strtoll_internal (__nptr, __endptr, __base, 0);
2967 __extension__ extern __inline unsigned long long int
2968 __attribute__ ((__nothrow__)) strtouq (__const char *__restrict __nptr, char **__restrict __endptr, int __base)
2971 return __strtoull_internal (__nptr, __endptr, __base, 0);
2977 __extension__ extern __inline long long int
2978 __attribute__ ((__nothrow__)) strtoll (__const char *__restrict __nptr, char **__restrict __endptr, int __base)
2981 return __strtoll_internal (__nptr, __endptr, __base, 0);
2983 __extension__ extern __inline unsigned long long int
2984 __attribute__ ((__nothrow__)) strtoull (__const char * __restrict __nptr, char **__restrict __endptr, int __base)
2987 return __strtoull_internal (__nptr, __endptr, __base, 0);
2993 extern __inline double
2994 __attribute__ ((__nothrow__)) atof (__const char *__nptr)
2996 return strtod (__nptr, (char **) ((void *)0));
2999 __attribute__ ((__nothrow__)) atoi (__const char *__nptr)
3001 return (int) strtol (__nptr, (char **) ((void *)0), 10);
3003 extern __inline long int
3004 __attribute__ ((__nothrow__)) atol (__const char *__nptr)
3006 return strtol (__nptr, (char **) ((void *)0), 10);
3012 __extension__ extern __inline long long int
3013 __attribute__ ((__nothrow__)) atoll (__const char *__nptr)
3015 return strtoll (__nptr, (char **) ((void *)0), 10);
3018 # 429 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4
3019 extern char *l64a (long int __n) __attribute__ ((__nothrow__)) ;
3022 extern long int a64l (__const char *__s)
3023 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
3028 # 1 "/usr/include/sys/types.h" 1 3 4
3036 # 1 "/usr/include/gentoo-multilib/amd64/sys/types.h" 1 3 4
3037 # 25 "/usr/include/gentoo-multilib/amd64/sys/types.h" 3 4
3038 #define _SYS_TYPES_H 1
3040 # 1 "/usr/include/features.h" 1 3 4
3041 # 28 "/usr/include/gentoo-multilib/amd64/sys/types.h" 2 3 4
3045 # 1 "/usr/include/bits/types.h" 1 3 4
3046 # 32 "/usr/include/gentoo-multilib/amd64/sys/types.h" 2 3 4
3050 typedef __u_char u_char;
3051 typedef __u_short u_short;
3052 typedef __u_int u_int;
3053 typedef __u_long u_long;
3054 typedef __quad_t quad_t;
3055 typedef __u_quad_t u_quad_t;
3056 typedef __fsid_t fsid_t;
3057 #define __u_char_defined
3061 typedef __loff_t loff_t;
3065 typedef __ino_t ino_t;
3069 #define __ino_t_defined
3072 typedef __ino64_t ino64_t;
3073 #define __ino64_t_defined
3077 typedef __dev_t dev_t;
3078 #define __dev_t_defined
3082 typedef __gid_t gid_t;
3083 #define __gid_t_defined
3087 typedef __mode_t mode_t;
3088 #define __mode_t_defined
3092 typedef __nlink_t nlink_t;
3093 #define __nlink_t_defined
3097 typedef __uid_t uid_t;
3098 #define __uid_t_defined
3103 typedef __off_t off_t;
3107 #define __off_t_defined
3110 typedef __off64_t off64_t;
3111 #define __off64_t_defined
3115 typedef __pid_t pid_t;
3116 #define __pid_t_defined
3120 typedef __id_t id_t;
3121 #define __id_t_defined
3125 typedef __ssize_t ssize_t;
3126 #define __ssize_t_defined
3131 typedef __daddr_t daddr_t;
3132 typedef __caddr_t caddr_t;
3133 #define __daddr_t_defined
3138 typedef __key_t key_t;
3139 #define __key_t_defined
3143 #define __need_clock_t
3145 #define __need_time_t
3146 #define __need_timer_t
3147 #define __need_clockid_t
3148 # 1 "/usr/include/time.h" 1 3 4
3156 # 1 "/usr/include/gentoo-multilib/amd64/time.h" 1 3 4
3157 # 55 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
3158 #define __clock_t_defined 1
3160 # 1 "/usr/include/bits/types.h" 1 3 4
3161 # 58 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4
3165 typedef __clock_t clock_t;
3172 #undef __need_clock_t
3175 #define __time_t_defined 1
3177 # 1 "/usr/include/bits/types.h" 1 3 4
3178 # 74 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4
3182 typedef __time_t time_t;
3189 #undef __need_time_t
3193 #define __clockid_t_defined 1
3195 # 1 "/usr/include/bits/types.h" 1 3 4
3196 # 91 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4
3199 typedef __clockid_t clockid_t;
3202 #undef __clockid_time_t
3206 #define __timer_t_defined 1
3208 # 1 "/usr/include/bits/types.h" 1 3 4
3209 # 103 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4
3212 typedef __timer_t timer_t;
3215 #undef __need_timer_t
3216 # 128 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
3217 #undef __need_timespec
3218 # 9 "/usr/include/time.h" 2 3 4
3219 # 134 "/usr/include/gentoo-multilib/amd64/sys/types.h" 2 3 4
3223 typedef __useconds_t useconds_t;
3224 #define __useconds_t_defined
3227 typedef __suseconds_t suseconds_t;
3228 #define __suseconds_t_defined
3232 #define __need_size_t
3233 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4
3234 # 236 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
3235 #undef __need_size_t
3236 # 409 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
3238 # 148 "/usr/include/gentoo-multilib/amd64/sys/types.h" 2 3 4
3242 typedef unsigned long int ulong;
3243 typedef unsigned short int ushort;
3244 typedef unsigned int uint;
3245 # 188 "/usr/include/gentoo-multilib/amd64/sys/types.h" 3 4
3246 #define __intN_t(N,MODE) typedef int int ##N ##_t __attribute__ ((__mode__ (MODE)))
3248 #define __u_intN_t(N,MODE) typedef unsigned int u_int ##N ##_t __attribute__ ((__mode__ (MODE)))
3252 #define __int8_t_defined
3253 typedef int int8_t __attribute__ ((__mode__ (__QI__)));
3254 typedef int int16_t __attribute__ ((__mode__ (__HI__)));
3255 typedef int int32_t __attribute__ ((__mode__ (__SI__)));
3256 typedef int int64_t __attribute__ ((__mode__ (__DI__)));
3259 typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__)));
3260 typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__)));
3261 typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__)));
3262 typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__)));
3264 typedef int register_t __attribute__ ((__mode__ (__word__)));
3270 #define __BIT_TYPES_DEFINED__ 1
3275 # 1 "/usr/include/endian.h" 1 3 4
3276 # 218 "/usr/include/gentoo-multilib/amd64/sys/types.h" 2 3 4
3279 # 1 "/usr/include/sys/select.h" 1 3 4
3287 # 1 "/usr/include/gentoo-multilib/amd64/sys/select.h" 1 3 4
3288 # 23 "/usr/include/gentoo-multilib/amd64/sys/select.h" 3 4
3289 #define _SYS_SELECT_H 1
3291 # 1 "/usr/include/features.h" 1 3 4
3292 # 26 "/usr/include/gentoo-multilib/amd64/sys/select.h" 2 3 4
3295 # 1 "/usr/include/bits/types.h" 1 3 4
3296 # 29 "/usr/include/gentoo-multilib/amd64/sys/select.h" 2 3 4
3299 # 1 "/usr/include/bits/select.h" 1 3 4
3307 # 1 "/usr/include/gentoo-multilib/amd64/bits/select.h" 1 3 4
3308 # 26 "/usr/include/gentoo-multilib/amd64/bits/select.h" 3 4
3309 #define __FD_ZERO(s) do { unsigned int __i; fd_set *__arr = (s); for (__i = 0; __i < sizeof (fd_set) / sizeof (__fd_mask); ++__i) __FDS_BITS (__arr)[__i] = 0; } while (0)
3316 #define __FD_SET(d,s) (__FDS_BITS (s)[__FDELT(d)] |= __FDMASK(d))
3317 #define __FD_CLR(d,s) (__FDS_BITS (s)[__FDELT(d)] &= ~__FDMASK(d))
3318 #define __FD_ISSET(d,s) ((__FDS_BITS (s)[__FDELT(d)] & __FDMASK(d)) != 0)
3319 # 9 "/usr/include/bits/select.h" 2 3 4
3320 # 32 "/usr/include/gentoo-multilib/amd64/sys/select.h" 2 3 4
3323 # 1 "/usr/include/bits/sigset.h" 1 3 4
3331 # 1 "/usr/include/gentoo-multilib/amd64/bits/sigset.h" 1 3 4
3332 # 21 "/usr/include/gentoo-multilib/amd64/bits/sigset.h" 3 4
3333 #define _SIGSET_H_types 1
3335 typedef int __sig_atomic_t;
3339 #define _SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int)))
3342 unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
3344 # 9 "/usr/include/bits/sigset.h" 2 3 4
3345 # 35 "/usr/include/gentoo-multilib/amd64/sys/select.h" 2 3 4
3348 #define __sigset_t_defined
3349 typedef __sigset_t sigset_t;
3353 #define __need_time_t
3354 #define __need_timespec
3355 # 1 "/usr/include/time.h" 1 3 4
3363 # 1 "/usr/include/gentoo-multilib/amd64/time.h" 1 3 4
3364 # 68 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
3365 #undef __need_clock_t
3366 # 84 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
3367 #undef __need_time_t
3368 # 96 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
3369 #undef __clockid_time_t
3370 # 108 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
3371 #undef __need_timer_t
3378 #define __timespec_defined 1
3380 # 1 "/usr/include/bits/types.h" 1 3 4
3381 # 118 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4
3392 #undef __need_timespec
3393 # 9 "/usr/include/time.h" 2 3 4
3394 # 45 "/usr/include/gentoo-multilib/amd64/sys/select.h" 2 3 4
3395 #define __need_timeval
3396 # 1 "/usr/include/bits/time.h" 1 3 4
3404 # 1 "/usr/include/gentoo-multilib/amd64/bits/time.h" 1 3 4
3405 # 62 "/usr/include/gentoo-multilib/amd64/bits/time.h" 3 4
3406 #undef __need_timeval
3408 #define _STRUCT_TIMEVAL 1
3409 # 1 "/usr/include/bits/types.h" 1 3 4
3410 # 66 "/usr/include/gentoo-multilib/amd64/bits/time.h" 2 3 4
3417 __suseconds_t tv_usec;
3419 # 9 "/usr/include/bits/time.h" 2 3 4
3420 # 47 "/usr/include/gentoo-multilib/amd64/sys/select.h" 2 3 4
3421 # 55 "/usr/include/gentoo-multilib/amd64/sys/select.h" 3 4
3422 typedef long int __fd_mask;
3429 #define __NFDBITS (8 * sizeof (__fd_mask))
3430 #define __FDELT(d) ((d) / __NFDBITS)
3431 #define __FDMASK(d) ((__fd_mask) 1 << ((d) % __NFDBITS))
3439 __fd_mask fds_bits[1024 / (8 * sizeof (__fd_mask))];
3440 #define __FDS_BITS(set) ((set)->fds_bits)
3448 #define FD_SETSIZE __FD_SETSIZE
3452 typedef __fd_mask fd_mask;
3455 #define NFDBITS __NFDBITS
3460 #define FD_SET(fd,fdsetp) __FD_SET (fd, fdsetp)
3461 #define FD_CLR(fd,fdsetp) __FD_CLR (fd, fdsetp)
3462 #define FD_ISSET(fd,fdsetp) __FD_ISSET (fd, fdsetp)
3463 #define FD_ZERO(fdsetp) __FD_ZERO (fdsetp)
3467 # 109 "/usr/include/gentoo-multilib/amd64/sys/select.h" 3 4
3468 extern int select (int __nfds, fd_set *__restrict __readfds,
3469 fd_set *__restrict __writefds,
3470 fd_set *__restrict __exceptfds,
3471 struct timeval *__restrict __timeout);
3472 # 121 "/usr/include/gentoo-multilib/amd64/sys/select.h" 3 4
3473 extern int pselect (int __nfds, fd_set *__restrict __readfds,
3474 fd_set *__restrict __writefds,
3475 fd_set *__restrict __exceptfds,
3476 const struct timespec *__restrict __timeout,
3477 const __sigset_t *__restrict __sigmask);
3481 # 9 "/usr/include/sys/select.h" 2 3 4
3482 # 221 "/usr/include/gentoo-multilib/amd64/sys/types.h" 2 3 4
3485 # 1 "/usr/include/sys/sysmacros.h" 1 3 4
3493 # 1 "/usr/include/gentoo-multilib/amd64/sys/sysmacros.h" 1 3 4
3494 # 21 "/usr/include/gentoo-multilib/amd64/sys/sysmacros.h" 3 4
3495 #define _SYS_SYSMACROS_H 1
3497 # 1 "/usr/include/features.h" 1 3 4
3498 # 24 "/usr/include/gentoo-multilib/amd64/sys/sysmacros.h" 2 3 4
3505 extern __inline unsigned int gnu_dev_major (unsigned long long int __dev)
3506 __attribute__ ((__nothrow__));
3508 extern __inline unsigned int gnu_dev_minor (unsigned long long int __dev)
3509 __attribute__ ((__nothrow__));
3511 extern __inline unsigned long long int gnu_dev_makedev (unsigned int __major,
3512 unsigned int __minor)
3513 __attribute__ ((__nothrow__));
3516 __extension__ extern __inline unsigned int
3517 __attribute__ ((__nothrow__)) gnu_dev_major (unsigned long long int __dev)
3519 return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff);
3522 __extension__ extern __inline unsigned int
3523 __attribute__ ((__nothrow__)) gnu_dev_minor (unsigned long long int __dev)
3525 return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff);
3528 __extension__ extern __inline unsigned long long int
3529 __attribute__ ((__nothrow__)) gnu_dev_makedev (unsigned int __major, unsigned int __minor)
3531 return ((__minor & 0xff) | ((__major & 0xfff) << 8)
3532 | (((unsigned long long int) (__minor & ~0xff)) << 12)
3533 | (((unsigned long long int) (__major & ~0xfff)) << 32));
3539 #define major(dev) gnu_dev_major (dev)
3540 #define minor(dev) gnu_dev_minor (dev)
3541 #define makedev(maj,min) gnu_dev_makedev (maj, min)
3542 # 9 "/usr/include/sys/sysmacros.h" 2 3 4
3543 # 224 "/usr/include/gentoo-multilib/amd64/sys/types.h" 2 3 4
3548 typedef __blksize_t blksize_t;
3549 #define __blksize_t_defined
3555 typedef __blkcnt_t blkcnt_t;
3556 #define __blkcnt_t_defined
3559 typedef __fsblkcnt_t fsblkcnt_t;
3560 #define __fsblkcnt_t_defined
3563 typedef __fsfilcnt_t fsfilcnt_t;
3564 #define __fsfilcnt_t_defined
3565 # 262 "/usr/include/gentoo-multilib/amd64/sys/types.h" 3 4
3566 typedef __blkcnt64_t blkcnt64_t;
3567 typedef __fsblkcnt64_t fsblkcnt64_t;
3568 typedef __fsfilcnt64_t fsfilcnt64_t;
3574 # 1 "/usr/include/bits/pthreadtypes.h" 1 3 4
3582 # 1 "/usr/include/gentoo-multilib/amd64/bits/pthreadtypes.h" 1 3 4
3583 # 21 "/usr/include/gentoo-multilib/amd64/bits/pthreadtypes.h" 3 4
3584 #define _BITS_PTHREADTYPES_H 1
3586 # 1 "/usr/include/bits/wordsize.h" 1 3 4
3594 # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4
3598 #define __WORDSIZE 64
3599 #define __WORDSIZE_COMPAT32 1
3600 # 9 "/usr/include/bits/wordsize.h" 2 3 4
3601 # 24 "/usr/include/gentoo-multilib/amd64/bits/pthreadtypes.h" 2 3 4
3604 #define __SIZEOF_PTHREAD_ATTR_T 56
3605 #define __SIZEOF_PTHREAD_MUTEX_T 40
3606 #define __SIZEOF_PTHREAD_MUTEXATTR_T 4
3607 #define __SIZEOF_PTHREAD_COND_T 48
3608 #define __SIZEOF_PTHREAD_CONDATTR_T 4
3609 #define __SIZEOF_PTHREAD_RWLOCK_T 56
3610 #define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
3611 #define __SIZEOF_PTHREAD_BARRIER_T 32
3612 #define __SIZEOF_PTHREAD_BARRIERATTR_T 4
3613 # 50 "/usr/include/gentoo-multilib/amd64/bits/pthreadtypes.h" 3 4
3614 typedef unsigned long int pthread_t;
3625 typedef struct __pthread_internal_list
3627 struct __pthread_internal_list *__prev;
3628 struct __pthread_internal_list *__next;
3630 # 76 "/usr/include/gentoo-multilib/amd64/bits/pthreadtypes.h" 3 4
3633 struct __pthread_mutex_s
3636 unsigned int __count;
3639 unsigned int __nusers;
3646 __pthread_list_t __list;
3647 #define __PTHREAD_MUTEX_HAVE_PREV 1
3648 # 101 "/usr/include/gentoo-multilib/amd64/bits/pthreadtypes.h" 3 4
3658 } pthread_mutexattr_t;
3668 unsigned int __futex;
3669 __extension__ unsigned long long int __total_seq;
3670 __extension__ unsigned long long int __wakeup_seq;
3671 __extension__ unsigned long long int __woken_seq;
3673 unsigned int __nwaiters;
3674 unsigned int __broadcast_seq;
3677 __extension__ long long int __align;
3684 } pthread_condattr_t;
3688 typedef unsigned int pthread_key_t;
3692 typedef int pthread_once_t;
3704 unsigned int __nr_readers;
3705 unsigned int __readers_wakeup;
3706 unsigned int __writer_wakeup;
3707 unsigned int __nr_readers_queued;
3708 unsigned int __nr_writers_queued;
3711 unsigned long int __pad2;
3712 unsigned long int __pad3;
3715 unsigned int __flags;
3717 # 184 "/usr/include/gentoo-multilib/amd64/bits/pthreadtypes.h" 3 4
3726 } pthread_rwlockattr_t;
3732 typedef volatile int pthread_spinlock_t;
3741 } pthread_barrier_t;
3747 } pthread_barrierattr_t;
3748 # 9 "/usr/include/bits/pthreadtypes.h" 2 3 4
3749 # 271 "/usr/include/gentoo-multilib/amd64/sys/types.h" 2 3 4
3753 # 9 "/usr/include/sys/types.h" 2 3 4
3754 # 439 "/usr/include/gentoo-multilib/amd64/stdlib.h" 2 3 4
3761 extern long int random (void) __attribute__ ((__nothrow__));
3764 extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__));
3770 extern char *initstate (unsigned int __seed, char *__statebuf,
3771 size_t __statelen) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
3775 extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
3794 extern int random_r (struct random_data *__restrict __buf,
3795 int32_t *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
3797 extern int srandom_r (unsigned int __seed, struct random_data *__buf)
3798 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
3800 extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
3802 struct random_data *__restrict __buf)
3803 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4)));
3805 extern int setstate_r (char *__restrict __statebuf,
3806 struct random_data *__restrict __buf)
3807 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
3814 extern int rand (void) __attribute__ ((__nothrow__));
3816 extern void srand (unsigned int __seed) __attribute__ ((__nothrow__));
3821 extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__));
3829 extern double drand48 (void) __attribute__ ((__nothrow__));
3830 extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
3833 extern long int lrand48 (void) __attribute__ ((__nothrow__));
3834 extern long int nrand48 (unsigned short int __xsubi[3])
3835 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
3838 extern long int mrand48 (void) __attribute__ ((__nothrow__));
3839 extern long int jrand48 (unsigned short int __xsubi[3])
3840 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
3843 extern void srand48 (long int __seedval) __attribute__ ((__nothrow__));
3844 extern unsigned short int *seed48 (unsigned short int __seed16v[3])
3845 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
3846 extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
3854 unsigned short int __x[3];
3855 unsigned short int __old_x[3];
3856 unsigned short int __c;
3857 unsigned short int __init;
3858 unsigned long long int __a;
3862 extern int drand48_r (struct drand48_data *__restrict __buffer,
3863 double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
3864 extern int erand48_r (unsigned short int __xsubi[3],
3865 struct drand48_data *__restrict __buffer,
3866 double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
3869 extern int lrand48_r (struct drand48_data *__restrict __buffer,
3870 long int *__restrict __result)
3871 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
3872 extern int nrand48_r (unsigned short int __xsubi[3],
3873 struct drand48_data *__restrict __buffer,
3874 long int *__restrict __result)
3875 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
3878 extern int mrand48_r (struct drand48_data *__restrict __buffer,
3879 long int *__restrict __result)
3880 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
3881 extern int jrand48_r (unsigned short int __xsubi[3],
3882 struct drand48_data *__restrict __buffer,
3883 long int *__restrict __result)
3884 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
3887 extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
3888 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
3890 extern int seed48_r (unsigned short int __seed16v[3],
3891 struct drand48_data *__buffer) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
3893 extern int lcong48_r (unsigned short int __param[7],
3894 struct drand48_data *__buffer)
3895 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
3902 #define __malloc_and_calloc_defined
3905 extern void *malloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
3907 extern void *calloc (size_t __nmemb, size_t __size)
3908 __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
3916 extern void *realloc (void *__ptr, size_t __size)
3917 __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__));
3919 extern void free (void *__ptr) __attribute__ ((__nothrow__));
3924 extern void cfree (void *__ptr) __attribute__ ((__nothrow__));
3928 # 1 "/usr/include/alloca.h" 1 3 4
3936 # 1 "/usr/include/gentoo-multilib/amd64/alloca.h" 1 3 4
3937 # 20 "/usr/include/gentoo-multilib/amd64/alloca.h" 3 4
3940 # 1 "/usr/include/features.h" 1 3 4
3941 # 23 "/usr/include/gentoo-multilib/amd64/alloca.h" 2 3 4
3943 #define __need_size_t
3944 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4
3945 # 236 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
3946 #undef __need_size_t
3947 # 409 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
3949 # 26 "/usr/include/gentoo-multilib/amd64/alloca.h" 2 3 4
3957 extern void *alloca (size_t __size) __attribute__ ((__nothrow__));
3960 #define alloca(size) __builtin_alloca (size)
3964 # 9 "/usr/include/alloca.h" 2 3 4
3965 # 613 "/usr/include/gentoo-multilib/amd64/stdlib.h" 2 3 4
3970 extern void *valloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
3975 extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size)
3976 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
3981 extern void abort (void) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
3985 extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
3991 extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
3992 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
3999 extern void exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
4006 extern void _Exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
4013 extern char *getenv (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
4018 extern char *__secure_getenv (__const char *__name)
4019 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
4025 extern int putenv (char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
4031 extern int setenv (__const char *__name, __const char *__value, int __replace)
4032 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
4035 extern int unsetenv (__const char *__name) __attribute__ ((__nothrow__));
4042 extern int clearenv (void) __attribute__ ((__nothrow__));
4043 # 698 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4
4044 extern char *mktemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
4045 # 709 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4
4046 extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ;
4047 # 719 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4
4048 extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) ;
4049 # 729 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4
4050 extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
4059 extern int system (__const char *__command) ;
4067 extern char *canonicalize_file_name (__const char *__name)
4068 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
4069 # 757 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4
4070 extern char *realpath (__const char *__restrict __name,
4071 char *__restrict __resolved) __attribute__ ((__nothrow__)) ;
4077 #define __COMPAR_FN_T
4078 typedef int (*__compar_fn_t) (__const void *, __const void *);
4081 typedef __compar_fn_t comparison_fn_t;
4088 extern void *bsearch (__const void *__key, __const void *__base,
4089 size_t __nmemb, size_t __size, __compar_fn_t __compar)
4090 __attribute__ ((__nonnull__ (1, 2, 5))) ;
4094 extern void qsort (void *__base, size_t __nmemb, size_t __size,
4095 __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4)));
4099 extern int abs (int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
4100 extern long int labs (long int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
4104 __extension__ extern long long int llabs (long long int __x)
4105 __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
4113 extern div_t div (int __numer, int __denom)
4114 __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
4115 extern ldiv_t ldiv (long int __numer, long int __denom)
4116 __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
4121 __extension__ extern lldiv_t lldiv (long long int __numer,
4122 long long int __denom)
4123 __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
4125 # 822 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4
4126 extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt,
4127 int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;
4132 extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt,
4133 int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;
4138 extern char *gcvt (double __value, int __ndigit, char *__buf)
4139 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ;
4144 extern char *qecvt (long double __value, int __ndigit,
4145 int *__restrict __decpt, int *__restrict __sign)
4146 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;
4147 extern char *qfcvt (long double __value, int __ndigit,
4148 int *__restrict __decpt, int *__restrict __sign)
4149 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;
4150 extern char *qgcvt (long double __value, int __ndigit, char *__buf)
4151 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ;
4156 extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt,
4157 int *__restrict __sign, char *__restrict __buf,
4158 size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));
4159 extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt,
4160 int *__restrict __sign, char *__restrict __buf,
4161 size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));
4163 extern int qecvt_r (long double __value, int __ndigit,
4164 int *__restrict __decpt, int *__restrict __sign,
4165 char *__restrict __buf, size_t __len)
4166 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));
4167 extern int qfcvt_r (long double __value, int __ndigit,
4168 int *__restrict __decpt, int *__restrict __sign,
4169 char *__restrict __buf, size_t __len)
4170 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));
4178 extern int mblen (__const char *__s, size_t __n) __attribute__ ((__nothrow__)) ;
4181 extern int mbtowc (wchar_t *__restrict __pwc,
4182 __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__)) ;
4185 extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__)) ;
4189 extern size_t mbstowcs (wchar_t *__restrict __pwcs,
4190 __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__));
4192 extern size_t wcstombs (char *__restrict __s,
4193 __const wchar_t *__restrict __pwcs, size_t __n)
4194 __attribute__ ((__nothrow__));
4203 extern int rpmatch (__const char *__response) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
4204 # 910 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4
4205 extern int getsubopt (char **__restrict __optionp,
4206 char *__const *__restrict __tokens,
4207 char **__restrict __valuep)
4208 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2, 3))) ;
4214 extern void setkey (__const char *__key) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
4222 extern int posix_openpt (int __oflag) ;
4230 extern int grantpt (int __fd) __attribute__ ((__nothrow__));
4234 extern int unlockpt (int __fd) __attribute__ ((__nothrow__));
4239 extern char *ptsname (int __fd) __attribute__ ((__nothrow__)) ;
4246 extern int ptsname_r (int __fd, char *__buf, size_t __buflen)
4247 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
4250 extern int getpt (void);
4257 extern int getloadavg (double __loadavg[], int __nelem)
4258 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
4259 # 976 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4
4260 #undef __need_malloc_and_calloc
4263 # 9 "/usr/include/stdlib.h" 2 3 4
4264 # 25 "video_out_dfb.c" 2
4265 # 1 "/usr/include/string.h" 1 3 4
4273 # 1 "/usr/include/gentoo-multilib/amd64/string.h" 1 3 4
4274 # 24 "/usr/include/gentoo-multilib/amd64/string.h" 3 4
4277 # 1 "/usr/include/features.h" 1 3 4
4278 # 27 "/usr/include/gentoo-multilib/amd64/string.h" 2 3 4
4283 #define __need_size_t
4285 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4
4286 # 236 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
4287 #undef __need_size_t
4288 # 398 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
4294 #define NULL ((void *)0)
4301 # 34 "/usr/include/gentoo-multilib/amd64/string.h" 2 3 4
4306 extern void *memcpy (void *__restrict __dest,
4307 __const void *__restrict __src, size_t __n)
4308 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
4311 extern void *memmove (void *__dest, __const void *__src, size_t __n)
4312 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
4319 extern void *memccpy (void *__restrict __dest, __const void *__restrict __src,
4320 int __c, size_t __n)
4321 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
4327 extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
4330 extern int memcmp (__const void *__s1, __const void *__s2, size_t __n)
4331 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
4334 extern void *memchr (__const void *__s, int __c, size_t __n)
4335 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
4341 extern void *rawmemchr (__const void *__s, int __c)
4342 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
4345 extern void *memrchr (__const void *__s, int __c, size_t __n)
4346 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
4352 extern char *strcpy (char *__restrict __dest, __const char *__restrict __src)
4353 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
4355 extern char *strncpy (char *__restrict __dest,
4356 __const char *__restrict __src, size_t __n)
4357 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
4360 extern char *strcat (char *__restrict __dest, __const char *__restrict __src)
4361 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
4363 extern char *strncat (char *__restrict __dest, __const char *__restrict __src,
4364 size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
4367 extern int strcmp (__const char *__s1, __const char *__s2)
4368 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
4370 extern int strncmp (__const char *__s1, __const char *__s2, size_t __n)
4371 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
4374 extern int strcoll (__const char *__s1, __const char *__s2)
4375 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
4377 extern size_t strxfrm (char *__restrict __dest,
4378 __const char *__restrict __src, size_t __n)
4379 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
4386 # 1 "/usr/include/xlocale.h" 1 3 4
4387 # 119 "/usr/include/gentoo-multilib/amd64/string.h" 2 3 4
4390 extern int strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l)
4391 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3)));
4393 extern size_t strxfrm_l (char *__dest, __const char *__src, size_t __n,
4394 __locale_t __l) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4)));
4399 extern char *strdup (__const char *__s)
4400 __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));
4407 extern char *strndup (__const char *__string, size_t __n)
4408 __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));
4413 #define strdupa(s) (__extension__ ({ __const char *__old = (s); size_t __len = strlen (__old) + 1; char *__new = (char *) __builtin_alloca (__len); (char *) memcpy (__new, __old, __len); }))
4414 # 154 "/usr/include/gentoo-multilib/amd64/string.h" 3 4
4415 #define strndupa(s,n) (__extension__ ({ __const char *__old = (s); size_t __len = strnlen (__old, (n)); char *__new = (char *) __builtin_alloca (__len + 1); __new[__len] = '\0'; (char *) memcpy (__new, __old, __len); }))
4416 # 165 "/usr/include/gentoo-multilib/amd64/string.h" 3 4
4419 extern char *strchr (__const char *__s, int __c)
4420 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
4422 extern char *strrchr (__const char *__s, int __c)
4423 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
4429 extern char *strchrnul (__const char *__s, int __c)
4430 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
4436 extern size_t strcspn (__const char *__s, __const char *__reject)
4437 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
4440 extern size_t strspn (__const char *__s, __const char *__accept)
4441 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
4443 extern char *strpbrk (__const char *__s, __const char *__accept)
4444 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
4446 extern char *strstr (__const char *__haystack, __const char *__needle)
4447 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
4451 extern char *strtok (char *__restrict __s, __const char *__restrict __delim)
4452 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
4457 extern char *__strtok_r (char *__restrict __s,
4458 __const char *__restrict __delim,
4459 char **__restrict __save_ptr)
4460 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3)));
4462 extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim,
4463 char **__restrict __save_ptr)
4464 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3)));
4469 extern char *strcasestr (__const char *__haystack, __const char *__needle)
4470 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
4477 extern void *memmem (__const void *__haystack, size_t __haystacklen,
4478 __const void *__needle, size_t __needlelen)
4479 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3)));
4483 extern void *__mempcpy (void *__restrict __dest,
4484 __const void *__restrict __src, size_t __n)
4485 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
4486 extern void *mempcpy (void *__restrict __dest,
4487 __const void *__restrict __src, size_t __n)
4488 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
4494 extern size_t strlen (__const char *__s)
4495 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
4501 extern size_t strnlen (__const char *__string, size_t __maxlen)
4502 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
4508 extern char *strerror (int __errnum) __attribute__ ((__nothrow__));
4510 # 281 "/usr/include/gentoo-multilib/amd64/string.h" 3 4
4511 extern char *strerror_r (int __errnum, char *__buf, size_t __buflen)
4512 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
4518 extern void __bzero (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
4522 extern void bcopy (__const void *__src, void *__dest, size_t __n)
4523 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
4526 extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
4529 extern int bcmp (__const void *__s1, __const void *__s2, size_t __n)
4530 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
4533 extern char *index (__const char *__s, int __c)
4534 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
4537 extern char *rindex (__const char *__s, int __c)
4538 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
4542 extern int ffs (int __i) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
4547 extern int ffsl (long int __l) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
4549 __extension__ extern int ffsll (long long int __ll)
4550 __attribute__ ((__nothrow__)) __attribute__ ((__const__));
4555 extern int strcasecmp (__const char *__s1, __const char *__s2)
4556 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
4559 extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n)
4560 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
4566 extern int strcasecmp_l (__const char *__s1, __const char *__s2,
4568 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3)));
4570 extern int strncasecmp_l (__const char *__s1, __const char *__s2,
4571 size_t __n, __locale_t __loc)
4572 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4)));
4578 extern char *strsep (char **__restrict __stringp,
4579 __const char *__restrict __delim)
4580 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
4585 extern int strverscmp (__const char *__s1, __const char *__s2)
4586 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
4589 extern char *strsignal (int __sig) __attribute__ ((__nothrow__));
4592 extern char *__stpcpy (char *__restrict __dest, __const char *__restrict __src)
4593 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
4594 extern char *stpcpy (char *__restrict __dest, __const char *__restrict __src)
4595 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
4599 extern char *__stpncpy (char *__restrict __dest,
4600 __const char *__restrict __src, size_t __n)
4601 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
4602 extern char *stpncpy (char *__restrict __dest,
4603 __const char *__restrict __src, size_t __n)
4604 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
4607 extern char *strfry (char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
4610 extern void *memfrob (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
4617 extern char *basename (__const char *__filename) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
4618 # 414 "/usr/include/gentoo-multilib/amd64/string.h" 3 4
4619 # 1 "/usr/include/bits/string.h" 1 3 4
4627 # 1 "/usr/include/gentoo-multilib/amd64/bits/string.h" 1 3 4
4628 # 26 "/usr/include/gentoo-multilib/amd64/bits/string.h" 3 4
4629 #define _STRING_ARCH_unaligned 1
4630 # 9 "/usr/include/bits/string.h" 2 3 4
4631 # 415 "/usr/include/gentoo-multilib/amd64/string.h" 2 3 4
4634 # 1 "/usr/include/bits/string2.h" 1 3 4
4642 # 1 "/usr/include/gentoo-multilib/amd64/bits/string2.h" 1 3 4
4643 # 46 "/usr/include/gentoo-multilib/amd64/bits/string2.h" 3 4
4644 #define __STRING_INLINE extern __inline
4650 # 1 "/usr/include/endian.h" 1 3 4
4651 # 53 "/usr/include/gentoo-multilib/amd64/bits/string2.h" 2 3 4
4652 # 1 "/usr/include/bits/types.h" 1 3 4
4653 # 54 "/usr/include/gentoo-multilib/amd64/bits/string2.h" 2 3 4
4656 #define __STRING2_SMALL_GET16(src,idx) (((__const unsigned char *) (__const char *) (src))[idx + 1] << 8 | ((__const unsigned char *) (__const char *) (src))[idx])
4659 #define __STRING2_SMALL_GET32(src,idx) (((((__const unsigned char *) (__const char *) (src))[idx + 3] << 8 | ((__const unsigned char *) (__const char *) (src))[idx + 2]) << 8 | ((__const unsigned char *) (__const char *) (src))[idx + 1]) << 8 | ((__const unsigned char *) (__const char *) (src))[idx])
4660 # 93 "/usr/include/gentoo-multilib/amd64/bits/string2.h" 3 4
4661 #define __string2_1bptr_p(__x) ((size_t)(const void *)((__x) + 1) - (size_t)(const void *)(__x) == 1)
4662 # 195 "/usr/include/gentoo-multilib/amd64/bits/string2.h" 3 4
4663 #define __bzero(s,n) __builtin_memset (s, '\0', n)
4664 # 207 "/usr/include/gentoo-multilib/amd64/bits/string2.h" 3 4
4665 #define __mempcpy(dest,src,n) __builtin_mempcpy (dest, src, n)
4666 # 223 "/usr/include/gentoo-multilib/amd64/bits/string2.h" 3 4
4667 #define mempcpy(dest,src,n) __mempcpy (dest, src, n)
4668 # 394 "/usr/include/gentoo-multilib/amd64/bits/string2.h" 3 4
4669 extern void *__rawmemchr (const void *__s, int __c);
4671 #define strchr(s,c) (__extension__ (__builtin_constant_p (c) && !__builtin_constant_p (s) && (c) == '\0' ? (char *) __rawmemchr (s, c) : __builtin_strchr (s, c)))
4672 # 577 "/usr/include/gentoo-multilib/amd64/bits/string2.h" 3 4
4673 #define __stpcpy(dest,src) __builtin_stpcpy (dest, src)
4674 # 598 "/usr/include/gentoo-multilib/amd64/bits/string2.h" 3 4
4675 #define stpcpy(dest,src) __stpcpy (dest, src)
4676 # 761 "/usr/include/gentoo-multilib/amd64/bits/string2.h" 3 4
4677 #define strncpy(dest,src,n) __builtin_strncpy (dest, src, n)
4678 # 785 "/usr/include/gentoo-multilib/amd64/bits/string2.h" 3 4
4679 #define strncat(dest,src,n) __builtin_strncat (dest, src, n)
4680 # 800 "/usr/include/gentoo-multilib/amd64/bits/string2.h" 3 4
4681 #define strcmp(s1,s2) __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (s1) && __builtin_constant_p (s2) && (__s1_len = strlen (s1), __s2_len = strlen (s2), (!__string2_1bptr_p (s1) || __s1_len >= 4) && (!__string2_1bptr_p (s2) || __s2_len >= 4)) ? __builtin_strcmp (s1, s2) : (__builtin_constant_p (s1) && __string2_1bptr_p (s1) && (__s1_len = strlen (s1), __s1_len < 4) ? (__builtin_constant_p (s2) && __string2_1bptr_p (s2) ? __builtin_strcmp (s1, s2) : __strcmp_cg (s1, s2, __s1_len)) : (__builtin_constant_p (s2) && __string2_1bptr_p (s2) && (__s2_len = strlen (s2), __s2_len < 4) ? (__builtin_constant_p (s1) && __string2_1bptr_p (s1) ? __builtin_strcmp (s1, s2) : __strcmp_gc (s1, s2, __s2_len)) : __builtin_strcmp (s1, s2)))); })
4682 # 842 "/usr/include/gentoo-multilib/amd64/bits/string2.h" 3 4
4683 #define __strcmp_cc(s1,s2,l) (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (s1))[0] - ((__const unsigned char *) (__const char *)(s2))[0]); if (l > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (s1))[1] - ((__const unsigned char *) (__const char *) (s2))[1]); if (l > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (s1))[2] - ((__const unsigned char *) (__const char *) (s2))[2]); if (l > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (s1))[3] - ((__const unsigned char *) (__const char *) (s2))[3]); } } __result; }))
4684 # 869 "/usr/include/gentoo-multilib/amd64/bits/string2.h" 3 4
4685 #define __strcmp_cg(s1,s2,l1) (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) (s2); register int __result = (((__const unsigned char *) (__const char *) (s1))[0] - __s2[0]); if (l1 > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (s1))[1] - __s2[1]); if (l1 > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (s1))[2] - __s2[2]); if (l1 > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (s1))[3] - __s2[3]); } } __result; }))
4686 # 891 "/usr/include/gentoo-multilib/amd64/bits/string2.h" 3 4
4687 #define __strcmp_gc(s1,s2,l2) (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (s1); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) (s2))[0]; if (l2 > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) (s2))[1]); if (l2 > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) (s2))[2]); if (l2 > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) (s2))[3]); } } __result; }))
4688 # 920 "/usr/include/gentoo-multilib/amd64/bits/string2.h" 3 4
4689 #define strncmp(s1,s2,n) (__extension__ (__builtin_constant_p (n) && ((__builtin_constant_p (s1) && strlen (s1) < ((size_t) (n))) || (__builtin_constant_p (s2) && strlen (s2) < ((size_t) (n)))) ? strcmp (s1, s2) : strncmp (s1, s2, n)))
4690 # 935 "/usr/include/gentoo-multilib/amd64/bits/string2.h" 3 4
4691 #define strcspn(s,reject) __extension__ ({ char __r0, __r1, __r2; (__builtin_constant_p (reject) && __string2_1bptr_p (reject) ? ((__builtin_constant_p (s) && __string2_1bptr_p (s)) ? __builtin_strcspn (s, reject) : ((__r0 = ((__const char *) (reject))[0], __r0 == '\0') ? strlen (s) : ((__r1 = ((__const char *) (reject))[1], __r1 == '\0') ? __strcspn_c1 (s, __r0) : ((__r2 = ((__const char *) (reject))[2], __r2 == '\0') ? __strcspn_c2 (s, __r0, __r1) : (((__const char *) (reject))[3] == '\0' ? __strcspn_c3 (s, __r0, __r1, __r2) : __builtin_strcspn (s, reject)))))) : __builtin_strcspn (s, reject)); })
4692 # 969 "/usr/include/gentoo-multilib/amd64/bits/string2.h" 3 4
4693 extern __inline size_t __strcspn_c1 (__const char *__s, int __reject);
4694 extern __inline size_t
4695 __strcspn_c1 (__const char *__s, int __reject)
4697 register size_t __result = 0;
4698 while (__s[__result] != '\0' && __s[__result] != __reject)
4703 extern __inline size_t __strcspn_c2 (__const char *__s, int __reject1,
4705 extern __inline size_t
4706 __strcspn_c2 (__const char *__s, int __reject1, int __reject2)
4708 register size_t __result = 0;
4709 while (__s[__result] != '\0' && __s[__result] != __reject1
4710 && __s[__result] != __reject2)
4715 extern __inline size_t __strcspn_c3 (__const char *__s, int __reject1,
4716 int __reject2, int __reject3);
4717 extern __inline size_t
4718 __strcspn_c3 (__const char *__s, int __reject1, int __reject2,
4721 register size_t __result = 0;
4722 while (__s[__result] != '\0' && __s[__result] != __reject1
4723 && __s[__result] != __reject2 && __s[__result] != __reject3)
4727 # 1011 "/usr/include/gentoo-multilib/amd64/bits/string2.h" 3 4
4728 #define strspn(s,accept) __extension__ ({ char __a0, __a1, __a2; (__builtin_constant_p (accept) && __string2_1bptr_p (accept) ? ((__builtin_constant_p (s) && __string2_1bptr_p (s)) ? __builtin_strspn (s, accept) : ((__a0 = ((__const char *) (accept))[0], __a0 == '\0') ? ((void) (s), 0) : ((__a1 = ((__const char *) (accept))[1], __a1 == '\0') ? __strspn_c1 (s, __a0) : ((__a2 = ((__const char *) (accept))[2], __a2 == '\0') ? __strspn_c2 (s, __a0, __a1) : (((__const char *) (accept))[3] == '\0' ? __strspn_c3 (s, __a0, __a1, __a2) : __builtin_strspn (s, accept)))))) : __builtin_strspn (s, accept)); })
4729 # 1045 "/usr/include/gentoo-multilib/amd64/bits/string2.h" 3 4
4730 extern __inline size_t __strspn_c1 (__const char *__s, int __accept);
4731 extern __inline size_t
4732 __strspn_c1 (__const char *__s, int __accept)
4734 register size_t __result = 0;
4736 while (__s[__result] == __accept)
4741 extern __inline size_t __strspn_c2 (__const char *__s, int __accept1,
4743 extern __inline size_t
4744 __strspn_c2 (__const char *__s, int __accept1, int __accept2)
4746 register size_t __result = 0;
4748 while (__s[__result] == __accept1 || __s[__result] == __accept2)
4753 extern __inline size_t __strspn_c3 (__const char *__s, int __accept1,
4754 int __accept2, int __accept3);
4755 extern __inline size_t
4756 __strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3)
4758 register size_t __result = 0;
4760 while (__s[__result] == __accept1 || __s[__result] == __accept2
4761 || __s[__result] == __accept3)
4772 #define strpbrk(s,accept) __extension__ ({ char __a0, __a1, __a2; (__builtin_constant_p (accept) && __string2_1bptr_p (accept) ? ((__builtin_constant_p (s) && __string2_1bptr_p (s)) ? __builtin_strpbrk (s, accept) : ((__a0 = ((__const char *) (accept))[0], __a0 == '\0') ? ((void) (s), (char *) NULL) : ((__a1 = ((__const char *) (accept))[1], __a1 == '\0') ? __builtin_strchr (s, __a0) : ((__a2 = ((__const char *) (accept))[2], __a2 == '\0') ? __strpbrk_c2 (s, __a0, __a1) : (((__const char *) (accept))[3] == '\0' ? __strpbrk_c3 (s, __a0, __a1, __a2) : __builtin_strpbrk (s, accept)))))) : __builtin_strpbrk (s, accept)); })
4773 # 1121 "/usr/include/gentoo-multilib/amd64/bits/string2.h" 3 4
4774 extern __inline char *__strpbrk_c2 (__const char *__s, int __accept1,
4776 extern __inline char *
4777 __strpbrk_c2 (__const char *__s, int __accept1, int __accept2)
4780 while (*__s != '\0' && *__s != __accept1 && *__s != __accept2)
4782 return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s;
4785 extern __inline char *__strpbrk_c3 (__const char *__s, int __accept1,
4786 int __accept2, int __accept3);
4787 extern __inline char *
4788 __strpbrk_c3 (__const char *__s, int __accept1, int __accept2,
4792 while (*__s != '\0' && *__s != __accept1 && *__s != __accept2
4793 && *__s != __accept3)
4795 return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s;
4797 # 1164 "/usr/include/gentoo-multilib/amd64/bits/string2.h" 3 4
4798 #define __strtok_r(s,sep,nextp) (__extension__ (__builtin_constant_p (sep) && __string2_1bptr_p (sep) ? (((__const char *) (sep))[0] != '\0' && ((__const char *) (sep))[1] == '\0' ? __strtok_r_1c (s, ((__const char *) (sep))[0], nextp) : __strtok_r (s, sep, nextp)) : __strtok_r (s, sep, nextp)))
4799 # 1173 "/usr/include/gentoo-multilib/amd64/bits/string2.h" 3 4
4800 extern __inline char *__strtok_r_1c (char *__s, char __sep, char **__nextp);
4801 extern __inline char *
4802 __strtok_r_1c (char *__s, char __sep, char **__nextp)
4805 if (__s == ((void *)0))
4807 while (*__s == __sep)
4809 __result = ((void *)0);
4813 while (*__s != '\0')
4814 if (*__s++ == __sep)
4824 #define strtok_r(s,sep,nextp) __strtok_r (s, sep, nextp)
4832 extern char *__strsep_g (char **__stringp, __const char *__delim);
4833 #define __strsep(s,reject) __extension__ ({ char __r0, __r1, __r2; (__builtin_constant_p (reject) && __string2_1bptr_p (reject) && (__r0 = ((__const char *) (reject))[0], ((__const char *) (reject))[0] != '\0') ? ((__r1 = ((__const char *) (reject))[1], ((__const char *) (reject))[1] == '\0') ? __strsep_1c (s, __r0) : ((__r2 = ((__const char *) (reject))[2], __r2 == '\0') ? __strsep_2c (s, __r0, __r1) : (((__const char *) (reject))[3] == '\0' ? __strsep_3c (s, __r0, __r1, __r2) : __strsep_g (s, reject)))) : __strsep_g (s, reject)); })
4834 # 1223 "/usr/include/gentoo-multilib/amd64/bits/string2.h" 3 4
4835 extern __inline char *__strsep_1c (char **__s, char __reject);
4836 extern __inline char *
4837 __strsep_1c (char **__s, char __reject)
4839 register char *__retval = *__s;
4840 if (__retval != ((void *)0) && (*__s = (__extension__ (__builtin_constant_p (__reject) && !__builtin_constant_p (__retval) && (__reject) == '\0' ? (char *) __rawmemchr (__retval, __reject) : __builtin_strchr (__retval, __reject)))) != ((void *)0))
4845 extern __inline char *__strsep_2c (char **__s, char __reject1, char __reject2);
4846 extern __inline char *
4847 __strsep_2c (char **__s, char __reject1, char __reject2)
4849 register char *__retval = *__s;
4850 if (__retval != ((void *)0))
4852 register char *__cp = __retval;
4860 if (*__cp == __reject1 || *__cp == __reject2)
4872 extern __inline char *__strsep_3c (char **__s, char __reject1, char __reject2,
4874 extern __inline char *
4875 __strsep_3c (char **__s, char __reject1, char __reject2, char __reject3)
4877 register char *__retval = *__s;
4878 if (__retval != ((void *)0))
4880 register char *__cp = __retval;
4888 if (*__cp == __reject1 || *__cp == __reject2 || *__cp == __reject3)
4900 #define strsep(s,reject) __strsep (s, reject)
4901 # 1298 "/usr/include/gentoo-multilib/amd64/bits/string2.h" 3 4
4902 #define __need_malloc_and_calloc
4903 # 1 "/usr/include/stdlib.h" 1 3 4
4904 # 1300 "/usr/include/gentoo-multilib/amd64/bits/string2.h" 2 3 4
4909 extern char *__strdup (__const char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__));
4910 #define __strdup(s) (__extension__ (__builtin_constant_p (s) && __string2_1bptr_p (s) ? (((__const char *) (s))[0] == '\0' ? (char *) calloc (1, 1) : ({ size_t __len = strlen (s) + 1; char *__retval = (char *) malloc (__len); if (__retval != NULL) __retval = (char *) memcpy (__retval, s, __len); __retval; })) : __strdup (s)))
4911 # 1317 "/usr/include/gentoo-multilib/amd64/bits/string2.h" 3 4
4912 #define strdup(s) __strdup (s)
4918 extern char *__strndup (__const char *__string, size_t __n)
4919 __attribute__ ((__nothrow__)) __attribute__ ((__malloc__));
4920 #define __strndup(s,n) (__extension__ (__builtin_constant_p (s) && __string2_1bptr_p (s) ? (((__const char *) (s))[0] == '\0' ? (char *) calloc (1, 1) : ({ size_t __len = strlen (s) + 1; size_t __n = (n); char *__retval; if (__n < __len) __len = __n + 1; __retval = (char *) malloc (__len); if (__retval != NULL) { __retval[__len - 1] = '\0'; __retval = (char *) memcpy (__retval, s, __len - 1); } __retval; })) : __strndup (s, n)))
4921 # 1345 "/usr/include/gentoo-multilib/amd64/bits/string2.h" 3 4
4922 #define strndup(s,n) __strndup (s, n)
4929 #undef __STRING_INLINE
4930 # 9 "/usr/include/bits/string2.h" 2 3 4
4931 # 418 "/usr/include/gentoo-multilib/amd64/string.h" 2 3 4
4932 # 426 "/usr/include/gentoo-multilib/amd64/string.h" 3 4
4934 # 9 "/usr/include/string.h" 2 3 4
4935 # 26 "video_out_dfb.c" 2
4936 # 1 "/usr/include/pthread.h" 1 3 4
4944 # 1 "/usr/include/gentoo-multilib/amd64/pthread.h" 1 3 4
4945 # 20 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4
4946 #define _PTHREAD_H 1
4948 # 1 "/usr/include/features.h" 1 3 4
4949 # 23 "/usr/include/gentoo-multilib/amd64/pthread.h" 2 3 4
4950 # 1 "/usr/include/sched.h" 1 3 4
4958 # 1 "/usr/include/gentoo-multilib/amd64/sched.h" 1 3 4
4959 # 21 "/usr/include/gentoo-multilib/amd64/sched.h" 3 4
4962 # 1 "/usr/include/features.h" 1 3 4
4963 # 24 "/usr/include/gentoo-multilib/amd64/sched.h" 2 3 4
4966 # 1 "/usr/include/bits/types.h" 1 3 4
4967 # 27 "/usr/include/gentoo-multilib/amd64/sched.h" 2 3 4
4969 #define __need_timespec
4970 # 1 "/usr/include/time.h" 1 3 4
4978 # 1 "/usr/include/gentoo-multilib/amd64/time.h" 1 3 4
4979 # 68 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
4980 #undef __need_clock_t
4981 # 84 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
4982 #undef __need_time_t
4983 # 96 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
4984 #undef __clockid_time_t
4985 # 108 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
4986 #undef __need_timer_t
4987 # 128 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
4988 #undef __need_timespec
4989 # 9 "/usr/include/time.h" 2 3 4
4990 # 30 "/usr/include/gentoo-multilib/amd64/sched.h" 2 3 4
4993 # 1 "/usr/include/bits/sched.h" 1 3 4
5001 # 1 "/usr/include/gentoo-multilib/amd64/bits/sched.h" 1 3 4
5002 # 29 "/usr/include/gentoo-multilib/amd64/bits/sched.h" 3 4
5003 #define SCHED_OTHER 0
5004 #define SCHED_FIFO 1
5007 #define SCHED_BATCH 3
5012 #define CSIGNAL 0x000000ff
5013 #define CLONE_VM 0x00000100
5014 #define CLONE_FS 0x00000200
5015 #define CLONE_FILES 0x00000400
5016 #define CLONE_SIGHAND 0x00000800
5017 #define CLONE_PTRACE 0x00002000
5018 #define CLONE_VFORK 0x00004000
5020 #define CLONE_PARENT 0x00008000
5022 #define CLONE_THREAD 0x00010000
5023 #define CLONE_NEWNS 0x00020000
5024 #define CLONE_SYSVSEM 0x00040000
5025 #define CLONE_SETTLS 0x00080000
5026 #define CLONE_PARENT_SETTID 0x00100000
5028 #define CLONE_CHILD_CLEARTID 0x00200000
5030 #define CLONE_DETACHED 0x00400000
5031 #define CLONE_UNTRACED 0x00800000
5033 #define CLONE_CHILD_SETTID 0x01000000
5035 #define CLONE_STOPPED 0x02000000
5041 int __sched_priority;
5048 extern int clone (int (*__fn) (void *__arg), void *__child_stack,
5049 int __flags, void *__arg, ...) __attribute__ ((__nothrow__));
5052 extern int unshare (int __flags) __attribute__ ((__nothrow__));
5061 #define __defined_schedparam 1
5063 struct __sched_param
5065 int __sched_priority;
5067 #undef __need_schedparam
5072 #define __cpu_set_t_defined
5074 #define __CPU_SETSIZE 1024
5075 #define __NCPUBITS (8 * sizeof (__cpu_mask))
5078 typedef unsigned long int __cpu_mask;
5081 #define __CPUELT(cpu) ((cpu) / __NCPUBITS)
5082 #define __CPUMASK(cpu) ((__cpu_mask) 1 << ((cpu) % __NCPUBITS))
5087 __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))];
5091 #define __CPU_ZERO(cpusetp) do { unsigned int __i; cpu_set_t *__arr = (cpusetp); for (__i = 0; __i < sizeof (cpu_set_t) / sizeof (__cpu_mask); ++__i) __arr->__bits[__i] = 0; } while (0)
5098 #define __CPU_SET(cpu,cpusetp) ((cpusetp)->__bits[__CPUELT (cpu)] |= __CPUMASK (cpu))
5100 #define __CPU_CLR(cpu,cpusetp) ((cpusetp)->__bits[__CPUELT (cpu)] &= ~__CPUMASK (cpu))
5102 #define __CPU_ISSET(cpu,cpusetp) (((cpusetp)->__bits[__CPUELT (cpu)] & __CPUMASK (cpu)) != 0)
5103 # 9 "/usr/include/bits/sched.h" 2 3 4
5104 # 33 "/usr/include/gentoo-multilib/amd64/sched.h" 2 3 4
5106 #define sched_priority __sched_priority
5112 extern int sched_setparam (__pid_t __pid, __const struct sched_param *__param)
5113 __attribute__ ((__nothrow__));
5116 extern int sched_getparam (__pid_t __pid, struct sched_param *__param) __attribute__ ((__nothrow__));
5119 extern int sched_setscheduler (__pid_t __pid, int __policy,
5120 __const struct sched_param *__param) __attribute__ ((__nothrow__));
5123 extern int sched_getscheduler (__pid_t __pid) __attribute__ ((__nothrow__));
5126 extern int sched_yield (void) __attribute__ ((__nothrow__));
5129 extern int sched_get_priority_max (int __algorithm) __attribute__ ((__nothrow__));
5132 extern int sched_get_priority_min (int __algorithm) __attribute__ ((__nothrow__));
5135 extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) __attribute__ ((__nothrow__));
5140 #define CPU_SETSIZE __CPU_SETSIZE
5141 #define CPU_SET(cpu,cpusetp) __CPU_SET (cpu, cpusetp)
5142 #define CPU_CLR(cpu,cpusetp) __CPU_CLR (cpu, cpusetp)
5143 #define CPU_ISSET(cpu,cpusetp) __CPU_ISSET (cpu, cpusetp)
5144 #define CPU_ZERO(cpusetp) __CPU_ZERO (cpusetp)
5148 extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize,
5149 __const cpu_set_t *__cpuset) __attribute__ ((__nothrow__));
5152 extern int sched_getaffinity (__pid_t __pid, size_t __cpusetsize,
5153 cpu_set_t *__cpuset) __attribute__ ((__nothrow__));
5157 # 9 "/usr/include/sched.h" 2 3 4
5158 # 24 "/usr/include/gentoo-multilib/amd64/pthread.h" 2 3 4
5159 # 1 "/usr/include/time.h" 1 3 4
5167 # 1 "/usr/include/gentoo-multilib/amd64/time.h" 1 3 4
5168 # 28 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
5170 # 1 "/usr/include/features.h" 1 3 4
5171 # 30 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4
5179 #define __need_size_t
5181 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4
5182 # 236 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
5183 #undef __need_size_t
5184 # 398 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
5190 #define NULL ((void *)0)
5197 # 40 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4
5201 # 1 "/usr/include/bits/time.h" 1 3 4
5209 # 1 "/usr/include/gentoo-multilib/amd64/bits/time.h" 1 3 4
5210 # 26 "/usr/include/gentoo-multilib/amd64/bits/time.h" 3 4
5211 #define _BITS_TIME_H 1
5219 #define CLOCKS_PER_SEC 1000000l
5220 # 46 "/usr/include/gentoo-multilib/amd64/bits/time.h" 3 4
5221 #define CLOCK_REALTIME 0
5223 #define CLOCK_MONOTONIC 1
5225 #define CLOCK_PROCESS_CPUTIME_ID 2
5227 #define CLOCK_THREAD_CPUTIME_ID 3
5230 #define TIMER_ABSTIME 1
5231 # 9 "/usr/include/bits/time.h" 2 3 4
5232 # 44 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4
5233 # 68 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
5234 #undef __need_clock_t
5235 # 84 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
5236 #undef __need_time_t
5237 # 96 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
5238 #undef __clockid_time_t
5239 # 108 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
5240 #undef __need_timer_t
5241 # 128 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
5242 #undef __need_timespec
5262 __const char *tm_zone;
5278 struct timespec it_interval;
5279 struct timespec it_value;
5284 # 181 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
5288 extern clock_t clock (void) __attribute__ ((__nothrow__));
5291 extern time_t time (time_t *__timer) __attribute__ ((__nothrow__));
5294 extern double difftime (time_t __time1, time_t __time0)
5295 __attribute__ ((__nothrow__)) __attribute__ ((__const__));
5298 extern time_t mktime (struct tm *__tp) __attribute__ ((__nothrow__));
5304 extern size_t strftime (char *__restrict __s, size_t __maxsize,
5305 __const char *__restrict __format,
5306 __const struct tm *__restrict __tp) __attribute__ ((__nothrow__));
5312 extern char *strptime (__const char *__restrict __s,
5313 __const char *__restrict __fmt, struct tm *__tp)
5314 __attribute__ ((__nothrow__));
5320 # 1 "/usr/include/xlocale.h" 1 3 4
5321 # 217 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4
5323 extern size_t strftime_l (char *__restrict __s, size_t __maxsize,
5324 __const char *__restrict __format,
5325 __const struct tm *__restrict __tp,
5326 __locale_t __loc) __attribute__ ((__nothrow__));
5328 extern char *strptime_l (__const char *__restrict __s,
5329 __const char *__restrict __fmt, struct tm *__tp,
5330 __locale_t __loc) __attribute__ ((__nothrow__));
5337 extern struct tm *gmtime (__const time_t *__timer) __attribute__ ((__nothrow__));
5341 extern struct tm *localtime (__const time_t *__timer) __attribute__ ((__nothrow__));
5347 extern struct tm *gmtime_r (__const time_t *__restrict __timer,
5348 struct tm *__restrict __tp) __attribute__ ((__nothrow__));
5352 extern struct tm *localtime_r (__const time_t *__restrict __timer,
5353 struct tm *__restrict __tp) __attribute__ ((__nothrow__));
5359 extern char *asctime (__const struct tm *__tp) __attribute__ ((__nothrow__));
5362 extern char *ctime (__const time_t *__timer) __attribute__ ((__nothrow__));
5370 extern char *asctime_r (__const struct tm *__restrict __tp,
5371 char *__restrict __buf) __attribute__ ((__nothrow__));
5374 extern char *ctime_r (__const time_t *__restrict __timer,
5375 char *__restrict __buf) __attribute__ ((__nothrow__));
5380 extern char *__tzname[2];
5381 extern int __daylight;
5382 extern long int __timezone;
5387 extern char *tzname[2];
5391 extern void tzset (void) __attribute__ ((__nothrow__));
5395 extern int daylight;
5396 extern long int timezone;
5402 extern int stime (__const time_t *__when) __attribute__ ((__nothrow__));
5408 #define __isleap(year) ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0))
5409 # 312 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
5410 extern time_t timegm (struct tm *__tp) __attribute__ ((__nothrow__));
5413 extern time_t timelocal (struct tm *__tp) __attribute__ ((__nothrow__));
5416 extern int dysize (int __year) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
5417 # 327 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
5418 extern int nanosleep (__const struct timespec *__requested_time,
5419 struct timespec *__remaining);
5423 extern int clock_getres (clockid_t __clock_id, struct timespec *__res) __attribute__ ((__nothrow__));
5426 extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) __attribute__ ((__nothrow__));
5429 extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp)
5430 __attribute__ ((__nothrow__));
5437 extern int clock_nanosleep (clockid_t __clock_id, int __flags,
5438 __const struct timespec *__req,
5439 struct timespec *__rem);
5442 extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) __attribute__ ((__nothrow__));
5447 extern int timer_create (clockid_t __clock_id,
5448 struct sigevent *__restrict __evp,
5449 timer_t *__restrict __timerid) __attribute__ ((__nothrow__));
5452 extern int timer_delete (timer_t __timerid) __attribute__ ((__nothrow__));
5455 extern int timer_settime (timer_t __timerid, int __flags,
5456 __const struct itimerspec *__restrict __value,
5457 struct itimerspec *__restrict __ovalue) __attribute__ ((__nothrow__));
5460 extern int timer_gettime (timer_t __timerid, struct itimerspec *__value)
5461 __attribute__ ((__nothrow__));
5464 extern int timer_getoverrun (timer_t __timerid) __attribute__ ((__nothrow__));
5465 # 389 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
5466 extern int getdate_err;
5467 # 398 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
5468 extern struct tm *getdate (__const char *__string);
5469 # 412 "/usr/include/gentoo-multilib/amd64/time.h" 3 4
5470 extern int getdate_r (__const char *__restrict __string,
5471 struct tm *__restrict __resbufp);
5475 # 9 "/usr/include/time.h" 2 3 4
5476 # 25 "/usr/include/gentoo-multilib/amd64/pthread.h" 2 3 4
5478 #define __need_sigset_t
5479 # 1 "/usr/include/signal.h" 1 3 4
5487 # 1 "/usr/include/gentoo-multilib/amd64/signal.h" 1 3 4
5488 # 29 "/usr/include/gentoo-multilib/amd64/signal.h" 3 4
5489 # 1 "/usr/include/features.h" 1 3 4
5490 # 30 "/usr/include/gentoo-multilib/amd64/signal.h" 2 3 4
5494 # 1 "/usr/include/bits/sigset.h" 1 3 4
5502 # 1 "/usr/include/gentoo-multilib/amd64/bits/sigset.h" 1 3 4
5503 # 9 "/usr/include/bits/sigset.h" 2 3 4
5504 # 34 "/usr/include/gentoo-multilib/amd64/signal.h" 2 3 4
5505 # 52 "/usr/include/gentoo-multilib/amd64/signal.h" 3 4
5506 #undef __need_sigset_t
5507 # 400 "/usr/include/gentoo-multilib/amd64/signal.h" 3 4
5509 # 9 "/usr/include/signal.h" 2 3 4
5510 # 28 "/usr/include/gentoo-multilib/amd64/pthread.h" 2 3 4
5511 # 1 "/usr/include/bits/pthreadtypes.h" 1 3 4
5512 # 29 "/usr/include/gentoo-multilib/amd64/pthread.h" 2 3 4
5513 # 1 "/usr/include/bits/setjmp.h" 1 3 4
5521 # 1 "/usr/include/gentoo-multilib/amd64/bits/setjmp.h" 1 3 4
5522 # 21 "/usr/include/gentoo-multilib/amd64/bits/setjmp.h" 3 4
5523 #define _BITS_SETJMP_H 1
5529 # 1 "/usr/include/bits/wordsize.h" 1 3 4
5537 # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4
5541 #define __WORDSIZE 64
5542 #define __WORDSIZE_COMPAT32 1
5543 # 9 "/usr/include/bits/wordsize.h" 2 3 4
5544 # 28 "/usr/include/gentoo-multilib/amd64/bits/setjmp.h" 2 3 4
5549 typedef long int __jmp_buf[8];
5550 # 9 "/usr/include/bits/setjmp.h" 2 3 4
5551 # 30 "/usr/include/gentoo-multilib/amd64/pthread.h" 2 3 4
5552 # 1 "/usr/include/bits/wordsize.h" 1 3 4
5560 # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4
5564 #define __WORDSIZE 64
5565 #define __WORDSIZE_COMPAT32 1
5566 # 9 "/usr/include/bits/wordsize.h" 2 3 4
5567 # 31 "/usr/include/gentoo-multilib/amd64/pthread.h" 2 3 4
5573 PTHREAD_CREATE_JOINABLE,
5574 #define PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_JOINABLE
5575 PTHREAD_CREATE_DETACHED
5576 #define PTHREAD_CREATE_DETACHED PTHREAD_CREATE_DETACHED
5583 PTHREAD_MUTEX_TIMED_NP,
5584 PTHREAD_MUTEX_RECURSIVE_NP,
5585 PTHREAD_MUTEX_ERRORCHECK_NP,
5586 PTHREAD_MUTEX_ADAPTIVE_NP
5589 PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP,
5590 PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP,
5591 PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP,
5592 PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL
5596 , PTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_TIMED_NP
5605 PTHREAD_MUTEX_STALLED_NP,
5606 PTHREAD_MUTEX_ROBUST_NP
5616 PTHREAD_PRIO_INHERIT,
5617 PTHREAD_PRIO_PROTECT
5624 #define PTHREAD_MUTEX_INITIALIZER { { 0, 0, 0, 0, 0, 0, { 0, 0 } } }
5627 #define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP { { 0, 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, 0, { 0, 0 } } }
5629 #define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP { { 0, 0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP, 0, { 0, 0 } } }
5631 #define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP { { 0, 0, 0, 0, PTHREAD_MUTEX_ADAPTIVE_NP, 0, { 0, 0 } } }
5632 # 113 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4
5635 PTHREAD_RWLOCK_PREFER_READER_NP,
5636 PTHREAD_RWLOCK_PREFER_WRITER_NP,
5637 PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP,
5638 PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_READER_NP
5643 #define PTHREAD_RWLOCK_INITIALIZER { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
5651 #define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP } }
5652 # 143 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4
5655 PTHREAD_INHERIT_SCHED,
5656 #define PTHREAD_INHERIT_SCHED PTHREAD_INHERIT_SCHED
5657 PTHREAD_EXPLICIT_SCHED
5658 #define PTHREAD_EXPLICIT_SCHED PTHREAD_EXPLICIT_SCHED
5665 PTHREAD_SCOPE_SYSTEM,
5666 #define PTHREAD_SCOPE_SYSTEM PTHREAD_SCOPE_SYSTEM
5667 PTHREAD_SCOPE_PROCESS
5668 #define PTHREAD_SCOPE_PROCESS PTHREAD_SCOPE_PROCESS
5675 PTHREAD_PROCESS_PRIVATE,
5676 #define PTHREAD_PROCESS_PRIVATE PTHREAD_PROCESS_PRIVATE
5677 PTHREAD_PROCESS_SHARED
5678 #define PTHREAD_PROCESS_SHARED PTHREAD_PROCESS_SHARED
5684 #define PTHREAD_COND_INITIALIZER { { 0, 0, 0, 0, 0, (void *) 0, 0, 0 } }
5688 struct _pthread_cleanup_buffer
5690 void (*__routine) (void *);
5693 struct _pthread_cleanup_buffer *__prev;
5699 PTHREAD_CANCEL_ENABLE,
5700 #define PTHREAD_CANCEL_ENABLE PTHREAD_CANCEL_ENABLE
5701 PTHREAD_CANCEL_DISABLE
5702 #define PTHREAD_CANCEL_DISABLE PTHREAD_CANCEL_DISABLE
5706 PTHREAD_CANCEL_DEFERRED,
5707 #define PTHREAD_CANCEL_DEFERRED PTHREAD_CANCEL_DEFERRED
5708 PTHREAD_CANCEL_ASYNCHRONOUS
5709 #define PTHREAD_CANCEL_ASYNCHRONOUS PTHREAD_CANCEL_ASYNCHRONOUS
5711 #define PTHREAD_CANCELED ((void *) -1)
5715 #define PTHREAD_ONCE_INIT 0
5722 #define PTHREAD_BARRIER_SERIAL_THREAD -1
5731 extern int pthread_create (pthread_t *__restrict __newthread,
5732 __const pthread_attr_t *__restrict __attr,
5733 void *(*__start_routine) (void *),
5734 void *__restrict __arg) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 3)));
5740 extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__));
5748 extern int pthread_join (pthread_t __th, void **__thread_return);
5753 extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) __attribute__ ((__nothrow__));
5761 extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return,
5762 __const struct timespec *__abstime);
5769 extern int pthread_detach (pthread_t __th) __attribute__ ((__nothrow__));
5773 extern pthread_t pthread_self (void) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
5776 extern int pthread_equal (pthread_t __thread1, pthread_t __thread2) __attribute__ ((__nothrow__));
5784 extern int pthread_attr_init (pthread_attr_t *__attr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
5787 extern int pthread_attr_destroy (pthread_attr_t *__attr)
5788 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
5791 extern int pthread_attr_getdetachstate (__const pthread_attr_t *__attr,
5793 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
5796 extern int pthread_attr_setdetachstate (pthread_attr_t *__attr,
5798 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
5802 extern int pthread_attr_getguardsize (__const pthread_attr_t *__attr,
5803 size_t *__guardsize)
5804 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
5807 extern int pthread_attr_setguardsize (pthread_attr_t *__attr,
5809 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
5813 extern int pthread_attr_getschedparam (__const pthread_attr_t *__restrict
5815 struct sched_param *__restrict __param)
5816 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
5819 extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr,
5820 __const struct sched_param *__restrict
5821 __param) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
5824 extern int pthread_attr_getschedpolicy (__const pthread_attr_t *__restrict
5825 __attr, int *__restrict __policy)
5826 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
5829 extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy)
5830 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
5833 extern int pthread_attr_getinheritsched (__const pthread_attr_t *__restrict
5834 __attr, int *__restrict __inherit)
5835 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
5838 extern int pthread_attr_setinheritsched (pthread_attr_t *__attr,
5840 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
5844 extern int pthread_attr_getscope (__const pthread_attr_t *__restrict __attr,
5845 int *__restrict __scope)
5846 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
5849 extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope)
5850 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
5853 extern int pthread_attr_getstackaddr (__const pthread_attr_t *__restrict
5854 __attr, void **__restrict __stackaddr)
5855 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__deprecated__));
5861 extern int pthread_attr_setstackaddr (pthread_attr_t *__attr,
5863 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__));
5866 extern int pthread_attr_getstacksize (__const pthread_attr_t *__restrict
5867 __attr, size_t *__restrict __stacksize)
5868 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
5873 extern int pthread_attr_setstacksize (pthread_attr_t *__attr,
5875 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
5879 extern int pthread_attr_getstack (__const pthread_attr_t *__restrict __attr,
5880 void **__restrict __stackaddr,
5881 size_t *__restrict __stacksize)
5882 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2, 3)));
5887 extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr,
5888 size_t __stacksize) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
5894 extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr,
5895 size_t __cpusetsize,
5896 __const cpu_set_t *__cpuset)
5897 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 3)));
5901 extern int pthread_attr_getaffinity_np (__const pthread_attr_t *__attr,
5902 size_t __cpusetsize,
5903 cpu_set_t *__cpuset)
5904 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 3)));
5910 extern int pthread_getattr_np (pthread_t __th, pthread_attr_t *__attr)
5911 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
5919 extern int pthread_setschedparam (pthread_t __target_thread, int __policy,
5920 __const struct sched_param *__param)
5921 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3)));
5924 extern int pthread_getschedparam (pthread_t __target_thread,
5925 int *__restrict __policy,
5926 struct sched_param *__restrict __param)
5927 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3)));
5930 extern int pthread_setschedprio (pthread_t __target_thread, int __prio)
5931 __attribute__ ((__nothrow__));
5936 extern int pthread_getconcurrency (void) __attribute__ ((__nothrow__));
5939 extern int pthread_setconcurrency (int __level) __attribute__ ((__nothrow__));
5947 extern int pthread_yield (void) __attribute__ ((__nothrow__));
5952 extern int pthread_setaffinity_np (pthread_t __th, size_t __cpusetsize,
5953 __const cpu_set_t *__cpuset)
5954 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3)));
5957 extern int pthread_getaffinity_np (pthread_t __th, size_t __cpusetsize,
5958 cpu_set_t *__cpuset)
5959 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3)));
5960 # 462 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4
5961 extern int pthread_once (pthread_once_t *__once_control,
5962 void (*__init_routine) (void)) __attribute__ ((__nonnull__ (1, 2)));
5963 # 474 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4
5964 extern int pthread_setcancelstate (int __state, int *__oldstate);
5968 extern int pthread_setcanceltype (int __type, int *__oldtype);
5971 extern int pthread_cancel (pthread_t __th);
5976 extern void pthread_testcancel (void);
5985 __jmp_buf __cancel_jmp_buf;
5986 int __mask_was_saved;
5987 } __cancel_jmp_buf[1];
5989 } __pthread_unwind_buf_t __attribute__ ((__aligned__));
5993 #define __cleanup_fct_attribute
5998 struct __pthread_cleanup_frame
6000 void (*__cancel_routine) (void *);
6005 # 632 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4
6006 #define pthread_cleanup_push(routine,arg) do { __pthread_unwind_buf_t __cancel_buf; void (*__cancel_routine) (void *) = (routine); void *__cancel_arg = (arg); int not_first_call = __sigsetjmp ((struct __jmp_buf_tag *) __cancel_buf.__cancel_jmp_buf, 0); if (__builtin_expect (not_first_call, 0)) { __cancel_routine (__cancel_arg); __pthread_unwind_next (&__cancel_buf); } __pthread_register_cancel (&__cancel_buf); do {
6007 # 648 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4
6008 extern void __pthread_register_cancel (__pthread_unwind_buf_t *__buf)
6013 #define pthread_cleanup_pop(execute) } while (0); __pthread_unregister_cancel (&__cancel_buf); if (execute) __cancel_routine (__cancel_arg); } while (0)
6019 extern void __pthread_unregister_cancel (__pthread_unwind_buf_t *__buf)
6026 #define pthread_cleanup_push_defer_np(routine,arg) do { __pthread_unwind_buf_t __cancel_buf; void (*__cancel_routine) (void *) = (routine); void *__cancel_arg = (arg); int not_first_call = __sigsetjmp ((struct __jmp_buf_tag *) __cancel_buf.__cancel_jmp_buf, 0); if (__builtin_expect (not_first_call, 0)) { __cancel_routine (__cancel_arg); __pthread_unwind_next (&__cancel_buf); } __pthread_register_cancel_defer (&__cancel_buf); do {
6027 # 682 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4
6028 extern void __pthread_register_cancel_defer (__pthread_unwind_buf_t *__buf)
6034 #define pthread_cleanup_pop_restore_np(execute) } while (0); __pthread_unregister_cancel_restore (&__cancel_buf); if (execute) __cancel_routine (__cancel_arg); } while (0)
6040 extern void __pthread_unregister_cancel_restore (__pthread_unwind_buf_t *__buf)
6045 extern void __pthread_unwind_next (__pthread_unwind_buf_t *__buf)
6046 __attribute__ ((__noreturn__))
6048 __attribute__ ((__weak__))
6054 struct __jmp_buf_tag;
6055 extern int __sigsetjmp (struct __jmp_buf_tag *__env, int __savemask) __attribute__ ((__nothrow__));
6061 extern int pthread_mutex_init (pthread_mutex_t *__mutex,
6062 __const pthread_mutexattr_t *__mutexattr)
6063 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6066 extern int pthread_mutex_destroy (pthread_mutex_t *__mutex)
6067 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6070 extern int pthread_mutex_trylock (pthread_mutex_t *__mutex)
6071 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6074 extern int pthread_mutex_lock (pthread_mutex_t *__mutex)
6075 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6079 extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex,
6080 __const struct timespec *__restrict
6081 __abstime) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
6085 extern int pthread_mutex_unlock (pthread_mutex_t *__mutex)
6086 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6091 extern int pthread_mutex_getprioceiling (__const pthread_mutex_t *
6093 int *__restrict __prioceiling)
6094 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
6098 extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex,
6100 int *__restrict __old_ceiling)
6101 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 3)));
6107 extern int pthread_mutex_consistent_np (pthread_mutex_t *__mutex)
6108 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6116 extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr)
6117 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6120 extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr)
6121 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6124 extern int pthread_mutexattr_getpshared (__const pthread_mutexattr_t *
6126 int *__restrict __pshared)
6127 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
6130 extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr,
6132 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6136 extern int pthread_mutexattr_gettype (__const pthread_mutexattr_t *__restrict
6137 __attr, int *__restrict __kind)
6138 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
6143 extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind)
6144 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6147 extern int pthread_mutexattr_getprotocol (__const pthread_mutexattr_t *
6149 int *__restrict __protocol)
6150 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
6154 extern int pthread_mutexattr_setprotocol (pthread_mutexattr_t *__attr,
6156 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6159 extern int pthread_mutexattr_getprioceiling (__const pthread_mutexattr_t *
6161 int *__restrict __prioceiling)
6162 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
6165 extern int pthread_mutexattr_setprioceiling (pthread_mutexattr_t *__attr,
6167 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6172 extern int pthread_mutexattr_getrobust_np (__const pthread_mutexattr_t *__attr,
6174 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
6177 extern int pthread_mutexattr_setrobust_np (pthread_mutexattr_t *__attr,
6179 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6180 # 842 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4
6181 extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock,
6182 __const pthread_rwlockattr_t *__restrict
6183 __attr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6186 extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock)
6187 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6190 extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock)
6191 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6194 extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock)
6195 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6199 extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock,
6200 __const struct timespec *__restrict
6201 __abstime) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
6205 extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock)
6206 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6209 extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock)
6210 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6214 extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock,
6215 __const struct timespec *__restrict
6216 __abstime) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
6220 extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock)
6221 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6227 extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr)
6228 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6231 extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr)
6232 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6235 extern int pthread_rwlockattr_getpshared (__const pthread_rwlockattr_t *
6237 int *__restrict __pshared)
6238 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
6241 extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr,
6243 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6246 extern int pthread_rwlockattr_getkind_np (__const pthread_rwlockattr_t *
6248 int *__restrict __pref)
6249 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
6252 extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr,
6253 int __pref) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6261 extern int pthread_cond_init (pthread_cond_t *__restrict __cond,
6262 __const pthread_condattr_t *__restrict
6263 __cond_attr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6266 extern int pthread_cond_destroy (pthread_cond_t *__cond)
6267 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6270 extern int pthread_cond_signal (pthread_cond_t *__cond)
6271 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6274 extern int pthread_cond_broadcast (pthread_cond_t *__cond)
6275 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6282 extern int pthread_cond_wait (pthread_cond_t *__restrict __cond,
6283 pthread_mutex_t *__restrict __mutex)
6284 __attribute__ ((__nonnull__ (1, 2)));
6285 # 954 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4
6286 extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond,
6287 pthread_mutex_t *__restrict __mutex,
6288 __const struct timespec *__restrict
6289 __abstime) __attribute__ ((__nonnull__ (1, 2, 3)));
6294 extern int pthread_condattr_init (pthread_condattr_t *__attr)
6295 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6298 extern int pthread_condattr_destroy (pthread_condattr_t *__attr)
6299 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6302 extern int pthread_condattr_getpshared (__const pthread_condattr_t *
6304 int *__restrict __pshared)
6305 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
6308 extern int pthread_condattr_setpshared (pthread_condattr_t *__attr,
6309 int __pshared) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6313 extern int pthread_condattr_getclock (__const pthread_condattr_t *
6315 __clockid_t *__restrict __clock_id)
6316 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
6319 extern int pthread_condattr_setclock (pthread_condattr_t *__attr,
6320 __clockid_t __clock_id)
6321 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6322 # 998 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4
6323 extern int pthread_spin_init (pthread_spinlock_t *__lock, int __pshared)
6324 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6327 extern int pthread_spin_destroy (pthread_spinlock_t *__lock)
6328 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6331 extern int pthread_spin_lock (pthread_spinlock_t *__lock)
6332 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6335 extern int pthread_spin_trylock (pthread_spinlock_t *__lock)
6336 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6339 extern int pthread_spin_unlock (pthread_spinlock_t *__lock)
6340 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6347 extern int pthread_barrier_init (pthread_barrier_t *__restrict __barrier,
6348 __const pthread_barrierattr_t *__restrict
6349 __attr, unsigned int __count)
6350 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6353 extern int pthread_barrier_destroy (pthread_barrier_t *__barrier)
6354 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6357 extern int pthread_barrier_wait (pthread_barrier_t *__barrier)
6358 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6362 extern int pthread_barrierattr_init (pthread_barrierattr_t *__attr)
6363 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6366 extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr)
6367 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6370 extern int pthread_barrierattr_getpshared (__const pthread_barrierattr_t *
6372 int *__restrict __pshared)
6373 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
6376 extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr,
6378 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6379 # 1065 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4
6380 extern int pthread_key_create (pthread_key_t *__key,
6381 void (*__destr_function) (void *))
6382 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6385 extern int pthread_key_delete (pthread_key_t __key) __attribute__ ((__nothrow__));
6388 extern void *pthread_getspecific (pthread_key_t __key) __attribute__ ((__nothrow__));
6391 extern int pthread_setspecific (pthread_key_t __key,
6392 __const void *__pointer) __attribute__ ((__nothrow__)) ;
6397 extern int pthread_getcpuclockid (pthread_t __thread_id,
6398 __clockid_t *__clock_id)
6399 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
6400 # 1099 "/usr/include/gentoo-multilib/amd64/pthread.h" 3 4
6401 extern int pthread_atfork (void (*__prepare) (void),
6402 void (*__parent) (void),
6403 void (*__child) (void)) __attribute__ ((__nothrow__));
6409 __attribute__ ((__nothrow__)) pthread_equal (pthread_t __thread1, pthread_t __thread2)
6411 return __thread1 == __thread2;
6416 # 9 "/usr/include/pthread.h" 2 3 4
6417 # 27 "video_out_dfb.c" 2
6419 # 1 "/usr/include/directfb/directfb.h" 1
6420 # 29 "/usr/include/directfb/directfb.h"
6421 #define __DIRECTFB_H__
6423 # 1 "/usr/include/directfb/dfb_types.h" 1
6425 #define __DFB_TYPES_H__
6427 # 1 "/usr/include/sys/types.h" 1 3 4
6428 # 5 "/usr/include/directfb/dfb_types.h" 2
6432 #define __u8 u_int8_t
6433 #define __u16 u_int16_t
6434 #define __u32 u_int32_t
6435 #define __u64 u_int64_t
6438 #define __s16 int16_t
6439 #define __s32 int32_t
6440 #define __s64 int64_t
6441 # 32 "/usr/include/directfb/directfb.h" 2
6442 # 1 "/usr/include/sys/time.h" 1 3 4
6450 # 1 "/usr/include/gentoo-multilib/amd64/sys/time.h" 1 3 4
6451 # 21 "/usr/include/gentoo-multilib/amd64/sys/time.h" 3 4
6452 #define _SYS_TIME_H 1
6454 # 1 "/usr/include/features.h" 1 3 4
6455 # 24 "/usr/include/gentoo-multilib/amd64/sys/time.h" 2 3 4
6457 # 1 "/usr/include/bits/types.h" 1 3 4
6458 # 26 "/usr/include/gentoo-multilib/amd64/sys/time.h" 2 3 4
6459 #define __need_time_t
6460 # 1 "/usr/include/time.h" 1 3 4
6461 # 28 "/usr/include/gentoo-multilib/amd64/sys/time.h" 2 3 4
6462 #define __need_timeval
6463 # 1 "/usr/include/bits/time.h" 1 3 4
6471 # 1 "/usr/include/gentoo-multilib/amd64/bits/time.h" 1 3 4
6472 # 62 "/usr/include/gentoo-multilib/amd64/bits/time.h" 3 4
6473 #undef __need_timeval
6474 # 9 "/usr/include/bits/time.h" 2 3 4
6475 # 30 "/usr/include/gentoo-multilib/amd64/sys/time.h" 2 3 4
6477 # 1 "/usr/include/sys/select.h" 1 3 4
6478 # 32 "/usr/include/gentoo-multilib/amd64/sys/time.h" 2 3 4
6490 #define TIMEVAL_TO_TIMESPEC(tv,ts) { (ts)->tv_sec = (tv)->tv_sec; (ts)->tv_nsec = (tv)->tv_usec * 1000; }
6494 #define TIMESPEC_TO_TIMEVAL(tv,ts) { (tv)->tv_sec = (ts)->tv_sec; (tv)->tv_usec = (ts)->tv_nsec / 1000; }
6495 # 57 "/usr/include/gentoo-multilib/amd64/sys/time.h" 3 4
6502 typedef struct timezone *__restrict __timezone_ptr_t;
6503 # 73 "/usr/include/gentoo-multilib/amd64/sys/time.h" 3 4
6504 extern int gettimeofday (struct timeval *__restrict __tv,
6505 __timezone_ptr_t __tz) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6510 extern int settimeofday (__const struct timeval *__tv,
6511 __const struct timezone *__tz)
6512 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6518 extern int adjtime (__const struct timeval *__delta,
6519 struct timeval *__olddelta) __attribute__ ((__nothrow__));
6528 #define ITIMER_REAL ITIMER_REAL
6531 #define ITIMER_VIRTUAL ITIMER_VIRTUAL
6535 #define ITIMER_PROF ITIMER_PROF
6543 struct timeval it_interval;
6545 struct timeval it_value;
6551 typedef enum __itimer_which __itimer_which_t;
6558 extern int getitimer (__itimer_which_t __which,
6559 struct itimerval *__value) __attribute__ ((__nothrow__));
6564 extern int setitimer (__itimer_which_t __which,
6565 __const struct itimerval *__restrict __new,
6566 struct itimerval *__restrict __old) __attribute__ ((__nothrow__));
6571 extern int utimes (__const char *__file, __const struct timeval __tvp[2])
6572 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6576 extern int lutimes (__const char *__file, __const struct timeval __tvp[2])
6577 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
6580 extern int futimes (int __fd, __const struct timeval __tvp[2]) __attribute__ ((__nothrow__));
6587 extern int futimesat (int __fd, __const char *__file,
6588 __const struct timeval __tvp[2]) __attribute__ ((__nothrow__));
6595 #define timerisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec)
6596 #define timerclear(tvp) ((tvp)->tv_sec = (tvp)->tv_usec = 0)
6597 #define timercmp(a,b,CMP) (((a)->tv_sec == (b)->tv_sec) ? ((a)->tv_usec CMP (b)->tv_usec) : ((a)->tv_sec CMP (b)->tv_sec))
6601 #define timeradd(a,b,result) do { (result)->tv_sec = (a)->tv_sec + (b)->tv_sec; (result)->tv_usec = (a)->tv_usec + (b)->tv_usec; if ((result)->tv_usec >= 1000000) { ++(result)->tv_sec; (result)->tv_usec -= 1000000; } } while (0)
6602 # 180 "/usr/include/gentoo-multilib/amd64/sys/time.h" 3 4
6603 #define timersub(a,b,result) do { (result)->tv_sec = (a)->tv_sec - (b)->tv_sec; (result)->tv_usec = (a)->tv_usec - (b)->tv_usec; if ((result)->tv_usec < 0) { --(result)->tv_sec; (result)->tv_usec += 1000000; } } while (0)
6604 # 191 "/usr/include/gentoo-multilib/amd64/sys/time.h" 3 4
6606 # 9 "/usr/include/sys/time.h" 2 3 4
6607 # 33 "/usr/include/directfb/directfb.h" 2
6609 # 1 "/usr/include/directfb/directfb_keyboard.h" 1
6610 # 29 "/usr/include/directfb/directfb_keyboard.h"
6611 #define __DIRECTFB_KEYBOARD_H__
6612 # 40 "/usr/include/directfb/directfb_keyboard.h"
6614 DIKT_UNICODE = 0x0000,
6616 DIKT_SPECIAL = 0xF000,
6617 DIKT_FUNCTION = 0xF100,
6618 DIKT_MODIFIER = 0xF200,
6621 DIKT_CUSTOM = 0xF500,
6622 DIKT_IDENTIFIER = 0xF600
6623 } DFBInputDeviceKeyType;
6625 #define DFB_KEY(type,index) ((DIKT_ ##type) | (index))
6627 #define DFB_KEY_TYPE(symbol) ((symbol) & 0xFF00)
6628 #define DFB_KEY_INDEX(symbol) ((symbol) & 0x00FF)
6630 #define DFB_KEY_IS_ASCII(symbol) ((symbol) < 128)
6632 #define DFB_FUNCTION_KEY(n) (DFB_KEY( FUNCTION, n ))
6633 #define DFB_MODIFIER_KEY(i) (DFB_KEY( MODIFIER, (1 << i) ))
6634 #define DFB_CUSTOM_KEY(n) (DFB_KEY( CUSTOM, n ))
6636 #define DFB_LOWER_CASE(symbol) (((symbol) >= 'A' && (symbol) <= 'Z') ? ((symbol) | 0x20) : (symbol))
6638 #define DFB_UPPER_CASE(symbol) (((symbol) >= 'a' && (symbol) <= 'z') ? ((symbol) & ~0x20) : (symbol))
6653 DIMKI_FIRST = DIMKI_SHIFT,
6654 DIMKI_LAST = DIMKI_HYPER
6655 } DFBInputDeviceModifierKeyIdentifier;
6661 DIKI_UNKNOWN = ((DIKT_IDENTIFIER) | (0)),
6794 DIKI_NUMBER_OF_KEYS = DIKI_KEYDEF_END - ((DIKT_IDENTIFIER) | (0))
6796 } DFBInputDeviceKeyIdentifier;
6808 DIKS_NULL = ((DIKT_UNICODE) | (0x00)),
6809 DIKS_BACKSPACE = ((DIKT_UNICODE) | (0x08)),
6810 DIKS_TAB = ((DIKT_UNICODE) | (0x09)),
6811 DIKS_RETURN = ((DIKT_UNICODE) | (0x0D)),
6812 DIKS_CANCEL = ((DIKT_UNICODE) | (0x18)),
6813 DIKS_ESCAPE = ((DIKT_UNICODE) | (0x1B)),
6814 DIKS_SPACE = ((DIKT_UNICODE) | (0x20)),
6815 DIKS_EXCLAMATION_MARK = ((DIKT_UNICODE) | (0x21)),
6816 DIKS_QUOTATION = ((DIKT_UNICODE) | (0x22)),
6817 DIKS_NUMBER_SIGN = ((DIKT_UNICODE) | (0x23)),
6818 DIKS_DOLLAR_SIGN = ((DIKT_UNICODE) | (0x24)),
6819 DIKS_PERCENT_SIGN = ((DIKT_UNICODE) | (0x25)),
6820 DIKS_AMPERSAND = ((DIKT_UNICODE) | (0x26)),
6821 DIKS_APOSTROPHE = ((DIKT_UNICODE) | (0x27)),
6822 DIKS_PARENTHESIS_LEFT = ((DIKT_UNICODE) | (0x28)),
6823 DIKS_PARENTHESIS_RIGHT = ((DIKT_UNICODE) | (0x29)),
6824 DIKS_ASTERISK = ((DIKT_UNICODE) | (0x2A)),
6825 DIKS_PLUS_SIGN = ((DIKT_UNICODE) | (0x2B)),
6826 DIKS_COMMA = ((DIKT_UNICODE) | (0x2C)),
6827 DIKS_MINUS_SIGN = ((DIKT_UNICODE) | (0x2D)),
6828 DIKS_PERIOD = ((DIKT_UNICODE) | (0x2E)),
6829 DIKS_SLASH = ((DIKT_UNICODE) | (0x2F)),
6830 DIKS_0 = ((DIKT_UNICODE) | (0x30)),
6831 DIKS_1 = ((DIKT_UNICODE) | (0x31)),
6832 DIKS_2 = ((DIKT_UNICODE) | (0x32)),
6833 DIKS_3 = ((DIKT_UNICODE) | (0x33)),
6834 DIKS_4 = ((DIKT_UNICODE) | (0x34)),
6835 DIKS_5 = ((DIKT_UNICODE) | (0x35)),
6836 DIKS_6 = ((DIKT_UNICODE) | (0x36)),
6837 DIKS_7 = ((DIKT_UNICODE) | (0x37)),
6838 DIKS_8 = ((DIKT_UNICODE) | (0x38)),
6839 DIKS_9 = ((DIKT_UNICODE) | (0x39)),
6840 DIKS_COLON = ((DIKT_UNICODE) | (0x3A)),
6841 DIKS_SEMICOLON = ((DIKT_UNICODE) | (0x3B)),
6842 DIKS_LESS_THAN_SIGN = ((DIKT_UNICODE) | (0x3C)),
6843 DIKS_EQUALS_SIGN = ((DIKT_UNICODE) | (0x3D)),
6844 DIKS_GREATER_THAN_SIGN = ((DIKT_UNICODE) | (0x3E)),
6845 DIKS_QUESTION_MARK = ((DIKT_UNICODE) | (0x3F)),
6846 DIKS_AT = ((DIKT_UNICODE) | (0x40)),
6847 DIKS_CAPITAL_A = ((DIKT_UNICODE) | (0x41)),
6848 DIKS_CAPITAL_B = ((DIKT_UNICODE) | (0x42)),
6849 DIKS_CAPITAL_C = ((DIKT_UNICODE) | (0x43)),
6850 DIKS_CAPITAL_D = ((DIKT_UNICODE) | (0x44)),
6851 DIKS_CAPITAL_E = ((DIKT_UNICODE) | (0x45)),
6852 DIKS_CAPITAL_F = ((DIKT_UNICODE) | (0x46)),
6853 DIKS_CAPITAL_G = ((DIKT_UNICODE) | (0x47)),
6854 DIKS_CAPITAL_H = ((DIKT_UNICODE) | (0x48)),
6855 DIKS_CAPITAL_I = ((DIKT_UNICODE) | (0x49)),
6856 DIKS_CAPITAL_J = ((DIKT_UNICODE) | (0x4A)),
6857 DIKS_CAPITAL_K = ((DIKT_UNICODE) | (0x4B)),
6858 DIKS_CAPITAL_L = ((DIKT_UNICODE) | (0x4C)),
6859 DIKS_CAPITAL_M = ((DIKT_UNICODE) | (0x4D)),
6860 DIKS_CAPITAL_N = ((DIKT_UNICODE) | (0x4E)),
6861 DIKS_CAPITAL_O = ((DIKT_UNICODE) | (0x4F)),
6862 DIKS_CAPITAL_P = ((DIKT_UNICODE) | (0x50)),
6863 DIKS_CAPITAL_Q = ((DIKT_UNICODE) | (0x51)),
6864 DIKS_CAPITAL_R = ((DIKT_UNICODE) | (0x52)),
6865 DIKS_CAPITAL_S = ((DIKT_UNICODE) | (0x53)),
6866 DIKS_CAPITAL_T = ((DIKT_UNICODE) | (0x54)),
6867 DIKS_CAPITAL_U = ((DIKT_UNICODE) | (0x55)),
6868 DIKS_CAPITAL_V = ((DIKT_UNICODE) | (0x56)),
6869 DIKS_CAPITAL_W = ((DIKT_UNICODE) | (0x57)),
6870 DIKS_CAPITAL_X = ((DIKT_UNICODE) | (0x58)),
6871 DIKS_CAPITAL_Y = ((DIKT_UNICODE) | (0x59)),
6872 DIKS_CAPITAL_Z = ((DIKT_UNICODE) | (0x5A)),
6873 DIKS_SQUARE_BRACKET_LEFT = ((DIKT_UNICODE) | (0x5B)),
6874 DIKS_BACKSLASH = ((DIKT_UNICODE) | (0x5C)),
6875 DIKS_SQUARE_BRACKET_RIGHT = ((DIKT_UNICODE) | (0x5D)),
6876 DIKS_CIRCUMFLEX_ACCENT = ((DIKT_UNICODE) | (0x5E)),
6877 DIKS_UNDERSCORE = ((DIKT_UNICODE) | (0x5F)),
6878 DIKS_GRAVE_ACCENT = ((DIKT_UNICODE) | (0x60)),
6879 DIKS_SMALL_A = ((DIKT_UNICODE) | (0x61)),
6880 DIKS_SMALL_B = ((DIKT_UNICODE) | (0x62)),
6881 DIKS_SMALL_C = ((DIKT_UNICODE) | (0x63)),
6882 DIKS_SMALL_D = ((DIKT_UNICODE) | (0x64)),
6883 DIKS_SMALL_E = ((DIKT_UNICODE) | (0x65)),
6884 DIKS_SMALL_F = ((DIKT_UNICODE) | (0x66)),
6885 DIKS_SMALL_G = ((DIKT_UNICODE) | (0x67)),
6886 DIKS_SMALL_H = ((DIKT_UNICODE) | (0x68)),
6887 DIKS_SMALL_I = ((DIKT_UNICODE) | (0x69)),
6888 DIKS_SMALL_J = ((DIKT_UNICODE) | (0x6A)),
6889 DIKS_SMALL_K = ((DIKT_UNICODE) | (0x6B)),
6890 DIKS_SMALL_L = ((DIKT_UNICODE) | (0x6C)),
6891 DIKS_SMALL_M = ((DIKT_UNICODE) | (0x6D)),
6892 DIKS_SMALL_N = ((DIKT_UNICODE) | (0x6E)),
6893 DIKS_SMALL_O = ((DIKT_UNICODE) | (0x6F)),
6894 DIKS_SMALL_P = ((DIKT_UNICODE) | (0x70)),
6895 DIKS_SMALL_Q = ((DIKT_UNICODE) | (0x71)),
6896 DIKS_SMALL_R = ((DIKT_UNICODE) | (0x72)),
6897 DIKS_SMALL_S = ((DIKT_UNICODE) | (0x73)),
6898 DIKS_SMALL_T = ((DIKT_UNICODE) | (0x74)),
6899 DIKS_SMALL_U = ((DIKT_UNICODE) | (0x75)),
6900 DIKS_SMALL_V = ((DIKT_UNICODE) | (0x76)),
6901 DIKS_SMALL_W = ((DIKT_UNICODE) | (0x77)),
6902 DIKS_SMALL_X = ((DIKT_UNICODE) | (0x78)),
6903 DIKS_SMALL_Y = ((DIKT_UNICODE) | (0x79)),
6904 DIKS_SMALL_Z = ((DIKT_UNICODE) | (0x7A)),
6905 DIKS_CURLY_BRACKET_LEFT = ((DIKT_UNICODE) | (0x7B)),
6906 DIKS_VERTICAL_BAR = ((DIKT_UNICODE) | (0x7C)),
6907 DIKS_CURLY_BRACKET_RIGHT = ((DIKT_UNICODE) | (0x7D)),
6908 DIKS_TILDE = ((DIKT_UNICODE) | (0x7E)),
6909 DIKS_DELETE = ((DIKT_UNICODE) | (0x7F)),
6911 DIKS_ENTER = DIKS_RETURN,
6916 DIKS_CURSOR_LEFT = ((DIKT_SPECIAL) | (0x00)),
6917 DIKS_CURSOR_RIGHT = ((DIKT_SPECIAL) | (0x01)),
6918 DIKS_CURSOR_UP = ((DIKT_SPECIAL) | (0x02)),
6919 DIKS_CURSOR_DOWN = ((DIKT_SPECIAL) | (0x03)),
6920 DIKS_INSERT = ((DIKT_SPECIAL) | (0x04)),
6921 DIKS_HOME = ((DIKT_SPECIAL) | (0x05)),
6922 DIKS_END = ((DIKT_SPECIAL) | (0x06)),
6923 DIKS_PAGE_UP = ((DIKT_SPECIAL) | (0x07)),
6924 DIKS_PAGE_DOWN = ((DIKT_SPECIAL) | (0x08)),
6925 DIKS_PRINT = ((DIKT_SPECIAL) | (0x09)),
6926 DIKS_PAUSE = ((DIKT_SPECIAL) | (0x0A)),
6927 DIKS_OK = ((DIKT_SPECIAL) | (0x0B)),
6928 DIKS_SELECT = ((DIKT_SPECIAL) | (0x0C)),
6929 DIKS_GOTO = ((DIKT_SPECIAL) | (0x0D)),
6930 DIKS_CLEAR = ((DIKT_SPECIAL) | (0x0E)),
6931 DIKS_POWER = ((DIKT_SPECIAL) | (0x0F)),
6932 DIKS_POWER2 = ((DIKT_SPECIAL) | (0x10)),
6933 DIKS_OPTION = ((DIKT_SPECIAL) | (0x11)),
6934 DIKS_MENU = ((DIKT_SPECIAL) | (0x12)),
6935 DIKS_HELP = ((DIKT_SPECIAL) | (0x13)),
6936 DIKS_INFO = ((DIKT_SPECIAL) | (0x14)),
6937 DIKS_TIME = ((DIKT_SPECIAL) | (0x15)),
6938 DIKS_VENDOR = ((DIKT_SPECIAL) | (0x16)),
6940 DIKS_ARCHIVE = ((DIKT_SPECIAL) | (0x17)),
6941 DIKS_PROGRAM = ((DIKT_SPECIAL) | (0x18)),
6942 DIKS_CHANNEL = ((DIKT_SPECIAL) | (0x19)),
6943 DIKS_FAVORITES = ((DIKT_SPECIAL) | (0x1A)),
6944 DIKS_EPG = ((DIKT_SPECIAL) | (0x1B)),
6945 DIKS_PVR = ((DIKT_SPECIAL) | (0x1C)),
6946 DIKS_MHP = ((DIKT_SPECIAL) | (0x1D)),
6947 DIKS_LANGUAGE = ((DIKT_SPECIAL) | (0x1E)),
6948 DIKS_TITLE = ((DIKT_SPECIAL) | (0x1F)),
6949 DIKS_SUBTITLE = ((DIKT_SPECIAL) | (0x20)),
6950 DIKS_ANGLE = ((DIKT_SPECIAL) | (0x21)),
6951 DIKS_ZOOM = ((DIKT_SPECIAL) | (0x22)),
6952 DIKS_MODE = ((DIKT_SPECIAL) | (0x23)),
6953 DIKS_KEYBOARD = ((DIKT_SPECIAL) | (0x24)),
6954 DIKS_PC = ((DIKT_SPECIAL) | (0x25)),
6955 DIKS_SCREEN = ((DIKT_SPECIAL) | (0x26)),
6957 DIKS_TV = ((DIKT_SPECIAL) | (0x27)),
6958 DIKS_TV2 = ((DIKT_SPECIAL) | (0x28)),
6959 DIKS_VCR = ((DIKT_SPECIAL) | (0x29)),
6960 DIKS_VCR2 = ((DIKT_SPECIAL) | (0x2A)),
6961 DIKS_SAT = ((DIKT_SPECIAL) | (0x2B)),
6962 DIKS_SAT2 = ((DIKT_SPECIAL) | (0x2C)),
6963 DIKS_CD = ((DIKT_SPECIAL) | (0x2D)),
6964 DIKS_TAPE = ((DIKT_SPECIAL) | (0x2E)),
6965 DIKS_RADIO = ((DIKT_SPECIAL) | (0x2F)),
6966 DIKS_TUNER = ((DIKT_SPECIAL) | (0x30)),
6967 DIKS_PLAYER = ((DIKT_SPECIAL) | (0x31)),
6968 DIKS_TEXT = ((DIKT_SPECIAL) | (0x32)),
6969 DIKS_DVD = ((DIKT_SPECIAL) | (0x33)),
6970 DIKS_AUX = ((DIKT_SPECIAL) | (0x34)),
6971 DIKS_MP3 = ((DIKT_SPECIAL) | (0x35)),
6972 DIKS_PHONE = ((DIKT_SPECIAL) | (0x36)),
6973 DIKS_AUDIO = ((DIKT_SPECIAL) | (0x37)),
6974 DIKS_VIDEO = ((DIKT_SPECIAL) | (0x38)),
6976 DIKS_INTERNET = ((DIKT_SPECIAL) | (0x39)),
6977 DIKS_MAIL = ((DIKT_SPECIAL) | (0x3A)),
6978 DIKS_NEWS = ((DIKT_SPECIAL) | (0x3B)),
6979 DIKS_DIRECTORY = ((DIKT_SPECIAL) | (0x3C)),
6980 DIKS_LIST = ((DIKT_SPECIAL) | (0x3D)),
6981 DIKS_CALCULATOR = ((DIKT_SPECIAL) | (0x3E)),
6982 DIKS_MEMO = ((DIKT_SPECIAL) | (0x3F)),
6983 DIKS_CALENDAR = ((DIKT_SPECIAL) | (0x40)),
6984 DIKS_EDITOR = ((DIKT_SPECIAL) | (0x41)),
6986 DIKS_RED = ((DIKT_SPECIAL) | (0x42)),
6987 DIKS_GREEN = ((DIKT_SPECIAL) | (0x43)),
6988 DIKS_YELLOW = ((DIKT_SPECIAL) | (0x44)),
6989 DIKS_BLUE = ((DIKT_SPECIAL) | (0x45)),
6991 DIKS_CHANNEL_UP = ((DIKT_SPECIAL) | (0x46)),
6992 DIKS_CHANNEL_DOWN = ((DIKT_SPECIAL) | (0x47)),
6993 DIKS_BACK = ((DIKT_SPECIAL) | (0x48)),
6994 DIKS_FORWARD = ((DIKT_SPECIAL) | (0x49)),
6995 DIKS_FIRST = ((DIKT_SPECIAL) | (0x4A)),
6996 DIKS_LAST = ((DIKT_SPECIAL) | (0x4B)),
6997 DIKS_VOLUME_UP = ((DIKT_SPECIAL) | (0x4C)),
6998 DIKS_VOLUME_DOWN = ((DIKT_SPECIAL) | (0x4D)),
6999 DIKS_MUTE = ((DIKT_SPECIAL) | (0x4E)),
7000 DIKS_AB = ((DIKT_SPECIAL) | (0x4F)),
7001 DIKS_PLAYPAUSE = ((DIKT_SPECIAL) | (0x50)),
7002 DIKS_PLAY = ((DIKT_SPECIAL) | (0x51)),
7003 DIKS_STOP = ((DIKT_SPECIAL) | (0x52)),
7004 DIKS_RESTART = ((DIKT_SPECIAL) | (0x53)),
7005 DIKS_SLOW = ((DIKT_SPECIAL) | (0x54)),
7006 DIKS_FAST = ((DIKT_SPECIAL) | (0x55)),
7007 DIKS_RECORD = ((DIKT_SPECIAL) | (0x56)),
7008 DIKS_EJECT = ((DIKT_SPECIAL) | (0x57)),
7009 DIKS_SHUFFLE = ((DIKT_SPECIAL) | (0x58)),
7010 DIKS_REWIND = ((DIKT_SPECIAL) | (0x59)),
7011 DIKS_FASTFORWARD = ((DIKT_SPECIAL) | (0x5A)),
7012 DIKS_PREVIOUS = ((DIKT_SPECIAL) | (0x5B)),
7013 DIKS_NEXT = ((DIKT_SPECIAL) | (0x5C)),
7014 DIKS_BEGIN = ((DIKT_SPECIAL) | (0x5D)),
7016 DIKS_DIGITS = ((DIKT_SPECIAL) | (0x5E)),
7017 DIKS_TEEN = ((DIKT_SPECIAL) | (0x5F)),
7018 DIKS_TWEN = ((DIKT_SPECIAL) | (0x60)),
7020 DIKS_BREAK = ((DIKT_SPECIAL) | (0x61)),
7021 DIKS_EXIT = ((DIKT_SPECIAL) | (0x62)),
7022 DIKS_SETUP = ((DIKT_SPECIAL) | (0x63)),
7024 DIKS_CURSOR_LEFT_UP = ((DIKT_SPECIAL) | (0x64)),
7025 DIKS_CURSOR_LEFT_DOWN = ((DIKT_SPECIAL) | (0x65)),
7026 DIKS_CURSOR_UP_RIGHT = ((DIKT_SPECIAL) | (0x66)),
7027 DIKS_CURSOR_DOWN_RIGHT = ((DIKT_SPECIAL) | (0x67)),
7034 DIKS_F1 = (((DIKT_FUNCTION) | (1))),
7035 DIKS_F2 = (((DIKT_FUNCTION) | (2))),
7036 DIKS_F3 = (((DIKT_FUNCTION) | (3))),
7037 DIKS_F4 = (((DIKT_FUNCTION) | (4))),
7038 DIKS_F5 = (((DIKT_FUNCTION) | (5))),
7039 DIKS_F6 = (((DIKT_FUNCTION) | (6))),
7040 DIKS_F7 = (((DIKT_FUNCTION) | (7))),
7041 DIKS_F8 = (((DIKT_FUNCTION) | (8))),
7042 DIKS_F9 = (((DIKT_FUNCTION) | (9))),
7043 DIKS_F10 = (((DIKT_FUNCTION) | (10))),
7044 DIKS_F11 = (((DIKT_FUNCTION) | (11))),
7045 DIKS_F12 = (((DIKT_FUNCTION) | (12))),
7050 DIKS_SHIFT = (((DIKT_MODIFIER) | ((1 << DIMKI_SHIFT)))),
7051 DIKS_CONTROL = (((DIKT_MODIFIER) | ((1 << DIMKI_CONTROL)))),
7052 DIKS_ALT = (((DIKT_MODIFIER) | ((1 << DIMKI_ALT)))),
7053 DIKS_ALTGR = (((DIKT_MODIFIER) | ((1 << DIMKI_ALTGR)))),
7054 DIKS_META = (((DIKT_MODIFIER) | ((1 << DIMKI_META)))),
7055 DIKS_SUPER = (((DIKT_MODIFIER) | ((1 << DIMKI_SUPER)))),
7056 DIKS_HYPER = (((DIKT_MODIFIER) | ((1 << DIMKI_HYPER)))),
7061 DIKS_CAPS_LOCK = ((DIKT_LOCK) | (0x00)),
7062 DIKS_NUM_LOCK = ((DIKT_LOCK) | (0x01)),
7063 DIKS_SCROLL_LOCK = ((DIKT_LOCK) | (0x02)),
7068 DIKS_DEAD_ABOVEDOT = ((DIKT_DEAD) | (0x00)),
7069 DIKS_DEAD_ABOVERING = ((DIKT_DEAD) | (0x01)),
7070 DIKS_DEAD_ACUTE = ((DIKT_DEAD) | (0x02)),
7071 DIKS_DEAD_BREVE = ((DIKT_DEAD) | (0x03)),
7072 DIKS_DEAD_CARON = ((DIKT_DEAD) | (0x04)),
7073 DIKS_DEAD_CEDILLA = ((DIKT_DEAD) | (0x05)),
7074 DIKS_DEAD_CIRCUMFLEX = ((DIKT_DEAD) | (0x06)),
7075 DIKS_DEAD_DIAERESIS = ((DIKT_DEAD) | (0x07)),
7076 DIKS_DEAD_DOUBLEACUTE = ((DIKT_DEAD) | (0x08)),
7077 DIKS_DEAD_GRAVE = ((DIKT_DEAD) | (0x09)),
7078 DIKS_DEAD_IOTA = ((DIKT_DEAD) | (0x0A)),
7079 DIKS_DEAD_MACRON = ((DIKT_DEAD) | (0x0B)),
7080 DIKS_DEAD_OGONEK = ((DIKT_DEAD) | (0x0C)),
7081 DIKS_DEAD_SEMIVOICED_SOUND = ((DIKT_DEAD) | (0x0D)),
7082 DIKS_DEAD_TILDE = ((DIKT_DEAD) | (0x0E)),
7083 DIKS_DEAD_VOICED_SOUND = ((DIKT_DEAD) | (0x0F)),
7090 DIKS_CUSTOM0 = (((DIKT_CUSTOM) | (0))),
7091 DIKS_CUSTOM1 = (((DIKT_CUSTOM) | (1))),
7092 DIKS_CUSTOM2 = (((DIKT_CUSTOM) | (2))),
7093 DIKS_CUSTOM3 = (((DIKT_CUSTOM) | (3))),
7094 DIKS_CUSTOM4 = (((DIKT_CUSTOM) | (4))),
7095 DIKS_CUSTOM5 = (((DIKT_CUSTOM) | (5))),
7096 DIKS_CUSTOM6 = (((DIKT_CUSTOM) | (6))),
7097 DIKS_CUSTOM7 = (((DIKT_CUSTOM) | (7))),
7098 DIKS_CUSTOM8 = (((DIKT_CUSTOM) | (8))),
7099 DIKS_CUSTOM9 = (((DIKT_CUSTOM) | (9)))
7100 } DFBInputDeviceKeySymbol;
7106 DILS_SCROLL = 0x00000001,
7107 DILS_NUM = 0x00000002,
7108 DILS_CAPS = 0x00000004
7109 } DFBInputDeviceLockState;
7117 DIKSI_BASE_SHIFT = 0x01,
7121 DIKSI_ALT_SHIFT = 0x03,
7124 DIKSI_LAST = DIKSI_ALT_SHIFT
7125 } DFBInputDeviceKeymapSymbolIndex;
7133 DFBInputDeviceLockState locks;
7135 DFBInputDeviceKeyIdentifier identifier;
7136 DFBInputDeviceKeySymbol symbols[DIKSI_LAST+1];
7138 } DFBInputDeviceKeymapEntry;
7139 # 35 "/usr/include/directfb/directfb.h" 2
7140 # 46 "/usr/include/directfb/directfb.h"
7141 #define DECLARE_INTERFACE(IFACE) typedef struct _ ##IFACE IFACE;
7149 #define DEFINE_INTERFACE(IFACE,IDATA...) struct _ ##IFACE { void *priv; int magic; DFBResult (*AddRef)( IFACE *thiz ); DFBResult (*Release)( IFACE *thiz ); IDATA };
7150 # 68 "/usr/include/directfb/directfb.h"
7151 extern const unsigned int directfb_major_version;
7152 extern const unsigned int directfb_minor_version;
7153 extern const unsigned int directfb_micro_version;
7154 extern const unsigned int directfb_binary_age;
7155 extern const unsigned int directfb_interface_age;
7161 const char * DirectFBCheckVersion( unsigned int required_major,
7162 unsigned int required_minor,
7163 unsigned int required_micro );
7170 typedef struct _IDirectFB IDirectFB;
7177 typedef struct _IDirectFBScreen IDirectFBScreen;
7183 typedef struct _IDirectFBDisplayLayer IDirectFBDisplayLayer;
7189 typedef struct _IDirectFBSurface IDirectFBSurface;
7194 typedef struct _IDirectFBPalette IDirectFBPalette;
7201 typedef struct _IDirectFBWindow IDirectFBWindow;
7206 typedef struct _IDirectFBInputDevice IDirectFBInputDevice;
7211 typedef struct _IDirectFBEventBuffer IDirectFBEventBuffer;
7216 typedef struct _IDirectFBFont IDirectFBFont;
7221 typedef struct _IDirectFBImageProvider IDirectFBImageProvider;
7226 typedef struct _IDirectFBVideoProvider IDirectFBVideoProvider;
7231 typedef struct _IDirectFBDataBuffer IDirectFBDataBuffer;
7236 typedef struct _IDirectFBGL IDirectFBGL;
7278 DFB_VERSIONMISMATCH,
7288 DFB_TRUE = !DFB_FALSE
7386 #define DFB_RECTANGLE_EQUAL(a,b) ((a).x == (b).x && (a).y == (b).y && (a).w == (b).w && (a).h == (b).h)
7394 #define DFB_LOCATION_EQUAL(a,b) ((a).x == (b).x && (a).y == (b).y && (a).w == (b).w && (a).h == (b).h)
7402 #define DFB_REGION_EQUAL(a,b) ((a).x1 == (b).x1 && (a).y1 == (b).y1 && (a).x2 == (b).x2 && (a).y2 == (b).y2)
7410 #define DFB_COLOR_EQUAL(x,y) ((x).a == (y).a && (x).r == (y).r && (x).g == (y).g && (x).b == (y).b)
7411 # 336 "/usr/include/directfb/directfb.h"
7412 DFBResult DirectFBError(
7420 DFBResult DirectFBErrorFatal(
7428 const char *DirectFBErrorString(
7437 const char *DirectFBUsageString( void );
7444 DFBResult DirectFBInit(
7454 DFBResult DirectFBSetOption(
7462 DFBResult DirectFBCreate(
7463 IDirectFB **interface
7468 typedef unsigned int DFBScreenID;
7469 typedef unsigned int DFBDisplayLayerID;
7470 typedef unsigned int DFBDisplayLayerSourceID;
7471 typedef unsigned int DFBWindowID;
7472 typedef unsigned int DFBInputDeviceID;
7474 typedef u_int32_t DFBDisplayLayerIDs;
7479 #define DFB_DISPLAYLAYER_IDS_MAX 32
7484 #define DFB_DISPLAYLAYER_IDS_ADD(ids,id) (ids) |= (1 << (id))
7489 #define DFB_DISPLAYLAYER_IDS_REMOVE(ids,id) (ids) &= ~(1 << (id))
7494 #define DFB_DISPLAYLAYER_IDS_HAVE(ids,id) ((ids) & (1 << (id)))
7499 #define DFB_DISPLAYLAYER_IDS_EMPTY(ids) (ids) = 0
7506 DFSCL_NORMAL = 0x00000000,
7522 } DFBCooperativeLevel;
7528 DLCAPS_NONE = 0x00000000,
7530 DLCAPS_SURFACE = 0x00000001,
7534 DLCAPS_OPACITY = 0x00000002,
7536 DLCAPS_ALPHACHANNEL = 0x00000004,
7538 DLCAPS_SCREEN_LOCATION = 0x00000008,
7541 DLCAPS_FLICKER_FILTERING = 0x00000010,
7543 DLCAPS_DEINTERLACING = 0x00000020,
7546 DLCAPS_SRC_COLORKEY = 0x00000040,
7547 DLCAPS_DST_COLORKEY = 0x00000080,
7550 DLCAPS_BRIGHTNESS = 0x00000100,
7551 DLCAPS_CONTRAST = 0x00000200,
7552 DLCAPS_HUE = 0x00000400,
7553 DLCAPS_SATURATION = 0x00000800,
7554 DLCAPS_LEVELS = 0x00001000,
7556 DLCAPS_FIELD_PARITY = 0x00002000,
7557 DLCAPS_WINDOWS = 0x00004000,
7558 DLCAPS_SOURCES = 0x00008000,
7559 DLCAPS_ALPHA_RAMP = 0x00010000,
7565 DLCAPS_PREMULTIPLIED = 0x00020000,
7567 DLCAPS_SCREEN_POSITION = 0x00100000,
7568 DLCAPS_SCREEN_SIZE = 0x00200000,
7570 DLCAPS_ALL = 0x0033FFFF
7571 } DFBDisplayLayerCapabilities;
7577 DSCCAPS_NONE = 0x00000000,
7579 DSCCAPS_VSYNC = 0x00000001,
7581 DSCCAPS_POWER_MANAGEMENT = 0x00000002,
7583 DSCCAPS_MIXERS = 0x00000010,
7584 DSCCAPS_ENCODERS = 0x00000020,
7585 DSCCAPS_OUTPUTS = 0x00000040,
7587 DSCCAPS_ALL = 0x00000073
7588 } DFBScreenCapabilities;
7594 DLOP_NONE = 0x00000000,
7595 DLOP_ALPHACHANNEL = 0x00000001,
7598 DLOP_FLICKER_FILTERING = 0x00000002,
7599 DLOP_DEINTERLACING = 0x00000004,
7601 DLOP_SRC_COLORKEY = 0x00000008,
7602 DLOP_DST_COLORKEY = 0x00000010,
7603 DLOP_OPACITY = 0x00000020,
7605 DLOP_FIELD_PARITY = 0x00000040
7606 } DFBDisplayLayerOptions;
7612 DLBM_UNKNOWN = 0x00000000,
7614 DLBM_FRONTONLY = 0x00000001,
7615 DLBM_BACKVIDEO = 0x00000002,
7616 DLBM_BACKSYSTEM = 0x00000004,
7617 DLBM_TRIPLE = 0x00000008,
7618 DLBM_WINDOWS = 0x00000010
7620 } DFBDisplayLayerBufferMode;
7626 DSDESC_NONE = 0x00000000,
7628 DSDESC_CAPS = 0x00000001,
7629 DSDESC_WIDTH = 0x00000002,
7630 DSDESC_HEIGHT = 0x00000004,
7631 DSDESC_PIXELFORMAT = 0x00000008,
7632 DSDESC_PREALLOCATED = 0x00000010,
7639 DSDESC_PALETTE = 0x00000020,
7643 DSDESC_ALL = 0x0000003F
7644 } DFBSurfaceDescriptionFlags;
7650 DPDESC_CAPS = 0x00000001,
7651 DPDESC_SIZE = 0x00000002,
7652 DPDESC_ENTRIES = 0x00000004
7655 } DFBPaletteDescriptionFlags;
7661 DSCAPS_NONE = 0x00000000,
7663 DSCAPS_PRIMARY = 0x00000001,
7664 DSCAPS_SYSTEMONLY = 0x00000002,
7666 DSCAPS_VIDEOONLY = 0x00000004,
7668 DSCAPS_DOUBLE = 0x00000010,
7669 DSCAPS_SUBSURFACE = 0x00000020,
7671 DSCAPS_INTERLACED = 0x00000040,
7675 DSCAPS_SEPARATED = 0x00000080,
7679 DSCAPS_STATIC_ALLOC = 0x00000100,
7685 DSCAPS_TRIPLE = 0x00000200,
7687 DSCAPS_PREMULTIPLIED = 0x00001000,
7689 DSCAPS_DEPTH = 0x00010000,
7691 DSCAPS_ALL = 0x000113F7,
7694 DSCAPS_FLIPPING = DSCAPS_DOUBLE | DSCAPS_TRIPLE
7696 } DFBSurfaceCapabilities;
7702 DPCAPS_NONE = 0x00000000
7703 } DFBPaletteCapabilities;
7709 DSDRAW_NOFX = 0x00000000,
7710 DSDRAW_BLEND = 0x00000001,
7711 DSDRAW_DST_COLORKEY = 0x00000002,
7713 DSDRAW_SRC_PREMULTIPLY = 0x00000004,
7715 DSDRAW_DST_PREMULTIPLY = 0x00000008,
7716 DSDRAW_DEMULTIPLY = 0x00000010,
7718 DSDRAW_XOR = 0x00000020
7720 } DFBSurfaceDrawingFlags;
7726 DSBLIT_NOFX = 0x00000000,
7727 DSBLIT_BLEND_ALPHACHANNEL = 0x00000001,
7729 DSBLIT_BLEND_COLORALPHA = 0x00000002,
7731 DSBLIT_COLORIZE = 0x00000004,
7733 DSBLIT_SRC_COLORKEY = 0x00000008,
7734 DSBLIT_DST_COLORKEY = 0x00000010,
7736 DSBLIT_SRC_PREMULTIPLY = 0x00000020,
7738 DSBLIT_DST_PREMULTIPLY = 0x00000040,
7739 DSBLIT_DEMULTIPLY = 0x00000080,
7741 DSBLIT_DEINTERLACE = 0x00000100,
7744 DSBLIT_SRC_PREMULTCOLOR = 0x00000200,
7745 DSBLIT_XOR = 0x00000400
7747 } DFBSurfaceBlittingFlags;
7753 DFXL_NONE = 0x00000000,
7755 DFXL_FILLRECTANGLE = 0x00000001,
7756 DFXL_DRAWRECTANGLE = 0x00000002,
7757 DFXL_DRAWLINE = 0x00000004,
7758 DFXL_FILLTRIANGLE = 0x00000008,
7760 DFXL_BLIT = 0x00010000,
7761 DFXL_STRETCHBLIT = 0x00020000,
7762 DFXL_TEXTRIANGLES = 0x00040000,
7764 DFXL_DRAWSTRING = 0x01000000,
7766 DFXL_ALL = 0x0107000F
7767 } DFBAccelerationMask;
7773 #define DFB_DRAWING_FUNCTION(a) ((a) & 0x0000FFFF)
7778 #define DFB_BLITTING_FUNCTION(a) ((a) & 0xFFFF0000)
7785 DLTF_NONE = 0x00000000,
7787 DLTF_GRAPHICS = 0x00000001,
7788 DLTF_VIDEO = 0x00000002,
7789 DLTF_STILL_PICTURE = 0x00000004,
7790 DLTF_BACKGROUND = 0x00000008,
7792 DLTF_ALL = 0x0000000F
7793 } DFBDisplayLayerTypeFlags;
7800 DIDTF_NONE = 0x00000000,
7802 DIDTF_KEYBOARD = 0x00000001,
7803 DIDTF_MOUSE = 0x00000002,
7804 DIDTF_JOYSTICK = 0x00000004,
7805 DIDTF_REMOTE = 0x00000008,
7806 DIDTF_VIRTUAL = 0x00000010,
7808 DIDTF_ALL = 0x0000001F
7809 } DFBInputDeviceTypeFlags;
7815 DICAPS_KEYS = 0x00000001,
7816 DICAPS_AXES = 0x00000002,
7817 DICAPS_BUTTONS = 0x00000004,
7819 DICAPS_ALL = 0x00000007
7820 } DFBInputDeviceCapabilities;
7826 DIBI_LEFT = 0x00000000,
7827 DIBI_RIGHT = 0x00000001,
7828 DIBI_MIDDLE = 0x00000002,
7830 DIBI_FIRST = DIBI_LEFT,
7832 DIBI_LAST = 0x0000001F
7833 } DFBInputDeviceButtonIdentifier;
7834 # 766 "/usr/include/directfb/directfb.h"
7836 DIAI_X = 0x00000000,
7837 DIAI_Y = 0x00000001,
7838 DIAI_Z = 0x00000002,
7840 DIAI_FIRST = DIAI_X,
7842 DIAI_LAST = 0x0000001F
7843 } DFBInputDeviceAxisIdentifier;
7849 DWDESC_CAPS = 0x00000001,
7850 DWDESC_WIDTH = 0x00000002,
7851 DWDESC_HEIGHT = 0x00000004,
7852 DWDESC_PIXELFORMAT = 0x00000008,
7853 DWDESC_POSX = 0x00000010,
7854 DWDESC_POSY = 0x00000020,
7855 DWDESC_SURFACE_CAPS = 0x00000040
7857 } DFBWindowDescriptionFlags;
7863 DBDESC_FILE = 0x00000001,
7865 DBDESC_MEMORY = 0x00000002
7867 } DFBDataBufferDescriptionFlags;
7873 DWCAPS_NONE = 0x00000000,
7874 DWCAPS_ALPHACHANNEL = 0x00000001,
7876 DWCAPS_DOUBLEBUFFER = 0x00000002,
7884 DWCAPS_INPUTONLY = 0x00000004,
7887 DWCAPS_NODECORATION = 0x00000008,
7888 DWCAPS_ALL = 0x0000000F
7889 } DFBWindowCapabilities;
7890 # 832 "/usr/include/directfb/directfb.h"
7892 DFFA_NONE = 0x00000000,
7893 DFFA_NOKERNING = 0x00000001,
7894 DFFA_NOHINTING = 0x00000002,
7895 DFFA_MONOCHROME = 0x00000004,
7896 DFFA_NOCHARMAP = 0x00000008
7898 } DFBFontAttributes;
7904 DFDESC_ATTRIBUTES = 0x00000001,
7905 DFDESC_HEIGHT = 0x00000002,
7906 DFDESC_WIDTH = 0x00000004,
7907 DFDESC_INDEX = 0x00000008,
7908 DFDESC_FIXEDADVANCE = 0x00000010,
7911 DFDESC_FRACT_HEIGHT = 0x00000020,
7912 DFDESC_FRACT_WIDTH = 0x00000040,
7913 } DFBFontDescriptionFlags;
7914 # 872 "/usr/include/directfb/directfb.h"
7916 DFBFontDescriptionFlags flags;
7918 DFBFontAttributes attributes;
7926 } DFBFontDescription;
7927 # 904 "/usr/include/directfb/directfb.h"
7928 #define DFB_SURFACE_PIXELFORMAT(index,color_bits,alpha_bits,has_alpha,row_bits,row_bytes,align,mul_f,mul_d,has_lut,inv_alpha) ( (((index ) & 0x7F) ) | (((color_bits) & 0x1F) << 7) | (((alpha_bits) & 0x0F) << 12) | (((has_alpha ) ? 1 :0) << 16) | (((row_bits ) & 0x07) << 17) | (((row_bytes ) & 0x07) << 20) | (((align ) & 0x07) << 23) | (((mul_f ) & 0x03) << 26) | (((mul_d ) & 0x03) << 28) | (((has_lut ) ? 1 :0) << 30) | (((inv_alpha ) ? 1 :0) << 31) )
7929 # 922 "/usr/include/directfb/directfb.h"
7931 DSPF_UNKNOWN = 0x00000000,
7934 DSPF_ARGB1555 = ( (((0 ) & 0x7F) ) | (((15) & 0x1F) << 7) | (((1) & 0x0F) << 12) | (((1 ) ? 1 :0) << 16) | (((0 ) & 0x07) << 17) | (((2 ) & 0x07) << 20) | (((0 ) & 0x07) << 23) | (((0 ) & 0x03) << 26) | (((0 ) & 0x03) << 28) | (((0 ) ? 1 :0) << 30) | (((0 ) ? 1 :0) << 31) ),
7937 DSPF_RGB16 = ( (((1 ) & 0x7F) ) | (((16) & 0x1F) << 7) | (((0) & 0x0F) << 12) | (((0 ) ? 1 :0) << 16) | (((0 ) & 0x07) << 17) | (((2 ) & 0x07) << 20) | (((0 ) & 0x07) << 23) | (((0 ) & 0x03) << 26) | (((0 ) & 0x03) << 28) | (((0 ) ? 1 :0) << 30) | (((0 ) ? 1 :0) << 31) ),
7940 DSPF_RGB24 = ( (((2 ) & 0x7F) ) | (((24) & 0x1F) << 7) | (((0) & 0x0F) << 12) | (((0 ) ? 1 :0) << 16) | (((0 ) & 0x07) << 17) | (((3 ) & 0x07) << 20) | (((0 ) & 0x07) << 23) | (((0 ) & 0x03) << 26) | (((0 ) & 0x03) << 28) | (((0 ) ? 1 :0) << 30) | (((0 ) ? 1 :0) << 31) ),
7943 DSPF_RGB32 = ( (((3 ) & 0x7F) ) | (((24) & 0x1F) << 7) | (((0) & 0x0F) << 12) | (((0 ) ? 1 :0) << 16) | (((0 ) & 0x07) << 17) | (((4 ) & 0x07) << 20) | (((0 ) & 0x07) << 23) | (((0 ) & 0x03) << 26) | (((0 ) & 0x03) << 28) | (((0 ) ? 1 :0) << 30) | (((0 ) ? 1 :0) << 31) ),
7946 DSPF_ARGB = ( (((4 ) & 0x7F) ) | (((24) & 0x1F) << 7) | (((8) & 0x0F) << 12) | (((1 ) ? 1 :0) << 16) | (((0 ) & 0x07) << 17) | (((4 ) & 0x07) << 20) | (((0 ) & 0x07) << 23) | (((0 ) & 0x03) << 26) | (((0 ) & 0x03) << 28) | (((0 ) ? 1 :0) << 30) | (((0 ) ? 1 :0) << 31) ),
7949 DSPF_A8 = ( (((5 ) & 0x7F) ) | (((0) & 0x1F) << 7) | (((8) & 0x0F) << 12) | (((1 ) ? 1 :0) << 16) | (((0 ) & 0x07) << 17) | (((1 ) & 0x07) << 20) | (((0 ) & 0x07) << 23) | (((0 ) & 0x03) << 26) | (((0 ) & 0x03) << 28) | (((0 ) ? 1 :0) << 30) | (((0 ) ? 1 :0) << 31) ),
7952 DSPF_YUY2 = ( (((6 ) & 0x7F) ) | (((16) & 0x1F) << 7) | (((0) & 0x0F) << 12) | (((0 ) ? 1 :0) << 16) | (((0 ) & 0x07) << 17) | (((2 ) & 0x07) << 20) | (((0 ) & 0x07) << 23) | (((0 ) & 0x03) << 26) | (((0 ) & 0x03) << 28) | (((0 ) ? 1 :0) << 30) | (((0 ) ? 1 :0) << 31) ),
7955 DSPF_RGB332 = ( (((7 ) & 0x7F) ) | (((8) & 0x1F) << 7) | (((0) & 0x0F) << 12) | (((0 ) ? 1 :0) << 16) | (((0 ) & 0x07) << 17) | (((1 ) & 0x07) << 20) | (((0 ) & 0x07) << 23) | (((0 ) & 0x03) << 26) | (((0 ) & 0x03) << 28) | (((0 ) ? 1 :0) << 30) | (((0 ) ? 1 :0) << 31) ),
7958 DSPF_UYVY = ( (((8 ) & 0x7F) ) | (((16) & 0x1F) << 7) | (((0) & 0x0F) << 12) | (((0 ) ? 1 :0) << 16) | (((0 ) & 0x07) << 17) | (((2 ) & 0x07) << 20) | (((0 ) & 0x07) << 23) | (((0 ) & 0x03) << 26) | (((0 ) & 0x03) << 28) | (((0 ) ? 1 :0) << 30) | (((0 ) ? 1 :0) << 31) ),
7961 DSPF_I420 = ( (((9 ) & 0x7F) ) | (((12) & 0x1F) << 7) | (((0) & 0x0F) << 12) | (((0 ) ? 1 :0) << 16) | (((0 ) & 0x07) << 17) | (((1 ) & 0x07) << 20) | (((0 ) & 0x07) << 23) | (((2 ) & 0x03) << 26) | (((0 ) & 0x03) << 28) | (((0 ) ? 1 :0) << 30) | (((0 ) ? 1 :0) << 31) ),
7964 DSPF_YV12 = ( (((10 ) & 0x7F) ) | (((12) & 0x1F) << 7) | (((0) & 0x0F) << 12) | (((0 ) ? 1 :0) << 16) | (((0 ) & 0x07) << 17) | (((1 ) & 0x07) << 20) | (((0 ) & 0x07) << 23) | (((2 ) & 0x03) << 26) | (((0 ) & 0x03) << 28) | (((0 ) ? 1 :0) << 30) | (((0 ) ? 1 :0) << 31) ),
7967 DSPF_LUT8 = ( (((11 ) & 0x7F) ) | (((8) & 0x1F) << 7) | (((0) & 0x0F) << 12) | (((1 ) ? 1 :0) << 16) | (((0 ) & 0x07) << 17) | (((1 ) & 0x07) << 20) | (((0 ) & 0x07) << 23) | (((0 ) & 0x03) << 26) | (((0 ) & 0x03) << 28) | (((1 ) ? 1 :0) << 30) | (((0 ) ? 1 :0) << 31) ),
7970 DSPF_ALUT44 = ( (((12 ) & 0x7F) ) | (((4) & 0x1F) << 7) | (((4) & 0x0F) << 12) | (((1 ) ? 1 :0) << 16) | (((0 ) & 0x07) << 17) | (((1 ) & 0x07) << 20) | (((0 ) & 0x07) << 23) | (((0 ) & 0x03) << 26) | (((0 ) & 0x03) << 28) | (((1 ) ? 1 :0) << 30) | (((0 ) ? 1 :0) << 31) ),
7973 DSPF_AiRGB = ( (((13 ) & 0x7F) ) | (((24) & 0x1F) << 7) | (((8) & 0x0F) << 12) | (((1 ) ? 1 :0) << 16) | (((0 ) & 0x07) << 17) | (((4 ) & 0x07) << 20) | (((0 ) & 0x07) << 23) | (((0 ) & 0x03) << 26) | (((0 ) & 0x03) << 28) | (((0 ) ? 1 :0) << 30) | (((1 ) ? 1 :0) << 31) ),
7976 DSPF_A1 = ( (((14 ) & 0x7F) ) | (((0) & 0x1F) << 7) | (((1) & 0x0F) << 12) | (((1 ) ? 1 :0) << 16) | (((1 ) & 0x07) << 17) | (((0 ) & 0x07) << 20) | (((7 ) & 0x07) << 23) | (((0 ) & 0x03) << 26) | (((0 ) & 0x03) << 28) | (((0 ) ? 1 :0) << 30) | (((0 ) ? 1 :0) << 31) ),
7979 DSPF_NV12 = ( (((15 ) & 0x7F) ) | (((12) & 0x1F) << 7) | (((0) & 0x0F) << 12) | (((0 ) ? 1 :0) << 16) | (((0 ) & 0x07) << 17) | (((1 ) & 0x07) << 20) | (((0 ) & 0x07) << 23) | (((2 ) & 0x03) << 26) | (((0 ) & 0x03) << 28) | (((0 ) ? 1 :0) << 30) | (((0 ) ? 1 :0) << 31) ),
7982 DSPF_NV16 = ( (((16 ) & 0x7F) ) | (((24) & 0x1F) << 7) | (((0) & 0x0F) << 12) | (((0 ) ? 1 :0) << 16) | (((0 ) & 0x07) << 17) | (((1 ) & 0x07) << 20) | (((0 ) & 0x07) << 23) | (((0 ) & 0x03) << 26) | (((1 ) & 0x03) << 28) | (((0 ) ? 1 :0) << 30) | (((0 ) ? 1 :0) << 31) ),
7985 DSPF_ARGB2554 = ( (((17 ) & 0x7F) ) | (((14) & 0x1F) << 7) | (((2) & 0x0F) << 12) | (((1 ) ? 1 :0) << 16) | (((0 ) & 0x07) << 17) | (((2 ) & 0x07) << 20) | (((0 ) & 0x07) << 23) | (((0 ) & 0x03) << 26) | (((0 ) & 0x03) << 28) | (((0 ) ? 1 :0) << 30) | (((0 ) ? 1 :0) << 31) ),
7988 DSPF_ARGB4444 = ( (((18 ) & 0x7F) ) | (((12) & 0x1F) << 7) | (((4) & 0x0F) << 12) | (((1 ) ? 1 :0) << 16) | (((0 ) & 0x07) << 17) | (((2 ) & 0x07) << 20) | (((0 ) & 0x07) << 23) | (((0 ) & 0x03) << 26) | (((0 ) & 0x03) << 28) | (((0 ) ? 1 :0) << 30) | (((0 ) ? 1 :0) << 31) ),
7991 DSPF_NV21 = ( (((19 ) & 0x7F) ) | (((12) & 0x1F) << 7) | (((0) & 0x0F) << 12) | (((0 ) ? 1 :0) << 16) | (((0 ) & 0x07) << 17) | (((1 ) & 0x07) << 20) | (((0 ) & 0x07) << 23) | (((2 ) & 0x03) << 26) | (((0 ) & 0x03) << 28) | (((0 ) ? 1 :0) << 30) | (((0 ) ? 1 :0) << 31) ),
7994 DSPF_AYUV = ( (((20 ) & 0x7F) ) | (((24) & 0x1F) << 7) | (((8) & 0x0F) << 12) | (((1 ) ? 1 :0) << 16) | (((0 ) & 0x07) << 17) | (((4 ) & 0x07) << 20) | (((0 ) & 0x07) << 23) | (((0 ) & 0x03) << 26) | (((0 ) & 0x03) << 28) | (((0 ) ? 1 :0) << 30) | (((0 ) ? 1 :0) << 31) )
7995 } DFBSurfacePixelFormat;
7998 #define DFB_NUM_PIXELFORMATS 21
8001 #define DFB_PIXELFORMAT_INDEX(fmt) (((fmt) & 0x0000007F) )
8003 #define DFB_COLOR_BITS_PER_PIXEL(fmt) (((fmt) & 0x00000F80) >> 7)
8005 #define DFB_ALPHA_BITS_PER_PIXEL(fmt) (((fmt) & 0x0000F000) >> 12)
8007 #define DFB_PIXELFORMAT_HAS_ALPHA(fmt) (((fmt) & 0x00010000) >> 16)
8009 #define DFB_BITS_PER_PIXEL(fmt) (((fmt) & 0x007E0000) >> 17)
8011 #define DFB_BYTES_PER_PIXEL(fmt) (((fmt) & 0x00700000) >> 20)
8013 #define DFB_BYTES_PER_LINE(fmt,width) (((((fmt) & 0x007E0000) >> 17) * (width) + 7) >> 3)
8015 #define DFB_PIXELFORMAT_ALIGNMENT(fmt) (((fmt) & 0x03800000) >> 23)
8017 #define DFB_PLANE_MULTIPLY(fmt,height) ((((((fmt) & 0x3C000000) >> 26) + 4) * (height)) >> 2)
8019 #define DFB_PIXELFORMAT_IS_INDEXED(fmt) (((fmt) & 0x40000000) >> 30)
8021 #define DFB_PLANAR_PIXELFORMAT(fmt) (((fmt) & 0x3C000000) ? 1 : 0)
8023 #define DFB_PIXELFORMAT_INV_ALPHA(fmt) (((fmt) & 0x80000000) >> 31)
8030 DFBSurfaceDescriptionFlags flags;
8032 DFBSurfaceCapabilities caps;
8035 DFBSurfacePixelFormat pixelformat;
8046 } DFBSurfaceDescription;
8052 DFBPaletteDescriptionFlags flags;
8054 DFBPaletteCapabilities caps;
8056 const DFBColor *entries;
8058 } DFBPaletteDescription;
8061 #define DFB_DISPLAY_LAYER_DESC_NAME_LENGTH 32
8067 DFBDisplayLayerTypeFlags type;
8069 DFBDisplayLayerCapabilities caps;
8080 } DFBDisplayLayerDescription;
8083 #define DFB_DISPLAY_LAYER_SOURCE_DESC_NAME_LENGTH 24
8089 DFBDisplayLayerSourceID source_id;
8092 } DFBDisplayLayerSourceDescription;
8095 #define DFB_SCREEN_DESC_NAME_LENGTH 32
8101 DFBScreenCapabilities caps;
8112 } DFBScreenDescription;
8115 #define DFB_INPUT_DEVICE_DESC_NAME_LENGTH 32
8116 #define DFB_INPUT_DEVICE_DESC_VENDOR_LENGTH 40
8122 DFBInputDeviceTypeFlags type;
8124 DFBInputDeviceCapabilities caps;
8138 DFBInputDeviceAxisIdentifier max_axis;
8140 DFBInputDeviceButtonIdentifier max_button;
8146 } DFBInputDeviceDescription;
8149 #define DFB_GRAPHICS_DRIVER_INFO_NAME_LENGTH 40
8150 #define DFB_GRAPHICS_DRIVER_INFO_VENDOR_LENGTH 60
8158 } DFBGraphicsDriverInfo;
8160 #define DFB_GRAPHICS_DEVICE_DESC_NAME_LENGTH 48
8161 #define DFB_GRAPHICS_DEVICE_DESC_VENDOR_LENGTH 64
8167 DFBAccelerationMask acceleration_mask;
8169 DFBSurfaceBlittingFlags blitting_flags;
8170 DFBSurfaceDrawingFlags drawing_flags;
8172 unsigned int video_memory;
8177 DFBGraphicsDriverInfo driver;
8178 } DFBGraphicsDeviceDescription;
8184 DFBWindowDescriptionFlags flags;
8186 DFBWindowCapabilities caps;
8189 DFBSurfacePixelFormat pixelformat;
8192 DFBSurfaceCapabilities surface_caps;
8193 } DFBWindowDescription;
8199 DFBDataBufferDescriptionFlags flags;
8205 unsigned int length;
8207 } DFBDataBufferDescription;
8213 DFENUM_OK = 0x00000000,
8214 DFENUM_CANCEL = 0x00000001
8215 } DFBEnumerationResult;
8220 typedef DFBEnumerationResult (*DFBVideoModeCallback) (
8231 typedef DFBEnumerationResult (*DFBScreenCallback) (
8232 DFBScreenID screen_id,
8233 DFBScreenDescription desc,
8241 typedef DFBEnumerationResult (*DFBDisplayLayerCallback) (
8242 DFBDisplayLayerID layer_id,
8243 DFBDisplayLayerDescription desc,
8251 typedef DFBEnumerationResult (*DFBInputDeviceCallback) (
8252 DFBInputDeviceID device_id,
8253 DFBInputDeviceDescription desc,
8263 typedef int (*DFBGetDataCallback) (
8265 unsigned int length,
8273 DVCAPS_BASIC = 0x00000000,
8274 DVCAPS_SEEK = 0x00000001,
8275 DVCAPS_SCALE = 0x00000002,
8276 DVCAPS_INTERLACED = 0x00000004,
8277 DVCAPS_BRIGHTNESS = 0x00000010,
8278 DVCAPS_CONTRAST = 0x00000020,
8279 DVCAPS_HUE = 0x00000040,
8280 DVCAPS_SATURATION = 0x00000080,
8281 DVCAPS_INTERACTIVE = 0x00000100
8282 } DFBVideoProviderCapabilities;
8288 DVSTATE_UNKNOWN = 0x00000000,
8289 DVSTATE_PLAY = 0x00000001,
8290 DVSTATE_STOP = 0x00000002,
8291 DVSTATE_FINISHED = 0x00000003
8292 } DFBVideoProviderStatus;
8298 DCAF_NONE = 0x00000000,
8299 DCAF_BRIGHTNESS = 0x00000001,
8300 DCAF_CONTRAST = 0x00000002,
8301 DCAF_HUE = 0x00000004,
8302 DCAF_SATURATION = 0x00000008,
8303 DCAF_ALL = 0x0000000F
8304 } DFBColorAdjustmentFlags;
8313 DFBColorAdjustmentFlags flags;
8315 u_int16_t brightness;
8318 u_int16_t saturation;
8319 } DFBColorAdjustment;
8320 # 1372 "/usr/include/directfb/directfb.h"
8321 struct _IDirectFB { void *priv; int magic; DFBResult (*AddRef)( IDirectFB *thiz ); DFBResult (*Release)( IDirectFB *thiz ); DFBResult (*SetCooperativeLevel) ( IDirectFB *thiz, DFBCooperativeLevel level ); DFBResult (*SetVideoMode) ( IDirectFB *thiz, int width, int height, int bpp ); DFBResult (*GetDeviceDescription) ( IDirectFB *thiz, DFBGraphicsDeviceDescription *ret_desc ); DFBResult (*EnumVideoModes) ( IDirectFB *thiz, DFBVideoModeCallback callback, void *callbackdata ); DFBResult (*CreateSurface) ( IDirectFB *thiz, const DFBSurfaceDescription *desc, IDirectFBSurface **ret_interface ); DFBResult (*CreatePalette) ( IDirectFB *thiz, const DFBPaletteDescription *desc, IDirectFBPalette **ret_interface ); DFBResult (*EnumScreens) ( IDirectFB *thiz, DFBScreenCallback callback, void *callbackdata ); DFBResult (*GetScreen) ( IDirectFB *thiz, DFBScreenID screen_id, IDirectFBScreen **ret_interface ); DFBResult (*EnumDisplayLayers) ( IDirectFB *thiz, DFBDisplayLayerCallback callback, void *callbackdata ); DFBResult (*GetDisplayLayer) ( IDirectFB *thiz, DFBDisplayLayerID layer_id, IDirectFBDisplayLayer **ret_interface ); DFBResult (*EnumInputDevices) ( IDirectFB *thiz, DFBInputDeviceCallback callback, void *callbackdata ); DFBResult (*GetInputDevice) ( IDirectFB *thiz, DFBInputDeviceID device_id, IDirectFBInputDevice **ret_interface ); DFBResult (*CreateEventBuffer) ( IDirectFB *thiz, IDirectFBEventBuffer **ret_buffer ); DFBResult (*CreateInputEventBuffer) ( IDirectFB *thiz, DFBInputDeviceCapabilities caps, DFBBoolean global, IDirectFBEventBuffer **ret_buffer ); DFBResult (*CreateImageProvider) ( IDirectFB *thiz, const char *filename, IDirectFBImageProvider **ret_interface ); DFBResult (*CreateVideoProvider) ( IDirectFB *thiz, const char *filename, IDirectFBVideoProvider **ret_interface ); DFBResult (*CreateFont) ( IDirectFB *thiz, const char *filename, const DFBFontDescription *desc, IDirectFBFont **ret_interface ); DFBResult (*CreateDataBuffer) ( IDirectFB *thiz, const DFBDataBufferDescription *desc, IDirectFBDataBuffer **ret_interface ); DFBResult (*SetClipboardData) ( IDirectFB *thiz, const char *mime_type, const void *data, unsigned int size, struct timeval *ret_timestamp ); DFBResult (*GetClipboardData) ( IDirectFB *thiz, char **ret_mimetype, void **ret_data, unsigned int *ret_size ); DFBResult (*GetClipboardTimeStamp) ( IDirectFB *thiz, struct timeval *ret_timestamp ); DFBResult (*Suspend) ( IDirectFB *thiz ); DFBResult (*Resume) ( IDirectFB *thiz ); DFBResult (*WaitIdle) ( IDirectFB *thiz ); DFBResult (*WaitForSync) ( IDirectFB *thiz ); DFBResult (*GetInterface) ( IDirectFB *thiz, const char *type, const char *implementation, void *arg, void **ret_interface ); };
8322 # 1714 "/usr/include/directfb/directfb.h"
8323 #define DLID_PRIMARY 0x0000
8326 #define DLSID_SURFACE 0x0000
8329 #define DSCID_PRIMARY 0x0000
8332 #define DIDID_KEYBOARD 0x0000
8333 #define DIDID_MOUSE 0x0001
8334 #define DIDID_JOYSTICK 0x0002
8335 #define DIDID_REMOTE 0x0003
8336 #define DIDID_ANY 0x0010
8346 DLSCL_ADMINISTRATIVE
8348 } DFBDisplayLayerCooperativeLevel;
8361 } DFBDisplayLayerBackgroundMode;
8367 DLCONF_NONE = 0x00000000,
8369 DLCONF_WIDTH = 0x00000001,
8370 DLCONF_HEIGHT = 0x00000002,
8371 DLCONF_PIXELFORMAT = 0x00000004,
8372 DLCONF_BUFFERMODE = 0x00000008,
8373 DLCONF_OPTIONS = 0x00000010,
8374 DLCONF_SOURCE = 0x00000020,
8375 DLCONF_SURFACE_CAPS = 0x00000040,
8377 DLCONF_ALL = 0x0000007F
8378 } DFBDisplayLayerConfigFlags;
8384 DFBDisplayLayerConfigFlags flags;
8388 DFBSurfacePixelFormat pixelformat;
8389 DFBDisplayLayerBufferMode buffermode;
8390 DFBDisplayLayerOptions options;
8391 DFBDisplayLayerSourceID source;
8393 DFBSurfaceCapabilities surface_caps;
8395 } DFBDisplayLayerConfig;
8405 } DFBScreenPowerMode;
8412 DSMCAPS_NONE = 0x00000000,
8414 DSMCAPS_FULL = 0x00000001,
8415 DSMCAPS_SUB_LEVEL = 0x00000002,
8417 DSMCAPS_SUB_LAYERS = 0x00000004,
8419 DSMCAPS_BACKGROUND = 0x00000008
8420 } DFBScreenMixerCapabilities;
8423 #define DFB_SCREEN_MIXER_DESC_NAME_LENGTH 24
8429 DFBScreenMixerCapabilities caps;
8431 DFBDisplayLayerIDs layers;
8436 DFBDisplayLayerIDs sub_layers;
8440 } DFBScreenMixerDescription;
8446 DSMCONF_NONE = 0x00000000,
8448 DSMCONF_TREE = 0x00000001,
8449 DSMCONF_LEVEL = 0x00000002,
8450 DSMCONF_LAYERS = 0x00000004,
8452 DSMCONF_BACKGROUND = 0x00000010,
8454 DSMCONF_ALL = 0x00000017
8455 } DFBScreenMixerConfigFlags;
8461 DSMT_UNKNOWN = 0x00000000,
8463 DSMT_FULL = 0x00000001,
8464 DSMT_SUB_LEVEL = 0x00000002,
8465 DSMT_SUB_LAYERS = 0x00000003
8466 } DFBScreenMixerTree;
8472 DFBScreenMixerConfigFlags flags;
8474 DFBScreenMixerTree tree;
8477 DFBDisplayLayerIDs layers;
8479 DFBColor background;
8480 } DFBScreenMixerConfig;
8487 DSOCAPS_NONE = 0x00000000,
8489 DSOCAPS_CONNECTORS = 0x00000001,
8491 DSOCAPS_ENCODER_SEL = 0x00000010,
8492 DSOCAPS_SIGNAL_SEL = 0x00000020,
8493 DSOCAPS_CONNECTOR_SEL = 0x00000040,
8495 DSOCAPS_ALL = 0x00000071
8496 } DFBScreenOutputCapabilities;
8502 DSOC_UNKNOWN = 0x00000000,
8504 DSOC_VGA = 0x00000001,
8505 DSOC_SCART = 0x00000002,
8506 DSOC_YC = 0x00000004,
8507 DSOC_CVBS = 0x00000008
8508 } DFBScreenOutputConnectors;
8514 DSOS_NONE = 0x00000000,
8516 DSOS_VGA = 0x00000001,
8517 DSOS_YC = 0x00000002,
8518 DSOS_CVBS = 0x00000004,
8519 DSOS_RGB = 0x00000008,
8520 DSOS_YCBCR = 0x00000010
8521 } DFBScreenOutputSignals;
8524 #define DFB_SCREEN_OUTPUT_DESC_NAME_LENGTH 24
8530 DFBScreenOutputCapabilities caps;
8532 DFBScreenOutputConnectors all_connectors;
8533 DFBScreenOutputSignals all_signals;
8536 } DFBScreenOutputDescription;
8542 DSOCONF_NONE = 0x00000000,
8544 DSOCONF_ENCODER = 0x00000001,
8545 DSOCONF_SIGNALS = 0x00000002,
8546 DSOCONF_CONNECTORS = 0x00000004,
8548 DSOCONF_ALL = 0x00000007
8549 } DFBScreenOutputConfigFlags;
8555 DFBScreenOutputConfigFlags flags;
8558 DFBScreenOutputSignals out_signals;
8559 DFBScreenOutputConnectors out_connectors;
8560 } DFBScreenOutputConfig;
8567 DSECAPS_NONE = 0x00000000,
8569 DSECAPS_TV_STANDARDS = 0x00000001,
8570 DSECAPS_TEST_PICTURE = 0x00000002,
8571 DSECAPS_MIXER_SEL = 0x00000004,
8572 DSECAPS_OUT_SIGNALS = 0x00000008,
8573 DSECAPS_SCANMODE = 0x00000010,
8575 DSECAPS_BRIGHTNESS = 0x00000100,
8576 DSECAPS_CONTRAST = 0x00000200,
8577 DSECAPS_HUE = 0x00000400,
8578 DSECAPS_SATURATION = 0x00000800,
8580 DSECAPS_ALL = 0x00000f1f
8581 } DFBScreenEncoderCapabilities;
8587 DSET_UNKNOWN = 0x00000000,
8589 DSET_CRTC = 0x00000001,
8590 DSET_TV = 0x00000002
8591 } DFBScreenEncoderType;
8597 DSETV_UNKNOWN = 0x00000000,
8599 DSETV_PAL = 0x00000001,
8600 DSETV_NTSC = 0x00000002,
8601 DSETV_SECAM = 0x00000004
8602 } DFBScreenEncoderTVStandards;
8608 DSESM_UNKNOWN = 0x00000000,
8610 DSESM_INTERLACED = 0x00000001,
8611 DSESM_PROGRESSIVE = 0x00000002
8612 } DFBScreenEncoderScanMode;
8615 #define DFB_SCREEN_ENCODER_DESC_NAME_LENGTH 24
8621 DFBScreenEncoderCapabilities caps;
8622 DFBScreenEncoderType type;
8624 DFBScreenEncoderTVStandards tv_standards;
8625 DFBScreenOutputSignals out_signals;
8628 } DFBScreenEncoderDescription;
8634 DSECONF_NONE = 0x00000000,
8636 DSECONF_TV_STANDARD = 0x00000001,
8637 DSECONF_TEST_PICTURE = 0x00000002,
8638 DSECONF_MIXER = 0x00000004,
8639 DSECONF_OUT_SIGNALS = 0x00000008,
8640 DSECONF_SCANMODE = 0x00000010,
8641 DSECONF_TEST_COLOR = 0x00000020,
8642 DSECONF_ADJUSTMENT = 0x00000040,
8644 DSECONF_ALL = 0x0000007F
8645 } DFBScreenEncoderConfigFlags;
8651 DSETP_OFF = 0x00000000,
8653 DSETP_MULTI = 0x00000001,
8654 DSETP_SINGLE = 0x00000002,
8656 DSETP_WHITE = 0x00000010,
8657 DSETP_YELLOW = 0x00000020,
8658 DSETP_CYAN = 0x00000030,
8659 DSETP_GREEN = 0x00000040,
8660 DSETP_MAGENTA = 0x00000050,
8661 DSETP_RED = 0x00000060,
8662 DSETP_BLUE = 0x00000070,
8663 DSETP_BLACK = 0x00000080
8664 } DFBScreenEncoderTestPicture;
8670 DFBScreenEncoderConfigFlags flags;
8672 DFBScreenEncoderTVStandards tv_standard;
8673 DFBScreenEncoderTestPicture test_picture;
8675 DFBScreenOutputSignals out_signals;
8676 DFBScreenEncoderScanMode scanmode;
8678 DFBColor test_color;
8680 DFBColorAdjustment adjustment;
8681 } DFBScreenEncoderConfig;
8682 # 2082 "/usr/include/directfb/directfb.h"
8683 struct _IDirectFBScreen { void *priv; int magic; DFBResult (*AddRef)( IDirectFBScreen *thiz ); DFBResult (*Release)( IDirectFBScreen *thiz ); DFBResult (*GetID) ( IDirectFBScreen *thiz, DFBScreenID *ret_screen_id ); DFBResult (*GetDescription) ( IDirectFBScreen *thiz, DFBScreenDescription *ret_desc ); DFBResult (*EnumDisplayLayers) ( IDirectFBScreen *thiz, DFBDisplayLayerCallback callback, void *callbackdata ); DFBResult (*SetPowerMode) ( IDirectFBScreen *thiz, DFBScreenPowerMode mode ); DFBResult (*WaitForSync) ( IDirectFBScreen *thiz ); DFBResult (*GetMixerDescriptions) ( IDirectFBScreen *thiz, DFBScreenMixerDescription *ret_descriptions ); DFBResult (*GetMixerConfiguration) ( IDirectFBScreen *thiz, int mixer, DFBScreenMixerConfig *ret_config ); DFBResult (*TestMixerConfiguration) ( IDirectFBScreen *thiz, int mixer, const DFBScreenMixerConfig *config, DFBScreenMixerConfigFlags *ret_failed ); DFBResult (*SetMixerConfiguration) ( IDirectFBScreen *thiz, int mixer, const DFBScreenMixerConfig *config ); DFBResult (*GetEncoderDescriptions) ( IDirectFBScreen *thiz, DFBScreenEncoderDescription *ret_descriptions ); DFBResult (*GetEncoderConfiguration) ( IDirectFBScreen *thiz, int encoder, DFBScreenEncoderConfig *ret_config ); DFBResult (*TestEncoderConfiguration) ( IDirectFBScreen *thiz, int encoder, const DFBScreenEncoderConfig *config, DFBScreenEncoderConfigFlags *ret_failed ); DFBResult (*SetEncoderConfiguration) ( IDirectFBScreen *thiz, int encoder, const DFBScreenEncoderConfig *config ); DFBResult (*GetOutputDescriptions) ( IDirectFBScreen *thiz, DFBScreenOutputDescription *ret_descriptions ); DFBResult (*GetOutputConfiguration) ( IDirectFBScreen *thiz, int output, DFBScreenOutputConfig *ret_config ); DFBResult (*TestOutputConfiguration) ( IDirectFBScreen *thiz, int output, const DFBScreenOutputConfig *config, DFBScreenOutputConfigFlags *ret_failed ); DFBResult (*SetOutputConfiguration) ( IDirectFBScreen *thiz, int output, const DFBScreenOutputConfig *config ); };
8684 # 2288 "/usr/include/directfb/directfb.h"
8685 struct _IDirectFBDisplayLayer { void *priv; int magic; DFBResult (*AddRef)( IDirectFBDisplayLayer *thiz ); DFBResult (*Release)( IDirectFBDisplayLayer *thiz ); DFBResult (*GetID) ( IDirectFBDisplayLayer *thiz, DFBDisplayLayerID *ret_layer_id ); DFBResult (*GetDescription) ( IDirectFBDisplayLayer *thiz, DFBDisplayLayerDescription *ret_desc ); DFBResult (*GetSourceDescriptions) ( IDirectFBDisplayLayer *thiz, DFBDisplayLayerSourceDescription *ret_descriptions ); DFBResult (*GetCurrentOutputField) ( IDirectFBDisplayLayer *thiz, int *ret_field ); DFBResult (*GetSurface) ( IDirectFBDisplayLayer *thiz, IDirectFBSurface **ret_interface ); DFBResult (*GetScreen) ( IDirectFBDisplayLayer *thiz, IDirectFBScreen **ret_interface ); DFBResult (*SetCooperativeLevel) ( IDirectFBDisplayLayer *thiz, DFBDisplayLayerCooperativeLevel level ); DFBResult (*GetConfiguration) ( IDirectFBDisplayLayer *thiz, DFBDisplayLayerConfig *ret_config ); DFBResult (*TestConfiguration) ( IDirectFBDisplayLayer *thiz, const DFBDisplayLayerConfig *config, DFBDisplayLayerConfigFlags *ret_failed ); DFBResult (*SetConfiguration) ( IDirectFBDisplayLayer *thiz, const DFBDisplayLayerConfig *config ); DFBResult (*SetScreenLocation) ( IDirectFBDisplayLayer *thiz, float x, float y, float width, float height ); DFBResult (*SetScreenPosition) ( IDirectFBDisplayLayer *thiz, int x, int y ); DFBResult (*SetScreenRectangle) ( IDirectFBDisplayLayer *thiz, int x, int y, int width, int height ); DFBResult (*SetOpacity) ( IDirectFBDisplayLayer *thiz, u_int8_t opacity ); DFBResult (*SetSourceRectangle) ( IDirectFBDisplayLayer *thiz, int x, int y, int width, int height ); DFBResult (*SetFieldParity) ( IDirectFBDisplayLayer *thiz, int field ); DFBResult (*SetSrcColorKey) ( IDirectFBDisplayLayer *thiz, u_int8_t r, u_int8_t g, u_int8_t b ); DFBResult (*SetDstColorKey) ( IDirectFBDisplayLayer *thiz, u_int8_t r, u_int8_t g, u_int8_t b ); DFBResult (*GetLevel) ( IDirectFBDisplayLayer *thiz, int *ret_level ); DFBResult (*SetLevel) ( IDirectFBDisplayLayer *thiz, int level ); DFBResult (*SetBackgroundMode) ( IDirectFBDisplayLayer *thiz, DFBDisplayLayerBackgroundMode mode ); DFBResult (*SetBackgroundImage) ( IDirectFBDisplayLayer *thiz, IDirectFBSurface *surface ); DFBResult (*SetBackgroundColor) ( IDirectFBDisplayLayer *thiz, u_int8_t r, u_int8_t g, u_int8_t b, u_int8_t a ); DFBResult (*GetColorAdjustment) ( IDirectFBDisplayLayer *thiz, DFBColorAdjustment *ret_adj ); DFBResult (*SetColorAdjustment) ( IDirectFBDisplayLayer *thiz, const DFBColorAdjustment *adj ); DFBResult (*CreateWindow) ( IDirectFBDisplayLayer *thiz, const DFBWindowDescription *desc, IDirectFBWindow **ret_interface ); DFBResult (*GetWindow) ( IDirectFBDisplayLayer *thiz, DFBWindowID window_id, IDirectFBWindow **ret_interface ); DFBResult (*EnableCursor) ( IDirectFBDisplayLayer *thiz, int enable ); DFBResult (*GetCursorPosition) ( IDirectFBDisplayLayer *thiz, int *ret_x, int *ret_y ); DFBResult (*WarpCursor) ( IDirectFBDisplayLayer *thiz, int x, int y ); DFBResult (*SetCursorAcceleration) ( IDirectFBDisplayLayer *thiz, int numerator, int denominator, int threshold ); DFBResult (*SetCursorShape) ( IDirectFBDisplayLayer *thiz, IDirectFBSurface *shape, int hot_x, int hot_y ); DFBResult (*SetCursorOpacity) ( IDirectFBDisplayLayer *thiz, u_int8_t opacity ); DFBResult (*WaitForSync) ( IDirectFBDisplayLayer *thiz ); };
8686 # 2701 "/usr/include/directfb/directfb.h"
8688 DSFLIP_NONE = 0x00000000,
8690 DSFLIP_WAIT = 0x00000001,
8692 DSFLIP_BLIT = 0x00000002,
8696 DSFLIP_ONSYNC = 0x00000004,
8700 DSFLIP_PIPELINE = 0x00000008,
8702 DSFLIP_WAITFORSYNC = DSFLIP_WAIT | DSFLIP_ONSYNC
8703 } DFBSurfaceFlipFlags;
8709 DSTF_LEFT = 0x00000000,
8710 DSTF_CENTER = 0x00000001,
8711 DSTF_RIGHT = 0x00000002,
8713 DSTF_TOP = 0x00000004,
8715 DSTF_BOTTOM = 0x00000008,
8718 DSTF_TOPLEFT = DSTF_TOP | DSTF_LEFT,
8719 DSTF_TOPCENTER = DSTF_TOP | DSTF_CENTER,
8720 DSTF_TOPRIGHT = DSTF_TOP | DSTF_RIGHT,
8722 DSTF_BOTTOMLEFT = DSTF_BOTTOM | DSTF_LEFT,
8723 DSTF_BOTTOMCENTER = DSTF_BOTTOM | DSTF_CENTER,
8724 DSTF_BOTTOMRIGHT = DSTF_BOTTOM | DSTF_RIGHT
8725 } DFBSurfaceTextFlags;
8732 DSLF_READ = 0x00000001,
8734 DSLF_WRITE = 0x00000002
8735 } DFBSurfaceLockFlags;
8753 } DFBSurfacePorterDuffRule;
8762 DSBF_INVSRCCOLOR = 4,
8764 DSBF_INVSRCALPHA = 6,
8766 DSBF_INVDESTALPHA = 8,
8768 DSBF_INVDESTCOLOR = 10,
8769 DSBF_SRCALPHASAT = 11
8770 } DFBSurfaceBlendFunction;
8792 } DFBTriangleFormation;
8793 # 2815 "/usr/include/directfb/directfb.h"
8794 struct _IDirectFBSurface { void *priv; int magic; DFBResult (*AddRef)( IDirectFBSurface *thiz ); DFBResult (*Release)( IDirectFBSurface *thiz ); DFBResult (*GetCapabilities) ( IDirectFBSurface *thiz, DFBSurfaceCapabilities *ret_caps ); DFBResult (*GetSize) ( IDirectFBSurface *thiz, int *ret_width, int *ret_height ); DFBResult (*GetVisibleRectangle) ( IDirectFBSurface *thiz, DFBRectangle *ret_rect ); DFBResult (*GetPixelFormat) ( IDirectFBSurface *thiz, DFBSurfacePixelFormat *ret_format ); DFBResult (*GetAccelerationMask) ( IDirectFBSurface *thiz, IDirectFBSurface *source, DFBAccelerationMask *ret_mask ); DFBResult (*GetPalette) ( IDirectFBSurface *thiz, IDirectFBPalette **ret_interface ); DFBResult (*SetPalette) ( IDirectFBSurface *thiz, IDirectFBPalette *palette ); DFBResult (*SetAlphaRamp) ( IDirectFBSurface *thiz, u_int8_t a0, u_int8_t a1, u_int8_t a2, u_int8_t a3 ); DFBResult (*Lock) ( IDirectFBSurface *thiz, DFBSurfaceLockFlags flags, void **ret_ptr, int *ret_pitch ); DFBResult (*Unlock) ( IDirectFBSurface *thiz ); DFBResult (*Flip) ( IDirectFBSurface *thiz, const DFBRegion *region, DFBSurfaceFlipFlags flags ); DFBResult (*SetField) ( IDirectFBSurface *thiz, int field ); DFBResult (*Clear) ( IDirectFBSurface *thiz, u_int8_t r, u_int8_t g, u_int8_t b, u_int8_t a ); DFBResult (*SetClip) ( IDirectFBSurface *thiz, const DFBRegion *clip ); DFBResult (*SetColor) ( IDirectFBSurface *thiz, u_int8_t r, u_int8_t g, u_int8_t b, u_int8_t a ); DFBResult (*SetColorIndex) ( IDirectFBSurface *thiz, unsigned int index ); DFBResult (*SetSrcBlendFunction) ( IDirectFBSurface *thiz, DFBSurfaceBlendFunction function ); DFBResult (*SetDstBlendFunction) ( IDirectFBSurface *thiz, DFBSurfaceBlendFunction function ); DFBResult (*SetPorterDuff) ( IDirectFBSurface *thiz, DFBSurfacePorterDuffRule rule ); DFBResult (*SetSrcColorKey) ( IDirectFBSurface *thiz, u_int8_t r, u_int8_t g, u_int8_t b ); DFBResult (*SetSrcColorKeyIndex) ( IDirectFBSurface *thiz, unsigned int index ); DFBResult (*SetDstColorKey) ( IDirectFBSurface *thiz, u_int8_t r, u_int8_t g, u_int8_t b ); DFBResult (*SetDstColorKeyIndex) ( IDirectFBSurface *thiz, unsigned int index ); DFBResult (*SetBlittingFlags) ( IDirectFBSurface *thiz, DFBSurfaceBlittingFlags flags ); DFBResult (*Blit) ( IDirectFBSurface *thiz, IDirectFBSurface *source, const DFBRectangle *source_rect, int x, int y ); DFBResult (*TileBlit) ( IDirectFBSurface *thiz, IDirectFBSurface *source, const DFBRectangle *source_rect, int x, int y ); DFBResult (*BatchBlit) ( IDirectFBSurface *thiz, IDirectFBSurface *source, const DFBRectangle *source_rects, const DFBPoint *dest_points, int num ); DFBResult (*StretchBlit) ( IDirectFBSurface *thiz, IDirectFBSurface *source, const DFBRectangle *source_rect, const DFBRectangle *destination_rect ); DFBResult (*TextureTriangles) ( IDirectFBSurface *thiz, IDirectFBSurface *texture, const DFBVertex *vertices, const int *indices, int num, DFBTriangleFormation formation ); DFBResult (*SetDrawingFlags) ( IDirectFBSurface *thiz, DFBSurfaceDrawingFlags flags ); DFBResult (*FillRectangle) ( IDirectFBSurface *thiz, int x, int y, int w, int h ); DFBResult (*DrawRectangle) ( IDirectFBSurface *thiz, int x, int y, int w, int h ); DFBResult (*DrawLine) ( IDirectFBSurface *thiz, int x1, int y1, int x2, int y2 ); DFBResult (*DrawLines) ( IDirectFBSurface *thiz, const DFBRegion *lines, unsigned int num_lines ); DFBResult (*FillTriangle) ( IDirectFBSurface *thiz, int x1, int y1, int x2, int y2, int x3, int y3 ); DFBResult (*FillRectangles) ( IDirectFBSurface *thiz, const DFBRectangle *rects, unsigned int num ); DFBResult (*FillSpans) ( IDirectFBSurface *thiz, int y, const DFBSpan *spans, unsigned int num ); DFBResult (*SetFont) ( IDirectFBSurface *thiz, IDirectFBFont *font ); DFBResult (*GetFont) ( IDirectFBSurface *thiz, IDirectFBFont **ret_font ); DFBResult (*DrawString) ( IDirectFBSurface *thiz, const char *text, int bytes, int x, int y, DFBSurfaceTextFlags flags ); DFBResult (*DrawGlyph) ( IDirectFBSurface *thiz, unsigned int index, int x, int y, DFBSurfaceTextFlags flags ); DFBResult (*GetSubSurface) ( IDirectFBSurface *thiz, const DFBRectangle *rect, IDirectFBSurface **ret_interface ); DFBResult (*GetGL) ( IDirectFBSurface *thiz, IDirectFBGL **ret_interface ); DFBResult (*Dump) ( IDirectFBSurface *thiz, const char *directory, const char *prefix ); DFBResult (*DisableAcceleration) ( IDirectFBSurface *thiz, DFBAccelerationMask mask ); DFBResult (*GetClip) ( IDirectFBSurface *thiz, DFBRegion *ret_clip ); };
8795 # 3429 "/usr/include/directfb/directfb.h"
8796 struct _IDirectFBPalette { void *priv; int magic; DFBResult (*AddRef)( IDirectFBPalette *thiz ); DFBResult (*Release)( IDirectFBPalette *thiz ); DFBResult (*GetCapabilities) ( IDirectFBPalette *thiz, DFBPaletteCapabilities *ret_caps ); DFBResult (*GetSize) ( IDirectFBPalette *thiz, unsigned int *ret_size ); DFBResult (*SetEntries) ( IDirectFBPalette *thiz, const DFBColor *entries, unsigned int num_entries, unsigned int offset ); DFBResult (*GetEntries) ( IDirectFBPalette *thiz, DFBColor *ret_entries, unsigned int num_entries, unsigned int offset ); DFBResult (*FindBestMatch) ( IDirectFBPalette *thiz, u_int8_t r, u_int8_t g, u_int8_t b, u_int8_t a, unsigned int *ret_index ); DFBResult (*CreateCopy) ( IDirectFBPalette *thiz, IDirectFBPalette **ret_interface ); };
8797 # 3508 "/usr/include/directfb/directfb.h"
8799 DIKS_UP = 0x00000000,
8800 DIKS_DOWN = 0x00000001
8801 } DFBInputDeviceKeyState;
8807 DIBS_UP = 0x00000000,
8808 DIBS_DOWN = 0x00000001
8809 } DFBInputDeviceButtonState;
8815 DIBM_LEFT = 0x00000001,
8816 DIBM_RIGHT = 0x00000002,
8817 DIBM_MIDDLE = 0x00000004
8818 } DFBInputDeviceButtonMask;
8824 DIMM_SHIFT = (1 << DIMKI_SHIFT),
8825 DIMM_CONTROL = (1 << DIMKI_CONTROL),
8826 DIMM_ALT = (1 << DIMKI_ALT),
8827 DIMM_ALTGR = (1 << DIMKI_ALTGR),
8828 DIMM_META = (1 << DIMKI_META),
8829 DIMM_SUPER = (1 << DIMKI_SUPER),
8830 DIMM_HYPER = (1 << DIMKI_HYPER)
8831 } DFBInputDeviceModifierMask;
8832 # 3551 "/usr/include/directfb/directfb.h"
8833 struct _IDirectFBInputDevice { void *priv; int magic; DFBResult (*AddRef)( IDirectFBInputDevice *thiz ); DFBResult (*Release)( IDirectFBInputDevice *thiz ); DFBResult (*GetID) ( IDirectFBInputDevice *thiz, DFBInputDeviceID *ret_device_id ); DFBResult (*GetDescription) ( IDirectFBInputDevice *thiz, DFBInputDeviceDescription *ret_desc ); DFBResult (*GetKeymapEntry) ( IDirectFBInputDevice *thiz, int keycode, DFBInputDeviceKeymapEntry *ret_entry ); DFBResult (*CreateEventBuffer) ( IDirectFBInputDevice *thiz, IDirectFBEventBuffer **ret_buffer ); DFBResult (*AttachEventBuffer) ( IDirectFBInputDevice *thiz, IDirectFBEventBuffer *buffer ); DFBResult (*GetKeyState) ( IDirectFBInputDevice *thiz, DFBInputDeviceKeyIdentifier key_id, DFBInputDeviceKeyState *ret_state ); DFBResult (*GetModifiers) ( IDirectFBInputDevice *thiz, DFBInputDeviceModifierMask *ret_modifiers ); DFBResult (*GetLockState) ( IDirectFBInputDevice *thiz, DFBInputDeviceLockState *ret_locks ); DFBResult (*GetButtons) ( IDirectFBInputDevice *thiz, DFBInputDeviceButtonMask *ret_buttons ); DFBResult (*GetButtonState) ( IDirectFBInputDevice *thiz, DFBInputDeviceButtonIdentifier button, DFBInputDeviceButtonState *ret_state ); DFBResult (*GetAxis) ( IDirectFBInputDevice *thiz, DFBInputDeviceAxisIdentifier axis, int *ret_pos ); DFBResult (*GetXY) ( IDirectFBInputDevice *thiz, int *ret_x, int *ret_y ); };
8834 # 3680 "/usr/include/directfb/directfb.h"
8840 DFEC_UNIVERSAL = 0x04
8853 } DFBInputEventType;
8860 DIEF_TIMESTAMP = 0x001,
8861 DIEF_AXISABS = 0x002,
8862 DIEF_AXISREL = 0x004,
8864 DIEF_KEYCODE = 0x008,
8868 DIEF_KEYSYMBOL = 0x020,
8870 DIEF_MODIFIERS = 0x040,
8874 DIEF_BUTTONS = 0x100,
8876 DIEF_GLOBAL = 0x200,
8883 } DFBInputEventFlags;
8889 DFBEventClass clazz;
8891 DFBInputEventType type;
8892 DFBInputDeviceID device_id;
8893 DFBInputEventFlags flags;
8897 struct timeval timestamp;
8904 DFBInputDeviceKeyIdentifier key_id;
8906 DFBInputDeviceKeySymbol key_symbol;
8910 DFBInputDeviceModifierMask modifiers;
8912 DFBInputDeviceLockState locks;
8916 DFBInputDeviceButtonIdentifier button;
8918 DFBInputDeviceButtonMask buttons;
8922 DFBInputDeviceAxisIdentifier axis;
8935 DWET_NONE = 0x00000000,
8937 DWET_POSITION = 0x00000001,
8940 DWET_SIZE = 0x00000002,
8943 DWET_CLOSE = 0x00000004,
8945 DWET_DESTROYED = 0x00000008,
8948 DWET_GOTFOCUS = 0x00000010,
8949 DWET_LOSTFOCUS = 0x00000020,
8951 DWET_KEYDOWN = 0x00000100,
8953 DWET_KEYUP = 0x00000200,
8956 DWET_BUTTONDOWN = 0x00010000,
8958 DWET_BUTTONUP = 0x00020000,
8960 DWET_MOTION = 0x00040000,
8962 DWET_ENTER = 0x00080000,
8964 DWET_LEAVE = 0x00100000,
8966 DWET_WHEEL = 0x00200000,
8969 DWET_POSITION_SIZE = DWET_POSITION | DWET_SIZE,
8973 DWET_ALL = 0x003F033F
8974 } DFBWindowEventType;
8980 DFBEventClass clazz;
8982 DFBWindowEventType type;
8983 DFBWindowID window_id;
9011 DFBInputDeviceKeyIdentifier key_id;
9013 DFBInputDeviceKeySymbol key_symbol;
9016 DFBInputDeviceModifierMask modifiers;
9017 DFBInputDeviceLockState locks;
9020 DFBInputDeviceButtonIdentifier button;
9023 DFBInputDeviceButtonMask buttons;
9026 struct timeval timestamp;
9033 DFBEventClass clazz;
9043 DFBEventClass clazz;
9049 } DFBUniversalEvent;
9055 DFBEventClass clazz;
9056 DFBInputEvent input;
9057 DFBWindowEvent window;
9059 DFBUniversalEvent universal;
9062 #define DFB_EVENT(e) ((DFBEvent *) (e))
9068 unsigned int num_events;
9070 unsigned int DFEC_INPUT;
9071 unsigned int DFEC_WINDOW;
9072 unsigned int DFEC_USER;
9073 unsigned int DFEC_UNIVERSAL;
9075 unsigned int DIET_KEYPRESS;
9076 unsigned int DIET_KEYRELEASE;
9077 unsigned int DIET_BUTTONPRESS;
9078 unsigned int DIET_BUTTONRELEASE;
9079 unsigned int DIET_AXISMOTION;
9081 unsigned int DWET_POSITION;
9082 unsigned int DWET_SIZE;
9083 unsigned int DWET_CLOSE;
9084 unsigned int DWET_DESTROYED;
9085 unsigned int DWET_GOTFOCUS;
9086 unsigned int DWET_LOSTFOCUS;
9087 unsigned int DWET_KEYDOWN;
9088 unsigned int DWET_KEYUP;
9089 unsigned int DWET_BUTTONDOWN;
9090 unsigned int DWET_BUTTONUP;
9091 unsigned int DWET_MOTION;
9092 unsigned int DWET_ENTER;
9093 unsigned int DWET_LEAVE;
9094 unsigned int DWET_WHEEL;
9095 unsigned int DWET_POSITION_SIZE;
9096 } DFBEventBufferStats;
9097 # 3951 "/usr/include/directfb/directfb.h"
9098 struct _IDirectFBEventBuffer { void *priv; int magic; DFBResult (*AddRef)( IDirectFBEventBuffer *thiz ); DFBResult (*Release)( IDirectFBEventBuffer *thiz ); DFBResult (*Reset) ( IDirectFBEventBuffer *thiz ); DFBResult (*WaitForEvent) ( IDirectFBEventBuffer *thiz ); DFBResult (*WaitForEventWithTimeout) ( IDirectFBEventBuffer *thiz, unsigned int seconds, unsigned int milli_seconds ); DFBResult (*GetEvent) ( IDirectFBEventBuffer *thiz, DFBEvent *ret_event ); DFBResult (*PeekEvent) ( IDirectFBEventBuffer *thiz, DFBEvent *ret_event ); DFBResult (*HasEvent) ( IDirectFBEventBuffer *thiz ); DFBResult (*PostEvent) ( IDirectFBEventBuffer *thiz, const DFBEvent *event ); DFBResult (*WakeUp) ( IDirectFBEventBuffer *thiz ); DFBResult (*CreateFileDescriptor) ( IDirectFBEventBuffer *thiz, int *ret_fd ); DFBResult (*EnableStatistics) ( IDirectFBEventBuffer *thiz, DFBBoolean enable ); DFBResult (*GetStatistics) ( IDirectFBEventBuffer *thiz, DFBEventBufferStats *ret_stats ); };
9099 # 4082 "/usr/include/directfb/directfb.h"
9101 DWOP_NONE = 0x00000000,
9102 DWOP_COLORKEYING = 0x00000001,
9103 DWOP_ALPHACHANNEL = 0x00000002,
9105 DWOP_OPAQUE_REGION = 0x00000004,
9107 DWOP_SHAPED = 0x00000008,
9110 DWOP_KEEP_POSITION = 0x00000010,
9112 DWOP_KEEP_SIZE = 0x00000020,
9114 DWOP_KEEP_STACKING = 0x00000040,
9116 DWOP_GHOST = 0x00001000,
9119 DWOP_INDESTRUCTIBLE = 0x00002000,
9121 DWOP_ALL = 0x0000307F
9128 DWSC_MIDDLE = 0x00000000,
9130 DWSC_UPPER = 0x00000001,
9135 DWSC_LOWER = 0x00000002
9140 } DFBWindowStackingClass;
9141 # 4131 "/usr/include/directfb/directfb.h"
9142 struct _IDirectFBWindow { void *priv; int magic; DFBResult (*AddRef)( IDirectFBWindow *thiz ); DFBResult (*Release)( IDirectFBWindow *thiz ); DFBResult (*GetID) ( IDirectFBWindow *thiz, DFBWindowID *ret_window_id ); DFBResult (*GetPosition) ( IDirectFBWindow *thiz, int *ret_x, int *ret_y ); DFBResult (*GetSize) ( IDirectFBWindow *thiz, int *ret_width, int *ret_height ); DFBResult (*CreateEventBuffer) ( IDirectFBWindow *thiz, IDirectFBEventBuffer **ret_buffer ); DFBResult (*AttachEventBuffer) ( IDirectFBWindow *thiz, IDirectFBEventBuffer *buffer ); DFBResult (*EnableEvents) ( IDirectFBWindow *thiz, DFBWindowEventType mask ); DFBResult (*DisableEvents) ( IDirectFBWindow *thiz, DFBWindowEventType mask ); DFBResult (*GetSurface) ( IDirectFBWindow *thiz, IDirectFBSurface **ret_surface ); DFBResult (*SetOptions) ( IDirectFBWindow *thiz, DFBWindowOptions options ); DFBResult (*GetOptions) ( IDirectFBWindow *thiz, DFBWindowOptions *ret_options ); DFBResult (*SetColorKey) ( IDirectFBWindow *thiz, u_int8_t r, u_int8_t g, u_int8_t b ); DFBResult (*SetColorKeyIndex) ( IDirectFBWindow *thiz, unsigned int index ); DFBResult (*SetOpacity) ( IDirectFBWindow *thiz, u_int8_t opacity ); DFBResult (*SetOpaqueRegion) ( IDirectFBWindow *thiz, int x1, int y1, int x2, int y2 ); DFBResult (*GetOpacity) ( IDirectFBWindow *thiz, u_int8_t *ret_opacity ); DFBResult (*SetCursorShape) ( IDirectFBWindow *thiz, IDirectFBSurface *shape, int hot_x, int hot_y ); DFBResult (*RequestFocus) ( IDirectFBWindow *thiz ); DFBResult (*GrabKeyboard) ( IDirectFBWindow *thiz ); DFBResult (*UngrabKeyboard) ( IDirectFBWindow *thiz ); DFBResult (*GrabPointer) ( IDirectFBWindow *thiz ); DFBResult (*UngrabPointer) ( IDirectFBWindow *thiz ); DFBResult (*GrabKey) ( IDirectFBWindow *thiz, DFBInputDeviceKeySymbol symbol, DFBInputDeviceModifierMask modifiers ); DFBResult (*UngrabKey) ( IDirectFBWindow *thiz, DFBInputDeviceKeySymbol symbol, DFBInputDeviceModifierMask modifiers ); DFBResult (*Move) ( IDirectFBWindow *thiz, int dx, int dy ); DFBResult (*MoveTo) ( IDirectFBWindow *thiz, int x, int y ); DFBResult (*Resize) ( IDirectFBWindow *thiz, int width, int height ); DFBResult (*SetStackingClass) ( IDirectFBWindow *thiz, DFBWindowStackingClass stacking_class ); DFBResult (*Raise) ( IDirectFBWindow *thiz ); DFBResult (*Lower) ( IDirectFBWindow *thiz ); DFBResult (*RaiseToTop) ( IDirectFBWindow *thiz ); DFBResult (*LowerToBottom) ( IDirectFBWindow *thiz ); DFBResult (*PutAtop) ( IDirectFBWindow *thiz, IDirectFBWindow *lower ); DFBResult (*PutBelow) ( IDirectFBWindow *thiz, IDirectFBWindow *upper ); DFBResult (*Close) ( IDirectFBWindow *thiz ); DFBResult (*Destroy) ( IDirectFBWindow *thiz ); };
9143 # 4499 "/usr/include/directfb/directfb.h"
9144 struct _IDirectFBFont { void *priv; int magic; DFBResult (*AddRef)( IDirectFBFont *thiz ); DFBResult (*Release)( IDirectFBFont *thiz ); DFBResult (*GetAscender) ( IDirectFBFont *thiz, int *ret_ascender ); DFBResult (*GetDescender) ( IDirectFBFont *thiz, int *ret_descender ); DFBResult (*GetHeight) ( IDirectFBFont *thiz, int *ret_height ); DFBResult (*GetMaxAdvance) ( IDirectFBFont *thiz, int *ret_maxadvance ); DFBResult (*GetKerning) ( IDirectFBFont *thiz, unsigned int prev_index, unsigned int current_index, int *ret_kern_x, int *ret_kern_y ); DFBResult (*GetStringWidth) ( IDirectFBFont *thiz, const char *text, int bytes, int *ret_width ); DFBResult (*GetStringExtents) ( IDirectFBFont *thiz, const char *text, int bytes, DFBRectangle *ret_logical_rect, DFBRectangle *ret_ink_rect ); DFBResult (*GetGlyphExtents) ( IDirectFBFont *thiz, unsigned int index, DFBRectangle *ret_rect, int *ret_advance ); };
9145 # 4635 "/usr/include/directfb/directfb.h"
9147 DICAPS_NONE = 0x00000000,
9148 DICAPS_ALPHACHANNEL = 0x00000001,
9150 DICAPS_COLORKEY = 0x00000002
9153 } DFBImageCapabilities;
9160 DFBImageCapabilities caps;
9162 u_int8_t colorkey_r;
9163 u_int8_t colorkey_g;
9164 u_int8_t colorkey_b;
9165 } DFBImageDescription;
9171 typedef void (*DIRenderCallback)(DFBRectangle *rect, void *ctx);
9172 # 4669 "/usr/include/directfb/directfb.h"
9173 struct _IDirectFBImageProvider { void *priv; int magic; DFBResult (*AddRef)( IDirectFBImageProvider *thiz ); DFBResult (*Release)( IDirectFBImageProvider *thiz ); DFBResult (*GetSurfaceDescription) ( IDirectFBImageProvider *thiz, DFBSurfaceDescription *ret_dsc ); DFBResult (*GetImageDescription) ( IDirectFBImageProvider *thiz, DFBImageDescription *ret_dsc ); DFBResult (*RenderTo) ( IDirectFBImageProvider *thiz, IDirectFBSurface *destination, const DFBRectangle *destination_rect ); DFBResult (*SetRenderCallback) ( IDirectFBImageProvider *thiz, DIRenderCallback callback, void *callback_data ); };
9174 # 4735 "/usr/include/directfb/directfb.h"
9176 DVSCAPS_NONE = 0x00000000,
9177 DVSCAPS_VIDEO = 0x00000001,
9178 DVSCAPS_AUDIO = 0x00000002
9180 } DFBStreamCapabilities;
9182 #define DFB_STREAM_DESC_ENCODING_LENGTH 30
9183 #define DFB_STREAM_DESC_TITLE_LENGTH 255
9184 #define DFB_STREAM_DESC_AUTHOR_LENGTH 255
9185 #define DFB_STREAM_DESC_ALBUM_LENGTH 255
9186 #define DFB_STREAM_DESC_GENRE_LENGTH 32
9187 #define DFB_STREAM_DESC_COMMENT_LENGTH 255
9193 DFBStreamCapabilities caps;
9217 } DFBStreamDescription;
9222 typedef int (*DVFrameCallback)(void *ctx);
9223 # 4792 "/usr/include/directfb/directfb.h"
9224 struct _IDirectFBVideoProvider { void *priv; int magic; DFBResult (*AddRef)( IDirectFBVideoProvider *thiz ); DFBResult (*Release)( IDirectFBVideoProvider *thiz ); DFBResult (*GetCapabilities) ( IDirectFBVideoProvider *thiz, DFBVideoProviderCapabilities *ret_caps ); DFBResult (*GetSurfaceDescription) ( IDirectFBVideoProvider *thiz, DFBSurfaceDescription *ret_dsc ); DFBResult (*GetStreamDescription) ( IDirectFBVideoProvider *thiz, DFBStreamDescription *ret_dsc ); DFBResult (*PlayTo) ( IDirectFBVideoProvider *thiz, IDirectFBSurface *destination, const DFBRectangle *destination_rect, DVFrameCallback callback, void *ctx ); DFBResult (*Stop) ( IDirectFBVideoProvider *thiz ); DFBResult (*GetStatus) ( IDirectFBVideoProvider *thiz, DFBVideoProviderStatus *ret_status ); DFBResult (*SeekTo) ( IDirectFBVideoProvider *thiz, double seconds ); DFBResult (*GetPos) ( IDirectFBVideoProvider *thiz, double *ret_seconds ); DFBResult (*GetLength) ( IDirectFBVideoProvider *thiz, double *ret_seconds ); DFBResult (*GetColorAdjustment) ( IDirectFBVideoProvider *thiz, DFBColorAdjustment *ret_adj ); DFBResult (*SetColorAdjustment) ( IDirectFBVideoProvider *thiz, const DFBColorAdjustment *adj ); DFBResult (*SendEvent) ( IDirectFBVideoProvider *thiz, const DFBEvent *event ); };
9225 # 4928 "/usr/include/directfb/directfb.h"
9226 struct _IDirectFBDataBuffer { void *priv; int magic; DFBResult (*AddRef)( IDirectFBDataBuffer *thiz ); DFBResult (*Release)( IDirectFBDataBuffer *thiz ); DFBResult (*Flush) ( IDirectFBDataBuffer *thiz ); DFBResult (*Finish) ( IDirectFBDataBuffer *thiz ); DFBResult (*SeekTo) ( IDirectFBDataBuffer *thiz, unsigned int offset ); DFBResult (*GetPosition) ( IDirectFBDataBuffer *thiz, unsigned int *ret_offset ); DFBResult (*GetLength) ( IDirectFBDataBuffer *thiz, unsigned int *ret_length ); DFBResult (*WaitForData) ( IDirectFBDataBuffer *thiz, unsigned int length ); DFBResult (*WaitForDataWithTimeout) ( IDirectFBDataBuffer *thiz, unsigned int length, unsigned int seconds, unsigned int milli_seconds ); DFBResult (*GetData) ( IDirectFBDataBuffer *thiz, unsigned int length, void *ret_data, unsigned int *ret_read ); DFBResult (*PeekData) ( IDirectFBDataBuffer *thiz, unsigned int length, int offset, void *ret_data, unsigned int *ret_read ); DFBResult (*HasData) ( IDirectFBDataBuffer *thiz ); DFBResult (*PutData) ( IDirectFBDataBuffer *thiz, const void *data, unsigned int length ); DFBResult (*CreateImageProvider) ( IDirectFBDataBuffer *thiz, IDirectFBImageProvider **interface ); DFBResult (*CreateVideoProvider) ( IDirectFBDataBuffer *thiz, IDirectFBVideoProvider **interface ); };
9227 # 29 "video_out_dfb.c" 2
9228 # 1 "/usr/include/directfb/directfb_version.h" 1
9229 # 28 "/usr/include/directfb/directfb_version.h"
9230 #define __DIRECTFB_VERSION_H__
9232 #define DIRECTFB_MAJOR_VERSION (0)
9233 #define DIRECTFB_MINOR_VERSION (9)
9234 #define DIRECTFB_MICRO_VERSION (25)
9235 #define DIRECTFB_BINARY_AGE (0)
9236 #define DIRECTFB_INTERFACE_AGE (0)
9237 # 30 "video_out_dfb.c" 2
9238 # 1 "/usr/include/directfb/directfb_strings.h" 1
9240 #define __DIRECTFB_STRINGS_H__
9242 #define DirectFBPixelFormatNames(Identifier) struct DFBPixelFormatName { DFBSurfacePixelFormat format; const char *name; } Identifier[] = { { DSPF_ARGB1555, "ARGB1555" }, { DSPF_RGB16, "RGB16" }, { DSPF_RGB24, "RGB24" }, { DSPF_RGB32, "RGB32" }, { DSPF_ARGB, "ARGB" }, { DSPF_A8, "A8" }, { DSPF_YUY2, "YUY2" }, { DSPF_RGB332, "RGB332" }, { DSPF_UYVY, "UYVY" }, { DSPF_I420, "I420" }, { DSPF_YV12, "YV12" }, { DSPF_LUT8, "LUT8" }, { DSPF_ALUT44, "ALUT44" }, { DSPF_AiRGB, "AiRGB" }, { DSPF_A1, "A1" }, { DSPF_NV12, "NV12" }, { DSPF_NV16, "NV16" }, { DSPF_ARGB2554, "ARGB2554" }, { DSPF_ARGB4444, "ARGB4444" }, { DSPF_NV21, "NV21" }, { DSPF_AYUV, "AYUV" }, { DSPF_UNKNOWN, "UNKNOWN" } };
9243 # 32 "/usr/include/directfb/directfb_strings.h"
9244 #define DirectFBInputDeviceTypeFlagsNames(Identifier) struct DFBInputDeviceTypeFlagsName { DFBInputDeviceTypeFlags type; const char *name; } Identifier[] = { { DIDTF_KEYBOARD, "KEYBOARD" }, { DIDTF_MOUSE, "MOUSE" }, { DIDTF_JOYSTICK, "JOYSTICK" }, { DIDTF_REMOTE, "REMOTE" }, { DIDTF_VIRTUAL, "VIRTUAL" }, { DIDTF_NONE, "NONE" } };
9245 # 44 "/usr/include/directfb/directfb_strings.h"
9246 #define DirectFBSurfaceDrawingFlagsNames(Identifier) struct DFBSurfaceDrawingFlagsName { DFBSurfaceDrawingFlags flag; const char *name; } Identifier[] = { { DSDRAW_BLEND, "BLEND" }, { DSDRAW_DST_COLORKEY, "DST_COLORKEY" }, { DSDRAW_SRC_PREMULTIPLY, "SRC_PREMULTIPLY" }, { DSDRAW_DST_PREMULTIPLY, "DST_PREMULTIPLY" }, { DSDRAW_DEMULTIPLY, "DEMULTIPLY" }, { DSDRAW_XOR, "XOR" }, { DSDRAW_NOFX, "NOFX" } };
9247 # 57 "/usr/include/directfb/directfb_strings.h"
9248 #define DirectFBSurfaceBlittingFlagsNames(Identifier) struct DFBSurfaceBlittingFlagsName { DFBSurfaceBlittingFlags flag; const char *name; } Identifier[] = { { DSBLIT_BLEND_ALPHACHANNEL, "BLEND_ALPHACHANNEL" }, { DSBLIT_BLEND_COLORALPHA, "BLEND_COLORALPHA" }, { DSBLIT_COLORIZE, "COLORIZE" }, { DSBLIT_SRC_COLORKEY, "SRC_COLORKEY" }, { DSBLIT_DST_COLORKEY, "DST_COLORKEY" }, { DSBLIT_SRC_PREMULTIPLY, "SRC_PREMULTIPLY" }, { DSBLIT_DST_PREMULTIPLY, "DST_PREMULTIPLY" }, { DSBLIT_DEMULTIPLY, "DEMULTIPLY" }, { DSBLIT_DEINTERLACE, "DEINTERLACE" }, { DSBLIT_SRC_PREMULTCOLOR, "SRC_PREMULTCOLOR" }, { DSBLIT_XOR, "XOR" }, { DSBLIT_NOFX, "NOFX" } };
9249 # 75 "/usr/include/directfb/directfb_strings.h"
9250 #define DirectFBInputDeviceCapabilitiesNames(Identifier) struct DFBInputDeviceCapabilitiesName { DFBInputDeviceCapabilities capability; const char *name; } Identifier[] = { { DICAPS_KEYS, "KEYS" }, { DICAPS_AXES, "AXES" }, { DICAPS_BUTTONS, "BUTTONS" }, { DICAPS_NONE, "NONE" } };
9251 # 85 "/usr/include/directfb/directfb_strings.h"
9252 #define DirectFBDisplayLayerTypeFlagsNames(Identifier) struct DFBDisplayLayerTypeFlagsName { DFBDisplayLayerTypeFlags type; const char *name; } Identifier[] = { { DLTF_GRAPHICS, "GRAPHICS" }, { DLTF_VIDEO, "VIDEO" }, { DLTF_STILL_PICTURE, "STILL_PICTURE" }, { DLTF_BACKGROUND, "BACKGROUND" }, { DLTF_NONE, "NONE" } };
9253 # 96 "/usr/include/directfb/directfb_strings.h"
9254 #define DirectFBDisplayLayerCapabilitiesNames(Identifier) struct DFBDisplayLayerCapabilitiesName { DFBDisplayLayerCapabilities capability; const char *name; } Identifier[] = { { DLCAPS_SURFACE, "SURFACE" }, { DLCAPS_OPACITY, "OPACITY" }, { DLCAPS_ALPHACHANNEL, "ALPHACHANNEL" }, { DLCAPS_SCREEN_LOCATION, "SCREEN_LOCATION" }, { DLCAPS_FLICKER_FILTERING, "FLICKER_FILTERING" }, { DLCAPS_DEINTERLACING, "DEINTERLACING" }, { DLCAPS_SRC_COLORKEY, "SRC_COLORKEY" }, { DLCAPS_DST_COLORKEY, "DST_COLORKEY" }, { DLCAPS_BRIGHTNESS, "BRIGHTNESS" }, { DLCAPS_CONTRAST, "CONTRAST" }, { DLCAPS_HUE, "HUE" }, { DLCAPS_SATURATION, "SATURATION" }, { DLCAPS_LEVELS, "LEVELS" }, { DLCAPS_FIELD_PARITY, "FIELD_PARITY" }, { DLCAPS_WINDOWS, "WINDOWS" }, { DLCAPS_SOURCES, "SOURCES" }, { DLCAPS_ALPHA_RAMP, "ALPHA_RAMP" }, { DLCAPS_PREMULTIPLIED, "PREMULTIPLIED" }, { DLCAPS_SCREEN_POSITION, "SCREEN_POSITION" }, { DLCAPS_SCREEN_SIZE, "SCREEN_SIZE" }, { DLCAPS_NONE, "NONE" } };
9255 # 123 "/usr/include/directfb/directfb_strings.h"
9256 #define DirectFBDisplayLayerBufferModeNames(Identifier) struct DFBDisplayLayerBufferModeName { DFBDisplayLayerBufferMode mode; const char *name; } Identifier[] = { { DLBM_FRONTONLY, "FRONTONLY" }, { DLBM_BACKVIDEO, "BACKVIDEO" }, { DLBM_BACKSYSTEM, "BACKSYSTEM" }, { DLBM_TRIPLE, "TRIPLE" }, { DLBM_WINDOWS, "WINDOWS" }, { DLBM_UNKNOWN, "UNKNOWN" } };
9257 # 135 "/usr/include/directfb/directfb_strings.h"
9258 #define DirectFBScreenCapabilitiesNames(Identifier) struct DFBScreenCapabilitiesName { DFBScreenCapabilities capability; const char *name; } Identifier[] = { { DSCCAPS_VSYNC, "VSYNC" }, { DSCCAPS_POWER_MANAGEMENT, "POWER_MANAGEMENT" }, { DSCCAPS_MIXERS, "MIXERS" }, { DSCCAPS_ENCODERS, "ENCODERS" }, { DSCCAPS_OUTPUTS, "OUTPUTS" }, { DSCCAPS_NONE, "NONE" } };
9259 # 147 "/usr/include/directfb/directfb_strings.h"
9260 #define DirectFBScreenEncoderCapabilitiesNames(Identifier) struct DFBScreenEncoderCapabilitiesName { DFBScreenEncoderCapabilities capability; const char *name; } Identifier[] = { { DSECAPS_TV_STANDARDS, "TV_STANDARDS" }, { DSECAPS_TEST_PICTURE, "TEST_PICTURE" }, { DSECAPS_MIXER_SEL, "MIXER_SEL" }, { DSECAPS_OUT_SIGNALS, "OUT_SIGNALS" }, { DSECAPS_SCANMODE, "SCANMODE" }, { DSECAPS_BRIGHTNESS, "BRIGHTNESS" }, { DSECAPS_CONTRAST, "CONTRAST" }, { DSECAPS_HUE, "HUE" }, { DSECAPS_SATURATION, "SATURATION" }, { DSECAPS_NONE, "NONE" } };
9261 # 163 "/usr/include/directfb/directfb_strings.h"
9262 #define DirectFBScreenEncoderTypeNames(Identifier) struct DFBScreenEncoderTypeName { DFBScreenEncoderType type; const char *name; } Identifier[] = { { DSET_CRTC, "CRTC" }, { DSET_TV, "TV" }, { DSET_UNKNOWN, "UNKNOWN" } };
9263 # 172 "/usr/include/directfb/directfb_strings.h"
9264 #define DirectFBScreenEncoderTVStandardsNames(Identifier) struct DFBScreenEncoderTVStandardsName { DFBScreenEncoderTVStandards standard; const char *name; } Identifier[] = { { DSETV_PAL, "PAL" }, { DSETV_NTSC, "NTSC" }, { DSETV_SECAM, "SECAM" }, { DSETV_UNKNOWN, "UNKNOWN" } };
9265 # 182 "/usr/include/directfb/directfb_strings.h"
9266 #define DirectFBScreenOutputCapabilitiesNames(Identifier) struct DFBScreenOutputCapabilitiesName { DFBScreenOutputCapabilities capability; const char *name; } Identifier[] = { { DSOCAPS_CONNECTORS, "CONNECTORS" }, { DSOCAPS_ENCODER_SEL, "ENCODER_SEL" }, { DSOCAPS_SIGNAL_SEL, "SIGNAL_SEL" }, { DSOCAPS_CONNECTOR_SEL, "CONNECTOR_SEL" }, { DSOCAPS_NONE, "NONE" } };
9267 # 193 "/usr/include/directfb/directfb_strings.h"
9268 #define DirectFBScreenOutputConnectorsNames(Identifier) struct DFBScreenOutputConnectorsName { DFBScreenOutputConnectors connector; const char *name; } Identifier[] = { { DSOC_VGA, "VGA" }, { DSOC_SCART, "SCART" }, { DSOC_YC, "YC" }, { DSOC_CVBS, "CVBS" }, { DSOC_UNKNOWN, "UNKNOWN" } };
9269 # 204 "/usr/include/directfb/directfb_strings.h"
9270 #define DirectFBScreenOutputSignalsNames(Identifier) struct DFBScreenOutputSignalsName { DFBScreenOutputSignals signal; const char *name; } Identifier[] = { { DSOS_VGA, "VGA" }, { DSOS_YC, "YC" }, { DSOS_CVBS, "CVBS" }, { DSOS_RGB, "RGB" }, { DSOS_YCBCR, "YCBCR" }, { DSOS_NONE, "NONE" } };
9271 # 216 "/usr/include/directfb/directfb_strings.h"
9272 #define DirectFBScreenMixerCapabilitiesNames(Identifier) struct DFBScreenMixerCapabilitiesName { DFBScreenMixerCapabilities capability; const char *name; } Identifier[] = { { DSMCAPS_FULL, "FULL" }, { DSMCAPS_SUB_LEVEL, "SUB_LEVEL" }, { DSMCAPS_SUB_LAYERS, "SUB_LAYERS" }, { DSMCAPS_BACKGROUND, "BACKGROUND" }, { DSMCAPS_NONE, "NONE" } };
9273 # 227 "/usr/include/directfb/directfb_strings.h"
9274 #define DirectFBScreenMixerTreeNames(Identifier) struct DFBScreenMixerTreeName { DFBScreenMixerTree tree; const char *name; } Identifier[] = { { DSMT_FULL, "FULL" }, { DSMT_SUB_LEVEL, "SUB_LEVEL" }, { DSMT_SUB_LAYERS, "SUB_LAYERS" }, { DSMT_UNKNOWN, "UNKNOWN" } };
9275 # 237 "/usr/include/directfb/directfb_strings.h"
9276 #define DirectFBScreenEncoderTestPictureNames(Identifier) struct DFBScreenEncoderTestPictureName { DFBScreenEncoderTestPicture test_picture; const char *name; } Identifier[] = { { DSETP_MULTI, "MULTI" }, { DSETP_SINGLE, "SINGLE" }, { DSETP_WHITE, "WHITE" }, { DSETP_YELLOW, "YELLOW" }, { DSETP_CYAN, "CYAN" }, { DSETP_GREEN, "GREEN" }, { DSETP_MAGENTA, "MAGENTA" }, { DSETP_RED, "RED" }, { DSETP_BLUE, "BLUE" }, { DSETP_BLACK, "BLACK" }, { DSETP_OFF, "OFF" } };
9277 # 254 "/usr/include/directfb/directfb_strings.h"
9278 #define DirectFBScreenEncoderScanModeNames(Identifier) struct DFBScreenEncoderScanModeName { DFBScreenEncoderScanMode scan_mode; const char *name; } Identifier[] = { { DSESM_INTERLACED, "INTERLACED" }, { DSESM_PROGRESSIVE, "PROGRESSIVE" }, { DSESM_UNKNOWN, "UNKNOWN" } };
9279 # 263 "/usr/include/directfb/directfb_strings.h"
9280 #define DirectFBAccelerationMaskNames(Identifier) struct DFBAccelerationMaskName { DFBAccelerationMask mask; const char *name; } Identifier[] = { { DFXL_FILLRECTANGLE, "FILLRECTANGLE" }, { DFXL_DRAWRECTANGLE, "DRAWRECTANGLE" }, { DFXL_DRAWLINE, "DRAWLINE" }, { DFXL_FILLTRIANGLE, "FILLTRIANGLE" }, { DFXL_BLIT, "BLIT" }, { DFXL_STRETCHBLIT, "STRETCHBLIT" }, { DFXL_TEXTRIANGLES, "TEXTRIANGLES" }, { DFXL_DRAWSTRING, "DRAWSTRING" }, { DFXL_NONE, "NONE" } };
9281 # 31 "video_out_dfb.c" 2
9283 # 1 "/usr/include/directfb-internal/core/coredefs.h" 1
9284 # 29 "/usr/include/directfb-internal/core/coredefs.h"
9285 #define __COREDEFS_H__
9289 #define DFB_DYNAMIC_LINKING
9292 #define MAX_INPUTDEVICES 32
9293 #define MAX_LAYERS 24
9294 #define MAX_SCREENS 16
9296 #define MAX_INPUT_GLOBALS 8
9297 # 33 "video_out_dfb.c" 2
9298 # 1 "/usr/include/directfb-internal/core/coretypes.h" 1
9299 # 29 "/usr/include/directfb-internal/core/coretypes.h"
9300 #define __CORETYPES_H__
9304 typedef struct __DFB_CoreDFB CoreDFB;
9305 typedef struct __DFB_CoreDFBShared CoreDFBShared;
9307 typedef struct _CoreCleanup CoreCleanup;
9309 typedef struct _CoreFont CoreFont;
9310 typedef struct _CorePalette CorePalette;
9311 typedef struct _CoreSurface CoreSurface;
9313 typedef struct _SurfaceBuffer SurfaceBuffer;
9314 typedef struct _SurfaceManager SurfaceManager;
9316 typedef struct _CardState CardState;
9318 typedef struct _Chunk Chunk;
9321 typedef struct _GraphicsDevice GraphicsDevice;
9322 typedef struct _GraphicsDevice CoreGraphicsDevice;
9325 typedef struct __DFB_CoreGraphicsSerial CoreGraphicsSerial;
9327 typedef struct __DFB_CoreScreen CoreScreen;
9329 typedef struct __DFB_CoreInputDevice CoreInputDevice;
9331 typedef struct __DFB_CoreLayer CoreLayer;
9332 typedef struct __DFB_CoreLayerContext CoreLayerContext;
9333 typedef struct __DFB_CoreLayerRegion CoreLayerRegion;
9334 typedef struct __DFB_CoreLayerRegionConfig CoreLayerRegionConfig;
9336 typedef struct __DFB_CoreWindow CoreWindow;
9337 typedef struct __DFB_CoreWindowConfig CoreWindowConfig;
9338 typedef struct __DFB_CoreWindowStack CoreWindowStack;
9339 # 34 "video_out_dfb.c" 2
9340 # 1 "/usr/include/directfb-internal/core/state.h" 1
9341 # 29 "/usr/include/directfb-internal/core/state.h"
9342 #define __CORE__STATE_H__
9344 # 1 "/usr/include/pthread.h" 1 3 4
9345 # 32 "/usr/include/directfb-internal/core/state.h" 2
9349 # 1 "/usr/include/directfb/direct/serial.h" 1
9350 # 29 "/usr/include/directfb/direct/serial.h"
9351 #define __DIRECT__SERIAL_H__
9353 # 1 "/usr/include/directfb/direct/types.h" 1
9354 # 29 "/usr/include/directfb/direct/types.h"
9355 #define __DIRECT__TYPES_H__
9361 typedef DFBResult DirectResult;
9362 # 46 "/usr/include/directfb/direct/types.h"
9366 #define true (!false)
9368 typedef u_int8_t bool;
9371 typedef u_int32_t unichar;
9373 typedef struct __D_DirectConfig DirectConfig;
9374 typedef struct __D_DirectHash DirectHash;
9375 typedef struct __D_DirectLink DirectLink;
9376 typedef struct __D_DirectLog DirectLog;
9377 typedef struct __D_DirectModuleDir DirectModuleDir;
9378 typedef struct __D_DirectModuleEntry DirectModuleEntry;
9379 typedef struct __D_DirectSerial DirectSerial;
9380 typedef struct __D_DirectSignalHandler DirectSignalHandler;
9381 typedef struct __D_DirectStream DirectStream;
9382 typedef struct __D_DirectTraceBuffer DirectTraceBuffer;
9383 typedef struct __D_DirectTree DirectTree;
9384 typedef struct __D_DirectThread DirectThread;
9385 typedef struct __D_DirectThreadInitHandler DirectThreadInitHandler;
9386 # 32 "/usr/include/directfb/direct/serial.h" 2
9387 # 1 "/usr/include/directfb/direct/debug.h" 1
9388 # 29 "/usr/include/directfb/direct/debug.h"
9389 #define __DIRECT__DEBUG_H__
9391 # 1 "/usr/include/directfb/direct/build.h" 1
9392 # 29 "/usr/include/directfb/direct/build.h"
9393 #define __DIRECT__BUILD_H__
9395 #define DIRECT_BUILD_DEBUG (0)
9396 #define DIRECT_BUILD_DEBUGS (1)
9397 #define DIRECT_BUILD_TRACE (0)
9398 #define DIRECT_BUILD_TEXT (1)
9399 #define DIRECT_BUILD_GETTID (1)
9400 # 32 "/usr/include/directfb/direct/debug.h" 2
9402 # 1 "/usr/include/stdio.h" 1 3 4
9403 # 34 "/usr/include/directfb/direct/debug.h" 2
9404 # 1 "/usr/include/errno.h" 1 3 4
9412 # 1 "/usr/include/gentoo-multilib/amd64/errno.h" 1 3 4
9413 # 28 "/usr/include/gentoo-multilib/amd64/errno.h" 3 4
9415 # 1 "/usr/include/features.h" 1 3 4
9416 # 30 "/usr/include/gentoo-multilib/amd64/errno.h" 2 3 4
9423 # 1 "/usr/include/bits/errno.h" 1 3 4
9431 # 1 "/usr/include/gentoo-multilib/amd64/bits/errno.h" 1 3 4
9432 # 22 "/usr/include/gentoo-multilib/amd64/bits/errno.h" 3 4
9436 # 1 "/usr/include/linux/errno.h" 1 3 4
9438 #define _LINUX_ERRNO_H
9440 # 1 "/usr/include/asm/errno.h" 1 3 4
9443 #define __ASM_STUB_ERRNO_H
9445 # 1 "/usr/include/asm-x86_64/errno.h" 1 3 4
9447 #define _X8664_ERRNO_H
9449 # 1 "/usr/include/asm-generic/errno.h" 1 3 4
9451 #define _ASM_GENERIC_ERRNO_H
9453 # 1 "/usr/include/asm-generic/errno-base.h" 1 3 4
9455 #define _ASM_GENERIC_ERRNO_BASE_H
9491 # 5 "/usr/include/asm-generic/errno.h" 2 3 4
9494 #define ENAMETOOLONG 36
9497 #define ENOTEMPTY 39
9499 #define EWOULDBLOCK EAGAIN
9517 #define EDEADLOCK EDEADLK
9532 #define EMULTIHOP 72
9535 #define EOVERFLOW 75
9549 #define EDESTADDRREQ 89
9551 #define EPROTOTYPE 91
9552 #define ENOPROTOOPT 92
9553 #define EPROTONOSUPPORT 93
9554 #define ESOCKTNOSUPPORT 94
9555 #define EOPNOTSUPP 95
9556 #define EPFNOSUPPORT 96
9557 #define EAFNOSUPPORT 97
9558 #define EADDRINUSE 98
9559 #define EADDRNOTAVAIL 99
9560 #define ENETDOWN 100
9561 #define ENETUNREACH 101
9562 #define ENETRESET 102
9563 #define ECONNABORTED 103
9564 #define ECONNRESET 104
9567 #define ENOTCONN 107
9568 #define ESHUTDOWN 108
9569 #define ETOOMANYREFS 109
9570 #define ETIMEDOUT 110
9571 #define ECONNREFUSED 111
9572 #define EHOSTDOWN 112
9573 #define EHOSTUNREACH 113
9574 #define EALREADY 114
9575 #define EINPROGRESS 115
9581 #define EREMOTEIO 121
9584 #define ENOMEDIUM 123
9585 #define EMEDIUMTYPE 124
9586 #define ECANCELED 125
9588 #define EKEYEXPIRED 127
9589 #define EKEYREVOKED 128
9590 #define EKEYREJECTED 129
9593 #define EOWNERDEAD 130
9594 #define ENOTRECOVERABLE 131
9595 # 5 "/usr/include/asm-x86_64/errno.h" 2 3 4
9596 # 6 "/usr/include/asm/errno.h" 2 3 4
9597 # 5 "/usr/include/linux/errno.h" 2 3 4
9598 # 26 "/usr/include/gentoo-multilib/amd64/bits/errno.h" 2 3 4
9601 #define ENOTSUP EOPNOTSUPP
9602 # 43 "/usr/include/gentoo-multilib/amd64/bits/errno.h" 3 4
9603 extern int *__errno_location (void) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
9607 #define errno (*__errno_location ())
9608 # 9 "/usr/include/bits/errno.h" 2 3 4
9609 # 37 "/usr/include/gentoo-multilib/amd64/errno.h" 2 3 4
9611 # 55 "/usr/include/gentoo-multilib/amd64/errno.h" 3 4
9612 extern char *program_invocation_name, *program_invocation_short_name;
9617 # 69 "/usr/include/gentoo-multilib/amd64/errno.h" 3 4
9618 typedef int error_t;
9619 #define __error_t_defined 1
9621 #undef __need_error_t
9622 # 9 "/usr/include/errno.h" 2 3 4
9623 # 35 "/usr/include/directfb/direct/debug.h" 2
9625 # 1 "/usr/include/directfb/direct/conf.h" 1
9626 # 29 "/usr/include/directfb/direct/conf.h"
9627 #define __DIRECT__CONF_H__
9633 # 1 "/usr/include/sys/signal.h" 1 3 4
9641 # 1 "/usr/include/gentoo-multilib/amd64/sys/signal.h" 1 3 4
9642 # 1 "/usr/include/signal.h" 1 3 4
9650 # 1 "/usr/include/gentoo-multilib/amd64/signal.h" 1 3 4
9651 # 26 "/usr/include/gentoo-multilib/amd64/signal.h" 3 4
9655 # 1 "/usr/include/features.h" 1 3 4
9656 # 30 "/usr/include/gentoo-multilib/amd64/signal.h" 2 3 4
9660 # 1 "/usr/include/bits/sigset.h" 1 3 4
9668 # 1 "/usr/include/gentoo-multilib/amd64/bits/sigset.h" 1 3 4
9669 # 43 "/usr/include/gentoo-multilib/amd64/bits/sigset.h" 3 4
9670 #define _SIGSET_H_fns 1
9673 #define _EXTERN_INLINE extern __inline
9677 #define __sigmask(sig) (((unsigned long int) 1) << (((sig) - 1) % (8 * sizeof (unsigned long int))))
9681 #define __sigword(sig) (((sig) - 1) / (8 * sizeof (unsigned long int)))
9684 #define __sigemptyset(set) (__extension__ ({ int __cnt = _SIGSET_NWORDS; sigset_t *__set = (set); while (--__cnt >= 0) __set->__val[__cnt] = 0; 0; }))
9689 #define __sigfillset(set) (__extension__ ({ int __cnt = _SIGSET_NWORDS; sigset_t *__set = (set); while (--__cnt >= 0) __set->__val[__cnt] = ~0UL; 0; }))
9690 # 72 "/usr/include/gentoo-multilib/amd64/bits/sigset.h" 3 4
9691 #define __sigisemptyset(set) (__extension__ ({ int __cnt = _SIGSET_NWORDS; const sigset_t *__set = (set); int __ret = __set->__val[--__cnt]; while (!__ret && --__cnt >= 0) __ret = __set->__val[__cnt]; __ret == 0; }))
9698 #define __sigandset(dest,left,right) (__extension__ ({ int __cnt = _SIGSET_NWORDS; sigset_t *__dest = (dest); const sigset_t *__left = (left); const sigset_t *__right = (right); while (--__cnt >= 0) __dest->__val[__cnt] = (__left->__val[__cnt] & __right->__val[__cnt]); 0; }))
9699 # 88 "/usr/include/gentoo-multilib/amd64/bits/sigset.h" 3 4
9700 #define __sigorset(dest,left,right) (__extension__ ({ int __cnt = _SIGSET_NWORDS; sigset_t *__dest = (dest); const sigset_t *__left = (left); const sigset_t *__right = (right); while (--__cnt >= 0) __dest->__val[__cnt] = (__left->__val[__cnt] | __right->__val[__cnt]); 0; }))
9701 # 103 "/usr/include/gentoo-multilib/amd64/bits/sigset.h" 3 4
9702 extern int __sigismember (__const __sigset_t *, int);
9703 extern int __sigaddset (__sigset_t *, int);
9704 extern int __sigdelset (__sigset_t *, int);
9707 #define __SIGSETFN(NAME,BODY,CONST) _EXTERN_INLINE int NAME (CONST __sigset_t *__set, int __sig) { unsigned long int __mask = __sigmask (__sig); unsigned long int __word = __sigword (__sig); return BODY; }
9708 # 117 "/usr/include/gentoo-multilib/amd64/bits/sigset.h" 3 4
9709 extern __inline int __sigismember (__const __sigset_t *__set, int __sig) { unsigned long int __mask = (((unsigned long int) 1) << (((__sig) - 1) % (8 * sizeof (unsigned long int)))); unsigned long int __word = (((__sig) - 1) / (8 * sizeof (unsigned long int))); return (__set->__val[__word] & __mask) ? 1 : 0; }
9710 extern __inline int __sigaddset ( __sigset_t *__set, int __sig) { unsigned long int __mask = (((unsigned long int) 1) << (((__sig) - 1) % (8 * sizeof (unsigned long int)))); unsigned long int __word = (((__sig) - 1) / (8 * sizeof (unsigned long int))); return ((__set->__val[__word] |= __mask), 0); }
9711 extern __inline int __sigdelset ( __sigset_t *__set, int __sig) { unsigned long int __mask = (((unsigned long int) 1) << (((__sig) - 1) % (8 * sizeof (unsigned long int)))); unsigned long int __word = (((__sig) - 1) / (8 * sizeof (unsigned long int))); return ((__set->__val[__word] &= ~__mask), 0); }
9714 # 9 "/usr/include/bits/sigset.h" 2 3 4
9715 # 34 "/usr/include/gentoo-multilib/amd64/signal.h" 2 3 4
9721 #define __sig_atomic_t_defined
9723 typedef __sig_atomic_t sig_atomic_t;
9726 #undef __need_sig_atomic_t
9734 #undef __need_sigset_t
9739 # 1 "/usr/include/bits/types.h" 1 3 4
9740 # 58 "/usr/include/gentoo-multilib/amd64/signal.h" 2 3 4
9741 # 1 "/usr/include/bits/signum.h" 1 3 4
9749 # 1 "/usr/include/gentoo-multilib/amd64/bits/signum.h" 1 3 4
9750 # 23 "/usr/include/gentoo-multilib/amd64/bits/signum.h" 3 4
9751 #define SIG_ERR ((__sighandler_t) -1)
9752 #define SIG_DFL ((__sighandler_t) 0)
9753 #define SIG_IGN ((__sighandler_t) 1)
9756 #define SIG_HOLD ((__sighandler_t) 2)
9777 #define SIGSTKFLT 16
9778 #define SIGCLD SIGCHLD
9788 #define SIGVTALRM 26
9791 #define SIGPOLL SIGIO
9795 #define SIGUNUSED 31
9800 #define SIGRTMIN (__libc_current_sigrtmin ())
9801 #define SIGRTMAX (__libc_current_sigrtmax ())
9805 #define __SIGRTMIN 32
9806 #define __SIGRTMAX (_NSIG - 1)
9807 # 9 "/usr/include/bits/signum.h" 2 3 4
9808 # 59 "/usr/include/gentoo-multilib/amd64/signal.h" 2 3 4
9809 # 75 "/usr/include/gentoo-multilib/amd64/signal.h" 3 4
9810 typedef void (*__sighandler_t) (int);
9815 extern __sighandler_t __sysv_signal (int __sig, __sighandler_t __handler)
9816 __attribute__ ((__nothrow__));
9818 extern __sighandler_t sysv_signal (int __sig, __sighandler_t __handler)
9819 __attribute__ ((__nothrow__));
9827 extern __sighandler_t signal (int __sig, __sighandler_t __handler)
9828 __attribute__ ((__nothrow__));
9829 # 104 "/usr/include/gentoo-multilib/amd64/signal.h" 3 4
9835 extern __sighandler_t bsd_signal (int __sig, __sighandler_t __handler)
9836 __attribute__ ((__nothrow__));
9843 extern int kill (__pid_t __pid, int __sig) __attribute__ ((__nothrow__));
9850 extern int killpg (__pid_t __pgrp, int __sig) __attribute__ ((__nothrow__));
9855 extern int raise (int __sig) __attribute__ ((__nothrow__));
9860 extern __sighandler_t ssignal (int __sig, __sighandler_t __handler)
9861 __attribute__ ((__nothrow__));
9862 extern int gsignal (int __sig) __attribute__ ((__nothrow__));
9867 extern void psignal (int __sig, __const char *__s);
9868 # 153 "/usr/include/gentoo-multilib/amd64/signal.h" 3 4
9869 extern int __sigpause (int __sig_or_mask, int __is_sig);
9870 # 162 "/usr/include/gentoo-multilib/amd64/signal.h" 3 4
9871 extern int sigpause (int __sig) __asm__ ("__xpg_sigpause");
9872 # 178 "/usr/include/gentoo-multilib/amd64/signal.h" 3 4
9873 #define sigmask(sig) __sigmask(sig)
9876 extern int sigblock (int __mask) __attribute__ ((__nothrow__)) __attribute__ ((__deprecated__));
9879 extern int sigsetmask (int __mask) __attribute__ ((__nothrow__)) __attribute__ ((__deprecated__));
9882 extern int siggetmask (void) __attribute__ ((__nothrow__)) __attribute__ ((__deprecated__));
9891 typedef __sighandler_t sighandler_t;
9896 typedef __sighandler_t sig_t;
9903 #define __need_timespec
9904 # 1 "/usr/include/time.h" 1 3 4
9905 # 210 "/usr/include/gentoo-multilib/amd64/signal.h" 2 3 4
9908 # 1 "/usr/include/bits/siginfo.h" 1 3 4
9916 # 1 "/usr/include/gentoo-multilib/amd64/bits/siginfo.h" 1 3 4
9917 # 25 "/usr/include/gentoo-multilib/amd64/bits/siginfo.h" 3 4
9918 # 1 "/usr/include/bits/wordsize.h" 1 3 4
9926 # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4
9930 #define __WORDSIZE 64
9931 #define __WORDSIZE_COMPAT32 1
9932 # 9 "/usr/include/bits/wordsize.h" 2 3 4
9933 # 26 "/usr/include/gentoo-multilib/amd64/bits/siginfo.h" 2 3 4
9938 #define __have_sigval_t 1
9941 typedef union sigval
9950 #define __have_siginfo_t 1
9952 #define __SI_MAX_SIZE 128
9954 #define __SI_PAD_SIZE ((__SI_MAX_SIZE / sizeof (int)) - 4)
9959 typedef struct siginfo
9968 int _pad[((128 / sizeof (int)) - 4)];
10000 __clock_t si_stime;
10020 #define si_pid _sifields._kill.si_pid
10021 #define si_uid _sifields._kill.si_uid
10022 #define si_timerid _sifields._timer.si_tid
10023 #define si_overrun _sifields._timer.si_overrun
10024 #define si_status _sifields._sigchld.si_status
10025 #define si_utime _sifields._sigchld.si_utime
10026 #define si_stime _sifields._sigchld.si_stime
10027 #define si_value _sifields._rt.si_sigval
10028 #define si_int _sifields._rt.si_sigval.sival_int
10029 #define si_ptr _sifields._rt.si_sigval.sival_ptr
10030 #define si_addr _sifields._sigfault.si_addr
10031 #define si_band _sifields._sigpoll.si_band
10032 #define si_fd _sifields._sigpoll.si_fd
10040 #define SI_ASYNCNL SI_ASYNCNL
10042 #define SI_TKILL SI_TKILL
10044 #define SI_SIGIO SI_SIGIO
10046 #define SI_ASYNCIO SI_ASYNCIO
10048 #define SI_MESGQ SI_MESGQ
10050 #define SI_TIMER SI_TIMER
10052 #define SI_QUEUE SI_QUEUE
10054 #define SI_USER SI_USER
10056 #define SI_KERNEL SI_KERNEL
10064 #define ILL_ILLOPC ILL_ILLOPC
10066 #define ILL_ILLOPN ILL_ILLOPN
10068 #define ILL_ILLADR ILL_ILLADR
10070 #define ILL_ILLTRP ILL_ILLTRP
10072 #define ILL_PRVOPC ILL_PRVOPC
10074 #define ILL_PRVREG ILL_PRVREG
10076 #define ILL_COPROC ILL_COPROC
10078 #define ILL_BADSTK ILL_BADSTK
10085 #define FPE_INTDIV FPE_INTDIV
10087 #define FPE_INTOVF FPE_INTOVF
10089 #define FPE_FLTDIV FPE_FLTDIV
10091 #define FPE_FLTOVF FPE_FLTOVF
10093 #define FPE_FLTUND FPE_FLTUND
10095 #define FPE_FLTRES FPE_FLTRES
10097 #define FPE_FLTINV FPE_FLTINV
10099 #define FPE_FLTSUB FPE_FLTSUB
10106 #define SEGV_MAPERR SEGV_MAPERR
10108 #define SEGV_ACCERR SEGV_ACCERR
10115 #define BUS_ADRALN BUS_ADRALN
10117 #define BUS_ADRERR BUS_ADRERR
10119 #define BUS_OBJERR BUS_OBJERR
10126 #define TRAP_BRKPT TRAP_BRKPT
10128 #define TRAP_TRACE TRAP_TRACE
10135 #define CLD_EXITED CLD_EXITED
10137 #define CLD_KILLED CLD_KILLED
10139 #define CLD_DUMPED CLD_DUMPED
10141 #define CLD_TRAPPED CLD_TRAPPED
10143 #define CLD_STOPPED CLD_STOPPED
10145 #define CLD_CONTINUED CLD_CONTINUED
10152 #define POLL_IN POLL_IN
10154 #define POLL_OUT POLL_OUT
10156 #define POLL_MSG POLL_MSG
10158 #define POLL_ERR POLL_ERR
10160 #define POLL_PRI POLL_PRI
10162 #define POLL_HUP POLL_HUP
10165 #undef __need_siginfo_t
10171 #define __have_sigevent_t 1
10174 #define __SIGEV_MAX_SIZE 64
10176 #define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 4)
10181 typedef struct sigevent
10183 sigval_t sigev_value;
10189 int _pad[((64 / sizeof (int)) - 4)];
10197 void (*_function) (sigval_t);
10204 #define sigev_notify_function _sigev_un._sigev_thread._function
10205 #define sigev_notify_attributes _sigev_un._sigev_thread._attribute
10211 #define SIGEV_SIGNAL SIGEV_SIGNAL
10213 #define SIGEV_NONE SIGEV_NONE
10215 #define SIGEV_THREAD SIGEV_THREAD
10217 SIGEV_THREAD_ID = 4
10218 #define SIGEV_THREAD_ID SIGEV_THREAD_ID
10220 # 9 "/usr/include/bits/siginfo.h" 2 3 4
10221 # 213 "/usr/include/gentoo-multilib/amd64/signal.h" 2 3 4
10225 extern int sigemptyset (sigset_t *__set) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
10228 extern int sigfillset (sigset_t *__set) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
10231 extern int sigaddset (sigset_t *__set, int __signo) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
10234 extern int sigdelset (sigset_t *__set, int __signo) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
10237 extern int sigismember (__const sigset_t *__set, int __signo)
10238 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
10242 extern int sigisemptyset (__const sigset_t *__set) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
10245 extern int sigandset (sigset_t *__set, __const sigset_t *__left,
10246 __const sigset_t *__right) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2, 3)));
10249 extern int sigorset (sigset_t *__set, __const sigset_t *__left,
10250 __const sigset_t *__right) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2, 3)));
10255 # 1 "/usr/include/bits/sigaction.h" 1 3 4
10263 # 1 "/usr/include/gentoo-multilib/amd64/bits/sigaction.h" 1 3 4
10264 # 25 "/usr/include/gentoo-multilib/amd64/bits/sigaction.h" 3 4
10272 __sighandler_t sa_handler;
10274 void (*sa_sigaction) (int, siginfo_t *, void *);
10276 __sigaction_handler;
10277 #define sa_handler __sigaction_handler.sa_handler
10278 #define sa_sigaction __sigaction_handler.sa_sigaction
10284 __sigset_t sa_mask;
10290 void (*sa_restorer) (void);
10294 #define SA_NOCLDSTOP 1
10295 #define SA_NOCLDWAIT 2
10296 #define SA_SIGINFO 4
10299 #define SA_ONSTACK 0x08000000
10300 #define SA_RESTART 0x10000000
10301 #define SA_NODEFER 0x40000000
10303 #define SA_RESETHAND 0x80000000
10306 #define SA_INTERRUPT 0x20000000
10309 #define SA_NOMASK SA_NODEFER
10310 #define SA_ONESHOT SA_RESETHAND
10311 #define SA_STACK SA_ONSTACK
10315 #define SIG_BLOCK 0
10316 #define SIG_UNBLOCK 1
10317 #define SIG_SETMASK 2
10318 # 9 "/usr/include/bits/sigaction.h" 2 3 4
10319 # 247 "/usr/include/gentoo-multilib/amd64/signal.h" 2 3 4
10322 extern int sigprocmask (int __how, __const sigset_t *__restrict __set,
10323 sigset_t *__restrict __oset) __attribute__ ((__nothrow__));
10330 extern int sigsuspend (__const sigset_t *__set) __attribute__ ((__nonnull__ (1)));
10333 extern int sigaction (int __sig, __const struct sigaction *__restrict __act,
10334 struct sigaction *__restrict __oact) __attribute__ ((__nothrow__));
10337 extern int sigpending (sigset_t *__set) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
10344 extern int sigwait (__const sigset_t *__restrict __set, int *__restrict __sig)
10345 __attribute__ ((__nonnull__ (1, 2)));
10352 extern int sigwaitinfo (__const sigset_t *__restrict __set,
10353 siginfo_t *__restrict __info) __attribute__ ((__nonnull__ (1)));
10360 extern int sigtimedwait (__const sigset_t *__restrict __set,
10361 siginfo_t *__restrict __info,
10362 __const struct timespec *__restrict __timeout)
10363 __attribute__ ((__nonnull__ (1)));
10367 extern int sigqueue (__pid_t __pid, int __sig, __const union sigval __val)
10368 __attribute__ ((__nothrow__));
10369 # 304 "/usr/include/gentoo-multilib/amd64/signal.h" 3 4
10370 extern __const char *__const _sys_siglist[65];
10371 extern __const char *__const sys_siglist[65];
10376 __sighandler_t sv_handler;
10380 #define sv_onstack sv_flags
10384 #define SV_ONSTACK (1 << 0)
10385 #define SV_INTERRUPT (1 << 1)
10386 #define SV_RESETHAND (1 << 2)
10394 extern int sigvec (int __sig, __const struct sigvec *__vec,
10395 struct sigvec *__ovec) __attribute__ ((__nothrow__));
10399 # 1 "/usr/include/bits/sigcontext.h" 1 3 4
10407 # 1 "/usr/include/gentoo-multilib/amd64/bits/sigcontext.h" 1 3 4
10408 # 20 "/usr/include/gentoo-multilib/amd64/bits/sigcontext.h" 3 4
10409 #define _BITS_SIGCONTEXT_H 1
10415 # 1 "/usr/include/bits/wordsize.h" 1 3 4
10423 # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4
10427 #define __WORDSIZE 64
10428 #define __WORDSIZE_COMPAT32 1
10429 # 9 "/usr/include/bits/wordsize.h" 2 3 4
10430 # 27 "/usr/include/gentoo-multilib/amd64/bits/sigcontext.h" 2 3 4
10434 unsigned short significand[4];
10435 unsigned short exponent;
10440 unsigned short significand[4];
10441 unsigned short exponent;
10442 unsigned short padding[3];
10447 __uint32_t element[4];
10449 # 109 "/usr/include/gentoo-multilib/amd64/bits/sigcontext.h" 3 4
10460 __uint32_t mxcr_mask;
10461 struct _fpxreg _st[8];
10462 struct _xmmreg _xmm[16];
10463 __uint32_t padding[24];
10485 unsigned long eflags;
10489 unsigned short __pad0;
10491 unsigned long trapno;
10492 unsigned long oldmask;
10494 struct _fpstate * fpstate;
10495 unsigned long __reserved1 [8];
10497 # 9 "/usr/include/bits/sigcontext.h" 2 3 4
10498 # 334 "/usr/include/gentoo-multilib/amd64/signal.h" 2 3 4
10501 extern int sigreturn (struct sigcontext *__scp) __attribute__ ((__nothrow__));
10502 # 346 "/usr/include/gentoo-multilib/amd64/signal.h" 3 4
10503 extern int siginterrupt (int __sig, int __interrupt) __attribute__ ((__nothrow__));
10505 # 1 "/usr/include/bits/sigstack.h" 1 3 4
10513 # 1 "/usr/include/gentoo-multilib/amd64/bits/sigstack.h" 1 3 4
10514 # 26 "/usr/include/gentoo-multilib/amd64/bits/sigstack.h" 3 4
10526 #define SS_ONSTACK SS_ONSTACK
10528 #define SS_DISABLE SS_DISABLE
10532 #define MINSIGSTKSZ 2048
10535 #define SIGSTKSZ 8192
10539 typedef struct sigaltstack
10545 # 9 "/usr/include/bits/sigstack.h" 2 3 4
10546 # 349 "/usr/include/gentoo-multilib/amd64/signal.h" 2 3 4
10549 # 1 "/usr/include/sys/ucontext.h" 1 3 4
10557 # 1 "/usr/include/gentoo-multilib/amd64/sys/ucontext.h" 1 3 4
10558 # 20 "/usr/include/gentoo-multilib/amd64/sys/ucontext.h" 3 4
10559 #define _SYS_UCONTEXT_H 1
10561 # 1 "/usr/include/features.h" 1 3 4
10562 # 23 "/usr/include/gentoo-multilib/amd64/sys/ucontext.h" 2 3 4
10563 # 1 "/usr/include/signal.h" 1 3 4
10564 # 24 "/usr/include/gentoo-multilib/amd64/sys/ucontext.h" 2 3 4
10565 # 1 "/usr/include/bits/wordsize.h" 1 3 4
10573 # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4
10577 #define __WORDSIZE 64
10578 #define __WORDSIZE_COMPAT32 1
10579 # 9 "/usr/include/bits/wordsize.h" 2 3 4
10580 # 25 "/usr/include/gentoo-multilib/amd64/sys/ucontext.h" 2 3 4
10584 # 1 "/usr/include/bits/sigcontext.h" 1 3 4
10585 # 29 "/usr/include/gentoo-multilib/amd64/sys/ucontext.h" 2 3 4
10590 typedef long int greg_t;
10596 typedef greg_t gregset_t[23];
10603 #define REG_R8 REG_R8
10605 #define REG_R9 REG_R9
10607 #define REG_R10 REG_R10
10609 #define REG_R11 REG_R11
10611 #define REG_R12 REG_R12
10613 #define REG_R13 REG_R13
10615 #define REG_R14 REG_R14
10617 #define REG_R15 REG_R15
10619 #define REG_RDI REG_RDI
10621 #define REG_RSI REG_RSI
10623 #define REG_RBP REG_RBP
10625 #define REG_RBX REG_RBX
10627 #define REG_RDX REG_RDX
10629 #define REG_RAX REG_RAX
10631 #define REG_RCX REG_RCX
10633 #define REG_RSP REG_RSP
10635 #define REG_RIP REG_RIP
10637 #define REG_EFL REG_EFL
10639 #define REG_CSGSFS REG_CSGSFS
10641 #define REG_ERR REG_ERR
10643 #define REG_TRAPNO REG_TRAPNO
10645 #define REG_OLDMASK REG_OLDMASK
10647 #define REG_CR2 REG_CR2
10651 struct _libc_fpxreg
10653 unsigned short int significand[4];
10654 unsigned short int exponent;
10655 unsigned short int padding[3];
10658 struct _libc_xmmreg
10660 __uint32_t element[4];
10663 struct _libc_fpstate
10673 __uint32_t mxcr_mask;
10674 struct _libc_fpxreg _st[8];
10675 struct _libc_xmmreg _xmm[16];
10676 __uint32_t padding[24];
10680 typedef struct _libc_fpstate *fpregset_t;
10688 unsigned long __reserved1 [8];
10692 typedef struct ucontext
10694 unsigned long int uc_flags;
10695 struct ucontext *uc_link;
10697 mcontext_t uc_mcontext;
10698 __sigset_t uc_sigmask;
10699 struct _libc_fpstate __fpregs_mem;
10701 # 9 "/usr/include/sys/ucontext.h" 2 3 4
10702 # 352 "/usr/include/gentoo-multilib/amd64/signal.h" 2 3 4
10708 extern int sigstack (struct sigstack *__ss, struct sigstack *__oss)
10709 __attribute__ ((__nothrow__)) __attribute__ ((__deprecated__));
10713 extern int sigaltstack (__const struct sigaltstack *__restrict __ss,
10714 struct sigaltstack *__restrict __oss) __attribute__ ((__nothrow__));
10722 extern int sighold (int __sig) __attribute__ ((__nothrow__));
10725 extern int sigrelse (int __sig) __attribute__ ((__nothrow__));
10728 extern int sigignore (int __sig) __attribute__ ((__nothrow__));
10731 extern __sighandler_t sigset (int __sig, __sighandler_t __disp) __attribute__ ((__nothrow__));
10737 # 1 "/usr/include/bits/pthreadtypes.h" 1 3 4
10738 # 387 "/usr/include/gentoo-multilib/amd64/signal.h" 2 3 4
10739 # 1 "/usr/include/bits/sigthread.h" 1 3 4
10747 # 1 "/usr/include/gentoo-multilib/amd64/bits/sigthread.h" 1 3 4
10748 # 21 "/usr/include/gentoo-multilib/amd64/bits/sigthread.h" 3 4
10749 #define _BITS_SIGTHREAD_H 1
10750 # 31 "/usr/include/gentoo-multilib/amd64/bits/sigthread.h" 3 4
10751 extern int pthread_sigmask (int __how,
10752 __const __sigset_t *__restrict __newmask,
10753 __sigset_t *__restrict __oldmask)__attribute__ ((__nothrow__));
10756 extern int pthread_kill (pthread_t __threadid, int __signo) __attribute__ ((__nothrow__));
10757 # 9 "/usr/include/bits/sigthread.h" 2 3 4
10758 # 388 "/usr/include/gentoo-multilib/amd64/signal.h" 2 3 4
10765 extern int __libc_current_sigrtmin (void) __attribute__ ((__nothrow__));
10767 extern int __libc_current_sigrtmax (void) __attribute__ ((__nothrow__));
10772 # 9 "/usr/include/signal.h" 2 3 4
10773 # 1 "/usr/include/gentoo-multilib/amd64/sys/signal.h" 2 3 4
10774 # 9 "/usr/include/sys/signal.h" 2 3 4
10775 # 36 "/usr/include/directfb/direct/conf.h" 2
10782 } DirectConfigFatalLevel;
10784 struct __D_DirectConfig {
10792 char **disable_module;
10795 sigset_t dont_catch;
10799 DirectConfigFatalLevel fatal;
10802 extern DirectConfig *direct_config;
10803 # 37 "/usr/include/directfb/direct/debug.h" 2
10804 # 1 "/usr/include/directfb/direct/log.h" 1
10805 # 29 "/usr/include/directfb/direct/log.h"
10806 #define __DIRECT__LOG_H__
10809 # 1 "/usr/include/directfb/direct/messages.h" 1
10810 # 29 "/usr/include/directfb/direct/messages.h"
10811 #define __DIRECT__MESSAGES_H__
10817 #define D_FORMAT_PRINTF(n) __attribute__((__format__ (__printf__, n, n+1)))
10825 # 1 "/usr/include/errno.h" 1 3 4
10833 # 1 "/usr/include/gentoo-multilib/amd64/errno.h" 1 3 4
10834 # 72 "/usr/include/gentoo-multilib/amd64/errno.h" 3 4
10835 #undef __need_error_t
10836 # 9 "/usr/include/errno.h" 2 3 4
10837 # 44 "/usr/include/directfb/direct/messages.h" 2
10842 void direct_messages_info ( const char *format, ... ) __attribute__((__format__ (__printf__, 1, 1 +1)));
10844 void direct_messages_error ( const char *format, ... ) __attribute__((__format__ (__printf__, 1, 1 +1)));
10846 void direct_messages_derror ( DirectResult result,
10847 const char *format, ... ) __attribute__((__format__ (__printf__, 2, 2 +1)));
10849 void direct_messages_perror ( int erno,
10850 const char *format, ... ) __attribute__((__format__ (__printf__, 2, 2 +1)));
10852 void direct_messages_dlerror ( const char *dlerr,
10853 const char *format, ... ) __attribute__((__format__ (__printf__, 2, 2 +1)));
10855 void direct_messages_once ( const char *func,
10858 const char *format, ... ) __attribute__((__format__ (__printf__, 4, 4 +1)));
10860 void direct_messages_unimplemented( const char *func,
10864 void direct_messages_bug ( const char *func,
10867 const char *format, ... ) __attribute__((__format__ (__printf__, 4, 4 +1)));
10869 void direct_messages_warn ( const char *func,
10872 const char *format, ... ) __attribute__((__format__ (__printf__, 4, 4 +1)));
10875 #define D_INFO(x...) do { if (!direct_config->quiet) direct_messages_info( x ); } while (0)
10880 #define D_ERROR(x...) do { if (!direct_config->quiet) direct_messages_error( x ); } while (0)
10885 #define D_DERROR(r,x...) do { if (!direct_config->quiet) direct_messages_derror( r, x ); } while (0)
10890 #define D_PERROR(x...) do { if (!direct_config->quiet) direct_messages_perror( errno, x ); } while (0)
10895 #define D_DLERROR(x...) do { if (!direct_config->quiet) direct_messages_dlerror( dlerror(), x ); } while (0)
10901 #define D_ONCE(x...) do { if (!direct_config->quiet) { static bool first = true; if (first) { direct_messages_once( __FUNCTION__, __FILE__, __LINE__, x ); first = false; } } } while (0)
10902 # 118 "/usr/include/directfb/direct/messages.h"
10903 #define D_UNIMPLEMENTED() do { if (!direct_config->quiet) { static bool first = true; if (first) { direct_messages_unimplemented( __FUNCTION__, __FILE__, __LINE__ ); first = false; } } } while (0)
10904 # 129 "/usr/include/directfb/direct/messages.h"
10905 #define D_BUG(x...) do { if (!direct_config->quiet) direct_messages_bug( __FUNCTION__, __FILE__, __LINE__, x ); } while (0)
10910 #define D_WARN(x...) do { if (!direct_config->quiet) direct_messages_warn( __FUNCTION__, __FILE__, __LINE__, x ); } while (0)
10915 #define D_OOM() (direct_messages_warn( __FUNCTION__, __FILE__, __LINE__, "out of memory" ), DFB_NOSYSTEMMEMORY)
10916 # 33 "/usr/include/directfb/direct/log.h" 2
10924 # 50 "/usr/include/directfb/direct/log.h"
10925 DirectResult direct_log_create ( DirectLogType type,
10927 DirectLog **ret_log );
10932 DirectResult direct_log_destroy ( DirectLog *log );
10940 DirectResult direct_log_printf ( DirectLog *log,
10941 const char *format, ... ) __attribute__((__format__ (__printf__, 2, 2 +1)));
10946 DirectResult direct_log_set_default( DirectLog *log );
10947 # 38 "/usr/include/directfb/direct/debug.h" 2
10949 # 1 "/usr/include/directfb/direct/system.h" 1
10950 # 29 "/usr/include/directfb/direct/system.h"
10951 #define __DIRECT__SYSTEM_H__
10953 # 1 "/usr/include/sys/types.h" 1 3 4
10954 # 32 "/usr/include/directfb/direct/system.h" 2
10956 pid_t direct_gettid();
10957 long direct_pagesize();
10958 # 40 "/usr/include/directfb/direct/debug.h" 2
10960 # 1 "/usr/include/directfb/direct/util.h" 1
10961 # 29 "/usr/include/directfb/direct/util.h"
10962 #define __DIRECT__UTIL_H__
10967 # 1 "/usr/include/pthread.h" 1 3 4
10968 # 35 "/usr/include/directfb/direct/util.h" 2
10971 #define MIN(a,b) ((a) < (b) ? (a) : (b))
10974 #define MAX(a,b) ((a) > (b) ? (a) : (b))
10978 #define SIGN(x) (((x) < 0) ? -1 : (((x) > 0) ? 1 : 0))
10982 #define ABS(x) ((x) > 0 ? (x) : -(x))
10986 #define CLAMP(x,min,max) ((x) < (min) ? (min) : (x) > (max) ? (max) : (x))
10990 #define D_FLAGS_SET(flags,f) do { (flags) |= (f); } while (0)
10991 #define D_FLAGS_CLEAR(flags,f) do { (flags) &= ~(f); } while (0)
10992 #define D_FLAGS_IS_SET(flags,f) (((flags) & (f)) != 0)
10993 #define D_FLAGS_ARE_SET(flags,f) (((flags) & (f)) == (f))
10994 #define D_FLAGS_ARE_IN(flags,f) (((flags) & ~(f)) == 0)
10995 #define D_FLAGS_INVALID(flags,f) (((flags) & ~(f)) != 0)
10997 #define D_FLAGS_ASSERT(flags,f) D_ASSERT( D_FLAGS_ARE_IN(flags,f) )
10999 #define D_ARRAY_SIZE(array) ((int)(sizeof(array) / sizeof((array)[0])))
11003 #define D_CONST_FUNC __attribute__((const))
11004 # 78 "/usr/include/directfb/direct/util.h"
11005 DirectResult errno2result( int erno );
11007 const char *DirectResultString( DirectResult result );
11009 int direct_try_open( const char *name1, const char *name2, int flags, bool error_msg );
11011 void direct_trim( char **s );
11017 direct_util_count_bits( unsigned int mask )
11019 register int ret = 0;
11033 direct_util_align( int value,
11036 if (alignment > 1) {
11037 int tail = value % alignment;
11040 value += alignment - tail;
11049 int direct_util_recursive_pthread_mutex_init( pthread_mutex_t *mutex );
11050 # 135 "/usr/include/directfb/direct/util.h"
11051 static inline int D_IFLOOR(float f)
11056 af = (3 << 22) + 0.5 + (double)f;
11057 bf = (3 << 22) + 0.5 - (double)f;
11058 # 150 "/usr/include/directfb/direct/util.h"
11060 union { int i; float f; } u;
11061 u.f = af; ai = u.i;
11062 u.f = bf; bi = u.i;
11066 return (ai - bi) >> 1;
11068 # 169 "/usr/include/directfb/direct/util.h"
11069 static inline int D_ICEIL(float f)
11074 af = (3 << 22) + 0.5 + (double)f;
11075 bf = (3 << 22) + 0.5 - (double)f;
11076 # 184 "/usr/include/directfb/direct/util.h"
11078 union { int i; float f; } u;
11079 u.f = af; ai = u.i;
11080 u.f = bf; bi = u.i;
11084 return (ai - bi + 1) >> 1;
11087 static inline int direct_log2( int val )
11089 register int ret = 0;
11091 while (val >> ++ret);
11093 if ((1 << --ret) < val)
11098 # 42 "/usr/include/directfb/direct/debug.h" 2
11107 const char *description;
11108 } DirectDebugDomain;
11110 void direct_debug_config_domain( const char *name, bool enable );
11115 void direct_debug( const char *format, ... ) __attribute__((__format__ (__printf__, 1, 1 +1)));
11117 void direct_debug_at( DirectDebugDomain *domain,
11118 const char *format, ... ) __attribute__((__format__ (__printf__, 2, 2 +1)));
11120 void direct_debug_enter( DirectDebugDomain *domain,
11124 const char *format, ... ) __attribute__((__format__ (__printf__, 5, 5 +1)));
11126 void direct_debug_exit( DirectDebugDomain *domain,
11130 const char *format, ... ) __attribute__((__format__ (__printf__, 5, 5 +1)));
11132 void direct_break( const char *func,
11135 const char *format, ... ) __attribute__((__format__ (__printf__, 4, 4 +1)));
11137 void direct_assertion( const char *exp,
11142 void direct_assumption( const char *exp,
11146 # 159 "/usr/include/directfb/direct/debug.h"
11147 #define D_DEBUG_ENABLED (0)
11149 #define D_HEAVYDEBUG(x...) do {} while (0)
11150 #define D_DEBUG_DOMAIN(i,n,d)
11151 #define D_DEBUG(x...) do {} while (0)
11152 #define D_DEBUG_AT(d,x...) do {} while (0)
11153 #define D_DEBUG_ENTER(d,x...) do {} while (0)
11154 #define D_DEBUG_EXIT(d,x...) do {} while (0)
11155 #define D_ASSERT(exp) do {} while (0)
11156 #define D_ASSUME(exp) do {} while (0)
11157 #define D_BREAK(x...) do {} while (0)
11162 #define D_MAGIC(spell) ( (((spell)[sizeof(spell)*8/9] << 24) | ((spell)[sizeof(spell)*7/9] << 16) | ((spell)[sizeof(spell)*6/9] << 8) | ((spell)[sizeof(spell)*5/9] )) ^ (((spell)[sizeof(spell)*4/9] << 24) | ((spell)[sizeof(spell)*3/9] << 16) | ((spell)[sizeof(spell)*2/9] << 8) | ((spell)[sizeof(spell)*1/9] )) )
11163 # 184 "/usr/include/directfb/direct/debug.h"
11164 #define D_MAGIC_SET(o,m) do { D_ASSERT( (o) != NULL ); D_ASSUME( (o)->magic != D_MAGIC(#m) ); (o)->magic = D_MAGIC(#m); } while (0)
11171 #define D_MAGIC_SET_ONLY(o,m) do { D_ASSERT( (o) != NULL ); (o)->magic = D_MAGIC(#m); } while (0)
11177 #define D_MAGIC_ASSERT(o,m) do { D_ASSERT( (o) != NULL ); D_ASSERT( (o)->magic == D_MAGIC(#m) ); } while (0)
11182 #define D_MAGIC_ASSUME(o,m) do { D_ASSUME( (o) != NULL ); if (o) D_ASSUME( (o)->magic == D_MAGIC(#m) ); } while (0)
11188 #define D_MAGIC_ASSERT_IF(o,m) do { if (o) D_ASSERT( (o)->magic == D_MAGIC(#m) ); } while (0)
11193 #define D_MAGIC_CLEAR(o) do { D_ASSERT( (o) != NULL ); D_ASSUME( (o)->magic != 0 ); (o)->magic = 0; } while (0)
11194 # 33 "/usr/include/directfb/direct/serial.h" 2
11196 struct __D_DirectSerial {
11200 u_int32_t overflow;
11204 direct_serial_init( DirectSerial *serial )
11209 serial->overflow = 0;
11211 do { do {} while (0); do {} while (0); (serial)->magic = ( ((("DirectSerial")[sizeof("DirectSerial")*8/9] << 24) | (("DirectSerial")[sizeof("DirectSerial")*7/9] << 16) | (("DirectSerial")[sizeof("DirectSerial")*6/9] << 8) | (("DirectSerial")[sizeof("DirectSerial")*5/9] )) ^ ((("DirectSerial")[sizeof("DirectSerial")*4/9] << 24) | (("DirectSerial")[sizeof("DirectSerial")*3/9] << 16) | (("DirectSerial")[sizeof("DirectSerial")*2/9] << 8) | (("DirectSerial")[sizeof("DirectSerial")*1/9] )) ); } while (0);
11215 direct_serial_deinit( DirectSerial *serial )
11217 do { do {} while (0); do {} while (0); (serial)->magic = 0; } while (0);
11221 direct_serial_increase( DirectSerial *serial )
11223 do { do {} while (0); do {} while (0); } while (0);
11225 ++serial->value || serial->overflow++;
11229 direct_serial_copy( DirectSerial *serial, const DirectSerial *source )
11231 do { do {} while (0); do {} while (0); } while (0);
11232 do { do {} while (0); do {} while (0); } while (0);
11234 serial->value = source->value;
11235 serial->overflow = source->overflow;
11239 direct_serial_update( DirectSerial *serial, const DirectSerial *source )
11241 do { do {} while (0); do {} while (0); } while (0);
11242 do { do {} while (0); do {} while (0); } while (0);
11244 if (serial->overflow < source->overflow) {
11245 serial->overflow = source->overflow;
11246 serial->value = source->value;
11250 else if (serial->overflow == source->overflow && serial->value < source->value) {
11251 serial->value = source->value;
11260 # 36 "/usr/include/directfb-internal/core/state.h" 2
11262 # 1 "/usr/include/directfb/fusion/reactor.h" 1
11263 # 29 "/usr/include/directfb/fusion/reactor.h"
11264 #define __FUSION__REACTOR_H__
11266 # 1 "/usr/include/directfb/direct/list.h" 1
11267 # 29 "/usr/include/directfb/direct/list.h"
11268 #define __DIRECT__LIST_H__
11274 struct __D_DirectLink {
11283 direct_list_prepend( DirectLink **list, DirectLink *link )
11285 DirectLink *first = *list;
11287 link->next = first;
11290 do { do {} while (0); do {} while (0); } while (0);
11292 link->prev = first->prev;
11294 first->prev = link;
11301 do { do {} while (0); do {} while (0); (link)->magic = ( ((("DirectLink")[sizeof("DirectLink")*8/9] << 24) | (("DirectLink")[sizeof("DirectLink")*7/9] << 16) | (("DirectLink")[sizeof("DirectLink")*6/9] << 8) | (("DirectLink")[sizeof("DirectLink")*5/9] )) ^ ((("DirectLink")[sizeof("DirectLink")*4/9] << 24) | (("DirectLink")[sizeof("DirectLink")*3/9] << 16) | (("DirectLink")[sizeof("DirectLink")*2/9] << 8) | (("DirectLink")[sizeof("DirectLink")*1/9] )) ); } while (0);
11305 direct_list_append( DirectLink **list, DirectLink *link )
11307 DirectLink *first = *list;
11309 link->next = ((void *)0);
11312 DirectLink *last = first->prev;
11314 do { do {} while (0); do {} while (0); } while (0);
11315 do { do {} while (0); do {} while (0); } while (0);
11319 last->next = first->prev = link;
11322 *list = link->prev = link;
11324 do { do {} while (0); do {} while (0); (link)->magic = ( ((("DirectLink")[sizeof("DirectLink")*8/9] << 24) | (("DirectLink")[sizeof("DirectLink")*7/9] << 16) | (("DirectLink")[sizeof("DirectLink")*6/9] << 8) | (("DirectLink")[sizeof("DirectLink")*5/9] )) ^ ((("DirectLink")[sizeof("DirectLink")*4/9] << 24) | (("DirectLink")[sizeof("DirectLink")*3/9] << 16) | (("DirectLink")[sizeof("DirectLink")*2/9] << 8) | (("DirectLink")[sizeof("DirectLink")*1/9] )) ); } while (0);
11328 direct_list_contains_element_EXPENSIVE( DirectLink *list, DirectLink *link )
11330 do { if (list) do {} while (0); } while (0);
11332 if (!link->prev && !link->next)
11348 direct_list_count_elements_EXPENSIVE( DirectLink *list )
11353 do { do {} while (0); do {} while (0); } while (0);
11364 direct_list_remove( DirectLink **list, DirectLink *link )
11371 do { do {} while (0); do {} while (0); } while (0);
11372 do { do {} while (0); do {} while (0); } while (0);
11378 do { do {} while (0); do {} while (0); } while (0);
11383 (*list)->prev = prev;
11388 do { do {} while (0); do {} while (0); } while (0);
11393 link->next = link->prev = ((void *)0);
11395 do { do {} while (0); do {} while (0); (link)->magic = 0; } while (0);
11399 direct_list_check_link( const DirectLink *link )
11401 do { if (link) do {} while (0); } while (0);
11403 return link != ((void *)0);
11407 #define direct_list_foreach(elem,list) for (elem = (typeof(elem))(list); direct_list_check_link( (DirectLink*)(elem) ); elem = (typeof(elem))(((DirectLink*)(elem))->next))
11412 #define direct_list_foreach_safe(elem,temp,list) for (elem = (typeof(elem))(list), temp = ((typeof(temp))(elem) ? (typeof(temp))(((DirectLink*)(elem))->next) : NULL); direct_list_check_link( (DirectLink*)(elem) ); elem = (typeof(elem))(temp), temp = ((typeof(temp))(elem) ? (typeof(temp))(((DirectLink*)(elem))->next) : NULL))
11413 # 32 "/usr/include/directfb/fusion/reactor.h" 2
11415 # 1 "/usr/include/directfb/fusion/types.h" 1
11416 # 29 "/usr/include/directfb/fusion/types.h"
11417 #define __FUSION__TYPES_H__
11419 # 1 "/usr/include/directfb/fusion/build.h" 1
11420 # 29 "/usr/include/directfb/fusion/build.h"
11421 #define __FUSION__BUILD_H__
11423 #define FUSION_BUILD_MULTI (0)
11424 # 32 "/usr/include/directfb/fusion/types.h" 2
11425 # 46 "/usr/include/directfb/fusion/types.h"
11426 typedef unsigned long FusionID;
11429 FCEF_NONE = 0x00000000,
11430 FCEF_ONEWAY = 0x00000001,
11431 FCEF_ALL = 0x00000001
11432 } FusionCallExecFlags;
11440 typedef struct __Fusion_FusionConfig FusionConfig;
11442 typedef struct __Fusion_FusionArena FusionArena;
11443 typedef struct __Fusion_FusionReactor FusionReactor;
11444 typedef struct __Fusion_FusionWorld FusionWorld;
11445 typedef struct __Fusion_FusionWorldShared FusionWorldShared;
11447 typedef struct __Fusion_FusionObject FusionObject;
11448 typedef struct __Fusion_FusionObjectPool FusionObjectPool;
11450 typedef struct __Fusion_FusionSHM FusionSHM;
11451 typedef struct __Fusion_FusionSHMShared FusionSHMShared;
11453 typedef struct __Fusion_FusionSHMPool FusionSHMPool;
11454 typedef struct __Fusion_FusionSHMPoolShared FusionSHMPoolShared;
11455 # 34 "/usr/include/directfb/fusion/reactor.h" 2
11456 # 1 "/usr/include/directfb/fusion/lock.h" 1
11457 # 29 "/usr/include/directfb/fusion/lock.h"
11458 #define __FUSION__LOCK_H__
11460 # 1 "/usr/include/pthread.h" 1 3 4
11461 # 32 "/usr/include/directfb/fusion/lock.h" 2
11472 const FusionWorldShared *shared;
11477 pthread_mutex_t lock;
11484 DirectResult fusion_skirmish_init ( FusionSkirmish *skirmish,
11486 const FusionWorld *world );
11491 DirectResult fusion_skirmish_prevail( FusionSkirmish *skirmish );
11496 DirectResult fusion_skirmish_swoop ( FusionSkirmish *skirmish );
11501 DirectResult fusion_skirmish_dismiss( FusionSkirmish *skirmish );
11506 DirectResult fusion_skirmish_destroy( FusionSkirmish *skirmish );
11507 # 35 "/usr/include/directfb/fusion/reactor.h" 2
11515 typedef ReactionResult (*ReactionFunc)( const void *msg_data,
11536 FusionReactor *fusion_reactor_new ( int msg_size,
11538 const FusionWorld *world );
11543 DirectResult fusion_reactor_free ( FusionReactor *reactor );
11544 # 82 "/usr/include/directfb/fusion/reactor.h"
11545 DirectResult fusion_reactor_set_lock ( FusionReactor *reactor,
11546 FusionSkirmish *skirmish );
11551 DirectResult fusion_reactor_attach ( FusionReactor *reactor,
11554 Reaction *reaction );
11559 DirectResult fusion_reactor_detach ( FusionReactor *reactor,
11560 Reaction *reaction );
11561 # 111 "/usr/include/directfb/fusion/reactor.h"
11562 DirectResult fusion_reactor_attach_global( FusionReactor *reactor,
11565 GlobalReaction *reaction );
11570 DirectResult fusion_reactor_detach_global( FusionReactor *reactor,
11571 GlobalReaction *reaction );
11578 DirectResult fusion_reactor_dispatch ( FusionReactor *reactor,
11579 const void *msg_data,
11581 const ReactionFunc *globals );
11582 # 139 "/usr/include/directfb/fusion/reactor.h"
11583 DirectResult fusion_reactor_sized_dispatch( FusionReactor *reactor,
11584 const void *msg_data,
11587 const ReactionFunc *globals );
11588 # 38 "/usr/include/directfb-internal/core/state.h" 2
11592 # 1 "/usr/include/directfb-internal/core/gfxcard.h" 1
11593 # 29 "/usr/include/directfb-internal/core/gfxcard.h"
11594 #define __GFXCARD_H__
11596 # 1 "/usr/include/pthread.h" 1 3 4
11597 # 32 "/usr/include/directfb-internal/core/gfxcard.h" 2
11599 # 1 "/usr/include/directfb/direct/modules.h" 1
11600 # 29 "/usr/include/directfb/direct/modules.h"
11601 #define __DIRECT__MODULES_H__
11603 # 1 "/usr/include/pthread.h" 1 3 4
11604 # 32 "/usr/include/directfb/direct/modules.h" 2
11611 struct __D_DirectModuleEntry {
11616 DirectModuleDir *directory;
11630 struct __D_DirectModuleDir {
11631 pthread_mutex_t lock;
11634 unsigned int abi_version;
11636 DirectLink *entries;
11638 DirectModuleEntry *loading;
11641 #define DECLARE_MODULE_DIRECTORY(d) extern DirectModuleDir d
11644 #define DEFINE_MODULE_DIRECTORY(d,p,n) DirectModuleDir d = { lock: PTHREAD_MUTEX_INITIALIZER, path: MODULEDIR"/"p, abi_version: n, entries: NULL, loading: NULL }
11645 # 80 "/usr/include/directfb/direct/modules.h"
11646 int direct_modules_explore_directory( DirectModuleDir *directory );
11648 void direct_modules_register( DirectModuleDir *directory,
11649 unsigned int abi_version,
11651 const void *funcs );
11653 const void *direct_module_ref ( DirectModuleEntry *module );
11654 void direct_module_unref( DirectModuleEntry *module );
11655 # 34 "/usr/include/directfb-internal/core/gfxcard.h" 2
11663 CCF_CLIPPING = 0x00000001,
11664 CCF_NOTRIEMU = 0x00000002,
11665 CCF_READSYSMEM = 0x00000004,
11667 CCF_AUXMEMORY = 0x00000010
11668 } CardCapabilitiesFlags;
11670 struct __DFB_CoreGraphicsSerial {
11671 unsigned int serial;
11672 unsigned int generation;
11676 CardCapabilitiesFlags flags;
11678 DFBAccelerationMask accel;
11679 DFBSurfaceBlittingFlags blitting;
11680 DFBSurfaceDrawingFlags drawing;
11681 } CardCapabilities;
11684 unsigned int surface_byteoffset_alignment;
11685 unsigned int surface_pixelpitch_alignment;
11686 unsigned int surface_bytepitch_alignment;
11688 unsigned int surface_max_power_of_two_pixelpitch;
11689 unsigned int surface_max_power_of_two_bytepitch;
11690 unsigned int surface_max_power_of_two_height;
11693 extern DirectModuleDir dfb_graphics_drivers;
11698 #define DFB_GRAPHICS_DRIVER_ABI_VERSION 32
11700 #define DFB_GRAPHICS_DRIVER_INFO_NAME_LENGTH 40
11701 #define DFB_GRAPHICS_DRIVER_INFO_VENDOR_LENGTH 60
11702 #define DFB_GRAPHICS_DRIVER_INFO_URL_LENGTH 100
11703 #define DFB_GRAPHICS_DRIVER_INFO_LICENSE_LENGTH 40
11705 #define DFB_GRAPHICS_DEVICE_INFO_NAME_LENGTH 48
11706 #define DFB_GRAPHICS_DEVICE_INFO_VENDOR_LENGTH 64
11712 } GraphicsDriverVersion;
11715 GraphicsDriverVersion version;
11731 unsigned int driver_data_size;
11732 unsigned int device_data_size;
11733 } GraphicsDriverInfo;
11744 CardCapabilities caps;
11747 CardLimitations limits;
11748 } GraphicsDeviceInfo;
11750 typedef struct _GraphicsDeviceFuncs {
11756 void (*AfterSetVar)( void *driver_data, void *device_data );
11757 # 144 "/usr/include/directfb-internal/core/gfxcard.h"
11758 void (*EngineReset)( void *driver_data, void *device_data );
11759 # 155 "/usr/include/directfb-internal/core/gfxcard.h"
11760 void (*EngineSync)( void *driver_data, void *device_data );
11766 void (*FlushTextureCache)( void *driver_data, void *device_data );
11772 void (*FlushReadCache)( void *driver_data, void *device_data );
11777 void (*SurfaceEnter)( void *driver_data, void *device_data,
11778 SurfaceBuffer *buffer, DFBSurfaceLockFlags flags );
11783 void (*SurfaceLeave)( void *driver_data, void *device_data, SurfaceBuffer *buffer );
11791 void (*GetSerial)( void *driver_data, void *device_data, CoreGraphicsSerial *serial );
11796 void (*WaitSerial)( void *driver_data, void *device_data, const CoreGraphicsSerial *serial );
11801 void (*EmitCommands) ( void *driver_data, void *device_data );
11808 void (*CheckState)( void *driver_data, void *device_data,
11809 CardState *state, DFBAccelerationMask accel );
11810 # 213 "/usr/include/directfb-internal/core/gfxcard.h"
11811 void (*SetState) ( void *driver_data, void *device_data,
11812 struct _GraphicsDeviceFuncs *funcs,
11813 CardState *state, DFBAccelerationMask accel );
11818 bool (*FillRectangle) ( void *driver_data, void *device_data,
11819 DFBRectangle *rect );
11821 bool (*DrawRectangle) ( void *driver_data, void *device_data,
11822 DFBRectangle *rect );
11824 bool (*DrawLine) ( void *driver_data, void *device_data,
11827 bool (*FillTriangle) ( void *driver_data, void *device_data,
11828 DFBTriangle *tri );
11833 bool (*Blit) ( void *driver_data, void *device_data,
11834 DFBRectangle *rect, int dx, int dy );
11836 bool (*StretchBlit) ( void *driver_data, void *device_data,
11837 DFBRectangle *srect, DFBRectangle *drect );
11839 bool (*TextureTriangles)( void *driver_data, void *device_data,
11840 DFBVertex *vertices, int num,
11841 DFBTriangleFormation formation );
11842 } GraphicsDeviceFuncs;
11845 int (*Probe) (GraphicsDevice *device);
11846 void (*GetDriverInfo) (GraphicsDevice *device,
11847 GraphicsDriverInfo *driver_info);
11849 DFBResult (*InitDriver) (GraphicsDevice *device,
11850 GraphicsDeviceFuncs *funcs,
11855 DFBResult (*InitDevice) (GraphicsDevice *device,
11856 GraphicsDeviceInfo *device_info,
11858 void *device_data);
11860 void (*CloseDevice) (GraphicsDevice *device,
11862 void *device_data);
11863 void (*CloseDriver) (GraphicsDevice *device,
11864 void *driver_data);
11865 } GraphicsDriverFuncs;
11868 GDLF_NONE = 0x00000000,
11870 GDLF_WAIT = 0x00000001,
11871 GDLF_SYNC = 0x00000002,
11872 GDLF_INVALIDATE = 0x00000004,
11873 GDLF_RESET = 0x00000008
11874 } GraphicsDeviceLockFlags;
11876 DFBResult dfb_gfxcard_lock( GraphicsDeviceLockFlags flags );
11877 void dfb_gfxcard_unlock();
11878 void dfb_gfxcard_holdup();
11880 bool dfb_gfxcard_state_check( CardState *state, DFBAccelerationMask accel );
11888 void dfb_gfxcard_fillrectangles( const DFBRectangle *rects, int num, CardState *state );
11890 void dfb_gfxcard_drawrectangle( DFBRectangle *rect, CardState *state );
11892 void dfb_gfxcard_drawlines( DFBRegion *lines, int num_lines, CardState *state );
11894 void dfb_gfxcard_fillspans( int y, DFBSpan *spans, int num_spans, CardState *state );
11896 void dfb_gfxcard_filltriangle( DFBTriangle *tri, CardState *state );
11898 void dfb_gfxcard_blit( DFBRectangle *rect, int dx, int dy, CardState *state );
11900 void dfb_gfxcard_batchblit( DFBRectangle *rects, DFBPoint *points,
11901 int num, CardState *state );
11903 void dfb_gfxcard_tileblit( DFBRectangle *rect, int dx1, int dy1, int dx2, int dy2,
11904 CardState *state );
11906 void dfb_gfxcard_stretchblit( DFBRectangle *srect, DFBRectangle *drect,
11907 CardState *state );
11909 void dfb_gfxcard_texture_triangles( DFBVertex *vertices, int num,
11910 DFBTriangleFormation formation,
11911 CardState *state );
11913 void dfb_gfxcard_drawstring( const u_int8_t *text, int bytes, int x, int y,
11914 CoreFont *font, CardState *state );
11915 void dfb_gfxcard_drawstring_check_state( CoreFont *font, CardState *state );
11916 void dfb_gfxcard_drawglyph( unichar index, int x, int y,
11917 CoreFont *font, CardState *state );
11919 void dfb_gfxcard_sync();
11920 void dfb_gfxcard_invalidate_state();
11921 void dfb_gfxcard_wait_serial( const CoreGraphicsSerial *serial );
11922 void dfb_gfxcard_flush_texture_cache();
11923 void dfb_gfxcard_flush_read_cache();
11924 void dfb_gfxcard_after_set_var();
11925 void dfb_gfxcard_surface_enter( SurfaceBuffer *buffer, DFBSurfaceLockFlags flags );
11926 void dfb_gfxcard_surface_leave( SurfaceBuffer *buffer );
11928 DFBResult dfb_gfxcard_adjust_heap_offset( int offset );
11930 SurfaceManager *dfb_gfxcard_surface_manager ();
11931 void dfb_gfxcard_get_capabilities ( CardCapabilities *ret_caps );
11932 void dfb_gfxcard_get_device_info ( GraphicsDeviceInfo *ret_info );
11933 void dfb_gfxcard_get_driver_info ( GraphicsDriverInfo *ret_info );
11935 int dfb_gfxcard_reserve_memory ( GraphicsDevice *device,
11936 unsigned int size );
11937 int dfb_gfxcard_reserve_auxmemory ( GraphicsDevice *device,
11938 unsigned int size );
11940 unsigned int dfb_gfxcard_memory_length ();
11941 unsigned int dfb_gfxcard_auxmemory_length ();
11942 # 354 "/usr/include/directfb-internal/core/gfxcard.h"
11943 volatile void *dfb_gfxcard_map_mmio( GraphicsDevice *device,
11944 unsigned int offset,
11953 void dfb_gfxcard_unmap_mmio( GraphicsDevice *device,
11954 volatile void *addr,
11957 int dfb_gfxcard_get_accelerator( GraphicsDevice *device );
11959 unsigned long dfb_gfxcard_memory_physical( GraphicsDevice *device,
11960 unsigned int offset );
11961 void *dfb_gfxcard_memory_virtual ( GraphicsDevice *device,
11962 unsigned int offset );
11964 unsigned long dfb_gfxcard_auxmemory_physical( GraphicsDevice *device,
11965 unsigned int offset );
11966 void *dfb_gfxcard_auxmemory_virtual ( GraphicsDevice *device,
11967 unsigned int offset );
11968 # 42 "/usr/include/directfb-internal/core/state.h" 2
11970 # 1 "/usr/include/directfb-internal/gfx/generic/generic.h" 1
11971 # 30 "/usr/include/directfb-internal/gfx/generic/generic.h"
11972 #define __GENERIC_H__
11973 # 40 "/usr/include/directfb-internal/gfx/generic/generic.h"
11987 } GenefxAccumulator;
11990 typedef struct _GenefxState GenefxState;
11992 typedef void (*GenefxFunc)(GenefxState *gfxs);
11997 struct _GenefxState {
11998 GenefxFunc funcs[32];
12015 DFBSurfaceCapabilities dst_caps;
12016 DFBSurfaceCapabilities src_caps;
12018 DFBSurfacePixelFormat src_format;
12019 DFBSurfacePixelFormat dst_format;
12024 int dst_field_offset;
12025 int src_field_offset;
12063 GenefxAccumulator *Aacc;
12064 GenefxAccumulator *Bacc;
12065 GenefxAccumulator Cacc;
12066 GenefxAccumulator SCacc;
12071 GenefxAccumulator *Xacc;
12072 GenefxAccumulator *Dacc;
12073 GenefxAccumulator *Sacc;
12084 void gGetDriverInfo( GraphicsDriverInfo *info );
12085 void gGetDeviceInfo( GraphicsDeviceInfo *info );
12087 bool gAcquire ( CardState *state, DFBAccelerationMask accel );
12088 void gRelease ( CardState *state );
12090 void gFillRectangle ( CardState *state, DFBRectangle *rect );
12091 void gDrawLine ( CardState *state, DFBRegion *line );
12093 void gBlit ( CardState *state, DFBRectangle *rect, int dx, int dy );
12094 void gStretchBlit ( CardState *state, DFBRectangle *srect, DFBRectangle *drect );
12095 # 44 "/usr/include/directfb-internal/core/state.h" 2
12097 # 1 "/usr/include/directfb-internal/misc/util.h" 1
12098 # 29 "/usr/include/directfb-internal/misc/util.h"
12099 #define __MISC__UTIL_H__
12101 # 1 "/usr/include/directfb/directfb_util.h" 1
12102 # 29 "/usr/include/directfb/directfb_util.h"
12103 #define __DIRECTFB_UTIL_H__
12105 # 1 "/usr/include/errno.h" 1 3 4
12113 # 1 "/usr/include/gentoo-multilib/amd64/errno.h" 1 3 4
12114 # 72 "/usr/include/gentoo-multilib/amd64/errno.h" 3 4
12115 #undef __need_error_t
12116 # 9 "/usr/include/errno.h" 2 3 4
12117 # 32 "/usr/include/directfb/directfb_util.h" 2
12124 bool dfb_region_intersect( DFBRegion *region,
12125 int x1, int y1, int x2, int y2 );
12127 bool dfb_region_region_intersect( DFBRegion *region,
12128 const DFBRegion *clip );
12130 bool dfb_region_rectangle_intersect( DFBRegion *region,
12131 const DFBRectangle *rect );
12133 bool dfb_unsafe_region_intersect( DFBRegion *region,
12134 int x1, int y1, int x2, int y2 );
12136 bool dfb_unsafe_region_rectangle_intersect( DFBRegion *region,
12137 const DFBRectangle *rect );
12139 bool dfb_rectangle_intersect_by_unsafe_region( DFBRectangle *rectangle,
12140 DFBRegion *region );
12142 bool dfb_rectangle_intersect_by_region( DFBRectangle *rectangle,
12143 const DFBRegion *region );
12145 bool dfb_rectangle_intersect( DFBRectangle *rectangle,
12146 const DFBRectangle *clip );
12149 void dfb_rectangle_union ( DFBRectangle *rect1,
12150 const DFBRectangle *rect2 );
12153 #define DFB_RECTANGLE_ASSERT(r) do { D_ASSERT( (r) != NULL ); D_ASSERT( (r)->w >= 0 ); D_ASSERT( (r)->h >= 0 ); } while (0)
12160 #define DFB_RECTANGLE_ASSERT_IF(r) do { if ((r) != NULL) { D_ASSERT( (r)->w >= 0 ); D_ASSERT( (r)->h >= 0 ); } } while (0)
12168 #define DFB_RECTANGLE_VALS(r) (r)->x, (r)->y, (r)->w, (r)->h
12169 #define DFB_RECTANGLE_VALS_FROM_REGION(r) (r)->x1, (r)->y1, (r)->x2-(r)->x1+1, (r)->y2-(r)->y1+1
12170 #define DFB_RECTANGLE_INIT_FROM_REGION(r) (DFBRectangle){ DFB_RECTANGLE_VALS_FROM_REGION(r) }
12173 #define DFB_REGION_ASSERT(r) do { D_ASSERT( (r) != NULL ); D_ASSERT( (r)->x1 <= (r)->x2 ); D_ASSERT( (r)->y1 <= (r)->y2 ); } while (0)
12180 #define DFB_REGION_ASSERT_IF(r) do { if ((r) != NULL) { D_ASSERT( (r)->x1 <= (r)->x2 ); D_ASSERT( (r)->y1 <= (r)->y2 ); } } while (0)
12181 # 103 "/usr/include/directfb/directfb_util.h"
12182 #define DFB_REGION_VALS(r) (r)->x1, (r)->y1, (r)->x2, (r)->y2
12184 #define DFB_REGION_VALS_FROM_RECTANGLE(r) (r)->x, (r)->y, (r)->x+(r)->w-1, (r)->y+(r)->h-1
12185 #define DFB_REGION_INIT_FROM_RECTANGLE(r) (DFBRegion){ DFB_REGION_VALS_FROM_RECTANGLE(r) }
12187 #define DFB_REGION_VALS_FROM_RECTANGLE_VALS(x,y,w,h) (x), (y), (x)+(w)-1, (y)+(h)-1
12188 #define DFB_REGION_INIT_FROM_RECTANGLE_VALS(x,y,w,h) (DFBRegion){ DFB_REGION_VALS_FROM_RECTANGLE_VALS(x,y,w,h) }
12190 #define DFB_REGION_VALS_TRANSLATED(r,x,y) (r)->x1 + x, (r)->y1 + y, (r)->x2 + x, (r)->y2 + y
12191 #define DFB_REGION_INIT_TRANSLATED(r,x,y) (DFBRegion){ DFB_REGION_VALS_TRANSLATED(r,x,y) }
12193 #define DFB_REGION_VALS_INTERSECTED(r,X1,Y1,X2,Y2) (r)->x1 > (X1) ? (r)->x1 : (X1), (r)->y1 > (Y1) ? (r)->y1 : (Y1), (r)->x2 < (X2) ? (r)->x2 : (X2), (r)->y2 < (Y2) ? (r)->y2 : (Y2)
12197 #define DFB_REGION_INIT_INTERSECTED(r,X1,Y1,X2,Y2) (DFBRegion){ DFB_REGION_VALS_INTERSECTED(r,X1,Y1,X2,Y2) }
12200 static inline void dfb_rectangle_from_region( DFBRectangle *rect,
12201 const DFBRegion *region )
12205 do { do {} while (0); do {} while (0); do {} while (0); } while (0);
12207 rect->x = region->x1;
12208 rect->y = region->y1;
12209 rect->w = region->x2 - region->x1 + 1;
12210 rect->h = region->y2 - region->y1 + 1;
12214 static inline void dfb_rectangle_from_rectangle_plus_insets( DFBRectangle *rect,
12215 const DFBRectangle *inner,
12216 const DFBInsets *insets )
12221 do { do {} while (0); do {} while (0); do {} while (0); } while (0);
12223 rect->x = inner->x - insets->l;
12224 rect->y = inner->y - insets->t;
12225 rect->w = inner->w + insets->l + insets->r;
12226 rect->h = inner->h + insets->t + insets->b;
12230 static inline void dfb_region_from_rectangle( DFBRegion *region,
12231 const DFBRectangle *rect )
12235 do { do {} while (0); do {} while (0); do {} while (0); } while (0);
12240 region->x1 = rect->x;
12241 region->y1 = rect->y;
12242 region->x2 = rect->x + rect->w - 1;
12243 region->y2 = rect->y + rect->h - 1;
12247 static inline void dfb_rectangle_translate( DFBRectangle *rect,
12251 do { do {} while (0); do {} while (0); do {} while (0); } while (0);
12257 static inline void dfb_region_translate( DFBRegion *region,
12261 do { do {} while (0); do {} while (0); do {} while (0); } while (0);
12269 static inline void dfb_rectangle_resize( DFBRectangle *rect,
12273 do { do {} while (0); do {} while (0); do {} while (0); } while (0);
12282 static inline void dfb_region_resize( DFBRegion *region,
12286 do { do {} while (0); do {} while (0); do {} while (0); } while (0);
12291 region->x2 = region->x1 + width - 1;
12292 region->y2 = region->y1 + height - 1;
12295 static inline bool dfb_region_intersects( const DFBRegion *region,
12301 do { do {} while (0); do {} while (0); do {} while (0); } while (0);
12306 return (region->x1 <= x2 &&
12307 region->y1 <= y2 &&
12308 region->x2 >= x1 &&
12312 static inline bool dfb_region_region_intersects( const DFBRegion *region,
12313 const DFBRegion *other )
12315 do { do {} while (0); do {} while (0); do {} while (0); } while (0);
12316 do { do {} while (0); do {} while (0); do {} while (0); } while (0);
12318 return (region->x1 <= other->x2 &&
12319 region->y1 <= other->y2 &&
12320 region->x2 >= other->x1 &&
12321 region->y2 >= other->y1);
12324 static inline void dfb_region_region_union( DFBRegion *region,
12325 const DFBRegion *other )
12327 do { do {} while (0); do {} while (0); do {} while (0); } while (0);
12328 do { do {} while (0); do {} while (0); do {} while (0); } while (0);
12330 if (region->x1 > other->x1)
12331 region->x1 = other->x1;
12333 if (region->y1 > other->y1)
12334 region->y1 = other->y1;
12336 if (region->x2 < other->x2)
12337 region->x2 = other->x2;
12339 if (region->y2 < other->y2)
12340 region->y2 = other->y2;
12343 static inline bool dfb_rectangle_region_intersects( const DFBRectangle *rect,
12344 const DFBRegion *region )
12346 do { do {} while (0); do {} while (0); do {} while (0); } while (0);
12348 do { do {} while (0); do {} while (0); do {} while (0); } while (0);
12350 return (rect->x <= region->x2 &&
12351 rect->y <= region->y2 &&
12352 rect->x + rect->w > region->x1 &&
12353 rect->y + rect->h > region->y1);
12356 static inline void dfb_region_clip( DFBRegion *region,
12362 do { do {} while (0); do {} while (0); do {} while (0); } while (0);
12366 if (region->x1 < x1)
12369 if (region->y1 < y1)
12372 if (region->x2 > x2)
12375 if (region->y2 > y2)
12378 # 32 "/usr/include/directfb-internal/misc/util.h" 2
12379 # 46 "/usr/include/directfb-internal/core/state.h" 2
12383 SMF_DRAWING_FLAGS = 0x00000001,
12384 SMF_BLITTING_FLAGS = 0x00000002,
12385 SMF_CLIP = 0x00000004,
12386 SMF_COLOR = 0x00000008,
12387 SMF_SRC_BLEND = 0x00000010,
12388 SMF_DST_BLEND = 0x00000020,
12389 SMF_SRC_COLORKEY = 0x00000040,
12390 SMF_DST_COLORKEY = 0x00000080,
12392 SMF_DESTINATION = 0x00000100,
12393 SMF_SOURCE = 0x00000200,
12395 SMF_ALL = 0x000003FF
12396 } StateModificationFlags;
12399 CSF_NONE = 0x00000000,
12401 CSF_DESTINATION = 0x00000001,
12402 CSF_SOURCE = 0x00000002,
12404 CSF_SOURCE_LOCKED = 0x00000010,
12406 CSF_ALL = 0x00000013
12409 struct _CardState {
12413 FusionID fusion_id;
12415 pthread_mutex_t lock;
12417 CardStateFlags flags;
12419 StateModificationFlags modified;
12425 DFBSurfaceDrawingFlags drawingflags;
12426 DFBSurfaceBlittingFlags blittingflags;
12430 unsigned int color_index;
12431 DFBSurfaceBlendFunction src_blend;
12432 DFBSurfaceBlendFunction dst_blend;
12433 u_int32_t src_colorkey;
12434 u_int32_t dst_colorkey;
12436 CoreSurface *destination;
12437 CoreSurface *source;
12439 DirectSerial dst_serial;
12440 DirectSerial src_serial;
12445 DFBAccelerationMask accel;
12446 DFBAccelerationMask checked;
12447 DFBAccelerationMask set;
12448 DFBAccelerationMask disabled;
12450 CoreGraphicsSerial serial;
12457 int dfb_state_init( CardState *state, CoreDFB *core );
12458 void dfb_state_destroy( CardState *state );
12460 void dfb_state_set_destination( CardState *state, CoreSurface *destination );
12461 void dfb_state_set_source( CardState *state, CoreSurface *source );
12463 void dfb_state_update( CardState *state, bool update_source );
12466 dfb_state_get_serial( const CardState *state, CoreGraphicsSerial *ret_serial )
12471 *ret_serial = state->serial;
12475 dfb_state_lock( CardState *state )
12477 do { do {} while (0); do {} while (0); } while (0);
12479 do { do {} while (0); do {} while (0); do {} while (0); } while (0);
12481 pthread_mutex_lock( &state->lock );
12485 dfb_state_unlock( CardState *state )
12487 do { do {} while (0); do {} while (0); } while (0);
12489 do { do {} while (0); do {} while (0); do {} while (0); } while (0);
12491 pthread_mutex_unlock( &state->lock );
12495 #define _dfb_state_set_checked(member,flag,state,value) do { D_MAGIC_ASSERT( state, CardState ); if ((value) != (state)->member) { (state)->member = (value); (state)->modified |= SMF_ ##flag; } } while (0)
12496 # 172 "/usr/include/directfb-internal/core/state.h"
12497 #define dfb_state_set_blitting_flags(state,flags) _dfb_state_set_checked( blittingflags, BLITTING_FLAGS, state, flags )
12501 #define dfb_state_set_drawing_flags(state,flags) _dfb_state_set_checked( drawingflags, DRAWING_FLAGS, state, flags )
12505 #define dfb_state_set_color_index(state,index) _dfb_state_set_checked( color_index, COLOR, state, index )
12509 #define dfb_state_set_src_blend(state,blend) _dfb_state_set_checked( src_blend, SRC_BLEND, state, blend )
12513 #define dfb_state_set_dst_blend(state,blend) _dfb_state_set_checked( dst_blend, DST_BLEND, state, blend )
12517 #define dfb_state_set_src_colorkey(state,key) _dfb_state_set_checked( src_colorkey, SRC_COLORKEY, state, key )
12521 #define dfb_state_set_dst_colorkey(state,key) _dfb_state_set_checked( dst_colorkey, DST_COLORKEY, state, key )
12525 static inline void dfb_state_set_clip( CardState *state, const DFBRegion *clip )
12527 do { do {} while (0); do {} while (0); } while (0);
12528 do { do {} while (0); do {} while (0); do {} while (0); } while (0);
12530 if (! ((state->clip).x1 == (*clip).x1 && (state->clip).y1 == (*clip).y1 && (state->clip).x2 == (*clip).x2 && (state->clip).y2 == (*clip).y2)) {
12531 state->clip = *clip;
12532 state->modified = (StateModificationFlags)( state->modified | SMF_CLIP );
12536 static inline void dfb_state_set_color( CardState *state, const DFBColor *color )
12538 do { do {} while (0); do {} while (0); } while (0);
12541 if (! ((state->color).a == (*color).a && (state->color).r == (*color).r && (state->color).g == (*color).g && (state->color).b == (*color).b)) {
12542 state->color = *color;
12543 state->modified = (StateModificationFlags)( state->modified | SMF_COLOR );
12546 # 35 "video_out_dfb.c" 2
12548 # 1 "/usr/include/directfb-internal/core/surfaces.h" 1
12549 # 29 "/usr/include/directfb-internal/core/surfaces.h"
12550 #define __SURFACES_H__
12557 # 1 "/usr/include/directfb/fusion/object.h" 1
12558 # 29 "/usr/include/directfb/fusion/object.h"
12559 #define __FUSION__OBJECT_H__
12565 # 1 "/usr/include/directfb/fusion/ref.h" 1
12566 # 29 "/usr/include/directfb/fusion/ref.h"
12567 #define __FUSION__REF_H__
12569 # 1 "/usr/include/pthread.h" 1 3 4
12570 # 32 "/usr/include/directfb/fusion/ref.h" 2
12573 # 1 "/usr/include/directfb/fusion/call.h" 1
12574 # 29 "/usr/include/directfb/fusion/call.h"
12575 #define __FUSION__CALL_H__
12579 typedef int (*FusionCallHandler) (int caller,
12586 FusionWorldShared *shared;
12589 FusionCallHandler handler;
12594 DirectResult fusion_call_init (FusionCall *call,
12595 FusionCallHandler handler,
12597 const FusionWorld *world);
12599 DirectResult fusion_call_execute (FusionCall *call,
12600 FusionCallExecFlags flags,
12605 DirectResult fusion_call_destroy (FusionCall *call);
12606 # 35 "/usr/include/directfb/fusion/ref.h" 2
12612 const FusionWorldShared *shared;
12618 pthread_cond_t cond;
12619 pthread_mutex_t lock;
12631 DirectResult fusion_ref_init (FusionRef *ref,
12632 const FusionWorld *world);
12637 DirectResult fusion_ref_up (FusionRef *ref, bool global);
12642 DirectResult fusion_ref_down (FusionRef *ref, bool global);
12649 DirectResult fusion_ref_stat (FusionRef *ref, int *refs);
12654 DirectResult fusion_ref_zero_lock (FusionRef *ref);
12659 DirectResult fusion_ref_zero_trylock (FusionRef *ref);
12665 DirectResult fusion_ref_unlock (FusionRef *ref);
12670 DirectResult fusion_ref_watch (FusionRef *ref,
12679 DirectResult fusion_ref_inherit (FusionRef *ref,
12687 DirectResult fusion_ref_destroy (FusionRef *ref);
12688 # 36 "/usr/include/directfb/fusion/object.h" 2
12693 typedef void (*FusionObjectDestructor)( FusionObject *object, bool zombie );
12696 typedef unsigned long FusionObjectID;
12703 } FusionObjectState;
12705 struct __Fusion_FusionObject {
12707 FusionObjectPool *pool;
12713 FusionObjectState state;
12716 FusionReactor *reactor;
12718 FusionWorldShared *shared;
12722 typedef bool (*FusionObjectCallback)( FusionObjectPool *pool,
12723 FusionObject *object,
12727 FusionObjectPool *fusion_object_pool_create ( const char *name,
12730 FusionObjectDestructor destructor,
12731 const FusionWorld *world );
12733 DirectResult fusion_object_pool_destroy( FusionObjectPool *pool,
12734 const FusionWorld *world );
12737 DirectResult fusion_object_pool_enum ( FusionObjectPool *pool,
12738 FusionObjectCallback callback,
12742 FusionObject *fusion_object_create ( FusionObjectPool *pool,
12743 const FusionWorld *world );
12745 DirectResult fusion_object_get ( FusionObjectPool *pool,
12746 FusionObjectID object_id,
12747 FusionObject **ret_object );
12749 DirectResult fusion_object_set_lock( FusionObject *object,
12750 FusionSkirmish *lock );
12752 DirectResult fusion_object_activate( FusionObject *object );
12754 DirectResult fusion_object_destroy ( FusionObject *object );
12757 #define FUSION_OBJECT_METHODS(type,prefix) static inline DirectResult prefix ##_attach( type *object, ReactionFunc func, void *ctx, Reaction *ret_reaction ) { D_MAGIC_ASSERT( (FusionObject*) object, FusionObject ); return fusion_reactor_attach( ((FusionObject*)object)->reactor, func, ctx, ret_reaction ); } static inline DirectResult prefix ##_detach( type *object, Reaction *reaction ) { D_MAGIC_ASSERT( (FusionObject*) object, FusionObject ); return fusion_reactor_detach( ((FusionObject*)object)->reactor, reaction ); } static inline DirectResult prefix ##_attach_global( type *object, int index, void *ctx, GlobalReaction *reaction ) { D_MAGIC_ASSERT( (FusionObject*) object, FusionObject ); return fusion_reactor_attach_global( ((FusionObject*)object)->reactor, index, ctx, reaction ); } static inline DirectResult prefix ##_detach_global( type *object, GlobalReaction *reaction ) { D_MAGIC_ASSERT( (FusionObject*) object, FusionObject ); return fusion_reactor_detach_global( ((FusionObject*)object)->reactor, reaction ); } static inline DirectResult prefix ##_dispatch( type *object, void *message, const ReactionFunc *globals ) { D_MAGIC_ASSERT( (FusionObject*) object, FusionObject ); return fusion_reactor_dispatch( ((FusionObject*)object)->reactor, message, true, globals ); } static inline DirectResult prefix ##_ref( type *object ) { D_MAGIC_ASSERT( (FusionObject*) object, FusionObject ); return fusion_ref_up( &((FusionObject*)object)->ref, false ); } static inline DirectResult prefix ##_unref( type *object ) { D_MAGIC_ASSERT( (FusionObject*) object, FusionObject ); return fusion_ref_down( &((FusionObject*)object)->ref, false ); } static inline DirectResult prefix ##_link( type **link, type *object ) { DirectResult ret; D_MAGIC_ASSERT( (FusionObject*) object, FusionObject ); ret = fusion_ref_up( &((FusionObject*)object)->ref, true ); if (ret) return ret; *link = object; return DFB_OK; } static inline DirectResult prefix ##_unlink( type **link ) { type *object = *link; D_MAGIC_ASSERT( (FusionObject*) object, FusionObject ); *link = NULL; return fusion_ref_down( &((FusionObject*)object)->ref, true ); } static inline DirectResult prefix ##_inherit( type *object, void *from ) { D_MAGIC_ASSERT( (FusionObject*) object, FusionObject ); D_MAGIC_ASSERT( (FusionObject*) from, FusionObject ); return fusion_ref_inherit( &((FusionObject*)object)->ref, &((FusionObject*)from)->ref ); } static inline DirectResult prefix ##_globalize( type *object ) { DirectResult ret; D_MAGIC_ASSERT( (FusionObject*) object, FusionObject ); ret = fusion_ref_up( &((FusionObject*)object)->ref, true ); if (ret) return ret; ret = fusion_ref_down( &((FusionObject*)object)->ref, false ); if (ret) fusion_ref_down( &((FusionObject*)object)->ref, true ); return ret; }
12758 # 228 "/usr/include/directfb/fusion/object.h"
12759 static inline DirectResult fusion_object_attach( void *object, ReactionFunc func, void *ctx, Reaction *ret_reaction ) { do { do {} while (0); do {} while (0); } while (0); return fusion_reactor_attach( ((FusionObject*)object)->reactor, func, ctx, ret_reaction ); } static inline DirectResult fusion_object_detach( void *object, Reaction *reaction ) { do { do {} while (0); do {} while (0); } while (0); return fusion_reactor_detach( ((FusionObject*)object)->reactor, reaction ); } static inline DirectResult fusion_object_attach_global( void *object, int index, void *ctx, GlobalReaction *reaction ) { do { do {} while (0); do {} while (0); } while (0); return fusion_reactor_attach_global( ((FusionObject*)object)->reactor, index, ctx, reaction ); } static inline DirectResult fusion_object_detach_global( void *object, GlobalReaction *reaction ) { do { do {} while (0); do {} while (0); } while (0); return fusion_reactor_detach_global( ((FusionObject*)object)->reactor, reaction ); } static inline DirectResult fusion_object_dispatch( void *object, void *message, const ReactionFunc *globals ) { do { do {} while (0); do {} while (0); } while (0); return fusion_reactor_dispatch( ((FusionObject*)object)->reactor, message, (!(0)), globals ); } static inline DirectResult fusion_object_ref( void *object ) { do { do {} while (0); do {} while (0); } while (0); return fusion_ref_up( &((FusionObject*)object)->ref, (0) ); } static inline DirectResult fusion_object_unref( void *object ) { do { do {} while (0); do {} while (0); } while (0); return fusion_ref_down( &((FusionObject*)object)->ref, (0) ); } static inline DirectResult fusion_object_link( void **link, void *object ) { DirectResult ret; do { do {} while (0); do {} while (0); } while (0); ret = fusion_ref_up( &((FusionObject*)object)->ref, (!(0)) ); if (ret) return ret; *link = object; return DFB_OK; } static inline DirectResult fusion_object_unlink( void **link ) { void *object = *link; do { do {} while (0); do {} while (0); } while (0); *link = ((void *)0); return fusion_ref_down( &((FusionObject*)object)->ref, (!(0)) ); } static inline DirectResult fusion_object_inherit( void *object, void *from ) { do { do {} while (0); do {} while (0); } while (0); do { do {} while (0); do {} while (0); } while (0); return fusion_ref_inherit( &((FusionObject*)object)->ref, &((FusionObject*)from)->ref ); } static inline DirectResult fusion_object_globalize( void *object ) { DirectResult ret; do { do {} while (0); do {} while (0); } while (0); ret = fusion_ref_up( &((FusionObject*)object)->ref, (!(0)) ); if (ret) return ret; ret = fusion_ref_down( &((FusionObject*)object)->ref, (0) ); if (ret) fusion_ref_down( &((FusionObject*)object)->ref, (!(0)) ); return ret; };
12760 # 37 "/usr/include/directfb-internal/core/surfaces.h" 2
12761 # 46 "/usr/include/directfb-internal/core/surfaces.h"
12765 CSNF_SIZEFORMAT = 0x00000001,
12766 CSNF_SYSTEM = 0x00000002,
12767 CSNF_VIDEO = 0x00000004,
12768 CSNF_DESTROY = 0x00000008,
12769 CSNF_FLIP = 0x00000010,
12770 CSNF_FIELD = 0x00000020,
12771 CSNF_PALETTE_CHANGE = 0x00000040,
12772 CSNF_PALETTE_UPDATE = 0x00000080,
12773 CSNF_ALPHA_RAMP = 0x00000100
12774 } CoreSurfaceNotificationFlags;
12777 CoreSurfaceNotificationFlags flags;
12778 CoreSurface *surface;
12779 } CoreSurfaceNotification;
12782 CSH_INVALID = 0x00000000,
12783 CSH_STORED = 0x00000001,
12785 CSH_RESTORE = 0x00000002
12787 } CoreSurfaceHealth;
12790 CSP_SYSTEMONLY = 0x00000000,
12792 CSP_VIDEOLOW = 0x00000001,
12794 CSP_VIDEOHIGH = 0x00000002,
12796 CSP_VIDEOONLY = 0x00000003
12798 } CoreSurfacePolicy;
12801 CSS_SYSTEM = 0x00000000,
12803 CSS_VIDEO = 0x00000001,
12805 CSS_AUXILIARY = 0x00000002,
12807 } CoreSurfaceStorage;
12810 SBF_NONE = 0x00000000,
12811 SBF_FOREIGN_SYSTEM = 0x00000001,
12813 SBF_WRITTEN = 0x00000002
12815 } SurfaceBufferFlags;
12818 VAF_NONE = 0x00000000,
12820 VAF_SOFTWARE_WRITE = 0x00000001,
12821 VAF_HARDWARE_WRITE = 0x00000002,
12822 VAF_SOFTWARE_READ = 0x00000004,
12823 VAF_HARDWARE_READ = 0x00000008,
12824 VAF_SOFTWARE_LOCK = 0x00000010
12825 } VideoAccessFlags;
12828 struct _SurfaceBuffer
12830 SurfaceBufferFlags flags;
12831 CoreSurfacePolicy policy;
12832 CoreSurfaceStorage storage;
12834 DFBSurfacePixelFormat format;
12837 CoreSurfaceHealth health;
12846 CoreSurfaceHealth health;
12850 VideoAccessFlags access;
12852 CoreGraphicsSerial serial;
12857 struct _Chunk *chunk;
12860 CoreSurface *surface;
12865 struct _CoreSurface
12867 FusionObject object;
12869 DirectSerial serial;
12874 DFBSurfacePixelFormat format;
12875 DFBSurfaceCapabilities caps;
12880 CorePalette *palette;
12881 GlobalReaction palette_reaction;
12885 u_int8_t alpha_ramp[4];
12887 SurfaceBuffer *front_buffer;
12890 SurfaceBuffer *back_buffer;
12893 SurfaceBuffer *idle_buffer;
12895 SurfaceBuffer *depth_buffer;
12897 SurfaceManager *manager;
12899 FusionSHMPoolShared *shmpool;
12900 FusionSHMPoolShared *shmpool_data;
12903 static inline void *
12904 dfb_surface_data_offset( const CoreSurface *surface,
12918 if (surface->caps & DSCAPS_SEPARATED) {
12920 y += surface->height;
12925 return data + pitch * y + (((((surface->format) & 0x007E0000) >> 17) * (x) + 7) >> 3);
12931 FusionObjectPool *dfb_surface_pool_create( const FusionWorld *world );
12936 static inline DirectResult dfb_surface_attach( CoreSurface *object, ReactionFunc func, void *ctx, Reaction *ret_reaction ) { do { do {} while (0); do {} while (0); } while (0); return fusion_reactor_attach( ((FusionObject*)object)->reactor, func, ctx, ret_reaction ); } static inline DirectResult dfb_surface_detach( CoreSurface *object, Reaction *reaction ) { do { do {} while (0); do {} while (0); } while (0); return fusion_reactor_detach( ((FusionObject*)object)->reactor, reaction ); } static inline DirectResult dfb_surface_attach_global( CoreSurface *object, int index, void *ctx, GlobalReaction *reaction ) { do { do {} while (0); do {} while (0); } while (0); return fusion_reactor_attach_global( ((FusionObject*)object)->reactor, index, ctx, reaction ); } static inline DirectResult dfb_surface_detach_global( CoreSurface *object, GlobalReaction *reaction ) { do { do {} while (0); do {} while (0); } while (0); return fusion_reactor_detach_global( ((FusionObject*)object)->reactor, reaction ); } static inline DirectResult dfb_surface_dispatch( CoreSurface *object, void *message, const ReactionFunc *globals ) { do { do {} while (0); do {} while (0); } while (0); return fusion_reactor_dispatch( ((FusionObject*)object)->reactor, message, (!(0)), globals ); } static inline DirectResult dfb_surface_ref( CoreSurface *object ) { do { do {} while (0); do {} while (0); } while (0); return fusion_ref_up( &((FusionObject*)object)->ref, (0) ); } static inline DirectResult dfb_surface_unref( CoreSurface *object ) { do { do {} while (0); do {} while (0); } while (0); return fusion_ref_down( &((FusionObject*)object)->ref, (0) ); } static inline DirectResult dfb_surface_link( CoreSurface **link, CoreSurface *object ) { DirectResult ret; do { do {} while (0); do {} while (0); } while (0); ret = fusion_ref_up( &((FusionObject*)object)->ref, (!(0)) ); if (ret) return ret; *link = object; return DFB_OK; } static inline DirectResult dfb_surface_unlink( CoreSurface **link ) { CoreSurface *object = *link; do { do {} while (0); do {} while (0); } while (0); *link = ((void *)0); return fusion_ref_down( &((FusionObject*)object)->ref, (!(0)) ); } static inline DirectResult dfb_surface_inherit( CoreSurface *object, void *from ) { do { do {} while (0); do {} while (0); } while (0); do { do {} while (0); do {} while (0); } while (0); return fusion_ref_inherit( &((FusionObject*)object)->ref, &((FusionObject*)from)->ref ); } static inline DirectResult dfb_surface_globalize( CoreSurface *object ) { DirectResult ret; do { do {} while (0); do {} while (0); } while (0); ret = fusion_ref_up( &((FusionObject*)object)->ref, (!(0)) ); if (ret) return ret; ret = fusion_ref_down( &((FusionObject*)object)->ref, (0) ); if (ret) fusion_ref_down( &((FusionObject*)object)->ref, (!(0)) ); return ret; }
12943 DFBResult dfb_surface_create( CoreDFB *core,
12946 DFBSurfacePixelFormat format,
12947 CoreSurfacePolicy policy,
12948 DFBSurfaceCapabilities caps,
12949 CorePalette *palette,
12950 CoreSurface **surface );
12956 DFBResult dfb_surface_create_preallocated( CoreDFB *core,
12959 DFBSurfacePixelFormat format,
12960 CoreSurfacePolicy policy,
12961 DFBSurfaceCapabilities caps,
12962 CorePalette *palette,
12967 CoreSurface **surface );
12972 DFBResult dfb_surface_init ( CoreDFB *core,
12973 CoreSurface *surface,
12976 DFBSurfacePixelFormat format,
12977 DFBSurfaceCapabilities caps,
12978 CorePalette *palette );
12983 DFBResult dfb_surface_reformat( CoreDFB *core,
12984 CoreSurface *surface,
12987 DFBSurfacePixelFormat format );
12992 DFBResult dfb_surface_reconfig( CoreSurface *surface,
12993 CoreSurfacePolicy front_policy,
12994 CoreSurfacePolicy back_policy );
12999 DFBResult dfb_surface_allocate_depth( CoreSurface *surface );
13000 void dfb_surface_deallocate_depth( CoreSurface *surface );
13005 DFBResult dfb_surface_set_palette( CoreSurface *surface,
13006 CorePalette *palette );
13012 dfb_surface_notify_listeners( CoreSurface *surface,
13013 CoreSurfaceNotificationFlags flags);
13019 void dfb_surface_flip_buffers( CoreSurface *surface, bool write_front );
13021 void dfb_surface_set_field( CoreSurface *surface, int field );
13023 void dfb_surface_set_alpha_ramp( CoreSurface *surface, u_int8_t a0, u_int8_t a1, u_int8_t a2, u_int8_t a3 );
13030 DFBResult dfb_surface_soft_lock( CoreSurface *surface,
13031 DFBSurfaceLockFlags flags,
13041 void dfb_surface_unlock( CoreSurface *surface, int front );
13049 DFBResult dfb_surface_dump( CoreSurface *surface,
13050 const char *directory,
13051 const char *prefix );
13054 ReactionResult _dfb_surface_palette_listener( const void *msg_data,
13058 DFB_LAYER_REGION_SURFACE_LISTENER,
13059 DFB_WINDOWSTACK_BACKGROUND_IMAGE_LISTENER,
13060 DFB_WINDOW_SURFACE_LISTENER
13061 } DFB_SURFACE_GLOBALS;
13062 # 37 "video_out_dfb.c" 2
13064 # 1 "/usr/include/directfb-internal/display/idirectfbsurface.h" 1
13065 # 29 "/usr/include/directfb-internal/display/idirectfbsurface.h"
13066 #define __IDIRECTFBSURFACE_H__
13067 # 44 "/usr/include/directfb-internal/display/idirectfbsurface.h"
13071 DFBSurfaceCapabilities caps;
13074 DFBRectangle wanted;
13075 DFBRectangle granted;
13076 DFBRectangle current;
13081 DFBRegion clip_wanted;
13086 CoreSurface *surface;
13087 IDirectFBFont *font;
13107 } IDirectFBSurface_data;
13112 DFBResult IDirectFBSurface_Construct( IDirectFBSurface *thiz,
13113 DFBRectangle *req_rect,
13114 DFBRectangle *clip_rect,
13115 CoreSurface *surface,
13116 DFBSurfaceCapabilities caps );
13121 void IDirectFBSurface_Destruct( IDirectFBSurface *thiz );
13122 # 39 "video_out_dfb.c" 2
13126 #define LOG_MODULE "video_out_dfb"
13128 # 1 "/usr/include/xine.h" 1 3 4
13129 # 42 "/usr/include/xine.h" 3 4
13130 #define HAVE_XINE_H
13136 # 1 "/usr/include/sys/types.h" 1 3 4
13137 # 49 "/usr/include/xine.h" 2 3 4
13138 # 1 "/usr/include/sys/time.h" 1 3 4
13139 # 50 "/usr/include/xine.h" 2 3 4
13140 # 1 "/usr/include/time.h" 1 3 4
13141 # 51 "/usr/include/xine.h" 2 3 4
13142 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stdarg.h" 1 3 4
13143 # 34 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stdarg.h" 3 4
13145 #define _ANSI_STDARG_H_
13147 #undef __need___va_list
13148 # 50 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stdarg.h" 3 4
13149 #define va_start(v,l) __builtin_va_start(v,l)
13150 #define va_end(v) __builtin_va_end(v)
13151 #define va_arg(v,l) __builtin_va_arg(v,l)
13153 #define va_copy(d,s) __builtin_va_copy(d,s)
13155 #define __va_copy(d,s) __builtin_va_copy(d,s)
13156 # 111 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stdarg.h" 3 4
13166 #define _VA_LIST_T_H
13169 #define __va_list__
13170 # 52 "/usr/include/xine.h" 2 3 4
13171 # 62 "/usr/include/xine.h" 3 4
13172 # 1 "/usr/include/xine/os_types.h" 1 3 4
13173 # 30 "/usr/include/xine/os_types.h" 3 4
13174 #define XINE_OS_TYPES_H
13175 # 107 "/usr/include/xine/os_types.h" 3 4
13176 # 1 "/usr/include/inttypes.h" 1 3 4
13184 # 1 "/usr/include/gentoo-multilib/amd64/inttypes.h" 1 3 4
13185 # 24 "/usr/include/gentoo-multilib/amd64/inttypes.h" 3 4
13186 #define _INTTYPES_H 1
13188 # 1 "/usr/include/features.h" 1 3 4
13189 # 27 "/usr/include/gentoo-multilib/amd64/inttypes.h" 2 3 4
13191 # 1 "/usr/include/stdint.h" 1 3 4
13199 # 1 "/usr/include/gentoo-multilib/amd64/stdint.h" 1 3 4
13200 # 24 "/usr/include/gentoo-multilib/amd64/stdint.h" 3 4
13201 #define _STDINT_H 1
13203 # 1 "/usr/include/features.h" 1 3 4
13204 # 27 "/usr/include/gentoo-multilib/amd64/stdint.h" 2 3 4
13205 # 1 "/usr/include/bits/wchar.h" 1 3 4
13206 # 28 "/usr/include/gentoo-multilib/amd64/stdint.h" 2 3 4
13207 # 1 "/usr/include/bits/wordsize.h" 1 3 4
13215 # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4
13219 #define __WORDSIZE 64
13220 #define __WORDSIZE_COMPAT32 1
13221 # 9 "/usr/include/bits/wordsize.h" 2 3 4
13222 # 29 "/usr/include/gentoo-multilib/amd64/stdint.h" 2 3 4
13223 # 49 "/usr/include/gentoo-multilib/amd64/stdint.h" 3 4
13224 typedef unsigned char uint8_t;
13225 typedef unsigned short int uint16_t;
13227 typedef unsigned int uint32_t;
13228 #define __uint32_t_defined
13231 typedef unsigned long int uint64_t;
13232 # 66 "/usr/include/gentoo-multilib/amd64/stdint.h" 3 4
13233 typedef signed char int_least8_t;
13234 typedef short int int_least16_t;
13235 typedef int int_least32_t;
13237 typedef long int int_least64_t;
13244 typedef unsigned char uint_least8_t;
13245 typedef unsigned short int uint_least16_t;
13246 typedef unsigned int uint_least32_t;
13248 typedef unsigned long int uint_least64_t;
13249 # 91 "/usr/include/gentoo-multilib/amd64/stdint.h" 3 4
13250 typedef signed char int_fast8_t;
13252 typedef long int int_fast16_t;
13253 typedef long int int_fast32_t;
13254 typedef long int int_fast64_t;
13255 # 104 "/usr/include/gentoo-multilib/amd64/stdint.h" 3 4
13256 typedef unsigned char uint_fast8_t;
13258 typedef unsigned long int uint_fast16_t;
13259 typedef unsigned long int uint_fast32_t;
13260 typedef unsigned long int uint_fast64_t;
13261 # 120 "/usr/include/gentoo-multilib/amd64/stdint.h" 3 4
13262 typedef long int intptr_t;
13263 #define __intptr_t_defined
13265 typedef unsigned long int uintptr_t;
13266 # 135 "/usr/include/gentoo-multilib/amd64/stdint.h" 3 4
13267 typedef long int intmax_t;
13268 typedef unsigned long int uintmax_t;
13269 # 150 "/usr/include/gentoo-multilib/amd64/stdint.h" 3 4
13270 #define __INT64_C(c) c ## L
13271 #define __UINT64_C(c) c ## UL
13272 # 160 "/usr/include/gentoo-multilib/amd64/stdint.h" 3 4
13273 #define INT8_MIN (-128)
13274 #define INT16_MIN (-32767-1)
13275 #define INT32_MIN (-2147483647-1)
13276 #define INT64_MIN (-__INT64_C(9223372036854775807)-1)
13278 #define INT8_MAX (127)
13279 #define INT16_MAX (32767)
13280 #define INT32_MAX (2147483647)
13281 #define INT64_MAX (__INT64_C(9223372036854775807))
13284 #define UINT8_MAX (255)
13285 #define UINT16_MAX (65535)
13286 #define UINT32_MAX (4294967295U)
13287 #define UINT64_MAX (__UINT64_C(18446744073709551615))
13291 #define INT_LEAST8_MIN (-128)
13292 #define INT_LEAST16_MIN (-32767-1)
13293 #define INT_LEAST32_MIN (-2147483647-1)
13294 #define INT_LEAST64_MIN (-__INT64_C(9223372036854775807)-1)
13296 #define INT_LEAST8_MAX (127)
13297 #define INT_LEAST16_MAX (32767)
13298 #define INT_LEAST32_MAX (2147483647)
13299 #define INT_LEAST64_MAX (__INT64_C(9223372036854775807))
13302 #define UINT_LEAST8_MAX (255)
13303 #define UINT_LEAST16_MAX (65535)
13304 #define UINT_LEAST32_MAX (4294967295U)
13305 #define UINT_LEAST64_MAX (__UINT64_C(18446744073709551615))
13309 #define INT_FAST8_MIN (-128)
13311 #define INT_FAST16_MIN (-9223372036854775807L-1)
13312 #define INT_FAST32_MIN (-9223372036854775807L-1)
13317 #define INT_FAST64_MIN (-__INT64_C(9223372036854775807)-1)
13319 #define INT_FAST8_MAX (127)
13321 #define INT_FAST16_MAX (9223372036854775807L)
13322 #define INT_FAST32_MAX (9223372036854775807L)
13327 #define INT_FAST64_MAX (__INT64_C(9223372036854775807))
13330 #define UINT_FAST8_MAX (255)
13332 #define UINT_FAST16_MAX (18446744073709551615UL)
13333 #define UINT_FAST32_MAX (18446744073709551615UL)
13338 #define UINT_FAST64_MAX (__UINT64_C(18446744073709551615))
13343 #define INTPTR_MIN (-9223372036854775807L-1)
13344 #define INTPTR_MAX (9223372036854775807L)
13345 #define UINTPTR_MAX (18446744073709551615UL)
13346 # 241 "/usr/include/gentoo-multilib/amd64/stdint.h" 3 4
13347 #define INTMAX_MIN (-__INT64_C(9223372036854775807)-1)
13349 #define INTMAX_MAX (__INT64_C(9223372036854775807))
13352 #define UINTMAX_MAX (__UINT64_C(18446744073709551615))
13359 #define PTRDIFF_MIN (-9223372036854775807L-1)
13360 #define PTRDIFF_MAX (9223372036854775807L)
13367 #define SIG_ATOMIC_MIN (-2147483647-1)
13368 #define SIG_ATOMIC_MAX (2147483647)
13372 #define SIZE_MAX (18446744073709551615UL)
13380 #define WCHAR_MIN __WCHAR_MIN
13381 #define WCHAR_MAX __WCHAR_MAX
13385 #define WINT_MIN (0u)
13386 #define WINT_MAX (4294967295u)
13387 # 290 "/usr/include/gentoo-multilib/amd64/stdint.h" 3 4
13388 #define INT8_C(c) c
13389 #define INT16_C(c) c
13390 #define INT32_C(c) c
13392 #define INT64_C(c) c ## L
13398 #define UINT8_C(c) c
13399 #define UINT16_C(c) c
13400 #define UINT32_C(c) c ## U
13402 #define UINT64_C(c) c ## UL
13409 #define INTMAX_C(c) c ## L
13410 #define UINTMAX_C(c) c ## UL
13411 # 9 "/usr/include/stdint.h" 2 3 4
13412 # 29 "/usr/include/gentoo-multilib/amd64/inttypes.h" 2 3 4
13419 typedef int __gwchar_t;
13425 #define ____gwchar_t_defined 1
13426 # 50 "/usr/include/gentoo-multilib/amd64/inttypes.h" 3 4
13427 #define __PRI64_PREFIX "l"
13428 #define __PRIPTR_PREFIX "l"
13429 # 60 "/usr/include/gentoo-multilib/amd64/inttypes.h" 3 4
13433 #define PRId64 __PRI64_PREFIX "d"
13435 #define PRIdLEAST8 "d"
13436 #define PRIdLEAST16 "d"
13437 #define PRIdLEAST32 "d"
13438 #define PRIdLEAST64 __PRI64_PREFIX "d"
13440 #define PRIdFAST8 "d"
13441 #define PRIdFAST16 __PRIPTR_PREFIX "d"
13442 #define PRIdFAST32 __PRIPTR_PREFIX "d"
13443 #define PRIdFAST64 __PRI64_PREFIX "d"
13449 #define PRIi64 __PRI64_PREFIX "i"
13451 #define PRIiLEAST8 "i"
13452 #define PRIiLEAST16 "i"
13453 #define PRIiLEAST32 "i"
13454 #define PRIiLEAST64 __PRI64_PREFIX "i"
13456 #define PRIiFAST8 "i"
13457 #define PRIiFAST16 __PRIPTR_PREFIX "i"
13458 #define PRIiFAST32 __PRIPTR_PREFIX "i"
13459 #define PRIiFAST64 __PRI64_PREFIX "i"
13465 #define PRIo64 __PRI64_PREFIX "o"
13467 #define PRIoLEAST8 "o"
13468 #define PRIoLEAST16 "o"
13469 #define PRIoLEAST32 "o"
13470 #define PRIoLEAST64 __PRI64_PREFIX "o"
13472 #define PRIoFAST8 "o"
13473 #define PRIoFAST16 __PRIPTR_PREFIX "o"
13474 #define PRIoFAST32 __PRIPTR_PREFIX "o"
13475 #define PRIoFAST64 __PRI64_PREFIX "o"
13481 #define PRIu64 __PRI64_PREFIX "u"
13483 #define PRIuLEAST8 "u"
13484 #define PRIuLEAST16 "u"
13485 #define PRIuLEAST32 "u"
13486 #define PRIuLEAST64 __PRI64_PREFIX "u"
13488 #define PRIuFAST8 "u"
13489 #define PRIuFAST16 __PRIPTR_PREFIX "u"
13490 #define PRIuFAST32 __PRIPTR_PREFIX "u"
13491 #define PRIuFAST64 __PRI64_PREFIX "u"
13497 #define PRIx64 __PRI64_PREFIX "x"
13499 #define PRIxLEAST8 "x"
13500 #define PRIxLEAST16 "x"
13501 #define PRIxLEAST32 "x"
13502 #define PRIxLEAST64 __PRI64_PREFIX "x"
13504 #define PRIxFAST8 "x"
13505 #define PRIxFAST16 __PRIPTR_PREFIX "x"
13506 #define PRIxFAST32 __PRIPTR_PREFIX "x"
13507 #define PRIxFAST64 __PRI64_PREFIX "x"
13513 #define PRIX64 __PRI64_PREFIX "X"
13515 #define PRIXLEAST8 "X"
13516 #define PRIXLEAST16 "X"
13517 #define PRIXLEAST32 "X"
13518 #define PRIXLEAST64 __PRI64_PREFIX "X"
13520 #define PRIXFAST8 "X"
13521 #define PRIXFAST16 __PRIPTR_PREFIX "X"
13522 #define PRIXFAST32 __PRIPTR_PREFIX "X"
13523 #define PRIXFAST64 __PRI64_PREFIX "X"
13527 #define PRIdMAX __PRI64_PREFIX "d"
13528 #define PRIiMAX __PRI64_PREFIX "i"
13529 #define PRIoMAX __PRI64_PREFIX "o"
13530 #define PRIuMAX __PRI64_PREFIX "u"
13531 #define PRIxMAX __PRI64_PREFIX "x"
13532 #define PRIXMAX __PRI64_PREFIX "X"
13536 #define PRIdPTR __PRIPTR_PREFIX "d"
13537 #define PRIiPTR __PRIPTR_PREFIX "i"
13538 #define PRIoPTR __PRIPTR_PREFIX "o"
13539 #define PRIuPTR __PRIPTR_PREFIX "u"
13540 #define PRIxPTR __PRIPTR_PREFIX "x"
13541 #define PRIXPTR __PRIPTR_PREFIX "X"
13547 #define SCNd8 "hhd"
13548 #define SCNd16 "hd"
13550 #define SCNd64 __PRI64_PREFIX "d"
13552 #define SCNdLEAST8 "hhd"
13553 #define SCNdLEAST16 "hd"
13554 #define SCNdLEAST32 "d"
13555 #define SCNdLEAST64 __PRI64_PREFIX "d"
13557 #define SCNdFAST8 "hhd"
13558 #define SCNdFAST16 __PRIPTR_PREFIX "d"
13559 #define SCNdFAST32 __PRIPTR_PREFIX "d"
13560 #define SCNdFAST64 __PRI64_PREFIX "d"
13563 #define SCNi8 "hhi"
13564 #define SCNi16 "hi"
13566 #define SCNi64 __PRI64_PREFIX "i"
13568 #define SCNiLEAST8 "hhi"
13569 #define SCNiLEAST16 "hi"
13570 #define SCNiLEAST32 "i"
13571 #define SCNiLEAST64 __PRI64_PREFIX "i"
13573 #define SCNiFAST8 "hhi"
13574 #define SCNiFAST16 __PRIPTR_PREFIX "i"
13575 #define SCNiFAST32 __PRIPTR_PREFIX "i"
13576 #define SCNiFAST64 __PRI64_PREFIX "i"
13579 #define SCNu8 "hhu"
13580 #define SCNu16 "hu"
13582 #define SCNu64 __PRI64_PREFIX "u"
13584 #define SCNuLEAST8 "hhu"
13585 #define SCNuLEAST16 "hu"
13586 #define SCNuLEAST32 "u"
13587 #define SCNuLEAST64 __PRI64_PREFIX "u"
13589 #define SCNuFAST8 "hhu"
13590 #define SCNuFAST16 __PRIPTR_PREFIX "u"
13591 #define SCNuFAST32 __PRIPTR_PREFIX "u"
13592 #define SCNuFAST64 __PRI64_PREFIX "u"
13595 #define SCNo8 "hho"
13596 #define SCNo16 "ho"
13598 #define SCNo64 __PRI64_PREFIX "o"
13600 #define SCNoLEAST8 "hho"
13601 #define SCNoLEAST16 "ho"
13602 #define SCNoLEAST32 "o"
13603 #define SCNoLEAST64 __PRI64_PREFIX "o"
13605 #define SCNoFAST8 "hho"
13606 #define SCNoFAST16 __PRIPTR_PREFIX "o"
13607 #define SCNoFAST32 __PRIPTR_PREFIX "o"
13608 #define SCNoFAST64 __PRI64_PREFIX "o"
13611 #define SCNx8 "hhx"
13612 #define SCNx16 "hx"
13614 #define SCNx64 __PRI64_PREFIX "x"
13616 #define SCNxLEAST8 "hhx"
13617 #define SCNxLEAST16 "hx"
13618 #define SCNxLEAST32 "x"
13619 #define SCNxLEAST64 __PRI64_PREFIX "x"
13621 #define SCNxFAST8 "hhx"
13622 #define SCNxFAST16 __PRIPTR_PREFIX "x"
13623 #define SCNxFAST32 __PRIPTR_PREFIX "x"
13624 #define SCNxFAST64 __PRI64_PREFIX "x"
13628 #define SCNdMAX __PRI64_PREFIX "d"
13629 #define SCNiMAX __PRI64_PREFIX "i"
13630 #define SCNoMAX __PRI64_PREFIX "o"
13631 #define SCNuMAX __PRI64_PREFIX "u"
13632 #define SCNxMAX __PRI64_PREFIX "x"
13635 #define SCNdPTR __PRIPTR_PREFIX "d"
13636 #define SCNiPTR __PRIPTR_PREFIX "i"
13637 #define SCNoPTR __PRIPTR_PREFIX "o"
13638 #define SCNuPTR __PRIPTR_PREFIX "u"
13639 #define SCNxPTR __PRIPTR_PREFIX "x"
13654 # 298 "/usr/include/gentoo-multilib/amd64/inttypes.h" 3 4
13655 extern intmax_t imaxabs (intmax_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
13658 extern imaxdiv_t imaxdiv (intmax_t __numer, intmax_t __denom)
13659 __attribute__ ((__nothrow__)) __attribute__ ((__const__));
13662 extern intmax_t strtoimax (__const char *__restrict __nptr,
13663 char **__restrict __endptr, int __base) __attribute__ ((__nothrow__));
13666 extern uintmax_t strtoumax (__const char *__restrict __nptr,
13667 char ** __restrict __endptr, int __base) __attribute__ ((__nothrow__));
13670 extern intmax_t wcstoimax (__const __gwchar_t *__restrict __nptr,
13671 __gwchar_t **__restrict __endptr, int __base)
13672 __attribute__ ((__nothrow__));
13675 extern uintmax_t wcstoumax (__const __gwchar_t *__restrict __nptr,
13676 __gwchar_t ** __restrict __endptr, int __base)
13677 __attribute__ ((__nothrow__));
13678 # 333 "/usr/include/gentoo-multilib/amd64/inttypes.h" 3 4
13679 extern __inline intmax_t
13680 __attribute__ ((__nothrow__)) strtoimax (__const char *__restrict nptr, char **__restrict endptr, int base)
13683 return __strtol_internal (nptr, endptr, base, 0);
13685 # 348 "/usr/include/gentoo-multilib/amd64/inttypes.h" 3 4
13686 extern __inline uintmax_t
13687 __attribute__ ((__nothrow__)) strtoumax (__const char *__restrict nptr, char **__restrict endptr, int base)
13690 return __strtoul_internal (nptr, endptr, base, 0);
13695 extern long int __wcstol_internal (__const __gwchar_t * __restrict __nptr,
13696 __gwchar_t **__restrict __endptr,
13697 int __base, int __group) __attribute__ ((__nothrow__));
13698 #define __wcstol_internal_defined 1
13700 extern __inline intmax_t
13701 __attribute__ ((__nothrow__)) wcstoimax (__const __gwchar_t *__restrict nptr, __gwchar_t **__restrict endptr, int base)
13704 return __wcstol_internal (nptr, endptr, base, 0);
13710 extern unsigned long int __wcstoul_internal (__const __gwchar_t *
13713 __restrict __endptr,
13714 int __base, int __group) __attribute__ ((__nothrow__));
13715 #define __wcstoul_internal_defined 1
13717 extern __inline uintmax_t
13718 __attribute__ ((__nothrow__)) wcstoumax (__const __gwchar_t *__restrict nptr, __gwchar_t **__restrict endptr, int base)
13721 return __wcstoul_internal (nptr, endptr, base, 0);
13723 # 459 "/usr/include/gentoo-multilib/amd64/inttypes.h" 3 4
13725 # 9 "/usr/include/inttypes.h" 2 3 4
13726 # 108 "/usr/include/xine/os_types.h" 2 3 4
13727 # 63 "/usr/include/xine.h" 2 3 4
13728 # 1 "/usr/include/xine/attributes.h" 1 3 4
13729 # 25 "/usr/include/xine/attributes.h" 3 4
13730 #define ATTRIBUTE_H_
13735 #define ATTR_ALIGN(align)
13741 #define ATTRIBUTE_PACKED 1
13742 # 53 "/usr/include/xine/attributes.h" 3 4
13743 #define XINE_PROTECTED
13749 #define XINE_SENTINEL
13750 # 64 "/usr/include/xine.h" 2 3 4
13751 # 85 "/usr/include/xine.h" 3 4
13752 typedef struct xine_s xine_t;
13753 typedef struct xine_stream_s xine_stream_t;
13754 typedef struct xine_audio_port_s xine_audio_port_t;
13755 typedef struct xine_video_port_s xine_video_port_t;
13759 typedef xine_audio_port_t xine_ao_driver_t;
13760 typedef xine_video_port_t xine_vo_driver_t;
13761 # 106 "/usr/include/xine.h" 3 4
13762 const char *xine_get_version_string (void) ;
13763 void xine_get_version (int *major, int *minor, int *sub) ;
13767 int xine_check_version (int major, int minor, int sub) ;
13770 #define XINE_MAJOR_VERSION 1
13771 #define XINE_MINOR_VERSION 1
13772 #define XINE_SUB_VERSION 4
13773 #define XINE_VERSION "1.1.4"
13774 # 135 "/usr/include/xine.h" 3 4
13775 xine_t *xine_new (void) ;
13780 void xine_init (xine_t *self) ;
13781 # 157 "/usr/include/xine.h" 3 4
13782 xine_audio_port_t *xine_open_audio_driver (xine_t *self, const char *id,
13784 xine_video_port_t *xine_open_video_driver (xine_t *self, const char *id,
13785 int visual, void *data) ;
13787 void xine_close_audio_driver (xine_t *self, xine_audio_port_t *driver) ;
13788 void xine_close_video_driver (xine_t *self, xine_video_port_t *driver) ;
13791 #define XINE_VISUAL_TYPE_NONE 0
13792 #define XINE_VISUAL_TYPE_X11 1
13793 #define XINE_VISUAL_TYPE_X11_2 10
13794 #define XINE_VISUAL_TYPE_AA 2
13795 #define XINE_VISUAL_TYPE_FB 3
13796 #define XINE_VISUAL_TYPE_GTK 4
13797 #define XINE_VISUAL_TYPE_DFB 5
13798 #define XINE_VISUAL_TYPE_PM 6
13799 #define XINE_VISUAL_TYPE_DIRECTX 7
13800 #define XINE_VISUAL_TYPE_CACA 8
13801 #define XINE_VISUAL_TYPE_MACOSX 9
13802 #define XINE_VISUAL_TYPE_XCB 11
13808 void xine_exit (xine_t *self) ;
13809 # 201 "/usr/include/xine.h" 3 4
13810 xine_stream_t *xine_stream_new (xine_t *self,
13811 xine_audio_port_t *ao, xine_video_port_t *vo) ;
13812 # 222 "/usr/include/xine.h" 3 4
13813 int xine_stream_master_slave(xine_stream_t *master, xine_stream_t *slave,
13818 #define XINE_MASTER_SLAVE_PLAY (1<<0)
13820 #define XINE_MASTER_SLAVE_STOP (1<<1)
13822 #define XINE_MASTER_SLAVE_SPEED (1<<2)
13823 # 241 "/usr/include/xine.h" 3 4
13824 int xine_open (xine_stream_t *stream, const char *mrl) ;
13825 # 253 "/usr/include/xine.h" 3 4
13826 int xine_play (xine_stream_t *stream, int start_pos, int start_time) ;
13827 # 262 "/usr/include/xine.h" 3 4
13828 int xine_trick_mode (xine_stream_t *stream, int mode, int value) ;
13831 #define XINE_TRICK_MODE_OFF 0
13832 #define XINE_TRICK_MODE_SEEK_TO_POSITION 1
13833 #define XINE_TRICK_MODE_SEEK_TO_TIME 2
13834 #define XINE_TRICK_MODE_FAST_FORWARD 3
13835 #define XINE_TRICK_MODE_FAST_REWIND 4
13841 void xine_stop (xine_stream_t *stream) ;
13847 void xine_close (xine_stream_t *stream) ;
13853 int xine_eject (xine_stream_t *stream) ;
13859 void xine_dispose (xine_stream_t *stream) ;
13864 void xine_engine_set_param(xine_t *self, int param, int value) ;
13865 int xine_engine_get_param(xine_t *self, int param) ;
13867 #define XINE_ENGINE_PARAM_VERBOSITY 1
13873 void xine_set_param (xine_stream_t *stream, int param, int value) ;
13874 int xine_get_param (xine_stream_t *stream, int param) ;
13879 #define XINE_PARAM_SPEED 1
13880 #define XINE_PARAM_AV_OFFSET 2
13881 #define XINE_PARAM_AUDIO_CHANNEL_LOGICAL 3
13882 #define XINE_PARAM_SPU_CHANNEL 4
13883 #define XINE_PARAM_VIDEO_CHANNEL 5
13884 #define XINE_PARAM_AUDIO_VOLUME 6
13885 #define XINE_PARAM_AUDIO_MUTE 7
13886 #define XINE_PARAM_AUDIO_COMPR_LEVEL 8
13887 #define XINE_PARAM_AUDIO_AMP_LEVEL 9
13888 #define XINE_PARAM_AUDIO_REPORT_LEVEL 10
13889 #define XINE_PARAM_VERBOSITY 11
13890 #define XINE_PARAM_SPU_OFFSET 12
13891 #define XINE_PARAM_IGNORE_VIDEO 13
13892 #define XINE_PARAM_IGNORE_AUDIO 14
13893 #define XINE_PARAM_IGNORE_SPU 15
13894 #define XINE_PARAM_BROADCASTER_PORT 16
13895 #define XINE_PARAM_METRONOM_PREBUFFER 17
13896 #define XINE_PARAM_EQ_30HZ 18
13897 #define XINE_PARAM_EQ_60HZ 19
13898 #define XINE_PARAM_EQ_125HZ 20
13899 #define XINE_PARAM_EQ_250HZ 21
13900 #define XINE_PARAM_EQ_500HZ 22
13901 #define XINE_PARAM_EQ_1000HZ 23
13902 #define XINE_PARAM_EQ_2000HZ 24
13903 #define XINE_PARAM_EQ_4000HZ 25
13904 #define XINE_PARAM_EQ_8000HZ 26
13905 #define XINE_PARAM_EQ_16000HZ 27
13906 #define XINE_PARAM_AUDIO_CLOSE_DEVICE 28
13907 #define XINE_PARAM_AUDIO_AMP_MUTE 29
13908 #define XINE_PARAM_FINE_SPEED 30
13909 #define XINE_PARAM_EARLY_FINISHED_EVENT 31
13910 #define XINE_PARAM_GAPLESS_SWITCH 32
13911 #define XINE_PARAM_DELAY_FINISHED_EVENT 33
13912 # 354 "/usr/include/xine.h" 3 4
13913 #define XINE_SPEED_PAUSE 0
13914 #define XINE_SPEED_SLOW_4 1
13915 #define XINE_SPEED_SLOW_2 2
13916 #define XINE_SPEED_NORMAL 4
13917 #define XINE_SPEED_FAST_2 8
13918 #define XINE_SPEED_FAST_4 16
13921 #define XINE_FINE_SPEED_NORMAL 1000000
13924 #define XINE_PARAM_VO_DEINTERLACE 0x01000000
13925 #define XINE_PARAM_VO_ASPECT_RATIO 0x01000001
13926 #define XINE_PARAM_VO_HUE 0x01000002
13927 #define XINE_PARAM_VO_SATURATION 0x01000003
13928 #define XINE_PARAM_VO_CONTRAST 0x01000004
13929 #define XINE_PARAM_VO_BRIGHTNESS 0x01000005
13930 #define XINE_PARAM_VO_ZOOM_X 0x01000008
13931 #define XINE_PARAM_VO_ZOOM_Y 0x0100000d
13932 #define XINE_PARAM_VO_PAN_SCAN 0x01000009
13933 #define XINE_PARAM_VO_TVMODE 0x0100000a
13934 #define XINE_PARAM_VO_WINDOW_WIDTH 0x0100000f
13935 #define XINE_PARAM_VO_WINDOW_HEIGHT 0x01000010
13936 #define XINE_PARAM_VO_CROP_LEFT 0x01000020
13937 #define XINE_PARAM_VO_CROP_RIGHT 0x01000021
13938 #define XINE_PARAM_VO_CROP_TOP 0x01000022
13939 #define XINE_PARAM_VO_CROP_BOTTOM 0x01000023
13942 #define XINE_VO_ZOOM_STEP 100
13943 #define XINE_VO_ZOOM_MAX 400
13944 #define XINE_VO_ZOOM_MIN -85
13947 #define XINE_VO_ASPECT_AUTO 0
13948 #define XINE_VO_ASPECT_SQUARE 1
13949 #define XINE_VO_ASPECT_4_3 2
13950 #define XINE_VO_ASPECT_ANAMORPHIC 3
13951 #define XINE_VO_ASPECT_DVB 4
13952 #define XINE_VO_ASPECT_NUM_RATIOS 5
13954 #define XINE_VO_ASPECT_PAN_SCAN 41
13955 #define XINE_VO_ASPECT_DONT_TOUCH 42
13961 #define XINE_DEMUX_DEFAULT_STRATEGY 0
13963 #define XINE_DEMUX_REVERT_STRATEGY 1
13965 #define XINE_DEMUX_CONTENT_STRATEGY 2
13967 #define XINE_DEMUX_EXTENSION_STRATEGY 3
13970 #define XINE_VERBOSITY_NONE 0
13971 #define XINE_VERBOSITY_LOG 1
13972 #define XINE_VERBOSITY_DEBUG 2
13973 # 424 "/usr/include/xine.h" 3 4
13974 int xine_get_current_frame (xine_stream_t *stream,
13975 int *width, int *height,
13976 int *ratio_code, int *format,
13980 #define XINE_IMGFMT_YV12 (('2'<<24)|('1'<<16)|('V'<<8)|'Y')
13981 #define XINE_IMGFMT_YUY2 (('2'<<24)|('Y'<<16)|('U'<<8)|'Y')
13982 #define XINE_IMGFMT_XVMC (('C'<<24)|('M'<<16)|('v'<<8)|'X')
13983 #define XINE_IMGFMT_XXMC (('C'<<24)|('M'<<16)|('x'<<8)|'X')
13989 int64_t xine_get_current_vpts(xine_stream_t *stream) ;
13990 # 536 "/usr/include/xine.h" 3 4
13991 typedef struct xine_post_s xine_post_t;
13993 struct xine_post_s {
13999 xine_audio_port_t **audio_input;
14005 xine_video_port_t **video_input;
14013 # 569 "/usr/include/xine.h" 3 4
14014 xine_post_t *xine_post_init(xine_t *xine, const char *name,
14016 xine_audio_port_t **audio_target,
14017 xine_video_port_t **video_target) ;
14020 const char *const *xine_list_post_plugins(xine_t *xine) ;
14023 const char *const *xine_list_post_plugins_typed(xine_t *xine, int type) ;
14024 # 589 "/usr/include/xine.h" 3 4
14025 typedef struct xine_post_in_s xine_post_in_t;
14026 typedef struct xine_post_out_s xine_post_out_t;
14028 struct xine_post_in_s {
14042 struct xine_post_out_s {
14053 # 627 "/usr/include/xine.h" 3 4
14054 int (*rewire) (xine_post_out_t *self, void *data);
14059 const char *const *xine_post_list_inputs(xine_post_t *self) ;
14062 const char *const *xine_post_list_outputs(xine_post_t *self) ;
14065 xine_post_in_t *xine_post_input(xine_post_t *self, const char *name) ;
14068 xine_post_out_t *xine_post_output(xine_post_t *self, const char *name) ;
14074 int xine_post_wire(xine_post_out_t *source, xine_post_in_t *target) ;
14075 # 658 "/usr/include/xine.h" 3 4
14076 int xine_post_wire_video_port(xine_post_out_t *source, xine_video_port_t *vo) ;
14077 # 669 "/usr/include/xine.h" 3 4
14078 int xine_post_wire_audio_port(xine_post_out_t *source, xine_audio_port_t *ao) ;
14083 xine_post_out_t * xine_get_video_source(xine_stream_t *stream) ;
14084 xine_post_out_t * xine_get_audio_source(xine_stream_t *stream) ;
14091 void xine_post_dispose(xine_t *xine, xine_post_t *self) ;
14095 #define XINE_POST_TYPE_VIDEO_FILTER 0x010000
14096 #define XINE_POST_TYPE_VIDEO_VISUALIZATION 0x010001
14097 #define XINE_POST_TYPE_VIDEO_COMPOSE 0x010002
14098 #define XINE_POST_TYPE_AUDIO_FILTER 0x020000
14099 #define XINE_POST_TYPE_AUDIO_VISUALIZATION 0x020001
14100 # 699 "/usr/include/xine.h" 3 4
14101 #define XINE_POST_DATA_VIDEO 0
14107 #define XINE_POST_DATA_AUDIO 1
14113 #define XINE_POST_DATA_INT 3
14119 #define XINE_POST_DATA_DOUBLE 4
14124 #define XINE_POST_DATA_PARAMETERS 5
14132 char **enum_values;
14137 } xine_post_api_parameter_t;
14142 xine_post_api_parameter_t *parameter;
14143 } xine_post_api_descr_t;
14150 int (*set_parameters) (xine_post_t *self, void *params);
14155 int (*get_parameters) (xine_post_t *self, void *params);
14160 xine_post_api_descr_t * (*get_param_descr) (void);
14167 char * (*get_help) (void);
14171 #define POST_PARAM_TYPE_LAST 0
14172 #define POST_PARAM_TYPE_INT 1
14173 #define POST_PARAM_TYPE_DOUBLE 2
14174 #define POST_PARAM_TYPE_CHAR 3
14175 #define POST_PARAM_TYPE_STRING 4
14176 #define POST_PARAM_TYPE_STRINGLIST 5
14177 #define POST_PARAM_TYPE_BOOL 6
14178 # 787 "/usr/include/xine.h" 3 4
14179 int xine_get_log_section_count(xine_t *self) ;
14182 const char *const *xine_get_log_names(xine_t *self) ;
14183 # 799 "/usr/include/xine.h" 3 4
14184 void xine_log (xine_t *self, int buf,
14185 const char *format, ...) __attribute__ ((__format__(printf, 3, 4))) ;
14186 void xine_vlog(xine_t *self, int buf,
14187 const char *format, va_list args) __attribute__ ((__format__(printf, 3, 0))) ;
14191 const char *const *xine_get_log (xine_t *self, int buf) ;
14194 typedef void (*xine_log_cb_t) (void *user_data, int section);
14195 void xine_register_log_cb (xine_t *self, xine_log_cb_t cb,
14203 int xine_get_error (xine_stream_t *stream) ;
14206 int xine_get_status (xine_stream_t *stream) ;
14211 #define XINE_STATUS_IDLE 0
14212 #define XINE_STATUS_STOP 1
14213 #define XINE_STATUS_PLAY 2
14214 #define XINE_STATUS_QUIT 3
14219 #define XINE_ERROR_NONE 0
14220 #define XINE_ERROR_NO_INPUT_PLUGIN 1
14221 #define XINE_ERROR_NO_DEMUX_PLUGIN 2
14222 #define XINE_ERROR_DEMUX_FAILED 3
14223 #define XINE_ERROR_MALFORMED_MRL 4
14224 #define XINE_ERROR_INPUT_FAILED 5
14232 int xine_get_audio_lang (xine_stream_t *stream, int channel,
14234 int xine_get_spu_lang (xine_stream_t *stream, int channel,
14236 #define XINE_LANG_MAX 32
14237 # 863 "/usr/include/xine.h" 3 4
14238 int xine_get_pos_length (xine_stream_t *stream,
14243 # 876 "/usr/include/xine.h" 3 4
14244 uint32_t xine_get_stream_info (xine_stream_t *stream, int info) ;
14245 const char *xine_get_meta_info (xine_stream_t *stream, int info) ;
14248 #define XINE_STREAM_INFO_BITRATE 0
14249 #define XINE_STREAM_INFO_SEEKABLE 1
14250 #define XINE_STREAM_INFO_VIDEO_WIDTH 2
14251 #define XINE_STREAM_INFO_VIDEO_HEIGHT 3
14252 #define XINE_STREAM_INFO_VIDEO_RATIO 4
14253 #define XINE_STREAM_INFO_VIDEO_CHANNELS 5
14254 #define XINE_STREAM_INFO_VIDEO_STREAMS 6
14255 #define XINE_STREAM_INFO_VIDEO_BITRATE 7
14256 #define XINE_STREAM_INFO_VIDEO_FOURCC 8
14257 #define XINE_STREAM_INFO_VIDEO_HANDLED 9
14258 #define XINE_STREAM_INFO_FRAME_DURATION 10
14259 #define XINE_STREAM_INFO_AUDIO_CHANNELS 11
14260 #define XINE_STREAM_INFO_AUDIO_BITS 12
14261 #define XINE_STREAM_INFO_AUDIO_SAMPLERATE 13
14262 #define XINE_STREAM_INFO_AUDIO_BITRATE 14
14263 #define XINE_STREAM_INFO_AUDIO_FOURCC 15
14264 #define XINE_STREAM_INFO_AUDIO_HANDLED 16
14265 #define XINE_STREAM_INFO_HAS_CHAPTERS 17
14266 #define XINE_STREAM_INFO_HAS_VIDEO 18
14267 #define XINE_STREAM_INFO_HAS_AUDIO 19
14268 #define XINE_STREAM_INFO_IGNORE_VIDEO 20
14269 #define XINE_STREAM_INFO_IGNORE_AUDIO 21
14270 #define XINE_STREAM_INFO_IGNORE_SPU 22
14271 #define XINE_STREAM_INFO_VIDEO_HAS_STILL 23
14272 #define XINE_STREAM_INFO_MAX_AUDIO_CHANNEL 24
14273 #define XINE_STREAM_INFO_MAX_SPU_CHANNEL 25
14274 #define XINE_STREAM_INFO_AUDIO_MODE 26
14275 #define XINE_STREAM_INFO_SKIPPED_FRAMES 27
14276 #define XINE_STREAM_INFO_DISCARDED_FRAMES 28
14277 #define XINE_STREAM_INFO_VIDEO_AFD 29
14278 #define XINE_STREAM_INFO_DVD_TITLE_NUMBER 30
14279 #define XINE_STREAM_INFO_DVD_TITLE_COUNT 31
14280 #define XINE_STREAM_INFO_DVD_CHAPTER_NUMBER 32
14281 #define XINE_STREAM_INFO_DVD_CHAPTER_COUNT 33
14282 #define XINE_STREAM_INFO_DVD_ANGLE_NUMBER 34
14283 #define XINE_STREAM_INFO_DVD_ANGLE_COUNT 35
14286 #define XINE_VIDEO_AFD_NOT_PRESENT -1
14287 #define XINE_VIDEO_AFD_RESERVED_0 0
14288 #define XINE_VIDEO_AFD_RESERVED_1 1
14289 #define XINE_VIDEO_AFD_BOX_16_9_TOP 2
14290 #define XINE_VIDEO_AFD_BOX_14_9_TOP 3
14291 #define XINE_VIDEO_AFD_BOX_GT_16_9_CENTRE 4
14292 #define XINE_VIDEO_AFD_RESERVED_5 5
14293 #define XINE_VIDEO_AFD_RESERVED_6 6
14294 #define XINE_VIDEO_AFD_RESERVED_7 7
14295 #define XINE_VIDEO_AFD_SAME_AS_FRAME 8
14296 #define XINE_VIDEO_AFD_4_3_CENTRE 9
14297 #define XINE_VIDEO_AFD_16_9_CENTRE 10
14298 #define XINE_VIDEO_AFD_14_9_CENTRE 11
14299 #define XINE_VIDEO_AFD_RESERVED_12 12
14300 #define XINE_VIDEO_AFD_4_3_PROTECT_14_9 13
14301 #define XINE_VIDEO_AFD_16_9_PROTECT_14_9 14
14302 #define XINE_VIDEO_AFD_16_9_PROTECT_4_3 15
14305 #define XINE_META_INFO_TITLE 0
14306 #define XINE_META_INFO_COMMENT 1
14307 #define XINE_META_INFO_ARTIST 2
14308 #define XINE_META_INFO_GENRE 3
14309 #define XINE_META_INFO_ALBUM 4
14310 #define XINE_META_INFO_YEAR 5
14311 #define XINE_META_INFO_VIDEOCODEC 6
14312 #define XINE_META_INFO_AUDIOCODEC 7
14313 #define XINE_META_INFO_SYSTEMLAYER 8
14314 #define XINE_META_INFO_INPUT_PLUGIN 9
14315 #define XINE_META_INFO_CDINDEX_DISCID 10
14316 #define XINE_META_INFO_TRACK_NUMBER 11
14317 # 963 "/usr/include/xine.h" 3 4
14327 #define XINE_MRL_TYPE_unknown (0 << 0)
14328 #define XINE_MRL_TYPE_dvd (1 << 0)
14329 #define XINE_MRL_TYPE_vcd (1 << 1)
14330 #define XINE_MRL_TYPE_net (1 << 2)
14331 #define XINE_MRL_TYPE_rtp (1 << 3)
14332 #define XINE_MRL_TYPE_stdin (1 << 4)
14333 #define XINE_MRL_TYPE_cda (1 << 5)
14334 #define XINE_MRL_TYPE_file (1 << 6)
14335 #define XINE_MRL_TYPE_file_fifo (1 << 7)
14336 #define XINE_MRL_TYPE_file_chardev (1 << 8)
14337 #define XINE_MRL_TYPE_file_directory (1 << 9)
14338 #define XINE_MRL_TYPE_file_blockdev (1 << 10)
14339 #define XINE_MRL_TYPE_file_normal (1 << 11)
14340 #define XINE_MRL_TYPE_file_symlink (1 << 12)
14341 #define XINE_MRL_TYPE_file_sock (1 << 13)
14342 #define XINE_MRL_TYPE_file_exec (1 << 14)
14343 #define XINE_MRL_TYPE_file_backup (1 << 15)
14344 #define XINE_MRL_TYPE_file_hidden (1 << 16)
14347 const char *const *xine_get_browsable_input_plugin_ids (xine_t *self) ;
14348 # 1002 "/usr/include/xine.h" 3 4
14349 xine_mrl_t **xine_get_browse_mrls (xine_t *self,
14350 const char *plugin_id,
14351 const char *start_mrl,
14355 const char *const *xine_get_autoplay_input_plugin_ids (xine_t *self) ;
14358 char **xine_get_autoplay_mrls (xine_t *self,
14359 const char *plugin_id,
14366 char *xine_get_file_extensions (xine_t *self) ;
14371 char *xine_get_mime_types (xine_t *self) ;
14377 char *xine_get_demux_for_mime_type (xine_t *self, const char *mime_type) ;
14380 const char *xine_get_input_plugin_description (xine_t *self,
14381 const char *plugin_id) ;
14382 const char *xine_get_demux_plugin_description (xine_t *self,
14383 const char *plugin_id) ;
14384 const char *xine_get_spu_plugin_description (xine_t *self,
14385 const char *plugin_id) ;
14386 const char *xine_get_audio_plugin_description (xine_t *self,
14387 const char *plugin_id) ;
14388 const char *xine_get_video_plugin_description (xine_t *self,
14389 const char *plugin_id) ;
14390 const char *xine_get_audio_driver_plugin_description (xine_t *self,
14391 const char *plugin_id) ;
14392 const char *xine_get_video_driver_plugin_description (xine_t *self,
14393 const char *plugin_id) ;
14394 const char *xine_get_post_plugin_description (xine_t *self,
14395 const char *plugin_id) ;
14398 const char *const *xine_list_audio_output_plugins (xine_t *self) ;
14399 const char *const *xine_list_video_output_plugins (xine_t *self) ;
14402 const char *const *xine_list_demuxer_plugins(xine_t *self) ;
14405 const char *const *xine_list_input_plugins(xine_t *self) ;
14408 const char *const *xine_list_spu_plugins(xine_t *self) ;
14411 const char *const *xine_list_audio_decoder_plugins(xine_t *self) ;
14412 const char *const *xine_list_video_decoder_plugins(xine_t *self) ;
14415 void xine_plugins_garbage_collector(xine_t *self) ;
14416 # 1077 "/usr/include/xine.h" 3 4
14417 int xine_gui_send_vo_data (xine_stream_t *self,
14418 int type, void *data) ;
14422 int xine_port_send_gui_data (xine_video_port_t *vo,
14423 int type, void *data) ;
14447 # 1127 "/usr/include/xine.h" 3 4
14448 void (*dest_size_cb) (void *user_data,
14449 int video_width, int video_height,
14450 double video_pixel_aspect,
14451 int *dest_width, int *dest_height,
14452 double *dest_pixel_aspect);
14453 # 1158 "/usr/include/xine.h" 3 4
14454 void (*frame_output_cb) (void *user_data,
14455 int video_width, int video_height,
14456 double video_pixel_aspect,
14457 int *dest_x, int *dest_y,
14458 int *dest_width, int *dest_height,
14459 double *dest_pixel_aspect,
14460 int *win_x, int *win_y);
14461 # 1176 "/usr/include/xine.h" 3 4
14462 void (*lock_display) (void *user_data);
14463 # 1188 "/usr/include/xine.h" 3 4
14464 void (*unlock_display) (void *user_data);
14480 unsigned int window;
14483 # 1227 "/usr/include/xine.h" 3 4
14484 void (*dest_size_cb) (void *user_data,
14485 int video_width, int video_height,
14486 double video_pixel_aspect,
14487 int *dest_width, int *dest_height,
14488 double *dest_pixel_aspect);
14489 # 1258 "/usr/include/xine.h" 3 4
14490 void (*frame_output_cb) (void *user_data,
14491 int video_width, int video_height,
14492 double video_pixel_aspect,
14493 int *dest_x, int *dest_y,
14494 int *dest_width, int *dest_height,
14495 double *dest_pixel_aspect,
14496 int *win_x, int *win_y);
14508 void (*frame_output_cb) (void *user_data,
14509 int video_width, int video_height,
14510 double video_pixel_aspect,
14511 int *dest_x, int *dest_y,
14512 int *dest_width, int *dest_height,
14513 double *dest_pixel_aspect,
14514 int *win_x, int *win_y);
14519 # 1321 "/usr/include/xine.h" 3 4
14520 #define XINE_GUI_SEND_COMPLETION_EVENT 1
14524 #define XINE_GUI_SEND_DRAWABLE_CHANGED 2
14527 #define XINE_GUI_SEND_EXPOSE_EVENT 3
14530 #define XINE_GUI_SEND_TRANSLATE_GUI_TO_VIDEO 4
14533 #define XINE_GUI_SEND_VIDEOWIN_VISIBLE 5
14538 #define XINE_GUI_SEND_SELECT_VISUAL 8
14541 #define XINE_GUI_SEND_WILL_DESTROY_DRAWABLE 9
14548 #define XINE_HEALTH_CHECK_OK 0
14549 #define XINE_HEALTH_CHECK_FAIL 1
14550 #define XINE_HEALTH_CHECK_UNSUPPORTED 2
14551 #define XINE_HEALTH_CHECK_NO_SUCH_CHECK 3
14553 #define CHECK_KERNEL 0
14554 #define CHECK_MTRR 1
14555 #define CHECK_CDROM 2
14556 #define CHECK_DVDROM 3
14557 #define CHECK_DMA 4
14561 struct xine_health_check_s {
14563 const char* cdrom_dev;
14564 const char* dvd_dev;
14570 typedef struct xine_health_check_s xine_health_check_t;
14571 xine_health_check_t* xine_health_check(xine_health_check_t*, int check_num) ;
14572 # 1383 "/usr/include/xine.h" 3 4
14573 #define XINE_CONFIG_TYPE_UNKNOWN 0
14574 #define XINE_CONFIG_TYPE_RANGE 1
14575 #define XINE_CONFIG_TYPE_STRING 2
14576 #define XINE_CONFIG_TYPE_ENUM 3
14577 #define XINE_CONFIG_TYPE_NUM 4
14578 #define XINE_CONFIG_TYPE_BOOL 5
14581 #define XINE_CONFIG_STRING_IS_STRING 0
14582 #define XINE_CONFIG_STRING_IS_FILENAME 1
14583 #define XINE_CONFIG_STRING_IS_DEVICE_NAME 2
14584 #define XINE_CONFIG_STRING_IS_DIRECTORY_NAME 3
14586 typedef struct xine_cfg_entry_s xine_cfg_entry_t;
14588 typedef void (*xine_config_cb_t) (void *user_data,
14589 xine_cfg_entry_t *entry);
14590 struct xine_cfg_entry_s {
14596 char *unknown_value;
14603 # 1421 "/usr/include/xine.h" 3 4
14612 char **enum_values;
14618 const char *description;
14623 # 1449 "/usr/include/xine.h" 3 4
14624 xine_config_cb_t callback;
14625 void *callback_data;
14629 const char *xine_config_register_string (xine_t *self,
14631 const char *def_value,
14632 const char *description,
14635 xine_config_cb_t changed_cb,
14638 const char *xine_config_register_filename (xine_t *self,
14640 const char *def_value,
14642 const char *description,
14645 xine_config_cb_t changed_cb,
14648 int xine_config_register_range (xine_t *self,
14652 const char *description,
14655 xine_config_cb_t changed_cb,
14658 int xine_config_register_enum (xine_t *self,
14662 const char *description,
14665 xine_config_cb_t changed_cb,
14668 int xine_config_register_num (xine_t *self,
14671 const char *description,
14674 xine_config_cb_t changed_cb,
14677 int xine_config_register_bool (xine_t *self,
14680 const char *description,
14683 xine_config_cb_t changed_cb,
14685 # 1519 "/usr/include/xine.h" 3 4
14686 int xine_config_get_first_entry (xine_t *self, xine_cfg_entry_t *entry) ;
14689 int xine_config_get_next_entry (xine_t *self, xine_cfg_entry_t *entry) ;
14692 int xine_config_lookup_entry (xine_t *self, const char *key,
14693 xine_cfg_entry_t *entry) ;
14701 void xine_config_update_entry (xine_t *self,
14702 const xine_cfg_entry_t *entry) ;
14707 void xine_config_load (xine_t *self, const char *cfg_filename) ;
14708 void xine_config_save (xine_t *self, const char *cfg_filename) ;
14709 void xine_config_reset (xine_t *self) ;
14710 # 1567 "/usr/include/xine.h" 3 4
14711 #define XINE_EVENT_UI_PLAYBACK_FINISHED 1
14712 #define XINE_EVENT_UI_CHANNELS_CHANGED 2
14713 #define XINE_EVENT_UI_SET_TITLE 3
14714 #define XINE_EVENT_UI_MESSAGE 4
14715 #define XINE_EVENT_FRAME_FORMAT_CHANGE 5
14716 #define XINE_EVENT_AUDIO_LEVEL 6
14717 #define XINE_EVENT_QUIT 7
14718 #define XINE_EVENT_PROGRESS 8
14719 #define XINE_EVENT_MRL_REFERENCE 9
14720 #define XINE_EVENT_UI_NUM_BUTTONS 10
14721 #define XINE_EVENT_SPU_BUTTON 11
14722 #define XINE_EVENT_DROPPED_FRAMES 12
14723 #define XINE_EVENT_MRL_REFERENCE_EXT 13
14727 #define XINE_EVENT_INPUT_MOUSE_BUTTON 101
14728 #define XINE_EVENT_INPUT_MOUSE_MOVE 102
14729 #define XINE_EVENT_INPUT_MENU1 103
14730 #define XINE_EVENT_INPUT_MENU2 104
14731 #define XINE_EVENT_INPUT_MENU3 105
14732 #define XINE_EVENT_INPUT_MENU4 106
14733 #define XINE_EVENT_INPUT_MENU5 107
14734 #define XINE_EVENT_INPUT_MENU6 108
14735 #define XINE_EVENT_INPUT_MENU7 109
14736 #define XINE_EVENT_INPUT_UP 110
14737 #define XINE_EVENT_INPUT_DOWN 111
14738 #define XINE_EVENT_INPUT_LEFT 112
14739 #define XINE_EVENT_INPUT_RIGHT 113
14740 #define XINE_EVENT_INPUT_SELECT 114
14741 #define XINE_EVENT_INPUT_NEXT 115
14742 #define XINE_EVENT_INPUT_PREVIOUS 116
14743 #define XINE_EVENT_INPUT_ANGLE_NEXT 117
14744 #define XINE_EVENT_INPUT_ANGLE_PREVIOUS 118
14745 #define XINE_EVENT_INPUT_BUTTON_FORCE 119
14746 #define XINE_EVENT_INPUT_NUMBER_0 120
14747 #define XINE_EVENT_INPUT_NUMBER_1 121
14748 #define XINE_EVENT_INPUT_NUMBER_2 122
14749 #define XINE_EVENT_INPUT_NUMBER_3 123
14750 #define XINE_EVENT_INPUT_NUMBER_4 124
14751 #define XINE_EVENT_INPUT_NUMBER_5 125
14752 #define XINE_EVENT_INPUT_NUMBER_6 126
14753 #define XINE_EVENT_INPUT_NUMBER_7 127
14754 #define XINE_EVENT_INPUT_NUMBER_8 128
14755 #define XINE_EVENT_INPUT_NUMBER_9 129
14756 #define XINE_EVENT_INPUT_NUMBER_10_ADD 130
14759 #define XINE_EVENT_SET_V4L2 200
14760 #define XINE_EVENT_PVR_SAVE 201
14761 #define XINE_EVENT_PVR_REPORT_NAME 202
14762 #define XINE_EVENT_PVR_REALTIME 203
14763 #define XINE_EVENT_PVR_PAUSE 204
14764 #define XINE_EVENT_SET_MPEG_DATA 205
14767 #define XINE_EVENT_VDR_RED 300
14768 #define XINE_EVENT_VDR_GREEN 301
14769 #define XINE_EVENT_VDR_YELLOW 302
14770 #define XINE_EVENT_VDR_BLUE 303
14771 #define XINE_EVENT_VDR_PLAY 304
14772 #define XINE_EVENT_VDR_PAUSE 305
14773 #define XINE_EVENT_VDR_STOP 306
14774 #define XINE_EVENT_VDR_RECORD 307
14775 #define XINE_EVENT_VDR_FASTFWD 308
14776 #define XINE_EVENT_VDR_FASTREW 309
14777 #define XINE_EVENT_VDR_POWER 310
14778 #define XINE_EVENT_VDR_CHANNELPLUS 311
14779 #define XINE_EVENT_VDR_CHANNELMINUS 312
14780 #define XINE_EVENT_VDR_SCHEDULE 313
14781 #define XINE_EVENT_VDR_CHANNELS 314
14782 #define XINE_EVENT_VDR_TIMERS 315
14783 #define XINE_EVENT_VDR_RECORDINGS 316
14784 #define XINE_EVENT_VDR_SETUP 317
14785 #define XINE_EVENT_VDR_COMMANDS 318
14786 #define XINE_EVENT_VDR_BACK 319
14787 #define XINE_EVENT_VDR_USER1 320
14788 #define XINE_EVENT_VDR_USER2 321
14789 #define XINE_EVENT_VDR_USER3 322
14790 #define XINE_EVENT_VDR_USER4 323
14791 #define XINE_EVENT_VDR_USER5 324
14792 #define XINE_EVENT_VDR_USER6 325
14793 #define XINE_EVENT_VDR_USER7 326
14794 #define XINE_EVENT_VDR_USER8 327
14795 #define XINE_EVENT_VDR_USER9 328
14796 #define XINE_EVENT_VDR_VOLPLUS 329
14797 #define XINE_EVENT_VDR_VOLMINUS 330
14798 #define XINE_EVENT_VDR_MUTE 331
14799 #define XINE_EVENT_VDR_AUDIO 332
14800 #define XINE_EVENT_VDR_INFO 333
14801 #define XINE_EVENT_VDR_CHANNELPREVIOUS 334
14803 #define XINE_EVENT_VDR_SETVIDEOWINDOW 350
14804 #define XINE_EVENT_VDR_FRAMESIZECHANGED 351
14805 #define XINE_EVENT_VDR_SELECTAUDIO 352
14806 #define XINE_EVENT_VDR_TRICKSPEEDMODE 353
14807 #define XINE_EVENT_VDR_PLUGINSTARTED 354
14810 #define XINE_EVENT_POST_TVTIME_FILMMODE_CHANGE 400
14817 xine_stream_t *stream;
14830 xine_event_t event;
14833 } xine_input_data_t;
14852 xine_ui_data_t compatibility;
14863 int num_parameters;
14873 } xine_ui_message_data_t;
14886 } xine_format_change_data_t;
14895 } xine_audio_level_data_t;
14901 const char *description;
14903 } xine_progress_data_t;
14904 # 1789 "/usr/include/xine.h" 3 4
14908 } xine_mrl_reference_data_t;
14912 uint32_t start_time, duration;
14913 uint32_t spare[20];
14916 } xine_mrl_reference_data_ext_t;
14926 uint32_t frequency;
14927 uint32_t transmission;
14930 uint32_t framerate_numerator;
14931 uint32_t framerate_denominator;
14932 uint32_t framelines;
14933 uint64_t standard_id;
14934 uint32_t colorstandard;
14935 uint32_t colorsubcarrier;
14942 uint32_t spare[20];
14945 int32_t session_id;
14947 } xine_set_v4l2_data_t;
14967 uint32_t spare[20];
14969 } xine_set_mpeg_data_t;
14974 } xine_spu_button_t;
14975 # 1900 "/usr/include/xine.h" 3 4
14979 int skipped_frames;
14980 int skipped_threshold;
14981 int discarded_frames;
14982 int discarded_threshold;
14983 } xine_dropped_frames_t;
14984 # 1921 "/usr/include/xine.h" 3 4
14985 #define XINE_MSG_NO_ERROR 0
14986 #define XINE_MSG_GENERAL_WARNING 1
14987 #define XINE_MSG_UNKNOWN_HOST 2
14988 #define XINE_MSG_UNKNOWN_DEVICE 3
14989 #define XINE_MSG_NETWORK_UNREACHABLE 4
14990 #define XINE_MSG_CONNECTION_REFUSED 5
14991 #define XINE_MSG_FILE_NOT_FOUND 6
14992 #define XINE_MSG_READ_ERROR 7
14993 #define XINE_MSG_LIBRARY_LOAD_ERROR 8
14994 #define XINE_MSG_ENCRYPTED_SOURCE 9
14995 #define XINE_MSG_SECURITY 10
14996 #define XINE_MSG_AUDIO_OUT_UNAVAILABLE 11
14997 #define XINE_MSG_PERMISSION_ERROR 12
14998 #define XINE_MSG_FILE_EMPTY 13
15001 typedef struct xine_event_queue_s xine_event_queue_t;
15002 # 1946 "/usr/include/xine.h" 3 4
15003 xine_event_queue_t *xine_event_new_queue (xine_stream_t *stream) ;
15004 void xine_event_dispose_queue (xine_event_queue_t *queue) ;
15012 xine_event_t *xine_event_get (xine_event_queue_t *queue) ;
15013 xine_event_t *xine_event_wait (xine_event_queue_t *queue) ;
15014 void xine_event_free (xine_event_t *event) ;
15015 # 1967 "/usr/include/xine.h" 3 4
15016 typedef void (*xine_event_listener_cb_t) (void *user_data,
15017 const xine_event_t *event);
15018 void xine_event_create_listener_thread (xine_event_queue_t *queue,
15019 xine_event_listener_cb_t callback,
15028 void xine_event_send (xine_stream_t *stream, const xine_event_t *event) ;
15035 #define XINE_TEXT_PALETTE_SIZE 11
15037 #define XINE_OSD_TEXT1 (0 * XINE_TEXT_PALETTE_SIZE)
15038 #define XINE_OSD_TEXT2 (1 * XINE_TEXT_PALETTE_SIZE)
15039 #define XINE_OSD_TEXT3 (2 * XINE_TEXT_PALETTE_SIZE)
15040 #define XINE_OSD_TEXT4 (3 * XINE_TEXT_PALETTE_SIZE)
15041 #define XINE_OSD_TEXT5 (4 * XINE_TEXT_PALETTE_SIZE)
15042 #define XINE_OSD_TEXT6 (5 * XINE_TEXT_PALETTE_SIZE)
15043 #define XINE_OSD_TEXT7 (6 * XINE_TEXT_PALETTE_SIZE)
15044 #define XINE_OSD_TEXT8 (7 * XINE_TEXT_PALETTE_SIZE)
15045 #define XINE_OSD_TEXT9 (8 * XINE_TEXT_PALETTE_SIZE)
15046 #define XINE_OSD_TEXT10 (9 * XINE_TEXT_PALETTE_SIZE)
15049 #define XINE_TEXTPALETTE_WHITE_BLACK_TRANSPARENT 0
15051 #define XINE_TEXTPALETTE_WHITE_NONE_TRANSPARENT 1
15053 #define XINE_TEXTPALETTE_WHITE_NONE_TRANSLUCID 2
15055 #define XINE_TEXTPALETTE_YELLOW_BLACK_TRANSPARENT 3
15057 #define XINE_OSD_CAP_FREETYPE2 0x0001
15058 #define XINE_OSD_CAP_UNSCALED 0x0002
15060 typedef struct xine_osd_s xine_osd_t;
15062 xine_osd_t *xine_osd_new (xine_stream_t *self, int x, int y,
15063 int width, int height) ;
15064 uint32_t xine_osd_get_capabilities (xine_osd_t *self) ;
15065 void xine_osd_draw_point (xine_osd_t *self, int x, int y, int color) ;
15067 void xine_osd_draw_line (xine_osd_t *self, int x1, int y1,
15068 int x2, int y2, int color) ;
15069 void xine_osd_draw_rect (xine_osd_t *self, int x1, int y1,
15071 int color, int filled ) ;
15073 void xine_osd_draw_text (xine_osd_t *self, int x1, int y1,
15074 const char *text, int color_base) ;
15075 void xine_osd_draw_bitmap (xine_osd_t *self, uint8_t *bitmap,
15076 int x1, int y1, int width, int height,
15077 uint8_t *palette_map) ;
15080 void xine_osd_get_text_size (xine_osd_t *self, const char *text,
15081 int *width, int *height) ;
15084 int xine_osd_set_font (xine_osd_t *self, const char *fontname,
15091 void xine_osd_set_encoding(xine_osd_t *self, const char *encoding) ;
15093 void xine_osd_set_position (xine_osd_t *self, int x, int y) ;
15094 void xine_osd_show (xine_osd_t *self, int64_t vpts) ;
15095 void xine_osd_show_unscaled (xine_osd_t *self, int64_t vpts) ;
15096 void xine_osd_hide (xine_osd_t *self, int64_t vpts) ;
15098 void xine_osd_clear (xine_osd_t *self) ;
15099 # 2065 "/usr/include/xine.h" 3 4
15100 void xine_osd_set_text_palette (xine_osd_t *self,
15101 int palette_number,
15104 void xine_osd_get_palette (xine_osd_t *self, uint32_t *color,
15106 void xine_osd_set_palette (xine_osd_t *self,
15107 const uint32_t *const color,
15108 const uint8_t *const trans ) ;
15114 void xine_osd_free (xine_osd_t *self) ;
15115 # 2091 "/usr/include/xine.h" 3 4
15117 XINE_TVSYSTEM_PAL = 0,
15122 int xine_tvmode_init (xine_t *self) ;
15125 int xine_tvmode_use(xine_t *self, int use_tvmode) ;
15128 void xine_tvmode_set_tvsystem(xine_t *self, xine_tvsystem system) ;
15129 # 2112 "/usr/include/xine.h" 3 4
15130 int xine_tvmode_switch (xine_t *self, int type, int width, int height, double fps) ;
15135 void xine_tvmode_size (xine_t *self, int *width, int *height,
15136 double *pixelratio, double *fps) ;
15139 void xine_tvmode_exit (xine_t *self) ;
15140 # 45 "video_out_dfb.c" 2
15141 # 1 "/usr/include/xine/xine_internal.h" 1 3 4
15142 # 25 "/usr/include/xine/xine_internal.h" 3 4
15143 #define HAVE_XINE_INTERNAL_H
15144 # 56 "/usr/include/xine/xine_internal.h" 3 4
15145 # 1 "/usr/include/xine/refcounter.h" 1 3 4
15146 # 24 "/usr/include/xine/refcounter.h" 3 4
15147 #define HAVE_REFCOUNTER_H
15150 # 1 "../../../config.h" 1 3 4
15151 # 14 "../../../config.h" 3 4
15152 #define DIRECTFB_VERSION "0.9.25"
15155 #define HAVE_DLFCN_H 1
15161 #define HAVE_INTTYPES_H 1
15164 #define HAVE_MEMORY_H 1
15167 #define HAVE_STDINT_H 1
15170 #define HAVE_STDLIB_H 1
15173 #define HAVE_STRINGS_H 1
15176 #define HAVE_STRING_H 1
15179 #define HAVE_SYS_STAT_H 1
15182 #define HAVE_SYS_TYPES_H 1
15185 #define HAVE_UNISTD_H 1
15188 #define PACKAGE_BUGREPORT ""
15191 #define PACKAGE_NAME ""
15194 #define PACKAGE_STRING ""
15197 #define PACKAGE_TARNAME ""
15200 #define PACKAGE_VERSION ""
15203 #define STDC_HEADERS 1
15207 # 28 "/usr/include/xine/refcounter.h" 2 3 4
15210 # 1 "/usr/include/pthread.h" 1 3 4
15211 # 31 "/usr/include/xine/refcounter.h" 2 3 4
15214 pthread_mutex_t lock;
15217 void (*destructor)(void *);
15220 typedef void (*refcounter_destructor)(void*);
15222 refcounter_t* _x_new_refcounter(void *object, refcounter_destructor destructor) ;
15224 int _x_refcounter_inc(refcounter_t *refcounter) ;
15226 int _x_refcounter_dec(refcounter_t *refcounter) ;
15228 void _x_refcounter_dispose(refcounter_t *refcounter) ;
15229 # 57 "/usr/include/xine/xine_internal.h" 2 3 4
15230 # 1 "/usr/include/xine/input_plugin.h" 1 3 4
15231 # 24 "/usr/include/xine/input_plugin.h" 3 4
15232 #define HAVE_INPUT_PLUGIN_H
15234 # 1 "/usr/include/sys/types.h" 1 3 4
15235 # 27 "/usr/include/xine/input_plugin.h" 2 3 4
15236 # 35 "/usr/include/xine/input_plugin.h" 3 4
15237 # 1 "/usr/include/xine/xineutils.h" 1 3 4
15238 # 24 "/usr/include/xine/xineutils.h" 3 4
15239 #define XINEUTILS_H
15246 # 1 "../../../config.h" 1 3 4
15247 # 14 "../../../config.h" 3 4
15248 #define DIRECTFB_VERSION "0.9.25"
15251 #define HAVE_DLFCN_H 1
15257 #define HAVE_INTTYPES_H 1
15260 #define HAVE_MEMORY_H 1
15263 #define HAVE_STDINT_H 1
15266 #define HAVE_STDLIB_H 1
15269 #define HAVE_STRINGS_H 1
15272 #define HAVE_STRING_H 1
15275 #define HAVE_SYS_STAT_H 1
15278 #define HAVE_SYS_TYPES_H 1
15281 #define HAVE_UNISTD_H 1
15284 #define PACKAGE_BUGREPORT ""
15287 #define PACKAGE_NAME ""
15290 #define PACKAGE_STRING ""
15293 #define PACKAGE_TARNAME ""
15296 #define PACKAGE_VERSION ""
15299 #define STDC_HEADERS 1
15303 # 32 "/usr/include/xine/xineutils.h" 2 3 4
15306 # 1 "/usr/include/stdlib.h" 1 3 4
15307 # 35 "/usr/include/xine/xineutils.h" 2 3 4
15308 # 1 "/usr/include/string.h" 1 3 4
15309 # 36 "/usr/include/xine/xineutils.h" 2 3 4
15311 # 1 "/usr/include/pthread.h" 1 3 4
15312 # 38 "/usr/include/xine/xineutils.h" 2 3 4
15313 # 53 "/usr/include/xine/xineutils.h" 3 4
15314 # 1 "/usr/include/sys/time.h" 1 3 4
15315 # 54 "/usr/include/xine/xineutils.h" 2 3 4
15319 # 1 "/usr/include/xine/compat.h" 1 3 4
15320 # 25 "/usr/include/xine/compat.h" 3 4
15321 #define XINE_COMPAT_H
15323 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/limits.h" 1 3 4
15330 #define _GCC_LIMITS_H_
15334 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/syslimits.h" 1 3 4
15340 #define _GCC_NEXT_LIMITS_H
15341 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/limits.h" 1 3 4
15342 # 122 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/limits.h" 3 4
15343 # 1 "/usr/include/limits.h" 1 3 4
15351 # 1 "/usr/include/gentoo-multilib/amd64/limits.h" 1 3 4
15352 # 25 "/usr/include/gentoo-multilib/amd64/limits.h" 3 4
15353 #define _LIBC_LIMITS_H_ 1
15355 # 1 "/usr/include/features.h" 1 3 4
15356 # 28 "/usr/include/gentoo-multilib/amd64/limits.h" 2 3 4
15362 #define MB_LEN_MAX 16
15363 # 133 "/usr/include/gentoo-multilib/amd64/limits.h" 3 4
15364 #define LLONG_MIN (-LLONG_MAX-1)
15367 #define LLONG_MAX __LONG_LONG_MAX__
15370 #define ULLONG_MAX (LLONG_MAX * 2ULL + 1)
15376 # 1 "/usr/include/bits/posix1_lim.h" 1 3 4
15384 # 1 "/usr/include/gentoo-multilib/amd64/bits/posix1_lim.h" 1 3 4
15385 # 26 "/usr/include/gentoo-multilib/amd64/bits/posix1_lim.h" 3 4
15386 #define _BITS_POSIX1_LIM_H 1
15392 #define _POSIX_AIO_LISTIO_MAX 2
15395 #define _POSIX_AIO_MAX 1
15398 #define _POSIX_ARG_MAX 4096
15402 #define _POSIX_CHILD_MAX 25
15408 #define _POSIX_DELAYTIMER_MAX 32
15412 #define _POSIX_HOST_NAME_MAX 255
15415 #define _POSIX_LINK_MAX 8
15418 #define _POSIX_LOGIN_NAME_MAX 9
15421 #define _POSIX_MAX_CANON 255
15425 #define _POSIX_MAX_INPUT 255
15428 #define _POSIX_MQ_OPEN_MAX 8
15431 #define _POSIX_MQ_PRIO_MAX 32
15434 #define _POSIX_NAME_MAX 14
15438 #define _POSIX_NGROUPS_MAX 8
15445 #define _POSIX_OPEN_MAX 20
15452 #define _POSIX_FD_SETSIZE _POSIX_OPEN_MAX
15455 #define _POSIX_PATH_MAX 256
15458 #define _POSIX_PIPE_BUF 512
15462 #define _POSIX_RE_DUP_MAX 255
15465 #define _POSIX_RTSIG_MAX 8
15468 #define _POSIX_SEM_NSEMS_MAX 256
15471 #define _POSIX_SEM_VALUE_MAX 32767
15474 #define _POSIX_SIGQUEUE_MAX 32
15477 #define _POSIX_SSIZE_MAX 32767
15480 #define _POSIX_STREAM_MAX 8
15483 #define _POSIX_SYMLINK_MAX 255
15487 #define _POSIX_SYMLOOP_MAX 8
15490 #define _POSIX_TIMER_MAX 32
15493 #define _POSIX_TTY_NAME_MAX 9
15496 #define _POSIX_TZNAME_MAX 6
15499 #define _POSIX_QLIMIT 1
15503 #define _POSIX_HIWAT _POSIX_PIPE_BUF
15506 #define _POSIX_UIO_MAXIOV 16
15509 #define _POSIX_CLOCKRES_MIN 20000000
15513 # 1 "/usr/include/bits/local_lim.h" 1 3 4
15521 # 1 "/usr/include/gentoo-multilib/amd64/bits/local_lim.h" 1 3 4
15522 # 26 "/usr/include/gentoo-multilib/amd64/bits/local_lim.h" 3 4
15523 #define __undef_NR_OPEN
15526 #define __undef_LINK_MAX
15529 #define __undef_OPEN_MAX
15533 # 1 "/usr/include/linux/limits.h" 1 3 4
15535 #define _LINUX_LIMITS_H
15537 #define NR_OPEN 1024
15539 #define NGROUPS_MAX 65536
15540 #define ARG_MAX 131072
15541 #define CHILD_MAX 999
15542 #define OPEN_MAX 256
15543 #define LINK_MAX 127
15544 #define MAX_CANON 255
15545 #define MAX_INPUT 255
15546 #define NAME_MAX 255
15547 #define PATH_MAX 4096
15548 #define PIPE_BUF 4096
15549 #define XATTR_NAME_MAX 255
15550 #define XATTR_SIZE_MAX 65536
15551 #define XATTR_LIST_MAX 65536
15553 #define RTSIG_MAX 32
15554 # 37 "/usr/include/gentoo-multilib/amd64/bits/local_lim.h" 2 3 4
15559 #undef __undef_NR_OPEN
15564 #undef __undef_LINK_MAX
15569 #undef __undef_OPEN_MAX
15573 #define _POSIX_THREAD_KEYS_MAX 128
15575 #define PTHREAD_KEYS_MAX 1024
15578 #define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4
15580 #define PTHREAD_DESTRUCTOR_ITERATIONS _POSIX_THREAD_DESTRUCTOR_ITERATIONS
15583 #define _POSIX_THREAD_THREADS_MAX 64
15585 #undef PTHREAD_THREADS_MAX
15589 #define AIO_PRIO_DELTA_MAX 20
15592 #define PTHREAD_STACK_MIN 16384
15595 #define DELAYTIMER_MAX 2147483647
15598 #define TTY_NAME_MAX 32
15601 #define LOGIN_NAME_MAX 256
15604 #define HOST_NAME_MAX 64
15607 #define MQ_PRIO_MAX 32768
15608 # 9 "/usr/include/bits/local_lim.h" 2 3 4
15609 # 154 "/usr/include/gentoo-multilib/amd64/bits/posix1_lim.h" 2 3 4
15613 #define SSIZE_MAX LONG_MAX
15614 # 9 "/usr/include/bits/posix1_lim.h" 2 3 4
15615 # 146 "/usr/include/gentoo-multilib/amd64/limits.h" 2 3 4
15619 # 1 "/usr/include/bits/posix2_lim.h" 1 3 4
15627 # 1 "/usr/include/gentoo-multilib/amd64/bits/posix2_lim.h" 1 3 4
15628 # 24 "/usr/include/gentoo-multilib/amd64/bits/posix2_lim.h" 3 4
15629 #define _BITS_POSIX2_LIM_H 1
15633 #define _POSIX2_BC_BASE_MAX 99
15636 #define _POSIX2_BC_DIM_MAX 2048
15639 #define _POSIX2_BC_SCALE_MAX 99
15642 #define _POSIX2_BC_STRING_MAX 1000
15646 #define _POSIX2_COLL_WEIGHTS_MAX 2
15650 #define _POSIX2_EXPR_NEST_MAX 32
15653 #define _POSIX2_LINE_MAX 2048
15657 #define _POSIX2_RE_DUP_MAX 255
15661 #define _POSIX2_CHARCLASS_NAME_MAX 14
15669 #define BC_BASE_MAX _POSIX2_BC_BASE_MAX
15672 #define BC_DIM_MAX _POSIX2_BC_DIM_MAX
15675 #define BC_SCALE_MAX _POSIX2_BC_SCALE_MAX
15678 #define BC_STRING_MAX _POSIX2_BC_STRING_MAX
15681 #define COLL_WEIGHTS_MAX 255
15684 #define EXPR_NEST_MAX _POSIX2_EXPR_NEST_MAX
15687 #define LINE_MAX _POSIX2_LINE_MAX
15690 #define CHARCLASS_NAME_MAX 2048
15694 #define RE_DUP_MAX (0x7fff)
15695 # 9 "/usr/include/bits/posix2_lim.h" 2 3 4
15696 # 150 "/usr/include/gentoo-multilib/amd64/limits.h" 2 3 4
15700 # 1 "/usr/include/bits/xopen_lim.h" 1 3 4
15708 # 1 "/usr/include/gentoo-multilib/amd64/bits/xopen_lim.h" 1 3 4
15709 # 31 "/usr/include/gentoo-multilib/amd64/bits/xopen_lim.h" 3 4
15710 #define _XOPEN_LIM_H 1
15712 #define __need_IOV_MAX
15713 # 1 "/usr/include/bits/stdio_lim.h" 1 3 4
15721 # 1 "/usr/include/gentoo-multilib/amd64/bits/stdio_lim.h" 1 3 4
15722 # 24 "/usr/include/gentoo-multilib/amd64/bits/stdio_lim.h" 3 4
15723 #define L_tmpnam 20
15724 #define TMP_MAX 238328
15725 #define FILENAME_MAX 4096
15728 #define L_ctermid 9
15729 #define L_cuserid 9
15735 #define FOPEN_MAX 16
15739 #define IOV_MAX 1024
15740 # 9 "/usr/include/bits/stdio_lim.h" 2 3 4
15741 # 35 "/usr/include/gentoo-multilib/amd64/bits/xopen_lim.h" 2 3 4
15742 # 66 "/usr/include/gentoo-multilib/amd64/bits/xopen_lim.h" 3 4
15743 #define _XOPEN_IOV_MAX _POSIX_UIO_MAXIOV
15748 #define NL_ARGMAX _POSIX_ARG_MAX
15751 #define NL_LANGMAX _POSIX2_LINE_MAX
15754 #define NL_MSGMAX INT_MAX
15758 #define NL_NMAX INT_MAX
15761 #define NL_SETMAX INT_MAX
15764 #define NL_TEXTMAX INT_MAX
15768 # 110 "/usr/include/gentoo-multilib/amd64/bits/xopen_lim.h" 3 4
15769 #define WORD_BIT 32
15770 # 133 "/usr/include/gentoo-multilib/amd64/bits/xopen_lim.h" 3 4
15771 #define LONG_BIT 64
15772 # 9 "/usr/include/bits/xopen_lim.h" 2 3 4
15773 # 154 "/usr/include/gentoo-multilib/amd64/limits.h" 2 3 4
15774 # 9 "/usr/include/limits.h" 2 3 4
15775 # 123 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/limits.h" 2 3 4
15776 # 8 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/syslimits.h" 2 3 4
15777 #undef _GCC_NEXT_LIMITS_H
15778 # 12 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/limits.h" 2 3 4
15781 #define _LIMITS_H___
15785 #define CHAR_BIT __CHAR_BIT__
15794 #define SCHAR_MIN (-SCHAR_MAX - 1)
15796 #define SCHAR_MAX __SCHAR_MAX__
15803 #define UCHAR_MAX (SCHAR_MAX * 2 + 1)
15804 # 50 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/limits.h" 3 4
15806 #define CHAR_MIN SCHAR_MIN
15808 #define CHAR_MAX SCHAR_MAX
15813 #define SHRT_MIN (-SHRT_MAX - 1)
15815 #define SHRT_MAX __SHRT_MAX__
15822 #define USHRT_MAX (SHRT_MAX * 2 + 1)
15827 #define INT_MIN (-INT_MAX - 1)
15829 #define INT_MAX __INT_MAX__
15833 #define UINT_MAX (INT_MAX * 2U + 1U)
15838 #define LONG_MIN (-LONG_MAX - 1L)
15840 #define LONG_MAX __LONG_MAX__
15844 #define ULONG_MAX (LONG_MAX * 2UL + 1UL)
15845 # 105 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/limits.h" 3 4
15846 #undef LONG_LONG_MIN
15847 #define LONG_LONG_MIN (-LONG_LONG_MAX - 1LL)
15848 #undef LONG_LONG_MAX
15849 #define LONG_LONG_MAX __LONG_LONG_MAX__
15852 #undef ULONG_LONG_MAX
15853 #define ULONG_LONG_MAX (LONG_LONG_MAX * 2ULL + 1ULL)
15854 # 28 "/usr/include/xine/compat.h" 2 3 4
15855 # 36 "/usr/include/xine/compat.h" 3 4
15856 #define __XINE_FUNCTION__ __FUNCTION__
15864 #define XINE_NAME_MAX NAME_MAX
15870 #define XINE_PATH_MAX PATH_MAX
15871 # 58 "/usr/include/xine/xineutils.h" 2 3 4
15872 # 1 "/usr/include/xine/xmlparser.h" 1 3 4
15873 # 24 "/usr/include/xine/xmlparser.h" 3 4
15874 #define XML_PARSER_H
15877 #define XML_PARSER_CASE_INSENSITIVE 0
15878 #define XML_PARSER_CASE_SENSITIVE 1
15881 #define XML_PARSER_OK 0
15882 #define XML_PARSER_ERROR 1
15886 typedef struct xml_property_s {
15889 struct xml_property_s *next;
15893 typedef struct xml_node_s {
15896 struct xml_property_s *props;
15897 struct xml_node_s *child;
15898 struct xml_node_s *next;
15901 void xml_parser_init(const char * buf, int size, int mode) ;
15903 int xml_parser_build_tree(xml_node_t **root_node) ;
15905 void xml_parser_free_tree(xml_node_t *root_node) ;
15907 char *xml_parser_get_property (const xml_node_t *node, const char *name) ;
15908 int xml_parser_get_property_int (const xml_node_t *node, const char *name,
15910 int xml_parser_get_property_bool (const xml_node_t *node, const char *name,
15919 XML_ESCAPE_NO_QUOTE,
15920 XML_ESCAPE_SINGLE_QUOTE,
15921 XML_ESCAPE_DOUBLE_QUOTE
15922 } xml_escape_quote_t;
15923 char *xml_escape_string (const char *s, xml_escape_quote_t quote_type) ;
15929 void xml_parser_dump_tree (const xml_node_t *node) ;
15930 # 59 "/usr/include/xine/xineutils.h" 2 3 4
15931 # 1 "/usr/include/xine/xine_buffer.h" 1 3 4
15932 # 53 "/usr/include/xine/xine_buffer.h" 3 4
15933 #define HAVE_XINE_BUFFER_H
15934 # 67 "/usr/include/xine/xine_buffer.h" 3 4
15935 void *xine_buffer_init(int chunk_size) ;
15941 #define xine_buffer_free(buf) buf=_xine_buffer_free(buf)
15942 void *_xine_buffer_free(void *buf) ;
15947 void *xine_buffer_dup(const void *buf) ;
15952 #define xine_buffer_copyin(buf,i,data,len) buf=_xine_buffer_copyin(buf,i,data,len)
15954 void *_xine_buffer_copyin(void *buf, int index, const void *data, int len) ;
15961 void xine_buffer_copyout(const void *buf, int index, void *data, int len) ;
15966 #define xine_buffer_set(buf,i,b,len) buf=_xine_buffer_set(buf,i,b,len)
15968 void *_xine_buffer_set(void *buf, int index, uint8_t b, int len) ;
15974 #define xine_buffer_strcat(buf,data) buf=_xine_buffer_strcat(buf,data)
15976 void *_xine_buffer_strcat(void *buf, const char *data) ;
15981 #define xine_buffer_strcpy(buf,index,data) buf=_xine_buffer_strcpy(buf,index,data)
15983 void *_xine_buffer_strcpy(void *buf, int index, const char *data) ;
15990 char *xine_buffer_strchr(const void *buf, int ch) ;
15995 int xine_buffer_get_size(const void *buf) ;
16002 #define xine_buffer_ensure_size(buf,data) buf=_xine_buffer_ensure_size(buf,data)
16004 void *_xine_buffer_ensure_size(void *buf, int size) ;
16005 # 60 "/usr/include/xine/xineutils.h" 2 3 4
16006 # 1 "/usr/include/xine/configfile.h" 1 3 4
16007 # 27 "/usr/include/xine/configfile.h" 3 4
16008 #define HAVE_CONFIGFILE_H
16014 # 1 "/usr/include/pthread.h" 1 3 4
16015 # 34 "/usr/include/xine/configfile.h" 2 3 4
16023 #define CONFIG_FILE_VERSION 2
16029 #define XINE_CONFIG_SECURITY 30
16032 typedef struct cfg_entry_s cfg_entry_t;
16033 typedef struct config_values_s config_values_t;
16035 struct cfg_entry_s {
16037 config_values_t *config;
16043 char *unknown_value;
16059 char **enum_values;
16069 xine_config_cb_t callback;
16070 void *callback_data;
16073 struct config_values_s {
16074 # 102 "/usr/include/xine/configfile.h" 3 4
16075 char* (*register_string) (config_values_t *self,
16077 const char *def_value,
16078 const char *description,
16081 xine_config_cb_t changed_cb,
16084 char* (*register_filename) (config_values_t *self,
16086 const char *def_value,
16088 const char *description,
16091 xine_config_cb_t changed_cb,
16094 int (*register_range) (config_values_t *self,
16098 const char *description,
16101 xine_config_cb_t changed_cb,
16104 int (*register_enum) (config_values_t *self,
16108 const char *description,
16111 xine_config_cb_t changed_cb,
16114 int (*register_num) (config_values_t *self,
16117 const char *description,
16120 xine_config_cb_t changed_cb,
16123 int (*register_bool) (config_values_t *self,
16126 const char *description,
16129 xine_config_cb_t changed_cb,
16133 void (*update_num) (config_values_t *self, const char *key, int value);
16136 void (*update_string) (config_values_t *self, const char *key, const char *value);
16139 int (*parse_enum) (const char *str, char **values);
16140 # 175 "/usr/include/xine/configfile.h" 3 4
16141 cfg_entry_t* (*lookup_entry) (config_values_t *self, const char *key);
16146 void (*unregister_callback) (config_values_t *self, const char *key);
16151 void (*dispose) (config_values_t *self);
16156 cfg_entry_t *first, *last, *cur;
16161 pthread_mutex_t config_lock;
16166 int current_version;
16172 config_values_t *_x_config_init (void) ;
16178 int _x_config_change_opt(config_values_t *config, const char *opt) ;
16179 # 61 "/usr/include/xine/xineutils.h" 2 3 4
16180 # 1 "/usr/include/xine/list.h" 1 3 4
16181 # 44 "/usr/include/xine/list.h" 3 4
16182 #define XINE_LIST_H
16185 typedef struct xine_list_s xine_list_t;
16188 typedef void* xine_list_iterator_t;
16191 xine_list_t *xine_list_new(void) ;
16194 void xine_list_delete(xine_list_t *list) ;
16197 unsigned int xine_list_size(xine_list_t *list) ;
16200 unsigned int xine_list_empty(xine_list_t *list) ;
16203 void xine_list_push_front(xine_list_t *list, void *value) ;
16206 void xine_list_push_back(xine_list_t *list, void *value) ;
16209 void xine_list_clear(xine_list_t *list) ;
16215 xine_list_iterator_t xine_list_insert(xine_list_t *list,
16216 xine_list_iterator_t position,
16220 void xine_list_remove(xine_list_t *list, xine_list_iterator_t position) ;
16223 xine_list_iterator_t xine_list_front(xine_list_t *list) ;
16226 xine_list_iterator_t xine_list_back(xine_list_t *list) ;
16230 xine_list_iterator_t xine_list_find(xine_list_t *list, void *value) ;
16234 xine_list_iterator_t xine_list_next(xine_list_t *list, xine_list_iterator_t ite) ;
16238 xine_list_iterator_t xine_list_prev(xine_list_t *list, xine_list_iterator_t ite) ;
16241 void *xine_list_get_value(xine_list_t *list, xine_list_iterator_t ite) ;
16242 # 62 "/usr/include/xine/xineutils.h" 2 3 4
16243 # 1 "/usr/include/xine/array.h" 1 3 4
16244 # 26 "/usr/include/xine/array.h" 3 4
16245 #define XINE_ARRAY_H
16248 typedef struct xine_array_s xine_array_t;
16251 xine_array_t *xine_array_new(size_t initial_size) ;
16254 void xine_array_delete(xine_array_t *array) ;
16257 size_t xine_array_size(xine_array_t *array) ;
16260 void xine_array_clear(xine_array_t *array) ;
16263 void xine_array_add(xine_array_t *array, void *value) ;
16266 void xine_array_insert(xine_array_t *array, unsigned int position, void *value) ;
16269 void xine_array_remove(xine_array_t *array, unsigned int position) ;
16272 void *xine_array_get(xine_array_t *array, unsigned int position) ;
16275 void xine_array_set(xine_array_t *array, unsigned int position, void *value) ;
16276 # 63 "/usr/include/xine/xineutils.h" 2 3 4
16277 # 1 "/usr/include/xine/sorted_array.h" 1 3 4
16278 # 58 "/usr/include/xine/sorted_array.h" 3 4
16279 #define XINE_SORTED_ARRAY_H
16281 # 1 "/usr/include/xine/array.h" 1 3 4
16282 # 61 "/usr/include/xine/sorted_array.h" 2 3 4
16285 typedef struct xine_sarray_s xine_sarray_t;
16288 typedef int (*xine_sarray_comparator_t)(void*, void*);
16291 xine_sarray_t *xine_sarray_new(size_t initial_size, xine_sarray_comparator_t comparator) ;
16294 void xine_sarray_delete(xine_sarray_t *sarray) ;
16297 size_t xine_sarray_size(const xine_sarray_t *sarray) ;
16300 void xine_sarray_clear(xine_sarray_t *sarray) ;
16304 int xine_sarray_add(xine_sarray_t *sarray, void *value) ;
16307 void xine_sarray_remove(xine_sarray_t *sarray, unsigned int position) ;
16310 void *xine_sarray_get(xine_sarray_t *sarray, unsigned int position) ;
16316 int xine_sarray_binary_search(xine_sarray_t *sarray, void *key) ;
16317 # 64 "/usr/include/xine/xineutils.h" 2 3 4
16320 # 1 "/usr/include/stdio.h" 1 3 4
16321 # 67 "/usr/include/xine/xineutils.h" 2 3 4
16322 # 1 "/usr/include/string.h" 1 3 4
16323 # 68 "/usr/include/xine/xineutils.h" 2 3 4
16324 # 82 "/usr/include/xine/xineutils.h" 3 4
16326 pthread_mutex_t mutex;
16331 int xine_mutex_init (xine_mutex_t *mutex, const pthread_mutexattr_t *mutexattr,
16334 int xine_mutex_lock (xine_mutex_t *mutex, const char *who) ;
16335 int xine_mutex_unlock (xine_mutex_t *mutex, const char *who) ;
16336 int xine_mutex_destroy (xine_mutex_t *mutex) ;
16337 # 106 "/usr/include/xine/xineutils.h" 3 4
16338 #define MM_ACCEL_MLIB 0x00000001
16341 #define MM_ACCEL_X86_MMX 0x80000000
16342 #define MM_ACCEL_X86_3DNOW 0x40000000
16343 #define MM_ACCEL_X86_MMXEXT 0x20000000
16344 #define MM_ACCEL_X86_SSE 0x10000000
16345 #define MM_ACCEL_X86_SSE2 0x08000000
16348 #define MM_ACCEL_PPC_ALTIVEC 0x04000000
16349 #define MM_ACCEL_PPC_CACHE32 0x02000000
16353 #define MM_ACCEL_SPARC_VIS 0x01000000
16354 #define MM_ACCEL_SPARC_VIS2 0x00800000
16357 #define MM_MMX MM_ACCEL_X86_MMX
16358 #define MM_3DNOW MM_ACCEL_X86_3DNOW
16359 #define MM_MMXEXT MM_ACCEL_X86_MMXEXT
16360 #define MM_SSE MM_ACCEL_X86_SSE
16361 #define MM_SSE2 MM_ACCEL_X86_SSE2
16363 uint32_t xine_mm_accel (void) ;
16364 # 603 "/usr/include/xine/xineutils.h" 3 4
16365 extern void *(* xine_fast_memcpy)(void *to, const void *from, size_t len) ;
16369 void xine_probe_fast_memcpy(xine_t *xine) ;
16370 # 617 "/usr/include/xine/xineutils.h" 3 4
16371 void xine_profiler_init (void) ;
16372 int xine_profiler_allocate_slot (const char *label) ;
16373 void xine_profiler_start_count (int id) ;
16374 void xine_profiler_stop_count (int id) ;
16375 void xine_profiler_print_results (void) ;
16376 # 630 "/usr/include/xine/xineutils.h" 3 4
16377 void *xine_xmalloc(size_t size) __attribute__ ((__malloc__)) ;
16385 void *xine_xmalloc_aligned(size_t alignment, size_t size, void **base) ;
16390 const char *xine_get_homedir(void) ;
16391 # 658 "/usr/include/xine/xineutils.h" 3 4
16392 char *xine_chomp (char *str) ;
16397 void xine_usec_sleep(unsigned usec) ;
16405 void xine_strdupa(char *dest, char *src) ;
16406 #define xine_strdupa(d,s) do { (d) = NULL; if((s) != NULL) { (d) = (char *) alloca(strlen((s)) + 1); strcpy((d), (s)); } } while(0)
16407 # 681 "/usr/include/xine/xineutils.h" 3 4
16408 #define xine_strpbrk(S,ACCEPT) strpbrk((S), (ACCEPT))
16409 #define xine_strsep(STRINGP,DELIM) strsep((STRINGP), (DELIM))
16410 #define xine_setenv(NAME,VAL,XX) setenv((NAME), (VAL), (XX))
16411 # 693 "/usr/include/xine/xineutils.h" 3 4
16412 typedef struct yuv_planes_s {
16417 unsigned int row_width;
16418 unsigned int row_count;
16422 void init_yuv_conversion(void) ;
16423 void init_yuv_planes(yuv_planes_t *yuv_planes, int width, int height) ;
16424 void free_yuv_planes(yuv_planes_t *yuv_planes) ;
16426 extern void (*yuv444_to_yuy2)
16427 (const yuv_planes_t *yuv_planes, unsigned char *yuy2_map, int pitch) ;
16428 extern void (*yuv9_to_yv12)
16429 (const unsigned char *y_src, int y_src_pitch, unsigned char *y_dest, int y_dest_pitch,
16430 const unsigned char *u_src, int u_src_pitch, unsigned char *u_dest, int u_dest_pitch,
16431 const unsigned char *v_src, int v_src_pitch, unsigned char *v_dest, int v_dest_pitch,
16432 int width, int height) ;
16433 extern void (*yuv411_to_yv12)
16434 (const unsigned char *y_src, int y_src_pitch, unsigned char *y_dest, int y_dest_pitch,
16435 const unsigned char *u_src, int u_src_pitch, unsigned char *u_dest, int u_dest_pitch,
16436 const unsigned char *v_src, int v_src_pitch, unsigned char *v_dest, int v_dest_pitch,
16437 int width, int height) ;
16438 extern void (*yv12_to_yuy2)
16439 (const unsigned char *y_src, int y_src_pitch,
16440 const unsigned char *u_src, int u_src_pitch,
16441 const unsigned char *v_src, int v_src_pitch,
16442 unsigned char *yuy2_map, int yuy2_pitch,
16443 int width, int height, int progressive) ;
16444 extern void (*yuy2_to_yv12)
16445 (const unsigned char *yuy2_map, int yuy2_pitch,
16446 unsigned char *y_dst, int y_dst_pitch,
16447 unsigned char *u_dst, int u_dst_pitch,
16448 unsigned char *v_dst, int v_dst_pitch,
16449 int width, int height) ;
16451 #define SCALEFACTOR 65536
16452 #define CENTERSAMPLE 128
16454 #define COMPUTE_Y(r,g,b) (unsigned char) ((y_r_table[r] + y_g_table[g] + y_b_table[b]) / SCALEFACTOR)
16457 #define COMPUTE_U(r,g,b) (unsigned char) ((u_r_table[r] + u_g_table[g] + u_b_table[b]) / SCALEFACTOR + CENTERSAMPLE)
16460 #define COMPUTE_V(r,g,b) (unsigned char) ((v_r_table[r] + v_g_table[g] + v_b_table[b]) / SCALEFACTOR + CENTERSAMPLE)
16464 #define UNPACK_BGR15(packed_pixel,r,g,b) b = (packed_pixel & 0x7C00) >> 7; g = (packed_pixel & 0x03E0) >> 2; r = (packed_pixel & 0x001F) << 3;
16469 #define UNPACK_BGR16(packed_pixel,r,g,b) b = (packed_pixel & 0xF800) >> 8; g = (packed_pixel & 0x07E0) >> 3; r = (packed_pixel & 0x001F) << 3;
16474 #define UNPACK_RGB15(packed_pixel,r,g,b) r = (packed_pixel & 0x7C00) >> 7; g = (packed_pixel & 0x03E0) >> 2; b = (packed_pixel & 0x001F) << 3;
16479 #define UNPACK_RGB16(packed_pixel,r,g,b) r = (packed_pixel & 0xF800) >> 8; g = (packed_pixel & 0x07E0) >> 3; b = (packed_pixel & 0x001F) << 3;
16484 extern int y_r_table[256] ;
16485 extern int y_g_table[256] ;
16486 extern int y_b_table[256] ;
16488 extern int u_r_table[256] ;
16489 extern int u_g_table[256] ;
16490 extern int u_b_table[256] ;
16492 extern int v_r_table[256] ;
16493 extern int v_g_table[256] ;
16494 extern int v_b_table[256] ;
16497 extern void yv12_to_yv12
16498 (const unsigned char *y_src, int y_src_pitch, unsigned char *y_dst, int y_dst_pitch,
16499 const unsigned char *u_src, int u_src_pitch, unsigned char *u_dst, int u_dst_pitch,
16500 const unsigned char *v_src, int v_src_pitch, unsigned char *v_dst, int v_dst_pitch,
16501 int width, int height) ;
16502 extern void yuy2_to_yuy2
16503 (const unsigned char *src, int src_pitch,
16504 unsigned char *dst, int dst_pitch,
16505 int width, int height) ;
16508 void xine_hexdump (const char *buf, int length) ;
16509 # 799 "/usr/include/xine/xineutils.h" 3 4
16510 #define EXPECT_TRUE(x) __builtin_expect((x),1)
16511 #define EXPECT_FALSE(x) __builtin_expect((x),0)
16512 # 811 "/usr/include/xine/xineutils.h" 3 4
16513 #define _x_assert(exp) do { if (!(exp)) { fprintf(stderr, "assert: %s:%d: %s: Assertion `%s' failed.\n", __FILE__, __LINE__, __XINE_FUNCTION__, #exp); abort(); } } while(0)
16514 # 821 "/usr/include/xine/xineutils.h" 3 4
16515 #define _x_abort() do { fprintf(stderr, "abort: %s:%d: %s: Aborting.\n", __FILE__, __LINE__, __XINE_FUNCTION__); abort(); } while(0)
16516 # 835 "/usr/include/xine/xineutils.h" 3 4
16517 #define LOG_MODULE_STRING printf("%s: ", LOG_MODULE );
16523 #define LONG_LOG_MODULE_STRING LOG_MODULE_STRING
16524 # 871 "/usr/include/xine/xineutils.h" 3 4
16525 #define lprintf(fmt,args...) do {} while(0)
16526 # 882 "/usr/include/xine/xineutils.h" 3 4
16527 #define llprintf(cat,fmt,args...) do{ if(cat){ LONG_LOG_MODULE_STRING printf( fmt, ##args ); } }while(0)
16528 # 910 "/usr/include/xine/xineutils.h" 3 4
16529 #define xprintf(xine,verbose,fmt,args...) do { if((xine) && (xine)->verbosity >= verbose){ xine_log(xine, XINE_LOG_TRACE, fmt, ##args); } } while(0)
16530 # 958 "/usr/include/xine/xineutils.h" 3 4
16531 #define XINE_PROFILE(function) function
16532 #define XINE_PROFILE_ACCUMULATE(function) function
16538 char *xine_get_system_encoding(void) ;
16543 const char *xine_guess_spu_encoding(void) ;
16549 int xine_monotonic_clock(struct timeval *tv, struct timezone *tz) ;
16550 # 36 "/usr/include/xine/input_plugin.h" 2 3 4
16551 # 1 "/usr/include/xine/buffer.h" 1 3 4
16552 # 35 "/usr/include/xine/buffer.h" 3 4
16553 #define HAVE_BUFFER_H
16560 # 1 "../../../config.h" 1 3 4
16561 # 14 "../../../config.h" 3 4
16562 #define DIRECTFB_VERSION "0.9.25"
16565 #define HAVE_DLFCN_H 1
16571 #define HAVE_INTTYPES_H 1
16574 #define HAVE_MEMORY_H 1
16577 #define HAVE_STDINT_H 1
16580 #define HAVE_STDLIB_H 1
16583 #define HAVE_STRINGS_H 1
16586 #define HAVE_STRING_H 1
16589 #define HAVE_SYS_STAT_H 1
16592 #define HAVE_SYS_TYPES_H 1
16595 #define HAVE_UNISTD_H 1
16598 #define PACKAGE_BUGREPORT ""
16601 #define PACKAGE_NAME ""
16604 #define PACKAGE_STRING ""
16607 #define PACKAGE_TARNAME ""
16610 #define PACKAGE_VERSION ""
16613 #define STDC_HEADERS 1
16617 # 43 "/usr/include/xine/buffer.h" 2 3 4
16620 # 1 "/usr/include/stdio.h" 1 3 4
16621 # 46 "/usr/include/xine/buffer.h" 2 3 4
16622 # 1 "/usr/include/pthread.h" 1 3 4
16623 # 47 "/usr/include/xine/buffer.h" 2 3 4
16624 # 1 "/usr/include/sys/types.h" 1 3 4
16625 # 48 "/usr/include/xine/buffer.h" 2 3 4
16626 # 57 "/usr/include/xine/buffer.h" 3 4
16627 #define BUF_MAX_CALLBACKS 5
16628 # 72 "/usr/include/xine/buffer.h" 3 4
16629 #define BUF_MAJOR_MASK 0xFF000000
16630 #define BUF_DECODER_MASK 0x00FF0000
16634 #define BUF_CONTROL_BASE 0x01000000
16635 #define BUF_CONTROL_START 0x01000000
16636 #define BUF_CONTROL_END 0x01010000
16637 #define BUF_CONTROL_QUIT 0x01020000
16638 #define BUF_CONTROL_DISCONTINUITY 0x01030000
16639 #define BUF_CONTROL_NOP 0x01040000
16640 #define BUF_CONTROL_AUDIO_CHANNEL 0x01050000
16641 #define BUF_CONTROL_SPU_CHANNEL 0x01060000
16642 #define BUF_CONTROL_NEWPTS 0x01070000
16643 #define BUF_CONTROL_RESET_DECODER 0x01080000
16644 #define BUF_CONTROL_HEADERS_DONE 0x01090000
16645 #define BUF_CONTROL_FLUSH_DECODER 0x010a0000
16646 #define BUF_CONTROL_RESET_TRACK_MAP 0x010b0000
16650 #define BUF_VIDEO_BASE 0x02000000
16651 #define BUF_VIDEO_UNKNOWN 0x02ff0000
16652 #define BUF_VIDEO_MPEG 0x02000000
16653 #define BUF_VIDEO_MPEG4 0x02010000
16654 #define BUF_VIDEO_CINEPAK 0x02020000
16655 #define BUF_VIDEO_SORENSON_V1 0x02030000
16656 #define BUF_VIDEO_MSMPEG4_V2 0x02040000
16657 #define BUF_VIDEO_MSMPEG4_V3 0x02050000
16658 #define BUF_VIDEO_MJPEG 0x02060000
16659 #define BUF_VIDEO_IV50 0x02070000
16660 #define BUF_VIDEO_IV41 0x02080000
16661 #define BUF_VIDEO_IV32 0x02090000
16662 #define BUF_VIDEO_IV31 0x020a0000
16663 #define BUF_VIDEO_ATIVCR1 0x020b0000
16664 #define BUF_VIDEO_ATIVCR2 0x020c0000
16665 #define BUF_VIDEO_I263 0x020d0000
16666 #define BUF_VIDEO_RV10 0x020e0000
16667 #define BUF_VIDEO_RGB 0x02100000
16668 #define BUF_VIDEO_YUY2 0x02110000
16669 #define BUF_VIDEO_JPEG 0x02120000
16670 #define BUF_VIDEO_WMV7 0x02130000
16671 #define BUF_VIDEO_WMV8 0x02140000
16672 #define BUF_VIDEO_MSVC 0x02150000
16673 #define BUF_VIDEO_DV 0x02160000
16674 #define BUF_VIDEO_REAL 0x02170000
16675 #define BUF_VIDEO_VP31 0x02180000
16676 #define BUF_VIDEO_H263 0x02190000
16677 #define BUF_VIDEO_3IVX 0x021A0000
16678 #define BUF_VIDEO_CYUV 0x021B0000
16679 #define BUF_VIDEO_DIVX5 0x021C0000
16680 #define BUF_VIDEO_XVID 0x021D0000
16681 #define BUF_VIDEO_SMC 0x021E0000
16682 #define BUF_VIDEO_RPZA 0x021F0000
16683 #define BUF_VIDEO_QTRLE 0x02200000
16684 #define BUF_VIDEO_MSRLE 0x02210000
16685 #define BUF_VIDEO_DUCKTM1 0x02220000
16686 #define BUF_VIDEO_FLI 0x02230000
16687 #define BUF_VIDEO_ROQ 0x02240000
16688 #define BUF_VIDEO_SORENSON_V3 0x02250000
16689 #define BUF_VIDEO_MSMPEG4_V1 0x02260000
16690 #define BUF_VIDEO_MSS1 0x02270000
16691 #define BUF_VIDEO_IDCIN 0x02280000
16692 #define BUF_VIDEO_PGVV 0x02290000
16693 #define BUF_VIDEO_ZYGO 0x022A0000
16694 #define BUF_VIDEO_TSCC 0x022B0000
16695 #define BUF_VIDEO_YVU9 0x022C0000
16696 #define BUF_VIDEO_VQA 0x022D0000
16697 #define BUF_VIDEO_GREY 0x022E0000
16698 #define BUF_VIDEO_XXAN 0x022F0000
16699 #define BUF_VIDEO_WC3 0x02300000
16700 #define BUF_VIDEO_YV12 0x02310000
16701 #define BUF_VIDEO_SEGA 0x02320000
16702 #define BUF_VIDEO_RV20 0x02330000
16703 #define BUF_VIDEO_RV30 0x02340000
16704 #define BUF_VIDEO_MVI2 0x02350000
16705 #define BUF_VIDEO_UCOD 0x02360000
16706 #define BUF_VIDEO_WMV9 0x02370000
16707 #define BUF_VIDEO_INTERPLAY 0x02380000
16708 #define BUF_VIDEO_RV40 0x02390000
16709 #define BUF_VIDEO_PSX_MDEC 0x023A0000
16710 #define BUF_VIDEO_YUV_FRAMES 0x023B0000
16711 #define BUF_VIDEO_HUFFYUV 0x023C0000
16712 #define BUF_VIDEO_IMAGE 0x023D0000
16713 #define BUF_VIDEO_THEORA 0x023E0000
16714 #define BUF_VIDEO_4XM 0x023F0000
16715 #define BUF_VIDEO_I420 0x02400000
16716 #define BUF_VIDEO_VP4 0x02410000
16717 #define BUF_VIDEO_VP5 0x02420000
16718 #define BUF_VIDEO_VP6 0x02430000
16719 #define BUF_VIDEO_VMD 0x02440000
16720 #define BUF_VIDEO_MSZH 0x02450000
16721 #define BUF_VIDEO_ZLIB 0x02460000
16722 #define BUF_VIDEO_8BPS 0x02470000
16723 #define BUF_VIDEO_ASV1 0x02480000
16724 #define BUF_VIDEO_ASV2 0x02490000
16725 #define BUF_VIDEO_BITPLANE 0x024A0000
16726 #define BUF_VIDEO_BITPLANE_BR1 0x024B0000
16727 #define BUF_VIDEO_FLV1 0x024C0000
16728 #define BUF_VIDEO_H264 0x024D0000
16729 #define BUF_VIDEO_MJPEG_B 0x024E0000
16730 #define BUF_VIDEO_H261 0x024F0000
16731 #define BUF_VIDEO_AASC 0x02500000
16732 #define BUF_VIDEO_LOCO 0x02510000
16733 #define BUF_VIDEO_QDRW 0x02520000
16734 #define BUF_VIDEO_QPEG 0x02530000
16735 #define BUF_VIDEO_ULTI 0x02540000
16736 #define BUF_VIDEO_WNV1 0x02550000
16737 #define BUF_VIDEO_XL 0x02560000
16738 #define BUF_VIDEO_RT21 0x02570000
16739 #define BUF_VIDEO_FPS1 0x02580000
16740 #define BUF_VIDEO_DUCKTM2 0x02590000
16741 #define BUF_VIDEO_CSCD 0x025A0000
16742 #define BUF_VIDEO_ALGMM 0x025B0000
16743 #define BUF_VIDEO_ZMBV 0x025C0000
16744 #define BUF_VIDEO_AVS 0x025D0000
16745 #define BUF_VIDEO_SMACKER 0x025E0000
16746 #define BUF_VIDEO_NUV 0x025F0000
16747 #define BUF_VIDEO_KMVC 0x02600000
16748 #define BUF_VIDEO_FLASHSV 0x02610000
16749 #define BUF_VIDEO_CAVS 0x02620000
16750 #define BUF_VIDEO_VP6F 0x02630000
16754 #define BUF_AUDIO_BASE 0x03000000
16755 #define BUF_AUDIO_UNKNOWN 0x03ff0000
16756 #define BUF_AUDIO_A52 0x03000000
16757 #define BUF_AUDIO_MPEG 0x03010000
16758 #define BUF_AUDIO_LPCM_BE 0x03020000
16759 #define BUF_AUDIO_LPCM_LE 0x03030000
16760 #define BUF_AUDIO_WMAV1 0x03040000
16761 #define BUF_AUDIO_DTS 0x03050000
16762 #define BUF_AUDIO_MSADPCM 0x03060000
16763 #define BUF_AUDIO_MSIMAADPCM 0x03070000
16764 #define BUF_AUDIO_MSGSM 0x03080000
16765 #define BUF_AUDIO_VORBIS 0x03090000
16766 #define BUF_AUDIO_IMC 0x030a0000
16767 #define BUF_AUDIO_LH 0x030b0000
16768 #define BUF_AUDIO_VOXWARE 0x030c0000
16769 #define BUF_AUDIO_ACELPNET 0x030d0000
16770 #define BUF_AUDIO_AAC 0x030e0000
16771 #define BUF_AUDIO_DNET 0x030f0000
16772 #define BUF_AUDIO_VIVOG723 0x03100000
16773 #define BUF_AUDIO_DK3ADPCM 0x03110000
16774 #define BUF_AUDIO_DK4ADPCM 0x03120000
16775 #define BUF_AUDIO_ROQ 0x03130000
16776 #define BUF_AUDIO_QTIMAADPCM 0x03140000
16777 #define BUF_AUDIO_MAC3 0x03150000
16778 #define BUF_AUDIO_MAC6 0x03160000
16779 #define BUF_AUDIO_QDESIGN1 0x03170000
16780 #define BUF_AUDIO_QDESIGN2 0x03180000
16781 #define BUF_AUDIO_QCLP 0x03190000
16782 #define BUF_AUDIO_SMJPEG_IMA 0x031A0000
16783 #define BUF_AUDIO_VQA_IMA 0x031B0000
16784 #define BUF_AUDIO_MULAW 0x031C0000
16785 #define BUF_AUDIO_ALAW 0x031D0000
16786 #define BUF_AUDIO_GSM610 0x031E0000
16787 #define BUF_AUDIO_EA_ADPCM 0x031F0000
16788 #define BUF_AUDIO_WMAV2 0x03200000
16789 #define BUF_AUDIO_COOK 0x03210000
16790 #define BUF_AUDIO_ATRK 0x03220000
16791 #define BUF_AUDIO_14_4 0x03230000
16792 #define BUF_AUDIO_28_8 0x03240000
16793 #define BUF_AUDIO_SIPRO 0x03250000
16794 #define BUF_AUDIO_WMAV3 0x03260000
16795 #define BUF_AUDIO_INTERPLAY 0x03270000
16796 #define BUF_AUDIO_XA_ADPCM 0x03280000
16797 #define BUF_AUDIO_WESTWOOD 0x03290000
16798 #define BUF_AUDIO_DIALOGIC_IMA 0x032A0000
16799 #define BUF_AUDIO_NSF 0x032B0000
16800 #define BUF_AUDIO_FLAC 0x032C0000
16801 #define BUF_AUDIO_DV 0x032D0000
16802 #define BUF_AUDIO_WMAV 0x032E0000
16803 #define BUF_AUDIO_SPEEX 0x032F0000
16804 #define BUF_AUDIO_RAWPCM 0x03300000
16805 #define BUF_AUDIO_4X_ADPCM 0x03310000
16806 #define BUF_AUDIO_VMD 0x03320000
16807 #define BUF_AUDIO_XAN_DPCM 0x03330000
16808 #define BUF_AUDIO_ALAC 0x03340000
16809 #define BUF_AUDIO_MPC 0x03350000
16810 #define BUF_AUDIO_SHORTEN 0x03360000
16811 #define BUF_AUDIO_WESTWOOD_SND1 0x03370000
16812 #define BUF_AUDIO_WMALL 0x03380000
16813 #define BUF_AUDIO_TRUESPEECH 0x03390000
16814 #define BUF_AUDIO_TTA 0x033A0000
16815 #define BUF_AUDIO_SMACKER 0x033B0000
16816 #define BUF_AUDIO_FLVADPCM 0x033C0000
16817 #define BUF_AUDIO_WAVPACK 0x033D0000
16821 #define BUF_SPU_BASE 0x04000000
16822 #define BUF_SPU_DVD 0x04000000
16823 #define BUF_SPU_TEXT 0x04010000
16824 #define BUF_SPU_CC 0x04020000
16825 #define BUF_SPU_DVB 0x04030000
16826 #define BUF_SPU_SVCD 0x04040000
16827 #define BUF_SPU_CVD 0x04050000
16828 #define BUF_SPU_OGM 0x04060000
16829 #define BUF_SPU_CMML 0x04070000
16833 #define BUF_DEMUX_BLOCK 0x05000000
16835 typedef struct extra_info_s extra_info_t;
16843 struct extra_info_s {
16850 uint32_t frame_number;
16860 #define BUF_NUM_DEC_INFO 5
16862 typedef struct buf_element_s buf_element_t;
16863 struct buf_element_s {
16864 buf_element_t *next;
16866 unsigned char *mem;
16867 unsigned char *content;
16875 extra_info_t *extra_info;
16877 uint32_t decoder_flags;
16880 uint32_t decoder_info[5];
16882 void *decoder_info_ptr[5];
16884 void (*free_buffer) (buf_element_t *buf);
16893 #define BUF_FLAG_KEYFRAME 0x0001
16896 #define BUF_FLAG_FRAME_START 0x0002
16897 #define BUF_FLAG_FRAME_END 0x0004
16901 #define BUF_FLAG_HEADER 0x0008
16906 #define BUF_FLAG_PREVIEW 0x0010
16909 #define BUF_FLAG_END_USER 0x0020
16912 #define BUF_FLAG_END_STREAM 0x0040
16915 #define BUF_FLAG_FRAMERATE 0x0080
16918 #define BUF_FLAG_SEEK 0x0100
16921 #define BUF_FLAG_SPECIAL 0x0200
16927 #define BUF_FLAG_STDHEADER 0x0400
16931 #define BUF_FLAG_ASPECT 0x0800
16932 # 411 "/usr/include/xine/buffer.h" 3 4
16933 #define BUF_SPECIAL_PALETTE 1
16934 # 428 "/usr/include/xine/buffer.h" 3 4
16935 #define BUF_SPECIAL_ASPECT 3
16936 # 438 "/usr/include/xine/buffer.h" 3 4
16937 #define BUF_SPECIAL_DECODER_CONFIG 4
16938 # 452 "/usr/include/xine/buffer.h" 3 4
16939 #define BUF_SPECIAL_STSD_ATOM 5
16940 # 462 "/usr/include/xine/buffer.h" 3 4
16941 #define BUF_SPECIAL_LPCM_CONFIG 6
16942 # 473 "/usr/include/xine/buffer.h" 3 4
16943 #define BUF_SPECIAL_CHARSET_ENCODING 7
16944 # 483 "/usr/include/xine/buffer.h" 3 4
16945 #define BUF_SPECIAL_SPU_DVD_SUBTYPE 8
16948 #define SPU_DVD_SUBTYPE_CLUT 1
16949 #define SPU_DVD_SUBTYPE_PACKAGE 2
16950 #define SPU_DVD_SUBTYPE_VOBSUB_PACKAGE 3
16951 #define SPU_DVD_SUBTYPE_NAV 4
16952 # 501 "/usr/include/xine/buffer.h" 3 4
16953 #define BUF_SPECIAL_SPU_DVB_DESCRIPTOR 9
16954 # 511 "/usr/include/xine/buffer.h" 3 4
16955 #define BUF_SPECIAL_RV_CHUNK_TABLE 10
16957 typedef struct spu_dvb_descriptor_s spu_dvb_descriptor_t;
16958 struct spu_dvb_descriptor_s
16965 typedef struct palette_entry_s palette_entry_t;
16966 struct palette_entry_s
16968 unsigned char r, g, b;
16971 typedef struct fifo_buffer_s fifo_buffer_t;
16972 struct fifo_buffer_s
16974 buf_element_t *first, *last;
16977 uint32_t fifo_data_size;
16978 void *fifo_empty_cb_data;
16980 pthread_mutex_t mutex;
16981 pthread_cond_t not_empty;
16987 void (*put) (fifo_buffer_t *fifo, buf_element_t *buf);
16989 buf_element_t *(*get) (fifo_buffer_t *fifo);
16991 void (*clear) (fifo_buffer_t *fifo) ;
16993 int (*size) (fifo_buffer_t *fifo);
16995 int (*num_free) (fifo_buffer_t *fifo);
16997 uint32_t (*data_size) (fifo_buffer_t *fifo);
16999 void (*dispose) (fifo_buffer_t *fifo);
17000 # 564 "/usr/include/xine/buffer.h" 3 4
17001 buf_element_t *(*buffer_pool_alloc) (fifo_buffer_t *self);
17009 buf_element_t *(*buffer_pool_try_alloc) (fifo_buffer_t *self);
17012 void (*insert) (fifo_buffer_t *fifo, buf_element_t *buf);
17015 void (*register_alloc_cb) (fifo_buffer_t *fifo, void (*cb)(fifo_buffer_t *fifo, void *), void *cb_data);
17016 void (*register_put_cb) (fifo_buffer_t *fifo, void (*cb)(fifo_buffer_t *fifo, buf_element_t *buf, void *), void *cb_data);
17017 void (*register_get_cb) (fifo_buffer_t *fifo, void (*cb)(fifo_buffer_t *fifo, buf_element_t *buf, void *), void *cb_data);
17018 void (*unregister_alloc_cb) (fifo_buffer_t *fifo, void (*cb)(fifo_buffer_t *fifo, void *));
17019 void (*unregister_put_cb) (fifo_buffer_t *fifo, void (*cb)(fifo_buffer_t *fifo, buf_element_t *buf, void *));
17020 void (*unregister_get_cb) (fifo_buffer_t *fifo, void (*cb)(fifo_buffer_t *fifo, buf_element_t *buf, void *));
17025 buf_element_t *buffer_pool_top;
17026 pthread_mutex_t buffer_pool_mutex;
17027 pthread_cond_t buffer_pool_cond_not_empty;
17028 int buffer_pool_num_free;
17029 int buffer_pool_capacity;
17030 int buffer_pool_buf_size;
17031 void *buffer_pool_base;
17032 void (*alloc_cb[5])(fifo_buffer_t *fifo, void *data_cb);
17033 void (*put_cb[5])(fifo_buffer_t *fifo, buf_element_t *buf, void *data_cb);
17034 void (*get_cb[5])(fifo_buffer_t *fifo, buf_element_t *buf, void *data_cb);
17035 void *alloc_cb_data[5];
17036 void *put_cb_data[5];
17037 void *get_cb_data[5];
17046 fifo_buffer_t *_x_fifo_buffer_new (int num_buffers, uint32_t buf_size) ;
17047 fifo_buffer_t *_x_dummy_fifo_buffer_new (int num_buffers, uint32_t buf_size) ;
17054 uint32_t _x_fourcc_to_buf_video( uint32_t fourcc_int ) ;
17057 char * _x_buf_video_name( uint32_t buf_type ) ;
17060 uint32_t _x_formattag_to_buf_audio( uint32_t formattag ) ;
17063 char * _x_buf_audio_name( uint32_t buf_type ) ;
17064 # 638 "/usr/include/xine/buffer.h" 3 4
17065 typedef struct __attribute__((__packed__)) {
17070 int16_t biBitCount;
17071 uint32_t biCompression;
17072 int32_t biSizeImage;
17073 int32_t biXPelsPerMeter;
17074 int32_t biYPelsPerMeter;
17076 int32_t biClrImportant;
17082 typedef struct __attribute__((__packed__)) {
17083 int16_t wFormatTag;
17085 int32_t nSamplesPerSec;
17086 int32_t nAvgBytesPerSec;
17087 int16_t nBlockAlign;
17088 int16_t wBitsPerSample;
17090 } xine_waveformatex;
17096 void _x_bmiheader_le2me( xine_bmiheader *bih ) ;
17099 void _x_waveformatex_le2me( xine_waveformatex *wavex ) ;
17100 # 37 "/usr/include/xine/input_plugin.h" 2 3 4
17104 #define INPUT_PLUGIN_IFACE_VERSION 17
17106 typedef struct input_class_s input_class_t ;
17107 typedef struct input_plugin_s input_plugin_t;
17109 struct input_class_s {
17115 input_plugin_t* (*get_instance) (input_class_t *this, xine_stream_t *stream, const char *mrl);
17121 const char* (*get_identifier) (input_class_t *this);
17127 const char* (*get_description) (input_class_t *this);
17133 xine_mrl_t ** (*get_dir) (input_class_t *this, const char *filename, int *nFiles);
17139 char ** (*get_autoplay_list) (input_class_t *this, int *num_files);
17144 void (*dispose) (input_class_t *this);
17151 int (*eject_media) (input_class_t *this);
17154 struct input_plugin_s {
17160 int (*open) (input_plugin_t *this);
17161 # 114 "/usr/include/xine/input_plugin.h" 3 4
17162 uint32_t (*get_capabilities) (input_plugin_t *this);
17167 off_t (*read) (input_plugin_t *this, char *buf, off_t nlen);
17175 buf_element_t *(*read_block)(input_plugin_t *this, fifo_buffer_t *fifo, off_t len);
17183 off_t (*seek) (input_plugin_t *this, off_t offset, int origin);
17184 # 147 "/usr/include/xine/input_plugin.h" 3 4
17185 off_t (*seek_time) (input_plugin_t *this, int time_offset, int origin);
17192 off_t (*get_current_pos) (input_plugin_t *this);
17200 int (*get_current_time) (input_plugin_t *this);
17201 # 182 "/usr/include/xine/input_plugin.h" 3 4
17202 off_t (*get_length) (input_plugin_t *this);
17203 # 198 "/usr/include/xine/input_plugin.h" 3 4
17204 uint32_t (*get_blocksize) (input_plugin_t *this);
17210 const char * (*get_mrl) (input_plugin_t *this);
17216 int (*get_optional_data) (input_plugin_t *this, void *data, int data_type);
17222 void (*dispose) (input_plugin_t *this);
17228 input_class_t *input_class;
17237 #define INPUT_CAP_NOCAP 0x00000000
17238 # 242 "/usr/include/xine/input_plugin.h" 3 4
17239 #define INPUT_CAP_SEEKABLE 0x00000001
17240 # 252 "/usr/include/xine/input_plugin.h" 3 4
17241 #define INPUT_CAP_BLOCK 0x00000002
17242 # 264 "/usr/include/xine/input_plugin.h" 3 4
17243 #define INPUT_CAP_AUDIOLANG 0x00000008
17244 #define INPUT_CAP_SPULANG 0x00000010
17245 # 279 "/usr/include/xine/input_plugin.h" 3 4
17246 #define INPUT_CAP_PREVIEW 0x00000040
17247 # 290 "/usr/include/xine/input_plugin.h" 3 4
17248 #define INPUT_CAP_CHAPTERS 0x00000080
17256 #define INPUT_CAP_RIP_FORBIDDEN 0x00000100
17259 #define INPUT_IS_SEEKABLE(input) (((input)->get_capabilities(input) & INPUT_CAP_SEEKABLE) != 0)
17261 #define INPUT_OPTIONAL_UNSUPPORTED 0
17262 #define INPUT_OPTIONAL_SUCCESS 1
17264 #define INPUT_OPTIONAL_DATA_AUDIOLANG 2
17265 #define INPUT_OPTIONAL_DATA_SPULANG 3
17266 #define INPUT_OPTIONAL_DATA_PREVIEW 7
17268 #define MAX_MRL_ENTRIES 255
17269 #define MAX_PREVIEW_SIZE 4096
17272 #define mrl_unknown (0 << 0)
17273 #define mrl_dvd (1 << 0)
17274 #define mrl_vcd (1 << 1)
17275 #define mrl_net (1 << 2)
17276 #define mrl_rtp (1 << 3)
17277 #define mrl_stdin (1 << 4)
17278 #define mrl_cda (1 << 5)
17279 #define mrl_file (1 << 6)
17280 #define mrl_file_fifo (1 << 7)
17281 #define mrl_file_chardev (1 << 8)
17282 #define mrl_file_directory (1 << 9)
17283 #define mrl_file_blockdev (1 << 10)
17284 #define mrl_file_normal (1 << 11)
17285 #define mrl_file_symlink (1 << 12)
17286 #define mrl_file_sock (1 << 13)
17287 #define mrl_file_exec (1 << 14)
17288 #define mrl_file_backup (1 << 15)
17289 #define mrl_file_hidden (1 << 16)
17294 #define MRL_ZERO(m) { if((m)) { if((m)->origin) free((m)->origin); if((m)->mrl) free((m)->mrl); if((m)->link) free((m)->link); (m)->origin = NULL; (m)->mrl = NULL; (m)->link = NULL; (m)->type = 0; (m)->size = (off_t) 0; } }
17295 # 355 "/usr/include/xine/input_plugin.h" 3 4
17296 #define MRL_DUPLICATE(s,d) { _x_assert((s) != NULL); _x_assert((d) != NULL); if((s)->origin) { if((d)->origin) { (d)->origin = (char *) realloc((d)->origin, strlen((s)->origin) + 1); sprintf((d)->origin, "%s", (s)->origin); } else (d)->origin = strdup((s)->origin); } else (d)->origin = NULL; if((s)->mrl) { if((d)->mrl) { (d)->mrl = (char *) realloc((d)->mrl, strlen((s)->mrl) + 1); sprintf((d)->mrl, "%s", (s)->mrl); } else (d)->mrl = strdup((s)->mrl); } else (d)->mrl = NULL; if((s)->link) { if((d)->link) { (d)->link = (char *) realloc((d)->link, strlen((s)->link) + 1); sprintf((d)->link, "%s", (s)->link); } else (d)->link = strdup((s)->link); } else (d)->link = NULL; (d)->type = (s)->type; (d)->size = (s)->size; }
17297 # 399 "/usr/include/xine/input_plugin.h" 3 4
17298 #define MRLS_DUPLICATE(s,d) { int i = 0; _x_assert((s) != NULL); _x_assert((d) != NULL); while((s) != NULL) { d[i] = (xine_mrl_t *) malloc(sizeof(xine_mrl_t)); MRL_DUPLICATE(s[i], d[i]); i++; } }
17299 # 58 "/usr/include/xine/xine_internal.h" 2 3 4
17300 # 1 "/usr/include/xine/demux.h" 1 3 4
17301 # 24 "/usr/include/xine/demux.h" 3 4
17302 #define HAVE_DEMUX_H
17303 # 33 "/usr/include/xine/demux.h" 3 4
17304 # 1 "/usr/include/xine/xine_internal.h" 1 3 4
17305 # 34 "/usr/include/xine/demux.h" 2 3 4
17308 #define DEMUXER_PLUGIN_IFACE_VERSION 26
17311 #define DEMUX_FINISHED 1
17313 #define DEMUX_CANNOT_HANDLE 0
17314 #define DEMUX_CAN_HANDLE 1
17316 #define METHOD_BY_CONTENT 1
17317 #define METHOD_BY_EXTENSION 2
17318 #define METHOD_EXPLICIT 3
17320 typedef struct demux_class_s demux_class_t ;
17321 typedef struct demux_plugin_s demux_plugin_t;
17323 struct demux_class_s {
17328 demux_plugin_t* (*open_plugin) (demux_class_t *this, xine_stream_t *stream, input_plugin_t *input);
17333 const char* (*get_description) (demux_class_t *this);
17339 const char* (*get_identifier) (demux_class_t *this);
17345 const char* (*get_mimetypes) (demux_class_t *this);
17346 # 82 "/usr/include/xine/demux.h" 3 4
17347 const char* (*get_extensions) (demux_class_t *this);
17352 void (*dispose) (demux_class_t *this);
17360 struct demux_plugin_s {
17367 void (*send_headers) (demux_plugin_t *this);
17368 # 123 "/usr/include/xine/demux.h" 3 4
17369 int (*seek) (demux_plugin_t *this,
17370 off_t start_pos, int start_time, int playing );
17371 # 136 "/usr/include/xine/demux.h" 3 4
17372 int (*send_chunk) (demux_plugin_t *this);
17378 void (*dispose) (demux_plugin_t *this) ;
17384 int (*get_status) (demux_plugin_t *this) ;
17391 int (*get_stream_length) (demux_plugin_t *this);
17397 uint32_t (*get_capabilities) (demux_plugin_t *this);
17402 int (*get_optional_data) (demux_plugin_t *this, void *data, int data_type);
17408 demux_class_t *demux_class;
17417 #define DEMUX_CAP_NOCAP 0x00000000
17418 # 192 "/usr/include/xine/demux.h" 3 4
17419 #define DEMUX_CAP_AUDIOLANG 0x00000008
17420 #define DEMUX_CAP_SPULANG 0x00000010
17421 # 205 "/usr/include/xine/demux.h" 3 4
17422 #define DEMUX_CAP_CHAPTERS 0x00000080
17425 #define DEMUX_OPTIONAL_UNSUPPORTED 0
17426 #define DEMUX_OPTIONAL_SUCCESS 1
17428 #define DEMUX_OPTIONAL_DATA_AUDIOLANG 2
17429 #define DEMUX_OPTIONAL_DATA_SPULANG 3
17430 # 59 "/usr/include/xine/xine_internal.h" 2 3 4
17431 # 1 "/usr/include/xine/video_out.h" 1 3 4
17432 # 36 "/usr/include/xine/video_out.h" 3 4
17433 #define HAVE_VIDEO_OUT_H
17440 # 1 "../../../config.h" 1 3 4
17441 # 14 "../../../config.h" 3 4
17442 #define DIRECTFB_VERSION "0.9.25"
17445 #define HAVE_DLFCN_H 1
17451 #define HAVE_INTTYPES_H 1
17454 #define HAVE_MEMORY_H 1
17457 #define HAVE_STDINT_H 1
17460 #define HAVE_STDLIB_H 1
17463 #define HAVE_STRINGS_H 1
17466 #define HAVE_STRING_H 1
17469 #define HAVE_SYS_STAT_H 1
17472 #define HAVE_SYS_TYPES_H 1
17475 #define HAVE_UNISTD_H 1
17478 #define PACKAGE_BUGREPORT ""
17481 #define PACKAGE_NAME ""
17484 #define PACKAGE_STRING ""
17487 #define PACKAGE_TARNAME ""
17490 #define PACKAGE_VERSION ""
17493 #define STDC_HEADERS 1
17497 # 44 "/usr/include/xine/video_out.h" 2 3 4
17500 # 1 "/usr/include/pthread.h" 1 3 4
17501 # 47 "/usr/include/xine/video_out.h" 2 3 4
17502 # 57 "/usr/include/xine/video_out.h" 3 4
17503 typedef struct vo_frame_s vo_frame_t;
17504 typedef struct vo_driver_s vo_driver_t;
17505 typedef struct video_driver_class_s video_driver_class_t;
17506 typedef struct vo_overlay_s vo_overlay_t;
17507 typedef struct video_overlay_manager_s video_overlay_manager_t;
17515 struct vo_frame_s {
17523 void (*proc_duplicate_frame_data) (vo_frame_t *vo_img, vo_frame_t *src);
17527 void (*proc_frame) (vo_frame_t *vo_img);
17531 void (*proc_slice) (vo_frame_t *vo_img, uint8_t **src);
17534 void (*field) (vo_frame_t *vo_img, int which_field);
17539 int (*draw) (vo_frame_t *vo_img, xine_stream_t *stream);
17545 void (*lock) (vo_frame_t *vo_img);
17548 void (*free) (vo_frame_t *vo_img);
17551 void (*dispose) (vo_frame_t *vo_img);
17568 int top_field_first;
17569 int repeat_first_field;
17573 int progressive_frame;
17574 int picture_coding_type;
17577 int crop_left, crop_right, crop_top, crop_bottom;
17580 extra_info_t *extra_info;
17595 xine_video_port_t *port;
17596 vo_driver_t *driver;
17597 xine_stream_t *stream;
17600 int overlay_offset_x, overlay_offset_y;
17606 struct vo_frame_s *next;
17608 pthread_mutex_t mutex;
17620 struct xine_video_port_s {
17622 uint32_t (*get_capabilities) (xine_video_port_t *self);
17627 void (*open) (xine_video_port_t *self, xine_stream_t *stream);
17628 # 192 "/usr/include/xine/video_out.h" 3 4
17629 vo_frame_t* (*get_frame) (xine_video_port_t *self, uint32_t width,
17630 uint32_t height, double ratio,
17631 int format, int flags);
17634 vo_frame_t* (*get_last_frame) (xine_video_port_t *self);
17637 void (*enable_ovl) (xine_video_port_t *self, int ovl_enable);
17640 video_overlay_manager_t* (*get_overlay_manager) (xine_video_port_t *self);
17643 void (*flush) (xine_video_port_t *self);
17649 int (*get_property) (xine_video_port_t *self, int property);
17650 int (*set_property) (xine_video_port_t *self, int property, int value);
17653 int (*status) (xine_video_port_t *self, xine_stream_t *stream,
17654 int *width, int *height, int64_t *img_duration);
17659 void (*close) (xine_video_port_t *self, xine_stream_t *stream);
17662 void (*exit) (xine_video_port_t *self);
17665 vo_driver_t *driver;
17670 #define VO_PROP_INTERLACED 0
17671 #define VO_PROP_ASPECT_RATIO 1
17672 #define VO_PROP_HUE 2
17673 #define VO_PROP_SATURATION 3
17674 #define VO_PROP_CONTRAST 4
17675 #define VO_PROP_BRIGHTNESS 5
17676 #define VO_PROP_COLORKEY 6
17677 #define VO_PROP_AUTOPAINT_COLORKEY 7
17678 #define VO_PROP_ZOOM_X 8
17679 #define VO_PROP_PAN_SCAN 9
17680 #define VO_PROP_TVMODE 10
17681 #define VO_PROP_MAX_NUM_FRAMES 11
17682 #define VO_PROP_ZOOM_Y 13
17683 #define VO_PROP_DISCARD_FRAMES 14
17684 #define VO_PROP_WINDOW_WIDTH 15
17685 #define VO_PROP_WINDOW_HEIGHT 16
17686 #define VO_PROP_BUFS_IN_FIFO 17
17687 #define VO_PROP_NUM_STREAMS 18
17688 #define VO_NUM_PROPERTIES 19
17693 #define OVL_PALETTE_SIZE 256
17699 #define VO_NUM_RECENT_FRAMES 2
17702 #define VO_TOP_FIELD 1
17703 #define VO_BOTTOM_FIELD 2
17704 #define VO_BOTH_FIELDS (VO_TOP_FIELD | VO_BOTTOM_FIELD)
17705 #define VO_PAN_SCAN_FLAG 4
17706 #define VO_INTERLACED_FLAG 8
17707 #define VO_NEW_SEQUENCE_FLAG 16
17710 #define VO_CAP_YV12 0x00000001
17711 #define VO_CAP_YUY2 0x00000002
17712 #define VO_CAP_XVMC_MOCOMP 0x00000004
17713 #define VO_CAP_XVMC_IDCT 0x00000008
17714 #define VO_CAP_UNSCALED_OVERLAY 0x00000010
17715 #define VO_CAP_CROP 0x00000020
17716 #define VO_CAP_XXMC 0x00000040
17717 # 291 "/usr/include/xine/video_out.h" 3 4
17718 #define VIDEO_OUT_DRIVER_IFACE_VERSION 21
17720 struct vo_driver_s {
17722 uint32_t (*get_capabilities) (vo_driver_t *self);
17728 vo_frame_t* (*alloc_frame) (vo_driver_t *self);
17734 void (*update_frame_format) (vo_driver_t *self, vo_frame_t *img,
17735 uint32_t width, uint32_t height,
17736 double ratio, int format, int flags);
17739 void (*display_frame) (vo_driver_t *self, vo_frame_t *vo_img);
17740 # 326 "/usr/include/xine/video_out.h" 3 4
17741 void (*overlay_begin) (vo_driver_t *self, vo_frame_t *vo_img, int changed);
17742 void (*overlay_blend) (vo_driver_t *self, vo_frame_t *vo_img, vo_overlay_t *overlay);
17743 void (*overlay_end) (vo_driver_t *self, vo_frame_t *vo_img);
17748 int (*get_property) (vo_driver_t *self, int property);
17749 int (*set_property) (vo_driver_t *self,
17750 int property, int value);
17751 void (*get_property_min_max) (vo_driver_t *self,
17752 int property, int *min, int *max);
17760 int (*gui_data_exchange) (vo_driver_t *self, int data_type,
17767 int (*redraw_needed) (vo_driver_t *self);
17772 void (*dispose) (vo_driver_t *self);
17777 struct video_driver_class_s {
17782 vo_driver_t* (*open_plugin) (video_driver_class_t *self, const void *visual);
17787 char* (*get_identifier) (video_driver_class_t *self);
17793 char* (*get_description) (video_driver_class_t *self);
17798 void (*dispose) (video_driver_class_t *self);
17802 typedef struct rle_elem_s {
17807 struct vo_overlay_s {
17817 uint32_t color[256];
17818 uint8_t trans[256];
17826 uint32_t hili_color[256];
17827 uint8_t hili_trans[256];
17832 # 425 "/usr/include/xine/video_out.h" 3 4
17833 struct video_overlay_manager_s {
17834 void (*init) (video_overlay_manager_t *this_gen);
17836 void (*dispose) (video_overlay_manager_t *this_gen);
17838 int32_t (*get_handle) (video_overlay_manager_t *this_gen, int object_type );
17840 void (*free_handle) (video_overlay_manager_t *this_gen, int32_t handle);
17842 int32_t (*add_event) (video_overlay_manager_t *this_gen, void *event);
17844 void (*flush_events) (video_overlay_manager_t *this_gen );
17846 int (*redraw_needed) (video_overlay_manager_t *this_gen, int64_t vpts );
17848 void (*multiple_overlay_blend) (video_overlay_manager_t *this_gen, int64_t vpts,
17849 vo_driver_t *output, vo_frame_t *vo_img, int enabled);
17856 xine_video_port_t *_x_vo_new_port (xine_t *xine, vo_driver_t *driver, int grabonly) ;
17857 # 60 "/usr/include/xine/xine_internal.h" 2 3 4
17858 # 1 "/usr/include/xine/audio_out.h" 1 3 4
17859 # 23 "/usr/include/xine/audio_out.h" 3 4
17860 #define HAVE_AUDIO_OUT_H
17861 # 36 "/usr/include/xine/audio_out.h" 3 4
17862 # 1 "/usr/include/xine/metronom.h" 1 3 4
17863 # 44 "/usr/include/xine/metronom.h" 3 4
17864 #define HAVE_METRONOM_H
17870 # 1 "/usr/include/pthread.h" 1 3 4
17871 # 51 "/usr/include/xine/metronom.h" 2 3 4
17872 # 60 "/usr/include/xine/metronom.h" 3 4
17873 typedef struct metronom_s metronom_t ;
17874 typedef struct metronom_clock_s metronom_clock_t;
17875 typedef struct scr_plugin_s scr_plugin_t;
17883 #define PREBUFFER_PTS_OFFSET 12000
17886 #define DISC_STREAMSTART 0
17887 #define DISC_RELATIVE 1
17888 #define DISC_ABSOLUTE 2
17889 #define DISC_STREAMSEEK 3
17891 struct metronom_s {
17899 void (*set_audio_rate) (metronom_t *self, int64_t pts_per_smpls);
17900 # 100 "/usr/include/xine/metronom.h" 3 4
17901 void (*got_video_frame) (metronom_t *self, vo_frame_t *frame);
17902 # 115 "/usr/include/xine/metronom.h" 3 4
17903 int64_t (*got_audio_samples) (metronom_t *self, int64_t pts,
17905 # 128 "/usr/include/xine/metronom.h" 3 4
17906 int64_t (*got_spu_packet) (metronom_t *self, int64_t pts);
17907 # 150 "/usr/include/xine/metronom.h" 3 4
17908 void (*handle_audio_discontinuity) (metronom_t *self, int type, int64_t disc_off);
17909 void (*handle_video_discontinuity) (metronom_t *self, int type, int64_t disc_off);
17914 void (*set_option) (metronom_t *self, int option, int64_t value);
17915 int64_t (*get_option) (metronom_t *self, int option);
17923 void (*set_master) (metronom_t *self, metronom_t *master);
17925 void (*exit) (metronom_t *self);
17926 # 216 "/usr/include/xine/metronom.h" 3 4
17933 #define METRONOM_AV_OFFSET 2
17934 #define METRONOM_ADJ_VPTS_OFFSET 3
17935 #define METRONOM_FRAME_DURATION 4
17936 #define METRONOM_SPU_OFFSET 5
17937 #define METRONOM_VPTS_OFFSET 6
17938 #define METRONOM_PREBUFFER 7
17940 metronom_t *_x_metronom_init (int have_video, int have_audio, xine_t *xine) ;
17943 struct metronom_clock_s {
17948 void (*set_option) (metronom_clock_t *self, int option, int64_t value);
17949 int64_t (*get_option) (metronom_clock_t *self, int option);
17950 # 263 "/usr/include/xine/metronom.h" 3 4
17960 int64_t (*get_current_time) (metronom_clock_t *self);
17966 void (*adjust_clock) (metronom_clock_t *self, int64_t desired_pts);
17967 # 288 "/usr/include/xine/metronom.h" 3 4
17974 int (*register_scr) (metronom_clock_t *self, scr_plugin_t *scr);
17975 void (*unregister_scr) (metronom_clock_t *self, scr_plugin_t *scr);
17976 # 308 "/usr/include/xine/metronom.h" 3 4
17994 metronom_clock_t *_x_metronom_clock_init(xine_t *xine) ;
18000 #define CLOCK_SCR_ADJUSTABLE 1
18006 struct scr_plugin_s
18008 int interface_version;
18010 int (*get_priority) (scr_plugin_t *self);
18011 # 350 "/usr/include/xine/metronom.h" 3 4
18012 int (*set_fine_speed) (scr_plugin_t *self, int speed);
18014 void (*adjust) (scr_plugin_t *self, int64_t vpts);
18016 void (*start) (scr_plugin_t *self, int64_t start_vpts);
18018 int64_t (*get_current) (scr_plugin_t *self);
18020 void (*exit) (scr_plugin_t *self);
18022 metronom_clock_t *clock;
18024 # 37 "/usr/include/xine/audio_out.h" 2 3 4
18030 #define AUDIO_OUT_IFACE_VERSION 8
18037 typedef struct ao_driver_s ao_driver_t;
18039 struct ao_driver_s {
18040 # 60 "/usr/include/xine/audio_out.h" 3 4
18041 uint32_t (*get_capabilities) (ao_driver_t *);
18049 int (*open)(ao_driver_t *, uint32_t bits, uint32_t rate, int mode);
18053 int (*num_channels)(ao_driver_t *self_gen);
18058 int (*bytes_per_frame)(ao_driver_t *self_gen);
18063 int (*delay)(ao_driver_t *self_gen);
18068 int (*get_gap_tolerance) (ao_driver_t *self_gen);
18069 # 96 "/usr/include/xine/audio_out.h" 3 4
18070 int (*write)(ao_driver_t *,
18071 int16_t* audio_data, uint32_t num_samples);
18077 void (*close)(ao_driver_t *);
18083 void (*exit) (ao_driver_t *);
18084 # 119 "/usr/include/xine/audio_out.h" 3 4
18085 int (*get_property) (ao_driver_t *, int property);
18087 int (*set_property) (ao_driver_t *, int property, int value);
18095 int (*control) (ao_driver_t *, int cmd, ...);
18100 typedef struct ao_format_s ao_format_t;
18102 struct ao_format_s {
18108 typedef struct audio_fifo_s audio_fifo_t;
18110 typedef struct audio_buffer_s audio_buffer_t;
18112 struct audio_buffer_s {
18114 audio_buffer_t *next;
18121 uint32_t frame_header_count;
18122 uint32_t first_access_unit;
18125 extra_info_t *extra_info;
18127 xine_stream_t *stream;
18129 ao_format_t format;
18131 # 174 "/usr/include/xine/audio_out.h" 3 4
18132 struct xine_audio_port_s {
18133 uint32_t (*get_capabilities) (xine_audio_port_t *);
18139 int (*get_property) (xine_audio_port_t *, int property);
18140 int (*set_property) (xine_audio_port_t *, int property, int value);
18147 int (*open) (xine_audio_port_t *, xine_stream_t *stream,
18148 uint32_t bits, uint32_t rate, int mode);
18153 audio_buffer_t * (*get_buffer) (xine_audio_port_t *);
18160 void (*put_buffer) (xine_audio_port_t *, audio_buffer_t *buf, xine_stream_t *stream);
18165 void (*close) (xine_audio_port_t *self, xine_stream_t *stream);
18168 void (*exit) (xine_audio_port_t *);
18175 int (*control) (xine_audio_port_t *, int cmd, ...);
18180 void (*flush) (xine_audio_port_t *);
18186 int (*status) (xine_audio_port_t *, xine_stream_t *stream,
18187 uint32_t *bits, uint32_t *rate, int *mode);
18191 typedef struct audio_driver_class_s audio_driver_class_t;
18193 struct audio_driver_class_s {
18198 ao_driver_t* (*open_plugin) (audio_driver_class_t *, const void *data);
18203 char* (*get_identifier) (audio_driver_class_t *);
18209 char* (*get_description) (audio_driver_class_t *);
18215 void (*dispose) (audio_driver_class_t *);
18222 xine_audio_port_t *_x_ao_new_port (xine_t *xine, ao_driver_t *driver, int grab_only) ;
18228 #define AO_CAP_NOCAP 0x00000000
18229 #define AO_CAP_MODE_A52 0x00000001
18230 #define AO_CAP_MODE_AC5 0x00000002
18232 #define AO_CAP_MODE_MONO 0x00000004
18234 #define AO_CAP_MODE_STEREO 0x00000008
18236 #define AO_CAP_MODE_4CHANNEL 0x00000010
18244 #define AO_CAP_MODE_4_1CHANNEL 0x00000020
18246 #define AO_CAP_MODE_5CHANNEL 0x00000040
18248 #define AO_CAP_MODE_5_1CHANNEL 0x00000080
18253 int _x_ao_mode2channels( int mode ) ;
18257 int _x_ao_channels2mode( int channels ) ;
18259 #define AO_CAP_MIXER_VOL 0x00000100
18260 #define AO_CAP_PCM_VOL 0x00000200
18261 #define AO_CAP_MUTE_VOL 0x00000400
18262 #define AO_CAP_8BITS 0x00000800
18263 #define AO_CAP_16BITS 0x00001000
18264 #define AO_CAP_24BITS 0x00002000
18265 #define AO_CAP_FLOAT32 0x00004000
18268 #define AO_PROP_MIXER_VOL 0
18269 #define AO_PROP_PCM_VOL 1
18270 #define AO_PROP_MUTE_VOL 2
18271 #define AO_PROP_COMPRESSOR 3
18272 #define AO_PROP_DISCARD_BUFFERS 4
18273 #define AO_PROP_BUFS_IN_FIFO 5
18274 #define AO_PROP_AMP 6
18275 #define AO_PROP_EQ_30HZ 7
18276 #define AO_PROP_EQ_60HZ 8
18277 #define AO_PROP_EQ_125HZ 9
18278 #define AO_PROP_EQ_250HZ 10
18279 #define AO_PROP_EQ_500HZ 11
18280 #define AO_PROP_EQ_1000HZ 12
18281 #define AO_PROP_EQ_2000HZ 13
18282 #define AO_PROP_EQ_4000HZ 14
18283 #define AO_PROP_EQ_8000HZ 15
18284 #define AO_PROP_EQ_16000HZ 16
18285 #define AO_PROP_CLOSE_DEVICE 17
18286 #define AO_PROP_AMP_MUTE 18
18287 #define AO_PROP_NUM_STREAMS 19
18288 #define AO_PROP_CLOCK_SPEED 20
18289 #define AO_NUM_PROPERTIES 21
18292 #define AO_CTRL_PLAY_PAUSE 0
18293 #define AO_CTRL_PLAY_RESUME 1
18294 #define AO_CTRL_FLUSH_BUFFERS 2
18297 #define AO_MAX_GAP 15000
18298 # 61 "/usr/include/xine/xine_internal.h" 2 3 4
18300 # 1 "/usr/include/xine/osd.h" 1 3 4
18301 # 25 "/usr/include/xine/osd.h" 3 4
18303 # 37 "/usr/include/xine/osd.h" 3 4
18304 # 1 "/usr/include/xine/video_overlay.h" 1 3 4
18305 # 25 "/usr/include/xine/video_overlay.h" 3 4
18306 #define HAVE_VIDEO_OVERLAY_H
18307 # 34 "/usr/include/xine/video_overlay.h" 3 4
18308 #define CLUT_Y_CR_CB_INIT(_y,_cr,_cb) {y: (_y), cr: (_cr), cb: (_cb)}
18313 #define MAX_OBJECTS 50
18314 #define MAX_EVENTS 50
18315 #define MAX_SHOWING 16
18317 #define OVERLAY_EVENT_NULL 0
18318 #define OVERLAY_EVENT_SHOW 1
18319 #define OVERLAY_EVENT_HIDE 2
18320 #define OVERLAY_EVENT_MENU_BUTTON 3
18321 #define OVERLAY_EVENT_FREE_HANDLE 8
18327 #define OVL_PALETTE_SIZE 256
18329 typedef struct vo_buttons_s {
18338 int32_t hili_bottom;
18340 int32_t hili_right;
18345 uint32_t select_color[256];
18346 uint8_t select_trans[256];
18347 xine_event_t select_event;
18348 uint32_t active_color[256];
18349 uint8_t active_trans[256];
18350 xine_event_t active_event;
18351 int32_t hili_rgb_clut;
18355 typedef struct video_overlay_object_s {
18357 uint32_t object_type;
18359 vo_overlay_t *overlay;
18360 uint32_t palette_type;
18364 vo_buttons_t button[32];
18365 } video_overlay_object_t;
18368 typedef struct video_overlay_event_s {
18369 uint32_t event_type;
18375 video_overlay_object_t object;
18376 } video_overlay_event_t;
18378 video_overlay_manager_t *_x_video_overlay_new_manager(xine_t *) ;
18379 # 38 "/usr/include/xine/osd.h" 2 3 4
18382 typedef struct osd_object_s osd_object_t;
18383 typedef struct osd_renderer_s osd_renderer_t;
18384 typedef struct osd_font_s osd_font_t;
18385 typedef struct osd_ft2context_s osd_ft2context_t;
18387 struct osd_object_s {
18388 osd_object_t *next;
18389 osd_renderer_t *renderer;
18393 int display_x,display_y;
18399 uint32_t color[256];
18400 uint8_t trans[256];
18410 osd_ft2context_t *ft2;
18414 struct xine_osd_s {
18418 struct osd_renderer_s {
18419 # 86 "/usr/include/xine/osd.h" 3 4
18420 osd_object_t* (*new_object) (osd_renderer_t *this, int width, int height);
18425 void (*free_object) (osd_object_t *osd_to_close);
18432 int (*show) (osd_object_t *osd, int64_t vpts );
18438 int (*hide) (osd_object_t *osd, int64_t vpts );
18443 void (*point) (osd_object_t *osd, int x, int y, int color);
18448 void (*line) (osd_object_t *osd,
18449 int x1, int y1, int x2, int y2, int color );
18454 void (*filled_rect) (osd_object_t *osd,
18455 int x1, int y1, int x2, int y2, int color );
18460 void (*set_palette) (osd_object_t *osd, const uint32_t *color, const uint8_t *trans );
18461 # 138 "/usr/include/xine/osd.h" 3 4
18462 void (*set_text_palette) (osd_object_t *osd, int palette_number,
18468 void (*get_palette) (osd_object_t *osd, uint32_t *color,
18474 void (*set_position) (osd_object_t *osd, int x, int y);
18480 int (*set_font) (osd_object_t *osd, const char *fontname, int size);
18488 int (*set_encoding) (osd_object_t *osd, const char *encoding);
18489 # 175 "/usr/include/xine/osd.h" 3 4
18490 int (*render_text) (osd_object_t *osd, int x1, int y1,
18491 const char *text, int color_base);
18496 int (*get_text_size) (osd_object_t *osd, const char *text,
18497 int *width, int *height);
18504 void (*close) (osd_renderer_t *this);
18509 void (*clear) (osd_object_t *osd );
18514 void (*draw_bitmap) (osd_object_t *osd, uint8_t *bitmap,
18515 int x1, int y1, int width, int height,
18516 uint8_t *palette_map);
18523 int (*show_unscaled) (osd_object_t *osd, int64_t vpts );
18528 uint32_t (*get_capabilities) (osd_object_t *osd);
18532 pthread_mutex_t osd_mutex;
18533 video_overlay_event_t event;
18534 osd_object_t *osds;
18538 xine_stream_t *stream;
18545 osd_renderer_t *_x_osd_renderer_init( xine_stream_t *stream );
18552 #define TEXT_PALETTE_SIZE 11
18559 #define OSD_TEXT1 (0 * TEXT_PALETTE_SIZE)
18560 #define OSD_TEXT2 (1 * TEXT_PALETTE_SIZE)
18561 #define OSD_TEXT3 (2 * TEXT_PALETTE_SIZE)
18562 #define OSD_TEXT4 (3 * TEXT_PALETTE_SIZE)
18563 #define OSD_TEXT5 (4 * TEXT_PALETTE_SIZE)
18564 #define OSD_TEXT6 (5 * TEXT_PALETTE_SIZE)
18565 #define OSD_TEXT7 (6 * TEXT_PALETTE_SIZE)
18566 #define OSD_TEXT8 (7 * TEXT_PALETTE_SIZE)
18567 #define OSD_TEXT9 (8 * TEXT_PALETTE_SIZE)
18568 #define OSD_TEXT10 (9 * TEXT_PALETTE_SIZE)
18575 #define NUMBER_OF_TEXT_PALETTES 4
18576 #define TEXTPALETTE_WHITE_BLACK_TRANSPARENT 0
18577 #define TEXTPALETTE_WHITE_NONE_TRANSPARENT 1
18578 #define TEXTPALETTE_WHITE_NONE_TRANSLUCID 2
18579 #define TEXTPALETTE_YELLOW_BLACK_TRANSPARENT 3
18580 # 63 "/usr/include/xine/xine_internal.h" 2 3 4
18581 # 1 "/usr/include/xine/xineintl.h" 1 3 4
18582 # 25 "/usr/include/xine/xineintl.h" 3 4
18583 #define HAVE_XINEINTL_H
18589 # 1 "/usr/include/locale.h" 1 3 4
18597 # 1 "/usr/include/gentoo-multilib/amd64/locale.h" 1 3 4
18598 # 24 "/usr/include/gentoo-multilib/amd64/locale.h" 3 4
18599 #define _LOCALE_H 1
18601 # 1 "/usr/include/features.h" 1 3 4
18602 # 27 "/usr/include/gentoo-multilib/amd64/locale.h" 2 3 4
18604 #define __need_NULL
18605 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4
18606 # 398 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 3 4
18612 #define NULL ((void *)0)
18619 # 30 "/usr/include/gentoo-multilib/amd64/locale.h" 2 3 4
18620 # 1 "/usr/include/bits/locale.h" 1 3 4
18628 # 1 "/usr/include/gentoo-multilib/amd64/bits/locale.h" 1 3 4
18629 # 25 "/usr/include/gentoo-multilib/amd64/bits/locale.h" 3 4
18630 #define _BITS_LOCALE_H 1
18644 __LC_TELEPHONE = 10,
18645 __LC_MEASUREMENT = 11,
18646 __LC_IDENTIFICATION = 12
18648 # 9 "/usr/include/bits/locale.h" 2 3 4
18649 # 31 "/usr/include/gentoo-multilib/amd64/locale.h" 2 3 4
18655 #define LC_CTYPE __LC_CTYPE
18656 #define LC_NUMERIC __LC_NUMERIC
18657 #define LC_TIME __LC_TIME
18658 #define LC_COLLATE __LC_COLLATE
18659 #define LC_MONETARY __LC_MONETARY
18660 #define LC_MESSAGES __LC_MESSAGES
18661 #define LC_ALL __LC_ALL
18662 #define LC_PAPER __LC_PAPER
18663 #define LC_NAME __LC_NAME
18664 #define LC_ADDRESS __LC_ADDRESS
18665 #define LC_TELEPHONE __LC_TELEPHONE
18666 #define LC_MEASUREMENT __LC_MEASUREMENT
18667 #define LC_IDENTIFICATION __LC_IDENTIFICATION
18675 char *decimal_point;
18676 char *thousands_sep;
18688 char *int_curr_symbol;
18689 char *currency_symbol;
18690 char *mon_decimal_point;
18691 char *mon_thousands_sep;
18692 char *mon_grouping;
18693 char *positive_sign;
18694 char *negative_sign;
18695 char int_frac_digits;
18698 char p_cs_precedes;
18700 char p_sep_by_space;
18702 char n_cs_precedes;
18704 char n_sep_by_space;
18715 char int_p_cs_precedes;
18717 char int_p_sep_by_space;
18719 char int_n_cs_precedes;
18721 char int_n_sep_by_space;
18728 char int_p_sign_posn;
18729 char int_n_sign_posn;
18730 # 119 "/usr/include/gentoo-multilib/amd64/locale.h" 3 4
18737 extern char *setlocale (int __category, __const char *__locale) __attribute__ ((__nothrow__));
18740 extern struct lconv *localeconv (void) __attribute__ ((__nothrow__));
18743 # 146 "/usr/include/gentoo-multilib/amd64/locale.h" 3 4
18744 # 1 "/usr/include/xlocale.h" 1 3 4
18745 # 147 "/usr/include/gentoo-multilib/amd64/locale.h" 2 3 4
18747 typedef __locale_t locale_t;
18753 extern __locale_t newlocale (int __category_mask, __const char *__locale,
18754 __locale_t __base) __attribute__ ((__nothrow__));
18760 #define LC_CTYPE_MASK (1 << __LC_CTYPE)
18761 #define LC_NUMERIC_MASK (1 << __LC_NUMERIC)
18762 #define LC_TIME_MASK (1 << __LC_TIME)
18763 #define LC_COLLATE_MASK (1 << __LC_COLLATE)
18764 #define LC_MONETARY_MASK (1 << __LC_MONETARY)
18765 #define LC_MESSAGES_MASK (1 << __LC_MESSAGES)
18766 #define LC_PAPER_MASK (1 << __LC_PAPER)
18767 #define LC_NAME_MASK (1 << __LC_NAME)
18768 #define LC_ADDRESS_MASK (1 << __LC_ADDRESS)
18769 #define LC_TELEPHONE_MASK (1 << __LC_TELEPHONE)
18770 #define LC_MEASUREMENT_MASK (1 << __LC_MEASUREMENT)
18771 #define LC_IDENTIFICATION_MASK (1 << __LC_IDENTIFICATION)
18772 #define LC_ALL_MASK (LC_CTYPE_MASK | LC_NUMERIC_MASK | LC_TIME_MASK | LC_COLLATE_MASK | LC_MONETARY_MASK | LC_MESSAGES_MASK | LC_PAPER_MASK | LC_NAME_MASK | LC_ADDRESS_MASK | LC_TELEPHONE_MASK | LC_MEASUREMENT_MASK | LC_IDENTIFICATION_MASK )
18773 # 189 "/usr/include/gentoo-multilib/amd64/locale.h" 3 4
18774 extern __locale_t duplocale (__locale_t __dataset) __attribute__ ((__nothrow__));
18778 extern void freelocale (__locale_t __dataset) __attribute__ ((__nothrow__));
18785 extern __locale_t uselocale (__locale_t __dataset) __attribute__ ((__nothrow__));
18789 #define LC_GLOBAL_LOCALE ((__locale_t) -1L)
18794 # 9 "/usr/include/locale.h" 2 3 4
18795 # 32 "/usr/include/xine/xineintl.h" 2 3 4
18796 # 43 "/usr/include/xine/xineintl.h" 3 4
18797 #define textdomain(String) (String)
18798 #define gettext(String) (String)
18799 #define dgettext(Domain,Message) (Message)
18800 #define dcgettext(Domain,Message,Type) (Message)
18801 #define ngettext(Singular,Plural,IsPlural) (Singular)
18802 #define bindtextdomain(Domain,Directory) (Domain)
18803 #define _(String) (String)
18804 #define N_(String) (String)
18805 # 64 "/usr/include/xine/xine_internal.h" 2 3 4
18806 # 1 "/usr/include/xine/plugin_catalog.h" 1 3 4
18807 # 27 "/usr/include/xine/plugin_catalog.h" 3 4
18808 #define _PLUGIN_CATALOG_H
18814 # 1 "/usr/include/xine/xine_plugin.h" 1 3 4
18815 # 27 "/usr/include/xine/xine_plugin.h" 3 4
18816 #define XINE_PLUGIN_H
18818 #define PLUGIN_NONE 0
18819 #define PLUGIN_INPUT 1
18820 #define PLUGIN_DEMUX 2
18821 #define PLUGIN_AUDIO_DECODER 3
18822 #define PLUGIN_VIDEO_DECODER 4
18823 #define PLUGIN_SPU_DECODER 5
18824 #define PLUGIN_AUDIO_OUT 6
18825 #define PLUGIN_VIDEO_OUT 7
18826 #define PLUGIN_POST 8
18828 #define PLUGIN_TYPE_MAX PLUGIN_POST
18833 #define PLUGIN_MUST_PRELOAD (1 << 7)
18838 #define PLUGIN_NO_UNLOAD (1 << 6)
18840 #define PLUGIN_TYPE_MASK ((1 << 6) - 1)
18847 const void *special_info;
18848 void *(*init)(xine_t *, void *);
18865 uint32_t *supported_types;
18883 # 106 "/usr/include/xine/xine_plugin.h" 3 4
18884 void xine_register_plugins(xine_t *self, plugin_info_t *info) ;
18885 # 34 "/usr/include/xine/plugin_catalog.h" 2 3 4
18889 #define DECODER_MAX 128
18890 #define PLUGIN_MAX 256
18893 #define PLUGINS_PER_TYPE 10
18895 #define CACHE_CATALOG_VERSION 2
18896 #define CACHE_CATALOG_FILE ".xine/catalog.cache"
18897 #define CACHE_CATALOG_DIR ".xine"
18909 plugin_file_t *file;
18910 plugin_info_t *info;
18911 void *plugin_class;
18916 struct plugin_catalog_s {
18917 xine_sarray_t *plugin_lists[8];
18919 xine_sarray_t *cache_list;
18920 xine_list_t *file_list;
18922 plugin_node_t *audio_decoder_map[128][10];
18923 plugin_node_t *video_decoder_map[128][10];
18924 plugin_node_t *spu_decoder_map[128][10];
18926 const char *ids[256];
18929 char *prio_desc[128];
18931 pthread_mutex_t lock;
18936 typedef struct plugin_catalog_s plugin_catalog_t;
18937 # 93 "/usr/include/xine/plugin_catalog.h" 3 4
18938 void _x_scan_plugins (xine_t *this) ;
18945 void _x_dispose_plugins (xine_t *this) ;
18946 # 65 "/usr/include/xine/xine_internal.h" 2 3 4
18947 # 1 "/usr/include/xine/video_decoder.h" 1 3 4
18948 # 27 "/usr/include/xine/video_decoder.h" 3 4
18949 #define HAVE_VIDEO_DECODER_H
18950 # 37 "/usr/include/xine/video_decoder.h" 3 4
18951 #define VIDEO_DECODER_IFACE_VERSION 18
18958 typedef struct video_decoder_class_s video_decoder_class_t;
18959 typedef struct video_decoder_s video_decoder_t;
18961 struct video_decoder_class_s {
18966 video_decoder_t* (*open_plugin) (video_decoder_class_t *this, xine_stream_t *stream);
18971 char* (*get_identifier) (video_decoder_class_t *this);
18977 char* (*get_description) (video_decoder_class_t *this);
18982 void (*dispose) (video_decoder_class_t *this);
18986 struct video_decoder_s {
18992 void (*decode_data) (video_decoder_t *this, buf_element_t *buf);
18998 void (*reset) (video_decoder_t *this);
19004 void (*discontinuity) (video_decoder_t *this);
19009 void (*flush) (video_decoder_t *this);
19014 void (*dispose) (video_decoder_t *this);
19020 # 66 "/usr/include/xine/xine_internal.h" 2 3 4
19021 # 1 "/usr/include/xine/audio_decoder.h" 1 3 4
19022 # 27 "/usr/include/xine/audio_decoder.h" 3 4
19023 #define HAVE_AUDIO_DECODER_H
19024 # 37 "/usr/include/xine/audio_decoder.h" 3 4
19025 #define AUDIO_DECODER_IFACE_VERSION 15
19031 typedef struct audio_decoder_class_s audio_decoder_class_t;
19032 typedef struct audio_decoder_s audio_decoder_t;
19034 struct audio_decoder_class_s {
19039 audio_decoder_t* (*open_plugin) (audio_decoder_class_t *this, xine_stream_t *stream);
19044 char* (*get_identifier) (audio_decoder_class_t *this);
19050 char* (*get_description) (audio_decoder_class_t *this);
19056 void (*dispose) (audio_decoder_class_t *this);
19060 struct audio_decoder_s {
19066 void (*decode_data) (audio_decoder_t *this, buf_element_t *buf);
19072 void (*reset) (audio_decoder_t *this);
19078 void (*discontinuity) (audio_decoder_t *this);
19083 void (*dispose) (audio_decoder_t *this);
19088 # 67 "/usr/include/xine/xine_internal.h" 2 3 4
19089 # 1 "/usr/include/xine/spu_decoder.h" 1 3 4
19090 # 25 "/usr/include/xine/spu_decoder.h" 3 4
19091 #define HAVE_SPU_API_H
19092 # 35 "/usr/include/xine/spu_decoder.h" 3 4
19093 #define SPU_DECODER_IFACE_VERSION 16
19099 typedef struct spu_decoder_class_s spu_decoder_class_t;
19100 typedef struct spu_decoder_s spu_decoder_t;
19102 struct spu_decoder_class_s {
19107 spu_decoder_t* (*open_plugin) (spu_decoder_class_t *this, xine_stream_t *stream);
19112 char* (*get_identifier) (spu_decoder_class_t *this);
19118 char* (*get_description) (spu_decoder_class_t *this);
19123 void (*dispose) (spu_decoder_class_t *this);
19127 struct spu_decoder_s {
19132 void (*decode_data) (spu_decoder_t *this, buf_element_t *buf);
19138 void (*reset) (spu_decoder_t *this);
19144 void (*discontinuity) (spu_decoder_t *this);
19149 void (*dispose) (spu_decoder_t *this);
19150 # 103 "/usr/include/xine/spu_decoder.h" 3 4
19151 int (*get_interact_info) (spu_decoder_t *this, void *data);
19152 # 112 "/usr/include/xine/spu_decoder.h" 3 4
19153 void (*set_button) (spu_decoder_t *this_gen, int32_t button, int32_t mode);
19157 # 142 "/usr/include/xine/spu_decoder.h" 3 4
19158 int _x_spu_decoder_sleep(xine_stream_t *, int64_t next_spu_vpts) ;
19159 # 68 "/usr/include/xine/xine_internal.h" 2 3 4
19160 # 1 "/usr/include/xine/scratch.h" 1 3 4
19161 # 27 "/usr/include/xine/scratch.h" 3 4
19162 #define HAVE_SCRATCH_H
19165 # 1 "/usr/include/pthread.h" 1 3 4
19166 # 31 "/usr/include/xine/scratch.h" 2 3 4
19168 typedef struct scratch_buffer_s scratch_buffer_t;
19170 #define SCRATCH_LINE_LEN_MAX 1024
19172 struct scratch_buffer_s {
19176 __attribute__((__format__(__printf__, 2, 0)))
19178 (*scratch_printf) (scratch_buffer_t *this, const char *format, va_list ap);
19180 char **(*get_content) (scratch_buffer_t *this);
19182 void (*dispose) (scratch_buffer_t *this);
19190 pthread_mutex_t lock;
19193 scratch_buffer_t *_x_new_scratch_buffer (int num_lines) ;
19194 # 69 "/usr/include/xine/xine_internal.h" 2 3 4
19195 # 1 "/usr/include/xine/broadcaster.h" 1 3 4
19196 # 27 "/usr/include/xine/broadcaster.h" 3 4
19197 #define HAVE_BROADCASTER_H
19204 # 1 "../../../config.h" 1 3 4
19205 # 14 "../../../config.h" 3 4
19206 #define DIRECTFB_VERSION "0.9.25"
19209 #define HAVE_DLFCN_H 1
19215 #define HAVE_INTTYPES_H 1
19218 #define HAVE_MEMORY_H 1
19221 #define HAVE_STDINT_H 1
19224 #define HAVE_STDLIB_H 1
19227 #define HAVE_STRINGS_H 1
19230 #define HAVE_STRING_H 1
19233 #define HAVE_SYS_STAT_H 1
19236 #define HAVE_SYS_TYPES_H 1
19239 #define HAVE_UNISTD_H 1
19242 #define PACKAGE_BUGREPORT ""
19245 #define PACKAGE_NAME ""
19248 #define PACKAGE_STRING ""
19251 #define PACKAGE_TARNAME ""
19254 #define PACKAGE_VERSION ""
19257 #define STDC_HEADERS 1
19261 # 35 "/usr/include/xine/broadcaster.h" 2 3 4
19264 typedef struct broadcaster_s broadcaster_t;
19266 broadcaster_t *_x_init_broadcaster(xine_stream_t *stream, int port) ;
19267 void _x_close_broadcaster(broadcaster_t *this) ;
19268 int _x_get_broadcaster_port(broadcaster_t *this) ;
19269 # 70 "/usr/include/xine/xine_internal.h" 2 3 4
19270 # 1 "/usr/include/xine/io_helper.h" 1 3 4
19271 # 24 "/usr/include/xine/io_helper.h" 3 4
19272 #define IO_HELPER_H
19274 # 1 "/usr/include/xine/xine_internal.h" 1 3 4
19275 # 27 "/usr/include/xine/io_helper.h" 2 3 4
19279 #define XIO_READ_READY 1
19280 #define XIO_WRITE_READY 2
19283 #define XIO_READY 0
19284 #define XIO_ERROR 1
19285 #define XIO_ABORTED 2
19286 #define XIO_TIMEOUT 3
19287 # 61 "/usr/include/xine/io_helper.h" 3 4
19288 int _x_io_select (xine_stream_t *stream, int fd, int state, int timeout_msec) ;
19289 # 74 "/usr/include/xine/io_helper.h" 3 4
19290 int _x_io_tcp_connect(xine_stream_t *stream, const char *host, int port) ;
19291 # 90 "/usr/include/xine/io_helper.h" 3 4
19292 int _x_io_tcp_connect_finish(xine_stream_t *stream, int fd, int timeout_msec) ;
19293 # 100 "/usr/include/xine/io_helper.h" 3 4
19294 off_t _x_io_tcp_read (xine_stream_t *stream, int s, char *buf, off_t todo) ;
19295 # 111 "/usr/include/xine/io_helper.h" 3 4
19296 off_t _x_io_tcp_write (xine_stream_t *stream, int s, char *buf, off_t todo) ;
19297 # 121 "/usr/include/xine/io_helper.h" 3 4
19298 off_t _x_io_file_read (xine_stream_t *stream, int fd, char *buf, off_t todo) ;
19299 # 132 "/usr/include/xine/io_helper.h" 3 4
19300 off_t _x_io_file_write (xine_stream_t *stream, int fd, char *buf, off_t todo) ;
19307 int _x_io_tcp_read_line(xine_stream_t *stream, int sock, char *str, int size) ;
19308 # 71 "/usr/include/xine/xine_internal.h" 2 3 4
19309 # 1 "/usr/include/xine/info_helper.h" 1 3 4
19310 # 27 "/usr/include/xine/info_helper.h" 3 4
19311 #define INFO_HELPER_H
19312 # 41 "/usr/include/xine/info_helper.h" 3 4
19313 void _x_stream_info_set(xine_stream_t *stream, int info, int value) ;
19314 # 51 "/usr/include/xine/info_helper.h" 3 4
19315 void _x_stream_info_reset(xine_stream_t *stream, int info) ;
19316 # 61 "/usr/include/xine/info_helper.h" 3 4
19317 void _x_stream_info_public_reset(xine_stream_t *stream, int info) ;
19318 # 71 "/usr/include/xine/info_helper.h" 3 4
19319 uint32_t _x_stream_info_get(xine_stream_t *stream, int info) ;
19320 # 81 "/usr/include/xine/info_helper.h" 3 4
19321 uint32_t _x_stream_info_get_public(xine_stream_t *stream, int info) ;
19322 # 92 "/usr/include/xine/info_helper.h" 3 4
19323 void _x_meta_info_set(xine_stream_t *stream, int info, const char *str) ;
19324 # 103 "/usr/include/xine/info_helper.h" 3 4
19325 void _x_meta_info_set_utf8(xine_stream_t *stream, int info, const char *str) ;
19326 # 115 "/usr/include/xine/info_helper.h" 3 4
19327 void _x_meta_info_set_generic(xine_stream_t *stream, int info, const char *str, const char *enc) ;
19328 # 126 "/usr/include/xine/info_helper.h" 3 4
19329 void _x_meta_info_set_multi(xine_stream_t *stream, int info, ...) ;
19330 # 138 "/usr/include/xine/info_helper.h" 3 4
19331 void _x_meta_info_n_set(xine_stream_t *stream, int info, const char *buf, int len) ;
19332 # 148 "/usr/include/xine/info_helper.h" 3 4
19333 void _x_meta_info_reset(xine_stream_t *stream, int info) ;
19334 # 158 "/usr/include/xine/info_helper.h" 3 4
19335 void _x_meta_info_public_reset(xine_stream_t *stream, int info) ;
19336 # 168 "/usr/include/xine/info_helper.h" 3 4
19337 const char *_x_meta_info_get(xine_stream_t *stream, int info) ;
19338 # 178 "/usr/include/xine/info_helper.h" 3 4
19339 const char *_x_meta_info_get_public(xine_stream_t *stream, int info) ;
19340 # 72 "/usr/include/xine/xine_internal.h" 2 3 4
19341 # 1 "/usr/include/xine/alphablend.h" 1 3 4
19342 # 26 "/usr/include/xine/alphablend.h" 3 4
19343 #define __ALPHABLEND_H__
19345 # 1 "/usr/include/xine/video_out.h" 1 3 4
19346 # 29 "/usr/include/xine/alphablend.h" 2 3 4
19352 int disable_exact_blending;
19354 int offset_x, offset_y;
19357 void _x_alphablend_init(alphablend_t *extra_data, xine_t *xine) ;
19358 void _x_alphablend_free(alphablend_t *extra_data) ;
19361 #undef ATTRIBUTE_PACKED
19362 #undef PRAGMA_PACK_BEGIN
19363 #undef PRAGMA_PACK_END
19366 #define ATTRIBUTE_PACKED __attribute__ ((packed))
19367 #define PRAGMA_PACK 0
19368 # 61 "/usr/include/xine/alphablend.h" 3 4
19374 } __attribute__ ((packed)) clut_t;
19381 #define XX44_PALETTE_SIZE 32
19386 uint32_t cluts[32];
19388 int lookup_cache[256*2];
19392 void _x_blend_rgb16 (uint8_t * img, vo_overlay_t * img_overl,
19393 int img_width, int img_height,
19394 int dst_width, int dst_height,
19395 alphablend_t *extra_data) ;
19397 void _x_blend_rgb24 (uint8_t * img, vo_overlay_t * img_overl,
19398 int img_width, int img_height,
19399 int dst_width, int dst_height,
19400 alphablend_t *extra_data) ;
19402 void _x_blend_rgb32 (uint8_t * img, vo_overlay_t * img_overl,
19403 int img_width, int img_height,
19404 int dst_width, int dst_height,
19405 alphablend_t *extra_data) ;
19407 void _x_blend_yuv (uint8_t *dst_base[3], vo_overlay_t * img_overl,
19408 int dst_width, int dst_height, int dst_pitches[3],
19409 alphablend_t *extra_data) ;
19411 void _x_blend_yuy2 (uint8_t * dst_img, vo_overlay_t * img_overl,
19412 int dst_width, int dst_height, int dst_pitch,
19413 alphablend_t *extra_data) ;
19414 # 114 "/usr/include/xine/alphablend.h" 3 4
19415 void _x_blend_xx44 (uint8_t *dst_img, vo_overlay_t *img_overl,
19416 int dst_width, int dst_height, int dst_pitch,
19417 alphablend_t *extra_data,
19418 xx44_palette_t *palette,int ia44) ;
19424 void _x_clear_xx44_palette(xx44_palette_t *p) ;
19425 void _x_init_xx44_palette(xx44_palette_t *p, unsigned num_entries) ;
19426 void _x_dispose_xx44_palette(xx44_palette_t *p) ;
19432 void _x_xx44_to_xvmc_palette(const xx44_palette_t *p,unsigned char *xvmc_palette,
19433 unsigned first_xx44_entry, unsigned num_xx44_entries,
19434 unsigned num_xvmc_components, char *xvmc_components) ;
19435 # 73 "/usr/include/xine/xine_internal.h" 2 3 4
19439 #define XINE_MAX_EVENT_LISTENERS 50
19440 #define XINE_MAX_EVENT_TYPES 100
19443 #define XINE_VERSION_CODE XINE_MAJOR_VERSION*10000+XINE_MINOR_VERSION*100+XINE_SUB_VERSION
19450 #define XINE_LOG_MSG 0
19451 #define XINE_LOG_PLUGIN 1
19452 #define XINE_LOG_TRACE 2
19453 #define XINE_LOG_NUM 3
19455 #define XINE_STREAM_INFO_MAX 99
19457 typedef struct xine_ticket_s xine_ticket_t;
19465 config_values_t *config;
19467 plugin_catalog_t *plugin_catalog;
19469 int demux_strategy;
19473 scratch_buffer_t *log_buffers[3];
19477 xine_list_t *streams;
19478 pthread_mutex_t streams_lock;
19480 metronom_clock_t *clock;
19492 struct xine_ticket_s {
19500 int ticket_revoked;
19505 void (*acquire)(xine_ticket_t *self, int irrevocable);
19508 void (*release)(xine_ticket_t *self, int irrevocable);
19514 void (*renew)(xine_ticket_t *self, int irrevocable);
19515 # 174 "/usr/include/xine/xine_internal.h" 3 4
19522 struct xine_event_queue_s {
19523 xine_list_t *events;
19524 pthread_mutex_t lock;
19525 pthread_cond_t new_event;
19526 pthread_cond_t events_processed;
19527 xine_stream_t *stream;
19528 pthread_t *listener_thread;
19529 xine_event_listener_cb_t callback;
19530 int callback_running;
19538 struct xine_stream_s {
19544 metronom_t *metronom;
19547 input_plugin_t *input_plugin;
19550 int content_detection_method;
19553 xine_video_port_t *video_out;
19556 fifo_buffer_t *video_fifo;
19559 xine_audio_port_t *audio_out;
19562 fifo_buffer_t *audio_fifo;
19565 osd_renderer_t *osd_renderer;
19568 xine_stream_t *master;
19569 xine_stream_t *slave;
19572 spu_decoder_t *spu_decoder_plugin;
19575 vo_driver_t *video_driver;
19578 int audio_channel_auto;
19579 int spu_decoder_streamtype;
19580 int spu_channel_user;
19581 int spu_channel_auto;
19582 int spu_channel_letterbox;
19584 # 349 "/usr/include/xine/xine_internal.h" 3 4
19589 #define XINE_ANON_STREAM ((xine_stream_t *)-1)
19596 void _x_handle_stream_end (xine_stream_t *stream, int non_user) ;
19600 int _x_message(xine_stream_t *stream, int type, ...) ;
19604 void _x_flush_events_queues (xine_stream_t *stream) ;
19609 input_plugin_t *_x_find_input_plugin (xine_stream_t *stream, const char *mrl) ;
19610 demux_plugin_t *_x_find_demux_plugin (xine_stream_t *stream, input_plugin_t *input) ;
19611 demux_plugin_t *_x_find_demux_plugin_by_name (xine_stream_t *stream, const char *name, input_plugin_t *input) ;
19612 demux_plugin_t *_x_find_demux_plugin_last_probe(xine_stream_t *stream, const char *last_demux_name, input_plugin_t *input) ;
19613 input_plugin_t *_x_rip_plugin_get_instance (xine_stream_t *stream, const char *filename) ;
19614 input_plugin_t *_x_cache_plugin_get_instance (xine_stream_t *stream, int readahead_size) ;
19615 void _x_free_input_plugin (xine_stream_t *stream, input_plugin_t *input) ;
19616 void _x_free_demux_plugin (xine_stream_t *stream, demux_plugin_t *demux) ;
19620 int _x_video_decoder_init (xine_stream_t *stream) ;
19621 void _x_video_decoder_shutdown (xine_stream_t *stream) ;
19623 int _x_audio_decoder_init (xine_stream_t *stream) ;
19624 void _x_audio_decoder_shutdown (xine_stream_t *stream) ;
19627 void _x_extra_info_reset( extra_info_t *extra_info ) ;
19629 void _x_extra_info_merge( extra_info_t *dst, extra_info_t *src ) ;
19631 void _x_get_current_info (xine_stream_t *stream, extra_info_t *extra_info, int size) ;
19632 # 409 "/usr/include/xine/xine_internal.h" 3 4
19633 void _x_demux_flush_engine (xine_stream_t *stream) ;
19635 void _x_demux_control_nop (xine_stream_t *stream, uint32_t flags) ;
19636 void _x_demux_control_newpts (xine_stream_t *stream, int64_t pts, uint32_t flags) ;
19637 void _x_demux_control_headers_done (xine_stream_t *stream) ;
19638 void _x_demux_control_start (xine_stream_t *stream) ;
19639 void _x_demux_control_end (xine_stream_t *stream, uint32_t flags) ;
19640 int _x_demux_start_thread (xine_stream_t *stream) ;
19641 int _x_demux_stop_thread (xine_stream_t *stream) ;
19642 int _x_demux_read_header (input_plugin_t *input, unsigned char *buffer, off_t size) ;
19643 int _x_demux_check_extension (const char *mrl, const char *extensions) ;
19645 off_t _x_read_abort (xine_stream_t *stream, int fd, char *buf, off_t todo) ;
19647 int _x_action_pending (xine_stream_t *stream) ;
19649 void _x_demux_send_data(fifo_buffer_t *fifo, uint8_t *data, int size,
19650 int64_t pts, uint32_t type, uint32_t decoder_flags,
19651 int input_normpos, int input_time, int total_time,
19652 uint32_t frame_number) ;
19654 int _x_demux_read_send_data(fifo_buffer_t *fifo, input_plugin_t *input,
19655 int size, int64_t pts, uint32_t type,
19656 uint32_t decoder_flags, off_t input_normpos,
19657 int input_time, int total_time,
19658 uint32_t frame_number) ;
19660 void _x_demux_send_mrl_reference (xine_stream_t *stream, int alternative,
19661 const char *mrl, const char *title,
19662 int start_time, int duration) ;
19663 # 448 "/usr/include/xine/xine_internal.h" 3 4
19664 video_decoder_t *_x_get_video_decoder (xine_stream_t *stream, uint8_t stream_type) ;
19665 void _x_free_video_decoder (xine_stream_t *stream, video_decoder_t *decoder) ;
19666 audio_decoder_t *_x_get_audio_decoder (xine_stream_t *stream, uint8_t stream_type) ;
19667 void _x_free_audio_decoder (xine_stream_t *stream, audio_decoder_t *decoder) ;
19668 spu_decoder_t *_x_get_spu_decoder (xine_stream_t *stream, uint8_t stream_type) ;
19669 void _x_free_spu_decoder (xine_stream_t *stream, spu_decoder_t *decoder) ;
19671 int _x_decoder_available (xine_t *xine, uint32_t buftype) ;
19679 vo_driver_t *_x_load_video_output_plugin(xine_t *this,
19680 char *id, int visual_type, void *visual) ;
19681 # 476 "/usr/include/xine/xine_internal.h" 3 4
19682 ao_driver_t *_x_load_audio_output_plugin (xine_t *self, char *id) ;
19685 void _x_set_speed (xine_stream_t *stream, int speed) ;
19687 int _x_get_speed (xine_stream_t *stream) ;
19689 void _x_set_fine_speed (xine_stream_t *stream, int speed) ;
19691 int _x_get_fine_speed (xine_stream_t *stream) ;
19693 void _x_select_spu_channel (xine_stream_t *stream, int channel) ;
19695 int _x_get_audio_channel (xine_stream_t *stream) ;
19697 int _x_get_spu_channel (xine_stream_t *stream) ;
19704 #define XINE_EVENT_PIDS_CHANGE 0x80000000
19712 } xine_pids_data_t;
19713 # 46 "video_out_dfb.c" 2
19717 # 1 "video_out_dfb.h" 1
19718 # 21 "video_out_dfb.h"
19719 #define __VIDEO_OUT_DFB_H__
19726 typedef void (*DVOutputCallback) ( void *cdata,
19730 DFBSurfacePixelFormat format,
19731 DFBRectangle *dest_rect );
19734 IDirectFBSurface *destination;
19735 IDirectFBSurface *subpicture;
19737 DVOutputCallback output_cb;
19738 void *output_cdata;
19740 DVFrameCallback frame_cb;
19745 DVFrameCallback frame_cb;
19747 } dfb_framecallback_t;
19748 # 96 "video_out_dfb.h"
19749 typedef struct dfb_frame_s dfb_frame_t;
19750 typedef struct dfb_driver_s dfb_driver_t;
19789 uint32_t period[2];
19797 typedef void (*DVProcFunc) ( dfb_frame_t *frame );
19799 typedef void (*DVBlendFunc) ( DVBlender *blender,
19804 MF_NONE = 0x0000000,
19808 MF_ALL = 0x00000007
19811 struct dfb_frame_s {
19812 vo_frame_t vo_frame;
19820 CoreSurface *surface;
19821 uint8_t *out_plane[3];
19822 uint32_t out_pitch[3];
19825 MixerFlags mixer_set;
19829 struct dfb_driver_s {
19830 vo_driver_t vo_driver;
19835 int max_num_frames;
19844 IDirectFBSurface *dest;
19845 IDirectFBSurface_data *dest_data;
19846 DFBSurfacePixelFormat dest_format;
19848 IDirectFBSurface *ovl;
19849 IDirectFBSurface_data *ovl_data;
19854 DFBSurfacePixelFormat frame_format;
19867 double output_ratio;
19869 DVOutputCallback output_cb;
19870 void* output_cdata;
19872 DVFrameCallback frame_cb;
19877 video_driver_class_t vo_class;
19879 } dfb_driver_class_t;
19884 #define DFB_PFUNCTION_GEN_NAME(a,s,d) __ ##a ##_ ##s ##_be_ ##d
19885 #define DFB_BFUNCTION_GEN_NAME(a,d) __ ##a ##_blend_ ##d
19887 #define DFB_PFUNCTION_NAME(a,s,d) DFB_PFUNCTION_GEN_NAME( a, s, d )
19888 #define DFB_BFUNCTION_NAME(a,d) DFB_BFUNCTION_GEN_NAME( a, d )
19890 #define DFB_PFUNCTION(s,d) void DFB_PFUNCTION_NAME( PACCEL, s, d ) ( dfb_frame_t *frame )
19893 #define DFB_BFUNCTION(d) void DFB_BFUNCTION_NAME( PACCEL, d ) ( DVBlender *blender, DVColor *color )
19897 #define DFB_PFUNCTION_ASSIGN(a,s,d,f) ProcFuncs[(#s=="yuy2")?0:1][DFB_PIXELFORMAT_INDEX(f)] = DFB_PFUNCTION_NAME(a,s,d)
19900 #define DFB_BFUNCTION_ASSIGN(a,d,f) BlendFuncs[DFB_PIXELFORMAT_INDEX(f)] = DFB_BFUNCTION_NAME( a, d )
19907 #define min(a,b) (((a)<(b)) ? (a) : (b))
19912 #define max(a,b) (((a)>(b)) ? (a) : (b))
19917 #define CLAMP(a,min,max) (((a)<(min)) ? (min) : (((a)>(max)) ? (max) : (a)))
19920 #define __aligned(n) __attribute__((aligned((n))))
19922 #define __used __attribute__((used))
19923 # 314 "video_out_dfb.h"
19924 #define BENCH_BEGIN(area)
19925 #define BENCH_END() (void) this;
19926 # 50 "video_out_dfb.c" 2
19930 static const DVProcMatrix proc_matrices[] = {
19932 .name = "ITURBT601",
19949 .name = "ITURBT709",
20001 #define N_MATRICES (sizeof(proc_matrices)/sizeof(DVProcMatrix))
20030 } __attribute__((aligned((8)))) proc_table;
20036 # 1 "video_out_dfb_proc.h" 1
20037 # 20 "video_out_dfb_proc.h"
20038 #define PACCEL generic
20041 #define LOADUV(u,v) { register int _u = (u); register int _v = (v); cr1 = proc_table.vr[_v]; cr2 = proc_table.vg[_v] + proc_table.ug[_u]; cr3 = proc_table.ub[_u];}
20042 # 33 "video_out_dfb_proc.h"
20043 #define YUV2RGB(y,r,g,b) { register int _y; _y = proc_table.lm[(y)]; (r) = _y + cr1; (g) = _y + cr2; (b) = _y + cr3;}
20044 # 42 "video_out_dfb_proc.h"
20045 #define CLAMP8(p) (((uint8_t *)proc_table.clamp.p)[p])
20046 #define CLAMP16(p) (((uint16_t*)proc_table.clamp.p)[p])
20047 #define CLAMP32(p) (((uint32_t*)proc_table.clamp.p)[p])
20048 # 62 "video_out_dfb_proc.h"
20049 #define YUY2_Y0(p) (((p)&0x000000ff) )
20050 #define YUY2_Y1(p) (((p)&0x00ff0000)>>16)
20051 #define YUY2_CB(p) (((p)&0x0000ff00)>> 8)
20052 #define YUY2_CR(p) (((p)&0xff000000)>>24)
20053 #define YUY2_Y0_SHIFT 0
20054 #define YUY2_Y1_SHIFT 16
20055 #define YUY2_CB_SHIFT 8
20056 #define YUY2_CR_SHIFT 24
20057 #define UYVY_Y0_SHIFT 8
20058 #define UYVY_Y1_SHIFT 24
20059 #define UYVY_CB_SHIFT 0
20060 #define UYVY_CR_SHIFT 16
20066 void __generic_yuy2_be_yuy2 ( dfb_frame_t *frame )
20068 uint32_t *S = (uint32_t*) frame->vo_frame.base[0];
20069 uint32_t *D = (uint32_t*) frame->out_plane[0];
20070 int n = frame->area/4;
20071 int set = frame->mixer_set;
20074 register uint32_t Spix, Dpix;
20079 Dpix = proc_table.uv[(Spix&0x0000ff00)>> 8] << 8;
20080 Dpix |= proc_table.uv[(Spix&0xff000000)>>24] << 24;
20082 Dpix = Spix & 0xff00ff00;
20084 if (set & (MF_B | MF_C)) {
20085 Dpix |= proc_table.lm[(Spix&0x000000ff)];
20086 Dpix |= proc_table.lm[(Spix&0x00ff0000)>>16] << 16;
20088 Dpix |= Spix & 0x00ff000ff;
20095 Dpix = proc_table.uv[(Spix&0x0000ff00)>> 8] << 8;
20096 Dpix |= proc_table.uv[(Spix&0xff000000)>>24] << 24;
20098 Dpix = Spix & 0xff00ff00;
20100 if (set & (MF_B | MF_C)) {
20101 Dpix |= proc_table.lm[(Spix&0x000000ff)];
20102 Dpix |= proc_table.lm[(Spix&0x00ff0000)>>16] << 16;
20104 Dpix |= Spix & 0x00ff000ff;
20114 void __generic_yuy2_be_uyvy ( dfb_frame_t *frame )
20116 uint32_t *S = (uint32_t*) frame->vo_frame.base[0];
20117 uint32_t *D = (uint32_t*) frame->out_plane[0];
20118 int n = frame->area/4;
20119 int set = frame->mixer_set;
20123 register uint32_t Spix, Dpix;
20128 Dpix = proc_table.uv[(Spix&0x0000ff00)>> 8];
20129 Dpix |= proc_table.uv[(Spix&0xff000000)>>24] << 16;
20131 Dpix = (Spix & 0xff00ff00) >> 8;
20133 if (set & (MF_B | MF_C)) {
20134 Dpix |= proc_table.lm[(Spix&0x000000ff)] << 8;
20135 Dpix |= proc_table.lm[(Spix&0x00ff0000)>>16] << 24;
20137 Dpix |= (Spix & 0x00ff00ff) << 8;
20144 Dpix = proc_table.uv[(Spix&0x0000ff00)>> 8];
20145 Dpix |= proc_table.uv[(Spix&0xff000000)>>24] << 16;
20147 Dpix = (Spix & 0xff00ff00) >> 8;
20149 if (set & (MF_B | MF_C)) {
20150 Dpix |= proc_table.lm[(Spix&0x000000ff)] << 8;
20151 Dpix |= proc_table.lm[(Spix&0x00ff0000)>>16] << 24;
20153 Dpix |= (Spix & 0x00ff00ff) << 8;
20163 register uint32_t Spix;
20166 *(D+0) = ((Spix&0xff00ff00) >> 8) |
20167 ((Spix&0x00ff00ff) << 8);
20170 *(D+1) = ((Spix&0xff00ff00) >> 8) |
20171 ((Spix&0x00ff00ff) << 8);
20180 void __generic_yuy2_be_yv12 ( dfb_frame_t *frame )
20182 uint16_t *S = (uint16_t*) frame->vo_frame.base[0];
20183 uint8_t *Dy = frame->out_plane[0];
20184 uint8_t *Du = frame->out_plane[1];
20185 uint8_t *Dv = frame->out_plane[2];
20186 int w = frame->width;
20187 int l = frame->width/2;
20188 int n = frame->height/2;
20189 int set = frame->mixer_set;
20194 register uint32_t Spix0, Spix1;
20195 register uint32_t pu, pv;
20197 Spix0 = *((uint32_t*)(S+0));
20198 Spix1 = *((uint32_t*)(S+w));
20200 if (set & (MF_B | MF_C)) {
20201 *(Dy+0) = proc_table.lm[(((Spix0)&0x000000ff) )];
20202 *(Dy+1) = proc_table.lm[(((Spix0)&0x00ff0000)>>16)];
20203 *(Dy+w+0) = proc_table.lm[(((Spix1)&0x000000ff) )];
20204 *(Dy+w+1) = proc_table.lm[(((Spix1)&0x00ff0000)>>16)];
20206 *(Dy+0) = (((Spix0)&0x000000ff) );
20207 *(Dy+1) = (((Spix0)&0x00ff0000)>>16);
20208 *(Dy+w+0) = (((Spix1)&0x000000ff) );
20209 *(Dy+w+1) = (((Spix1)&0x00ff0000)>>16);
20212 pu = ((((Spix0)&0x0000ff00)>> 8) + (((Spix1)&0x0000ff00)>> 8)) >> 1;
20213 pv = ((((Spix0)&0xff000000)>>24) + (((Spix1)&0xff000000)>>24)) >> 1;
20216 *Du++ = proc_table.uv[pu];
20217 *Dv++ = proc_table.uv[pv];
20235 register uint32_t Spix0, Spix1;
20237 Spix0 = *((uint32_t*)(S+0));
20238 Spix1 = *((uint32_t*)(S+w));
20240 *(Dy+0) = (((Spix0)&0x000000ff) );
20241 *(Dy+1) = (((Spix0)&0x00ff0000)>>16);
20242 *(Dy+w+0) = (((Spix1)&0x000000ff) );
20243 *(Dy+w+1) = (((Spix1)&0x00ff0000)>>16);
20244 *Du++ = ((((Spix0)&0x0000ff00)>> 8) + (((Spix1)&0x0000ff00)>> 8)) >> 1;
20245 *Dv++ = ((((Spix0)&0xff000000)>>24) + (((Spix1)&0xff000000)>>24)) >> 1;
20259 void __generic_yuy2_be_nv12 ( dfb_frame_t *frame )
20261 uint16_t *S = (uint16_t*) frame->vo_frame.base[0];
20262 uint8_t *Dy = frame->out_plane[0];
20263 uint16_t *Duv = (uint16_t*) frame->out_plane[1];
20264 int w = frame->width;
20265 int l = frame->width/2;
20266 int n = frame->height/2;
20267 int set = frame->mixer_set;
20272 register uint32_t Spix0, Spix1;
20273 register uint32_t pu, pv;
20275 Spix0 = *((uint32_t*)(S+0));
20276 Spix1 = *((uint32_t*)(S+w));
20278 if (set & (MF_B | MF_C)) {
20279 *(Dy+0) = proc_table.lm[(((Spix0)&0x000000ff) )];
20280 *(Dy+1) = proc_table.lm[(((Spix0)&0x00ff0000)>>16)];
20281 *(Dy+w+0) = proc_table.lm[(((Spix1)&0x000000ff) )];
20282 *(Dy+w+1) = proc_table.lm[(((Spix1)&0x00ff0000)>>16)];
20284 *(Dy+0) = (((Spix0)&0x000000ff) );
20285 *(Dy+1) = (((Spix0)&0x00ff0000)>>16);
20286 *(Dy+w+0) = (((Spix1)&0x000000ff) );
20287 *(Dy+w+1) = (((Spix1)&0x00ff0000)>>16);
20290 pu = ((((Spix0)&0x0000ff00)>> 8) + (((Spix1)&0x0000ff00)>> 8)) >> 1;
20291 pv = ((((Spix0)&0xff000000)>>24) + (((Spix1)&0xff000000)>>24)) >> 1;
20294 *Duv++ = proc_table.uv[pu] |
20295 (proc_table.uv[pv] << 8);
20297 *Duv++ = pu | (pv << 8);
20311 register uint32_t Spix0, Spix1;
20313 Spix0 = *((uint32_t*)(S+0));
20314 Spix1 = *((uint32_t*)(S+w));
20316 *(Dy+0) = (((Spix0)&0x000000ff) );
20317 *(Dy+1) = (((Spix0)&0x00ff0000)>>16);
20318 *(Dy+w+0) = (((Spix1)&0x000000ff) );
20319 *(Dy+w+1) = (((Spix1)&0x00ff0000)>>16);
20321 *Duv++ = (((((Spix0)&0x0000ff00)>> 8)+(((Spix1)&0x0000ff00)>> 8))>>1) |
20322 ((((((Spix0)&0xff000000)>>24)+(((Spix1)&0xff000000)>>24))>>1) << 8);
20336 void __generic_yuy2_be_nv21 ( dfb_frame_t *frame )
20338 uint16_t *S = (uint16_t*) frame->vo_frame.base[0];
20339 uint8_t *Dy = frame->out_plane[0];
20340 uint16_t *Dvu = (uint16_t*) frame->out_plane[1];
20341 int w = frame->width;
20342 int l = frame->width/2;
20343 int n = frame->height/2;
20344 int set = frame->mixer_set;
20349 register uint32_t Spix0, Spix1;
20350 register uint32_t pu, pv;
20352 Spix0 = *((uint32_t*)(S+0));
20353 Spix1 = *((uint32_t*)(S+w));
20355 if (set & (MF_B | MF_C)) {
20356 *(Dy+0) = proc_table.lm[(((Spix0)&0x000000ff) )];
20357 *(Dy+1) = proc_table.lm[(((Spix0)&0x00ff0000)>>16)];
20358 *(Dy+w+0) = proc_table.lm[(((Spix1)&0x000000ff) )];
20359 *(Dy+w+1) = proc_table.lm[(((Spix1)&0x00ff0000)>>16)];
20361 *(Dy+0) = (((Spix0)&0x000000ff) );
20362 *(Dy+1) = (((Spix0)&0x00ff0000)>>16);
20363 *(Dy+w+0) = (((Spix1)&0x000000ff) );
20364 *(Dy+w+1) = (((Spix1)&0x00ff0000)>>16);
20367 pu = ((((Spix0)&0x0000ff00)>> 8) + (((Spix1)&0x0000ff00)>> 8)) >> 1;
20368 pv = ((((Spix0)&0xff000000)>>24) + (((Spix1)&0xff000000)>>24)) >> 1;
20371 *Dvu++ = proc_table.uv[pv] |
20372 (proc_table.uv[pu] << 8);
20374 *Dvu++ = pv | (pu << 8);
20388 register uint32_t Spix0, Spix1;
20390 Spix0 = *((uint32_t*)(S+0));
20391 Spix1 = *((uint32_t*)(S+w));
20393 *(Dy+0) = (((Spix0)&0x000000ff) );
20394 *(Dy+1) = (((Spix0)&0x00ff0000)>>16);
20395 *(Dy+w+0) = (((Spix1)&0x000000ff) );
20396 *(Dy+w+1) = (((Spix1)&0x00ff0000)>>16);
20398 *Dvu++ = (((((Spix0)&0xff000000)>>24)+(((Spix1)&0xff000000)>>24))>>1) |
20399 ((((((Spix0)&0x0000ff00)>> 8)+(((Spix1)&0x0000ff00)>> 8))>>1) << 8);
20413 void __generic_yuy2_be_nv16 ( dfb_frame_t *frame )
20415 uint32_t *S = (uint32_t*) frame->vo_frame.base[0];
20416 uint8_t *Dy = frame->out_plane[0];
20417 uint32_t *Duv = (uint32_t*) frame->out_plane[1];
20418 int n = frame->area/4;
20419 int set = frame->mixer_set;
20423 register uint32_t Spix0, Spix1;
20428 if (set & (MF_B | MF_C)) {
20429 *(Dy+0) = proc_table.lm[(((Spix0)&0x000000ff) )];
20430 *(Dy+1) = proc_table.lm[(((Spix0)&0x00ff0000)>>16)];
20431 *(Dy+2) = proc_table.lm[(((Spix1)&0x000000ff) )];
20432 *(Dy+3) = proc_table.lm[(((Spix1)&0x00ff0000)>>16)];
20434 *(Dy+0) = (((Spix0)&0x000000ff) );
20435 *(Dy+1) = (((Spix0)&0x00ff0000)>>16);
20436 *(Dy+2) = (((Spix1)&0x000000ff) );
20437 *(Dy+3) = (((Spix1)&0x00ff0000)>>16);
20439 # 464 "video_out_dfb_proc.h"
20441 *Duv++ = (proc_table.uv[(((Spix0)&0x0000ff00)>> 8)] ) |
20442 (proc_table.uv[(((Spix0)&0xff000000)>>24)] << 8) |
20443 (proc_table.uv[(((Spix1)&0x0000ff00)>> 8)] << 16) |
20444 (proc_table.uv[(((Spix1)&0xff000000)>>24)] << 24);
20446 *Duv++ = ((((Spix0)&0x0000ff00)>> 8) ) | ((((Spix0)&0xff000000)>>24) << 8) |
20447 ((((Spix1)&0x0000ff00)>> 8) << 16) | ((((Spix1)&0xff000000)>>24) << 24);
20457 register uint32_t Spix0, Spix1;
20462 *(Dy+0) = (((Spix0)&0x000000ff) );
20463 *(Dy+1) = (((Spix0)&0x00ff0000)>>16);
20464 *(Dy+2) = (((Spix1)&0x000000ff) );
20465 *(Dy+3) = (((Spix1)&0x00ff0000)>>16);
20471 *Duv++ = ((((Spix0)&0x0000ff00)>> 8) ) | ((((Spix0)&0xff000000)>>24) << 8) |
20472 ((((Spix1)&0x0000ff00)>> 8) << 16) | ((((Spix1)&0xff000000)>>24) << 24);
20482 void __generic_yuy2_be_rgb8 ( dfb_frame_t *frame )
20484 uint32_t *S = (uint32_t*) frame->vo_frame.base[0];
20485 uint8_t *D = frame->out_plane[0];
20486 int n = frame->area/2;
20489 register uint32_t Spix;
20490 register int cr1, cr2, cr3;
20491 register int r, g, b;
20494 { register int _u = ((((Spix)&0x0000ff00)>> 8)); register int _v = ((((Spix)&0xff000000)>>24)); cr1 = proc_table.vr[_v]; cr2 = proc_table.vg[_v] + proc_table.ug[_u]; cr3 = proc_table.ub[_u];};
20496 { register int _y; _y = proc_table.lm[((((Spix)&0x000000ff) ))]; (r) = _y + cr1; (g) = _y + cr2; (b) = _y + cr3;};
20497 *(D+0) = (((uint8_t *)proc_table.clamp.r)[r]) | (((uint8_t *)proc_table.clamp.g)[g]) | (((uint8_t *)proc_table.clamp.b)[b]);
20499 { register int _y; _y = proc_table.lm[((((Spix)&0x00ff0000)>>16))]; (r) = _y + cr1; (g) = _y + cr2; (b) = _y + cr3;};
20500 *(D+1) = (((uint8_t *)proc_table.clamp.r)[r]) | (((uint8_t *)proc_table.clamp.g)[g]) | (((uint8_t *)proc_table.clamp.b)[b]);
20507 void __generic_yuy2_be_rgb16 ( dfb_frame_t *frame )
20509 uint32_t *S = (uint32_t*) frame->vo_frame.base[0];
20510 uint16_t *D = (uint16_t*) frame->out_plane[0];
20511 int n = frame->area/2;
20514 register uint32_t Spix;
20515 register int cr1, cr2, cr3;
20516 register int r, g, b;
20517 register uint32_t p0, p1;
20520 { register int _u = ((((Spix)&0x0000ff00)>> 8)); register int _v = ((((Spix)&0xff000000)>>24)); cr1 = proc_table.vr[_v]; cr2 = proc_table.vg[_v] + proc_table.ug[_u]; cr3 = proc_table.ub[_u];};
20522 { register int _y; _y = proc_table.lm[((((Spix)&0x000000ff) ))]; (r) = _y + cr1; (g) = _y + cr2; (b) = _y + cr3;};
20523 p0 = (((uint16_t*)proc_table.clamp.r)[r]) | (((uint16_t*)proc_table.clamp.g)[g]) | (((uint16_t*)proc_table.clamp.b)[b]);
20525 { register int _y; _y = proc_table.lm[((((Spix)&0x00ff0000)>>16))]; (r) = _y + cr1; (g) = _y + cr2; (b) = _y + cr3;};
20526 p1 = (((uint16_t*)proc_table.clamp.r)[r]) | (((uint16_t*)proc_table.clamp.g)[g]) | (((uint16_t*)proc_table.clamp.b)[b]);
20531 *((uint32_t*)D) = p0 | (p1 << 16);
20539 void __generic_yuy2_be_rgb24 ( dfb_frame_t *frame )
20541 uint32_t *S = (uint32_t*) frame->vo_frame.base[0];
20542 uint8_t *D = frame->out_plane[0];
20543 int n = frame->area/2;
20546 register uint32_t Spix;
20547 register int cr1, cr2, cr3;
20548 register int r, g, b;
20551 { register int _u = ((((Spix)&0x0000ff00)>> 8)); register int _v = ((((Spix)&0xff000000)>>24)); cr1 = proc_table.vr[_v]; cr2 = proc_table.vg[_v] + proc_table.ug[_u]; cr3 = proc_table.ub[_u];};
20553 { register int _y; _y = proc_table.lm[((((Spix)&0x000000ff) ))]; (r) = _y + cr1; (g) = _y + cr2; (b) = _y + cr3;};
20554 *(D+0) = (((uint8_t *)proc_table.clamp.b)[b]);
20555 *(D+1) = (((uint8_t *)proc_table.clamp.g)[g]);
20556 *(D+2) = (((uint8_t *)proc_table.clamp.r)[r]);
20558 { register int _y; _y = proc_table.lm[((((Spix)&0x00ff0000)>>16))]; (r) = _y + cr1; (g) = _y + cr2; (b) = _y + cr3;};
20559 *(D+3) = (((uint8_t *)proc_table.clamp.b)[b]);
20560 *(D+4) = (((uint8_t *)proc_table.clamp.g)[g]);
20561 *(D+5) = (((uint8_t *)proc_table.clamp.r)[r]);
20568 void __generic_yuy2_be_rgb32 ( dfb_frame_t *frame )
20570 uint32_t *S = (uint32_t*) frame->vo_frame.base[0];
20571 uint32_t *D = (uint32_t*) frame->out_plane[0];
20572 int n = frame->area/2;
20575 register uint32_t Spix;
20576 register int cr1, cr2, cr3;
20577 register int r, g, b;
20580 { register int _u = ((((Spix)&0x0000ff00)>> 8)); register int _v = ((((Spix)&0xff000000)>>24)); cr1 = proc_table.vr[_v]; cr2 = proc_table.vg[_v] + proc_table.ug[_u]; cr3 = proc_table.ub[_u];};
20582 { register int _y; _y = proc_table.lm[((((Spix)&0x000000ff) ))]; (r) = _y + cr1; (g) = _y + cr2; (b) = _y + cr3;};
20583 *(D+0) = (((uint32_t*)proc_table.clamp.r)[r]) | (((uint32_t*)proc_table.clamp.g)[g]) | (((uint32_t*)proc_table.clamp.b)[b]);
20585 { register int _y; _y = proc_table.lm[((((Spix)&0x00ff0000)>>16))]; (r) = _y + cr1; (g) = _y + cr2; (b) = _y + cr3;};
20586 *(D+1) = (((uint32_t*)proc_table.clamp.r)[r]) | (((uint32_t*)proc_table.clamp.g)[g]) | (((uint32_t*)proc_table.clamp.b)[b]);
20598 void __generic_yv12_be_yuy2 ( dfb_frame_t *frame )
20600 uint8_t *Sy = frame->vo_frame.base[0];
20601 uint8_t *Su = frame->vo_frame.base[1];
20602 uint8_t *Sv = frame->vo_frame.base[2];
20603 uint16_t *D = (uint16_t*) frame->out_plane[0];
20604 int w = frame->width;
20605 int l = frame->width/2;
20606 int n = frame->height/2;
20607 int set = frame->mixer_set;
20612 register uint32_t Dpix;
20615 Dpix = proc_table.uv[*Su++] << 8;
20616 Dpix |= proc_table.uv[*Sv++] << 24;
20619 Dpix |= *Sv++ << 24;
20622 if (set & (MF_B | MF_C)) {
20623 Dpix |= proc_table.lm[*(Sy+0)] << 0;
20624 Dpix |= proc_table.lm[*(Sy+1)] << 16;
20626 Dpix |= *(Sy+0) << 0;
20627 Dpix |= *(Sy+1) << 16;
20630 *((uint32_t*)D) = Dpix;
20632 Dpix &= 0xff00ff00;
20634 if (set & (MF_B | MF_C)) {
20635 Dpix |= proc_table.lm[*(Sy+w+0)] << 0;
20636 Dpix |= proc_table.lm[*(Sy+w+1)] << 16;
20638 Dpix |= *(Sy+w+0) << 0;
20639 Dpix |= *(Sy+w+1) << 16;
20642 *((uint32_t*)(D+w)) = Dpix;
20656 register uint32_t Dpix;
20659 Dpix |= *Sv++ << 24;
20660 Dpix |= *(Sy+0) << 0;
20661 Dpix |= *(Sy+1) << 16;
20663 *((uint32_t*)D) = Dpix;
20665 Dpix &= 0xff00ff00;
20666 Dpix |= *(Sy+w+0) << 0;
20667 Dpix |= *(Sy+w+1) << 16;
20669 *((uint32_t*)(D+w)) = Dpix;
20683 void __generic_yv12_be_uyvy ( dfb_frame_t *frame )
20685 uint8_t *Sy = frame->vo_frame.base[0];
20686 uint8_t *Su = frame->vo_frame.base[1];
20687 uint8_t *Sv = frame->vo_frame.base[2];
20688 uint16_t *D = (uint16_t*) frame->out_plane[0];
20689 int w = frame->width;
20690 int l = frame->width/2;
20691 int n = frame->height/2;
20692 int set = frame->mixer_set;
20697 register uint32_t Dpix;
20700 Dpix = proc_table.uv[*Su++] << 0;
20701 Dpix |= proc_table.uv[*Sv++] << 16;
20704 Dpix |= *Sv++ << 16;
20707 if (set & (MF_B | MF_C)) {
20708 Dpix |= proc_table.lm[*(Sy+0)] << 8;
20709 Dpix |= proc_table.lm[*(Sy+1)] << 24;
20711 Dpix |= *(Sy+0) << 8;
20712 Dpix |= *(Sy+1) << 24;
20715 *((uint32_t*)D) = Dpix;
20717 Dpix &= 0x00ff00ff;
20719 if (set & (MF_B | MF_C)) {
20720 Dpix |= proc_table.lm[*(Sy+w+0)] << 8;
20721 Dpix |= proc_table.lm[*(Sy+w+1)] << 24;
20723 Dpix |= *(Sy+w+0) << 8;
20724 Dpix |= *(Sy+w+1) << 24;
20727 *((uint32_t*)(D+w)) = Dpix;
20741 register uint32_t Dpix;
20744 Dpix |= *Sv++ << 16;
20745 Dpix |= *(Sy+0) << 8;
20746 Dpix |= *(Sy+1) << 24;
20748 *((uint32_t*)D) = Dpix;
20750 Dpix &= 0x00ff00ff;
20751 Dpix |= *(Sy+w+0) << 8;
20752 Dpix |= *(Sy+w+1) << 24;
20754 *((uint32_t*)(D+w)) = Dpix;
20768 void __generic_yv12_be_yv12 ( dfb_frame_t *frame )
20770 uint8_t *Sy = frame->vo_frame.base[0];
20771 uint8_t *Su = frame->vo_frame.base[1];
20772 uint8_t *Sv = frame->vo_frame.base[2];
20773 uint8_t *Dy = frame->out_plane[0];
20774 uint8_t *Du = frame->out_plane[1];
20775 uint8_t *Dv = frame->out_plane[2];
20776 int set = frame->mixer_set;
20779 if (set & (MF_B | MF_C)) {
20783 *Dy++ = proc_table.lm[*Sy++];
20791 *Du++ = proc_table.uv[*Su++];
20792 *Dv++ = proc_table.uv[*Sv++];
20798 void __generic_yv12_be_nv12 ( dfb_frame_t *frame )
20800 uint8_t *Sy = frame->vo_frame.base[0];
20801 uint8_t *Su = frame->vo_frame.base[1];
20802 uint8_t *Sv = frame->vo_frame.base[2];
20803 uint8_t *Dy = frame->out_plane[0];
20804 uint16_t *Duv = (uint16_t*) frame->out_plane[1];
20805 int set = frame->mixer_set;
20808 if (set & (MF_B | MF_C)) {
20812 *Dy++ = proc_table.lm[*Sy++];
20821 register uint32_t Dpix;
20829 Dpix = (proc_table.uv[*(Su+0)] ) |
20830 (proc_table.uv[*(Sv+0)] << 8) |
20831 (proc_table.uv[*(Su+1)] << 16) |
20832 (proc_table.uv[*(Sv+1)] << 24);
20835 *((uint32_t*)Duv) = Dpix;
20844 register uint32_t Dpix;
20850 Dpix = (*(Su+0) ) | (*(Sv+0) << 8) |
20851 (*(Su+1) << 16) | (*(Sv+1) << 24);
20853 *((uint32_t*)Duv) = Dpix;
20863 void __generic_yv12_be_nv21 ( dfb_frame_t *frame )
20865 uint8_t *Sy = frame->vo_frame.base[0];
20866 uint8_t *Su = frame->vo_frame.base[1];
20867 uint8_t *Sv = frame->vo_frame.base[2];
20868 uint8_t *Dy = frame->out_plane[0];
20869 uint16_t *Dvu = (uint16_t*) frame->out_plane[1];
20870 int set = frame->mixer_set;
20873 if (set & (MF_B | MF_C)) {
20877 *Dy++ = proc_table.lm[*Sy++];
20886 register uint32_t Dpix;
20894 Dpix = (proc_table.uv[*(Sv+0)] ) |
20895 (proc_table.uv[*(Su+0)] << 8) |
20896 (proc_table.uv[*(Sv+1)] << 16) |
20897 (proc_table.uv[*(Su+1)] << 24);
20900 *((uint32_t*)Dvu) = Dpix;
20909 register uint32_t Dpix;
20915 Dpix = (*(Sv+0) ) | (*(Su+0) << 8) |
20916 (*(Sv+1) << 16) | (*(Su+1) << 24);
20918 *((uint32_t*)Dvu) = Dpix;
20928 void __generic_yv12_be_nv16 ( dfb_frame_t *frame )
20930 uint8_t *Sy = frame->vo_frame.base[0];
20931 uint8_t *Su = frame->vo_frame.base[1];
20932 uint8_t *Sv = frame->vo_frame.base[2];
20933 uint8_t *Dy = frame->out_plane[0];
20934 uint16_t *Duv = (uint16_t*) frame->out_plane[1];
20935 int w = frame->width/2;
20936 int l = frame->width/4;
20937 int set = frame->mixer_set;
20940 if (set & (MF_B | MF_C)) {
20944 *Dy++ = proc_table.lm[*Sy++];
20949 n = frame->height/2;
20954 register uint32_t Dpix;
20962 Dpix = (proc_table.uv[*(Su+0)] ) |
20963 (proc_table.uv[*(Sv+0)] << 8) |
20964 (proc_table.uv[*(Su+1)] << 16) |
20965 (proc_table.uv[*(Sv+1)] << 24);
20967 *((uint32_t*)(Duv+0)) = Dpix;
20968 *((uint32_t*)(Duv+w)) = Dpix;
20982 register uint32_t Dpix;
20988 Dpix = (*(Su+0) ) | (*(Sv+0) << 8) |
20989 (*(Su+1) << 16) | (*(Sv+1) << 24);
20991 *((uint32_t*)(Duv+0)) = Dpix;
20992 *((uint32_t*)(Duv+w)) = Dpix;
21006 void __generic_yv12_be_rgb8 ( dfb_frame_t *frame )
21008 uint8_t *Sy = frame->vo_frame.base[0];
21009 uint8_t *Su = frame->vo_frame.base[1];
21010 uint8_t *Sv = frame->vo_frame.base[2];
21011 uint8_t *D = frame->out_plane[0];
21012 int w = frame->width;
21013 int l = frame->width/2;
21014 int n = frame->height/2;
21018 register int cr1, cr2, cr3;
21019 register int r, g, b;
21021 { register int _u = (*Su++); register int _v = (*Sv++); cr1 = proc_table.vr[_v]; cr2 = proc_table.vg[_v] + proc_table.ug[_u]; cr3 = proc_table.ub[_u];};
21023 { register int _y; _y = proc_table.lm[(*(Sy+0))]; (r) = _y + cr1; (g) = _y + cr2; (b) = _y + cr3;};
21024 *(D+0) = (((uint8_t *)proc_table.clamp.r)[r]) | (((uint8_t *)proc_table.clamp.g)[g]) | (((uint8_t *)proc_table.clamp.b)[b]);
21026 { register int _y; _y = proc_table.lm[(*(Sy+1))]; (r) = _y + cr1; (g) = _y + cr2; (b) = _y + cr3;};
21027 *(D+1) = (((uint8_t *)proc_table.clamp.r)[r]) | (((uint8_t *)proc_table.clamp.g)[g]) | (((uint8_t *)proc_table.clamp.b)[b]);
21029 { register int _y; _y = proc_table.lm[(*(Sy+w))]; (r) = _y + cr1; (g) = _y + cr2; (b) = _y + cr3;};
21030 *(D+w) = (((uint8_t *)proc_table.clamp.r)[r]) | (((uint8_t *)proc_table.clamp.g)[g]) | (((uint8_t *)proc_table.clamp.b)[b]);
21032 { register int _y; _y = proc_table.lm[(*(Sy+w+1))]; (r) = _y + cr1; (g) = _y + cr2; (b) = _y + cr3;};
21033 *(D+w+1) = (((uint8_t *)proc_table.clamp.r)[r]) | (((uint8_t *)proc_table.clamp.g)[g]) | (((uint8_t *)proc_table.clamp.b)[b]);
21047 void __generic_yv12_be_rgb16 ( dfb_frame_t *frame )
21049 uint8_t *Sy = frame->vo_frame.base[0];
21050 uint8_t *Su = frame->vo_frame.base[1];
21051 uint8_t *Sv = frame->vo_frame.base[2];
21052 uint16_t *D = (uint16_t*) frame->out_plane[0];
21053 int w = frame->width;
21054 int l = frame->width/2;
21055 int n = frame->height/2;
21059 register int cr1, cr2, cr3;
21060 register int r, g, b;
21061 register uint32_t p0, p1;
21063 { register int _u = (*Su++); register int _v = (*Sv++); cr1 = proc_table.vr[_v]; cr2 = proc_table.vg[_v] + proc_table.ug[_u]; cr3 = proc_table.ub[_u];};
21065 { register int _y; _y = proc_table.lm[(*(Sy+0))]; (r) = _y + cr1; (g) = _y + cr2; (b) = _y + cr3;};
21066 p0 = (((uint16_t*)proc_table.clamp.r)[r]) | (((uint16_t*)proc_table.clamp.g)[g]) | (((uint16_t*)proc_table.clamp.b)[b]);
21068 { register int _y; _y = proc_table.lm[(*(Sy+1))]; (r) = _y + cr1; (g) = _y + cr2; (b) = _y + cr3;};
21069 p1 = (((uint16_t*)proc_table.clamp.r)[r]) | (((uint16_t*)proc_table.clamp.g)[g]) | (((uint16_t*)proc_table.clamp.b)[b]);
21074 *((uint32_t*)D) = p0 | (p1 << 16);
21077 { register int _y; _y = proc_table.lm[(*(Sy+w))]; (r) = _y + cr1; (g) = _y + cr2; (b) = _y + cr3;};
21078 p0 = (((uint16_t*)proc_table.clamp.r)[r]) | (((uint16_t*)proc_table.clamp.g)[g]) | (((uint16_t*)proc_table.clamp.b)[b]);
21080 { register int _y; _y = proc_table.lm[(*(Sy+w+1))]; (r) = _y + cr1; (g) = _y + cr2; (b) = _y + cr3;};
21081 p1 = (((uint16_t*)proc_table.clamp.r)[r]) | (((uint16_t*)proc_table.clamp.g)[g]) | (((uint16_t*)proc_table.clamp.b)[b]);
21086 *((uint32_t*)(D+w)) = p0 | (p1 << 16);
21100 void __generic_yv12_be_rgb24 ( dfb_frame_t *frame )
21102 uint8_t *Sy = frame->vo_frame.base[0];
21103 uint8_t *Su = frame->vo_frame.base[1];
21104 uint8_t *Sv = frame->vo_frame.base[2];
21105 uint8_t *D = frame->out_plane[0];
21106 int w = frame->width;
21107 int l = frame->width/2;
21108 int n = frame->height/2;
21112 register int cr1, cr2, cr3;
21113 register int r, g, b;
21115 { register int _u = (*Su++); register int _v = (*Sv++); cr1 = proc_table.vr[_v]; cr2 = proc_table.vg[_v] + proc_table.ug[_u]; cr3 = proc_table.ub[_u];};
21117 { register int _y; _y = proc_table.lm[(*(Sy+0))]; (r) = _y + cr1; (g) = _y + cr2; (b) = _y + cr3;};
21118 *(D+0) = (((uint8_t *)proc_table.clamp.b)[b]);
21119 *(D+1) = (((uint8_t *)proc_table.clamp.g)[g]);
21120 *(D+2) = (((uint8_t *)proc_table.clamp.r)[r]);
21122 { register int _y; _y = proc_table.lm[(*(Sy+1))]; (r) = _y + cr1; (g) = _y + cr2; (b) = _y + cr3;};
21123 *(D+3) = (((uint8_t *)proc_table.clamp.b)[b]);
21124 *(D+4) = (((uint8_t *)proc_table.clamp.g)[g]);
21125 *(D+5) = (((uint8_t *)proc_table.clamp.r)[r]);
21127 { register int _y; _y = proc_table.lm[(*(Sy+w))]; (r) = _y + cr1; (g) = _y + cr2; (b) = _y + cr3;};
21128 *(D+w+0) = (((uint8_t *)proc_table.clamp.b)[b]);
21129 *(D+w+1) = (((uint8_t *)proc_table.clamp.g)[g]);
21130 *(D+w+2) = (((uint8_t *)proc_table.clamp.r)[r]);
21132 { register int _y; _y = proc_table.lm[(*(Sy+w+1))]; (r) = _y + cr1; (g) = _y + cr2; (b) = _y + cr3;};
21133 *(D+w+3) = (((uint8_t *)proc_table.clamp.b)[b]);
21134 *(D+w+4) = (((uint8_t *)proc_table.clamp.g)[g]);
21135 *(D+w+5) = (((uint8_t *)proc_table.clamp.r)[r]);
21148 void __generic_yv12_be_rgb32 ( dfb_frame_t *frame )
21150 uint8_t *Sy = frame->vo_frame.base[0];
21151 uint8_t *Su = frame->vo_frame.base[1];
21152 uint8_t *Sv = frame->vo_frame.base[2];
21153 uint32_t *D = (uint32_t*) frame->out_plane[0];
21154 int w = frame->width;
21155 int l = frame->width/2;
21156 int n = frame->height/2;
21160 register int cr1, cr2, cr3;
21161 register int r, g, b;
21163 { register int _u = (*Su++); register int _v = (*Sv++); cr1 = proc_table.vr[_v]; cr2 = proc_table.vg[_v] + proc_table.ug[_u]; cr3 = proc_table.ub[_u];};
21165 { register int _y; _y = proc_table.lm[(*(Sy+0))]; (r) = _y + cr1; (g) = _y + cr2; (b) = _y + cr3;};
21166 *(D+0) = (((uint32_t*)proc_table.clamp.r)[r]) | (((uint32_t*)proc_table.clamp.g)[g]) | (((uint32_t*)proc_table.clamp.b)[b]);
21168 { register int _y; _y = proc_table.lm[(*(Sy+1))]; (r) = _y + cr1; (g) = _y + cr2; (b) = _y + cr3;};
21169 *(D+1) = (((uint32_t*)proc_table.clamp.r)[r]) | (((uint32_t*)proc_table.clamp.g)[g]) | (((uint32_t*)proc_table.clamp.b)[b]);
21171 { register int _y; _y = proc_table.lm[(*(Sy+w))]; (r) = _y + cr1; (g) = _y + cr2; (b) = _y + cr3;};
21172 *(D+w) = (((uint32_t*)proc_table.clamp.r)[r]) | (((uint32_t*)proc_table.clamp.g)[g]) | (((uint32_t*)proc_table.clamp.b)[b]);
21174 { register int _y; _y = proc_table.lm[(*(Sy+w+1))]; (r) = _y + cr1; (g) = _y + cr2; (b) = _y + cr3;};
21175 *(D+w+1) = (((uint32_t*)proc_table.clamp.r)[r]) | (((uint32_t*)proc_table.clamp.g)[g]) | (((uint32_t*)proc_table.clamp.b)[b]);
21190 # 160 "video_out_dfb.c" 2
21193 # 1 "video_out_dfb_mmxproc.h" 1
21194 # 20 "video_out_dfb_mmxproc.h"
21197 static const uint64_t __attribute__((used)) lmask[] = { 0x000000ff000000ffull };
21199 static const uint64_t __attribute__((used)) wmask[] = { 0x00ff00ff00ff00ffull };
21201 static const uint64_t __attribute__((used)) a1mask[] = { 0x8000800080008000ull };
21203 static const uint64_t __attribute__((used)) a8mask[] = { 0xffffffffffffffffull };
21205 static const uint64_t __attribute__((used)) b3mask[] = { 0xe0e0e0e0e0e0e0e0ull };
21207 static const uint64_t __attribute__((used)) b5mask[] = { 0xf8f8f8f8f8f8f8f8ull };
21209 static const uint64_t __attribute__((used)) b6mask[] = { 0xfcfcfcfcfcfcfcfcull };
21214 void __mmx_yuy2_be_yuy2 ( dfb_frame_t *frame )
21216 uint8_t *S = frame->vo_frame.base[0];
21217 uint8_t *D = frame->out_plane[0];
21218 int n = frame->area/4;
21220 __asm__ __volatile__(
21221 "movq wmask, %%mm2\n\t"
21222 "psllw $8, %%mm2\n\t"
21223 "pxor %%mm7, %%mm7\n\t"
21226 "movq (%1), %%mm0\n\t"
21227 "movq %%mm0, %%mm1\n\t"
21228 "pand wmask, %%mm1\n\t"
21231 "psubw proc_table, %%mm1\n\t"
21232 "psllw $3, %%mm1\n\t"
21233 "pmulhw proc_table+24, %%mm1\n\t"
21234 "paddw proc_table+8, %%mm1\n\t"
21235 "packuswb %%mm1, %%mm1\n\t"
21236 "punpcklbw %%mm7, %%mm1\n\t"
21239 "pand %%mm2, %%mm0\n\t"
21242 "psrlw $8, %%mm0\n\t"
21243 "psubw proc_table+16, %%mm0\n\t"
21244 "psllw $3, %%mm0\n\t"
21245 "pmulhw proc_table+32, %%mm0\n\t"
21246 "paddw proc_table+16, %%mm0\n\t"
21247 "packuswb %%mm0, %%mm0\n\t"
21248 "punpcklbw %%mm7, %%mm0\n\t"
21249 "psllw $8, %%mm0\n\t"
21252 "por %%mm1, %%mm0\n\t"
21253 "movq %%mm0, (%0)\n\t"
21259 : "=&D" (D), "=&S" (S), "=&c" (n)
21260 : "q" (frame->mixer_set), "0" (D), "1" (S), "2" (n)
21265 void __mmx_yuy2_be_uyvy ( dfb_frame_t *frame )
21267 uint8_t *S = frame->vo_frame.base[0];
21268 uint8_t *D = frame->out_plane[0];
21269 int n = frame->area/4;
21271 __asm__ __volatile__(
21272 "pxor %%mm7, %%mm7\n\t"
21278 "movq (%1), %%mm0\n\t"
21279 "movq %%mm0, %%mm1\n\t"
21280 "pand wmask, %%mm1\n\t"
21281 "psrlw $8, %%mm0\n\t"
21284 "psubw proc_table, %%mm1\n\t"
21285 "psllw $3, %%mm1\n\t"
21286 "pmulhw proc_table+24, %%mm1\n\t"
21287 "paddw proc_table+8, %%mm1\n\t"
21288 "packuswb %%mm1, %%mm1\n\t"
21289 "punpcklbw %%mm7, %%mm1\n\t"
21294 "psubw proc_table+16, %%mm0\n\t"
21295 "psllw $3, %%mm0\n\t"
21296 "pmulhw proc_table+32, %%mm0\n\t"
21297 "paddw proc_table+16, %%mm0\n\t"
21298 "packuswb %%mm0, %%mm0\n\t"
21299 "punpcklbw %%mm7, %%mm0\n\t"
21302 "psllw $8, %%mm1\n\t"
21303 "por %%mm1, %%mm0\n\t"
21304 "movq %%mm0, (%0)\n\t"
21313 "movq (%1), %%mm0\n\t"
21314 "movq %%mm0, %%mm1\n\t"
21315 "pand wmask, %%mm0\n\t"
21316 "psrlw $8, %%mm1\n\t"
21317 "psllw $8, %%mm0\n\t"
21318 "por %%mm1, %%mm0\n\t"
21319 "movq %%mm0, (%0)\n\t"
21326 : "=&D" (D), "=&S" (S), "=&c" (n)
21327 : "q" (frame->mixer_set), "0" (D), "1" (S), "2" (n)
21332 void __mmx_yuy2_be_yv12 ( dfb_frame_t *frame )
21334 uint8_t *S = frame->vo_frame.base[0];
21335 uint8_t *Dy = frame->out_plane[0];
21336 uint8_t *Du = frame->out_plane[1];
21337 uint8_t *Dv = frame->out_plane[2];
21338 int n = frame->height/2;
21339 int set = frame->mixer_set;
21341 __asm__ __volatile__(
21342 "pxor %%mm7, %%mm7\n\t"
21348 "movq (%0), %%mm0\n\t"
21349 "movq (%0,%4,4), %%mm1\n\t"
21350 "movq %%mm0, %%mm2\n\t"
21351 "movq %%mm1, %%mm3\n\t"
21352 "psrlw $8, %%mm0\n\t"
21353 "psrlw $8, %%mm1\n\t"
21354 "pand wmask, %%mm2\n\t"
21355 "pand wmask, %%mm3\n\t"
21356 "paddw %%mm1, %%mm0\n\t"
21357 "psrlw $1, %%mm0\n\t"
21360 "psubw proc_table, %%mm2\n\t"
21361 "psubw proc_table, %%mm3\n\t"
21362 "psllw $3, %%mm2\n\t"
21363 "psllw $3, %%mm3\n\t"
21364 "pmulhw proc_table+24, %%mm2\n\t"
21365 "pmulhw proc_table+24, %%mm3\n\t"
21366 "paddw proc_table+8, %%mm2\n\t"
21367 "paddw proc_table+8, %%mm3\n\t"
21371 "psubw proc_table+16, %%mm0\n\t"
21372 "psllw $3, %%mm0\n\t"
21373 "pmulhw proc_table+32, %%mm0\n\t"
21374 "paddw proc_table+16, %%mm0\n\t"
21375 "packuswb %%mm0, %%mm0\n\t"
21376 "punpcklbw %%mm7, %%mm0\n\t"
21379 "packuswb %%mm2, %%mm2\n\t"
21380 "packuswb %%mm3, %%mm3\n\t"
21381 "movq %%mm0, %%mm1\n\t"
21382 "movd %%mm2, (%1)\n\t"
21383 "punpckhdq %%mm0, %%mm0\n\t"
21384 "movd %%mm3, (%1,%4,2)\n\t"
21385 "punpcklbw %%mm0, %%mm1\n\t"
21386 "movd %%mm1, (%2)\n\t"
21387 "punpckhdq %%mm1, %%mm1\n\t"
21388 "movd %%mm1, (%3)\n\t"
21407 "movq (%0), %%mm0\n\t"
21408 "movq (%0,%4,4), %%mm1\n\t"
21409 "movq %%mm0, %%mm2\n\t"
21410 "movq %%mm1, %%mm3\n\t"
21411 "psrlw $8, %%mm0\n\t"
21412 "psrlw $8, %%mm1\n\t"
21413 "pand wmask, %%mm2\n\t"
21414 "pand wmask, %%mm3\n\t"
21415 "paddw %%mm1, %%mm0\n\t"
21416 "packuswb %%mm2, %%mm2\n\t"
21417 "psrlw $1, %%mm0\n\t"
21418 "packuswb %%mm3, %%mm3\n\t"
21419 "movq %%mm0, %%mm1\n\t"
21420 "movd %%mm2, (%1)\n\t"
21421 "punpckhdq %%mm0, %%mm0\n\t"
21422 "movd %%mm3, (%1,%4,2)\n\t"
21423 "punpcklbw %%mm0, %%mm1\n\t"
21424 "movd %%mm1, (%2)\n\t"
21425 "punpckhdq %%mm1, %%mm1\n\t"
21426 "movd %%mm1, (%3)\n\t"
21443 : "=&S" (S), "=&r" (Dy), "=&r" (Du), "=&r" (Dv)
21444 : "q" (frame->width/2), "c" (frame->width/4), "m" (set), "m" (n),
21445 "0" (S), "1" (Dy), "2" (Du), "3" (Dv)
21450 void __mmx_yuy2_be_nv12 ( dfb_frame_t *frame )
21452 uint8_t *S = frame->vo_frame.base[0];
21453 uint8_t *Dy = frame->out_plane[0];
21454 uint8_t *Duv = frame->out_plane[1];
21455 int n = frame->height/2;
21456 int set = frame->mixer_set;
21458 __asm__ __volatile__(
21464 "movq (%0), %%mm0\n\t"
21465 "movq (%0,%3,4), %%mm1\n\t"
21466 "movq %%mm0, %%mm2\n\t"
21467 "movq %%mm1, %%mm3\n\t"
21468 "psrlw $8, %%mm0\n\t"
21469 "psrlw $8, %%mm1\n\t"
21470 "pand wmask, %%mm2\n\t"
21471 "pand wmask, %%mm3\n\t"
21472 "paddw %%mm1, %%mm0\n\t"
21473 "psrlw $1, %%mm0\n\t"
21476 "psubw proc_table, %%mm2\n\t"
21477 "psubw proc_table, %%mm3\n\t"
21478 "psllw $3, %%mm2\n\t"
21479 "psllw $3, %%mm3\n\t"
21480 "pmulhw proc_table+24, %%mm2\n\t"
21481 "pmulhw proc_table+24, %%mm3\n\t"
21482 "paddw proc_table+8, %%mm2\n\t"
21483 "paddw proc_table+8, %%mm3\n\t"
21487 "psubw proc_table+16, %%mm0\n\t"
21488 "psllw $3, %%mm0\n\t"
21489 "pmulhw proc_table+32, %%mm0\n\t"
21490 "paddw proc_table+16, %%mm0\n\t"
21493 "packuswb %%mm2, %%mm2\n\t"
21494 "packuswb %%mm3, %%mm3\n\t"
21495 "movd %%mm2, (%1)\n\t"
21496 "packuswb %%mm0, %%mm0\n\t"
21497 "movd %%mm3, (%1,%3,2)\n\t"
21498 "movd %%mm0, (%2)\n\t"
21516 "movq (%0), %%mm0\n\t"
21517 "movq (%0,%3,4), %%mm1\n\t"
21518 "movq %%mm0, %%mm2\n\t"
21519 "movq %%mm1, %%mm3\n\t"
21520 "psrlw $8, %%mm0\n\t"
21521 "psrlw $8, %%mm1\n\t"
21522 "pand wmask, %%mm2\n\t"
21523 "pand wmask, %%mm3\n\t"
21524 "paddw %%mm1, %%mm0\n\t"
21525 "packuswb %%mm2, %%mm2\n\t"
21526 "psrlw $1, %%mm0\n\t"
21527 "packuswb %%mm3, %%mm3\n\t"
21528 "movd %%mm2, (%1)\n\t"
21529 "packuswb %%mm0, %%mm0\n\t"
21530 "movd %%mm3, (%1,%3,2)\n\t"
21531 "movd %%mm0, (%2)\n\t"
21547 : "=&S" (S), "=&r" (Dy), "=&r" (Duv)
21548 : "q" (frame->width/2), "c" (frame->width/4), "q" (set), "m" (n),
21549 "0" (S), "1" (Dy), "2" (Duv)
21554 void __mmx_yuy2_be_nv21 ( dfb_frame_t *frame )
21556 uint8_t *S = frame->vo_frame.base[0];
21557 uint8_t *Dy = frame->out_plane[0];
21558 uint8_t *Duv = frame->out_plane[1];
21559 int n = frame->height/2;
21560 int set = frame->mixer_set;
21562 __asm__ __volatile__(
21568 "movq (%0), %%mm0\n\t"
21569 "movq (%0,%3,4), %%mm1\n\t"
21570 "movq %%mm0, %%mm2\n\t"
21571 "movq %%mm1, %%mm3\n\t"
21572 "psrlw $8, %%mm0\n\t"
21573 "psrlw $8, %%mm1\n\t"
21574 "pand wmask, %%mm2\n\t"
21575 "pand wmask, %%mm3\n\t"
21576 "paddw %%mm1, %%mm0\n\t"
21577 "psrlw $1, %%mm0\n\t"
21580 "psubw proc_table, %%mm2\n\t"
21581 "psubw proc_table, %%mm3\n\t"
21582 "psllw $3, %%mm2\n\t"
21583 "psllw $3, %%mm3\n\t"
21584 "pmulhw proc_table+24, %%mm2\n\t"
21585 "pmulhw proc_table+24, %%mm3\n\t"
21586 "paddw proc_table+8, %%mm2\n\t"
21587 "paddw proc_table+8, %%mm3\n\t"
21591 "psubw proc_table+16, %%mm0\n\t"
21592 "psllw $3, %%mm0\n\t"
21593 "pmulhw proc_table+32, %%mm0\n\t"
21594 "paddw proc_table+16, %%mm0\n\t"
21597 "packuswb %%mm2, %%mm2\n\t"
21598 "packuswb %%mm3, %%mm3\n\t"
21599 "packuswb %%mm0, %%mm0\n\t"
21600 "movd %%mm2, (%1)\n\t"
21601 "movq %%mm0, %%mm1\n\t"
21602 "movd %%mm3, (%1,%3,2)\n\t"
21603 "psllw $8, %%mm0\n\t"
21604 "psrlw $8, %%mm1\n\t"
21605 "por %%mm1, %%mm0\n\t"
21606 "movd %%mm0, (%2)\n\t"
21624 "movq (%0), %%mm0\n\t"
21625 "movq (%0,%3,4), %%mm1\n\t"
21626 "movq %%mm0, %%mm2\n\t"
21627 "movq %%mm1, %%mm3\n\t"
21628 "psrlw $8, %%mm0\n\t"
21629 "psrlw $8, %%mm1\n\t"
21630 "pand wmask, %%mm2\n\t"
21631 "pand wmask, %%mm3\n\t"
21632 "paddw %%mm1, %%mm0\n\t"
21633 "packuswb %%mm2, %%mm2\n\t"
21634 "psrlw $1, %%mm0\n\t"
21635 "packuswb %%mm3, %%mm3\n\t"
21636 "packuswb %%mm0, %%mm0\n\t"
21637 "movd %%mm2, (%1)\n\t"
21638 "movq %%mm0, %%mm1\n\t"
21639 "movd %%mm3, (%1,%3,2)\n\t"
21640 "psllw $8, %%mm0\n\t"
21641 "psrlw $8, %%mm1\n\t"
21642 "por %%mm1, %%mm0\n\t"
21643 "movd %%mm0, (%2)\n\t"
21659 : "=&S" (S), "=&r" (Dy), "=&r" (Duv)
21660 : "q" (frame->width/2), "c" (frame->width/4), "q" (set), "m" (n),
21661 "0" (S), "1" (Dy), "2" (Duv)
21666 void __mmx_yuy2_be_nv16 ( dfb_frame_t *frame )
21668 uint8_t *S = frame->vo_frame.base[0];
21669 uint8_t *Dy = frame->out_plane[0];
21670 uint8_t *Dvu = frame->out_plane[1];
21671 int n = frame->area/4;
21673 __asm__ __volatile__(
21678 "movq (%0), %%mm0\n\t"
21679 "movq %%mm0, %%mm1\n\t"
21680 "pand wmask, %%mm0\n\t"
21681 "psrlw $8, %%mm1\n\t"
21684 "psubw proc_table, %%mm0\n\t"
21685 "psllw $3, %%mm0\n\t"
21686 "pmulhw proc_table+24, %%mm0\n\t"
21687 "paddw proc_table+8, %%mm0\n\t"
21692 "psubw proc_table+16, %%mm1\n\t"
21693 "psllw $3, %%mm1\n\t"
21694 "pmulhw proc_table+32, %%mm1\n\t"
21695 "paddw proc_table+16, %%mm1\n\t"
21698 "packuswb %%mm0, %%mm0\n\t"
21699 "packuswb %%mm1, %%mm1\n\t"
21700 "movd %%mm0, (%1)\n\t"
21701 "movd %%mm1, (%2)\n\t"
21711 "movq (%0), %%mm0\n\t"
21712 "movq %%mm0, %%mm1\n\t"
21713 "pand wmask, %%mm0\n\t"
21714 "psrlw $8, %%mm1\n\t"
21715 "packuswb %%mm0, %%mm0\n\t"
21716 "packuswb %%mm1, %%mm1\n\t"
21717 "movd %%mm0, (%1)\n\t"
21718 "movd %%mm1, (%2)\n\t"
21726 : "=&S" (S), "=&r" (Dy), "=&r" (Dvu), "=&c" (n)
21727 : "q" (frame->mixer_set), "0" (S), "1" (Dy), "2" (Dvu), "3" (n)
21732 void __mmx_yuy2_be_rgb332 ( dfb_frame_t *frame )
21734 uint8_t *S = frame->vo_frame.base[0];
21735 uint8_t *D = frame->out_plane[0];
21736 int n = frame->area/4;
21738 __asm__ __volatile__(
21739 "pxor %%mm7, %%mm7\n\t"
21742 "movq (%1), %%mm0\n\t"
21743 "movq %%mm0, %%mm2\n\t"
21744 "movq %%mm0, %%mm1\n\t"
21745 "pand wmask, %%mm2\n\t"
21746 "psrld $8, %%mm1\n\t"
21747 "psubw proc_table, %%mm2\n\t"
21748 "pand lmask, %%mm1\n\t"
21749 "psllw $3, %%mm2\n\t"
21750 "packssdw %%mm1, %%mm1\n\t"
21751 "pmulhw proc_table+24, %%mm2\n\t"
21752 "punpcklwd %%mm1, %%mm1\n\t"
21753 "psrld $24, %%mm0\n\t"
21754 "psubw proc_table+16, %%mm1\n\t"
21755 "packssdw %%mm0, %%mm0\n\t"
21756 "psllw $3, %%mm1\n\t"
21757 "punpcklwd %%mm0, %%mm0\n\t"
21758 "movq %%mm1, %%mm4\n\t"
21759 "psubw proc_table+16, %%mm0\n\t"
21760 "pmulhw proc_table+64, %%mm4\n\t"
21761 "psllw $3, %%mm0\n\t"
21762 "paddw %%mm2, %%mm4\n\t"
21763 "movq %%mm0, %%mm3\n\t"
21764 "packuswb %%mm4, %%mm4\n\t"
21765 "pmulhw proc_table+40, %%mm3\n\t"
21766 "punpcklbw %%mm7, %%mm4\n\t"
21767 "paddw %%mm2, %%mm3\n\t"
21768 "pmulhw proc_table+48, %%mm0\n\t"
21769 "packuswb %%mm3, %%mm3\n\t"
21770 "psrlw $6, %%mm4\n\t"
21771 "pand b3mask, %%mm3\n\t"
21772 "pmulhw proc_table+56, %%mm1\n\t"
21773 "punpcklbw %%mm7, %%mm3\n\t"
21774 "paddw %%mm1, %%mm0\n\t"
21775 "por %%mm4, %%mm3\n\t"
21776 "paddw %%mm0, %%mm2\n\t"
21777 "packuswb %%mm2, %%mm2\n\t"
21778 "pand b3mask, %%mm2\n\t"
21779 "punpcklbw %%mm7, %%mm2\n\t"
21780 "psrlw $3, %%mm2\n\t"
21781 "por %%mm2, %%mm3\n\t"
21782 "packuswb %%mm3, %%mm3\n\t"
21783 "movq %%mm3, (%0)\n\t"
21789 : "=&D" (D), "=&S" (S), "=&c" (n)
21790 : "0" (D), "1" (S), "2" (n)
21795 void __mmx_yuy2_be_argb1555 ( dfb_frame_t *frame )
21797 uint8_t *S = frame->vo_frame.base[0];
21798 uint8_t *D = frame->out_plane[0];
21799 int n = frame->area/4;
21801 __asm__ __volatile__(
21802 "pxor %%mm7, %%mm7\n\t"
21805 "movq (%1), %%mm0\n\t"
21806 "movq %%mm0, %%mm2\n\t"
21807 "movq %%mm0, %%mm1\n\t"
21808 "pand wmask, %%mm2\n\t"
21809 "psrld $8, %%mm1\n\t"
21810 "psubw proc_table, %%mm2\n\t"
21811 "pand lmask, %%mm1\n\t"
21812 "psllw $3, %%mm2\n\t"
21813 "packssdw %%mm1, %%mm1\n\t"
21814 "pmulhw proc_table+24, %%mm2\n\t"
21815 "punpcklwd %%mm1, %%mm1\n\t"
21816 "psrld $24, %%mm0\n\t"
21817 "psubw proc_table+16, %%mm1\n\t"
21818 "packssdw %%mm0, %%mm0\n\t"
21819 "psllw $3, %%mm1\n\t"
21820 "punpcklwd %%mm0, %%mm0\n\t"
21821 "movq %%mm1, %%mm4\n\t"
21822 "psubw proc_table+16, %%mm0\n\t"
21823 "pmulhw proc_table+64, %%mm4\n\t"
21824 "psllw $3, %%mm0\n\t"
21825 "paddw %%mm2, %%mm4\n\t"
21826 "movq %%mm0, %%mm3\n\t"
21827 "packuswb %%mm4, %%mm4\n\t"
21828 "pmulhw proc_table+40, %%mm3\n\t"
21829 "punpcklbw %%mm7, %%mm4\n\t"
21830 "paddw %%mm2, %%mm3\n\t"
21831 "pmulhw proc_table+48, %%mm0\n\t"
21832 "packuswb %%mm3, %%mm3\n\t"
21833 "psrlw $3, %%mm4\n\t"
21834 "pand b5mask, %%mm3\n\t"
21835 "pmulhw proc_table+56, %%mm1\n\t"
21836 "punpcklbw %%mm7, %%mm3\n\t"
21837 "paddw %%mm1, %%mm0\n\t"
21838 "psllw $7, %%mm3\n\t"
21839 "paddw %%mm0, %%mm2\n\t"
21840 "por %%mm4, %%mm3\n\t"
21841 "packuswb %%mm2, %%mm2\n\t"
21842 "pand b5mask, %%mm2\n\t"
21843 "punpcklbw %%mm7, %%mm2\n\t"
21844 "por a1mask, %%mm3\n\t"
21845 "psllw $2, %%mm2\n\t"
21846 "por %%mm2, %%mm3\n\t"
21847 "movq %%mm3, (%0)\n\t"
21853 : "=&D" (D), "=&S" (S), "=&c" (n)
21854 : "0" (D), "1" (S), "2" (n)
21859 void __mmx_yuy2_be_rgb16 ( dfb_frame_t *frame )
21861 uint8_t *S = frame->vo_frame.base[0];
21862 uint8_t *D = frame->out_plane[0];
21863 int n = frame->area/4;
21865 __asm__ __volatile__(
21866 "pxor %%mm7, %%mm7\n\t"
21869 "movq (%1), %%mm0\n\t"
21870 "movq %%mm0, %%mm2\n\t"
21871 "movq %%mm0, %%mm1\n\t"
21872 "pand wmask, %%mm2\n\t"
21873 "psrld $8, %%mm1\n\t"
21874 "psubw proc_table, %%mm2\n\t"
21875 "pand lmask, %%mm1\n\t"
21876 "psllw $3, %%mm2\n\t"
21877 "packssdw %%mm1, %%mm1\n\t"
21878 "pmulhw proc_table+24, %%mm2\n\t"
21879 "punpcklwd %%mm1, %%mm1\n\t"
21880 "psrld $24, %%mm0\n\t"
21881 "psubw proc_table+16, %%mm1\n\t"
21882 "packssdw %%mm0, %%mm0\n\t"
21883 "psllw $3, %%mm1\n\t"
21884 "punpcklwd %%mm0, %%mm0\n\t"
21885 "movq %%mm1, %%mm4\n\t"
21886 "psubw proc_table+16, %%mm0\n\t"
21887 "pmulhw proc_table+64, %%mm4\n\t"
21888 "psllw $3, %%mm0\n\t"
21889 "paddw %%mm2, %%mm4\n\t"
21890 "movq %%mm0, %%mm3\n\t"
21891 "packuswb %%mm4, %%mm4\n\t"
21892 "pmulhw proc_table+40, %%mm3\n\t"
21893 "punpcklbw %%mm7, %%mm4\n\t"
21894 "paddw %%mm2, %%mm3\n\t"
21895 "pmulhw proc_table+48, %%mm0\n\t"
21896 "packuswb %%mm3, %%mm3\n\t"
21897 "psrlw $3, %%mm4\n\t"
21898 "pand b5mask, %%mm3\n\t"
21899 "pmulhw proc_table+56, %%mm1\n\t"
21900 "punpcklbw %%mm7, %%mm3\n\t"
21901 "paddw %%mm1, %%mm0\n\t"
21902 "psllw $8, %%mm3\n\t"
21903 "paddw %%mm0, %%mm2\n\t"
21904 "por %%mm4, %%mm3\n\t"
21905 "packuswb %%mm2, %%mm2\n\t"
21906 "pand b6mask, %%mm2\n\t"
21907 "punpcklbw %%mm7, %%mm2\n\t"
21908 "psllw $3, %%mm2\n\t"
21909 "por %%mm2, %%mm3\n\t"
21910 "movq %%mm3, (%0)\n\t"
21916 : "=&D" (D), "=&S" (S), "=&c" (n)
21917 : "0" (D), "1" (S), "2" (n)
21922 void __mmx_yuy2_be_rgb24 ( dfb_frame_t *frame )
21924 uint8_t *S = frame->vo_frame.base[0];
21925 uint8_t *D = frame->out_plane[0];
21926 int n = frame->area/4;
21928 __asm__ __volatile__(
21929 "pxor %%mm7, %%mm7\n\t"
21932 "movq (%1), %%mm0\n\t"
21933 "movq %%mm0, %%mm2\n\t"
21934 "movq %%mm0, %%mm1\n\t"
21935 "pand wmask, %%mm2\n\t"
21936 "psrld $8, %%mm1\n\t"
21937 "psubw proc_table, %%mm2\n\t"
21938 "pand lmask, %%mm1\n\t"
21939 "psllw $3, %%mm2\n\t"
21940 "packssdw %%mm1, %%mm1\n\t"
21941 "pmulhw proc_table+24, %%mm2\n\t"
21942 "punpcklwd %%mm1, %%mm1\n\t"
21943 "psrld $24, %%mm0\n\t"
21944 "psubw proc_table+16, %%mm1\n\t"
21945 "packssdw %%mm0, %%mm0\n\t"
21946 "psllw $3, %%mm1\n\t"
21947 "punpcklwd %%mm0, %%mm0\n\t"
21948 "movq %%mm1, %%mm4\n\t"
21949 "psubw proc_table+16, %%mm0\n\t"
21950 "pmulhw proc_table+64, %%mm4\n\t"
21951 "psllw $3, %%mm0\n\t"
21952 "paddw %%mm2, %%mm4\n\t"
21953 "movq %%mm0, %%mm3\n\t"
21954 "packuswb %%mm4, %%mm4\n\t"
21955 "pmulhw proc_table+40, %%mm3\n\t"
21956 "movq %%mm4, %%mm5\n\t"
21957 "paddw %%mm2, %%mm3\n\t"
21958 "pmulhw proc_table+48, %%mm0\n\t"
21959 "packuswb %%mm3, %%mm3\n\t"
21960 "punpcklbw %%mm3, %%mm4\n\t"
21961 "pmulhw proc_table+56, %%mm1\n\t"
21962 "psrld $8, %%mm4\n\t"
21963 "paddw %%mm1, %%mm0\n\t"
21964 "paddw %%mm0, %%mm2\n\t"
21965 "packuswb %%mm2, %%mm2\n\t"
21966 "punpcklbw %%mm2, %%mm5\n\t"
21967 "movq %%mm5, %%mm6\n\t"
21968 "punpcklwd %%mm4, %%mm5\n\t"
21969 "movq %%mm5, %%mm0\n\t"
21970 "punpckhwd %%mm4, %%mm6\n\t"
21971 "psrlq $40, %%mm0\n\t"
21972 "punpcklwd %%mm6, %%mm0\n\t"
21973 "punpckldq %%mm0, %%mm5\n\t"
21974 "psrld $8, %%mm6\n\t"
21975 "psrld $16, %%mm0\n\t"
21976 "punpckhwd %%mm6, %%mm0\n\t"
21977 "movq %%mm5, (%0)\n\t"
21978 "movd %%mm0, 8(%0)\n\t"
21984 : "=&D" (D), "=&S" (S), "=&c" (n)
21985 : "0" (D), "1" (S), "2" (n)
21990 void __mmx_yuy2_be_rgb32 ( dfb_frame_t *frame )
21992 uint8_t *S = frame->vo_frame.base[0];
21993 uint8_t *D = frame->out_plane[0];
21994 int n = frame->area/4;
21996 __asm__ __volatile__(
21997 "pxor %%mm7, %%mm7\n\t"
22000 "movq (%1), %%mm0\n\t"
22001 "movq %%mm0, %%mm2\n\t"
22002 "movq %%mm0, %%mm1\n\t"
22003 "pand wmask, %%mm2\n\t"
22004 "psrld $8, %%mm1\n\t"
22005 "psubw proc_table, %%mm2\n\t"
22006 "pand lmask, %%mm1\n\t"
22007 "psllw $3, %%mm2\n\t"
22008 "packssdw %%mm1, %%mm1\n\t"
22009 "pmulhw proc_table+24, %%mm2\n\t"
22010 "punpcklwd %%mm1, %%mm1\n\t"
22011 "psrld $24, %%mm0\n\t"
22012 "psubw proc_table+16, %%mm1\n\t"
22013 "packssdw %%mm0, %%mm0\n\t"
22014 "psllw $3, %%mm1\n\t"
22015 "punpcklwd %%mm0, %%mm0\n\t"
22016 "movq %%mm1, %%mm4\n\t"
22017 "psubw proc_table+16, %%mm0\n\t"
22018 "pmulhw proc_table+64, %%mm4\n\t"
22019 "psllw $3, %%mm0\n\t"
22020 "paddw %%mm2, %%mm4\n\t"
22021 "movq %%mm0, %%mm3\n\t"
22022 "packuswb %%mm4, %%mm4\n\t"
22023 "pmulhw proc_table+40, %%mm3\n\t"
22024 "paddw %%mm2, %%mm3\n\t"
22025 "packuswb %%mm3, %%mm3\n\t"
22026 "pmulhw proc_table+48, %%mm0\n\t"
22027 "punpcklbw %%mm3, %%mm4\n\t"
22028 "movq %%mm4, %%mm5\n\t"
22029 "pmulhw proc_table+56, %%mm1\n\t"
22030 "paddw %%mm1, %%mm0\n\t"
22031 "paddw %%mm0, %%mm2\n\t"
22032 "packuswb %%mm2, %%mm2\n\t"
22033 "punpcklbw %%mm7, %%mm2\n\t"
22034 "punpcklbw %%mm2, %%mm4\n\t"
22035 "punpckhbw %%mm2, %%mm5\n\t"
22036 "movq %%mm4, (%0)\n\t"
22037 "movq %%mm5, 8(%0)\n\t"
22043 : "=&D" (D), "=&S" (S), "=&c" (n)
22044 : "0" (D), "1" (S), "2" (n)
22049 void __mmx_yuy2_be_argb ( dfb_frame_t *frame )
22051 uint8_t *S = frame->vo_frame.base[0];
22052 uint8_t *D = frame->out_plane[0];
22053 int n = frame->area/4;
22055 __asm__ __volatile__(
22056 "movq a8mask, %%mm6\n\t"
22057 "pxor %%mm7, %%mm7\n\t"
22060 "movq (%1), %%mm0\n\t"
22061 "movq %%mm0, %%mm2\n\t"
22062 "movq %%mm0, %%mm1\n\t"
22063 "pand wmask, %%mm2\n\t"
22064 "psrld $8, %%mm1\n\t"
22065 "psubw proc_table, %%mm2\n\t"
22066 "pand lmask, %%mm1\n\t"
22067 "psllw $3, %%mm2\n\t"
22068 "packssdw %%mm1, %%mm1\n\t"
22069 "pmulhw proc_table+24, %%mm2\n\t"
22070 "punpcklwd %%mm1, %%mm1\n\t"
22071 "psrld $24, %%mm0\n\t"
22072 "psubw proc_table+16, %%mm1\n\t"
22073 "packssdw %%mm0, %%mm0\n\t"
22074 "psllw $3, %%mm1\n\t"
22075 "punpcklwd %%mm0, %%mm0\n\t"
22076 "movq %%mm1, %%mm4\n\t"
22077 "psubw proc_table+16, %%mm0\n\t"
22078 "pmulhw proc_table+64, %%mm4\n\t"
22079 "psllw $3, %%mm0\n\t"
22080 "paddw %%mm2, %%mm4\n\t"
22081 "movq %%mm0, %%mm3\n\t"
22082 "packuswb %%mm4, %%mm4\n\t"
22083 "pmulhw proc_table+40, %%mm3\n\t"
22084 "paddw %%mm2, %%mm3\n\t"
22085 "packuswb %%mm3, %%mm3\n\t"
22086 "pmulhw proc_table+48, %%mm0\n\t"
22087 "punpcklbw %%mm3, %%mm4\n\t"
22088 "movq %%mm4, %%mm5\n\t"
22089 "pmulhw proc_table+56, %%mm1\n\t"
22090 "paddw %%mm1, %%mm0\n\t"
22091 "paddw %%mm0, %%mm2\n\t"
22092 "packuswb %%mm2, %%mm2\n\t"
22093 "punpcklbw %%mm6, %%mm2\n\t"
22094 "punpcklbw %%mm2, %%mm4\n\t"
22095 "punpckhbw %%mm2, %%mm5\n\t"
22096 "movq %%mm4, (%0)\n\t"
22097 "movq %%mm5, 8(%0)\n\t"
22103 : "=&D" (D), "=&S" (S), "=&c" (n)
22104 : "0" (D), "1" (S), "2" (n)
22113 void __mmx_yv12_be_yuy2 ( dfb_frame_t *frame )
22115 uint8_t *Sy = frame->vo_frame.base[0];
22116 uint8_t *Su = frame->vo_frame.base[1];
22117 uint8_t *Sv = frame->vo_frame.base[2];
22118 uint8_t *D = frame->out_plane[0];
22119 int n = frame->height/2;
22120 int set = frame->mixer_set;
22122 __asm__ __volatile__(
22123 "pxor %%mm7, %%mm7\n\t"
22129 "movd (%1), %%mm0\n\t"
22130 "movd (%1,%4), %%mm1\n\t"
22131 "punpcklbw %%mm7, %%mm0\n\t"
22132 "punpcklbw %%mm7, %%mm1\n\t"
22133 "movd (%2), %%mm2\n\t"
22134 "movd (%3), %%mm3\n\t"
22137 "psubw proc_table, %%mm0\n\t"
22138 "psubw proc_table, %%mm1\n\t"
22139 "psllw $3, %%mm0\n\t"
22140 "psllw $3, %%mm1\n\t"
22141 "pmulhw proc_table+24, %%mm0\n\t"
22142 "pmulhw proc_table+24, %%mm1\n\t"
22143 "paddw proc_table+8, %%mm0\n\t"
22144 "paddw proc_table+8, %%mm1\n\t"
22149 "punpcklbw %%mm7, %%mm2\n\t"
22150 "punpcklbw %%mm7, %%mm3\n\t"
22151 "psubw proc_table+16, %%mm2\n\t"
22152 "psubw proc_table+16, %%mm3\n\t"
22153 "psllw $3, %%mm2\n\t"
22154 "psllw $3, %%mm3\n\t"
22155 "pmulhw proc_table+32, %%mm2\n\t"
22156 "pmulhw proc_table+32, %%mm3\n\t"
22157 "paddw proc_table+16, %%mm2\n\t"
22158 "paddw proc_table+16, %%mm3\n\t"
22159 "packuswb %%mm2, %%mm2\n\t"
22160 "packuswb %%mm3, %%mm3\n\t"
22163 "packuswb %%mm1, %%mm0\n\t"
22164 "punpcklbw %%mm3, %%mm2\n\t"
22165 "movq %%mm0, %%mm1\n\t"
22166 "punpckhdq %%mm0, %%mm0\n\t"
22167 "punpcklbw %%mm2, %%mm1\n\t"
22168 "punpcklbw %%mm2, %%mm0\n\t"
22169 "movq %%mm1, (%0)\n\t"
22170 "movq %%mm0, (%0,%4,2)\n\t"
22188 "movd (%2), %%mm2\n\t"
22189 "movd (%3), %%mm3\n\t"
22190 "movd (%1), %%mm0\n\t"
22191 "movd (%1,%4), %%mm1\n\t"
22192 "punpcklbw %%mm3, %%mm2\n\t"
22193 "punpcklbw %%mm2, %%mm0\n\t"
22194 "punpcklbw %%mm2, %%mm1\n\t"
22195 "movq %%mm0, (%0)\n\t"
22196 "movq %%mm1, (%0,%4,2)\n\t"
22212 : "=&D" (D), "=&r" (Sy), "=&r" (Su), "=&r" (Sv)
22213 : "q" (frame->width), "c" (frame->width/4), "m" (set), "m" (n),
22214 "0" (D), "1" (Sy), "2" (Su), "3" (Sv)
22219 void __mmx_yv12_be_uyvy ( dfb_frame_t *frame )
22221 uint8_t *Sy = frame->vo_frame.base[0];
22222 uint8_t *Su = frame->vo_frame.base[1];
22223 uint8_t *Sv = frame->vo_frame.base[2];
22224 uint8_t *D = frame->out_plane[0];
22225 int n = frame->height/2;
22226 int set = frame->mixer_set;
22228 __asm__ __volatile__(
22229 "pxor %%mm7, %%mm7\n\t"
22235 "movd (%1), %%mm0\n\t"
22236 "movd (%1,%4), %%mm1\n\t"
22237 "punpcklbw %%mm7, %%mm0\n\t"
22238 "punpcklbw %%mm7, %%mm1\n\t"
22239 "movd (%2), %%mm2\n\t"
22240 "movd (%3), %%mm3\n\t"
22243 "psubw proc_table, %%mm0\n\t"
22244 "psubw proc_table, %%mm1\n\t"
22245 "psllw $3, %%mm0\n\t"
22246 "psllw $3, %%mm1\n\t"
22247 "pmulhw proc_table+24, %%mm0\n\t"
22248 "pmulhw proc_table+24, %%mm1\n\t"
22249 "paddw proc_table+8, %%mm0\n\t"
22250 "paddw proc_table+8, %%mm1\n\t"
22255 "punpcklbw %%mm7, %%mm2\n\t"
22256 "punpcklbw %%mm7, %%mm3\n\t"
22257 "psubw proc_table+16, %%mm2\n\t"
22258 "psubw proc_table+16, %%mm3\n\t"
22259 "psllw $3, %%mm2\n\t"
22260 "psllw $3, %%mm3\n\t"
22261 "pmulhw proc_table+32, %%mm2\n\t"
22262 "pmulhw proc_table+32, %%mm3\n\t"
22263 "paddw proc_table+16, %%mm2\n\t"
22264 "paddw proc_table+16, %%mm3\n\t"
22265 "packuswb %%mm2, %%mm2\n\t"
22266 "packuswb %%mm3, %%mm3\n\t"
22269 "packuswb %%mm1, %%mm0\n\t"
22270 "punpcklbw %%mm3, %%mm2\n\t"
22271 "movq %%mm2, %%mm3\n\t"
22272 "punpcklbw %%mm0, %%mm3\n\t"
22273 "punpckhdq %%mm0, %%mm0\n\t"
22274 "punpcklbw %%mm0, %%mm2\n\t"
22275 "movq %%mm3, (%0)\n\t"
22276 "movq %%mm2, (%0,%4,2)\n\t"
22294 "movd (%2), %%mm2\n\t"
22295 "movd (%3), %%mm3\n\t"
22296 "movd (%1), %%mm0\n\t"
22297 "movd (%1,%4), %%mm1\n\t"
22298 "punpcklbw %%mm3, %%mm2\n\t"
22299 "movq %%mm2, %%mm3\n\t"
22300 "punpcklbw %%mm0, %%mm2\n\t"
22301 "punpcklbw %%mm1, %%mm3\n\t"
22302 "movq %%mm2, (%0)\n\t"
22303 "movq %%mm3, (%0,%4,2)\n\t"
22319 : "=&D" (D), "=&r" (Sy), "=&r" (Su), "=&r" (Sv)
22320 : "q" (frame->width), "c" (frame->width/4), "m" (set), "m" (n),
22321 "0" (D), "1" (Sy), "2" (Su), "3" (Sv)
22326 void __mmx_yv12_be_yv12 ( dfb_frame_t *frame )
22328 uint8_t *Sy = frame->vo_frame.base[0];
22329 uint8_t *Su = frame->vo_frame.base[1];
22330 uint8_t *Sv = frame->vo_frame.base[2];
22331 uint8_t *Dy = frame->out_plane[0];
22332 uint8_t *Du = frame->out_plane[1];
22333 uint8_t *Dv = frame->out_plane[2];
22334 int set = frame->mixer_set;
22336 if (set & (MF_B | MF_C)) {
22337 __asm__ __volatile__(
22338 "movq proc_table, %%mm2\n\t"
22339 "movq proc_table+24, %%mm3\n\t"
22340 "movq proc_table+8, %%mm4\n\t"
22341 "pxor %%mm7, %%mm7\n\t"
22344 "movq (%1), %%mm0\n\t"
22345 "movq %%mm0, %%mm1\n\t"
22346 "punpcklbw %%mm7, %%mm0\n\t"
22347 "punpckhbw %%mm7, %%mm1\n\t"
22348 "psubw %%mm2, %%mm0\n\t"
22349 "psubw %%mm2, %%mm1\n\t"
22350 "psllw $3, %%mm0\n\t"
22351 "pmulhw %%mm3, %%mm0\n\t"
22352 "psllw $3, %%mm1\n\t"
22353 "pmulhw %%mm3, %%mm1\n\t"
22354 "paddw %%mm4, %%mm0\n\t"
22355 "paddw %%mm4, %%mm1\n\t"
22356 "packuswb %%mm1, %%mm0\n\t"
22357 "movq %%mm0, (%0)\n\t"
22363 : "=&D" (Dy), "=&S" (Sy)
22364 : "c" (frame->area/8), "0" (Dy), "1" (Sy)
22369 __asm__ __volatile__(
22370 "movq proc_table+16, %%mm2\n\t"
22371 "movq proc_table+32, %%mm3\n\t"
22372 "pxor %%mm7, %%mm7\n\t"
22375 "movd (%2), %%mm0\n\t"
22376 "movd (%3), %%mm1\n\t"
22377 "punpcklbw %%mm7, %%mm0\n\t"
22378 "punpcklbw %%mm7, %%mm1\n\t"
22379 "psubw %%mm2, %%mm0\n\t"
22380 "psubw %%mm2, %%mm1\n\t"
22381 "psllw $3, %%mm0\n\t"
22382 "pmulhw %%mm3, %%mm0\n\t"
22383 "psllw $3, %%mm1\n\t"
22384 "pmulhw %%mm3, %%mm1\n\t"
22385 "paddw %%mm2, %%mm0\n\t"
22386 "paddw %%mm2, %%mm1\n\t"
22387 "packuswb %%mm1, %%mm0\n\t"
22388 "movd %%mm0, (%0)\n\t"
22389 "punpckhdq %%mm0, %%mm0\n\t"
22390 "movd %%mm0, (%1)\n\t"
22398 : "=&r" (Du), "=&r" (Dv), "=&r" (Su), "=&r" (Sv)
22399 : "c" (frame->area/16), "0" (Du), "1" (Dv), "2" (Su), "3" (Sv)
22402 if (frame->area & 8) {
22403 *Du = proc_table.uv[*Du];
22404 *Dv = proc_table.uv[*Dv];
22410 void __mmx_yv12_be_nv12 ( dfb_frame_t *frame )
22412 uint8_t *Sy = frame->vo_frame.base[0];
22413 uint8_t *Su = frame->vo_frame.base[1];
22414 uint8_t *Sv = frame->vo_frame.base[2];
22415 uint8_t *Dy = frame->out_plane[0];
22416 uint16_t *Duv = (uint16_t*) frame->out_plane[1];
22417 int set = frame->mixer_set;
22419 if (set & (MF_B | MF_C)) {
22420 __asm__ __volatile__(
22421 "movq proc_table, %%mm2\n\t"
22422 "movq proc_table+24, %%mm3\n\t"
22423 "movq proc_table+8, %%mm4\n\t"
22424 "pxor %%mm7, %%mm7\n\t"
22427 "movq (%1), %%mm0\n\t"
22428 "movq %%mm0, %%mm1\n\t"
22429 "punpcklbw %%mm7, %%mm0\n\t"
22430 "punpckhbw %%mm7, %%mm1\n\t"
22431 "psubw %%mm2, %%mm0\n\t"
22432 "psubw %%mm2, %%mm1\n\t"
22433 "psllw $3, %%mm0\n\t"
22434 "pmulhw %%mm3, %%mm0\n\t"
22435 "psllw $3, %%mm1\n\t"
22436 "pmulhw %%mm3, %%mm1\n\t"
22437 "paddw %%mm4, %%mm0\n\t"
22438 "paddw %%mm4, %%mm1\n\t"
22439 "packuswb %%mm1, %%mm0\n\t"
22440 "movq %%mm0, (%0)\n\t"
22446 : "=&D" (Dy), "=&S" (Sy)
22447 : "c" (frame->area/8), "0" (Dy), "1" (Sy)
22452 __asm__ __volatile__(
22453 "movq proc_table+16, %%mm2\n\t"
22454 "movq proc_table+32, %%mm3\n\t"
22455 "pxor %%mm7, %%mm7\n\t"
22458 "movd (%1), %%mm0\n\t"
22459 "movd (%2), %%mm1\n\t"
22460 "punpcklbw %%mm7, %%mm0\n\t"
22461 "punpcklbw %%mm7, %%mm1\n\t"
22462 "psubw %%mm2, %%mm0\n\t"
22463 "psubw %%mm2, %%mm1\n\t"
22464 "psllw $3, %%mm0\n\t"
22465 "pmulhw %%mm3, %%mm0\n\t"
22466 "psllw $3, %%mm1\n\t"
22467 "pmulhw %%mm3, %%mm1\n\t"
22468 "paddw %%mm2, %%mm0\n\t"
22469 "paddw %%mm2, %%mm1\n\t"
22470 "packuswb %%mm0, %%mm0\n\t"
22471 "packuswb %%mm1, %%mm1\n\t"
22472 "punpcklbw %%mm1, %%mm0\n\t"
22473 "movq %%mm0, (%0)\n\t"
22480 : "=&D" (Duv), "=&r" (Su), "=&r" (Sv)
22481 : "c" (frame->area/16), "0" (Duv), "1" (Su), "2" (Sv)
22485 __asm__ __volatile__(
22488 "movd (%1), %%mm0\n\t"
22489 "movd (%2), %%mm1\n\t"
22490 "punpcklbw %%mm1, %%mm0\n\t"
22491 "movq %%mm0, (%0)\n\t"
22498 : "=&D" (Duv), "=&r" (Su), "=&r" (Sv)
22499 : "c" (frame->area/16), "0" (Duv), "1" (Su), "2" (Sv)
22503 if (frame->area & 8)
22504 *Duv = proc_table.uv[*Su] | (proc_table.uv[*Sv] << 8);
22508 void __mmx_yv12_be_nv21 ( dfb_frame_t *frame )
22510 uint8_t *Sy = frame->vo_frame.base[0];
22511 uint8_t *Su = frame->vo_frame.base[1];
22512 uint8_t *Sv = frame->vo_frame.base[2];
22513 uint8_t *Dy = frame->out_plane[0];
22514 uint16_t *Dvu = (uint16_t*) frame->out_plane[1];
22515 int set = frame->mixer_set;
22517 if (set & (MF_B | MF_C)) {
22518 __asm__ __volatile__(
22519 "movq proc_table, %%mm2\n\t"
22520 "movq proc_table+24, %%mm3\n\t"
22521 "movq proc_table+8, %%mm4\n\t"
22522 "pxor %%mm7, %%mm7\n\t"
22525 "movq (%1), %%mm0\n\t"
22526 "movq %%mm0, %%mm1\n\t"
22527 "punpcklbw %%mm7, %%mm0\n\t"
22528 "punpckhbw %%mm7, %%mm1\n\t"
22529 "psubw %%mm2, %%mm0\n\t"
22530 "psubw %%mm2, %%mm1\n\t"
22531 "psllw $3, %%mm0\n\t"
22532 "pmulhw %%mm3, %%mm0\n\t"
22533 "psllw $3, %%mm1\n\t"
22534 "pmulhw %%mm3, %%mm1\n\t"
22535 "paddw %%mm4, %%mm0\n\t"
22536 "paddw %%mm4, %%mm1\n\t"
22537 "packuswb %%mm1, %%mm0\n\t"
22538 "movq %%mm0, (%0)\n\t"
22544 : "=&D" (Dy), "=&S" (Sy)
22545 : "c" (frame->area/8), "0" (Dy), "1" (Sy)
22550 __asm__ __volatile__(
22551 "movq proc_table+16, %%mm2\n\t"
22552 "movq proc_table+32, %%mm3\n\t"
22553 "pxor %%mm7, %%mm7\n\t"
22556 "movd (%1), %%mm0\n\t"
22557 "movd (%2), %%mm1\n\t"
22558 "punpcklbw %%mm7, %%mm0\n\t"
22559 "punpcklbw %%mm7, %%mm1\n\t"
22560 "psubw %%mm2, %%mm0\n\t"
22561 "psubw %%mm2, %%mm1\n\t"
22562 "psllw $3, %%mm0\n\t"
22563 "pmulhw %%mm3, %%mm0\n\t"
22564 "psllw $3, %%mm1\n\t"
22565 "pmulhw %%mm3, %%mm1\n\t"
22566 "paddw %%mm2, %%mm0\n\t"
22567 "paddw %%mm2, %%mm1\n\t"
22568 "packuswb %%mm0, %%mm0\n\t"
22569 "packuswb %%mm1, %%mm1\n\t"
22570 "punpcklbw %%mm0, %%mm1\n\t"
22571 "movq %%mm1, (%0)\n\t"
22578 : "=&D" (Dvu), "=&r" (Su), "=&r" (Sv)
22579 : "c" (frame->area/16), "0" (Dvu), "1" (Su), "2" (Sv)
22583 __asm__ __volatile__(
22586 "movd (%1), %%mm0\n\t"
22587 "movd (%2), %%mm1\n\t"
22588 "punpcklbw %%mm0, %%mm1\n\t"
22589 "movq %%mm1, (%0)\n\t"
22596 : "=&D" (Dvu), "=&r" (Su), "=&r" (Sv)
22597 : "c" (frame->area/16), "0" (Dvu), "1" (Su), "2" (Sv)
22601 if (frame->area & 8)
22602 *Dvu = proc_table.uv[*Sv] | (proc_table.uv[*Su] << 8);
22606 void __mmx_yv12_be_nv16 ( dfb_frame_t *frame )
22608 uint8_t *Sy = frame->vo_frame.base[0];
22609 uint8_t *Su = frame->vo_frame.base[1];
22610 uint8_t *Sv = frame->vo_frame.base[2];
22611 uint8_t *Dy = frame->out_plane[0];
22612 uint16_t *Duv = (uint16_t*) frame->out_plane[1];
22613 int set = frame->mixer_set;
22615 if (set & (MF_B | MF_C)) {
22616 __asm__ __volatile__(
22617 "movq proc_table, %%mm2\n\t"
22618 "movq proc_table+24, %%mm3\n\t"
22619 "movq proc_table+8, %%mm4\n\t"
22620 "pxor %%mm7, %%mm7\n\t"
22623 "movq (%1), %%mm0\n\t"
22624 "movq %%mm0, %%mm1\n\t"
22625 "punpcklbw %%mm7, %%mm0\n\t"
22626 "punpckhbw %%mm7, %%mm1\n\t"
22627 "psubw %%mm2, %%mm0\n\t"
22628 "psubw %%mm2, %%mm1\n\t"
22629 "psllw $3, %%mm0\n\t"
22630 "pmulhw %%mm3, %%mm0\n\t"
22631 "psllw $3, %%mm1\n\t"
22632 "pmulhw %%mm3, %%mm1\n\t"
22633 "paddw %%mm4, %%mm0\n\t"
22634 "paddw %%mm4, %%mm1\n\t"
22635 "packuswb %%mm1, %%mm0\n\t"
22636 "movq %%mm0, (%0)\n\t"
22642 : "=&D" (Dy), "=&S" (Sy)
22643 : "c" (frame->area/8), "0" (Dy), "1" (Sy)
22648 __asm__ __volatile__(
22649 "movq proc_table+16, %%mm2\n\t"
22650 "movq proc_table+32, %%mm3\n\t"
22651 "pxor %%mm7, %%mm7\n\t"
22654 "movd (%1), %%mm0\n\t"
22655 "movd (%2), %%mm1\n\t"
22656 "punpcklbw %%mm7, %%mm0\n\t"
22657 "punpcklbw %%mm7, %%mm1\n\t"
22658 "psubw %%mm2, %%mm0\n\t"
22659 "psubw %%mm2, %%mm1\n\t"
22660 "psllw $3, %%mm0\n\t"
22661 "pmulhw %%mm3, %%mm0\n\t"
22662 "psllw $3, %%mm1\n\t"
22663 "pmulhw %%mm3, %%mm1\n\t"
22664 "paddw %%mm2, %%mm0\n\t"
22665 "paddw %%mm2, %%mm1\n\t"
22666 "packuswb %%mm0, %%mm0\n\t"
22667 "packuswb %%mm1, %%mm1\n\t"
22668 "punpcklbw %%mm1, %%mm0\n\t"
22669 "movq %%mm0, (%0)\n\t"
22670 "movq %%mm0, (%0,%3)\n\t"
22678 "movb (%1), %%cl\n\t"
22679 "movb (%2), %%ch\n\t"
22680 "movw %%cx, (%0)\n\t"
22681 "movw %%cx, (%0,%3)\n\t"
22692 : "=&D" (Duv), "=&r" (Su), "=&r" (Sv)
22693 : "q" (frame->width), "c" (frame->width/8), "r" (frame->height/2),
22694 "0" (Duv), "1" (Su), "2" (Sv)
22698 __asm__ __volatile__(
22701 "movd (%1), %%mm0\n\t"
22702 "movd (%2), %%mm1\n\t"
22703 "punpcklbw %%mm1, %%mm0\n\t"
22704 "movq %%mm0, (%0)\n\t"
22705 "movq %%mm0, (%0,%3)\n\t"
22713 "movb (%1), %%cl\n\t"
22714 "movb (%2), %%ch\n\t"
22715 "movw %%cx, (%0)\n\t"
22716 "movw %%cx, (%0,%3)\n\t"
22727 : "=&D" (Duv), "=&r" (Su), "=&r" (Sv)
22728 : "q" (frame->width), "c" (frame->width/8), "r" (frame->height/2),
22729 "0" (Duv), "1" (Su), "2" (Sv)
22737 void __mmx_yv12_be_rgb332 ( dfb_frame_t *frame )
22739 uint8_t *Sy = frame->vo_frame.base[0];
22740 uint8_t *Su = frame->vo_frame.base[1];
22741 uint8_t *Sv = frame->vo_frame.base[2];
22742 uint8_t *D = frame->out_plane[0];
22743 int n = frame->height/2;
22745 __asm__ __volatile__(
22746 "pxor %%mm7, %%mm7\n\t"
22749 "movd (%1), %%mm3\n\t"
22750 "punpcklbw %%mm7, %%mm3\n\t"
22751 "psubw proc_table, %%mm3\n\t"
22752 "psllw $3, %%mm3\n\t"
22753 "pmulhw proc_table+24, %%mm3\n\t"
22754 "movd (%1,%4), %%mm2\n\t"
22755 "punpcklbw %%mm7, %%mm2\n\t"
22756 "psubw proc_table, %%mm2\n\t"
22757 "psllw $3, %%mm2\n\t"
22758 "pmulhw proc_table+24, %%mm2\n\t"
22759 "movd (%2), %%mm1\n\t"
22760 "punpcklbw %%mm1, %%mm1\n\t"
22761 "punpcklbw %%mm7, %%mm1\n\t"
22762 "psubw proc_table+16, %%mm1\n\t"
22763 "psllw $3, %%mm1\n\t"
22764 "movd (%3), %%mm0\n\t"
22765 "punpcklbw %%mm0, %%mm0\n\t"
22766 "punpcklbw %%mm7, %%mm0\n\t"
22767 "psubw proc_table+16, %%mm0\n\t"
22768 "psllw $3, %%mm0\n\t"
22769 "movq %%mm0, %%mm4\n\t"
22770 "pmulhw proc_table+40, %%mm4\n\t"
22771 "movq %%mm4, %%mm5\n\t"
22772 "paddw %%mm3, %%mm4\n\t"
22773 "paddw %%mm2, %%mm5\n\t"
22774 "packuswb %%mm5, %%mm4\n\t"
22775 "pand b3mask, %%mm4\n\t"
22776 "movq %%mm1, %%mm5\n\t"
22777 "pmulhw proc_table+64, %%mm5\n\t"
22778 "movq %%mm5, %%mm6\n\t"
22779 "paddw %%mm3, %%mm5\n\t"
22780 "paddw %%mm2, %%mm6\n\t"
22781 "packuswb %%mm6, %%mm5\n\t"
22782 "pmulhw proc_table+48, %%mm0\n\t"
22783 "pmulhw proc_table+56, %%mm1\n\t"
22784 "paddw %%mm1, %%mm0\n\t"
22785 "paddw %%mm0, %%mm3\n\t"
22786 "paddw %%mm0, %%mm2\n\t"
22787 "packuswb %%mm2, %%mm3\n\t"
22788 "pand b3mask, %%mm3\n\t"
22789 "movq %%mm4, %%mm0\n\t"
22790 "punpcklbw %%mm7, %%mm0\n\t"
22791 "movq %%mm5, %%mm1\n\t"
22792 "punpcklbw %%mm7, %%mm1\n\t"
22793 "psrlw $6, %%mm1\n\t"
22794 "por %%mm1, %%mm0\n\t"
22795 "movq %%mm3, %%mm1\n\t"
22796 "punpcklbw %%mm7, %%mm1\n\t"
22797 "psrlw $3, %%mm1\n\t"
22798 "por %%mm1, %%mm0\n\t"
22799 "packuswb %%mm0, %%mm0\n\t"
22800 "movd %%mm0, (%0)\n\t"
22801 "punpckhbw %%mm7, %%mm4\n\t"
22802 "punpckhbw %%mm7, %%mm5\n\t"
22803 "psrlw $6, %%mm5\n\t"
22804 "por %%mm5, %%mm4\n\t"
22805 "punpckhbw %%mm7, %%mm3\n\t"
22806 "psrlw $3, %%mm3\n\t"
22807 "por %%mm3, %%mm4\n\t"
22808 "packuswb %%mm4, %%mm4\n\t"
22809 "movd %%mm4, (%0,%4)\n\t"
22823 : "=&D" (D), "=&r" (Sy), "=&r" (Su), "=&r" (Sv)
22824 : "q" (frame->width), "c" (frame->width/4), "m" (n),
22825 "0" (D), "1" (Sy), "2" (Su), "3" (Sv)
22830 void __mmx_yv12_be_argb1555 ( dfb_frame_t *frame )
22832 uint8_t *Sy = frame->vo_frame.base[0];
22833 uint8_t *Su = frame->vo_frame.base[1];
22834 uint8_t *Sv = frame->vo_frame.base[2];
22835 uint8_t *D = frame->out_plane[0];
22836 int n = frame->height/2;
22838 __asm__ __volatile__(
22839 "pxor %%mm7, %%mm7\n\t"
22842 "movd (%1), %%mm3\n\t"
22843 "punpcklbw %%mm7, %%mm3\n\t"
22844 "psubw proc_table, %%mm3\n\t"
22845 "psllw $3, %%mm3\n\t"
22846 "pmulhw proc_table+24, %%mm3\n\t"
22847 "movd (%1,%4), %%mm2\n\t"
22848 "punpcklbw %%mm7, %%mm2\n\t"
22849 "psubw proc_table, %%mm2\n\t"
22850 "psllw $3, %%mm2\n\t"
22851 "pmulhw proc_table+24, %%mm2\n\t"
22852 "movd (%2), %%mm1\n\t"
22853 "punpcklbw %%mm1, %%mm1\n\t"
22854 "punpcklbw %%mm7, %%mm1\n\t"
22855 "psubw proc_table+16, %%mm1\n\t"
22856 "psllw $3, %%mm1\n\t"
22857 "movd (%3), %%mm0\n\t"
22858 "punpcklbw %%mm0, %%mm0\n\t"
22859 "punpcklbw %%mm7, %%mm0\n\t"
22860 "psubw proc_table+16, %%mm0\n\t"
22861 "psllw $3, %%mm0\n\t"
22862 "movq %%mm0, %%mm4\n\t"
22863 "pmulhw proc_table+40, %%mm4\n\t"
22864 "movq %%mm4, %%mm5\n\t"
22865 "paddw %%mm3, %%mm4\n\t"
22866 "paddw %%mm2, %%mm5\n\t"
22867 "packuswb %%mm5, %%mm4\n\t"
22868 "pand b5mask, %%mm4\n\t"
22869 "movq %%mm1, %%mm5\n\t"
22870 "pmulhw proc_table+64, %%mm5\n\t"
22871 "movq %%mm5, %%mm6\n\t"
22872 "paddw %%mm3, %%mm5\n\t"
22873 "paddw %%mm2, %%mm6\n\t"
22874 "packuswb %%mm6, %%mm5\n\t"
22875 "pmulhw proc_table+48, %%mm0\n\t"
22876 "pmulhw proc_table+56, %%mm1\n\t"
22877 "paddw %%mm1, %%mm0\n\t"
22878 "paddw %%mm0, %%mm3\n\t"
22879 "paddw %%mm0, %%mm2\n\t"
22880 "packuswb %%mm2, %%mm3\n\t"
22881 "pand b5mask, %%mm3\n\t"
22882 "movq %%mm4, %%mm0\n\t"
22883 "punpcklbw %%mm7, %%mm0\n\t"
22884 "psllw $7, %%mm0\n\t"
22885 "movq %%mm5, %%mm1\n\t"
22886 "punpcklbw %%mm7, %%mm1\n\t"
22887 "psrlw $3, %%mm1\n\t"
22888 "por %%mm1, %%mm0\n\t"
22889 "movq %%mm3, %%mm1\n\t"
22890 "punpcklbw %%mm7, %%mm1\n\t"
22891 "psllw $2, %%mm1\n\t"
22892 "por %%mm1, %%mm0\n\t"
22893 "por a1mask, %%mm0\n\t"
22894 "movq %%mm0, (%0)\n\t"
22895 "punpckhbw %%mm7, %%mm4\n\t"
22896 "psllw $7, %%mm4\n\t"
22897 "punpckhbw %%mm7, %%mm5\n\t"
22898 "psrlw $3, %%mm5\n\t"
22899 "por %%mm5, %%mm4\n\t"
22900 "punpckhbw %%mm7, %%mm3\n\t"
22901 "psllw $2, %%mm3\n\t"
22902 "por %%mm3, %%mm4\n\t"
22903 "por a1mask, %%mm4\n\t"
22904 "movq %%mm4, (%0,%4,2)\n\t"
22919 : "=&D" (D), "=&r" (Sy), "=&r" (Su), "=&r" (Sv)
22920 : "q" (frame->width), "c" (frame->width/4), "m" (n),
22921 "0" (D), "1" (Sy), "2" (Su), "3" (Sv)
22926 void __mmx_yv12_be_rgb16 ( dfb_frame_t *frame )
22928 uint8_t *Sy = frame->vo_frame.base[0];
22929 uint8_t *Su = frame->vo_frame.base[1];
22930 uint8_t *Sv = frame->vo_frame.base[2];
22931 uint8_t *D = frame->out_plane[0];
22932 int n = frame->height/2;
22934 __asm__ __volatile__(
22935 "pxor %%mm7, %%mm7\n\t"
22938 "movd (%1), %%mm3\n\t"
22939 "punpcklbw %%mm7, %%mm3\n\t"
22940 "psubw proc_table, %%mm3\n\t"
22941 "psllw $3, %%mm3\n\t"
22942 "pmulhw proc_table+24, %%mm3\n\t"
22943 "movd (%1,%4), %%mm2\n\t"
22944 "punpcklbw %%mm7, %%mm2\n\t"
22945 "psubw proc_table, %%mm2\n\t"
22946 "psllw $3, %%mm2\n\t"
22947 "pmulhw proc_table+24, %%mm2\n\t"
22948 "movd (%2), %%mm1\n\t"
22949 "punpcklbw %%mm1, %%mm1\n\t"
22950 "punpcklbw %%mm7, %%mm1\n\t"
22951 "psubw proc_table+16, %%mm1\n\t"
22952 "psllw $3, %%mm1\n\t"
22953 "movd (%3), %%mm0\n\t"
22954 "punpcklbw %%mm0, %%mm0\n\t"
22955 "punpcklbw %%mm7, %%mm0\n\t"
22956 "psubw proc_table+16, %%mm0\n\t"
22957 "psllw $3, %%mm0\n\t"
22958 "movq %%mm0, %%mm4\n\t"
22959 "pmulhw proc_table+40, %%mm4\n\t"
22960 "movq %%mm4, %%mm5\n\t"
22961 "paddw %%mm3, %%mm4\n\t"
22962 "paddw %%mm2, %%mm5\n\t"
22963 "packuswb %%mm5, %%mm4\n\t"
22964 "pand b5mask, %%mm4\n\t"
22965 "movq %%mm1, %%mm5\n\t"
22966 "pmulhw proc_table+64, %%mm5\n\t"
22967 "movq %%mm5, %%mm6\n\t"
22968 "paddw %%mm3, %%mm5\n\t"
22969 "paddw %%mm2, %%mm6\n\t"
22970 "packuswb %%mm6, %%mm5\n\t"
22971 "pmulhw proc_table+48, %%mm0\n\t"
22972 "pmulhw proc_table+56, %%mm1\n\t"
22973 "paddw %%mm1, %%mm0\n\t"
22974 "paddw %%mm0, %%mm3\n\t"
22975 "paddw %%mm0, %%mm2\n\t"
22976 "packuswb %%mm2, %%mm3\n\t"
22977 "pand b6mask, %%mm3\n\t"
22978 "movq %%mm4, %%mm0\n\t"
22979 "punpcklbw %%mm7, %%mm0\n\t"
22980 "psllw $8, %%mm0\n\t"
22981 "movq %%mm5, %%mm1\n\t"
22982 "punpcklbw %%mm7, %%mm1\n\t"
22983 "psrlw $3, %%mm1\n\t"
22984 "por %%mm1, %%mm0\n\t"
22985 "movq %%mm3, %%mm1\n\t"
22986 "punpcklbw %%mm7, %%mm1\n\t"
22987 "psllw $3, %%mm1\n\t"
22988 "por %%mm1, %%mm0\n\t"
22989 "movq %%mm0, (%0)\n\t"
22990 "punpckhbw %%mm7, %%mm4\n\t"
22991 "psllw $8, %%mm4\n\t"
22992 "punpckhbw %%mm7, %%mm5\n\t"
22993 "psrlw $3, %%mm5\n\t"
22994 "por %%mm5, %%mm4\n\t"
22995 "punpckhbw %%mm7, %%mm3\n\t"
22996 "psllw $3, %%mm3\n\t"
22997 "por %%mm3, %%mm4\n\t"
22998 "movq %%mm4, (%0,%4,2)\n\t"
23013 : "=&D" (D), "=&r" (Sy), "=&r" (Su), "=&r" (Sv)
23014 : "q" (frame->width), "c" (frame->width/4), "m" (n),
23015 "0" (D), "1" (Sy), "2" (Su), "3" (Sv)
23020 void __mmx_yv12_be_rgb24 ( dfb_frame_t *frame )
23022 uint8_t *Sy = frame->vo_frame.base[0];
23023 uint8_t *Su = frame->vo_frame.base[1];
23024 uint8_t *Sv = frame->vo_frame.base[2];
23025 uint8_t *D = frame->out_plane[0];
23026 int l = frame->width/4;
23027 int n = frame->height/2;
23029 __asm__ __volatile__(
23030 "pxor %%mm7, %%mm7\n\t"
23033 "movd (%1), %%mm3\n\t"
23034 "punpcklbw %%mm7, %%mm3\n\t"
23035 "psubw proc_table, %%mm3\n\t"
23036 "psllw $3, %%mm3\n\t"
23037 "pmulhw proc_table+24, %%mm3\n\t"
23038 "movd (%1,%4), %%mm2\n\t"
23039 "punpcklbw %%mm7, %%mm2\n\t"
23040 "psubw proc_table, %%mm2\n\t"
23041 "psllw $3, %%mm2\n\t"
23042 "pmulhw proc_table+24, %%mm2\n\t"
23043 "movd (%2), %%mm1\n\t"
23044 "punpcklbw %%mm1, %%mm1\n\t"
23045 "punpcklbw %%mm7, %%mm1\n\t"
23046 "psubw proc_table+16, %%mm1\n\t"
23047 "psllw $3, %%mm1\n\t"
23048 "movd (%3), %%mm0\n\t"
23049 "punpcklbw %%mm0, %%mm0\n\t"
23050 "punpcklbw %%mm7, %%mm0\n\t"
23051 "psubw proc_table+16, %%mm0\n\t"
23052 "psllw $3, %%mm0\n\t"
23053 "movq %%mm0, %%mm4\n\t"
23054 "pmulhw proc_table+40, %%mm4\n\t"
23055 "movq %%mm4, %%mm5\n\t"
23056 "paddw %%mm3, %%mm4\n\t"
23057 "paddw %%mm2, %%mm5\n\t"
23058 "packuswb %%mm5, %%mm4\n\t"
23059 "movq %%mm1, %%mm5\n\t"
23060 "pmulhw proc_table+64, %%mm5\n\t"
23061 "movq %%mm5, %%mm6\n\t"
23062 "paddw %%mm3, %%mm5\n\t"
23063 "paddw %%mm2, %%mm6\n\t"
23064 "packuswb %%mm6, %%mm5\n\t"
23065 "pmulhw proc_table+48, %%mm0\n\t"
23066 "pmulhw proc_table+56, %%mm1\n\t"
23067 "paddw %%mm1, %%mm0\n\t"
23068 "paddw %%mm0, %%mm3\n\t"
23069 "paddw %%mm0, %%mm2\n\t"
23070 "packuswb %%mm2, %%mm3\n\t"
23071 "movq %%mm5, %%mm0\n\t"
23072 "punpcklbw %%mm3, %%mm0\n\t"
23073 "movq %%mm0, %%mm2\n\t"
23074 "movq %%mm5, %%mm1\n\t"
23075 "punpcklbw %%mm4, %%mm1\n\t"
23076 "psrld $8, %%mm1\n\t"
23077 "punpcklwd %%mm1, %%mm0\n\t"
23078 "movq %%mm0, %%mm6\n\t"
23079 "psrlq $40, %%mm6\n\t"
23080 "punpckhwd %%mm1, %%mm2\n\t"
23081 "punpcklwd %%mm2, %%mm6\n\t"
23082 "punpckldq %%mm6, %%mm0\n\t"
23083 "movq %%mm0, (%0)\n\t"
23084 "psrld $8, %%mm2\n\t"
23085 "psrld $16, %%mm6\n\t"
23086 "punpckhwd %%mm2, %%mm6\n\t"
23087 "movd %%mm6, 8(%0)\n\t"
23088 "movq %%mm5, %%mm0\n\t"
23089 "punpckhbw %%mm3, %%mm0\n\t"
23090 "movq %%mm0, %%mm2\n\t"
23091 "punpckhbw %%mm4, %%mm5\n\t"
23092 "psrld $8, %%mm5\n\t"
23093 "punpcklwd %%mm5, %%mm0\n\t"
23094 "movq %%mm0, %%mm6\n\t"
23095 "psrlq $40, %%mm6\n\t"
23096 "punpckhwd %%mm5, %%mm2\n\t"
23097 "punpcklwd %%mm2, %%mm6\n\t"
23098 "punpckldq %%mm6, %%mm0\n\t"
23099 "movq %%mm0, (%0,%5)\n\t"
23100 "psrld $8, %%mm2\n\t"
23101 "psrld $16, %%mm6\n\t"
23102 "punpckhwd %%mm2, %%mm6\n\t"
23103 "movd %%mm6, 8(%0,%5)\n\t"
23112 "leal (%0,%5), %0\n\t"
23117 : "=&D" (D), "=&r" (Sy), "=&r" (Su), "=&r" (Sv)
23118 : "q" (frame->width), "q" (frame->width*3), "m" (l), "m" (n),
23119 "0" (D), "1" (Sy), "2" (Su), "3" (Sv)
23124 void __mmx_yv12_be_rgb32 ( dfb_frame_t *frame )
23126 uint8_t *Sy = frame->vo_frame.base[0];
23127 uint8_t *Su = frame->vo_frame.base[1];
23128 uint8_t *Sv = frame->vo_frame.base[2];
23129 uint8_t *D = frame->out_plane[0];
23130 int n = frame->height/2;
23132 __asm__ __volatile__(
23133 "pxor %%mm7, %%mm7\n\t"
23136 "movd (%1), %%mm3\n\t"
23137 "punpcklbw %%mm7, %%mm3\n\t"
23138 "psubw proc_table, %%mm3\n\t"
23139 "psllw $3, %%mm3\n\t"
23140 "pmulhw proc_table+24, %%mm3\n\t"
23141 "movd (%1,%4), %%mm2\n\t"
23142 "punpcklbw %%mm7, %%mm2\n\t"
23143 "psubw proc_table, %%mm2\n\t"
23144 "psllw $3, %%mm2\n\t"
23145 "pmulhw proc_table+24, %%mm2\n\t"
23146 "movd (%2), %%mm1\n\t"
23147 "punpcklbw %%mm1, %%mm1\n\t"
23148 "punpcklbw %%mm7, %%mm1\n\t"
23149 "psubw proc_table+16, %%mm1\n\t"
23150 "psllw $3, %%mm1\n\t"
23151 "movd (%3), %%mm0\n\t"
23152 "punpcklbw %%mm0, %%mm0\n\t"
23153 "punpcklbw %%mm7, %%mm0\n\t"
23154 "psubw proc_table+16, %%mm0\n\t"
23155 "psllw $3, %%mm0\n\t"
23156 "movq %%mm0, %%mm4\n\t"
23157 "pmulhw proc_table+40, %%mm4\n\t"
23158 "movq %%mm4, %%mm5\n\t"
23159 "paddw %%mm3, %%mm4\n\t"
23160 "paddw %%mm2, %%mm5\n\t"
23161 "packuswb %%mm5, %%mm4\n\t"
23162 "movq %%mm1, %%mm5\n\t"
23163 "pmulhw proc_table+64, %%mm5\n\t"
23164 "movq %%mm5, %%mm6\n\t"
23165 "paddw %%mm3, %%mm5\n\t"
23166 "paddw %%mm2, %%mm6\n\t"
23167 "packuswb %%mm6, %%mm5\n\t"
23168 "pmulhw proc_table+48, %%mm0\n\t"
23169 "pmulhw proc_table+56, %%mm1\n\t"
23170 "paddw %%mm1, %%mm0\n\t"
23171 "paddw %%mm0, %%mm3\n\t"
23172 "paddw %%mm0, %%mm2\n\t"
23173 "packuswb %%mm2, %%mm3\n\t"
23174 "movq %%mm4, %%mm0\n\t"
23175 "punpcklbw %%mm7, %%mm0\n\t"
23176 "movq %%mm5, %%mm1\n\t"
23177 "punpcklbw %%mm3, %%mm1\n\t"
23178 "movq %%mm1, %%mm2\n\t"
23179 "punpcklwd %%mm0, %%mm2\n\t"
23180 "movq %%mm2, (%0)\n\t"
23181 "punpckhwd %%mm0, %%mm1\n\t"
23182 "movq %%mm1, 8(%0)\n\t"
23183 "punpckhbw %%mm7, %%mm4\n\t"
23184 "punpckhbw %%mm3, %%mm5\n\t"
23185 "movq %%mm5, %%mm0\n\t"
23186 "punpcklwd %%mm4, %%mm0\n\t"
23187 "movq %%mm0, (%0,%4,4)\n\t"
23188 "punpckhwd %%mm4, %%mm5\n\t"
23189 "movq %%mm5, 8(%0,%4,4)\n\t"
23204 : "=&D" (D), "=&r" (Sy), "=&r" (Su), "=&r" (Sv)
23205 : "q" (frame->width), "c" (frame->width/4), "m" (n),
23206 "0" (D), "1" (Sy), "2" (Su), "3" (Sv)
23211 void __mmx_yv12_be_argb ( dfb_frame_t *frame )
23213 uint8_t *Sy = frame->vo_frame.base[0];
23214 uint8_t *Su = frame->vo_frame.base[1];
23215 uint8_t *Sv = frame->vo_frame.base[2];
23216 uint8_t *D = frame->out_plane[0];
23217 int n = frame->height/2;
23219 __asm__ __volatile__(
23220 "pxor %%mm7, %%mm7\n\t"
23223 "movd (%1), %%mm3\n\t"
23224 "punpcklbw %%mm7, %%mm3\n\t"
23225 "psubw proc_table, %%mm3\n\t"
23226 "psllw $3, %%mm3\n\t"
23227 "pmulhw proc_table+24, %%mm3\n\t"
23228 "movd (%1,%4), %%mm2\n\t"
23229 "punpcklbw %%mm7, %%mm2\n\t"
23230 "psubw proc_table, %%mm2\n\t"
23231 "psllw $3, %%mm2\n\t"
23232 "pmulhw proc_table+24, %%mm2\n\t"
23233 "movd (%2), %%mm1\n\t"
23234 "punpcklbw %%mm1, %%mm1\n\t"
23235 "punpcklbw %%mm7, %%mm1\n\t"
23236 "psubw proc_table+16, %%mm1\n\t"
23237 "psllw $3, %%mm1\n\t"
23238 "movd (%3), %%mm0\n\t"
23239 "punpcklbw %%mm0, %%mm0\n\t"
23240 "punpcklbw %%mm7, %%mm0\n\t"
23241 "psubw proc_table+16, %%mm0\n\t"
23242 "psllw $3, %%mm0\n\t"
23243 "movq %%mm0, %%mm4\n\t"
23244 "pmulhw proc_table+40, %%mm4\n\t"
23245 "movq %%mm4, %%mm5\n\t"
23246 "paddw %%mm3, %%mm4\n\t"
23247 "paddw %%mm2, %%mm5\n\t"
23248 "packuswb %%mm5, %%mm4\n\t"
23249 "movq %%mm1, %%mm5\n\t"
23250 "pmulhw proc_table+64, %%mm5\n\t"
23251 "movq %%mm5, %%mm6\n\t"
23252 "paddw %%mm3, %%mm5\n\t"
23253 "paddw %%mm2, %%mm6\n\t"
23254 "packuswb %%mm6, %%mm5\n\t"
23255 "pmulhw proc_table+48, %%mm0\n\t"
23256 "pmulhw proc_table+56, %%mm1\n\t"
23257 "paddw %%mm1, %%mm0\n\t"
23258 "paddw %%mm0, %%mm3\n\t"
23259 "paddw %%mm0, %%mm2\n\t"
23260 "packuswb %%mm2, %%mm3\n\t"
23261 "movq %%mm4, %%mm0\n\t"
23262 "punpcklbw a8mask, %%mm0\n\t"
23263 "movq %%mm5, %%mm1\n\t"
23264 "punpcklbw %%mm3, %%mm1\n\t"
23265 "movq %%mm1, %%mm2\n\t"
23266 "punpcklwd %%mm0, %%mm2\n\t"
23267 "movq %%mm2, (%0)\n\t"
23268 "punpckhwd %%mm0, %%mm1\n\t"
23269 "movq %%mm1, 8(%0)\n\t"
23270 "punpckhbw a8mask, %%mm4\n\t"
23271 "punpckhbw %%mm3, %%mm5\n\t"
23272 "movq %%mm5, %%mm0\n\t"
23273 "punpcklwd %%mm4, %%mm0\n\t"
23274 "movq %%mm0, (%0,%4,4)\n\t"
23275 "punpckhwd %%mm4, %%mm5\n\t"
23276 "movq %%mm5, 8(%0,%4,4)\n\t"
23291 : "=&D" (D), "=&r" (Sy), "=&r" (Su), "=&r" (Sv)
23292 : "q" (frame->width), "c" (frame->width/4), "m" (n),
23293 "0" (D), "1" (Sy), "2" (Su), "3" (Sv)
23300 # 163 "video_out_dfb.c" 2
23304 static DVProcFunc ProcFuncs[2][21] = {
23306 __generic_yuy2_be_rgb16,
23307 __generic_yuy2_be_rgb16,
23308 __generic_yuy2_be_rgb24,
23309 __generic_yuy2_be_rgb32,
23310 __generic_yuy2_be_rgb32,
23312 __generic_yuy2_be_yuy2,
23313 __generic_yuy2_be_rgb8,
23314 __generic_yuy2_be_uyvy,
23315 __generic_yuy2_be_yv12,
23316 __generic_yuy2_be_yv12,
23319 __generic_yuy2_be_rgb32,
23321 __generic_yuy2_be_nv12,
23322 __generic_yuy2_be_nv16,
23323 __generic_yuy2_be_rgb16,
23324 __generic_yuy2_be_rgb16,
23325 __generic_yuy2_be_nv21
23328 __generic_yv12_be_rgb16,
23329 __generic_yv12_be_rgb16,
23330 __generic_yv12_be_rgb24,
23331 __generic_yv12_be_rgb32,
23332 __generic_yv12_be_rgb32,
23334 __generic_yv12_be_yuy2,
23335 __generic_yv12_be_rgb8,
23336 __generic_yv12_be_uyvy,
23337 __generic_yv12_be_yv12,
23338 __generic_yv12_be_yv12,
23341 __generic_yv12_be_rgb32,
23343 __generic_yv12_be_nv12,
23344 __generic_yv12_be_nv16,
23345 __generic_yv12_be_rgb16,
23346 __generic_yv12_be_rgb16,
23347 __generic_yv12_be_nv21
23356 # 1 "video_out_dfb_blend.h" 1
23357 # 20 "video_out_dfb_blend.h"
23358 #define PACCEL generic
23365 #define W0(d) *((uint16_t*)(d)+0)
23366 #define W1(d) *((uint16_t*)(d)+1)
23371 void __generic_blend_yuy2 ( DVBlender *blender, DVColor *color )
23373 uint16_t *D = (uint16_t*) blender->plane[0] + blender->x;
23374 uint32_t y = color->yuv.y;
23375 uint32_t u = color->yuv.u << 8;
23376 uint32_t v = color->yuv.v << 8;
23377 int w = blender->len;
23380 if (color->yuv.a < 0xff) {
23381 uint32_t a0 = (color->yuv.a << 16) / 0xff;
23382 uint32_t a1 = 0x10000 - a0;
23389 *D = ((y + ((*D & 0x00ff) * a1)) >> 16) |
23390 (((v + ((*D & 0xff00) * a1)) >> 16) & 0xff00);
23395 for (n = w/2; n--;) {
23396 register uint32_t Dpix;
23404 Dpix = ((y + ((*(D+0) & 0x00ff) * a1)) >> 16);
23405 Dpix |= ((u + ((*(D+0) & 0xff00) * a1)) >> 16) & 0x0000ff00;
23406 Dpix |= ((y + ((*(D+1) & 0x00ff) * a1)) ) & 0x00ff0000;
23407 Dpix |= ((v + ((*(D+1) & 0xff00) * a1)) ) & 0xff000000;
23409 *((uint32_t*)D) = Dpix;
23414 *D = ((y + ((*D & 0x00ff) * a1)) >> 16) |
23415 (((u + ((*D & 0xff00) * a1)) >> 16) & 0xff00);
23419 uint32_t Dpix = (y << 0) | (u << (8 -8)) |
23420 (y << 16) | (v << (24 -8));
23427 for (n = w/2; n--;) {
23428 *((uint32_t*)D) = Dpix;
23438 void __generic_blend_uyvy ( DVBlender *blender, DVColor *color )
23440 uint16_t *D = (uint16_t*) blender->plane[0] + blender->x;
23441 uint32_t y = color->yuv.y << 8;
23442 uint32_t u = color->yuv.u;
23443 uint32_t v = color->yuv.v;
23444 int w = blender->len;
23447 if (color->yuv.a < 0xff) {
23448 uint32_t a0 = (color->yuv.a << 16) / 0xff;
23449 uint32_t a1 = 0x10000 - a0;
23456 *D = (((v + ((*D & 0x00ff) * a1)) >> 16) ) |
23457 (((y + ((*D & 0xff00) * a1)) >> 16) & 0xff00);
23462 for (n = w/2; n--;) {
23463 register uint32_t Dpix;
23471 Dpix = ((u + ((*(D+0) & 0x00ff) * a1)) >> 16);
23472 Dpix |= ((y + ((*(D+0) & 0xff00) * a1)) >> 16) & 0x0000ff00;
23473 Dpix |= ((v + ((*(D+1) & 0x00ff) * a1)) ) & 0x00ff0000;
23474 Dpix |= ((y + ((*(D+1) & 0xff00) * a1)) ) & 0xff000000;
23477 *((uint32_t*)D) = Dpix;
23482 *D = (((u + ((*D & 0x00ff) * a1)) >> 16) ) |
23483 (((y + ((*D & 0xff00) * a1)) >> 16) & 0xff00);
23487 uint32_t Dpix = (u << 0) | (y << 0) |
23488 (v << 16) | (y << 16);
23495 for (n = w/2; n--;) {
23496 *((uint32_t*)D) = Dpix;
23506 void __generic_blend_yv12 ( DVBlender *blender, DVColor *color )
23508 uint8_t *Dy = blender->plane[0] + blender->x;
23509 uint8_t *Du = blender->plane[1] + blender->x/2;
23510 uint8_t *Dv = blender->plane[2] + blender->x/2;
23511 uint32_t y = color->yuv.y;
23512 uint32_t u = color->yuv.u;
23513 uint32_t v = color->yuv.v;
23514 int w = blender->len;
23517 if (color->yuv.a < 0xff) {
23518 uint32_t a0 = (color->yuv.a << 16) / 0xff;
23519 uint32_t a1 = 0x10000 - a0;
23523 for (n = w; n--;) {
23524 *Dy = (y + (*Dy * a1)) >> 16;
23528 if (blender->y & 1) {
23532 for (n = w/2; n--;) {
23533 *Du = (u + (*Du * a1)) >> 16;
23535 *Dv = (v + (*Dv * a1)) >> 16;
23540 *Du = (u + (*Du * a1)) >> 16;
23541 *Dv = (v + (*Dv * a1)) >> 16;
23546 memset( Dy, y, w );
23548 if (blender->y & 1) {
23549 memset( Du, u, (w+1)/2 );
23550 memset( Dv, v, (w+1)/2 );
23556 void __generic_blend_nv12 ( DVBlender *blender, DVColor *color )
23558 uint8_t *Dy = blender->plane[0] + blender->x;
23559 uint16_t *Duv = (uint16_t*) blender->plane[1] + blender->x/2;
23560 uint32_t y = color->yuv.y;
23561 uint32_t u = color->yuv.u;
23562 uint32_t v = color->yuv.v << 8;
23563 int w = blender->len;
23566 if (color->yuv.a < 0xff) {
23567 uint32_t a0 = (color->yuv.a << 16) / 0xff;
23568 uint32_t a1 = 0x10000 - a0;
23572 for (n = w; n--;) {
23573 *Dy = (y + (*Dy * a1)) >> 16;
23577 if (blender->y & 1) {
23581 if ((long)Duv & 2) {
23582 *Duv = (((u + ((*Duv & 0x00ff) * a1)) >> 16) ) |
23583 (((v + ((*Duv & 0xff00) * a1)) >> 16) & 0xff00);
23588 for (n = w/4; n--;) {
23589 register uint32_t Dpix;
23591 Dpix = ((u + ((*((uint16_t*)(Duv)+0) & 0x00ff) * a1)) >> 16);
23592 Dpix |= ((v + ((*((uint16_t*)(Duv)+0) & 0xff00) * a1)) >> 16) & 0x0000ff00;
23593 Dpix |= ((u + ((*((uint16_t*)(Duv)+1) & 0x00ff) * a1)) ) & 0x00ff0000;
23594 Dpix |= ((v + ((*((uint16_t*)(Duv)+1) & 0xff00) * a1)) ) & 0xff000000;
23596 *((uint32_t*)Duv) = Dpix;
23601 *Duv = (((u + ((*Duv & 0x00ff) * a1)) >> 16) ) |
23602 (((v + ((*Duv & 0xff00) * a1)) >> 16) & 0xff00);
23607 memset( Dy, y, w );
23609 if (blender->y & 1) {
23610 register uint32_t Dpix = u | v | ((u|v) << 16);
23612 if ((long)Duv & 2) {
23617 for (n = w/4; n--;) {
23618 *((uint32_t*)Duv) = Dpix;
23629 void __generic_blend_nv21 ( DVBlender *blender, DVColor *color )
23631 uint8_t *Dy = blender->plane[0] + blender->x;
23632 uint16_t *Dvu = (uint16_t*) blender->plane[1] + blender->x/2;
23633 uint32_t y = color->yuv.y;
23634 uint32_t u = color->yuv.u << 8;
23635 uint32_t v = color->yuv.v;
23636 int w = blender->len;
23639 if (color->yuv.a < 0xff) {
23640 uint32_t a0 = (color->yuv.a << 16) / 0xff;
23641 uint32_t a1 = 0x10000 - a0;
23645 for (n = w; n--;) {
23646 *Dy = (y + (*Dy * a1)) >> 16;
23650 if (blender->y & 1) {
23654 if ((long)Dvu & 2) {
23655 *Dvu = (((v + ((*Dvu & 0x00ff) * a1)) >> 16) ) |
23656 (((u + ((*Dvu & 0xff00) * a1)) >> 16) & 0xff00);
23661 for (n = w/4; n--;) {
23662 register uint32_t Dpix;
23664 Dpix = ((v + ((*((uint16_t*)(Dvu)+0) & 0x00ff) * a1)) >> 16);
23665 Dpix |= ((u + ((*((uint16_t*)(Dvu)+0) & 0xff00) * a1)) >> 16) & 0x0000ff00;
23666 Dpix |= ((v + ((*((uint16_t*)(Dvu)+1) & 0x00ff) * a1)) ) & 0x00ff0000;
23667 Dpix |= ((u + ((*((uint16_t*)(Dvu)+1) & 0xff00) * a1)) ) & 0xff000000;
23669 *((uint32_t*)Dvu) = Dpix;
23674 *Dvu = (((v + ((*Dvu & 0x00ff) * a1)) >> 16) ) |
23675 (((u + ((*Dvu & 0xff00) * a1)) >> 16) & 0xff00);
23680 memset( Dy, y, w );
23682 if (blender->y & 1) {
23683 register uint32_t Dpix = u | v | ((u|v) << 16);
23685 if ((long)Dvu & 2) {
23690 for (n = w/4; n--;) {
23691 *((uint32_t*)Dvu) = Dpix;
23702 void __generic_blend_rgb332 ( DVBlender *blender, DVColor *color )
23704 uint8_t *D = blender->plane[0] + blender->x;
23705 uint32_t r = (color->rgb.r & 0xe0);
23706 uint32_t g = (color->rgb.g & 0xe0) >> 3;
23707 uint32_t b = (color->rgb.b & 0xc0) >> 6;
23708 int n = blender->len;
23710 if (color->rgb.a < 0xff) {
23711 uint32_t a0 = (color->rgb.a << 16) / 0xff;
23712 uint32_t a1 = 0x10000 - a0;
23719 register uint32_t Dpix;
23721 Dpix = ((b + ((*D & 0x03) * a1)) >> 16);
23722 Dpix |= ((g + ((*D & 0x1c) * a1)) >> 16) & 0x1c;
23723 Dpix |= ((r + ((*D & 0xe0) * a1)) >> 16) & 0xe0;
23728 memset( D, (r | g | b), n );
23732 void __generic_blend_argb2554 ( DVBlender *blender, DVColor *color )
23734 uint16_t *D = (uint16_t*) blender->plane[0] + blender->x;
23735 uint32_t a = (color->rgb.a & 0xc0) << 8;
23736 uint32_t r = (color->rgb.r & 0xf8) << 6;
23737 uint32_t g = (color->rgb.g & 0xf8) << 1;
23738 uint32_t b = (color->rgb.b & 0xf0) >> 4;
23739 int w = blender->len;
23742 if (color->rgb.a < 0xff) {
23743 uint32_t a0 = (color->rgb.a << 16) / 0xff;
23744 uint32_t a1 = 0x10000 - a0;
23752 register uint32_t Dpix;
23754 Dpix = ((b + ((*D & 0x000f) * a1)) >> 16);
23755 Dpix |= ((g + ((*D & 0x01f0) * a1)) >> 16) & 0x01f0;
23756 Dpix |= ((r + ((*D & 0x3e00) * a1)) >> 16) & 0x3e00;
23757 Dpix |= ((a + ((*D & 0xc000) * a1)) >> 16) & 0xc000;
23763 for (n = w/2; n--;) {
23764 register uint32_t Dpix;
23766 Dpix = ((b + ((*((uint16_t*)(D)+0) & 0x000f) * a1)) >> 16);
23767 Dpix |= ((g + ((*((uint16_t*)(D)+0) & 0x01f0) * a1)) >> 16) & 0x000001f0;
23768 Dpix |= ((r + ((*((uint16_t*)(D)+0) & 0x3e00) * a1)) >> 16) & 0x00003e00;
23769 Dpix |= ((a + ((*((uint16_t*)(D)+0) & 0xc000) * a1)) >> 16) & 0x0000c000;
23771 Dpix |= ((b + ((*((uint16_t*)(D)+1) & 0x000f) * a1)) ) & 0x000f0000;
23772 Dpix |= ((g + ((*((uint16_t*)(D)+1) & 0x01f0) * a1)) ) & 0x01f00000;
23773 Dpix |= ((r + ((*((uint16_t*)(D)+1) & 0x3e00) * a1)) ) & 0x3e000000;
23774 Dpix |= ((a + ((*((uint16_t*)(D)+1) & 0xc000) * a1)) ) & 0xc0000000;
23776 *((uint32_t*)D) = Dpix;
23781 register uint32_t Dpix;
23783 Dpix = ((b + ((*D & 0x000f) * a1)) >> 16);
23784 Dpix |= ((g + ((*D & 0x01f0) * a1)) >> 16) & 0x01f0;
23785 Dpix |= ((r + ((*D & 0x3e00) * a1)) >> 16) & 0x3e00;
23786 Dpix |= ((a + ((*D & 0xc000) * a1)) >> 16) & 0xc000;
23792 uint32_t Dpix = (a | r | g | b);
23794 Dpix |= Dpix << 16;
23801 for (n = w/2; n--;) {
23802 *((uint32_t*)D) = Dpix;
23812 void __generic_blend_argb4444 ( DVBlender *blender, DVColor *color )
23814 uint16_t *D = (uint16_t*) blender->plane[0] + blender->x;
23815 uint32_t a = (color->rgb.a & 0xf0) << 8;
23816 uint32_t r = (color->rgb.r & 0xf0) << 4;
23817 uint32_t g = (color->rgb.g & 0xf0);
23818 uint32_t b = (color->rgb.b & 0xf0) >> 4;
23819 int w = blender->len;
23822 if (color->rgb.a < 0xff) {
23823 uint32_t a0 = (color->rgb.a << 16) / 0xff;
23824 uint32_t a1 = 0x10000 - a0;
23832 register uint32_t Dpix;
23834 Dpix = ((b + ((*D & 0x000f) * a1)) >> 16);
23835 Dpix |= ((g + ((*D & 0x00f0) * a1)) >> 16) & 0x00f0;
23836 Dpix |= ((r + ((*D & 0x0f00) * a1)) >> 16) & 0x0f00;
23837 Dpix |= ((a + ((*D & 0xf000) * a1)) >> 16) & 0xf000;
23843 for (n = w/2; n--;) {
23844 register uint32_t Dpix;
23846 Dpix = ((b + ((*((uint16_t*)(D)+0) & 0x000f) * a1)) >> 16);
23847 Dpix |= ((g + ((*((uint16_t*)(D)+0) & 0x00f0) * a1)) >> 16) & 0x000000f0;
23848 Dpix |= ((r + ((*((uint16_t*)(D)+0) & 0x0f00) * a1)) >> 16) & 0x00000f00;
23849 Dpix |= ((a + ((*((uint16_t*)(D)+0) & 0xf000) * a1)) >> 16) & 0x0000f000;
23851 Dpix |= ((b + ((*((uint16_t*)(D)+1) & 0x000f) * a1)) ) & 0x000f0000;
23852 Dpix |= ((g + ((*((uint16_t*)(D)+1) & 0x00f0) * a1)) ) & 0x00f00000;
23853 Dpix |= ((r + ((*((uint16_t*)(D)+1) & 0x0f00) * a1)) ) & 0x0f000000;
23854 Dpix |= ((a + ((*((uint16_t*)(D)+1) & 0xf000) * a1)) ) & 0xf0000000;
23856 *((uint32_t*)D) = Dpix;
23861 register uint32_t Dpix;
23863 Dpix = ((b + ((*D & 0x000f) * a1)) >> 16);
23864 Dpix |= ((g + ((*D & 0x00f0) * a1)) >> 16) & 0x00f0;
23865 Dpix |= ((r + ((*D & 0x0f00) * a1)) >> 16) & 0x0f00;
23866 Dpix |= ((a + ((*D & 0xf000) * a1)) >> 16) & 0xf000;
23872 uint32_t Dpix = (a | r | g | b);
23874 Dpix |= Dpix << 16;
23881 for (n = w/2; n--;) {
23882 *((uint32_t*)D) = Dpix;
23892 void __generic_blend_argb1555 ( DVBlender *blender, DVColor *color )
23894 uint16_t *D = (uint16_t*) blender->plane[0] + blender->x;
23895 uint32_t a = (color->rgb.a & 0x80) << 8;
23896 uint32_t r = (color->rgb.r & 0xf8) << 7;
23897 uint32_t g = (color->rgb.g & 0xf8) << 2;
23898 uint32_t b = (color->rgb.b & 0xf8) >> 3;
23899 int w = blender->len;
23902 if (color->rgb.a < 0xff) {
23903 uint32_t a0 = (color->rgb.a << 16) / 0xff;
23904 uint32_t a1 = 0x10000 - a0;
23911 register uint32_t Dpix;
23913 Dpix = ((b + ((*D & 0x001f) * a1)) >> 16);
23914 Dpix |= ((g + ((*D & 0x03e0) * a1)) >> 16) & 0x03e0;
23915 Dpix |= ((r + ((*D & 0x7c00) * a1)) >> 16) & 0x7c00;
23916 Dpix |= (a > 127) ? 0x8000 : (*D & 0x8000);
23922 for (n = w/2; n--;) {
23923 register uint32_t Dpix;
23925 Dpix = ((b + ((*((uint16_t*)(D)+0) & 0x001f) * a1)) >> 16);
23926 Dpix |= ((g + ((*((uint16_t*)(D)+0) & 0x03e0) * a1)) >> 16) & 0x000003e0;
23927 Dpix |= ((r + ((*((uint16_t*)(D)+0) & 0x7c00) * a1)) >> 16) & 0x00007c00;
23928 Dpix |= ((a > 127) ? 0x00008000 : ((*((uint16_t*)(D)+0) & 0x8000)));
23930 Dpix |= ((b + ((*((uint16_t*)(D)+1) & 0x001f) * a1)) ) & 0x001f0000;
23931 Dpix |= ((g + ((*((uint16_t*)(D)+1) & 0x03e0) * a1)) ) & 0x03e00000;
23932 Dpix |= ((r + ((*((uint16_t*)(D)+1) & 0x7c00) * a1)) ) & 0x7c000000;
23933 Dpix |= ((a > 127) ? 0x80000000 : ((*((uint16_t*)(D)+1) & 0x8000)<<16));
23935 *((uint32_t*)D) = Dpix;
23940 register uint32_t Dpix;
23942 Dpix = ((b + ((*D & 0x001f) * a1)) >> 16);
23943 Dpix |= ((g + ((*D & 0x03e0) * a1)) >> 16) & 0x03e0;
23944 Dpix |= ((r + ((*D & 0x7c00) * a1)) >> 16) & 0x7c00;
23945 Dpix |= ((a > 127) ? 0x8000 : (*D & 0x8000));
23951 uint32_t Dpix = (a | r | g | b);
23953 Dpix |= Dpix << 16;
23960 for (n = w/2; n--;) {
23961 *((uint32_t*)D) = Dpix;
23971 void __generic_blend_rgb16 ( DVBlender *blender, DVColor *color )
23973 uint16_t *D = (uint16_t*) blender->plane[0] + blender->x;
23974 uint32_t r = (color->rgb.r & 0xf8) << 8;
23975 uint32_t g = (color->rgb.g & 0xfc) << 3;
23976 uint32_t b = (color->rgb.b & 0xf8) >> 3;
23977 int w = blender->len;
23980 if (color->rgb.a < 0xff) {
23981 uint32_t a0 = (color->rgb.a << 16) / 0xff;
23982 uint32_t a1 = 0x10000 - a0;
23989 register uint32_t Dpix;
23991 Dpix = ((b + ((*D & 0x001f) * a1)) >> 16);
23992 Dpix |= ((g + ((*D & 0x07e0) * a1)) >> 16) & 0x07e0;
23993 Dpix |= ((r + ((*D & 0xf800) * a1)) >> 16) & 0xf800;
23999 for (n = w/2; n--;) {
24000 register uint32_t Dpix;
24002 Dpix = ((b + ((*((uint16_t*)(D)+0) & 0x001f) * a1)) >> 16);
24003 Dpix |= ((g + ((*((uint16_t*)(D)+0) & 0x07e0) * a1)) >> 16) & 0x000007e0;
24004 Dpix |= ((r + ((*((uint16_t*)(D)+0) & 0xf800) * a1)) >> 16) & 0x0000f800;
24006 Dpix |= ((b + ((*((uint16_t*)(D)+1) & 0x001f) * a1)) ) & 0x001f0000;
24007 Dpix |= ((g + ((*((uint16_t*)(D)+1) & 0x07e0) * a1)) ) & 0x07e00000;
24008 Dpix |= ((r + ((*((uint16_t*)(D)+1) & 0xf800) * a1)) ) & 0xf8000000;
24010 *((uint32_t*)D) = Dpix;
24015 register uint32_t Dpix;
24017 Dpix = ((b + ((*D & 0x001f) * a1)) >> 16);
24018 Dpix |= ((g + ((*D & 0x07e0) * a1)) >> 16) & 0x07e0;
24019 Dpix |= ((r + ((*D & 0xf800) * a1)) >> 16) & 0xf800;
24025 uint32_t Dpix = (r | g | b);
24027 Dpix |= Dpix << 16;
24034 for (n = w/2; n--;) {
24035 *((uint32_t*)D) = Dpix;
24045 void __generic_blend_rgb24 ( DVBlender *blender, DVColor *color )
24047 uint8_t *D = blender->plane[0] + blender->x*3;
24048 uint32_t r = color->rgb.r;
24049 uint32_t g = color->rgb.g;
24050 uint32_t b = color->rgb.b;
24051 int n = blender->len;
24053 if (color->rgb.a < 0xff) {
24054 uint32_t a0 = (color->rgb.a << 16) / 0xff;
24055 uint32_t a1 = 0x10000 - a0;
24062 *(D+0) = (b + (*(D+0) * a1)) >> 16;
24063 *(D+1) = (g + (*(D+1) * a1)) >> 16;
24064 *(D+2) = (r + (*(D+2) * a1)) >> 16;
24081 void __generic_blend_rgb32 ( DVBlender *blender, DVColor *color )
24083 uint32_t *D = (uint32_t*) blender->plane[0] + blender->x;
24084 uint32_t r = color->rgb.r;
24085 uint32_t g = color->rgb.g;
24086 uint32_t b = color->rgb.b;
24087 int n = blender->len;
24089 if (color->rgb.a < 0xff) {
24090 uint32_t a0 = (color->rgb.a << 16) / 0xff;
24091 uint32_t a1 = 0x10000 - a0;
24098 register uint32_t Dpix;
24100 Dpix = ((b + (((*D & 0x000000ff) ) * a1)) >> 16);
24101 Dpix |= ((g + (((*D & 0x0000ff00) >> 8) * a1)) >> 8) & 0x0000ff00;
24102 Dpix |= ((r + (((*D & 0x00ff0000) >> 16) * a1)) ) & 0x00ff0000;
24108 uint32_t Dpix = (r << 16) | (g << 8) | b;
24116 void __generic_blend_argb ( DVBlender *blender, DVColor *color )
24118 uint32_t *D = (uint32_t*) blender->plane[0] + blender->x;
24119 uint32_t a = color->rgb.a;
24120 uint32_t r = color->rgb.r;
24121 uint32_t g = color->rgb.g;
24122 uint32_t b = color->rgb.b;
24123 int n = blender->len;
24126 uint32_t a0 = (a << 16) / 0xff;
24127 uint32_t a1 = 0x10000 - a0;
24135 register uint32_t Dpix;
24137 Dpix = ((b + (((*D & 0x000000ff) ) * a1)) >> 16);
24138 Dpix |= ((g + (((*D & 0x0000ff00) >> 8) * a1)) >> 8) & 0x0000ff00;
24139 Dpix |= ((r + (((*D & 0x00ff0000) >> 16) * a1)) ) & 0x00ff0000;
24140 Dpix |= ((a + (((*D & 0xff000000) >> 24) * a1)) << 8) & 0xff000000;
24146 uint32_t Dpix = (a << 24) | (r << 16) | (g << 8) | b;
24155 # 219 "video_out_dfb.c" 2
24158 static DVBlendFunc BlendFuncs[21] =
24160 __generic_blend_argb1555,
24161 __generic_blend_rgb16,
24162 __generic_blend_rgb24,
24163 __generic_blend_rgb32,
24164 __generic_blend_argb,
24166 __generic_blend_yuy2,
24167 __generic_blend_rgb332,
24168 __generic_blend_uyvy,
24169 __generic_blend_yv12,
24170 __generic_blend_yv12,
24173 __generic_blend_rgb32,
24175 __generic_blend_nv12,
24176 __generic_blend_nv12,
24177 __generic_blend_argb2554,
24178 __generic_blend_argb4444,
24179 __generic_blend_nv21
24187 vo_dfb_tables_regen( dfb_driver_t *this,
24189 DFBSurfacePixelFormat format )
24191 const DVProcMatrix *m = &proc_matrices[this->config.proc_matrix];
24197 int b = this->mixer.b;
24198 int c = this->mixer.c;
24199 int s = this->mixer.s;
24205 if (flags & MF_B) {
24206 if (this->mixer.b == 0)
24207 this->mixer.set &= ~MF_B;
24209 this->mixer.set |= MF_B;
24212 if (flags & MF_C) {
24213 if (this->mixer.c == 128)
24214 this->mixer.set &= ~MF_C;
24216 this->mixer.set |= MF_C;
24219 if (flags & MF_S) {
24220 if (this->mixer.s == 128)
24221 this->mixer.set &= ~MF_S;
24223 this->mixer.set |= MF_S;
24226 if (format != this->dest_format)
24230 lm_cfc = + 0x00002000 * 255 / (m->y.max - m->y.min );
24231 vr_cfc = + m->v_for_r * 255 / (m->uv.max - m->uv.min);
24232 vg_cfc = - m->v_for_g * 255 / (m->uv.max - m->uv.min);
24233 ug_cfc = - m->u_for_g * 255 / (m->uv.max - m->uv.min);
24234 ub_cfc = + m->u_for_b * 255 / (m->uv.max - m->uv.min);
24244 for (i = 0; i < 256; i++) {
24247 if (flags & (MF_B | MF_C)) {
24248 lm = (((i)<(m->y.min)) ? (m->y.min) : (((i)>(m->y.max)) ? (m->y.max) : (i)));
24249 lm = (((lm - m->y.off + b) * c) >> 7) + m->y.off;
24250 proc_table.lm[i] = (((lm)<(0)) ? (0) : (((lm)>(0xff)) ? (0xff) : (lm)));
24252 if (flags & MF_S) {
24253 uv = (((i)<(m->uv.min)) ? (m->uv.min) : (((i)>(m->uv.max)) ? (m->uv.max) : (i)));
24254 uv = (((uv - m->uv.off) * s) >> 7) + m->uv.off;
24255 proc_table.uv[i] = (((uv)<(0)) ? (0) : (((uv)>(0xff)) ? (0xff) : (uv)));
24261 for (i = 0; i < 256; i++) {
24262 int lm, uv, vr, vg, ug, ub;
24264 if (flags & (MF_B | MF_C)) {
24265 lm = (((i)<(m->y.min)) ? (m->y.min) : (((i)>(m->y.max)) ? (m->y.max) : (i)));
24266 lm = ((lm - m->y.off + b) * lm_cfc * c) >> 20;
24267 proc_table.lm[i] = (((lm)<(0)) ? (0) : (((lm)>(0xff)) ? (0xff) : (lm)));
24269 if (flags & MF_S) {
24270 uv = (((i)<(m->uv.min)) ? (m->uv.min) : (((i)>(m->uv.max)) ? (m->uv.max) : (i)));
24271 vr = ((uv - m->uv.off) * vr_cfc * s) >> 20;
24272 vg = ((uv - m->uv.off) * vg_cfc * s) >> 20;
24273 ug = ((uv - m->uv.off) * ug_cfc * s) >> 20;
24274 ub = ((uv - m->uv.off) * ub_cfc * s) >> 20;
24275 proc_table.vr[i] = vr;
24276 proc_table.vg[i] = vg;
24277 proc_table.ug[i] = ug;
24278 proc_table.ub[i] = ub;
24281 clamp = (this->dest_format != format);
24286 if (this->accel == 0x80000000) {
24287 for (i = 0; i < 4; i++) {
24288 proc_table.mmx.lm_sub[i] = m->y.off - b;
24289 proc_table.mmx.lm_add[i] = m->y.off;
24290 proc_table.mmx.uv_sub[i] = m->uv.off;
24301 for (i = 0; i < 4; i++) {
24302 proc_table.mmx.lm_cfc[i] = (0x2000 * c) >> 7;
24303 proc_table.mmx.uv_cfc[i] = (0x2000 * s) >> 7;
24306 case DSPF_ARGB2554:
24307 case DSPF_ARGB4444:
24311 for (i = 0; i < 4; i++) {
24312 proc_table.mmx.lm_cfc[i] = (lm_cfc * c) >> 7;
24313 proc_table.mmx.vr_cfc[i] = (vr_cfc * s) >> 7;
24314 proc_table.mmx.vg_cfc[i] = (vg_cfc * s) >> 7;
24315 proc_table.mmx.ug_cfc[i] = (ug_cfc * s) >> 7;
24316 proc_table.mmx.ub_cfc[i] = (ub_cfc * s) >> 7;
24325 int uv_min, uv_max;
24337 uv_min = (m->uv.min - m->uv.off) * 255;
24338 uv_max = (m->uv.max - m->uv.off) * 255;
24340 r_min = 0x00 + ((uv_min * vr_cfc) >> 20);
24341 r_max = 0xff + ((uv_max * vr_cfc) >> 20);
24342 g_min = 0x00 + ((uv_max * vg_cfc) >> 20) + ((uv_max * ug_cfc) >> 20);
24343 g_max = 0xff + ((uv_min * vg_cfc) >> 20) + ((uv_min * ug_cfc) >> 20);
24344 b_min = 0x00 + ((uv_min * ub_cfc) >> 20);
24345 b_max = 0xff + ((uv_max * ub_cfc) >> 20);
24353 cpp = (((format) & 0x00700000) >> 20);
24355 if ((((this->dest_format) & 0x00700000) >> 20) != cpp) {
24362 cpp = (cpp == 3) ? 1 : cpp;
24364 r_size = abs(r_min) + r_max + 1;
24365 g_size = abs(g_min) + g_max + 1;
24366 b_size = abs(b_min) + b_max + 1;
24367 size = (r_size + g_size + b_size) * cpp;
24369 if (proc_table.clamp.buf) {
24370 free( proc_table.clamp.buf );
24371 proc_table.clamp.buf = ((void *)0);
24374 clamp_buf = xine_xmalloc_aligned( 4, size, &proc_table.clamp.buf );
24377 do { fprintf(stderr, "abort: %s:%d: %s: Aborting.\n", "video_out_dfb.c", 440, __FUNCTION__); abort(); } while(0);
24380 proc_table.clamp.r = clamp_buf + abs(r_min) * cpp;
24381 proc_table.clamp.g = clamp_buf + ( r_size + abs(g_min)) * cpp;
24382 proc_table.clamp.b = clamp_buf + (g_size + r_size + abs(b_min)) * cpp;
24385 clamp_r = proc_table.clamp.r;
24386 clamp_g = proc_table.clamp.g;
24387 clamp_b = proc_table.clamp.b;
24390 case DSPF_ARGB2554:
24391 alpha = 0x0000c000;
24393 case DSPF_ARGB4444:
24394 alpha = 0x0000f000;
24396 case DSPF_ARGB1555:
24397 alpha = 0x00008000;
24400 alpha = 0xff000000;
24409 for (i = 1; i < 256; i++) {
24410 ((uint8_t *)clamp_r)[i] = ((i & 0xe0));
24411 ((uint8_t *)clamp_g)[i] = ((i & 0xe0) >> 3);
24412 ((uint8_t *)clamp_b)[i] = ((i & 0xc0) >> 6);
24415 case DSPF_ARGB2554:
24416 for (i = 1; i < 256; i++) {
24417 ((uint16_t*)clamp_r)[i] = ((i & 0xf8) << 6) | 0xc000;
24418 ((uint16_t*)clamp_g)[i] = ((i & 0xf8) << 1);
24419 ((uint16_t*)clamp_b)[i] = ((i & 0xf0) >> 4);
24422 case DSPF_ARGB4444:
24423 for (i = 1; i < 256; i++) {
24424 ((uint16_t*)clamp_r)[i] = ((i & 0xf0) << 4) | 0xf000;
24425 ((uint16_t*)clamp_g)[i] = ((i & 0xf0));
24426 ((uint16_t*)clamp_b)[i] = ((i & 0xf0) >> 4);
24429 case DSPF_ARGB1555:
24430 for (i = 1; i < 256; i++) {
24431 ((uint16_t*)clamp_r)[i] = ((i & 0xf8) << 7) | 0x8000;
24432 ((uint16_t*)clamp_g)[i] = ((i & 0xf8) << 2);
24433 ((uint16_t*)clamp_b)[i] = ((i & 0xf8) >> 3);
24437 for (i = 1; i < 256; i++) {
24438 ((uint16_t*)clamp_r)[i] = ((i & 0xf8) << 8);
24439 ((uint16_t*)clamp_g)[i] = ((i & 0xfc) << 3);
24440 ((uint16_t*)clamp_b)[i] = ((i & 0xf8) >> 3);
24444 for (i = 1; i < 256; i++) {
24445 ((uint8_t *)clamp_r)[i] = i;
24446 ((uint8_t *)clamp_g)[i] = i;
24447 ((uint8_t *)clamp_b)[i] = i;
24453 for (i = 1; i < 256; i++) {
24454 ((uint32_t*)clamp_r)[i] = (i << 16) | alpha;
24455 ((uint32_t*)clamp_g)[i] = (i << 8);
24456 ((uint32_t*)clamp_b)[i] = i;
24466 memset( clamp_r + r_min, alpha, abs(r_min)+1 );
24467 memset( clamp_r + 256, *((uint8_t*)clamp_r+255), r_max-255 );
24468 memset( clamp_g + 256, *((uint8_t*)clamp_g+255), g_max-255 );
24469 memset( clamp_b + 256, *((uint8_t*)clamp_b+255), b_max-255 );
24472 for (i = r_min; i <= 0; i++)
24473 ((uint16_t*)clamp_r)[i] = alpha;
24474 for (i = 256; i <= r_max; i++)
24475 ((uint16_t*)clamp_r)[i] = *((uint16_t*)clamp_r+255);
24476 for (i = 256; i <= g_max; i++)
24477 ((uint16_t*)clamp_g)[i] = *((uint16_t*)clamp_g+255);
24478 for (i = 256; i <= b_max; i++)
24479 ((uint16_t*)clamp_b)[i] = *((uint16_t*)clamp_b+255);
24482 for (i = r_min; i <= 0; i++)
24483 ((uint32_t*)clamp_r)[i] = alpha;
24484 for (i = 256; i <= r_max; i++)
24485 ((uint32_t*)clamp_r)[i] = *((uint32_t*)clamp_r+255);
24486 for (i = 256; i <= g_max; i++)
24487 ((uint32_t*)clamp_g)[i] = *((uint32_t*)clamp_g+255);
24488 for (i = 256; i <= b_max; i++)
24489 ((uint32_t*)clamp_b)[i] = *((uint32_t*)clamp_b+255);
24498 vo_dfb_get_capabilities( vo_driver_t *vo_driver )
24500 dfb_driver_t *this = (dfb_driver_t*) vo_driver;
24501 uint32_t caps = 0x00000001 | 0x00000002;
24504 caps |= 0x00000010;
24511 vo_dfb_proc_frame( vo_frame_t *vo_frame )
24513 dfb_driver_t *this = (dfb_driver_t*) vo_frame->driver;
24514 dfb_frame_t *frame = (dfb_frame_t*) vo_frame;
24516 do { if (!(frame->surface != ((void *)0))) { fprintf(stderr, "assert: %s:%d: %s: Assertion `%s' failed.\n", "video_out_dfb.c", 579, __FUNCTION__, "frame->surface != NULL"); abort(); } } while(0);
24518 if (!frame->surface)
24521 vo_frame->proc_called = 1;
24523 if (frame->proc_needed) {
24524 DVProcFunc procf = ProcFuncs[frame->in_format][frame->out_format];
24535 vo_dfb_frame_field( vo_frame_t *vo_frame,
24542 vo_dfb_frame_dispose( vo_frame_t *vo_frame )
24544 dfb_frame_t *frame = (dfb_frame_t*) vo_frame;
24547 if (frame->surface)
24548 dfb_surface_unref( frame->surface );
24549 if (frame->chunk[0])
24550 free( frame->chunk[0] );
24551 if (frame->chunk[1])
24552 free( frame->chunk[1] );
24553 if (frame->chunk[2])
24554 free( frame->chunk[2] );
24560 vo_dfb_alloc_frame( vo_driver_t *vo_driver )
24562 dfb_frame_t *frame;
24564 frame = (dfb_frame_t*) xine_xmalloc( sizeof(dfb_frame_t) );
24567 return ((void *)0);
24570 pthread_mutex_init( &frame->vo_frame.mutex, ((void *)0) );
24572 frame->vo_frame.proc_slice = ((void *)0);
24573 frame->vo_frame.proc_frame = vo_dfb_proc_frame;
24574 frame->vo_frame.field = vo_dfb_frame_field;
24575 frame->vo_frame.dispose = vo_dfb_frame_dispose;
24576 frame->vo_frame.driver = vo_driver;
24578 return (vo_frame_t*) frame;
24582 vo_dfb_allocate_yuy2( dfb_frame_t *frame,
24583 DFBSurfacePixelFormat dst_format )
24585 vo_frame_t *vo_frame = &frame->vo_frame;
24587 switch (dst_format) {
24589 if (frame->mixer_set == MF_NONE)
24590 frame->proc_needed = (0);
24593 case DSPF_ARGB2554:
24594 case DSPF_ARGB4444:
24595 case DSPF_ARGB1555:
24597 vo_frame->pitches[0] = frame->out_pitch[0];
24598 vo_frame->base[0] = frame->out_plane[0];
24601 vo_frame->pitches[0] = frame->width * 2;
24602 vo_frame->base[0] = xine_xmalloc_aligned( 16,
24603 vo_frame->pitches[0]*frame->height,
24604 &frame->chunk[0] );
24610 vo_dfb_allocate_yv12( dfb_frame_t *frame,
24611 DFBSurfacePixelFormat dst_format )
24613 vo_frame_t *vo_frame = &frame->vo_frame;
24615 switch (dst_format) {
24618 if (frame->mixer_set == MF_NONE)
24619 frame->proc_needed = (0);
24620 vo_frame->pitches[0] = frame->out_pitch[0];
24621 vo_frame->pitches[1] = frame->out_pitch[1];
24622 vo_frame->pitches[2] = frame->out_pitch[2];
24623 vo_frame->base[0] = frame->out_plane[0];
24624 vo_frame->base[1] = frame->out_plane[1];
24625 vo_frame->base[2] = frame->out_plane[2];
24630 vo_frame->pitches[0] = frame->out_pitch[0];
24631 vo_frame->pitches[1] = frame->width / 2;
24632 vo_frame->pitches[2] = frame->width / 2;
24633 vo_frame->base[0] = frame->out_plane[0];
24634 vo_frame->base[1] = xine_xmalloc_aligned( 16,
24635 vo_frame->pitches[1]*(frame->height/2)+2,
24636 &frame->chunk[1] );
24637 vo_frame->base[2] = xine_xmalloc_aligned( 16,
24638 vo_frame->pitches[2]*(frame->height/2)+2,
24639 &frame->chunk[2] );
24642 vo_frame->pitches[0] = frame->width;
24643 vo_frame->pitches[1] = frame->width / 2;
24644 vo_frame->pitches[2] = frame->width / 2;
24645 vo_frame->base[0] = xine_xmalloc_aligned( 16,
24646 vo_frame->pitches[0]*frame->height,
24647 &frame->chunk[0] );
24648 vo_frame->base[1] = xine_xmalloc_aligned( 16,
24649 vo_frame->pitches[1]*(frame->height/2)+2,
24650 &frame->chunk[1] );
24651 vo_frame->base[2] = xine_xmalloc_aligned( 16,
24652 vo_frame->pitches[2]*(frame->height/2)+2,
24653 &frame->chunk[2] );
24659 vo_dfb_notify_reformat( dfb_driver_t *this,
24663 DFBSurfacePixelFormat format )
24666 int src_width = (((width)>(2)) ? (width) : (2));
24667 int src_height = (((height)>(2)) ? (height) : (2));
24668 double src_ratio = this->output_ratio ? : ratio;
24669 DFBSurfacePixelFormat dest_format = DSPF_UNKNOWN;
24671 if (this->aspect_ratio == 1) {
24673 src_ratio = (double) (width ? : 1) /
24674 (double) (height ? : 1);
24675 this->output_ratio = src_ratio;
24678 this->output_cb( this->output_cdata, src_width, src_height,
24679 src_ratio ? : 1, format, &rect );
24682 this->dest->GetPixelFormat( this->dest, &dest_format );
24683 vo_dfb_tables_regen( this, MF_NONE, dest_format );
24684 this->dest_format = dest_format;
24688 vo_dfb_update_frame_format( vo_driver_t *vo_driver,
24689 vo_frame_t *vo_frame,
24696 dfb_driver_t *this = (dfb_driver_t*) vo_driver;
24697 dfb_frame_t *frame = (dfb_frame_t*) vo_frame;
24701 do { if (!(this->dest != ((void *)0))) { fprintf(stderr, "assert: %s:%d: %s: Assertion `%s' failed.\n", "video_out_dfb.c", 764, __FUNCTION__, "this->dest != NULL"); abort(); } } while(0);
24706 width = (width > 8) ? ((width+3) & ~3) : 8;
24707 height = (height > 2) ? ((height+1) & ~1) : 2;
24708 in_format = (format == (('2'<<24)|('Y'<<16)|('U'<<8)|'Y')) ? 0 : 1;
24709 out_format = (((this->dest_format) & 0x0000007F) );
24711 if (frame->width != width ||
24712 frame->height != height ||
24713 frame->in_format != in_format ||
24714 frame->out_format != out_format ||
24715 frame->mixer_set != this->mixer.set)
24717 SurfaceBuffer *buffer;
24718 DFBSurfacePixelFormat frame_format;
24723 frame_format = (in_format) ? DSPF_YV12 : DSPF_YUY2;
24724 if (this->frame_format != frame_format ||
24725 this->frame_width != vo_frame->width ||
24726 this->frame_height != vo_frame->height)
24728 do { if((this->xine) && (this->xine)->verbosity >= 2){ xine_log(this->xine, 2, "video_out_dfb: frame format changed to %dx%d %s\n", vo_frame->width, vo_frame->height, in_format ? "YV12" : "YUY2"); } } while(0);
24733 vo_dfb_notify_reformat( this, vo_frame->width, vo_frame->height,
24734 vo_frame->ratio, frame_format );
24735 out_format = (((this->dest_format) & 0x0000007F) );
24737 this->frame_format = frame_format;
24738 this->frame_width = vo_frame->width;
24739 this->frame_height = vo_frame->height;
24742 if (!frame->surface)
24743 err = dfb_surface_create( ((void *)0), width, height, this->dest_format,
24744 CSP_SYSTEMONLY, DSCAPS_SYSTEMONLY,
24745 ((void *)0), &frame->surface );
24747 err = dfb_surface_reformat( ((void *)0), frame->surface,
24748 width, height, this->dest_format );
24750 if (err != DFB_OK) {
24751 do { if((this->xine) && (this->xine)->verbosity >= 2){ xine_log(this->xine, 2, "video_out_dfb: " "error creating/reformatting frame surface (%s)\n", DirectFBErrorString( err )); } } while(0);
24758 if (frame->chunk[0])
24759 free( frame->chunk[0] );
24760 if (frame->chunk[1])
24761 free( frame->chunk[1] );
24762 if (frame->chunk[2])
24763 free( frame->chunk[2] );
24765 frame->width = width;
24766 frame->height = height;
24767 frame->area = width * height;
24768 frame->in_format = in_format;
24769 frame->out_format = out_format;
24770 frame->chunk[0] = ((void *)0);
24771 frame->chunk[1] = ((void *)0);
24772 frame->chunk[2] = ((void *)0);
24773 frame->mixer_set = this->mixer.set;
24774 frame->proc_needed = (!(0));
24776 buffer = frame->surface->back_buffer;
24778 frame->out_pitch[0] = buffer->system.pitch;
24779 frame->out_plane[0] = buffer->system.addr;
24781 switch (buffer->format) {
24783 frame->out_pitch[1] = frame->out_pitch[0] / 2;
24784 frame->out_pitch[2] = frame->out_pitch[0] / 2;
24785 frame->out_plane[2] = frame->out_plane[0] +
24786 frame->out_pitch[0]*height;
24787 frame->out_plane[1] = frame->out_plane[2] +
24788 frame->out_pitch[2]*height/2;
24791 frame->out_pitch[1] = frame->out_pitch[0] / 2;
24792 frame->out_pitch[2] = frame->out_pitch[0] / 2;
24793 frame->out_plane[1] = frame->out_plane[0] +
24794 frame->out_pitch[0]*height;
24795 frame->out_plane[2] = frame->out_plane[1] +
24796 frame->out_pitch[1]*height/2;
24801 frame->out_pitch[1] = frame->out_pitch[0] & ~1;
24802 frame->out_plane[1] = frame->out_plane[0] +
24803 frame->out_pitch[0]*height;
24810 case (('2'<<24)|('Y'<<16)|('U'<<8)|'Y'):
24811 vo_dfb_allocate_yuy2( frame, buffer->format );
24813 case (('2'<<24)|('1'<<16)|('V'<<8)|'Y'):
24815 vo_dfb_allocate_yv12( frame, buffer->format );
24823 if (frame->surface) {
24824 dfb_surface_unref( frame->surface );
24825 frame->surface = ((void *)0);
24830 #define HILI(x) hili_ ##x
24836 vo_dfb_set_palette( dfb_driver_t *this,
24837 vo_overlay_t *overlay,
24838 DFBSurfacePixelFormat format )
24845 if (!overlay->rgb_clut) {
24846 palette = (DVColor*) &overlay->color[0];
24847 clut = (uint8_t*) &overlay->color[0];
24848 trans = &overlay->trans[0];
24858 for (i = 0; i < 256; i++, clut += 4) {
24861 y = proc_table.lm[*(clut+2)];
24862 u = proc_table.uv[*(clut+0)];
24863 v = proc_table.uv[*(clut+1)];
24865 palette[i].yuv.a = trans[i] * 255 / 15;
24866 palette[i].yuv.y = y;
24867 palette[i].yuv.u = u;
24868 palette[i].yuv.v = v;
24873 for (i = 0; i < 256; i++, clut += 4) {
24874 int y, u, v, r, g, b;
24876 y = proc_table.lm[*(clut+2)];
24879 r = y + proc_table.vr[v];
24880 g = y + proc_table.vg[v] + proc_table.ug[u];
24881 b = y + proc_table.ub[u];
24883 palette[i].rgb.a = trans[i] * 255 / 15;
24884 palette[i].rgb.r = (((r)<(0)) ? (0) : (((r)>(0xff)) ? (0xff) : (r)));
24885 palette[i].rgb.g = (((g)<(0)) ? (0) : (((g)>(0xff)) ? (0xff) : (g)));
24886 palette[i].rgb.b = (((b)<(0)) ? (0) : (((b)>(0xff)) ? (0xff) : (b)));
24891 overlay->rgb_clut++;
24894 if (!overlay->hili_rgb_clut) {
24895 palette = (DVColor*) &overlay->hili_color[0];
24896 clut = (uint8_t*) &overlay->hili_color[0];
24897 trans = &overlay->hili_trans[0];
24907 for (i = 0; i < 256; i++, clut += 4) {
24910 y = proc_table.lm[*(clut+2)];
24911 u = proc_table.uv[*(clut+0)];
24912 v = proc_table.uv[*(clut+1)];
24914 palette[i].yuv.a = trans[i] * 255 / 15;
24915 palette[i].yuv.y = y;
24916 palette[i].yuv.u = u;
24917 palette[i].yuv.v = v;
24922 for (i = 0; i < 256; i++, clut += 4) {
24923 int y, u, v, r, g, b;
24925 y = proc_table.lm[*(clut+2)];
24928 r = y + proc_table.vr[v];
24929 g = y + proc_table.vg[v] + proc_table.ug[u];
24930 b = y + proc_table.ub[u];
24932 palette[i].rgb.a = trans[i] * 255 / 15;
24933 palette[i].rgb.r = (((r)<(0)) ? (0) : (((r)>(0xff)) ? (0xff) : (r)));
24934 palette[i].rgb.g = (((g)<(0)) ? (0) : (((g)>(0xff)) ? (0xff) : (g)));
24935 palette[i].rgb.b = (((b)<(0)) ? (0) : (((b)>(0xff)) ? (0xff) : (b)));
24940 overlay->hili_rgb_clut++;
24945 vo_dfb_overlay_begin( vo_driver_t *vo_driver,
24946 vo_frame_t *vo_frame,
24949 dfb_driver_t *this = (dfb_driver_t*) vo_driver;
24951 this->ovl_changed += changed;
24954 IDirectFBSurface_data *ovl_data = this->ovl_data;
24955 int ovl_width = ovl_data->area.current.w;
24956 int ovl_height = ovl_data->area.current.h;
24958 if (this->ovl_changed ||
24959 this->ovl_width != ovl_width ||
24960 this->ovl_height != ovl_height)
24962 DFBColor color = { 0, 0, 0, 0 };
24963 DFBRectangle rect = ovl_data->area.current;
24966 do { if((this->xine) && (this->xine)->verbosity >= 2){ xine_log(this->xine, 2, "video_out_dfb: " "overlay changed, clearing subpicture surface\n"); } } while(0);
24970 dfb_region_from_rectangle( &clip, &rect );
24972 dfb_state_set_destination( &this->state, ovl_data->surface );
24973 dfb_state_set_color( &this->state, &color );
24974 dfb_state_set_clip( &this->state, &clip );
24976 dfb_gfxcard_fillrectangles( &rect, 1, &this->state );
24978 this->ovl_width = ovl_width;
24979 this->ovl_height = ovl_height;
24980 if (!this->ovl_changed)
24981 this->ovl_changed = 1;
24987 vo_dfb_overlay_blend( vo_driver_t *vo_driver,
24988 vo_frame_t *vo_frame,
24989 vo_overlay_t *overlay )
24991 dfb_driver_t *this = (dfb_driver_t*) vo_driver;
24992 dfb_frame_t *frame = (dfb_frame_t*) vo_frame;
24993 bool use_ovl = (0);
24994 int x = overlay->x;
24995 int y = overlay->y;
25000 do { if (!(frame->surface != ((void *)0))) { fprintf(stderr, "assert: %s:%d: %s: Assertion `%s' failed.\n", "video_out_dfb.c", 1063, __FUNCTION__, "frame->surface != NULL"); abort(); } } while(0);
25001 do { if (!(overlay->rle != ((void *)0))) { fprintf(stderr, "assert: %s:%d: %s: Assertion `%s' failed.\n", "video_out_dfb.c", 1064, __FUNCTION__, "overlay->rle != NULL"); abort(); } } while(0);
25003 if (!frame->surface)
25010 use_ovl = (overlay->unscaled ||
25011 (vo_frame->width == this->ovl_data->area.wanted.w &&
25012 vo_frame->height == this->ovl_data->area.wanted.h));
25016 if (!overlay->rgb_clut || !overlay->hili_rgb_clut) {
25018 vo_dfb_set_palette( this, overlay,
25019 (!use_ovl) ? frame->surface->format
25020 : this->ovl_data->surface->format );
25027 subclip.x1 = x + overlay->hili_left;
25028 subclip.y1 = y + overlay->hili_top;
25029 subclip.x2 = x + overlay->hili_right;
25030 subclip.y2 = y + overlay->hili_bottom;
25033 IDirectFBSurface_data *ovl_data = this->ovl_data;
25035 DFBRectangle rects[98];
25037 if (!this->ovl_changed)
25040 clip.x1 = ovl_data->area.wanted.x + (((x)>(0)) ? (x) : (0));
25041 clip.y1 = ovl_data->area.wanted.y + (((y)>(0)) ? (y) : (0));
25042 clip.x2 = clip.x1 + overlay->width - 1;
25043 clip.y2 = clip.y1 + overlay->height - 1;
25045 if (!dfb_region_rectangle_intersect( &clip,
25046 &ovl_data->area.current ))
25049 dfb_state_set_destination( &this->state, ovl_data->surface );
25050 dfb_state_set_clip( &this->state, &clip );
25052 for (i = 0; i < overlay->num_rle; i++) {
25053 int index = overlay->rle[i].color;
25054 int len = overlay->rle[i].len;
25057 DVColor *palette = (DVColor*) &overlay->color[0];
25060 if (len > overlay->width) {
25061 width = overlay->width;
25062 len -= overlay->width;
25068 if (y >= subclip.y1 && y <= subclip.y2 && x <= subclip.x2) {
25069 if (x < subclip.x1 && (x + width - 1) >= subclip.x1) {
25070 width -= subclip.x1 - x;
25071 len += subclip.x1 - x;
25073 if (x > subclip.x1) {
25074 palette = (DVColor*) &overlay->hili_color[0];
25076 if ((x + width - 1) > subclip.x2) {
25077 width -= subclip.x2 - x;
25078 len += subclip.x2 - x;
25083 if (palette[index].rgb.a) {
25086 rects[r].w = width;
25090 dfb_state_set_color( &this->state,
25091 (DFBColor*) &palette[index] );
25093 if (this->state.modified & SMF_COLOR ||
25094 r == (sizeof(rects)/sizeof(rects[0])))
25096 dfb_gfxcard_fillrectangles( &rects[0], r,
25103 if (x >= (overlay->x + overlay->width)) {
25111 dfb_gfxcard_fillrectangles( &rects[0], r, &this->state );
25114 DVBlendFunc blendf = BlendFuncs[frame->out_format];
25117 if (x >= frame->width || y >= frame->height)
25120 clip.x2 = clip.x1 = (((x)>(0)) ? (x) : (0));
25121 clip.y2 = clip.y1 = (((y)>(0)) ? (y) : (0));
25122 clip.x2 += (((overlay->width)<(2)) ? (2) : (((overlay->width)>(frame->width - clip.x1)) ? (frame->width - clip.x1) : (overlay->width))) - 1;
25123 clip.y2 += (((overlay->height)<(2)) ? (2) : (((overlay->height)>(frame->height - clip.y1)) ? (frame->height - clip.y1) : (overlay->height))) - 1;
25125 blender.plane[0] = frame->out_plane[0];
25126 blender.plane[1] = frame->out_plane[1];
25127 blender.plane[2] = frame->out_plane[2];
25128 blender.pitch[0] = frame->out_pitch[0];
25129 blender.pitch[1] = frame->out_pitch[1];
25130 blender.pitch[2] = frame->out_pitch[2];
25131 blender.period[0] = 0;
25132 blender.period[1] = 0;
25134 blender.plane[0] += clip.y1 * blender.pitch[0];
25136 switch (frame->surface->format) {
25138 blender.plane[1] += clip.y1 * blender.pitch[1];
25139 blender.period[0] = 0xffffffff;
25143 blender.plane[2] += clip.y1/2 * blender.pitch[2];
25144 blender.period[1] = 0x00000001;
25148 blender.plane[1] += clip.y1/2 * blender.pitch[1];
25149 blender.period[0] = 0x00000001;
25155 for (i = 0; i < overlay->num_rle; i++) {
25156 int index = overlay->rle[i].color;
25157 int len = overlay->rle[i].len;
25160 DVColor *palette = (DVColor*) &overlay->color[0];
25163 if (len > overlay->width) {
25164 width = overlay->width;
25165 len -= overlay->width;
25171 if (y >= subclip.y1 && y <= subclip.y2 && x <= subclip.x2) {
25172 if (x < subclip.x1 && (x + width - 1) >= subclip.x1) {
25173 width -= subclip.x1 - x;
25174 len += subclip.x1 - x;
25176 if (x > subclip.x1) {
25177 palette = (DVColor*) &overlay->hili_color[0];
25179 if ((x + width - 1) > subclip.x2) {
25180 width -= subclip.x2 - x;
25181 len += subclip.x2 - x;
25186 if (palette[index].rgb.a) {
25187 if (y >= clip.y1 && x >= clip.x1 && x <= clip.x2) {
25190 blender.len = (((width)<(clip.x2 - x + 1)) ? (width) : (clip.x2 - x + 1));
25191 if (blender.len > 0)
25192 blendf( &blender, &palette[index] );
25197 if (x >= (overlay->x + overlay->width)) {
25203 blender.plane[0] += blender.pitch[0];
25204 if (y & blender.period[0])
25205 blender.plane[1] += blender.pitch[1];
25206 if (y & blender.period[1])
25207 blender.plane[2] += blender.pitch[2];
25219 vo_dfb_overlay_end( vo_driver_t *vo_driver,
25220 vo_frame_t *vo_frame )
25222 dfb_driver_t *this = (dfb_driver_t*) vo_driver;
25224 if (this->ovl && this->ovl_changed) {
25225 if (this->ovl_data->caps & DSCAPS_FLIPPING)
25226 this->ovl->Flip( this->ovl, ((void *)0), DSFLIP_ONSYNC );
25227 dfb_state_set_destination( &this->state, this->dest_data->surface );
25230 this->ovl_changed = 0;
25234 vo_dfb_redraw_needed( vo_driver_t *vo_driver )
25240 vo_dfb_display_frame( vo_driver_t *vo_driver,
25241 vo_frame_t *vo_frame )
25243 dfb_driver_t *this = (dfb_driver_t*) vo_driver;
25244 dfb_frame_t *frame = (dfb_frame_t*) vo_frame;
25245 DFBRectangle dst_rect = { 0, 0, 0, 0 };
25246 DFBRectangle src_rect = { 0, 0, };
25249 do { if (!(frame->surface != ((void *)0))) { fprintf(stderr, "assert: %s:%d: %s: Assertion `%s' failed.\n", "video_out_dfb.c", 1312, __FUNCTION__, "frame->surface != NULL"); abort(); } } while(0);
25251 if (!frame->surface)
25254 src_rect.w = (((vo_frame->width)>(2)) ? (vo_frame->width) : (2));
25255 src_rect.h = (((vo_frame->height)>(2)) ? (vo_frame->height) : (2));
25256 src_ratio = this->output_ratio ? : vo_frame->ratio;
25258 this->output_cb( this->output_cdata, src_rect.w, src_rect.h,
25259 src_ratio ? : 1.0, this->frame_format, &dst_rect );
25261 dst_rect.x += this->dest_data->area.wanted.x;
25262 dst_rect.y += this->dest_data->area.wanted.y;
25264 if (dst_rect.w < 1 || dst_rect.h < 1)
25265 dst_rect = this->dest_data->area.wanted;
25267 if (!dfb_rectangle_intersect( &dst_rect,
25268 &this->dest_data->area.current ))
25271 this->state.clip.x1 = dst_rect.x;
25272 this->state.clip.x2 = dst_rect.x + dst_rect.w - 1;
25273 this->state.clip.y1 = dst_rect.y;
25274 this->state.clip.y2 = dst_rect.y + dst_rect.h - 1;
25275 this->state.source = frame->surface;
25276 this->state.modified |= (SMF_CLIP | SMF_SOURCE);
25278 if (this->deinterlace) {
25279 frame->surface->field = this->deinterlace - 1;
25280 do { do { do {} while (0); do {} while (0); } while (0); if ((DSBLIT_DEINTERLACE) != (&this->state)->blittingflags) { (&this->state)->blittingflags = (DSBLIT_DEINTERLACE); (&this->state)->modified |= SMF_BLITTING_FLAGS; } } while (0);
25282 do { do { do {} while (0); do {} while (0); } while (0); if ((DSBLIT_NOFX) != (&this->state)->blittingflags) { (&this->state)->blittingflags = (DSBLIT_NOFX); (&this->state)->modified |= SMF_BLITTING_FLAGS; } } while (0);
25284 if (dst_rect.w == src_rect.w && dst_rect.h == src_rect.h)
25285 dfb_gfxcard_blit( &src_rect, dst_rect.x, dst_rect.y, &this->state );
25287 dfb_gfxcard_stretchblit( &src_rect, &dst_rect, &this->state );
25289 if (this->frame_cb)
25290 this->frame_cb( this->frame_cdata );
25293 vo_frame->free( vo_frame );
25297 vo_dfb_get_property( vo_driver_t *vo_driver,
25300 dfb_driver_t *this = (dfb_driver_t*) vo_driver;
25302 switch (property) {
25304 do { if((this->xine) && (this->xine)->verbosity >= 2){ xine_log(this->xine, 2, "video_out_dfb: interlaced is %i\n", this->deinterlace); } } while(0);
25307 return this->deinterlace;
25310 do { if((this->xine) && (this->xine)->verbosity >= 2){ xine_log(this->xine, 2, "video_out_dfb: aspect ratio is %i (%.4f)\n", this->aspect_ratio, this->output_ratio); } } while(0);
25313 return this->aspect_ratio;
25316 do { if((this->xine) && (this->xine)->verbosity >= 2){ xine_log(this->xine, 2, "video_out_dfb: brightness is %i\n", this->mixer.b); } } while(0);
25319 return this->mixer.b;
25322 do { if((this->xine) && (this->xine)->verbosity >= 2){ xine_log(this->xine, 2, "video_out_dfb: contrast is %i\n", this->mixer.c); } } while(0);
25325 return this->mixer.c;
25328 do { if((this->xine) && (this->xine)->verbosity >= 2){ xine_log(this->xine, 2, "video_out_dfb: saturation is %i\n", this->mixer.s); } } while(0);
25330 return this->mixer.s;
25333 do { if((this->xine) && (this->xine)->verbosity >= 2){ xine_log(this->xine, 2, "video_out_dfb: maximum number of frames is %i\n", this->config.max_num_frames); } } while(0);
25336 return this->config.max_num_frames;
25339 if (this->ovl || this->dest) {
25340 IDirectFBSurface_data *data = this->ovl_data ? : this->dest_data;
25341 do { if((this->xine) && (this->xine)->verbosity >= 2){ xine_log(this->xine, 2, "video_out_dfb: window width is %i\n", data->area.wanted.w); } } while(0);
25344 return data->area.wanted.w;
25349 if (this->ovl || this->dest) {
25350 IDirectFBSurface_data *data = this->ovl_data ? : this->dest_data;
25351 do { if((this->xine) && (this->xine)->verbosity >= 2){ xine_log(this->xine, 2, "video_out_dfb: window height is %i\n", data->area.wanted.h); } } while(0);
25354 return data->area.wanted.h;
25359 do { if((this->xine) && (this->xine)->verbosity >= 2){ xine_log(this->xine, 2, "video_out_dfb: tried to get unsupported property %i\n", property); } } while(0);
25369 vo_dfb_set_output_ratio( dfb_driver_t *this,
25372 double frame_width = (this->frame_width ? : 1);
25373 double frame_height = (this->frame_height ? : 1);
25377 this->output_ratio = 0.0;
25380 this->output_ratio = frame_width/frame_height;
25383 this->output_ratio = 4.0/3.0;
25386 this->output_ratio = 16.0/9.0;
25389 this->output_ratio = 2.0;
25392 this->output_ratio = (double)(ratio >> 16) /
25393 (double)(ratio & 0xffff);
25399 vo_dfb_set_property( vo_driver_t *vo_driver,
25403 dfb_driver_t *this = (dfb_driver_t*) vo_driver;
25405 switch (property) {
25407 if (value >= 0 && value <= 2) {
25408 do { if((this->xine) && (this->xine)->verbosity >= 2){ xine_log(this->xine, 2, "video_out_dfb: setting deinterlacing to %i\n", value); } } while(0);
25411 this->deinterlace = value;
25416 do { if((this->xine) && (this->xine)->verbosity >= 2){ xine_log(this->xine, 2, "video_out_dfb: setting aspect ratio to %i\n", value); } } while(0);
25419 vo_dfb_set_output_ratio( this, value );
25420 this->aspect_ratio = value;
25424 if (value >= -128 && value <= 127) {
25425 if (this->mixer.b != value) {
25426 do { if((this->xine) && (this->xine)->verbosity >= 2){ xine_log(this->xine, 2, "video_out_dfb: setting brightness to %i\n", value); } } while(0);
25429 this->mixer.b = value;
25430 vo_dfb_tables_regen( this, MF_B, this->dest_format );
25436 if (value >= 0 && value <= 255) {
25437 if (this->mixer.c != value ) {
25438 do { if((this->xine) && (this->xine)->verbosity >= 2){ xine_log(this->xine, 2, "video_out_dfb: setting contrast to %i\n", value); } } while(0);
25441 this->mixer.c = value;
25442 vo_dfb_tables_regen( this, MF_C, this->dest_format );
25448 if (value >= 0 && value <= 255) {
25449 if (this->mixer.s != value) {
25450 do { if((this->xine) && (this->xine)->verbosity >= 2){ xine_log(this->xine, 2, "video_out_dfb: setting saturation to %i\n", value); } } while(0);
25453 this->mixer.s = value;
25454 vo_dfb_tables_regen( this, MF_S, this->dest_format );
25460 do { if((this->xine) && (this->xine)->verbosity >= 2){ xine_log(this->xine, 2, "video_out_dfb: tried to set unsupported property %i\n", property); } } while(0);
25470 vo_dfb_get_property_min_max( vo_driver_t *vo_driver,
25475 dfb_driver_t *this = (dfb_driver_t*) vo_driver;
25477 switch (property) {
25485 *max = +0xffffffff;
25504 do { if((this->xine) && (this->xine)->verbosity >= 2){ xine_log(this->xine, 2, "video_out_dfb: requested min/max for unsupported property %i\n", property); } } while(0);
25514 vo_dfb_set_destination( dfb_driver_t *this,
25515 IDirectFBSurface *destination )
25517 struct DFBPixelFormatName { DFBSurfacePixelFormat format; const char *name; } format_names[] = { { DSPF_ARGB1555, "ARGB1555" }, { DSPF_RGB16, "RGB16" }, { DSPF_RGB24, "RGB24" }, { DSPF_RGB32, "RGB32" }, { DSPF_ARGB, "ARGB" }, { DSPF_A8, "A8" }, { DSPF_YUY2, "YUY2" }, { DSPF_RGB332, "RGB332" }, { DSPF_UYVY, "UYVY" }, { DSPF_I420, "I420" }, { DSPF_YV12, "YV12" }, { DSPF_LUT8, "LUT8" }, { DSPF_ALUT44, "ALUT44" }, { DSPF_AiRGB, "AiRGB" }, { DSPF_A1, "A1" }, { DSPF_NV12, "NV12" }, { DSPF_NV16, "NV16" }, { DSPF_ARGB2554, "ARGB2554" }, { DSPF_ARGB4444, "ARGB4444" }, { DSPF_NV21, "NV21" }, { DSPF_AYUV, "AYUV" }, { DSPF_UNKNOWN, "UNKNOWN" } };;
25518 DFBSurfacePixelFormat format = DSPF_UNKNOWN;
25522 this->dest->Release( this->dest );
25523 this->dest = ((void *)0);
25524 this->dest_data = ((void *)0);
25527 if (!destination->priv) {
25528 do { if((this->xine) && (this->xine)->verbosity >= 1){ xine_log(this->xine, 2, "video_out_dfb: got a dead destination surface!!!\n"); } } while(0);
25533 err = destination->GetPixelFormat( destination, &format );
25534 if (err != DFB_OK) {
25535 do { if((this->xine) && (this->xine)->verbosity >= 1){ xine_log(this->xine, 2, "video_out_dfb: " "IDirectFBSurface::GetPixelFormat() returned \"%s\"!!\n", DirectFBErrorString( err )); } } while(0);
25542 if (!ProcFuncs[0][(((format) & 0x0000007F) )] ||
25543 !ProcFuncs[1][(((format) & 0x0000007F) )])
25545 do { if((this->xine) && (this->xine)->verbosity >= 1){ xine_log(this->xine, 2, "video_out_dfb: " "unsupported destination surface format (%s)\n", format_names[(((format) & 0x0000007F) )].name); } } while(0);
25552 do { if((this->xine) && (this->xine)->verbosity >= 1){ xine_log(this->xine, 2, "video_out_dfb: destination surface is %s\n", format_names[(((format) & 0x0000007F) )].name); } } while(0);
25556 destination->AddRef( destination );
25557 this->dest = destination;
25558 this->dest_data = (IDirectFBSurface_data*) destination->priv;
25559 dfb_state_set_destination( &this->state, this->dest_data->surface );
25561 vo_dfb_tables_regen( this, MF_NONE, format );
25562 this->dest_format = format;
25568 vo_dfb_set_subpicture( dfb_driver_t *this,
25569 IDirectFBSurface *subpicture )
25571 struct DFBPixelFormatName { DFBSurfacePixelFormat format; const char *name; } format_names[] = { { DSPF_ARGB1555, "ARGB1555" }, { DSPF_RGB16, "RGB16" }, { DSPF_RGB24, "RGB24" }, { DSPF_RGB32, "RGB32" }, { DSPF_ARGB, "ARGB" }, { DSPF_A8, "A8" }, { DSPF_YUY2, "YUY2" }, { DSPF_RGB332, "RGB332" }, { DSPF_UYVY, "UYVY" }, { DSPF_I420, "I420" }, { DSPF_YV12, "YV12" }, { DSPF_LUT8, "LUT8" }, { DSPF_ALUT44, "ALUT44" }, { DSPF_AiRGB, "AiRGB" }, { DSPF_A1, "A1" }, { DSPF_NV12, "NV12" }, { DSPF_NV16, "NV16" }, { DSPF_ARGB2554, "ARGB2554" }, { DSPF_ARGB4444, "ARGB4444" }, { DSPF_NV21, "NV21" }, { DSPF_AYUV, "AYUV" }, { DSPF_UNKNOWN, "UNKNOWN" } };;
25572 DFBSurfacePixelFormat format = DSPF_UNKNOWN;
25576 this->ovl->Release( this->ovl );
25577 this->ovl = ((void *)0);
25578 this->ovl_data = ((void *)0);
25581 if (!subpicture->priv) {
25582 do { if((this->xine) && (this->xine)->verbosity >= 1){ xine_log(this->xine, 2, "video_out_dfb: got a dead subpicture surface!!!\n"); } } while(0);
25587 err = subpicture->GetPixelFormat( subpicture, &format );
25588 if (err != DFB_OK) {
25589 do { if((this->xine) && (this->xine)->verbosity >= 1){ xine_log(this->xine, 2, "video_out_dfb: " "IDirectFBSurface::GetPixelFormat() returned \"%s\"!!\n", DirectFBErrorString( err )); } } while(0);
25596 if ((((format) & 0x40000000) >> 30)) {
25597 do { if((this->xine) && (this->xine)->verbosity >= 2){ xine_log(this->xine, 2, "video_out_dfb: " "indexed formats not yet supported for subpicture!!\n"); } } while(0);
25603 do { if((this->xine) && (this->xine)->verbosity >= 1){ xine_log(this->xine, 2, "video_out_dfb: subpicture surface is %s\n", format_names[(((format) & 0x0000007F) )].name); } } while(0);
25607 subpicture->AddRef( subpicture );
25608 this->ovl = subpicture;
25609 this->ovl_data = (IDirectFBSurface_data*) subpicture->priv;
25610 this->ovl_width = -1;
25611 this->ovl_height = -1;
25617 vo_dfb_gui_data_exchange( vo_driver_t *vo_driver,
25621 dfb_driver_t *this = (dfb_driver_t*) vo_driver;
25623 switch (data_type) {
25627 IDirectFBSurface *surface = (IDirectFBSurface*) data;
25629 if (surface != this->dest)
25630 return vo_dfb_set_destination( this, surface );
25638 dfb_visual_t *visual = (dfb_visual_t*) data;
25640 if (!visual->output_cb || !visual->destination)
25643 this->output_cb = visual->output_cb;
25644 this->output_cdata = visual->output_cdata;
25645 this->frame_cb = visual->frame_cb;
25646 this->frame_cdata = visual->frame_cdata;
25648 if (visual->destination != this->dest) {
25649 if (!vo_dfb_set_destination( this, visual->destination ))
25653 if (!visual->subpicture) {
25655 this->ovl->Release( this->ovl );
25656 this->ovl = ((void *)0);
25657 this->ovl_data = ((void *)0);
25659 if (visual->subpicture != this->ovl) {
25660 if (!vo_dfb_set_subpicture( this, visual->subpicture ))
25671 this->frame_cb = ((dfb_framecallback_t*)data)->frame_cb;
25672 this->frame_cdata = ((dfb_framecallback_t*)data)->cdata;
25674 this->frame_cb = ((void *)0);
25675 this->frame_cdata = ((void *)0);
25677 do { if((this->xine) && (this->xine)->verbosity >= 2){ xine_log(this->xine, 2, "video_out_dfb: %s DVFrameCallback\n", (this->frame_cb) ? "registered new" : "unregistered"); } } while(0);
25683 do { if((this->xine) && (this->xine)->verbosity >= 2){ xine_log(this->xine, 2, "video_out_dfb: unknown data type %i", data_type); } } while(0);
25692 vo_dfb_dispose( vo_driver_t *vo_driver )
25694 dfb_driver_t *this = (dfb_driver_t*) vo_driver;
25697 if (proc_table.clamp.buf)
25698 free( proc_table.clamp.buf );
25700 this->dest->Release( this->dest );
25702 this->ovl->Release( this->ovl );
25703 dfb_state_set_destination( &this->state, ((void *)0) );
25704 this->state.source = ((void *)0);
25705 dfb_state_destroy( &this->state );
25711 vo_dfb_init_config( dfb_driver_t *this )
25713 config_values_t *config = this->xine->config;
25714 static const char *matrices_enum[(sizeof(proc_matrices)/sizeof(DVProcMatrix))];
25717 for (i = 0; i < (sizeof(proc_matrices)/sizeof(DVProcMatrix)); i++)
25718 matrices_enum[i] = proc_matrices[i].name;
25720 this->config.max_num_frames = config->register_num( config,
25721 "video.dfb.max_num_frames", 15,
25722 "Maximum number of allocated frames (at least 5)",
25723 ((void *)0), 10, ((void *)0), ((void *)0) );
25725 this->config.proc_matrix = config->register_enum( config,
25726 "video.dfb.conversion_matrix", 0,
25727 (char**) &matrices_enum[0],
25728 "Select the conversion matrix",
25729 ((void *)0), 10, ((void *)0), ((void *)0) );
25732 this->config.enable_mmx = config->register_bool( config,
25733 "video.dfb.enable_mmx", 1,
25734 "Enable MMX when available",
25735 ((void *)0), 10, ((void *)0),((void *)0) );
25739 static vo_driver_t*
25740 open_plugin( video_driver_class_t *vo_class,
25741 const void *vo_visual )
25743 dfb_driver_class_t *class = (dfb_driver_class_t*) vo_class;
25744 dfb_visual_t *visual = (dfb_visual_t*) vo_visual;
25745 dfb_driver_t *this = ((void *)0);
25747 do { if (!(visual != ((void *)0))) { fprintf(stderr, "assert: %s:%d: %s: Assertion `%s' failed.\n", "video_out_dfb.c", 1810, __FUNCTION__, "visual != NULL"); abort(); } } while(0);
25749 if (!visual->output_cb)
25750 return ((void *)0);
25752 this = (dfb_driver_t*) xine_xmalloc( sizeof(dfb_driver_t) );
25755 return ((void *)0);
25758 this->vo_driver.get_capabilities = vo_dfb_get_capabilities;
25759 this->vo_driver.alloc_frame = vo_dfb_alloc_frame;
25760 this->vo_driver.update_frame_format = vo_dfb_update_frame_format;
25761 this->vo_driver.overlay_begin = vo_dfb_overlay_begin;
25762 this->vo_driver.overlay_blend = vo_dfb_overlay_blend;
25763 this->vo_driver.overlay_end = vo_dfb_overlay_end;
25764 this->vo_driver.display_frame = vo_dfb_display_frame;
25765 this->vo_driver.get_property = vo_dfb_get_property;
25766 this->vo_driver.set_property = vo_dfb_set_property;
25767 this->vo_driver.get_property_min_max = vo_dfb_get_property_min_max;
25768 this->vo_driver.gui_data_exchange = vo_dfb_gui_data_exchange;
25769 this->vo_driver.redraw_needed = vo_dfb_redraw_needed;
25770 this->vo_driver.dispose = vo_dfb_dispose;
25771 this->xine = class->xine;
25773 vo_dfb_init_config( this );
25775 do { if((this->xine) && (this->xine)->verbosity >= 1){ xine_log(this->xine, 2, "video_out_dfb: using %s conversion matrix\n", proc_matrices[this->config.proc_matrix].name); } } while(0);
25780 if ((xine_mm_accel() & 0x80000000) == 0x80000000) {
25781 if (this->config.enable_mmx) {
25782 do { if((this->xine) && (this->xine)->verbosity >= 1){ xine_log(this->xine, 2, "video_out_dfb: MMX detected and enabled\n"); } } while(0);
25784 this->accel = 0x80000000;
25786 ProcFuncs[("yuy2"=="yuy2")?0:1][(((DSPF_YUY2) & 0x0000007F) )] = __mmx_yuy2_be_yuy2;
25787 ProcFuncs[("yuy2"=="yuy2")?0:1][(((DSPF_UYVY) & 0x0000007F) )] = __mmx_yuy2_be_uyvy;
25788 ProcFuncs[("yuy2"=="yuy2")?0:1][(((DSPF_YV12) & 0x0000007F) )] = __mmx_yuy2_be_yv12;
25789 ProcFuncs[("yuy2"=="yuy2")?0:1][(((DSPF_I420) & 0x0000007F) )] = __mmx_yuy2_be_yv12;
25790 ProcFuncs[("yuy2"=="yuy2")?0:1][(((DSPF_NV12) & 0x0000007F) )] = __mmx_yuy2_be_nv12;
25791 ProcFuncs[("yuy2"=="yuy2")?0:1][(((DSPF_NV21) & 0x0000007F) )] = __mmx_yuy2_be_nv21;
25792 ProcFuncs[("yuy2"=="yuy2")?0:1][(((DSPF_NV16) & 0x0000007F) )] = __mmx_yuy2_be_nv16;
25793 ProcFuncs[("yuy2"=="yuy2")?0:1][(((DSPF_RGB332) & 0x0000007F) )] = __mmx_yuy2_be_rgb332;
25794 ProcFuncs[("yuy2"=="yuy2")?0:1][(((DSPF_ARGB1555) & 0x0000007F) )] = __mmx_yuy2_be_argb1555;
25795 ProcFuncs[("yuy2"=="yuy2")?0:1][(((DSPF_RGB16) & 0x0000007F) )] = __mmx_yuy2_be_rgb16;
25796 ProcFuncs[("yuy2"=="yuy2")?0:1][(((DSPF_RGB24) & 0x0000007F) )] = __mmx_yuy2_be_rgb24;
25797 ProcFuncs[("yuy2"=="yuy2")?0:1][(((DSPF_RGB32) & 0x0000007F) )] = __mmx_yuy2_be_rgb32;
25798 ProcFuncs[("yuy2"=="yuy2")?0:1][(((DSPF_ARGB) & 0x0000007F) )] = __mmx_yuy2_be_argb;
25799 ProcFuncs[("yuy2"=="yuy2")?0:1][(((DSPF_AiRGB) & 0x0000007F) )] = __mmx_yuy2_be_rgb32;
25801 ProcFuncs[("yv12"=="yuy2")?0:1][(((DSPF_YUY2) & 0x0000007F) )] = __mmx_yv12_be_yuy2;
25802 ProcFuncs[("yv12"=="yuy2")?0:1][(((DSPF_UYVY) & 0x0000007F) )] = __mmx_yv12_be_uyvy;
25803 ProcFuncs[("yv12"=="yuy2")?0:1][(((DSPF_YV12) & 0x0000007F) )] = __mmx_yv12_be_yv12;
25804 ProcFuncs[("yv12"=="yuy2")?0:1][(((DSPF_I420) & 0x0000007F) )] = __mmx_yv12_be_yv12;
25805 ProcFuncs[("yv12"=="yuy2")?0:1][(((DSPF_NV12) & 0x0000007F) )] = __mmx_yv12_be_nv12;
25806 ProcFuncs[("yv12"=="yuy2")?0:1][(((DSPF_NV21) & 0x0000007F) )] = __mmx_yv12_be_nv21;
25807 ProcFuncs[("yv12"=="yuy2")?0:1][(((DSPF_NV16) & 0x0000007F) )] = __mmx_yv12_be_nv16;
25808 ProcFuncs[("yv12"=="yuy2")?0:1][(((DSPF_RGB332) & 0x0000007F) )] = __mmx_yv12_be_rgb332;
25809 ProcFuncs[("yv12"=="yuy2")?0:1][(((DSPF_ARGB1555) & 0x0000007F) )] = __mmx_yv12_be_argb1555;
25810 ProcFuncs[("yv12"=="yuy2")?0:1][(((DSPF_RGB16) & 0x0000007F) )] = __mmx_yv12_be_rgb16;
25811 ProcFuncs[("yv12"=="yuy2")?0:1][(((DSPF_RGB24) & 0x0000007F) )] = __mmx_yv12_be_rgb24;
25812 ProcFuncs[("yv12"=="yuy2")?0:1][(((DSPF_RGB32) & 0x0000007F) )] = __mmx_yv12_be_rgb32;
25813 ProcFuncs[("yv12"=="yuy2")?0:1][(((DSPF_ARGB) & 0x0000007F) )] = __mmx_yv12_be_argb;
25814 ProcFuncs[("yv12"=="yuy2")?0:1][(((DSPF_AiRGB) & 0x0000007F) )] = __mmx_yv12_be_rgb32;
25816 do { if((this->xine) && (this->xine)->verbosity >= 1){ xine_log(this->xine, 2, "video_out_dfb: MMX detected but disabled\n"); } } while(0);
25821 dfb_state_init( &this->state, ((void *)0) );
25824 this->mixer.c = +128;
25825 this->mixer.s = +128;
25826 this->mixer.set = MF_NONE;
25828 memset( &proc_table, 0, sizeof(proc_table) );
25830 if (visual->destination) {
25831 if (!vo_dfb_set_destination( this, visual->destination )) {
25833 return ((void *)0);
25837 if (visual->subpicture)
25838 vo_dfb_set_subpicture( this, visual->subpicture );
25840 this->output_cb = visual->output_cb;
25841 this->output_cdata = visual->output_cdata;
25842 this->frame_cb = visual->frame_cb;
25843 this->frame_cdata = visual->frame_cdata;
25845 return (vo_driver_t*) this;
25849 get_identifier( video_driver_class_t *vo_class )
25855 get_description( video_driver_class_t *vo_class)
25857 return "generic DirectFB video output driver";
25861 dispose_class( video_driver_class_t *vo_class )
25867 init_class( xine_t *xine,
25870 dfb_driver_class_t *class;
25874 do { if((xine) && (xine)->verbosity >= 2){ xine_log(xine, 2, "video_out_dfb: got a null visual!\n"); } } while(0);
25876 return ((void *)0);
25879 error = DirectFBCheckVersion( (0),
25883 fprintf( stderr, "video_out_dfb: %s !!!\n", error );
25884 return ((void *)0);
25887 class = (dfb_driver_class_t*) xine_xmalloc( sizeof(dfb_driver_class_t) );
25890 return ((void *)0);
25893 class->vo_class.open_plugin = open_plugin;
25894 class->vo_class.get_identifier = get_identifier;
25895 class->vo_class.get_description = get_description;
25896 class->vo_class.dispose = dispose_class;
25897 class->xine = xine;
25902 static vo_info_t vo_info_dfb = {
25908 plugin_info_t xine_plugin_info[] = {
25911 1*10000+1*100+4, &vo_info_dfb, init_class },
25912 { 0, 0, "", 0, ((void *)0), ((void *)0) }