# 1 "src/libavcodec/pngenc.c" # 1 "" # 1 "" # 1 "/usr/include/stdc-predef.h" 1 3 4 # 1 "" 2 # 1 "src/libavcodec/pngenc.c" # 22 "src/libavcodec/pngenc.c" # 1 "src/libavcodec/avcodec.h" 1 # 30 "src/libavcodec/avcodec.h" # 1 "/usr/include/errno.h" 1 3 4 # 25 "/usr/include/errno.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 428 "/usr/include/features.h" 3 4 # 1 "/usr/include/sys/cdefs.h" 1 3 4 # 442 "/usr/include/sys/cdefs.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 443 "/usr/include/sys/cdefs.h" 2 3 4 # 1 "/usr/include/bits/long-double.h" 1 3 4 # 444 "/usr/include/sys/cdefs.h" 2 3 4 # 429 "/usr/include/features.h" 2 3 4 # 452 "/usr/include/features.h" 3 4 # 1 "/usr/include/gnu/stubs.h" 1 3 4 # 1 "/usr/include/gnu/stubs-32.h" 1 3 4 # 8 "/usr/include/gnu/stubs.h" 2 3 4 # 453 "/usr/include/features.h" 2 3 4 # 26 "/usr/include/errno.h" 2 3 4 # 1 "/usr/include/bits/errno.h" 1 3 4 # 26 "/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 # 1 "/usr/include/asm-generic/errno.h" 1 3 4 # 1 "/usr/include/asm-generic/errno-base.h" 1 3 4 # 6 "/usr/include/asm-generic/errno.h" 2 3 4 # 1 "/usr/include/asm/errno.h" 2 3 4 # 1 "/usr/include/linux/errno.h" 2 3 4 # 27 "/usr/include/bits/errno.h" 2 3 4 # 29 "/usr/include/errno.h" 2 3 4 # 37 "/usr/include/errno.h" 3 4 extern int *__errno_location (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); # 52 "/usr/include/errno.h" 3 4 # 31 "src/libavcodec/avcodec.h" 2 # 1 "src/libavutil/samplefmt.h" 1 # 22 "src/libavutil/samplefmt.h" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stdint.h" 1 3 4 # 9 "/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stdint.h" 3 4 # 1 "/usr/include/stdint.h" 1 3 4 # 26 "/usr/include/stdint.h" 3 4 # 1 "/usr/include/bits/libc-header-start.h" 1 3 4 # 27 "/usr/include/stdint.h" 2 3 4 # 1 "/usr/include/bits/types.h" 1 3 4 # 27 "/usr/include/bits/types.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 28 "/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; typedef __int8_t __int_least8_t; typedef __uint8_t __uint_least8_t; typedef __int16_t __int_least16_t; typedef __uint16_t __uint_least16_t; typedef __int32_t __int_least32_t; typedef __uint32_t __uint_least32_t; typedef __int64_t __int_least64_t; typedef __uint64_t __uint_least64_t; __extension__ typedef long long int __quad_t; __extension__ typedef unsigned long long int __u_quad_t; __extension__ typedef long long int __intmax_t; __extension__ typedef unsigned long long int __uintmax_t; # 140 "/usr/include/bits/types.h" 3 4 # 1 "/usr/include/bits/typesizes.h" 1 3 4 # 141 "/usr/include/bits/types.h" 2 3 4 __extension__ typedef __u_quad_t __dev_t; __extension__ typedef unsigned int __uid_t; __extension__ typedef unsigned int __gid_t; __extension__ typedef unsigned long int __ino_t; __extension__ typedef __u_quad_t __ino64_t; __extension__ typedef unsigned int __mode_t; __extension__ typedef unsigned int __nlink_t; __extension__ typedef long int __off_t; __extension__ typedef __quad_t __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 __u_quad_t __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 int __key_t; __extension__ typedef int __clockid_t; __extension__ typedef void * __timer_t; __extension__ typedef long int __blksize_t; __extension__ typedef long int __blkcnt_t; __extension__ typedef __quad_t __blkcnt64_t; __extension__ typedef unsigned long int __fsblkcnt_t; __extension__ typedef __u_quad_t __fsblkcnt64_t; __extension__ typedef unsigned long int __fsfilcnt_t; __extension__ typedef __u_quad_t __fsfilcnt64_t; __extension__ typedef int __fsword_t; __extension__ typedef int __ssize_t; __extension__ typedef long int __syscall_slong_t; __extension__ typedef unsigned long int __syscall_ulong_t; typedef __off64_t __loff_t; typedef char *__caddr_t; __extension__ typedef int __intptr_t; __extension__ typedef unsigned int __socklen_t; typedef int __sig_atomic_t; # 28 "/usr/include/stdint.h" 2 3 4 # 1 "/usr/include/bits/wchar.h" 1 3 4 # 29 "/usr/include/stdint.h" 2 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 30 "/usr/include/stdint.h" 2 3 4 # 1 "/usr/include/bits/stdint-intn.h" 1 3 4 # 24 "/usr/include/bits/stdint-intn.h" 3 4 typedef __int8_t int8_t; typedef __int16_t int16_t; typedef __int32_t int32_t; typedef __int64_t int64_t; # 35 "/usr/include/stdint.h" 2 3 4 # 1 "/usr/include/bits/stdint-uintn.h" 1 3 4 # 24 "/usr/include/bits/stdint-uintn.h" 3 4 typedef __uint8_t uint8_t; typedef __uint16_t uint16_t; typedef __uint32_t uint32_t; typedef __uint64_t uint64_t; # 38 "/usr/include/stdint.h" 2 3 4 typedef __int_least8_t int_least8_t; typedef __int_least16_t int_least16_t; typedef __int_least32_t int_least32_t; typedef __int_least64_t int_least64_t; typedef __uint_least8_t uint_least8_t; typedef __uint_least16_t uint_least16_t; typedef __uint_least32_t uint_least32_t; typedef __uint_least64_t 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; # 93 "/usr/include/stdint.h" 3 4 typedef int intptr_t; typedef unsigned int uintptr_t; typedef __intmax_t intmax_t; typedef __uintmax_t uintmax_t; # 10 "/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stdint.h" 2 3 4 # 23 "src/libavutil/samplefmt.h" 2 # 1 "src/libavutil/avutil.h" 1 # 171 "src/libavutil/avutil.h" # 171 "src/libavutil/avutil.h" unsigned avutil_version(void); const char *av_version_info(void); const char *avutil_configuration(void); const char *avutil_license(void); # 199 "src/libavutil/avutil.h" enum AVMediaType { AVMEDIA_TYPE_UNKNOWN = -1, AVMEDIA_TYPE_VIDEO, AVMEDIA_TYPE_AUDIO, AVMEDIA_TYPE_DATA, AVMEDIA_TYPE_SUBTITLE, AVMEDIA_TYPE_ATTACHMENT, AVMEDIA_TYPE_NB }; const char *av_get_media_type_string(enum AVMediaType media_type); # 272 "src/libavutil/avutil.h" enum AVPictureType { AV_PICTURE_TYPE_NONE = 0, AV_PICTURE_TYPE_I, AV_PICTURE_TYPE_P, AV_PICTURE_TYPE_B, AV_PICTURE_TYPE_S, AV_PICTURE_TYPE_SI, AV_PICTURE_TYPE_SP, AV_PICTURE_TYPE_BI, }; # 290 "src/libavutil/avutil.h" char av_get_picture_type_char(enum AVPictureType pict_type); # 1 "src/libavutil/common.h" 1 # 34 "src/libavutil/common.h" # 1 "/usr/include/inttypes.h" 1 3 4 # 34 "/usr/include/inttypes.h" 3 4 # 34 "/usr/include/inttypes.h" 3 4 typedef long int __gwchar_t; # 266 "/usr/include/inttypes.h" 3 4 # 280 "/usr/include/inttypes.h" 3 4 typedef struct { __extension__ long long int quot; __extension__ long long int rem; } imaxdiv_t; extern intmax_t imaxabs (intmax_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern imaxdiv_t imaxdiv (intmax_t __numer, intmax_t __denom) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern intmax_t strtoimax (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)); extern uintmax_t strtoumax (const char *__restrict __nptr, char ** __restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)); extern intmax_t wcstoimax (const __gwchar_t *__restrict __nptr, __gwchar_t **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)); extern uintmax_t wcstoumax (const __gwchar_t *__restrict __nptr, __gwchar_t ** __restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)); # 370 "/usr/include/inttypes.h" 3 4 __extension__ extern long long int __strtoll_internal (const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern __inline __attribute__ ((__gnu_inline__)) intmax_t __attribute__ ((__nothrow__ , __leaf__)) strtoimax (const char *__restrict nptr, char **__restrict endptr, int base) { return __strtoll_internal (nptr, endptr, base, 0); } __extension__ extern unsigned long long int __strtoull_internal (const char * __restrict __nptr, char ** __restrict __endptr, int __base, int __group) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern __inline __attribute__ ((__gnu_inline__)) uintmax_t __attribute__ ((__nothrow__ , __leaf__)) 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) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern __inline __attribute__ ((__gnu_inline__)) intmax_t __attribute__ ((__nothrow__ , __leaf__)) 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) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern __inline __attribute__ ((__gnu_inline__)) uintmax_t __attribute__ ((__nothrow__ , __leaf__)) wcstoumax (const __gwchar_t *__restrict nptr, __gwchar_t **__restrict endptr, int base) { return __wcstoull_internal (nptr, endptr, base, 0); } # 35 "src/libavutil/common.h" 2 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include-fixed/limits.h" 1 3 4 # 34 "/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include-fixed/limits.h" 3 4 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include-fixed/syslimits.h" 1 3 4 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include-fixed/limits.h" 1 3 4 # 194 "/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include-fixed/limits.h" 3 4 # 1 "/usr/include/limits.h" 1 3 4 # 26 "/usr/include/limits.h" 3 4 # 1 "/usr/include/bits/libc-header-start.h" 1 3 4 # 27 "/usr/include/limits.h" 2 3 4 # 183 "/usr/include/limits.h" 3 4 # 1 "/usr/include/bits/posix1_lim.h" 1 3 4 # 27 "/usr/include/bits/posix1_lim.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 28 "/usr/include/bits/posix1_lim.h" 2 3 4 # 161 "/usr/include/bits/posix1_lim.h" 3 4 # 1 "/usr/include/bits/local_lim.h" 1 3 4 # 38 "/usr/include/bits/local_lim.h" 3 4 # 1 "/usr/include/linux/limits.h" 1 3 4 # 39 "/usr/include/bits/local_lim.h" 2 3 4 # 162 "/usr/include/bits/posix1_lim.h" 2 3 4 # 184 "/usr/include/limits.h" 2 3 4 # 1 "/usr/include/bits/posix2_lim.h" 1 3 4 # 188 "/usr/include/limits.h" 2 3 4 # 1 "/usr/include/bits/xopen_lim.h" 1 3 4 # 64 "/usr/include/bits/xopen_lim.h" 3 4 # 1 "/usr/include/bits/uio_lim.h" 1 3 4 # 65 "/usr/include/bits/xopen_lim.h" 2 3 4 # 192 "/usr/include/limits.h" 2 3 4 # 195 "/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include-fixed/limits.h" 2 3 4 # 8 "/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include-fixed/syslimits.h" 2 3 4 # 35 "/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include-fixed/limits.h" 2 3 4 # 36 "src/libavutil/common.h" 2 # 1 "/usr/include/math.h" 1 3 4 # 27 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/libc-header-start.h" 1 3 4 # 28 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/bits/math-vector.h" 1 3 4 # 25 "/usr/include/bits/math-vector.h" 3 4 # 1 "/usr/include/bits/libm-simd-decl-stubs.h" 1 3 4 # 26 "/usr/include/bits/math-vector.h" 2 3 4 # 41 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/bits/floatn.h" 1 3 4 # 119 "/usr/include/bits/floatn.h" 3 4 # 1 "/usr/include/bits/floatn-common.h" 1 3 4 # 24 "/usr/include/bits/floatn-common.h" 3 4 # 1 "/usr/include/bits/long-double.h" 1 3 4 # 25 "/usr/include/bits/floatn-common.h" 2 3 4 # 120 "/usr/include/bits/floatn.h" 2 3 4 # 44 "/usr/include/math.h" 2 3 4 # 138 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/flt-eval-method.h" 1 3 4 # 139 "/usr/include/math.h" 2 3 4 # 155 "/usr/include/math.h" 3 4 typedef long double float_t; typedef long double double_t; # 190 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/fp-logb.h" 1 3 4 # 191 "/usr/include/math.h" 2 3 4 # 233 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/fp-fast.h" 1 3 4 # 234 "/usr/include/math.h" 2 3 4 # 289 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls-helper-functions.h" 1 3 4 # 21 "/usr/include/bits/mathcalls-helper-functions.h" 3 4 extern int __fpclassify (double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __signbit (double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __isinf (double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __finite (double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __isnan (double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __iseqsig (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern int __issignaling (double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); # 290 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/bits/mathcalls.h" 1 3 4 # 53 "/usr/include/bits/mathcalls.h" 3 4 extern double acos (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __acos (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double asin (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __asin (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double atan (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __atan (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double atan2 (double __y, double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __atan2 (double __y, double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double cos (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __cos (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double sin (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __sin (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double tan (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __tan (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double cosh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __cosh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double sinh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __sinh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double tanh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __tanh (double __x) __attribute__ ((__nothrow__ , __leaf__)); # 85 "/usr/include/bits/mathcalls.h" 3 4 extern double acosh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __acosh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double asinh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __asinh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double atanh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __atanh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double exp (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __exp (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double frexp (double __x, int *__exponent) __attribute__ ((__nothrow__ , __leaf__)); extern double __frexp (double __x, int *__exponent) __attribute__ ((__nothrow__ , __leaf__)); extern double ldexp (double __x, int __exponent) __attribute__ ((__nothrow__ , __leaf__)); extern double __ldexp (double __x, int __exponent) __attribute__ ((__nothrow__ , __leaf__)); extern double log (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __log (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double log10 (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __log10 (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double modf (double __x, double *__iptr) __attribute__ ((__nothrow__ , __leaf__)); extern double __modf (double __x, double *__iptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); # 119 "/usr/include/bits/mathcalls.h" 3 4 extern double expm1 (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __expm1 (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double log1p (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __log1p (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double logb (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __logb (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double exp2 (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __exp2 (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double log2 (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __log2 (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double pow (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double __pow (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double sqrt (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __sqrt (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double hypot (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double __hypot (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double cbrt (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __cbrt (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double ceil (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __ceil (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double fabs (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __fabs (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double floor (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __floor (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double fmod (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double __fmod (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); # 196 "/usr/include/bits/mathcalls.h" 3 4 extern double copysign (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __copysign (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double nan (const char *__tagb) __attribute__ ((__nothrow__ , __leaf__)); extern double __nan (const char *__tagb) __attribute__ ((__nothrow__ , __leaf__)); # 217 "/usr/include/bits/mathcalls.h" 3 4 extern double j0 (double) __attribute__ ((__nothrow__ , __leaf__)); extern double __j0 (double) __attribute__ ((__nothrow__ , __leaf__)); extern double j1 (double) __attribute__ ((__nothrow__ , __leaf__)); extern double __j1 (double) __attribute__ ((__nothrow__ , __leaf__)); extern double jn (int, double) __attribute__ ((__nothrow__ , __leaf__)); extern double __jn (int, double) __attribute__ ((__nothrow__ , __leaf__)); extern double y0 (double) __attribute__ ((__nothrow__ , __leaf__)); extern double __y0 (double) __attribute__ ((__nothrow__ , __leaf__)); extern double y1 (double) __attribute__ ((__nothrow__ , __leaf__)); extern double __y1 (double) __attribute__ ((__nothrow__ , __leaf__)); extern double yn (int, double) __attribute__ ((__nothrow__ , __leaf__)); extern double __yn (int, double) __attribute__ ((__nothrow__ , __leaf__)); extern double erf (double) __attribute__ ((__nothrow__ , __leaf__)); extern double __erf (double) __attribute__ ((__nothrow__ , __leaf__)); extern double erfc (double) __attribute__ ((__nothrow__ , __leaf__)); extern double __erfc (double) __attribute__ ((__nothrow__ , __leaf__)); extern double lgamma (double) __attribute__ ((__nothrow__ , __leaf__)); extern double __lgamma (double) __attribute__ ((__nothrow__ , __leaf__)); extern double tgamma (double) __attribute__ ((__nothrow__ , __leaf__)); extern double __tgamma (double) __attribute__ ((__nothrow__ , __leaf__)); # 256 "/usr/include/bits/mathcalls.h" 3 4 extern double rint (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __rint (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double nextafter (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double __nextafter (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double nexttoward (double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double __nexttoward (double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); # 272 "/usr/include/bits/mathcalls.h" 3 4 extern double remainder (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double __remainder (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double scalbn (double __x, int __n) __attribute__ ((__nothrow__ , __leaf__)); extern double __scalbn (double __x, int __n) __attribute__ ((__nothrow__ , __leaf__)); extern int ilogb (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern int __ilogb (double __x) __attribute__ ((__nothrow__ , __leaf__)); # 290 "/usr/include/bits/mathcalls.h" 3 4 extern double scalbln (double __x, long int __n) __attribute__ ((__nothrow__ , __leaf__)); extern double __scalbln (double __x, long int __n) __attribute__ ((__nothrow__ , __leaf__)); extern double nearbyint (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __nearbyint (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double round (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __round (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double trunc (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __trunc (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double remquo (double __x, double __y, int *__quo) __attribute__ ((__nothrow__ , __leaf__)); extern double __remquo (double __x, double __y, int *__quo) __attribute__ ((__nothrow__ , __leaf__)); extern long int lrint (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __lrint (double __x) __attribute__ ((__nothrow__ , __leaf__)); __extension__ extern long long int llrint (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long long int __llrint (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int lround (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __lround (double __x) __attribute__ ((__nothrow__ , __leaf__)); __extension__ extern long long int llround (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long long int __llround (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double fdim (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double __fdim (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double fmax (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __fmax (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double fmin (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __fmin (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double fma (double __x, double __y, double __z) __attribute__ ((__nothrow__ , __leaf__)); extern double __fma (double __x, double __y, double __z) __attribute__ ((__nothrow__ , __leaf__)); # 396 "/usr/include/bits/mathcalls.h" 3 4 extern double scalb (double __x, double __n) __attribute__ ((__nothrow__ , __leaf__)); extern double __scalb (double __x, double __n) __attribute__ ((__nothrow__ , __leaf__)); # 291 "/usr/include/math.h" 2 3 4 # 306 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls-helper-functions.h" 1 3 4 # 21 "/usr/include/bits/mathcalls-helper-functions.h" 3 4 extern int __fpclassifyf (float __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __signbitf (float __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __isinff (float __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __finitef (float __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __isnanf (float __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __iseqsigf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern int __issignalingf (float __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); # 307 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/bits/mathcalls.h" 1 3 4 # 53 "/usr/include/bits/mathcalls.h" 3 4 extern float acosf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __acosf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float asinf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __asinf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float atanf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __atanf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float atan2f (float __y, float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __atan2f (float __y, float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float cosf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __cosf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float sinf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __sinf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float tanf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __tanf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float coshf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __coshf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float sinhf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __sinhf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float tanhf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __tanhf (float __x) __attribute__ ((__nothrow__ , __leaf__)); # 85 "/usr/include/bits/mathcalls.h" 3 4 extern float acoshf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __acoshf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float asinhf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __asinhf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float atanhf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __atanhf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float expf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __expf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float frexpf (float __x, int *__exponent) __attribute__ ((__nothrow__ , __leaf__)); extern float __frexpf (float __x, int *__exponent) __attribute__ ((__nothrow__ , __leaf__)); extern float ldexpf (float __x, int __exponent) __attribute__ ((__nothrow__ , __leaf__)); extern float __ldexpf (float __x, int __exponent) __attribute__ ((__nothrow__ , __leaf__)); extern float logf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __logf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float log10f (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __log10f (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float modff (float __x, float *__iptr) __attribute__ ((__nothrow__ , __leaf__)); extern float __modff (float __x, float *__iptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); # 119 "/usr/include/bits/mathcalls.h" 3 4 extern float expm1f (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __expm1f (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float log1pf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __log1pf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float logbf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __logbf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float exp2f (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __exp2f (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float log2f (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __log2f (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float powf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float __powf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float sqrtf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __sqrtf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float hypotf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float __hypotf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float cbrtf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __cbrtf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float ceilf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __ceilf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float fabsf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __fabsf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float floorf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __floorf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float fmodf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float __fmodf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); # 196 "/usr/include/bits/mathcalls.h" 3 4 extern float copysignf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __copysignf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float nanf (const char *__tagb) __attribute__ ((__nothrow__ , __leaf__)); extern float __nanf (const char *__tagb) __attribute__ ((__nothrow__ , __leaf__)); # 228 "/usr/include/bits/mathcalls.h" 3 4 extern float erff (float) __attribute__ ((__nothrow__ , __leaf__)); extern float __erff (float) __attribute__ ((__nothrow__ , __leaf__)); extern float erfcf (float) __attribute__ ((__nothrow__ , __leaf__)); extern float __erfcf (float) __attribute__ ((__nothrow__ , __leaf__)); extern float lgammaf (float) __attribute__ ((__nothrow__ , __leaf__)); extern float __lgammaf (float) __attribute__ ((__nothrow__ , __leaf__)); extern float tgammaf (float) __attribute__ ((__nothrow__ , __leaf__)); extern float __tgammaf (float) __attribute__ ((__nothrow__ , __leaf__)); # 256 "/usr/include/bits/mathcalls.h" 3 4 extern float rintf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __rintf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float nextafterf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float __nextafterf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float nexttowardf (float __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern float __nexttowardf (float __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); # 272 "/usr/include/bits/mathcalls.h" 3 4 extern float remainderf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float __remainderf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float scalbnf (float __x, int __n) __attribute__ ((__nothrow__ , __leaf__)); extern float __scalbnf (float __x, int __n) __attribute__ ((__nothrow__ , __leaf__)); extern int ilogbf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern int __ilogbf (float __x) __attribute__ ((__nothrow__ , __leaf__)); # 290 "/usr/include/bits/mathcalls.h" 3 4 extern float scalblnf (float __x, long int __n) __attribute__ ((__nothrow__ , __leaf__)); extern float __scalblnf (float __x, long int __n) __attribute__ ((__nothrow__ , __leaf__)); extern float nearbyintf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __nearbyintf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float roundf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __roundf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float truncf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __truncf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float remquof (float __x, float __y, int *__quo) __attribute__ ((__nothrow__ , __leaf__)); extern float __remquof (float __x, float __y, int *__quo) __attribute__ ((__nothrow__ , __leaf__)); extern long int lrintf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __lrintf (float __x) __attribute__ ((__nothrow__ , __leaf__)); __extension__ extern long long int llrintf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern long long int __llrintf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int lroundf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __lroundf (float __x) __attribute__ ((__nothrow__ , __leaf__)); __extension__ extern long long int llroundf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern long long int __llroundf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float fdimf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float __fdimf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float fmaxf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __fmaxf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float fminf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __fminf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float fmaf (float __x, float __y, float __z) __attribute__ ((__nothrow__ , __leaf__)); extern float __fmaf (float __x, float __y, float __z) __attribute__ ((__nothrow__ , __leaf__)); # 308 "/usr/include/math.h" 2 3 4 # 349 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls-helper-functions.h" 1 3 4 # 21 "/usr/include/bits/mathcalls-helper-functions.h" 3 4 extern int __fpclassifyl (long double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __signbitl (long double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __isinfl (long double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __finitel (long double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __isnanl (long double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __iseqsigl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern int __issignalingl (long double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); # 350 "/usr/include/math.h" 2 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) __attribute__ ((__nothrow__ , __leaf__)); extern long double __acosl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double asinl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __asinl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double atanl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __atanl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double atan2l (long double __y, long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __atan2l (long double __y, long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double cosl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __cosl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double sinl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __sinl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double tanl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __tanl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double coshl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __coshl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double sinhl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __sinhl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double tanhl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __tanhl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); # 85 "/usr/include/bits/mathcalls.h" 3 4 extern long double acoshl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __acoshl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double asinhl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __asinhl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double atanhl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __atanhl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double expl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __expl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double frexpl (long double __x, int *__exponent) __attribute__ ((__nothrow__ , __leaf__)); extern long double __frexpl (long double __x, int *__exponent) __attribute__ ((__nothrow__ , __leaf__)); extern long double ldexpl (long double __x, int __exponent) __attribute__ ((__nothrow__ , __leaf__)); extern long double __ldexpl (long double __x, int __exponent) __attribute__ ((__nothrow__ , __leaf__)); extern long double logl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __logl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double log10l (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __log10l (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double modfl (long double __x, long double *__iptr) __attribute__ ((__nothrow__ , __leaf__)); extern long double __modfl (long double __x, long double *__iptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); # 119 "/usr/include/bits/mathcalls.h" 3 4 extern long double expm1l (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __expm1l (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double log1pl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __log1pl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double logbl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __logbl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double exp2l (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __exp2l (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double log2l (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __log2l (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double powl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double __powl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double sqrtl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __sqrtl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double hypotl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double __hypotl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double cbrtl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __cbrtl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double ceill (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __ceill (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double fabsl (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __fabsl (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double floorl (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __floorl (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double fmodl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double __fmodl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); # 196 "/usr/include/bits/mathcalls.h" 3 4 extern long double copysignl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __copysignl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double nanl (const char *__tagb) __attribute__ ((__nothrow__ , __leaf__)); extern long double __nanl (const char *__tagb) __attribute__ ((__nothrow__ , __leaf__)); # 228 "/usr/include/bits/mathcalls.h" 3 4 extern long double erfl (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double __erfl (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double erfcl (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double __erfcl (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double lgammal (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double __lgammal (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double tgammal (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double __tgammal (long double) __attribute__ ((__nothrow__ , __leaf__)); # 256 "/usr/include/bits/mathcalls.h" 3 4 extern long double rintl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __rintl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double nextafterl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double __nextafterl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double nexttowardl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double __nexttowardl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); # 272 "/usr/include/bits/mathcalls.h" 3 4 extern long double remainderl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double __remainderl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double scalbnl (long double __x, int __n) __attribute__ ((__nothrow__ , __leaf__)); extern long double __scalbnl (long double __x, int __n) __attribute__ ((__nothrow__ , __leaf__)); extern int ilogbl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern int __ilogbl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); # 290 "/usr/include/bits/mathcalls.h" 3 4 extern long double scalblnl (long double __x, long int __n) __attribute__ ((__nothrow__ , __leaf__)); extern long double __scalblnl (long double __x, long int __n) __attribute__ ((__nothrow__ , __leaf__)); extern long double nearbyintl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __nearbyintl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double roundl (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __roundl (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double truncl (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __truncl (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double remquol (long double __x, long double __y, int *__quo) __attribute__ ((__nothrow__ , __leaf__)); extern long double __remquol (long double __x, long double __y, int *__quo) __attribute__ ((__nothrow__ , __leaf__)); extern long int lrintl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __lrintl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); __extension__ extern long long int llrintl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long long int __llrintl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int lroundl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __lroundl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); __extension__ extern long long int llroundl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long long int __llroundl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double fdiml (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double __fdiml (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double fmaxl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __fmaxl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double fminl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __fminl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double fmal (long double __x, long double __y, long double __z) __attribute__ ((__nothrow__ , __leaf__)); extern long double __fmal (long double __x, long double __y, long double __z) __attribute__ ((__nothrow__ , __leaf__)); # 351 "/usr/include/math.h" 2 3 4 # 420 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls-helper-functions.h" 1 3 4 # 21 "/usr/include/bits/mathcalls-helper-functions.h" 3 4 extern int __fpclassifyf128 (_Float128 __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __signbitf128 (_Float128 __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __isinff128 (_Float128 __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __finitef128 (_Float128 __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __isnanf128 (_Float128 __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern int __iseqsigf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ , __leaf__)); extern int __issignalingf128 (_Float128 __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); # 421 "/usr/include/math.h" 2 3 4 # 773 "/usr/include/math.h" 3 4 extern int signgam; # 853 "/usr/include/math.h" 3 4 enum { FP_NAN = 0, FP_INFINITE = 1, FP_ZERO = 2, FP_SUBNORMAL = 3, FP_NORMAL = 4 }; # 1240 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathinline.h" 1 3 4 # 1241 "/usr/include/math.h" 2 3 4 # 1553 "/usr/include/math.h" 3 4 # 37 "src/libavutil/common.h" 2 # 1 "/usr/include/stdio.h" 1 3 4 # 27 "/usr/include/stdio.h" 3 4 # 1 "/usr/include/bits/libc-header-start.h" 1 3 4 # 28 "/usr/include/stdio.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stddef.h" 1 3 4 # 216 "/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stddef.h" 3 4 typedef unsigned int size_t; # 34 "/usr/include/stdio.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stdarg.h" 1 3 4 # 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stdarg.h" 3 4 typedef __builtin_va_list __gnuc_va_list; # 37 "/usr/include/stdio.h" 2 3 4 # 1 "/usr/include/bits/types/__fpos_t.h" 1 3 4 # 1 "/usr/include/bits/types/__mbstate_t.h" 1 3 4 # 13 "/usr/include/bits/types/__mbstate_t.h" 3 4 typedef struct { int __count; union { unsigned int __wch; char __wchb[4]; } __value; } __mbstate_t; # 6 "/usr/include/bits/types/__fpos_t.h" 2 3 4 typedef struct _G_fpos_t { __off_t __pos; __mbstate_t __state; } __fpos_t; # 40 "/usr/include/stdio.h" 2 3 4 # 1 "/usr/include/bits/types/__fpos64_t.h" 1 3 4 # 10 "/usr/include/bits/types/__fpos64_t.h" 3 4 typedef struct _G_fpos64_t { __off64_t __pos; __mbstate_t __state; } __fpos64_t; # 41 "/usr/include/stdio.h" 2 3 4 # 1 "/usr/include/bits/types/__FILE.h" 1 3 4 struct _IO_FILE; typedef struct _IO_FILE __FILE; # 42 "/usr/include/stdio.h" 2 3 4 # 1 "/usr/include/bits/types/FILE.h" 1 3 4 struct _IO_FILE; typedef struct _IO_FILE FILE; # 43 "/usr/include/stdio.h" 2 3 4 # 1 "/usr/include/bits/types/struct_FILE.h" 1 3 4 # 35 "/usr/include/bits/types/struct_FILE.h" 3 4 struct _IO_FILE; struct _IO_marker; struct _IO_codecvt; struct _IO_wide_data; typedef void _IO_lock_t; 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; __off64_t _offset; struct _IO_codecvt *_codecvt; struct _IO_wide_data *_wide_data; struct _IO_FILE *_freeres_list; void *_freeres_buf; size_t __pad5; int _mode; char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; }; # 44 "/usr/include/stdio.h" 2 3 4 # 52 "/usr/include/stdio.h" 3 4 typedef __gnuc_va_list va_list; # 65 "/usr/include/stdio.h" 3 4 typedef __off64_t off_t; # 86 "/usr/include/stdio.h" 3 4 typedef __fpos64_t fpos_t; # 133 "/usr/include/stdio.h" 3 4 # 1 "/usr/include/bits/stdio_lim.h" 1 3 4 # 134 "/usr/include/stdio.h" 2 3 4 extern FILE *stdin; extern FILE *stdout; extern FILE *stderr; extern int remove (const char *__filename) __attribute__ ((__nothrow__ , __leaf__)); extern int rename (const char *__old, const char *__new) __attribute__ ((__nothrow__ , __leaf__)); # 176 "/usr/include/stdio.h" 3 4 extern FILE *tmpfile (void) __asm__ ("" "tmpfile64") __attribute__ ((__warn_unused_result__)); # 187 "/usr/include/stdio.h" 3 4 extern char *tmpnam (char *__s) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); # 204 "/usr/include/stdio.h" 3 4 extern char *tempnam (const char *__dir, const char *__pfx) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); extern int fclose (FILE *__stream); extern int fflush (FILE *__stream); # 257 "/usr/include/stdio.h" 3 4 extern FILE *fopen (const char *__restrict __filename, const char *__restrict __modes) __asm__ ("" "fopen64") __attribute__ ((__warn_unused_result__)); extern FILE *freopen (const char *__restrict __filename, const char *__restrict __modes, FILE *__restrict __stream) __asm__ ("" "freopen64") __attribute__ ((__warn_unused_result__)); # 279 "/usr/include/stdio.h" 3 4 extern FILE *fdopen (int __fd, const char *__modes) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); # 304 "/usr/include/stdio.h" 3 4 extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)); extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, int __modes, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); # 326 "/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, ...) __attribute__ ((__nothrow__)); 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) __attribute__ ((__nothrow__)); extern int snprintf (char *__restrict __s, size_t __maxlen, const char *__restrict __format, ...) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4))); extern int vsnprintf (char *__restrict __s, size_t __maxlen, const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0))); # 391 "/usr/include/stdio.h" 3 4 extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__)); extern int scanf (const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__)); extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)); # 409 "/usr/include/stdio.h" 3 4 extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf") __attribute__ ((__warn_unused_result__)); extern int scanf (const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf") __attribute__ ((__warn_unused_result__)); extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) __asm__ ("" "__isoc99_sscanf") __attribute__ ((__nothrow__ , __leaf__)) ; # 434 "/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))) __attribute__ ((__warn_unused_result__)); extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__)); extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__scanf__, 2, 0))); # 457 "/usr/include/stdio.h" 3 4 extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf") __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__)); extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf") __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__)); extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vsscanf") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__scanf__, 2, 0))); # 491 "/usr/include/stdio.h" 3 4 extern int fgetc (FILE *__stream); extern int getc (FILE *__stream); extern int getchar (void); extern int getc_unlocked (FILE *__stream); extern int getchar_unlocked (void); # 527 "/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); # 551 "/usr/include/stdio.h" 3 4 extern int putc_unlocked (int __c, FILE *__stream); extern int putchar_unlocked (int __c); # 570 "/usr/include/stdio.h" 3 4 extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); # 632 "/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) __attribute__ ((__warn_unused_result__)); extern size_t fwrite (const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __s); # 690 "/usr/include/stdio.h" 3 4 extern int fseek (FILE *__stream, long int __off, int __whence); extern long int ftell (FILE *__stream) __attribute__ ((__warn_unused_result__)); extern void rewind (FILE *__stream); # 721 "/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"); # 745 "/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") ; # 763 "/usr/include/stdio.h" 3 4 extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); extern int feof (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern int ferror (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); # 781 "/usr/include/stdio.h" 3 4 extern void perror (const char *__s); # 1 "/usr/include/bits/sys_errlist.h" 1 3 4 # 788 "/usr/include/stdio.h" 2 3 4 extern int fileno (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); # 806 "/usr/include/stdio.h" 3 4 extern FILE *popen (const char *__command, const char *__modes) __attribute__ ((__warn_unused_result__)); extern int pclose (FILE *__stream); extern char *ctermid (char *__s) __attribute__ ((__nothrow__ , __leaf__)); # 846 "/usr/include/stdio.h" 3 4 extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); # 864 "/usr/include/stdio.h" 3 4 extern int __uflow (FILE *); extern int __overflow (FILE *, int); # 1 "/usr/include/bits/stdio.h" 1 3 4 # 46 "/usr/include/bits/stdio.h" 3 4 extern __inline __attribute__ ((__gnu_inline__)) int getchar (void) { return getc (stdin); } # 65 "/usr/include/bits/stdio.h" 3 4 extern __inline __attribute__ ((__gnu_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 __attribute__ ((__gnu_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 __attribute__ ((__gnu_inline__)) int putchar (int __c) { return putc (__c, stdout); } # 100 "/usr/include/bits/stdio.h" 3 4 extern __inline __attribute__ ((__gnu_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 __attribute__ ((__gnu_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))); } # 871 "/usr/include/stdio.h" 2 3 4 # 1 "/usr/include/bits/stdio2.h" 1 3 4 # 26 "/usr/include/bits/stdio2.h" 3 4 extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen, const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)); extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen, const char *__restrict __format, __gnuc_va_list __ap) __attribute__ ((__nothrow__ , __leaf__)); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int __attribute__ ((__nothrow__ , __leaf__)) sprintf (char *__restrict __s, const char *__restrict __fmt, ...) { return __builtin___sprintf_chk (__s, 2 - 1, __builtin_object_size (__s, 2 > 1), __fmt, __builtin_va_arg_pack ()); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int __attribute__ ((__nothrow__ , __leaf__)) vsprintf (char *__restrict __s, const char *__restrict __fmt, __gnuc_va_list __ap) { return __builtin___vsprintf_chk (__s, 2 - 1, __builtin_object_size (__s, 2 > 1), __fmt, __ap); } extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag, size_t __slen, const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)); extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag, size_t __slen, const char *__restrict __format, __gnuc_va_list __ap) __attribute__ ((__nothrow__ , __leaf__)); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int __attribute__ ((__nothrow__ , __leaf__)) snprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, ...) { return __builtin___snprintf_chk (__s, __n, 2 - 1, __builtin_object_size (__s, 2 > 1), __fmt, __builtin_va_arg_pack ()); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int __attribute__ ((__nothrow__ , __leaf__)) vsnprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, __gnuc_va_list __ap) { return __builtin___vsnprintf_chk (__s, __n, 2 - 1, __builtin_object_size (__s, 2 > 1), __fmt, __ap); } extern int __fprintf_chk (FILE *__restrict __stream, int __flag, const char *__restrict __format, ...); extern int __printf_chk (int __flag, const char *__restrict __format, ...); extern int __vfprintf_chk (FILE *__restrict __stream, int __flag, const char *__restrict __format, __gnuc_va_list __ap); extern int __vprintf_chk (int __flag, const char *__restrict __format, __gnuc_va_list __ap); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int fprintf (FILE *__restrict __stream, const char *__restrict __fmt, ...) { return __fprintf_chk (__stream, 2 - 1, __fmt, __builtin_va_arg_pack ()); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int printf (const char *__restrict __fmt, ...) { return __printf_chk (2 - 1, __fmt, __builtin_va_arg_pack ()); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int vprintf (const char *__restrict __fmt, __gnuc_va_list __ap) { return __vfprintf_chk (stdout, 2 - 1, __fmt, __ap); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int vfprintf (FILE *__restrict __stream, const char *__restrict __fmt, __gnuc_va_list __ap) { return __vfprintf_chk (__stream, 2 - 1, __fmt, __ap); } # 243 "/usr/include/bits/stdio2.h" 3 4 extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); extern char *__fgets_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets") __attribute__ ((__warn_unused_result__)); extern char *__fgets_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_chk") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets called with bigger size than length " "of destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char * fgets (char *__restrict __s, int __n, FILE *__restrict __stream) { if (__builtin_object_size (__s, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__n) || __n <= 0) return __fgets_chk (__s, __builtin_object_size (__s, 2 > 1), __n, __stream); if ((size_t) __n > __builtin_object_size (__s, 2 > 1)) return __fgets_chk_warn (__s, __builtin_object_size (__s, 2 > 1), __n, __stream); } return __fgets_alias (__s, __n, __stream); } extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); extern size_t __fread_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread") __attribute__ ((__warn_unused_result__)); extern size_t __fread_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_chk") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread called with bigger size * nmemb than length " "of destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t fread (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) { if (__builtin_object_size (__ptr, 0) != (size_t) -1) { if (!__builtin_constant_p (__size) || !__builtin_constant_p (__n) || (__size | __n) >= (((size_t) 1) << (8 * sizeof (size_t) / 2))) return __fread_chk (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream); if (__size * __n > __builtin_object_size (__ptr, 0)) return __fread_chk_warn (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream); } return __fread_alias (__ptr, __size, __n, __stream); } # 874 "/usr/include/stdio.h" 2 3 4 # 39 "src/libavutil/common.h" 2 # 1 "/usr/include/stdlib.h" 1 3 4 # 25 "/usr/include/stdlib.h" 3 4 # 1 "/usr/include/bits/libc-header-start.h" 1 3 4 # 26 "/usr/include/stdlib.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stddef.h" 1 3 4 # 328 "/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stddef.h" 3 4 typedef long int wchar_t; # 32 "/usr/include/stdlib.h" 2 3 4 # 1 "/usr/include/bits/waitflags.h" 1 3 4 # 40 "/usr/include/stdlib.h" 2 3 4 # 1 "/usr/include/bits/waitstatus.h" 1 3 4 # 41 "/usr/include/stdlib.h" 2 3 4 # 58 "/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; # 97 "/usr/include/stdlib.h" 3 4 extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern double atof (const char *__nptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int atoi (const char *__nptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern long int atol (const char *__nptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); __extension__ extern long long int atoll (const char *__nptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern double strtod (const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern float strtof (const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern long double strtold (const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); # 176 "/usr/include/stdlib.h" 3 4 extern long int strtol (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern unsigned long int strtoul (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); # 199 "/usr/include/stdlib.h" 3 4 __extension__ extern long long int strtoll (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); __extension__ extern unsigned long long int strtoull (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); # 360 "/usr/include/stdlib.h" 3 4 extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ , __leaf__)) atoi (const char *__nptr) { return (int) strtol (__nptr, (char **) ((void *)0), 10); } extern __inline __attribute__ ((__gnu_inline__)) long int __attribute__ ((__nothrow__ , __leaf__)) atol (const char *__nptr) { return strtol (__nptr, (char **) ((void *)0), 10); } __extension__ extern __inline __attribute__ ((__gnu_inline__)) long long int __attribute__ ((__nothrow__ , __leaf__)) atoll (const char *__nptr) { return strtoll (__nptr, (char **) ((void *)0), 10); } # 385 "/usr/include/stdlib.h" 3 4 extern char *l64a (long int __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern long int a64l (const char *__s) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 1 "/usr/include/sys/types.h" 1 3 4 # 27 "/usr/include/sys/types.h" 3 4 # 49 "/usr/include/sys/types.h" 3 4 typedef __ino64_t ino_t; # 59 "/usr/include/sys/types.h" 3 4 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; # 97 "/usr/include/sys/types.h" 3 4 typedef __pid_t pid_t; typedef __id_t id_t; typedef __ssize_t ssize_t; # 121 "/usr/include/sys/types.h" 3 4 typedef __key_t key_t; # 1 "/usr/include/bits/types/clock_t.h" 1 3 4 typedef __clock_t clock_t; # 127 "/usr/include/sys/types.h" 2 3 4 # 1 "/usr/include/bits/types/clockid_t.h" 1 3 4 typedef __clockid_t clockid_t; # 129 "/usr/include/sys/types.h" 2 3 4 # 1 "/usr/include/bits/types/time_t.h" 1 3 4 typedef __time_t time_t; # 130 "/usr/include/sys/types.h" 2 3 4 # 1 "/usr/include/bits/types/timer_t.h" 1 3 4 typedef __timer_t timer_t; # 131 "/usr/include/sys/types.h" 2 3 4 typedef __useconds_t useconds_t; typedef __suseconds_t suseconds_t; # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stddef.h" 1 3 4 # 145 "/usr/include/sys/types.h" 2 3 4 # 177 "/usr/include/sys/types.h" 3 4 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__))); # 202 "/usr/include/sys/types.h" 3 4 typedef __blksize_t blksize_t; # 222 "/usr/include/sys/types.h" 3 4 typedef __blkcnt64_t blkcnt_t; typedef __fsblkcnt64_t fsblkcnt_t; typedef __fsfilcnt64_t fsfilcnt_t; # 244 "/usr/include/sys/types.h" 3 4 # 1 "/usr/include/bits/pthreadtypes.h" 1 3 4 # 23 "/usr/include/bits/pthreadtypes.h" 3 4 # 1 "/usr/include/bits/thread-shared-types.h" 1 3 4 # 77 "/usr/include/bits/thread-shared-types.h" 3 4 # 1 "/usr/include/bits/pthreadtypes-arch.h" 1 3 4 # 21 "/usr/include/bits/pthreadtypes-arch.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 22 "/usr/include/bits/pthreadtypes-arch.h" 2 3 4 # 65 "/usr/include/bits/pthreadtypes-arch.h" 3 4 struct __pthread_rwlock_arch_t { unsigned int __readers; unsigned int __writers; unsigned int __wrphase_futex; unsigned int __writers_futex; unsigned int __pad3; unsigned int __pad4; # 92 "/usr/include/bits/pthreadtypes-arch.h" 3 4 unsigned char __flags; unsigned char __shared; signed char __rwelision; unsigned char __pad2; int __cur_writer; }; # 78 "/usr/include/bits/thread-shared-types.h" 2 3 4 # 88 "/usr/include/bits/thread-shared-types.h" 3 4 typedef struct __pthread_internal_slist { struct __pthread_internal_slist *__next; } __pthread_slist_t; # 118 "/usr/include/bits/thread-shared-types.h" 3 4 struct __pthread_mutex_s { int __lock ; unsigned int __count; int __owner; # 148 "/usr/include/bits/thread-shared-types.h" 3 4 int __kind; unsigned int __nusers; __extension__ union { struct { short __espins; short __eelision; } __elision_data; __pthread_slist_t __list; }; }; struct __pthread_cond_s { __extension__ union { __extension__ unsigned long long int __wseq; struct { unsigned int __low; unsigned int __high; } __wseq32; }; __extension__ union { __extension__ unsigned long long int __g1_start; struct { unsigned int __low; unsigned int __high; } __g1_start32; }; unsigned int __g_refs[2] ; unsigned int __g_size[2]; unsigned int __g1_orig_size; unsigned int __wrefs; unsigned int __g_signals[2]; }; # 24 "/usr/include/bits/pthreadtypes.h" 2 3 4 typedef unsigned long int pthread_t; typedef union { char __size[4]; int __align; } pthread_mutexattr_t; typedef union { char __size[4]; int __align; } pthread_condattr_t; typedef unsigned int pthread_key_t; typedef int pthread_once_t; union pthread_attr_t { char __size[36]; long int __align; }; typedef union pthread_attr_t pthread_attr_t; typedef union { struct __pthread_mutex_s __data; char __size[24]; long int __align; } pthread_mutex_t; typedef union { struct __pthread_cond_s __data; char __size[48]; __extension__ long long int __align; } pthread_cond_t; typedef union { struct __pthread_rwlock_arch_t __data; char __size[32]; long int __align; } pthread_rwlock_t; typedef union { char __size[8]; long int __align; } pthread_rwlockattr_t; typedef volatile int pthread_spinlock_t; typedef union { char __size[20]; long int __align; } pthread_barrier_t; typedef union { char __size[4]; int __align; } pthread_barrierattr_t; # 245 "/usr/include/sys/types.h" 2 3 4 # 395 "/usr/include/stdlib.h" 2 3 4 extern long int random (void) __attribute__ ((__nothrow__ , __leaf__)); extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); extern char *initstate (unsigned int __seed, char *__statebuf, size_t __statelen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); # 453 "/usr/include/stdlib.h" 3 4 extern int rand (void) __attribute__ ((__nothrow__ , __leaf__)); extern void srand (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__ , __leaf__)); extern double drand48 (void) __attribute__ ((__nothrow__ , __leaf__)); extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern long int lrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); extern long int nrand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern long int mrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); extern long int jrand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern void srand48 (long int __seedval) __attribute__ ((__nothrow__ , __leaf__)); extern unsigned short int *seed48 (unsigned short int __seed16v[3]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); # 539 "/usr/include/stdlib.h" 3 4 extern void *malloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); extern void *calloc (size_t __nmemb, size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); extern void *realloc (void *__ptr, size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); # 563 "/usr/include/stdlib.h" 3 4 extern void free (void *__ptr) __attribute__ ((__nothrow__ , __leaf__)); # 577 "/usr/include/stdlib.h" 3 4 extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern void *aligned_alloc (size_t __alignment, size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (2))) __attribute__ ((__warn_unused_result__)); extern void abort (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int at_quick_exit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); # 614 "/usr/include/stdlib.h" 3 4 extern void exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); extern void quick_exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); extern void _Exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); extern char *getenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 644 "/usr/include/stdlib.h" 3 4 extern int putenv (char *__string) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int setenv (const char *__name, const char *__value, int __replace) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern int unsetenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); # 672 "/usr/include/stdlib.h" 3 4 extern char *mktemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); # 688 "/usr/include/stdlib.h" 3 4 extern int mkstemp (char *__template) __asm__ ("" "mkstemp64") __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 781 "/usr/include/stdlib.h" 3 4 extern int system (const char *__command) __attribute__ ((__warn_unused_result__)); # 797 "/usr/include/stdlib.h" 3 4 extern char *realpath (const char *__restrict __name, char *__restrict __resolved) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); typedef int (*__compar_fn_t) (const void *, const void *); # 817 "/usr/include/stdlib.h" 3 4 extern void *bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 2, 5))) __attribute__ ((__warn_unused_result__)); # 1 "/usr/include/bits/stdlib-bsearch.h" 1 3 4 # 19 "/usr/include/bits/stdlib-bsearch.h" 3 4 extern __inline __attribute__ ((__gnu_inline__)) void * bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) { size_t __l, __u, __idx; const void *__p; int __comparison; __l = 0; __u = __nmemb; while (__l < __u) { __idx = (__l + __u) / 2; __p = (void *) (((const char *) __base) + (__idx * __size)); __comparison = (*__compar) (__key, __p); if (__comparison < 0) __u = __idx; else if (__comparison > 0) __l = __idx + 1; else return (void *) __p; } return ((void *)0); } # 823 "/usr/include/stdlib.h" 2 3 4 extern void qsort (void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); # 837 "/usr/include/stdlib.h" 3 4 extern int abs (int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); extern long int labs (long int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); __extension__ extern long long int llabs (long long int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); extern div_t div (int __numer, int __denom) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); extern ldiv_t ldiv (long int __numer, long int __denom) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); __extension__ extern lldiv_t lldiv (long long int __numer, long long int __denom) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); # 869 "/usr/include/stdlib.h" 3 4 extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); extern char *gcvt (double __value, int __ndigit, char *__buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__)); # 919 "/usr/include/stdlib.h" 3 4 extern int mblen (const char *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); extern int mbtowc (wchar_t *__restrict __pwc, const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__ , __leaf__)); extern size_t mbstowcs (wchar_t *__restrict __pwcs, const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); extern size_t wcstombs (char *__restrict __s, const wchar_t *__restrict __pwcs, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); # 954 "/usr/include/stdlib.h" 3 4 extern int getsubopt (char **__restrict __optionp, char *const *__restrict __tokens, char **__restrict __valuep) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2, 3))) __attribute__ ((__warn_unused_result__)); extern int posix_openpt (int __oflag) __attribute__ ((__warn_unused_result__)); extern int grantpt (int __fd) __attribute__ ((__nothrow__ , __leaf__)); extern int unlockpt (int __fd) __attribute__ ((__nothrow__ , __leaf__)); extern char *ptsname (int __fd) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); # 1010 "/usr/include/stdlib.h" 3 4 # 1 "/usr/include/bits/stdlib-float.h" 1 3 4 # 24 "/usr/include/bits/stdlib-float.h" 3 4 extern __inline __attribute__ ((__gnu_inline__)) double __attribute__ ((__nothrow__ , __leaf__)) atof (const char *__nptr) { return strtod (__nptr, (char **) ((void *)0)); } # 1011 "/usr/include/stdlib.h" 2 3 4 # 1 "/usr/include/bits/stdlib.h" 1 3 4 # 23 "/usr/include/bits/stdlib.h" 3 4 extern char *__realpath_chk (const char *__restrict __name, char *__restrict __resolved, size_t __resolvedlen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern char *__realpath_alias (const char *__restrict __name, char *__restrict __resolved) __asm__ ("" "realpath") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern char *__realpath_chk_warn (const char *__restrict __name, char *__restrict __resolved, size_t __resolvedlen) __asm__ ("" "__realpath_chk") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("second argument of realpath must be either NULL or at " "least PATH_MAX bytes long buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char * __attribute__ ((__nothrow__ , __leaf__)) realpath (const char *__restrict __name, char *__restrict __resolved) { if (__builtin_object_size (__resolved, 2 > 1) != (size_t) -1) { if (__builtin_object_size (__resolved, 2 > 1) < 4096) return __realpath_chk_warn (__name, __resolved, __builtin_object_size (__resolved, 2 > 1)); return __realpath_chk (__name, __resolved, __builtin_object_size (__resolved, 2 > 1)); } return __realpath_alias (__name, __resolved); } extern int __ptsname_r_chk (int __fd, char *__buf, size_t __buflen, size_t __nreal) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern int __ptsname_r_alias (int __fd, char *__buf, size_t __buflen) __asm__ ("" "ptsname_r") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern int __ptsname_r_chk_warn (int __fd, char *__buf, size_t __buflen, size_t __nreal) __asm__ ("" "__ptsname_r_chk") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__((__warning__ ("ptsname_r called with buflen bigger than " "size of buf"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int __attribute__ ((__nothrow__ , __leaf__)) ptsname_r (int __fd, char *__buf, size_t __buflen) { if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__buflen)) return __ptsname_r_chk (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1)); if (__buflen > __builtin_object_size (__buf, 2 > 1)) return __ptsname_r_chk_warn (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1)); } return __ptsname_r_alias (__fd, __buf, __buflen); } extern int __wctomb_chk (char *__s, wchar_t __wchar, size_t __buflen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern int __wctomb_alias (char *__s, wchar_t __wchar) __asm__ ("" "wctomb") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) int __attribute__ ((__nothrow__ , __leaf__)) wctomb (char *__s, wchar_t __wchar) { if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 && 16 > __builtin_object_size (__s, 2 > 1)) return __wctomb_chk (__s, __wchar, __builtin_object_size (__s, 2 > 1)); return __wctomb_alias (__s, __wchar); } extern size_t __mbstowcs_chk (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len, size_t __dstlen) __attribute__ ((__nothrow__ , __leaf__)); extern size_t __mbstowcs_alias (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) __asm__ ("" "mbstowcs") __attribute__ ((__nothrow__ , __leaf__)) ; extern size_t __mbstowcs_chk_warn (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len, size_t __dstlen) __asm__ ("" "__mbstowcs_chk") __attribute__ ((__nothrow__ , __leaf__)) __attribute__((__warning__ ("mbstowcs called with dst buffer smaller than len " "* sizeof (wchar_t)"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t __attribute__ ((__nothrow__ , __leaf__)) mbstowcs (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) { if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__len)) return __mbstowcs_chk (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); if (__len > __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)) return __mbstowcs_chk_warn (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t)); } return __mbstowcs_alias (__dst, __src, __len); } extern size_t __wcstombs_chk (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len, size_t __dstlen) __attribute__ ((__nothrow__ , __leaf__)); extern size_t __wcstombs_alias (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) __asm__ ("" "wcstombs") __attribute__ ((__nothrow__ , __leaf__)) ; extern size_t __wcstombs_chk_warn (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len, size_t __dstlen) __asm__ ("" "__wcstombs_chk") __attribute__ ((__nothrow__ , __leaf__)) __attribute__((__warning__ ("wcstombs called with dst buffer smaller than len"))); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t __attribute__ ((__nothrow__ , __leaf__)) wcstombs (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) { if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__len)) return __wcstombs_chk (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1)); if (__len > __builtin_object_size (__dst, 2 > 1)) return __wcstombs_chk_warn (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1)); } return __wcstombs_alias (__dst, __src, __len); } # 1015 "/usr/include/stdlib.h" 2 3 4 # 40 "src/libavutil/common.h" 2 # 1 "/usr/include/string.h" 1 3 4 # 26 "/usr/include/string.h" 3 4 # 1 "/usr/include/bits/libc-header-start.h" 1 3 4 # 27 "/usr/include/string.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stddef.h" 1 3 4 # 34 "/usr/include/string.h" 2 3 4 # 42 "/usr/include/string.h" 3 4 extern void *memcpy (void *__restrict __dest, const void *__restrict __src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memmove (void *__dest, const void *__src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memccpy (void *__restrict __dest, const void *__restrict __src, int __c, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int memcmp (const void *__s1, const void *__s2, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); # 90 "/usr/include/string.h" 3 4 extern void *memchr (const void *__s, int __c, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 121 "/usr/include/string.h" 3 4 extern char *strcpy (char *__restrict __dest, const char *__restrict __src) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strncpy (char *__restrict __dest, const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strcat (char *__restrict __dest, const char *__restrict __src) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strncat (char *__restrict __dest, const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int strcmp (const char *__s1, const char *__s2) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strncmp (const char *__s1, const char *__s2, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strcoll (const char *__s1, const char *__s2) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern size_t strxfrm (char *__restrict __dest, const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); # 166 "/usr/include/string.h" 3 4 extern char *strdup (const char *__s) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); # 225 "/usr/include/string.h" 3 4 extern char *strchr (const char *__s, int __c) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 252 "/usr/include/string.h" 3 4 extern char *strrchr (const char *__s, int __c) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 272 "/usr/include/string.h" 3 4 extern size_t strcspn (const char *__s, const char *__reject) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern size_t strspn (const char *__s, const char *__accept) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); # 302 "/usr/include/string.h" 3 4 extern char *strpbrk (const char *__s, const char *__accept) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); # 329 "/usr/include/string.h" 3 4 extern char *strstr (const char *__haystack, const char *__needle) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strtok (char *__restrict __s, const char *__restrict __delim) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern char *__strtok_r (char *__restrict __s, const char *__restrict __delim, char **__restrict __save_ptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, char **__restrict __save_ptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); # 384 "/usr/include/string.h" 3 4 extern size_t strlen (const char *__s) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 396 "/usr/include/string.h" 3 4 extern char *strerror (int __errnum) __attribute__ ((__nothrow__ , __leaf__)); # 409 "/usr/include/string.h" 3 4 extern int strerror_r (int __errnum, char *__buf, size_t __buflen) __asm__ ("" "__xpg_strerror_r") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); # 494 "/usr/include/string.h" 3 4 # 1 "/usr/include/bits/string_fortified.h" 1 3 4 # 30 "/usr/include/bits/string_fortified.h" 3 4 extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * __attribute__ ((__nothrow__ , __leaf__)) memcpy (void *__restrict __dest, const void *__restrict __src, size_t __len) { return __builtin___memcpy_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * __attribute__ ((__nothrow__ , __leaf__)) memmove (void *__dest, const void *__src, size_t __len) { return __builtin___memmove_chk (__dest, __src, __len, __builtin_object_size (__dest, 0)); } # 58 "/usr/include/bits/string_fortified.h" 3 4 extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * __attribute__ ((__nothrow__ , __leaf__)) memset (void *__dest, int __ch, size_t __len) { # 71 "/usr/include/bits/string_fortified.h" 3 4 return __builtin___memset_chk (__dest, __ch, __len, __builtin_object_size (__dest, 0)); } # 87 "/usr/include/bits/string_fortified.h" 3 4 extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * __attribute__ ((__nothrow__ , __leaf__)) strcpy (char *__restrict __dest, const char *__restrict __src) { return __builtin___strcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1)); } # 102 "/usr/include/bits/string_fortified.h" 3 4 extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * __attribute__ ((__nothrow__ , __leaf__)) strncpy (char *__restrict __dest, const char *__restrict __src, size_t __len) { return __builtin___strncpy_chk (__dest, __src, __len, __builtin_object_size (__dest, 2 > 1)); } extern char *__stpncpy_chk (char *__dest, const char *__src, size_t __n, size_t __destlen) __attribute__ ((__nothrow__ , __leaf__)); extern char *__stpncpy_alias (char *__dest, const char *__src, size_t __n) __asm__ ("" "stpncpy") __attribute__ ((__nothrow__ , __leaf__)) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * __attribute__ ((__nothrow__ , __leaf__)) stpncpy (char *__dest, const char *__src, size_t __n) { if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1 && (!__builtin_constant_p (__n) || __n > __builtin_object_size (__dest, 2 > 1))) return __stpncpy_chk (__dest, __src, __n, __builtin_object_size (__dest, 2 > 1)); return __stpncpy_alias (__dest, __src, __n); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * __attribute__ ((__nothrow__ , __leaf__)) strcat (char *__restrict __dest, const char *__restrict __src) { return __builtin___strcat_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1)); } extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * __attribute__ ((__nothrow__ , __leaf__)) strncat (char *__restrict __dest, const char *__restrict __src, size_t __len) { return __builtin___strncat_chk (__dest, __src, __len, __builtin_object_size (__dest, 2 > 1)); } # 495 "/usr/include/string.h" 2 3 4 # 41 "src/libavutil/common.h" 2 # 1 "src/libavutil/attributes.h" 1 # 43 "src/libavutil/common.h" 2 # 1 "src/libavutil/macros.h" 1 # 44 "src/libavutil/common.h" 2 # 1 "src/libavutil/version.h" 1 # 45 "src/libavutil/common.h" 2 # 1 "./libavutil/avconfig.h" 1 # 46 "src/libavutil/common.h" 2 # 105 "src/libavutil/common.h" # 1 "./config.h" 1 # 106 "src/libavutil/common.h" 2 # 1 "src/libavutil/intmath.h" 1 # 33 "src/libavutil/intmath.h" # 1 "src/libavutil/x86/intmath.h" 1 # 108 "src/libavutil/x86/intmath.h" # 108 "src/libavutil/x86/intmath.h" static __attribute__((always_inline)) inline __attribute__((const)) double av_clipd_sse2(double a, double amin, double amax) { __asm__ ("minsd %2, %0 \n\t" "maxsd %1, %0 \n\t" : "+&x"(a) : "xm"(amin), "xm"(amax)); return a; } static __attribute__((always_inline)) inline __attribute__((const)) float av_clipf_sse(float a, float amin, float amax) { __asm__ ("minss %2, %0 \n\t" "maxss %1, %0 \n\t" : "+&x"(a) : "xm"(amin), "xm"(amax)); return a; } # 34 "src/libavutil/intmath.h" 2 # 47 "src/libavutil/intmath.h" extern const uint8_t ff_log2_tab[256]; # 107 "src/libavutil/common.h" 2 # 1 "src/libavutil/common.h" 1 # 111 "src/libavutil/common.h" 2 # 127 "src/libavutil/common.h" static __attribute__((always_inline)) inline __attribute__((const)) int av_clip_c(int a, int amin, int amax) { if (a < amin) return amin; else if (a > amax) return amax; else return a; } # 144 "src/libavutil/common.h" static __attribute__((always_inline)) inline __attribute__((const)) int64_t av_clip64_c(int64_t a, int64_t amin, int64_t amax) { if (a < amin) return amin; else if (a > amax) return amax; else return a; } static __attribute__((always_inline)) inline __attribute__((const)) uint8_t av_clip_uint8_c(int a) { if (a&(~0xFF)) return (~a)>>31; else return a; } static __attribute__((always_inline)) inline __attribute__((const)) int8_t av_clip_int8_c(int a) { if ((a+0x80U) & ~0xFF) return (a>>31) ^ 0x7F; else return a; } static __attribute__((always_inline)) inline __attribute__((const)) uint16_t av_clip_uint16_c(int a) { if (a&(~0xFFFF)) return (~a)>>31; else return a; } static __attribute__((always_inline)) inline __attribute__((const)) int16_t av_clip_int16_c(int a) { if ((a+0x8000U) & ~0xFFFF) return (a>>31) ^ 0x7FFF; else return a; } static __attribute__((always_inline)) inline __attribute__((const)) int32_t av_clipl_int32_c(int64_t a) { if ((a+0x80000000u) & ~0xFFFFFFFFULL) return (int32_t)((a>>63) ^ 0x7FFFFFFF); else return (int32_t)a; } static __attribute__((always_inline)) inline __attribute__((const)) int av_clip_intp2_c(int a, int p) { if (((unsigned)a + (1 << p)) & ~((2 << p) - 1)) return (a >> 31) ^ ((1 << p) - 1); else return a; } static __attribute__((always_inline)) inline __attribute__((const)) unsigned av_clip_uintp2_c(int a, int p) { if (a & ~((1<> 31 & ((1< amax) return amax; else return a; } # 318 "src/libavutil/common.h" static __attribute__((always_inline)) inline __attribute__((const)) double av_clipd_c(double a, double amin, double amax) { if (a < amin) return amin; else if (a > amax) return amax; else return a; } static __attribute__((always_inline)) inline __attribute__((const)) int av_ceil_log2_c(int x) { return (31 - __builtin_clz(((x - 1) << 1)|1)); } static __attribute__((always_inline)) inline __attribute__((const)) int av_popcount_c(uint32_t x) { x -= (x >> 1) & 0x55555555; x = (x & 0x33333333) + ((x >> 2) & 0x33333333); x = (x + (x >> 4)) & 0x0F0F0F0F; x += x >> 8; return (x + (x >> 16)) & 0x3F; } static __attribute__((always_inline)) inline __attribute__((const)) int av_popcount64_c(uint64_t x) { return __builtin_popcount((uint32_t)x) + __builtin_popcount((uint32_t)(x >> 32)); } static __attribute__((always_inline)) inline __attribute__((const)) int av_parity_c(uint32_t v) { return __builtin_popcount(v) & 1; } # 488 "src/libavutil/common.h" # 1 "src/libavutil/mem.h" 1 # 30 "src/libavutil/mem.h" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include-fixed/limits.h" 1 3 4 # 31 "src/libavutil/mem.h" 2 # 1 "src/libavutil/error.h" 1 # 28 "src/libavutil/error.h" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stddef.h" 1 3 4 # 149 "/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stddef.h" 3 4 # 149 "/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stddef.h" 3 4 typedef int ptrdiff_t; # 426 "/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stddef.h" 3 4 typedef struct { long long __max_align_ll __attribute__((__aligned__(__alignof__(long long)))); long double __max_align_ld __attribute__((__aligned__(__alignof__(long double)))); __float128 __max_align_f128 __attribute__((__aligned__(__alignof(__float128)))); } max_align_t; # 29 "src/libavutil/error.h" 2 # 97 "src/libavutil/error.h" # 97 "src/libavutil/error.h" int av_strerror(int errnum, char *errbuf, size_t errbuf_size); # 109 "src/libavutil/error.h" static inline char *av_make_error_string(char *errbuf, size_t errbuf_size, int errnum) { av_strerror(errnum, errbuf, errbuf_size); return errbuf; } # 35 "src/libavutil/mem.h" 2 # 1 "src/libavutil/avutil.h" 1 # 36 "src/libavutil/mem.h" 2 # 196 "src/libavutil/mem.h" void *av_malloc(size_t size) __attribute__((__malloc__)) __attribute__((alloc_size(1))); # 207 "src/libavutil/mem.h" void *av_mallocz(size_t size) __attribute__((__malloc__)) __attribute__((alloc_size(1))); # 220 "src/libavutil/mem.h" __attribute__((alloc_size(1, 2))) void *av_malloc_array(size_t nmemb, size_t size); # 235 "src/libavutil/mem.h" __attribute__((alloc_size(1, 2))) void *av_mallocz_array(size_t nmemb, size_t size); void *av_calloc(size_t nmemb, size_t size) __attribute__((__malloc__)); # 264 "src/libavutil/mem.h" void *av_realloc(void *ptr, size_t size) __attribute__((alloc_size(2))); # 285 "src/libavutil/mem.h" __attribute__((warn_unused_result)) int av_reallocp(void *ptr, size_t size); # 303 "src/libavutil/mem.h" void *av_realloc_f(void *ptr, size_t nelem, size_t elsize); # 323 "src/libavutil/mem.h" __attribute__((alloc_size(2, 3))) void *av_realloc_array(void *ptr, size_t nmemb, size_t size); # 342 "src/libavutil/mem.h" __attribute__((alloc_size(2, 3))) int av_reallocp_array(void *ptr, size_t nmemb, size_t size); # 376 "src/libavutil/mem.h" void *av_fast_realloc(void *ptr, unsigned int *size, size_t min_size); # 407 "src/libavutil/mem.h" void av_fast_malloc(void *ptr, unsigned int *size, size_t min_size); # 427 "src/libavutil/mem.h" void av_fast_mallocz(void *ptr, unsigned int *size, size_t min_size); # 440 "src/libavutil/mem.h" void av_free(void *ptr); # 463 "src/libavutil/mem.h" void av_freep(void *ptr); # 473 "src/libavutil/mem.h" char *av_strdup(const char *s) __attribute__((__malloc__)); # 484 "src/libavutil/mem.h" char *av_strndup(const char *s, size_t len) __attribute__((__malloc__)); # 494 "src/libavutil/mem.h" void *av_memdup(const void *p, size_t size); # 507 "src/libavutil/mem.h" void av_memcpy_backptr(uint8_t *dst, int back, int cnt); # 609 "src/libavutil/mem.h" void av_dynarray_add(void *tab_ptr, int *nb_ptr, void *elem); # 621 "src/libavutil/mem.h" __attribute__((warn_unused_result)) int av_dynarray_add_nofree(void *tab_ptr, int *nb_ptr, void *elem); # 647 "src/libavutil/mem.h" void *av_dynarray2_add(void **tab_ptr, int *nb_ptr, size_t elem_size, const uint8_t *elem_data); # 669 "src/libavutil/mem.h" static inline int av_size_mult(size_t a, size_t b, size_t *r) { size_t t = a * b; if ((a | b) >= ((size_t)1 << (sizeof(size_t) * 4)) && a && t / a != b) return (-( # 675 "src/libavutil/mem.h" 3 4 22 # 675 "src/libavutil/mem.h" )); *r = t; return 0; } # 693 "src/libavutil/mem.h" void av_max_alloc(size_t max); # 489 "src/libavutil/common.h" 2 # 1 "src/libavutil/internal.h" 1 # 36 "src/libavutil/internal.h" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include-fixed/limits.h" 1 3 4 # 37 "src/libavutil/internal.h" 2 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stddef.h" 1 3 4 # 39 "src/libavutil/internal.h" 2 # 1 "/usr/include/assert.h" 1 3 4 # 40 "src/libavutil/internal.h" 2 # 1 "src/libavutil/timer.h" 1 # 49 "src/libavutil/timer.h" # 1 "src/libavutil/log.h" 1 # 24 "src/libavutil/log.h" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stdarg.h" 1 3 4 # 25 "src/libavutil/log.h" 2 typedef enum { AV_CLASS_CATEGORY_NA = 0, AV_CLASS_CATEGORY_INPUT, AV_CLASS_CATEGORY_OUTPUT, AV_CLASS_CATEGORY_MUXER, AV_CLASS_CATEGORY_DEMUXER, AV_CLASS_CATEGORY_ENCODER, AV_CLASS_CATEGORY_DECODER, AV_CLASS_CATEGORY_FILTER, AV_CLASS_CATEGORY_BITSTREAM_FILTER, AV_CLASS_CATEGORY_SWSCALER, AV_CLASS_CATEGORY_SWRESAMPLER, AV_CLASS_CATEGORY_DEVICE_VIDEO_OUTPUT = 40, AV_CLASS_CATEGORY_DEVICE_VIDEO_INPUT, AV_CLASS_CATEGORY_DEVICE_AUDIO_OUTPUT, AV_CLASS_CATEGORY_DEVICE_AUDIO_INPUT, AV_CLASS_CATEGORY_DEVICE_OUTPUT, AV_CLASS_CATEGORY_DEVICE_INPUT, AV_CLASS_CATEGORY_NB }AVClassCategory; # 60 "src/libavutil/log.h" struct AVOptionRanges; typedef struct AVClass { const char* class_name; const char* (*item_name)(void* ctx); const struct AVOption *option; int version; int log_level_offset_offset; # 108 "src/libavutil/log.h" int parent_log_context_offset; void* (*child_next)(void *obj, void *prev); # 123 "src/libavutil/log.h" const struct AVClass* (*child_class_next)(const struct AVClass *prev); AVClassCategory category; AVClassCategory (*get_category)(void* ctx); int (*query_ranges)(struct AVOptionRanges **, void *obj, const char *key, int flags); } AVClass; # 234 "src/libavutil/log.h" void av_log(void *avcl, int level, const char *fmt, ...) __attribute__((__format__(__printf__, 3, 4))); # 252 "src/libavutil/log.h" void av_vlog(void *avcl, int level, const char *fmt, va_list vl); # 261 "src/libavutil/log.h" int av_log_get_level(void); # 270 "src/libavutil/log.h" void av_log_set_level(int level); # 282 "src/libavutil/log.h" void av_log_set_callback(void (*callback)(void*, int, const char*, va_list)); # 297 "src/libavutil/log.h" void av_log_default_callback(void *avcl, int level, const char *fmt, va_list vl); # 307 "src/libavutil/log.h" const char* av_default_item_name(void* ctx); AVClassCategory av_default_get_category(void *ptr); # 317 "src/libavutil/log.h" void av_log_format_line(void *ptr, int level, const char *fmt, va_list vl, char *line, int line_size, int *print_prefix); # 334 "src/libavutil/log.h" int av_log_format_line2(void *ptr, int level, const char *fmt, va_list vl, char *line, int line_size, int *print_prefix); # 355 "src/libavutil/log.h" void av_log_set_flags(int arg); int av_log_get_flags(void); # 50 "src/libavutil/timer.h" 2 # 58 "src/libavutil/timer.h" # 1 "src/libavutil/x86/timer.h" 1 # 31 "src/libavutil/x86/timer.h" static inline uint64_t read_time(void) { uint32_t a, d; __asm__ volatile( "lfence \n\t" "rdtsc \n\t" : "=a" (a), "=d" (d)); return ((uint64_t)d << 32) + a; } # 59 "src/libavutil/timer.h" 2 # 43 "src/libavutil/internal.h" 2 # 1 "src/libavutil/cpu.h" 1 # 24 "src/libavutil/cpu.h" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stddef.h" 1 3 4 # 25 "src/libavutil/cpu.h" 2 # 80 "src/libavutil/cpu.h" int av_get_cpu_flags(void); void av_force_cpu_flags(int flags); __attribute__((deprecated)) void av_set_cpu_flags_mask(int mask); # 104 "src/libavutil/cpu.h" __attribute__((deprecated)) int av_parse_cpu_flags(const char *s); int av_parse_cpu_caps(unsigned *flags, const char *s); int av_cpu_count(void); # 128 "src/libavutil/cpu.h" size_t av_cpu_max_align(void); # 44 "src/libavutil/internal.h" 2 # 1 "src/libavutil/dict.h" 1 # 81 "src/libavutil/dict.h" typedef struct AVDictionaryEntry { char *key; char *value; } AVDictionaryEntry; typedef struct AVDictionary AVDictionary; # 103 "src/libavutil/dict.h" AVDictionaryEntry *av_dict_get(const AVDictionary *m, const char *key, const AVDictionaryEntry *prev, int flags); int av_dict_count(const AVDictionary *m); # 130 "src/libavutil/dict.h" int av_dict_set(AVDictionary **pm, const char *key, const char *value, int flags); int av_dict_set_int(AVDictionary **pm, const char *key, int64_t value, int flags); # 156 "src/libavutil/dict.h" int av_dict_parse_string(AVDictionary **pm, const char *str, const char *key_val_sep, const char *pairs_sep, int flags); # 170 "src/libavutil/dict.h" int av_dict_copy(AVDictionary **dst, const AVDictionary *src, int flags); void av_dict_free(AVDictionary **m); # 193 "src/libavutil/dict.h" int av_dict_get_string(const AVDictionary *m, char **buffer, const char key_val_sep, const char pairs_sep); # 45 "src/libavutil/internal.h" 2 # 1 "src/libavutil/pixfmt.h" 1 # 64 "src/libavutil/pixfmt.h" enum AVPixelFormat { AV_PIX_FMT_NONE = -1, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUYV422, AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_GRAY8, AV_PIX_FMT_MONOWHITE, AV_PIX_FMT_MONOBLACK, AV_PIX_FMT_PAL8, AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_UYVY422, AV_PIX_FMT_UYYVYY411, AV_PIX_FMT_BGR8, AV_PIX_FMT_BGR4, AV_PIX_FMT_BGR4_BYTE, AV_PIX_FMT_RGB8, AV_PIX_FMT_RGB4, AV_PIX_FMT_RGB4_BYTE, AV_PIX_FMT_NV12, AV_PIX_FMT_NV21, AV_PIX_FMT_ARGB, AV_PIX_FMT_RGBA, AV_PIX_FMT_ABGR, AV_PIX_FMT_BGRA, AV_PIX_FMT_GRAY16BE, AV_PIX_FMT_GRAY16LE, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_RGB48BE, AV_PIX_FMT_RGB48LE, AV_PIX_FMT_RGB565BE, AV_PIX_FMT_RGB565LE, AV_PIX_FMT_RGB555BE, AV_PIX_FMT_RGB555LE, AV_PIX_FMT_BGR565BE, AV_PIX_FMT_BGR565LE, AV_PIX_FMT_BGR555BE, AV_PIX_FMT_BGR555LE, AV_PIX_FMT_VAAPI_MOCO, AV_PIX_FMT_VAAPI_IDCT, AV_PIX_FMT_VAAPI_VLD, AV_PIX_FMT_VAAPI = AV_PIX_FMT_VAAPI_VLD, # 131 "src/libavutil/pixfmt.h" AV_PIX_FMT_YUV420P16LE, AV_PIX_FMT_YUV420P16BE, AV_PIX_FMT_YUV422P16LE, AV_PIX_FMT_YUV422P16BE, AV_PIX_FMT_YUV444P16LE, AV_PIX_FMT_YUV444P16BE, AV_PIX_FMT_DXVA2_VLD, AV_PIX_FMT_RGB444LE, AV_PIX_FMT_RGB444BE, AV_PIX_FMT_BGR444LE, AV_PIX_FMT_BGR444BE, AV_PIX_FMT_YA8, AV_PIX_FMT_Y400A = AV_PIX_FMT_YA8, AV_PIX_FMT_GRAY8A= AV_PIX_FMT_YA8, AV_PIX_FMT_BGR48BE, AV_PIX_FMT_BGR48LE, AV_PIX_FMT_YUV420P9BE, AV_PIX_FMT_YUV420P9LE, AV_PIX_FMT_YUV420P10BE, AV_PIX_FMT_YUV420P10LE, AV_PIX_FMT_YUV422P10BE, AV_PIX_FMT_YUV422P10LE, AV_PIX_FMT_YUV444P9BE, AV_PIX_FMT_YUV444P9LE, AV_PIX_FMT_YUV444P10BE, AV_PIX_FMT_YUV444P10LE, AV_PIX_FMT_YUV422P9BE, AV_PIX_FMT_YUV422P9LE, AV_PIX_FMT_GBRP, AV_PIX_FMT_GBR24P = AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRP9BE, AV_PIX_FMT_GBRP9LE, AV_PIX_FMT_GBRP10BE, AV_PIX_FMT_GBRP10LE, AV_PIX_FMT_GBRP16BE, AV_PIX_FMT_GBRP16LE, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUVA420P9BE, AV_PIX_FMT_YUVA420P9LE, AV_PIX_FMT_YUVA422P9BE, AV_PIX_FMT_YUVA422P9LE, AV_PIX_FMT_YUVA444P9BE, AV_PIX_FMT_YUVA444P9LE, AV_PIX_FMT_YUVA420P10BE, AV_PIX_FMT_YUVA420P10LE, AV_PIX_FMT_YUVA422P10BE, AV_PIX_FMT_YUVA422P10LE, AV_PIX_FMT_YUVA444P10BE, AV_PIX_FMT_YUVA444P10LE, AV_PIX_FMT_YUVA420P16BE, AV_PIX_FMT_YUVA420P16LE, AV_PIX_FMT_YUVA422P16BE, AV_PIX_FMT_YUVA422P16LE, AV_PIX_FMT_YUVA444P16BE, AV_PIX_FMT_YUVA444P16LE, AV_PIX_FMT_VDPAU, AV_PIX_FMT_XYZ12LE, AV_PIX_FMT_XYZ12BE, AV_PIX_FMT_NV16, AV_PIX_FMT_NV20LE, AV_PIX_FMT_NV20BE, AV_PIX_FMT_RGBA64BE, AV_PIX_FMT_RGBA64LE, AV_PIX_FMT_BGRA64BE, AV_PIX_FMT_BGRA64LE, AV_PIX_FMT_YVYU422, AV_PIX_FMT_YA16BE, AV_PIX_FMT_YA16LE, AV_PIX_FMT_GBRAP, AV_PIX_FMT_GBRAP16BE, AV_PIX_FMT_GBRAP16LE, AV_PIX_FMT_QSV, AV_PIX_FMT_MMAL, AV_PIX_FMT_D3D11VA_VLD, AV_PIX_FMT_CUDA, AV_PIX_FMT_0RGB, AV_PIX_FMT_RGB0, AV_PIX_FMT_0BGR, AV_PIX_FMT_BGR0, AV_PIX_FMT_YUV420P12BE, AV_PIX_FMT_YUV420P12LE, AV_PIX_FMT_YUV420P14BE, AV_PIX_FMT_YUV420P14LE, AV_PIX_FMT_YUV422P12BE, AV_PIX_FMT_YUV422P12LE, AV_PIX_FMT_YUV422P14BE, AV_PIX_FMT_YUV422P14LE, AV_PIX_FMT_YUV444P12BE, AV_PIX_FMT_YUV444P12LE, AV_PIX_FMT_YUV444P14BE, AV_PIX_FMT_YUV444P14LE, AV_PIX_FMT_GBRP12BE, AV_PIX_FMT_GBRP12LE, AV_PIX_FMT_GBRP14BE, AV_PIX_FMT_GBRP14LE, AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_BAYER_BGGR8, AV_PIX_FMT_BAYER_RGGB8, AV_PIX_FMT_BAYER_GBRG8, AV_PIX_FMT_BAYER_GRBG8, AV_PIX_FMT_BAYER_BGGR16LE, AV_PIX_FMT_BAYER_BGGR16BE, AV_PIX_FMT_BAYER_RGGB16LE, AV_PIX_FMT_BAYER_RGGB16BE, AV_PIX_FMT_BAYER_GBRG16LE, AV_PIX_FMT_BAYER_GBRG16BE, AV_PIX_FMT_BAYER_GRBG16LE, AV_PIX_FMT_BAYER_GRBG16BE, AV_PIX_FMT_XVMC, AV_PIX_FMT_YUV440P10LE, AV_PIX_FMT_YUV440P10BE, AV_PIX_FMT_YUV440P12LE, AV_PIX_FMT_YUV440P12BE, AV_PIX_FMT_AYUV64LE, AV_PIX_FMT_AYUV64BE, AV_PIX_FMT_VIDEOTOOLBOX, AV_PIX_FMT_P010LE, AV_PIX_FMT_P010BE, AV_PIX_FMT_GBRAP12BE, AV_PIX_FMT_GBRAP12LE, AV_PIX_FMT_GBRAP10BE, AV_PIX_FMT_GBRAP10LE, AV_PIX_FMT_MEDIACODEC, AV_PIX_FMT_GRAY12BE, AV_PIX_FMT_GRAY12LE, AV_PIX_FMT_GRAY10BE, AV_PIX_FMT_GRAY10LE, AV_PIX_FMT_P016LE, AV_PIX_FMT_P016BE, # 313 "src/libavutil/pixfmt.h" AV_PIX_FMT_D3D11, AV_PIX_FMT_GRAY9BE, AV_PIX_FMT_GRAY9LE, AV_PIX_FMT_GBRPF32BE, AV_PIX_FMT_GBRPF32LE, AV_PIX_FMT_GBRAPF32BE, AV_PIX_FMT_GBRAPF32LE, AV_PIX_FMT_DRM_PRIME, AV_PIX_FMT_OPENCL, AV_PIX_FMT_GRAY14BE, AV_PIX_FMT_GRAY14LE, AV_PIX_FMT_GRAYF32BE, AV_PIX_FMT_GRAYF32LE, AV_PIX_FMT_NB }; # 433 "src/libavutil/pixfmt.h" enum AVColorPrimaries { AVCOL_PRI_RESERVED0 = 0, AVCOL_PRI_BT709 = 1, AVCOL_PRI_UNSPECIFIED = 2, AVCOL_PRI_RESERVED = 3, AVCOL_PRI_BT470M = 4, AVCOL_PRI_BT470BG = 5, AVCOL_PRI_SMPTE170M = 6, AVCOL_PRI_SMPTE240M = 7, AVCOL_PRI_FILM = 8, AVCOL_PRI_BT2020 = 9, AVCOL_PRI_SMPTE428 = 10, AVCOL_PRI_SMPTEST428_1 = AVCOL_PRI_SMPTE428, AVCOL_PRI_SMPTE431 = 11, AVCOL_PRI_SMPTE432 = 12, AVCOL_PRI_JEDEC_P22 = 22, AVCOL_PRI_NB }; enum AVColorTransferCharacteristic { AVCOL_TRC_RESERVED0 = 0, AVCOL_TRC_BT709 = 1, AVCOL_TRC_UNSPECIFIED = 2, AVCOL_TRC_RESERVED = 3, AVCOL_TRC_GAMMA22 = 4, AVCOL_TRC_GAMMA28 = 5, AVCOL_TRC_SMPTE170M = 6, AVCOL_TRC_SMPTE240M = 7, AVCOL_TRC_LINEAR = 8, AVCOL_TRC_LOG = 9, AVCOL_TRC_LOG_SQRT = 10, AVCOL_TRC_IEC61966_2_4 = 11, AVCOL_TRC_BT1361_ECG = 12, AVCOL_TRC_IEC61966_2_1 = 13, AVCOL_TRC_BT2020_10 = 14, AVCOL_TRC_BT2020_12 = 15, AVCOL_TRC_SMPTE2084 = 16, AVCOL_TRC_SMPTEST2084 = AVCOL_TRC_SMPTE2084, AVCOL_TRC_SMPTE428 = 17, AVCOL_TRC_SMPTEST428_1 = AVCOL_TRC_SMPTE428, AVCOL_TRC_ARIB_STD_B67 = 18, AVCOL_TRC_NB }; enum AVColorSpace { AVCOL_SPC_RGB = 0, AVCOL_SPC_BT709 = 1, AVCOL_SPC_UNSPECIFIED = 2, AVCOL_SPC_RESERVED = 3, AVCOL_SPC_FCC = 4, AVCOL_SPC_BT470BG = 5, AVCOL_SPC_SMPTE170M = 6, AVCOL_SPC_SMPTE240M = 7, AVCOL_SPC_YCGCO = 8, AVCOL_SPC_YCOCG = AVCOL_SPC_YCGCO, AVCOL_SPC_BT2020_NCL = 9, AVCOL_SPC_BT2020_CL = 10, AVCOL_SPC_SMPTE2085 = 11, AVCOL_SPC_CHROMA_DERIVED_NCL = 12, AVCOL_SPC_CHROMA_DERIVED_CL = 13, AVCOL_SPC_ICTCP = 14, AVCOL_SPC_NB }; enum AVColorRange { AVCOL_RANGE_UNSPECIFIED = 0, AVCOL_RANGE_MPEG = 1, AVCOL_RANGE_JPEG = 2, AVCOL_RANGE_NB }; # 531 "src/libavutil/pixfmt.h" enum AVChromaLocation { AVCHROMA_LOC_UNSPECIFIED = 0, AVCHROMA_LOC_LEFT = 1, AVCHROMA_LOC_CENTER = 2, AVCHROMA_LOC_TOPLEFT = 3, AVCHROMA_LOC_TOP = 4, AVCHROMA_LOC_BOTTOMLEFT = 5, AVCHROMA_LOC_BOTTOM = 6, AVCHROMA_LOC_NB }; # 48 "src/libavutil/internal.h" 2 # 1 "src/libavutil/x86/emms.h" 1 # 23 "src/libavutil/x86/emms.h" # 1 "src/libavutil/attributes.h" 1 # 24 "src/libavutil/x86/emms.h" 2 # 1 "src/libavutil/cpu.h" 1 # 25 "src/libavutil/x86/emms.h" 2 void avpriv_emms_asm(void); # 37 "src/libavutil/x86/emms.h" static __attribute__((always_inline)) inline void emms_c(void) { __asm__ volatile ("emms" ::: "memory"); } # 52 "src/libavutil/internal.h" 2 # 176 "src/libavutil/internal.h" # 1 "src/libavutil/libm.h" 1 # 31 "src/libavutil/libm.h" # 1 "src/libavutil/intfloat.h" 1 # 27 "src/libavutil/intfloat.h" union av_intfloat32 { uint32_t i; float f; }; union av_intfloat64 { uint64_t i; double f; }; static __attribute__((always_inline)) inline float av_int2float(uint32_t i) { union av_intfloat32 v; v.i = i; return v.f; } static __attribute__((always_inline)) inline uint32_t av_float2int(float f) { union av_intfloat32 v; v.f = f; return v.i; } static __attribute__((always_inline)) inline double av_int2double(uint64_t i) { union av_intfloat64 v; v.i = i; return v.f; } static __attribute__((always_inline)) inline uint64_t av_double2int(double f) { union av_intfloat64 v; v.f = f; return v.i; } # 32 "src/libavutil/libm.h" 2 # 1 "src/libavutil/mathematics.h" 1 # 33 "src/libavutil/mathematics.h" # 1 "src/libavutil/rational.h" 1 # 33 "src/libavutil/rational.h" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include-fixed/limits.h" 1 3 4 # 34 "src/libavutil/rational.h" 2 # 58 "src/libavutil/rational.h" typedef struct AVRational{ int num; int den; } AVRational; # 71 "src/libavutil/rational.h" static inline AVRational av_make_q(int num, int den) { AVRational r = { num, den }; return r; } # 89 "src/libavutil/rational.h" 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 (int)((tmp ^ a.den ^ b.den)>>63)|1; else if(b.den && a.den) return 0; else if(a.num && b.num) return (a.num>>31) - (b.num>>31); else return # 95 "src/libavutil/rational.h" 3 4 (-0x7fffffff - 1) # 95 "src/libavutil/rational.h" ; } static inline double av_q2d(AVRational a){ return a.num / (double) a.den; } # 120 "src/libavutil/rational.h" int av_reduce(int *dst_num, int *dst_den, int64_t num, int64_t den, int64_t max); AVRational av_mul_q(AVRational b, AVRational c) __attribute__((const)); AVRational av_div_q(AVRational b, AVRational c) __attribute__((const)); AVRational av_add_q(AVRational b, AVRational c) __attribute__((const)); AVRational av_sub_q(AVRational b, AVRational c) __attribute__((const)); static __attribute__((always_inline)) inline AVRational av_inv_q(AVRational q) { AVRational r = { q.den, q.num }; return r; } # 176 "src/libavutil/rational.h" AVRational av_d2q(double d, int max) __attribute__((const)); # 188 "src/libavutil/rational.h" int av_nearer_q(AVRational q, AVRational q1, AVRational q2); # 197 "src/libavutil/rational.h" int av_find_nearest_q_idx(AVRational q, const AVRational* q_list); # 208 "src/libavutil/rational.h" uint32_t av_q2intfloat(AVRational q); # 34 "src/libavutil/mathematics.h" 2 # 79 "src/libavutil/mathematics.h" enum AVRounding { AV_ROUND_ZERO = 0, AV_ROUND_INF = 1, AV_ROUND_DOWN = 2, AV_ROUND_UP = 3, AV_ROUND_NEAR_INF = 5, # 108 "src/libavutil/mathematics.h" AV_ROUND_PASS_MINMAX = 8192, }; # 118 "src/libavutil/mathematics.h" int64_t __attribute__((const)) av_gcd(int64_t a, int64_t b); # 130 "src/libavutil/mathematics.h" int64_t av_rescale(int64_t a, int64_t b, int64_t c) __attribute__((const)); # 140 "src/libavutil/mathematics.h" int64_t av_rescale_rnd(int64_t a, int64_t b, int64_t c, enum AVRounding rnd) __attribute__((const)); # 151 "src/libavutil/mathematics.h" int64_t av_rescale_q(int64_t a, AVRational bq, AVRational cq) __attribute__((const)); # 160 "src/libavutil/mathematics.h" int64_t av_rescale_q_rnd(int64_t a, AVRational bq, AVRational cq, enum AVRounding rnd) __attribute__((const)); # 175 "src/libavutil/mathematics.h" int av_compare_ts(int64_t ts_a, AVRational tb_a, int64_t ts_b, AVRational tb_b); # 195 "src/libavutil/mathematics.h" int64_t av_compare_mod(uint64_t a, uint64_t b, uint64_t mod); # 222 "src/libavutil/mathematics.h" int64_t av_rescale_delta(AVRational in_tb, int64_t in_ts, AVRational fs_tb, int duration, int64_t *last, AVRational out_tb); # 235 "src/libavutil/mathematics.h" int64_t av_add_stable(AVRational ts_tb, int64_t ts, AVRational inc_tb, int64_t inc); # 33 "src/libavutil/libm.h" 2 # 177 "src/libavutil/internal.h" 2 # 235 "src/libavutil/internal.h" void avpriv_report_missing_feature(void *avc, const char *msg, ...) __attribute__((__format__(__printf__, 2, 3))); # 246 "src/libavutil/internal.h" void avpriv_request_sample(void *avc, const char *msg, ...) __attribute__((__format__(__printf__, 2, 3))); # 295 "src/libavutil/internal.h" static __attribute__((always_inline)) inline __attribute__((const)) int64_t ff_rint64_clip(double a, int64_t amin, int64_t amax) { int64_t res; if (a >= 9223372036854775808.0) return amax; if (a <= -9223372036854775808.0) return amin; res = llrint(a); if (res > amax) return amax; if (res < amin) return amin; return res; } __attribute__((warn_unused_result)) int avpriv_open(const char *filename, int flags, ...); # 334 "src/libavutil/internal.h" int avpriv_tempfile(const char *prefix, char **filename, int log_offset, void *log_ctx); int avpriv_set_systematic_pal2(uint32_t pal[256], enum AVPixelFormat pix_fmt); static __attribute__((always_inline)) inline __attribute__((const)) int avpriv_mirror(int x, int w) { if (!w) return 0; while ((unsigned)x > (unsigned)w) { x = -x; if (x < 0) x += 2 * w; } return x; } void ff_check_pixfmt_descriptors(void); # 361 "src/libavutil/internal.h" int avpriv_dict_set_timestamp(AVDictionary **dict, const char *key, int64_t timestamp); # 492 "src/libavutil/common.h" 2 # 297 "src/libavutil/avutil.h" 2 # 308 "src/libavutil/avutil.h" static inline void *av_x_if_null(const void *p, const void *x) { return (void *)(intptr_t)(p ? p : x); } # 321 "src/libavutil/avutil.h" unsigned av_int_list_length_for_size(unsigned elsize, const void *list, uint64_t term) __attribute__((pure)); # 339 "src/libavutil/avutil.h" FILE *av_fopen_utf8(const char *path, const char *mode); AVRational av_get_time_base_q(void); # 358 "src/libavutil/avutil.h" char *av_fourcc_make_string(char *buf, uint32_t fourcc); # 25 "src/libavutil/samplefmt.h" 2 # 58 "src/libavutil/samplefmt.h" enum AVSampleFormat { AV_SAMPLE_FMT_NONE = -1, AV_SAMPLE_FMT_U8, AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_S32, AV_SAMPLE_FMT_FLT, AV_SAMPLE_FMT_DBL, AV_SAMPLE_FMT_U8P, AV_SAMPLE_FMT_S16P, AV_SAMPLE_FMT_S32P, AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_DBLP, AV_SAMPLE_FMT_S64, AV_SAMPLE_FMT_S64P, AV_SAMPLE_FMT_NB }; const char *av_get_sample_fmt_name(enum AVSampleFormat sample_fmt); enum AVSampleFormat av_get_sample_fmt(const char *name); enum AVSampleFormat av_get_alt_sample_fmt(enum AVSampleFormat sample_fmt, int planar); # 106 "src/libavutil/samplefmt.h" enum AVSampleFormat av_get_packed_sample_fmt(enum AVSampleFormat sample_fmt); # 117 "src/libavutil/samplefmt.h" enum AVSampleFormat av_get_planar_sample_fmt(enum AVSampleFormat sample_fmt); # 131 "src/libavutil/samplefmt.h" char *av_get_sample_fmt_string(char *buf, int buf_size, enum AVSampleFormat sample_fmt); # 140 "src/libavutil/samplefmt.h" int av_get_bytes_per_sample(enum AVSampleFormat sample_fmt); int av_sample_fmt_is_planar(enum AVSampleFormat sample_fmt); # 160 "src/libavutil/samplefmt.h" int av_samples_get_buffer_size(int *linesize, int nb_channels, int nb_samples, enum AVSampleFormat sample_fmt, int align); # 202 "src/libavutil/samplefmt.h" int av_samples_fill_arrays(uint8_t **audio_data, int *linesize, const uint8_t *buf, int nb_channels, int nb_samples, enum AVSampleFormat sample_fmt, int align); # 226 "src/libavutil/samplefmt.h" int av_samples_alloc(uint8_t **audio_data, int *linesize, int nb_channels, int nb_samples, enum AVSampleFormat sample_fmt, int align); # 238 "src/libavutil/samplefmt.h" int av_samples_alloc_array_and_samples(uint8_t ***audio_data, int *linesize, int nb_channels, int nb_samples, enum AVSampleFormat sample_fmt, int align); # 252 "src/libavutil/samplefmt.h" int av_samples_copy(uint8_t **dst, uint8_t * const *src, int dst_offset, int src_offset, int nb_samples, int nb_channels, enum AVSampleFormat sample_fmt); # 265 "src/libavutil/samplefmt.h" int av_samples_set_silence(uint8_t **audio_data, int offset, int nb_samples, int nb_channels, enum AVSampleFormat sample_fmt); # 32 "src/libavcodec/avcodec.h" 2 # 1 "src/libavutil/avutil.h" 1 # 34 "src/libavcodec/avcodec.h" 2 # 1 "src/libavutil/buffer.h" 1 # 73 "src/libavutil/buffer.h" typedef struct AVBuffer AVBuffer; typedef struct AVBufferRef { AVBuffer *buffer; uint8_t *data; int size; } AVBufferRef; AVBufferRef *av_buffer_alloc(int size); AVBufferRef *av_buffer_allocz(int size); # 130 "src/libavutil/buffer.h" AVBufferRef *av_buffer_create(uint8_t *data, int size, void (*free)(void *opaque, uint8_t *data), void *opaque, int flags); void av_buffer_default_free(void *opaque, uint8_t *data); AVBufferRef *av_buffer_ref(AVBufferRef *buf); void av_buffer_unref(AVBufferRef **buf); int av_buffer_is_writable(const AVBufferRef *buf); void *av_buffer_get_opaque(const AVBufferRef *buf); int av_buffer_get_ref_count(const AVBufferRef *buf); # 181 "src/libavutil/buffer.h" int av_buffer_make_writable(AVBufferRef **buf); # 198 "src/libavutil/buffer.h" int av_buffer_realloc(AVBufferRef **buf, int size); # 238 "src/libavutil/buffer.h" typedef struct AVBufferPool AVBufferPool; # 249 "src/libavutil/buffer.h" AVBufferPool *av_buffer_pool_init(int size, AVBufferRef* (*alloc)(int size)); # 265 "src/libavutil/buffer.h" AVBufferPool *av_buffer_pool_init2(int size, void *opaque, AVBufferRef* (*alloc)(void *opaque, int size), void (*pool_free)(void *opaque)); # 277 "src/libavutil/buffer.h" void av_buffer_pool_uninit(AVBufferPool **pool); AVBufferRef *av_buffer_pool_get(AVBufferPool *pool); # 35 "src/libavcodec/avcodec.h" 2 # 1 "src/libavutil/channel_layout.h" 1 # 114 "src/libavutil/channel_layout.h" enum AVMatrixEncoding { AV_MATRIX_ENCODING_NONE, AV_MATRIX_ENCODING_DOLBY, AV_MATRIX_ENCODING_DPLII, AV_MATRIX_ENCODING_DPLIIX, AV_MATRIX_ENCODING_DPLIIZ, AV_MATRIX_ENCODING_DOLBYEX, AV_MATRIX_ENCODING_DOLBYHEADPHONE, AV_MATRIX_ENCODING_NB }; # 142 "src/libavutil/channel_layout.h" uint64_t av_get_channel_layout(const char *name); # 156 "src/libavutil/channel_layout.h" int av_get_extended_channel_layout(const char *name, uint64_t* channel_layout, int* nb_channels); # 165 "src/libavutil/channel_layout.h" void av_get_channel_layout_string(char *buf, int buf_size, int nb_channels, uint64_t channel_layout); struct AVBPrint; void av_bprint_channel_layout(struct AVBPrint *bp, int nb_channels, uint64_t channel_layout); int av_get_channel_layout_nb_channels(uint64_t channel_layout); int64_t av_get_default_channel_layout(int nb_channels); # 192 "src/libavutil/channel_layout.h" int av_get_channel_layout_channel_index(uint64_t channel_layout, uint64_t channel); uint64_t av_channel_layout_extract_channel(uint64_t channel_layout, int index); const char *av_get_channel_name(uint64_t channel); const char *av_get_channel_description(uint64_t channel); # 224 "src/libavutil/channel_layout.h" int av_get_standard_channel_layout(unsigned index, uint64_t *layout, const char **name); # 37 "src/libavcodec/avcodec.h" 2 # 1 "src/libavutil/dict.h" 1 # 38 "src/libavcodec/avcodec.h" 2 # 1 "src/libavutil/frame.h" 1 # 28 "src/libavutil/frame.h" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stddef.h" 1 3 4 # 29 "src/libavutil/frame.h" 2 # 1 "src/libavutil/buffer.h" 1 # 33 "src/libavutil/frame.h" 2 # 1 "src/libavutil/samplefmt.h" 1 # 36 "src/libavutil/frame.h" 2 # 48 "src/libavutil/frame.h" enum AVFrameSideDataType { AV_FRAME_DATA_PANSCAN, AV_FRAME_DATA_A53_CC, AV_FRAME_DATA_STEREO3D, AV_FRAME_DATA_MATRIXENCODING, AV_FRAME_DATA_DOWNMIX_INFO, AV_FRAME_DATA_REPLAYGAIN, AV_FRAME_DATA_DISPLAYMATRIX, AV_FRAME_DATA_AFD, AV_FRAME_DATA_MOTION_VECTORS, # 108 "src/libavutil/frame.h" AV_FRAME_DATA_SKIP_SAMPLES, AV_FRAME_DATA_AUDIO_SERVICE_TYPE, AV_FRAME_DATA_MASTERING_DISPLAY_METADATA, AV_FRAME_DATA_GOP_TIMECODE, AV_FRAME_DATA_SPHERICAL, AV_FRAME_DATA_CONTENT_LIGHT_LEVEL, AV_FRAME_DATA_ICC_PROFILE, # 152 "src/libavutil/frame.h" AV_FRAME_DATA_QP_TABLE_PROPERTIES, AV_FRAME_DATA_QP_TABLE_DATA, # 168 "src/libavutil/frame.h" AV_FRAME_DATA_S12M_TIMECODE, }; enum AVActiveFormatDescription { AV_AFD_SAME = 8, AV_AFD_4_3 = 9, AV_AFD_16_9 = 10, AV_AFD_14_9 = 11, AV_AFD_4_3_SP_14_9 = 13, AV_AFD_16_9_SP_14_9 = 14, AV_AFD_SP_4_3 = 15, }; # 188 "src/libavutil/frame.h" typedef struct AVFrameSideData { enum AVFrameSideDataType type; uint8_t *data; int size; AVDictionary *metadata; AVBufferRef *buf; } AVFrameSideData; # 226 "src/libavutil/frame.h" typedef struct AVFrame { # 240 "src/libavutil/frame.h" uint8_t *data[8]; # 257 "src/libavutil/frame.h" int linesize[8]; # 273 "src/libavutil/frame.h" uint8_t **extended_data; # 284 "src/libavutil/frame.h" int width, height; int nb_samples; int format; int key_frame; enum AVPictureType pict_type; AVRational sample_aspect_ratio; int64_t pts; __attribute__((deprecated)) int64_t pkt_pts; int64_t pkt_dts; int coded_picture_number; int display_picture_number; int quality; void *opaque; __attribute__((deprecated)) uint64_t error[8]; int repeat_pict; int interlaced_frame; int top_field_first; int palette_has_changed; # 394 "src/libavutil/frame.h" int64_t reordered_opaque; int sample_rate; uint64_t channel_layout; # 418 "src/libavutil/frame.h" AVBufferRef *buf[8]; # 432 "src/libavutil/frame.h" AVBufferRef **extended_buf; int nb_extended_buf; AVFrameSideData **side_data; int nb_side_data; # 464 "src/libavutil/frame.h" int flags; enum AVColorRange color_range; enum AVColorPrimaries color_primaries; enum AVColorTransferCharacteristic color_trc; enum AVColorSpace colorspace; enum AVChromaLocation chroma_location; int64_t best_effort_timestamp; int64_t pkt_pos; int64_t pkt_duration; AVDictionary *metadata; # 522 "src/libavutil/frame.h" int decode_error_flags; # 531 "src/libavutil/frame.h" int channels; # 540 "src/libavutil/frame.h" int pkt_size; __attribute__((deprecated)) int8_t *qscale_table; __attribute__((deprecated)) int qstride; __attribute__((deprecated)) int qscale_type; __attribute__((deprecated)) AVBufferRef *qp_table_buf; AVBufferRef *hw_frames_ctx; # 575 "src/libavutil/frame.h" AVBufferRef *opaque_ref; # 585 "src/libavutil/frame.h" size_t crop_top; size_t crop_bottom; size_t crop_left; size_t crop_right; # 604 "src/libavutil/frame.h" AVBufferRef *private_ref; } AVFrame; __attribute__((deprecated)) int64_t av_frame_get_best_effort_timestamp(const AVFrame *frame); __attribute__((deprecated)) void av_frame_set_best_effort_timestamp(AVFrame *frame, int64_t val); __attribute__((deprecated)) int64_t av_frame_get_pkt_duration (const AVFrame *frame); __attribute__((deprecated)) void av_frame_set_pkt_duration (AVFrame *frame, int64_t val); __attribute__((deprecated)) int64_t av_frame_get_pkt_pos (const AVFrame *frame); __attribute__((deprecated)) void av_frame_set_pkt_pos (AVFrame *frame, int64_t val); __attribute__((deprecated)) int64_t av_frame_get_channel_layout (const AVFrame *frame); __attribute__((deprecated)) void av_frame_set_channel_layout (AVFrame *frame, int64_t val); __attribute__((deprecated)) int av_frame_get_channels (const AVFrame *frame); __attribute__((deprecated)) void av_frame_set_channels (AVFrame *frame, int val); __attribute__((deprecated)) int av_frame_get_sample_rate (const AVFrame *frame); __attribute__((deprecated)) void av_frame_set_sample_rate (AVFrame *frame, int val); __attribute__((deprecated)) AVDictionary *av_frame_get_metadata (const AVFrame *frame); __attribute__((deprecated)) void av_frame_set_metadata (AVFrame *frame, AVDictionary *val); __attribute__((deprecated)) int av_frame_get_decode_error_flags (const AVFrame *frame); __attribute__((deprecated)) void av_frame_set_decode_error_flags (AVFrame *frame, int val); __attribute__((deprecated)) int av_frame_get_pkt_size(const AVFrame *frame); __attribute__((deprecated)) void av_frame_set_pkt_size(AVFrame *frame, int val); __attribute__((deprecated)) int8_t *av_frame_get_qp_table(AVFrame *f, int *stride, int *type); __attribute__((deprecated)) int av_frame_set_qp_table(AVFrame *f, AVBufferRef *buf, int stride, int type); __attribute__((deprecated)) enum AVColorSpace av_frame_get_colorspace(const AVFrame *frame); __attribute__((deprecated)) void av_frame_set_colorspace(AVFrame *frame, enum AVColorSpace val); __attribute__((deprecated)) enum AVColorRange av_frame_get_color_range(const AVFrame *frame); __attribute__((deprecated)) void av_frame_set_color_range(AVFrame *frame, enum AVColorRange val); const char *av_get_colorspace_name(enum AVColorSpace val); # 680 "src/libavutil/frame.h" AVFrame *av_frame_alloc(void); # 689 "src/libavutil/frame.h" void av_frame_free(AVFrame **frame); # 706 "src/libavutil/frame.h" int av_frame_ref(AVFrame *dst, const AVFrame *src); # 715 "src/libavutil/frame.h" AVFrame *av_frame_clone(const AVFrame *src); void av_frame_unref(AVFrame *frame); # 729 "src/libavutil/frame.h" void av_frame_move_ref(AVFrame *dst, AVFrame *src); # 754 "src/libavutil/frame.h" int av_frame_get_buffer(AVFrame *frame, int align); # 768 "src/libavutil/frame.h" int av_frame_is_writable(AVFrame *frame); # 781 "src/libavutil/frame.h" int av_frame_make_writable(AVFrame *frame); # 794 "src/libavutil/frame.h" int av_frame_copy(AVFrame *dst, const AVFrame *src); # 804 "src/libavutil/frame.h" int av_frame_copy_props(AVFrame *dst, const AVFrame *src); # 814 "src/libavutil/frame.h" AVBufferRef *av_frame_get_plane_buffer(AVFrame *frame, int plane); # 825 "src/libavutil/frame.h" AVFrameSideData *av_frame_new_side_data(AVFrame *frame, enum AVFrameSideDataType type, int size); # 841 "src/libavutil/frame.h" AVFrameSideData *av_frame_new_side_data_from_buf(AVFrame *frame, enum AVFrameSideDataType type, AVBufferRef *buf); AVFrameSideData *av_frame_get_side_data(const AVFrame *frame, enum AVFrameSideDataType type); void av_frame_remove_side_data(AVFrame *frame, enum AVFrameSideDataType type); enum { # 871 "src/libavutil/frame.h" AV_FRAME_CROP_UNALIGNED = 1 << 0, }; # 890 "src/libavutil/frame.h" int av_frame_apply_cropping(AVFrame *frame, int flags); const char *av_frame_side_data_name(enum AVFrameSideDataType type); # 39 "src/libavcodec/avcodec.h" 2 # 1 "src/libavutil/hwcontext.h" 1 # 23 "src/libavutil/hwcontext.h" # 1 "src/libavutil/frame.h" 1 # 24 "src/libavutil/hwcontext.h" 2 enum AVHWDeviceType { AV_HWDEVICE_TYPE_NONE, AV_HWDEVICE_TYPE_VDPAU, AV_HWDEVICE_TYPE_CUDA, AV_HWDEVICE_TYPE_VAAPI, AV_HWDEVICE_TYPE_DXVA2, AV_HWDEVICE_TYPE_QSV, AV_HWDEVICE_TYPE_VIDEOTOOLBOX, AV_HWDEVICE_TYPE_D3D11VA, AV_HWDEVICE_TYPE_DRM, AV_HWDEVICE_TYPE_OPENCL, AV_HWDEVICE_TYPE_MEDIACODEC, }; typedef struct AVHWDeviceInternal AVHWDeviceInternal; # 60 "src/libavutil/hwcontext.h" typedef struct AVHWDeviceContext { const AVClass *av_class; AVHWDeviceInternal *internal; enum AVHWDeviceType type; # 91 "src/libavutil/hwcontext.h" void *hwctx; # 103 "src/libavutil/hwcontext.h" void (*free)(struct AVHWDeviceContext *ctx); void *user_opaque; } AVHWDeviceContext; typedef struct AVHWFramesInternal AVHWFramesInternal; # 123 "src/libavutil/hwcontext.h" typedef struct AVHWFramesContext { const AVClass *av_class; AVHWFramesInternal *internal; AVBufferRef *device_ref; AVHWDeviceContext *device_ctx; # 161 "src/libavutil/hwcontext.h" void *hwctx; void (*free)(struct AVHWFramesContext *ctx); void *user_opaque; # 189 "src/libavutil/hwcontext.h" AVBufferPool *pool; # 198 "src/libavutil/hwcontext.h" int initial_pool_size; # 208 "src/libavutil/hwcontext.h" enum AVPixelFormat format; # 221 "src/libavutil/hwcontext.h" enum AVPixelFormat sw_format; int width, height; } AVHWFramesContext; # 238 "src/libavutil/hwcontext.h" enum AVHWDeviceType av_hwdevice_find_type_by_name(const char *name); const char *av_hwdevice_get_type_name(enum AVHWDeviceType type); # 256 "src/libavutil/hwcontext.h" enum AVHWDeviceType av_hwdevice_iterate_types(enum AVHWDeviceType prev); # 265 "src/libavutil/hwcontext.h" AVBufferRef *av_hwdevice_ctx_alloc(enum AVHWDeviceType type); # 275 "src/libavutil/hwcontext.h" int av_hwdevice_ctx_init(AVBufferRef *ref); # 302 "src/libavutil/hwcontext.h" int av_hwdevice_ctx_create(AVBufferRef **device_ctx, enum AVHWDeviceType type, const char *device, AVDictionary *opts, int flags); # 326 "src/libavutil/hwcontext.h" int av_hwdevice_ctx_create_derived(AVBufferRef **dst_ctx, enum AVHWDeviceType type, AVBufferRef *src_ctx, int flags); # 340 "src/libavutil/hwcontext.h" AVBufferRef *av_hwframe_ctx_alloc(AVBufferRef *device_ctx); # 350 "src/libavutil/hwcontext.h" int av_hwframe_ctx_init(AVBufferRef *ref); # 361 "src/libavutil/hwcontext.h" int av_hwframe_get_buffer(AVBufferRef *hwframe_ctx, AVFrame *frame, int flags); # 392 "src/libavutil/hwcontext.h" int av_hwframe_transfer_data(AVFrame *dst, const AVFrame *src, int flags); enum AVHWFrameTransferDirection { AV_HWFRAME_TRANSFER_DIRECTION_FROM, AV_HWFRAME_TRANSFER_DIRECTION_TO, }; # 421 "src/libavutil/hwcontext.h" int av_hwframe_transfer_get_formats(AVBufferRef *hwframe_ctx, enum AVHWFrameTransferDirection dir, enum AVPixelFormat **formats, int flags); # 432 "src/libavutil/hwcontext.h" typedef struct AVHWFramesConstraints { enum AVPixelFormat *valid_hw_formats; enum AVPixelFormat *valid_sw_formats; int min_width; int min_height; int max_width; int max_height; } AVHWFramesConstraints; # 471 "src/libavutil/hwcontext.h" void *av_hwdevice_hwconfig_alloc(AVBufferRef *device_ctx); # 485 "src/libavutil/hwcontext.h" AVHWFramesConstraints *av_hwdevice_get_hwframe_constraints(AVBufferRef *ref, const void *hwconfig); void av_hwframe_constraints_free(AVHWFramesConstraints **constraints); enum { AV_HWFRAME_MAP_READ = 1 << 0, AV_HWFRAME_MAP_WRITE = 1 << 1, AV_HWFRAME_MAP_OVERWRITE = 1 << 2, AV_HWFRAME_MAP_DIRECT = 1 << 3, }; # 558 "src/libavutil/hwcontext.h" int av_hwframe_map(AVFrame *dst, const AVFrame *src, int flags); # 578 "src/libavutil/hwcontext.h" int av_hwframe_ctx_create_derived(AVBufferRef **derived_frame_ctx, enum AVPixelFormat format, AVBufferRef *derived_device_ctx, AVBufferRef *source_frame_ctx, int flags); # 40 "src/libavcodec/avcodec.h" 2 # 1 "src/libavutil/log.h" 1 # 41 "src/libavcodec/avcodec.h" 2 # 1 "src/libavutil/pixfmt.h" 1 # 42 "src/libavcodec/avcodec.h" 2 # 1 "src/libavutil/rational.h" 1 # 43 "src/libavcodec/avcodec.h" 2 # 1 "src/libavcodec/version.h" 1 # 28 "src/libavcodec/version.h" # 1 "src/libavutil/version.h" 1 # 29 "src/libavcodec/version.h" 2 # 45 "src/libavcodec/avcodec.h" 2 # 215 "src/libavcodec/avcodec.h" enum AVCodecID { AV_CODEC_ID_NONE, AV_CODEC_ID_MPEG1VIDEO, AV_CODEC_ID_MPEG2VIDEO, AV_CODEC_ID_H261, AV_CODEC_ID_H263, AV_CODEC_ID_RV10, AV_CODEC_ID_RV20, AV_CODEC_ID_MJPEG, AV_CODEC_ID_MJPEGB, AV_CODEC_ID_LJPEG, AV_CODEC_ID_SP5X, AV_CODEC_ID_JPEGLS, AV_CODEC_ID_MPEG4, AV_CODEC_ID_RAWVIDEO, AV_CODEC_ID_MSMPEG4V1, AV_CODEC_ID_MSMPEG4V2, AV_CODEC_ID_MSMPEG4V3, AV_CODEC_ID_WMV1, AV_CODEC_ID_WMV2, AV_CODEC_ID_H263P, AV_CODEC_ID_H263I, AV_CODEC_ID_FLV1, AV_CODEC_ID_SVQ1, AV_CODEC_ID_SVQ3, AV_CODEC_ID_DVVIDEO, AV_CODEC_ID_HUFFYUV, AV_CODEC_ID_CYUV, AV_CODEC_ID_H264, AV_CODEC_ID_INDEO3, AV_CODEC_ID_VP3, AV_CODEC_ID_THEORA, AV_CODEC_ID_ASV1, AV_CODEC_ID_ASV2, AV_CODEC_ID_FFV1, AV_CODEC_ID_4XM, AV_CODEC_ID_VCR1, AV_CODEC_ID_CLJR, AV_CODEC_ID_MDEC, AV_CODEC_ID_ROQ, AV_CODEC_ID_INTERPLAY_VIDEO, AV_CODEC_ID_XAN_WC3, AV_CODEC_ID_XAN_WC4, AV_CODEC_ID_RPZA, AV_CODEC_ID_CINEPAK, AV_CODEC_ID_WS_VQA, AV_CODEC_ID_MSRLE, AV_CODEC_ID_MSVIDEO1, AV_CODEC_ID_IDCIN, AV_CODEC_ID_8BPS, AV_CODEC_ID_SMC, AV_CODEC_ID_FLIC, AV_CODEC_ID_TRUEMOTION1, AV_CODEC_ID_VMDVIDEO, AV_CODEC_ID_MSZH, AV_CODEC_ID_ZLIB, AV_CODEC_ID_QTRLE, AV_CODEC_ID_TSCC, AV_CODEC_ID_ULTI, AV_CODEC_ID_QDRAW, AV_CODEC_ID_VIXL, AV_CODEC_ID_QPEG, AV_CODEC_ID_PNG, AV_CODEC_ID_PPM, AV_CODEC_ID_PBM, AV_CODEC_ID_PGM, AV_CODEC_ID_PGMYUV, AV_CODEC_ID_PAM, AV_CODEC_ID_FFVHUFF, AV_CODEC_ID_RV30, AV_CODEC_ID_RV40, AV_CODEC_ID_VC1, AV_CODEC_ID_WMV3, AV_CODEC_ID_LOCO, AV_CODEC_ID_WNV1, AV_CODEC_ID_AASC, AV_CODEC_ID_INDEO2, AV_CODEC_ID_FRAPS, AV_CODEC_ID_TRUEMOTION2, AV_CODEC_ID_BMP, AV_CODEC_ID_CSCD, AV_CODEC_ID_MMVIDEO, AV_CODEC_ID_ZMBV, AV_CODEC_ID_AVS, AV_CODEC_ID_SMACKVIDEO, AV_CODEC_ID_NUV, AV_CODEC_ID_KMVC, AV_CODEC_ID_FLASHSV, AV_CODEC_ID_CAVS, AV_CODEC_ID_JPEG2000, AV_CODEC_ID_VMNC, AV_CODEC_ID_VP5, AV_CODEC_ID_VP6, AV_CODEC_ID_VP6F, AV_CODEC_ID_TARGA, AV_CODEC_ID_DSICINVIDEO, AV_CODEC_ID_TIERTEXSEQVIDEO, AV_CODEC_ID_TIFF, AV_CODEC_ID_GIF, AV_CODEC_ID_DXA, AV_CODEC_ID_DNXHD, AV_CODEC_ID_THP, AV_CODEC_ID_SGI, AV_CODEC_ID_C93, AV_CODEC_ID_BETHSOFTVID, AV_CODEC_ID_PTX, AV_CODEC_ID_TXD, AV_CODEC_ID_VP6A, AV_CODEC_ID_AMV, AV_CODEC_ID_VB, AV_CODEC_ID_PCX, AV_CODEC_ID_SUNRAST, AV_CODEC_ID_INDEO4, AV_CODEC_ID_INDEO5, AV_CODEC_ID_MIMIC, AV_CODEC_ID_RL2, AV_CODEC_ID_ESCAPE124, AV_CODEC_ID_DIRAC, AV_CODEC_ID_BFI, AV_CODEC_ID_CMV, AV_CODEC_ID_MOTIONPIXELS, AV_CODEC_ID_TGV, AV_CODEC_ID_TGQ, AV_CODEC_ID_TQI, AV_CODEC_ID_AURA, AV_CODEC_ID_AURA2, AV_CODEC_ID_V210X, AV_CODEC_ID_TMV, AV_CODEC_ID_V210, AV_CODEC_ID_DPX, AV_CODEC_ID_MAD, AV_CODEC_ID_FRWU, AV_CODEC_ID_FLASHSV2, AV_CODEC_ID_CDGRAPHICS, AV_CODEC_ID_R210, AV_CODEC_ID_ANM, AV_CODEC_ID_BINKVIDEO, AV_CODEC_ID_IFF_ILBM, AV_CODEC_ID_KGV1, AV_CODEC_ID_YOP, AV_CODEC_ID_VP8, AV_CODEC_ID_PICTOR, AV_CODEC_ID_ANSI, AV_CODEC_ID_A64_MULTI, AV_CODEC_ID_A64_MULTI5, AV_CODEC_ID_R10K, AV_CODEC_ID_MXPEG, AV_CODEC_ID_LAGARITH, AV_CODEC_ID_PRORES, AV_CODEC_ID_JV, AV_CODEC_ID_DFA, AV_CODEC_ID_WMV3IMAGE, AV_CODEC_ID_VC1IMAGE, AV_CODEC_ID_UTVIDEO, AV_CODEC_ID_BMV_VIDEO, AV_CODEC_ID_VBLE, AV_CODEC_ID_DXTORY, AV_CODEC_ID_V410, AV_CODEC_ID_XWD, AV_CODEC_ID_CDXL, AV_CODEC_ID_XBM, AV_CODEC_ID_ZEROCODEC, AV_CODEC_ID_MSS1, AV_CODEC_ID_MSA1, AV_CODEC_ID_TSCC2, AV_CODEC_ID_MTS2, AV_CODEC_ID_CLLC, AV_CODEC_ID_MSS2, AV_CODEC_ID_VP9, AV_CODEC_ID_AIC, AV_CODEC_ID_ESCAPE130, AV_CODEC_ID_G2M, AV_CODEC_ID_WEBP, AV_CODEC_ID_HNM4_VIDEO, AV_CODEC_ID_HEVC, AV_CODEC_ID_FIC, AV_CODEC_ID_ALIAS_PIX, AV_CODEC_ID_BRENDER_PIX, AV_CODEC_ID_PAF_VIDEO, AV_CODEC_ID_EXR, AV_CODEC_ID_VP7, AV_CODEC_ID_SANM, AV_CODEC_ID_SGIRLE, AV_CODEC_ID_MVC1, AV_CODEC_ID_MVC2, AV_CODEC_ID_HQX, AV_CODEC_ID_TDSC, AV_CODEC_ID_HQ_HQA, AV_CODEC_ID_HAP, AV_CODEC_ID_DDS, AV_CODEC_ID_DXV, AV_CODEC_ID_SCREENPRESSO, AV_CODEC_ID_RSCC, AV_CODEC_ID_AVS2, AV_CODEC_ID_Y41P = 0x8000, AV_CODEC_ID_AVRP, AV_CODEC_ID_012V, AV_CODEC_ID_AVUI, AV_CODEC_ID_AYUV, AV_CODEC_ID_TARGA_Y216, AV_CODEC_ID_V308, AV_CODEC_ID_V408, AV_CODEC_ID_YUV4, AV_CODEC_ID_AVRN, AV_CODEC_ID_CPIA, AV_CODEC_ID_XFACE, AV_CODEC_ID_SNOW, AV_CODEC_ID_SMVJPEG, AV_CODEC_ID_APNG, AV_CODEC_ID_DAALA, AV_CODEC_ID_CFHD, AV_CODEC_ID_TRUEMOTION2RT, AV_CODEC_ID_M101, AV_CODEC_ID_MAGICYUV, AV_CODEC_ID_SHEERVIDEO, AV_CODEC_ID_YLC, AV_CODEC_ID_PSD, AV_CODEC_ID_PIXLET, AV_CODEC_ID_SPEEDHQ, AV_CODEC_ID_FMVC, AV_CODEC_ID_SCPR, AV_CODEC_ID_CLEARVIDEO, AV_CODEC_ID_XPM, AV_CODEC_ID_AV1, AV_CODEC_ID_BITPACKED, AV_CODEC_ID_MSCC, AV_CODEC_ID_SRGC, AV_CODEC_ID_SVG, AV_CODEC_ID_GDV, AV_CODEC_ID_FITS, AV_CODEC_ID_IMM4, AV_CODEC_ID_PROSUMER, AV_CODEC_ID_MWSC, AV_CODEC_ID_WCMV, AV_CODEC_ID_RASC, AV_CODEC_ID_FIRST_AUDIO = 0x10000, AV_CODEC_ID_PCM_S16LE = 0x10000, AV_CODEC_ID_PCM_S16BE, AV_CODEC_ID_PCM_U16LE, AV_CODEC_ID_PCM_U16BE, AV_CODEC_ID_PCM_S8, AV_CODEC_ID_PCM_U8, AV_CODEC_ID_PCM_MULAW, AV_CODEC_ID_PCM_ALAW, AV_CODEC_ID_PCM_S32LE, AV_CODEC_ID_PCM_S32BE, AV_CODEC_ID_PCM_U32LE, AV_CODEC_ID_PCM_U32BE, AV_CODEC_ID_PCM_S24LE, AV_CODEC_ID_PCM_S24BE, AV_CODEC_ID_PCM_U24LE, AV_CODEC_ID_PCM_U24BE, AV_CODEC_ID_PCM_S24DAUD, AV_CODEC_ID_PCM_ZORK, AV_CODEC_ID_PCM_S16LE_PLANAR, AV_CODEC_ID_PCM_DVD, AV_CODEC_ID_PCM_F32BE, AV_CODEC_ID_PCM_F32LE, AV_CODEC_ID_PCM_F64BE, AV_CODEC_ID_PCM_F64LE, AV_CODEC_ID_PCM_BLURAY, AV_CODEC_ID_PCM_LXF, AV_CODEC_ID_S302M, AV_CODEC_ID_PCM_S8_PLANAR, AV_CODEC_ID_PCM_S24LE_PLANAR, AV_CODEC_ID_PCM_S32LE_PLANAR, AV_CODEC_ID_PCM_S16BE_PLANAR, AV_CODEC_ID_PCM_S64LE = 0x10800, AV_CODEC_ID_PCM_S64BE, AV_CODEC_ID_PCM_F16LE, AV_CODEC_ID_PCM_F24LE, AV_CODEC_ID_PCM_VIDC, AV_CODEC_ID_ADPCM_IMA_QT = 0x11000, AV_CODEC_ID_ADPCM_IMA_WAV, AV_CODEC_ID_ADPCM_IMA_DK3, AV_CODEC_ID_ADPCM_IMA_DK4, AV_CODEC_ID_ADPCM_IMA_WS, AV_CODEC_ID_ADPCM_IMA_SMJPEG, AV_CODEC_ID_ADPCM_MS, AV_CODEC_ID_ADPCM_4XM, AV_CODEC_ID_ADPCM_XA, AV_CODEC_ID_ADPCM_ADX, AV_CODEC_ID_ADPCM_EA, AV_CODEC_ID_ADPCM_G726, AV_CODEC_ID_ADPCM_CT, AV_CODEC_ID_ADPCM_SWF, AV_CODEC_ID_ADPCM_YAMAHA, AV_CODEC_ID_ADPCM_SBPRO_4, AV_CODEC_ID_ADPCM_SBPRO_3, AV_CODEC_ID_ADPCM_SBPRO_2, AV_CODEC_ID_ADPCM_THP, AV_CODEC_ID_ADPCM_IMA_AMV, AV_CODEC_ID_ADPCM_EA_R1, AV_CODEC_ID_ADPCM_EA_R3, AV_CODEC_ID_ADPCM_EA_R2, AV_CODEC_ID_ADPCM_IMA_EA_SEAD, AV_CODEC_ID_ADPCM_IMA_EA_EACS, AV_CODEC_ID_ADPCM_EA_XAS, AV_CODEC_ID_ADPCM_EA_MAXIS_XA, AV_CODEC_ID_ADPCM_IMA_ISS, AV_CODEC_ID_ADPCM_G722, AV_CODEC_ID_ADPCM_IMA_APC, AV_CODEC_ID_ADPCM_VIMA, AV_CODEC_ID_ADPCM_AFC = 0x11800, AV_CODEC_ID_ADPCM_IMA_OKI, AV_CODEC_ID_ADPCM_DTK, AV_CODEC_ID_ADPCM_IMA_RAD, AV_CODEC_ID_ADPCM_G726LE, AV_CODEC_ID_ADPCM_THP_LE, AV_CODEC_ID_ADPCM_PSX, AV_CODEC_ID_ADPCM_AICA, AV_CODEC_ID_ADPCM_IMA_DAT4, AV_CODEC_ID_ADPCM_MTAF, AV_CODEC_ID_AMR_NB = 0x12000, AV_CODEC_ID_AMR_WB, AV_CODEC_ID_RA_144 = 0x13000, AV_CODEC_ID_RA_288, AV_CODEC_ID_ROQ_DPCM = 0x14000, AV_CODEC_ID_INTERPLAY_DPCM, AV_CODEC_ID_XAN_DPCM, AV_CODEC_ID_SOL_DPCM, AV_CODEC_ID_SDX2_DPCM = 0x14800, AV_CODEC_ID_GREMLIN_DPCM, AV_CODEC_ID_MP2 = 0x15000, AV_CODEC_ID_MP3, AV_CODEC_ID_AAC, AV_CODEC_ID_AC3, AV_CODEC_ID_DTS, AV_CODEC_ID_VORBIS, AV_CODEC_ID_DVAUDIO, AV_CODEC_ID_WMAV1, AV_CODEC_ID_WMAV2, AV_CODEC_ID_MACE3, AV_CODEC_ID_MACE6, AV_CODEC_ID_VMDAUDIO, AV_CODEC_ID_FLAC, AV_CODEC_ID_MP3ADU, AV_CODEC_ID_MP3ON4, AV_CODEC_ID_SHORTEN, AV_CODEC_ID_ALAC, AV_CODEC_ID_WESTWOOD_SND1, AV_CODEC_ID_GSM, AV_CODEC_ID_QDM2, AV_CODEC_ID_COOK, AV_CODEC_ID_TRUESPEECH, AV_CODEC_ID_TTA, AV_CODEC_ID_SMACKAUDIO, AV_CODEC_ID_QCELP, AV_CODEC_ID_WAVPACK, AV_CODEC_ID_DSICINAUDIO, AV_CODEC_ID_IMC, AV_CODEC_ID_MUSEPACK7, AV_CODEC_ID_MLP, AV_CODEC_ID_GSM_MS, AV_CODEC_ID_ATRAC3, AV_CODEC_ID_APE, AV_CODEC_ID_NELLYMOSER, AV_CODEC_ID_MUSEPACK8, AV_CODEC_ID_SPEEX, AV_CODEC_ID_WMAVOICE, AV_CODEC_ID_WMAPRO, AV_CODEC_ID_WMALOSSLESS, AV_CODEC_ID_ATRAC3P, AV_CODEC_ID_EAC3, AV_CODEC_ID_SIPR, AV_CODEC_ID_MP1, AV_CODEC_ID_TWINVQ, AV_CODEC_ID_TRUEHD, AV_CODEC_ID_MP4ALS, AV_CODEC_ID_ATRAC1, AV_CODEC_ID_BINKAUDIO_RDFT, AV_CODEC_ID_BINKAUDIO_DCT, AV_CODEC_ID_AAC_LATM, AV_CODEC_ID_QDMC, AV_CODEC_ID_CELT, AV_CODEC_ID_G723_1, AV_CODEC_ID_G729, AV_CODEC_ID_8SVX_EXP, AV_CODEC_ID_8SVX_FIB, AV_CODEC_ID_BMV_AUDIO, AV_CODEC_ID_RALF, AV_CODEC_ID_IAC, AV_CODEC_ID_ILBC, AV_CODEC_ID_OPUS, AV_CODEC_ID_COMFORT_NOISE, AV_CODEC_ID_TAK, AV_CODEC_ID_METASOUND, AV_CODEC_ID_PAF_AUDIO, AV_CODEC_ID_ON2AVC, AV_CODEC_ID_DSS_SP, AV_CODEC_ID_CODEC2, AV_CODEC_ID_FFWAVESYNTH = 0x15800, AV_CODEC_ID_SONIC, AV_CODEC_ID_SONIC_LS, AV_CODEC_ID_EVRC, AV_CODEC_ID_SMV, AV_CODEC_ID_DSD_LSBF, AV_CODEC_ID_DSD_MSBF, AV_CODEC_ID_DSD_LSBF_PLANAR, AV_CODEC_ID_DSD_MSBF_PLANAR, AV_CODEC_ID_4GV, AV_CODEC_ID_INTERPLAY_ACM, AV_CODEC_ID_XMA1, AV_CODEC_ID_XMA2, AV_CODEC_ID_DST, AV_CODEC_ID_ATRAC3AL, AV_CODEC_ID_ATRAC3PAL, AV_CODEC_ID_DOLBY_E, AV_CODEC_ID_APTX, AV_CODEC_ID_APTX_HD, AV_CODEC_ID_SBC, AV_CODEC_ID_ATRAC9, AV_CODEC_ID_FIRST_SUBTITLE = 0x17000, AV_CODEC_ID_DVD_SUBTITLE = 0x17000, AV_CODEC_ID_DVB_SUBTITLE, AV_CODEC_ID_TEXT, AV_CODEC_ID_XSUB, AV_CODEC_ID_SSA, AV_CODEC_ID_MOV_TEXT, AV_CODEC_ID_HDMV_PGS_SUBTITLE, AV_CODEC_ID_DVB_TELETEXT, AV_CODEC_ID_SRT, AV_CODEC_ID_MICRODVD = 0x17800, AV_CODEC_ID_EIA_608, AV_CODEC_ID_JACOSUB, AV_CODEC_ID_SAMI, AV_CODEC_ID_REALTEXT, AV_CODEC_ID_STL, AV_CODEC_ID_SUBVIEWER1, AV_CODEC_ID_SUBVIEWER, AV_CODEC_ID_SUBRIP, AV_CODEC_ID_WEBVTT, AV_CODEC_ID_MPL2, AV_CODEC_ID_VPLAYER, AV_CODEC_ID_PJS, AV_CODEC_ID_ASS, AV_CODEC_ID_HDMV_TEXT_SUBTITLE, AV_CODEC_ID_TTML, AV_CODEC_ID_FIRST_UNKNOWN = 0x18000, AV_CODEC_ID_TTF = 0x18000, AV_CODEC_ID_SCTE_35, AV_CODEC_ID_BINTEXT = 0x18800, AV_CODEC_ID_XBIN, AV_CODEC_ID_IDF, AV_CODEC_ID_OTF, AV_CODEC_ID_SMPTE_KLV, AV_CODEC_ID_DVD_NAV, AV_CODEC_ID_TIMED_ID3, AV_CODEC_ID_BIN_DATA, AV_CODEC_ID_PROBE = 0x19000, AV_CODEC_ID_MPEG2TS = 0x20000, AV_CODEC_ID_MPEG4SYSTEMS = 0x20001, AV_CODEC_ID_FFMETADATA = 0x21000, AV_CODEC_ID_WRAPPED_AVFRAME = 0x21001, }; typedef struct AVCodecDescriptor { enum AVCodecID id; enum AVMediaType type; const char *name; const char *long_name; int props; const char *const *mime_types; const struct AVProfile *profiles; } AVCodecDescriptor; # 794 "src/libavcodec/avcodec.h" enum AVDiscard{ AVDISCARD_NONE =-16, AVDISCARD_DEFAULT = 0, AVDISCARD_NONREF = 8, AVDISCARD_BIDIR = 16, AVDISCARD_NONINTRA= 24, AVDISCARD_NONKEY = 32, AVDISCARD_ALL = 48, }; enum AVAudioServiceType { AV_AUDIO_SERVICE_TYPE_MAIN = 0, AV_AUDIO_SERVICE_TYPE_EFFECTS = 1, AV_AUDIO_SERVICE_TYPE_VISUALLY_IMPAIRED = 2, AV_AUDIO_SERVICE_TYPE_HEARING_IMPAIRED = 3, AV_AUDIO_SERVICE_TYPE_DIALOGUE = 4, AV_AUDIO_SERVICE_TYPE_COMMENTARY = 5, AV_AUDIO_SERVICE_TYPE_EMERGENCY = 6, AV_AUDIO_SERVICE_TYPE_VOICE_OVER = 7, AV_AUDIO_SERVICE_TYPE_KARAOKE = 8, AV_AUDIO_SERVICE_TYPE_NB , }; typedef struct RcOverride{ int start_frame; int end_frame; int qscale; float quality_factor; } RcOverride; # 1079 "src/libavcodec/avcodec.h" typedef struct AVPanScan { int id; int width; int height; int16_t position[3][2]; } AVPanScan; typedef struct AVCPBProperties { int max_bitrate; int min_bitrate; int avg_bitrate; int buffer_size; # 1138 "src/libavcodec/avcodec.h" uint64_t vbv_delay; } AVCPBProperties; # 1152 "src/libavcodec/avcodec.h" enum AVPacketSideDataType { AV_PKT_DATA_PALETTE, # 1167 "src/libavcodec/avcodec.h" AV_PKT_DATA_NEW_EXTRADATA, # 1184 "src/libavcodec/avcodec.h" AV_PKT_DATA_PARAM_CHANGE, # 1205 "src/libavcodec/avcodec.h" AV_PKT_DATA_H263_MB_INFO, AV_PKT_DATA_REPLAYGAIN, # 1220 "src/libavcodec/avcodec.h" AV_PKT_DATA_DISPLAYMATRIX, AV_PKT_DATA_STEREO3D, AV_PKT_DATA_AUDIO_SERVICE_TYPE, # 1244 "src/libavcodec/avcodec.h" AV_PKT_DATA_QUALITY_STATS, AV_PKT_DATA_FALLBACK_TRACK, AV_PKT_DATA_CPB_PROPERTIES, # 1268 "src/libavcodec/avcodec.h" AV_PKT_DATA_SKIP_SAMPLES, # 1278 "src/libavcodec/avcodec.h" AV_PKT_DATA_JP_DUALMONO, AV_PKT_DATA_STRINGS_METADATA, # 1295 "src/libavcodec/avcodec.h" AV_PKT_DATA_SUBTITLE_POSITION, AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL, AV_PKT_DATA_WEBVTT_IDENTIFIER, AV_PKT_DATA_WEBVTT_SETTINGS, AV_PKT_DATA_METADATA_UPDATE, AV_PKT_DATA_MPEGTS_STREAM_ID, AV_PKT_DATA_MASTERING_DISPLAY_METADATA, AV_PKT_DATA_SPHERICAL, AV_PKT_DATA_CONTENT_LIGHT_LEVEL, AV_PKT_DATA_A53_CC, AV_PKT_DATA_ENCRYPTION_INIT_INFO, AV_PKT_DATA_ENCRYPTION_INFO, AV_PKT_DATA_AFD, # 1383 "src/libavcodec/avcodec.h" AV_PKT_DATA_NB }; typedef struct AVPacketSideData { uint8_t *data; int size; enum AVPacketSideDataType type; } AVPacketSideData; # 1422 "src/libavcodec/avcodec.h" typedef struct AVPacket { AVBufferRef *buf; # 1438 "src/libavcodec/avcodec.h" int64_t pts; int64_t dts; uint8_t *data; int size; int stream_index; int flags; AVPacketSideData *side_data; int side_data_elems; int64_t duration; int64_t pos; __attribute__((deprecated)) int64_t convergence_duration; } AVPacket; # 1499 "src/libavcodec/avcodec.h" enum AVSideDataParamChangeFlags { AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_COUNT = 0x0001, AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_LAYOUT = 0x0002, AV_SIDE_DATA_PARAM_CHANGE_SAMPLE_RATE = 0x0004, AV_SIDE_DATA_PARAM_CHANGE_DIMENSIONS = 0x0008, }; struct AVCodecInternal; enum AVFieldOrder { AV_FIELD_UNKNOWN, AV_FIELD_PROGRESSIVE, AV_FIELD_TT, AV_FIELD_BB, AV_FIELD_TB, AV_FIELD_BT, }; # 1533 "src/libavcodec/avcodec.h" typedef struct AVCodecContext { const AVClass *av_class; int log_level_offset; enum AVMediaType codec_type; const struct AVCodec *codec; enum AVCodecID codec_id; # 1558 "src/libavcodec/avcodec.h" unsigned int codec_tag; void *priv_data; struct AVCodecInternal *internal; void *opaque; int64_t bit_rate; int bit_rate_tolerance; int global_quality; int compression_level; int flags; int flags2; # 1634 "src/libavcodec/avcodec.h" uint8_t *extradata; int extradata_size; # 1656 "src/libavcodec/avcodec.h" AVRational time_base; # 1665 "src/libavcodec/avcodec.h" int ticks_per_frame; # 1689 "src/libavcodec/avcodec.h" int delay; # 1706 "src/libavcodec/avcodec.h" int width, height; # 1721 "src/libavcodec/avcodec.h" int coded_width, coded_height; int gop_size; # 1743 "src/libavcodec/avcodec.h" enum AVPixelFormat pix_fmt; # 1768 "src/libavcodec/avcodec.h" void (*draw_horiz_band)(struct AVCodecContext *s, const AVFrame *src, int offset[8], int y, int type, int height); # 1785 "src/libavcodec/avcodec.h" enum AVPixelFormat (*get_format)(struct AVCodecContext *s, const enum AVPixelFormat * fmt); int max_b_frames; # 1802 "src/libavcodec/avcodec.h" float b_quant_factor; __attribute__((deprecated)) int b_frame_strategy; float b_quant_offset; int has_b_frames; __attribute__((deprecated)) int mpeg_quant; # 1838 "src/libavcodec/avcodec.h" float i_quant_factor; float i_quant_offset; float lumi_masking; float temporal_cplx_masking; float spatial_cplx_masking; float p_masking; float dark_masking; int slice_count; __attribute__((deprecated)) int prediction_method; # 1903 "src/libavcodec/avcodec.h" int *slice_offset; # 1912 "src/libavcodec/avcodec.h" AVRational sample_aspect_ratio; int me_cmp; int me_sub_cmp; int mb_cmp; int ildct_cmp; # 1961 "src/libavcodec/avcodec.h" int dia_size; int last_predictor_count; __attribute__((deprecated)) int pre_me; int me_pre_cmp; int pre_dia_size; int me_subpel_quality; # 2004 "src/libavcodec/avcodec.h" int me_range; int slice_flags; # 2021 "src/libavcodec/avcodec.h" int mb_decision; # 2031 "src/libavcodec/avcodec.h" uint16_t *intra_matrix; uint16_t *inter_matrix; __attribute__((deprecated)) int scenechange_threshold; __attribute__((deprecated)) int noise_reduction; int intra_dc_precision; int skip_top; int skip_bottom; int mb_lmin; int mb_lmax; __attribute__((deprecated)) int me_penalty_compensation; int bidir_refine; __attribute__((deprecated)) int brd_scale; int keyint_min; int refs; __attribute__((deprecated)) int chromaoffset; int mv0_threshold; __attribute__((deprecated)) int b_sensitivity; enum AVColorPrimaries color_primaries; enum AVColorTransferCharacteristic color_trc; enum AVColorSpace colorspace; enum AVColorRange color_range; enum AVChromaLocation chroma_sample_location; # 2180 "src/libavcodec/avcodec.h" int slices; enum AVFieldOrder field_order; int sample_rate; int channels; enum AVSampleFormat sample_fmt; # 2209 "src/libavcodec/avcodec.h" int frame_size; # 2220 "src/libavcodec/avcodec.h" int frame_number; int block_align; int cutoff; uint64_t channel_layout; uint64_t request_channel_layout; enum AVAudioServiceType audio_service_type; enum AVSampleFormat request_sample_fmt; # 2344 "src/libavcodec/avcodec.h" int (*get_buffer2)(struct AVCodecContext *s, AVFrame *frame, int flags); # 2359 "src/libavcodec/avcodec.h" __attribute__((deprecated)) int refcounted_frames; float qcompress; float qblur; int qmin; int qmax; int max_qdiff; int rc_buffer_size; int rc_override_count; RcOverride *rc_override; int64_t rc_max_rate; int64_t rc_min_rate; float rc_max_available_vbv_use; float rc_min_vbv_overflow_use; int rc_initial_buffer_occupancy; # 2445 "src/libavcodec/avcodec.h" __attribute__((deprecated)) int coder_type; __attribute__((deprecated)) int context_model; __attribute__((deprecated)) int frame_skip_threshold; __attribute__((deprecated)) int frame_skip_factor; __attribute__((deprecated)) int frame_skip_exp; __attribute__((deprecated)) int frame_skip_cmp; int trellis; __attribute__((deprecated)) int min_prediction_order; __attribute__((deprecated)) int max_prediction_order; __attribute__((deprecated)) int64_t timecode_frame_start; # 2504 "src/libavcodec/avcodec.h" __attribute__((deprecated)) void (*rtp_callback)(struct AVCodecContext *avctx, void *data, int size, int mb_nb); __attribute__((deprecated)) int rtp_payload_size; # 2521 "src/libavcodec/avcodec.h" __attribute__((deprecated)) int mv_bits; __attribute__((deprecated)) int header_bits; __attribute__((deprecated)) int i_tex_bits; __attribute__((deprecated)) int p_tex_bits; __attribute__((deprecated)) int i_count; __attribute__((deprecated)) int p_count; __attribute__((deprecated)) int skip_count; __attribute__((deprecated)) int misc_bits; __attribute__((deprecated)) int frame_bits; char *stats_out; char *stats_in; int workaround_bugs; # 2592 "src/libavcodec/avcodec.h" int strict_std_compliance; # 2604 "src/libavcodec/avcodec.h" int error_concealment; # 2614 "src/libavcodec/avcodec.h" int debug; # 2658 "src/libavcodec/avcodec.h" int err_recognition; # 2683 "src/libavcodec/avcodec.h" int64_t reordered_opaque; const struct AVHWAccel *hwaccel; # 2702 "src/libavcodec/avcodec.h" void *hwaccel_context; uint64_t error[8]; int dct_algo; # 2729 "src/libavcodec/avcodec.h" int idct_algo; # 2750 "src/libavcodec/avcodec.h" int bits_per_coded_sample; int bits_per_raw_sample; int lowres; # 2776 "src/libavcodec/avcodec.h" __attribute__((deprecated)) AVFrame *coded_frame; # 2785 "src/libavcodec/avcodec.h" int thread_count; # 2795 "src/libavcodec/avcodec.h" int thread_type; # 2804 "src/libavcodec/avcodec.h" int active_thread_type; # 2814 "src/libavcodec/avcodec.h" int thread_safe_callbacks; # 2825 "src/libavcodec/avcodec.h" int (*execute)(struct AVCodecContext *c, int (*func)(struct AVCodecContext *c2, void *arg), void *arg2, int *ret, int count, int size); # 2845 "src/libavcodec/avcodec.h" int (*execute2)(struct AVCodecContext *c, int (*func)(struct AVCodecContext *c2, void *arg, int jobnr, int threadnr), void *arg2, int *ret, int count); int nsse_weight; int profile; # 2969 "src/libavcodec/avcodec.h" int level; enum AVDiscard skip_loop_filter; enum AVDiscard skip_idct; enum AVDiscard skip_frame; # 3001 "src/libavcodec/avcodec.h" uint8_t *subtitle_header; int subtitle_header_size; # 3013 "src/libavcodec/avcodec.h" __attribute__((deprecated)) uint64_t vbv_delay; # 3028 "src/libavcodec/avcodec.h" __attribute__((deprecated)) int side_data_only_packets; # 3047 "src/libavcodec/avcodec.h" int initial_padding; # 3056 "src/libavcodec/avcodec.h" AVRational framerate; enum AVPixelFormat sw_pix_fmt; AVRational pkt_timebase; const AVCodecDescriptor *codec_descriptor; # 3093 "src/libavcodec/avcodec.h" int64_t pts_correction_num_faulty_pts; int64_t pts_correction_num_faulty_dts; int64_t pts_correction_last_pts; int64_t pts_correction_last_dts; char *sub_charenc; int sub_charenc_mode; # 3129 "src/libavcodec/avcodec.h" int skip_alpha; int seek_preroll; int debug_mv; # 3155 "src/libavcodec/avcodec.h" uint16_t *chroma_intra_matrix; uint8_t *dump_separator; char *codec_whitelist; unsigned properties; # 3188 "src/libavcodec/avcodec.h" AVPacketSideData *coded_side_data; int nb_coded_side_data; # 3213 "src/libavcodec/avcodec.h" AVBufferRef *hw_frames_ctx; int sub_text_format; # 3235 "src/libavcodec/avcodec.h" int trailing_padding; int64_t max_pixels; # 3265 "src/libavcodec/avcodec.h" AVBufferRef *hw_device_ctx; # 3274 "src/libavcodec/avcodec.h" int hwaccel_flags; # 3301 "src/libavcodec/avcodec.h" int apply_cropping; # 3315 "src/libavcodec/avcodec.h" int extra_hw_frames; } AVCodecContext; __attribute__((deprecated)) AVRational av_codec_get_pkt_timebase (const AVCodecContext *avctx); __attribute__((deprecated)) void av_codec_set_pkt_timebase (AVCodecContext *avctx, AVRational val); __attribute__((deprecated)) const AVCodecDescriptor *av_codec_get_codec_descriptor(const AVCodecContext *avctx); __attribute__((deprecated)) void av_codec_set_codec_descriptor(AVCodecContext *avctx, const AVCodecDescriptor *desc); __attribute__((deprecated)) unsigned av_codec_get_codec_properties(const AVCodecContext *avctx); __attribute__((deprecated)) int av_codec_get_lowres(const AVCodecContext *avctx); __attribute__((deprecated)) void av_codec_set_lowres(AVCodecContext *avctx, int val); __attribute__((deprecated)) int av_codec_get_seek_preroll(const AVCodecContext *avctx); __attribute__((deprecated)) void av_codec_set_seek_preroll(AVCodecContext *avctx, int val); __attribute__((deprecated)) uint16_t *av_codec_get_chroma_intra_matrix(const AVCodecContext *avctx); __attribute__((deprecated)) void av_codec_set_chroma_intra_matrix(AVCodecContext *avctx, uint16_t *val); typedef struct AVProfile { int profile; const char *name; } AVProfile; enum { AV_CODEC_HW_CONFIG_METHOD_HW_DEVICE_CTX = 0x01, # 3379 "src/libavcodec/avcodec.h" AV_CODEC_HW_CONFIG_METHOD_HW_FRAMES_CTX = 0x02, AV_CODEC_HW_CONFIG_METHOD_INTERNAL = 0x04, # 3395 "src/libavcodec/avcodec.h" AV_CODEC_HW_CONFIG_METHOD_AD_HOC = 0x08, }; typedef struct AVCodecHWConfig { enum AVPixelFormat pix_fmt; int methods; enum AVHWDeviceType device_type; } AVCodecHWConfig; typedef struct AVCodecDefault AVCodecDefault; struct AVSubtitle; typedef struct AVCodec { const char *name; const char *long_name; enum AVMediaType type; enum AVCodecID id; int capabilities; const AVRational *supported_framerates; const enum AVPixelFormat *pix_fmts; const int *supported_samplerates; const enum AVSampleFormat *sample_fmts; const uint64_t *channel_layouts; uint8_t max_lowres; const AVClass *priv_class; const AVProfile *profiles; # 3463 "src/libavcodec/avcodec.h" const char *wrapper_name; # 3472 "src/libavcodec/avcodec.h" int priv_data_size; struct AVCodec *next; # 3483 "src/libavcodec/avcodec.h" int (*init_thread_copy)(AVCodecContext *); int (*update_thread_context)(AVCodecContext *dst, const AVCodecContext *src); const AVCodecDefault *defaults; void (*init_static_data)(struct AVCodec *codec); int (*init)(AVCodecContext *); int (*encode_sub)(AVCodecContext *, uint8_t *buf, int buf_size, const struct AVSubtitle *sub); # 3520 "src/libavcodec/avcodec.h" int (*encode2)(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr); int (*decode)(AVCodecContext *, void *outdata, int *outdata_size, AVPacket *avpkt); int (*close)(AVCodecContext *); # 3532 "src/libavcodec/avcodec.h" int (*send_frame)(AVCodecContext *avctx, const AVFrame *frame); int (*receive_packet)(AVCodecContext *avctx, AVPacket *avpkt); int (*receive_frame)(AVCodecContext *avctx, AVFrame *frame); void (*flush)(AVCodecContext *); int caps_internal; const char *bsfs; # 3565 "src/libavcodec/avcodec.h" const struct AVCodecHWConfigInternal **hw_configs; } AVCodec; __attribute__((deprecated)) int av_codec_get_max_lowres(const AVCodec *codec); struct MpegEncContext; # 3582 "src/libavcodec/avcodec.h" const AVCodecHWConfig *avcodec_get_hw_config(const AVCodec *codec, int index); # 3592 "src/libavcodec/avcodec.h" typedef struct AVHWAccel { const char *name; enum AVMediaType type; enum AVCodecID id; enum AVPixelFormat pix_fmt; int capabilities; # 3638 "src/libavcodec/avcodec.h" int (*alloc_frame)(AVCodecContext *avctx, AVFrame *frame); # 3654 "src/libavcodec/avcodec.h" int (*start_frame)(AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size); # 3668 "src/libavcodec/avcodec.h" int (*decode_params)(AVCodecContext *avctx, int type, const uint8_t *buf, uint32_t buf_size); # 3682 "src/libavcodec/avcodec.h" int (*decode_slice)(AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size); # 3693 "src/libavcodec/avcodec.h" int (*end_frame)(AVCodecContext *avctx); # 3702 "src/libavcodec/avcodec.h" int frame_priv_data_size; # 3713 "src/libavcodec/avcodec.h" void (*decode_mb)(struct MpegEncContext *s); # 3722 "src/libavcodec/avcodec.h" int (*init)(AVCodecContext *avctx); int (*uninit)(AVCodecContext *avctx); int priv_data_size; int caps_internal; # 3751 "src/libavcodec/avcodec.h" int (*frame_params)(AVCodecContext *avctx, AVBufferRef *hw_frames_ctx); } AVHWAccel; # 3809 "src/libavcodec/avcodec.h" typedef struct AVPicture { __attribute__((deprecated)) uint8_t *data[8]; __attribute__((deprecated)) int linesize[8]; } AVPicture; enum AVSubtitleType { SUBTITLE_NONE, SUBTITLE_BITMAP, SUBTITLE_TEXT, SUBTITLE_ASS, }; typedef struct AVSubtitleRect { int x; int y; int w; int h; int nb_colors; __attribute__((deprecated)) AVPicture pict; uint8_t *data[4]; int linesize[4]; enum AVSubtitleType type; char *text; char *ass; int flags; } AVSubtitleRect; typedef struct AVSubtitle { uint16_t format; uint32_t start_display_time; uint32_t end_display_time; unsigned num_rects; AVSubtitleRect **rects; int64_t pts; } AVSubtitle; # 3892 "src/libavcodec/avcodec.h" typedef struct AVCodecParameters { enum AVMediaType codec_type; enum AVCodecID codec_id; uint32_t codec_tag; # 3914 "src/libavcodec/avcodec.h" uint8_t *extradata; int extradata_size; int format; int64_t bit_rate; # 3942 "src/libavcodec/avcodec.h" int bits_per_coded_sample; # 3955 "src/libavcodec/avcodec.h" int bits_per_raw_sample; int profile; int level; int width; int height; # 3976 "src/libavcodec/avcodec.h" AVRational sample_aspect_ratio; enum AVFieldOrder field_order; enum AVColorRange color_range; enum AVColorPrimaries color_primaries; enum AVColorTransferCharacteristic color_trc; enum AVColorSpace color_space; enum AVChromaLocation chroma_location; int video_delay; uint64_t channel_layout; int channels; int sample_rate; int block_align; int frame_size; int initial_padding; int trailing_padding; int seek_preroll; } AVCodecParameters; # 4052 "src/libavcodec/avcodec.h" const AVCodec *av_codec_iterate(void **opaque); __attribute__((deprecated)) AVCodec *av_codec_next(const AVCodec *c); unsigned avcodec_version(void); const char *avcodec_configuration(void); const char *avcodec_license(void); # 4088 "src/libavcodec/avcodec.h" __attribute__((deprecated)) void avcodec_register(AVCodec *codec); # 4101 "src/libavcodec/avcodec.h" __attribute__((deprecated)) void avcodec_register_all(void); # 4118 "src/libavcodec/avcodec.h" AVCodecContext *avcodec_alloc_context3(const AVCodec *codec); void avcodec_free_context(AVCodecContext **avctx); int avcodec_get_context_defaults3(AVCodecContext *s, const AVCodec *codec); # 4141 "src/libavcodec/avcodec.h" const AVClass *avcodec_get_class(void); # 4150 "src/libavcodec/avcodec.h" const AVClass *avcodec_get_frame_class(void); const AVClass *avcodec_get_subtitle_rect_class(void); # 4177 "src/libavcodec/avcodec.h" __attribute__((deprecated)) int avcodec_copy_context(AVCodecContext *dest, const AVCodecContext *src); AVCodecParameters *avcodec_parameters_alloc(void); void avcodec_parameters_free(AVCodecParameters **par); int avcodec_parameters_copy(AVCodecParameters *dst, const AVCodecParameters *src); # 4209 "src/libavcodec/avcodec.h" int avcodec_parameters_from_context(AVCodecParameters *par, const AVCodecContext *codec); # 4220 "src/libavcodec/avcodec.h" int avcodec_parameters_to_context(AVCodecContext *codec, const AVCodecParameters *par); # 4261 "src/libavcodec/avcodec.h" int avcodec_open2(AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options); # 4276 "src/libavcodec/avcodec.h" int avcodec_close(AVCodecContext *avctx); void avsubtitle_free(AVSubtitle *sub); # 4305 "src/libavcodec/avcodec.h" AVPacket *av_packet_alloc(void); # 4317 "src/libavcodec/avcodec.h" AVPacket *av_packet_clone(const AVPacket *src); # 4326 "src/libavcodec/avcodec.h" void av_packet_free(AVPacket **pkt); # 4336 "src/libavcodec/avcodec.h" void av_init_packet(AVPacket *pkt); # 4346 "src/libavcodec/avcodec.h" int av_new_packet(AVPacket *pkt, int size); void av_shrink_packet(AVPacket *pkt, int size); int av_grow_packet(AVPacket *pkt, int grow_by); # 4377 "src/libavcodec/avcodec.h" int av_packet_from_data(AVPacket *pkt, uint8_t *data, int size); # 4386 "src/libavcodec/avcodec.h" __attribute__((deprecated)) int av_dup_packet(AVPacket *pkt); __attribute__((deprecated)) int av_copy_packet(AVPacket *dst, const AVPacket *src); # 4405 "src/libavcodec/avcodec.h" __attribute__((deprecated)) int av_copy_packet_side_data(AVPacket *dst, const AVPacket *src); # 4415 "src/libavcodec/avcodec.h" __attribute__((deprecated)) void av_free_packet(AVPacket *pkt); # 4426 "src/libavcodec/avcodec.h" uint8_t* av_packet_new_side_data(AVPacket *pkt, enum AVPacketSideDataType type, int size); # 4442 "src/libavcodec/avcodec.h" int av_packet_add_side_data(AVPacket *pkt, enum AVPacketSideDataType type, uint8_t *data, size_t size); # 4453 "src/libavcodec/avcodec.h" int av_packet_shrink_side_data(AVPacket *pkt, enum AVPacketSideDataType type, int size); # 4464 "src/libavcodec/avcodec.h" uint8_t* av_packet_get_side_data(const AVPacket *pkt, enum AVPacketSideDataType type, int *size); __attribute__((deprecated)) int av_packet_merge_side_data(AVPacket *pkt); __attribute__((deprecated)) int av_packet_split_side_data(AVPacket *pkt); const char *av_packet_side_data_name(enum AVPacketSideDataType type); # 4484 "src/libavcodec/avcodec.h" uint8_t *av_packet_pack_dictionary(AVDictionary *dict, int *size); # 4493 "src/libavcodec/avcodec.h" int av_packet_unpack_dictionary(const uint8_t *data, int size, AVDictionary **dict); # 4502 "src/libavcodec/avcodec.h" void av_packet_free_side_data(AVPacket *pkt); # 4520 "src/libavcodec/avcodec.h" int av_packet_ref(AVPacket *dst, const AVPacket *src); # 4530 "src/libavcodec/avcodec.h" void av_packet_unref(AVPacket *pkt); # 4540 "src/libavcodec/avcodec.h" void av_packet_move_ref(AVPacket *dst, AVPacket *src); # 4553 "src/libavcodec/avcodec.h" int av_packet_copy_props(AVPacket *dst, const AVPacket *src); # 4569 "src/libavcodec/avcodec.h" int av_packet_make_refcounted(AVPacket *pkt); # 4580 "src/libavcodec/avcodec.h" int av_packet_make_writable(AVPacket *pkt); # 4593 "src/libavcodec/avcodec.h" void av_packet_rescale_ts(AVPacket *pkt, AVRational tb_src, AVRational tb_dst); # 4610 "src/libavcodec/avcodec.h" AVCodec *avcodec_find_decoder(enum AVCodecID id); AVCodec *avcodec_find_decoder_by_name(const char *name); int avcodec_default_get_buffer2(AVCodecContext *s, AVFrame *frame, int flags); # 4634 "src/libavcodec/avcodec.h" void avcodec_align_dimensions(AVCodecContext *s, int *width, int *height); # 4643 "src/libavcodec/avcodec.h" void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height, int linesize_align[8]); # 4655 "src/libavcodec/avcodec.h" int avcodec_enum_to_chroma_pos(int *xpos, int *ypos, enum AVChromaLocation pos); # 4666 "src/libavcodec/avcodec.h" enum AVChromaLocation avcodec_chroma_pos_to_enum(int xpos, int ypos); # 4721 "src/libavcodec/avcodec.h" __attribute__((deprecated)) int avcodec_decode_audio4(AVCodecContext *avctx, AVFrame *frame, int *got_frame_ptr, const AVPacket *avpkt); # 4770 "src/libavcodec/avcodec.h" __attribute__((deprecated)) int avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture, int *got_picture_ptr, const AVPacket *avpkt); # 4802 "src/libavcodec/avcodec.h" int avcodec_decode_subtitle2(AVCodecContext *avctx, AVSubtitle *sub, int *got_sub_ptr, AVPacket *avpkt); # 4856 "src/libavcodec/avcodec.h" int avcodec_send_packet(AVCodecContext *avctx, const AVPacket *avpkt); # 4876 "src/libavcodec/avcodec.h" int avcodec_receive_frame(AVCodecContext *avctx, AVFrame *frame); # 4913 "src/libavcodec/avcodec.h" int avcodec_send_frame(AVCodecContext *avctx, const AVFrame *frame); # 4930 "src/libavcodec/avcodec.h" int avcodec_receive_packet(AVCodecContext *avctx, AVPacket *avpkt); # 5029 "src/libavcodec/avcodec.h" int avcodec_get_hw_frames_parameters(AVCodecContext *avctx, AVBufferRef *device_ref, enum AVPixelFormat hw_pix_fmt, AVBufferRef **out_frames_ref); # 5041 "src/libavcodec/avcodec.h" enum AVPictureStructure { AV_PICTURE_STRUCTURE_UNKNOWN, AV_PICTURE_STRUCTURE_TOP_FIELD, AV_PICTURE_STRUCTURE_BOTTOM_FIELD, AV_PICTURE_STRUCTURE_FRAME, }; typedef struct AVCodecParserContext { void *priv_data; struct AVCodecParser *parser; int64_t frame_offset; int64_t cur_offset; int64_t next_frame_offset; int pict_type; # 5066 "src/libavcodec/avcodec.h" 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]; int flags; int64_t offset; int64_t cur_frame_end[4]; int key_frame; __attribute__((deprecated)) int64_t convergence_duration; # 5117 "src/libavcodec/avcodec.h" int dts_sync_point; # 5132 "src/libavcodec/avcodec.h" int dts_ref_dts_delta; # 5146 "src/libavcodec/avcodec.h" int pts_dts_delta; int64_t cur_frame_pos[4]; int64_t pos; int64_t last_pos; int duration; enum AVFieldOrder field_order; # 5182 "src/libavcodec/avcodec.h" enum AVPictureStructure picture_structure; int output_picture_number; int width; int height; int coded_width; int coded_height; # 5212 "src/libavcodec/avcodec.h" int format; } AVCodecParserContext; typedef struct AVCodecParser { int codec_ids[5]; int priv_data_size; int (*parser_init)(AVCodecParserContext *s); int (*parser_parse)(AVCodecParserContext *s, AVCodecContext *avctx, const uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size); void (*parser_close)(AVCodecParserContext *s); int (*split)(AVCodecContext *avctx, const uint8_t *buf, int buf_size); struct AVCodecParser *next; } AVCodecParser; # 5239 "src/libavcodec/avcodec.h" const AVCodecParser *av_parser_iterate(void **opaque); __attribute__((deprecated)) AVCodecParser *av_parser_next(const AVCodecParser *c); __attribute__((deprecated)) void av_register_codec_parser(AVCodecParser *parser); AVCodecParserContext *av_parser_init(int codec_id); # 5279 "src/libavcodec/avcodec.h" int av_parser_parse2(AVCodecParserContext *s, AVCodecContext *avctx, uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size, int64_t pts, int64_t dts, int64_t pos); int av_parser_change(AVCodecParserContext *s, AVCodecContext *avctx, uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size, int keyframe); void av_parser_close(AVCodecParserContext *s); # 5312 "src/libavcodec/avcodec.h" AVCodec *avcodec_find_encoder(enum AVCodecID id); AVCodec *avcodec_find_encoder_by_name(const char *name); # 5362 "src/libavcodec/avcodec.h" __attribute__((deprecated)) int avcodec_encode_audio2(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr); # 5401 "src/libavcodec/avcodec.h" __attribute__((deprecated)) int avcodec_encode_video2(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr); int avcodec_encode_subtitle(AVCodecContext *avctx, uint8_t *buf, int buf_size, const AVSubtitle *sub); # 5422 "src/libavcodec/avcodec.h" __attribute__((deprecated)) int avpicture_alloc(AVPicture *picture, enum AVPixelFormat pix_fmt, int width, int height); __attribute__((deprecated)) void avpicture_free(AVPicture *picture); __attribute__((deprecated)) int avpicture_fill(AVPicture *picture, const uint8_t *ptr, enum AVPixelFormat pix_fmt, int width, int height); __attribute__((deprecated)) int avpicture_layout(const AVPicture *src, enum AVPixelFormat pix_fmt, int width, int height, unsigned char *dest, int dest_size); __attribute__((deprecated)) int avpicture_get_size(enum AVPixelFormat pix_fmt, int width, int height); __attribute__((deprecated)) void av_picture_copy(AVPicture *dst, const AVPicture *src, enum AVPixelFormat pix_fmt, int width, int height); __attribute__((deprecated)) int av_picture_crop(AVPicture *dst, const AVPicture *src, enum AVPixelFormat pix_fmt, int top_band, int left_band); __attribute__((deprecated)) int av_picture_pad(AVPicture *dst, const AVPicture *src, int height, int width, enum AVPixelFormat pix_fmt, int padtop, int padbottom, int padleft, int padright, int *color); # 5499 "src/libavcodec/avcodec.h" __attribute__((deprecated)) void avcodec_get_chroma_sub_sample(enum AVPixelFormat pix_fmt, int *h_shift, int *v_shift); unsigned int avcodec_pix_fmt_to_codec_tag(enum AVPixelFormat pix_fmt); int avcodec_get_pix_fmt_loss(enum AVPixelFormat dst_pix_fmt, enum AVPixelFormat src_pix_fmt, int has_alpha); # 5533 "src/libavcodec/avcodec.h" enum AVPixelFormat avcodec_find_best_pix_fmt_of_list(const enum AVPixelFormat *pix_fmt_list, enum AVPixelFormat src_pix_fmt, int has_alpha, int *loss_ptr); enum AVPixelFormat avcodec_find_best_pix_fmt_of_2(enum AVPixelFormat dst_pix_fmt1, enum AVPixelFormat dst_pix_fmt2, enum AVPixelFormat src_pix_fmt, int has_alpha, int *loss_ptr); __attribute__((deprecated)) enum AVPixelFormat avcodec_find_best_pix_fmt2(enum AVPixelFormat dst_pix_fmt1, enum AVPixelFormat dst_pix_fmt2, enum AVPixelFormat src_pix_fmt, int has_alpha, int *loss_ptr); enum AVPixelFormat avcodec_default_get_format(struct AVCodecContext *s, const enum AVPixelFormat * fmt); # 5565 "src/libavcodec/avcodec.h" __attribute__((deprecated)) size_t av_get_codec_tag_string(char *buf, size_t buf_size, unsigned int codec_tag); void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode); # 5578 "src/libavcodec/avcodec.h" const char *av_get_profile_name(const AVCodec *codec, int profile); # 5591 "src/libavcodec/avcodec.h" const char *avcodec_profile_name(enum AVCodecID codec_id, int profile); int avcodec_default_execute(AVCodecContext *c, int (*func)(AVCodecContext *c2, void *arg2),void *arg, int *ret, int count, int size); int avcodec_default_execute2(AVCodecContext *c, int (*func)(AVCodecContext *c2, void *arg2, int, int),void *arg, int *ret, int count); # 5620 "src/libavcodec/avcodec.h" int avcodec_fill_audio_frame(AVFrame *frame, int nb_channels, enum AVSampleFormat sample_fmt, const uint8_t *buf, int buf_size, int align); # 5633 "src/libavcodec/avcodec.h" void avcodec_flush_buffers(AVCodecContext *avctx); int av_get_bits_per_sample(enum AVCodecID codec_id); enum AVCodecID av_get_pcm_codec(enum AVSampleFormat fmt, int be); # 5659 "src/libavcodec/avcodec.h" int av_get_exact_bits_per_sample(enum AVCodecID codec_id); # 5669 "src/libavcodec/avcodec.h" int av_get_audio_frame_duration(AVCodecContext *avctx, int frame_bytes); int av_get_audio_frame_duration2(AVCodecParameters *par, int frame_bytes); typedef struct AVBitStreamFilterContext { void *priv_data; const struct AVBitStreamFilter *filter; AVCodecParserContext *parser; struct AVBitStreamFilterContext *next; char *args; } AVBitStreamFilterContext; typedef struct AVBSFInternal AVBSFInternal; # 5703 "src/libavcodec/avcodec.h" typedef struct AVBSFContext { const AVClass *av_class; const struct AVBitStreamFilter *filter; AVBSFInternal *internal; void *priv_data; AVCodecParameters *par_in; AVCodecParameters *par_out; AVRational time_base_in; AVRational time_base_out; } AVBSFContext; typedef struct AVBitStreamFilter { const char *name; const enum AVCodecID *codec_ids; # 5771 "src/libavcodec/avcodec.h" const AVClass *priv_class; # 5781 "src/libavcodec/avcodec.h" int priv_data_size; int (*init)(AVBSFContext *ctx); int (*filter)(AVBSFContext *ctx, AVPacket *pkt); void (*close)(AVBSFContext *ctx); void (*flush)(AVBSFContext *ctx); } AVBitStreamFilter; __attribute__((deprecated)) void av_register_bitstream_filter(AVBitStreamFilter *bsf); __attribute__((deprecated)) AVBitStreamFilterContext *av_bitstream_filter_init(const char *name); __attribute__((deprecated)) int av_bitstream_filter_filter(AVBitStreamFilterContext *bsfc, AVCodecContext *avctx, const char *args, uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size, int keyframe); __attribute__((deprecated)) void av_bitstream_filter_close(AVBitStreamFilterContext *bsf); __attribute__((deprecated)) const AVBitStreamFilter *av_bitstream_filter_next(const AVBitStreamFilter *f); const AVBitStreamFilter *av_bsf_get_by_name(const char *name); # 5843 "src/libavcodec/avcodec.h" const AVBitStreamFilter *av_bsf_iterate(void **opaque); __attribute__((deprecated)) const AVBitStreamFilter *av_bsf_next(void **opaque); # 5861 "src/libavcodec/avcodec.h" int av_bsf_alloc(const AVBitStreamFilter *filter, AVBSFContext **ctx); int av_bsf_init(AVBSFContext *ctx); # 5884 "src/libavcodec/avcodec.h" int av_bsf_send_packet(AVBSFContext *ctx, AVPacket *pkt); # 5910 "src/libavcodec/avcodec.h" int av_bsf_receive_packet(AVBSFContext *ctx, AVPacket *pkt); void av_bsf_flush(AVBSFContext *ctx); void av_bsf_free(AVBSFContext **ctx); const AVClass *av_bsf_get_class(void); typedef struct AVBSFList AVBSFList; # 5944 "src/libavcodec/avcodec.h" AVBSFList *av_bsf_list_alloc(void); void av_bsf_list_free(AVBSFList **lst); # 5961 "src/libavcodec/avcodec.h" int av_bsf_list_append(AVBSFList *lst, AVBSFContext *bsf); # 5973 "src/libavcodec/avcodec.h" int av_bsf_list_append2(AVBSFList *lst, const char * bsf_name, AVDictionary **options); # 5990 "src/libavcodec/avcodec.h" int av_bsf_list_finalize(AVBSFList **lst, AVBSFContext **bsf); # 6005 "src/libavcodec/avcodec.h" int av_bsf_list_parse_str(const char *str, AVBSFContext **bsf); # 6014 "src/libavcodec/avcodec.h" int av_bsf_get_null_filter(AVBSFContext **bsf); # 6025 "src/libavcodec/avcodec.h" void av_fast_padded_malloc(void *ptr, unsigned int *size, size_t min_size); void av_fast_padded_mallocz(void *ptr, unsigned int *size, size_t min_size); # 6040 "src/libavcodec/avcodec.h" unsigned int av_xiphlacing(unsigned char *s, unsigned int v); __attribute__((deprecated)) void av_register_hwaccel(AVHWAccel *hwaccel); # 6059 "src/libavcodec/avcodec.h" __attribute__((deprecated)) AVHWAccel *av_hwaccel_next(const AVHWAccel *hwaccel); # 6069 "src/libavcodec/avcodec.h" enum AVLockOp { AV_LOCK_CREATE, AV_LOCK_OBTAIN, AV_LOCK_RELEASE, AV_LOCK_DESTROY, }; # 6102 "src/libavcodec/avcodec.h" __attribute__((deprecated)) int av_lockmgr_register(int (*cb)(void **mutex, enum AVLockOp op)); enum AVMediaType avcodec_get_type(enum AVCodecID codec_id); const char *avcodec_get_name(enum AVCodecID id); int avcodec_is_open(AVCodecContext *s); int av_codec_is_encoder(const AVCodec *codec); int av_codec_is_decoder(const AVCodec *codec); const AVCodecDescriptor *avcodec_descriptor_get(enum AVCodecID id); # 6145 "src/libavcodec/avcodec.h" const AVCodecDescriptor *avcodec_descriptor_next(const AVCodecDescriptor *prev); const AVCodecDescriptor *avcodec_descriptor_get_by_name(const char *name); # 6162 "src/libavcodec/avcodec.h" AVCPBProperties *av_cpb_properties_alloc(size_t *size); # 23 "src/libavcodec/pngenc.c" 2 # 1 "src/libavcodec/internal.h" 1 # 31 "src/libavcodec/internal.h" # 1 "src/libavutil/mathematics.h" 1 # 32 "src/libavcodec/internal.h" 2 # 100 "src/libavcodec/internal.h" typedef struct FramePool { AVBufferPool *pools[4]; int format; int width, height; int stride_align[8]; int linesize[4]; int planes; int channels; int samples; } FramePool; typedef struct DecodeSimpleContext { AVPacket *in_pkt; AVFrame *out_frame; } DecodeSimpleContext; typedef struct DecodeFilterContext { AVBSFContext **bsfs; int nb_bsfs; } DecodeFilterContext; typedef struct AVCodecInternal { int is_copy; # 151 "src/libavcodec/internal.h" int allocate_progress; int last_audio_frame; AVFrame *to_free; FramePool *pool; void *thread_ctx; DecodeSimpleContext ds; DecodeFilterContext filter; AVPacket *last_pkt_props; uint8_t *byte_buffer; unsigned int byte_buffer_size; void *frame_thread_encoder; int skip_samples; void *hwaccel_priv_data; int draining; AVPacket *buffer_pkt; int buffer_pkt_valid; AVFrame *buffer_frame; int draining_done; int compat_decode; int compat_decode_warned; size_t compat_decode_consumed; size_t compat_decode_partial_size; AVFrame *compat_decode_frame; int showed_multi_packet_warning; int skip_samples_multiplier; int nb_draining_errors; } AVCodecInternal; struct AVCodecDefault { const uint8_t *key; const uint8_t *value; }; extern const uint8_t ff_log2_run[41]; int ff_match_2uint16(const uint16_t (*tab)[2], int size, int a, int b); unsigned int avpriv_toupper4(unsigned int x); void ff_color_frame(AVFrame *frame, const int color[4]); # 273 "src/libavcodec/internal.h" int ff_alloc_packet2(AVCodecContext *avctx, AVPacket *avpkt, int64_t size, int64_t min_size); __attribute__((deprecated)) int ff_alloc_packet(AVPacket *avpkt, int size); static __attribute__((always_inline)) inline int64_t ff_samples_to_time_base(AVCodecContext *avctx, int64_t samples) { if(samples == ((int64_t)0x8000000000000000ULL)) return ((int64_t)0x8000000000000000ULL); return av_rescale_q(samples, (AVRational){ 1, avctx->sample_rate }, avctx->time_base); } static __attribute__((always_inline)) inline float ff_exp2fi(int x) { if (-126 <= x && x <= 128) return av_int2float((x+127) << 23); else if (x > 128) return # 299 "src/libavcodec/internal.h" 3 4 (__builtin_inff ()) # 299 "src/libavcodec/internal.h" ; else if (x > -150) return av_int2float(1 << (x+149)); else return 0; } int ff_get_buffer(AVCodecContext *avctx, AVFrame *frame, int flags); int ff_reget_buffer(AVCodecContext *avctx, AVFrame *frame); int ff_thread_can_start_frame(AVCodecContext *avctx); int avpriv_h264_has_num_reorder_frames(AVCodecContext *avctx); int ff_codec_open2_recursive(AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options); int avpriv_bprint_to_extradata(AVCodecContext *avctx, struct AVBPrint *buf); const uint8_t *avpriv_find_start_code(const uint8_t *p, const uint8_t *end, uint32_t *state); int avpriv_codec_get_cap_skip_frame_fill_param(const AVCodec *codec); int ff_set_dimensions(AVCodecContext *s, int width, int height); int ff_set_sar(AVCodecContext *avctx, AVRational sar); int ff_side_data_update_matrix_encoding(AVFrame *frame, enum AVMatrixEncoding matrix_encoding); # 372 "src/libavcodec/internal.h" int ff_get_format(AVCodecContext *avctx, const enum AVPixelFormat *fmt); int ff_decode_frame_props(AVCodecContext *avctx, AVFrame *frame); AVCPBProperties *ff_add_cpb_side_data(AVCodecContext *avctx); int ff_side_data_set_encoder_stats(AVPacket *pkt, int quality, int64_t *error, int error_count, int pict_type); # 398 "src/libavcodec/internal.h" int ff_alloc_a53_sei(const AVFrame *frame, size_t prefix_len, void **data, size_t *sei_size); int64_t ff_guess_coded_bitrate(AVCodecContext *avctx); # 24 "src/libavcodec/pngenc.c" 2 # 1 "src/libavcodec/bytestream.h" 1 # 29 "src/libavcodec/bytestream.h" # 1 "src/libavutil/avassert.h" 1 # 73 "src/libavutil/avassert.h" void av_assert0_fpu(void); # 30 "src/libavcodec/bytestream.h" 2 # 1 "src/libavutil/common.h" 1 # 31 "src/libavcodec/bytestream.h" 2 # 1 "src/libavutil/intreadwrite.h" 1 # 25 "src/libavutil/intreadwrite.h" # 1 "src/libavutil/bswap.h" 1 # 46 "src/libavutil/bswap.h" # 1 "src/libavutil/x86/bswap.h" 1 # 47 "src/libavutil/bswap.h" 2 # 58 "src/libavutil/bswap.h" static __attribute__((always_inline)) inline __attribute__((const)) uint16_t av_bswap16(uint16_t x) { x= (x>>8) | (x<<8); return x; } static __attribute__((always_inline)) inline __attribute__((const)) uint32_t av_bswap32(uint32_t x) { return ((((x) << 8 & 0xff00) | ((x) >> 8 & 0x00ff)) << 16 | ((((x) >> 16) << 8 & 0xff00) | (((x) >> 16) >> 8 & 0x00ff))); } static inline uint64_t __attribute__((const)) av_bswap64(uint64_t x) { return (uint64_t)av_bswap32(x) << 32 | av_bswap32(x >> 32); } # 26 "src/libavutil/intreadwrite.h" 2 typedef union { uint64_t u64; uint32_t u32[2]; uint16_t u16[4]; uint8_t u8 [8]; double f64; float f32[2]; } __attribute__((may_alias)) av_alias64; typedef union { uint32_t u32; uint16_t u16[2]; uint8_t u8 [4]; float f32; } __attribute__((may_alias)) av_alias32; typedef union { uint16_t u16; uint8_t u8 [2]; } __attribute__((may_alias)) av_alias16; # 78 "src/libavutil/intreadwrite.h" # 1 "src/libavutil/x86/intreadwrite.h" 1 # 33 "src/libavutil/x86/intreadwrite.h" static __attribute__((always_inline)) inline void AV_COPY64(void *d, const void *s) { __asm__("movq %1, %%mm0 \n\t" "movq %%mm0, %0 \n\t" : "=m"(*(uint64_t*)d) : "m" (*(const uint64_t*)s) : "mm0"); } static __attribute__((always_inline)) inline void AV_SWAP64(void *a, void *b) { __asm__("movq %1, %%mm0 \n\t" "movq %0, %%mm1 \n\t" "movq %%mm0, %0 \n\t" "movq %%mm1, %1 \n\t" : "+m"(*(uint64_t*)a), "+m"(*(uint64_t*)b) ::"mm0", "mm1"); } static __attribute__((always_inline)) inline void AV_ZERO64(void *d) { __asm__("pxor %%mm0, %%mm0 \n\t" "movq %%mm0, %0 \n\t" : "=m"(*(uint64_t*)d) :: "mm0"); } static __attribute__((always_inline)) inline void AV_COPY128(void *d, const void *s) { struct v {uint64_t v[2];}; __asm__("movaps %1, %%xmm0 \n\t" "movaps %%xmm0, %0 \n\t" : "=m"(*(struct v*)d) : "m" (*(const struct v*)s) : "xmm0"); } static __attribute__((always_inline)) inline void AV_ZERO128(void *d) { struct v {uint64_t v[2];}; __asm__("pxor %%xmm0, %%xmm0 \n\t" "movdqa %%xmm0, %0 \n\t" : "=m"(*(struct v*)d) :: "xmm0"); } # 79 "src/libavutil/intreadwrite.h" 2 # 220 "src/libavutil/intreadwrite.h" union unaligned_64 { uint64_t l; } __attribute__((packed)) __attribute__((may_alias)); union unaligned_32 { uint32_t l; } __attribute__((packed)) __attribute__((may_alias)); union unaligned_16 { uint16_t l; } __attribute__((packed)) __attribute__((may_alias)); # 32 "src/libavcodec/bytestream.h" 2 typedef struct GetByteContext { const uint8_t *buffer, *buffer_end, *buffer_start; } GetByteContext; typedef struct PutByteContext { uint8_t *buffer, *buffer_end, *buffer_start; int eof; } PutByteContext; # 87 "src/libavcodec/bytestream.h" static __attribute__((always_inline)) inline uint64_t bytestream_get_le64(const uint8_t **b) { (*b) += 8; return (((const union unaligned_64 *) (*b - 8))->l); } static __attribute__((always_inline)) inline void bytestream_put_le64(uint8_t **b, const uint64_t value) { ((((union unaligned_64 *) (*b))->l) = (value)); (*b) += 8; } static __attribute__((always_inline)) inline void bytestream2_put_le64u(PutByteContext *p, const uint64_t value) { bytestream_put_le64(&p->buffer, value); } static __attribute__((always_inline)) inline void bytestream2_put_le64(PutByteContext *p, const uint64_t value) { if (!p->eof && (p->buffer_end - p->buffer >= 8)) { ((((union unaligned_64 *) (p->buffer))->l) = (value)); p->buffer += 8; } else p->eof = 1; } static __attribute__((always_inline)) inline uint64_t bytestream2_get_le64u(GetByteContext *g) { return bytestream_get_le64(&g->buffer); } static __attribute__((always_inline)) inline uint64_t bytestream2_get_le64(GetByteContext *g) { if (g->buffer_end - g->buffer < 8) { g->buffer = g->buffer_end; return 0; } return bytestream2_get_le64u(g); } static __attribute__((always_inline)) inline uint64_t bytestream2_peek_le64(GetByteContext *g) { if (g->buffer_end - g->buffer < 8) return 0; return (((const union unaligned_64 *) (g->buffer))->l); } static __attribute__((always_inline)) inline unsigned int bytestream_get_le32(const uint8_t **b) { (*b) += 4; return (((const union unaligned_32 *) (*b - 4))->l); } static __attribute__((always_inline)) inline void bytestream_put_le32(uint8_t **b, const unsigned int value) { ((((union unaligned_32 *) (*b))->l) = (value)); (*b) += 4; } static __attribute__((always_inline)) inline void bytestream2_put_le32u(PutByteContext *p, const unsigned int value) { bytestream_put_le32(&p->buffer, value); } static __attribute__((always_inline)) inline void bytestream2_put_le32(PutByteContext *p, const unsigned int value) { if (!p->eof && (p->buffer_end - p->buffer >= 4)) { ((((union unaligned_32 *) (p->buffer))->l) = (value)); p->buffer += 4; } else p->eof = 1; } static __attribute__((always_inline)) inline unsigned int bytestream2_get_le32u(GetByteContext *g) { return bytestream_get_le32(&g->buffer); } static __attribute__((always_inline)) inline unsigned int bytestream2_get_le32(GetByteContext *g) { if (g->buffer_end - g->buffer < 4) { g->buffer = g->buffer_end; return 0; } return bytestream2_get_le32u(g); } static __attribute__((always_inline)) inline unsigned int bytestream2_peek_le32(GetByteContext *g) { if (g->buffer_end - g->buffer < 4) return 0; return (((const union unaligned_32 *) (g->buffer))->l); } static __attribute__((always_inline)) inline unsigned int bytestream_get_le24(const uint8_t **b) { (*b) += 3; return ((((const uint8_t*)(*b - 3))[2] << 16) | (((const uint8_t*)(*b - 3))[1] << 8) | ((const uint8_t*)(*b - 3))[0]); } static __attribute__((always_inline)) inline void bytestream_put_le24(uint8_t **b, const unsigned int value) { do { ((uint8_t*)(*b))[0] = (value); ((uint8_t*)(*b))[1] = (value)>>8; ((uint8_t*)(*b))[2] = (value)>>16; } while(0); (*b) += 3; } static __attribute__((always_inline)) inline void bytestream2_put_le24u(PutByteContext *p, const unsigned int value) { bytestream_put_le24(&p->buffer, value); } static __attribute__((always_inline)) inline void bytestream2_put_le24(PutByteContext *p, const unsigned int value) { if (!p->eof && (p->buffer_end - p->buffer >= 3)) { do { ((uint8_t*)(p->buffer))[0] = (value); ((uint8_t*)(p->buffer))[1] = (value)>>8; ((uint8_t*)(p->buffer))[2] = (value)>>16; } while(0); p->buffer += 3; } else p->eof = 1; } static __attribute__((always_inline)) inline unsigned int bytestream2_get_le24u(GetByteContext *g) { return bytestream_get_le24(&g->buffer); } static __attribute__((always_inline)) inline unsigned int bytestream2_get_le24(GetByteContext *g) { if (g->buffer_end - g->buffer < 3) { g->buffer = g->buffer_end; return 0; } return bytestream2_get_le24u(g); } static __attribute__((always_inline)) inline unsigned int bytestream2_peek_le24(GetByteContext *g) { if (g->buffer_end - g->buffer < 3) return 0; return ((((const uint8_t*)(g->buffer))[2] << 16) | (((const uint8_t*)(g->buffer))[1] << 8) | ((const uint8_t*)(g->buffer))[0]); } static __attribute__((always_inline)) inline unsigned int bytestream_get_le16(const uint8_t **b) { (*b) += 2; return (((const union unaligned_16 *) (*b - 2))->l); } static __attribute__((always_inline)) inline void bytestream_put_le16(uint8_t **b, const unsigned int value) { ((((union unaligned_16 *) (*b))->l) = (value)); (*b) += 2; } static __attribute__((always_inline)) inline void bytestream2_put_le16u(PutByteContext *p, const unsigned int value) { bytestream_put_le16(&p->buffer, value); } static __attribute__((always_inline)) inline void bytestream2_put_le16(PutByteContext *p, const unsigned int value) { if (!p->eof && (p->buffer_end - p->buffer >= 2)) { ((((union unaligned_16 *) (p->buffer))->l) = (value)); p->buffer += 2; } else p->eof = 1; } static __attribute__((always_inline)) inline unsigned int bytestream2_get_le16u(GetByteContext *g) { return bytestream_get_le16(&g->buffer); } static __attribute__((always_inline)) inline unsigned int bytestream2_get_le16(GetByteContext *g) { if (g->buffer_end - g->buffer < 2) { g->buffer = g->buffer_end; return 0; } return bytestream2_get_le16u(g); } static __attribute__((always_inline)) inline unsigned int bytestream2_peek_le16(GetByteContext *g) { if (g->buffer_end - g->buffer < 2) return 0; return (((const union unaligned_16 *) (g->buffer))->l); } static __attribute__((always_inline)) inline uint64_t bytestream_get_be64(const uint8_t **b) { (*b) += 8; return av_bswap64((((const union unaligned_64 *) (*b - 8))->l)); } static __attribute__((always_inline)) inline void bytestream_put_be64(uint8_t **b, const uint64_t value) { ((((union unaligned_64 *) (*b))->l) = (av_bswap64(value))); (*b) += 8; } static __attribute__((always_inline)) inline void bytestream2_put_be64u(PutByteContext *p, const uint64_t value) { bytestream_put_be64(&p->buffer, value); } static __attribute__((always_inline)) inline void bytestream2_put_be64(PutByteContext *p, const uint64_t value) { if (!p->eof && (p->buffer_end - p->buffer >= 8)) { ((((union unaligned_64 *) (p->buffer))->l) = (av_bswap64(value))); p->buffer += 8; } else p->eof = 1; } static __attribute__((always_inline)) inline uint64_t bytestream2_get_be64u(GetByteContext *g) { return bytestream_get_be64(&g->buffer); } static __attribute__((always_inline)) inline uint64_t bytestream2_get_be64(GetByteContext *g) { if (g->buffer_end - g->buffer < 8) { g->buffer = g->buffer_end; return 0; } return bytestream2_get_be64u(g); } static __attribute__((always_inline)) inline uint64_t bytestream2_peek_be64(GetByteContext *g) { if (g->buffer_end - g->buffer < 8) return 0; return av_bswap64((((const union unaligned_64 *) (g->buffer))->l)); } static __attribute__((always_inline)) inline unsigned int bytestream_get_be32(const uint8_t **b) { (*b) += 4; return av_bswap32((((const union unaligned_32 *) (*b - 4))->l)); } static __attribute__((always_inline)) inline void bytestream_put_be32(uint8_t **b, const unsigned int value) { ((((union unaligned_32 *) (*b))->l) = (av_bswap32(value))); (*b) += 4; } static __attribute__((always_inline)) inline void bytestream2_put_be32u(PutByteContext *p, const unsigned int value) { bytestream_put_be32(&p->buffer, value); } static __attribute__((always_inline)) inline void bytestream2_put_be32(PutByteContext *p, const unsigned int value) { if (!p->eof && (p->buffer_end - p->buffer >= 4)) { ((((union unaligned_32 *) (p->buffer))->l) = (av_bswap32(value))); p->buffer += 4; } else p->eof = 1; } static __attribute__((always_inline)) inline unsigned int bytestream2_get_be32u(GetByteContext *g) { return bytestream_get_be32(&g->buffer); } static __attribute__((always_inline)) inline unsigned int bytestream2_get_be32(GetByteContext *g) { if (g->buffer_end - g->buffer < 4) { g->buffer = g->buffer_end; return 0; } return bytestream2_get_be32u(g); } static __attribute__((always_inline)) inline unsigned int bytestream2_peek_be32(GetByteContext *g) { if (g->buffer_end - g->buffer < 4) return 0; return av_bswap32((((const union unaligned_32 *) (g->buffer))->l)); } static __attribute__((always_inline)) inline unsigned int bytestream_get_be24(const uint8_t **b) { (*b) += 3; return ((((const uint8_t*)(*b - 3))[0] << 16) | (((const uint8_t*)(*b - 3))[1] << 8) | ((const uint8_t*)(*b - 3))[2]); } static __attribute__((always_inline)) inline void bytestream_put_be24(uint8_t **b, const unsigned int value) { do { ((uint8_t*)(*b))[2] = (value); ((uint8_t*)(*b))[1] = (value)>>8; ((uint8_t*)(*b))[0] = (value)>>16; } while(0); (*b) += 3; } static __attribute__((always_inline)) inline void bytestream2_put_be24u(PutByteContext *p, const unsigned int value) { bytestream_put_be24(&p->buffer, value); } static __attribute__((always_inline)) inline void bytestream2_put_be24(PutByteContext *p, const unsigned int value) { if (!p->eof && (p->buffer_end - p->buffer >= 3)) { do { ((uint8_t*)(p->buffer))[2] = (value); ((uint8_t*)(p->buffer))[1] = (value)>>8; ((uint8_t*)(p->buffer))[0] = (value)>>16; } while(0); p->buffer += 3; } else p->eof = 1; } static __attribute__((always_inline)) inline unsigned int bytestream2_get_be24u(GetByteContext *g) { return bytestream_get_be24(&g->buffer); } static __attribute__((always_inline)) inline unsigned int bytestream2_get_be24(GetByteContext *g) { if (g->buffer_end - g->buffer < 3) { g->buffer = g->buffer_end; return 0; } return bytestream2_get_be24u(g); } static __attribute__((always_inline)) inline unsigned int bytestream2_peek_be24(GetByteContext *g) { if (g->buffer_end - g->buffer < 3) return 0; return ((((const uint8_t*)(g->buffer))[0] << 16) | (((const uint8_t*)(g->buffer))[1] << 8) | ((const uint8_t*)(g->buffer))[2]); } static __attribute__((always_inline)) inline unsigned int bytestream_get_be16(const uint8_t **b) { (*b) += 2; return av_bswap16((((const union unaligned_16 *) (*b - 2))->l)); } static __attribute__((always_inline)) inline void bytestream_put_be16(uint8_t **b, const unsigned int value) { ((((union unaligned_16 *) (*b))->l) = (av_bswap16(value))); (*b) += 2; } static __attribute__((always_inline)) inline void bytestream2_put_be16u(PutByteContext *p, const unsigned int value) { bytestream_put_be16(&p->buffer, value); } static __attribute__((always_inline)) inline void bytestream2_put_be16(PutByteContext *p, const unsigned int value) { if (!p->eof && (p->buffer_end - p->buffer >= 2)) { ((((union unaligned_16 *) (p->buffer))->l) = (av_bswap16(value))); p->buffer += 2; } else p->eof = 1; } static __attribute__((always_inline)) inline unsigned int bytestream2_get_be16u(GetByteContext *g) { return bytestream_get_be16(&g->buffer); } static __attribute__((always_inline)) inline unsigned int bytestream2_get_be16(GetByteContext *g) { if (g->buffer_end - g->buffer < 2) { g->buffer = g->buffer_end; return 0; } return bytestream2_get_be16u(g); } static __attribute__((always_inline)) inline unsigned int bytestream2_peek_be16(GetByteContext *g) { if (g->buffer_end - g->buffer < 2) return 0; return av_bswap16((((const union unaligned_16 *) (g->buffer))->l)); } static __attribute__((always_inline)) inline unsigned int bytestream_get_byte(const uint8_t **b) { (*b) += 1; return (((const uint8_t*)(*b - 1))[0]); } static __attribute__((always_inline)) inline void bytestream_put_byte(uint8_t **b, const unsigned int value) { do { ((uint8_t*)(*b))[0] = (value); } while(0); (*b) += 1; } static __attribute__((always_inline)) inline void bytestream2_put_byteu(PutByteContext *p, const unsigned int value) { bytestream_put_byte(&p->buffer, value); } static __attribute__((always_inline)) inline void bytestream2_put_byte(PutByteContext *p, const unsigned int value) { if (!p->eof && (p->buffer_end - p->buffer >= 1)) { do { ((uint8_t*)(p->buffer))[0] = (value); } while(0); p->buffer += 1; } else p->eof = 1; } static __attribute__((always_inline)) inline unsigned int bytestream2_get_byteu(GetByteContext *g) { return bytestream_get_byte(&g->buffer); } static __attribute__((always_inline)) inline unsigned int bytestream2_get_byte(GetByteContext *g) { if (g->buffer_end - g->buffer < 1) { g->buffer = g->buffer_end; return 0; } return bytestream2_get_byteu(g); } static __attribute__((always_inline)) inline unsigned int bytestream2_peek_byte(GetByteContext *g) { if (g->buffer_end - g->buffer < 1) return 0; return (((const uint8_t*)(g->buffer))[0]); } # 133 "src/libavcodec/bytestream.h" static __attribute__((always_inline)) inline void bytestream2_init(GetByteContext *g, const uint8_t *buf, int buf_size) { do { if (!(buf_size >= 0)) { av_log( # 137 "src/libavcodec/bytestream.h" 3 4 ((void *)0) # 137 "src/libavcodec/bytestream.h" , 0, "Assertion %s failed at %s:%d\n", "buf_size >= 0", "src/libavcodec/bytestream.h", 137); abort(); } } while (0); g->buffer = buf; g->buffer_start = buf; g->buffer_end = buf + buf_size; } static __attribute__((always_inline)) inline void bytestream2_init_writer(PutByteContext *p, uint8_t *buf, int buf_size) { do { if (!(buf_size >= 0)) { av_log( # 147 "src/libavcodec/bytestream.h" 3 4 ((void *)0) # 147 "src/libavcodec/bytestream.h" , 0, "Assertion %s failed at %s:%d\n", "buf_size >= 0", "src/libavcodec/bytestream.h", 147); abort(); } } while (0); p->buffer = buf; p->buffer_start = buf; p->buffer_end = buf + buf_size; p->eof = 0; } static __attribute__((always_inline)) inline unsigned int bytestream2_get_bytes_left(GetByteContext *g) { return g->buffer_end - g->buffer; } static __attribute__((always_inline)) inline unsigned int bytestream2_get_bytes_left_p(PutByteContext *p) { return p->buffer_end - p->buffer; } static __attribute__((always_inline)) inline void bytestream2_skip(GetByteContext *g, unsigned int size) { g->buffer += ((g->buffer_end - g->buffer) > (size) ? (size) : (g->buffer_end - g->buffer)); } static __attribute__((always_inline)) inline void bytestream2_skipu(GetByteContext *g, unsigned int size) { g->buffer += size; } static __attribute__((always_inline)) inline void bytestream2_skip_p(PutByteContext *p, unsigned int size) { int size2; if (p->eof) return; size2 = ((p->buffer_end - p->buffer) > (size) ? (size) : (p->buffer_end - p->buffer)); if (size2 != size) p->eof = 1; p->buffer += size2; } static __attribute__((always_inline)) inline int bytestream2_tell(GetByteContext *g) { return (int)(g->buffer - g->buffer_start); } static __attribute__((always_inline)) inline int bytestream2_tell_p(PutByteContext *p) { return (int)(p->buffer - p->buffer_start); } static __attribute__((always_inline)) inline int bytestream2_size(GetByteContext *g) { return (int)(g->buffer_end - g->buffer_start); } static __attribute__((always_inline)) inline int bytestream2_size_p(PutByteContext *p) { return (int)(p->buffer_end - p->buffer_start); } static __attribute__((always_inline)) inline int bytestream2_seek(GetByteContext *g, int offset, int whence) { switch (whence) { case # 213 "src/libavcodec/bytestream.h" 3 4 1 # 213 "src/libavcodec/bytestream.h" : offset = av_clip_c(offset, -(g->buffer - g->buffer_start), g->buffer_end - g->buffer); g->buffer += offset; break; case # 218 "src/libavcodec/bytestream.h" 3 4 2 # 218 "src/libavcodec/bytestream.h" : offset = av_clip_c(offset, -(g->buffer_end - g->buffer_start), 0); g->buffer = g->buffer_end + offset; break; case # 222 "src/libavcodec/bytestream.h" 3 4 0 # 222 "src/libavcodec/bytestream.h" : offset = av_clip_c(offset, 0, g->buffer_end - g->buffer_start); g->buffer = g->buffer_start + offset; break; default: return (-( # 227 "src/libavcodec/bytestream.h" 3 4 22 # 227 "src/libavcodec/bytestream.h" )); } return bytestream2_tell(g); } static __attribute__((always_inline)) inline int bytestream2_seek_p(PutByteContext *p, int offset, int whence) { p->eof = 0; switch (whence) { case # 238 "src/libavcodec/bytestream.h" 3 4 1 # 238 "src/libavcodec/bytestream.h" : if (p->buffer_end - p->buffer < offset) p->eof = 1; offset = av_clip_c(offset, -(p->buffer - p->buffer_start), p->buffer_end - p->buffer); p->buffer += offset; break; case # 245 "src/libavcodec/bytestream.h" 3 4 2 # 245 "src/libavcodec/bytestream.h" : if (offset > 0) p->eof = 1; offset = av_clip_c(offset, -(p->buffer_end - p->buffer_start), 0); p->buffer = p->buffer_end + offset; break; case # 251 "src/libavcodec/bytestream.h" 3 4 0 # 251 "src/libavcodec/bytestream.h" : if (p->buffer_end - p->buffer_start < offset) p->eof = 1; offset = av_clip_c(offset, 0, p->buffer_end - p->buffer_start); p->buffer = p->buffer_start + offset; break; default: return (-( # 258 "src/libavcodec/bytestream.h" 3 4 22 # 258 "src/libavcodec/bytestream.h" )); } return bytestream2_tell_p(p); } static __attribute__((always_inline)) inline unsigned int bytestream2_get_buffer(GetByteContext *g, uint8_t *dst, unsigned int size) { int size2 = ((g->buffer_end - g->buffer) > (size) ? (size) : (g->buffer_end - g->buffer)); memcpy(dst, g->buffer, size2); g->buffer += size2; return size2; } static __attribute__((always_inline)) inline unsigned int bytestream2_get_bufferu(GetByteContext *g, uint8_t *dst, unsigned int size) { memcpy(dst, g->buffer, size); g->buffer += size; return size; } static __attribute__((always_inline)) inline unsigned int bytestream2_put_buffer(PutByteContext *p, const uint8_t *src, unsigned int size) { int size2; if (p->eof) return 0; size2 = ((p->buffer_end - p->buffer) > (size) ? (size) : (p->buffer_end - p->buffer)); if (size2 != size) p->eof = 1; memcpy(p->buffer, src, size2); p->buffer += size2; return size2; } static __attribute__((always_inline)) inline unsigned int bytestream2_put_bufferu(PutByteContext *p, const uint8_t *src, unsigned int size) { memcpy(p->buffer, src, size); p->buffer += size; return size; } static __attribute__((always_inline)) inline void bytestream2_set_buffer(PutByteContext *p, const uint8_t c, unsigned int size) { int size2; if (p->eof) return; size2 = ((p->buffer_end - p->buffer) > (size) ? (size) : (p->buffer_end - p->buffer)); if (size2 != size) p->eof = 1; memset(p->buffer, c, size2); p->buffer += size2; } static __attribute__((always_inline)) inline void bytestream2_set_bufferu(PutByteContext *p, const uint8_t c, unsigned int size) { memset(p->buffer, c, size); p->buffer += size; } static __attribute__((always_inline)) inline unsigned int bytestream2_get_eof(PutByteContext *p) { return p->eof; } static __attribute__((always_inline)) inline unsigned int bytestream2_copy_bufferu(PutByteContext *p, GetByteContext *g, unsigned int size) { memcpy(p->buffer, g->buffer, size); p->buffer += size; g->buffer += size; return size; } static __attribute__((always_inline)) inline unsigned int bytestream2_copy_buffer(PutByteContext *p, GetByteContext *g, unsigned int size) { int size2; if (p->eof) return 0; size = ((g->buffer_end - g->buffer) > (size) ? (size) : (g->buffer_end - g->buffer)); size2 = ((p->buffer_end - p->buffer) > (size) ? (size) : (p->buffer_end - p->buffer)); if (size2 != size) p->eof = 1; return bytestream2_copy_bufferu(p, g, size2); } static __attribute__((always_inline)) inline unsigned int bytestream_get_buffer(const uint8_t **b, uint8_t *dst, unsigned int size) { memcpy(dst, *b, size); (*b) += size; return size; } static __attribute__((always_inline)) inline void bytestream_put_buffer(uint8_t **b, const uint8_t *src, unsigned int size) { memcpy(*b, src, size); (*b) += size; } # 25 "src/libavcodec/pngenc.c" 2 # 1 "src/libavcodec/lossless_videoencdsp.h" 1 # 26 "src/libavcodec/lossless_videoencdsp.h" typedef struct LLVidEncDSPContext { void (*diff_bytes)(uint8_t *dst , const uint8_t *src1 , const uint8_t *src2 , intptr_t w); void (*sub_median_pred)(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, intptr_t w, int *left, int *left_top); void (*sub_left_predict)(uint8_t *dst, uint8_t *src, ptrdiff_t stride, ptrdiff_t width, int height); } LLVidEncDSPContext; void ff_llvidencdsp_init(LLVidEncDSPContext *c); void ff_llvidencdsp_init_x86(LLVidEncDSPContext *c); # 26 "src/libavcodec/pngenc.c" 2 # 1 "src/libavcodec/png.h" 1 # 51 "src/libavcodec/png.h" extern const uint8_t ff_png_pass_ymask[7]; void *ff_png_zalloc(void *opaque, unsigned int items, unsigned int size); void ff_png_zfree(void *opaque, void *ptr); int ff_png_get_nb_channels(int color_type); int ff_png_pass_row_size(int pass, int bits_per_pixel, int width); void ff_add_png_paeth_prediction(uint8_t *dst, uint8_t *src, uint8_t *top, int w, int bpp); # 27 "src/libavcodec/pngenc.c" 2 # 1 "src/libavcodec/apng.h" 1 # 30 "src/libavcodec/apng.h" enum { APNG_DISPOSE_OP_NONE = 0, APNG_DISPOSE_OP_BACKGROUND = 1, APNG_DISPOSE_OP_PREVIOUS = 2, }; enum { APNG_BLEND_OP_SOURCE = 0, APNG_BLEND_OP_OVER = 1, }; # 28 "src/libavcodec/pngenc.c" 2 # 1 "src/libavutil/crc.h" 1 # 31 "src/libavutil/crc.h" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stddef.h" 1 3 4 # 32 "src/libavutil/crc.h" 2 # 47 "src/libavutil/crc.h" typedef uint32_t AVCRC; typedef enum { AV_CRC_8_ATM, AV_CRC_16_ANSI, AV_CRC_16_CCITT, AV_CRC_32_IEEE, AV_CRC_32_IEEE_LE, AV_CRC_16_ANSI_LE, AV_CRC_24_IEEE, AV_CRC_8_EBU, AV_CRC_MAX, }AVCRCId; # 77 "src/libavutil/crc.h" int av_crc_init(AVCRC *ctx, int le, int bits, uint32_t poly, int ctx_size); const AVCRC *av_crc_get_table(AVCRCId crc_id); # 93 "src/libavutil/crc.h" uint32_t av_crc(const AVCRC *ctx, uint32_t crc, const uint8_t *buffer, size_t length) __attribute__((pure)); # 31 "src/libavcodec/pngenc.c" 2 # 1 "src/libavutil/libm.h" 1 # 32 "src/libavcodec/pngenc.c" 2 # 1 "src/libavutil/opt.h" 1 # 221 "src/libavutil/opt.h" enum AVOptionType{ AV_OPT_TYPE_FLAGS, AV_OPT_TYPE_INT, AV_OPT_TYPE_INT64, AV_OPT_TYPE_DOUBLE, AV_OPT_TYPE_FLOAT, AV_OPT_TYPE_STRING, AV_OPT_TYPE_RATIONAL, AV_OPT_TYPE_BINARY, AV_OPT_TYPE_DICT, AV_OPT_TYPE_UINT64, AV_OPT_TYPE_CONST, AV_OPT_TYPE_IMAGE_SIZE, AV_OPT_TYPE_PIXEL_FMT, AV_OPT_TYPE_SAMPLE_FMT, AV_OPT_TYPE_VIDEO_RATE, AV_OPT_TYPE_DURATION, AV_OPT_TYPE_COLOR, AV_OPT_TYPE_CHANNEL_LAYOUT, AV_OPT_TYPE_BOOL, }; typedef struct AVOption { const char *name; const char *help; int offset; enum AVOptionType type; union { int64_t i64; double dbl; const char *str; AVRational q; } default_val; double min; double max; int flags; # 300 "src/libavutil/opt.h" const char *unit; } AVOption; typedef struct AVOptionRange { const char *str; double value_min, value_max; double component_min, component_max; int is_range; } AVOptionRange; typedef struct AVOptionRanges { # 360 "src/libavutil/opt.h" AVOptionRange **range; int nb_ranges; int nb_components; } AVOptionRanges; # 380 "src/libavutil/opt.h" int av_opt_show2(void *obj, void *av_log_obj, int req_flags, int rej_flags); void av_opt_set_defaults(void *s); # 398 "src/libavutil/opt.h" void av_opt_set_defaults2(void *s, int mask, int flags); # 417 "src/libavutil/opt.h" int av_set_options_string(void *ctx, const char *opts, const char *key_val_sep, const char *pairs_sep); # 447 "src/libavutil/opt.h" int av_opt_set_from_string(void *ctx, const char *opts, const char *const *shorthand, const char *key_val_sep, const char *pairs_sep); void av_opt_free(void *obj); # 463 "src/libavutil/opt.h" int av_opt_flag_is_set(void *obj, const char *field_name, const char *flag_name); # 479 "src/libavutil/opt.h" int av_opt_set_dict(void *obj, struct AVDictionary **options); # 497 "src/libavutil/opt.h" int av_opt_set_dict2(void *obj, struct AVDictionary **options, int search_flags); # 518 "src/libavutil/opt.h" int av_opt_get_key_value(const char **ropts, const char *key_val_sep, const char *pairs_sep, unsigned flags, char **rkey, char **rval); enum { AV_OPT_FLAG_IMPLICIT_KEY = 1, }; # 546 "src/libavutil/opt.h" int av_opt_eval_flags (void *obj, const AVOption *o, const char *val, int *flags_out); int av_opt_eval_int (void *obj, const AVOption *o, const char *val, int *int_out); int av_opt_eval_int64 (void *obj, const AVOption *o, const char *val, int64_t *int64_out); int av_opt_eval_float (void *obj, const AVOption *o, const char *val, float *float_out); int av_opt_eval_double(void *obj, const AVOption *o, const char *val, double *double_out); int av_opt_eval_q (void *obj, const AVOption *o, const char *val, AVRational *q_out); # 601 "src/libavutil/opt.h" const AVOption *av_opt_find(void *obj, const char *name, const char *unit, int opt_flags, int search_flags); # 625 "src/libavutil/opt.h" const AVOption *av_opt_find2(void *obj, const char *name, const char *unit, int opt_flags, int search_flags, void **target_obj); # 637 "src/libavutil/opt.h" const AVOption *av_opt_next(const void *obj, const AVOption *prev); void *av_opt_child_next(void *obj, void *prev); const AVClass *av_opt_child_class_next(const AVClass *parent, const AVClass *prev); # 681 "src/libavutil/opt.h" int av_opt_set (void *obj, const char *name, const char *val, int search_flags); int av_opt_set_int (void *obj, const char *name, int64_t val, int search_flags); int av_opt_set_double (void *obj, const char *name, double val, int search_flags); int av_opt_set_q (void *obj, const char *name, AVRational val, int search_flags); int av_opt_set_bin (void *obj, const char *name, const uint8_t *val, int size, int search_flags); int av_opt_set_image_size(void *obj, const char *name, int w, int h, int search_flags); int av_opt_set_pixel_fmt (void *obj, const char *name, enum AVPixelFormat fmt, int search_flags); int av_opt_set_sample_fmt(void *obj, const char *name, enum AVSampleFormat fmt, int search_flags); int av_opt_set_video_rate(void *obj, const char *name, AVRational val, int search_flags); int av_opt_set_channel_layout(void *obj, const char *name, int64_t ch_layout, int search_flags); int av_opt_set_dict_val(void *obj, const char *name, const AVDictionary *val, int search_flags); # 736 "src/libavutil/opt.h" int av_opt_get (void *obj, const char *name, int search_flags, uint8_t **out_val); int av_opt_get_int (void *obj, const char *name, int search_flags, int64_t *out_val); int av_opt_get_double (void *obj, const char *name, int search_flags, double *out_val); int av_opt_get_q (void *obj, const char *name, int search_flags, AVRational *out_val); int av_opt_get_image_size(void *obj, const char *name, int search_flags, int *w_out, int *h_out); int av_opt_get_pixel_fmt (void *obj, const char *name, int search_flags, enum AVPixelFormat *out_fmt); int av_opt_get_sample_fmt(void *obj, const char *name, int search_flags, enum AVSampleFormat *out_fmt); int av_opt_get_video_rate(void *obj, const char *name, int search_flags, AVRational *out_val); int av_opt_get_channel_layout(void *obj, const char *name, int search_flags, int64_t *ch_layout); int av_opt_get_dict_val(void *obj, const char *name, int search_flags, AVDictionary **out_val); # 761 "src/libavutil/opt.h" void *av_opt_ptr(const AVClass *avclass, void *obj, const char *name); void av_opt_freep_ranges(AVOptionRanges **ranges); # 781 "src/libavutil/opt.h" int av_opt_query_ranges(AVOptionRanges **, void *obj, const char *key, int flags); # 793 "src/libavutil/opt.h" int av_opt_copy(void *dest, const void *src); # 809 "src/libavutil/opt.h" int av_opt_query_ranges_default(AVOptionRanges **, void *obj, const char *key, int flags); # 823 "src/libavutil/opt.h" int av_opt_is_set_to_default(void *obj, const AVOption *o); # 835 "src/libavutil/opt.h" int av_opt_is_set_to_default_by_name(void *obj, const char *name, int search_flags); # 859 "src/libavutil/opt.h" int av_opt_serialize(void *obj, int opt_flags, int flags, char **buffer, const char key_val_sep, const char pairs_sep); # 33 "src/libavcodec/pngenc.c" 2 # 1 "src/libavutil/color_utils.h" 1 # 37 "src/libavutil/color_utils.h" double avpriv_get_gamma_from_trc(enum AVColorTransferCharacteristic trc); typedef double (*avpriv_trc_function)(double); # 54 "src/libavutil/color_utils.h" avpriv_trc_function avpriv_get_trc_function_from_trc(enum AVColorTransferCharacteristic trc); # 34 "src/libavcodec/pngenc.c" 2 # 1 "src/libavutil/stereo3d.h" 1 # 51 "src/libavutil/stereo3d.h" enum AVStereo3DType { AV_STEREO3D_2D, # 67 "src/libavutil/stereo3d.h" AV_STEREO3D_SIDEBYSIDE, # 79 "src/libavutil/stereo3d.h" AV_STEREO3D_TOPBOTTOM, # 92 "src/libavutil/stereo3d.h" AV_STEREO3D_FRAMESEQUENCE, # 104 "src/libavutil/stereo3d.h" AV_STEREO3D_CHECKERBOARD, # 117 "src/libavutil/stereo3d.h" AV_STEREO3D_SIDEBYSIDE_QUINCUNX, # 129 "src/libavutil/stereo3d.h" AV_STEREO3D_LINES, # 141 "src/libavutil/stereo3d.h" AV_STEREO3D_COLUMNS, }; enum AVStereo3DView { AV_STEREO3D_VIEW_PACKED, AV_STEREO3D_VIEW_LEFT, AV_STEREO3D_VIEW_RIGHT, }; # 176 "src/libavutil/stereo3d.h" typedef struct AVStereo3D { enum AVStereo3DType type; int flags; enum AVStereo3DView view; } AVStereo3D; AVStereo3D *av_stereo3d_alloc(void); # 208 "src/libavutil/stereo3d.h" AVStereo3D *av_stereo3d_create_side_data(AVFrame *frame); # 217 "src/libavutil/stereo3d.h" const char *av_stereo3d_type_name(unsigned int type); # 226 "src/libavutil/stereo3d.h" int av_stereo3d_from_name(const char *name); # 35 "src/libavcodec/pngenc.c" 2 # 1 "/usr/include/zlib.h" 1 3 4 # 34 "/usr/include/zlib.h" 3 4 # 1 "/usr/include/zconf.h" 1 3 4 # 247 "/usr/include/zconf.h" 3 4 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stddef.h" 1 3 4 # 248 "/usr/include/zconf.h" 2 3 4 # 248 "/usr/include/zconf.h" 3 4 typedef size_t z_size_t; # 391 "/usr/include/zconf.h" 3 4 typedef unsigned char Byte; typedef unsigned int uInt; typedef unsigned long uLong; typedef Byte Bytef; typedef char charf; typedef int intf; typedef uInt uIntf; typedef uLong uLongf; typedef void const *voidpc; typedef void *voidpf; typedef void *voidp; # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include-fixed/limits.h" 1 3 4 # 419 "/usr/include/zconf.h" 2 3 4 # 429 "/usr/include/zconf.h" 3 4 typedef unsigned z_crc_t; # 475 "/usr/include/zconf.h" 3 4 # 1 "/usr/include/unistd.h" 1 3 4 # 27 "/usr/include/unistd.h" 3 4 # 202 "/usr/include/unistd.h" 3 4 # 1 "/usr/include/bits/posix_opt.h" 1 3 4 # 203 "/usr/include/unistd.h" 2 3 4 # 1 "/usr/include/bits/environments.h" 1 3 4 # 22 "/usr/include/bits/environments.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 23 "/usr/include/bits/environments.h" 2 3 4 # 207 "/usr/include/unistd.h" 2 3 4 # 226 "/usr/include/unistd.h" 3 4 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stddef.h" 1 3 4 # 227 "/usr/include/unistd.h" 2 3 4 # 274 "/usr/include/unistd.h" 3 4 typedef __socklen_t socklen_t; # 287 "/usr/include/unistd.h" 3 4 extern int access (const char *__name, int __type) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); # 337 "/usr/include/unistd.h" 3 4 extern __off64_t lseek (int __fd, __off64_t __offset, int __whence) __asm__ ("" "lseek64") __attribute__ ((__nothrow__ , __leaf__)) ; # 353 "/usr/include/unistd.h" 3 4 extern int close (int __fd); extern ssize_t read (int __fd, void *__buf, size_t __nbytes) __attribute__ ((__warn_unused_result__)); extern ssize_t write (int __fd, const void *__buf, size_t __n) __attribute__ ((__warn_unused_result__)); # 388 "/usr/include/unistd.h" 3 4 extern ssize_t pread (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) __asm__ ("" "pread64") __attribute__ ((__warn_unused_result__)); extern ssize_t pwrite (int __fd, const void *__buf, size_t __nbytes, __off64_t __offset) __asm__ ("" "pwrite64") __attribute__ ((__warn_unused_result__)); # 417 "/usr/include/unistd.h" 3 4 extern int pipe (int __pipedes[2]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); # 432 "/usr/include/unistd.h" 3 4 extern unsigned int alarm (unsigned int __seconds) __attribute__ ((__nothrow__ , __leaf__)); # 444 "/usr/include/unistd.h" 3 4 extern unsigned int sleep (unsigned int __seconds); extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval) __attribute__ ((__nothrow__ , __leaf__)); extern int usleep (__useconds_t __useconds); # 469 "/usr/include/unistd.h" 3 4 extern int pause (void); extern int chown (const char *__file, __uid_t __owner, __gid_t __group) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int fchown (int __fd, __uid_t __owner, __gid_t __group) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern int lchown (const char *__file, __uid_t __owner, __gid_t __group) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 497 "/usr/include/unistd.h" 3 4 extern int chdir (const char *__path) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int fchdir (int __fd) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); # 511 "/usr/include/unistd.h" 3 4 extern char *getcwd (char *__buf, size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); # 525 "/usr/include/unistd.h" 3 4 extern char *getwd (char *__buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)) __attribute__ ((__warn_unused_result__)); extern int dup (int __fd) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern int dup2 (int __fd, int __fd2) __attribute__ ((__nothrow__ , __leaf__)); # 543 "/usr/include/unistd.h" 3 4 extern char **__environ; extern int execve (const char *__path, char *const __argv[], char *const __envp[]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); # 563 "/usr/include/unistd.h" 3 4 extern int execv (const char *__path, char *const __argv[]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int execle (const char *__path, const char *__arg, ...) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int execl (const char *__path, const char *__arg, ...) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int execvp (const char *__file, char *const __argv[]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); extern int execlp (const char *__file, const char *__arg, ...) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); # 598 "/usr/include/unistd.h" 3 4 extern int nice (int __inc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern void _exit (int __status) __attribute__ ((__noreturn__)); # 1 "/usr/include/bits/confname.h" 1 3 4 # 24 "/usr/include/bits/confname.h" 3 4 enum { _PC_LINK_MAX, _PC_MAX_CANON, _PC_MAX_INPUT, _PC_NAME_MAX, _PC_PATH_MAX, _PC_PIPE_BUF, _PC_CHOWN_RESTRICTED, _PC_NO_TRUNC, _PC_VDISABLE, _PC_SYNC_IO, _PC_ASYNC_IO, _PC_PRIO_IO, _PC_SOCK_MAXBUF, _PC_FILESIZEBITS, _PC_REC_INCR_XFER_SIZE, _PC_REC_MAX_XFER_SIZE, _PC_REC_MIN_XFER_SIZE, _PC_REC_XFER_ALIGN, _PC_ALLOC_SIZE_MIN, _PC_SYMLINK_MAX, _PC_2_SYMLINKS }; enum { _SC_ARG_MAX, _SC_CHILD_MAX, _SC_CLK_TCK, _SC_NGROUPS_MAX, _SC_OPEN_MAX, _SC_STREAM_MAX, _SC_TZNAME_MAX, _SC_JOB_CONTROL, _SC_SAVED_IDS, _SC_REALTIME_SIGNALS, _SC_PRIORITY_SCHEDULING, _SC_TIMERS, _SC_ASYNCHRONOUS_IO, _SC_PRIORITIZED_IO, _SC_SYNCHRONIZED_IO, _SC_FSYNC, _SC_MAPPED_FILES, _SC_MEMLOCK, _SC_MEMLOCK_RANGE, _SC_MEMORY_PROTECTION, _SC_MESSAGE_PASSING, _SC_SEMAPHORES, _SC_SHARED_MEMORY_OBJECTS, _SC_AIO_LISTIO_MAX, _SC_AIO_MAX, _SC_AIO_PRIO_DELTA_MAX, _SC_DELAYTIMER_MAX, _SC_MQ_OPEN_MAX, _SC_MQ_PRIO_MAX, _SC_VERSION, _SC_PAGESIZE, _SC_RTSIG_MAX, _SC_SEM_NSEMS_MAX, _SC_SEM_VALUE_MAX, _SC_SIGQUEUE_MAX, _SC_TIMER_MAX, _SC_BC_BASE_MAX, _SC_BC_DIM_MAX, _SC_BC_SCALE_MAX, _SC_BC_STRING_MAX, _SC_COLL_WEIGHTS_MAX, _SC_EQUIV_CLASS_MAX, _SC_EXPR_NEST_MAX, _SC_LINE_MAX, _SC_RE_DUP_MAX, _SC_CHARCLASS_NAME_MAX, _SC_2_VERSION, _SC_2_C_BIND, _SC_2_C_DEV, _SC_2_FORT_DEV, _SC_2_FORT_RUN, _SC_2_SW_DEV, _SC_2_LOCALEDEF, _SC_PII, _SC_PII_XTI, _SC_PII_SOCKET, _SC_PII_INTERNET, _SC_PII_OSI, _SC_POLL, _SC_SELECT, _SC_UIO_MAXIOV, _SC_IOV_MAX = _SC_UIO_MAXIOV, _SC_PII_INTERNET_STREAM, _SC_PII_INTERNET_DGRAM, _SC_PII_OSI_COTS, _SC_PII_OSI_CLTS, _SC_PII_OSI_M, _SC_T_IOV_MAX, _SC_THREADS, _SC_THREAD_SAFE_FUNCTIONS, _SC_GETGR_R_SIZE_MAX, _SC_GETPW_R_SIZE_MAX, _SC_LOGIN_NAME_MAX, _SC_TTY_NAME_MAX, _SC_THREAD_DESTRUCTOR_ITERATIONS, _SC_THREAD_KEYS_MAX, _SC_THREAD_STACK_MIN, _SC_THREAD_THREADS_MAX, _SC_THREAD_ATTR_STACKADDR, _SC_THREAD_ATTR_STACKSIZE, _SC_THREAD_PRIORITY_SCHEDULING, _SC_THREAD_PRIO_INHERIT, _SC_THREAD_PRIO_PROTECT, _SC_THREAD_PROCESS_SHARED, _SC_NPROCESSORS_CONF, _SC_NPROCESSORS_ONLN, _SC_PHYS_PAGES, _SC_AVPHYS_PAGES, _SC_ATEXIT_MAX, _SC_PASS_MAX, _SC_XOPEN_VERSION, _SC_XOPEN_XCU_VERSION, _SC_XOPEN_UNIX, _SC_XOPEN_CRYPT, _SC_XOPEN_ENH_I18N, _SC_XOPEN_SHM, _SC_2_CHAR_TERM, _SC_2_C_VERSION, _SC_2_UPE, _SC_XOPEN_XPG2, _SC_XOPEN_XPG3, _SC_XOPEN_XPG4, _SC_CHAR_BIT, _SC_CHAR_MAX, _SC_CHAR_MIN, _SC_INT_MAX, _SC_INT_MIN, _SC_LONG_BIT, _SC_WORD_BIT, _SC_MB_LEN_MAX, _SC_NZERO, _SC_SSIZE_MAX, _SC_SCHAR_MAX, _SC_SCHAR_MIN, _SC_SHRT_MAX, _SC_SHRT_MIN, _SC_UCHAR_MAX, _SC_UINT_MAX, _SC_ULONG_MAX, _SC_USHRT_MAX, _SC_NL_ARGMAX, _SC_NL_LANGMAX, _SC_NL_MSGMAX, _SC_NL_NMAX, _SC_NL_SETMAX, _SC_NL_TEXTMAX, _SC_XBS5_ILP32_OFF32, _SC_XBS5_ILP32_OFFBIG, _SC_XBS5_LP64_OFF64, _SC_XBS5_LPBIG_OFFBIG, _SC_XOPEN_LEGACY, _SC_XOPEN_REALTIME, _SC_XOPEN_REALTIME_THREADS, _SC_ADVISORY_INFO, _SC_BARRIERS, _SC_BASE, _SC_C_LANG_SUPPORT, _SC_C_LANG_SUPPORT_R, _SC_CLOCK_SELECTION, _SC_CPUTIME, _SC_THREAD_CPUTIME, _SC_DEVICE_IO, _SC_DEVICE_SPECIFIC, _SC_DEVICE_SPECIFIC_R, _SC_FD_MGMT, _SC_FIFO, _SC_PIPE, _SC_FILE_ATTRIBUTES, _SC_FILE_LOCKING, _SC_FILE_SYSTEM, _SC_MONOTONIC_CLOCK, _SC_MULTI_PROCESS, _SC_SINGLE_PROCESS, _SC_NETWORKING, _SC_READER_WRITER_LOCKS, _SC_SPIN_LOCKS, _SC_REGEXP, _SC_REGEX_VERSION, _SC_SHELL, _SC_SIGNALS, _SC_SPAWN, _SC_SPORADIC_SERVER, _SC_THREAD_SPORADIC_SERVER, _SC_SYSTEM_DATABASE, _SC_SYSTEM_DATABASE_R, _SC_TIMEOUTS, _SC_TYPED_MEMORY_OBJECTS, _SC_USER_GROUPS, _SC_USER_GROUPS_R, _SC_2_PBS, _SC_2_PBS_ACCOUNTING, _SC_2_PBS_LOCATE, _SC_2_PBS_MESSAGE, _SC_2_PBS_TRACK, _SC_SYMLOOP_MAX, _SC_STREAMS, _SC_2_PBS_CHECKPOINT, _SC_V6_ILP32_OFF32, _SC_V6_ILP32_OFFBIG, _SC_V6_LP64_OFF64, _SC_V6_LPBIG_OFFBIG, _SC_HOST_NAME_MAX, _SC_TRACE, _SC_TRACE_EVENT_FILTER, _SC_TRACE_INHERIT, _SC_TRACE_LOG, _SC_LEVEL1_ICACHE_SIZE, _SC_LEVEL1_ICACHE_ASSOC, _SC_LEVEL1_ICACHE_LINESIZE, _SC_LEVEL1_DCACHE_SIZE, _SC_LEVEL1_DCACHE_ASSOC, _SC_LEVEL1_DCACHE_LINESIZE, _SC_LEVEL2_CACHE_SIZE, _SC_LEVEL2_CACHE_ASSOC, _SC_LEVEL2_CACHE_LINESIZE, _SC_LEVEL3_CACHE_SIZE, _SC_LEVEL3_CACHE_ASSOC, _SC_LEVEL3_CACHE_LINESIZE, _SC_LEVEL4_CACHE_SIZE, _SC_LEVEL4_CACHE_ASSOC, _SC_LEVEL4_CACHE_LINESIZE, _SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50, _SC_RAW_SOCKETS, _SC_V7_ILP32_OFF32, _SC_V7_ILP32_OFFBIG, _SC_V7_LP64_OFF64, _SC_V7_LPBIG_OFFBIG, _SC_SS_REPL_MAX, _SC_TRACE_EVENT_NAME_MAX, _SC_TRACE_NAME_MAX, _SC_TRACE_SYS_MAX, _SC_TRACE_USER_EVENT_MAX, _SC_XOPEN_STREAMS, _SC_THREAD_ROBUST_PRIO_INHERIT, _SC_THREAD_ROBUST_PRIO_PROTECT }; enum { _CS_PATH, _CS_V6_WIDTH_RESTRICTED_ENVS, _CS_GNU_LIBC_VERSION, _CS_GNU_LIBPTHREAD_VERSION, _CS_V5_WIDTH_RESTRICTED_ENVS, _CS_V7_WIDTH_RESTRICTED_ENVS, _CS_LFS_CFLAGS = 1000, _CS_LFS_LDFLAGS, _CS_LFS_LIBS, _CS_LFS_LINTFLAGS, _CS_LFS64_CFLAGS, _CS_LFS64_LDFLAGS, _CS_LFS64_LIBS, _CS_LFS64_LINTFLAGS, _CS_XBS5_ILP32_OFF32_CFLAGS = 1100, _CS_XBS5_ILP32_OFF32_LDFLAGS, _CS_XBS5_ILP32_OFF32_LIBS, _CS_XBS5_ILP32_OFF32_LINTFLAGS, _CS_XBS5_ILP32_OFFBIG_CFLAGS, _CS_XBS5_ILP32_OFFBIG_LDFLAGS, _CS_XBS5_ILP32_OFFBIG_LIBS, _CS_XBS5_ILP32_OFFBIG_LINTFLAGS, _CS_XBS5_LP64_OFF64_CFLAGS, _CS_XBS5_LP64_OFF64_LDFLAGS, _CS_XBS5_LP64_OFF64_LIBS, _CS_XBS5_LP64_OFF64_LINTFLAGS, _CS_XBS5_LPBIG_OFFBIG_CFLAGS, _CS_XBS5_LPBIG_OFFBIG_LDFLAGS, _CS_XBS5_LPBIG_OFFBIG_LIBS, _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS, _CS_POSIX_V6_ILP32_OFF32_CFLAGS, _CS_POSIX_V6_ILP32_OFF32_LDFLAGS, _CS_POSIX_V6_ILP32_OFF32_LIBS, _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_LIBS, _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS, _CS_POSIX_V6_LP64_OFF64_CFLAGS, _CS_POSIX_V6_LP64_OFF64_LDFLAGS, _CS_POSIX_V6_LP64_OFF64_LIBS, _CS_POSIX_V6_LP64_OFF64_LINTFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_LIBS, _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS, _CS_POSIX_V7_ILP32_OFF32_CFLAGS, _CS_POSIX_V7_ILP32_OFF32_LDFLAGS, _CS_POSIX_V7_ILP32_OFF32_LIBS, _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS, _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS, _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS, _CS_POSIX_V7_ILP32_OFFBIG_LIBS, _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS, _CS_POSIX_V7_LP64_OFF64_CFLAGS, _CS_POSIX_V7_LP64_OFF64_LDFLAGS, _CS_POSIX_V7_LP64_OFF64_LIBS, _CS_POSIX_V7_LP64_OFF64_LINTFLAGS, _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS, _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS, _CS_POSIX_V7_LPBIG_OFFBIG_LIBS, _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS, _CS_V6_ENV, _CS_V7_ENV }; # 610 "/usr/include/unistd.h" 2 3 4 extern long int pathconf (const char *__path, int __name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern long int fpathconf (int __fd, int __name) __attribute__ ((__nothrow__ , __leaf__)); extern long int sysconf (int __name) __attribute__ ((__nothrow__ , __leaf__)); extern size_t confstr (int __name, char *__buf, size_t __len) __attribute__ ((__nothrow__ , __leaf__)); extern __pid_t getpid (void) __attribute__ ((__nothrow__ , __leaf__)); extern __pid_t getppid (void) __attribute__ ((__nothrow__ , __leaf__)); extern __pid_t getpgrp (void) __attribute__ ((__nothrow__ , __leaf__)); extern __pid_t __getpgid (__pid_t __pid) __attribute__ ((__nothrow__ , __leaf__)); extern __pid_t getpgid (__pid_t __pid) __attribute__ ((__nothrow__ , __leaf__)); extern int setpgid (__pid_t __pid, __pid_t __pgid) __attribute__ ((__nothrow__ , __leaf__)); # 660 "/usr/include/unistd.h" 3 4 extern int setpgrp (void) __attribute__ ((__nothrow__ , __leaf__)); extern __pid_t setsid (void) __attribute__ ((__nothrow__ , __leaf__)); extern __pid_t getsid (__pid_t __pid) __attribute__ ((__nothrow__ , __leaf__)); extern __uid_t getuid (void) __attribute__ ((__nothrow__ , __leaf__)); extern __uid_t geteuid (void) __attribute__ ((__nothrow__ , __leaf__)); extern __gid_t getgid (void) __attribute__ ((__nothrow__ , __leaf__)); extern __gid_t getegid (void) __attribute__ ((__nothrow__ , __leaf__)); extern int getgroups (int __size, __gid_t __list[]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); # 700 "/usr/include/unistd.h" 3 4 extern int setuid (__uid_t __uid) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern int setreuid (__uid_t __ruid, __uid_t __euid) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern int seteuid (__uid_t __uid) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern int setgid (__gid_t __gid) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern int setregid (__gid_t __rgid, __gid_t __egid) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern int setegid (__gid_t __gid) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); # 756 "/usr/include/unistd.h" 3 4 extern __pid_t fork (void) __attribute__ ((__nothrow__)); extern __pid_t vfork (void) __attribute__ ((__nothrow__ , __leaf__)); extern char *ttyname (int __fd) __attribute__ ((__nothrow__ , __leaf__)); extern int ttyname_r (int __fd, char *__buf, size_t __buflen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__ ((__warn_unused_result__)); extern int isatty (int __fd) __attribute__ ((__nothrow__ , __leaf__)); # 789 "/usr/include/unistd.h" 3 4 extern int link (const char *__from, const char *__to) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)); # 802 "/usr/include/unistd.h" 3 4 extern int symlink (const char *__from, const char *__to) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)); extern ssize_t readlink (const char *__restrict __path, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)); # 825 "/usr/include/unistd.h" 3 4 extern int unlink (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); # 834 "/usr/include/unistd.h" 3 4 extern int rmdir (const char *__path) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern __pid_t tcgetpgrp (int __fd) __attribute__ ((__nothrow__ , __leaf__)); extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) __attribute__ ((__nothrow__ , __leaf__)); extern char *getlogin (void); extern int getlogin_r (char *__name, size_t __name_len) __attribute__ ((__nonnull__ (1))); # 869 "/usr/include/unistd.h" 3 4 # 1 "/usr/include/bits/getopt_posix.h" 1 3 4 # 27 "/usr/include/bits/getopt_posix.h" 3 4 # 1 "/usr/include/bits/getopt_core.h" 1 3 4 # 28 "/usr/include/bits/getopt_core.h" 3 4 extern char *optarg; # 50 "/usr/include/bits/getopt_core.h" 3 4 extern int optind; extern int opterr; extern int optopt; # 91 "/usr/include/bits/getopt_core.h" 3 4 extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); # 28 "/usr/include/bits/getopt_posix.h" 2 3 4 # 38 "/usr/include/bits/getopt_posix.h" 3 4 extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) __asm__ ("" "__posix_getopt") __attribute__ ((__nothrow__ , __leaf__)) ; # 49 "/usr/include/bits/getopt_posix.h" 3 4 # 870 "/usr/include/unistd.h" 2 3 4 extern int gethostname (char *__name, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); # 954 "/usr/include/unistd.h" 3 4 extern int fsync (int __fd); # 967 "/usr/include/unistd.h" 3 4 extern long int gethostid (void); extern void sync (void) __attribute__ ((__nothrow__ , __leaf__)); # 995 "/usr/include/unistd.h" 3 4 extern int truncate (const char *__file, __off64_t __length) __asm__ ("" "truncate64") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 1017 "/usr/include/unistd.h" 3 4 extern int ftruncate (int __fd, __off64_t __length) __asm__ ("" "ftruncate64") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); # 1082 "/usr/include/unistd.h" 3 4 extern int lockf (int __fd, int __cmd, __off64_t __len) __asm__ ("" "lockf64") __attribute__ ((__warn_unused_result__)); # 1115 "/usr/include/unistd.h" 3 4 extern int fdatasync (int __fildes); # 1133 "/usr/include/unistd.h" 3 4 extern void swab (const void *__restrict __from, void *__restrict __to, ssize_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); # 1166 "/usr/include/unistd.h" 3 4 # 1 "/usr/include/bits/unistd.h" 1 3 4 # 23 "/usr/include/bits/unistd.h" 3 4 extern ssize_t __read_chk (int __fd, void *__buf, size_t __nbytes, size_t __buflen) __attribute__ ((__warn_unused_result__)); extern ssize_t __read_alias (int __fd, void *__buf, size_t __nbytes) __asm__ ("" "read") __attribute__ ((__warn_unused_result__)); extern ssize_t __read_chk_warn (int __fd, void *__buf, size_t __nbytes, size_t __buflen) __asm__ ("" "__read_chk") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("read called with bigger length than size of " "the destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) ssize_t read (int __fd, void *__buf, size_t __nbytes) { if (__builtin_object_size (__buf, 0) != (size_t) -1) { if (!__builtin_constant_p (__nbytes)) return __read_chk (__fd, __buf, __nbytes, __builtin_object_size (__buf, 0)); if (__nbytes > __builtin_object_size (__buf, 0)) return __read_chk_warn (__fd, __buf, __nbytes, __builtin_object_size (__buf, 0)); } return __read_alias (__fd, __buf, __nbytes); } extern ssize_t __pread_chk (int __fd, void *__buf, size_t __nbytes, __off_t __offset, size_t __bufsize) __attribute__ ((__warn_unused_result__)); extern ssize_t __pread64_chk (int __fd, void *__buf, size_t __nbytes, __off64_t __offset, size_t __bufsize) __attribute__ ((__warn_unused_result__)); extern ssize_t __pread_alias (int __fd, void *__buf, size_t __nbytes, __off_t __offset) __asm__ ("" "pread") __attribute__ ((__warn_unused_result__)); extern ssize_t __pread64_alias (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) __asm__ ("" "pread64") __attribute__ ((__warn_unused_result__)); extern ssize_t __pread_chk_warn (int __fd, void *__buf, size_t __nbytes, __off_t __offset, size_t __bufsize) __asm__ ("" "__pread_chk") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("pread called with bigger length than size of " "the destination buffer"))) ; extern ssize_t __pread64_chk_warn (int __fd, void *__buf, size_t __nbytes, __off64_t __offset, size_t __bufsize) __asm__ ("" "__pread64_chk") __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("pread64 called with bigger length than size of " "the destination buffer"))) ; # 86 "/usr/include/bits/unistd.h" 3 4 extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) ssize_t pread (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) { if (__builtin_object_size (__buf, 0) != (size_t) -1) { if (!__builtin_constant_p (__nbytes)) return __pread64_chk (__fd, __buf, __nbytes, __offset, __builtin_object_size (__buf, 0)); if ( __nbytes > __builtin_object_size (__buf, 0)) return __pread64_chk_warn (__fd, __buf, __nbytes, __offset, __builtin_object_size (__buf, 0)); } return __pread64_alias (__fd, __buf, __nbytes, __offset); } # 123 "/usr/include/bits/unistd.h" 3 4 extern ssize_t __readlink_chk (const char *__restrict __path, char *__restrict __buf, size_t __len, size_t __buflen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)); extern ssize_t __readlink_alias (const char *__restrict __path, char *__restrict __buf, size_t __len) __asm__ ("" "readlink") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)); extern ssize_t __readlink_chk_warn (const char *__restrict __path, char *__restrict __buf, size_t __len, size_t __buflen) __asm__ ("" "__readlink_chk") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("readlink called with bigger length " "than size of destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)) ssize_t __attribute__ ((__nothrow__ , __leaf__)) readlink (const char *__restrict __path, char *__restrict __buf, size_t __len) { if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__len)) return __readlink_chk (__path, __buf, __len, __builtin_object_size (__buf, 2 > 1)); if ( __len > __builtin_object_size (__buf, 2 > 1)) return __readlink_chk_warn (__path, __buf, __len, __builtin_object_size (__buf, 2 > 1)); } return __readlink_alias (__path, __buf, __len); } # 189 "/usr/include/bits/unistd.h" 3 4 extern char *__getcwd_chk (char *__buf, size_t __size, size_t __buflen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern char *__getcwd_alias (char *__buf, size_t __size) __asm__ ("" "getcwd") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern char *__getcwd_chk_warn (char *__buf, size_t __size, size_t __buflen) __asm__ ("" "__getcwd_chk") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("getcwd caller with bigger length than size of " "destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char * __attribute__ ((__nothrow__ , __leaf__)) getcwd (char *__buf, size_t __size) { if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__size)) return __getcwd_chk (__buf, __size, __builtin_object_size (__buf, 2 > 1)); if (__size > __builtin_object_size (__buf, 2 > 1)) return __getcwd_chk_warn (__buf, __size, __builtin_object_size (__buf, 2 > 1)); } return __getcwd_alias (__buf, __size); } extern char *__getwd_chk (char *__buf, size_t buflen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern char *__getwd_warn (char *__buf) __asm__ ("" "getwd") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("please use getcwd instead, as getwd " "doesn't specify buffer size"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)) __attribute__ ((__warn_unused_result__)) char * __attribute__ ((__nothrow__ , __leaf__)) getwd (char *__buf) { if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) return __getwd_chk (__buf, __builtin_object_size (__buf, 2 > 1)); return __getwd_warn (__buf); } extern size_t __confstr_chk (int __name, char *__buf, size_t __len, size_t __buflen) __attribute__ ((__nothrow__ , __leaf__)); extern size_t __confstr_alias (int __name, char *__buf, size_t __len) __asm__ ("" "confstr") __attribute__ ((__nothrow__ , __leaf__)) ; extern size_t __confstr_chk_warn (int __name, char *__buf, size_t __len, size_t __buflen) __asm__ ("" "__confstr_chk") __attribute__ ((__nothrow__ , __leaf__)) __attribute__((__warning__ ("confstr called with bigger length than size of destination " "buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t __attribute__ ((__nothrow__ , __leaf__)) confstr (int __name, char *__buf, size_t __len) { if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__len)) return __confstr_chk (__name, __buf, __len, __builtin_object_size (__buf, 2 > 1)); if (__builtin_object_size (__buf, 2 > 1) < __len) return __confstr_chk_warn (__name, __buf, __len, __builtin_object_size (__buf, 2 > 1)); } return __confstr_alias (__name, __buf, __len); } extern int __getgroups_chk (int __size, __gid_t __list[], size_t __listlen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern int __getgroups_alias (int __size, __gid_t __list[]) __asm__ ("" "getgroups") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); extern int __getgroups_chk_warn (int __size, __gid_t __list[], size_t __listlen) __asm__ ("" "__getgroups_chk") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("getgroups called with bigger group count than what " "can fit into destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int __attribute__ ((__nothrow__ , __leaf__)) getgroups (int __size, __gid_t __list[]) { if (__builtin_object_size (__list, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__size) || __size < 0) return __getgroups_chk (__size, __list, __builtin_object_size (__list, 2 > 1)); if (__size * sizeof (__gid_t) > __builtin_object_size (__list, 2 > 1)) return __getgroups_chk_warn (__size, __list, __builtin_object_size (__list, 2 > 1)); } return __getgroups_alias (__size, __list); } extern int __ttyname_r_chk (int __fd, char *__buf, size_t __buflen, size_t __nreal) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern int __ttyname_r_alias (int __fd, char *__buf, size_t __buflen) __asm__ ("" "ttyname_r") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); extern int __ttyname_r_chk_warn (int __fd, char *__buf, size_t __buflen, size_t __nreal) __asm__ ("" "__ttyname_r_chk") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__((__warning__ ("ttyname_r called with bigger buflen than " "size of destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int __attribute__ ((__nothrow__ , __leaf__)) ttyname_r (int __fd, char *__buf, size_t __buflen) { if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__buflen)) return __ttyname_r_chk (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1)); if (__buflen > __builtin_object_size (__buf, 2 > 1)) return __ttyname_r_chk_warn (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1)); } return __ttyname_r_alias (__fd, __buf, __buflen); } extern int __getlogin_r_chk (char *__buf, size_t __buflen, size_t __nreal) __attribute__ ((__nonnull__ (1))); extern int __getlogin_r_alias (char *__buf, size_t __buflen) __asm__ ("" "getlogin_r") __attribute__ ((__nonnull__ (1))); extern int __getlogin_r_chk_warn (char *__buf, size_t __buflen, size_t __nreal) __asm__ ("" "__getlogin_r_chk") __attribute__ ((__nonnull__ (1))) __attribute__((__warning__ ("getlogin_r called with bigger buflen than " "size of destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int getlogin_r (char *__buf, size_t __buflen) { if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__buflen)) return __getlogin_r_chk (__buf, __buflen, __builtin_object_size (__buf, 2 > 1)); if (__buflen > __builtin_object_size (__buf, 2 > 1)) return __getlogin_r_chk_warn (__buf, __buflen, __builtin_object_size (__buf, 2 > 1)); } return __getlogin_r_alias (__buf, __buflen); } extern int __gethostname_chk (char *__buf, size_t __buflen, size_t __nreal) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int __gethostname_alias (char *__buf, size_t __buflen) __asm__ ("" "gethostname") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); extern int __gethostname_chk_warn (char *__buf, size_t __buflen, size_t __nreal) __asm__ ("" "__gethostname_chk") __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__((__warning__ ("gethostname called with bigger buflen than " "size of destination buffer"))) ; extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int __attribute__ ((__nothrow__ , __leaf__)) gethostname (char *__buf, size_t __buflen) { if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1) { if (!__builtin_constant_p (__buflen)) return __gethostname_chk (__buf, __buflen, __builtin_object_size (__buf, 2 > 1)); if (__buflen > __builtin_object_size (__buf, 2 > 1)) return __gethostname_chk_warn (__buf, __buflen, __builtin_object_size (__buf, 2 > 1)); } return __gethostname_alias (__buf, __buflen); } # 1167 "/usr/include/unistd.h" 2 3 4 # 476 "/usr/include/zconf.h" 2 3 4 # 35 "/usr/include/zlib.h" 2 3 4 # 81 "/usr/include/zlib.h" 3 4 typedef voidpf (*alloc_func) (voidpf opaque, uInt items, uInt size); typedef void (*free_func) (voidpf opaque, voidpf address); struct internal_state; typedef struct z_stream_s { const Bytef *next_in; uInt avail_in; uLong total_in; Bytef *next_out; uInt avail_out; uLong total_out; const char *msg; struct internal_state *state; alloc_func zalloc; free_func zfree; voidpf opaque; int data_type; uLong adler; uLong reserved; } z_stream; typedef z_stream *z_streamp; typedef struct gz_header_s { int text; uLong time; int xflags; int os; Bytef *extra; uInt extra_len; uInt extra_max; Bytef *name; uInt name_max; Bytef *comment; uInt comm_max; int hcrc; int done; } gz_header; typedef gz_header *gz_headerp; # 220 "/usr/include/zlib.h" 3 4 extern const char * zlibVersion (void); # 250 "/usr/include/zlib.h" 3 4 extern int deflate (z_streamp strm, int flush); # 363 "/usr/include/zlib.h" 3 4 extern int deflateEnd (z_streamp strm); # 400 "/usr/include/zlib.h" 3 4 extern int inflate (z_streamp strm, int flush); # 520 "/usr/include/zlib.h" 3 4 extern int inflateEnd (z_streamp strm); # 611 "/usr/include/zlib.h" 3 4 extern int deflateSetDictionary (z_streamp strm, const Bytef *dictionary, uInt dictLength) ; # 655 "/usr/include/zlib.h" 3 4 extern int deflateGetDictionary (z_streamp strm, Bytef *dictionary, uInt *dictLength) ; # 677 "/usr/include/zlib.h" 3 4 extern int deflateCopy (z_streamp dest, z_streamp source) ; # 695 "/usr/include/zlib.h" 3 4 extern int deflateReset (z_streamp strm); # 706 "/usr/include/zlib.h" 3 4 extern int deflateParams (z_streamp strm, int level, int strategy) ; # 744 "/usr/include/zlib.h" 3 4 extern int deflateTune (z_streamp strm, int good_length, int max_lazy, int nice_length, int max_chain) ; # 761 "/usr/include/zlib.h" 3 4 extern uLong deflateBound (z_streamp strm, uLong sourceLen) ; # 776 "/usr/include/zlib.h" 3 4 extern int deflatePending (z_streamp strm, unsigned *pending, int *bits) ; # 791 "/usr/include/zlib.h" 3 4 extern int deflatePrime (z_streamp strm, int bits, int value) ; # 808 "/usr/include/zlib.h" 3 4 extern int deflateSetHeader (z_streamp strm, gz_headerp head) ; # 885 "/usr/include/zlib.h" 3 4 extern int inflateSetDictionary (z_streamp strm, const Bytef *dictionary, uInt dictLength) ; # 908 "/usr/include/zlib.h" 3 4 extern int inflateGetDictionary (z_streamp strm, Bytef *dictionary, uInt *dictLength) ; # 923 "/usr/include/zlib.h" 3 4 extern int inflateSync (z_streamp strm); # 942 "/usr/include/zlib.h" 3 4 extern int inflateCopy (z_streamp dest, z_streamp source) ; # 958 "/usr/include/zlib.h" 3 4 extern int inflateReset (z_streamp strm); # 968 "/usr/include/zlib.h" 3 4 extern int inflateReset2 (z_streamp strm, int windowBits) ; # 982 "/usr/include/zlib.h" 3 4 extern int inflatePrime (z_streamp strm, int bits, int value) ; # 1003 "/usr/include/zlib.h" 3 4 extern long inflateMark (z_streamp strm); # 1031 "/usr/include/zlib.h" 3 4 extern int inflateGetHeader (z_streamp strm, gz_headerp head) ; # 1093 "/usr/include/zlib.h" 3 4 typedef unsigned (*in_func) (void *, const unsigned char * *) ; typedef int (*out_func) (void *, unsigned char *, unsigned); extern int inflateBack (z_streamp strm, in_func in, void *in_desc, out_func out, void *out_desc) ; # 1167 "/usr/include/zlib.h" 3 4 extern int inflateBackEnd (z_streamp strm); extern uLong zlibCompileFlags (void); # 1228 "/usr/include/zlib.h" 3 4 extern int compress (Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen) ; # 1243 "/usr/include/zlib.h" 3 4 extern int compress2 (Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen, int level) ; # 1259 "/usr/include/zlib.h" 3 4 extern uLong compressBound (uLong sourceLen); extern int uncompress (Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen) ; # 1284 "/usr/include/zlib.h" 3 4 extern int uncompress2 (Bytef *dest, uLongf *destLen, const Bytef *source, uLong *sourceLen) ; # 1301 "/usr/include/zlib.h" 3 4 typedef struct gzFile_s *gzFile; # 1341 "/usr/include/zlib.h" 3 4 extern gzFile gzdopen (int fd, const char *mode); # 1364 "/usr/include/zlib.h" 3 4 extern int gzbuffer (gzFile file, unsigned size); # 1380 "/usr/include/zlib.h" 3 4 extern int gzsetparams (gzFile file, int level, int strategy); # 1391 "/usr/include/zlib.h" 3 4 extern int gzread (gzFile file, voidp buf, unsigned len); # 1421 "/usr/include/zlib.h" 3 4 extern z_size_t gzfread (voidp buf, z_size_t size, z_size_t nitems, gzFile file) ; # 1447 "/usr/include/zlib.h" 3 4 extern int gzwrite (gzFile file, voidpc buf, unsigned len) ; extern z_size_t gzfwrite (voidpc buf, z_size_t size, z_size_t nitems, gzFile file) ; # 1469 "/usr/include/zlib.h" 3 4 extern int gzprintf (gzFile file, const char *format, ...); # 1484 "/usr/include/zlib.h" 3 4 extern int gzputs (gzFile file, const char *s); extern char * gzgets (gzFile file, char *buf, int len); # 1505 "/usr/include/zlib.h" 3 4 extern int gzputc (gzFile file, int c); extern int gzgetc (gzFile file); # 1520 "/usr/include/zlib.h" 3 4 extern int gzungetc (int c, gzFile file); # 1532 "/usr/include/zlib.h" 3 4 extern int gzflush (gzFile file, int flush); # 1567 "/usr/include/zlib.h" 3 4 extern int gzrewind (gzFile file); # 1595 "/usr/include/zlib.h" 3 4 extern int gzeof (gzFile file); # 1610 "/usr/include/zlib.h" 3 4 extern int gzdirect (gzFile file); # 1631 "/usr/include/zlib.h" 3 4 extern int gzclose (gzFile file); # 1644 "/usr/include/zlib.h" 3 4 extern int gzclose_r (gzFile file); extern int gzclose_w (gzFile file); # 1656 "/usr/include/zlib.h" 3 4 extern const char * gzerror (gzFile file, int *errnum); # 1672 "/usr/include/zlib.h" 3 4 extern void gzclearerr (gzFile file); # 1689 "/usr/include/zlib.h" 3 4 extern uLong adler32 (uLong adler, const Bytef *buf, uInt len); # 1708 "/usr/include/zlib.h" 3 4 extern uLong adler32_z (uLong adler, const Bytef *buf, z_size_t len) ; # 1726 "/usr/include/zlib.h" 3 4 extern uLong crc32 (uLong crc, const Bytef *buf, uInt len); # 1743 "/usr/include/zlib.h" 3 4 extern uLong crc32_z (uLong adler, const Bytef *buf, z_size_t len) ; # 1765 "/usr/include/zlib.h" 3 4 extern int deflateInit_ (z_streamp strm, int level, const char *version, int stream_size) ; extern int inflateInit_ (z_streamp strm, const char *version, int stream_size) ; extern int deflateInit2_ (z_streamp strm, int level, int method, int windowBits, int memLevel, int strategy, const char *version, int stream_size) ; extern int inflateInit2_ (z_streamp strm, int windowBits, const char *version, int stream_size) ; extern int inflateBackInit_ (z_streamp strm, int windowBits, unsigned char *window, const char *version, int stream_size) ; # 1818 "/usr/include/zlib.h" 3 4 struct gzFile_s { unsigned have; unsigned char *next; off_t pos; }; extern int gzgetc_ (gzFile file); # 1865 "/usr/include/zlib.h" 3 4 extern gzFile gzopen64 (const char *, const char *); extern off_t gzseek64 (gzFile, off_t, int); extern off_t gztell64 (gzFile); extern off_t gzoffset64 (gzFile); extern uLong adler32_combine64 (uLong, uLong, off_t); extern uLong crc32_combine64 (uLong, uLong, off_t); # 1889 "/usr/include/zlib.h" 3 4 extern const char * zError (int); extern int inflateSyncPoint (z_streamp); extern const z_crc_t * get_crc_table (void); extern int inflateUndermine (z_streamp, int); extern int inflateValidate (z_streamp, int); extern unsigned long inflateCodesUsed (z_streamp); extern int inflateResetKeep (z_streamp); extern int deflateResetKeep (z_streamp); extern int gzvprintf (gzFile file, const char *format, va_list va) ; # 37 "src/libavcodec/pngenc.c" 2 # 40 "src/libavcodec/pngenc.c" typedef struct APNGFctlChunk { uint32_t sequence_number; uint32_t width, height; uint32_t x_offset, y_offset; uint16_t delay_num, delay_den; uint8_t dispose_op, blend_op; } APNGFctlChunk; typedef struct PNGEncContext { AVClass *class; LLVidEncDSPContext llvidencdsp; uint8_t *bytestream; uint8_t *bytestream_start; uint8_t *bytestream_end; int filter_type; z_stream zstream; uint8_t buf[4096]; int dpi; int dpm; int is_progressive; int bit_depth; int color_type; int bits_per_pixel; uint32_t palette_checksum; uint32_t sequence_number; int extra_data_updated; uint8_t *extra_data; int extra_data_size; AVFrame *prev_frame; AVFrame *last_frame; APNGFctlChunk last_frame_fctl; uint8_t *last_frame_packet; size_t last_frame_packet_size; } PNGEncContext; static void png_get_interlaced_row(uint8_t *dst, int row_size, int bits_per_pixel, int pass, const uint8_t *src, int width) { int x, mask, dst_x, j, b, bpp; uint8_t *d; const uint8_t *s; static const int masks[] = {0x80, 0x08, 0x88, 0x22, 0xaa, 0x55, 0xff}; mask = masks[pass]; switch (bits_per_pixel) { case 1: memset(dst, 0, row_size); dst_x = 0; for (x = 0; x < width; x++) { j = (x & 7); if ((mask << j) & 0x80) { b = (src[x >> 3] >> (7 - j)) & 1; dst[dst_x >> 3] |= b << (7 - (dst_x & 7)); dst_x++; } } break; default: bpp = bits_per_pixel >> 3; d = dst; s = src; for (x = 0; x < width; x++) { j = x & 7; if ((mask << j) & 0x80) { memcpy(d, s, bpp); d += bpp; } s += bpp; } break; } } static void sub_png_paeth_prediction(uint8_t *dst, uint8_t *src, uint8_t *top, int w, int bpp) { int i; for (i = 0; i < w; i++) { int a, b, c, p, pa, pb, pc; a = src[i - bpp]; b = top[i]; c = top[i - bpp]; p = b - c; pc = a - c; pa = abs(p); pb = abs(pc); pc = abs(p + pc); if (pa <= pb && pa <= pc) p = a; else if (pb <= pc) p = b; else p = c; dst[i] = src[i] - p; } } static void sub_left_prediction(PNGEncContext *c, uint8_t *dst, const uint8_t *src, int bpp, int size) { const uint8_t *src1 = src + bpp; const uint8_t *src2 = src; int x, unaligned_w; memcpy(dst, src, bpp); dst += bpp; size -= bpp; unaligned_w = ((32 - bpp) > (size) ? (size) : (32 - bpp)); for (x = 0; x < unaligned_w; x++) *dst++ = *src1++ - *src2++; size -= unaligned_w; c->llvidencdsp.diff_bytes(dst, src1, src2, size); } static void png_filter_row(PNGEncContext *c, uint8_t *dst, int filter_type, uint8_t *src, uint8_t *top, int size, int bpp) { int i; switch (filter_type) { case 0: memcpy(dst, src, size); break; case 1: sub_left_prediction(c, dst, src, bpp, size); break; case 2: c->llvidencdsp.diff_bytes(dst, src, top, size); break; case 3: for (i = 0; i < bpp; i++) dst[i] = src[i] - (top[i] >> 1); for (; i < size; i++) dst[i] = src[i] - ((src[i - bpp] + top[i]) >> 1); break; case 4: for (i = 0; i < bpp; i++) dst[i] = src[i] - top[i]; sub_png_paeth_prediction(dst + i, src + i, top + i, size - i, bpp); break; } } static uint8_t *png_choose_filter(PNGEncContext *s, uint8_t *dst, uint8_t *src, uint8_t *top, int size, int bpp) { int pred = s->filter_type; do { if (!(bpp || !pred)) { av_log( # 198 "src/libavcodec/pngenc.c" 3 4 ((void *)0) # 198 "src/libavcodec/pngenc.c" , 0, "Assertion %s failed at %s:%d\n", "bpp || !pred", "src/libavcodec/pngenc.c", 198); abort(); } } while (0); if (!top && pred) pred = 1; if (pred == 5) { int i; int cost, bcost = 0x7fffffff; uint8_t *buf1 = dst, *buf2 = dst + size + 16; for (pred = 0; pred < 5; pred++) { png_filter_row(s, buf1 + 1, pred, src, top, size, bpp); buf1[0] = pred; cost = 0; for (i = 0; i <= size; i++) cost += abs((int8_t) buf1[i]); if (cost < bcost) { bcost = cost; do{uint8_t * SWAP_tmp= buf2; buf2= buf1; buf1= SWAP_tmp;}while(0); } } return buf2; } else { png_filter_row(s, dst + 1, pred, src, top, size, bpp); dst[0] = pred; return dst; } } static void png_write_chunk(uint8_t **f, uint32_t tag, const uint8_t *buf, int length) { const AVCRC *crc_table = av_crc_get_table(AV_CRC_32_IEEE_LE); uint32_t crc = ~0U; uint8_t tagbuf[4]; bytestream_put_be32(f, length); ((((union unaligned_32 *) (tagbuf))->l) = (tag)); crc = av_crc(crc_table, crc, tagbuf, 4); bytestream_put_be32(f, av_bswap32(tag)); if (length > 0) { crc = av_crc(crc_table, crc, buf, length); memcpy(*f, buf, length); *f += length; } bytestream_put_be32(f, ~crc); } static void png_write_image_data(AVCodecContext *avctx, const uint8_t *buf, int length) { PNGEncContext *s = avctx->priv_data; const AVCRC *crc_table = av_crc_get_table(AV_CRC_32_IEEE_LE); uint32_t crc = ~0U; if (avctx->codec_id == AV_CODEC_ID_PNG || avctx->frame_number == 0) { png_write_chunk(&s->bytestream, (('I') | (('D') << 8) | (('A') << 16) | ((unsigned)('T') << 24)), buf, length); return; } bytestream_put_be32(&s->bytestream, length + 4); bytestream_put_be32(&s->bytestream, (('T') | (('A') << 8) | (('d') << 16) | ((unsigned)('f') << 24))); bytestream_put_be32(&s->bytestream, s->sequence_number); crc = av_crc(crc_table, crc, s->bytestream - 8, 8); crc = av_crc(crc_table, crc, buf, length); memcpy(s->bytestream, buf, length); s->bytestream += length; bytestream_put_be32(&s->bytestream, ~crc); ++s->sequence_number; } static int png_write_row(AVCodecContext *avctx, const uint8_t *data, int size) { PNGEncContext *s = avctx->priv_data; int ret; s->zstream.avail_in = size; s->zstream.next_in = data; while (s->zstream.avail_in > 0) { ret = deflate(&s->zstream, # 279 "src/libavcodec/pngenc.c" 3 4 0 # 279 "src/libavcodec/pngenc.c" ); if (ret != # 280 "src/libavcodec/pngenc.c" 3 4 0 # 280 "src/libavcodec/pngenc.c" ) return -1; if (s->zstream.avail_out == 0) { if (s->bytestream_end - s->bytestream > 4096 + 100) png_write_image_data(avctx, s->buf, 4096); s->zstream.avail_out = 4096; s->zstream.next_out = s->buf; } } return 0; } static int png_get_chrm(enum AVColorPrimaries prim, uint8_t *buf) { double rx, ry, gx, gy, bx, by, wx = 0.3127, wy = 0.3290; switch (prim) { case AVCOL_PRI_BT709: rx = 0.640; ry = 0.330; gx = 0.300; gy = 0.600; bx = 0.150; by = 0.060; break; case AVCOL_PRI_BT470M: rx = 0.670; ry = 0.330; gx = 0.210; gy = 0.710; bx = 0.140; by = 0.080; wx = 0.310; wy = 0.316; break; case AVCOL_PRI_BT470BG: rx = 0.640; ry = 0.330; gx = 0.290; gy = 0.600; bx = 0.150; by = 0.060; break; case AVCOL_PRI_SMPTE170M: case AVCOL_PRI_SMPTE240M: rx = 0.630; ry = 0.340; gx = 0.310; gy = 0.595; bx = 0.155; by = 0.070; break; case AVCOL_PRI_BT2020: rx = 0.708; ry = 0.292; gx = 0.170; gy = 0.797; bx = 0.131; by = 0.046; break; default: return 0; } ((((union unaligned_32 *) (buf))->l) = (av_bswap32(lrint((wx) * 100000)))); ((((union unaligned_32 *) (buf + 4))->l) = (av_bswap32(lrint((wy) * 100000)))); ((((union unaligned_32 *) (buf + 8))->l) = (av_bswap32(lrint((rx) * 100000)))); ((((union unaligned_32 *) (buf + 12))->l) = (av_bswap32(lrint((ry) * 100000)))); ((((union unaligned_32 *) (buf + 16))->l) = (av_bswap32(lrint((gx) * 100000)))); ((((union unaligned_32 *) (buf + 20))->l) = (av_bswap32(lrint((gy) * 100000)))); ((((union unaligned_32 *) (buf + 24))->l) = (av_bswap32(lrint((bx) * 100000)))); ((((union unaligned_32 *) (buf + 28))->l) = (av_bswap32(lrint((by) * 100000)))); return 1; } static int png_get_gama(enum AVColorTransferCharacteristic trc, uint8_t *buf) { double gamma = avpriv_get_gamma_from_trc(trc); if (gamma <= 1e-6) return 0; ((((union unaligned_32 *) (buf))->l) = (av_bswap32(lrint((1.0 / gamma) * 100000)))); return 1; } static int encode_headers(AVCodecContext *avctx, const AVFrame *pict) { AVFrameSideData *side_data; PNGEncContext *s = avctx->priv_data; ((((union unaligned_32 *) (s->buf))->l) = (av_bswap32(avctx->width))); ((((union unaligned_32 *) (s->buf + 4))->l) = (av_bswap32(avctx->height))); s->buf[8] = s->bit_depth; s->buf[9] = s->color_type; s->buf[10] = 0; s->buf[11] = 0; s->buf[12] = s->is_progressive; png_write_chunk(&s->bytestream, (('I') | (('H') << 8) | (('D') << 16) | ((unsigned)('R') << 24)), s->buf, 13); if (s->dpm) { ((((union unaligned_32 *) (s->buf))->l) = (av_bswap32(s->dpm))); ((((union unaligned_32 *) (s->buf + 4))->l) = (av_bswap32(s->dpm))); s->buf[8] = 1; } else { ((((union unaligned_32 *) (s->buf))->l) = (av_bswap32(avctx->sample_aspect_ratio.num))); ((((union unaligned_32 *) (s->buf + 4))->l) = (av_bswap32(avctx->sample_aspect_ratio.den))); s->buf[8] = 0; } png_write_chunk(&s->bytestream, (('p') | (('H') << 8) | (('Y') << 16) | ((unsigned)('s') << 24)), s->buf, 9); side_data = av_frame_get_side_data(pict, AV_FRAME_DATA_STEREO3D); if (side_data) { AVStereo3D *stereo3d = (AVStereo3D *)side_data->data; switch (stereo3d->type) { case AV_STEREO3D_SIDEBYSIDE: s->buf[0] = ((stereo3d->flags & (1 << 0)) == 0) ? 1 : 0; png_write_chunk(&s->bytestream, (('s') | (('T') << 8) | (('E') << 16) | ((unsigned)('R') << 24)), s->buf, 1); break; case AV_STEREO3D_2D: break; default: av_log(avctx, 24, "Only side-by-side stereo3d flag can be defined within sTER chunk\n"); break; } } if (pict->color_primaries == AVCOL_PRI_BT709 && pict->color_trc == AVCOL_TRC_IEC61966_2_1) { s->buf[0] = 1; png_write_chunk(&s->bytestream, (('s') | (('R') << 8) | (('G') << 16) | ((unsigned)('B') << 24)), s->buf, 1); } if (png_get_chrm(pict->color_primaries, s->buf)) png_write_chunk(&s->bytestream, (('c') | (('H') << 8) | (('R') << 16) | ((unsigned)('M') << 24)), s->buf, 32); if (png_get_gama(pict->color_trc, s->buf)) png_write_chunk(&s->bytestream, (('g') | (('A') << 8) | (('M') << 16) | ((unsigned)('A') << 24)), s->buf, 4); if (s->color_type == (2 | 1)) { int has_alpha, alpha, i; unsigned int v; uint32_t *palette; uint8_t *ptr, *alpha_ptr; palette = (uint32_t *)pict->data[1]; ptr = s->buf; alpha_ptr = s->buf + 256 * 3; has_alpha = 0; for (i = 0; i < 256; i++) { v = palette[i]; alpha = v >> 24; if (alpha != 0xff) has_alpha = 1; *alpha_ptr++ = alpha; bytestream_put_be24(&ptr, v); } png_write_chunk(&s->bytestream, (('P') | (('L') << 8) | (('T') << 16) | ((unsigned)('E') << 24)), s->buf, 256 * 3); if (has_alpha) { png_write_chunk(&s->bytestream, (('t') | (('R') << 8) | (('N') << 16) | ((unsigned)('S') << 24)), s->buf + 256 * 3, 256); } } return 0; } static int encode_frame(AVCodecContext *avctx, const AVFrame *pict) { PNGEncContext *s = avctx->priv_data; const AVFrame *const p = pict; int y, len, ret; int row_size, pass_row_size; uint8_t *ptr, *top, *crow_buf, *crow; uint8_t *crow_base = # 438 "src/libavcodec/pngenc.c" 3 4 ((void *)0) # 438 "src/libavcodec/pngenc.c" ; uint8_t *progressive_buf = # 439 "src/libavcodec/pngenc.c" 3 4 ((void *)0) # 439 "src/libavcodec/pngenc.c" ; uint8_t *top_buf = # 440 "src/libavcodec/pngenc.c" 3 4 ((void *)0) # 440 "src/libavcodec/pngenc.c" ; row_size = (pict->width * s->bits_per_pixel + 7) >> 3; crow_base = av_malloc((row_size + 32) << (s->filter_type == 5)); if (!crow_base) { ret = (-( # 446 "src/libavcodec/pngenc.c" 3 4 12 # 446 "src/libavcodec/pngenc.c" )); goto the_end; } crow_buf = crow_base + 15; if (s->is_progressive) { progressive_buf = av_malloc(row_size + 1); top_buf = av_malloc(row_size + 1); if (!progressive_buf || !top_buf) { ret = (-( # 455 "src/libavcodec/pngenc.c" 3 4 12 # 455 "src/libavcodec/pngenc.c" )); goto the_end; } } s->zstream.avail_out = 4096; s->zstream.next_out = s->buf; if (s->is_progressive) { int pass; for (pass = 0; pass < 7; pass++) { pass_row_size = ff_png_pass_row_size(pass, s->bits_per_pixel, pict->width); if (pass_row_size > 0) { top = # 471 "src/libavcodec/pngenc.c" 3 4 ((void *)0) # 471 "src/libavcodec/pngenc.c" ; for (y = 0; y < pict->height; y++) if ((ff_png_pass_ymask[pass] << (y & 7)) & 0x80) { ptr = p->data[0] + y * p->linesize[0]; do{uint8_t * SWAP_tmp= top_buf; top_buf= progressive_buf; progressive_buf= SWAP_tmp;}while(0); png_get_interlaced_row(progressive_buf, pass_row_size, s->bits_per_pixel, pass, ptr, pict->width); crow = png_choose_filter(s, crow_buf, progressive_buf, top, pass_row_size, s->bits_per_pixel >> 3); png_write_row(avctx, crow, pass_row_size + 1); top = progressive_buf; } } } } else { top = # 487 "src/libavcodec/pngenc.c" 3 4 ((void *)0) # 487 "src/libavcodec/pngenc.c" ; for (y = 0; y < pict->height; y++) { ptr = p->data[0] + y * p->linesize[0]; crow = png_choose_filter(s, crow_buf, ptr, top, row_size, s->bits_per_pixel >> 3); png_write_row(avctx, crow, row_size + 1); top = ptr; } } for (;;) { ret = deflate(&s->zstream, # 498 "src/libavcodec/pngenc.c" 3 4 4 # 498 "src/libavcodec/pngenc.c" ); if (ret == # 499 "src/libavcodec/pngenc.c" 3 4 0 # 499 "src/libavcodec/pngenc.c" || ret == # 499 "src/libavcodec/pngenc.c" 3 4 1 # 499 "src/libavcodec/pngenc.c" ) { len = 4096 - s->zstream.avail_out; if (len > 0 && s->bytestream_end - s->bytestream > len + 100) { png_write_image_data(avctx, s->buf, len); } s->zstream.avail_out = 4096; s->zstream.next_out = s->buf; if (ret == # 506 "src/libavcodec/pngenc.c" 3 4 1 # 506 "src/libavcodec/pngenc.c" ) break; } else { ret = -1; goto the_end; } } ret = 0; the_end: av_freep(&crow_base); av_freep(&progressive_buf); av_freep(&top_buf); deflateReset(&s->zstream); return ret; } static int encode_png(AVCodecContext *avctx, AVPacket *pkt, const AVFrame *pict, int *got_packet) { PNGEncContext *s = avctx->priv_data; int ret; int enc_row_size; size_t max_packet_size; enc_row_size = deflateBound(&s->zstream, (avctx->width * s->bits_per_pixel + 7) >> 3); max_packet_size = 16384 + avctx->height * ( enc_row_size + 12 * (((int64_t)enc_row_size + 4096 - 1) / 4096) ); if (max_packet_size > 0x7fffffff) return (-( # 540 "src/libavcodec/pngenc.c" 3 4 12 # 540 "src/libavcodec/pngenc.c" )); ret = ff_alloc_packet2(avctx, pkt, max_packet_size, 0); if (ret < 0) return ret; s->bytestream_start = s->bytestream = pkt->data; s->bytestream_end = pkt->data + pkt->size; ((((union unaligned_64 *) (s->bytestream))->l) = (av_bswap64(0x89504e470d0a1a0a))); s->bytestream += 8; ret = encode_headers(avctx, pict); if (ret < 0) return ret; ret = encode_frame(avctx, pict); if (ret < 0) return ret; png_write_chunk(&s->bytestream, (('I') | (('E') << 8) | (('N') << 16) | ((unsigned)('D') << 24)), # 560 "src/libavcodec/pngenc.c" 3 4 ((void *)0) # 560 "src/libavcodec/pngenc.c" , 0); pkt->size = s->bytestream - s->bytestream_start; pkt->flags |= 0x0001; *got_packet = 1; return 0; } static int apng_do_inverse_blend(AVFrame *output, const AVFrame *input, APNGFctlChunk *fctl_chunk, uint8_t bpp) { unsigned int x, y; unsigned int leftmost_x = input->width; unsigned int rightmost_x = 0; unsigned int topmost_y = input->height; unsigned int bottommost_y = 0; const uint8_t *input_data = input->data[0]; uint8_t *output_data = output->data[0]; ptrdiff_t input_linesize = input->linesize[0]; ptrdiff_t output_linesize = output->linesize[0]; for (y = 0; y < input->height; ++y) { for (x = 0; x < input->width; ++x) { if (!memcmp(input_data + bpp * x, output_data + bpp * x, bpp)) continue; if (x < leftmost_x) leftmost_x = x; if (x >= rightmost_x) rightmost_x = x + 1; if (y < topmost_y) topmost_y = y; if (y >= bottommost_y) bottommost_y = y + 1; } input_data += input_linesize; output_data += output_linesize; } if (leftmost_x == input->width && rightmost_x == 0) { leftmost_x = topmost_y = 0; rightmost_x = bottommost_y = 1; } if (fctl_chunk->blend_op == APNG_BLEND_OP_SOURCE) { output_data = output->data[0]; for (y = topmost_y; y < bottommost_y; ++y) { memcpy(output_data, input->data[0] + input_linesize * y + bpp * leftmost_x, bpp * (rightmost_x - leftmost_x)); output_data += output_linesize; } } else { size_t transparent_palette_index; uint32_t *palette; switch (input->format) { case AV_PIX_FMT_RGBA64BE: case AV_PIX_FMT_YA16BE: case AV_PIX_FMT_RGBA: case AV_PIX_FMT_GRAY8A: break; case AV_PIX_FMT_PAL8: palette = (uint32_t*)input->data[1]; for (transparent_palette_index = 0; transparent_palette_index < 256; ++transparent_palette_index) if (palette[transparent_palette_index] >> 24 == 0) break; break; default: return -1; } for (y = topmost_y; y < bottommost_y; ++y) { uint8_t *foreground = input->data[0] + input_linesize * y + bpp * leftmost_x; uint8_t *background = output->data[0] + output_linesize * y + bpp * leftmost_x; output_data = output->data[0] + output_linesize * (y - topmost_y); for (x = leftmost_x; x < rightmost_x; ++x, foreground += bpp, background += bpp, output_data += bpp) { if (!memcmp(foreground, background, bpp)) { if (input->format == AV_PIX_FMT_PAL8) { if (transparent_palette_index == 256) { return -1; } *output_data = transparent_palette_index; } else { memset(output_data, 0, bpp); } continue; } switch (input->format) { case AV_PIX_FMT_RGBA64BE: if (((uint16_t*)foreground)[3] == 0xffff || ((uint16_t*)background)[3] == 0) break; return -1; case AV_PIX_FMT_YA16BE: if (((uint16_t*)foreground)[1] == 0xffff || ((uint16_t*)background)[1] == 0) break; return -1; case AV_PIX_FMT_RGBA: if (foreground[3] == 0xff || background[3] == 0) break; return -1; case AV_PIX_FMT_GRAY8A: if (foreground[1] == 0xff || background[1] == 0) break; return -1; case AV_PIX_FMT_PAL8: if (palette[*foreground] >> 24 == 0xff || palette[*background] >> 24 == 0) break; return -1; } memmove(output_data, foreground, bpp); } } } output->width = rightmost_x - leftmost_x; output->height = bottommost_y - topmost_y; fctl_chunk->width = output->width; fctl_chunk->height = output->height; fctl_chunk->x_offset = leftmost_x; fctl_chunk->y_offset = topmost_y; return 0; } static int apng_encode_frame(AVCodecContext *avctx, const AVFrame *pict, APNGFctlChunk *best_fctl_chunk, APNGFctlChunk *best_last_fctl_chunk) { PNGEncContext *s = avctx->priv_data; int ret; unsigned int y; AVFrame* diffFrame; uint8_t bpp = (s->bits_per_pixel + 7) >> 3; uint8_t *original_bytestream, *original_bytestream_end; uint8_t *temp_bytestream = 0, *temp_bytestream_end; uint32_t best_sequence_number; uint8_t *best_bytestream; size_t best_bytestream_size = # 724 "src/libavcodec/pngenc.c" 3 4 (4294967295U) # 724 "src/libavcodec/pngenc.c" ; APNGFctlChunk last_fctl_chunk = *best_last_fctl_chunk; APNGFctlChunk fctl_chunk = *best_fctl_chunk; if (avctx->frame_number == 0) { best_fctl_chunk->width = pict->width; best_fctl_chunk->height = pict->height; best_fctl_chunk->x_offset = 0; best_fctl_chunk->y_offset = 0; best_fctl_chunk->blend_op = APNG_BLEND_OP_SOURCE; return encode_frame(avctx, pict); } diffFrame = av_frame_alloc(); if (!diffFrame) return (-( # 739 "src/libavcodec/pngenc.c" 3 4 12 # 739 "src/libavcodec/pngenc.c" )); diffFrame->format = pict->format; diffFrame->width = pict->width; diffFrame->height = pict->height; if ((ret = av_frame_get_buffer(diffFrame, 32)) < 0) goto fail; original_bytestream = s->bytestream; original_bytestream_end = s->bytestream_end; temp_bytestream = av_malloc(original_bytestream_end - original_bytestream); temp_bytestream_end = temp_bytestream + (original_bytestream_end - original_bytestream); if (!temp_bytestream) { ret = (-( # 753 "src/libavcodec/pngenc.c" 3 4 12 # 753 "src/libavcodec/pngenc.c" )); goto fail; } for (last_fctl_chunk.dispose_op = 0; last_fctl_chunk.dispose_op < 3; ++last_fctl_chunk.dispose_op) { for (fctl_chunk.blend_op = 0; fctl_chunk.blend_op < 2; ++fctl_chunk.blend_op) { uint32_t original_sequence_number = s->sequence_number, sequence_number; uint8_t *bytestream_start = s->bytestream; size_t bytestream_size; if (last_fctl_chunk.dispose_op != APNG_DISPOSE_OP_PREVIOUS) { diffFrame->width = pict->width; diffFrame->height = pict->height; ret = av_frame_copy(diffFrame, s->last_frame); if (ret < 0) goto fail; if (last_fctl_chunk.dispose_op == APNG_DISPOSE_OP_BACKGROUND) { for (y = last_fctl_chunk.y_offset; y < last_fctl_chunk.y_offset + last_fctl_chunk.height; ++y) { size_t row_start = diffFrame->linesize[0] * y + bpp * last_fctl_chunk.x_offset; memset(diffFrame->data[0] + row_start, 0, bpp * last_fctl_chunk.width); } } } else { if (!s->prev_frame) continue; diffFrame->width = pict->width; diffFrame->height = pict->height; ret = av_frame_copy(diffFrame, s->prev_frame); if (ret < 0) goto fail; } if (apng_do_inverse_blend(diffFrame, pict, &fctl_chunk, bpp) < 0) continue; ret = encode_frame(avctx, diffFrame); sequence_number = s->sequence_number; s->sequence_number = original_sequence_number; bytestream_size = s->bytestream - bytestream_start; s->bytestream = bytestream_start; if (ret < 0) goto fail; if (bytestream_size < best_bytestream_size) { *best_fctl_chunk = fctl_chunk; *best_last_fctl_chunk = last_fctl_chunk; best_sequence_number = sequence_number; best_bytestream = s->bytestream; best_bytestream_size = bytestream_size; if (best_bytestream == original_bytestream) { s->bytestream = temp_bytestream; s->bytestream_end = temp_bytestream_end; } else { s->bytestream = original_bytestream; s->bytestream_end = original_bytestream_end; } } } } s->sequence_number = best_sequence_number; s->bytestream = original_bytestream + best_bytestream_size; s->bytestream_end = original_bytestream_end; if (best_bytestream != original_bytestream) memcpy(original_bytestream, best_bytestream, best_bytestream_size); ret = 0; fail: av_freep(&temp_bytestream); av_frame_free(&diffFrame); return ret; } static int encode_apng(AVCodecContext *avctx, AVPacket *pkt, const AVFrame *pict, int *got_packet) { PNGEncContext *s = avctx->priv_data; int ret; int enc_row_size; size_t max_packet_size; APNGFctlChunk fctl_chunk = {0}; if (pict && avctx->codec_id == AV_CODEC_ID_APNG && s->color_type == (2 | 1)) { uint32_t checksum = ~av_crc(av_crc_get_table(AV_CRC_32_IEEE_LE), ~0U, pict->data[1], 256 * sizeof(uint32_t)); if (avctx->frame_number == 0) { s->palette_checksum = checksum; } else if (checksum != s->palette_checksum) { av_log(avctx, 16, "Input contains more than one unique palette. APNG does not support multiple palettes.\n"); return -1; } } enc_row_size = deflateBound(&s->zstream, (avctx->width * s->bits_per_pixel + 7) >> 3); max_packet_size = 16384 + avctx->height * ( enc_row_size + (4 + 12) * (((int64_t)enc_row_size + 4096 - 1) / 4096) ); if (max_packet_size > 0x7fffffff) return (-( # 870 "src/libavcodec/pngenc.c" 3 4 12 # 870 "src/libavcodec/pngenc.c" )); if (avctx->frame_number == 0) { if (!pict) return (-( # 874 "src/libavcodec/pngenc.c" 3 4 22 # 874 "src/libavcodec/pngenc.c" )); s->bytestream = s->extra_data = av_malloc(16384); if (!s->extra_data) return (-( # 878 "src/libavcodec/pngenc.c" 3 4 12 # 878 "src/libavcodec/pngenc.c" )); ret = encode_headers(avctx, pict); if (ret < 0) return ret; s->extra_data_size = s->bytestream - s->extra_data; s->last_frame_packet = av_malloc(max_packet_size); if (!s->last_frame_packet) return (-( # 888 "src/libavcodec/pngenc.c" 3 4 12 # 888 "src/libavcodec/pngenc.c" )); } else if (s->last_frame) { ret = ff_alloc_packet2(avctx, pkt, max_packet_size, 0); if (ret < 0) return ret; memcpy(pkt->data, s->last_frame_packet, s->last_frame_packet_size); pkt->size = s->last_frame_packet_size; pkt->pts = pkt->dts = s->last_frame->pts; } if (pict) { s->bytestream_start = s->bytestream = s->last_frame_packet; s->bytestream_end = s->bytestream + max_packet_size; fctl_chunk.sequence_number = s->sequence_number; ++s->sequence_number; s->bytestream += 26 + 12; ret = apng_encode_frame(avctx, pict, &fctl_chunk, &s->last_frame_fctl); if (ret < 0) return ret; fctl_chunk.delay_num = 0; fctl_chunk.delay_den = 0; } else { s->last_frame_fctl.dispose_op = APNG_DISPOSE_OP_NONE; } if (s->last_frame) { uint8_t* last_fctl_chunk_start = pkt->data; uint8_t buf[26]; if (!s->extra_data_updated) { uint8_t *side_data = av_packet_new_side_data(pkt, AV_PKT_DATA_NEW_EXTRADATA, s->extra_data_size); if (!side_data) return (-( # 926 "src/libavcodec/pngenc.c" 3 4 12 # 926 "src/libavcodec/pngenc.c" )); memcpy(side_data, s->extra_data, s->extra_data_size); s->extra_data_updated = 1; } ((((union unaligned_32 *) (buf + 0))->l) = (av_bswap32(s->last_frame_fctl.sequence_number))); ((((union unaligned_32 *) (buf + 4))->l) = (av_bswap32(s->last_frame_fctl.width))); ((((union unaligned_32 *) (buf + 8))->l) = (av_bswap32(s->last_frame_fctl.height))); ((((union unaligned_32 *) (buf + 12))->l) = (av_bswap32(s->last_frame_fctl.x_offset))); ((((union unaligned_32 *) (buf + 16))->l) = (av_bswap32(s->last_frame_fctl.y_offset))); ((((union unaligned_16 *) (buf + 20))->l) = (av_bswap16(s->last_frame_fctl.delay_num))); ((((union unaligned_16 *) (buf + 22))->l) = (av_bswap16(s->last_frame_fctl.delay_den))); buf[24] = s->last_frame_fctl.dispose_op; buf[25] = s->last_frame_fctl.blend_op; png_write_chunk(&last_fctl_chunk_start, (('f') | (('c') << 8) | (('T') << 16) | ((unsigned)('L') << 24)), buf, 26); *got_packet = 1; } if (pict) { if (!s->last_frame) { s->last_frame = av_frame_alloc(); if (!s->last_frame) return (-( # 949 "src/libavcodec/pngenc.c" 3 4 12 # 949 "src/libavcodec/pngenc.c" )); } else if (s->last_frame_fctl.dispose_op != APNG_DISPOSE_OP_PREVIOUS) { if (!s->prev_frame) { s->prev_frame = av_frame_alloc(); if (!s->prev_frame) return (-( # 954 "src/libavcodec/pngenc.c" 3 4 12 # 954 "src/libavcodec/pngenc.c" )); s->prev_frame->format = pict->format; s->prev_frame->width = pict->width; s->prev_frame->height = pict->height; if ((ret = av_frame_get_buffer(s->prev_frame, 32)) < 0) return ret; } av_frame_copy(s->prev_frame, s->last_frame); if (s->last_frame_fctl.dispose_op == APNG_DISPOSE_OP_BACKGROUND) { uint32_t y; uint8_t bpp = (s->bits_per_pixel + 7) >> 3; for (y = s->last_frame_fctl.y_offset; y < s->last_frame_fctl.y_offset + s->last_frame_fctl.height; ++y) { size_t row_start = s->prev_frame->linesize[0] * y + bpp * s->last_frame_fctl.x_offset; memset(s->prev_frame->data[0] + row_start, 0, bpp * s->last_frame_fctl.width); } } } av_frame_unref(s->last_frame); ret = av_frame_ref(s->last_frame, (AVFrame*)pict); if (ret < 0) return ret; s->last_frame_fctl = fctl_chunk; s->last_frame_packet_size = s->bytestream - s->bytestream_start; } else { av_frame_free(&s->last_frame); } return 0; } static __attribute__((cold)) int png_enc_init(AVCodecContext *avctx) { PNGEncContext *s = avctx->priv_data; int compression_level; switch (avctx->pix_fmt) { case AV_PIX_FMT_RGBA: avctx->bits_per_coded_sample = 32; break; case AV_PIX_FMT_RGB24: avctx->bits_per_coded_sample = 24; break; case AV_PIX_FMT_GRAY8: avctx->bits_per_coded_sample = 0x28; break; case AV_PIX_FMT_MONOBLACK: avctx->bits_per_coded_sample = 1; break; case AV_PIX_FMT_PAL8: avctx->bits_per_coded_sample = 8; } # 1012 "src/libavcodec/pngenc.c" #pragma GCC diagnostic push # 1012 "src/libavcodec/pngenc.c" # 1012 "src/libavcodec/pngenc.c" #pragma GCC diagnostic ignored "-Wdeprecated-declarations" # 1012 "src/libavcodec/pngenc.c" avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I; avctx->coded_frame->key_frame = 1; # 1015 "src/libavcodec/pngenc.c" #pragma GCC diagnostic pop # 1015 "src/libavcodec/pngenc.c" ff_llvidencdsp_init(&s->llvidencdsp); # 1021 "src/libavcodec/pngenc.c" #pragma GCC diagnostic push # 1021 "src/libavcodec/pngenc.c" # 1021 "src/libavcodec/pngenc.c" #pragma GCC diagnostic ignored "-Wdeprecated-declarations" # 1021 "src/libavcodec/pngenc.c" if (avctx->prediction_method) s->filter_type = av_clip_c(avctx->prediction_method, 0, 5); # 1026 "src/libavcodec/pngenc.c" #pragma GCC diagnostic pop # 1026 "src/libavcodec/pngenc.c" if (avctx->pix_fmt == AV_PIX_FMT_MONOBLACK) s->filter_type = 0; if (s->dpi && s->dpm) { av_log(avctx, 16, "Only one of 'dpi' or 'dpm' options should be set\n"); return (-( # 1034 "src/libavcodec/pngenc.c" 3 4 22 # 1034 "src/libavcodec/pngenc.c" )); } else if (s->dpi) { s->dpm = s->dpi * 10000 / 254; } s->is_progressive = !!(avctx->flags & (1 << 18)); switch (avctx->pix_fmt) { case AV_PIX_FMT_RGBA64BE: s->bit_depth = 16; s->color_type = (2 | 4); break; case AV_PIX_FMT_RGB48BE: s->bit_depth = 16; s->color_type = (2); break; case AV_PIX_FMT_RGBA: s->bit_depth = 8; s->color_type = (2 | 4); break; case AV_PIX_FMT_RGB24: s->bit_depth = 8; s->color_type = (2); break; case AV_PIX_FMT_GRAY16BE: s->bit_depth = 16; s->color_type = 0; break; case AV_PIX_FMT_GRAY8: s->bit_depth = 8; s->color_type = 0; break; case AV_PIX_FMT_GRAY8A: s->bit_depth = 8; s->color_type = (4); break; case AV_PIX_FMT_YA16BE: s->bit_depth = 16; s->color_type = (4); break; case AV_PIX_FMT_MONOBLACK: s->bit_depth = 1; s->color_type = 0; break; case AV_PIX_FMT_PAL8: s->bit_depth = 8; s->color_type = (2 | 1); break; default: return -1; } s->bits_per_pixel = ff_png_get_nb_channels(s->color_type) * s->bit_depth; s->zstream.zalloc = ff_png_zalloc; s->zstream.zfree = ff_png_zfree; s->zstream.opaque = # 1088 "src/libavcodec/pngenc.c" 3 4 ((void *)0) # 1088 "src/libavcodec/pngenc.c" ; compression_level = avctx->compression_level == -1 ? # 1090 "src/libavcodec/pngenc.c" 3 4 (-1) # 1091 "src/libavcodec/pngenc.c" : av_clip_c(avctx->compression_level, 0, 9); if ( # 1092 "src/libavcodec/pngenc.c" 3 4 deflateInit2_(( # 1092 "src/libavcodec/pngenc.c" &s->zstream # 1092 "src/libavcodec/pngenc.c" 3 4 ),( # 1092 "src/libavcodec/pngenc.c" compression_level # 1092 "src/libavcodec/pngenc.c" 3 4 ),(8),( # 1092 "src/libavcodec/pngenc.c" 15 # 1092 "src/libavcodec/pngenc.c" 3 4 ),( # 1092 "src/libavcodec/pngenc.c" 8 # 1092 "src/libavcodec/pngenc.c" 3 4 ), (0), "1.2.11", (int)sizeof(z_stream)) # 1092 "src/libavcodec/pngenc.c" != # 1092 "src/libavcodec/pngenc.c" 3 4 0 # 1092 "src/libavcodec/pngenc.c" ) return -1; return 0; } static __attribute__((cold)) int png_enc_close(AVCodecContext *avctx) { PNGEncContext *s = avctx->priv_data; deflateEnd(&s->zstream); av_frame_free(&s->last_frame); av_frame_free(&s->prev_frame); av_freep(&s->last_frame_packet); av_freep(&s->extra_data); s->extra_data_size = 0; return 0; } static const AVOption options[] = { {"dpi", "Set image resolution (in dots per inch)", # 1114 "src/libavcodec/pngenc.c" 3 4 __builtin_offsetof ( # 1114 "src/libavcodec/pngenc.c" PNGEncContext # 1114 "src/libavcodec/pngenc.c" 3 4 , # 1114 "src/libavcodec/pngenc.c" dpi # 1114 "src/libavcodec/pngenc.c" 3 4 ) # 1114 "src/libavcodec/pngenc.c" , AV_OPT_TYPE_INT, {.i64 = 0}, 0, 0x10000, 16 | 1}, {"dpm", "Set image resolution (in dots per meter)", # 1115 "src/libavcodec/pngenc.c" 3 4 __builtin_offsetof ( # 1115 "src/libavcodec/pngenc.c" PNGEncContext # 1115 "src/libavcodec/pngenc.c" 3 4 , # 1115 "src/libavcodec/pngenc.c" dpm # 1115 "src/libavcodec/pngenc.c" 3 4 ) # 1115 "src/libavcodec/pngenc.c" , AV_OPT_TYPE_INT, {.i64 = 0}, 0, 0x10000, 16 | 1}, { "pred", "Prediction method", # 1116 "src/libavcodec/pngenc.c" 3 4 __builtin_offsetof ( # 1116 "src/libavcodec/pngenc.c" PNGEncContext # 1116 "src/libavcodec/pngenc.c" 3 4 , # 1116 "src/libavcodec/pngenc.c" filter_type # 1116 "src/libavcodec/pngenc.c" 3 4 ) # 1116 "src/libavcodec/pngenc.c" , AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 5, 16 | 1, "pred" }, { "none", # 1117 "src/libavcodec/pngenc.c" 3 4 ((void *)0) # 1117 "src/libavcodec/pngenc.c" , 0, AV_OPT_TYPE_CONST, { .i64 = 0 }, # 1117 "src/libavcodec/pngenc.c" 3 4 (-0x7fffffff - 1) # 1117 "src/libavcodec/pngenc.c" , 0x7fffffff, 16 | 1, "pred" }, { "sub", # 1118 "src/libavcodec/pngenc.c" 3 4 ((void *)0) # 1118 "src/libavcodec/pngenc.c" , 0, AV_OPT_TYPE_CONST, { .i64 = 1 }, # 1118 "src/libavcodec/pngenc.c" 3 4 (-0x7fffffff - 1) # 1118 "src/libavcodec/pngenc.c" , 0x7fffffff, 16 | 1, "pred" }, { "up", # 1119 "src/libavcodec/pngenc.c" 3 4 ((void *)0) # 1119 "src/libavcodec/pngenc.c" , 0, AV_OPT_TYPE_CONST, { .i64 = 2 }, # 1119 "src/libavcodec/pngenc.c" 3 4 (-0x7fffffff - 1) # 1119 "src/libavcodec/pngenc.c" , 0x7fffffff, 16 | 1, "pred" }, { "avg", # 1120 "src/libavcodec/pngenc.c" 3 4 ((void *)0) # 1120 "src/libavcodec/pngenc.c" , 0, AV_OPT_TYPE_CONST, { .i64 = 3 }, # 1120 "src/libavcodec/pngenc.c" 3 4 (-0x7fffffff - 1) # 1120 "src/libavcodec/pngenc.c" , 0x7fffffff, 16 | 1, "pred" }, { "paeth", # 1121 "src/libavcodec/pngenc.c" 3 4 ((void *)0) # 1121 "src/libavcodec/pngenc.c" , 0, AV_OPT_TYPE_CONST, { .i64 = 4 }, # 1121 "src/libavcodec/pngenc.c" 3 4 (-0x7fffffff - 1) # 1121 "src/libavcodec/pngenc.c" , 0x7fffffff, 16 | 1, "pred" }, { "mixed", # 1122 "src/libavcodec/pngenc.c" 3 4 ((void *)0) # 1122 "src/libavcodec/pngenc.c" , 0, AV_OPT_TYPE_CONST, { .i64 = 5 }, # 1122 "src/libavcodec/pngenc.c" 3 4 (-0x7fffffff - 1) # 1122 "src/libavcodec/pngenc.c" , 0x7fffffff, 16 | 1, "pred" }, { # 1123 "src/libavcodec/pngenc.c" 3 4 ((void *)0) # 1123 "src/libavcodec/pngenc.c" }, }; static const AVClass pngenc_class = { .class_name = "PNG encoder", .item_name = av_default_item_name, .option = options, .version = ((56)<<16 | (22)<<8 | (100)), }; static const AVClass apngenc_class = { .class_name = "APNG encoder", .item_name = av_default_item_name, .option = options, .version = ((56)<<16 | (22)<<8 | (100)), }; AVCodec ff_png_encoder = { .name = "png", .long_name = "PNG (Portable Network Graphics) image", .type = AVMEDIA_TYPE_VIDEO, .id = AV_CODEC_ID_PNG, .priv_data_size = sizeof(PNGEncContext), .init = png_enc_init, .close = png_enc_close, .encode2 = encode_png, .capabilities = (1 << 12) | 0x40000000, .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_RGB24, AV_PIX_FMT_RGBA, AV_PIX_FMT_RGB48BE, AV_PIX_FMT_RGBA64BE, AV_PIX_FMT_PAL8, AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY8A, AV_PIX_FMT_GRAY16BE, AV_PIX_FMT_YA16BE, AV_PIX_FMT_MONOBLACK, AV_PIX_FMT_NONE }, .priv_class = &pngenc_class, }; AVCodec ff_apng_encoder = { .name = "apng", .long_name = "APNG (Animated Portable Network Graphics) image", .type = AVMEDIA_TYPE_VIDEO, .id = AV_CODEC_ID_APNG, .priv_data_size = sizeof(PNGEncContext), .init = png_enc_init, .close = png_enc_close, .encode2 = encode_apng, .capabilities = (1 << 5), .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_RGB24, AV_PIX_FMT_RGBA, AV_PIX_FMT_RGB48BE, AV_PIX_FMT_RGBA64BE, AV_PIX_FMT_PAL8, AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY8A, AV_PIX_FMT_GRAY16BE, AV_PIX_FMT_YA16BE, AV_PIX_FMT_MONOBLACK, AV_PIX_FMT_NONE }, .priv_class = &apngenc_class, };