caldera_bindings/avutil/
mod.rs

1/* automatically generated by rust-bindgen */
2
3#[link(name = "avutil")] extern {}
4
5pub const FF_LAMBDA_SHIFT: u32 = 7;
6pub const FF_LAMBDA_SCALE: u32 = 128;
7pub const FF_QP2LAMBDA: u32 = 118;
8pub const FF_LAMBDA_MAX: u32 = 32767;
9pub const FF_QUALITY_SCALE: u32 = 128;
10pub const AV_TIME_BASE: u32 = 1000000;
11pub const _ERRNO_H: u32 = 1;
12pub const _FEATURES_H: u32 = 1;
13pub const _DEFAULT_SOURCE: u32 = 1;
14pub const __USE_ISOC11: u32 = 1;
15pub const __USE_ISOC99: u32 = 1;
16pub const __USE_ISOC95: u32 = 1;
17pub const __USE_POSIX_IMPLICITLY: u32 = 1;
18pub const _POSIX_SOURCE: u32 = 1;
19pub const _POSIX_C_SOURCE: u32 = 200809;
20pub const __USE_POSIX: u32 = 1;
21pub const __USE_POSIX2: u32 = 1;
22pub const __USE_POSIX199309: u32 = 1;
23pub const __USE_POSIX199506: u32 = 1;
24pub const __USE_XOPEN2K: u32 = 1;
25pub const __USE_XOPEN2K8: u32 = 1;
26pub const _ATFILE_SOURCE: u32 = 1;
27pub const __USE_MISC: u32 = 1;
28pub const __USE_ATFILE: u32 = 1;
29pub const __USE_FORTIFY_LEVEL: u32 = 0;
30pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
31pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0;
32pub const _STDC_PREDEF_H: u32 = 1;
33pub const __STDC_IEC_559__: u32 = 1;
34pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
35pub const __STDC_ISO_10646__: u32 = 201706;
36pub const __GNU_LIBRARY__: u32 = 6;
37pub const __GLIBC__: u32 = 2;
38pub const __GLIBC_MINOR__: u32 = 29;
39pub const _SYS_CDEFS_H: u32 = 1;
40pub const __glibc_c99_flexarr_available: u32 = 1;
41pub const __WORDSIZE: u32 = 64;
42pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
43pub const __SYSCALL_WORDSIZE: u32 = 64;
44pub const __HAVE_GENERIC_SELECTION: u32 = 1;
45pub const _BITS_ERRNO_H: u32 = 1;
46pub const EPERM: u32 = 1;
47pub const ENOENT: u32 = 2;
48pub const ESRCH: u32 = 3;
49pub const EINTR: u32 = 4;
50pub const EIO: u32 = 5;
51pub const ENXIO: u32 = 6;
52pub const E2BIG: u32 = 7;
53pub const ENOEXEC: u32 = 8;
54pub const EBADF: u32 = 9;
55pub const ECHILD: u32 = 10;
56pub const EAGAIN: u32 = 11;
57pub const ENOMEM: u32 = 12;
58pub const EACCES: u32 = 13;
59pub const EFAULT: u32 = 14;
60pub const ENOTBLK: u32 = 15;
61pub const EBUSY: u32 = 16;
62pub const EEXIST: u32 = 17;
63pub const EXDEV: u32 = 18;
64pub const ENODEV: u32 = 19;
65pub const ENOTDIR: u32 = 20;
66pub const EISDIR: u32 = 21;
67pub const EINVAL: u32 = 22;
68pub const ENFILE: u32 = 23;
69pub const EMFILE: u32 = 24;
70pub const ENOTTY: u32 = 25;
71pub const ETXTBSY: u32 = 26;
72pub const EFBIG: u32 = 27;
73pub const ENOSPC: u32 = 28;
74pub const ESPIPE: u32 = 29;
75pub const EROFS: u32 = 30;
76pub const EMLINK: u32 = 31;
77pub const EPIPE: u32 = 32;
78pub const EDOM: u32 = 33;
79pub const ERANGE: u32 = 34;
80pub const EDEADLK: u32 = 35;
81pub const ENAMETOOLONG: u32 = 36;
82pub const ENOLCK: u32 = 37;
83pub const ENOSYS: u32 = 38;
84pub const ENOTEMPTY: u32 = 39;
85pub const ELOOP: u32 = 40;
86pub const EWOULDBLOCK: u32 = 11;
87pub const ENOMSG: u32 = 42;
88pub const EIDRM: u32 = 43;
89pub const ECHRNG: u32 = 44;
90pub const EL2NSYNC: u32 = 45;
91pub const EL3HLT: u32 = 46;
92pub const EL3RST: u32 = 47;
93pub const ELNRNG: u32 = 48;
94pub const EUNATCH: u32 = 49;
95pub const ENOCSI: u32 = 50;
96pub const EL2HLT: u32 = 51;
97pub const EBADE: u32 = 52;
98pub const EBADR: u32 = 53;
99pub const EXFULL: u32 = 54;
100pub const ENOANO: u32 = 55;
101pub const EBADRQC: u32 = 56;
102pub const EBADSLT: u32 = 57;
103pub const EDEADLOCK: u32 = 35;
104pub const EBFONT: u32 = 59;
105pub const ENOSTR: u32 = 60;
106pub const ENODATA: u32 = 61;
107pub const ETIME: u32 = 62;
108pub const ENOSR: u32 = 63;
109pub const ENONET: u32 = 64;
110pub const ENOPKG: u32 = 65;
111pub const EREMOTE: u32 = 66;
112pub const ENOLINK: u32 = 67;
113pub const EADV: u32 = 68;
114pub const ESRMNT: u32 = 69;
115pub const ECOMM: u32 = 70;
116pub const EPROTO: u32 = 71;
117pub const EMULTIHOP: u32 = 72;
118pub const EDOTDOT: u32 = 73;
119pub const EBADMSG: u32 = 74;
120pub const EOVERFLOW: u32 = 75;
121pub const ENOTUNIQ: u32 = 76;
122pub const EBADFD: u32 = 77;
123pub const EREMCHG: u32 = 78;
124pub const ELIBACC: u32 = 79;
125pub const ELIBBAD: u32 = 80;
126pub const ELIBSCN: u32 = 81;
127pub const ELIBMAX: u32 = 82;
128pub const ELIBEXEC: u32 = 83;
129pub const EILSEQ: u32 = 84;
130pub const ERESTART: u32 = 85;
131pub const ESTRPIPE: u32 = 86;
132pub const EUSERS: u32 = 87;
133pub const ENOTSOCK: u32 = 88;
134pub const EDESTADDRREQ: u32 = 89;
135pub const EMSGSIZE: u32 = 90;
136pub const EPROTOTYPE: u32 = 91;
137pub const ENOPROTOOPT: u32 = 92;
138pub const EPROTONOSUPPORT: u32 = 93;
139pub const ESOCKTNOSUPPORT: u32 = 94;
140pub const EOPNOTSUPP: u32 = 95;
141pub const EPFNOSUPPORT: u32 = 96;
142pub const EAFNOSUPPORT: u32 = 97;
143pub const EADDRINUSE: u32 = 98;
144pub const EADDRNOTAVAIL: u32 = 99;
145pub const ENETDOWN: u32 = 100;
146pub const ENETUNREACH: u32 = 101;
147pub const ENETRESET: u32 = 102;
148pub const ECONNABORTED: u32 = 103;
149pub const ECONNRESET: u32 = 104;
150pub const ENOBUFS: u32 = 105;
151pub const EISCONN: u32 = 106;
152pub const ENOTCONN: u32 = 107;
153pub const ESHUTDOWN: u32 = 108;
154pub const ETOOMANYREFS: u32 = 109;
155pub const ETIMEDOUT: u32 = 110;
156pub const ECONNREFUSED: u32 = 111;
157pub const EHOSTDOWN: u32 = 112;
158pub const EHOSTUNREACH: u32 = 113;
159pub const EALREADY: u32 = 114;
160pub const EINPROGRESS: u32 = 115;
161pub const ESTALE: u32 = 116;
162pub const EUCLEAN: u32 = 117;
163pub const ENOTNAM: u32 = 118;
164pub const ENAVAIL: u32 = 119;
165pub const EISNAM: u32 = 120;
166pub const EREMOTEIO: u32 = 121;
167pub const EDQUOT: u32 = 122;
168pub const ENOMEDIUM: u32 = 123;
169pub const EMEDIUMTYPE: u32 = 124;
170pub const ECANCELED: u32 = 125;
171pub const ENOKEY: u32 = 126;
172pub const EKEYEXPIRED: u32 = 127;
173pub const EKEYREVOKED: u32 = 128;
174pub const EKEYREJECTED: u32 = 129;
175pub const EOWNERDEAD: u32 = 130;
176pub const ENOTRECOVERABLE: u32 = 131;
177pub const ERFKILL: u32 = 132;
178pub const EHWPOISON: u32 = 133;
179pub const ENOTSUP: u32 = 95;
180pub const _INTTYPES_H: u32 = 1;
181pub const _STDINT_H: u32 = 1;
182pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
183pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
184pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
185pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
186pub const _BITS_TYPES_H: u32 = 1;
187pub const __TIMESIZE: u32 = 64;
188pub const _BITS_TYPESIZES_H: u32 = 1;
189pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
190pub const __INO_T_MATCHES_INO64_T: u32 = 1;
191pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
192pub const __FD_SETSIZE: u32 = 1024;
193pub const _BITS_TIME64_H: u32 = 1;
194pub const _BITS_WCHAR_H: u32 = 1;
195pub const _BITS_STDINT_INTN_H: u32 = 1;
196pub const _BITS_STDINT_UINTN_H: u32 = 1;
197pub const INT8_MIN: i32 = -128;
198pub const INT16_MIN: i32 = -32768;
199pub const INT32_MIN: i32 = -2147483648;
200pub const INT8_MAX: u32 = 127;
201pub const INT16_MAX: u32 = 32767;
202pub const INT32_MAX: u32 = 2147483647;
203pub const UINT8_MAX: u32 = 255;
204pub const UINT16_MAX: u32 = 65535;
205pub const UINT32_MAX: u32 = 4294967295;
206pub const INT_LEAST8_MIN: i32 = -128;
207pub const INT_LEAST16_MIN: i32 = -32768;
208pub const INT_LEAST32_MIN: i32 = -2147483648;
209pub const INT_LEAST8_MAX: u32 = 127;
210pub const INT_LEAST16_MAX: u32 = 32767;
211pub const INT_LEAST32_MAX: u32 = 2147483647;
212pub const UINT_LEAST8_MAX: u32 = 255;
213pub const UINT_LEAST16_MAX: u32 = 65535;
214pub const UINT_LEAST32_MAX: u32 = 4294967295;
215pub const INT_FAST8_MIN: i32 = -128;
216pub const INT_FAST16_MIN: i64 = -9223372036854775808;
217pub const INT_FAST32_MIN: i64 = -9223372036854775808;
218pub const INT_FAST8_MAX: u32 = 127;
219pub const INT_FAST16_MAX: u64 = 9223372036854775807;
220pub const INT_FAST32_MAX: u64 = 9223372036854775807;
221pub const UINT_FAST8_MAX: u32 = 255;
222pub const UINT_FAST16_MAX: i32 = -1;
223pub const UINT_FAST32_MAX: i32 = -1;
224pub const INTPTR_MIN: i64 = -9223372036854775808;
225pub const INTPTR_MAX: u64 = 9223372036854775807;
226pub const UINTPTR_MAX: i32 = -1;
227pub const PTRDIFF_MIN: i64 = -9223372036854775808;
228pub const PTRDIFF_MAX: u64 = 9223372036854775807;
229pub const SIG_ATOMIC_MIN: i32 = -2147483648;
230pub const SIG_ATOMIC_MAX: u32 = 2147483647;
231pub const SIZE_MAX: i32 = -1;
232pub const WINT_MIN: u32 = 0;
233pub const WINT_MAX: u32 = 4294967295;
234pub const ____gwchar_t_defined: u32 = 1;
235pub const __PRI64_PREFIX: &'static [u8; 2usize] = b"l\0";
236pub const __PRIPTR_PREFIX: &'static [u8; 2usize] = b"l\0";
237pub const PRId8: &'static [u8; 2usize] = b"d\0";
238pub const PRId16: &'static [u8; 2usize] = b"d\0";
239pub const PRId32: &'static [u8; 2usize] = b"d\0";
240pub const PRId64: &'static [u8; 3usize] = b"ld\0";
241pub const PRIdLEAST8: &'static [u8; 2usize] = b"d\0";
242pub const PRIdLEAST16: &'static [u8; 2usize] = b"d\0";
243pub const PRIdLEAST32: &'static [u8; 2usize] = b"d\0";
244pub const PRIdLEAST64: &'static [u8; 3usize] = b"ld\0";
245pub const PRIdFAST8: &'static [u8; 2usize] = b"d\0";
246pub const PRIdFAST16: &'static [u8; 3usize] = b"ld\0";
247pub const PRIdFAST32: &'static [u8; 3usize] = b"ld\0";
248pub const PRIdFAST64: &'static [u8; 3usize] = b"ld\0";
249pub const PRIi8: &'static [u8; 2usize] = b"i\0";
250pub const PRIi16: &'static [u8; 2usize] = b"i\0";
251pub const PRIi32: &'static [u8; 2usize] = b"i\0";
252pub const PRIi64: &'static [u8; 3usize] = b"li\0";
253pub const PRIiLEAST8: &'static [u8; 2usize] = b"i\0";
254pub const PRIiLEAST16: &'static [u8; 2usize] = b"i\0";
255pub const PRIiLEAST32: &'static [u8; 2usize] = b"i\0";
256pub const PRIiLEAST64: &'static [u8; 3usize] = b"li\0";
257pub const PRIiFAST8: &'static [u8; 2usize] = b"i\0";
258pub const PRIiFAST16: &'static [u8; 3usize] = b"li\0";
259pub const PRIiFAST32: &'static [u8; 3usize] = b"li\0";
260pub const PRIiFAST64: &'static [u8; 3usize] = b"li\0";
261pub const PRIo8: &'static [u8; 2usize] = b"o\0";
262pub const PRIo16: &'static [u8; 2usize] = b"o\0";
263pub const PRIo32: &'static [u8; 2usize] = b"o\0";
264pub const PRIo64: &'static [u8; 3usize] = b"lo\0";
265pub const PRIoLEAST8: &'static [u8; 2usize] = b"o\0";
266pub const PRIoLEAST16: &'static [u8; 2usize] = b"o\0";
267pub const PRIoLEAST32: &'static [u8; 2usize] = b"o\0";
268pub const PRIoLEAST64: &'static [u8; 3usize] = b"lo\0";
269pub const PRIoFAST8: &'static [u8; 2usize] = b"o\0";
270pub const PRIoFAST16: &'static [u8; 3usize] = b"lo\0";
271pub const PRIoFAST32: &'static [u8; 3usize] = b"lo\0";
272pub const PRIoFAST64: &'static [u8; 3usize] = b"lo\0";
273pub const PRIu8: &'static [u8; 2usize] = b"u\0";
274pub const PRIu16: &'static [u8; 2usize] = b"u\0";
275pub const PRIu32: &'static [u8; 2usize] = b"u\0";
276pub const PRIu64: &'static [u8; 3usize] = b"lu\0";
277pub const PRIuLEAST8: &'static [u8; 2usize] = b"u\0";
278pub const PRIuLEAST16: &'static [u8; 2usize] = b"u\0";
279pub const PRIuLEAST32: &'static [u8; 2usize] = b"u\0";
280pub const PRIuLEAST64: &'static [u8; 3usize] = b"lu\0";
281pub const PRIuFAST8: &'static [u8; 2usize] = b"u\0";
282pub const PRIuFAST16: &'static [u8; 3usize] = b"lu\0";
283pub const PRIuFAST32: &'static [u8; 3usize] = b"lu\0";
284pub const PRIuFAST64: &'static [u8; 3usize] = b"lu\0";
285pub const PRIx8: &'static [u8; 2usize] = b"x\0";
286pub const PRIx16: &'static [u8; 2usize] = b"x\0";
287pub const PRIx32: &'static [u8; 2usize] = b"x\0";
288pub const PRIx64: &'static [u8; 3usize] = b"lx\0";
289pub const PRIxLEAST8: &'static [u8; 2usize] = b"x\0";
290pub const PRIxLEAST16: &'static [u8; 2usize] = b"x\0";
291pub const PRIxLEAST32: &'static [u8; 2usize] = b"x\0";
292pub const PRIxLEAST64: &'static [u8; 3usize] = b"lx\0";
293pub const PRIxFAST8: &'static [u8; 2usize] = b"x\0";
294pub const PRIxFAST16: &'static [u8; 3usize] = b"lx\0";
295pub const PRIxFAST32: &'static [u8; 3usize] = b"lx\0";
296pub const PRIxFAST64: &'static [u8; 3usize] = b"lx\0";
297pub const PRIX8: &'static [u8; 2usize] = b"X\0";
298pub const PRIX16: &'static [u8; 2usize] = b"X\0";
299pub const PRIX32: &'static [u8; 2usize] = b"X\0";
300pub const PRIX64: &'static [u8; 3usize] = b"lX\0";
301pub const PRIXLEAST8: &'static [u8; 2usize] = b"X\0";
302pub const PRIXLEAST16: &'static [u8; 2usize] = b"X\0";
303pub const PRIXLEAST32: &'static [u8; 2usize] = b"X\0";
304pub const PRIXLEAST64: &'static [u8; 3usize] = b"lX\0";
305pub const PRIXFAST8: &'static [u8; 2usize] = b"X\0";
306pub const PRIXFAST16: &'static [u8; 3usize] = b"lX\0";
307pub const PRIXFAST32: &'static [u8; 3usize] = b"lX\0";
308pub const PRIXFAST64: &'static [u8; 3usize] = b"lX\0";
309pub const PRIdMAX: &'static [u8; 3usize] = b"ld\0";
310pub const PRIiMAX: &'static [u8; 3usize] = b"li\0";
311pub const PRIoMAX: &'static [u8; 3usize] = b"lo\0";
312pub const PRIuMAX: &'static [u8; 3usize] = b"lu\0";
313pub const PRIxMAX: &'static [u8; 3usize] = b"lx\0";
314pub const PRIXMAX: &'static [u8; 3usize] = b"lX\0";
315pub const PRIdPTR: &'static [u8; 3usize] = b"ld\0";
316pub const PRIiPTR: &'static [u8; 3usize] = b"li\0";
317pub const PRIoPTR: &'static [u8; 3usize] = b"lo\0";
318pub const PRIuPTR: &'static [u8; 3usize] = b"lu\0";
319pub const PRIxPTR: &'static [u8; 3usize] = b"lx\0";
320pub const PRIXPTR: &'static [u8; 3usize] = b"lX\0";
321pub const SCNd8: &'static [u8; 4usize] = b"hhd\0";
322pub const SCNd16: &'static [u8; 3usize] = b"hd\0";
323pub const SCNd32: &'static [u8; 2usize] = b"d\0";
324pub const SCNd64: &'static [u8; 3usize] = b"ld\0";
325pub const SCNdLEAST8: &'static [u8; 4usize] = b"hhd\0";
326pub const SCNdLEAST16: &'static [u8; 3usize] = b"hd\0";
327pub const SCNdLEAST32: &'static [u8; 2usize] = b"d\0";
328pub const SCNdLEAST64: &'static [u8; 3usize] = b"ld\0";
329pub const SCNdFAST8: &'static [u8; 4usize] = b"hhd\0";
330pub const SCNdFAST16: &'static [u8; 3usize] = b"ld\0";
331pub const SCNdFAST32: &'static [u8; 3usize] = b"ld\0";
332pub const SCNdFAST64: &'static [u8; 3usize] = b"ld\0";
333pub const SCNi8: &'static [u8; 4usize] = b"hhi\0";
334pub const SCNi16: &'static [u8; 3usize] = b"hi\0";
335pub const SCNi32: &'static [u8; 2usize] = b"i\0";
336pub const SCNi64: &'static [u8; 3usize] = b"li\0";
337pub const SCNiLEAST8: &'static [u8; 4usize] = b"hhi\0";
338pub const SCNiLEAST16: &'static [u8; 3usize] = b"hi\0";
339pub const SCNiLEAST32: &'static [u8; 2usize] = b"i\0";
340pub const SCNiLEAST64: &'static [u8; 3usize] = b"li\0";
341pub const SCNiFAST8: &'static [u8; 4usize] = b"hhi\0";
342pub const SCNiFAST16: &'static [u8; 3usize] = b"li\0";
343pub const SCNiFAST32: &'static [u8; 3usize] = b"li\0";
344pub const SCNiFAST64: &'static [u8; 3usize] = b"li\0";
345pub const SCNu8: &'static [u8; 4usize] = b"hhu\0";
346pub const SCNu16: &'static [u8; 3usize] = b"hu\0";
347pub const SCNu32: &'static [u8; 2usize] = b"u\0";
348pub const SCNu64: &'static [u8; 3usize] = b"lu\0";
349pub const SCNuLEAST8: &'static [u8; 4usize] = b"hhu\0";
350pub const SCNuLEAST16: &'static [u8; 3usize] = b"hu\0";
351pub const SCNuLEAST32: &'static [u8; 2usize] = b"u\0";
352pub const SCNuLEAST64: &'static [u8; 3usize] = b"lu\0";
353pub const SCNuFAST8: &'static [u8; 4usize] = b"hhu\0";
354pub const SCNuFAST16: &'static [u8; 3usize] = b"lu\0";
355pub const SCNuFAST32: &'static [u8; 3usize] = b"lu\0";
356pub const SCNuFAST64: &'static [u8; 3usize] = b"lu\0";
357pub const SCNo8: &'static [u8; 4usize] = b"hho\0";
358pub const SCNo16: &'static [u8; 3usize] = b"ho\0";
359pub const SCNo32: &'static [u8; 2usize] = b"o\0";
360pub const SCNo64: &'static [u8; 3usize] = b"lo\0";
361pub const SCNoLEAST8: &'static [u8; 4usize] = b"hho\0";
362pub const SCNoLEAST16: &'static [u8; 3usize] = b"ho\0";
363pub const SCNoLEAST32: &'static [u8; 2usize] = b"o\0";
364pub const SCNoLEAST64: &'static [u8; 3usize] = b"lo\0";
365pub const SCNoFAST8: &'static [u8; 4usize] = b"hho\0";
366pub const SCNoFAST16: &'static [u8; 3usize] = b"lo\0";
367pub const SCNoFAST32: &'static [u8; 3usize] = b"lo\0";
368pub const SCNoFAST64: &'static [u8; 3usize] = b"lo\0";
369pub const SCNx8: &'static [u8; 4usize] = b"hhx\0";
370pub const SCNx16: &'static [u8; 3usize] = b"hx\0";
371pub const SCNx32: &'static [u8; 2usize] = b"x\0";
372pub const SCNx64: &'static [u8; 3usize] = b"lx\0";
373pub const SCNxLEAST8: &'static [u8; 4usize] = b"hhx\0";
374pub const SCNxLEAST16: &'static [u8; 3usize] = b"hx\0";
375pub const SCNxLEAST32: &'static [u8; 2usize] = b"x\0";
376pub const SCNxLEAST64: &'static [u8; 3usize] = b"lx\0";
377pub const SCNxFAST8: &'static [u8; 4usize] = b"hhx\0";
378pub const SCNxFAST16: &'static [u8; 3usize] = b"lx\0";
379pub const SCNxFAST32: &'static [u8; 3usize] = b"lx\0";
380pub const SCNxFAST64: &'static [u8; 3usize] = b"lx\0";
381pub const SCNdMAX: &'static [u8; 3usize] = b"ld\0";
382pub const SCNiMAX: &'static [u8; 3usize] = b"li\0";
383pub const SCNoMAX: &'static [u8; 3usize] = b"lo\0";
384pub const SCNuMAX: &'static [u8; 3usize] = b"lu\0";
385pub const SCNxMAX: &'static [u8; 3usize] = b"lx\0";
386pub const SCNdPTR: &'static [u8; 3usize] = b"ld\0";
387pub const SCNiPTR: &'static [u8; 3usize] = b"li\0";
388pub const SCNoPTR: &'static [u8; 3usize] = b"lo\0";
389pub const SCNuPTR: &'static [u8; 3usize] = b"lu\0";
390pub const SCNxPTR: &'static [u8; 3usize] = b"lx\0";
391pub const _LIBC_LIMITS_H_: u32 = 1;
392pub const MB_LEN_MAX: u32 = 16;
393pub const _BITS_POSIX1_LIM_H: u32 = 1;
394pub const _POSIX_AIO_LISTIO_MAX: u32 = 2;
395pub const _POSIX_AIO_MAX: u32 = 1;
396pub const _POSIX_ARG_MAX: u32 = 4096;
397pub const _POSIX_CHILD_MAX: u32 = 25;
398pub const _POSIX_DELAYTIMER_MAX: u32 = 32;
399pub const _POSIX_HOST_NAME_MAX: u32 = 255;
400pub const _POSIX_LINK_MAX: u32 = 8;
401pub const _POSIX_LOGIN_NAME_MAX: u32 = 9;
402pub const _POSIX_MAX_CANON: u32 = 255;
403pub const _POSIX_MAX_INPUT: u32 = 255;
404pub const _POSIX_MQ_OPEN_MAX: u32 = 8;
405pub const _POSIX_MQ_PRIO_MAX: u32 = 32;
406pub const _POSIX_NAME_MAX: u32 = 14;
407pub const _POSIX_NGROUPS_MAX: u32 = 8;
408pub const _POSIX_OPEN_MAX: u32 = 20;
409pub const _POSIX_PATH_MAX: u32 = 256;
410pub const _POSIX_PIPE_BUF: u32 = 512;
411pub const _POSIX_RE_DUP_MAX: u32 = 255;
412pub const _POSIX_RTSIG_MAX: u32 = 8;
413pub const _POSIX_SEM_NSEMS_MAX: u32 = 256;
414pub const _POSIX_SEM_VALUE_MAX: u32 = 32767;
415pub const _POSIX_SIGQUEUE_MAX: u32 = 32;
416pub const _POSIX_SSIZE_MAX: u32 = 32767;
417pub const _POSIX_STREAM_MAX: u32 = 8;
418pub const _POSIX_SYMLINK_MAX: u32 = 255;
419pub const _POSIX_SYMLOOP_MAX: u32 = 8;
420pub const _POSIX_TIMER_MAX: u32 = 32;
421pub const _POSIX_TTY_NAME_MAX: u32 = 9;
422pub const _POSIX_TZNAME_MAX: u32 = 6;
423pub const _POSIX_CLOCKRES_MIN: u32 = 20000000;
424pub const NR_OPEN: u32 = 1024;
425pub const NGROUPS_MAX: u32 = 65536;
426pub const ARG_MAX: u32 = 131072;
427pub const LINK_MAX: u32 = 127;
428pub const MAX_CANON: u32 = 255;
429pub const MAX_INPUT: u32 = 255;
430pub const NAME_MAX: u32 = 255;
431pub const PATH_MAX: u32 = 4096;
432pub const PIPE_BUF: u32 = 4096;
433pub const XATTR_NAME_MAX: u32 = 255;
434pub const XATTR_SIZE_MAX: u32 = 65536;
435pub const XATTR_LIST_MAX: u32 = 65536;
436pub const RTSIG_MAX: u32 = 32;
437pub const _POSIX_THREAD_KEYS_MAX: u32 = 128;
438pub const PTHREAD_KEYS_MAX: u32 = 1024;
439pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
440pub const PTHREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
441pub const _POSIX_THREAD_THREADS_MAX: u32 = 64;
442pub const AIO_PRIO_DELTA_MAX: u32 = 20;
443pub const PTHREAD_STACK_MIN: u32 = 16384;
444pub const DELAYTIMER_MAX: u32 = 2147483647;
445pub const TTY_NAME_MAX: u32 = 32;
446pub const LOGIN_NAME_MAX: u32 = 256;
447pub const HOST_NAME_MAX: u32 = 64;
448pub const MQ_PRIO_MAX: u32 = 32768;
449pub const SEM_VALUE_MAX: u32 = 2147483647;
450pub const _BITS_POSIX2_LIM_H: u32 = 1;
451pub const _POSIX2_BC_BASE_MAX: u32 = 99;
452pub const _POSIX2_BC_DIM_MAX: u32 = 2048;
453pub const _POSIX2_BC_SCALE_MAX: u32 = 99;
454pub const _POSIX2_BC_STRING_MAX: u32 = 1000;
455pub const _POSIX2_COLL_WEIGHTS_MAX: u32 = 2;
456pub const _POSIX2_EXPR_NEST_MAX: u32 = 32;
457pub const _POSIX2_LINE_MAX: u32 = 2048;
458pub const _POSIX2_RE_DUP_MAX: u32 = 255;
459pub const _POSIX2_CHARCLASS_NAME_MAX: u32 = 14;
460pub const BC_BASE_MAX: u32 = 99;
461pub const BC_DIM_MAX: u32 = 2048;
462pub const BC_SCALE_MAX: u32 = 99;
463pub const BC_STRING_MAX: u32 = 1000;
464pub const COLL_WEIGHTS_MAX: u32 = 255;
465pub const EXPR_NEST_MAX: u32 = 32;
466pub const LINE_MAX: u32 = 2048;
467pub const CHARCLASS_NAME_MAX: u32 = 2048;
468pub const RE_DUP_MAX: u32 = 32767;
469pub const _MATH_H: u32 = 1;
470pub const _BITS_LIBM_SIMD_DECL_STUBS_H: u32 = 1;
471pub const __HAVE_FLOAT128: u32 = 0;
472pub const __HAVE_DISTINCT_FLOAT128: u32 = 0;
473pub const __HAVE_FLOAT64X: u32 = 1;
474pub const __HAVE_FLOAT64X_LONG_DOUBLE: u32 = 1;
475pub const __HAVE_FLOAT16: u32 = 0;
476pub const __HAVE_FLOAT32: u32 = 1;
477pub const __HAVE_FLOAT64: u32 = 1;
478pub const __HAVE_FLOAT32X: u32 = 1;
479pub const __HAVE_FLOAT128X: u32 = 0;
480pub const __HAVE_DISTINCT_FLOAT16: u32 = 0;
481pub const __HAVE_DISTINCT_FLOAT32: u32 = 0;
482pub const __HAVE_DISTINCT_FLOAT64: u32 = 0;
483pub const __HAVE_DISTINCT_FLOAT32X: u32 = 0;
484pub const __HAVE_DISTINCT_FLOAT64X: u32 = 0;
485pub const __HAVE_DISTINCT_FLOAT128X: u32 = 0;
486pub const __HAVE_FLOATN_NOT_TYPEDEF: u32 = 0;
487pub const __FP_LOGB0_IS_MIN: u32 = 1;
488pub const __FP_LOGBNAN_IS_MIN: u32 = 1;
489pub const FP_ILOGB0: i32 = -2147483648;
490pub const FP_ILOGBNAN: i32 = -2147483648;
491pub const __MATH_DECLARING_DOUBLE: u32 = 1;
492pub const __MATH_DECLARING_FLOATN: u32 = 0;
493pub const __MATH_DECLARE_LDOUBLE: u32 = 1;
494pub const FP_NAN: u32 = 0;
495pub const FP_INFINITE: u32 = 1;
496pub const FP_ZERO: u32 = 2;
497pub const FP_SUBNORMAL: u32 = 3;
498pub const FP_NORMAL: u32 = 4;
499pub const MATH_ERRNO: u32 = 1;
500pub const MATH_ERREXCEPT: u32 = 2;
501pub const math_errhandling: u32 = 3;
502pub const M_E: f64 = 2.718281828459045;
503pub const M_LOG2E: f64 = 1.4426950408889634;
504pub const M_LOG10E: f64 = 0.4342944819032518;
505pub const M_LN2: f64 = 0.6931471805599453;
506pub const M_LN10: f64 = 2.302585092994046;
507pub const M_PI: f64 = 3.141592653589793;
508pub const M_PI_2: f64 = 1.5707963267948966;
509pub const M_PI_4: f64 = 0.7853981633974483;
510pub const M_1_PI: f64 = 0.3183098861837907;
511pub const M_2_PI: f64 = 0.6366197723675814;
512pub const M_2_SQRTPI: f64 = 1.1283791670955126;
513pub const M_SQRT2: f64 = 1.4142135623730951;
514pub const M_SQRT1_2: f64 = 0.7071067811865476;
515pub const _STDIO_H: u32 = 1;
516pub const __GNUC_VA_LIST: u32 = 1;
517pub const _____fpos_t_defined: u32 = 1;
518pub const ____mbstate_t_defined: u32 = 1;
519pub const _____fpos64_t_defined: u32 = 1;
520pub const ____FILE_defined: u32 = 1;
521pub const __FILE_defined: u32 = 1;
522pub const __struct_FILE_defined: u32 = 1;
523pub const _IO_EOF_SEEN: u32 = 16;
524pub const _IO_ERR_SEEN: u32 = 32;
525pub const _IO_USER_LOCK: u32 = 32768;
526pub const _IOFBF: u32 = 0;
527pub const _IOLBF: u32 = 1;
528pub const _IONBF: u32 = 2;
529pub const BUFSIZ: u32 = 8192;
530pub const EOF: i32 = -1;
531pub const SEEK_SET: u32 = 0;
532pub const SEEK_CUR: u32 = 1;
533pub const SEEK_END: u32 = 2;
534pub const P_tmpdir: &'static [u8; 5usize] = b"/tmp\0";
535pub const _BITS_STDIO_LIM_H: u32 = 1;
536pub const L_tmpnam: u32 = 20;
537pub const TMP_MAX: u32 = 238328;
538pub const FILENAME_MAX: u32 = 4096;
539pub const L_ctermid: u32 = 9;
540pub const FOPEN_MAX: u32 = 16;
541pub const _STDLIB_H: u32 = 1;
542pub const WNOHANG: u32 = 1;
543pub const WUNTRACED: u32 = 2;
544pub const WSTOPPED: u32 = 2;
545pub const WEXITED: u32 = 4;
546pub const WCONTINUED: u32 = 8;
547pub const WNOWAIT: u32 = 16777216;
548pub const __WNOTHREAD: u32 = 536870912;
549pub const __WALL: u32 = 1073741824;
550pub const __WCLONE: u32 = 2147483648;
551pub const __W_CONTINUED: u32 = 65535;
552pub const __WCOREFLAG: u32 = 128;
553pub const __ldiv_t_defined: u32 = 1;
554pub const __lldiv_t_defined: u32 = 1;
555pub const RAND_MAX: u32 = 2147483647;
556pub const EXIT_FAILURE: u32 = 1;
557pub const EXIT_SUCCESS: u32 = 0;
558pub const _SYS_TYPES_H: u32 = 1;
559pub const __clock_t_defined: u32 = 1;
560pub const __clockid_t_defined: u32 = 1;
561pub const __time_t_defined: u32 = 1;
562pub const __timer_t_defined: u32 = 1;
563pub const __BIT_TYPES_DEFINED__: u32 = 1;
564pub const _ENDIAN_H: u32 = 1;
565pub const __LITTLE_ENDIAN: u32 = 1234;
566pub const __BIG_ENDIAN: u32 = 4321;
567pub const __PDP_ENDIAN: u32 = 3412;
568pub const __BYTE_ORDER: u32 = 1234;
569pub const __FLOAT_WORD_ORDER: u32 = 1234;
570pub const LITTLE_ENDIAN: u32 = 1234;
571pub const BIG_ENDIAN: u32 = 4321;
572pub const PDP_ENDIAN: u32 = 3412;
573pub const BYTE_ORDER: u32 = 1234;
574pub const _BITS_BYTESWAP_H: u32 = 1;
575pub const _BITS_UINTN_IDENTITY_H: u32 = 1;
576pub const _SYS_SELECT_H: u32 = 1;
577pub const __FD_ZERO_STOS: &'static [u8; 6usize] = b"stosq\0";
578pub const __sigset_t_defined: u32 = 1;
579pub const __timeval_defined: u32 = 1;
580pub const _STRUCT_TIMESPEC: u32 = 1;
581pub const FD_SETSIZE: u32 = 1024;
582pub const _BITS_PTHREADTYPES_COMMON_H: u32 = 1;
583pub const _THREAD_SHARED_TYPES_H: u32 = 1;
584pub const _BITS_PTHREADTYPES_ARCH_H: u32 = 1;
585pub const __SIZEOF_PTHREAD_MUTEX_T: u32 = 40;
586pub const __SIZEOF_PTHREAD_ATTR_T: u32 = 56;
587pub const __SIZEOF_PTHREAD_RWLOCK_T: u32 = 56;
588pub const __SIZEOF_PTHREAD_BARRIER_T: u32 = 32;
589pub const __SIZEOF_PTHREAD_MUTEXATTR_T: u32 = 4;
590pub const __SIZEOF_PTHREAD_COND_T: u32 = 48;
591pub const __SIZEOF_PTHREAD_CONDATTR_T: u32 = 4;
592pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: u32 = 8;
593pub const __SIZEOF_PTHREAD_BARRIERATTR_T: u32 = 4;
594pub const __PTHREAD_MUTEX_LOCK_ELISION: u32 = 1;
595pub const __PTHREAD_MUTEX_NUSERS_AFTER_KIND: u32 = 0;
596pub const __PTHREAD_MUTEX_USE_UNION: u32 = 0;
597pub const __PTHREAD_RWLOCK_INT_FLAGS_SHARED: u32 = 1;
598pub const __PTHREAD_MUTEX_HAVE_PREV: u32 = 1;
599pub const __have_pthread_attr_t: u32 = 1;
600pub const _ALLOCA_H: u32 = 1;
601pub const _STRING_H: u32 = 1;
602pub const _BITS_TYPES_LOCALE_T_H: u32 = 1;
603pub const _BITS_TYPES___LOCALE_T_H: u32 = 1;
604pub const _STRINGS_H: u32 = 1;
605pub const LIBAVUTIL_VERSION_MAJOR: u32 = 56;
606pub const LIBAVUTIL_VERSION_MINOR: u32 = 22;
607pub const LIBAVUTIL_VERSION_MICRO: u32 = 100;
608pub const AV_HAVE_BIGENDIAN: u32 = 0;
609pub const AV_HAVE_FAST_UNALIGNED: u32 = 1;
610pub const AVERROR_EXPERIMENTAL: i32 = -733130664;
611pub const AVERROR_INPUT_CHANGED: i32 = -1668179713;
612pub const AVERROR_OUTPUT_CHANGED: i32 = -1668179714;
613pub const AV_ERROR_MAX_STRING_SIZE: u32 = 64;
614pub const M_LOG2_10: f64 = 3.321928094887362;
615pub const M_PHI: f64 = 1.618033988749895;
616pub const AV_LOG_QUIET: i32 = -8;
617pub const AV_LOG_PANIC: u32 = 0;
618pub const AV_LOG_FATAL: u32 = 8;
619pub const AV_LOG_ERROR: u32 = 16;
620pub const AV_LOG_WARNING: u32 = 24;
621pub const AV_LOG_INFO: u32 = 32;
622pub const AV_LOG_VERBOSE: u32 = 40;
623pub const AV_LOG_DEBUG: u32 = 48;
624pub const AV_LOG_TRACE: u32 = 56;
625pub const AV_LOG_MAX_OFFSET: u32 = 64;
626pub const AV_LOG_SKIP_REPEATED: u32 = 1;
627pub const AV_LOG_PRINT_LEVEL: u32 = 2;
628pub const AVPALETTE_SIZE: u32 = 1024;
629pub const AVPALETTE_COUNT: u32 = 256;
630pub const AV_FOURCC_MAX_STRING_SIZE: u32 = 32;
631extern "C" {
632    #[doc = " Return the LIBAVUTIL_VERSION_INT constant."]
633    pub fn avutil_version() -> ::std::os::raw::c_uint;
634}
635extern "C" {
636    #[doc = " Return an informative version string. This usually is the actual release"]
637    #[doc = " version number or a git commit description. This string has no fixed format"]
638    #[doc = " and can change any time. It should never be parsed by code."]
639    pub fn av_version_info() -> *const ::std::os::raw::c_char;
640}
641extern "C" {
642    #[doc = " Return the libavutil build-time configuration."]
643    pub fn avutil_configuration() -> *const ::std::os::raw::c_char;
644}
645extern "C" {
646    #[doc = " Return the libavutil license."]
647    pub fn avutil_license() -> *const ::std::os::raw::c_char;
648}
649#[doc = "< Usually treated as AVMEDIA_TYPE_DATA"]
650pub const AVMediaType_AVMEDIA_TYPE_UNKNOWN: AVMediaType = -1;
651pub const AVMediaType_AVMEDIA_TYPE_VIDEO: AVMediaType = 0;
652pub const AVMediaType_AVMEDIA_TYPE_AUDIO: AVMediaType = 1;
653#[doc = "< Opaque data information usually continuous"]
654pub const AVMediaType_AVMEDIA_TYPE_DATA: AVMediaType = 2;
655pub const AVMediaType_AVMEDIA_TYPE_SUBTITLE: AVMediaType = 3;
656#[doc = "< Opaque data information usually sparse"]
657pub const AVMediaType_AVMEDIA_TYPE_ATTACHMENT: AVMediaType = 4;
658pub const AVMediaType_AVMEDIA_TYPE_NB: AVMediaType = 5;
659#[doc = " @addtogroup lavu_media Media Type"]
660#[doc = " @brief Media Type"]
661pub type AVMediaType = i32;
662extern "C" {
663    #[doc = " Return a string describing the media_type enum, NULL if media_type"]
664    #[doc = " is unknown."]
665    pub fn av_get_media_type_string(media_type: AVMediaType) -> *const ::std::os::raw::c_char;
666}
667#[doc = "< Undefined"]
668pub const AVPictureType_AV_PICTURE_TYPE_NONE: AVPictureType = 0;
669#[doc = "< Intra"]
670pub const AVPictureType_AV_PICTURE_TYPE_I: AVPictureType = 1;
671#[doc = "< Predicted"]
672pub const AVPictureType_AV_PICTURE_TYPE_P: AVPictureType = 2;
673#[doc = "< Bi-dir predicted"]
674pub const AVPictureType_AV_PICTURE_TYPE_B: AVPictureType = 3;
675#[doc = "< S(GMC)-VOP MPEG-4"]
676pub const AVPictureType_AV_PICTURE_TYPE_S: AVPictureType = 4;
677#[doc = "< Switching Intra"]
678pub const AVPictureType_AV_PICTURE_TYPE_SI: AVPictureType = 5;
679#[doc = "< Switching Predicted"]
680pub const AVPictureType_AV_PICTURE_TYPE_SP: AVPictureType = 6;
681#[doc = "< BI type"]
682pub const AVPictureType_AV_PICTURE_TYPE_BI: AVPictureType = 7;
683#[doc = " @}"]
684#[doc = " @}"]
685#[doc = " @defgroup lavu_picture Image related"]
686#[doc = ""]
687#[doc = " AVPicture types, pixel formats and basic image planes manipulation."]
688#[doc = ""]
689#[doc = " @{"]
690pub type AVPictureType = u32;
691extern "C" {
692    #[doc = " Return a single letter to describe the given picture type"]
693    #[doc = " pict_type."]
694    #[doc = ""]
695    #[doc = " @param[in] pict_type the picture type @return a single character"]
696    #[doc = " representing the picture type, \'?\' if pict_type is unknown"]
697    pub fn av_get_picture_type_char(pict_type: AVPictureType) -> ::std::os::raw::c_char;
698}
699extern "C" {
700    pub fn __errno_location() -> *mut ::std::os::raw::c_int;
701}
702pub type __u_char = ::std::os::raw::c_uchar;
703pub type __u_short = ::std::os::raw::c_ushort;
704pub type __u_int = ::std::os::raw::c_uint;
705pub type __u_long = ::std::os::raw::c_ulong;
706pub type __int8_t = ::std::os::raw::c_schar;
707pub type __uint8_t = ::std::os::raw::c_uchar;
708pub type __int16_t = ::std::os::raw::c_short;
709pub type __uint16_t = ::std::os::raw::c_ushort;
710pub type __int32_t = ::std::os::raw::c_int;
711pub type __uint32_t = ::std::os::raw::c_uint;
712pub type __int64_t = ::std::os::raw::c_long;
713pub type __uint64_t = ::std::os::raw::c_ulong;
714pub type __int_least8_t = __int8_t;
715pub type __uint_least8_t = __uint8_t;
716pub type __int_least16_t = __int16_t;
717pub type __uint_least16_t = __uint16_t;
718pub type __int_least32_t = __int32_t;
719pub type __uint_least32_t = __uint32_t;
720pub type __int_least64_t = __int64_t;
721pub type __uint_least64_t = __uint64_t;
722pub type __quad_t = ::std::os::raw::c_long;
723pub type __u_quad_t = ::std::os::raw::c_ulong;
724pub type __intmax_t = ::std::os::raw::c_long;
725pub type __uintmax_t = ::std::os::raw::c_ulong;
726pub type __dev_t = ::std::os::raw::c_ulong;
727pub type __uid_t = ::std::os::raw::c_uint;
728pub type __gid_t = ::std::os::raw::c_uint;
729pub type __ino_t = ::std::os::raw::c_ulong;
730pub type __ino64_t = ::std::os::raw::c_ulong;
731pub type __mode_t = ::std::os::raw::c_uint;
732pub type __nlink_t = ::std::os::raw::c_ulong;
733pub type __off_t = ::std::os::raw::c_long;
734pub type __off64_t = ::std::os::raw::c_long;
735pub type __pid_t = ::std::os::raw::c_int;
736#[repr(C)]
737#[derive(Debug, Copy, Clone)]
738pub struct __fsid_t {
739    pub __val: [::std::os::raw::c_int; 2usize],
740}
741pub type __clock_t = ::std::os::raw::c_long;
742pub type __rlim_t = ::std::os::raw::c_ulong;
743pub type __rlim64_t = ::std::os::raw::c_ulong;
744pub type __id_t = ::std::os::raw::c_uint;
745pub type __time_t = ::std::os::raw::c_long;
746pub type __useconds_t = ::std::os::raw::c_uint;
747pub type __suseconds_t = ::std::os::raw::c_long;
748pub type __daddr_t = ::std::os::raw::c_int;
749pub type __key_t = ::std::os::raw::c_int;
750pub type __clockid_t = ::std::os::raw::c_int;
751pub type __timer_t = *mut ::std::os::raw::c_void;
752pub type __blksize_t = ::std::os::raw::c_long;
753pub type __blkcnt_t = ::std::os::raw::c_long;
754pub type __blkcnt64_t = ::std::os::raw::c_long;
755pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
756pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
757pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
758pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
759pub type __fsword_t = ::std::os::raw::c_long;
760pub type __ssize_t = ::std::os::raw::c_long;
761pub type __syscall_slong_t = ::std::os::raw::c_long;
762pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
763pub type __loff_t = __off64_t;
764pub type __caddr_t = *mut ::std::os::raw::c_char;
765pub type __intptr_t = ::std::os::raw::c_long;
766pub type __socklen_t = ::std::os::raw::c_uint;
767pub type __sig_atomic_t = ::std::os::raw::c_int;
768pub type int_least8_t = __int_least8_t;
769pub type int_least16_t = __int_least16_t;
770pub type int_least32_t = __int_least32_t;
771pub type int_least64_t = __int_least64_t;
772pub type uint_least8_t = __uint_least8_t;
773pub type uint_least16_t = __uint_least16_t;
774pub type uint_least32_t = __uint_least32_t;
775pub type uint_least64_t = __uint_least64_t;
776pub type int_fast8_t = ::std::os::raw::c_schar;
777pub type int_fast16_t = ::std::os::raw::c_long;
778pub type int_fast32_t = ::std::os::raw::c_long;
779pub type int_fast64_t = ::std::os::raw::c_long;
780pub type uint_fast8_t = ::std::os::raw::c_uchar;
781pub type uint_fast16_t = ::std::os::raw::c_ulong;
782pub type uint_fast32_t = ::std::os::raw::c_ulong;
783pub type uint_fast64_t = ::std::os::raw::c_ulong;
784pub type intmax_t = __intmax_t;
785pub type uintmax_t = __uintmax_t;
786pub type __gwchar_t = ::std::os::raw::c_int;
787#[repr(C)]
788#[derive(Debug, Copy, Clone)]
789pub struct imaxdiv_t {
790    pub quot: ::std::os::raw::c_long,
791    pub rem: ::std::os::raw::c_long,
792}
793extern "C" {
794    pub fn imaxabs(__n: intmax_t) -> intmax_t;
795}
796extern "C" {
797    pub fn imaxdiv(__numer: intmax_t, __denom: intmax_t) -> imaxdiv_t;
798}
799extern "C" {
800    pub fn strtoimax(
801        __nptr: *const ::std::os::raw::c_char,
802        __endptr: *mut *mut ::std::os::raw::c_char,
803        __base: ::std::os::raw::c_int,
804    ) -> intmax_t;
805}
806extern "C" {
807    pub fn strtoumax(
808        __nptr: *const ::std::os::raw::c_char,
809        __endptr: *mut *mut ::std::os::raw::c_char,
810        __base: ::std::os::raw::c_int,
811    ) -> uintmax_t;
812}
813extern "C" {
814    pub fn wcstoimax(
815        __nptr: *const __gwchar_t,
816        __endptr: *mut *mut __gwchar_t,
817        __base: ::std::os::raw::c_int,
818    ) -> intmax_t;
819}
820extern "C" {
821    pub fn wcstoumax(
822        __nptr: *const __gwchar_t,
823        __endptr: *mut *mut __gwchar_t,
824        __base: ::std::os::raw::c_int,
825    ) -> uintmax_t;
826}
827pub type _Float32 = f32;
828pub type _Float64 = f64;
829pub type _Float32x = f64;
830pub type _Float64x = u128;
831pub type float_t = f32;
832pub type double_t = f64;
833extern "C" {
834    pub fn __fpclassify(__value: f64) -> ::std::os::raw::c_int;
835}
836extern "C" {
837    pub fn __signbit(__value: f64) -> ::std::os::raw::c_int;
838}
839extern "C" {
840    pub fn __isinf(__value: f64) -> ::std::os::raw::c_int;
841}
842extern "C" {
843    pub fn __finite(__value: f64) -> ::std::os::raw::c_int;
844}
845extern "C" {
846    pub fn __isnan(__value: f64) -> ::std::os::raw::c_int;
847}
848extern "C" {
849    pub fn __iseqsig(__x: f64, __y: f64) -> ::std::os::raw::c_int;
850}
851extern "C" {
852    pub fn __issignaling(__value: f64) -> ::std::os::raw::c_int;
853}
854extern "C" {
855    pub fn acos(__x: f64) -> f64;
856}
857extern "C" {
858    pub fn __acos(__x: f64) -> f64;
859}
860extern "C" {
861    pub fn asin(__x: f64) -> f64;
862}
863extern "C" {
864    pub fn __asin(__x: f64) -> f64;
865}
866extern "C" {
867    pub fn atan(__x: f64) -> f64;
868}
869extern "C" {
870    pub fn __atan(__x: f64) -> f64;
871}
872extern "C" {
873    pub fn atan2(__y: f64, __x: f64) -> f64;
874}
875extern "C" {
876    pub fn __atan2(__y: f64, __x: f64) -> f64;
877}
878extern "C" {
879    pub fn cos(__x: f64) -> f64;
880}
881extern "C" {
882    pub fn __cos(__x: f64) -> f64;
883}
884extern "C" {
885    pub fn sin(__x: f64) -> f64;
886}
887extern "C" {
888    pub fn __sin(__x: f64) -> f64;
889}
890extern "C" {
891    pub fn tan(__x: f64) -> f64;
892}
893extern "C" {
894    pub fn __tan(__x: f64) -> f64;
895}
896extern "C" {
897    pub fn cosh(__x: f64) -> f64;
898}
899extern "C" {
900    pub fn __cosh(__x: f64) -> f64;
901}
902extern "C" {
903    pub fn sinh(__x: f64) -> f64;
904}
905extern "C" {
906    pub fn __sinh(__x: f64) -> f64;
907}
908extern "C" {
909    pub fn tanh(__x: f64) -> f64;
910}
911extern "C" {
912    pub fn __tanh(__x: f64) -> f64;
913}
914extern "C" {
915    pub fn acosh(__x: f64) -> f64;
916}
917extern "C" {
918    pub fn __acosh(__x: f64) -> f64;
919}
920extern "C" {
921    pub fn asinh(__x: f64) -> f64;
922}
923extern "C" {
924    pub fn __asinh(__x: f64) -> f64;
925}
926extern "C" {
927    pub fn atanh(__x: f64) -> f64;
928}
929extern "C" {
930    pub fn __atanh(__x: f64) -> f64;
931}
932extern "C" {
933    pub fn exp(__x: f64) -> f64;
934}
935extern "C" {
936    pub fn __exp(__x: f64) -> f64;
937}
938extern "C" {
939    pub fn frexp(__x: f64, __exponent: *mut ::std::os::raw::c_int) -> f64;
940}
941extern "C" {
942    pub fn __frexp(__x: f64, __exponent: *mut ::std::os::raw::c_int) -> f64;
943}
944extern "C" {
945    pub fn ldexp(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
946}
947extern "C" {
948    pub fn __ldexp(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
949}
950extern "C" {
951    pub fn log(__x: f64) -> f64;
952}
953extern "C" {
954    pub fn __log(__x: f64) -> f64;
955}
956extern "C" {
957    pub fn log10(__x: f64) -> f64;
958}
959extern "C" {
960    pub fn __log10(__x: f64) -> f64;
961}
962extern "C" {
963    pub fn modf(__x: f64, __iptr: *mut f64) -> f64;
964}
965extern "C" {
966    pub fn __modf(__x: f64, __iptr: *mut f64) -> f64;
967}
968extern "C" {
969    pub fn expm1(__x: f64) -> f64;
970}
971extern "C" {
972    pub fn __expm1(__x: f64) -> f64;
973}
974extern "C" {
975    pub fn log1p(__x: f64) -> f64;
976}
977extern "C" {
978    pub fn __log1p(__x: f64) -> f64;
979}
980extern "C" {
981    pub fn logb(__x: f64) -> f64;
982}
983extern "C" {
984    pub fn __logb(__x: f64) -> f64;
985}
986extern "C" {
987    pub fn exp2(__x: f64) -> f64;
988}
989extern "C" {
990    pub fn __exp2(__x: f64) -> f64;
991}
992extern "C" {
993    pub fn log2(__x: f64) -> f64;
994}
995extern "C" {
996    pub fn __log2(__x: f64) -> f64;
997}
998extern "C" {
999    pub fn pow(__x: f64, __y: f64) -> f64;
1000}
1001extern "C" {
1002    pub fn __pow(__x: f64, __y: f64) -> f64;
1003}
1004extern "C" {
1005    pub fn sqrt(__x: f64) -> f64;
1006}
1007extern "C" {
1008    pub fn __sqrt(__x: f64) -> f64;
1009}
1010extern "C" {
1011    pub fn hypot(__x: f64, __y: f64) -> f64;
1012}
1013extern "C" {
1014    pub fn __hypot(__x: f64, __y: f64) -> f64;
1015}
1016extern "C" {
1017    pub fn cbrt(__x: f64) -> f64;
1018}
1019extern "C" {
1020    pub fn __cbrt(__x: f64) -> f64;
1021}
1022extern "C" {
1023    pub fn ceil(__x: f64) -> f64;
1024}
1025extern "C" {
1026    pub fn __ceil(__x: f64) -> f64;
1027}
1028extern "C" {
1029    pub fn fabs(__x: f64) -> f64;
1030}
1031extern "C" {
1032    pub fn __fabs(__x: f64) -> f64;
1033}
1034extern "C" {
1035    pub fn floor(__x: f64) -> f64;
1036}
1037extern "C" {
1038    pub fn __floor(__x: f64) -> f64;
1039}
1040extern "C" {
1041    pub fn fmod(__x: f64, __y: f64) -> f64;
1042}
1043extern "C" {
1044    pub fn __fmod(__x: f64, __y: f64) -> f64;
1045}
1046extern "C" {
1047    pub fn isinf(__value: f64) -> ::std::os::raw::c_int;
1048}
1049extern "C" {
1050    pub fn finite(__value: f64) -> ::std::os::raw::c_int;
1051}
1052extern "C" {
1053    pub fn drem(__x: f64, __y: f64) -> f64;
1054}
1055extern "C" {
1056    pub fn __drem(__x: f64, __y: f64) -> f64;
1057}
1058extern "C" {
1059    pub fn significand(__x: f64) -> f64;
1060}
1061extern "C" {
1062    pub fn __significand(__x: f64) -> f64;
1063}
1064extern "C" {
1065    pub fn copysign(__x: f64, __y: f64) -> f64;
1066}
1067extern "C" {
1068    pub fn __copysign(__x: f64, __y: f64) -> f64;
1069}
1070extern "C" {
1071    pub fn nan(__tagb: *const ::std::os::raw::c_char) -> f64;
1072}
1073extern "C" {
1074    pub fn __nan(__tagb: *const ::std::os::raw::c_char) -> f64;
1075}
1076extern "C" {
1077    pub fn isnan(__value: f64) -> ::std::os::raw::c_int;
1078}
1079extern "C" {
1080    pub fn j0(arg1: f64) -> f64;
1081}
1082extern "C" {
1083    pub fn __j0(arg1: f64) -> f64;
1084}
1085extern "C" {
1086    pub fn j1(arg1: f64) -> f64;
1087}
1088extern "C" {
1089    pub fn __j1(arg1: f64) -> f64;
1090}
1091extern "C" {
1092    pub fn jn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64;
1093}
1094extern "C" {
1095    pub fn __jn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64;
1096}
1097extern "C" {
1098    pub fn y0(arg1: f64) -> f64;
1099}
1100extern "C" {
1101    pub fn __y0(arg1: f64) -> f64;
1102}
1103extern "C" {
1104    pub fn y1(arg1: f64) -> f64;
1105}
1106extern "C" {
1107    pub fn __y1(arg1: f64) -> f64;
1108}
1109extern "C" {
1110    pub fn yn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64;
1111}
1112extern "C" {
1113    pub fn __yn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64;
1114}
1115extern "C" {
1116    pub fn erf(arg1: f64) -> f64;
1117}
1118extern "C" {
1119    pub fn __erf(arg1: f64) -> f64;
1120}
1121extern "C" {
1122    pub fn erfc(arg1: f64) -> f64;
1123}
1124extern "C" {
1125    pub fn __erfc(arg1: f64) -> f64;
1126}
1127extern "C" {
1128    pub fn lgamma(arg1: f64) -> f64;
1129}
1130extern "C" {
1131    pub fn __lgamma(arg1: f64) -> f64;
1132}
1133extern "C" {
1134    pub fn tgamma(arg1: f64) -> f64;
1135}
1136extern "C" {
1137    pub fn __tgamma(arg1: f64) -> f64;
1138}
1139extern "C" {
1140    pub fn gamma(arg1: f64) -> f64;
1141}
1142extern "C" {
1143    pub fn __gamma(arg1: f64) -> f64;
1144}
1145extern "C" {
1146    pub fn lgamma_r(arg1: f64, __signgamp: *mut ::std::os::raw::c_int) -> f64;
1147}
1148extern "C" {
1149    pub fn __lgamma_r(arg1: f64, __signgamp: *mut ::std::os::raw::c_int) -> f64;
1150}
1151extern "C" {
1152    pub fn rint(__x: f64) -> f64;
1153}
1154extern "C" {
1155    pub fn __rint(__x: f64) -> f64;
1156}
1157extern "C" {
1158    pub fn nextafter(__x: f64, __y: f64) -> f64;
1159}
1160extern "C" {
1161    pub fn __nextafter(__x: f64, __y: f64) -> f64;
1162}
1163extern "C" {
1164    pub fn nexttoward(__x: f64, __y: u128) -> f64;
1165}
1166extern "C" {
1167    pub fn __nexttoward(__x: f64, __y: u128) -> f64;
1168}
1169extern "C" {
1170    pub fn remainder(__x: f64, __y: f64) -> f64;
1171}
1172extern "C" {
1173    pub fn __remainder(__x: f64, __y: f64) -> f64;
1174}
1175extern "C" {
1176    pub fn scalbn(__x: f64, __n: ::std::os::raw::c_int) -> f64;
1177}
1178extern "C" {
1179    pub fn __scalbn(__x: f64, __n: ::std::os::raw::c_int) -> f64;
1180}
1181extern "C" {
1182    pub fn ilogb(__x: f64) -> ::std::os::raw::c_int;
1183}
1184extern "C" {
1185    pub fn __ilogb(__x: f64) -> ::std::os::raw::c_int;
1186}
1187extern "C" {
1188    pub fn scalbln(__x: f64, __n: ::std::os::raw::c_long) -> f64;
1189}
1190extern "C" {
1191    pub fn __scalbln(__x: f64, __n: ::std::os::raw::c_long) -> f64;
1192}
1193extern "C" {
1194    pub fn nearbyint(__x: f64) -> f64;
1195}
1196extern "C" {
1197    pub fn __nearbyint(__x: f64) -> f64;
1198}
1199extern "C" {
1200    pub fn round(__x: f64) -> f64;
1201}
1202extern "C" {
1203    pub fn __round(__x: f64) -> f64;
1204}
1205extern "C" {
1206    pub fn trunc(__x: f64) -> f64;
1207}
1208extern "C" {
1209    pub fn __trunc(__x: f64) -> f64;
1210}
1211extern "C" {
1212    pub fn remquo(__x: f64, __y: f64, __quo: *mut ::std::os::raw::c_int) -> f64;
1213}
1214extern "C" {
1215    pub fn __remquo(__x: f64, __y: f64, __quo: *mut ::std::os::raw::c_int) -> f64;
1216}
1217extern "C" {
1218    pub fn lrint(__x: f64) -> ::std::os::raw::c_long;
1219}
1220extern "C" {
1221    pub fn __lrint(__x: f64) -> ::std::os::raw::c_long;
1222}
1223extern "C" {
1224    pub fn llrint(__x: f64) -> ::std::os::raw::c_longlong;
1225}
1226extern "C" {
1227    pub fn __llrint(__x: f64) -> ::std::os::raw::c_longlong;
1228}
1229extern "C" {
1230    pub fn lround(__x: f64) -> ::std::os::raw::c_long;
1231}
1232extern "C" {
1233    pub fn __lround(__x: f64) -> ::std::os::raw::c_long;
1234}
1235extern "C" {
1236    pub fn llround(__x: f64) -> ::std::os::raw::c_longlong;
1237}
1238extern "C" {
1239    pub fn __llround(__x: f64) -> ::std::os::raw::c_longlong;
1240}
1241extern "C" {
1242    pub fn fdim(__x: f64, __y: f64) -> f64;
1243}
1244extern "C" {
1245    pub fn __fdim(__x: f64, __y: f64) -> f64;
1246}
1247extern "C" {
1248    pub fn fmax(__x: f64, __y: f64) -> f64;
1249}
1250extern "C" {
1251    pub fn __fmax(__x: f64, __y: f64) -> f64;
1252}
1253extern "C" {
1254    pub fn fmin(__x: f64, __y: f64) -> f64;
1255}
1256extern "C" {
1257    pub fn __fmin(__x: f64, __y: f64) -> f64;
1258}
1259extern "C" {
1260    pub fn fma(__x: f64, __y: f64, __z: f64) -> f64;
1261}
1262extern "C" {
1263    pub fn __fma(__x: f64, __y: f64, __z: f64) -> f64;
1264}
1265extern "C" {
1266    pub fn scalb(__x: f64, __n: f64) -> f64;
1267}
1268extern "C" {
1269    pub fn __scalb(__x: f64, __n: f64) -> f64;
1270}
1271extern "C" {
1272    pub fn __fpclassifyf(__value: f32) -> ::std::os::raw::c_int;
1273}
1274extern "C" {
1275    pub fn __signbitf(__value: f32) -> ::std::os::raw::c_int;
1276}
1277extern "C" {
1278    pub fn __isinff(__value: f32) -> ::std::os::raw::c_int;
1279}
1280extern "C" {
1281    pub fn __finitef(__value: f32) -> ::std::os::raw::c_int;
1282}
1283extern "C" {
1284    pub fn __isnanf(__value: f32) -> ::std::os::raw::c_int;
1285}
1286extern "C" {
1287    pub fn __iseqsigf(__x: f32, __y: f32) -> ::std::os::raw::c_int;
1288}
1289extern "C" {
1290    pub fn __issignalingf(__value: f32) -> ::std::os::raw::c_int;
1291}
1292extern "C" {
1293    pub fn acosf(__x: f32) -> f32;
1294}
1295extern "C" {
1296    pub fn __acosf(__x: f32) -> f32;
1297}
1298extern "C" {
1299    pub fn asinf(__x: f32) -> f32;
1300}
1301extern "C" {
1302    pub fn __asinf(__x: f32) -> f32;
1303}
1304extern "C" {
1305    pub fn atanf(__x: f32) -> f32;
1306}
1307extern "C" {
1308    pub fn __atanf(__x: f32) -> f32;
1309}
1310extern "C" {
1311    pub fn atan2f(__y: f32, __x: f32) -> f32;
1312}
1313extern "C" {
1314    pub fn __atan2f(__y: f32, __x: f32) -> f32;
1315}
1316extern "C" {
1317    pub fn cosf(__x: f32) -> f32;
1318}
1319extern "C" {
1320    pub fn __cosf(__x: f32) -> f32;
1321}
1322extern "C" {
1323    pub fn sinf(__x: f32) -> f32;
1324}
1325extern "C" {
1326    pub fn __sinf(__x: f32) -> f32;
1327}
1328extern "C" {
1329    pub fn tanf(__x: f32) -> f32;
1330}
1331extern "C" {
1332    pub fn __tanf(__x: f32) -> f32;
1333}
1334extern "C" {
1335    pub fn coshf(__x: f32) -> f32;
1336}
1337extern "C" {
1338    pub fn __coshf(__x: f32) -> f32;
1339}
1340extern "C" {
1341    pub fn sinhf(__x: f32) -> f32;
1342}
1343extern "C" {
1344    pub fn __sinhf(__x: f32) -> f32;
1345}
1346extern "C" {
1347    pub fn tanhf(__x: f32) -> f32;
1348}
1349extern "C" {
1350    pub fn __tanhf(__x: f32) -> f32;
1351}
1352extern "C" {
1353    pub fn acoshf(__x: f32) -> f32;
1354}
1355extern "C" {
1356    pub fn __acoshf(__x: f32) -> f32;
1357}
1358extern "C" {
1359    pub fn asinhf(__x: f32) -> f32;
1360}
1361extern "C" {
1362    pub fn __asinhf(__x: f32) -> f32;
1363}
1364extern "C" {
1365    pub fn atanhf(__x: f32) -> f32;
1366}
1367extern "C" {
1368    pub fn __atanhf(__x: f32) -> f32;
1369}
1370extern "C" {
1371    pub fn expf(__x: f32) -> f32;
1372}
1373extern "C" {
1374    pub fn __expf(__x: f32) -> f32;
1375}
1376extern "C" {
1377    pub fn frexpf(__x: f32, __exponent: *mut ::std::os::raw::c_int) -> f32;
1378}
1379extern "C" {
1380    pub fn __frexpf(__x: f32, __exponent: *mut ::std::os::raw::c_int) -> f32;
1381}
1382extern "C" {
1383    pub fn ldexpf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32;
1384}
1385extern "C" {
1386    pub fn __ldexpf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32;
1387}
1388extern "C" {
1389    pub fn logf(__x: f32) -> f32;
1390}
1391extern "C" {
1392    pub fn __logf(__x: f32) -> f32;
1393}
1394extern "C" {
1395    pub fn log10f(__x: f32) -> f32;
1396}
1397extern "C" {
1398    pub fn __log10f(__x: f32) -> f32;
1399}
1400extern "C" {
1401    pub fn modff(__x: f32, __iptr: *mut f32) -> f32;
1402}
1403extern "C" {
1404    pub fn __modff(__x: f32, __iptr: *mut f32) -> f32;
1405}
1406extern "C" {
1407    pub fn expm1f(__x: f32) -> f32;
1408}
1409extern "C" {
1410    pub fn __expm1f(__x: f32) -> f32;
1411}
1412extern "C" {
1413    pub fn log1pf(__x: f32) -> f32;
1414}
1415extern "C" {
1416    pub fn __log1pf(__x: f32) -> f32;
1417}
1418extern "C" {
1419    pub fn logbf(__x: f32) -> f32;
1420}
1421extern "C" {
1422    pub fn __logbf(__x: f32) -> f32;
1423}
1424extern "C" {
1425    pub fn exp2f(__x: f32) -> f32;
1426}
1427extern "C" {
1428    pub fn __exp2f(__x: f32) -> f32;
1429}
1430extern "C" {
1431    pub fn log2f(__x: f32) -> f32;
1432}
1433extern "C" {
1434    pub fn __log2f(__x: f32) -> f32;
1435}
1436extern "C" {
1437    pub fn powf(__x: f32, __y: f32) -> f32;
1438}
1439extern "C" {
1440    pub fn __powf(__x: f32, __y: f32) -> f32;
1441}
1442extern "C" {
1443    pub fn sqrtf(__x: f32) -> f32;
1444}
1445extern "C" {
1446    pub fn __sqrtf(__x: f32) -> f32;
1447}
1448extern "C" {
1449    pub fn hypotf(__x: f32, __y: f32) -> f32;
1450}
1451extern "C" {
1452    pub fn __hypotf(__x: f32, __y: f32) -> f32;
1453}
1454extern "C" {
1455    pub fn cbrtf(__x: f32) -> f32;
1456}
1457extern "C" {
1458    pub fn __cbrtf(__x: f32) -> f32;
1459}
1460extern "C" {
1461    pub fn ceilf(__x: f32) -> f32;
1462}
1463extern "C" {
1464    pub fn __ceilf(__x: f32) -> f32;
1465}
1466extern "C" {
1467    pub fn fabsf(__x: f32) -> f32;
1468}
1469extern "C" {
1470    pub fn __fabsf(__x: f32) -> f32;
1471}
1472extern "C" {
1473    pub fn floorf(__x: f32) -> f32;
1474}
1475extern "C" {
1476    pub fn __floorf(__x: f32) -> f32;
1477}
1478extern "C" {
1479    pub fn fmodf(__x: f32, __y: f32) -> f32;
1480}
1481extern "C" {
1482    pub fn __fmodf(__x: f32, __y: f32) -> f32;
1483}
1484extern "C" {
1485    pub fn isinff(__value: f32) -> ::std::os::raw::c_int;
1486}
1487extern "C" {
1488    pub fn finitef(__value: f32) -> ::std::os::raw::c_int;
1489}
1490extern "C" {
1491    pub fn dremf(__x: f32, __y: f32) -> f32;
1492}
1493extern "C" {
1494    pub fn __dremf(__x: f32, __y: f32) -> f32;
1495}
1496extern "C" {
1497    pub fn significandf(__x: f32) -> f32;
1498}
1499extern "C" {
1500    pub fn __significandf(__x: f32) -> f32;
1501}
1502extern "C" {
1503    pub fn copysignf(__x: f32, __y: f32) -> f32;
1504}
1505extern "C" {
1506    pub fn __copysignf(__x: f32, __y: f32) -> f32;
1507}
1508extern "C" {
1509    pub fn nanf(__tagb: *const ::std::os::raw::c_char) -> f32;
1510}
1511extern "C" {
1512    pub fn __nanf(__tagb: *const ::std::os::raw::c_char) -> f32;
1513}
1514extern "C" {
1515    pub fn isnanf(__value: f32) -> ::std::os::raw::c_int;
1516}
1517extern "C" {
1518    pub fn j0f(arg1: f32) -> f32;
1519}
1520extern "C" {
1521    pub fn __j0f(arg1: f32) -> f32;
1522}
1523extern "C" {
1524    pub fn j1f(arg1: f32) -> f32;
1525}
1526extern "C" {
1527    pub fn __j1f(arg1: f32) -> f32;
1528}
1529extern "C" {
1530    pub fn jnf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32;
1531}
1532extern "C" {
1533    pub fn __jnf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32;
1534}
1535extern "C" {
1536    pub fn y0f(arg1: f32) -> f32;
1537}
1538extern "C" {
1539    pub fn __y0f(arg1: f32) -> f32;
1540}
1541extern "C" {
1542    pub fn y1f(arg1: f32) -> f32;
1543}
1544extern "C" {
1545    pub fn __y1f(arg1: f32) -> f32;
1546}
1547extern "C" {
1548    pub fn ynf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32;
1549}
1550extern "C" {
1551    pub fn __ynf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32;
1552}
1553extern "C" {
1554    pub fn erff(arg1: f32) -> f32;
1555}
1556extern "C" {
1557    pub fn __erff(arg1: f32) -> f32;
1558}
1559extern "C" {
1560    pub fn erfcf(arg1: f32) -> f32;
1561}
1562extern "C" {
1563    pub fn __erfcf(arg1: f32) -> f32;
1564}
1565extern "C" {
1566    pub fn lgammaf(arg1: f32) -> f32;
1567}
1568extern "C" {
1569    pub fn __lgammaf(arg1: f32) -> f32;
1570}
1571extern "C" {
1572    pub fn tgammaf(arg1: f32) -> f32;
1573}
1574extern "C" {
1575    pub fn __tgammaf(arg1: f32) -> f32;
1576}
1577extern "C" {
1578    pub fn gammaf(arg1: f32) -> f32;
1579}
1580extern "C" {
1581    pub fn __gammaf(arg1: f32) -> f32;
1582}
1583extern "C" {
1584    pub fn lgammaf_r(arg1: f32, __signgamp: *mut ::std::os::raw::c_int) -> f32;
1585}
1586extern "C" {
1587    pub fn __lgammaf_r(arg1: f32, __signgamp: *mut ::std::os::raw::c_int) -> f32;
1588}
1589extern "C" {
1590    pub fn rintf(__x: f32) -> f32;
1591}
1592extern "C" {
1593    pub fn __rintf(__x: f32) -> f32;
1594}
1595extern "C" {
1596    pub fn nextafterf(__x: f32, __y: f32) -> f32;
1597}
1598extern "C" {
1599    pub fn __nextafterf(__x: f32, __y: f32) -> f32;
1600}
1601extern "C" {
1602    pub fn nexttowardf(__x: f32, __y: u128) -> f32;
1603}
1604extern "C" {
1605    pub fn __nexttowardf(__x: f32, __y: u128) -> f32;
1606}
1607extern "C" {
1608    pub fn remainderf(__x: f32, __y: f32) -> f32;
1609}
1610extern "C" {
1611    pub fn __remainderf(__x: f32, __y: f32) -> f32;
1612}
1613extern "C" {
1614    pub fn scalbnf(__x: f32, __n: ::std::os::raw::c_int) -> f32;
1615}
1616extern "C" {
1617    pub fn __scalbnf(__x: f32, __n: ::std::os::raw::c_int) -> f32;
1618}
1619extern "C" {
1620    pub fn ilogbf(__x: f32) -> ::std::os::raw::c_int;
1621}
1622extern "C" {
1623    pub fn __ilogbf(__x: f32) -> ::std::os::raw::c_int;
1624}
1625extern "C" {
1626    pub fn scalblnf(__x: f32, __n: ::std::os::raw::c_long) -> f32;
1627}
1628extern "C" {
1629    pub fn __scalblnf(__x: f32, __n: ::std::os::raw::c_long) -> f32;
1630}
1631extern "C" {
1632    pub fn nearbyintf(__x: f32) -> f32;
1633}
1634extern "C" {
1635    pub fn __nearbyintf(__x: f32) -> f32;
1636}
1637extern "C" {
1638    pub fn roundf(__x: f32) -> f32;
1639}
1640extern "C" {
1641    pub fn __roundf(__x: f32) -> f32;
1642}
1643extern "C" {
1644    pub fn truncf(__x: f32) -> f32;
1645}
1646extern "C" {
1647    pub fn __truncf(__x: f32) -> f32;
1648}
1649extern "C" {
1650    pub fn remquof(__x: f32, __y: f32, __quo: *mut ::std::os::raw::c_int) -> f32;
1651}
1652extern "C" {
1653    pub fn __remquof(__x: f32, __y: f32, __quo: *mut ::std::os::raw::c_int) -> f32;
1654}
1655extern "C" {
1656    pub fn lrintf(__x: f32) -> ::std::os::raw::c_long;
1657}
1658extern "C" {
1659    pub fn __lrintf(__x: f32) -> ::std::os::raw::c_long;
1660}
1661extern "C" {
1662    pub fn llrintf(__x: f32) -> ::std::os::raw::c_longlong;
1663}
1664extern "C" {
1665    pub fn __llrintf(__x: f32) -> ::std::os::raw::c_longlong;
1666}
1667extern "C" {
1668    pub fn lroundf(__x: f32) -> ::std::os::raw::c_long;
1669}
1670extern "C" {
1671    pub fn __lroundf(__x: f32) -> ::std::os::raw::c_long;
1672}
1673extern "C" {
1674    pub fn llroundf(__x: f32) -> ::std::os::raw::c_longlong;
1675}
1676extern "C" {
1677    pub fn __llroundf(__x: f32) -> ::std::os::raw::c_longlong;
1678}
1679extern "C" {
1680    pub fn fdimf(__x: f32, __y: f32) -> f32;
1681}
1682extern "C" {
1683    pub fn __fdimf(__x: f32, __y: f32) -> f32;
1684}
1685extern "C" {
1686    pub fn fmaxf(__x: f32, __y: f32) -> f32;
1687}
1688extern "C" {
1689    pub fn __fmaxf(__x: f32, __y: f32) -> f32;
1690}
1691extern "C" {
1692    pub fn fminf(__x: f32, __y: f32) -> f32;
1693}
1694extern "C" {
1695    pub fn __fminf(__x: f32, __y: f32) -> f32;
1696}
1697extern "C" {
1698    pub fn fmaf(__x: f32, __y: f32, __z: f32) -> f32;
1699}
1700extern "C" {
1701    pub fn __fmaf(__x: f32, __y: f32, __z: f32) -> f32;
1702}
1703extern "C" {
1704    pub fn scalbf(__x: f32, __n: f32) -> f32;
1705}
1706extern "C" {
1707    pub fn __scalbf(__x: f32, __n: f32) -> f32;
1708}
1709extern "C" {
1710    pub fn __fpclassifyl(__value: u128) -> ::std::os::raw::c_int;
1711}
1712extern "C" {
1713    pub fn __signbitl(__value: u128) -> ::std::os::raw::c_int;
1714}
1715extern "C" {
1716    pub fn __isinfl(__value: u128) -> ::std::os::raw::c_int;
1717}
1718extern "C" {
1719    pub fn __finitel(__value: u128) -> ::std::os::raw::c_int;
1720}
1721extern "C" {
1722    pub fn __isnanl(__value: u128) -> ::std::os::raw::c_int;
1723}
1724extern "C" {
1725    pub fn __iseqsigl(__x: u128, __y: u128) -> ::std::os::raw::c_int;
1726}
1727extern "C" {
1728    pub fn __issignalingl(__value: u128) -> ::std::os::raw::c_int;
1729}
1730extern "C" {
1731    pub fn acosl(__x: u128) -> u128;
1732}
1733extern "C" {
1734    pub fn __acosl(__x: u128) -> u128;
1735}
1736extern "C" {
1737    pub fn asinl(__x: u128) -> u128;
1738}
1739extern "C" {
1740    pub fn __asinl(__x: u128) -> u128;
1741}
1742extern "C" {
1743    pub fn atanl(__x: u128) -> u128;
1744}
1745extern "C" {
1746    pub fn __atanl(__x: u128) -> u128;
1747}
1748extern "C" {
1749    pub fn atan2l(__y: u128, __x: u128) -> u128;
1750}
1751extern "C" {
1752    pub fn __atan2l(__y: u128, __x: u128) -> u128;
1753}
1754extern "C" {
1755    pub fn cosl(__x: u128) -> u128;
1756}
1757extern "C" {
1758    pub fn __cosl(__x: u128) -> u128;
1759}
1760extern "C" {
1761    pub fn sinl(__x: u128) -> u128;
1762}
1763extern "C" {
1764    pub fn __sinl(__x: u128) -> u128;
1765}
1766extern "C" {
1767    pub fn tanl(__x: u128) -> u128;
1768}
1769extern "C" {
1770    pub fn __tanl(__x: u128) -> u128;
1771}
1772extern "C" {
1773    pub fn coshl(__x: u128) -> u128;
1774}
1775extern "C" {
1776    pub fn __coshl(__x: u128) -> u128;
1777}
1778extern "C" {
1779    pub fn sinhl(__x: u128) -> u128;
1780}
1781extern "C" {
1782    pub fn __sinhl(__x: u128) -> u128;
1783}
1784extern "C" {
1785    pub fn tanhl(__x: u128) -> u128;
1786}
1787extern "C" {
1788    pub fn __tanhl(__x: u128) -> u128;
1789}
1790extern "C" {
1791    pub fn acoshl(__x: u128) -> u128;
1792}
1793extern "C" {
1794    pub fn __acoshl(__x: u128) -> u128;
1795}
1796extern "C" {
1797    pub fn asinhl(__x: u128) -> u128;
1798}
1799extern "C" {
1800    pub fn __asinhl(__x: u128) -> u128;
1801}
1802extern "C" {
1803    pub fn atanhl(__x: u128) -> u128;
1804}
1805extern "C" {
1806    pub fn __atanhl(__x: u128) -> u128;
1807}
1808extern "C" {
1809    pub fn expl(__x: u128) -> u128;
1810}
1811extern "C" {
1812    pub fn __expl(__x: u128) -> u128;
1813}
1814extern "C" {
1815    pub fn frexpl(__x: u128, __exponent: *mut ::std::os::raw::c_int) -> u128;
1816}
1817extern "C" {
1818    pub fn __frexpl(__x: u128, __exponent: *mut ::std::os::raw::c_int) -> u128;
1819}
1820extern "C" {
1821    pub fn ldexpl(__x: u128, __exponent: ::std::os::raw::c_int) -> u128;
1822}
1823extern "C" {
1824    pub fn __ldexpl(__x: u128, __exponent: ::std::os::raw::c_int) -> u128;
1825}
1826extern "C" {
1827    pub fn logl(__x: u128) -> u128;
1828}
1829extern "C" {
1830    pub fn __logl(__x: u128) -> u128;
1831}
1832extern "C" {
1833    pub fn log10l(__x: u128) -> u128;
1834}
1835extern "C" {
1836    pub fn __log10l(__x: u128) -> u128;
1837}
1838extern "C" {
1839    pub fn modfl(__x: u128, __iptr: *mut u128) -> u128;
1840}
1841extern "C" {
1842    pub fn __modfl(__x: u128, __iptr: *mut u128) -> u128;
1843}
1844extern "C" {
1845    pub fn expm1l(__x: u128) -> u128;
1846}
1847extern "C" {
1848    pub fn __expm1l(__x: u128) -> u128;
1849}
1850extern "C" {
1851    pub fn log1pl(__x: u128) -> u128;
1852}
1853extern "C" {
1854    pub fn __log1pl(__x: u128) -> u128;
1855}
1856extern "C" {
1857    pub fn logbl(__x: u128) -> u128;
1858}
1859extern "C" {
1860    pub fn __logbl(__x: u128) -> u128;
1861}
1862extern "C" {
1863    pub fn exp2l(__x: u128) -> u128;
1864}
1865extern "C" {
1866    pub fn __exp2l(__x: u128) -> u128;
1867}
1868extern "C" {
1869    pub fn log2l(__x: u128) -> u128;
1870}
1871extern "C" {
1872    pub fn __log2l(__x: u128) -> u128;
1873}
1874extern "C" {
1875    pub fn powl(__x: u128, __y: u128) -> u128;
1876}
1877extern "C" {
1878    pub fn __powl(__x: u128, __y: u128) -> u128;
1879}
1880extern "C" {
1881    pub fn sqrtl(__x: u128) -> u128;
1882}
1883extern "C" {
1884    pub fn __sqrtl(__x: u128) -> u128;
1885}
1886extern "C" {
1887    pub fn hypotl(__x: u128, __y: u128) -> u128;
1888}
1889extern "C" {
1890    pub fn __hypotl(__x: u128, __y: u128) -> u128;
1891}
1892extern "C" {
1893    pub fn cbrtl(__x: u128) -> u128;
1894}
1895extern "C" {
1896    pub fn __cbrtl(__x: u128) -> u128;
1897}
1898extern "C" {
1899    pub fn ceill(__x: u128) -> u128;
1900}
1901extern "C" {
1902    pub fn __ceill(__x: u128) -> u128;
1903}
1904extern "C" {
1905    pub fn fabsl(__x: u128) -> u128;
1906}
1907extern "C" {
1908    pub fn __fabsl(__x: u128) -> u128;
1909}
1910extern "C" {
1911    pub fn floorl(__x: u128) -> u128;
1912}
1913extern "C" {
1914    pub fn __floorl(__x: u128) -> u128;
1915}
1916extern "C" {
1917    pub fn fmodl(__x: u128, __y: u128) -> u128;
1918}
1919extern "C" {
1920    pub fn __fmodl(__x: u128, __y: u128) -> u128;
1921}
1922extern "C" {
1923    pub fn isinfl(__value: u128) -> ::std::os::raw::c_int;
1924}
1925extern "C" {
1926    pub fn finitel(__value: u128) -> ::std::os::raw::c_int;
1927}
1928extern "C" {
1929    pub fn dreml(__x: u128, __y: u128) -> u128;
1930}
1931extern "C" {
1932    pub fn __dreml(__x: u128, __y: u128) -> u128;
1933}
1934extern "C" {
1935    pub fn significandl(__x: u128) -> u128;
1936}
1937extern "C" {
1938    pub fn __significandl(__x: u128) -> u128;
1939}
1940extern "C" {
1941    pub fn copysignl(__x: u128, __y: u128) -> u128;
1942}
1943extern "C" {
1944    pub fn __copysignl(__x: u128, __y: u128) -> u128;
1945}
1946extern "C" {
1947    pub fn nanl(__tagb: *const ::std::os::raw::c_char) -> u128;
1948}
1949extern "C" {
1950    pub fn __nanl(__tagb: *const ::std::os::raw::c_char) -> u128;
1951}
1952extern "C" {
1953    pub fn isnanl(__value: u128) -> ::std::os::raw::c_int;
1954}
1955extern "C" {
1956    pub fn j0l(arg1: u128) -> u128;
1957}
1958extern "C" {
1959    pub fn __j0l(arg1: u128) -> u128;
1960}
1961extern "C" {
1962    pub fn j1l(arg1: u128) -> u128;
1963}
1964extern "C" {
1965    pub fn __j1l(arg1: u128) -> u128;
1966}
1967extern "C" {
1968    pub fn jnl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128;
1969}
1970extern "C" {
1971    pub fn __jnl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128;
1972}
1973extern "C" {
1974    pub fn y0l(arg1: u128) -> u128;
1975}
1976extern "C" {
1977    pub fn __y0l(arg1: u128) -> u128;
1978}
1979extern "C" {
1980    pub fn y1l(arg1: u128) -> u128;
1981}
1982extern "C" {
1983    pub fn __y1l(arg1: u128) -> u128;
1984}
1985extern "C" {
1986    pub fn ynl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128;
1987}
1988extern "C" {
1989    pub fn __ynl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128;
1990}
1991extern "C" {
1992    pub fn erfl(arg1: u128) -> u128;
1993}
1994extern "C" {
1995    pub fn __erfl(arg1: u128) -> u128;
1996}
1997extern "C" {
1998    pub fn erfcl(arg1: u128) -> u128;
1999}
2000extern "C" {
2001    pub fn __erfcl(arg1: u128) -> u128;
2002}
2003extern "C" {
2004    pub fn lgammal(arg1: u128) -> u128;
2005}
2006extern "C" {
2007    pub fn __lgammal(arg1: u128) -> u128;
2008}
2009extern "C" {
2010    pub fn tgammal(arg1: u128) -> u128;
2011}
2012extern "C" {
2013    pub fn __tgammal(arg1: u128) -> u128;
2014}
2015extern "C" {
2016    pub fn gammal(arg1: u128) -> u128;
2017}
2018extern "C" {
2019    pub fn __gammal(arg1: u128) -> u128;
2020}
2021extern "C" {
2022    pub fn lgammal_r(arg1: u128, __signgamp: *mut ::std::os::raw::c_int) -> u128;
2023}
2024extern "C" {
2025    pub fn __lgammal_r(arg1: u128, __signgamp: *mut ::std::os::raw::c_int) -> u128;
2026}
2027extern "C" {
2028    pub fn rintl(__x: u128) -> u128;
2029}
2030extern "C" {
2031    pub fn __rintl(__x: u128) -> u128;
2032}
2033extern "C" {
2034    pub fn nextafterl(__x: u128, __y: u128) -> u128;
2035}
2036extern "C" {
2037    pub fn __nextafterl(__x: u128, __y: u128) -> u128;
2038}
2039extern "C" {
2040    pub fn nexttowardl(__x: u128, __y: u128) -> u128;
2041}
2042extern "C" {
2043    pub fn __nexttowardl(__x: u128, __y: u128) -> u128;
2044}
2045extern "C" {
2046    pub fn remainderl(__x: u128, __y: u128) -> u128;
2047}
2048extern "C" {
2049    pub fn __remainderl(__x: u128, __y: u128) -> u128;
2050}
2051extern "C" {
2052    pub fn scalbnl(__x: u128, __n: ::std::os::raw::c_int) -> u128;
2053}
2054extern "C" {
2055    pub fn __scalbnl(__x: u128, __n: ::std::os::raw::c_int) -> u128;
2056}
2057extern "C" {
2058    pub fn ilogbl(__x: u128) -> ::std::os::raw::c_int;
2059}
2060extern "C" {
2061    pub fn __ilogbl(__x: u128) -> ::std::os::raw::c_int;
2062}
2063extern "C" {
2064    pub fn scalblnl(__x: u128, __n: ::std::os::raw::c_long) -> u128;
2065}
2066extern "C" {
2067    pub fn __scalblnl(__x: u128, __n: ::std::os::raw::c_long) -> u128;
2068}
2069extern "C" {
2070    pub fn nearbyintl(__x: u128) -> u128;
2071}
2072extern "C" {
2073    pub fn __nearbyintl(__x: u128) -> u128;
2074}
2075extern "C" {
2076    pub fn roundl(__x: u128) -> u128;
2077}
2078extern "C" {
2079    pub fn __roundl(__x: u128) -> u128;
2080}
2081extern "C" {
2082    pub fn truncl(__x: u128) -> u128;
2083}
2084extern "C" {
2085    pub fn __truncl(__x: u128) -> u128;
2086}
2087extern "C" {
2088    pub fn remquol(__x: u128, __y: u128, __quo: *mut ::std::os::raw::c_int) -> u128;
2089}
2090extern "C" {
2091    pub fn __remquol(__x: u128, __y: u128, __quo: *mut ::std::os::raw::c_int) -> u128;
2092}
2093extern "C" {
2094    pub fn lrintl(__x: u128) -> ::std::os::raw::c_long;
2095}
2096extern "C" {
2097    pub fn __lrintl(__x: u128) -> ::std::os::raw::c_long;
2098}
2099extern "C" {
2100    pub fn llrintl(__x: u128) -> ::std::os::raw::c_longlong;
2101}
2102extern "C" {
2103    pub fn __llrintl(__x: u128) -> ::std::os::raw::c_longlong;
2104}
2105extern "C" {
2106    pub fn lroundl(__x: u128) -> ::std::os::raw::c_long;
2107}
2108extern "C" {
2109    pub fn __lroundl(__x: u128) -> ::std::os::raw::c_long;
2110}
2111extern "C" {
2112    pub fn llroundl(__x: u128) -> ::std::os::raw::c_longlong;
2113}
2114extern "C" {
2115    pub fn __llroundl(__x: u128) -> ::std::os::raw::c_longlong;
2116}
2117extern "C" {
2118    pub fn fdiml(__x: u128, __y: u128) -> u128;
2119}
2120extern "C" {
2121    pub fn __fdiml(__x: u128, __y: u128) -> u128;
2122}
2123extern "C" {
2124    pub fn fmaxl(__x: u128, __y: u128) -> u128;
2125}
2126extern "C" {
2127    pub fn __fmaxl(__x: u128, __y: u128) -> u128;
2128}
2129extern "C" {
2130    pub fn fminl(__x: u128, __y: u128) -> u128;
2131}
2132extern "C" {
2133    pub fn __fminl(__x: u128, __y: u128) -> u128;
2134}
2135extern "C" {
2136    pub fn fmal(__x: u128, __y: u128, __z: u128) -> u128;
2137}
2138extern "C" {
2139    pub fn __fmal(__x: u128, __y: u128, __z: u128) -> u128;
2140}
2141extern "C" {
2142    pub fn scalbl(__x: u128, __n: u128) -> u128;
2143}
2144extern "C" {
2145    pub fn __scalbl(__x: u128, __n: u128) -> u128;
2146}
2147extern "C" {
2148    #[link_name = "\u{1}signgam"]
2149    pub static mut signgam: ::std::os::raw::c_int;
2150}
2151pub type va_list = __builtin_va_list;
2152pub type __gnuc_va_list = __builtin_va_list;
2153#[repr(C)]
2154#[derive(Copy, Clone)]
2155pub struct __mbstate_t {
2156    pub __count: ::std::os::raw::c_int,
2157    pub __value: __mbstate_t__bindgen_ty_1,
2158}
2159#[repr(C)]
2160#[derive(Copy, Clone)]
2161pub union __mbstate_t__bindgen_ty_1 {
2162    pub __wch: ::std::os::raw::c_uint,
2163    pub __wchb: [::std::os::raw::c_char; 4usize],
2164    _bindgen_union_align: u32,
2165}
2166#[repr(C)]
2167#[derive(Copy, Clone)]
2168pub struct _G_fpos_t {
2169    pub __pos: __off_t,
2170    pub __state: __mbstate_t,
2171}
2172pub type __fpos_t = _G_fpos_t;
2173#[repr(C)]
2174#[derive(Copy, Clone)]
2175pub struct _G_fpos64_t {
2176    pub __pos: __off64_t,
2177    pub __state: __mbstate_t,
2178}
2179pub type __fpos64_t = _G_fpos64_t;
2180pub type __FILE = _IO_FILE;
2181pub type FILE = _IO_FILE;
2182#[repr(C)]
2183#[derive(Debug, Copy, Clone)]
2184pub struct _IO_marker {
2185    _unused: [u8; 0],
2186}
2187#[repr(C)]
2188#[derive(Debug, Copy, Clone)]
2189pub struct _IO_codecvt {
2190    _unused: [u8; 0],
2191}
2192#[repr(C)]
2193#[derive(Debug, Copy, Clone)]
2194pub struct _IO_wide_data {
2195    _unused: [u8; 0],
2196}
2197pub type _IO_lock_t = ::std::os::raw::c_void;
2198#[repr(C)]
2199#[derive(Debug, Copy, Clone)]
2200pub struct _IO_FILE {
2201    pub _flags: ::std::os::raw::c_int,
2202    pub _IO_read_ptr: *mut ::std::os::raw::c_char,
2203    pub _IO_read_end: *mut ::std::os::raw::c_char,
2204    pub _IO_read_base: *mut ::std::os::raw::c_char,
2205    pub _IO_write_base: *mut ::std::os::raw::c_char,
2206    pub _IO_write_ptr: *mut ::std::os::raw::c_char,
2207    pub _IO_write_end: *mut ::std::os::raw::c_char,
2208    pub _IO_buf_base: *mut ::std::os::raw::c_char,
2209    pub _IO_buf_end: *mut ::std::os::raw::c_char,
2210    pub _IO_save_base: *mut ::std::os::raw::c_char,
2211    pub _IO_backup_base: *mut ::std::os::raw::c_char,
2212    pub _IO_save_end: *mut ::std::os::raw::c_char,
2213    pub _markers: *mut _IO_marker,
2214    pub _chain: *mut _IO_FILE,
2215    pub _fileno: ::std::os::raw::c_int,
2216    pub _flags2: ::std::os::raw::c_int,
2217    pub _old_offset: __off_t,
2218    pub _cur_column: ::std::os::raw::c_ushort,
2219    pub _vtable_offset: ::std::os::raw::c_schar,
2220    pub _shortbuf: [::std::os::raw::c_char; 1usize],
2221    pub _lock: *mut _IO_lock_t,
2222    pub _offset: __off64_t,
2223    pub _codecvt: *mut _IO_codecvt,
2224    pub _wide_data: *mut _IO_wide_data,
2225    pub _freeres_list: *mut _IO_FILE,
2226    pub _freeres_buf: *mut ::std::os::raw::c_void,
2227    pub __pad5: usize,
2228    pub _mode: ::std::os::raw::c_int,
2229    pub _unused2: [::std::os::raw::c_char; 20usize],
2230}
2231pub type off_t = __off_t;
2232pub type fpos_t = __fpos_t;
2233extern "C" {
2234    #[link_name = "\u{1}stdin"]
2235    pub static mut stdin: *mut FILE;
2236}
2237extern "C" {
2238    #[link_name = "\u{1}stdout"]
2239    pub static mut stdout: *mut FILE;
2240}
2241extern "C" {
2242    #[link_name = "\u{1}stderr"]
2243    pub static mut stderr: *mut FILE;
2244}
2245extern "C" {
2246    pub fn remove(__filename: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
2247}
2248extern "C" {
2249    pub fn rename(
2250        __old: *const ::std::os::raw::c_char,
2251        __new: *const ::std::os::raw::c_char,
2252    ) -> ::std::os::raw::c_int;
2253}
2254extern "C" {
2255    pub fn renameat(
2256        __oldfd: ::std::os::raw::c_int,
2257        __old: *const ::std::os::raw::c_char,
2258        __newfd: ::std::os::raw::c_int,
2259        __new: *const ::std::os::raw::c_char,
2260    ) -> ::std::os::raw::c_int;
2261}
2262extern "C" {
2263    pub fn tmpfile() -> *mut FILE;
2264}
2265extern "C" {
2266    pub fn tmpnam(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
2267}
2268extern "C" {
2269    pub fn tmpnam_r(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
2270}
2271extern "C" {
2272    pub fn tempnam(
2273        __dir: *const ::std::os::raw::c_char,
2274        __pfx: *const ::std::os::raw::c_char,
2275    ) -> *mut ::std::os::raw::c_char;
2276}
2277extern "C" {
2278    pub fn fclose(__stream: *mut FILE) -> ::std::os::raw::c_int;
2279}
2280extern "C" {
2281    pub fn fflush(__stream: *mut FILE) -> ::std::os::raw::c_int;
2282}
2283extern "C" {
2284    pub fn fflush_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
2285}
2286extern "C" {
2287    pub fn fopen(
2288        __filename: *const ::std::os::raw::c_char,
2289        __modes: *const ::std::os::raw::c_char,
2290    ) -> *mut FILE;
2291}
2292extern "C" {
2293    pub fn freopen(
2294        __filename: *const ::std::os::raw::c_char,
2295        __modes: *const ::std::os::raw::c_char,
2296        __stream: *mut FILE,
2297    ) -> *mut FILE;
2298}
2299extern "C" {
2300    pub fn fdopen(__fd: ::std::os::raw::c_int, __modes: *const ::std::os::raw::c_char)
2301        -> *mut FILE;
2302}
2303extern "C" {
2304    pub fn fmemopen(
2305        __s: *mut ::std::os::raw::c_void,
2306        __len: usize,
2307        __modes: *const ::std::os::raw::c_char,
2308    ) -> *mut FILE;
2309}
2310extern "C" {
2311    pub fn open_memstream(
2312        __bufloc: *mut *mut ::std::os::raw::c_char,
2313        __sizeloc: *mut usize,
2314    ) -> *mut FILE;
2315}
2316extern "C" {
2317    pub fn setbuf(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char);
2318}
2319extern "C" {
2320    pub fn setvbuf(
2321        __stream: *mut FILE,
2322        __buf: *mut ::std::os::raw::c_char,
2323        __modes: ::std::os::raw::c_int,
2324        __n: usize,
2325    ) -> ::std::os::raw::c_int;
2326}
2327extern "C" {
2328    pub fn setbuffer(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char, __size: usize);
2329}
2330extern "C" {
2331    pub fn setlinebuf(__stream: *mut FILE);
2332}
2333extern "C" {
2334    pub fn fprintf(
2335        __stream: *mut FILE,
2336        __format: *const ::std::os::raw::c_char,
2337        ...
2338    ) -> ::std::os::raw::c_int;
2339}
2340extern "C" {
2341    pub fn printf(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
2342}
2343extern "C" {
2344    pub fn sprintf(
2345        __s: *mut ::std::os::raw::c_char,
2346        __format: *const ::std::os::raw::c_char,
2347        ...
2348    ) -> ::std::os::raw::c_int;
2349}
2350extern "C" {
2351    pub fn vfprintf(
2352        __s: *mut FILE,
2353        __format: *const ::std::os::raw::c_char,
2354        __arg: *mut __va_list_tag,
2355    ) -> ::std::os::raw::c_int;
2356}
2357extern "C" {
2358    pub fn vprintf(
2359        __format: *const ::std::os::raw::c_char,
2360        __arg: *mut __va_list_tag,
2361    ) -> ::std::os::raw::c_int;
2362}
2363extern "C" {
2364    pub fn vsprintf(
2365        __s: *mut ::std::os::raw::c_char,
2366        __format: *const ::std::os::raw::c_char,
2367        __arg: *mut __va_list_tag,
2368    ) -> ::std::os::raw::c_int;
2369}
2370extern "C" {
2371    pub fn snprintf(
2372        __s: *mut ::std::os::raw::c_char,
2373        __maxlen: ::std::os::raw::c_ulong,
2374        __format: *const ::std::os::raw::c_char,
2375        ...
2376    ) -> ::std::os::raw::c_int;
2377}
2378extern "C" {
2379    pub fn vsnprintf(
2380        __s: *mut ::std::os::raw::c_char,
2381        __maxlen: ::std::os::raw::c_ulong,
2382        __format: *const ::std::os::raw::c_char,
2383        __arg: *mut __va_list_tag,
2384    ) -> ::std::os::raw::c_int;
2385}
2386extern "C" {
2387    pub fn vdprintf(
2388        __fd: ::std::os::raw::c_int,
2389        __fmt: *const ::std::os::raw::c_char,
2390        __arg: *mut __va_list_tag,
2391    ) -> ::std::os::raw::c_int;
2392}
2393extern "C" {
2394    pub fn dprintf(
2395        __fd: ::std::os::raw::c_int,
2396        __fmt: *const ::std::os::raw::c_char,
2397        ...
2398    ) -> ::std::os::raw::c_int;
2399}
2400extern "C" {
2401    pub fn fscanf(
2402        __stream: *mut FILE,
2403        __format: *const ::std::os::raw::c_char,
2404        ...
2405    ) -> ::std::os::raw::c_int;
2406}
2407extern "C" {
2408    pub fn scanf(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
2409}
2410extern "C" {
2411    pub fn sscanf(
2412        __s: *const ::std::os::raw::c_char,
2413        __format: *const ::std::os::raw::c_char,
2414        ...
2415    ) -> ::std::os::raw::c_int;
2416}
2417extern "C" {
2418    #[link_name = "\u{1}__isoc99_fscanf"]
2419    pub fn fscanf1(
2420        __stream: *mut FILE,
2421        __format: *const ::std::os::raw::c_char,
2422        ...
2423    ) -> ::std::os::raw::c_int;
2424}
2425extern "C" {
2426    #[link_name = "\u{1}__isoc99_scanf"]
2427    pub fn scanf1(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
2428}
2429extern "C" {
2430    #[link_name = "\u{1}__isoc99_sscanf"]
2431    pub fn sscanf1(
2432        __s: *const ::std::os::raw::c_char,
2433        __format: *const ::std::os::raw::c_char,
2434        ...
2435    ) -> ::std::os::raw::c_int;
2436}
2437extern "C" {
2438    pub fn vfscanf(
2439        __s: *mut FILE,
2440        __format: *const ::std::os::raw::c_char,
2441        __arg: *mut __va_list_tag,
2442    ) -> ::std::os::raw::c_int;
2443}
2444extern "C" {
2445    pub fn vscanf(
2446        __format: *const ::std::os::raw::c_char,
2447        __arg: *mut __va_list_tag,
2448    ) -> ::std::os::raw::c_int;
2449}
2450extern "C" {
2451    pub fn vsscanf(
2452        __s: *const ::std::os::raw::c_char,
2453        __format: *const ::std::os::raw::c_char,
2454        __arg: *mut __va_list_tag,
2455    ) -> ::std::os::raw::c_int;
2456}
2457extern "C" {
2458    #[link_name = "\u{1}__isoc99_vfscanf"]
2459    pub fn vfscanf1(
2460        __s: *mut FILE,
2461        __format: *const ::std::os::raw::c_char,
2462        __arg: *mut __va_list_tag,
2463    ) -> ::std::os::raw::c_int;
2464}
2465extern "C" {
2466    #[link_name = "\u{1}__isoc99_vscanf"]
2467    pub fn vscanf1(
2468        __format: *const ::std::os::raw::c_char,
2469        __arg: *mut __va_list_tag,
2470    ) -> ::std::os::raw::c_int;
2471}
2472extern "C" {
2473    #[link_name = "\u{1}__isoc99_vsscanf"]
2474    pub fn vsscanf1(
2475        __s: *const ::std::os::raw::c_char,
2476        __format: *const ::std::os::raw::c_char,
2477        __arg: *mut __va_list_tag,
2478    ) -> ::std::os::raw::c_int;
2479}
2480extern "C" {
2481    pub fn fgetc(__stream: *mut FILE) -> ::std::os::raw::c_int;
2482}
2483extern "C" {
2484    pub fn getc(__stream: *mut FILE) -> ::std::os::raw::c_int;
2485}
2486extern "C" {
2487    pub fn getchar() -> ::std::os::raw::c_int;
2488}
2489extern "C" {
2490    pub fn getc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
2491}
2492extern "C" {
2493    pub fn getchar_unlocked() -> ::std::os::raw::c_int;
2494}
2495extern "C" {
2496    pub fn fgetc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
2497}
2498extern "C" {
2499    pub fn fputc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
2500}
2501extern "C" {
2502    pub fn putc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
2503}
2504extern "C" {
2505    pub fn putchar(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
2506}
2507extern "C" {
2508    pub fn fputc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE)
2509        -> ::std::os::raw::c_int;
2510}
2511extern "C" {
2512    pub fn putc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
2513}
2514extern "C" {
2515    pub fn putchar_unlocked(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
2516}
2517extern "C" {
2518    pub fn getw(__stream: *mut FILE) -> ::std::os::raw::c_int;
2519}
2520extern "C" {
2521    pub fn putw(__w: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
2522}
2523extern "C" {
2524    pub fn fgets(
2525        __s: *mut ::std::os::raw::c_char,
2526        __n: ::std::os::raw::c_int,
2527        __stream: *mut FILE,
2528    ) -> *mut ::std::os::raw::c_char;
2529}
2530extern "C" {
2531    pub fn __getdelim(
2532        __lineptr: *mut *mut ::std::os::raw::c_char,
2533        __n: *mut usize,
2534        __delimiter: ::std::os::raw::c_int,
2535        __stream: *mut FILE,
2536    ) -> __ssize_t;
2537}
2538extern "C" {
2539    pub fn getdelim(
2540        __lineptr: *mut *mut ::std::os::raw::c_char,
2541        __n: *mut usize,
2542        __delimiter: ::std::os::raw::c_int,
2543        __stream: *mut FILE,
2544    ) -> __ssize_t;
2545}
2546extern "C" {
2547    pub fn getline(
2548        __lineptr: *mut *mut ::std::os::raw::c_char,
2549        __n: *mut usize,
2550        __stream: *mut FILE,
2551    ) -> __ssize_t;
2552}
2553extern "C" {
2554    pub fn fputs(__s: *const ::std::os::raw::c_char, __stream: *mut FILE) -> ::std::os::raw::c_int;
2555}
2556extern "C" {
2557    pub fn puts(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
2558}
2559extern "C" {
2560    pub fn ungetc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
2561}
2562extern "C" {
2563    pub fn fread(
2564        __ptr: *mut ::std::os::raw::c_void,
2565        __size: ::std::os::raw::c_ulong,
2566        __n: ::std::os::raw::c_ulong,
2567        __stream: *mut FILE,
2568    ) -> ::std::os::raw::c_ulong;
2569}
2570extern "C" {
2571    pub fn fwrite(
2572        __ptr: *const ::std::os::raw::c_void,
2573        __size: ::std::os::raw::c_ulong,
2574        __n: ::std::os::raw::c_ulong,
2575        __s: *mut FILE,
2576    ) -> ::std::os::raw::c_ulong;
2577}
2578extern "C" {
2579    pub fn fread_unlocked(
2580        __ptr: *mut ::std::os::raw::c_void,
2581        __size: usize,
2582        __n: usize,
2583        __stream: *mut FILE,
2584    ) -> usize;
2585}
2586extern "C" {
2587    pub fn fwrite_unlocked(
2588        __ptr: *const ::std::os::raw::c_void,
2589        __size: usize,
2590        __n: usize,
2591        __stream: *mut FILE,
2592    ) -> usize;
2593}
2594extern "C" {
2595    pub fn fseek(
2596        __stream: *mut FILE,
2597        __off: ::std::os::raw::c_long,
2598        __whence: ::std::os::raw::c_int,
2599    ) -> ::std::os::raw::c_int;
2600}
2601extern "C" {
2602    pub fn ftell(__stream: *mut FILE) -> ::std::os::raw::c_long;
2603}
2604extern "C" {
2605    pub fn rewind(__stream: *mut FILE);
2606}
2607extern "C" {
2608    pub fn fseeko(
2609        __stream: *mut FILE,
2610        __off: __off_t,
2611        __whence: ::std::os::raw::c_int,
2612    ) -> ::std::os::raw::c_int;
2613}
2614extern "C" {
2615    pub fn ftello(__stream: *mut FILE) -> __off_t;
2616}
2617extern "C" {
2618    pub fn fgetpos(__stream: *mut FILE, __pos: *mut fpos_t) -> ::std::os::raw::c_int;
2619}
2620extern "C" {
2621    pub fn fsetpos(__stream: *mut FILE, __pos: *const fpos_t) -> ::std::os::raw::c_int;
2622}
2623extern "C" {
2624    pub fn clearerr(__stream: *mut FILE);
2625}
2626extern "C" {
2627    pub fn feof(__stream: *mut FILE) -> ::std::os::raw::c_int;
2628}
2629extern "C" {
2630    pub fn ferror(__stream: *mut FILE) -> ::std::os::raw::c_int;
2631}
2632extern "C" {
2633    pub fn clearerr_unlocked(__stream: *mut FILE);
2634}
2635extern "C" {
2636    pub fn feof_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
2637}
2638extern "C" {
2639    pub fn ferror_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
2640}
2641extern "C" {
2642    pub fn perror(__s: *const ::std::os::raw::c_char);
2643}
2644extern "C" {
2645    #[link_name = "\u{1}sys_nerr"]
2646    pub static mut sys_nerr: ::std::os::raw::c_int;
2647}
2648extern "C" {
2649    #[link_name = "\u{1}sys_errlist"]
2650    pub static mut sys_errlist: [*const ::std::os::raw::c_char; 0usize];
2651}
2652extern "C" {
2653    pub fn fileno(__stream: *mut FILE) -> ::std::os::raw::c_int;
2654}
2655extern "C" {
2656    pub fn fileno_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
2657}
2658extern "C" {
2659    pub fn popen(
2660        __command: *const ::std::os::raw::c_char,
2661        __modes: *const ::std::os::raw::c_char,
2662    ) -> *mut FILE;
2663}
2664extern "C" {
2665    pub fn pclose(__stream: *mut FILE) -> ::std::os::raw::c_int;
2666}
2667extern "C" {
2668    pub fn ctermid(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
2669}
2670extern "C" {
2671    pub fn flockfile(__stream: *mut FILE);
2672}
2673extern "C" {
2674    pub fn ftrylockfile(__stream: *mut FILE) -> ::std::os::raw::c_int;
2675}
2676extern "C" {
2677    pub fn funlockfile(__stream: *mut FILE);
2678}
2679extern "C" {
2680    pub fn __uflow(arg1: *mut FILE) -> ::std::os::raw::c_int;
2681}
2682extern "C" {
2683    pub fn __overflow(arg1: *mut FILE, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
2684}
2685pub type wchar_t = ::std::os::raw::c_int;
2686#[repr(C)]
2687#[derive(Debug, Copy, Clone)]
2688pub struct div_t {
2689    pub quot: ::std::os::raw::c_int,
2690    pub rem: ::std::os::raw::c_int,
2691}
2692#[repr(C)]
2693#[derive(Debug, Copy, Clone)]
2694pub struct ldiv_t {
2695    pub quot: ::std::os::raw::c_long,
2696    pub rem: ::std::os::raw::c_long,
2697}
2698#[repr(C)]
2699#[derive(Debug, Copy, Clone)]
2700pub struct lldiv_t {
2701    pub quot: ::std::os::raw::c_longlong,
2702    pub rem: ::std::os::raw::c_longlong,
2703}
2704extern "C" {
2705    pub fn __ctype_get_mb_cur_max() -> usize;
2706}
2707extern "C" {
2708    pub fn atof(__nptr: *const ::std::os::raw::c_char) -> f64;
2709}
2710extern "C" {
2711    pub fn atoi(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
2712}
2713extern "C" {
2714    pub fn atol(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
2715}
2716extern "C" {
2717    pub fn atoll(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
2718}
2719extern "C" {
2720    pub fn strtod(
2721        __nptr: *const ::std::os::raw::c_char,
2722        __endptr: *mut *mut ::std::os::raw::c_char,
2723    ) -> f64;
2724}
2725extern "C" {
2726    pub fn strtof(
2727        __nptr: *const ::std::os::raw::c_char,
2728        __endptr: *mut *mut ::std::os::raw::c_char,
2729    ) -> f32;
2730}
2731extern "C" {
2732    pub fn strtold(
2733        __nptr: *const ::std::os::raw::c_char,
2734        __endptr: *mut *mut ::std::os::raw::c_char,
2735    ) -> u128;
2736}
2737extern "C" {
2738    pub fn strtol(
2739        __nptr: *const ::std::os::raw::c_char,
2740        __endptr: *mut *mut ::std::os::raw::c_char,
2741        __base: ::std::os::raw::c_int,
2742    ) -> ::std::os::raw::c_long;
2743}
2744extern "C" {
2745    pub fn strtoul(
2746        __nptr: *const ::std::os::raw::c_char,
2747        __endptr: *mut *mut ::std::os::raw::c_char,
2748        __base: ::std::os::raw::c_int,
2749    ) -> ::std::os::raw::c_ulong;
2750}
2751extern "C" {
2752    pub fn strtoq(
2753        __nptr: *const ::std::os::raw::c_char,
2754        __endptr: *mut *mut ::std::os::raw::c_char,
2755        __base: ::std::os::raw::c_int,
2756    ) -> ::std::os::raw::c_longlong;
2757}
2758extern "C" {
2759    pub fn strtouq(
2760        __nptr: *const ::std::os::raw::c_char,
2761        __endptr: *mut *mut ::std::os::raw::c_char,
2762        __base: ::std::os::raw::c_int,
2763    ) -> ::std::os::raw::c_ulonglong;
2764}
2765extern "C" {
2766    pub fn strtoll(
2767        __nptr: *const ::std::os::raw::c_char,
2768        __endptr: *mut *mut ::std::os::raw::c_char,
2769        __base: ::std::os::raw::c_int,
2770    ) -> ::std::os::raw::c_longlong;
2771}
2772extern "C" {
2773    pub fn strtoull(
2774        __nptr: *const ::std::os::raw::c_char,
2775        __endptr: *mut *mut ::std::os::raw::c_char,
2776        __base: ::std::os::raw::c_int,
2777    ) -> ::std::os::raw::c_ulonglong;
2778}
2779extern "C" {
2780    pub fn l64a(__n: ::std::os::raw::c_long) -> *mut ::std::os::raw::c_char;
2781}
2782extern "C" {
2783    pub fn a64l(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
2784}
2785pub type u_char = __u_char;
2786pub type u_short = __u_short;
2787pub type u_int = __u_int;
2788pub type u_long = __u_long;
2789pub type quad_t = __quad_t;
2790pub type u_quad_t = __u_quad_t;
2791pub type fsid_t = __fsid_t;
2792pub type loff_t = __loff_t;
2793pub type ino_t = __ino_t;
2794pub type dev_t = __dev_t;
2795pub type gid_t = __gid_t;
2796pub type mode_t = __mode_t;
2797pub type nlink_t = __nlink_t;
2798pub type uid_t = __uid_t;
2799pub type pid_t = __pid_t;
2800pub type id_t = __id_t;
2801pub type daddr_t = __daddr_t;
2802pub type caddr_t = __caddr_t;
2803pub type key_t = __key_t;
2804pub type clock_t = __clock_t;
2805pub type clockid_t = __clockid_t;
2806pub type time_t = __time_t;
2807pub type timer_t = __timer_t;
2808pub type ulong = ::std::os::raw::c_ulong;
2809pub type ushort = ::std::os::raw::c_ushort;
2810pub type uint = ::std::os::raw::c_uint;
2811pub type u_int8_t = ::std::os::raw::c_uchar;
2812pub type u_int16_t = ::std::os::raw::c_ushort;
2813pub type u_int32_t = ::std::os::raw::c_uint;
2814pub type u_int64_t = ::std::os::raw::c_ulong;
2815pub type register_t = ::std::os::raw::c_long;
2816#[repr(C)]
2817#[derive(Debug, Copy, Clone)]
2818pub struct __sigset_t {
2819    pub __val: [::std::os::raw::c_ulong; 16usize],
2820}
2821pub type sigset_t = __sigset_t;
2822#[repr(C)]
2823#[derive(Debug, Copy, Clone)]
2824pub struct timeval {
2825    pub tv_sec: __time_t,
2826    pub tv_usec: __suseconds_t,
2827}
2828#[repr(C)]
2829#[derive(Debug, Copy, Clone)]
2830pub struct timespec {
2831    pub tv_sec: __time_t,
2832    pub tv_nsec: __syscall_slong_t,
2833}
2834pub type suseconds_t = __suseconds_t;
2835pub type __fd_mask = ::std::os::raw::c_long;
2836#[repr(C)]
2837#[derive(Debug, Copy, Clone)]
2838pub struct fd_set {
2839    pub __fds_bits: [__fd_mask; 16usize],
2840}
2841pub type fd_mask = __fd_mask;
2842extern "C" {
2843    pub fn select(
2844        __nfds: ::std::os::raw::c_int,
2845        __readfds: *mut fd_set,
2846        __writefds: *mut fd_set,
2847        __exceptfds: *mut fd_set,
2848        __timeout: *mut timeval,
2849    ) -> ::std::os::raw::c_int;
2850}
2851extern "C" {
2852    pub fn pselect(
2853        __nfds: ::std::os::raw::c_int,
2854        __readfds: *mut fd_set,
2855        __writefds: *mut fd_set,
2856        __exceptfds: *mut fd_set,
2857        __timeout: *const timespec,
2858        __sigmask: *const __sigset_t,
2859    ) -> ::std::os::raw::c_int;
2860}
2861pub type blksize_t = __blksize_t;
2862pub type blkcnt_t = __blkcnt_t;
2863pub type fsblkcnt_t = __fsblkcnt_t;
2864pub type fsfilcnt_t = __fsfilcnt_t;
2865#[repr(C)]
2866#[derive(Debug, Copy, Clone)]
2867pub struct __pthread_rwlock_arch_t {
2868    pub __readers: ::std::os::raw::c_uint,
2869    pub __writers: ::std::os::raw::c_uint,
2870    pub __wrphase_futex: ::std::os::raw::c_uint,
2871    pub __writers_futex: ::std::os::raw::c_uint,
2872    pub __pad3: ::std::os::raw::c_uint,
2873    pub __pad4: ::std::os::raw::c_uint,
2874    pub __cur_writer: ::std::os::raw::c_int,
2875    pub __shared: ::std::os::raw::c_int,
2876    pub __rwelision: ::std::os::raw::c_schar,
2877    pub __pad1: [::std::os::raw::c_uchar; 7usize],
2878    pub __pad2: ::std::os::raw::c_ulong,
2879    pub __flags: ::std::os::raw::c_uint,
2880}
2881#[repr(C)]
2882#[derive(Debug, Copy, Clone)]
2883pub struct __pthread_internal_list {
2884    pub __prev: *mut __pthread_internal_list,
2885    pub __next: *mut __pthread_internal_list,
2886}
2887pub type __pthread_list_t = __pthread_internal_list;
2888#[repr(C)]
2889#[derive(Debug, Copy, Clone)]
2890pub struct __pthread_mutex_s {
2891    pub __lock: ::std::os::raw::c_int,
2892    pub __count: ::std::os::raw::c_uint,
2893    pub __owner: ::std::os::raw::c_int,
2894    pub __nusers: ::std::os::raw::c_uint,
2895    pub __kind: ::std::os::raw::c_int,
2896    pub __spins: ::std::os::raw::c_short,
2897    pub __elision: ::std::os::raw::c_short,
2898    pub __list: __pthread_list_t,
2899}
2900#[repr(C)]
2901#[derive(Copy, Clone)]
2902pub struct __pthread_cond_s {
2903    pub __bindgen_anon_1: __pthread_cond_s__bindgen_ty_1,
2904    pub __bindgen_anon_2: __pthread_cond_s__bindgen_ty_2,
2905    pub __g_refs: [::std::os::raw::c_uint; 2usize],
2906    pub __g_size: [::std::os::raw::c_uint; 2usize],
2907    pub __g1_orig_size: ::std::os::raw::c_uint,
2908    pub __wrefs: ::std::os::raw::c_uint,
2909    pub __g_signals: [::std::os::raw::c_uint; 2usize],
2910}
2911#[repr(C)]
2912#[derive(Copy, Clone)]
2913pub union __pthread_cond_s__bindgen_ty_1 {
2914    pub __wseq: ::std::os::raw::c_ulonglong,
2915    pub __wseq32: __pthread_cond_s__bindgen_ty_1__bindgen_ty_1,
2916    _bindgen_union_align: u64,
2917}
2918#[repr(C)]
2919#[derive(Debug, Copy, Clone)]
2920pub struct __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 {
2921    pub __low: ::std::os::raw::c_uint,
2922    pub __high: ::std::os::raw::c_uint,
2923}
2924#[repr(C)]
2925#[derive(Copy, Clone)]
2926pub union __pthread_cond_s__bindgen_ty_2 {
2927    pub __g1_start: ::std::os::raw::c_ulonglong,
2928    pub __g1_start32: __pthread_cond_s__bindgen_ty_2__bindgen_ty_1,
2929    _bindgen_union_align: u64,
2930}
2931#[repr(C)]
2932#[derive(Debug, Copy, Clone)]
2933pub struct __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 {
2934    pub __low: ::std::os::raw::c_uint,
2935    pub __high: ::std::os::raw::c_uint,
2936}
2937pub type pthread_t = ::std::os::raw::c_ulong;
2938#[repr(C)]
2939#[derive(Copy, Clone)]
2940pub union pthread_mutexattr_t {
2941    pub __size: [::std::os::raw::c_char; 4usize],
2942    pub __align: ::std::os::raw::c_int,
2943    _bindgen_union_align: u32,
2944}
2945#[repr(C)]
2946#[derive(Copy, Clone)]
2947pub union pthread_condattr_t {
2948    pub __size: [::std::os::raw::c_char; 4usize],
2949    pub __align: ::std::os::raw::c_int,
2950    _bindgen_union_align: u32,
2951}
2952pub type pthread_key_t = ::std::os::raw::c_uint;
2953pub type pthread_once_t = ::std::os::raw::c_int;
2954#[repr(C)]
2955#[derive(Copy, Clone)]
2956pub union pthread_attr_t {
2957    pub __size: [::std::os::raw::c_char; 56usize],
2958    pub __align: ::std::os::raw::c_long,
2959    _bindgen_union_align: [u64; 7usize],
2960}
2961#[repr(C)]
2962#[derive(Copy, Clone)]
2963pub union pthread_mutex_t {
2964    pub __data: __pthread_mutex_s,
2965    pub __size: [::std::os::raw::c_char; 40usize],
2966    pub __align: ::std::os::raw::c_long,
2967    _bindgen_union_align: [u64; 5usize],
2968}
2969#[repr(C)]
2970#[derive(Copy, Clone)]
2971pub union pthread_cond_t {
2972    pub __data: __pthread_cond_s,
2973    pub __size: [::std::os::raw::c_char; 48usize],
2974    pub __align: ::std::os::raw::c_longlong,
2975    _bindgen_union_align: [u64; 6usize],
2976}
2977#[repr(C)]
2978#[derive(Copy, Clone)]
2979pub union pthread_rwlock_t {
2980    pub __data: __pthread_rwlock_arch_t,
2981    pub __size: [::std::os::raw::c_char; 56usize],
2982    pub __align: ::std::os::raw::c_long,
2983    _bindgen_union_align: [u64; 7usize],
2984}
2985#[repr(C)]
2986#[derive(Copy, Clone)]
2987pub union pthread_rwlockattr_t {
2988    pub __size: [::std::os::raw::c_char; 8usize],
2989    pub __align: ::std::os::raw::c_long,
2990    _bindgen_union_align: u64,
2991}
2992pub type pthread_spinlock_t = ::std::os::raw::c_int;
2993#[repr(C)]
2994#[derive(Copy, Clone)]
2995pub union pthread_barrier_t {
2996    pub __size: [::std::os::raw::c_char; 32usize],
2997    pub __align: ::std::os::raw::c_long,
2998    _bindgen_union_align: [u64; 4usize],
2999}
3000#[repr(C)]
3001#[derive(Copy, Clone)]
3002pub union pthread_barrierattr_t {
3003    pub __size: [::std::os::raw::c_char; 4usize],
3004    pub __align: ::std::os::raw::c_int,
3005    _bindgen_union_align: u32,
3006}
3007extern "C" {
3008    pub fn random() -> ::std::os::raw::c_long;
3009}
3010extern "C" {
3011    pub fn srandom(__seed: ::std::os::raw::c_uint);
3012}
3013extern "C" {
3014    pub fn initstate(
3015        __seed: ::std::os::raw::c_uint,
3016        __statebuf: *mut ::std::os::raw::c_char,
3017        __statelen: usize,
3018    ) -> *mut ::std::os::raw::c_char;
3019}
3020extern "C" {
3021    pub fn setstate(__statebuf: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3022}
3023#[repr(C)]
3024#[derive(Debug, Copy, Clone)]
3025pub struct random_data {
3026    pub fptr: *mut i32,
3027    pub rptr: *mut i32,
3028    pub state: *mut i32,
3029    pub rand_type: ::std::os::raw::c_int,
3030    pub rand_deg: ::std::os::raw::c_int,
3031    pub rand_sep: ::std::os::raw::c_int,
3032    pub end_ptr: *mut i32,
3033}
3034extern "C" {
3035    pub fn random_r(__buf: *mut random_data, __result: *mut i32) -> ::std::os::raw::c_int;
3036}
3037extern "C" {
3038    pub fn srandom_r(
3039        __seed: ::std::os::raw::c_uint,
3040        __buf: *mut random_data,
3041    ) -> ::std::os::raw::c_int;
3042}
3043extern "C" {
3044    pub fn initstate_r(
3045        __seed: ::std::os::raw::c_uint,
3046        __statebuf: *mut ::std::os::raw::c_char,
3047        __statelen: usize,
3048        __buf: *mut random_data,
3049    ) -> ::std::os::raw::c_int;
3050}
3051extern "C" {
3052    pub fn setstate_r(
3053        __statebuf: *mut ::std::os::raw::c_char,
3054        __buf: *mut random_data,
3055    ) -> ::std::os::raw::c_int;
3056}
3057extern "C" {
3058    pub fn rand() -> ::std::os::raw::c_int;
3059}
3060extern "C" {
3061    pub fn srand(__seed: ::std::os::raw::c_uint);
3062}
3063extern "C" {
3064    pub fn rand_r(__seed: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
3065}
3066extern "C" {
3067    pub fn drand48() -> f64;
3068}
3069extern "C" {
3070    pub fn erand48(__xsubi: *mut ::std::os::raw::c_ushort) -> f64;
3071}
3072extern "C" {
3073    pub fn lrand48() -> ::std::os::raw::c_long;
3074}
3075extern "C" {
3076    pub fn nrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
3077}
3078extern "C" {
3079    pub fn mrand48() -> ::std::os::raw::c_long;
3080}
3081extern "C" {
3082    pub fn jrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
3083}
3084extern "C" {
3085    pub fn srand48(__seedval: ::std::os::raw::c_long);
3086}
3087extern "C" {
3088    pub fn seed48(__seed16v: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort;
3089}
3090extern "C" {
3091    pub fn lcong48(__param: *mut ::std::os::raw::c_ushort);
3092}
3093#[repr(C)]
3094#[derive(Debug, Copy, Clone)]
3095pub struct drand48_data {
3096    pub __x: [::std::os::raw::c_ushort; 3usize],
3097    pub __old_x: [::std::os::raw::c_ushort; 3usize],
3098    pub __c: ::std::os::raw::c_ushort,
3099    pub __init: ::std::os::raw::c_ushort,
3100    pub __a: ::std::os::raw::c_ulonglong,
3101}
3102extern "C" {
3103    pub fn drand48_r(__buffer: *mut drand48_data, __result: *mut f64) -> ::std::os::raw::c_int;
3104}
3105extern "C" {
3106    pub fn erand48_r(
3107        __xsubi: *mut ::std::os::raw::c_ushort,
3108        __buffer: *mut drand48_data,
3109        __result: *mut f64,
3110    ) -> ::std::os::raw::c_int;
3111}
3112extern "C" {
3113    pub fn lrand48_r(
3114        __buffer: *mut drand48_data,
3115        __result: *mut ::std::os::raw::c_long,
3116    ) -> ::std::os::raw::c_int;
3117}
3118extern "C" {
3119    pub fn nrand48_r(
3120        __xsubi: *mut ::std::os::raw::c_ushort,
3121        __buffer: *mut drand48_data,
3122        __result: *mut ::std::os::raw::c_long,
3123    ) -> ::std::os::raw::c_int;
3124}
3125extern "C" {
3126    pub fn mrand48_r(
3127        __buffer: *mut drand48_data,
3128        __result: *mut ::std::os::raw::c_long,
3129    ) -> ::std::os::raw::c_int;
3130}
3131extern "C" {
3132    pub fn jrand48_r(
3133        __xsubi: *mut ::std::os::raw::c_ushort,
3134        __buffer: *mut drand48_data,
3135        __result: *mut ::std::os::raw::c_long,
3136    ) -> ::std::os::raw::c_int;
3137}
3138extern "C" {
3139    pub fn srand48_r(
3140        __seedval: ::std::os::raw::c_long,
3141        __buffer: *mut drand48_data,
3142    ) -> ::std::os::raw::c_int;
3143}
3144extern "C" {
3145    pub fn seed48_r(
3146        __seed16v: *mut ::std::os::raw::c_ushort,
3147        __buffer: *mut drand48_data,
3148    ) -> ::std::os::raw::c_int;
3149}
3150extern "C" {
3151    pub fn lcong48_r(
3152        __param: *mut ::std::os::raw::c_ushort,
3153        __buffer: *mut drand48_data,
3154    ) -> ::std::os::raw::c_int;
3155}
3156extern "C" {
3157    pub fn malloc(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
3158}
3159extern "C" {
3160    pub fn calloc(
3161        __nmemb: ::std::os::raw::c_ulong,
3162        __size: ::std::os::raw::c_ulong,
3163    ) -> *mut ::std::os::raw::c_void;
3164}
3165extern "C" {
3166    pub fn realloc(
3167        __ptr: *mut ::std::os::raw::c_void,
3168        __size: ::std::os::raw::c_ulong,
3169    ) -> *mut ::std::os::raw::c_void;
3170}
3171extern "C" {
3172    pub fn reallocarray(
3173        __ptr: *mut ::std::os::raw::c_void,
3174        __nmemb: usize,
3175        __size: usize,
3176    ) -> *mut ::std::os::raw::c_void;
3177}
3178extern "C" {
3179    pub fn free(__ptr: *mut ::std::os::raw::c_void);
3180}
3181extern "C" {
3182    pub fn alloca(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
3183}
3184extern "C" {
3185    pub fn valloc(__size: usize) -> *mut ::std::os::raw::c_void;
3186}
3187extern "C" {
3188    pub fn posix_memalign(
3189        __memptr: *mut *mut ::std::os::raw::c_void,
3190        __alignment: usize,
3191        __size: usize,
3192    ) -> ::std::os::raw::c_int;
3193}
3194extern "C" {
3195    pub fn aligned_alloc(__alignment: usize, __size: usize) -> *mut ::std::os::raw::c_void;
3196}
3197extern "C" {
3198    pub fn abort();
3199}
3200extern "C" {
3201    pub fn atexit(__func: ::std::option::Option<unsafe extern "C" fn()>) -> ::std::os::raw::c_int;
3202}
3203extern "C" {
3204    pub fn at_quick_exit(
3205        __func: ::std::option::Option<unsafe extern "C" fn()>,
3206    ) -> ::std::os::raw::c_int;
3207}
3208extern "C" {
3209    pub fn on_exit(
3210        __func: ::std::option::Option<
3211            unsafe extern "C" fn(__func: ::std::os::raw::c_int, __arg: *mut ::std::os::raw::c_void),
3212        >,
3213        __arg: *mut ::std::os::raw::c_void,
3214    ) -> ::std::os::raw::c_int;
3215}
3216extern "C" {
3217    pub fn exit(__status: ::std::os::raw::c_int);
3218}
3219extern "C" {
3220    pub fn quick_exit(__status: ::std::os::raw::c_int);
3221}
3222extern "C" {
3223    pub fn _Exit(__status: ::std::os::raw::c_int);
3224}
3225extern "C" {
3226    pub fn getenv(__name: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3227}
3228extern "C" {
3229    pub fn putenv(__string: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3230}
3231extern "C" {
3232    pub fn setenv(
3233        __name: *const ::std::os::raw::c_char,
3234        __value: *const ::std::os::raw::c_char,
3235        __replace: ::std::os::raw::c_int,
3236    ) -> ::std::os::raw::c_int;
3237}
3238extern "C" {
3239    pub fn unsetenv(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3240}
3241extern "C" {
3242    pub fn clearenv() -> ::std::os::raw::c_int;
3243}
3244extern "C" {
3245    pub fn mktemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3246}
3247extern "C" {
3248    pub fn mkstemp(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3249}
3250extern "C" {
3251    pub fn mkstemps(
3252        __template: *mut ::std::os::raw::c_char,
3253        __suffixlen: ::std::os::raw::c_int,
3254    ) -> ::std::os::raw::c_int;
3255}
3256extern "C" {
3257    pub fn mkdtemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3258}
3259extern "C" {
3260    pub fn system(__command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3261}
3262extern "C" {
3263    pub fn realpath(
3264        __name: *const ::std::os::raw::c_char,
3265        __resolved: *mut ::std::os::raw::c_char,
3266    ) -> *mut ::std::os::raw::c_char;
3267}
3268pub type __compar_fn_t = ::std::option::Option<
3269    unsafe extern "C" fn(
3270        arg1: *const ::std::os::raw::c_void,
3271        arg2: *const ::std::os::raw::c_void,
3272    ) -> ::std::os::raw::c_int,
3273>;
3274extern "C" {
3275    pub fn bsearch(
3276        __key: *const ::std::os::raw::c_void,
3277        __base: *const ::std::os::raw::c_void,
3278        __nmemb: usize,
3279        __size: usize,
3280        __compar: __compar_fn_t,
3281    ) -> *mut ::std::os::raw::c_void;
3282}
3283extern "C" {
3284    pub fn qsort(
3285        __base: *mut ::std::os::raw::c_void,
3286        __nmemb: usize,
3287        __size: usize,
3288        __compar: __compar_fn_t,
3289    );
3290}
3291extern "C" {
3292    pub fn abs(__x: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3293}
3294extern "C" {
3295    pub fn labs(__x: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
3296}
3297extern "C" {
3298    pub fn llabs(__x: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
3299}
3300extern "C" {
3301    pub fn div(__numer: ::std::os::raw::c_int, __denom: ::std::os::raw::c_int) -> div_t;
3302}
3303extern "C" {
3304    pub fn ldiv(__numer: ::std::os::raw::c_long, __denom: ::std::os::raw::c_long) -> ldiv_t;
3305}
3306extern "C" {
3307    pub fn lldiv(
3308        __numer: ::std::os::raw::c_longlong,
3309        __denom: ::std::os::raw::c_longlong,
3310    ) -> lldiv_t;
3311}
3312extern "C" {
3313    pub fn ecvt(
3314        __value: f64,
3315        __ndigit: ::std::os::raw::c_int,
3316        __decpt: *mut ::std::os::raw::c_int,
3317        __sign: *mut ::std::os::raw::c_int,
3318    ) -> *mut ::std::os::raw::c_char;
3319}
3320extern "C" {
3321    pub fn fcvt(
3322        __value: f64,
3323        __ndigit: ::std::os::raw::c_int,
3324        __decpt: *mut ::std::os::raw::c_int,
3325        __sign: *mut ::std::os::raw::c_int,
3326    ) -> *mut ::std::os::raw::c_char;
3327}
3328extern "C" {
3329    pub fn gcvt(
3330        __value: f64,
3331        __ndigit: ::std::os::raw::c_int,
3332        __buf: *mut ::std::os::raw::c_char,
3333    ) -> *mut ::std::os::raw::c_char;
3334}
3335extern "C" {
3336    pub fn qecvt(
3337        __value: u128,
3338        __ndigit: ::std::os::raw::c_int,
3339        __decpt: *mut ::std::os::raw::c_int,
3340        __sign: *mut ::std::os::raw::c_int,
3341    ) -> *mut ::std::os::raw::c_char;
3342}
3343extern "C" {
3344    pub fn qfcvt(
3345        __value: u128,
3346        __ndigit: ::std::os::raw::c_int,
3347        __decpt: *mut ::std::os::raw::c_int,
3348        __sign: *mut ::std::os::raw::c_int,
3349    ) -> *mut ::std::os::raw::c_char;
3350}
3351extern "C" {
3352    pub fn qgcvt(
3353        __value: u128,
3354        __ndigit: ::std::os::raw::c_int,
3355        __buf: *mut ::std::os::raw::c_char,
3356    ) -> *mut ::std::os::raw::c_char;
3357}
3358extern "C" {
3359    pub fn ecvt_r(
3360        __value: f64,
3361        __ndigit: ::std::os::raw::c_int,
3362        __decpt: *mut ::std::os::raw::c_int,
3363        __sign: *mut ::std::os::raw::c_int,
3364        __buf: *mut ::std::os::raw::c_char,
3365        __len: usize,
3366    ) -> ::std::os::raw::c_int;
3367}
3368extern "C" {
3369    pub fn fcvt_r(
3370        __value: f64,
3371        __ndigit: ::std::os::raw::c_int,
3372        __decpt: *mut ::std::os::raw::c_int,
3373        __sign: *mut ::std::os::raw::c_int,
3374        __buf: *mut ::std::os::raw::c_char,
3375        __len: usize,
3376    ) -> ::std::os::raw::c_int;
3377}
3378extern "C" {
3379    pub fn qecvt_r(
3380        __value: u128,
3381        __ndigit: ::std::os::raw::c_int,
3382        __decpt: *mut ::std::os::raw::c_int,
3383        __sign: *mut ::std::os::raw::c_int,
3384        __buf: *mut ::std::os::raw::c_char,
3385        __len: usize,
3386    ) -> ::std::os::raw::c_int;
3387}
3388extern "C" {
3389    pub fn qfcvt_r(
3390        __value: u128,
3391        __ndigit: ::std::os::raw::c_int,
3392        __decpt: *mut ::std::os::raw::c_int,
3393        __sign: *mut ::std::os::raw::c_int,
3394        __buf: *mut ::std::os::raw::c_char,
3395        __len: usize,
3396    ) -> ::std::os::raw::c_int;
3397}
3398extern "C" {
3399    pub fn mblen(__s: *const ::std::os::raw::c_char, __n: usize) -> ::std::os::raw::c_int;
3400}
3401extern "C" {
3402    pub fn mbtowc(
3403        __pwc: *mut wchar_t,
3404        __s: *const ::std::os::raw::c_char,
3405        __n: usize,
3406    ) -> ::std::os::raw::c_int;
3407}
3408extern "C" {
3409    pub fn wctomb(__s: *mut ::std::os::raw::c_char, __wchar: wchar_t) -> ::std::os::raw::c_int;
3410}
3411extern "C" {
3412    pub fn mbstowcs(__pwcs: *mut wchar_t, __s: *const ::std::os::raw::c_char, __n: usize) -> usize;
3413}
3414extern "C" {
3415    pub fn wcstombs(__s: *mut ::std::os::raw::c_char, __pwcs: *const wchar_t, __n: usize) -> usize;
3416}
3417extern "C" {
3418    pub fn rpmatch(__response: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3419}
3420extern "C" {
3421    pub fn getsubopt(
3422        __optionp: *mut *mut ::std::os::raw::c_char,
3423        __tokens: *const *mut ::std::os::raw::c_char,
3424        __valuep: *mut *mut ::std::os::raw::c_char,
3425    ) -> ::std::os::raw::c_int;
3426}
3427extern "C" {
3428    pub fn getloadavg(__loadavg: *mut f64, __nelem: ::std::os::raw::c_int)
3429        -> ::std::os::raw::c_int;
3430}
3431extern "C" {
3432    pub fn memcpy(
3433        __dest: *mut ::std::os::raw::c_void,
3434        __src: *const ::std::os::raw::c_void,
3435        __n: ::std::os::raw::c_ulong,
3436    ) -> *mut ::std::os::raw::c_void;
3437}
3438extern "C" {
3439    pub fn memmove(
3440        __dest: *mut ::std::os::raw::c_void,
3441        __src: *const ::std::os::raw::c_void,
3442        __n: ::std::os::raw::c_ulong,
3443    ) -> *mut ::std::os::raw::c_void;
3444}
3445extern "C" {
3446    pub fn memccpy(
3447        __dest: *mut ::std::os::raw::c_void,
3448        __src: *const ::std::os::raw::c_void,
3449        __c: ::std::os::raw::c_int,
3450        __n: usize,
3451    ) -> *mut ::std::os::raw::c_void;
3452}
3453extern "C" {
3454    pub fn memset(
3455        __s: *mut ::std::os::raw::c_void,
3456        __c: ::std::os::raw::c_int,
3457        __n: ::std::os::raw::c_ulong,
3458    ) -> *mut ::std::os::raw::c_void;
3459}
3460extern "C" {
3461    pub fn memcmp(
3462        __s1: *const ::std::os::raw::c_void,
3463        __s2: *const ::std::os::raw::c_void,
3464        __n: ::std::os::raw::c_ulong,
3465    ) -> ::std::os::raw::c_int;
3466}
3467extern "C" {
3468    pub fn memchr(
3469        __s: *const ::std::os::raw::c_void,
3470        __c: ::std::os::raw::c_int,
3471        __n: ::std::os::raw::c_ulong,
3472    ) -> *mut ::std::os::raw::c_void;
3473}
3474extern "C" {
3475    pub fn strcpy(
3476        __dest: *mut ::std::os::raw::c_char,
3477        __src: *const ::std::os::raw::c_char,
3478    ) -> *mut ::std::os::raw::c_char;
3479}
3480extern "C" {
3481    pub fn strncpy(
3482        __dest: *mut ::std::os::raw::c_char,
3483        __src: *const ::std::os::raw::c_char,
3484        __n: ::std::os::raw::c_ulong,
3485    ) -> *mut ::std::os::raw::c_char;
3486}
3487extern "C" {
3488    pub fn strcat(
3489        __dest: *mut ::std::os::raw::c_char,
3490        __src: *const ::std::os::raw::c_char,
3491    ) -> *mut ::std::os::raw::c_char;
3492}
3493extern "C" {
3494    pub fn strncat(
3495        __dest: *mut ::std::os::raw::c_char,
3496        __src: *const ::std::os::raw::c_char,
3497        __n: ::std::os::raw::c_ulong,
3498    ) -> *mut ::std::os::raw::c_char;
3499}
3500extern "C" {
3501    pub fn strcmp(
3502        __s1: *const ::std::os::raw::c_char,
3503        __s2: *const ::std::os::raw::c_char,
3504    ) -> ::std::os::raw::c_int;
3505}
3506extern "C" {
3507    pub fn strncmp(
3508        __s1: *const ::std::os::raw::c_char,
3509        __s2: *const ::std::os::raw::c_char,
3510        __n: ::std::os::raw::c_ulong,
3511    ) -> ::std::os::raw::c_int;
3512}
3513extern "C" {
3514    pub fn strcoll(
3515        __s1: *const ::std::os::raw::c_char,
3516        __s2: *const ::std::os::raw::c_char,
3517    ) -> ::std::os::raw::c_int;
3518}
3519extern "C" {
3520    pub fn strxfrm(
3521        __dest: *mut ::std::os::raw::c_char,
3522        __src: *const ::std::os::raw::c_char,
3523        __n: ::std::os::raw::c_ulong,
3524    ) -> ::std::os::raw::c_ulong;
3525}
3526#[repr(C)]
3527#[derive(Debug, Copy, Clone)]
3528pub struct __locale_struct {
3529    pub __locales: [*mut __locale_data; 13usize],
3530    pub __ctype_b: *const ::std::os::raw::c_ushort,
3531    pub __ctype_tolower: *const ::std::os::raw::c_int,
3532    pub __ctype_toupper: *const ::std::os::raw::c_int,
3533    pub __names: [*const ::std::os::raw::c_char; 13usize],
3534}
3535pub type __locale_t = *mut __locale_struct;
3536pub type locale_t = __locale_t;
3537extern "C" {
3538    pub fn strcoll_l(
3539        __s1: *const ::std::os::raw::c_char,
3540        __s2: *const ::std::os::raw::c_char,
3541        __l: locale_t,
3542    ) -> ::std::os::raw::c_int;
3543}
3544extern "C" {
3545    pub fn strxfrm_l(
3546        __dest: *mut ::std::os::raw::c_char,
3547        __src: *const ::std::os::raw::c_char,
3548        __n: usize,
3549        __l: locale_t,
3550    ) -> usize;
3551}
3552extern "C" {
3553    pub fn strdup(__s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3554}
3555extern "C" {
3556    pub fn strndup(
3557        __string: *const ::std::os::raw::c_char,
3558        __n: ::std::os::raw::c_ulong,
3559    ) -> *mut ::std::os::raw::c_char;
3560}
3561extern "C" {
3562    pub fn strchr(
3563        __s: *const ::std::os::raw::c_char,
3564        __c: ::std::os::raw::c_int,
3565    ) -> *mut ::std::os::raw::c_char;
3566}
3567extern "C" {
3568    pub fn strrchr(
3569        __s: *const ::std::os::raw::c_char,
3570        __c: ::std::os::raw::c_int,
3571    ) -> *mut ::std::os::raw::c_char;
3572}
3573extern "C" {
3574    pub fn strcspn(
3575        __s: *const ::std::os::raw::c_char,
3576        __reject: *const ::std::os::raw::c_char,
3577    ) -> ::std::os::raw::c_ulong;
3578}
3579extern "C" {
3580    pub fn strspn(
3581        __s: *const ::std::os::raw::c_char,
3582        __accept: *const ::std::os::raw::c_char,
3583    ) -> ::std::os::raw::c_ulong;
3584}
3585extern "C" {
3586    pub fn strpbrk(
3587        __s: *const ::std::os::raw::c_char,
3588        __accept: *const ::std::os::raw::c_char,
3589    ) -> *mut ::std::os::raw::c_char;
3590}
3591extern "C" {
3592    pub fn strstr(
3593        __haystack: *const ::std::os::raw::c_char,
3594        __needle: *const ::std::os::raw::c_char,
3595    ) -> *mut ::std::os::raw::c_char;
3596}
3597extern "C" {
3598    pub fn strtok(
3599        __s: *mut ::std::os::raw::c_char,
3600        __delim: *const ::std::os::raw::c_char,
3601    ) -> *mut ::std::os::raw::c_char;
3602}
3603extern "C" {
3604    pub fn __strtok_r(
3605        __s: *mut ::std::os::raw::c_char,
3606        __delim: *const ::std::os::raw::c_char,
3607        __save_ptr: *mut *mut ::std::os::raw::c_char,
3608    ) -> *mut ::std::os::raw::c_char;
3609}
3610extern "C" {
3611    pub fn strtok_r(
3612        __s: *mut ::std::os::raw::c_char,
3613        __delim: *const ::std::os::raw::c_char,
3614        __save_ptr: *mut *mut ::std::os::raw::c_char,
3615    ) -> *mut ::std::os::raw::c_char;
3616}
3617extern "C" {
3618    pub fn strlen(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_ulong;
3619}
3620extern "C" {
3621    pub fn strnlen(__string: *const ::std::os::raw::c_char, __maxlen: usize) -> usize;
3622}
3623extern "C" {
3624    pub fn strerror(__errnum: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
3625}
3626extern "C" {
3627    #[link_name = "\u{1}__xpg_strerror_r"]
3628    pub fn strerror_r(
3629        __errnum: ::std::os::raw::c_int,
3630        __buf: *mut ::std::os::raw::c_char,
3631        __buflen: usize,
3632    ) -> ::std::os::raw::c_int;
3633}
3634extern "C" {
3635    pub fn strerror_l(
3636        __errnum: ::std::os::raw::c_int,
3637        __l: locale_t,
3638    ) -> *mut ::std::os::raw::c_char;
3639}
3640extern "C" {
3641    pub fn bcmp(
3642        __s1: *const ::std::os::raw::c_void,
3643        __s2: *const ::std::os::raw::c_void,
3644        __n: usize,
3645    ) -> ::std::os::raw::c_int;
3646}
3647extern "C" {
3648    pub fn bcopy(
3649        __src: *const ::std::os::raw::c_void,
3650        __dest: *mut ::std::os::raw::c_void,
3651        __n: usize,
3652    );
3653}
3654extern "C" {
3655    pub fn bzero(__s: *mut ::std::os::raw::c_void, __n: ::std::os::raw::c_ulong);
3656}
3657extern "C" {
3658    pub fn index(
3659        __s: *const ::std::os::raw::c_char,
3660        __c: ::std::os::raw::c_int,
3661    ) -> *mut ::std::os::raw::c_char;
3662}
3663extern "C" {
3664    pub fn rindex(
3665        __s: *const ::std::os::raw::c_char,
3666        __c: ::std::os::raw::c_int,
3667    ) -> *mut ::std::os::raw::c_char;
3668}
3669extern "C" {
3670    pub fn ffs(__i: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3671}
3672extern "C" {
3673    pub fn ffsl(__l: ::std::os::raw::c_long) -> ::std::os::raw::c_int;
3674}
3675extern "C" {
3676    pub fn ffsll(__ll: ::std::os::raw::c_longlong) -> ::std::os::raw::c_int;
3677}
3678extern "C" {
3679    pub fn strcasecmp(
3680        __s1: *const ::std::os::raw::c_char,
3681        __s2: *const ::std::os::raw::c_char,
3682    ) -> ::std::os::raw::c_int;
3683}
3684extern "C" {
3685    pub fn strncasecmp(
3686        __s1: *const ::std::os::raw::c_char,
3687        __s2: *const ::std::os::raw::c_char,
3688        __n: ::std::os::raw::c_ulong,
3689    ) -> ::std::os::raw::c_int;
3690}
3691extern "C" {
3692    pub fn strcasecmp_l(
3693        __s1: *const ::std::os::raw::c_char,
3694        __s2: *const ::std::os::raw::c_char,
3695        __loc: locale_t,
3696    ) -> ::std::os::raw::c_int;
3697}
3698extern "C" {
3699    pub fn strncasecmp_l(
3700        __s1: *const ::std::os::raw::c_char,
3701        __s2: *const ::std::os::raw::c_char,
3702        __n: usize,
3703        __loc: locale_t,
3704    ) -> ::std::os::raw::c_int;
3705}
3706extern "C" {
3707    pub fn explicit_bzero(__s: *mut ::std::os::raw::c_void, __n: usize);
3708}
3709extern "C" {
3710    pub fn strsep(
3711        __stringp: *mut *mut ::std::os::raw::c_char,
3712        __delim: *const ::std::os::raw::c_char,
3713    ) -> *mut ::std::os::raw::c_char;
3714}
3715extern "C" {
3716    pub fn strsignal(__sig: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
3717}
3718extern "C" {
3719    pub fn __stpcpy(
3720        __dest: *mut ::std::os::raw::c_char,
3721        __src: *const ::std::os::raw::c_char,
3722    ) -> *mut ::std::os::raw::c_char;
3723}
3724extern "C" {
3725    pub fn stpcpy(
3726        __dest: *mut ::std::os::raw::c_char,
3727        __src: *const ::std::os::raw::c_char,
3728    ) -> *mut ::std::os::raw::c_char;
3729}
3730extern "C" {
3731    pub fn __stpncpy(
3732        __dest: *mut ::std::os::raw::c_char,
3733        __src: *const ::std::os::raw::c_char,
3734        __n: usize,
3735    ) -> *mut ::std::os::raw::c_char;
3736}
3737extern "C" {
3738    pub fn stpncpy(
3739        __dest: *mut ::std::os::raw::c_char,
3740        __src: *const ::std::os::raw::c_char,
3741        __n: ::std::os::raw::c_ulong,
3742    ) -> *mut ::std::os::raw::c_char;
3743}
3744extern "C" {
3745    pub fn av_log2(v: ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
3746}
3747extern "C" {
3748    pub fn av_log2_16bit(v: ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
3749}
3750#[repr(C)]
3751#[repr(align(16))]
3752#[derive(Debug, Copy, Clone)]
3753pub struct max_align_t {
3754    pub __clang_max_align_nonce1: ::std::os::raw::c_longlong,
3755    pub __bindgen_padding_0: u64,
3756    pub __clang_max_align_nonce2: u128,
3757}
3758extern "C" {
3759    #[doc = " Put a description of the AVERROR code errnum in errbuf."]
3760    #[doc = " In case of failure the global variable errno is set to indicate the"]
3761    #[doc = " error. Even in case of failure av_strerror() will print a generic"]
3762    #[doc = " error message indicating the errnum provided to errbuf."]
3763    #[doc = ""]
3764    #[doc = " @param errnum      error code to describe"]
3765    #[doc = " @param errbuf      buffer to which description is written"]
3766    #[doc = " @param errbuf_size the size in bytes of errbuf"]
3767    #[doc = " @return 0 on success, a negative value if a description for errnum"]
3768    #[doc = " cannot be found"]
3769    pub fn av_strerror(
3770        errnum: ::std::os::raw::c_int,
3771        errbuf: *mut ::std::os::raw::c_char,
3772        errbuf_size: usize,
3773    ) -> ::std::os::raw::c_int;
3774}
3775extern "C" {
3776    #[doc = " Allocate a memory block with alignment suitable for all memory accesses"]
3777    #[doc = " (including vectors if available on the CPU)."]
3778    #[doc = ""]
3779    #[doc = " @param size Size in bytes for the memory block to be allocated"]
3780    #[doc = " @return Pointer to the allocated block, or `NULL` if the block cannot"]
3781    #[doc = "         be allocated"]
3782    #[doc = " @see av_mallocz()"]
3783    pub fn av_malloc(size: usize) -> *mut ::std::os::raw::c_void;
3784}
3785extern "C" {
3786    #[doc = " Allocate a memory block with alignment suitable for all memory accesses"]
3787    #[doc = " (including vectors if available on the CPU) and zero all the bytes of the"]
3788    #[doc = " block."]
3789    #[doc = ""]
3790    #[doc = " @param size Size in bytes for the memory block to be allocated"]
3791    #[doc = " @return Pointer to the allocated block, or `NULL` if it cannot be allocated"]
3792    #[doc = " @see av_malloc()"]
3793    pub fn av_mallocz(size: usize) -> *mut ::std::os::raw::c_void;
3794}
3795extern "C" {
3796    #[doc = " Allocate a memory block for an array with av_malloc()."]
3797    #[doc = ""]
3798    #[doc = " The allocated memory will have size `size * nmemb` bytes."]
3799    #[doc = ""]
3800    #[doc = " @param nmemb Number of element"]
3801    #[doc = " @param size  Size of a single element"]
3802    #[doc = " @return Pointer to the allocated block, or `NULL` if the block cannot"]
3803    #[doc = "         be allocated"]
3804    #[doc = " @see av_malloc()"]
3805    pub fn av_malloc_array(nmemb: usize, size: usize) -> *mut ::std::os::raw::c_void;
3806}
3807extern "C" {
3808    #[doc = " Allocate a memory block for an array with av_mallocz()."]
3809    #[doc = ""]
3810    #[doc = " The allocated memory will have size `size * nmemb` bytes."]
3811    #[doc = ""]
3812    #[doc = " @param nmemb Number of elements"]
3813    #[doc = " @param size  Size of the single element"]
3814    #[doc = " @return Pointer to the allocated block, or `NULL` if the block cannot"]
3815    #[doc = "         be allocated"]
3816    #[doc = ""]
3817    #[doc = " @see av_mallocz()"]
3818    #[doc = " @see av_malloc_array()"]
3819    pub fn av_mallocz_array(nmemb: usize, size: usize) -> *mut ::std::os::raw::c_void;
3820}
3821extern "C" {
3822    #[doc = " Non-inlined equivalent of av_mallocz_array()."]
3823    #[doc = ""]
3824    #[doc = " Created for symmetry with the calloc() C function."]
3825    pub fn av_calloc(nmemb: usize, size: usize) -> *mut ::std::os::raw::c_void;
3826}
3827extern "C" {
3828    #[doc = " Allocate, reallocate, or free a block of memory."]
3829    #[doc = ""]
3830    #[doc = " If `ptr` is `NULL` and `size` > 0, allocate a new block. If `size` is"]
3831    #[doc = " zero, free the memory block pointed to by `ptr`. Otherwise, expand or"]
3832    #[doc = " shrink that block of memory according to `size`."]
3833    #[doc = ""]
3834    #[doc = " @param ptr  Pointer to a memory block already allocated with"]
3835    #[doc = "             av_realloc() or `NULL`"]
3836    #[doc = " @param size Size in bytes of the memory block to be allocated or"]
3837    #[doc = "             reallocated"]
3838    #[doc = ""]
3839    #[doc = " @return Pointer to a newly-reallocated block or `NULL` if the block"]
3840    #[doc = "         cannot be reallocated or the function is used to free the memory block"]
3841    #[doc = ""]
3842    #[doc = " @warning Unlike av_malloc(), the returned pointer is not guaranteed to be"]
3843    #[doc = "          correctly aligned."]
3844    #[doc = " @see av_fast_realloc()"]
3845    #[doc = " @see av_reallocp()"]
3846    pub fn av_realloc(ptr: *mut ::std::os::raw::c_void, size: usize)
3847        -> *mut ::std::os::raw::c_void;
3848}
3849extern "C" {
3850    #[doc = " Allocate, reallocate, or free a block of memory through a pointer to a"]
3851    #[doc = " pointer."]
3852    #[doc = ""]
3853    #[doc = " If `*ptr` is `NULL` and `size` > 0, allocate a new block. If `size` is"]
3854    #[doc = " zero, free the memory block pointed to by `*ptr`. Otherwise, expand or"]
3855    #[doc = " shrink that block of memory according to `size`."]
3856    #[doc = ""]
3857    #[doc = " @param[in,out] ptr  Pointer to a pointer to a memory block already allocated"]
3858    #[doc = "                     with av_realloc(), or a pointer to `NULL`. The pointer"]
3859    #[doc = "                     is updated on success, or freed on failure."]
3860    #[doc = " @param[in]     size Size in bytes for the memory block to be allocated or"]
3861    #[doc = "                     reallocated"]
3862    #[doc = ""]
3863    #[doc = " @return Zero on success, an AVERROR error code on failure"]
3864    #[doc = ""]
3865    #[doc = " @warning Unlike av_malloc(), the allocated memory is not guaranteed to be"]
3866    #[doc = "          correctly aligned."]
3867    pub fn av_reallocp(ptr: *mut ::std::os::raw::c_void, size: usize) -> ::std::os::raw::c_int;
3868}
3869extern "C" {
3870    #[doc = " Allocate, reallocate, or free a block of memory."]
3871    #[doc = ""]
3872    #[doc = " This function does the same thing as av_realloc(), except:"]
3873    #[doc = " - It takes two size arguments and allocates `nelem * elsize` bytes,"]
3874    #[doc = "   after checking the result of the multiplication for integer overflow."]
3875    #[doc = " - It frees the input block in case of failure, thus avoiding the memory"]
3876    #[doc = "   leak with the classic"]
3877    #[doc = "   @code{.c}"]
3878    #[doc = "   buf = realloc(buf);"]
3879    #[doc = "   if (!buf)"]
3880    #[doc = "       return -1;"]
3881    #[doc = "   @endcode"]
3882    #[doc = "   pattern."]
3883    pub fn av_realloc_f(
3884        ptr: *mut ::std::os::raw::c_void,
3885        nelem: usize,
3886        elsize: usize,
3887    ) -> *mut ::std::os::raw::c_void;
3888}
3889extern "C" {
3890    #[doc = " Allocate, reallocate, or free an array."]
3891    #[doc = ""]
3892    #[doc = " If `ptr` is `NULL` and `nmemb` > 0, allocate a new block. If"]
3893    #[doc = " `nmemb` is zero, free the memory block pointed to by `ptr`."]
3894    #[doc = ""]
3895    #[doc = " @param ptr   Pointer to a memory block already allocated with"]
3896    #[doc = "              av_realloc() or `NULL`"]
3897    #[doc = " @param nmemb Number of elements in the array"]
3898    #[doc = " @param size  Size of the single element of the array"]
3899    #[doc = ""]
3900    #[doc = " @return Pointer to a newly-reallocated block or NULL if the block"]
3901    #[doc = "         cannot be reallocated or the function is used to free the memory block"]
3902    #[doc = ""]
3903    #[doc = " @warning Unlike av_malloc(), the allocated memory is not guaranteed to be"]
3904    #[doc = "          correctly aligned."]
3905    #[doc = " @see av_reallocp_array()"]
3906    pub fn av_realloc_array(
3907        ptr: *mut ::std::os::raw::c_void,
3908        nmemb: usize,
3909        size: usize,
3910    ) -> *mut ::std::os::raw::c_void;
3911}
3912extern "C" {
3913    #[doc = " Allocate, reallocate, or free an array through a pointer to a pointer."]
3914    #[doc = ""]
3915    #[doc = " If `*ptr` is `NULL` and `nmemb` > 0, allocate a new block. If `nmemb` is"]
3916    #[doc = " zero, free the memory block pointed to by `*ptr`."]
3917    #[doc = ""]
3918    #[doc = " @param[in,out] ptr   Pointer to a pointer to a memory block already"]
3919    #[doc = "                      allocated with av_realloc(), or a pointer to `NULL`."]
3920    #[doc = "                      The pointer is updated on success, or freed on failure."]
3921    #[doc = " @param[in]     nmemb Number of elements"]
3922    #[doc = " @param[in]     size  Size of the single element"]
3923    #[doc = ""]
3924    #[doc = " @return Zero on success, an AVERROR error code on failure"]
3925    #[doc = ""]
3926    #[doc = " @warning Unlike av_malloc(), the allocated memory is not guaranteed to be"]
3927    #[doc = "          correctly aligned."]
3928    pub fn av_reallocp_array(
3929        ptr: *mut ::std::os::raw::c_void,
3930        nmemb: usize,
3931        size: usize,
3932    ) -> ::std::os::raw::c_int;
3933}
3934extern "C" {
3935    #[doc = " Reallocate the given buffer if it is not large enough, otherwise do nothing."]
3936    #[doc = ""]
3937    #[doc = " If the given buffer is `NULL`, then a new uninitialized buffer is allocated."]
3938    #[doc = ""]
3939    #[doc = " If the given buffer is not large enough, and reallocation fails, `NULL` is"]
3940    #[doc = " returned and `*size` is set to 0, but the original buffer is not changed or"]
3941    #[doc = " freed."]
3942    #[doc = ""]
3943    #[doc = " A typical use pattern follows:"]
3944    #[doc = ""]
3945    #[doc = " @code{.c}"]
3946    #[doc = " uint8_t *buf = ...;"]
3947    #[doc = " uint8_t *new_buf = av_fast_realloc(buf, &current_size, size_needed);"]
3948    #[doc = " if (!new_buf) {"]
3949    #[doc = "     // Allocation failed; clean up original buffer"]
3950    #[doc = "     av_freep(&buf);"]
3951    #[doc = "     return AVERROR(ENOMEM);"]
3952    #[doc = " }"]
3953    #[doc = " @endcode"]
3954    #[doc = ""]
3955    #[doc = " @param[in,out] ptr      Already allocated buffer, or `NULL`"]
3956    #[doc = " @param[in,out] size     Pointer to current size of buffer `ptr`. `*size` is"]
3957    #[doc = "                         changed to `min_size` in case of success or 0 in"]
3958    #[doc = "                         case of failure"]
3959    #[doc = " @param[in]     min_size New size of buffer `ptr`"]
3960    #[doc = " @return `ptr` if the buffer is large enough, a pointer to newly reallocated"]
3961    #[doc = "         buffer if the buffer was not large enough, or `NULL` in case of"]
3962    #[doc = "         error"]
3963    #[doc = " @see av_realloc()"]
3964    #[doc = " @see av_fast_malloc()"]
3965    pub fn av_fast_realloc(
3966        ptr: *mut ::std::os::raw::c_void,
3967        size: *mut ::std::os::raw::c_uint,
3968        min_size: usize,
3969    ) -> *mut ::std::os::raw::c_void;
3970}
3971extern "C" {
3972    #[doc = " Allocate a buffer, reusing the given one if large enough."]
3973    #[doc = ""]
3974    #[doc = " Contrary to av_fast_realloc(), the current buffer contents might not be"]
3975    #[doc = " preserved and on error the old buffer is freed, thus no special handling to"]
3976    #[doc = " avoid memleaks is necessary."]
3977    #[doc = ""]
3978    #[doc = " `*ptr` is allowed to be `NULL`, in which case allocation always happens if"]
3979    #[doc = " `size_needed` is greater than 0."]
3980    #[doc = ""]
3981    #[doc = " @code{.c}"]
3982    #[doc = " uint8_t *buf = ...;"]
3983    #[doc = " av_fast_malloc(&buf, &current_size, size_needed);"]
3984    #[doc = " if (!buf) {"]
3985    #[doc = "     // Allocation failed; buf already freed"]
3986    #[doc = "     return AVERROR(ENOMEM);"]
3987    #[doc = " }"]
3988    #[doc = " @endcode"]
3989    #[doc = ""]
3990    #[doc = " @param[in,out] ptr      Pointer to pointer to an already allocated buffer."]
3991    #[doc = "                         `*ptr` will be overwritten with pointer to new"]
3992    #[doc = "                         buffer on success or `NULL` on failure"]
3993    #[doc = " @param[in,out] size     Pointer to current size of buffer `*ptr`. `*size` is"]
3994    #[doc = "                         changed to `min_size` in case of success or 0 in"]
3995    #[doc = "                         case of failure"]
3996    #[doc = " @param[in]     min_size New size of buffer `*ptr`"]
3997    #[doc = " @see av_realloc()"]
3998    #[doc = " @see av_fast_mallocz()"]
3999    pub fn av_fast_malloc(
4000        ptr: *mut ::std::os::raw::c_void,
4001        size: *mut ::std::os::raw::c_uint,
4002        min_size: usize,
4003    );
4004}
4005extern "C" {
4006    #[doc = " Allocate and clear a buffer, reusing the given one if large enough."]
4007    #[doc = ""]
4008    #[doc = " Like av_fast_malloc(), but all newly allocated space is initially cleared."]
4009    #[doc = " Reused buffer is not cleared."]
4010    #[doc = ""]
4011    #[doc = " `*ptr` is allowed to be `NULL`, in which case allocation always happens if"]
4012    #[doc = " `size_needed` is greater than 0."]
4013    #[doc = ""]
4014    #[doc = " @param[in,out] ptr      Pointer to pointer to an already allocated buffer."]
4015    #[doc = "                         `*ptr` will be overwritten with pointer to new"]
4016    #[doc = "                         buffer on success or `NULL` on failure"]
4017    #[doc = " @param[in,out] size     Pointer to current size of buffer `*ptr`. `*size` is"]
4018    #[doc = "                         changed to `min_size` in case of success or 0 in"]
4019    #[doc = "                         case of failure"]
4020    #[doc = " @param[in]     min_size New size of buffer `*ptr`"]
4021    #[doc = " @see av_fast_malloc()"]
4022    pub fn av_fast_mallocz(
4023        ptr: *mut ::std::os::raw::c_void,
4024        size: *mut ::std::os::raw::c_uint,
4025        min_size: usize,
4026    );
4027}
4028extern "C" {
4029    #[doc = " Free a memory block which has been allocated with a function of av_malloc()"]
4030    #[doc = " or av_realloc() family."]
4031    #[doc = ""]
4032    #[doc = " @param ptr Pointer to the memory block which should be freed."]
4033    #[doc = ""]
4034    #[doc = " @note `ptr = NULL` is explicitly allowed."]
4035    #[doc = " @note It is recommended that you use av_freep() instead, to prevent leaving"]
4036    #[doc = "       behind dangling pointers."]
4037    #[doc = " @see av_freep()"]
4038    pub fn av_free(ptr: *mut ::std::os::raw::c_void);
4039}
4040extern "C" {
4041    #[doc = " Free a memory block which has been allocated with a function of av_malloc()"]
4042    #[doc = " or av_realloc() family, and set the pointer pointing to it to `NULL`."]
4043    #[doc = ""]
4044    #[doc = " @code{.c}"]
4045    #[doc = " uint8_t *buf = av_malloc(16);"]
4046    #[doc = " av_free(buf);"]
4047    #[doc = " // buf now contains a dangling pointer to freed memory, and accidental"]
4048    #[doc = " // dereference of buf will result in a use-after-free, which may be a"]
4049    #[doc = " // security risk."]
4050    #[doc = ""]
4051    #[doc = " uint8_t *buf = av_malloc(16);"]
4052    #[doc = " av_freep(&buf);"]
4053    #[doc = " // buf is now NULL, and accidental dereference will only result in a"]
4054    #[doc = " // NULL-pointer dereference."]
4055    #[doc = " @endcode"]
4056    #[doc = ""]
4057    #[doc = " @param ptr Pointer to the pointer to the memory block which should be freed"]
4058    #[doc = " @note `*ptr = NULL` is safe and leads to no action."]
4059    #[doc = " @see av_free()"]
4060    pub fn av_freep(ptr: *mut ::std::os::raw::c_void);
4061}
4062extern "C" {
4063    #[doc = " Duplicate a string."]
4064    #[doc = ""]
4065    #[doc = " @param s String to be duplicated"]
4066    #[doc = " @return Pointer to a newly-allocated string containing a"]
4067    #[doc = "         copy of `s` or `NULL` if the string cannot be allocated"]
4068    #[doc = " @see av_strndup()"]
4069    pub fn av_strdup(s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
4070}
4071extern "C" {
4072    #[doc = " Duplicate a substring of a string."]
4073    #[doc = ""]
4074    #[doc = " @param s   String to be duplicated"]
4075    #[doc = " @param len Maximum length of the resulting string (not counting the"]
4076    #[doc = "            terminating byte)"]
4077    #[doc = " @return Pointer to a newly-allocated string containing a"]
4078    #[doc = "         substring of `s` or `NULL` if the string cannot be allocated"]
4079    pub fn av_strndup(s: *const ::std::os::raw::c_char, len: usize) -> *mut ::std::os::raw::c_char;
4080}
4081extern "C" {
4082    #[doc = " Duplicate a buffer with av_malloc()."]
4083    #[doc = ""]
4084    #[doc = " @param p    Buffer to be duplicated"]
4085    #[doc = " @param size Size in bytes of the buffer copied"]
4086    #[doc = " @return Pointer to a newly allocated buffer containing a"]
4087    #[doc = "         copy of `p` or `NULL` if the buffer cannot be allocated"]
4088    pub fn av_memdup(p: *const ::std::os::raw::c_void, size: usize) -> *mut ::std::os::raw::c_void;
4089}
4090extern "C" {
4091    #[doc = " Overlapping memcpy() implementation."]
4092    #[doc = ""]
4093    #[doc = " @param dst  Destination buffer"]
4094    #[doc = " @param back Number of bytes back to start copying (i.e. the initial size of"]
4095    #[doc = "             the overlapping window); must be > 0"]
4096    #[doc = " @param cnt  Number of bytes to copy; must be >= 0"]
4097    #[doc = ""]
4098    #[doc = " @note `cnt > back` is valid, this will copy the bytes we just copied,"]
4099    #[doc = "       thus creating a repeating pattern with a period length of `back`."]
4100    pub fn av_memcpy_backptr(dst: *mut u8, back: ::std::os::raw::c_int, cnt: ::std::os::raw::c_int);
4101}
4102extern "C" {
4103    #[doc = " Add the pointer to an element to a dynamic array."]
4104    #[doc = ""]
4105    #[doc = " The array to grow is supposed to be an array of pointers to"]
4106    #[doc = " structures, and the element to add must be a pointer to an already"]
4107    #[doc = " allocated structure."]
4108    #[doc = ""]
4109    #[doc = " The array is reallocated when its size reaches powers of 2."]
4110    #[doc = " Therefore, the amortized cost of adding an element is constant."]
4111    #[doc = ""]
4112    #[doc = " In case of success, the pointer to the array is updated in order to"]
4113    #[doc = " point to the new grown array, and the number pointed to by `nb_ptr`"]
4114    #[doc = " is incremented."]
4115    #[doc = " In case of failure, the array is freed, `*tab_ptr` is set to `NULL` and"]
4116    #[doc = " `*nb_ptr` is set to 0."]
4117    #[doc = ""]
4118    #[doc = " @param[in,out] tab_ptr Pointer to the array to grow"]
4119    #[doc = " @param[in,out] nb_ptr  Pointer to the number of elements in the array"]
4120    #[doc = " @param[in]     elem    Element to add"]
4121    #[doc = " @see av_dynarray_add_nofree(), av_dynarray2_add()"]
4122    pub fn av_dynarray_add(
4123        tab_ptr: *mut ::std::os::raw::c_void,
4124        nb_ptr: *mut ::std::os::raw::c_int,
4125        elem: *mut ::std::os::raw::c_void,
4126    );
4127}
4128extern "C" {
4129    #[doc = " Add an element to a dynamic array."]
4130    #[doc = ""]
4131    #[doc = " Function has the same functionality as av_dynarray_add(),"]
4132    #[doc = " but it doesn\'t free memory on fails. It returns error code"]
4133    #[doc = " instead and leave current buffer untouched."]
4134    #[doc = ""]
4135    #[doc = " @return >=0 on success, negative otherwise"]
4136    #[doc = " @see av_dynarray_add(), av_dynarray2_add()"]
4137    pub fn av_dynarray_add_nofree(
4138        tab_ptr: *mut ::std::os::raw::c_void,
4139        nb_ptr: *mut ::std::os::raw::c_int,
4140        elem: *mut ::std::os::raw::c_void,
4141    ) -> ::std::os::raw::c_int;
4142}
4143extern "C" {
4144    #[doc = " Add an element of size `elem_size` to a dynamic array."]
4145    #[doc = ""]
4146    #[doc = " The array is reallocated when its number of elements reaches powers of 2."]
4147    #[doc = " Therefore, the amortized cost of adding an element is constant."]
4148    #[doc = ""]
4149    #[doc = " In case of success, the pointer to the array is updated in order to"]
4150    #[doc = " point to the new grown array, and the number pointed to by `nb_ptr`"]
4151    #[doc = " is incremented."]
4152    #[doc = " In case of failure, the array is freed, `*tab_ptr` is set to `NULL` and"]
4153    #[doc = " `*nb_ptr` is set to 0."]
4154    #[doc = ""]
4155    #[doc = " @param[in,out] tab_ptr   Pointer to the array to grow"]
4156    #[doc = " @param[in,out] nb_ptr    Pointer to the number of elements in the array"]
4157    #[doc = " @param[in]     elem_size Size in bytes of an element in the array"]
4158    #[doc = " @param[in]     elem_data Pointer to the data of the element to add. If"]
4159    #[doc = "                          `NULL`, the space of the newly added element is"]
4160    #[doc = "                          allocated but left uninitialized."]
4161    #[doc = ""]
4162    #[doc = " @return Pointer to the data of the element to copy in the newly allocated"]
4163    #[doc = "         space"]
4164    #[doc = " @see av_dynarray_add(), av_dynarray_add_nofree()"]
4165    pub fn av_dynarray2_add(
4166        tab_ptr: *mut *mut ::std::os::raw::c_void,
4167        nb_ptr: *mut ::std::os::raw::c_int,
4168        elem_size: usize,
4169        elem_data: *const u8,
4170    ) -> *mut ::std::os::raw::c_void;
4171}
4172extern "C" {
4173    #[doc = " Set the maximum size that may be allocated in one block."]
4174    #[doc = ""]
4175    #[doc = " The value specified with this function is effective for all libavutil\'s @ref"]
4176    #[doc = " lavu_mem_funcs \"heap management functions.\""]
4177    #[doc = ""]
4178    #[doc = " By default, the max value is defined as `INT_MAX`."]
4179    #[doc = ""]
4180    #[doc = " @param max Value to be set as the new maximum size"]
4181    #[doc = ""]
4182    #[doc = " @warning Exercise extreme caution when using this function. Don\'t touch"]
4183    #[doc = "          this if you do not understand the full consequence of doing so."]
4184    pub fn av_max_alloc(max: usize);
4185}
4186#[doc = " Rational number (pair of numerator and denominator)."]
4187#[repr(C)]
4188#[derive(Debug, Copy, Clone)]
4189pub struct AVRational {
4190    #[doc = "< Numerator"]
4191    pub num: ::std::os::raw::c_int,
4192    #[doc = "< Denominator"]
4193    pub den: ::std::os::raw::c_int,
4194}
4195extern "C" {
4196    #[doc = " Reduce a fraction."]
4197    #[doc = ""]
4198    #[doc = " This is useful for framerate calculations."]
4199    #[doc = ""]
4200    #[doc = " @param[out] dst_num Destination numerator"]
4201    #[doc = " @param[out] dst_den Destination denominator"]
4202    #[doc = " @param[in]      num Source numerator"]
4203    #[doc = " @param[in]      den Source denominator"]
4204    #[doc = " @param[in]      max Maximum allowed values for `dst_num` & `dst_den`"]
4205    #[doc = " @return 1 if the operation is exact, 0 otherwise"]
4206    pub fn av_reduce(
4207        dst_num: *mut ::std::os::raw::c_int,
4208        dst_den: *mut ::std::os::raw::c_int,
4209        num: i64,
4210        den: i64,
4211        max: i64,
4212    ) -> ::std::os::raw::c_int;
4213}
4214extern "C" {
4215    #[doc = " Multiply two rationals."]
4216    #[doc = " @param b First rational"]
4217    #[doc = " @param c Second rational"]
4218    #[doc = " @return b*c"]
4219    pub fn av_mul_q(b: AVRational, c: AVRational) -> AVRational;
4220}
4221extern "C" {
4222    #[doc = " Divide one rational by another."]
4223    #[doc = " @param b First rational"]
4224    #[doc = " @param c Second rational"]
4225    #[doc = " @return b/c"]
4226    pub fn av_div_q(b: AVRational, c: AVRational) -> AVRational;
4227}
4228extern "C" {
4229    #[doc = " Add two rationals."]
4230    #[doc = " @param b First rational"]
4231    #[doc = " @param c Second rational"]
4232    #[doc = " @return b+c"]
4233    pub fn av_add_q(b: AVRational, c: AVRational) -> AVRational;
4234}
4235extern "C" {
4236    #[doc = " Subtract one rational from another."]
4237    #[doc = " @param b First rational"]
4238    #[doc = " @param c Second rational"]
4239    #[doc = " @return b-c"]
4240    pub fn av_sub_q(b: AVRational, c: AVRational) -> AVRational;
4241}
4242extern "C" {
4243    #[doc = " Convert a double precision floating point number to a rational."]
4244    #[doc = ""]
4245    #[doc = " In case of infinity, the returned value is expressed as `{1, 0}` or"]
4246    #[doc = " `{-1, 0}` depending on the sign."]
4247    #[doc = ""]
4248    #[doc = " @param d   `double` to convert"]
4249    #[doc = " @param max Maximum allowed numerator and denominator"]
4250    #[doc = " @return `d` in AVRational form"]
4251    #[doc = " @see av_q2d()"]
4252    pub fn av_d2q(d: f64, max: ::std::os::raw::c_int) -> AVRational;
4253}
4254extern "C" {
4255    #[doc = " Find which of the two rationals is closer to another rational."]
4256    #[doc = ""]
4257    #[doc = " @param q     Rational to be compared against"]
4258    #[doc = " @param q1,q2 Rationals to be tested"]
4259    #[doc = " @return One of the following values:"]
4260    #[doc = "         - 1 if `q1` is nearer to `q` than `q2`"]
4261    #[doc = "         - -1 if `q2` is nearer to `q` than `q1`"]
4262    #[doc = "         - 0 if they have the same distance"]
4263    pub fn av_nearer_q(q: AVRational, q1: AVRational, q2: AVRational) -> ::std::os::raw::c_int;
4264}
4265extern "C" {
4266    #[doc = " Find the value in a list of rationals nearest a given reference rational."]
4267    #[doc = ""]
4268    #[doc = " @param q      Reference rational"]
4269    #[doc = " @param q_list Array of rationals terminated by `{0, 0}`"]
4270    #[doc = " @return Index of the nearest value found in the array"]
4271    pub fn av_find_nearest_q_idx(q: AVRational, q_list: *const AVRational)
4272        -> ::std::os::raw::c_int;
4273}
4274extern "C" {
4275    #[doc = " Convert an AVRational to a IEEE 32-bit `float` expressed in fixed-point"]
4276    #[doc = " format."]
4277    #[doc = ""]
4278    #[doc = " @param q Rational to be converted"]
4279    #[doc = " @return Equivalent floating-point value, expressed as an unsigned 32-bit"]
4280    #[doc = "         integer."]
4281    #[doc = " @note The returned value is platform-indepedant."]
4282    pub fn av_q2intfloat(q: AVRational) -> u32;
4283}
4284#[repr(C)]
4285#[derive(Copy, Clone)]
4286pub union av_intfloat32 {
4287    pub i: u32,
4288    pub f: f32,
4289    _bindgen_union_align: u32,
4290}
4291#[repr(C)]
4292#[derive(Copy, Clone)]
4293pub union av_intfloat64 {
4294    pub i: u64,
4295    pub f: f64,
4296    _bindgen_union_align: u64,
4297}
4298#[doc = "< Round toward zero."]
4299pub const AVRounding_AV_ROUND_ZERO: AVRounding = 0;
4300#[doc = "< Round away from zero."]
4301pub const AVRounding_AV_ROUND_INF: AVRounding = 1;
4302#[doc = "< Round toward -infinity."]
4303pub const AVRounding_AV_ROUND_DOWN: AVRounding = 2;
4304#[doc = "< Round toward +infinity."]
4305pub const AVRounding_AV_ROUND_UP: AVRounding = 3;
4306#[doc = "< Round to nearest and halfway cases away from zero."]
4307pub const AVRounding_AV_ROUND_NEAR_INF: AVRounding = 5;
4308#[doc = " Flag telling rescaling functions to pass `INT64_MIN`/`MAX` through"]
4309#[doc = " unchanged, avoiding special cases for #AV_NOPTS_VALUE."]
4310#[doc = ""]
4311#[doc = " Unlike other values of the enumeration AVRounding, this value is a"]
4312#[doc = " bitmask that must be used in conjunction with another value of the"]
4313#[doc = " enumeration through a bitwise OR, in order to set behavior for normal"]
4314#[doc = " cases."]
4315#[doc = ""]
4316#[doc = " @code{.c}"]
4317#[doc = " av_rescale_rnd(3, 1, 2, AV_ROUND_UP | AV_ROUND_PASS_MINMAX);"]
4318#[doc = " // Rescaling 3:"]
4319#[doc = " //     Calculating 3 * 1 / 2"]
4320#[doc = " //     3 / 2 is rounded up to 2"]
4321#[doc = " //     => 2"]
4322#[doc = ""]
4323#[doc = " av_rescale_rnd(AV_NOPTS_VALUE, 1, 2, AV_ROUND_UP | AV_ROUND_PASS_MINMAX);"]
4324#[doc = " // Rescaling AV_NOPTS_VALUE:"]
4325#[doc = " //     AV_NOPTS_VALUE == INT64_MIN"]
4326#[doc = " //     AV_NOPTS_VALUE is passed through"]
4327#[doc = " //     => AV_NOPTS_VALUE"]
4328#[doc = " @endcode"]
4329pub const AVRounding_AV_ROUND_PASS_MINMAX: AVRounding = 8192;
4330#[doc = " Rounding methods."]
4331pub type AVRounding = u32;
4332extern "C" {
4333    #[doc = " Compute the greatest common divisor of two integer operands."]
4334    #[doc = ""]
4335    #[doc = " @param a,b Operands"]
4336    #[doc = " @return GCD of a and b up to sign; if a >= 0 and b >= 0, return value is >= 0;"]
4337    #[doc = " if a == 0 and b == 0, returns 0."]
4338    pub fn av_gcd(a: i64, b: i64) -> i64;
4339}
4340extern "C" {
4341    #[doc = " Rescale a 64-bit integer with rounding to nearest."]
4342    #[doc = ""]
4343    #[doc = " The operation is mathematically equivalent to `a * b / c`, but writing that"]
4344    #[doc = " directly can overflow."]
4345    #[doc = ""]
4346    #[doc = " This function is equivalent to av_rescale_rnd() with #AV_ROUND_NEAR_INF."]
4347    #[doc = ""]
4348    #[doc = " @see av_rescale_rnd(), av_rescale_q(), av_rescale_q_rnd()"]
4349    pub fn av_rescale(a: i64, b: i64, c: i64) -> i64;
4350}
4351extern "C" {
4352    #[doc = " Rescale a 64-bit integer with specified rounding."]
4353    #[doc = ""]
4354    #[doc = " The operation is mathematically equivalent to `a * b / c`, but writing that"]
4355    #[doc = " directly can overflow, and does not support different rounding methods."]
4356    #[doc = ""]
4357    #[doc = " @see av_rescale(), av_rescale_q(), av_rescale_q_rnd()"]
4358    pub fn av_rescale_rnd(a: i64, b: i64, c: i64, rnd: AVRounding) -> i64;
4359}
4360extern "C" {
4361    #[doc = " Rescale a 64-bit integer by 2 rational numbers."]
4362    #[doc = ""]
4363    #[doc = " The operation is mathematically equivalent to `a * bq / cq`."]
4364    #[doc = ""]
4365    #[doc = " This function is equivalent to av_rescale_q_rnd() with #AV_ROUND_NEAR_INF."]
4366    #[doc = ""]
4367    #[doc = " @see av_rescale(), av_rescale_rnd(), av_rescale_q_rnd()"]
4368    pub fn av_rescale_q(a: i64, bq: AVRational, cq: AVRational) -> i64;
4369}
4370extern "C" {
4371    #[doc = " Rescale a 64-bit integer by 2 rational numbers with specified rounding."]
4372    #[doc = ""]
4373    #[doc = " The operation is mathematically equivalent to `a * bq / cq`."]
4374    #[doc = ""]
4375    #[doc = " @see av_rescale(), av_rescale_rnd(), av_rescale_q()"]
4376    pub fn av_rescale_q_rnd(a: i64, bq: AVRational, cq: AVRational, rnd: AVRounding) -> i64;
4377}
4378extern "C" {
4379    #[doc = " Compare two timestamps each in its own time base."]
4380    #[doc = ""]
4381    #[doc = " @return One of the following values:"]
4382    #[doc = "         - -1 if `ts_a` is before `ts_b`"]
4383    #[doc = "         - 1 if `ts_a` is after `ts_b`"]
4384    #[doc = "         - 0 if they represent the same position"]
4385    #[doc = ""]
4386    #[doc = " @warning"]
4387    #[doc = " The result of the function is undefined if one of the timestamps is outside"]
4388    #[doc = " the `int64_t` range when represented in the other\'s timebase."]
4389    pub fn av_compare_ts(
4390        ts_a: i64,
4391        tb_a: AVRational,
4392        ts_b: i64,
4393        tb_b: AVRational,
4394    ) -> ::std::os::raw::c_int;
4395}
4396extern "C" {
4397    #[doc = " Compare the remainders of two integer operands divided by a common divisor."]
4398    #[doc = ""]
4399    #[doc = " In other words, compare the least significant `log2(mod)` bits of integers"]
4400    #[doc = " `a` and `b`."]
4401    #[doc = ""]
4402    #[doc = " @code{.c}"]
4403    #[doc = " av_compare_mod(0x11, 0x02, 0x10) < 0 // since 0x11 % 0x10  (0x1) < 0x02 % 0x10  (0x2)"]
4404    #[doc = " av_compare_mod(0x11, 0x02, 0x20) > 0 // since 0x11 % 0x20 (0x11) > 0x02 % 0x20 (0x02)"]
4405    #[doc = " @endcode"]
4406    #[doc = ""]
4407    #[doc = " @param a,b Operands"]
4408    #[doc = " @param mod Divisor; must be a power of 2"]
4409    #[doc = " @return"]
4410    #[doc = "         - a negative value if `a % mod < b % mod`"]
4411    #[doc = "         - a positive value if `a % mod > b % mod`"]
4412    #[doc = "         - zero             if `a % mod == b % mod`"]
4413    pub fn av_compare_mod(a: u64, b: u64, mod_: u64) -> i64;
4414}
4415extern "C" {
4416    #[doc = " Rescale a timestamp while preserving known durations."]
4417    #[doc = ""]
4418    #[doc = " This function is designed to be called per audio packet to scale the input"]
4419    #[doc = " timestamp to a different time base. Compared to a simple av_rescale_q()"]
4420    #[doc = " call, this function is robust against possible inconsistent frame durations."]
4421    #[doc = ""]
4422    #[doc = " The `last` parameter is a state variable that must be preserved for all"]
4423    #[doc = " subsequent calls for the same stream. For the first call, `*last` should be"]
4424    #[doc = " initialized to #AV_NOPTS_VALUE."]
4425    #[doc = ""]
4426    #[doc = " @param[in]     in_tb    Input time base"]
4427    #[doc = " @param[in]     in_ts    Input timestamp"]
4428    #[doc = " @param[in]     fs_tb    Duration time base; typically this is finer-grained"]
4429    #[doc = "                         (greater) than `in_tb` and `out_tb`"]
4430    #[doc = " @param[in]     duration Duration till the next call to this function (i.e."]
4431    #[doc = "                         duration of the current packet/frame)"]
4432    #[doc = " @param[in,out] last     Pointer to a timestamp expressed in terms of"]
4433    #[doc = "                         `fs_tb`, acting as a state variable"]
4434    #[doc = " @param[in]     out_tb   Output timebase"]
4435    #[doc = " @return        Timestamp expressed in terms of `out_tb`"]
4436    #[doc = ""]
4437    #[doc = " @note In the context of this function, \"duration\" is in term of samples, not"]
4438    #[doc = "       seconds."]
4439    pub fn av_rescale_delta(
4440        in_tb: AVRational,
4441        in_ts: i64,
4442        fs_tb: AVRational,
4443        duration: ::std::os::raw::c_int,
4444        last: *mut i64,
4445        out_tb: AVRational,
4446    ) -> i64;
4447}
4448extern "C" {
4449    #[doc = " Add a value to a timestamp."]
4450    #[doc = ""]
4451    #[doc = " This function guarantees that when the same value is repeatly added that"]
4452    #[doc = " no accumulation of rounding errors occurs."]
4453    #[doc = ""]
4454    #[doc = " @param[in] ts     Input timestamp"]
4455    #[doc = " @param[in] ts_tb  Input timestamp time base"]
4456    #[doc = " @param[in] inc    Value to be added"]
4457    #[doc = " @param[in] inc_tb Time base of `inc`"]
4458    pub fn av_add_stable(ts_tb: AVRational, ts: i64, inc_tb: AVRational, inc: i64) -> i64;
4459}
4460pub const AVClassCategory_AV_CLASS_CATEGORY_NA: AVClassCategory = 0;
4461pub const AVClassCategory_AV_CLASS_CATEGORY_INPUT: AVClassCategory = 1;
4462pub const AVClassCategory_AV_CLASS_CATEGORY_OUTPUT: AVClassCategory = 2;
4463pub const AVClassCategory_AV_CLASS_CATEGORY_MUXER: AVClassCategory = 3;
4464pub const AVClassCategory_AV_CLASS_CATEGORY_DEMUXER: AVClassCategory = 4;
4465pub const AVClassCategory_AV_CLASS_CATEGORY_ENCODER: AVClassCategory = 5;
4466pub const AVClassCategory_AV_CLASS_CATEGORY_DECODER: AVClassCategory = 6;
4467pub const AVClassCategory_AV_CLASS_CATEGORY_FILTER: AVClassCategory = 7;
4468pub const AVClassCategory_AV_CLASS_CATEGORY_BITSTREAM_FILTER: AVClassCategory = 8;
4469pub const AVClassCategory_AV_CLASS_CATEGORY_SWSCALER: AVClassCategory = 9;
4470pub const AVClassCategory_AV_CLASS_CATEGORY_SWRESAMPLER: AVClassCategory = 10;
4471pub const AVClassCategory_AV_CLASS_CATEGORY_DEVICE_VIDEO_OUTPUT: AVClassCategory = 40;
4472pub const AVClassCategory_AV_CLASS_CATEGORY_DEVICE_VIDEO_INPUT: AVClassCategory = 41;
4473pub const AVClassCategory_AV_CLASS_CATEGORY_DEVICE_AUDIO_OUTPUT: AVClassCategory = 42;
4474pub const AVClassCategory_AV_CLASS_CATEGORY_DEVICE_AUDIO_INPUT: AVClassCategory = 43;
4475pub const AVClassCategory_AV_CLASS_CATEGORY_DEVICE_OUTPUT: AVClassCategory = 44;
4476pub const AVClassCategory_AV_CLASS_CATEGORY_DEVICE_INPUT: AVClassCategory = 45;
4477#[doc = "< not part of ABI/API"]
4478pub const AVClassCategory_AV_CLASS_CATEGORY_NB: AVClassCategory = 46;
4479pub type AVClassCategory = u32;
4480#[repr(C)]
4481#[derive(Debug, Copy, Clone)]
4482pub struct AVOptionRanges {
4483    _unused: [u8; 0],
4484}
4485#[doc = " Describe the class of an AVClass context structure. That is an"]
4486#[doc = " arbitrary struct of which the first field is a pointer to an"]
4487#[doc = " AVClass struct (e.g. AVCodecContext, AVFormatContext etc.)."]
4488#[repr(C)]
4489#[derive(Debug, Copy, Clone)]
4490pub struct AVClass {
4491    #[doc = " The name of the class; usually it is the same name as the"]
4492    #[doc = " context structure type to which the AVClass is associated."]
4493    pub class_name: *const ::std::os::raw::c_char,
4494    #[doc = " A pointer to a function which returns the name of a context"]
4495    #[doc = " instance ctx associated with the class."]
4496    pub item_name: ::std::option::Option<
4497        unsafe extern "C" fn(ctx: *mut ::std::os::raw::c_void) -> *const ::std::os::raw::c_char,
4498    >,
4499    #[doc = " a pointer to the first option specified in the class if any or NULL"]
4500    #[doc = ""]
4501    #[doc = " @see av_set_default_options()"]
4502    pub option: *mut AVOption,
4503    #[doc = " LIBAVUTIL_VERSION with which this structure was created."]
4504    #[doc = " This is used to allow fields to be added without requiring major"]
4505    #[doc = " version bumps everywhere."]
4506    pub version: ::std::os::raw::c_int,
4507    #[doc = " Offset in the structure where log_level_offset is stored."]
4508    #[doc = " 0 means there is no such variable"]
4509    pub log_level_offset_offset: ::std::os::raw::c_int,
4510    #[doc = " Offset in the structure where a pointer to the parent context for"]
4511    #[doc = " logging is stored. For example a decoder could pass its AVCodecContext"]
4512    #[doc = " to eval as such a parent context, which an av_log() implementation"]
4513    #[doc = " could then leverage to display the parent context."]
4514    #[doc = " The offset can be NULL."]
4515    pub parent_log_context_offset: ::std::os::raw::c_int,
4516    #[doc = " Return next AVOptions-enabled child or NULL"]
4517    pub child_next: ::std::option::Option<
4518        unsafe extern "C" fn(
4519            obj: *mut ::std::os::raw::c_void,
4520            prev: *mut ::std::os::raw::c_void,
4521        ) -> *mut ::std::os::raw::c_void,
4522    >,
4523    #[doc = " Return an AVClass corresponding to the next potential"]
4524    #[doc = " AVOptions-enabled child."]
4525    #[doc = ""]
4526    #[doc = " The difference between child_next and this is that"]
4527    #[doc = " child_next iterates over _already existing_ objects, while"]
4528    #[doc = " child_class_next iterates over _all possible_ children."]
4529    pub child_class_next:
4530        ::std::option::Option<unsafe extern "C" fn(prev: *const AVClass) -> *const AVClass>,
4531    #[doc = " Category used for visualization (like color)"]
4532    #[doc = " This is only set if the category is equal for all objects using this class."]
4533    #[doc = " available since version (51 << 16 | 56 << 8 | 100)"]
4534    pub category: AVClassCategory,
4535    #[doc = " Callback to return the category."]
4536    #[doc = " available since version (51 << 16 | 59 << 8 | 100)"]
4537    pub get_category: ::std::option::Option<
4538        unsafe extern "C" fn(ctx: *mut ::std::os::raw::c_void) -> AVClassCategory,
4539    >,
4540    #[doc = " Callback to return the supported/allowed ranges."]
4541    #[doc = " available since version (52.12)"]
4542    pub query_ranges: ::std::option::Option<
4543        unsafe extern "C" fn(
4544            arg1: *mut *mut AVOptionRanges,
4545            obj: *mut ::std::os::raw::c_void,
4546            key: *const ::std::os::raw::c_char,
4547            flags: ::std::os::raw::c_int,
4548        ) -> ::std::os::raw::c_int,
4549    >,
4550}
4551extern "C" {
4552    #[doc = " Send the specified message to the log if the level is less than or equal"]
4553    #[doc = " to the current av_log_level. By default, all logging messages are sent to"]
4554    #[doc = " stderr. This behavior can be altered by setting a different logging callback"]
4555    #[doc = " function."]
4556    #[doc = " @see av_log_set_callback"]
4557    #[doc = ""]
4558    #[doc = " @param avcl A pointer to an arbitrary struct of which the first field is a"]
4559    #[doc = "        pointer to an AVClass struct or NULL if general log."]
4560    #[doc = " @param level The importance level of the message expressed using a @ref"]
4561    #[doc = "        lavu_log_constants \"Logging Constant\"."]
4562    #[doc = " @param fmt The format string (printf-compatible) that specifies how"]
4563    #[doc = "        subsequent arguments are converted to output."]
4564    pub fn av_log(
4565        avcl: *mut ::std::os::raw::c_void,
4566        level: ::std::os::raw::c_int,
4567        fmt: *const ::std::os::raw::c_char,
4568        ...
4569    );
4570}
4571extern "C" {
4572    #[doc = " Send the specified message to the log if the level is less than or equal"]
4573    #[doc = " to the current av_log_level. By default, all logging messages are sent to"]
4574    #[doc = " stderr. This behavior can be altered by setting a different logging callback"]
4575    #[doc = " function."]
4576    #[doc = " @see av_log_set_callback"]
4577    #[doc = ""]
4578    #[doc = " @param avcl A pointer to an arbitrary struct of which the first field is a"]
4579    #[doc = "        pointer to an AVClass struct."]
4580    #[doc = " @param level The importance level of the message expressed using a @ref"]
4581    #[doc = "        lavu_log_constants \"Logging Constant\"."]
4582    #[doc = " @param fmt The format string (printf-compatible) that specifies how"]
4583    #[doc = "        subsequent arguments are converted to output."]
4584    #[doc = " @param vl The arguments referenced by the format string."]
4585    pub fn av_vlog(
4586        avcl: *mut ::std::os::raw::c_void,
4587        level: ::std::os::raw::c_int,
4588        fmt: *const ::std::os::raw::c_char,
4589        vl: *mut __va_list_tag,
4590    );
4591}
4592extern "C" {
4593    #[doc = " Get the current log level"]
4594    #[doc = ""]
4595    #[doc = " @see lavu_log_constants"]
4596    #[doc = ""]
4597    #[doc = " @return Current log level"]
4598    pub fn av_log_get_level() -> ::std::os::raw::c_int;
4599}
4600extern "C" {
4601    #[doc = " Set the log level"]
4602    #[doc = ""]
4603    #[doc = " @see lavu_log_constants"]
4604    #[doc = ""]
4605    #[doc = " @param level Logging level"]
4606    pub fn av_log_set_level(level: ::std::os::raw::c_int);
4607}
4608extern "C" {
4609    #[doc = " Set the logging callback"]
4610    #[doc = ""]
4611    #[doc = " @note The callback must be thread safe, even if the application does not use"]
4612    #[doc = "       threads itself as some codecs are multithreaded."]
4613    #[doc = ""]
4614    #[doc = " @see av_log_default_callback"]
4615    #[doc = ""]
4616    #[doc = " @param callback A logging function with a compatible signature."]
4617    pub fn av_log_set_callback(
4618        callback: ::std::option::Option<
4619            unsafe extern "C" fn(
4620                callback: *mut ::std::os::raw::c_void,
4621                arg1: ::std::os::raw::c_int,
4622                arg2: *const ::std::os::raw::c_char,
4623                arg3: *mut __va_list_tag,
4624            ),
4625        >,
4626    );
4627}
4628extern "C" {
4629    #[doc = " Default logging callback"]
4630    #[doc = ""]
4631    #[doc = " It prints the message to stderr, optionally colorizing it."]
4632    #[doc = ""]
4633    #[doc = " @param avcl A pointer to an arbitrary struct of which the first field is a"]
4634    #[doc = "        pointer to an AVClass struct."]
4635    #[doc = " @param level The importance level of the message expressed using a @ref"]
4636    #[doc = "        lavu_log_constants \"Logging Constant\"."]
4637    #[doc = " @param fmt The format string (printf-compatible) that specifies how"]
4638    #[doc = "        subsequent arguments are converted to output."]
4639    #[doc = " @param vl The arguments referenced by the format string."]
4640    pub fn av_log_default_callback(
4641        avcl: *mut ::std::os::raw::c_void,
4642        level: ::std::os::raw::c_int,
4643        fmt: *const ::std::os::raw::c_char,
4644        vl: *mut __va_list_tag,
4645    );
4646}
4647extern "C" {
4648    #[doc = " Return the context name"]
4649    #[doc = ""]
4650    #[doc = " @param  ctx The AVClass context"]
4651    #[doc = ""]
4652    #[doc = " @return The AVClass class_name"]
4653    pub fn av_default_item_name(ctx: *mut ::std::os::raw::c_void) -> *const ::std::os::raw::c_char;
4654}
4655extern "C" {
4656    pub fn av_default_get_category(ptr: *mut ::std::os::raw::c_void) -> AVClassCategory;
4657}
4658extern "C" {
4659    #[doc = " Format a line of log the same way as the default callback."]
4660    #[doc = " @param line          buffer to receive the formatted line"]
4661    #[doc = " @param line_size     size of the buffer"]
4662    #[doc = " @param print_prefix  used to store whether the prefix must be printed;"]
4663    #[doc = "                      must point to a persistent integer initially set to 1"]
4664    pub fn av_log_format_line(
4665        ptr: *mut ::std::os::raw::c_void,
4666        level: ::std::os::raw::c_int,
4667        fmt: *const ::std::os::raw::c_char,
4668        vl: *mut __va_list_tag,
4669        line: *mut ::std::os::raw::c_char,
4670        line_size: ::std::os::raw::c_int,
4671        print_prefix: *mut ::std::os::raw::c_int,
4672    );
4673}
4674extern "C" {
4675    #[doc = " Format a line of log the same way as the default callback."]
4676    #[doc = " @param line          buffer to receive the formatted line;"]
4677    #[doc = "                      may be NULL if line_size is 0"]
4678    #[doc = " @param line_size     size of the buffer; at most line_size-1 characters will"]
4679    #[doc = "                      be written to the buffer, plus one null terminator"]
4680    #[doc = " @param print_prefix  used to store whether the prefix must be printed;"]
4681    #[doc = "                      must point to a persistent integer initially set to 1"]
4682    #[doc = " @return Returns a negative value if an error occurred, otherwise returns"]
4683    #[doc = "         the number of characters that would have been written for a"]
4684    #[doc = "         sufficiently large buffer, not including the terminating null"]
4685    #[doc = "         character. If the return value is not less than line_size, it means"]
4686    #[doc = "         that the log message was truncated to fit the buffer."]
4687    pub fn av_log_format_line2(
4688        ptr: *mut ::std::os::raw::c_void,
4689        level: ::std::os::raw::c_int,
4690        fmt: *const ::std::os::raw::c_char,
4691        vl: *mut __va_list_tag,
4692        line: *mut ::std::os::raw::c_char,
4693        line_size: ::std::os::raw::c_int,
4694        print_prefix: *mut ::std::os::raw::c_int,
4695    ) -> ::std::os::raw::c_int;
4696}
4697extern "C" {
4698    pub fn av_log_set_flags(arg: ::std::os::raw::c_int);
4699}
4700extern "C" {
4701    pub fn av_log_get_flags() -> ::std::os::raw::c_int;
4702}
4703pub const AVPixelFormat_AV_PIX_FMT_NONE: AVPixelFormat = -1;
4704#[doc = "< planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)"]
4705pub const AVPixelFormat_AV_PIX_FMT_YUV420P: AVPixelFormat = 0;
4706#[doc = "< packed YUV 4:2:2, 16bpp, Y0 Cb Y1 Cr"]
4707pub const AVPixelFormat_AV_PIX_FMT_YUYV422: AVPixelFormat = 1;
4708#[doc = "< packed RGB 8:8:8, 24bpp, RGBRGB..."]
4709pub const AVPixelFormat_AV_PIX_FMT_RGB24: AVPixelFormat = 2;
4710#[doc = "< packed RGB 8:8:8, 24bpp, BGRBGR..."]
4711pub const AVPixelFormat_AV_PIX_FMT_BGR24: AVPixelFormat = 3;
4712#[doc = "< planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)"]
4713pub const AVPixelFormat_AV_PIX_FMT_YUV422P: AVPixelFormat = 4;
4714#[doc = "< planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples)"]
4715pub const AVPixelFormat_AV_PIX_FMT_YUV444P: AVPixelFormat = 5;
4716#[doc = "< planar YUV 4:1:0,  9bpp, (1 Cr & Cb sample per 4x4 Y samples)"]
4717pub const AVPixelFormat_AV_PIX_FMT_YUV410P: AVPixelFormat = 6;
4718#[doc = "< planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples)"]
4719pub const AVPixelFormat_AV_PIX_FMT_YUV411P: AVPixelFormat = 7;
4720#[doc = "<        Y        ,  8bpp"]
4721pub const AVPixelFormat_AV_PIX_FMT_GRAY8: AVPixelFormat = 8;
4722#[doc = "<        Y        ,  1bpp, 0 is white, 1 is black, in each byte pixels are ordered from the msb to the lsb"]
4723pub const AVPixelFormat_AV_PIX_FMT_MONOWHITE: AVPixelFormat = 9;
4724#[doc = "<        Y        ,  1bpp, 0 is black, 1 is white, in each byte pixels are ordered from the msb to the lsb"]
4725pub const AVPixelFormat_AV_PIX_FMT_MONOBLACK: AVPixelFormat = 10;
4726#[doc = "< 8 bits with AV_PIX_FMT_RGB32 palette"]
4727pub const AVPixelFormat_AV_PIX_FMT_PAL8: AVPixelFormat = 11;
4728#[doc = "< planar YUV 4:2:0, 12bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV420P and setting color_range"]
4729pub const AVPixelFormat_AV_PIX_FMT_YUVJ420P: AVPixelFormat = 12;
4730#[doc = "< planar YUV 4:2:2, 16bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV422P and setting color_range"]
4731pub const AVPixelFormat_AV_PIX_FMT_YUVJ422P: AVPixelFormat = 13;
4732#[doc = "< planar YUV 4:4:4, 24bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV444P and setting color_range"]
4733pub const AVPixelFormat_AV_PIX_FMT_YUVJ444P: AVPixelFormat = 14;
4734#[doc = "< packed YUV 4:2:2, 16bpp, Cb Y0 Cr Y1"]
4735pub const AVPixelFormat_AV_PIX_FMT_UYVY422: AVPixelFormat = 15;
4736#[doc = "< packed YUV 4:1:1, 12bpp, Cb Y0 Y1 Cr Y2 Y3"]
4737pub const AVPixelFormat_AV_PIX_FMT_UYYVYY411: AVPixelFormat = 16;
4738#[doc = "< packed RGB 3:3:2,  8bpp, (msb)2B 3G 3R(lsb)"]
4739pub const AVPixelFormat_AV_PIX_FMT_BGR8: AVPixelFormat = 17;
4740#[doc = "< packed RGB 1:2:1 bitstream,  4bpp, (msb)1B 2G 1R(lsb), a byte contains two pixels, the first pixel in the byte is the one composed by the 4 msb bits"]
4741pub const AVPixelFormat_AV_PIX_FMT_BGR4: AVPixelFormat = 18;
4742#[doc = "< packed RGB 1:2:1,  8bpp, (msb)1B 2G 1R(lsb)"]
4743pub const AVPixelFormat_AV_PIX_FMT_BGR4_BYTE: AVPixelFormat = 19;
4744#[doc = "< packed RGB 3:3:2,  8bpp, (msb)2R 3G 3B(lsb)"]
4745pub const AVPixelFormat_AV_PIX_FMT_RGB8: AVPixelFormat = 20;
4746#[doc = "< packed RGB 1:2:1 bitstream,  4bpp, (msb)1R 2G 1B(lsb), a byte contains two pixels, the first pixel in the byte is the one composed by the 4 msb bits"]
4747pub const AVPixelFormat_AV_PIX_FMT_RGB4: AVPixelFormat = 21;
4748#[doc = "< packed RGB 1:2:1,  8bpp, (msb)1R 2G 1B(lsb)"]
4749pub const AVPixelFormat_AV_PIX_FMT_RGB4_BYTE: AVPixelFormat = 22;
4750#[doc = "< planar YUV 4:2:0, 12bpp, 1 plane for Y and 1 plane for the UV components, which are interleaved (first byte U and the following byte V)"]
4751pub const AVPixelFormat_AV_PIX_FMT_NV12: AVPixelFormat = 23;
4752#[doc = "< as above, but U and V bytes are swapped"]
4753pub const AVPixelFormat_AV_PIX_FMT_NV21: AVPixelFormat = 24;
4754#[doc = "< packed ARGB 8:8:8:8, 32bpp, ARGBARGB..."]
4755pub const AVPixelFormat_AV_PIX_FMT_ARGB: AVPixelFormat = 25;
4756#[doc = "< packed RGBA 8:8:8:8, 32bpp, RGBARGBA..."]
4757pub const AVPixelFormat_AV_PIX_FMT_RGBA: AVPixelFormat = 26;
4758#[doc = "< packed ABGR 8:8:8:8, 32bpp, ABGRABGR..."]
4759pub const AVPixelFormat_AV_PIX_FMT_ABGR: AVPixelFormat = 27;
4760#[doc = "< packed BGRA 8:8:8:8, 32bpp, BGRABGRA..."]
4761pub const AVPixelFormat_AV_PIX_FMT_BGRA: AVPixelFormat = 28;
4762#[doc = "<        Y        , 16bpp, big-endian"]
4763pub const AVPixelFormat_AV_PIX_FMT_GRAY16BE: AVPixelFormat = 29;
4764#[doc = "<        Y        , 16bpp, little-endian"]
4765pub const AVPixelFormat_AV_PIX_FMT_GRAY16LE: AVPixelFormat = 30;
4766#[doc = "< planar YUV 4:4:0 (1 Cr & Cb sample per 1x2 Y samples)"]
4767pub const AVPixelFormat_AV_PIX_FMT_YUV440P: AVPixelFormat = 31;
4768#[doc = "< planar YUV 4:4:0 full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV440P and setting color_range"]
4769pub const AVPixelFormat_AV_PIX_FMT_YUVJ440P: AVPixelFormat = 32;
4770#[doc = "< planar YUV 4:2:0, 20bpp, (1 Cr & Cb sample per 2x2 Y & A samples)"]
4771pub const AVPixelFormat_AV_PIX_FMT_YUVA420P: AVPixelFormat = 33;
4772#[doc = "< packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, the 2-byte value for each R/G/B component is stored as big-endian"]
4773pub const AVPixelFormat_AV_PIX_FMT_RGB48BE: AVPixelFormat = 34;
4774#[doc = "< packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, the 2-byte value for each R/G/B component is stored as little-endian"]
4775pub const AVPixelFormat_AV_PIX_FMT_RGB48LE: AVPixelFormat = 35;
4776#[doc = "< packed RGB 5:6:5, 16bpp, (msb)   5R 6G 5B(lsb), big-endian"]
4777pub const AVPixelFormat_AV_PIX_FMT_RGB565BE: AVPixelFormat = 36;
4778#[doc = "< packed RGB 5:6:5, 16bpp, (msb)   5R 6G 5B(lsb), little-endian"]
4779pub const AVPixelFormat_AV_PIX_FMT_RGB565LE: AVPixelFormat = 37;
4780#[doc = "< packed RGB 5:5:5, 16bpp, (msb)1X 5R 5G 5B(lsb), big-endian   , X=unused/undefined"]
4781pub const AVPixelFormat_AV_PIX_FMT_RGB555BE: AVPixelFormat = 38;
4782#[doc = "< packed RGB 5:5:5, 16bpp, (msb)1X 5R 5G 5B(lsb), little-endian, X=unused/undefined"]
4783pub const AVPixelFormat_AV_PIX_FMT_RGB555LE: AVPixelFormat = 39;
4784#[doc = "< packed BGR 5:6:5, 16bpp, (msb)   5B 6G 5R(lsb), big-endian"]
4785pub const AVPixelFormat_AV_PIX_FMT_BGR565BE: AVPixelFormat = 40;
4786#[doc = "< packed BGR 5:6:5, 16bpp, (msb)   5B 6G 5R(lsb), little-endian"]
4787pub const AVPixelFormat_AV_PIX_FMT_BGR565LE: AVPixelFormat = 41;
4788#[doc = "< packed BGR 5:5:5, 16bpp, (msb)1X 5B 5G 5R(lsb), big-endian   , X=unused/undefined"]
4789pub const AVPixelFormat_AV_PIX_FMT_BGR555BE: AVPixelFormat = 42;
4790#[doc = "< packed BGR 5:5:5, 16bpp, (msb)1X 5B 5G 5R(lsb), little-endian, X=unused/undefined"]
4791pub const AVPixelFormat_AV_PIX_FMT_BGR555LE: AVPixelFormat = 43;
4792#[doc = "< HW acceleration through VA API at motion compensation entry-point, Picture.data[3] contains a vaapi_render_state struct which contains macroblocks as well as various fields extracted from headers"]
4793pub const AVPixelFormat_AV_PIX_FMT_VAAPI_MOCO: AVPixelFormat = 44;
4794#[doc = "< HW acceleration through VA API at IDCT entry-point, Picture.data[3] contains a vaapi_render_state struct which contains fields extracted from headers"]
4795pub const AVPixelFormat_AV_PIX_FMT_VAAPI_IDCT: AVPixelFormat = 45;
4796#[doc = "< HW decoding through VA API, Picture.data[3] contains a VASurfaceID"]
4797pub const AVPixelFormat_AV_PIX_FMT_VAAPI_VLD: AVPixelFormat = 46;
4798#[doc = "@}"]
4799pub const AVPixelFormat_AV_PIX_FMT_VAAPI: AVPixelFormat = 46;
4800#[doc = "< planar YUV 4:2:0, 24bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian"]
4801pub const AVPixelFormat_AV_PIX_FMT_YUV420P16LE: AVPixelFormat = 47;
4802#[doc = "< planar YUV 4:2:0, 24bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian"]
4803pub const AVPixelFormat_AV_PIX_FMT_YUV420P16BE: AVPixelFormat = 48;
4804#[doc = "< planar YUV 4:2:2, 32bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian"]
4805pub const AVPixelFormat_AV_PIX_FMT_YUV422P16LE: AVPixelFormat = 49;
4806#[doc = "< planar YUV 4:2:2, 32bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian"]
4807pub const AVPixelFormat_AV_PIX_FMT_YUV422P16BE: AVPixelFormat = 50;
4808#[doc = "< planar YUV 4:4:4, 48bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian"]
4809pub const AVPixelFormat_AV_PIX_FMT_YUV444P16LE: AVPixelFormat = 51;
4810#[doc = "< planar YUV 4:4:4, 48bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian"]
4811pub const AVPixelFormat_AV_PIX_FMT_YUV444P16BE: AVPixelFormat = 52;
4812#[doc = "< HW decoding through DXVA2, Picture.data[3] contains a LPDIRECT3DSURFACE9 pointer"]
4813pub const AVPixelFormat_AV_PIX_FMT_DXVA2_VLD: AVPixelFormat = 53;
4814#[doc = "< packed RGB 4:4:4, 16bpp, (msb)4X 4R 4G 4B(lsb), little-endian, X=unused/undefined"]
4815pub const AVPixelFormat_AV_PIX_FMT_RGB444LE: AVPixelFormat = 54;
4816#[doc = "< packed RGB 4:4:4, 16bpp, (msb)4X 4R 4G 4B(lsb), big-endian,    X=unused/undefined"]
4817pub const AVPixelFormat_AV_PIX_FMT_RGB444BE: AVPixelFormat = 55;
4818#[doc = "< packed BGR 4:4:4, 16bpp, (msb)4X 4B 4G 4R(lsb), little-endian, X=unused/undefined"]
4819pub const AVPixelFormat_AV_PIX_FMT_BGR444LE: AVPixelFormat = 56;
4820#[doc = "< packed BGR 4:4:4, 16bpp, (msb)4X 4B 4G 4R(lsb), big-endian,    X=unused/undefined"]
4821pub const AVPixelFormat_AV_PIX_FMT_BGR444BE: AVPixelFormat = 57;
4822#[doc = "< 8 bits gray, 8 bits alpha"]
4823pub const AVPixelFormat_AV_PIX_FMT_YA8: AVPixelFormat = 58;
4824#[doc = "< alias for AV_PIX_FMT_YA8"]
4825pub const AVPixelFormat_AV_PIX_FMT_Y400A: AVPixelFormat = 58;
4826#[doc = "< alias for AV_PIX_FMT_YA8"]
4827pub const AVPixelFormat_AV_PIX_FMT_GRAY8A: AVPixelFormat = 58;
4828#[doc = "< packed RGB 16:16:16, 48bpp, 16B, 16G, 16R, the 2-byte value for each R/G/B component is stored as big-endian"]
4829pub const AVPixelFormat_AV_PIX_FMT_BGR48BE: AVPixelFormat = 59;
4830#[doc = "< packed RGB 16:16:16, 48bpp, 16B, 16G, 16R, the 2-byte value for each R/G/B component is stored as little-endian"]
4831pub const AVPixelFormat_AV_PIX_FMT_BGR48LE: AVPixelFormat = 60;
4832#[doc = "< planar YUV 4:2:0, 13.5bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian"]
4833pub const AVPixelFormat_AV_PIX_FMT_YUV420P9BE: AVPixelFormat = 61;
4834#[doc = "< planar YUV 4:2:0, 13.5bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian"]
4835pub const AVPixelFormat_AV_PIX_FMT_YUV420P9LE: AVPixelFormat = 62;
4836#[doc = "< planar YUV 4:2:0, 15bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian"]
4837pub const AVPixelFormat_AV_PIX_FMT_YUV420P10BE: AVPixelFormat = 63;
4838#[doc = "< planar YUV 4:2:0, 15bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian"]
4839pub const AVPixelFormat_AV_PIX_FMT_YUV420P10LE: AVPixelFormat = 64;
4840#[doc = "< planar YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian"]
4841pub const AVPixelFormat_AV_PIX_FMT_YUV422P10BE: AVPixelFormat = 65;
4842#[doc = "< planar YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian"]
4843pub const AVPixelFormat_AV_PIX_FMT_YUV422P10LE: AVPixelFormat = 66;
4844#[doc = "< planar YUV 4:4:4, 27bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian"]
4845pub const AVPixelFormat_AV_PIX_FMT_YUV444P9BE: AVPixelFormat = 67;
4846#[doc = "< planar YUV 4:4:4, 27bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian"]
4847pub const AVPixelFormat_AV_PIX_FMT_YUV444P9LE: AVPixelFormat = 68;
4848#[doc = "< planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian"]
4849pub const AVPixelFormat_AV_PIX_FMT_YUV444P10BE: AVPixelFormat = 69;
4850#[doc = "< planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian"]
4851pub const AVPixelFormat_AV_PIX_FMT_YUV444P10LE: AVPixelFormat = 70;
4852#[doc = "< planar YUV 4:2:2, 18bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian"]
4853pub const AVPixelFormat_AV_PIX_FMT_YUV422P9BE: AVPixelFormat = 71;
4854#[doc = "< planar YUV 4:2:2, 18bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian"]
4855pub const AVPixelFormat_AV_PIX_FMT_YUV422P9LE: AVPixelFormat = 72;
4856#[doc = "< planar GBR 4:4:4 24bpp"]
4857pub const AVPixelFormat_AV_PIX_FMT_GBRP: AVPixelFormat = 73;
4858pub const AVPixelFormat_AV_PIX_FMT_GBR24P: AVPixelFormat = 73;
4859#[doc = "< planar GBR 4:4:4 27bpp, big-endian"]
4860pub const AVPixelFormat_AV_PIX_FMT_GBRP9BE: AVPixelFormat = 74;
4861#[doc = "< planar GBR 4:4:4 27bpp, little-endian"]
4862pub const AVPixelFormat_AV_PIX_FMT_GBRP9LE: AVPixelFormat = 75;
4863#[doc = "< planar GBR 4:4:4 30bpp, big-endian"]
4864pub const AVPixelFormat_AV_PIX_FMT_GBRP10BE: AVPixelFormat = 76;
4865#[doc = "< planar GBR 4:4:4 30bpp, little-endian"]
4866pub const AVPixelFormat_AV_PIX_FMT_GBRP10LE: AVPixelFormat = 77;
4867#[doc = "< planar GBR 4:4:4 48bpp, big-endian"]
4868pub const AVPixelFormat_AV_PIX_FMT_GBRP16BE: AVPixelFormat = 78;
4869#[doc = "< planar GBR 4:4:4 48bpp, little-endian"]
4870pub const AVPixelFormat_AV_PIX_FMT_GBRP16LE: AVPixelFormat = 79;
4871#[doc = "< planar YUV 4:2:2 24bpp, (1 Cr & Cb sample per 2x1 Y & A samples)"]
4872pub const AVPixelFormat_AV_PIX_FMT_YUVA422P: AVPixelFormat = 80;
4873#[doc = "< planar YUV 4:4:4 32bpp, (1 Cr & Cb sample per 1x1 Y & A samples)"]
4874pub const AVPixelFormat_AV_PIX_FMT_YUVA444P: AVPixelFormat = 81;
4875#[doc = "< planar YUV 4:2:0 22.5bpp, (1 Cr & Cb sample per 2x2 Y & A samples), big-endian"]
4876pub const AVPixelFormat_AV_PIX_FMT_YUVA420P9BE: AVPixelFormat = 82;
4877#[doc = "< planar YUV 4:2:0 22.5bpp, (1 Cr & Cb sample per 2x2 Y & A samples), little-endian"]
4878pub const AVPixelFormat_AV_PIX_FMT_YUVA420P9LE: AVPixelFormat = 83;
4879#[doc = "< planar YUV 4:2:2 27bpp, (1 Cr & Cb sample per 2x1 Y & A samples), big-endian"]
4880pub const AVPixelFormat_AV_PIX_FMT_YUVA422P9BE: AVPixelFormat = 84;
4881#[doc = "< planar YUV 4:2:2 27bpp, (1 Cr & Cb sample per 2x1 Y & A samples), little-endian"]
4882pub const AVPixelFormat_AV_PIX_FMT_YUVA422P9LE: AVPixelFormat = 85;
4883#[doc = "< planar YUV 4:4:4 36bpp, (1 Cr & Cb sample per 1x1 Y & A samples), big-endian"]
4884pub const AVPixelFormat_AV_PIX_FMT_YUVA444P9BE: AVPixelFormat = 86;
4885#[doc = "< planar YUV 4:4:4 36bpp, (1 Cr & Cb sample per 1x1 Y & A samples), little-endian"]
4886pub const AVPixelFormat_AV_PIX_FMT_YUVA444P9LE: AVPixelFormat = 87;
4887#[doc = "< planar YUV 4:2:0 25bpp, (1 Cr & Cb sample per 2x2 Y & A samples, big-endian)"]
4888pub const AVPixelFormat_AV_PIX_FMT_YUVA420P10BE: AVPixelFormat = 88;
4889#[doc = "< planar YUV 4:2:0 25bpp, (1 Cr & Cb sample per 2x2 Y & A samples, little-endian)"]
4890pub const AVPixelFormat_AV_PIX_FMT_YUVA420P10LE: AVPixelFormat = 89;
4891#[doc = "< planar YUV 4:2:2 30bpp, (1 Cr & Cb sample per 2x1 Y & A samples, big-endian)"]
4892pub const AVPixelFormat_AV_PIX_FMT_YUVA422P10BE: AVPixelFormat = 90;
4893#[doc = "< planar YUV 4:2:2 30bpp, (1 Cr & Cb sample per 2x1 Y & A samples, little-endian)"]
4894pub const AVPixelFormat_AV_PIX_FMT_YUVA422P10LE: AVPixelFormat = 91;
4895#[doc = "< planar YUV 4:4:4 40bpp, (1 Cr & Cb sample per 1x1 Y & A samples, big-endian)"]
4896pub const AVPixelFormat_AV_PIX_FMT_YUVA444P10BE: AVPixelFormat = 92;
4897#[doc = "< planar YUV 4:4:4 40bpp, (1 Cr & Cb sample per 1x1 Y & A samples, little-endian)"]
4898pub const AVPixelFormat_AV_PIX_FMT_YUVA444P10LE: AVPixelFormat = 93;
4899#[doc = "< planar YUV 4:2:0 40bpp, (1 Cr & Cb sample per 2x2 Y & A samples, big-endian)"]
4900pub const AVPixelFormat_AV_PIX_FMT_YUVA420P16BE: AVPixelFormat = 94;
4901#[doc = "< planar YUV 4:2:0 40bpp, (1 Cr & Cb sample per 2x2 Y & A samples, little-endian)"]
4902pub const AVPixelFormat_AV_PIX_FMT_YUVA420P16LE: AVPixelFormat = 95;
4903#[doc = "< planar YUV 4:2:2 48bpp, (1 Cr & Cb sample per 2x1 Y & A samples, big-endian)"]
4904pub const AVPixelFormat_AV_PIX_FMT_YUVA422P16BE: AVPixelFormat = 96;
4905#[doc = "< planar YUV 4:2:2 48bpp, (1 Cr & Cb sample per 2x1 Y & A samples, little-endian)"]
4906pub const AVPixelFormat_AV_PIX_FMT_YUVA422P16LE: AVPixelFormat = 97;
4907#[doc = "< planar YUV 4:4:4 64bpp, (1 Cr & Cb sample per 1x1 Y & A samples, big-endian)"]
4908pub const AVPixelFormat_AV_PIX_FMT_YUVA444P16BE: AVPixelFormat = 98;
4909#[doc = "< planar YUV 4:4:4 64bpp, (1 Cr & Cb sample per 1x1 Y & A samples, little-endian)"]
4910pub const AVPixelFormat_AV_PIX_FMT_YUVA444P16LE: AVPixelFormat = 99;
4911#[doc = "< HW acceleration through VDPAU, Picture.data[3] contains a VdpVideoSurface"]
4912pub const AVPixelFormat_AV_PIX_FMT_VDPAU: AVPixelFormat = 100;
4913#[doc = "< packed XYZ 4:4:4, 36 bpp, (msb) 12X, 12Y, 12Z (lsb), the 2-byte value for each X/Y/Z is stored as little-endian, the 4 lower bits are set to 0"]
4914pub const AVPixelFormat_AV_PIX_FMT_XYZ12LE: AVPixelFormat = 101;
4915#[doc = "< packed XYZ 4:4:4, 36 bpp, (msb) 12X, 12Y, 12Z (lsb), the 2-byte value for each X/Y/Z is stored as big-endian, the 4 lower bits are set to 0"]
4916pub const AVPixelFormat_AV_PIX_FMT_XYZ12BE: AVPixelFormat = 102;
4917#[doc = "< interleaved chroma YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)"]
4918pub const AVPixelFormat_AV_PIX_FMT_NV16: AVPixelFormat = 103;
4919#[doc = "< interleaved chroma YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian"]
4920pub const AVPixelFormat_AV_PIX_FMT_NV20LE: AVPixelFormat = 104;
4921#[doc = "< interleaved chroma YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian"]
4922pub const AVPixelFormat_AV_PIX_FMT_NV20BE: AVPixelFormat = 105;
4923#[doc = "< packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is stored as big-endian"]
4924pub const AVPixelFormat_AV_PIX_FMT_RGBA64BE: AVPixelFormat = 106;
4925#[doc = "< packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is stored as little-endian"]
4926pub const AVPixelFormat_AV_PIX_FMT_RGBA64LE: AVPixelFormat = 107;
4927#[doc = "< packed RGBA 16:16:16:16, 64bpp, 16B, 16G, 16R, 16A, the 2-byte value for each R/G/B/A component is stored as big-endian"]
4928pub const AVPixelFormat_AV_PIX_FMT_BGRA64BE: AVPixelFormat = 108;
4929#[doc = "< packed RGBA 16:16:16:16, 64bpp, 16B, 16G, 16R, 16A, the 2-byte value for each R/G/B/A component is stored as little-endian"]
4930pub const AVPixelFormat_AV_PIX_FMT_BGRA64LE: AVPixelFormat = 109;
4931#[doc = "< packed YUV 4:2:2, 16bpp, Y0 Cr Y1 Cb"]
4932pub const AVPixelFormat_AV_PIX_FMT_YVYU422: AVPixelFormat = 110;
4933#[doc = "< 16 bits gray, 16 bits alpha (big-endian)"]
4934pub const AVPixelFormat_AV_PIX_FMT_YA16BE: AVPixelFormat = 111;
4935#[doc = "< 16 bits gray, 16 bits alpha (little-endian)"]
4936pub const AVPixelFormat_AV_PIX_FMT_YA16LE: AVPixelFormat = 112;
4937#[doc = "< planar GBRA 4:4:4:4 32bpp"]
4938pub const AVPixelFormat_AV_PIX_FMT_GBRAP: AVPixelFormat = 113;
4939#[doc = "< planar GBRA 4:4:4:4 64bpp, big-endian"]
4940pub const AVPixelFormat_AV_PIX_FMT_GBRAP16BE: AVPixelFormat = 114;
4941#[doc = "< planar GBRA 4:4:4:4 64bpp, little-endian"]
4942pub const AVPixelFormat_AV_PIX_FMT_GBRAP16LE: AVPixelFormat = 115;
4943#[doc = "  HW acceleration through QSV, data[3] contains a pointer to the"]
4944#[doc = "  mfxFrameSurface1 structure."]
4945pub const AVPixelFormat_AV_PIX_FMT_QSV: AVPixelFormat = 116;
4946#[doc = " HW acceleration though MMAL, data[3] contains a pointer to the"]
4947#[doc = " MMAL_BUFFER_HEADER_T structure."]
4948pub const AVPixelFormat_AV_PIX_FMT_MMAL: AVPixelFormat = 117;
4949#[doc = "< HW decoding through Direct3D11 via old API, Picture.data[3] contains a ID3D11VideoDecoderOutputView pointer"]
4950pub const AVPixelFormat_AV_PIX_FMT_D3D11VA_VLD: AVPixelFormat = 118;
4951#[doc = " HW acceleration through CUDA. data[i] contain CUdeviceptr pointers"]
4952#[doc = " exactly as for system memory frames."]
4953pub const AVPixelFormat_AV_PIX_FMT_CUDA: AVPixelFormat = 119;
4954#[doc = "< packed RGB 8:8:8, 32bpp, XRGBXRGB...   X=unused/undefined"]
4955pub const AVPixelFormat_AV_PIX_FMT_0RGB: AVPixelFormat = 120;
4956#[doc = "< packed RGB 8:8:8, 32bpp, RGBXRGBX...   X=unused/undefined"]
4957pub const AVPixelFormat_AV_PIX_FMT_RGB0: AVPixelFormat = 121;
4958#[doc = "< packed BGR 8:8:8, 32bpp, XBGRXBGR...   X=unused/undefined"]
4959pub const AVPixelFormat_AV_PIX_FMT_0BGR: AVPixelFormat = 122;
4960#[doc = "< packed BGR 8:8:8, 32bpp, BGRXBGRX...   X=unused/undefined"]
4961pub const AVPixelFormat_AV_PIX_FMT_BGR0: AVPixelFormat = 123;
4962#[doc = "< planar YUV 4:2:0,18bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian"]
4963pub const AVPixelFormat_AV_PIX_FMT_YUV420P12BE: AVPixelFormat = 124;
4964#[doc = "< planar YUV 4:2:0,18bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian"]
4965pub const AVPixelFormat_AV_PIX_FMT_YUV420P12LE: AVPixelFormat = 125;
4966#[doc = "< planar YUV 4:2:0,21bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian"]
4967pub const AVPixelFormat_AV_PIX_FMT_YUV420P14BE: AVPixelFormat = 126;
4968#[doc = "< planar YUV 4:2:0,21bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian"]
4969pub const AVPixelFormat_AV_PIX_FMT_YUV420P14LE: AVPixelFormat = 127;
4970#[doc = "< planar YUV 4:2:2,24bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian"]
4971pub const AVPixelFormat_AV_PIX_FMT_YUV422P12BE: AVPixelFormat = 128;
4972#[doc = "< planar YUV 4:2:2,24bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian"]
4973pub const AVPixelFormat_AV_PIX_FMT_YUV422P12LE: AVPixelFormat = 129;
4974#[doc = "< planar YUV 4:2:2,28bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian"]
4975pub const AVPixelFormat_AV_PIX_FMT_YUV422P14BE: AVPixelFormat = 130;
4976#[doc = "< planar YUV 4:2:2,28bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian"]
4977pub const AVPixelFormat_AV_PIX_FMT_YUV422P14LE: AVPixelFormat = 131;
4978#[doc = "< planar YUV 4:4:4,36bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian"]
4979pub const AVPixelFormat_AV_PIX_FMT_YUV444P12BE: AVPixelFormat = 132;
4980#[doc = "< planar YUV 4:4:4,36bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian"]
4981pub const AVPixelFormat_AV_PIX_FMT_YUV444P12LE: AVPixelFormat = 133;
4982#[doc = "< planar YUV 4:4:4,42bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian"]
4983pub const AVPixelFormat_AV_PIX_FMT_YUV444P14BE: AVPixelFormat = 134;
4984#[doc = "< planar YUV 4:4:4,42bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian"]
4985pub const AVPixelFormat_AV_PIX_FMT_YUV444P14LE: AVPixelFormat = 135;
4986#[doc = "< planar GBR 4:4:4 36bpp, big-endian"]
4987pub const AVPixelFormat_AV_PIX_FMT_GBRP12BE: AVPixelFormat = 136;
4988#[doc = "< planar GBR 4:4:4 36bpp, little-endian"]
4989pub const AVPixelFormat_AV_PIX_FMT_GBRP12LE: AVPixelFormat = 137;
4990#[doc = "< planar GBR 4:4:4 42bpp, big-endian"]
4991pub const AVPixelFormat_AV_PIX_FMT_GBRP14BE: AVPixelFormat = 138;
4992#[doc = "< planar GBR 4:4:4 42bpp, little-endian"]
4993pub const AVPixelFormat_AV_PIX_FMT_GBRP14LE: AVPixelFormat = 139;
4994#[doc = "< planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples) full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV411P and setting color_range"]
4995pub const AVPixelFormat_AV_PIX_FMT_YUVJ411P: AVPixelFormat = 140;
4996#[doc = "< bayer, BGBG..(odd line), GRGR..(even line), 8-bit samples */"]
4997pub const AVPixelFormat_AV_PIX_FMT_BAYER_BGGR8: AVPixelFormat = 141;
4998#[doc = "< bayer, RGRG..(odd line), GBGB..(even line), 8-bit samples */"]
4999pub const AVPixelFormat_AV_PIX_FMT_BAYER_RGGB8: AVPixelFormat = 142;
5000#[doc = "< bayer, GBGB..(odd line), RGRG..(even line), 8-bit samples */"]
5001pub const AVPixelFormat_AV_PIX_FMT_BAYER_GBRG8: AVPixelFormat = 143;
5002#[doc = "< bayer, GRGR..(odd line), BGBG..(even line), 8-bit samples */"]
5003pub const AVPixelFormat_AV_PIX_FMT_BAYER_GRBG8: AVPixelFormat = 144;
5004#[doc = "< bayer, BGBG..(odd line), GRGR..(even line), 16-bit samples, little-endian */"]
5005pub const AVPixelFormat_AV_PIX_FMT_BAYER_BGGR16LE: AVPixelFormat = 145;
5006#[doc = "< bayer, BGBG..(odd line), GRGR..(even line), 16-bit samples, big-endian */"]
5007pub const AVPixelFormat_AV_PIX_FMT_BAYER_BGGR16BE: AVPixelFormat = 146;
5008#[doc = "< bayer, RGRG..(odd line), GBGB..(even line), 16-bit samples, little-endian */"]
5009pub const AVPixelFormat_AV_PIX_FMT_BAYER_RGGB16LE: AVPixelFormat = 147;
5010#[doc = "< bayer, RGRG..(odd line), GBGB..(even line), 16-bit samples, big-endian */"]
5011pub const AVPixelFormat_AV_PIX_FMT_BAYER_RGGB16BE: AVPixelFormat = 148;
5012#[doc = "< bayer, GBGB..(odd line), RGRG..(even line), 16-bit samples, little-endian */"]
5013pub const AVPixelFormat_AV_PIX_FMT_BAYER_GBRG16LE: AVPixelFormat = 149;
5014#[doc = "< bayer, GBGB..(odd line), RGRG..(even line), 16-bit samples, big-endian */"]
5015pub const AVPixelFormat_AV_PIX_FMT_BAYER_GBRG16BE: AVPixelFormat = 150;
5016#[doc = "< bayer, GRGR..(odd line), BGBG..(even line), 16-bit samples, little-endian */"]
5017pub const AVPixelFormat_AV_PIX_FMT_BAYER_GRBG16LE: AVPixelFormat = 151;
5018#[doc = "< bayer, GRGR..(odd line), BGBG..(even line), 16-bit samples, big-endian */"]
5019pub const AVPixelFormat_AV_PIX_FMT_BAYER_GRBG16BE: AVPixelFormat = 152;
5020#[doc = "< XVideo Motion Acceleration via common packet passing"]
5021pub const AVPixelFormat_AV_PIX_FMT_XVMC: AVPixelFormat = 153;
5022#[doc = "< planar YUV 4:4:0,20bpp, (1 Cr & Cb sample per 1x2 Y samples), little-endian"]
5023pub const AVPixelFormat_AV_PIX_FMT_YUV440P10LE: AVPixelFormat = 154;
5024#[doc = "< planar YUV 4:4:0,20bpp, (1 Cr & Cb sample per 1x2 Y samples), big-endian"]
5025pub const AVPixelFormat_AV_PIX_FMT_YUV440P10BE: AVPixelFormat = 155;
5026#[doc = "< planar YUV 4:4:0,24bpp, (1 Cr & Cb sample per 1x2 Y samples), little-endian"]
5027pub const AVPixelFormat_AV_PIX_FMT_YUV440P12LE: AVPixelFormat = 156;
5028#[doc = "< planar YUV 4:4:0,24bpp, (1 Cr & Cb sample per 1x2 Y samples), big-endian"]
5029pub const AVPixelFormat_AV_PIX_FMT_YUV440P12BE: AVPixelFormat = 157;
5030#[doc = "< packed AYUV 4:4:4,64bpp (1 Cr & Cb sample per 1x1 Y & A samples), little-endian"]
5031pub const AVPixelFormat_AV_PIX_FMT_AYUV64LE: AVPixelFormat = 158;
5032#[doc = "< packed AYUV 4:4:4,64bpp (1 Cr & Cb sample per 1x1 Y & A samples), big-endian"]
5033pub const AVPixelFormat_AV_PIX_FMT_AYUV64BE: AVPixelFormat = 159;
5034#[doc = "< hardware decoding through Videotoolbox"]
5035pub const AVPixelFormat_AV_PIX_FMT_VIDEOTOOLBOX: AVPixelFormat = 160;
5036#[doc = "< like NV12, with 10bpp per component, data in the high bits, zeros in the low bits, little-endian"]
5037pub const AVPixelFormat_AV_PIX_FMT_P010LE: AVPixelFormat = 161;
5038#[doc = "< like NV12, with 10bpp per component, data in the high bits, zeros in the low bits, big-endian"]
5039pub const AVPixelFormat_AV_PIX_FMT_P010BE: AVPixelFormat = 162;
5040#[doc = "< planar GBR 4:4:4:4 48bpp, big-endian"]
5041pub const AVPixelFormat_AV_PIX_FMT_GBRAP12BE: AVPixelFormat = 163;
5042#[doc = "< planar GBR 4:4:4:4 48bpp, little-endian"]
5043pub const AVPixelFormat_AV_PIX_FMT_GBRAP12LE: AVPixelFormat = 164;
5044#[doc = "< planar GBR 4:4:4:4 40bpp, big-endian"]
5045pub const AVPixelFormat_AV_PIX_FMT_GBRAP10BE: AVPixelFormat = 165;
5046#[doc = "< planar GBR 4:4:4:4 40bpp, little-endian"]
5047pub const AVPixelFormat_AV_PIX_FMT_GBRAP10LE: AVPixelFormat = 166;
5048#[doc = "< hardware decoding through MediaCodec"]
5049pub const AVPixelFormat_AV_PIX_FMT_MEDIACODEC: AVPixelFormat = 167;
5050#[doc = "<        Y        , 12bpp, big-endian"]
5051pub const AVPixelFormat_AV_PIX_FMT_GRAY12BE: AVPixelFormat = 168;
5052#[doc = "<        Y        , 12bpp, little-endian"]
5053pub const AVPixelFormat_AV_PIX_FMT_GRAY12LE: AVPixelFormat = 169;
5054#[doc = "<        Y        , 10bpp, big-endian"]
5055pub const AVPixelFormat_AV_PIX_FMT_GRAY10BE: AVPixelFormat = 170;
5056#[doc = "<        Y        , 10bpp, little-endian"]
5057pub const AVPixelFormat_AV_PIX_FMT_GRAY10LE: AVPixelFormat = 171;
5058#[doc = "< like NV12, with 16bpp per component, little-endian"]
5059pub const AVPixelFormat_AV_PIX_FMT_P016LE: AVPixelFormat = 172;
5060#[doc = "< like NV12, with 16bpp per component, big-endian"]
5061pub const AVPixelFormat_AV_PIX_FMT_P016BE: AVPixelFormat = 173;
5062#[doc = " Hardware surfaces for Direct3D11."]
5063#[doc = ""]
5064#[doc = " This is preferred over the legacy AV_PIX_FMT_D3D11VA_VLD. The new D3D11"]
5065#[doc = " hwaccel API and filtering support AV_PIX_FMT_D3D11 only."]
5066#[doc = ""]
5067#[doc = " data[0] contains a ID3D11Texture2D pointer, and data[1] contains the"]
5068#[doc = " texture array index of the frame as intptr_t if the ID3D11Texture2D is"]
5069#[doc = " an array texture (or always 0 if it\'s a normal texture)."]
5070pub const AVPixelFormat_AV_PIX_FMT_D3D11: AVPixelFormat = 174;
5071#[doc = "<        Y        , 9bpp, big-endian"]
5072pub const AVPixelFormat_AV_PIX_FMT_GRAY9BE: AVPixelFormat = 175;
5073#[doc = "<        Y        , 9bpp, little-endian"]
5074pub const AVPixelFormat_AV_PIX_FMT_GRAY9LE: AVPixelFormat = 176;
5075#[doc = "< IEEE-754 single precision planar GBR 4:4:4,     96bpp, big-endian"]
5076pub const AVPixelFormat_AV_PIX_FMT_GBRPF32BE: AVPixelFormat = 177;
5077#[doc = "< IEEE-754 single precision planar GBR 4:4:4,     96bpp, little-endian"]
5078pub const AVPixelFormat_AV_PIX_FMT_GBRPF32LE: AVPixelFormat = 178;
5079#[doc = "< IEEE-754 single precision planar GBRA 4:4:4:4, 128bpp, big-endian"]
5080pub const AVPixelFormat_AV_PIX_FMT_GBRAPF32BE: AVPixelFormat = 179;
5081#[doc = "< IEEE-754 single precision planar GBRA 4:4:4:4, 128bpp, little-endian"]
5082pub const AVPixelFormat_AV_PIX_FMT_GBRAPF32LE: AVPixelFormat = 180;
5083#[doc = " DRM-managed buffers exposed through PRIME buffer sharing."]
5084#[doc = ""]
5085#[doc = " data[0] points to an AVDRMFrameDescriptor."]
5086pub const AVPixelFormat_AV_PIX_FMT_DRM_PRIME: AVPixelFormat = 181;
5087#[doc = " Hardware surfaces for OpenCL."]
5088#[doc = ""]
5089#[doc = " data[i] contain 2D image objects (typed in C as cl_mem, used"]
5090#[doc = " in OpenCL as image2d_t) for each plane of the surface."]
5091pub const AVPixelFormat_AV_PIX_FMT_OPENCL: AVPixelFormat = 182;
5092#[doc = "<        Y        , 14bpp, big-endian"]
5093pub const AVPixelFormat_AV_PIX_FMT_GRAY14BE: AVPixelFormat = 183;
5094#[doc = "<        Y        , 14bpp, little-endian"]
5095pub const AVPixelFormat_AV_PIX_FMT_GRAY14LE: AVPixelFormat = 184;
5096#[doc = "< IEEE-754 single precision Y, 32bpp, big-endian"]
5097pub const AVPixelFormat_AV_PIX_FMT_GRAYF32BE: AVPixelFormat = 185;
5098#[doc = "< IEEE-754 single precision Y, 32bpp, little-endian"]
5099pub const AVPixelFormat_AV_PIX_FMT_GRAYF32LE: AVPixelFormat = 186;
5100#[doc = "< number of pixel formats, DO NOT USE THIS if you want to link with shared libav* because the number of formats might differ between versions"]
5101pub const AVPixelFormat_AV_PIX_FMT_NB: AVPixelFormat = 187;
5102#[doc = " Pixel format."]
5103#[doc = ""]
5104#[doc = " @note"]
5105#[doc = " AV_PIX_FMT_RGB32 is handled in an endian-specific manner. An RGBA"]
5106#[doc = " color is put together as:"]
5107#[doc = "  (A << 24) | (R << 16) | (G << 8) | B"]
5108#[doc = " This is stored as BGRA on little-endian CPU architectures and ARGB on"]
5109#[doc = " big-endian CPUs."]
5110#[doc = ""]
5111#[doc = " @note"]
5112#[doc = " If the resolution is not a multiple of the chroma subsampling factor"]
5113#[doc = " then the chroma plane resolution must be rounded up."]
5114#[doc = ""]
5115#[doc = " @par"]
5116#[doc = " When the pixel format is palettized RGB32 (AV_PIX_FMT_PAL8), the palettized"]
5117#[doc = " image data is stored in AVFrame.data[0]. The palette is transported in"]
5118#[doc = " AVFrame.data[1], is 1024 bytes long (256 4-byte entries) and is"]
5119#[doc = " formatted the same as in AV_PIX_FMT_RGB32 described above (i.e., it is"]
5120#[doc = " also endian-specific). Note also that the individual RGB32 palette"]
5121#[doc = " components stored in AVFrame.data[1] should be in the range 0..255."]
5122#[doc = " This is important as many custom PAL8 video codecs that were designed"]
5123#[doc = " to run on the IBM VGA graphics adapter use 6-bit palette components."]
5124#[doc = ""]
5125#[doc = " @par"]
5126#[doc = " For all the 8 bits per pixel formats, an RGB32 palette is in data[1] like"]
5127#[doc = " for pal8. This palette is filled in automatically by the function"]
5128#[doc = " allocating the picture."]
5129pub type AVPixelFormat = i32;
5130pub const AVColorPrimaries_AVCOL_PRI_RESERVED0: AVColorPrimaries = 0;
5131#[doc = "< also ITU-R BT1361 / IEC 61966-2-4 / SMPTE RP177 Annex B"]
5132pub const AVColorPrimaries_AVCOL_PRI_BT709: AVColorPrimaries = 1;
5133pub const AVColorPrimaries_AVCOL_PRI_UNSPECIFIED: AVColorPrimaries = 2;
5134pub const AVColorPrimaries_AVCOL_PRI_RESERVED: AVColorPrimaries = 3;
5135#[doc = "< also FCC Title 47 Code of Federal Regulations 73.682 (a)(20)"]
5136pub const AVColorPrimaries_AVCOL_PRI_BT470M: AVColorPrimaries = 4;
5137#[doc = "< also ITU-R BT601-6 625 / ITU-R BT1358 625 / ITU-R BT1700 625 PAL & SECAM"]
5138pub const AVColorPrimaries_AVCOL_PRI_BT470BG: AVColorPrimaries = 5;
5139#[doc = "< also ITU-R BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC"]
5140pub const AVColorPrimaries_AVCOL_PRI_SMPTE170M: AVColorPrimaries = 6;
5141#[doc = "< functionally identical to above"]
5142pub const AVColorPrimaries_AVCOL_PRI_SMPTE240M: AVColorPrimaries = 7;
5143#[doc = "< colour filters using Illuminant C"]
5144pub const AVColorPrimaries_AVCOL_PRI_FILM: AVColorPrimaries = 8;
5145#[doc = "< ITU-R BT2020"]
5146pub const AVColorPrimaries_AVCOL_PRI_BT2020: AVColorPrimaries = 9;
5147#[doc = "< SMPTE ST 428-1 (CIE 1931 XYZ)"]
5148pub const AVColorPrimaries_AVCOL_PRI_SMPTE428: AVColorPrimaries = 10;
5149pub const AVColorPrimaries_AVCOL_PRI_SMPTEST428_1: AVColorPrimaries = 10;
5150#[doc = "< SMPTE ST 431-2 (2011) / DCI P3"]
5151pub const AVColorPrimaries_AVCOL_PRI_SMPTE431: AVColorPrimaries = 11;
5152#[doc = "< SMPTE ST 432-1 (2010) / P3 D65 / Display P3"]
5153pub const AVColorPrimaries_AVCOL_PRI_SMPTE432: AVColorPrimaries = 12;
5154#[doc = "< JEDEC P22 phosphors"]
5155pub const AVColorPrimaries_AVCOL_PRI_JEDEC_P22: AVColorPrimaries = 22;
5156#[doc = "< Not part of ABI"]
5157pub const AVColorPrimaries_AVCOL_PRI_NB: AVColorPrimaries = 23;
5158#[doc = " Chromaticity coordinates of the source primaries."]
5159#[doc = " These values match the ones defined by ISO/IEC 23001-8_2013 \u{a7} 7.1."]
5160pub type AVColorPrimaries = u32;
5161pub const AVColorTransferCharacteristic_AVCOL_TRC_RESERVED0: AVColorTransferCharacteristic = 0;
5162#[doc = "< also ITU-R BT1361"]
5163pub const AVColorTransferCharacteristic_AVCOL_TRC_BT709: AVColorTransferCharacteristic = 1;
5164pub const AVColorTransferCharacteristic_AVCOL_TRC_UNSPECIFIED: AVColorTransferCharacteristic = 2;
5165pub const AVColorTransferCharacteristic_AVCOL_TRC_RESERVED: AVColorTransferCharacteristic = 3;
5166#[doc = "< also ITU-R BT470M / ITU-R BT1700 625 PAL & SECAM"]
5167pub const AVColorTransferCharacteristic_AVCOL_TRC_GAMMA22: AVColorTransferCharacteristic = 4;
5168#[doc = "< also ITU-R BT470BG"]
5169pub const AVColorTransferCharacteristic_AVCOL_TRC_GAMMA28: AVColorTransferCharacteristic = 5;
5170#[doc = "< also ITU-R BT601-6 525 or 625 / ITU-R BT1358 525 or 625 / ITU-R BT1700 NTSC"]
5171pub const AVColorTransferCharacteristic_AVCOL_TRC_SMPTE170M: AVColorTransferCharacteristic = 6;
5172pub const AVColorTransferCharacteristic_AVCOL_TRC_SMPTE240M: AVColorTransferCharacteristic = 7;
5173#[doc = "< \"Linear transfer characteristics\""]
5174pub const AVColorTransferCharacteristic_AVCOL_TRC_LINEAR: AVColorTransferCharacteristic = 8;
5175#[doc = "< \"Logarithmic transfer characteristic (100:1 range)\""]
5176pub const AVColorTransferCharacteristic_AVCOL_TRC_LOG: AVColorTransferCharacteristic = 9;
5177#[doc = "< \"Logarithmic transfer characteristic (100 * Sqrt(10) : 1 range)\""]
5178pub const AVColorTransferCharacteristic_AVCOL_TRC_LOG_SQRT: AVColorTransferCharacteristic = 10;
5179#[doc = "< IEC 61966-2-4"]
5180pub const AVColorTransferCharacteristic_AVCOL_TRC_IEC61966_2_4: AVColorTransferCharacteristic = 11;
5181#[doc = "< ITU-R BT1361 Extended Colour Gamut"]
5182pub const AVColorTransferCharacteristic_AVCOL_TRC_BT1361_ECG: AVColorTransferCharacteristic = 12;
5183#[doc = "< IEC 61966-2-1 (sRGB or sYCC)"]
5184pub const AVColorTransferCharacteristic_AVCOL_TRC_IEC61966_2_1: AVColorTransferCharacteristic = 13;
5185#[doc = "< ITU-R BT2020 for 10-bit system"]
5186pub const AVColorTransferCharacteristic_AVCOL_TRC_BT2020_10: AVColorTransferCharacteristic = 14;
5187#[doc = "< ITU-R BT2020 for 12-bit system"]
5188pub const AVColorTransferCharacteristic_AVCOL_TRC_BT2020_12: AVColorTransferCharacteristic = 15;
5189#[doc = "< SMPTE ST 2084 for 10-, 12-, 14- and 16-bit systems"]
5190pub const AVColorTransferCharacteristic_AVCOL_TRC_SMPTE2084: AVColorTransferCharacteristic = 16;
5191pub const AVColorTransferCharacteristic_AVCOL_TRC_SMPTEST2084: AVColorTransferCharacteristic = 16;
5192#[doc = "< SMPTE ST 428-1"]
5193pub const AVColorTransferCharacteristic_AVCOL_TRC_SMPTE428: AVColorTransferCharacteristic = 17;
5194pub const AVColorTransferCharacteristic_AVCOL_TRC_SMPTEST428_1: AVColorTransferCharacteristic = 17;
5195#[doc = "< ARIB STD-B67, known as \"Hybrid log-gamma\""]
5196pub const AVColorTransferCharacteristic_AVCOL_TRC_ARIB_STD_B67: AVColorTransferCharacteristic = 18;
5197#[doc = "< Not part of ABI"]
5198pub const AVColorTransferCharacteristic_AVCOL_TRC_NB: AVColorTransferCharacteristic = 19;
5199#[doc = " Color Transfer Characteristic."]
5200#[doc = " These values match the ones defined by ISO/IEC 23001-8_2013 \u{a7} 7.2."]
5201pub type AVColorTransferCharacteristic = u32;
5202#[doc = "< order of coefficients is actually GBR, also IEC 61966-2-1 (sRGB)"]
5203pub const AVColorSpace_AVCOL_SPC_RGB: AVColorSpace = 0;
5204#[doc = "< also ITU-R BT1361 / IEC 61966-2-4 xvYCC709 / SMPTE RP177 Annex B"]
5205pub const AVColorSpace_AVCOL_SPC_BT709: AVColorSpace = 1;
5206pub const AVColorSpace_AVCOL_SPC_UNSPECIFIED: AVColorSpace = 2;
5207pub const AVColorSpace_AVCOL_SPC_RESERVED: AVColorSpace = 3;
5208#[doc = "< FCC Title 47 Code of Federal Regulations 73.682 (a)(20)"]
5209pub const AVColorSpace_AVCOL_SPC_FCC: AVColorSpace = 4;
5210#[doc = "< also ITU-R BT601-6 625 / ITU-R BT1358 625 / ITU-R BT1700 625 PAL & SECAM / IEC 61966-2-4 xvYCC601"]
5211pub const AVColorSpace_AVCOL_SPC_BT470BG: AVColorSpace = 5;
5212#[doc = "< also ITU-R BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC"]
5213pub const AVColorSpace_AVCOL_SPC_SMPTE170M: AVColorSpace = 6;
5214#[doc = "< functionally identical to above"]
5215pub const AVColorSpace_AVCOL_SPC_SMPTE240M: AVColorSpace = 7;
5216#[doc = "< Used by Dirac / VC-2 and H.264 FRext, see ITU-T SG16"]
5217pub const AVColorSpace_AVCOL_SPC_YCGCO: AVColorSpace = 8;
5218pub const AVColorSpace_AVCOL_SPC_YCOCG: AVColorSpace = 8;
5219#[doc = "< ITU-R BT2020 non-constant luminance system"]
5220pub const AVColorSpace_AVCOL_SPC_BT2020_NCL: AVColorSpace = 9;
5221#[doc = "< ITU-R BT2020 constant luminance system"]
5222pub const AVColorSpace_AVCOL_SPC_BT2020_CL: AVColorSpace = 10;
5223#[doc = "< SMPTE 2085, Y\'D\'zD\'x"]
5224pub const AVColorSpace_AVCOL_SPC_SMPTE2085: AVColorSpace = 11;
5225#[doc = "< Chromaticity-derived non-constant luminance system"]
5226pub const AVColorSpace_AVCOL_SPC_CHROMA_DERIVED_NCL: AVColorSpace = 12;
5227#[doc = "< Chromaticity-derived constant luminance system"]
5228pub const AVColorSpace_AVCOL_SPC_CHROMA_DERIVED_CL: AVColorSpace = 13;
5229#[doc = "< ITU-R BT.2100-0, ICtCp"]
5230pub const AVColorSpace_AVCOL_SPC_ICTCP: AVColorSpace = 14;
5231#[doc = "< Not part of ABI"]
5232pub const AVColorSpace_AVCOL_SPC_NB: AVColorSpace = 15;
5233#[doc = " YUV colorspace type."]
5234#[doc = " These values match the ones defined by ISO/IEC 23001-8_2013 \u{a7} 7.3."]
5235pub type AVColorSpace = u32;
5236pub const AVColorRange_AVCOL_RANGE_UNSPECIFIED: AVColorRange = 0;
5237#[doc = "< the normal 219*2^(n-8) \"MPEG\" YUV ranges"]
5238pub const AVColorRange_AVCOL_RANGE_MPEG: AVColorRange = 1;
5239#[doc = "< the normal     2^n-1   \"JPEG\" YUV ranges"]
5240pub const AVColorRange_AVCOL_RANGE_JPEG: AVColorRange = 2;
5241#[doc = "< Not part of ABI"]
5242pub const AVColorRange_AVCOL_RANGE_NB: AVColorRange = 3;
5243#[doc = " MPEG vs JPEG YUV range."]
5244pub type AVColorRange = u32;
5245pub const AVChromaLocation_AVCHROMA_LOC_UNSPECIFIED: AVChromaLocation = 0;
5246#[doc = "< MPEG-2/4 4:2:0, H.264 default for 4:2:0"]
5247pub const AVChromaLocation_AVCHROMA_LOC_LEFT: AVChromaLocation = 1;
5248#[doc = "< MPEG-1 4:2:0, JPEG 4:2:0, H.263 4:2:0"]
5249pub const AVChromaLocation_AVCHROMA_LOC_CENTER: AVChromaLocation = 2;
5250#[doc = "< ITU-R 601, SMPTE 274M 296M S314M(DV 4:1:1), mpeg2 4:2:2"]
5251pub const AVChromaLocation_AVCHROMA_LOC_TOPLEFT: AVChromaLocation = 3;
5252pub const AVChromaLocation_AVCHROMA_LOC_TOP: AVChromaLocation = 4;
5253pub const AVChromaLocation_AVCHROMA_LOC_BOTTOMLEFT: AVChromaLocation = 5;
5254pub const AVChromaLocation_AVCHROMA_LOC_BOTTOM: AVChromaLocation = 6;
5255#[doc = "< Not part of ABI"]
5256pub const AVChromaLocation_AVCHROMA_LOC_NB: AVChromaLocation = 7;
5257#[doc = " Location of chroma samples."]
5258#[doc = ""]
5259#[doc = " Illustration showing the location of the first (top left) chroma sample of the"]
5260#[doc = " image, the left shows only luma, the right"]
5261#[doc = " shows the location of the chroma sample, the 2 could be imagined to overlay"]
5262#[doc = " each other but are drawn separately due to limitations of ASCII"]
5263#[doc = ""]
5264#[doc = "                1st 2nd       1st 2nd horizontal luma sample positions"]
5265#[doc = "                 v   v         v   v"]
5266#[doc = "                 ______        ______"]
5267#[doc = "1st luma line > |X   X ...    |3 4 X ...     X are luma samples,"]
5268#[doc = "                |             |1 2           1-6 are possible chroma positions"]
5269#[doc = "2nd luma line > |X   X ...    |5 6 X ...     0 is undefined/unknown position"]
5270pub type AVChromaLocation = u32;
5271extern "C" {
5272    #[doc = " Compute the length of an integer list."]
5273    #[doc = ""]
5274    #[doc = " @param elsize  size in bytes of each list element (only 1, 2, 4 or 8)"]
5275    #[doc = " @param term    list terminator (usually 0 or -1)"]
5276    #[doc = " @param list    pointer to the list"]
5277    #[doc = " @return  length of the list, in elements, not counting the terminator"]
5278    pub fn av_int_list_length_for_size(
5279        elsize: ::std::os::raw::c_uint,
5280        list: *const ::std::os::raw::c_void,
5281        term: u64,
5282    ) -> ::std::os::raw::c_uint;
5283}
5284extern "C" {
5285    #[doc = " Open a file using a UTF-8 filename."]
5286    #[doc = " The API of this function matches POSIX fopen(), errors are returned through"]
5287    #[doc = " errno."]
5288    pub fn av_fopen_utf8(
5289        path: *const ::std::os::raw::c_char,
5290        mode: *const ::std::os::raw::c_char,
5291    ) -> *mut FILE;
5292}
5293extern "C" {
5294    #[doc = " Return the fractional representation of the internal time base."]
5295    pub fn av_get_time_base_q() -> AVRational;
5296}
5297extern "C" {
5298    #[doc = " Fill the provided buffer with a string containing a FourCC (four-character"]
5299    #[doc = " code) representation."]
5300    #[doc = ""]
5301    #[doc = " @param buf    a buffer with size in bytes of at least AV_FOURCC_MAX_STRING_SIZE"]
5302    #[doc = " @param fourcc the fourcc to represent"]
5303    #[doc = " @return the buffer in input"]
5304    pub fn av_fourcc_make_string(
5305        buf: *mut ::std::os::raw::c_char,
5306        fourcc: u32,
5307    ) -> *mut ::std::os::raw::c_char;
5308}
5309pub type __builtin_va_list = [__va_list_tag; 1usize];
5310#[repr(C)]
5311#[derive(Debug, Copy, Clone)]
5312pub struct __va_list_tag {
5313    pub gp_offset: ::std::os::raw::c_uint,
5314    pub fp_offset: ::std::os::raw::c_uint,
5315    pub overflow_arg_area: *mut ::std::os::raw::c_void,
5316    pub reg_save_area: *mut ::std::os::raw::c_void,
5317}
5318#[repr(C)]
5319#[derive(Debug, Copy, Clone)]
5320pub struct __locale_data {
5321    pub _address: u8,
5322}
5323#[doc = " a pointer to the first option specified in the class if any or NULL"]
5324#[doc = ""]
5325#[doc = " @see av_set_default_options()"]
5326#[repr(C)]
5327#[derive(Debug, Copy, Clone)]
5328pub struct AVOption {
5329    pub _address: u8,
5330}