Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 45693 Details for
Bug 74030
avifile-0.7.41.20041001-r1 internal compiler error during emerge
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
Preprocessed source as a additional info
bug.raport.attachment (text/plain), 184.21 KB, created by
Michal Kurgan (RETIRED)
on 2004-12-10 12:27:08 UTC
(
hide
)
Description:
Preprocessed source as a additional info
Filename:
MIME Type:
Creator:
Michal Kurgan (RETIRED)
Created:
2004-12-10 12:27:08 UTC
Size:
184.21 KB
patch
obsolete
>// /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/cc1 -fpreprocessed /root/.ccache/ffv1.tmp.demon.3756.i -quiet -dumpbase ffv1.tmp.demon.3756.i -march=athlon-xp -mcpu=athlon-xp -m3dnow -mmmx -msse -mfpmath=sse -maccumulate-outgoing-args -auxbase-strip /root/.ccache/tmp.hash.demon.3756.o -O3 -Wall -Wno-unused -fomit-frame-pointer -finline-limit=1200 -fforce-addr -funroll-loops -fPIC -o - -frandom-seed=0 ># 1 "ffv1.c" ># 1 "<built-in>" ># 1 "<command line>" ># 1 "ffv1.c" ># 27 "ffv1.c" ># 1 "common.h" 1 ># 27 "common.h" ># 1 "../../include/config.h" 1 ># 28 "common.h" 2 > ># 1 "/usr/include/stdlib.h" 1 3 4 ># 25 "/usr/include/stdlib.h" 3 4 ># 1 "/usr/include/features.h" 1 3 4 ># 296 "/usr/include/features.h" 3 4 ># 1 "/usr/include/sys/cdefs.h" 1 3 4 ># 297 "/usr/include/features.h" 2 3 4 ># 319 "/usr/include/features.h" 3 4 ># 1 "/usr/include/gnu/stubs.h" 1 3 4 ># 320 "/usr/include/features.h" 2 3 4 ># 26 "/usr/include/stdlib.h" 2 3 4 > > > > > > > ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/stddef.h" 1 3 4 ># 213 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/stddef.h" 3 4 >typedef unsigned int size_t; ># 325 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/stddef.h" 3 4 >typedef long int wchar_t; ># 34 "/usr/include/stdlib.h" 2 3 4 ># 42 "/usr/include/stdlib.h" 3 4 ># 1 "/usr/include/bits/waitflags.h" 1 3 4 ># 43 "/usr/include/stdlib.h" 2 3 4 ># 1 "/usr/include/bits/waitstatus.h" 1 3 4 ># 63 "/usr/include/bits/waitstatus.h" 3 4 ># 1 "/usr/include/endian.h" 1 3 4 ># 37 "/usr/include/endian.h" 3 4 ># 1 "/usr/include/bits/endian.h" 1 3 4 ># 38 "/usr/include/endian.h" 2 3 4 ># 64 "/usr/include/bits/waitstatus.h" 2 3 4 > >union wait > { > int w_status; > struct > { > > unsigned int __w_termsig:7; > unsigned int __w_coredump:1; > unsigned int __w_retcode:8; > unsigned int:16; > > > > > > > > } __wait_terminated; > struct > { > > unsigned int __w_stopval:8; > unsigned int __w_stopsig:8; > unsigned int:16; > > > > > > > } __wait_stopped; > }; ># 44 "/usr/include/stdlib.h" 2 3 4 ># 68 "/usr/include/stdlib.h" 3 4 >typedef union > { > union wait *__uptr; > int *__iptr; > } __WAIT_STATUS __attribute__ ((__transparent_union__)); ># 93 "/usr/include/stdlib.h" 3 4 > > >typedef struct > { > int quot; > int rem; > } div_t; > > > >typedef struct > { > long int quot; > long int rem; > } ldiv_t; > > > > > > > >__extension__ typedef struct > { > long long int quot; > long long int rem; > } lldiv_t; ># 137 "/usr/include/stdlib.h" 3 4 >extern size_t __ctype_get_mb_cur_max (void) ; > > > > >extern double atof (__const char *__nptr) __attribute__ ((__pure__)); > >extern int atoi (__const char *__nptr) __attribute__ ((__pure__)); > >extern long int atol (__const char *__nptr) __attribute__ ((__pure__)); > > > > > >__extension__ extern long long int atoll (__const char *__nptr) > __attribute__ ((__pure__)); > > > > > >extern double strtod (__const char *__restrict __nptr, > char **__restrict __endptr) ; > > > > > >extern float strtof (__const char *__restrict __nptr, > char **__restrict __endptr) ; > >extern long double strtold (__const char *__restrict __nptr, > char **__restrict __endptr) ; > > > > > >extern long int strtol (__const char *__restrict __nptr, > char **__restrict __endptr, int __base) ; > >extern unsigned long int strtoul (__const char *__restrict __nptr, > char **__restrict __endptr, int __base) > ; > > > > >__extension__ >extern long long int strtoq (__const char *__restrict __nptr, > char **__restrict __endptr, int __base) ; > >__extension__ >extern unsigned long long int strtouq (__const char *__restrict __nptr, > char **__restrict __endptr, int __base) > ; > > > > > >__extension__ >extern long long int strtoll (__const char *__restrict __nptr, > char **__restrict __endptr, int __base) ; > >__extension__ >extern unsigned long long int strtoull (__const char *__restrict __nptr, > char **__restrict __endptr, int __base) > ; ># 225 "/usr/include/stdlib.h" 3 4 ># 1 "/usr/include/xlocale.h" 1 3 4 ># 28 "/usr/include/xlocale.h" 3 4 >typedef struct __locale_struct >{ > > struct locale_data *__locales[13]; > > > const unsigned short int *__ctype_b; > const int *__ctype_tolower; > const int *__ctype_toupper; > > > const char *__names[13]; >} *__locale_t; ># 226 "/usr/include/stdlib.h" 2 3 4 > > > >extern long int strtol_l (__const char *__restrict __nptr, > char **__restrict __endptr, int __base, > __locale_t __loc) ; > >extern unsigned long int strtoul_l (__const char *__restrict __nptr, > char **__restrict __endptr, > int __base, __locale_t __loc) ; > >__extension__ >extern long long int strtoll_l (__const char *__restrict __nptr, > char **__restrict __endptr, int __base, > __locale_t __loc) ; > >__extension__ >extern unsigned long long int strtoull_l (__const char *__restrict __nptr, > char **__restrict __endptr, > int __base, __locale_t __loc) > ; > >extern double strtod_l (__const char *__restrict __nptr, > char **__restrict __endptr, __locale_t __loc) > ; > >extern float strtof_l (__const char *__restrict __nptr, > char **__restrict __endptr, __locale_t __loc) ; > >extern long double strtold_l (__const char *__restrict __nptr, > char **__restrict __endptr, > __locale_t __loc) ; > > > > > > >extern double __strtod_internal (__const char *__restrict __nptr, > char **__restrict __endptr, int __group) > ; >extern float __strtof_internal (__const char *__restrict __nptr, > char **__restrict __endptr, int __group) > ; >extern long double __strtold_internal (__const char *__restrict __nptr, > char **__restrict __endptr, > int __group) ; > >extern long int __strtol_internal (__const char *__restrict __nptr, > char **__restrict __endptr, > int __base, int __group) ; > > > >extern unsigned long int __strtoul_internal (__const char *__restrict __nptr, > char **__restrict __endptr, > int __base, int __group) ; > > > > >__extension__ >extern long long int __strtoll_internal (__const char *__restrict __nptr, > char **__restrict __endptr, > int __base, int __group) ; > > > >__extension__ >extern unsigned long long int __strtoull_internal (__const char * > __restrict __nptr, > char **__restrict __endptr, > int __base, int __group) > ; ># 308 "/usr/include/stdlib.h" 3 4 >extern __inline double >strtod (__const char *__restrict __nptr, char **__restrict __endptr) >{ > return __strtod_internal (__nptr, __endptr, 0); >} >extern __inline long int >strtol (__const char *__restrict __nptr, char **__restrict __endptr, > int __base) >{ > return __strtol_internal (__nptr, __endptr, __base, 0); >} >extern __inline unsigned long int >strtoul (__const char *__restrict __nptr, char **__restrict __endptr, > int __base) >{ > return __strtoul_internal (__nptr, __endptr, __base, 0); >} > > > > >extern __inline float >strtof (__const char *__restrict __nptr, char **__restrict __endptr) >{ > return __strtof_internal (__nptr, __endptr, 0); >} >extern __inline long double >strtold (__const char *__restrict __nptr, char **__restrict __endptr) >{ > return __strtold_internal (__nptr, __endptr, 0); >} > > > > >__extension__ extern __inline long long int >strtoq (__const char *__restrict __nptr, char **__restrict __endptr, > int __base) >{ > return __strtoll_internal (__nptr, __endptr, __base, 0); >} >__extension__ extern __inline unsigned long long int >strtouq (__const char *__restrict __nptr, char **__restrict __endptr, > int __base) >{ > return __strtoull_internal (__nptr, __endptr, __base, 0); >} > > > > >__extension__ extern __inline long long int >strtoll (__const char *__restrict __nptr, char **__restrict __endptr, > int __base) >{ > return __strtoll_internal (__nptr, __endptr, __base, 0); >} >__extension__ extern __inline unsigned long long int >strtoull (__const char * __restrict __nptr, char **__restrict __endptr, > int __base) >{ > return __strtoull_internal (__nptr, __endptr, __base, 0); >} > > > > >extern __inline double >atof (__const char *__nptr) >{ > return strtod (__nptr, (char **) ((void *)0)); >} >extern __inline int >atoi (__const char *__nptr) >{ > return (int) strtol (__nptr, (char **) ((void *)0), 10); >} >extern __inline long int >atol (__const char *__nptr) >{ > return strtol (__nptr, (char **) ((void *)0), 10); >} > > > > >__extension__ extern __inline long long int >atoll (__const char *__nptr) >{ > return strtoll (__nptr, (char **) ((void *)0), 10); >} ># 408 "/usr/include/stdlib.h" 3 4 >extern char *l64a (long int __n) ; > > >extern long int a64l (__const char *__s) __attribute__ ((__pure__)); > > > > ># 1 "/usr/include/sys/types.h" 1 3 4 ># 29 "/usr/include/sys/types.h" 3 4 > > ># 1 "/usr/include/bits/types.h" 1 3 4 ># 28 "/usr/include/bits/types.h" 3 4 ># 1 "/usr/include/bits/wordsize.h" 1 3 4 ># 29 "/usr/include/bits/types.h" 2 3 4 > > ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/stddef.h" 1 3 4 ># 32 "/usr/include/bits/types.h" 2 3 4 > > >typedef unsigned char __u_char; >typedef unsigned short int __u_short; >typedef unsigned int __u_int; >typedef unsigned long int __u_long; > > >typedef signed char __int8_t; >typedef unsigned char __uint8_t; >typedef signed short int __int16_t; >typedef unsigned short int __uint16_t; >typedef signed int __int32_t; >typedef unsigned int __uint32_t; > > > > >__extension__ typedef signed long long int __int64_t; >__extension__ typedef unsigned long long int __uint64_t; > > > > > > > >__extension__ typedef long long int __quad_t; >__extension__ typedef unsigned long long int __u_quad_t; ># 129 "/usr/include/bits/types.h" 3 4 ># 1 "/usr/include/bits/typesizes.h" 1 3 4 ># 130 "/usr/include/bits/types.h" 2 3 4 > > > > > > >__extension__ typedef unsigned long long int __dev_t; >__extension__ typedef unsigned int __uid_t; >__extension__ typedef unsigned int __gid_t; >__extension__ typedef unsigned long int __ino_t; >__extension__ typedef unsigned long long int __ino64_t; >__extension__ typedef unsigned int __mode_t; >__extension__ typedef unsigned int __nlink_t; >__extension__ typedef long int __off_t; >__extension__ typedef long long int __off64_t; >__extension__ typedef int __pid_t; >__extension__ typedef struct { int __val[2]; } __fsid_t; >__extension__ typedef long int __clock_t; >__extension__ typedef unsigned long int __rlim_t; >__extension__ typedef unsigned long long int __rlim64_t; >__extension__ typedef unsigned int __id_t; >__extension__ typedef long int __time_t; >__extension__ typedef unsigned int __useconds_t; >__extension__ typedef long int __suseconds_t; > >__extension__ typedef int __daddr_t; >__extension__ typedef long int __swblk_t; >__extension__ typedef int __key_t; > > >__extension__ typedef int __clockid_t; > > >__extension__ typedef int __timer_t; > > >__extension__ typedef long int __blksize_t; > > > > >__extension__ typedef long int __blkcnt_t; >__extension__ typedef long long int __blkcnt64_t; > > >__extension__ typedef unsigned long int __fsblkcnt_t; >__extension__ typedef unsigned long long int __fsblkcnt64_t; > > >__extension__ typedef unsigned long int __fsfilcnt_t; >__extension__ typedef unsigned long long int __fsfilcnt64_t; > >__extension__ typedef int __ssize_t; > > > >typedef __off64_t __loff_t; >typedef __quad_t *__qaddr_t; >typedef char *__caddr_t; > > >__extension__ typedef int __intptr_t; > > >__extension__ typedef unsigned int __socklen_t; ># 32 "/usr/include/sys/types.h" 2 3 4 > > > >typedef __u_char u_char; >typedef __u_short u_short; >typedef __u_int u_int; >typedef __u_long u_long; >typedef __quad_t quad_t; >typedef __u_quad_t u_quad_t; >typedef __fsid_t fsid_t; > > > > >typedef __loff_t loff_t; > > > > > >typedef __ino64_t ino_t; > > > > >typedef __ino64_t ino64_t; > > > > >typedef __dev_t dev_t; > > > > >typedef __gid_t gid_t; > > > > >typedef __mode_t mode_t; > > > > >typedef __nlink_t nlink_t; > > > > >typedef __uid_t uid_t; > > > > > > > >typedef __off64_t off_t; > > > > >typedef __off64_t off64_t; > > > > >typedef __pid_t pid_t; > > > > >typedef __id_t id_t; > > > > >typedef __ssize_t ssize_t; > > > > > >typedef __daddr_t daddr_t; >typedef __caddr_t caddr_t; > > > > > >typedef __key_t key_t; ># 133 "/usr/include/sys/types.h" 3 4 ># 1 "/usr/include/time.h" 1 3 4 ># 58 "/usr/include/time.h" 3 4 > > >typedef __clock_t clock_t; ># 74 "/usr/include/time.h" 3 4 > > >typedef __time_t time_t; ># 92 "/usr/include/time.h" 3 4 >typedef __clockid_t clockid_t; ># 104 "/usr/include/time.h" 3 4 >typedef __timer_t timer_t; ># 134 "/usr/include/sys/types.h" 2 3 4 > > > >typedef __useconds_t useconds_t; > > > >typedef __suseconds_t suseconds_t; > > > > > ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/stddef.h" 1 3 4 ># 148 "/usr/include/sys/types.h" 2 3 4 > > > >typedef unsigned long int ulong; >typedef unsigned short int ushort; >typedef unsigned int uint; ># 191 "/usr/include/sys/types.h" 3 4 >typedef int int8_t __attribute__ ((__mode__ (__QI__))); >typedef int int16_t __attribute__ ((__mode__ (__HI__))); >typedef int int32_t __attribute__ ((__mode__ (__SI__))); >typedef int int64_t __attribute__ ((__mode__ (__DI__))); > > >typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__))); >typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__))); >typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__))); >typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__))); > >typedef int register_t __attribute__ ((__mode__ (__word__))); ># 216 "/usr/include/sys/types.h" 3 4 ># 1 "/usr/include/sys/select.h" 1 3 4 ># 31 "/usr/include/sys/select.h" 3 4 ># 1 "/usr/include/bits/select.h" 1 3 4 ># 32 "/usr/include/sys/select.h" 2 3 4 > > ># 1 "/usr/include/bits/sigset.h" 1 3 4 ># 23 "/usr/include/bits/sigset.h" 3 4 >typedef int __sig_atomic_t; > > > > >typedef struct > { > unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; > } __sigset_t; ># 35 "/usr/include/sys/select.h" 2 3 4 > > > >typedef __sigset_t sigset_t; > > > > > ># 1 "/usr/include/time.h" 1 3 4 ># 118 "/usr/include/time.h" 3 4 >struct timespec > { > __time_t tv_sec; > long int tv_nsec; > }; ># 45 "/usr/include/sys/select.h" 2 3 4 > ># 1 "/usr/include/bits/time.h" 1 3 4 ># 69 "/usr/include/bits/time.h" 3 4 >struct timeval > { > __time_t tv_sec; > __suseconds_t tv_usec; > }; ># 47 "/usr/include/sys/select.h" 2 3 4 ># 55 "/usr/include/sys/select.h" 3 4 >typedef long int __fd_mask; ># 67 "/usr/include/sys/select.h" 3 4 >typedef struct > { > > > > __fd_mask fds_bits[1024 / (8 * sizeof (__fd_mask))]; > > > > > > } fd_set; > > > > > > >typedef __fd_mask fd_mask; ># 99 "/usr/include/sys/select.h" 3 4 ># 109 "/usr/include/sys/select.h" 3 4 >extern int select (int __nfds, fd_set *__restrict __readfds, > fd_set *__restrict __writefds, > fd_set *__restrict __exceptfds, > struct timeval *__restrict __timeout); ># 121 "/usr/include/sys/select.h" 3 4 >extern int pselect (int __nfds, fd_set *__restrict __readfds, > fd_set *__restrict __writefds, > fd_set *__restrict __exceptfds, > const struct timespec *__restrict __timeout, > const __sigset_t *__restrict __sigmask); ># 217 "/usr/include/sys/types.h" 2 3 4 > > ># 1 "/usr/include/sys/sysmacros.h" 1 3 4 ># 29 "/usr/include/sys/sysmacros.h" 3 4 >__extension__ >extern __inline unsigned int gnu_dev_major (unsigned long long int __dev) > ; >__extension__ >extern __inline unsigned int gnu_dev_minor (unsigned long long int __dev) > ; >__extension__ >extern __inline unsigned long long int gnu_dev_makedev (unsigned int __major, > unsigned int __minor) > ; > > >__extension__ extern __inline unsigned int >gnu_dev_major (unsigned long long int __dev) >{ > return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff); >} > >__extension__ extern __inline unsigned int >gnu_dev_minor (unsigned long long int __dev) >{ > return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff); >} > >__extension__ extern __inline unsigned long long int >gnu_dev_makedev (unsigned int __major, unsigned int __minor) >{ > return ((__minor & 0xff) | ((__major & 0xfff) << 8) > | (((unsigned long long int) (__minor & ~0xff)) << 12) > | (((unsigned long long int) (__major & ~0xfff)) << 32)); >} ># 220 "/usr/include/sys/types.h" 2 3 4 > > > > >typedef __blksize_t blksize_t; ># 244 "/usr/include/sys/types.h" 3 4 >typedef __blkcnt64_t blkcnt_t; > > > >typedef __fsblkcnt64_t fsblkcnt_t; > > > >typedef __fsfilcnt64_t fsfilcnt_t; > > > > > >typedef __blkcnt64_t blkcnt64_t; >typedef __fsblkcnt64_t fsblkcnt64_t; >typedef __fsfilcnt64_t fsfilcnt64_t; > > > > > ># 1 "/usr/include/bits/pthreadtypes.h" 1 3 4 ># 23 "/usr/include/bits/pthreadtypes.h" 3 4 ># 1 "/usr/include/bits/sched.h" 1 3 4 ># 83 "/usr/include/bits/sched.h" 3 4 >struct __sched_param > { > int __sched_priority; > }; ># 24 "/usr/include/bits/pthreadtypes.h" 2 3 4 > > >struct _pthread_fastlock >{ > long int __status; > int __spinlock; > >}; > > > >typedef struct _pthread_descr_struct *_pthread_descr; > > > > > >typedef struct __pthread_attr_s >{ > int __detachstate; > int __schedpolicy; > struct __sched_param __schedparam; > int __inheritsched; > int __scope; > size_t __guardsize; > int __stackaddr_set; > void *__stackaddr; > size_t __stacksize; >} pthread_attr_t; > > > > > >__extension__ typedef long long __pthread_cond_align_t; > > > > >typedef struct >{ > struct _pthread_fastlock __c_lock; > _pthread_descr __c_waiting; > char __padding[48 - sizeof (struct _pthread_fastlock) > - sizeof (_pthread_descr) - sizeof (__pthread_cond_align_t)]; > __pthread_cond_align_t __align; >} pthread_cond_t; > > > >typedef struct >{ > int __dummy; >} pthread_condattr_t; > > >typedef unsigned int pthread_key_t; > > > > > >typedef struct >{ > int __m_reserved; > int __m_count; > _pthread_descr __m_owner; > int __m_kind; > struct _pthread_fastlock __m_lock; >} pthread_mutex_t; > > > >typedef struct >{ > int __mutexkind; >} pthread_mutexattr_t; > > > >typedef int pthread_once_t; > > > > >typedef struct _pthread_rwlock_t >{ > struct _pthread_fastlock __rw_lock; > int __rw_readers; > _pthread_descr __rw_writer; > _pthread_descr __rw_read_waiting; > _pthread_descr __rw_write_waiting; > int __rw_kind; > int __rw_pshared; >} pthread_rwlock_t; > > > >typedef struct >{ > int __lockkind; > int __pshared; >} pthread_rwlockattr_t; > > > > >typedef volatile int pthread_spinlock_t; > > >typedef struct { > struct _pthread_fastlock __ba_lock; > int __ba_required; > int __ba_present; > _pthread_descr __ba_waiting; >} pthread_barrier_t; > > >typedef struct { > int __pshared; >} pthread_barrierattr_t; > > > > > >typedef unsigned long int pthread_t; ># 267 "/usr/include/sys/types.h" 2 3 4 ># 417 "/usr/include/stdlib.h" 2 3 4 > > > > > > >extern long int random (void) ; > > >extern void srandom (unsigned int __seed) ; > > > > > >extern char *initstate (unsigned int __seed, char *__statebuf, > size_t __statelen) ; > > > >extern char *setstate (char *__statebuf) ; > > > > > > > >struct random_data > { > int32_t *fptr; > int32_t *rptr; > int32_t *state; > int rand_type; > int rand_deg; > int rand_sep; > int32_t *end_ptr; > }; > >extern int random_r (struct random_data *__restrict __buf, > int32_t *__restrict __result) ; > >extern int srandom_r (unsigned int __seed, struct random_data *__buf) ; > >extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, > size_t __statelen, > struct random_data *__restrict __buf) ; > >extern int setstate_r (char *__restrict __statebuf, > struct random_data *__restrict __buf) ; > > > > > > >extern int rand (void) ; > >extern void srand (unsigned int __seed) ; > > > > >extern int rand_r (unsigned int *__seed) ; > > > > > > > >extern double drand48 (void) ; >extern double erand48 (unsigned short int __xsubi[3]) ; > > >extern long int lrand48 (void) ; >extern long int nrand48 (unsigned short int __xsubi[3]) ; > > >extern long int mrand48 (void) ; >extern long int jrand48 (unsigned short int __xsubi[3]) ; > > >extern void srand48 (long int __seedval) ; >extern unsigned short int *seed48 (unsigned short int __seed16v[3]) ; >extern void lcong48 (unsigned short int __param[7]) ; > > > > > >struct drand48_data > { > unsigned short int __x[3]; > unsigned short int __old_x[3]; > unsigned short int __c; > unsigned short int __init; > unsigned long long int __a; > }; > > >extern int drand48_r (struct drand48_data *__restrict __buffer, > double *__restrict __result) ; >extern int erand48_r (unsigned short int __xsubi[3], > struct drand48_data *__restrict __buffer, > double *__restrict __result) ; > > >extern int lrand48_r (struct drand48_data *__restrict __buffer, > long int *__restrict __result) ; >extern int nrand48_r (unsigned short int __xsubi[3], > struct drand48_data *__restrict __buffer, > long int *__restrict __result) ; > > >extern int mrand48_r (struct drand48_data *__restrict __buffer, > long int *__restrict __result) ; >extern int jrand48_r (unsigned short int __xsubi[3], > struct drand48_data *__restrict __buffer, > long int *__restrict __result) ; > > >extern int srand48_r (long int __seedval, struct drand48_data *__buffer) > ; > >extern int seed48_r (unsigned short int __seed16v[3], > struct drand48_data *__buffer) ; > >extern int lcong48_r (unsigned short int __param[7], > struct drand48_data *__buffer) ; ># 556 "/usr/include/stdlib.h" 3 4 >extern void *malloc (size_t __size) __attribute__ ((__malloc__)); > >extern void *calloc (size_t __nmemb, size_t __size) > __attribute__ ((__malloc__)); > > > > > > > >extern void *realloc (void *__ptr, size_t __size) __attribute__ ((__malloc__)); > >extern void free (void *__ptr) ; > > > > >extern void cfree (void *__ptr) ; > > > ># 1 "/usr/include/alloca.h" 1 3 4 ># 25 "/usr/include/alloca.h" 3 4 ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/stddef.h" 1 3 4 ># 26 "/usr/include/alloca.h" 2 3 4 > > > > > > > >extern void *alloca (size_t __size) ; ># 579 "/usr/include/stdlib.h" 2 3 4 > > > > >extern void *valloc (size_t __size) __attribute__ ((__malloc__)); > > > > >extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) > __attribute__ ((__malloc__)); > > > > >extern void abort (void) __attribute__ ((__noreturn__)); > > > >extern int atexit (void (*__func) (void)) ; > > > > > >extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) > ; > > > > > > >extern void exit (int __status) __attribute__ ((__noreturn__)); > > > > > > >extern void _Exit (int __status) __attribute__ ((__noreturn__)); > > > > > > >extern char *getenv (__const char *__name) ; > > > > >extern char *__secure_getenv (__const char *__name) ; > > > > > >extern int putenv (char *__string) ; > > > > > >extern int setenv (__const char *__name, __const char *__value, int __replace) > ; > > >extern int unsetenv (__const char *__name) ; > > > > > > >extern int clearenv (void) ; ># 663 "/usr/include/stdlib.h" 3 4 >extern char *mktemp (char *__template) ; ># 677 "/usr/include/stdlib.h" 3 4 >extern int mkstemp (char *__template) __asm__ ("" "mkstemp64"); > > > > > >extern int mkstemp64 (char *__template); ># 693 "/usr/include/stdlib.h" 3 4 >extern char *mkdtemp (char *__template) ; ># 702 "/usr/include/stdlib.h" 3 4 >extern int system (__const char *__command); > > > > > > > >extern char *canonicalize_file_name (__const char *__name) ; ># 720 "/usr/include/stdlib.h" 3 4 >extern char *realpath (__const char *__restrict __name, > char *__restrict __resolved) ; > > > > > > >typedef int (*__compar_fn_t) (__const void *, __const void *); > > >typedef __compar_fn_t comparison_fn_t; > > > > > > >extern void *bsearch (__const void *__key, __const void *__base, > size_t __nmemb, size_t __size, __compar_fn_t __compar); > > > >extern void qsort (void *__base, size_t __nmemb, size_t __size, > __compar_fn_t __compar); > > > >extern int abs (int __x) __attribute__ ((__const__)); >extern long int labs (long int __x) __attribute__ ((__const__)); > > > >__extension__ extern long long int llabs (long long int __x) > __attribute__ ((__const__)); > > > > > > > >extern div_t div (int __numer, int __denom) > __attribute__ ((__const__)); >extern ldiv_t ldiv (long int __numer, long int __denom) > __attribute__ ((__const__)); > > > > >__extension__ extern lldiv_t lldiv (long long int __numer, > long long int __denom) > __attribute__ ((__const__)); ># 784 "/usr/include/stdlib.h" 3 4 >extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, > int *__restrict __sign) ; > > > > >extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, > int *__restrict __sign) ; > > > > >extern char *gcvt (double __value, int __ndigit, char *__buf) ; > > > > >extern char *qecvt (long double __value, int __ndigit, > int *__restrict __decpt, int *__restrict __sign) ; >extern char *qfcvt (long double __value, int __ndigit, > int *__restrict __decpt, int *__restrict __sign) ; >extern char *qgcvt (long double __value, int __ndigit, char *__buf) ; > > > > >extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, > int *__restrict __sign, char *__restrict __buf, > size_t __len) ; >extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, > int *__restrict __sign, char *__restrict __buf, > size_t __len) ; > >extern int qecvt_r (long double __value, int __ndigit, > int *__restrict __decpt, int *__restrict __sign, > char *__restrict __buf, size_t __len) ; >extern int qfcvt_r (long double __value, int __ndigit, > int *__restrict __decpt, int *__restrict __sign, > char *__restrict __buf, size_t __len) ; > > > > > > > >extern int mblen (__const char *__s, size_t __n) ; > > >extern int mbtowc (wchar_t *__restrict __pwc, > __const char *__restrict __s, size_t __n) ; > > >extern int wctomb (char *__s, wchar_t __wchar) ; > > > >extern size_t mbstowcs (wchar_t *__restrict __pwcs, > __const char *__restrict __s, size_t __n) ; > >extern size_t wcstombs (char *__restrict __s, > __const wchar_t *__restrict __pwcs, size_t __n) > ; ># 855 "/usr/include/stdlib.h" 3 4 >extern int rpmatch (__const char *__response) ; ># 866 "/usr/include/stdlib.h" 3 4 >extern int getsubopt (char **__restrict __optionp, > char *__const *__restrict __tokens, > char **__restrict __valuep) ; > > > > > >extern void setkey (__const char *__key) ; > > > > > > > >extern int posix_openpt (int __oflag); > > > > > > > >extern int grantpt (int __fd) ; > > > >extern int unlockpt (int __fd) ; > > > > >extern char *ptsname (int __fd) ; > > > > > > >extern int ptsname_r (int __fd, char *__buf, size_t __buflen) ; > > >extern int getpt (void); > > > > > > >extern int getloadavg (double __loadavg[], int __nelem) ; ># 30 "common.h" 2 ># 1 "/usr/include/stdio.h" 1 3 4 ># 30 "/usr/include/stdio.h" 3 4 > > > > ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/stddef.h" 1 3 4 ># 35 "/usr/include/stdio.h" 2 3 4 ># 44 "/usr/include/stdio.h" 3 4 > > >typedef struct _IO_FILE FILE; ># 62 "/usr/include/stdio.h" 3 4 >typedef struct _IO_FILE __FILE; ># 72 "/usr/include/stdio.h" 3 4 ># 1 "/usr/include/libio.h" 1 3 4 ># 32 "/usr/include/libio.h" 3 4 ># 1 "/usr/include/_G_config.h" 1 3 4 ># 14 "/usr/include/_G_config.h" 3 4 ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/stddef.h" 1 3 4 ># 354 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/stddef.h" 3 4 >typedef unsigned int wint_t; ># 15 "/usr/include/_G_config.h" 2 3 4 ># 24 "/usr/include/_G_config.h" 3 4 ># 1 "/usr/include/wchar.h" 1 3 4 ># 48 "/usr/include/wchar.h" 3 4 ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/stddef.h" 1 3 4 ># 49 "/usr/include/wchar.h" 2 3 4 > ># 1 "/usr/include/bits/wchar.h" 1 3 4 ># 51 "/usr/include/wchar.h" 2 3 4 ># 76 "/usr/include/wchar.h" 3 4 >typedef struct >{ > int __count; > union > { > wint_t __wch; > char __wchb[4]; > } __value; >} __mbstate_t; ># 25 "/usr/include/_G_config.h" 2 3 4 > >typedef struct >{ > __off_t __pos; > __mbstate_t __state; >} _G_fpos_t; >typedef struct >{ > __off64_t __pos; > __mbstate_t __state; >} _G_fpos64_t; ># 44 "/usr/include/_G_config.h" 3 4 ># 1 "/usr/include/gconv.h" 1 3 4 ># 28 "/usr/include/gconv.h" 3 4 ># 1 "/usr/include/wchar.h" 1 3 4 ># 48 "/usr/include/wchar.h" 3 4 ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/stddef.h" 1 3 4 ># 49 "/usr/include/wchar.h" 2 3 4 ># 29 "/usr/include/gconv.h" 2 3 4 > > ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/stddef.h" 1 3 4 ># 32 "/usr/include/gconv.h" 2 3 4 > > > > > >enum >{ > __GCONV_OK = 0, > __GCONV_NOCONV, > __GCONV_NODB, > __GCONV_NOMEM, > > __GCONV_EMPTY_INPUT, > __GCONV_FULL_OUTPUT, > __GCONV_ILLEGAL_INPUT, > __GCONV_INCOMPLETE_INPUT, > > __GCONV_ILLEGAL_DESCRIPTOR, > __GCONV_INTERNAL_ERROR >}; > > > >enum >{ > __GCONV_IS_LAST = 0x0001, > __GCONV_IGNORE_ERRORS = 0x0002 >}; > > > >struct __gconv_step; >struct __gconv_step_data; >struct __gconv_loaded_object; >struct __gconv_trans_data; > > > >typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *, > __const unsigned char **, __const unsigned char *, > unsigned char **, size_t *, int, int); > > >typedef wint_t (*__gconv_btowc_fct) (struct __gconv_step *, unsigned char); > > >typedef int (*__gconv_init_fct) (struct __gconv_step *); >typedef void (*__gconv_end_fct) (struct __gconv_step *); > > > >typedef int (*__gconv_trans_fct) (struct __gconv_step *, > struct __gconv_step_data *, void *, > __const unsigned char *, > __const unsigned char **, > __const unsigned char *, unsigned char **, > size_t *); > > >typedef int (*__gconv_trans_context_fct) (void *, __const unsigned char *, > __const unsigned char *, > unsigned char *, unsigned char *); > > >typedef int (*__gconv_trans_query_fct) (__const char *, __const char ***, > size_t *); > > >typedef int (*__gconv_trans_init_fct) (void **, const char *); >typedef void (*__gconv_trans_end_fct) (void *); > >struct __gconv_trans_data >{ > > __gconv_trans_fct __trans_fct; > __gconv_trans_context_fct __trans_context_fct; > __gconv_trans_end_fct __trans_end_fct; > void *__data; > struct __gconv_trans_data *__next; >}; > > > >struct __gconv_step >{ > struct __gconv_loaded_object *__shlib_handle; > __const char *__modname; > > int __counter; > > char *__from_name; > char *__to_name; > > __gconv_fct __fct; > __gconv_btowc_fct __btowc_fct; > __gconv_init_fct __init_fct; > __gconv_end_fct __end_fct; > > > > int __min_needed_from; > int __max_needed_from; > int __min_needed_to; > int __max_needed_to; > > > int __stateful; > > void *__data; >}; > > > >struct __gconv_step_data >{ > unsigned char *__outbuf; > unsigned char *__outbufend; > > > > int __flags; > > > > int __invocation_counter; > > > > int __internal_use; > > __mbstate_t *__statep; > __mbstate_t __state; > > > > struct __gconv_trans_data *__trans; >}; > > > >typedef struct __gconv_info >{ > size_t __nsteps; > struct __gconv_step *__steps; > __extension__ struct __gconv_step_data __data []; >} *__gconv_t; ># 45 "/usr/include/_G_config.h" 2 3 4 >typedef union >{ > struct __gconv_info __cd; > struct > { > struct __gconv_info __cd; > struct __gconv_step_data __data; > } __combined; >} _G_iconv_t; > >typedef int _G_int16_t __attribute__ ((__mode__ (__HI__))); >typedef int _G_int32_t __attribute__ ((__mode__ (__SI__))); >typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__))); >typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__))); ># 33 "/usr/include/libio.h" 2 3 4 ># 53 "/usr/include/libio.h" 3 4 ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/stdarg.h" 1 3 4 ># 43 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/stdarg.h" 3 4 >typedef __builtin_va_list __gnuc_va_list; ># 54 "/usr/include/libio.h" 2 3 4 ># 163 "/usr/include/libio.h" 3 4 >struct _IO_jump_t; struct _IO_FILE; ># 173 "/usr/include/libio.h" 3 4 >typedef void _IO_lock_t; > > > > > >struct _IO_marker { > struct _IO_marker *_next; > struct _IO_FILE *_sbuf; > > > > int _pos; ># 196 "/usr/include/libio.h" 3 4 >}; > > >enum __codecvt_result >{ > __codecvt_ok, > __codecvt_partial, > __codecvt_error, > __codecvt_noconv >}; ># 264 "/usr/include/libio.h" 3 4 >struct _IO_FILE { > int _flags; > > > > > char* _IO_read_ptr; > char* _IO_read_end; > char* _IO_read_base; > char* _IO_write_base; > char* _IO_write_ptr; > char* _IO_write_end; > char* _IO_buf_base; > char* _IO_buf_end; > > char *_IO_save_base; > char *_IO_backup_base; > char *_IO_save_end; > > struct _IO_marker *_markers; > > struct _IO_FILE *_chain; > > int _fileno; > > > > int _flags2; > > __off_t _old_offset; > > > > unsigned short _cur_column; > signed char _vtable_offset; > char _shortbuf[1]; > > > > _IO_lock_t *_lock; ># 312 "/usr/include/libio.h" 3 4 > __off64_t _offset; > > > > > > void *__pad1; > void *__pad2; > > int _mode; > > char _unused2[15 * sizeof (int) - 2 * sizeof (void *)]; > >}; > > >typedef struct _IO_FILE _IO_FILE; > > >struct _IO_FILE_plus; > >extern struct _IO_FILE_plus _IO_2_1_stdin_; >extern struct _IO_FILE_plus _IO_2_1_stdout_; >extern struct _IO_FILE_plus _IO_2_1_stderr_; ># 351 "/usr/include/libio.h" 3 4 >typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes); > > > > > > > >typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf, > size_t __n); > > > > > > > >typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w); > > >typedef int __io_close_fn (void *__cookie); > > > > >typedef __io_read_fn cookie_read_function_t; >typedef __io_write_fn cookie_write_function_t; >typedef __io_seek_fn cookie_seek_function_t; >typedef __io_close_fn cookie_close_function_t; > > >typedef struct >{ > __io_read_fn *read; > __io_write_fn *write; > __io_seek_fn *seek; > __io_close_fn *close; >} _IO_cookie_io_functions_t; >typedef _IO_cookie_io_functions_t cookie_io_functions_t; > >struct _IO_cookie_file; > > >extern void _IO_cookie_init (struct _IO_cookie_file *__cfile, int __read_write, > void *__cookie, _IO_cookie_io_functions_t __fns); > > > > > > > >extern int __underflow (_IO_FILE *) ; >extern int __uflow (_IO_FILE *) ; >extern int __overflow (_IO_FILE *, int) ; >extern wint_t __wunderflow (_IO_FILE *) ; >extern wint_t __wuflow (_IO_FILE *) ; >extern wint_t __woverflow (_IO_FILE *, wint_t) ; ># 441 "/usr/include/libio.h" 3 4 >extern int _IO_getc (_IO_FILE *__fp) ; >extern int _IO_putc (int __c, _IO_FILE *__fp) ; >extern int _IO_feof (_IO_FILE *__fp) ; >extern int _IO_ferror (_IO_FILE *__fp) ; > >extern int _IO_peekc_locked (_IO_FILE *__fp) ; > > > > > >extern void _IO_flockfile (_IO_FILE *) ; >extern void _IO_funlockfile (_IO_FILE *) ; >extern int _IO_ftrylockfile (_IO_FILE *) ; ># 471 "/usr/include/libio.h" 3 4 >extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict, > __gnuc_va_list, int *__restrict) ; >extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict, > __gnuc_va_list) ; >extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t) ; >extern size_t _IO_sgetn (_IO_FILE *, void *, size_t) ; > >extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int) ; >extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int) ; > >extern void _IO_free_backup_area (_IO_FILE *) ; ># 73 "/usr/include/stdio.h" 2 3 4 > > > > >typedef __gnuc_va_list va_list; ># 86 "/usr/include/stdio.h" 3 4 > > > > >typedef _G_fpos64_t fpos_t; > > > >typedef _G_fpos64_t fpos64_t; ># 138 "/usr/include/stdio.h" 3 4 ># 1 "/usr/include/bits/stdio_lim.h" 1 3 4 ># 139 "/usr/include/stdio.h" 2 3 4 > > > >extern struct _IO_FILE *stdin; >extern struct _IO_FILE *stdout; >extern struct _IO_FILE *stderr; > > > > > > > >extern int remove (__const char *__filename) ; > >extern int rename (__const char *__old, __const char *__new) ; ># 167 "/usr/include/stdio.h" 3 4 >extern FILE *tmpfile (void) __asm__ ("" "tmpfile64"); > > > > > > >extern FILE *tmpfile64 (void); > > > >extern char *tmpnam (char *__s) ; > > > > > >extern char *tmpnam_r (char *__s) ; ># 196 "/usr/include/stdio.h" 3 4 >extern char *tempnam (__const char *__dir, __const char *__pfx) > __attribute__ ((__malloc__)); ># 206 "/usr/include/stdio.h" 3 4 >extern int fclose (FILE *__stream); > > > > >extern int fflush (FILE *__stream); ># 221 "/usr/include/stdio.h" 3 4 >extern int fflush_unlocked (FILE *__stream); ># 231 "/usr/include/stdio.h" 3 4 >extern int fcloseall (void); ># 252 "/usr/include/stdio.h" 3 4 >extern FILE *fopen (__const char *__restrict __filename, __const char *__restrict __modes) __asm__ ("" "fopen64"); > >extern FILE *freopen (__const char *__restrict __filename, __const char *__restrict __modes, FILE *__restrict __stream) __asm__ ("" "freopen64"); ># 264 "/usr/include/stdio.h" 3 4 >extern FILE *fopen64 (__const char *__restrict __filename, > __const char *__restrict __modes); >extern FILE *freopen64 (__const char *__restrict __filename, > __const char *__restrict __modes, > FILE *__restrict __stream); > > > > >extern FILE *fdopen (int __fd, __const char *__modes) ; > > > > > >extern FILE *fopencookie (void *__restrict __magic_cookie, > __const char *__restrict __modes, > _IO_cookie_io_functions_t __io_funcs) ; > > >extern FILE *fmemopen (void *__s, size_t __len, __const char *__modes) ; > > > > >extern FILE *open_memstream (char **__restrict __bufloc, > size_t *__restrict __sizeloc) ; > > > > > > >extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) ; > > > >extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, > int __modes, size_t __n) ; > > > > > >extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, > size_t __size) ; > > >extern void setlinebuf (FILE *__stream) ; ># 321 "/usr/include/stdio.h" 3 4 >extern int fprintf (FILE *__restrict __stream, > __const char *__restrict __format, ...); > > > > >extern int printf (__const char *__restrict __format, ...); > >extern int sprintf (char *__restrict __s, > __const char *__restrict __format, ...) ; > > > > > >extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format, > __gnuc_va_list __arg); > > > > >extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg); > >extern int vsprintf (char *__restrict __s, __const char *__restrict __format, > __gnuc_va_list __arg) ; > > > > > >extern int snprintf (char *__restrict __s, size_t __maxlen, > __const char *__restrict __format, ...) > __attribute__ ((__format__ (__printf__, 3, 4))); > >extern int vsnprintf (char *__restrict __s, size_t __maxlen, > __const char *__restrict __format, __gnuc_va_list __arg) > __attribute__ ((__format__ (__printf__, 3, 0))); > > > > > > >extern int vasprintf (char **__restrict __ptr, __const char *__restrict __f, > __gnuc_va_list __arg) > __attribute__ ((__format__ (__printf__, 2, 0))); >extern int __asprintf (char **__restrict __ptr, > __const char *__restrict __fmt, ...) > __attribute__ ((__format__ (__printf__, 2, 3))); >extern int asprintf (char **__restrict __ptr, > __const char *__restrict __fmt, ...) > __attribute__ ((__format__ (__printf__, 2, 3))); > > > > > > > >extern int vdprintf (int __fd, __const char *__restrict __fmt, > __gnuc_va_list __arg) > __attribute__ ((__format__ (__printf__, 2, 0))); >extern int dprintf (int __fd, __const char *__restrict __fmt, ...) > __attribute__ ((__format__ (__printf__, 2, 3))); ># 393 "/usr/include/stdio.h" 3 4 >extern int fscanf (FILE *__restrict __stream, > __const char *__restrict __format, ...); > > > > >extern int scanf (__const char *__restrict __format, ...); > >extern int sscanf (__const char *__restrict __s, > __const char *__restrict __format, ...) ; ># 411 "/usr/include/stdio.h" 3 4 >extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format, > __gnuc_va_list __arg) > __attribute__ ((__format__ (__scanf__, 2, 0))); > > > > > >extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg) > __attribute__ ((__format__ (__scanf__, 1, 0))); > > >extern int vsscanf (__const char *__restrict __s, > __const char *__restrict __format, __gnuc_va_list __arg) > __attribute__ ((__format__ (__scanf__, 2, 0))); ># 435 "/usr/include/stdio.h" 3 4 >extern int fgetc (FILE *__stream); >extern int getc (FILE *__stream); > > > > > >extern int getchar (void); ># 454 "/usr/include/stdio.h" 3 4 >extern int getc_unlocked (FILE *__stream); >extern int getchar_unlocked (void); ># 465 "/usr/include/stdio.h" 3 4 >extern int fgetc_unlocked (FILE *__stream); ># 477 "/usr/include/stdio.h" 3 4 >extern int fputc (int __c, FILE *__stream); >extern int putc (int __c, FILE *__stream); > > > > > >extern int putchar (int __c); ># 498 "/usr/include/stdio.h" 3 4 >extern int fputc_unlocked (int __c, FILE *__stream); > > > > > > > >extern int putc_unlocked (int __c, FILE *__stream); >extern int putchar_unlocked (int __c); > > > > > > >extern int getw (FILE *__stream); > > >extern int putw (int __w, FILE *__stream); ># 526 "/usr/include/stdio.h" 3 4 >extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream); > > > > > > >extern char *gets (char *__s); ># 543 "/usr/include/stdio.h" 3 4 >extern char *fgets_unlocked (char *__restrict __s, int __n, > FILE *__restrict __stream); ># 559 "/usr/include/stdio.h" 3 4 >extern __ssize_t __getdelim (char **__restrict __lineptr, > size_t *__restrict __n, int __delimiter, > FILE *__restrict __stream); >extern __ssize_t getdelim (char **__restrict __lineptr, > size_t *__restrict __n, int __delimiter, > FILE *__restrict __stream); > > > > > > > >extern __ssize_t getline (char **__restrict __lineptr, > size_t *__restrict __n, > FILE *__restrict __stream); ># 583 "/usr/include/stdio.h" 3 4 >extern int fputs (__const char *__restrict __s, FILE *__restrict __stream); > > > > > >extern int puts (__const char *__s); > > > > > > >extern int ungetc (int __c, FILE *__stream); > > > > > > >extern size_t fread (void *__restrict __ptr, size_t __size, > size_t __n, FILE *__restrict __stream); > > > > >extern size_t fwrite (__const void *__restrict __ptr, size_t __size, > size_t __n, FILE *__restrict __s); ># 620 "/usr/include/stdio.h" 3 4 >extern int fputs_unlocked (__const char *__restrict __s, > FILE *__restrict __stream); ># 631 "/usr/include/stdio.h" 3 4 >extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, > size_t __n, FILE *__restrict __stream); >extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size, > size_t __n, FILE *__restrict __stream); ># 643 "/usr/include/stdio.h" 3 4 >extern int fseek (FILE *__stream, long int __off, int __whence); > > > > >extern long int ftell (FILE *__stream); > > > > >extern void rewind (FILE *__stream); ># 675 "/usr/include/stdio.h" 3 4 >extern int fseeko (FILE *__stream, __off64_t __off, int __whence) __asm__ ("" "fseeko64"); > > >extern __off64_t ftello (FILE *__stream) __asm__ ("" "ftello64"); ># 700 "/usr/include/stdio.h" 3 4 >extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos) __asm__ ("" "fgetpos64"); > >extern int fsetpos (FILE *__stream, __const fpos_t *__pos) __asm__ ("" "fsetpos64"); ># 712 "/usr/include/stdio.h" 3 4 >extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence); >extern __off64_t ftello64 (FILE *__stream); >extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos); >extern int fsetpos64 (FILE *__stream, __const fpos64_t *__pos); > > > > >extern void clearerr (FILE *__stream) ; > >extern int feof (FILE *__stream) ; > >extern int ferror (FILE *__stream) ; > > > > >extern void clearerr_unlocked (FILE *__stream) ; >extern int feof_unlocked (FILE *__stream) ; >extern int ferror_unlocked (FILE *__stream) ; ># 740 "/usr/include/stdio.h" 3 4 >extern void perror (__const char *__s); > > > > > > ># 1 "/usr/include/bits/sys_errlist.h" 1 3 4 ># 27 "/usr/include/bits/sys_errlist.h" 3 4 >extern int sys_nerr; >extern __const char *__const sys_errlist[]; > > >extern int _sys_nerr; >extern __const char *__const _sys_errlist[]; ># 748 "/usr/include/stdio.h" 2 3 4 > > > > >extern int fileno (FILE *__stream) ; > > > > >extern int fileno_unlocked (FILE *__stream) ; ># 767 "/usr/include/stdio.h" 3 4 >extern FILE *popen (__const char *__command, __const char *__modes); > > > > > >extern int pclose (FILE *__stream); > > > > > >extern char *ctermid (char *__s) ; > > > > > >extern char *cuserid (char *__s); > > > > >struct obstack; > > >extern int obstack_printf (struct obstack *__restrict __obstack, > __const char *__restrict __format, ...) > __attribute__ ((__format__ (__printf__, 2, 3))); >extern int obstack_vprintf (struct obstack *__restrict __obstack, > __const char *__restrict __format, > __gnuc_va_list __args) > __attribute__ ((__format__ (__printf__, 2, 0))); > > > > > > > >extern void flockfile (FILE *__stream) ; > > > >extern int ftrylockfile (FILE *__stream) ; > > >extern void funlockfile (FILE *__stream) ; ># 828 "/usr/include/stdio.h" 3 4 ># 1 "/usr/include/bits/stdio.h" 1 3 4 ># 33 "/usr/include/bits/stdio.h" 3 4 >extern __inline int >vprintf (__const char *__restrict __fmt, __gnuc_va_list __arg) >{ > return vfprintf (stdout, __fmt, __arg); >} > > >extern __inline int >getchar (void) >{ > return _IO_getc (stdin); >} > > > > >extern __inline int >getc_unlocked (FILE *__fp) >{ > return (__builtin_expect ((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end, 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); >} > > >extern __inline int >getchar_unlocked (void) >{ > return (__builtin_expect ((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end, 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); >} > > > > >extern __inline int >putchar (int __c) >{ > return _IO_putc (__c, stdout); >} > > > > >extern __inline int >fputc_unlocked (int __c, FILE *__stream) >{ > return (__builtin_expect ((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end, 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); >} > > > > > >extern __inline int >putc_unlocked (int __c, FILE *__stream) >{ > return (__builtin_expect ((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end, 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); >} > > >extern __inline int >putchar_unlocked (int __c) >{ > return (__builtin_expect ((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end, 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); >} > > > > > >extern __inline __ssize_t >getline (char **__lineptr, size_t *__n, FILE *__stream) >{ > return __getdelim (__lineptr, __n, '\n', __stream); >} > > > > > >extern __inline int >feof_unlocked (FILE *__stream) >{ > return (((__stream)->_flags & 0x10) != 0); >} > > >extern __inline int >ferror_unlocked (FILE *__stream) >{ > return (((__stream)->_flags & 0x20) != 0); >} ># 829 "/usr/include/stdio.h" 2 3 4 ># 31 "common.h" 2 ># 1 "/usr/include/string.h" 1 3 4 ># 28 "/usr/include/string.h" 3 4 > > > > > ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/stddef.h" 1 3 4 ># 34 "/usr/include/string.h" 2 3 4 > > > > >extern void *memcpy (void *__restrict __dest, > __const void *__restrict __src, size_t __n) ; > > >extern void *memmove (void *__dest, __const void *__src, size_t __n) > ; > > > > > > >extern void *memccpy (void *__restrict __dest, __const void *__restrict __src, > int __c, size_t __n) > ; > > > > > >extern void *memset (void *__s, int __c, size_t __n) ; > > >extern int memcmp (__const void *__s1, __const void *__s2, size_t __n) > __attribute__ ((__pure__)); > > >extern void *memchr (__const void *__s, int __c, size_t __n) > __attribute__ ((__pure__)); > > > > > >extern void *rawmemchr (__const void *__s, int __c) __attribute__ ((__pure__)); > > >extern void *memrchr (__const void *__s, int __c, size_t __n) > __attribute__ ((__pure__)); > > > > > >extern char *strcpy (char *__restrict __dest, __const char *__restrict __src) > ; > >extern char *strncpy (char *__restrict __dest, > __const char *__restrict __src, size_t __n) ; > > >extern char *strcat (char *__restrict __dest, __const char *__restrict __src) > ; > >extern char *strncat (char *__restrict __dest, __const char *__restrict __src, > size_t __n) ; > > >extern int strcmp (__const char *__s1, __const char *__s2) > __attribute__ ((__pure__)); > >extern int strncmp (__const char *__s1, __const char *__s2, size_t __n) > __attribute__ ((__pure__)); > > >extern int strcoll (__const char *__s1, __const char *__s2) > __attribute__ ((__pure__)); > >extern size_t strxfrm (char *__restrict __dest, > __const char *__restrict __src, size_t __n) ; ># 117 "/usr/include/string.h" 3 4 >extern int strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l) > __attribute__ ((__pure__)); > >extern size_t strxfrm_l (char *__dest, __const char *__src, size_t __n, > __locale_t __l) ; > > > > >extern char *strdup (__const char *__s) __attribute__ ((__malloc__)); > > > > > > >extern char *strndup (__const char *__string, size_t __n) > __attribute__ ((__malloc__)); ># 160 "/usr/include/string.h" 3 4 > > >extern char *strchr (__const char *__s, int __c) __attribute__ ((__pure__)); > >extern char *strrchr (__const char *__s, int __c) __attribute__ ((__pure__)); > > > > > >extern char *strchrnul (__const char *__s, int __c) __attribute__ ((__pure__)); > > > > > >extern size_t strcspn (__const char *__s, __const char *__reject) > __attribute__ ((__pure__)); > > >extern size_t strspn (__const char *__s, __const char *__accept) > __attribute__ ((__pure__)); > >extern char *strpbrk (__const char *__s, __const char *__accept) > __attribute__ ((__pure__)); > >extern char *strstr (__const char *__haystack, __const char *__needle) > __attribute__ ((__pure__)); > > > >extern char *strtok (char *__restrict __s, __const char *__restrict __delim) > ; > > > > >extern char *__strtok_r (char *__restrict __s, > __const char *__restrict __delim, > char **__restrict __save_ptr) ; > >extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim, > char **__restrict __save_ptr) ; > > > > >extern char *strcasestr (__const char *__haystack, __const char *__needle) > __attribute__ ((__pure__)); > > > > > > >extern void *memmem (__const void *__haystack, size_t __haystacklen, > __const void *__needle, size_t __needlelen) > __attribute__ ((__pure__)); > > > >extern void *__mempcpy (void *__restrict __dest, > __const void *__restrict __src, size_t __n) ; >extern void *mempcpy (void *__restrict __dest, > __const void *__restrict __src, size_t __n) ; > > > > > >extern size_t strlen (__const char *__s) __attribute__ ((__pure__)); > > > > > >extern size_t strnlen (__const char *__string, size_t __maxlen) > __attribute__ ((__pure__)); > > > > > >extern char *strerror (int __errnum) ; ># 268 "/usr/include/string.h" 3 4 >extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) ; > > > > > >extern void __bzero (void *__s, size_t __n) ; > > > >extern void bcopy (__const void *__src, void *__dest, size_t __n) ; > > >extern void bzero (void *__s, size_t __n) ; > > >extern int bcmp (__const void *__s1, __const void *__s2, size_t __n) > __attribute__ ((__pure__)); > > >extern char *index (__const char *__s, int __c) __attribute__ ((__pure__)); > > >extern char *rindex (__const char *__s, int __c) __attribute__ ((__pure__)); > > > >extern int ffs (int __i) __attribute__ ((__const__)); > > > > >extern int ffsl (long int __l) __attribute__ ((__const__)); > >__extension__ extern int ffsll (long long int __ll) > __attribute__ ((__const__)); > > > > >extern int strcasecmp (__const char *__s1, __const char *__s2) > __attribute__ ((__pure__)); > > >extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n) > __attribute__ ((__pure__)); > > > > > >extern int strcasecmp_l (__const char *__s1, __const char *__s2, > __locale_t __loc) __attribute__ ((__pure__)); > >extern int strncasecmp_l (__const char *__s1, __const char *__s2, > size_t __n, __locale_t __loc) > __attribute__ ((__pure__)); > > > > > >extern char *strsep (char **__restrict __stringp, > __const char *__restrict __delim) ; > > > > >extern int strverscmp (__const char *__s1, __const char *__s2) > __attribute__ ((__pure__)); > > >extern char *strsignal (int __sig) ; > > >extern char *__stpcpy (char *__restrict __dest, __const char *__restrict __src) > ; >extern char *stpcpy (char *__restrict __dest, __const char *__restrict __src) > ; > > > >extern char *__stpncpy (char *__restrict __dest, > __const char *__restrict __src, size_t __n) ; >extern char *stpncpy (char *__restrict __dest, > __const char *__restrict __src, size_t __n) ; > > >extern char *strfry (char *__string) ; > > >extern void *memfrob (void *__s, size_t __n) ; > > > > > > >extern char *basename (__const char *__filename) ; ># 393 "/usr/include/string.h" 3 4 ># 1 "/usr/include/bits/string.h" 1 3 4 ># 394 "/usr/include/string.h" 2 3 4 > > ># 1 "/usr/include/bits/string2.h" 1 3 4 ># 394 "/usr/include/bits/string2.h" 3 4 >extern void *__rawmemchr (const void *__s, int __c); ># 969 "/usr/include/bits/string2.h" 3 4 >extern __inline size_t __strcspn_c1 (__const char *__s, int __reject); >extern __inline size_t >__strcspn_c1 (__const char *__s, int __reject) >{ > register size_t __result = 0; > while (__s[__result] != '\0' && __s[__result] != __reject) > ++__result; > return __result; >} > >extern __inline size_t __strcspn_c2 (__const char *__s, int __reject1, > int __reject2); >extern __inline size_t >__strcspn_c2 (__const char *__s, int __reject1, int __reject2) >{ > register size_t __result = 0; > while (__s[__result] != '\0' && __s[__result] != __reject1 > && __s[__result] != __reject2) > ++__result; > return __result; >} > >extern __inline size_t __strcspn_c3 (__const char *__s, int __reject1, > int __reject2, int __reject3); >extern __inline size_t >__strcspn_c3 (__const char *__s, int __reject1, int __reject2, > int __reject3) >{ > register size_t __result = 0; > while (__s[__result] != '\0' && __s[__result] != __reject1 > && __s[__result] != __reject2 && __s[__result] != __reject3) > ++__result; > return __result; >} ># 1045 "/usr/include/bits/string2.h" 3 4 >extern __inline size_t __strspn_c1 (__const char *__s, int __accept); >extern __inline size_t >__strspn_c1 (__const char *__s, int __accept) >{ > register size_t __result = 0; > > while (__s[__result] == __accept) > ++__result; > return __result; >} > >extern __inline size_t __strspn_c2 (__const char *__s, int __accept1, > int __accept2); >extern __inline size_t >__strspn_c2 (__const char *__s, int __accept1, int __accept2) >{ > register size_t __result = 0; > > while (__s[__result] == __accept1 || __s[__result] == __accept2) > ++__result; > return __result; >} > >extern __inline size_t __strspn_c3 (__const char *__s, int __accept1, > int __accept2, int __accept3); >extern __inline size_t >__strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3) >{ > register size_t __result = 0; > > while (__s[__result] == __accept1 || __s[__result] == __accept2 > || __s[__result] == __accept3) > ++__result; > return __result; >} ># 1121 "/usr/include/bits/string2.h" 3 4 >extern __inline char *__strpbrk_c2 (__const char *__s, int __accept1, > int __accept2); >extern __inline char * >__strpbrk_c2 (__const char *__s, int __accept1, int __accept2) >{ > > while (*__s != '\0' && *__s != __accept1 && *__s != __accept2) > ++__s; > return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s; >} > >extern __inline char *__strpbrk_c3 (__const char *__s, int __accept1, > int __accept2, int __accept3); >extern __inline char * >__strpbrk_c3 (__const char *__s, int __accept1, int __accept2, > int __accept3) >{ > > while (*__s != '\0' && *__s != __accept1 && *__s != __accept2 > && *__s != __accept3) > ++__s; > return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s; >} ># 1173 "/usr/include/bits/string2.h" 3 4 >extern __inline char *__strtok_r_1c (char *__s, char __sep, char **__nextp); >extern __inline char * >__strtok_r_1c (char *__s, char __sep, char **__nextp) >{ > char *__result; > if (__s == ((void *)0)) > __s = *__nextp; > while (*__s == __sep) > ++__s; > __result = ((void *)0); > if (*__s != '\0') > { > __result = __s++; > while (*__s != '\0') > if (*__s++ == __sep) > { > __s[-1] = '\0'; > break; > } > *__nextp = __s; > } > return __result; >} ># 1205 "/usr/include/bits/string2.h" 3 4 >extern char *__strsep_g (char **__stringp, __const char *__delim); ># 1223 "/usr/include/bits/string2.h" 3 4 >extern __inline char *__strsep_1c (char **__s, char __reject); >extern __inline char * >__strsep_1c (char **__s, char __reject) >{ > register char *__retval = *__s; > 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)) > *(*__s)++ = '\0'; > return __retval; >} > >extern __inline char *__strsep_2c (char **__s, char __reject1, char __reject2); >extern __inline char * >__strsep_2c (char **__s, char __reject1, char __reject2) >{ > register char *__retval = *__s; > if (__retval != ((void *)0)) > { > register char *__cp = __retval; > while (1) > { > if (*__cp == '\0') > { > __cp = ((void *)0); > break; > } > if (*__cp == __reject1 || *__cp == __reject2) > { > *__cp++ = '\0'; > break; > } > ++__cp; > } > *__s = __cp; > } > return __retval; >} > >extern __inline char *__strsep_3c (char **__s, char __reject1, char __reject2, > char __reject3); >extern __inline char * >__strsep_3c (char **__s, char __reject1, char __reject2, char __reject3) >{ > register char *__retval = *__s; > if (__retval != ((void *)0)) > { > register char *__cp = __retval; > while (1) > { > if (*__cp == '\0') > { > __cp = ((void *)0); > break; > } > if (*__cp == __reject1 || *__cp == __reject2 || *__cp == __reject3) > { > *__cp++ = '\0'; > break; > } > ++__cp; > } > *__s = __cp; > } > return __retval; >} ># 1304 "/usr/include/bits/string2.h" 3 4 >extern char *__strdup (__const char *__string) __attribute__ ((__malloc__)); ># 1323 "/usr/include/bits/string2.h" 3 4 >extern char *__strndup (__const char *__string, size_t __n) > __attribute__ ((__malloc__)); ># 397 "/usr/include/string.h" 2 3 4 ># 32 "common.h" 2 ># 1 "/usr/include/ctype.h" 1 3 4 ># 30 "/usr/include/ctype.h" 3 4 ># 48 "/usr/include/ctype.h" 3 4 >enum >{ > _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)), > _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)), > _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)), > _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)), > _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)), > _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)), > _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)), > _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)), > _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)), > _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)), > _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)), > _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8)) >}; ># 81 "/usr/include/ctype.h" 3 4 >extern __const unsigned short int **__ctype_b_loc (void) > __attribute__ ((__const)); >extern __const __int32_t **__ctype_tolower_loc (void) > __attribute__ ((__const)); >extern __const __int32_t **__ctype_toupper_loc (void) > __attribute__ ((__const)); ># 96 "/usr/include/ctype.h" 3 4 > > > > > > >extern int isalnum (int) ; >extern int isalpha (int) ; >extern int iscntrl (int) ; >extern int isdigit (int) ; >extern int islower (int) ; >extern int isgraph (int) ; >extern int isprint (int) ; >extern int ispunct (int) ; >extern int isspace (int) ; >extern int isupper (int) ; >extern int isxdigit (int) ; > > > >extern int tolower (int __c) ; > > >extern int toupper (int __c) ; ># 128 "/usr/include/ctype.h" 3 4 >extern int isblank (int) ; > > > > > > >extern int isctype (int __c, int __mask) ; > > > > > > >extern int isascii (int __c) ; > > > >extern int toascii (int __c) ; > > > >extern int _toupper (int) ; >extern int _tolower (int) ; ># 190 "/usr/include/ctype.h" 3 4 >extern __inline int >tolower (int __c) >{ > return __c >= -128 && __c < 256 ? (*__ctype_tolower_loc ())[__c] : __c; >} > >extern __inline int >toupper (int __c) >{ > return __c >= -128 && __c < 256 ? (*__ctype_toupper_loc ())[__c] : __c; >} ># 247 "/usr/include/ctype.h" 3 4 >extern int isalnum_l (int, __locale_t) ; >extern int isalpha_l (int, __locale_t) ; >extern int iscntrl_l (int, __locale_t) ; >extern int isdigit_l (int, __locale_t) ; >extern int islower_l (int, __locale_t) ; >extern int isgraph_l (int, __locale_t) ; >extern int isprint_l (int, __locale_t) ; >extern int ispunct_l (int, __locale_t) ; >extern int isspace_l (int, __locale_t) ; >extern int isupper_l (int, __locale_t) ; >extern int isxdigit_l (int, __locale_t) ; > >extern int isblank_l (int, __locale_t) ; > > > >extern int __tolower_l (int __c, __locale_t __l) ; >extern int tolower_l (int __c, __locale_t __l) ; > > >extern int __toupper_l (int __c, __locale_t __l) ; >extern int toupper_l (int __c, __locale_t __l) ; ># 323 "/usr/include/ctype.h" 3 4 ># 33 "common.h" 2 ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/limits.h" 1 3 4 ># 11 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/limits.h" 3 4 ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/syslimits.h" 1 3 4 > > > > > > ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/limits.h" 1 3 4 ># 122 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/limits.h" 3 4 ># 1 "/usr/include/limits.h" 1 3 4 ># 144 "/usr/include/limits.h" 3 4 ># 1 "/usr/include/bits/posix1_lim.h" 1 3 4 ># 145 "/usr/include/bits/posix1_lim.h" 3 4 ># 1 "/usr/include/bits/local_lim.h" 1 3 4 ># 36 "/usr/include/bits/local_lim.h" 3 4 ># 1 "/usr/include/linux/limits.h" 1 3 4 ># 37 "/usr/include/bits/local_lim.h" 2 3 4 ># 146 "/usr/include/bits/posix1_lim.h" 2 3 4 ># 145 "/usr/include/limits.h" 2 3 4 > > > ># 1 "/usr/include/bits/posix2_lim.h" 1 3 4 ># 149 "/usr/include/limits.h" 2 3 4 > > > ># 1 "/usr/include/bits/xopen_lim.h" 1 3 4 ># 34 "/usr/include/bits/xopen_lim.h" 3 4 ># 1 "/usr/include/bits/stdio_lim.h" 1 3 4 ># 35 "/usr/include/bits/xopen_lim.h" 2 3 4 ># 153 "/usr/include/limits.h" 2 3 4 ># 123 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/limits.h" 2 3 4 ># 8 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/syslimits.h" 2 3 4 ># 12 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/limits.h" 2 3 4 ># 34 "common.h" 2 > ># 1 "/usr/include/errno.h" 1 3 4 ># 32 "/usr/include/errno.h" 3 4 > > > > ># 1 "/usr/include/bits/errno.h" 1 3 4 ># 25 "/usr/include/bits/errno.h" 3 4 ># 1 "/usr/include/linux/errno.h" 1 3 4 > > > ># 1 "/usr/include/asm/errno.h" 1 3 4 ># 5 "/usr/include/linux/errno.h" 2 3 4 ># 26 "/usr/include/bits/errno.h" 2 3 4 ># 38 "/usr/include/bits/errno.h" 3 4 >extern int *__errno_location (void) __attribute__ ((__const__)); ># 37 "/usr/include/errno.h" 2 3 4 ># 55 "/usr/include/errno.h" 3 4 >extern char *program_invocation_name, *program_invocation_short_name; ># 69 "/usr/include/errno.h" 3 4 >typedef int error_t; ># 36 "common.h" 2 > > > ># 1 "/usr/include/math.h" 1 3 4 ># 29 "/usr/include/math.h" 3 4 > > > > ># 1 "/usr/include/bits/huge_val.h" 1 3 4 ># 34 "/usr/include/math.h" 2 3 4 > ># 1 "/usr/include/bits/huge_valf.h" 1 3 4 ># 36 "/usr/include/math.h" 2 3 4 ># 1 "/usr/include/bits/huge_vall.h" 1 3 4 ># 37 "/usr/include/math.h" 2 3 4 > > ># 1 "/usr/include/bits/inf.h" 1 3 4 ># 40 "/usr/include/math.h" 2 3 4 > > ># 1 "/usr/include/bits/nan.h" 1 3 4 ># 43 "/usr/include/math.h" 2 3 4 > > > ># 1 "/usr/include/bits/mathdef.h" 1 3 4 ># 29 "/usr/include/bits/mathdef.h" 3 4 >typedef long double float_t; > >typedef long double double_t; ># 47 "/usr/include/math.h" 2 3 4 ># 70 "/usr/include/math.h" 3 4 ># 1 "/usr/include/bits/mathcalls.h" 1 3 4 ># 53 "/usr/include/bits/mathcalls.h" 3 4 > > >extern double acos (double __x) ; extern double __acos (double __x) ; > >extern double asin (double __x) ; extern double __asin (double __x) ; > >extern double atan (double __x) ; extern double __atan (double __x) ; > >extern double atan2 (double __y, double __x) ; extern double __atan2 (double __y, double __x) ; > > >extern double cos (double __x) ; extern double __cos (double __x) ; > >extern double sin (double __x) ; extern double __sin (double __x) ; > >extern double tan (double __x) ; extern double __tan (double __x) ; > > > > >extern double cosh (double __x) ; extern double __cosh (double __x) ; > >extern double sinh (double __x) ; extern double __sinh (double __x) ; > >extern double tanh (double __x) ; extern double __tanh (double __x) ; > > > > >extern void sincos (double __x, double *__sinx, double *__cosx) ; extern void __sincos (double __x, double *__sinx, double *__cosx) ; > > > > > > >extern double acosh (double __x) ; extern double __acosh (double __x) ; > >extern double asinh (double __x) ; extern double __asinh (double __x) ; > >extern double atanh (double __x) ; extern double __atanh (double __x) ; > > > > > > > >extern double exp (double __x) ; extern double __exp (double __x) ; > > >extern double frexp (double __x, int *__exponent) ; extern double __frexp (double __x, int *__exponent) ; > > >extern double ldexp (double __x, int __exponent) ; extern double __ldexp (double __x, int __exponent) ; > > >extern double log (double __x) ; extern double __log (double __x) ; > > >extern double log10 (double __x) ; extern double __log10 (double __x) ; > > >extern double modf (double __x, double *__iptr) ; extern double __modf (double __x, double *__iptr) ; > > > > >extern double exp10 (double __x) ; extern double __exp10 (double __x) ; > >extern double pow10 (double __x) ; extern double __pow10 (double __x) ; > > > > > >extern double expm1 (double __x) ; extern double __expm1 (double __x) ; > > >extern double log1p (double __x) ; extern double __log1p (double __x) ; > > >extern double logb (double __x) ; extern double __logb (double __x) ; > > > > > > >extern double exp2 (double __x) ; extern double __exp2 (double __x) ; > > >extern double log2 (double __x) ; extern double __log2 (double __x) ; ># 154 "/usr/include/bits/mathcalls.h" 3 4 >extern double pow (double __x, double __y) ; extern double __pow (double __x, double __y) ; > > >extern double sqrt (double __x) ; extern double __sqrt (double __x) ; > > > > > >extern double hypot (double __x, double __y) ; extern double __hypot (double __x, double __y) ; > > > > > > >extern double cbrt (double __x) ; extern double __cbrt (double __x) ; ># 179 "/usr/include/bits/mathcalls.h" 3 4 >extern double ceil (double __x) __attribute__ ((__const__)); extern double __ceil (double __x) __attribute__ ((__const__)); > > >extern double fabs (double __x) __attribute__ ((__const__)); extern double __fabs (double __x) __attribute__ ((__const__)); > > >extern double floor (double __x) __attribute__ ((__const__)); extern double __floor (double __x) __attribute__ ((__const__)); > > >extern double fmod (double __x, double __y) ; extern double __fmod (double __x, double __y) ; > > > > >extern int __isinf (double __value) __attribute__ ((__const__)); > > >extern int __finite (double __value) __attribute__ ((__const__)); > > > > > >extern int isinf (double __value) __attribute__ ((__const__)); > > >extern int finite (double __value) __attribute__ ((__const__)); > > >extern double drem (double __x, double __y) ; extern double __drem (double __x, double __y) ; > > > >extern double significand (double __x) ; extern double __significand (double __x) ; > > > > > >extern double copysign (double __x, double __y) __attribute__ ((__const__)); extern double __copysign (double __x, double __y) __attribute__ ((__const__)); > > > > > > >extern double nan (__const char *__tagb) __attribute__ ((__const__)); extern double __nan (__const char *__tagb) __attribute__ ((__const__)); > > > > > >extern int __isnan (double __value) __attribute__ ((__const__)); > > > >extern int isnan (double __value) __attribute__ ((__const__)); > > >extern double j0 (double) ; extern double __j0 (double) ; >extern double j1 (double) ; extern double __j1 (double) ; >extern double jn (int, double) ; extern double __jn (int, double) ; >extern double y0 (double) ; extern double __y0 (double) ; >extern double y1 (double) ; extern double __y1 (double) ; >extern double yn (int, double) ; extern double __yn (int, double) ; > > > > > > >extern double erf (double) ; extern double __erf (double) ; >extern double erfc (double) ; extern double __erfc (double) ; >extern double lgamma (double) ; extern double __lgamma (double) ; > > > > > > >extern double tgamma (double) ; extern double __tgamma (double) ; > > > > > >extern double gamma (double) ; extern double __gamma (double) ; > > > > > > >extern double lgamma_r (double, int *__signgamp) ; extern double __lgamma_r (double, int *__signgamp) ; > > > > > > > >extern double rint (double __x) ; extern double __rint (double __x) ; > > >extern double nextafter (double __x, double __y) __attribute__ ((__const__)); extern double __nextafter (double __x, double __y) __attribute__ ((__const__)); > >extern double nexttoward (double __x, long double __y) __attribute__ ((__const__)); extern double __nexttoward (double __x, long double __y) __attribute__ ((__const__)); > > > >extern double remainder (double __x, double __y) ; extern double __remainder (double __x, double __y) ; > > > >extern double scalbn (double __x, int __n) ; extern double __scalbn (double __x, int __n) ; > > > >extern int ilogb (double __x) ; extern int __ilogb (double __x) ; > > > > >extern double scalbln (double __x, long int __n) ; extern double __scalbln (double __x, long int __n) ; > > > >extern double nearbyint (double __x) ; extern double __nearbyint (double __x) ; > > > >extern double round (double __x) __attribute__ ((__const__)); extern double __round (double __x) __attribute__ ((__const__)); > > > >extern double trunc (double __x) __attribute__ ((__const__)); extern double __trunc (double __x) __attribute__ ((__const__)); > > > > >extern double remquo (double __x, double __y, int *__quo) ; extern double __remquo (double __x, double __y, int *__quo) ; > > > > > > >extern long int lrint (double __x) ; extern long int __lrint (double __x) ; >extern long long int llrint (double __x) ; extern long long int __llrint (double __x) ; > > > >extern long int lround (double __x) ; extern long int __lround (double __x) ; >extern long long int llround (double __x) ; extern long long int __llround (double __x) ; > > > >extern double fdim (double __x, double __y) ; extern double __fdim (double __x, double __y) ; > > >extern double fmax (double __x, double __y) ; extern double __fmax (double __x, double __y) ; > > >extern double fmin (double __x, double __y) ; extern double __fmin (double __x, double __y) ; > > > >extern int __fpclassify (double __value) > __attribute__ ((__const__)); > > >extern int __signbit (double __value) > __attribute__ ((__const__)); > > > >extern double fma (double __x, double __y, double __z) ; extern double __fma (double __x, double __y, double __z) ; > > > > >extern double scalb (double __x, double __n) ; extern double __scalb (double __x, double __n) ; ># 71 "/usr/include/math.h" 2 3 4 ># 93 "/usr/include/math.h" 3 4 ># 1 "/usr/include/bits/mathcalls.h" 1 3 4 ># 53 "/usr/include/bits/mathcalls.h" 3 4 > > >extern float acosf (float __x) ; extern float __acosf (float __x) ; > >extern float asinf (float __x) ; extern float __asinf (float __x) ; > >extern float atanf (float __x) ; extern float __atanf (float __x) ; > >extern float atan2f (float __y, float __x) ; extern float __atan2f (float __y, float __x) ; > > >extern float cosf (float __x) ; extern float __cosf (float __x) ; > >extern float sinf (float __x) ; extern float __sinf (float __x) ; > >extern float tanf (float __x) ; extern float __tanf (float __x) ; > > > > >extern float coshf (float __x) ; extern float __coshf (float __x) ; > >extern float sinhf (float __x) ; extern float __sinhf (float __x) ; > >extern float tanhf (float __x) ; extern float __tanhf (float __x) ; > > > > >extern void sincosf (float __x, float *__sinx, float *__cosx) ; extern void __sincosf (float __x, float *__sinx, float *__cosx) ; > > > > > > >extern float acoshf (float __x) ; extern float __acoshf (float __x) ; > >extern float asinhf (float __x) ; extern float __asinhf (float __x) ; > >extern float atanhf (float __x) ; extern float __atanhf (float __x) ; > > > > > > > >extern float expf (float __x) ; extern float __expf (float __x) ; > > >extern float frexpf (float __x, int *__exponent) ; extern float __frexpf (float __x, int *__exponent) ; > > >extern float ldexpf (float __x, int __exponent) ; extern float __ldexpf (float __x, int __exponent) ; > > >extern float logf (float __x) ; extern float __logf (float __x) ; > > >extern float log10f (float __x) ; extern float __log10f (float __x) ; > > >extern float modff (float __x, float *__iptr) ; extern float __modff (float __x, float *__iptr) ; > > > > >extern float exp10f (float __x) ; extern float __exp10f (float __x) ; > >extern float pow10f (float __x) ; extern float __pow10f (float __x) ; > > > > > >extern float expm1f (float __x) ; extern float __expm1f (float __x) ; > > >extern float log1pf (float __x) ; extern float __log1pf (float __x) ; > > >extern float logbf (float __x) ; extern float __logbf (float __x) ; > > > > > > >extern float exp2f (float __x) ; extern float __exp2f (float __x) ; > > >extern float log2f (float __x) ; extern float __log2f (float __x) ; ># 154 "/usr/include/bits/mathcalls.h" 3 4 >extern float powf (float __x, float __y) ; extern float __powf (float __x, float __y) ; > > >extern float sqrtf (float __x) ; extern float __sqrtf (float __x) ; > > > > > >extern float hypotf (float __x, float __y) ; extern float __hypotf (float __x, float __y) ; > > > > > > >extern float cbrtf (float __x) ; extern float __cbrtf (float __x) ; ># 179 "/usr/include/bits/mathcalls.h" 3 4 >extern float ceilf (float __x) __attribute__ ((__const__)); extern float __ceilf (float __x) __attribute__ ((__const__)); > > >extern float fabsf (float __x) __attribute__ ((__const__)); extern float __fabsf (float __x) __attribute__ ((__const__)); > > >extern float floorf (float __x) __attribute__ ((__const__)); extern float __floorf (float __x) __attribute__ ((__const__)); > > >extern float fmodf (float __x, float __y) ; extern float __fmodf (float __x, float __y) ; > > > > >extern int __isinff (float __value) __attribute__ ((__const__)); > > >extern int __finitef (float __value) __attribute__ ((__const__)); > > > > > >extern int isinff (float __value) __attribute__ ((__const__)); > > >extern int finitef (float __value) __attribute__ ((__const__)); > > >extern float dremf (float __x, float __y) ; extern float __dremf (float __x, float __y) ; > > > >extern float significandf (float __x) ; extern float __significandf (float __x) ; > > > > > >extern float copysignf (float __x, float __y) __attribute__ ((__const__)); extern float __copysignf (float __x, float __y) __attribute__ ((__const__)); > > > > > > >extern float nanf (__const char *__tagb) __attribute__ ((__const__)); extern float __nanf (__const char *__tagb) __attribute__ ((__const__)); > > > > > >extern int __isnanf (float __value) __attribute__ ((__const__)); > > > >extern int isnanf (float __value) __attribute__ ((__const__)); > > >extern float j0f (float) ; extern float __j0f (float) ; >extern float j1f (float) ; extern float __j1f (float) ; >extern float jnf (int, float) ; extern float __jnf (int, float) ; >extern float y0f (float) ; extern float __y0f (float) ; >extern float y1f (float) ; extern float __y1f (float) ; >extern float ynf (int, float) ; extern float __ynf (int, float) ; > > > > > > >extern float erff (float) ; extern float __erff (float) ; >extern float erfcf (float) ; extern float __erfcf (float) ; >extern float lgammaf (float) ; extern float __lgammaf (float) ; > > > > > > >extern float tgammaf (float) ; extern float __tgammaf (float) ; > > > > > >extern float gammaf (float) ; extern float __gammaf (float) ; > > > > > > >extern float lgammaf_r (float, int *__signgamp) ; extern float __lgammaf_r (float, int *__signgamp) ; > > > > > > > >extern float rintf (float __x) ; extern float __rintf (float __x) ; > > >extern float nextafterf (float __x, float __y) __attribute__ ((__const__)); extern float __nextafterf (float __x, float __y) __attribute__ ((__const__)); > >extern float nexttowardf (float __x, long double __y) __attribute__ ((__const__)); extern float __nexttowardf (float __x, long double __y) __attribute__ ((__const__)); > > > >extern float remainderf (float __x, float __y) ; extern float __remainderf (float __x, float __y) ; > > > >extern float scalbnf (float __x, int __n) ; extern float __scalbnf (float __x, int __n) ; > > > >extern int ilogbf (float __x) ; extern int __ilogbf (float __x) ; > > > > >extern float scalblnf (float __x, long int __n) ; extern float __scalblnf (float __x, long int __n) ; > > > >extern float nearbyintf (float __x) ; extern float __nearbyintf (float __x) ; > > > >extern float roundf (float __x) __attribute__ ((__const__)); extern float __roundf (float __x) __attribute__ ((__const__)); > > > >extern float truncf (float __x) __attribute__ ((__const__)); extern float __truncf (float __x) __attribute__ ((__const__)); > > > > >extern float remquof (float __x, float __y, int *__quo) ; extern float __remquof (float __x, float __y, int *__quo) ; > > > > > > >extern long int lrintf (float __x) ; extern long int __lrintf (float __x) ; >extern long long int llrintf (float __x) ; extern long long int __llrintf (float __x) ; > > > >extern long int lroundf (float __x) ; extern long int __lroundf (float __x) ; >extern long long int llroundf (float __x) ; extern long long int __llroundf (float __x) ; > > > >extern float fdimf (float __x, float __y) ; extern float __fdimf (float __x, float __y) ; > > >extern float fmaxf (float __x, float __y) ; extern float __fmaxf (float __x, float __y) ; > > >extern float fminf (float __x, float __y) ; extern float __fminf (float __x, float __y) ; > > > >extern int __fpclassifyf (float __value) > __attribute__ ((__const__)); > > >extern int __signbitf (float __value) > __attribute__ ((__const__)); > > > >extern float fmaf (float __x, float __y, float __z) ; extern float __fmaf (float __x, float __y, float __z) ; > > > > >extern float scalbf (float __x, float __n) ; extern float __scalbf (float __x, float __n) ; ># 94 "/usr/include/math.h" 2 3 4 ># 114 "/usr/include/math.h" 3 4 ># 1 "/usr/include/bits/mathcalls.h" 1 3 4 ># 53 "/usr/include/bits/mathcalls.h" 3 4 > > >extern long double acosl (long double __x) ; extern long double __acosl (long double __x) ; > >extern long double asinl (long double __x) ; extern long double __asinl (long double __x) ; > >extern long double atanl (long double __x) ; extern long double __atanl (long double __x) ; > >extern long double atan2l (long double __y, long double __x) ; extern long double __atan2l (long double __y, long double __x) ; > > >extern long double cosl (long double __x) ; extern long double __cosl (long double __x) ; > >extern long double sinl (long double __x) ; extern long double __sinl (long double __x) ; > >extern long double tanl (long double __x) ; extern long double __tanl (long double __x) ; > > > > >extern long double coshl (long double __x) ; extern long double __coshl (long double __x) ; > >extern long double sinhl (long double __x) ; extern long double __sinhl (long double __x) ; > >extern long double tanhl (long double __x) ; extern long double __tanhl (long double __x) ; > > > > >extern void sincosl (long double __x, long double *__sinx, long double *__cosx) ; extern void __sincosl (long double __x, long double *__sinx, long double *__cosx) ; > > > > > > >extern long double acoshl (long double __x) ; extern long double __acoshl (long double __x) ; > >extern long double asinhl (long double __x) ; extern long double __asinhl (long double __x) ; > >extern long double atanhl (long double __x) ; extern long double __atanhl (long double __x) ; > > > > > > > >extern long double expl (long double __x) ; extern long double __expl (long double __x) ; > > >extern long double frexpl (long double __x, int *__exponent) ; extern long double __frexpl (long double __x, int *__exponent) ; > > >extern long double ldexpl (long double __x, int __exponent) ; extern long double __ldexpl (long double __x, int __exponent) ; > > >extern long double logl (long double __x) ; extern long double __logl (long double __x) ; > > >extern long double log10l (long double __x) ; extern long double __log10l (long double __x) ; > > >extern long double modfl (long double __x, long double *__iptr) ; extern long double __modfl (long double __x, long double *__iptr) ; > > > > >extern long double exp10l (long double __x) ; extern long double __exp10l (long double __x) ; > >extern long double pow10l (long double __x) ; extern long double __pow10l (long double __x) ; > > > > > >extern long double expm1l (long double __x) ; extern long double __expm1l (long double __x) ; > > >extern long double log1pl (long double __x) ; extern long double __log1pl (long double __x) ; > > >extern long double logbl (long double __x) ; extern long double __logbl (long double __x) ; > > > > > > >extern long double exp2l (long double __x) ; extern long double __exp2l (long double __x) ; > > >extern long double log2l (long double __x) ; extern long double __log2l (long double __x) ; ># 154 "/usr/include/bits/mathcalls.h" 3 4 >extern long double powl (long double __x, long double __y) ; extern long double __powl (long double __x, long double __y) ; > > >extern long double sqrtl (long double __x) ; extern long double __sqrtl (long double __x) ; > > > > > >extern long double hypotl (long double __x, long double __y) ; extern long double __hypotl (long double __x, long double __y) ; > > > > > > >extern long double cbrtl (long double __x) ; extern long double __cbrtl (long double __x) ; ># 179 "/usr/include/bits/mathcalls.h" 3 4 >extern long double ceill (long double __x) __attribute__ ((__const__)); extern long double __ceill (long double __x) __attribute__ ((__const__)); > > >extern long double fabsl (long double __x) __attribute__ ((__const__)); extern long double __fabsl (long double __x) __attribute__ ((__const__)); > > >extern long double floorl (long double __x) __attribute__ ((__const__)); extern long double __floorl (long double __x) __attribute__ ((__const__)); > > >extern long double fmodl (long double __x, long double __y) ; extern long double __fmodl (long double __x, long double __y) ; > > > > >extern int __isinfl (long double __value) __attribute__ ((__const__)); > > >extern int __finitel (long double __value) __attribute__ ((__const__)); > > > > > >extern int isinfl (long double __value) __attribute__ ((__const__)); > > >extern int finitel (long double __value) __attribute__ ((__const__)); > > >extern long double dreml (long double __x, long double __y) ; extern long double __dreml (long double __x, long double __y) ; > > > >extern long double significandl (long double __x) ; extern long double __significandl (long double __x) ; > > > > > >extern long double copysignl (long double __x, long double __y) __attribute__ ((__const__)); extern long double __copysignl (long double __x, long double __y) __attribute__ ((__const__)); > > > > > > >extern long double nanl (__const char *__tagb) __attribute__ ((__const__)); extern long double __nanl (__const char *__tagb) __attribute__ ((__const__)); > > > > > >extern int __isnanl (long double __value) __attribute__ ((__const__)); > > > >extern int isnanl (long double __value) __attribute__ ((__const__)); > > >extern long double j0l (long double) ; extern long double __j0l (long double) ; >extern long double j1l (long double) ; extern long double __j1l (long double) ; >extern long double jnl (int, long double) ; extern long double __jnl (int, long double) ; >extern long double y0l (long double) ; extern long double __y0l (long double) ; >extern long double y1l (long double) ; extern long double __y1l (long double) ; >extern long double ynl (int, long double) ; extern long double __ynl (int, long double) ; > > > > > > >extern long double erfl (long double) ; extern long double __erfl (long double) ; >extern long double erfcl (long double) ; extern long double __erfcl (long double) ; >extern long double lgammal (long double) ; extern long double __lgammal (long double) ; > > > > > > >extern long double tgammal (long double) ; extern long double __tgammal (long double) ; > > > > > >extern long double gammal (long double) ; extern long double __gammal (long double) ; > > > > > > >extern long double lgammal_r (long double, int *__signgamp) ; extern long double __lgammal_r (long double, int *__signgamp) ; > > > > > > > >extern long double rintl (long double __x) ; extern long double __rintl (long double __x) ; > > >extern long double nextafterl (long double __x, long double __y) __attribute__ ((__const__)); extern long double __nextafterl (long double __x, long double __y) __attribute__ ((__const__)); > >extern long double nexttowardl (long double __x, long double __y) __attribute__ ((__const__)); extern long double __nexttowardl (long double __x, long double __y) __attribute__ ((__const__)); > > > >extern long double remainderl (long double __x, long double __y) ; extern long double __remainderl (long double __x, long double __y) ; > > > >extern long double scalbnl (long double __x, int __n) ; extern long double __scalbnl (long double __x, int __n) ; > > > >extern int ilogbl (long double __x) ; extern int __ilogbl (long double __x) ; > > > > >extern long double scalblnl (long double __x, long int __n) ; extern long double __scalblnl (long double __x, long int __n) ; > > > >extern long double nearbyintl (long double __x) ; extern long double __nearbyintl (long double __x) ; > > > >extern long double roundl (long double __x) __attribute__ ((__const__)); extern long double __roundl (long double __x) __attribute__ ((__const__)); > > > >extern long double truncl (long double __x) __attribute__ ((__const__)); extern long double __truncl (long double __x) __attribute__ ((__const__)); > > > > >extern long double remquol (long double __x, long double __y, int *__quo) ; extern long double __remquol (long double __x, long double __y, int *__quo) ; > > > > > > >extern long int lrintl (long double __x) ; extern long int __lrintl (long double __x) ; >extern long long int llrintl (long double __x) ; extern long long int __llrintl (long double __x) ; > > > >extern long int lroundl (long double __x) ; extern long int __lroundl (long double __x) ; >extern long long int llroundl (long double __x) ; extern long long int __llroundl (long double __x) ; > > > >extern long double fdiml (long double __x, long double __y) ; extern long double __fdiml (long double __x, long double __y) ; > > >extern long double fmaxl (long double __x, long double __y) ; extern long double __fmaxl (long double __x, long double __y) ; > > >extern long double fminl (long double __x, long double __y) ; extern long double __fminl (long double __x, long double __y) ; > > > >extern int __fpclassifyl (long double __value) > __attribute__ ((__const__)); > > >extern int __signbitl (long double __value) > __attribute__ ((__const__)); > > > >extern long double fmal (long double __x, long double __y, long double __z) ; extern long double __fmal (long double __x, long double __y, long double __z) ; > > > > >extern long double scalbl (long double __x, long double __n) ; extern long double __scalbl (long double __x, long double __n) ; ># 115 "/usr/include/math.h" 2 3 4 ># 130 "/usr/include/math.h" 3 4 >extern int signgam; ># 171 "/usr/include/math.h" 3 4 >enum > { > FP_NAN, > > FP_INFINITE, > > FP_ZERO, > > FP_SUBNORMAL, > > FP_NORMAL > > }; ># 257 "/usr/include/math.h" 3 4 >typedef enum >{ > _IEEE_ = -1, > _SVID_, > _XOPEN_, > _POSIX_, > _ISOC_ >} _LIB_VERSION_TYPE; > > > > >extern _LIB_VERSION_TYPE _LIB_VERSION; ># 282 "/usr/include/math.h" 3 4 >struct exception > > { > int type; > char *name; > double arg1; > double arg2; > double retval; > }; > > > > >extern int matherr (struct exception *__exc); ># 382 "/usr/include/math.h" 3 4 ># 1 "/usr/include/bits/mathinline.h" 1 3 4 ># 127 "/usr/include/bits/mathinline.h" 3 4 >extern __inline int >__signbitf (float __x) >{ > __extension__ union { float __f; int __i; } __u = { __f: __x }; > return __u.__i < 0; >} >extern __inline int >__signbit (double __x) >{ > __extension__ union { double __d; int __i[2]; } __u = { __d: __x }; > return __u.__i[1] < 0; >} >extern __inline int >__signbitl (long double __x) >{ > __extension__ union { long double __l; int __i[3]; } __u = { __l: __x }; > return (__u.__i[2] & 0x8000) != 0; >} ># 291 "/usr/include/bits/mathinline.h" 3 4 >extern __inline double __sgn (double) ; extern __inline double __sgn (double __x) { return __x == 0.0 ? 0.0 : (__x > 0.0 ? 1.0 : -1.0); } extern __inline float __sgnf (float) ; extern __inline float __sgnf (float __x) { return __x == 0.0 ? 0.0 : (__x > 0.0 ? 1.0 : -1.0); } extern __inline long double __sgnl (long double) ; extern __inline long double __sgnl (long double __x) { return __x == 0.0 ? 0.0 : (__x > 0.0 ? 1.0 : -1.0); } ># 445 "/usr/include/bits/mathinline.h" 3 4 >extern __inline long double __atan2l (long double __y, long double __x) { register long double __value; __asm __volatile__ ("fpatan" : "=t" (__value) : "0" (__x), "u" (__y) : "st(1)"); return __value; } ># 473 "/usr/include/bits/mathinline.h" 3 4 >extern __inline double fabs (double __x) { return __builtin_fabs (__x); } > >extern __inline float fabsf (float __x) { return __builtin_fabsf (__x); } >extern __inline long double fabsl (long double __x) { return __builtin_fabsl (__x); } > >extern __inline long double __fabsl (long double __x) { return __builtin_fabsl (__x); } ># 506 "/usr/include/bits/mathinline.h" 3 4 >extern __inline long double __sgn1l (long double) ; extern __inline long double __sgn1l (long double __x) { __extension__ union { long double __xld; unsigned int __xi[3]; } __n = { __xld: __x }; __n.__xi[2] = (__n.__xi[2] & 0x8000) | 0x3fff; __n.__xi[1] = 0x80000000; __n.__xi[0] = 0; return __n.__xld; } ># 530 "/usr/include/bits/mathinline.h" 3 4 >extern __inline double floor (double __x) { register long double __value; __volatile unsigned short int __cw; __volatile unsigned short int __cwtmp; __asm __volatile ("fnstcw %0" : "=m" (__cw)); __cwtmp = (__cw & 0xf3ff) | 0x0400; __asm __volatile ("fldcw %0" : : "m" (__cwtmp)); __asm __volatile ("frndint" : "=t" (__value) : "0" (__x)); __asm __volatile ("fldcw %0" : : "m" (__cw)); return __value; } extern __inline float floorf (float __x) { register long double __value; __volatile unsigned short int __cw; __volatile unsigned short int __cwtmp; __asm __volatile ("fnstcw %0" : "=m" (__cw)); __cwtmp = (__cw & 0xf3ff) | 0x0400; __asm __volatile ("fldcw %0" : : "m" (__cwtmp)); __asm __volatile ("frndint" : "=t" (__value) : "0" (__x)); __asm __volatile ("fldcw %0" : : "m" (__cw)); return __value; } extern __inline long double floorl (long double __x) { register long double __value; __volatile unsigned short int __cw; __volatile unsigned short int __cwtmp; __asm __volatile ("fnstcw %0" : "=m" (__cw)); __cwtmp = (__cw & 0xf3ff) | 0x0400; __asm __volatile ("fldcw %0" : : "m" (__cwtmp)); __asm __volatile ("frndint" : "=t" (__value) : "0" (__x)); __asm __volatile ("fldcw %0" : : "m" (__cw)); return __value; } ># 541 "/usr/include/bits/mathinline.h" 3 4 >extern __inline double ceil (double __x) { register long double __value; __volatile unsigned short int __cw; __volatile unsigned short int __cwtmp; __asm __volatile ("fnstcw %0" : "=m" (__cw)); __cwtmp = (__cw & 0xf3ff) | 0x0800; __asm __volatile ("fldcw %0" : : "m" (__cwtmp)); __asm __volatile ("frndint" : "=t" (__value) : "0" (__x)); __asm __volatile ("fldcw %0" : : "m" (__cw)); return __value; } extern __inline float ceilf (float __x) { register long double __value; __volatile unsigned short int __cw; __volatile unsigned short int __cwtmp; __asm __volatile ("fnstcw %0" : "=m" (__cw)); __cwtmp = (__cw & 0xf3ff) | 0x0800; __asm __volatile ("fldcw %0" : : "m" (__cwtmp)); __asm __volatile ("frndint" : "=t" (__value) : "0" (__x)); __asm __volatile ("fldcw %0" : : "m" (__cw)); return __value; } extern __inline long double ceill (long double __x) { register long double __value; __volatile unsigned short int __cw; __volatile unsigned short int __cwtmp; __asm __volatile ("fnstcw %0" : "=m" (__cw)); __cwtmp = (__cw & 0xf3ff) | 0x0800; __asm __volatile ("fldcw %0" : : "m" (__cwtmp)); __asm __volatile ("frndint" : "=t" (__value) : "0" (__x)); __asm __volatile ("fldcw %0" : : "m" (__cw)); return __value; } ># 653 "/usr/include/bits/mathinline.h" 3 4 >extern __inline long int >lrintf (float __x) >{ > long int __lrintres; __asm__ __volatile__ ("fistpl %0" : "=m" (__lrintres) : "t" (__x) : "st"); return __lrintres; >} >extern __inline long int >lrint (double __x) >{ > long int __lrintres; __asm__ __volatile__ ("fistpl %0" : "=m" (__lrintres) : "t" (__x) : "st"); return __lrintres; >} >extern __inline long int >lrintl (long double __x) >{ > long int __lrintres; __asm__ __volatile__ ("fistpl %0" : "=m" (__lrintres) : "t" (__x) : "st"); return __lrintres; >} ># 676 "/usr/include/bits/mathinline.h" 3 4 >extern __inline long long int >llrintf (float __x) >{ > long long int __llrintres; __asm__ __volatile__ ("fistpll %0" : "=m" (__llrintres) : "t" (__x) : "st"); return __llrintres; >} >extern __inline long long int >llrint (double __x) >{ > long long int __llrintres; __asm__ __volatile__ ("fistpll %0" : "=m" (__llrintres) : "t" (__x) : "st"); return __llrintres; >} >extern __inline long long int >llrintl (long double __x) >{ > long long int __llrintres; __asm__ __volatile__ ("fistpll %0" : "=m" (__llrintres) : "t" (__x) : "st"); return __llrintres; >} ># 713 "/usr/include/bits/mathinline.h" 3 4 >extern __inline int >__finite (double __x) >{ > return (__extension__ > (((((union { double __d; int __i[2]; }) {__d: __x}).__i[1] > | 0x800fffffu) + 1) >> 31)); >} ># 383 "/usr/include/math.h" 2 3 4 ># 438 "/usr/include/math.h" 3 4 ># 40 "common.h" 2 > > > > > ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/stddef.h" 1 3 4 ># 151 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/stddef.h" 3 4 >typedef int ptrdiff_t; ># 46 "common.h" 2 ># 65 "common.h" >struct AVOption; > >extern const struct AVOption avoptions_common[3 + 5]; > > > >extern const struct AVOption avoptions_workaround_bug[11]; ># 97 "common.h" ># 1 "/usr/include/inttypes.h" 1 3 4 ># 28 "/usr/include/inttypes.h" 3 4 ># 1 "/usr/include/stdint.h" 1 3 4 ># 28 "/usr/include/stdint.h" 3 4 ># 1 "/usr/include/bits/wordsize.h" 1 3 4 ># 29 "/usr/include/stdint.h" 2 3 4 ># 49 "/usr/include/stdint.h" 3 4 >typedef unsigned char uint8_t; >typedef unsigned short int uint16_t; > >typedef unsigned int uint32_t; > > > > > >__extension__ >typedef unsigned long long int uint64_t; > > > > > > >typedef signed char int_least8_t; >typedef short int int_least16_t; >typedef int int_least32_t; > > > >__extension__ >typedef long long int int_least64_t; > > > >typedef unsigned char uint_least8_t; >typedef unsigned short int uint_least16_t; >typedef unsigned int uint_least32_t; > > > >__extension__ >typedef unsigned long long int uint_least64_t; > > > > > > >typedef signed char int_fast8_t; > > > > > >typedef int int_fast16_t; >typedef int int_fast32_t; >__extension__ >typedef long long int int_fast64_t; > > > >typedef unsigned char uint_fast8_t; > > > > > >typedef unsigned int uint_fast16_t; >typedef unsigned int uint_fast32_t; >__extension__ >typedef unsigned long long int uint_fast64_t; ># 126 "/usr/include/stdint.h" 3 4 >typedef int intptr_t; > > >typedef unsigned int uintptr_t; ># 138 "/usr/include/stdint.h" 3 4 >__extension__ >typedef long long int intmax_t; >__extension__ >typedef unsigned long long int uintmax_t; ># 29 "/usr/include/inttypes.h" 2 3 4 > > > > > > >typedef long int __gwchar_t; ># 274 "/usr/include/inttypes.h" 3 4 ># 288 "/usr/include/inttypes.h" 3 4 >typedef struct > { > long long int quot; > long long int rem; > } imaxdiv_t; > > > > > >extern intmax_t imaxabs (intmax_t __n) __attribute__ ((__const__)); > > >extern imaxdiv_t imaxdiv (intmax_t __numer, intmax_t __denom) > __attribute__ ((__const__)); > > >extern intmax_t strtoimax (__const char *__restrict __nptr, > char **__restrict __endptr, int __base) ; > > >extern uintmax_t strtoumax (__const char *__restrict __nptr, > char ** __restrict __endptr, int __base) ; > > >extern intmax_t wcstoimax (__const __gwchar_t *__restrict __nptr, > __gwchar_t **__restrict __endptr, int __base) > ; > > >extern uintmax_t wcstoumax (__const __gwchar_t *__restrict __nptr, > __gwchar_t ** __restrict __endptr, int __base) > ; ># 396 "/usr/include/inttypes.h" 3 4 >extern __inline intmax_t >strtoimax (__const char *__restrict nptr, char **__restrict endptr, > int base) >{ > return __strtoll_internal (nptr, endptr, base, 0); >} ># 414 "/usr/include/inttypes.h" 3 4 >extern __inline uintmax_t >strtoumax (__const char *__restrict nptr, char **__restrict endptr, > int base) >{ > return __strtoull_internal (nptr, endptr, base, 0); >} > > > >__extension__ >extern long long int __wcstoll_internal (__const __gwchar_t * > __restrict __nptr, > __gwchar_t **__restrict __endptr, > int __base, int __group) ; > > >extern __inline intmax_t >wcstoimax (__const __gwchar_t *__restrict nptr, __gwchar_t **__restrict endptr, > int base) >{ > return __wcstoll_internal (nptr, endptr, base, 0); >} > > > > >__extension__ >extern unsigned long long int __wcstoull_internal (__const __gwchar_t * > __restrict __nptr, > __gwchar_t ** > __restrict __endptr, > int __base, > int __group) ; > > >extern __inline uintmax_t >wcstoumax (__const __gwchar_t *__restrict nptr, __gwchar_t **__restrict endptr, > int base) >{ > return __wcstoull_internal (nptr, endptr, base, 0); >} ># 98 "common.h" 2 ># 213 "common.h" ># 1 "bswap.h" 1 ># 14 "bswap.h" >static inline unsigned short ByteSwap16(unsigned short x) >{ > __asm("xchgb %b0,%h0" : > "=q" (x) : > "0" (x)); > return x; >} > > >static inline unsigned int ByteSwap32(unsigned int x) >{ > > > > > __asm("xchgb %b0,%h0\n" > " rorl $16,%0\n" > " xchgb %b0,%h0": > "=q" (x) : > > "0" (x)); > return x; >} > > >static inline unsigned long long int ByteSwap64(unsigned long long int x) >{ > register union { __extension__ uint64_t __ll; > uint32_t __l[2]; } __x; > asm("xchgl %0,%1": > "=r"(__x.__l[0]),"=r"(__x.__l[1]): > "0"(ByteSwap32((unsigned long)x)),"1"(ByteSwap32((unsigned long)(x>>32)))); > return __x.__ll; >} ># 214 "common.h" 2 ># 227 "common.h" ># 1 "/usr/include/assert.h" 1 3 4 ># 228 "common.h" 2 ># 255 "common.h" >extern const uint32_t inverse[256]; ># 276 "common.h" >static inline int32_t NEG_SSR32( int32_t a, int8_t s){ > asm ("sarl %1, %0\n\t" > : "+r" (a) > : "ic" ((uint8_t)(-s)) > ); > return a; >} >static inline uint32_t NEG_USR32(uint32_t a, int8_t s){ > asm ("shrl %1, %0\n\t" > : "+r" (a) > : "ic" ((uint8_t)(-s)) > ); > return a; >} ># 298 "common.h" >typedef struct PutBitContext { > > > > > uint32_t bit_buf; > int bit_left; > uint8_t *buf, *buf_ptr, *buf_end; > >} PutBitContext; > >static inline void init_put_bits(PutBitContext *s, uint8_t *buffer, int buffer_size) >{ > s->buf = buffer; > s->buf_end = s->buf + buffer_size; > > > > > > s->buf_ptr = s->buf; > s->bit_left=32; > s->bit_buf=0; > >} > > >static inline int put_bits_count(PutBitContext *s) >{ > > > > return (s->buf_ptr - s->buf) * 8 + 32 - s->bit_left; > >} > > >static inline void flush_put_bits(PutBitContext *s) >{ > > > > s->bit_buf<<= s->bit_left; > while (s->bit_left < 32) { > > *s->buf_ptr++=s->bit_buf >> 24; > s->bit_buf<<=8; > s->bit_left+=8; > } > s->bit_left=32; > s->bit_buf=0; > >} > >void align_put_bits(PutBitContext *s); >void put_string(PutBitContext * pbc, char *s, int put_zero); > > > >typedef struct GetBitContext { > const uint8_t *buffer, *buffer_end; > > int index; ># 371 "common.h" > int size_in_bits; >} GetBitContext; > > > >typedef struct VLC { > int bits; > int16_t (*table)[2]; > int table_size, table_allocated; >} VLC; > >typedef struct RL_VLC_ELEM { > int16_t level; > int8_t len; > uint8_t run; >} RL_VLC_ELEM; ># 416 "common.h" >static inline void put_bits(PutBitContext *s, int n, unsigned int value) >{ > unsigned int bit_buf; > int bit_left; > > > > > > ((void) (0)); > > bit_buf = s->bit_buf; > bit_left = s->bit_left; > > > > if (n < bit_left) { > bit_buf = (bit_buf<<n) | value; > bit_left-=n; > } else { > bit_buf<<=bit_left; > bit_buf |= value >> (n - bit_left); ># 446 "common.h" > *(uint32_t *)s->buf_ptr = ByteSwap32(bit_buf); > > s->buf_ptr+=4; > bit_left+=32 - n; > bit_buf = value; > } > > s->bit_buf = bit_buf; > s->bit_left = bit_left; >} ># 526 "common.h" >static inline uint8_t* pbBufPtr(PutBitContext *s) >{ > > > > return s->buf_ptr; > >} > > > > > >static inline void skip_put_bytes(PutBitContext *s, int n){ > ((void) (0)); > > > > > ((void) (0)); > s->buf_ptr += n; > >} > > > > >static inline void set_put_bits_buffer_size(PutBitContext *s, int size){ > s->buf_end= s->buf + size; >} ># 602 "common.h" >static inline int unaligned32_be(const void *v) >{ > > > > > return ByteSwap32((*(uint32_t*)(v))); > >} ># 650 "common.h" >static inline int get_bits_count(GetBitContext *s){ > return s->index; >} ># 789 "common.h" >static inline int get_xbits(GetBitContext *s, int n){ > register int tmp; > register int32_t cache; > int re_index= (s)->index; int re_cache= 0; > re_cache= unaligned32_be( ((uint8_t *)(s)->buffer)+(re_index>>3) ) << (re_index&0x07); > cache = ((uint32_t)re_cache); > if ((int32_t)cache<0) { > tmp = NEG_USR32(cache,n); > } else { > > > tmp = - NEG_USR32(~cache,n); > } > re_index += (n); > (s)->index= re_index; > return tmp; >} > >static inline int get_sbits(GetBitContext *s, int n){ > register int tmp; > int re_index= (s)->index; int re_cache= 0; > re_cache= unaligned32_be( ((uint8_t *)(s)->buffer)+(re_index>>3) ) << (re_index&0x07); > tmp= NEG_SSR32(re_cache, n); > re_index += (n); > (s)->index= re_index; > return tmp; >} > > > > > >static inline unsigned int get_bits(GetBitContext *s, int n){ > register int tmp; > int re_index= (s)->index; int re_cache= 0; > re_cache= unaligned32_be( ((uint8_t *)(s)->buffer)+(re_index>>3) ) << (re_index&0x07); > tmp= NEG_USR32(re_cache, n); > re_index += (n); > (s)->index= re_index; > return tmp; >} > >unsigned int get_bits_long(GetBitContext *s, int n); > > > > > >static inline unsigned int show_bits(GetBitContext *s, int n){ > register int tmp; > int re_index= (s)->index; int re_cache= 0; > re_cache= unaligned32_be( ((uint8_t *)(s)->buffer)+(re_index>>3) ) << (re_index&0x07); > tmp= NEG_USR32(re_cache, n); > > return tmp; >} > >unsigned int show_bits_long(GetBitContext *s, int n); > >static inline void skip_bits(GetBitContext *s, int n){ > > int re_index= (s)->index; int re_cache= 0; > re_cache= unaligned32_be( ((uint8_t *)(s)->buffer)+(re_index>>3) ) << (re_index&0x07); > re_index += (n); > (s)->index= re_index; >} > >static inline unsigned int get_bits1(GetBitContext *s){ > > int index= s->index; > uint8_t result= s->buffer[ index>>3 ]; > result<<= (index&0x07); > result>>= 8 - 1; > index++; > s->index= index; > > return result; > > > >} > >static inline unsigned int show_bits1(GetBitContext *s){ > return show_bits(s, 1); >} > >static inline void skip_bits1(GetBitContext *s){ > skip_bits(s, 1); >} > > > > > > > >static inline void init_get_bits(GetBitContext *s, > const uint8_t *buffer, int bit_size) >{ > const int buffer_size= (bit_size+7)>>3; > > s->buffer= buffer; > s->size_in_bits= bit_size; > s->buffer_end= buffer + buffer_size; > > s->index=0; ># 915 "common.h" > { > int re_index= (s)->index; int re_cache= 0; > re_cache= unaligned32_be( ((uint8_t *)(s)->buffer)+(re_index>>3) ) << (re_index&0x07); > re_cache= unaligned32_be( ((uint8_t *)(s)->buffer)+(re_index>>3) ) << (re_index&0x07); > (s)->index= re_index; > } > > > >} > >int check_marker(GetBitContext *s, const char *msg); >void align_get_bits(GetBitContext *s); >int init_vlc(VLC *vlc, int nb_bits, int nb_codes, > const void *bits, int bits_wrap, int bits_size, > const void *codes, int codes_wrap, int codes_size); >void free_vlc(VLC *vlc); ># 993 "common.h" >static inline int get_vlc(GetBitContext *s, VLC *vlc) >{ > int code; > int16_t (*table)[2]= vlc->table; > > int re_index= (s)->index; int re_cache= 0; > re_cache= unaligned32_be( ((uint8_t *)(s)->buffer)+(re_index>>3) ) << (re_index&0x07); > > { int n, index, nb_bits; index= NEG_USR32(re_cache, vlc->bits); code = table[index][0]; n = table[index][1]; if(3 > 1 && n < 0){ re_index += (vlc->bits); re_cache= unaligned32_be( ((uint8_t *)(s)->buffer)+(re_index>>3) ) << (re_index&0x07); nb_bits = -n; index= NEG_USR32(re_cache, nb_bits) + code; code = table[index][0]; n = table[index][1]; if(3 > 2 && n < 0){ re_index += (nb_bits); re_cache= unaligned32_be( ((uint8_t *)(s)->buffer)+(re_index>>3) ) << (re_index&0x07); nb_bits = -n; index= NEG_USR32(re_cache, nb_bits) + code; code = table[index][0]; n = table[index][1]; } } { re_cache <<= (n); re_index += (n); }} > > (s)->index= re_index; > return code; >} ># 1015 "common.h" >static __attribute__((always_inline)) inline int get_vlc2(GetBitContext *s, int16_t (*table)[2], > int bits, int max_depth) >{ > int code; > > int re_index= (s)->index; int re_cache= 0; > re_cache= unaligned32_be( ((uint8_t *)(s)->buffer)+(re_index>>3) ) << (re_index&0x07); > > { int n, index, nb_bits; index= NEG_USR32(re_cache, bits); code = table[index][0]; n = table[index][1]; if(max_depth > 1 && n < 0){ re_index += (bits); re_cache= unaligned32_be( ((uint8_t *)(s)->buffer)+(re_index>>3) ) << (re_index&0x07); nb_bits = -n; index= NEG_USR32(re_cache, nb_bits) + code; code = table[index][0]; n = table[index][1]; if(max_depth > 2 && n < 0){ re_index += (nb_bits); re_cache= unaligned32_be( ((uint8_t *)(s)->buffer)+(re_index>>3) ) << (re_index&0x07); nb_bits = -n; index= NEG_USR32(re_cache, nb_bits) + code; code = table[index][0]; n = table[index][1]; } } { re_cache <<= (n); re_index += (n); }} > > (s)->index= re_index; > return code; >} ># 1108 "common.h" >extern const uint8_t ff_log2_tab[256]; > >static inline int av_log2(unsigned int v) >{ > int n; > > n = 0; > if (v & 0xffff0000) { > v >>= 16; > n += 16; > } > if (v & 0xff00) { > v >>= 8; > n += 8; > } > n += ff_log2_tab[v]; > > return n; >} > >static inline int av_log2_16bit(unsigned int v) >{ > int n; > > n = 0; > if (v & 0xff00) { > v >>= 8; > n += 8; > } > n += ff_log2_tab[v]; > > return n; >} > > >static inline int mid_pred(int a, int b, int c) >{ ># 1154 "common.h" > if(a>b){ > if(c>b){ > if(c>a) b=a; > else b=c; > } > }else{ > if(b>c){ > if(c>a) b=c; > else b=a; > } > } > return b; > >} > >static inline int clip(int a, int amin, int amax) >{ > if (a < amin) > return amin; > else if (a > amax) > return amax; > else > return a; >} > >static inline int clip_uint8(int a) >{ > if (a&(~255)) return (-a)>>31; > else return a; >} > > >extern const uint8_t ff_sqrt_tab[128]; > >int64_t ff_gcd(int64_t a, int64_t b); > >static inline int ff_sqrt(int a) >{ > int ret=0; > int s; > int ret_sq=0; > > if(a<128) return ff_sqrt_tab[a]; > > for(s=15; s>=0; s--){ > int b= ret_sq + (1<<(s*2)) + (ret<<s)*2; > if(b<=a){ > ret_sq=b; > ret+= 1<<s; > } > } > return ret; >} > > > > >static inline int ff_get_fourcc(const char *s){ > ((void) (0)); > > return (s[0]) + (s[1]<<8) + (s[2]<<16) + (s[3]<<24); >} ># 1256 "common.h" >static inline long long rdtsc() >{ > long long l; > asm volatile( "rdtsc\n\t" > : "=A" (l) > ); > return l; >} ># 28 "ffv1.c" 2 ># 1 "avcodec.h" 1 ># 15 "avcodec.h" ># 1 "rational.h" 1 ># 33 "rational.h" >typedef struct AVRational{ > int num; > int den; >} AVRational; > > > > >static inline int av_cmp_q(AVRational a, AVRational b){ > const int64_t tmp= a.num * (int64_t)b.den - b.num * (int64_t)a.den; > > if(tmp) return (tmp>>63)|1; > else return 0; >} > > > > >static inline double av_q2d(AVRational a){ > return a.num / (double) a.den; >} > >AVRational av_mul_q(AVRational b, AVRational c); >AVRational av_div_q(AVRational b, AVRational c); >AVRational av_add_q(AVRational b, AVRational c); >AVRational av_sub_q(AVRational b, AVRational c); >AVRational av_d2q(double d, int max); ># 16 "avcodec.h" 2 ># 32 "avcodec.h" >enum CodecID { > CODEC_ID_NONE, > CODEC_ID_MPEG1VIDEO, > CODEC_ID_MPEG2VIDEO, > CODEC_ID_MPEG2VIDEO_XVMC, > CODEC_ID_H261, > CODEC_ID_H263, > CODEC_ID_RV10, > CODEC_ID_RV20, > CODEC_ID_MP2, > CODEC_ID_MP3, > CODEC_ID_VORBIS, > CODEC_ID_AC3, > CODEC_ID_MJPEG, > CODEC_ID_MJPEGB, > CODEC_ID_LJPEG, > CODEC_ID_SP5X, > CODEC_ID_MPEG4, > CODEC_ID_RAWVIDEO, > CODEC_ID_MSMPEG4V1, > CODEC_ID_MSMPEG4V2, > CODEC_ID_MSMPEG4V3, > CODEC_ID_WMV1, > CODEC_ID_WMV2, > CODEC_ID_H263P, > CODEC_ID_H263I, > CODEC_ID_FLV1, > CODEC_ID_SVQ1, > CODEC_ID_SVQ3, > CODEC_ID_DVVIDEO, > CODEC_ID_DVAUDIO, > CODEC_ID_WMAV1, > CODEC_ID_WMAV2, > CODEC_ID_MACE3, > CODEC_ID_MACE6, > CODEC_ID_HUFFYUV, > CODEC_ID_CYUV, > CODEC_ID_H264, > CODEC_ID_INDEO3, > CODEC_ID_VP3, > CODEC_ID_THEORA, > CODEC_ID_AAC, > CODEC_ID_MPEG4AAC, > CODEC_ID_ASV1, > CODEC_ID_ASV2, > CODEC_ID_FFV1, > CODEC_ID_4XM, > CODEC_ID_VCR1, > CODEC_ID_CLJR, > CODEC_ID_MDEC, > CODEC_ID_ROQ, > CODEC_ID_INTERPLAY_VIDEO, > CODEC_ID_XAN_WC3, > CODEC_ID_XAN_WC4, > CODEC_ID_RPZA, > CODEC_ID_CINEPAK, > CODEC_ID_WS_VQA, > CODEC_ID_MSRLE, > CODEC_ID_MSVIDEO1, > CODEC_ID_IDCIN, > CODEC_ID_8BPS, > CODEC_ID_SMC, > CODEC_ID_FLIC, > CODEC_ID_TRUEMOTION1, > CODEC_ID_VMDVIDEO, > CODEC_ID_VMDAUDIO, > CODEC_ID_MSZH, > CODEC_ID_ZLIB, > CODEC_ID_SONIC, > CODEC_ID_SONIC_LS, > CODEC_ID_QTRLE, > CODEC_ID_SNOW, > CODEC_ID_TSCC, > CODEC_ID_ULTI, > CODEC_ID_QDRAW, > > > CODEC_ID_PCM_S16LE, > CODEC_ID_PCM_S16BE, > CODEC_ID_PCM_U16LE, > CODEC_ID_PCM_U16BE, > CODEC_ID_PCM_S8, > CODEC_ID_PCM_U8, > CODEC_ID_PCM_MULAW, > CODEC_ID_PCM_ALAW, > > > CODEC_ID_ADPCM_IMA_QT, > CODEC_ID_ADPCM_IMA_WAV, > CODEC_ID_ADPCM_IMA_DK3, > CODEC_ID_ADPCM_IMA_DK4, > CODEC_ID_ADPCM_IMA_WS, > CODEC_ID_ADPCM_IMA_SMJPEG, > CODEC_ID_ADPCM_MS, > CODEC_ID_ADPCM_4XM, > CODEC_ID_ADPCM_XA, > CODEC_ID_ADPCM_ADX, > CODEC_ID_ADPCM_EA, > CODEC_ID_ADPCM_G726, > > > CODEC_ID_AMR_NB, > CODEC_ID_AMR_WB, > > > CODEC_ID_RA_144, > CODEC_ID_RA_288, > > > CODEC_ID_ROQ_DPCM, > CODEC_ID_INTERPLAY_DPCM, > CODEC_ID_XAN_DPCM, > CODEC_ID_SOL_DPCM, > > CODEC_ID_FLAC, > > CODEC_ID_MPEG2TS, > > > CODEC_ID_DTS, > CODEC_ID_XVID, >}; > > > > >enum CodecType { > CODEC_TYPE_UNKNOWN = -1, > CODEC_TYPE_VIDEO, > CODEC_TYPE_AUDIO, > CODEC_TYPE_DATA, >}; ># 183 "avcodec.h" >enum PixelFormat { > PIX_FMT_YUV420P, > PIX_FMT_YUV422, > PIX_FMT_RGB24, > PIX_FMT_BGR24, > PIX_FMT_YUV422P, > PIX_FMT_YUV444P, > PIX_FMT_RGBA32, > PIX_FMT_YUV410P, > PIX_FMT_YUV411P, > PIX_FMT_RGB565, > PIX_FMT_RGB555, > PIX_FMT_GRAY8, > PIX_FMT_MONOWHITE, > PIX_FMT_MONOBLACK, > PIX_FMT_PAL8, > PIX_FMT_YUVJ420P, > PIX_FMT_YUVJ422P, > PIX_FMT_YUVJ444P, > PIX_FMT_XVMC_MPEG2_MC, > PIX_FMT_XVMC_MPEG2_IDCT, > PIX_FMT_UYVY422, > PIX_FMT_NB, >}; > > >enum SampleFormat { > SAMPLE_FMT_S16 = 0, >}; ># 226 "avcodec.h" >enum Motion_Est_ID { > ME_ZERO = 1, > ME_FULL, > ME_LOG, > ME_PHODS, > ME_EPZS, > ME_X1 >}; > >enum AVRounding { > AV_ROUND_ZERO = 0, > AV_ROUND_INF = 1, > AV_ROUND_DOWN = 2, > AV_ROUND_UP = 3, > AV_ROUND_NEAR_INF = 5, >}; > >typedef struct RcOverride{ > int start_frame; > int end_frame; > int qscale; > float quality_factor; >} RcOverride; > > >extern int motion_estimation_method; ># 349 "avcodec.h" >typedef struct AVPanScan{ > > > > > > int id; > > > > > > > int width; > int height; > > > > > > > int16_t position[3][2]; >}AVPanScan; ># 597 "avcodec.h" >typedef struct AVFrame { > uint8_t *data[4]; int linesize[4]; uint8_t *base[4]; int key_frame; int pict_type; int64_t pts; int coded_picture_number; int display_picture_number; int quality; int age; int reference; int8_t *qscale_table; int qstride; uint8_t *mbskip_table; int16_t (*motion_val[2])[2]; uint32_t *mb_type; uint8_t motion_subsample_log2; void *opaque; uint64_t error[4]; int type; int repeat_pict; int qscale_type; int interlaced_frame; int top_field_first; AVPanScan *pan_scan; int palette_has_changed; int buffer_hints; short *dct_coeff; int8_t *ref_index[2]; >} AVFrame; > > > > > > >typedef struct AVCLASS AVClass; >struct AVCLASS { > const char* class_name; > const char* (*item_name)(void*); > > > >}; > > > > >typedef struct AVCodecContext { > > > > > AVClass *av_class; > > > > > > int bit_rate; > > > > > > > > int bit_rate_tolerance; > > > > > > > int flags; > > > > > > > int sub_id; > > > > > > > int me_method; ># 668 "avcodec.h" > void *extradata; > int extradata_size; ># 679 "avcodec.h" > int frame_rate; ># 688 "avcodec.h" > int width, height; ># 697 "avcodec.h" > int gop_size; ># 707 "avcodec.h" > enum PixelFormat pix_fmt; > > > > > > > > int rate_emu; ># 729 "avcodec.h" > void (*draw_horiz_band)(struct AVCodecContext *s, > const AVFrame *src, int offset[4], > int y, int type, int height); > > > int sample_rate; > int channels; > int sample_fmt; > > > int frame_size; > int frame_number; > int real_pict_num; > > > > > > > > int delay; > > > float qcompress; > float qblur; > > > > > > > int qmin; > > > > > > > int qmax; > > > > > > > int max_qdiff; > > > > > > > > int max_b_frames; > > > > > > > float b_quant_factor; > > > int rc_strategy; > int b_frame_strategy; > > > > > > > int hurry_up; > > struct AVCodec *codec; > > void *priv_data; > > > int rtp_mode; > > int rtp_payload_size; ># 821 "avcodec.h" > void (*rtp_callback)(struct AVCodecContext *avctx, void *data, int size, int packet_number); > > > int mv_bits; > int header_bits; > int i_tex_bits; > int p_tex_bits; > int i_count; > int p_count; > int skip_count; > int misc_bits; > > > > > > > int frame_bits; > > > > > > > void *opaque; > > char codec_name[32]; > enum CodecType codec_type; > enum CodecID codec_id; > > > > > > > > unsigned int codec_tag; > > > > > > > int workaround_bugs; ># 886 "avcodec.h" > int luma_elim_threshold; > > > > > > > int chroma_elim_threshold; > > > > > > > int strict_std_compliance; ># 909 "avcodec.h" > float b_quant_offset; > > > > > > > > int error_resilience; ># 931 "avcodec.h" > int (*get_buffer)(struct AVCodecContext *c, AVFrame *pic); ># 940 "avcodec.h" > void (*release_buffer)(struct AVCodecContext *c, AVFrame *pic); > > > > > > > int has_b_frames; > > int block_align; > > int parse_only; ># 960 "avcodec.h" > int mpeg_quant; > > > > > > > char *stats_out; > > > > > > > > char *stats_in; > > > > > > > > float rc_qsquish; > > float rc_qmod_amp; > int rc_qmod_freq; > > > > > > > RcOverride *rc_override; > int rc_override_count; > > > > > > > char *rc_eq; > > > > > > > int rc_max_rate; > > > > > > > int rc_min_rate; > > > > > > > int rc_buffer_size; > float rc_buffer_aggressivity; ># 1032 "avcodec.h" > float i_quant_factor; > > > > > > > float i_quant_offset; > > > > > > > float rc_initial_cplx; > > > > > > > int dct_algo; ># 1067 "avcodec.h" > float lumi_masking; > > > > > > > float temporal_cplx_masking; > > > > > > > float spatial_cplx_masking; > > > > > > > float p_masking; > > > > > > > float dark_masking; > > > > int unused; > > > > > > > int idct_algo; ># 1125 "avcodec.h" > int slice_count; > > > > > > int *slice_offset; > > > > > > > int error_concealment; ># 1150 "avcodec.h" > unsigned dsp_mask; ># 1166 "avcodec.h" > int bits_per_sample; > > > > > > > int prediction_method; ># 1184 "avcodec.h" > AVRational sample_aspect_ratio; > > > > > > > AVFrame *coded_frame; > > > > > > > int debug; ># 1220 "avcodec.h" > int debug_mv; ># 1230 "avcodec.h" > uint64_t error[4]; > > > > > > > int mb_qmin; > > > > > > > int mb_qmax; > > > > > > > int me_cmp; > > > > > > int me_sub_cmp; > > > > > > int mb_cmp; > > > > > > int ildct_cmp; ># 1290 "avcodec.h" > int dia_size; > > > > > > > int last_predictor_count; > > > > > > > int pre_me; > > > > > > > int me_pre_cmp; > > > > > > > int pre_dia_size; > > > > > > > int me_subpel_quality; ># 1336 "avcodec.h" > enum PixelFormat (*get_format)(struct AVCodecContext *s, const enum PixelFormat * fmt); ># 1346 "avcodec.h" > int dtg_active_format; ># 1362 "avcodec.h" > int me_range; ># 1372 "avcodec.h" > int frame_rate_base; > > > > > > int intra_quant_bias; > > > > > > > > int inter_quant_bias; > > > > > > > > int color_table_id; > > > > > > int internal_buffer_count; > > > > > > void *internal_buffer; ># 1420 "avcodec.h" > int global_quality; ># 1429 "avcodec.h" > int coder_type; > > > > > > > int context_model; > > > > > > > int slice_flags; ># 1453 "avcodec.h" > int xvmc_acceleration; > > > > > > > int mb_decision; ># 1470 "avcodec.h" > uint16_t *intra_matrix; > > > > > > > uint16_t *inter_matrix; > > > > > > > > unsigned int stream_codec_tag; > > > > > > > > int scenechange_threshold; > > > > > > > int lmin; > > > > > > > int lmax; > > > > > > > struct AVPaletteControl *palctrl; > > > > > > > int noise_reduction; ># 1532 "avcodec.h" > int (*reget_buffer)(struct AVCodecContext *c, AVFrame *pic); > > > > > > > int rc_initial_buffer_occupancy; > > > > > > > int inter_threshold; > > > > > > > int flags2; > > > > > > > int error_rate; > > > > > > > int antialias_algo; ># 1577 "avcodec.h" > int quantizer_noise_shaping; > > > > > > > > int thread_count; ># 1595 "avcodec.h" > int (*execute)(struct AVCodecContext *c, int (*func)(struct AVCodecContext *c2, void *arg), void **arg2, int *ret, int count); > > > > > > > > void *thread_opaque; ># 1612 "avcodec.h" > int me_threshold; > > > > > > > int mb_threshold; > > > > > > > int intra_dc_precision; > > > > > > > int nsse_weight; > > > > > > > int skip_top; > > > > > > > int skip_bottom; > > > > > > > int profile; > > > > > > > > int level; > > > > > > > > int lowres; > > > > > > > > int coded_width, coded_height; >} AVCodecContext; > > > > > >typedef struct AVOption { > > const char *name; > > const char *help; > > int offset; > > int type; ># 1703 "avcodec.h" > double min; > > double max; > > double defval; > > > > > > const char *defstr; > >} AVOption; > > > > > > > >int avoption_parse(void* strct, const AVOption* list, const char* opts); > > > > > >typedef struct AVCodec { > const char *name; > enum CodecType type; > int id; > int priv_data_size; > int (*init)(AVCodecContext *); > int (*encode)(AVCodecContext *, uint8_t *buf, int buf_size, void *data); > int (*close)(AVCodecContext *); > int (*decode)(AVCodecContext *, void *outdata, int *outdata_size, > uint8_t *buf, int buf_size); > int capabilities; > const AVOption *options; > struct AVCodec *next; > void (*flush)(AVCodecContext *); > const AVRational *supported_framerates; > const enum PixelFormat *pix_fmts; >} AVCodec; > > > > > >typedef struct AVPicture { > uint8_t *data[4]; > int linesize[4]; >} AVPicture; ># 1763 "avcodec.h" >typedef struct AVPaletteControl { > > > > int palette_changed; > > > > > > unsigned int palette[256]; > >} AVPaletteControl; > >extern AVCodec ac3_encoder; >extern AVCodec mp2_encoder; >extern AVCodec mp3lame_encoder; >extern AVCodec oggvorbis_encoder; >extern AVCodec faac_encoder; >extern AVCodec xvid_encoder; >extern AVCodec mpeg1video_encoder; >extern AVCodec mpeg2video_encoder; >extern AVCodec h263_encoder; >extern AVCodec h263p_encoder; >extern AVCodec flv_encoder; >extern AVCodec rv10_encoder; >extern AVCodec rv20_encoder; >extern AVCodec dvvideo_encoder; >extern AVCodec mjpeg_encoder; >extern AVCodec ljpeg_encoder; >extern AVCodec mpeg4_encoder; >extern AVCodec msmpeg4v1_encoder; >extern AVCodec msmpeg4v2_encoder; >extern AVCodec msmpeg4v3_encoder; >extern AVCodec wmv1_encoder; >extern AVCodec wmv2_encoder; >extern AVCodec huffyuv_encoder; >extern AVCodec h264_encoder; >extern AVCodec asv1_encoder; >extern AVCodec asv2_encoder; >extern AVCodec vcr1_encoder; >extern AVCodec ffv1_encoder; >extern AVCodec snow_encoder; >extern AVCodec mdec_encoder; >extern AVCodec zlib_encoder; >extern AVCodec sonic_encoder; >extern AVCodec sonic_ls_encoder; >extern AVCodec svq1_encoder; > >extern AVCodec h263_decoder; >extern AVCodec h261_decoder; >extern AVCodec mpeg4_decoder; >extern AVCodec msmpeg4v1_decoder; >extern AVCodec msmpeg4v2_decoder; >extern AVCodec msmpeg4v3_decoder; >extern AVCodec wmv1_decoder; >extern AVCodec wmv2_decoder; >extern AVCodec mpeg1video_decoder; >extern AVCodec mpeg2video_decoder; >extern AVCodec mpegvideo_decoder; >extern AVCodec mpeg_xvmc_decoder; >extern AVCodec h263i_decoder; >extern AVCodec flv_decoder; >extern AVCodec rv10_decoder; >extern AVCodec rv20_decoder; >extern AVCodec svq1_decoder; >extern AVCodec svq3_decoder; >extern AVCodec dvvideo_decoder; >extern AVCodec wmav1_decoder; >extern AVCodec wmav2_decoder; >extern AVCodec mjpeg_decoder; >extern AVCodec mjpegb_decoder; >extern AVCodec sp5x_decoder; >extern AVCodec mp2_decoder; >extern AVCodec mp3_decoder; >extern AVCodec mace3_decoder; >extern AVCodec mace6_decoder; >extern AVCodec huffyuv_decoder; >extern AVCodec oggvorbis_decoder; >extern AVCodec cyuv_decoder; >extern AVCodec h264_decoder; >extern AVCodec indeo3_decoder; >extern AVCodec vp3_decoder; >extern AVCodec theora_decoder; >extern AVCodec amr_nb_decoder; >extern AVCodec amr_nb_encoder; >extern AVCodec amr_wb_encoder; >extern AVCodec amr_wb_decoder; >extern AVCodec aac_decoder; >extern AVCodec mpeg4aac_decoder; >extern AVCodec asv1_decoder; >extern AVCodec asv2_decoder; >extern AVCodec vcr1_decoder; >extern AVCodec cljr_decoder; >extern AVCodec ffv1_decoder; >extern AVCodec snow_decoder; >extern AVCodec fourxm_decoder; >extern AVCodec mdec_decoder; >extern AVCodec roq_decoder; >extern AVCodec interplay_video_decoder; >extern AVCodec xan_wc3_decoder; >extern AVCodec rpza_decoder; >extern AVCodec cinepak_decoder; >extern AVCodec msrle_decoder; >extern AVCodec msvideo1_decoder; >extern AVCodec vqa_decoder; >extern AVCodec idcin_decoder; >extern AVCodec eightbps_decoder; >extern AVCodec smc_decoder; >extern AVCodec flic_decoder; >extern AVCodec vmdvideo_decoder; >extern AVCodec vmdaudio_decoder; >extern AVCodec truemotion1_decoder; >extern AVCodec mszh_decoder; >extern AVCodec zlib_decoder; >extern AVCodec ra_144_decoder; >extern AVCodec ra_288_decoder; >extern AVCodec roq_dpcm_decoder; >extern AVCodec interplay_dpcm_decoder; >extern AVCodec xan_dpcm_decoder; >extern AVCodec sol_dpcm_decoder; >extern AVCodec sonic_decoder; >extern AVCodec qtrle_decoder; >extern AVCodec flac_decoder; >extern AVCodec tscc_decoder; >extern AVCodec ulti_decoder; >extern AVCodec qdraw_decoder; > > > > > > >extern AVCodec pcm_s16le_decoder; extern AVCodec pcm_s16le_encoder; >extern AVCodec pcm_s16be_decoder; extern AVCodec pcm_s16be_encoder; >extern AVCodec pcm_u16le_decoder; extern AVCodec pcm_u16le_encoder; >extern AVCodec pcm_u16be_decoder; extern AVCodec pcm_u16be_encoder; >extern AVCodec pcm_s8_decoder; extern AVCodec pcm_s8_encoder; >extern AVCodec pcm_u8_decoder; extern AVCodec pcm_u8_encoder; >extern AVCodec pcm_alaw_decoder; extern AVCodec pcm_alaw_encoder; >extern AVCodec pcm_mulaw_decoder; extern AVCodec pcm_mulaw_encoder; > > > >extern AVCodec adpcm_ima_qt_decoder; extern AVCodec adpcm_ima_qt_encoder; >extern AVCodec adpcm_ima_wav_decoder; extern AVCodec adpcm_ima_wav_encoder; >extern AVCodec adpcm_ima_dk3_decoder; extern AVCodec adpcm_ima_dk3_encoder; >extern AVCodec adpcm_ima_dk4_decoder; extern AVCodec adpcm_ima_dk4_encoder; >extern AVCodec adpcm_ima_ws_decoder; extern AVCodec adpcm_ima_ws_encoder; >extern AVCodec adpcm_ima_smjpeg_decoder; extern AVCodec adpcm_ima_smjpeg_encoder; >extern AVCodec adpcm_ms_decoder; extern AVCodec adpcm_ms_encoder; >extern AVCodec adpcm_4xm_decoder; extern AVCodec adpcm_4xm_encoder; >extern AVCodec adpcm_xa_decoder; extern AVCodec adpcm_xa_encoder; >extern AVCodec adpcm_adx_decoder; extern AVCodec adpcm_adx_encoder; >extern AVCodec adpcm_ea_decoder; extern AVCodec adpcm_ea_encoder; >extern AVCodec adpcm_g726_decoder; extern AVCodec adpcm_g726_encoder; > > > > >extern AVCodec rawvideo_encoder; >extern AVCodec rawvideo_decoder; > > >extern AVCodec ac3_decoder; >extern AVCodec dts_decoder; > > > >struct ReSampleContext; >struct AVResampleContext; > >typedef struct ReSampleContext ReSampleContext; > >ReSampleContext *audio_resample_init(int output_channels, int input_channels, > int output_rate, int input_rate); >int audio_resample(ReSampleContext *s, short *output, short *input, int nb_samples); >void audio_resample_close(ReSampleContext *s); > >struct AVResampleContext *av_resample_init(int out_rate, int in_rate); >int av_resample(struct AVResampleContext *c, short *dst, short *src, int *consumed, int src_size, int dst_size, int update_ctx); >void av_resample_compensate(struct AVResampleContext *c, int sample_delta, int compensation_distance); >void av_resample_close(struct AVResampleContext *c); > > > >struct ImgReSampleContext; > >typedef struct ImgReSampleContext ImgReSampleContext; > >ImgReSampleContext *img_resample_init(int output_width, int output_height, > int input_width, int input_height); > >ImgReSampleContext *img_resample_full_init(int owidth, int oheight, > int iwidth, int iheight, > int topBand, int bottomBand, > int leftBand, int rightBand, > int padtop, int padbottom, > int padleft, int padright); > > >void img_resample(ImgReSampleContext *s, > AVPicture *output, const AVPicture *input); > >void img_resample_close(ImgReSampleContext *s); ># 1978 "avcodec.h" >int avpicture_alloc(AVPicture *picture, int pix_fmt, int width, int height); > > >void avpicture_free(AVPicture *picture); > >int avpicture_fill(AVPicture *picture, uint8_t *ptr, > int pix_fmt, int width, int height); >int avpicture_layout(const AVPicture* src, int pix_fmt, int width, int height, > unsigned char *dest, int dest_size); >int avpicture_get_size(int pix_fmt, int width, int height); >void avcodec_get_chroma_sub_sample(int pix_fmt, int *h_shift, int *v_shift); >const char *avcodec_get_pix_fmt_name(int pix_fmt); >void avcodec_set_dimensions(AVCodecContext *s, int width, int height); >enum PixelFormat avcodec_get_pix_fmt(const char* name); ># 2000 "avcodec.h" >int avcodec_get_pix_fmt_loss(int dst_pix_fmt, int src_pix_fmt, > int has_alpha); >int avcodec_find_best_pix_fmt(int pix_fmt_mask, int src_pix_fmt, > int has_alpha, int *loss_ptr); > > > >int img_get_alpha_info(const AVPicture *src, > int pix_fmt, int width, int height); > > >int img_convert(AVPicture *dst, int dst_pix_fmt, > const AVPicture *src, int pix_fmt, > int width, int height); > > >int avpicture_deinterlace(AVPicture *dst, const AVPicture *src, > int pix_fmt, int width, int height); > > > >extern AVCodec *first_avcodec; > > >unsigned avcodec_version(void); > >unsigned avcodec_build(void); >void avcodec_init(void); > >void register_avcodec(AVCodec *format); >AVCodec *avcodec_find_encoder(enum CodecID id); >AVCodec *avcodec_find_encoder_by_name(const char *name); >AVCodec *avcodec_find_decoder(enum CodecID id); >AVCodec *avcodec_find_decoder_by_name(const char *name); >void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode); > >void avcodec_get_context_defaults(AVCodecContext *s); >AVCodecContext *avcodec_alloc_context(void); >void avcodec_get_frame_defaults(AVFrame *pic); >AVFrame *avcodec_alloc_frame(void); > >int avcodec_default_get_buffer(AVCodecContext *s, AVFrame *pic); >void avcodec_default_release_buffer(AVCodecContext *s, AVFrame *pic); >int avcodec_default_reget_buffer(AVCodecContext *s, AVFrame *pic); >void avcodec_align_dimensions(AVCodecContext *s, int *width, int *height); >enum PixelFormat avcodec_default_get_format(struct AVCodecContext *s, const enum PixelFormat * fmt); > >int avcodec_thread_init(AVCodecContext *s, int thread_count); >void avcodec_thread_free(AVCodecContext *s); >int avcodec_thread_execute(AVCodecContext *s, int (*func)(AVCodecContext *c2, void *arg2),void **arg, int *ret, int count); >int avcodec_default_execute(AVCodecContext *c, int (*func)(AVCodecContext *c2, void *arg2),void **arg, int *ret, int count); > > > > > > >int avcodec_open(AVCodecContext *avctx, AVCodec *codec); > >int avcodec_decode_audio(AVCodecContext *avctx, int16_t *samples, > int *frame_size_ptr, > uint8_t *buf, int buf_size); >int avcodec_decode_video(AVCodecContext *avctx, AVFrame *picture, > int *got_picture_ptr, > uint8_t *buf, int buf_size); >int avcodec_parse_frame(AVCodecContext *avctx, uint8_t **pdata, > int *data_size_ptr, > uint8_t *buf, int buf_size); >int avcodec_encode_audio(AVCodecContext *avctx, uint8_t *buf, int buf_size, > const short *samples); >int avcodec_encode_video(AVCodecContext *avctx, uint8_t *buf, int buf_size, > const AVFrame *pict); > >int avcodec_close(AVCodecContext *avctx); > >void avcodec_register_all(void); > >void avcodec_flush_buffers(AVCodecContext *avctx); > > > > > > >char av_get_pict_type_char(int pict_type); > > > > > > > >int av_reduce(int *dst_nom, int *dst_den, int64_t nom, int64_t den, int64_t max); > > > > > >int64_t av_rescale(int64_t a, int64_t b, int64_t c); > > > > > >int64_t av_rescale_rnd(int64_t a, int64_t b, int64_t c, enum AVRounding); > > >typedef struct AVCodecParserContext { > void *priv_data; > struct AVCodecParser *parser; > int64_t frame_offset; > int64_t cur_offset; > > int64_t last_frame_offset; > > int pict_type; > int repeat_pict; > int64_t pts; > int64_t dts; > > > int64_t last_pts; > int64_t last_dts; > int fetch_timestamp; > > > int cur_frame_start_index; > int64_t cur_frame_offset[4]; > int64_t cur_frame_pts[4]; > int64_t cur_frame_dts[4]; >} AVCodecParserContext; > >typedef struct AVCodecParser { > int codec_ids[3]; > int priv_data_size; > int (*parser_init)(AVCodecParserContext *s); > int (*parser_parse)(AVCodecParserContext *s, > AVCodecContext *avctx, > uint8_t **poutbuf, int *poutbuf_size, > const uint8_t *buf, int buf_size); > void (*parser_close)(AVCodecParserContext *s); > struct AVCodecParser *next; >} AVCodecParser; > >extern AVCodecParser *av_first_parser; > >void av_register_codec_parser(AVCodecParser *parser); >AVCodecParserContext *av_parser_init(int codec_id); >int av_parser_parse(AVCodecParserContext *s, > AVCodecContext *avctx, > uint8_t **poutbuf, int *poutbuf_size, > const uint8_t *buf, int buf_size, > int64_t pts, int64_t dts); >void av_parser_close(AVCodecParserContext *s); > >extern AVCodecParser mpegvideo_parser; >extern AVCodecParser mpeg4video_parser; >extern AVCodecParser h261_parser; >extern AVCodecParser h263_parser; >extern AVCodecParser h264_parser; >extern AVCodecParser mpegaudio_parser; >extern AVCodecParser ac3_parser; > > >void *av_malloc(unsigned int size); >void *av_mallocz(unsigned int size); >void *av_realloc(void *ptr, unsigned int size); >void av_free(void *ptr); >char *av_strdup(const char *s); >void av_freep(void *ptr); >void *av_fast_realloc(void *ptr, unsigned int *size, unsigned int min_size); > > >void av_free_static(void); >void *av_mallocz_static(unsigned int size); > > >int is_adx(const unsigned char *buf,size_t bufsize); > >void img_copy(AVPicture *dst, const AVPicture *src, > int pix_fmt, int width, int height); > > > ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/stdarg.h" 1 3 4 ># 2185 "avcodec.h" 2 > > > > > > > >extern void av_log(void*, int level, const char *fmt, ...) __attribute__ ((__format__ (__printf__, 3, 4))); > > > > >extern void av_vlog(void*, int level, const char *fmt, va_list); >extern int av_log_get_level(void); >extern void av_log_set_level(int); >extern void av_log_set_callback(void (*)(void*, int, const char*, va_list)); ># 29 "ffv1.c" 2 ># 1 "dsputil.h" 1 ># 37 "dsputil.h" >typedef short DCTELEM; > >void fdct_ifast (DCTELEM *data); >void fdct_ifast248 (DCTELEM *data); >void ff_jpeg_fdct_islow (DCTELEM *data); >void ff_fdct248_islow (DCTELEM *data); > >void j_rev_dct (DCTELEM *data); >void j_rev_dct4 (DCTELEM *data); >void j_rev_dct2 (DCTELEM *data); >void j_rev_dct1 (DCTELEM *data); > >void ff_fdct_mmx(DCTELEM *block); >void ff_fdct_mmx2(DCTELEM *block); >void ff_fdct_sse2(DCTELEM *block); > >void ff_h264_idct_add_c(uint8_t *dst, DCTELEM *block, int stride); >void ff_h264_lowres_idct_add_c(uint8_t *dst, int stride, DCTELEM *block); >void ff_h264_lowres_idct_put_c(uint8_t *dst, int stride, DCTELEM *block); > > >extern const uint8_t ff_alternate_horizontal_scan[64]; >extern const uint8_t ff_alternate_vertical_scan[64]; >extern const uint8_t ff_zigzag_direct[64]; >extern const uint8_t ff_zigzag248_direct[64]; > > > > > >extern uint32_t squareTbl[512]; >extern uint8_t cropTbl[256 + 2 * 1024]; > > >void vp3_dsp_init_c(void); >void vp3_idct_c(int16_t *input_data, int16_t *dequant_matrix, > int coeff_count, DCTELEM *output_data); > >void vp3_dsp_init_mmx(void); >void vp3_idct_mmx(int16_t *input_data, int16_t *dequant_matrix, > int coeff_count, DCTELEM *output_data); > >void vp3_dsp_init_sse2(void); >void vp3_idct_sse2(int16_t *input_data, int16_t *dequant_matrix, > int coeff_count, DCTELEM *output_data); ># 104 "dsputil.h" >typedef void (*op_pixels_func)(uint8_t *block , const uint8_t *pixels , int line_size, int h); >typedef void (*tpel_mc_func)(uint8_t *block , const uint8_t *pixels , int line_size, int w, int h); >typedef void (*qpel_mc_func)(uint8_t *dst , uint8_t *src , int stride); >typedef void (*h264_chroma_mc_func)(uint8_t *dst , uint8_t *src , int srcStride, int h, int x, int y); > > > > > > >void ff_put_qpel16_mc11_old_c (uint8_t *dst , uint8_t *src , int stride);void ff_put_no_rnd_qpel16_mc11_old_c (uint8_t *dst , uint8_t *src , int stride);void ff_avg_qpel16_mc11_old_c (uint8_t *dst , uint8_t *src , int stride); >void ff_put_qpel16_mc31_old_c (uint8_t *dst , uint8_t *src , int stride);void ff_put_no_rnd_qpel16_mc31_old_c (uint8_t *dst , uint8_t *src , int stride);void ff_avg_qpel16_mc31_old_c (uint8_t *dst , uint8_t *src , int stride); >void ff_put_qpel16_mc12_old_c (uint8_t *dst , uint8_t *src , int stride);void ff_put_no_rnd_qpel16_mc12_old_c (uint8_t *dst , uint8_t *src , int stride);void ff_avg_qpel16_mc12_old_c (uint8_t *dst , uint8_t *src , int stride); >void ff_put_qpel16_mc32_old_c (uint8_t *dst , uint8_t *src , int stride);void ff_put_no_rnd_qpel16_mc32_old_c (uint8_t *dst , uint8_t *src , int stride);void ff_avg_qpel16_mc32_old_c (uint8_t *dst , uint8_t *src , int stride); >void ff_put_qpel16_mc13_old_c (uint8_t *dst , uint8_t *src , int stride);void ff_put_no_rnd_qpel16_mc13_old_c (uint8_t *dst , uint8_t *src , int stride);void ff_avg_qpel16_mc13_old_c (uint8_t *dst , uint8_t *src , int stride); >void ff_put_qpel16_mc33_old_c (uint8_t *dst , uint8_t *src , int stride);void ff_put_no_rnd_qpel16_mc33_old_c (uint8_t *dst , uint8_t *src , int stride);void ff_avg_qpel16_mc33_old_c (uint8_t *dst , uint8_t *src , int stride); >void ff_put_qpel8_mc11_old_c (uint8_t *dst , uint8_t *src , int stride);void ff_put_no_rnd_qpel8_mc11_old_c (uint8_t *dst , uint8_t *src , int stride);void ff_avg_qpel8_mc11_old_c (uint8_t *dst , uint8_t *src , int stride); >void ff_put_qpel8_mc31_old_c (uint8_t *dst , uint8_t *src , int stride);void ff_put_no_rnd_qpel8_mc31_old_c (uint8_t *dst , uint8_t *src , int stride);void ff_avg_qpel8_mc31_old_c (uint8_t *dst , uint8_t *src , int stride); >void ff_put_qpel8_mc12_old_c (uint8_t *dst , uint8_t *src , int stride);void ff_put_no_rnd_qpel8_mc12_old_c (uint8_t *dst , uint8_t *src , int stride);void ff_avg_qpel8_mc12_old_c (uint8_t *dst , uint8_t *src , int stride); >void ff_put_qpel8_mc32_old_c (uint8_t *dst , uint8_t *src , int stride);void ff_put_no_rnd_qpel8_mc32_old_c (uint8_t *dst , uint8_t *src , int stride);void ff_avg_qpel8_mc32_old_c (uint8_t *dst , uint8_t *src , int stride); >void ff_put_qpel8_mc13_old_c (uint8_t *dst , uint8_t *src , int stride);void ff_put_no_rnd_qpel8_mc13_old_c (uint8_t *dst , uint8_t *src , int stride);void ff_avg_qpel8_mc13_old_c (uint8_t *dst , uint8_t *src , int stride); >void ff_put_qpel8_mc33_old_c (uint8_t *dst , uint8_t *src , int stride);void ff_put_no_rnd_qpel8_mc33_old_c (uint8_t *dst , uint8_t *src , int stride);void ff_avg_qpel8_mc33_old_c (uint8_t *dst , uint8_t *src , int stride); ># 136 "dsputil.h" >typedef int (*me_cmp_func)(void *s, uint8_t *blk1 , uint8_t *blk2 , int line_size, int h) ; > > > > > >typedef struct DSPContext { > > void (*get_pixels)(DCTELEM *block , const uint8_t *pixels , int line_size); > void (*diff_pixels)(DCTELEM *block , const uint8_t *s1 , const uint8_t *s2 , int stride); > void (*put_pixels_clamped)(const DCTELEM *block , uint8_t *pixels , int line_size); > void (*put_signed_pixels_clamped)(const DCTELEM *block , uint8_t *pixels , int line_size); > void (*add_pixels_clamped)(const DCTELEM *block , uint8_t *pixels , int line_size); > > > > void (*gmc1)(uint8_t *dst , uint8_t *src , int srcStride, int h, int x16, int y16, int rounder); > > > > void (*gmc )(uint8_t *dst , uint8_t *src , int stride, int h, int ox, int oy, > int dxx, int dxy, int dyx, int dyy, int shift, int r, int width, int height); > void (*clear_blocks)(DCTELEM *blocks ); > int (*pix_sum)(uint8_t * pix, int line_size); > int (*pix_norm1)(uint8_t * pix, int line_size); > > > me_cmp_func sad[5]; > me_cmp_func sse[5]; > me_cmp_func hadamard8_diff[5]; > me_cmp_func dct_sad[5]; > me_cmp_func quant_psnr[5]; > me_cmp_func bit[5]; > me_cmp_func rd[5]; > me_cmp_func vsad[5]; > me_cmp_func vsse[5]; > me_cmp_func nsse[5]; > me_cmp_func w53[5]; > me_cmp_func w97[5]; > > me_cmp_func me_pre_cmp[5]; > me_cmp_func me_cmp[5]; > me_cmp_func me_sub_cmp[5]; > me_cmp_func mb_cmp[5]; > me_cmp_func ildct_cmp[5]; ># 192 "dsputil.h" > op_pixels_func put_pixels_tab[4][4]; ># 204 "dsputil.h" > op_pixels_func avg_pixels_tab[4][4]; ># 216 "dsputil.h" > op_pixels_func put_no_rnd_pixels_tab[4][4]; ># 228 "dsputil.h" > op_pixels_func avg_no_rnd_pixels_tab[4][4]; > > void (*put_no_rnd_pixels_l2[2])(uint8_t *block , const uint8_t *a , const uint8_t *b , int line_size, int h); ># 241 "dsputil.h" > tpel_mc_func put_tpel_pixels_tab[11]; > tpel_mc_func avg_tpel_pixels_tab[11]; > > qpel_mc_func put_qpel_pixels_tab[2][16]; > qpel_mc_func avg_qpel_pixels_tab[2][16]; > qpel_mc_func put_no_rnd_qpel_pixels_tab[2][16]; > qpel_mc_func avg_no_rnd_qpel_pixels_tab[2][16]; > qpel_mc_func put_mspel_pixels_tab[8]; > > > > > h264_chroma_mc_func put_h264_chroma_pixels_tab[3]; > h264_chroma_mc_func avg_h264_chroma_pixels_tab[3]; > > qpel_mc_func put_h264_qpel_pixels_tab[3][16]; > qpel_mc_func avg_h264_qpel_pixels_tab[3][16]; > > me_cmp_func pix_abs[2][4]; > > > void (*add_bytes)(uint8_t *dst , uint8_t *src , int w); > void (*diff_bytes)(uint8_t *dst , uint8_t *src1 , uint8_t *src2 ,int w); > > > > > void (*sub_hfyu_median_prediction)(uint8_t *dst, uint8_t *src1, uint8_t *src2, int w, int *left, int *left_top); > void (*bswap_buf)(uint32_t *dst, uint32_t *src, int w); > > void (*h263_v_loop_filter)(uint8_t *src, int stride, int qscale); > void (*h263_h_loop_filter)(uint8_t *src, int stride, int qscale); > > void (*h261_loop_filter)(uint8_t *src, int stride); > > > void (*fdct)(DCTELEM *block ); > void (*fdct248)(DCTELEM *block ); > > > void (*idct)(DCTELEM *block ); > > > > > > > void (*idct_put)(uint8_t *dest , int line_size, DCTELEM *block ); > > > > > > void (*idct_add)(uint8_t *dest , int line_size, DCTELEM *block ); ># 308 "dsputil.h" > uint8_t idct_permutation[64]; > int idct_permutation_type; > > > > > > int (*try_8x8basis)(int16_t rem[64], int16_t weight[64], int16_t basis[64], int scale); > void (*add_8x8basis)(int16_t rem[64], int16_t basis[64], int scale); > > > > > > > void (*vp3_dsp_init)(void); ># 335 "dsputil.h" > void (*vp3_idct)(int16_t *input_data, int16_t *dequant_matrix, > int coeff_count, DCTELEM *output_samples); > > void (*h264_idct_add)(uint8_t *dst, DCTELEM *block, int stride); >} DSPContext; > >void dsputil_static_init(void); >void dsputil_init(DSPContext* p, AVCodecContext *avctx); > > > > > >void ff_block_permute(DCTELEM *block, uint8_t *permutation, const uint8_t *scantable, int last); > >void ff_set_cmp(DSPContext* c, me_cmp_func *cmp, int type); > > > >static inline uint32_t rnd_avg32(uint32_t a, uint32_t b) >{ > return (a | b) - (((a ^ b) & ~((0x01)*0x01010101UL)) >> 1); >} > >static inline uint32_t no_rnd_avg32(uint32_t a, uint32_t b) >{ > return (a & b) + (((a ^ b) & ~((0x01)*0x01010101UL)) >> 1); >} > >static inline int get_penalty_factor(int lambda, int lambda2, int type){ > switch(type&0xFF){ > default: > case 0: > return lambda>>7; > case 3: > return (3*lambda)>>(7 +1); > case 11: > return (4*lambda)>>(7); > case 12: > return (2*lambda)>>(7); > case 2: > return (2*lambda)>>7; > case 6: > case 4: > case 1: > case 10: > return lambda2>>7; > case 5: > return 1; > } >} ># 396 "dsputil.h" >int mm_support(void); ># 410 "dsputil.h" >extern int mm_flags; > >void add_pixels_clamped_mmx(const DCTELEM *block, uint8_t *pixels, int line_size); >void put_pixels_clamped_mmx(const DCTELEM *block, uint8_t *pixels, int line_size); >void put_signed_pixels_clamped_mmx(const DCTELEM *block, uint8_t *pixels, int line_size); > >static inline void emms(void) >{ > __asm __volatile ("emms;":::"memory"); >} ># 430 "dsputil.h" >void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx); >void dsputil_init_pix_mmx(DSPContext* c, AVCodecContext *avctx); ># 496 "dsputil.h" >struct unaligned_64 { uint64_t l; } __attribute__((packed)); >struct unaligned_32 { uint32_t l; } __attribute__((packed)); >struct unaligned_16 { uint16_t l; } __attribute__((packed)); ># 517 "dsputil.h" >void get_psnr(uint8_t *orig_image[3], uint8_t *coded_image[3], > int orig_linesize[3], int coded_linesize, > AVCodecContext *avctx); > > > > > >typedef float FFTSample; > >typedef struct FFTComplex { > FFTSample re, im; >} FFTComplex; > >typedef struct FFTContext { > int nbits; > int inverse; > uint16_t *revtab; > FFTComplex *exptab; > FFTComplex *exptab1; > void (*fft_calc)(struct FFTContext *s, FFTComplex *z); >} FFTContext; > >int ff_fft_init(FFTContext *s, int nbits, int inverse); >void ff_fft_permute(FFTContext *s, FFTComplex *z); >void ff_fft_calc_c(FFTContext *s, FFTComplex *z); >void ff_fft_calc_sse(FFTContext *s, FFTComplex *z); >void ff_fft_calc_altivec(FFTContext *s, FFTComplex *z); > >static inline void ff_fft_calc(FFTContext *s, FFTComplex *z) >{ > s->fft_calc(s, z); >} >void ff_fft_end(FFTContext *s); > > > >typedef struct MDCTContext { > int n; > int nbits; > > FFTSample *tcos; > FFTSample *tsin; > FFTContext fft; >} MDCTContext; > >int ff_mdct_init(MDCTContext *s, int nbits, int inverse); >void ff_imdct_calc(MDCTContext *s, FFTSample *output, > const FFTSample *input, FFTSample *tmp); >void ff_mdct_calc(MDCTContext *s, FFTSample *out, > const FFTSample *input, FFTSample *tmp); >void ff_mdct_end(MDCTContext *s); ># 30 "ffv1.c" 2 ># 1 "cabac.h" 1 ># 28 "cabac.h" ># 1 "/usr/include/assert.h" 1 3 4 ># 65 "/usr/include/assert.h" 3 4 > > > >extern void __assert_fail (__const char *__assertion, __const char *__file, > unsigned int __line, __const char *__function) > __attribute__ ((__noreturn__)); > > >extern void __assert_perror_fail (int __errnum, __const char *__file, > unsigned int __line, > __const char *__function) > __attribute__ ((__noreturn__)); > > > > >extern void __assert (const char *__assertion, const char *__file, int __line) > __attribute__ ((__noreturn__)); ># 29 "cabac.h" 2 > >typedef struct CABACContext{ > int low; > int range; > int outstanding_count; > > > > uint8_t lps_range[2*64][4]; > uint8_t lps_state[2*64]; > uint8_t mps_state[2*64]; > const uint8_t *bytestream_start; > const uint8_t *bytestream; > const uint8_t *bytestream_end; > int bits_left; > PutBitContext pb; >}CABACContext; > >extern const uint8_t ff_h264_lps_range[64][4]; >extern const uint8_t ff_h264_mps_state[64]; >extern const uint8_t ff_h264_lps_state[64]; > >void ff_init_cabac_encoder(CABACContext *c, uint8_t *buf, int buf_size); >void ff_init_cabac_decoder(CABACContext *c, const uint8_t *buf, int buf_size); >void ff_init_cabac_states(CABACContext *c, uint8_t const (*lps_range)[4], > uint8_t const *mps_state, uint8_t const *lps_state, int state_count); > > >static inline void put_cabac_bit(CABACContext *c, int b){ > put_bits(&c->pb, 1, b); > for(;c->outstanding_count; c->outstanding_count--){ > put_bits(&c->pb, 1, 1-b); > } >} > >static inline void renorm_cabac_encoder(CABACContext *c){ > while(c->range < 0x100){ > > if(c->low<0x100){ > put_cabac_bit(c, 0); > }else if(c->low<0x200){ > c->outstanding_count++; > c->low -= 0x100; > }else{ > put_cabac_bit(c, 1); > c->low -= 0x200; > } > > c->range+= c->range; > c->low += c->low; > } >} > >static inline void put_cabac(CABACContext *c, uint8_t * const state, int bit){ > int RangeLPS= c->lps_range[*state][((c->range)>>6)&3]; > > if(bit == ((*state)&1)){ > c->range -= RangeLPS; > *state= c->mps_state[*state]; > }else{ > c->low += c->range - RangeLPS; > c->range = RangeLPS; > *state= c->lps_state[*state]; > } > > renorm_cabac_encoder(c); > > > > >} > >static inline void put_cabac_static(CABACContext *c, int RangeLPS, int bit){ > ((void) (__builtin_expect (!!(c->range > RangeLPS), 1) ? 0 : (__assert_fail ("c->range > RangeLPS", "cabac.h", 102, __PRETTY_FUNCTION__), 0))); > > if(!bit){ > c->range -= RangeLPS; > }else{ > c->low += c->range - RangeLPS; > c->range = RangeLPS; > } > > renorm_cabac_encoder(c); > > > > >} > > > > >static inline void put_cabac_bypass(CABACContext *c, int bit){ > c->low += c->low; > > if(bit){ > c->low += c->range; > } > > if(c->low<0x200){ > put_cabac_bit(c, 0); > }else if(c->low<0x400){ > c->outstanding_count++; > c->low -= 0x200; > }else{ > put_cabac_bit(c, 1); > c->low -= 0x400; > } > > > > >} > > > > > >static inline int put_cabac_terminate(CABACContext *c, int bit){ > c->range -= 2; > > if(!bit){ > renorm_cabac_encoder(c); > }else{ > c->low += c->range; > c->range= 2; > > renorm_cabac_encoder(c); > > ((void) (__builtin_expect (!!(c->low <= 0x1FF), 1) ? 0 : (__assert_fail ("c->low <= 0x1FF", "cabac.h", 158, __PRETTY_FUNCTION__), 0))); > put_cabac_bit(c, c->low>>9); > put_bits(&c->pb, 2, ((c->low>>7)&3)|1); > > flush_put_bits(&c->pb); > } > > > > > > return (put_bits_count(&c->pb)+7)>>3; >} > > > > >static inline void put_cabac_u(CABACContext *c, uint8_t * state, int v, int max, int max_index, int truncated){ > int i; > > ((void) (__builtin_expect (!!(v <= max), 1) ? 0 : (__assert_fail ("v <= max", "cabac.h", 178, __PRETTY_FUNCTION__), 0))); > > > for(i=0; i<v; i++){ > put_cabac(c, state, 1); > if(i < max_index) state++; > } > if(truncated==0 || v<max) > put_cabac(c, state, 0); ># 205 "cabac.h" >} > > > > >static inline void put_cabac_ueg(CABACContext *c, uint8_t * state, int v, int max, int is_signed, int k, int max_index){ > int i; > > if(v==0) > put_cabac(c, state, 0); > else{ > const int sign= v < 0; > > if(is_signed) v= ((v) >= 0 ? (v) : (-(v))); > > if(v<max){ > for(i=0; i<v; i++){ > put_cabac(c, state, 1); > if(i < max_index) state++; > } > > put_cabac(c, state, 0); > }else{ > int m= 1<<k; > > for(i=0; i<max; i++){ > put_cabac(c, state, 1); > if(i < max_index) state++; > } > > v -= max; > while(v >= m){ > put_cabac_bypass(c, 1); > v-= m; > m+= m; > } > put_cabac_bypass(c, 0); > while(m>>=1){ > put_cabac_bypass(c, v&m); > } > } > > if(is_signed) > put_cabac_bypass(c, sign); > } >} > >static inline void renorm_cabac_decoder(CABACContext *c){ > while(c->range < 0x10000){ > c->range+= c->range; > c->low+= c->low; > if(--c->bits_left == 0){ > if(c->bytestream < c->bytestream_end) > c->low+= *c->bytestream; > c->bytestream++; > c->bits_left= 8; > } > } >} > >static inline int get_cabac(CABACContext *c, uint8_t * const state){ > int RangeLPS= c->lps_range[*state][((c->range)>>14)&3]<<8; > int bit; > > c->range -= RangeLPS; > if(c->low < c->range){ > bit= (*state)&1; > *state= c->mps_state[*state]; > }else{ > bit= ((*state)&1)^1; > c->low -= c->range; > c->range = RangeLPS; > *state= c->lps_state[*state]; > } > renorm_cabac_decoder(c); > > return bit; >} > >static inline int get_cabac_static(CABACContext *c, int RangeLPS){ > int bit; > > c->range -= RangeLPS; > if(c->low < c->range){ > bit= 0; > }else{ > bit= 1; > c->low -= c->range; > c->range = RangeLPS; > } > renorm_cabac_decoder(c); > > return bit; >} > >static inline int get_cabac_bypass(CABACContext *c){ > c->low += c->low; > > if(--c->bits_left == 0){ > if(c->bytestream < c->bytestream_end) > c->low+= *c->bytestream; > c->bytestream++; > c->bits_left= 8; > } > > if(c->low < c->range){ > return 0; > }else{ > c->low -= c->range; > return 1; > } >} > > > > > >static inline int get_cabac_terminate(CABACContext *c){ > c->range -= 2<<8; > if(c->low < c->range){ > renorm_cabac_decoder(c); > return 0; > }else{ > return c->bytestream - c->bytestream_start; > } >} > > > > >static inline int get_cabac_u(CABACContext *c, uint8_t * state, int max, int max_index, int truncated){ > int i; > > for(i=0; i<max; i++){ > if(get_cabac(c, state)==0) > return i; > > if(i< max_index) state++; > } > > return truncated ? max : -1; >} > > > > >static inline int get_cabac_ueg(CABACContext *c, uint8_t * state, int max, int is_signed, int k, int max_index){ > int i, v; > int m= 1<<k; > > if(get_cabac(c, state)==0) > return 0; > > if(0 < max_index) state++; > > for(i=1; i<max; i++){ > if(get_cabac(c, state)==0){ > if(is_signed && get_cabac_bypass(c)){ > return -i; > }else > return i; > } > > if(i < max_index) state++; > } > > while(get_cabac_bypass(c)){ > i+= m; > m+= m; > } > > v=0; > while(m>>=1){ > v+= v + get_cabac_bypass(c); > } > i += v; > > if(is_signed && get_cabac_bypass(c)){ > return -i; > }else > return i; >} ># 31 "ffv1.c" 2 ># 1 "golomb.h" 1 ># 31 "golomb.h" >extern const uint8_t ff_golomb_vlc_len[512]; >extern const uint8_t ff_ue_golomb_vlc_code[512]; >extern const int8_t ff_se_golomb_vlc_code[512]; >extern const uint8_t ff_ue_golomb_len[256]; > >extern const uint8_t ff_interleaved_golomb_vlc_len[256]; >extern const uint8_t ff_interleaved_ue_golomb_vlc_code[256]; >extern const int8_t ff_interleaved_se_golomb_vlc_code[256]; > > > > > >static inline int get_ue_golomb(GetBitContext *gb){ > unsigned int buf; > int log; > > int re_index= (gb)->index; int re_cache= 0;; > re_cache= unaligned32_be( ((uint8_t *)(gb)->buffer)+(re_index>>3) ) << (re_index&0x07);; > buf=((uint32_t)re_cache); > > if(buf >= (1<<27)){ > buf >>= 32 - 9; > re_index += (ff_golomb_vlc_len[buf]);; > (gb)->index= re_index;; > > return ff_ue_golomb_vlc_code[buf]; > }else{ > log= 2*av_log2(buf) - 31; > buf>>= log; > buf--; > re_index += (32 - log);; > (gb)->index= re_index;; > > return buf; > } >} > >static inline int svq3_get_ue_golomb(GetBitContext *gb){ > uint32_t buf; > int log; > > int re_index= (gb)->index; int re_cache= 0;; > re_cache= unaligned32_be( ((uint8_t *)(gb)->buffer)+(re_index>>3) ) << (re_index&0x07);; > buf=((uint32_t)re_cache); > > if(buf&0xAA800000){ > buf >>= 32 - 8; > re_index += (ff_interleaved_golomb_vlc_len[buf]);; > (gb)->index= re_index;; > > return ff_interleaved_ue_golomb_vlc_code[buf]; > }else{ > re_index += (8);; > re_cache= unaligned32_be( ((uint8_t *)(gb)->buffer)+(re_index>>3) ) << (re_index&0x07);; > buf |= 1 | (((uint32_t)re_cache) >> 8); > > if((buf & 0xAAAAAAAA) == 0) > return 0x80000000; > > for(log=31; (buf & 0x80000000) == 0; log--){ > buf = (buf << 2) - ((buf << log) >> (log - 1)) + (buf >> 30); > } > > re_index += (63 - 2*log - 8);; > (gb)->index= re_index;; > > return ((buf << log) >> log) - 1; > } >} > > > > >static inline int get_te0_golomb(GetBitContext *gb, int range){ > ((void) (__builtin_expect (!!(range >= 1), 1) ? 0 : (__assert_fail ("range >= 1", "golomb.h", 106, __PRETTY_FUNCTION__), 0))); > > if(range==1) return 0; > else if(range==2) return get_bits1(gb)^1; > else return get_ue_golomb(gb); >} > > > > >static inline int get_te_golomb(GetBitContext *gb, int range){ > ((void) (__builtin_expect (!!(range >= 1), 1) ? 0 : (__assert_fail ("range >= 1", "golomb.h", 117, __PRETTY_FUNCTION__), 0))); > > if(range==2) return get_bits1(gb)^1; > else return get_ue_golomb(gb); >} > > > > > >static inline int get_se_golomb(GetBitContext *gb){ > unsigned int buf; > int log; > > int re_index= (gb)->index; int re_cache= 0;; > re_cache= unaligned32_be( ((uint8_t *)(gb)->buffer)+(re_index>>3) ) << (re_index&0x07);; > buf=((uint32_t)re_cache); > > if(buf >= (1<<27)){ > buf >>= 32 - 9; > re_index += (ff_golomb_vlc_len[buf]);; > (gb)->index= re_index;; > > return ff_se_golomb_vlc_code[buf]; > }else{ > log= 2*av_log2(buf) - 31; > buf>>= log; > > re_index += (32 - log);; > (gb)->index= re_index;; > > if(buf&1) buf= -(buf>>1); > else buf= (buf>>1); > > return buf; > } >} > >static inline int svq3_get_se_golomb(GetBitContext *gb){ > unsigned int buf; > int log; > > int re_index= (gb)->index; int re_cache= 0;; > re_cache= unaligned32_be( ((uint8_t *)(gb)->buffer)+(re_index>>3) ) << (re_index&0x07);; > buf=((uint32_t)re_cache); > > if(buf&0xAA800000){ > buf >>= 32 - 8; > re_index += (ff_interleaved_golomb_vlc_len[buf]);; > (gb)->index= re_index;; > > return ff_interleaved_se_golomb_vlc_code[buf]; > }else{ > buf |=1; > if((buf & 0xAAAAAAAA) == 0) > return 0x80000000; > > for(log=31; (buf & 0x80000000) == 0; log--){ > buf = (buf << 2) - ((buf << log) >> (log - 1)) + (buf >> 30); > } > > re_index += (63 - 2*log);; > (gb)->index= re_index;; > > return (signed) (((((buf << log) >> log) - 1) ^ -(buf & 0x1)) + 1) >> 1; > } >} > > > > >static inline int get_ur_golomb(GetBitContext *gb, int k, int limit, int esc_len){ > unsigned int buf; > int log; > > int re_index= (gb)->index; int re_cache= 0;; > re_cache= unaligned32_be( ((uint8_t *)(gb)->buffer)+(re_index>>3) ) << (re_index&0x07);; > buf=((uint32_t)re_cache); > > log= av_log2(buf); > > if(log > 31-limit){ > buf >>= log - k; > buf += (30-log)<<k; > re_index += (32 + k - log);; > (gb)->index= re_index;; > > return buf; > }else{ > buf >>= 32 - limit - esc_len; > re_index += (esc_len + limit);; > (gb)->index= re_index;; > > return buf + limit - 1; > } >} > > > > >static inline int get_ur_golomb_jpegls(GetBitContext *gb, int k, int limit, int esc_len){ > unsigned int buf; > int log; > > int re_index= (gb)->index; int re_cache= 0;; > re_cache= unaligned32_be( ((uint8_t *)(gb)->buffer)+(re_index>>3) ) << (re_index&0x07);; > buf=((uint32_t)re_cache); > > log= av_log2(buf); > > if(log > 31-11){ > buf >>= log - k; > buf += (30-log)<<k; > re_index += (32 + k - log);; > (gb)->index= re_index;; > > return buf; > }else{ > int i; > for(i=0; NEG_USR32(re_cache, 1) == 0; i++){ > re_index += (1);; > re_cache= unaligned32_be( ((uint8_t *)(gb)->buffer)+(re_index>>3) ) << (re_index&0x07);; > } > { re_cache <<= (1); re_index += (1); }; > > if(i < limit - 1){ > if(k){ > buf = NEG_USR32(re_cache, k); > re_index += (k);; > }else{ > buf=0; > } > > (gb)->index= re_index;; > return buf + (i<<k); > }else if(i == limit - 1){ > buf = NEG_USR32(re_cache, esc_len); > re_index += (esc_len);; > (gb)->index= re_index;; > > return buf + 1; > }else > return -1; > } >} > > > > >static inline int get_sr_golomb(GetBitContext *gb, int k, int limit, int esc_len){ > int v= get_ur_golomb(gb, k, limit, esc_len); > > v++; > if (v&1) return v>>1; > else return -(v>>1); > > >} > > > > >static inline int get_sr_golomb_flac(GetBitContext *gb, int k, int limit, int esc_len){ > int v= get_ur_golomb_jpegls(gb, k, limit, esc_len); > return (v>>1) ^ -(v&1); >} ># 338 "golomb.h" >static inline void set_ue_golomb(PutBitContext *pb, int i){ > int e; > > ((void) (__builtin_expect (!!(i>=0), 1) ? 0 : (__assert_fail ("i>=0", "golomb.h", 341, __PRETTY_FUNCTION__), 0))); > > > > > > > > if(i<256) > put_bits(pb, ff_ue_golomb_len[i], i+1); > else{ > e= av_log2(i+1); > > put_bits(pb, 2*e+1, i+1); > } >} > > > > >static inline void set_te_golomb(PutBitContext *pb, int i, int range){ > ((void) (__builtin_expect (!!(range >= 1), 1) ? 0 : (__assert_fail ("range >= 1", "golomb.h", 362, __PRETTY_FUNCTION__), 0))); > ((void) (__builtin_expect (!!(i<=range), 1) ? 0 : (__assert_fail ("i<=range", "golomb.h", 363, __PRETTY_FUNCTION__), 0))); > > if(range==2) put_bits(pb, 1, i^1); > else set_ue_golomb(pb, i); >} > > > > >static inline void set_se_golomb(PutBitContext *pb, int i){ > > > > > i= 2*i-1; > if(i<0) i^= -1; > > > > > set_ue_golomb(pb, i); >} > > > > >static inline void set_ur_golomb(PutBitContext *pb, int i, int k, int limit, int esc_len){ > int e; > > ((void) (__builtin_expect (!!(i>=0), 1) ? 0 : (__assert_fail ("i>=0", "golomb.h", 392, __PRETTY_FUNCTION__), 0))); > > e= i>>k; > if(e<limit){ > put_bits(pb, e + k + 1, (1<<k) + (i&((1<<k)-1))); > }else{ > put_bits(pb, limit + esc_len, i - limit + 1); > } >} > > > > >static inline void set_ur_golomb_jpegls(PutBitContext *pb, int i, int k, int limit, int esc_len){ > int e; > > ((void) (__builtin_expect (!!(i>=0), 1) ? 0 : (__assert_fail ("i>=0", "golomb.h", 408, __PRETTY_FUNCTION__), 0))); > > e= (i>>k) + 1; > if(e<limit){ > put_bits(pb, e, 1); > if(k) > put_bits(pb, k, i&((1<<k)-1)); > }else{ > put_bits(pb, limit , 1); > put_bits(pb, esc_len, i - 1); > } >} > > > > >static inline void set_sr_golomb(PutBitContext *pb, int i, int k, int limit, int esc_len){ > int v; > > v = -2*i-1; > v ^= (v>>31); > > set_ur_golomb(pb, v, k, limit, esc_len); >} > > > > >static inline void set_sr_golomb_flac(PutBitContext *pb, int i, int k, int limit, int esc_len){ > int v; > > v = -2*i-1; > v ^= (v>>31); > > set_ur_golomb_jpegls(pb, v, k, limit, esc_len); >} ># 32 "ffv1.c" 2 > > > > >static const int8_t quant3[256]={ > 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, > 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, > 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, > 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, > 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, > 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, > 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, > 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, >-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, >-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, >-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, >-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, >-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, >-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, >-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, >-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, >}; >static const int8_t quant5[256]={ > 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, >-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2, >-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2, >-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2, >-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2, >-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2, >-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2, >-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2, >-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-1,-1,-1, >}; >static const int8_t quant7[256]={ > 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, > 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, > 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, > 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, > 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, > 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, > 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, >-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3, >-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3, >-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3, >-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3, >-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3, >-3,-3,-3,-3,-3,-3,-3,-3,-3,-2,-2,-2,-2,-2,-2,-2, >-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2, >-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-1,-1, >}; >static const int8_t quant9[256]={ > 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, > 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, > 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, > 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, > 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, > 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, > 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, > 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, >-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4, >-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4, >-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4, >-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4, >-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4, >-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4, >-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-3,-3,-3,-3, >-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-2,-2,-2,-2,-1,-1, >}; >static const int8_t quant11[256]={ > 0, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, > 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, > 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, > 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, > 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, > 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, > 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, > 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, >-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5, >-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5, >-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5, >-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5, >-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5, >-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-4,-4, >-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4, >-4,-4,-4,-4,-4,-3,-3,-3,-3,-3,-3,-3,-2,-2,-2,-1, >}; >static const int8_t quant13[256]={ > 0, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, > 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, > 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, > 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, > 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, > 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, > 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, > 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, >-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6, >-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6, >-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6, >-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6, >-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-5, >-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5, >-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5, >-4,-4,-4,-4,-4,-4,-4,-4,-4,-3,-3,-3,-3,-2,-2,-1, >}; > >static const uint8_t log2_run[32]={ > 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, > 4, 4, 5, 5, 6, 6, 7, 7, > 8, 9,10,11,12,13,14,15, >}; > >typedef struct VlcState{ > int16_t drift; > uint16_t error_sum; > int8_t bias; > uint8_t count; >} VlcState; > >typedef struct PlaneContext{ > int context_count; > uint8_t (*state)[32]; > VlcState *vlc_state; > uint8_t interlace_bit_state[2]; >} PlaneContext; > >typedef struct FFV1Context{ > AVCodecContext *avctx; > CABACContext c; > GetBitContext gb; > PutBitContext pb; > int version; > int width, height; > int chroma_h_shift, chroma_v_shift; > int flags; > int picture_number; > AVFrame picture; > int plane_count; > int ac; > PlaneContext plane[4]; > int16_t quant_table[5][256]; > int run_index; > int colorspace; > > DSPContext dsp; >}FFV1Context; > >static __attribute__((always_inline)) inline int fold(int diff, int bits){ > if(bits==8) > diff= (int8_t)diff; > else{ > diff+= 1<<(bits-1); > diff&=(1<<bits)-1; > diff-= 1<<(bits-1); > } > > return diff; >} > >static inline int predict(int_fast16_t *src, int_fast16_t *last){ > const int LT= last[-1]; > const int T= last[ 0]; > const int L = src[-1]; > > return mid_pred(L, L + T - LT, T); >} > >static inline int get_context(FFV1Context *f, int_fast16_t *src, int_fast16_t *last, int_fast16_t *last2){ > const int LT= last[-1]; > const int T= last[ 0]; > const int RT= last[ 1]; > const int L = src[-1]; > > if(f->quant_table[3][127]){ > const int TT= last2[0]; > const int LL= src[-2]; > return f->quant_table[0][(L-LT) & 0xFF] + f->quant_table[1][(LT-T) & 0xFF] + f->quant_table[2][(T-RT) & 0xFF] > +f->quant_table[3][(LL-L) & 0xFF] + f->quant_table[4][(TT-T) & 0xFF]; > }else > return f->quant_table[0][(L-LT) & 0xFF] + f->quant_table[1][(LT-T) & 0xFF] + f->quant_table[2][(T-RT) & 0xFF]; >} > > > > >static inline void put_symbol(CABACContext *c, uint8_t *state, int v, int is_signed, int max_exp){ > int i; > > if(v){ > const int a= ((v) >= 0 ? (v) : (-(v))); > const int e= av_log2(a); > > put_cabac(c, state+0, 0); > > for(i=0; i<e; i++){ > put_cabac(c, state+1+i, 1); > } > > if(e<max_exp){ > put_cabac(c, state+1+i, 0); > > for(i=e-1; i>=0; i--){ > put_cabac(c, state+16+e+i, (a>>i)&1); > } > if(is_signed) > put_cabac(c, state+9 + e, v < 0); > } > }else{ > put_cabac(c, state+0, 1); > } >} > >static inline int get_symbol(CABACContext *c, uint8_t *state, int is_signed, int max_exp){ > if(get_cabac(c, state+0)) > return 0; > else{ > int i, e; > > for(e=0; e<max_exp; e++){ > int a= 1<<e; > > if(get_cabac(c, state + 1 + e)==0){ > for(i=e-1; i>=0; i--){ > a += get_cabac(c, state+16+e+i)<<i; > } > > if(is_signed && get_cabac(c, state+9 + e)) > return -a; > else > return a; > } > } > return -(1<<e); > } >} > >static inline void update_vlc_state(VlcState * const state, const int v){ > int drift= state->drift; > int count= state->count; > state->error_sum += ((v) >= 0 ? (v) : (-(v))); > drift += v; > > if(count == 128){ > count >>= 1; > drift >>= 1; > state->error_sum >>= 1; > } > count++; > > if(drift <= -count){ > if(state->bias > -128) state->bias--; > > drift += count; > if(drift <= -count) > drift= -count + 1; > }else if(drift > 0){ > if(state->bias < 127) state->bias++; > > drift -= count; > if(drift > 0) > drift= 0; > } > > state->drift= drift; > state->count= count; >} > >static inline void put_vlc_symbol(PutBitContext *pb, VlcState * const state, int v, int bits){ > int i, k, code; > > v = fold(v - state->bias, bits); > > i= state->count; > k=0; > while(i < state->error_sum){ > k++; > i += i; > } > > ((void) (__builtin_expect (!!(k<=8), 1) ? 0 : (__assert_fail ("k<=8", "ffv1.c", 318, __PRETTY_FUNCTION__), 0))); > > > > > > code= v ^ ((2*state->drift + state->count)>>31); > > > > set_sr_golomb(pb, code, k, 12, bits); > > update_vlc_state(state, v); >} > >static inline int get_vlc_symbol(GetBitContext *gb, VlcState * const state, int bits){ > int k, i, v, ret; > > i= state->count; > k=0; > while(i < state->error_sum){ > k++; > i += i; > } > > ((void) (__builtin_expect (!!(k<=8), 1) ? 0 : (__assert_fail ("k<=8", "ffv1.c", 343, __PRETTY_FUNCTION__), 0))); > > v= get_sr_golomb(gb, k, 12, bits); > > > > > > v ^= ((2*state->drift + state->count)>>31); > > > ret= fold(v + state->bias, bits); > > update_vlc_state(state, v); > > return ret; >} > >static inline void encode_line(FFV1Context *s, int w, int_fast16_t *sample[2], int plane_index, int bits){ > PlaneContext * const p= &s->plane[plane_index]; > CABACContext * const c= &s->c; > int x; > int run_index= s->run_index; > int run_count=0; > int run_mode=0; > > for(x=0; x<w; x++){ > int diff, context; > > context= get_context(s, sample[0]+x, sample[1]+x, sample[2]+x); > diff= sample[0][x] - predict(sample[0]+x, sample[1]+x); > > if(context < 0){ > context = -context; > diff= -diff; > } > > diff= fold(diff, bits); > > if(s->ac){ > put_symbol(c, p->state[context], diff, 1, bits-1); > }else{ > if(context == 0) run_mode=1; > > if(run_mode){ > > if(diff){ > while(run_count >= 1<<log2_run[run_index]){ > run_count -= 1<<log2_run[run_index]; > run_index++; > put_bits(&s->pb, 1, 1); > } > > put_bits(&s->pb, 1 + log2_run[run_index], run_count); > if(run_index) run_index--; > run_count=0; > run_mode=0; > if(diff>0) diff--; > }else{ > run_count++; > } > } > > > > if(run_mode == 0) > put_vlc_symbol(&s->pb, &p->vlc_state[context], diff, bits); > } > } > if(run_mode){ > while(run_count >= 1<<log2_run[run_index]){ > run_count -= 1<<log2_run[run_index]; > run_index++; > put_bits(&s->pb, 1, 1); > } > > if(run_count) > put_bits(&s->pb, 1, 1); > } > s->run_index= run_index; >} > >static void encode_plane(FFV1Context *s, uint8_t *src, int w, int h, int stride, int plane_index){ > int x,y,i; > const int ring_size= s->avctx->context_model ? 3 : 2; > int_fast16_t sample_buffer[ring_size][w+6], *sample[ring_size]; > s->run_index=0; > > memset(sample_buffer, 0, sizeof(sample_buffer)); > > for(y=0; y<h; y++){ > for(i=0; i<ring_size; i++) > sample[i]= sample_buffer[(h+i-y)%ring_size]+3; > > sample[0][-1]= sample[1][0 ]; > sample[1][ w]= sample[1][w-1]; > > for(x=0; x<w; x++){ > sample[0][x]= src[x + stride*y]; > } > encode_line(s, w, sample, plane_index, 8); > > } >} > >static void encode_rgb_frame(FFV1Context *s, uint32_t *src, int w, int h, int stride){ > int x, y, p, i; > const int ring_size= s->avctx->context_model ? 3 : 2; > int_fast16_t sample_buffer[3][ring_size][w+6], *sample[3][ring_size]; > s->run_index=0; > > memset(sample_buffer, 0, sizeof(sample_buffer)); > > for(y=0; y<h; y++){ > for(i=0; i<ring_size; i++) > for(p=0; p<3; p++) > sample[p][i]= sample_buffer[p][(h+i-y)%ring_size]+3; > > for(x=0; x<w; x++){ > int v= src[x + stride*y]; > int b= v&0xFF; > int g= (v>>8)&0xFF; > int r= (v>>16)&0xFF; > > b -= g; > r -= g; > g += (b + r)>>2; > b += 0x100; > r += 0x100; > > > > sample[0][0][x]= g; > sample[1][0][x]= b; > sample[2][0][x]= r; > } > for(p=0; p<3; p++){ > sample[p][0][-1]= sample[p][1][0 ]; > sample[p][1][ w]= sample[p][1][w-1]; > encode_line(s, w, sample[p], ((p) > (1) ? (1) : (p)), 9); > } > } >} > >static void write_quant_table(CABACContext *c, int16_t *quant_table){ > int last=0; > int i; > uint8_t state[32]={0}; > > for(i=1; i<128 ; i++){ > if(quant_table[i] != quant_table[i-1]){ > put_symbol(c, state, i-last-1, 0, 7); > last= i; > } > } > put_symbol(c, state, i-last-1, 0, 7); >} > >static void write_header(FFV1Context *f){ > uint8_t state[32]={0}; > int i; > CABACContext * const c= &f->c; > > put_symbol(c, state, f->version, 0, 7); > put_symbol(c, state, f->avctx->coder_type, 0, 7); > put_symbol(c, state, f->colorspace, 0, 7); > put_cabac(c, state, 1); > put_symbol(c, state, f->chroma_h_shift, 0, 7); > put_symbol(c, state, f->chroma_v_shift, 0, 7); > put_cabac(c, state, 0); > > for(i=0; i<5; i++) > write_quant_table(c, f->quant_table[i]); >} > >static int common_init(AVCodecContext *avctx){ > FFV1Context *s = avctx->priv_data; > int width, height; > > s->avctx= avctx; > s->flags= avctx->flags; > > dsputil_init(&s->dsp, avctx); > > width= s->width= avctx->width; > height= s->height= avctx->height; > > ((void) (__builtin_expect (!!(width && height), 1) ? 0 : (__assert_fail ("width && height", "ffv1.c", 530, __PRETTY_FUNCTION__), 0))); > > return 0; >} > >static int encode_init(AVCodecContext *avctx) >{ > FFV1Context *s = avctx->priv_data; > int i; > > if(avctx->strict_std_compliance >= 0){ > av_log(avctx, 0, "this codec is under development, files encoded with it wont be decodeable with future versions!!!\n" > "use vstrict=-1 to use it anyway\n"); > return -1; > } > > common_init(avctx); > > s->version=0; > s->ac= avctx->coder_type; > > s->plane_count=2; > for(i=0; i<256; i++){ > s->quant_table[0][i]= quant11[i]; > s->quant_table[1][i]= 11*quant11[i]; > if(avctx->context_model==0){ > s->quant_table[2][i]= 11*11*quant11[i]; > s->quant_table[3][i]= > s->quant_table[4][i]=0; > }else{ > s->quant_table[2][i]= 11*11*quant5 [i]; > s->quant_table[3][i]= 5*11*11*quant5 [i]; > s->quant_table[4][i]= 5*5*11*11*quant5 [i]; > } > } > > for(i=0; i<s->plane_count; i++){ > PlaneContext * const p= &s->plane[i]; > > if(avctx->context_model==0){ > p->context_count= (11*11*11+1)/2; > }else{ > p->context_count= (11*11*5*5*5+1)/2; > } > > if(s->ac){ > if(!p->state) p->state= av_malloc(32*p->context_count*sizeof(uint8_t)); > }else{ > if(!p->vlc_state) p->vlc_state= av_malloc(p->context_count*sizeof(VlcState)); > } > } > > avctx->coded_frame= &s->picture; > switch(avctx->pix_fmt){ > case PIX_FMT_YUV444P: > case PIX_FMT_YUV422P: > case PIX_FMT_YUV420P: > case PIX_FMT_YUV411P: > case PIX_FMT_YUV410P: > s->colorspace= 0; > break; > case PIX_FMT_RGBA32: > s->colorspace= 1; > break; > default: > av_log(avctx, 0, "format not supported\n"); > return -1; > } > avcodec_get_chroma_sub_sample(avctx->pix_fmt, &s->chroma_h_shift, &s->chroma_v_shift); > > s->picture_number=0; > > return 0; >} > > >static void clear_state(FFV1Context *f){ > int i, j; > > for(i=0; i<f->plane_count; i++){ > PlaneContext *p= &f->plane[i]; > > p->interlace_bit_state[0]= 0; > p->interlace_bit_state[1]= 0; > > for(j=0; j<p->context_count; j++){ > if(f->ac){ > memset(p->state[j], 0, sizeof(uint8_t)*32); > p->state[j][7] = 2*62; > }else{ > p->vlc_state[j].drift= 0; > p->vlc_state[j].error_sum= 4; > p->vlc_state[j].bias= 0; > p->vlc_state[j].count= 1; > } > } > } >} > >static int encode_frame(AVCodecContext *avctx, unsigned char *buf, int buf_size, void *data){ > FFV1Context *f = avctx->priv_data; > CABACContext * const c= &f->c; > AVFrame *pict = data; > const int width= f->width; > const int height= f->height; > AVFrame * const p= &f->picture; > int used_count= 0; > > ff_init_cabac_encoder(c, buf, buf_size); > ff_init_cabac_states(c, ff_h264_lps_range, ff_h264_mps_state, ff_h264_lps_state, 64); > c->lps_state[2] = 1; > c->lps_state[3] = 0; > > *p = *pict; > p->pict_type= 1; > > if(avctx->gop_size==0 || f->picture_number % avctx->gop_size == 0){ > put_cabac_bypass(c, 1); > p->key_frame= 1; > write_header(f); > clear_state(f); > }else{ > put_cabac_bypass(c, 0); > p->key_frame= 0; > } > > if(!f->ac){ > used_count += put_cabac_terminate(c, 1); > > init_put_bits(&f->pb, buf + used_count, buf_size - used_count); > } > > if(f->colorspace==0){ > const int chroma_width = -((-width )>>f->chroma_h_shift); > const int chroma_height= -((-height)>>f->chroma_v_shift); > > encode_plane(f, p->data[0], width, height, p->linesize[0], 0); > > encode_plane(f, p->data[1], chroma_width, chroma_height, p->linesize[1], 1); > encode_plane(f, p->data[2], chroma_width, chroma_height, p->linesize[2], 1); > }else{ > encode_rgb_frame(f, (uint32_t*)(p->data[0]), width, height, p->linesize[0]/4); > } > { if (mm_flags & 0x0001) emms();}; > > f->picture_number++; > > if(f->ac){ > return put_cabac_terminate(c, 1); > }else{ > flush_put_bits(&f->pb); > return used_count + (put_bits_count(&f->pb)+7)/8; > } >} > >static void common_end(FFV1Context *s){ > int i; > > for(i=0; i<s->plane_count; i++){ > PlaneContext *p= &s->plane[i]; > > av_freep(&p->state); > } >} > >static int encode_end(AVCodecContext *avctx) >{ > FFV1Context *s = avctx->priv_data; > > common_end(s); > > return 0; >} > >static inline void decode_line(FFV1Context *s, int w, int_fast16_t *sample[2], int plane_index, int bits){ > PlaneContext * const p= &s->plane[plane_index]; > CABACContext * const c= &s->c; > int x; > int run_count=0; > int run_mode=0; > int run_index= s->run_index; > > for(x=0; x<w; x++){ > int diff, context, sign; > > context= get_context(s, sample[1] + x, sample[0] + x, sample[1] + x); > if(context < 0){ > context= -context; > sign=1; > }else > sign=0; > > > if(s->ac) > diff= get_symbol(c, p->state[context], 1, bits-1); > else{ > if(context == 0 && run_mode==0) run_mode=1; > > if(run_mode){ > if(run_count==0 && run_mode==1){ > if(get_bits1(&s->gb)){ > run_count = 1<<log2_run[run_index]; > if(x + run_count <= w) run_index++; > }else{ > if(log2_run[run_index]) run_count = get_bits(&s->gb, log2_run[run_index]); > else run_count=0; > if(run_index) run_index--; > run_mode=2; > } > } > run_count--; > if(run_count < 0){ > run_mode=0; > run_count=0; > diff= get_vlc_symbol(&s->gb, &p->vlc_state[context], bits); > if(diff>=0) diff++; > }else > diff=0; > }else > diff= get_vlc_symbol(&s->gb, &p->vlc_state[context], bits); > > > } > > if(sign) diff= -diff; > > sample[1][x]= (predict(sample[1] + x, sample[0] + x) + diff) & ((1<<bits)-1); > } > s->run_index= run_index; >} > >static void decode_plane(FFV1Context *s, uint8_t *src, int w, int h, int stride, int plane_index){ > int x, y; > int_fast16_t sample_buffer[2][w+6]; > int_fast16_t *sample[2]= {sample_buffer[0]+3, sample_buffer[1]+3}; > > s->run_index=0; > > memset(sample_buffer, 0, sizeof(sample_buffer)); > > for(y=0; y<h; y++){ > int_fast16_t *temp= sample[0]; > > sample[0]= sample[1]; > sample[1]= temp; > > sample[1][-1]= sample[0][0 ]; > sample[0][ w]= sample[0][w-1]; > > > decode_line(s, w, sample, plane_index, 8); > for(x=0; x<w; x++){ > src[x + stride*y]= sample[1][x]; > } > > } >} > >static void decode_rgb_frame(FFV1Context *s, uint32_t *src, int w, int h, int stride){ > int x, y, p; > int_fast16_t sample_buffer[3][2][w+6]; > int_fast16_t *sample[3][2]= { > {sample_buffer[0][0]+3, sample_buffer[0][1]+3}, > {sample_buffer[1][0]+3, sample_buffer[1][1]+3}, > {sample_buffer[2][0]+3, sample_buffer[2][1]+3}}; > > s->run_index=0; > > memset(sample_buffer, 0, sizeof(sample_buffer)); > > for(y=0; y<h; y++){ > for(p=0; p<3; p++){ > int_fast16_t *temp= sample[p][0]; > > sample[p][0]= sample[p][1]; > sample[p][1]= temp; > > sample[p][1][-1]= sample[p][0][0 ]; > sample[p][0][ w]= sample[p][0][w-1]; > decode_line(s, w, sample[p], ((p) > (1) ? (1) : (p)), 9); > } > for(x=0; x<w; x++){ > int g= sample[0][1][x]; > int b= sample[1][1][x]; > int r= sample[2][1][x]; > > > > > b -= 0x100; > r -= 0x100; > g -= (b + r)>>2; > b += g; > r += g; > > src[x + stride*y]= b + (g<<8) + (r<<16); > } > } >} > >static int read_quant_table(CABACContext *c, int16_t *quant_table, int scale){ > int v; > int i=0; > uint8_t state[32]={0}; > > for(v=0; i<128 ; v++){ > int len= get_symbol(c, state, 0, 7) + 1; > > if(len + i > 128) return -1; > > while(len--){ > quant_table[i] = scale*v; > i++; > > > } > } > > for(i=1; i<128; i++){ > quant_table[256-i]= -quant_table[i]; > } > quant_table[128]= -quant_table[127]; > > return 2*v - 1; >} > >static int read_header(FFV1Context *f){ > uint8_t state[32]={0}; > int i, context_count; > CABACContext * const c= &f->c; > > f->version= get_symbol(c, state, 0, 7); > f->ac= f->avctx->coder_type= get_symbol(c, state, 0, 7); > f->colorspace= get_symbol(c, state, 0, 7); > get_cabac(c, state); > f->chroma_h_shift= get_symbol(c, state, 0, 7); > f->chroma_v_shift= get_symbol(c, state, 0, 7); > get_cabac(c, state); > f->plane_count= 2; > > if(f->colorspace==0){ > switch(16*f->chroma_h_shift + f->chroma_v_shift){ > case 0x00: f->avctx->pix_fmt= PIX_FMT_YUV444P; break; > case 0x10: f->avctx->pix_fmt= PIX_FMT_YUV422P; break; > case 0x11: f->avctx->pix_fmt= PIX_FMT_YUV420P; break; > case 0x20: f->avctx->pix_fmt= PIX_FMT_YUV411P; break; > case 0x33: f->avctx->pix_fmt= PIX_FMT_YUV410P; break; > default: > av_log(f->avctx, 0, "format not supported\n"); > return -1; > } > }else if(f->colorspace==1){ > if(f->chroma_h_shift || f->chroma_v_shift){ > av_log(f->avctx, 0, "chroma subsampling not supported in this colorspace\n"); > return -1; > } > f->avctx->pix_fmt= PIX_FMT_RGBA32; > }else{ > av_log(f->avctx, 0, "colorspace not supported\n"); > return -1; > } > > > > context_count=1; > for(i=0; i<5; i++){ > context_count*= read_quant_table(c, f->quant_table[i], context_count); > if(context_count < 0){ > av_log(f->avctx, 0, "read_quant_table error\n"); > return -1; > } > } > context_count= (context_count+1)/2; > > for(i=0; i<f->plane_count; i++){ > PlaneContext * const p= &f->plane[i]; > > p->context_count= context_count; > > if(f->ac){ > if(!p->state) p->state= av_malloc(32*p->context_count*sizeof(uint8_t)); > }else{ > if(!p->vlc_state) p->vlc_state= av_malloc(p->context_count*sizeof(VlcState)); > } > } > > return 0; >} > >static int decode_init(AVCodecContext *avctx) >{ > > > common_init(avctx); > > return 0; >} > >static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, uint8_t *buf, int buf_size){ > FFV1Context *f = avctx->priv_data; > CABACContext * const c= &f->c; > const int width= f->width; > const int height= f->height; > AVFrame * const p= &f->picture; > int bytes_read; > > AVFrame *picture = data; > > > if (buf_size == 0) > return 0; > > ff_init_cabac_decoder(c, buf, buf_size); > ff_init_cabac_states(c, ff_h264_lps_range, ff_h264_mps_state, ff_h264_lps_state, 64); > c->lps_state[2] = 1; > c->lps_state[3] = 0; > > > p->pict_type= 1; > if(get_cabac_bypass(c)){ > p->key_frame= 1; > read_header(f); > clear_state(f); > }else{ > p->key_frame= 0; > } > > p->reference= 0; > if(avctx->get_buffer(avctx, p) < 0){ > av_log(avctx, 0, "get_buffer() failed\n"); > return -1; > } > > if(avctx->debug&1) > av_log(avctx, 0, "keyframe:%d coder:%d\n", p->key_frame, f->ac); > > if(!f->ac){ > bytes_read = get_cabac_terminate(c); > if(bytes_read ==0) av_log(avctx, 0, "error at end of AC stream\n"); > > init_get_bits(&f->gb, buf + bytes_read, buf_size - bytes_read); > } else { > bytes_read = 0; > } > > if(f->colorspace==0){ > const int chroma_width = -((-width )>>f->chroma_h_shift); > const int chroma_height= -((-height)>>f->chroma_v_shift); > decode_plane(f, p->data[0], width, height, p->linesize[0], 0); > > decode_plane(f, p->data[1], chroma_width, chroma_height, p->linesize[1], 1); > decode_plane(f, p->data[2], chroma_width, chroma_height, p->linesize[2], 1); > }else{ > decode_rgb_frame(f, (uint32_t*)p->data[0], width, height, p->linesize[0]/4); > } > > { if (mm_flags & 0x0001) emms();}; > > f->picture_number++; > > *picture= *p; > > avctx->release_buffer(avctx, p); > > *data_size = sizeof(AVFrame); > > if(f->ac){ > bytes_read= get_cabac_terminate(c); > if(bytes_read ==0) av_log(f->avctx, 0, "error at end of frame\n"); > }else{ > bytes_read+= (get_bits_count(&f->gb)+7)/8; > } > > return bytes_read; >} > >AVCodec ffv1_decoder = { > "ffv1", > CODEC_TYPE_VIDEO, > CODEC_ID_FFV1, > sizeof(FFV1Context), > decode_init, > ((void *)0), > ((void *)0), > decode_frame, > 0x0002 , > ((void *)0) >}; > > >AVCodec ffv1_encoder = { > "ffv1", > CODEC_TYPE_VIDEO, > CODEC_ID_FFV1, > sizeof(FFV1Context), > encode_init, > encode_frame, > encode_end, >};
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 74030
: 45693