ffmpeg4_ffi/
sys.rs

1/* automatically generated by rust-bindgen */
2
3#[repr(C)]
4#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
5pub struct __BindgenBitfieldUnit<Storage, Align> {
6    storage: Storage,
7    align: [Align; 0],
8}
9impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align> {
10    #[inline]
11    pub const fn new(storage: Storage) -> Self {
12        Self { storage, align: [] }
13    }
14}
15impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align>
16where
17    Storage: AsRef<[u8]> + AsMut<[u8]>,
18{
19    #[inline]
20    pub fn get_bit(&self, index: usize) -> bool {
21        debug_assert!(index / 8 < self.storage.as_ref().len());
22        let byte_index = index / 8;
23        let byte = self.storage.as_ref()[byte_index];
24        let bit_index = if cfg!(target_endian = "big") {
25            7 - (index % 8)
26        } else {
27            index % 8
28        };
29        let mask = 1 << bit_index;
30        byte & mask == mask
31    }
32    #[inline]
33    pub fn set_bit(&mut self, index: usize, val: bool) {
34        debug_assert!(index / 8 < self.storage.as_ref().len());
35        let byte_index = index / 8;
36        let byte = &mut self.storage.as_mut()[byte_index];
37        let bit_index = if cfg!(target_endian = "big") {
38            7 - (index % 8)
39        } else {
40            index % 8
41        };
42        let mask = 1 << bit_index;
43        if val {
44            *byte |= mask;
45        } else {
46            *byte &= !mask;
47        }
48    }
49    #[inline]
50    pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
51        debug_assert!(bit_width <= 64);
52        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
53        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
54        let mut val = 0;
55        for i in 0..(bit_width as usize) {
56            if self.get_bit(i + bit_offset) {
57                let index = if cfg!(target_endian = "big") {
58                    bit_width as usize - 1 - i
59                } else {
60                    i
61                };
62                val |= 1 << index;
63            }
64        }
65        val
66    }
67    #[inline]
68    pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
69        debug_assert!(bit_width <= 64);
70        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
71        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
72        for i in 0..(bit_width as usize) {
73            let mask = 1 << i;
74            let val_bit_is_set = val & mask == mask;
75            let index = if cfg!(target_endian = "big") {
76                bit_width as usize - 1 - i
77            } else {
78                i
79            };
80            self.set_bit(index + bit_offset, val_bit_is_set);
81        }
82    }
83}
84pub const _STDINT_H: u32 = 1;
85pub const _FEATURES_H: u32 = 1;
86pub const _DEFAULT_SOURCE: u32 = 1;
87pub const __USE_ISOC11: u32 = 1;
88pub const __USE_ISOC99: u32 = 1;
89pub const __USE_ISOC95: u32 = 1;
90pub const __USE_POSIX_IMPLICITLY: u32 = 1;
91pub const _POSIX_SOURCE: u32 = 1;
92pub const _POSIX_C_SOURCE: u32 = 200809;
93pub const __USE_POSIX: u32 = 1;
94pub const __USE_POSIX2: u32 = 1;
95pub const __USE_POSIX199309: u32 = 1;
96pub const __USE_POSIX199506: u32 = 1;
97pub const __USE_XOPEN2K: u32 = 1;
98pub const __USE_XOPEN2K8: u32 = 1;
99pub const _ATFILE_SOURCE: u32 = 1;
100pub const __USE_MISC: u32 = 1;
101pub const __USE_ATFILE: u32 = 1;
102pub const __USE_FORTIFY_LEVEL: u32 = 0;
103pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
104pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0;
105pub const _STDC_PREDEF_H: u32 = 1;
106pub const __STDC_IEC_559__: u32 = 1;
107pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
108pub const __STDC_ISO_10646__: u32 = 201706;
109pub const __GNU_LIBRARY__: u32 = 6;
110pub const __GLIBC__: u32 = 2;
111pub const __GLIBC_MINOR__: u32 = 30;
112pub const _SYS_CDEFS_H: u32 = 1;
113pub const __glibc_c99_flexarr_available: u32 = 1;
114pub const __WORDSIZE: u32 = 64;
115pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
116pub const __SYSCALL_WORDSIZE: u32 = 64;
117pub const __HAVE_GENERIC_SELECTION: u32 = 1;
118pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
119pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
120pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
121pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
122pub const _BITS_TYPES_H: u32 = 1;
123pub const __TIMESIZE: u32 = 64;
124pub const _BITS_TYPESIZES_H: u32 = 1;
125pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
126pub const __INO_T_MATCHES_INO64_T: u32 = 1;
127pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
128pub const __FD_SETSIZE: u32 = 1024;
129pub const _BITS_TIME64_H: u32 = 1;
130pub const _BITS_WCHAR_H: u32 = 1;
131pub const _BITS_STDINT_INTN_H: u32 = 1;
132pub const _BITS_STDINT_UINTN_H: u32 = 1;
133pub const INT8_MIN: i32 = -128;
134pub const INT16_MIN: i32 = -32768;
135pub const INT32_MIN: i32 = -2147483648;
136pub const INT8_MAX: u32 = 127;
137pub const INT16_MAX: u32 = 32767;
138pub const INT32_MAX: u32 = 2147483647;
139pub const UINT8_MAX: u32 = 255;
140pub const UINT16_MAX: u32 = 65535;
141pub const UINT32_MAX: u32 = 4294967295;
142pub const INT_LEAST8_MIN: i32 = -128;
143pub const INT_LEAST16_MIN: i32 = -32768;
144pub const INT_LEAST32_MIN: i32 = -2147483648;
145pub const INT_LEAST8_MAX: u32 = 127;
146pub const INT_LEAST16_MAX: u32 = 32767;
147pub const INT_LEAST32_MAX: u32 = 2147483647;
148pub const UINT_LEAST8_MAX: u32 = 255;
149pub const UINT_LEAST16_MAX: u32 = 65535;
150pub const UINT_LEAST32_MAX: u32 = 4294967295;
151pub const INT_FAST8_MIN: i32 = -128;
152pub const INT_FAST16_MIN: i64 = -9223372036854775808;
153pub const INT_FAST32_MIN: i64 = -9223372036854775808;
154pub const INT_FAST8_MAX: u32 = 127;
155pub const INT_FAST16_MAX: u64 = 9223372036854775807;
156pub const INT_FAST32_MAX: u64 = 9223372036854775807;
157pub const UINT_FAST8_MAX: u32 = 255;
158pub const UINT_FAST16_MAX: i32 = -1;
159pub const UINT_FAST32_MAX: i32 = -1;
160pub const INTPTR_MIN: i64 = -9223372036854775808;
161pub const INTPTR_MAX: u64 = 9223372036854775807;
162pub const UINTPTR_MAX: i32 = -1;
163pub const PTRDIFF_MIN: i64 = -9223372036854775808;
164pub const PTRDIFF_MAX: u64 = 9223372036854775807;
165pub const SIG_ATOMIC_MIN: i32 = -2147483648;
166pub const SIG_ATOMIC_MAX: u32 = 2147483647;
167pub const SIZE_MAX: i32 = -1;
168pub const WINT_MIN: u32 = 0;
169pub const WINT_MAX: u32 = 4294967295;
170pub const LIBAVUTIL_VERSION_MAJOR: u32 = 56;
171pub const LIBAVUTIL_VERSION_MINOR: u32 = 31;
172pub const LIBAVUTIL_VERSION_MICRO: u32 = 100;
173pub const AV_DICT_MATCH_CASE: u32 = 1;
174pub const AV_DICT_IGNORE_SUFFIX: u32 = 2;
175pub const AV_DICT_DONT_STRDUP_KEY: u32 = 4;
176pub const AV_DICT_DONT_STRDUP_VAL: u32 = 8;
177pub const AV_DICT_DONT_OVERWRITE: u32 = 16;
178pub const AV_DICT_APPEND: u32 = 32;
179pub const AV_DICT_MULTIKEY: u32 = 64;
180pub const _ERRNO_H: u32 = 1;
181pub const _BITS_ERRNO_H: u32 = 1;
182pub const EPERM: u32 = 1;
183pub const ENOENT: u32 = 2;
184pub const ESRCH: u32 = 3;
185pub const EINTR: u32 = 4;
186pub const EIO: u32 = 5;
187pub const ENXIO: u32 = 6;
188pub const E2BIG: u32 = 7;
189pub const ENOEXEC: u32 = 8;
190pub const EBADF: u32 = 9;
191pub const ECHILD: u32 = 10;
192pub const EAGAIN: u32 = 11;
193pub const ENOMEM: u32 = 12;
194pub const EACCES: u32 = 13;
195pub const EFAULT: u32 = 14;
196pub const ENOTBLK: u32 = 15;
197pub const EBUSY: u32 = 16;
198pub const EEXIST: u32 = 17;
199pub const EXDEV: u32 = 18;
200pub const ENODEV: u32 = 19;
201pub const ENOTDIR: u32 = 20;
202pub const EISDIR: u32 = 21;
203pub const EINVAL: u32 = 22;
204pub const ENFILE: u32 = 23;
205pub const EMFILE: u32 = 24;
206pub const ENOTTY: u32 = 25;
207pub const ETXTBSY: u32 = 26;
208pub const EFBIG: u32 = 27;
209pub const ENOSPC: u32 = 28;
210pub const ESPIPE: u32 = 29;
211pub const EROFS: u32 = 30;
212pub const EMLINK: u32 = 31;
213pub const EPIPE: u32 = 32;
214pub const EDOM: u32 = 33;
215pub const ERANGE: u32 = 34;
216pub const EDEADLK: u32 = 35;
217pub const ENAMETOOLONG: u32 = 36;
218pub const ENOLCK: u32 = 37;
219pub const ENOSYS: u32 = 38;
220pub const ENOTEMPTY: u32 = 39;
221pub const ELOOP: u32 = 40;
222pub const EWOULDBLOCK: u32 = 11;
223pub const ENOMSG: u32 = 42;
224pub const EIDRM: u32 = 43;
225pub const ECHRNG: u32 = 44;
226pub const EL2NSYNC: u32 = 45;
227pub const EL3HLT: u32 = 46;
228pub const EL3RST: u32 = 47;
229pub const ELNRNG: u32 = 48;
230pub const EUNATCH: u32 = 49;
231pub const ENOCSI: u32 = 50;
232pub const EL2HLT: u32 = 51;
233pub const EBADE: u32 = 52;
234pub const EBADR: u32 = 53;
235pub const EXFULL: u32 = 54;
236pub const ENOANO: u32 = 55;
237pub const EBADRQC: u32 = 56;
238pub const EBADSLT: u32 = 57;
239pub const EDEADLOCK: u32 = 35;
240pub const EBFONT: u32 = 59;
241pub const ENOSTR: u32 = 60;
242pub const ENODATA: u32 = 61;
243pub const ETIME: u32 = 62;
244pub const ENOSR: u32 = 63;
245pub const ENONET: u32 = 64;
246pub const ENOPKG: u32 = 65;
247pub const EREMOTE: u32 = 66;
248pub const ENOLINK: u32 = 67;
249pub const EADV: u32 = 68;
250pub const ESRMNT: u32 = 69;
251pub const ECOMM: u32 = 70;
252pub const EPROTO: u32 = 71;
253pub const EMULTIHOP: u32 = 72;
254pub const EDOTDOT: u32 = 73;
255pub const EBADMSG: u32 = 74;
256pub const EOVERFLOW: u32 = 75;
257pub const ENOTUNIQ: u32 = 76;
258pub const EBADFD: u32 = 77;
259pub const EREMCHG: u32 = 78;
260pub const ELIBACC: u32 = 79;
261pub const ELIBBAD: u32 = 80;
262pub const ELIBSCN: u32 = 81;
263pub const ELIBMAX: u32 = 82;
264pub const ELIBEXEC: u32 = 83;
265pub const EILSEQ: u32 = 84;
266pub const ERESTART: u32 = 85;
267pub const ESTRPIPE: u32 = 86;
268pub const EUSERS: u32 = 87;
269pub const ENOTSOCK: u32 = 88;
270pub const EDESTADDRREQ: u32 = 89;
271pub const EMSGSIZE: u32 = 90;
272pub const EPROTOTYPE: u32 = 91;
273pub const ENOPROTOOPT: u32 = 92;
274pub const EPROTONOSUPPORT: u32 = 93;
275pub const ESOCKTNOSUPPORT: u32 = 94;
276pub const EOPNOTSUPP: u32 = 95;
277pub const EPFNOSUPPORT: u32 = 96;
278pub const EAFNOSUPPORT: u32 = 97;
279pub const EADDRINUSE: u32 = 98;
280pub const EADDRNOTAVAIL: u32 = 99;
281pub const ENETDOWN: u32 = 100;
282pub const ENETUNREACH: u32 = 101;
283pub const ENETRESET: u32 = 102;
284pub const ECONNABORTED: u32 = 103;
285pub const ECONNRESET: u32 = 104;
286pub const ENOBUFS: u32 = 105;
287pub const EISCONN: u32 = 106;
288pub const ENOTCONN: u32 = 107;
289pub const ESHUTDOWN: u32 = 108;
290pub const ETOOMANYREFS: u32 = 109;
291pub const ETIMEDOUT: u32 = 110;
292pub const ECONNREFUSED: u32 = 111;
293pub const EHOSTDOWN: u32 = 112;
294pub const EHOSTUNREACH: u32 = 113;
295pub const EALREADY: u32 = 114;
296pub const EINPROGRESS: u32 = 115;
297pub const ESTALE: u32 = 116;
298pub const EUCLEAN: u32 = 117;
299pub const ENOTNAM: u32 = 118;
300pub const ENAVAIL: u32 = 119;
301pub const EISNAM: u32 = 120;
302pub const EREMOTEIO: u32 = 121;
303pub const EDQUOT: u32 = 122;
304pub const ENOMEDIUM: u32 = 123;
305pub const EMEDIUMTYPE: u32 = 124;
306pub const ECANCELED: u32 = 125;
307pub const ENOKEY: u32 = 126;
308pub const EKEYEXPIRED: u32 = 127;
309pub const EKEYREVOKED: u32 = 128;
310pub const EKEYREJECTED: u32 = 129;
311pub const EOWNERDEAD: u32 = 130;
312pub const ENOTRECOVERABLE: u32 = 131;
313pub const ERFKILL: u32 = 132;
314pub const EHWPOISON: u32 = 133;
315pub const ENOTSUP: u32 = 95;
316pub const _INTTYPES_H: u32 = 1;
317pub const ____gwchar_t_defined: u32 = 1;
318pub const __PRI64_PREFIX: &'static [u8; 2usize] = b"l\0";
319pub const __PRIPTR_PREFIX: &'static [u8; 2usize] = b"l\0";
320pub const PRId8: &'static [u8; 2usize] = b"d\0";
321pub const PRId16: &'static [u8; 2usize] = b"d\0";
322pub const PRId32: &'static [u8; 2usize] = b"d\0";
323pub const PRId64: &'static [u8; 3usize] = b"ld\0";
324pub const PRIdLEAST8: &'static [u8; 2usize] = b"d\0";
325pub const PRIdLEAST16: &'static [u8; 2usize] = b"d\0";
326pub const PRIdLEAST32: &'static [u8; 2usize] = b"d\0";
327pub const PRIdLEAST64: &'static [u8; 3usize] = b"ld\0";
328pub const PRIdFAST8: &'static [u8; 2usize] = b"d\0";
329pub const PRIdFAST16: &'static [u8; 3usize] = b"ld\0";
330pub const PRIdFAST32: &'static [u8; 3usize] = b"ld\0";
331pub const PRIdFAST64: &'static [u8; 3usize] = b"ld\0";
332pub const PRIi8: &'static [u8; 2usize] = b"i\0";
333pub const PRIi16: &'static [u8; 2usize] = b"i\0";
334pub const PRIi32: &'static [u8; 2usize] = b"i\0";
335pub const PRIi64: &'static [u8; 3usize] = b"li\0";
336pub const PRIiLEAST8: &'static [u8; 2usize] = b"i\0";
337pub const PRIiLEAST16: &'static [u8; 2usize] = b"i\0";
338pub const PRIiLEAST32: &'static [u8; 2usize] = b"i\0";
339pub const PRIiLEAST64: &'static [u8; 3usize] = b"li\0";
340pub const PRIiFAST8: &'static [u8; 2usize] = b"i\0";
341pub const PRIiFAST16: &'static [u8; 3usize] = b"li\0";
342pub const PRIiFAST32: &'static [u8; 3usize] = b"li\0";
343pub const PRIiFAST64: &'static [u8; 3usize] = b"li\0";
344pub const PRIo8: &'static [u8; 2usize] = b"o\0";
345pub const PRIo16: &'static [u8; 2usize] = b"o\0";
346pub const PRIo32: &'static [u8; 2usize] = b"o\0";
347pub const PRIo64: &'static [u8; 3usize] = b"lo\0";
348pub const PRIoLEAST8: &'static [u8; 2usize] = b"o\0";
349pub const PRIoLEAST16: &'static [u8; 2usize] = b"o\0";
350pub const PRIoLEAST32: &'static [u8; 2usize] = b"o\0";
351pub const PRIoLEAST64: &'static [u8; 3usize] = b"lo\0";
352pub const PRIoFAST8: &'static [u8; 2usize] = b"o\0";
353pub const PRIoFAST16: &'static [u8; 3usize] = b"lo\0";
354pub const PRIoFAST32: &'static [u8; 3usize] = b"lo\0";
355pub const PRIoFAST64: &'static [u8; 3usize] = b"lo\0";
356pub const PRIu8: &'static [u8; 2usize] = b"u\0";
357pub const PRIu16: &'static [u8; 2usize] = b"u\0";
358pub const PRIu32: &'static [u8; 2usize] = b"u\0";
359pub const PRIu64: &'static [u8; 3usize] = b"lu\0";
360pub const PRIuLEAST8: &'static [u8; 2usize] = b"u\0";
361pub const PRIuLEAST16: &'static [u8; 2usize] = b"u\0";
362pub const PRIuLEAST32: &'static [u8; 2usize] = b"u\0";
363pub const PRIuLEAST64: &'static [u8; 3usize] = b"lu\0";
364pub const PRIuFAST8: &'static [u8; 2usize] = b"u\0";
365pub const PRIuFAST16: &'static [u8; 3usize] = b"lu\0";
366pub const PRIuFAST32: &'static [u8; 3usize] = b"lu\0";
367pub const PRIuFAST64: &'static [u8; 3usize] = b"lu\0";
368pub const PRIx8: &'static [u8; 2usize] = b"x\0";
369pub const PRIx16: &'static [u8; 2usize] = b"x\0";
370pub const PRIx32: &'static [u8; 2usize] = b"x\0";
371pub const PRIx64: &'static [u8; 3usize] = b"lx\0";
372pub const PRIxLEAST8: &'static [u8; 2usize] = b"x\0";
373pub const PRIxLEAST16: &'static [u8; 2usize] = b"x\0";
374pub const PRIxLEAST32: &'static [u8; 2usize] = b"x\0";
375pub const PRIxLEAST64: &'static [u8; 3usize] = b"lx\0";
376pub const PRIxFAST8: &'static [u8; 2usize] = b"x\0";
377pub const PRIxFAST16: &'static [u8; 3usize] = b"lx\0";
378pub const PRIxFAST32: &'static [u8; 3usize] = b"lx\0";
379pub const PRIxFAST64: &'static [u8; 3usize] = b"lx\0";
380pub const PRIX8: &'static [u8; 2usize] = b"X\0";
381pub const PRIX16: &'static [u8; 2usize] = b"X\0";
382pub const PRIX32: &'static [u8; 2usize] = b"X\0";
383pub const PRIX64: &'static [u8; 3usize] = b"lX\0";
384pub const PRIXLEAST8: &'static [u8; 2usize] = b"X\0";
385pub const PRIXLEAST16: &'static [u8; 2usize] = b"X\0";
386pub const PRIXLEAST32: &'static [u8; 2usize] = b"X\0";
387pub const PRIXLEAST64: &'static [u8; 3usize] = b"lX\0";
388pub const PRIXFAST8: &'static [u8; 2usize] = b"X\0";
389pub const PRIXFAST16: &'static [u8; 3usize] = b"lX\0";
390pub const PRIXFAST32: &'static [u8; 3usize] = b"lX\0";
391pub const PRIXFAST64: &'static [u8; 3usize] = b"lX\0";
392pub const PRIdMAX: &'static [u8; 3usize] = b"ld\0";
393pub const PRIiMAX: &'static [u8; 3usize] = b"li\0";
394pub const PRIoMAX: &'static [u8; 3usize] = b"lo\0";
395pub const PRIuMAX: &'static [u8; 3usize] = b"lu\0";
396pub const PRIxMAX: &'static [u8; 3usize] = b"lx\0";
397pub const PRIXMAX: &'static [u8; 3usize] = b"lX\0";
398pub const PRIdPTR: &'static [u8; 3usize] = b"ld\0";
399pub const PRIiPTR: &'static [u8; 3usize] = b"li\0";
400pub const PRIoPTR: &'static [u8; 3usize] = b"lo\0";
401pub const PRIuPTR: &'static [u8; 3usize] = b"lu\0";
402pub const PRIxPTR: &'static [u8; 3usize] = b"lx\0";
403pub const PRIXPTR: &'static [u8; 3usize] = b"lX\0";
404pub const SCNd8: &'static [u8; 4usize] = b"hhd\0";
405pub const SCNd16: &'static [u8; 3usize] = b"hd\0";
406pub const SCNd32: &'static [u8; 2usize] = b"d\0";
407pub const SCNd64: &'static [u8; 3usize] = b"ld\0";
408pub const SCNdLEAST8: &'static [u8; 4usize] = b"hhd\0";
409pub const SCNdLEAST16: &'static [u8; 3usize] = b"hd\0";
410pub const SCNdLEAST32: &'static [u8; 2usize] = b"d\0";
411pub const SCNdLEAST64: &'static [u8; 3usize] = b"ld\0";
412pub const SCNdFAST8: &'static [u8; 4usize] = b"hhd\0";
413pub const SCNdFAST16: &'static [u8; 3usize] = b"ld\0";
414pub const SCNdFAST32: &'static [u8; 3usize] = b"ld\0";
415pub const SCNdFAST64: &'static [u8; 3usize] = b"ld\0";
416pub const SCNi8: &'static [u8; 4usize] = b"hhi\0";
417pub const SCNi16: &'static [u8; 3usize] = b"hi\0";
418pub const SCNi32: &'static [u8; 2usize] = b"i\0";
419pub const SCNi64: &'static [u8; 3usize] = b"li\0";
420pub const SCNiLEAST8: &'static [u8; 4usize] = b"hhi\0";
421pub const SCNiLEAST16: &'static [u8; 3usize] = b"hi\0";
422pub const SCNiLEAST32: &'static [u8; 2usize] = b"i\0";
423pub const SCNiLEAST64: &'static [u8; 3usize] = b"li\0";
424pub const SCNiFAST8: &'static [u8; 4usize] = b"hhi\0";
425pub const SCNiFAST16: &'static [u8; 3usize] = b"li\0";
426pub const SCNiFAST32: &'static [u8; 3usize] = b"li\0";
427pub const SCNiFAST64: &'static [u8; 3usize] = b"li\0";
428pub const SCNu8: &'static [u8; 4usize] = b"hhu\0";
429pub const SCNu16: &'static [u8; 3usize] = b"hu\0";
430pub const SCNu32: &'static [u8; 2usize] = b"u\0";
431pub const SCNu64: &'static [u8; 3usize] = b"lu\0";
432pub const SCNuLEAST8: &'static [u8; 4usize] = b"hhu\0";
433pub const SCNuLEAST16: &'static [u8; 3usize] = b"hu\0";
434pub const SCNuLEAST32: &'static [u8; 2usize] = b"u\0";
435pub const SCNuLEAST64: &'static [u8; 3usize] = b"lu\0";
436pub const SCNuFAST8: &'static [u8; 4usize] = b"hhu\0";
437pub const SCNuFAST16: &'static [u8; 3usize] = b"lu\0";
438pub const SCNuFAST32: &'static [u8; 3usize] = b"lu\0";
439pub const SCNuFAST64: &'static [u8; 3usize] = b"lu\0";
440pub const SCNo8: &'static [u8; 4usize] = b"hho\0";
441pub const SCNo16: &'static [u8; 3usize] = b"ho\0";
442pub const SCNo32: &'static [u8; 2usize] = b"o\0";
443pub const SCNo64: &'static [u8; 3usize] = b"lo\0";
444pub const SCNoLEAST8: &'static [u8; 4usize] = b"hho\0";
445pub const SCNoLEAST16: &'static [u8; 3usize] = b"ho\0";
446pub const SCNoLEAST32: &'static [u8; 2usize] = b"o\0";
447pub const SCNoLEAST64: &'static [u8; 3usize] = b"lo\0";
448pub const SCNoFAST8: &'static [u8; 4usize] = b"hho\0";
449pub const SCNoFAST16: &'static [u8; 3usize] = b"lo\0";
450pub const SCNoFAST32: &'static [u8; 3usize] = b"lo\0";
451pub const SCNoFAST64: &'static [u8; 3usize] = b"lo\0";
452pub const SCNx8: &'static [u8; 4usize] = b"hhx\0";
453pub const SCNx16: &'static [u8; 3usize] = b"hx\0";
454pub const SCNx32: &'static [u8; 2usize] = b"x\0";
455pub const SCNx64: &'static [u8; 3usize] = b"lx\0";
456pub const SCNxLEAST8: &'static [u8; 4usize] = b"hhx\0";
457pub const SCNxLEAST16: &'static [u8; 3usize] = b"hx\0";
458pub const SCNxLEAST32: &'static [u8; 2usize] = b"x\0";
459pub const SCNxLEAST64: &'static [u8; 3usize] = b"lx\0";
460pub const SCNxFAST8: &'static [u8; 4usize] = b"hhx\0";
461pub const SCNxFAST16: &'static [u8; 3usize] = b"lx\0";
462pub const SCNxFAST32: &'static [u8; 3usize] = b"lx\0";
463pub const SCNxFAST64: &'static [u8; 3usize] = b"lx\0";
464pub const SCNdMAX: &'static [u8; 3usize] = b"ld\0";
465pub const SCNiMAX: &'static [u8; 3usize] = b"li\0";
466pub const SCNoMAX: &'static [u8; 3usize] = b"lo\0";
467pub const SCNuMAX: &'static [u8; 3usize] = b"lu\0";
468pub const SCNxMAX: &'static [u8; 3usize] = b"lx\0";
469pub const SCNdPTR: &'static [u8; 3usize] = b"ld\0";
470pub const SCNiPTR: &'static [u8; 3usize] = b"li\0";
471pub const SCNoPTR: &'static [u8; 3usize] = b"lo\0";
472pub const SCNuPTR: &'static [u8; 3usize] = b"lu\0";
473pub const SCNxPTR: &'static [u8; 3usize] = b"lx\0";
474pub const _LIBC_LIMITS_H_: u32 = 1;
475pub const MB_LEN_MAX: u32 = 16;
476pub const _BITS_POSIX1_LIM_H: u32 = 1;
477pub const _POSIX_AIO_LISTIO_MAX: u32 = 2;
478pub const _POSIX_AIO_MAX: u32 = 1;
479pub const _POSIX_ARG_MAX: u32 = 4096;
480pub const _POSIX_CHILD_MAX: u32 = 25;
481pub const _POSIX_DELAYTIMER_MAX: u32 = 32;
482pub const _POSIX_HOST_NAME_MAX: u32 = 255;
483pub const _POSIX_LINK_MAX: u32 = 8;
484pub const _POSIX_LOGIN_NAME_MAX: u32 = 9;
485pub const _POSIX_MAX_CANON: u32 = 255;
486pub const _POSIX_MAX_INPUT: u32 = 255;
487pub const _POSIX_MQ_OPEN_MAX: u32 = 8;
488pub const _POSIX_MQ_PRIO_MAX: u32 = 32;
489pub const _POSIX_NAME_MAX: u32 = 14;
490pub const _POSIX_NGROUPS_MAX: u32 = 8;
491pub const _POSIX_OPEN_MAX: u32 = 20;
492pub const _POSIX_PATH_MAX: u32 = 256;
493pub const _POSIX_PIPE_BUF: u32 = 512;
494pub const _POSIX_RE_DUP_MAX: u32 = 255;
495pub const _POSIX_RTSIG_MAX: u32 = 8;
496pub const _POSIX_SEM_NSEMS_MAX: u32 = 256;
497pub const _POSIX_SEM_VALUE_MAX: u32 = 32767;
498pub const _POSIX_SIGQUEUE_MAX: u32 = 32;
499pub const _POSIX_SSIZE_MAX: u32 = 32767;
500pub const _POSIX_STREAM_MAX: u32 = 8;
501pub const _POSIX_SYMLINK_MAX: u32 = 255;
502pub const _POSIX_SYMLOOP_MAX: u32 = 8;
503pub const _POSIX_TIMER_MAX: u32 = 32;
504pub const _POSIX_TTY_NAME_MAX: u32 = 9;
505pub const _POSIX_TZNAME_MAX: u32 = 6;
506pub const _POSIX_CLOCKRES_MIN: u32 = 20000000;
507pub const NR_OPEN: u32 = 1024;
508pub const NGROUPS_MAX: u32 = 65536;
509pub const ARG_MAX: u32 = 131072;
510pub const LINK_MAX: u32 = 127;
511pub const MAX_CANON: u32 = 255;
512pub const MAX_INPUT: u32 = 255;
513pub const NAME_MAX: u32 = 255;
514pub const PATH_MAX: u32 = 4096;
515pub const PIPE_BUF: u32 = 4096;
516pub const XATTR_NAME_MAX: u32 = 255;
517pub const XATTR_SIZE_MAX: u32 = 65536;
518pub const XATTR_LIST_MAX: u32 = 65536;
519pub const RTSIG_MAX: u32 = 32;
520pub const _POSIX_THREAD_KEYS_MAX: u32 = 128;
521pub const PTHREAD_KEYS_MAX: u32 = 1024;
522pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
523pub const PTHREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
524pub const _POSIX_THREAD_THREADS_MAX: u32 = 64;
525pub const AIO_PRIO_DELTA_MAX: u32 = 20;
526pub const PTHREAD_STACK_MIN: u32 = 16384;
527pub const DELAYTIMER_MAX: u32 = 2147483647;
528pub const TTY_NAME_MAX: u32 = 32;
529pub const LOGIN_NAME_MAX: u32 = 256;
530pub const HOST_NAME_MAX: u32 = 64;
531pub const MQ_PRIO_MAX: u32 = 32768;
532pub const SEM_VALUE_MAX: u32 = 2147483647;
533pub const _BITS_POSIX2_LIM_H: u32 = 1;
534pub const _POSIX2_BC_BASE_MAX: u32 = 99;
535pub const _POSIX2_BC_DIM_MAX: u32 = 2048;
536pub const _POSIX2_BC_SCALE_MAX: u32 = 99;
537pub const _POSIX2_BC_STRING_MAX: u32 = 1000;
538pub const _POSIX2_COLL_WEIGHTS_MAX: u32 = 2;
539pub const _POSIX2_EXPR_NEST_MAX: u32 = 32;
540pub const _POSIX2_LINE_MAX: u32 = 2048;
541pub const _POSIX2_RE_DUP_MAX: u32 = 255;
542pub const _POSIX2_CHARCLASS_NAME_MAX: u32 = 14;
543pub const BC_BASE_MAX: u32 = 99;
544pub const BC_DIM_MAX: u32 = 2048;
545pub const BC_SCALE_MAX: u32 = 99;
546pub const BC_STRING_MAX: u32 = 1000;
547pub const COLL_WEIGHTS_MAX: u32 = 255;
548pub const EXPR_NEST_MAX: u32 = 32;
549pub const LINE_MAX: u32 = 2048;
550pub const CHARCLASS_NAME_MAX: u32 = 2048;
551pub const RE_DUP_MAX: u32 = 32767;
552pub const _MATH_H: u32 = 1;
553pub const _BITS_LIBM_SIMD_DECL_STUBS_H: u32 = 1;
554pub const __HAVE_FLOAT128: u32 = 0;
555pub const __HAVE_DISTINCT_FLOAT128: u32 = 0;
556pub const __HAVE_FLOAT64X: u32 = 1;
557pub const __HAVE_FLOAT64X_LONG_DOUBLE: u32 = 1;
558pub const __HAVE_FLOAT16: u32 = 0;
559pub const __HAVE_FLOAT32: u32 = 1;
560pub const __HAVE_FLOAT64: u32 = 1;
561pub const __HAVE_FLOAT32X: u32 = 1;
562pub const __HAVE_FLOAT128X: u32 = 0;
563pub const __HAVE_DISTINCT_FLOAT16: u32 = 0;
564pub const __HAVE_DISTINCT_FLOAT32: u32 = 0;
565pub const __HAVE_DISTINCT_FLOAT64: u32 = 0;
566pub const __HAVE_DISTINCT_FLOAT32X: u32 = 0;
567pub const __HAVE_DISTINCT_FLOAT64X: u32 = 0;
568pub const __HAVE_DISTINCT_FLOAT128X: u32 = 0;
569pub const __HAVE_FLOATN_NOT_TYPEDEF: u32 = 0;
570pub const __FP_LOGB0_IS_MIN: u32 = 1;
571pub const __FP_LOGBNAN_IS_MIN: u32 = 1;
572pub const FP_ILOGB0: i32 = -2147483648;
573pub const FP_ILOGBNAN: i32 = -2147483648;
574pub const __MATH_DECLARING_DOUBLE: u32 = 1;
575pub const __MATH_DECLARING_FLOATN: u32 = 0;
576pub const __MATH_DECLARE_LDOUBLE: u32 = 1;
577pub const MATH_ERRNO: u32 = 1;
578pub const MATH_ERREXCEPT: u32 = 2;
579pub const math_errhandling: u32 = 3;
580pub const M_E: f64 = 2.718281828459045;
581pub const M_LOG2E: f64 = 1.4426950408889634;
582pub const M_LOG10E: f64 = 0.4342944819032518;
583pub const M_LN2: f64 = 0.6931471805599453;
584pub const M_LN10: f64 = 2.302585092994046;
585pub const M_PI: f64 = 3.141592653589793;
586pub const M_PI_2: f64 = 1.5707963267948966;
587pub const M_PI_4: f64 = 0.7853981633974483;
588pub const M_1_PI: f64 = 0.3183098861837907;
589pub const M_2_PI: f64 = 0.6366197723675814;
590pub const M_2_SQRTPI: f64 = 1.1283791670955126;
591pub const M_SQRT2: f64 = 1.4142135623730951;
592pub const M_SQRT1_2: f64 = 0.7071067811865476;
593pub const _STDIO_H: u32 = 1;
594pub const __GNUC_VA_LIST: u32 = 1;
595pub const _____fpos_t_defined: u32 = 1;
596pub const ____mbstate_t_defined: u32 = 1;
597pub const _____fpos64_t_defined: u32 = 1;
598pub const ____FILE_defined: u32 = 1;
599pub const __FILE_defined: u32 = 1;
600pub const __struct_FILE_defined: u32 = 1;
601pub const _IO_EOF_SEEN: u32 = 16;
602pub const _IO_ERR_SEEN: u32 = 32;
603pub const _IO_USER_LOCK: u32 = 32768;
604pub const _IOFBF: u32 = 0;
605pub const _IOLBF: u32 = 1;
606pub const _IONBF: u32 = 2;
607pub const BUFSIZ: u32 = 8192;
608pub const EOF: i32 = -1;
609pub const SEEK_SET: u32 = 0;
610pub const SEEK_CUR: u32 = 1;
611pub const SEEK_END: u32 = 2;
612pub const P_tmpdir: &'static [u8; 5usize] = b"/tmp\0";
613pub const _BITS_STDIO_LIM_H: u32 = 1;
614pub const L_tmpnam: u32 = 20;
615pub const TMP_MAX: u32 = 238328;
616pub const FILENAME_MAX: u32 = 4096;
617pub const L_ctermid: u32 = 9;
618pub const FOPEN_MAX: u32 = 16;
619pub const _STDLIB_H: u32 = 1;
620pub const WNOHANG: u32 = 1;
621pub const WUNTRACED: u32 = 2;
622pub const WSTOPPED: u32 = 2;
623pub const WEXITED: u32 = 4;
624pub const WCONTINUED: u32 = 8;
625pub const WNOWAIT: u32 = 16777216;
626pub const __WNOTHREAD: u32 = 536870912;
627pub const __WALL: u32 = 1073741824;
628pub const __WCLONE: u32 = 2147483648;
629pub const __W_CONTINUED: u32 = 65535;
630pub const __WCOREFLAG: u32 = 128;
631pub const __ldiv_t_defined: u32 = 1;
632pub const __lldiv_t_defined: u32 = 1;
633pub const RAND_MAX: u32 = 2147483647;
634pub const EXIT_FAILURE: u32 = 1;
635pub const EXIT_SUCCESS: u32 = 0;
636pub const _SYS_TYPES_H: u32 = 1;
637pub const __clock_t_defined: u32 = 1;
638pub const __clockid_t_defined: u32 = 1;
639pub const __time_t_defined: u32 = 1;
640pub const __timer_t_defined: u32 = 1;
641pub const __BIT_TYPES_DEFINED__: u32 = 1;
642pub const _ENDIAN_H: u32 = 1;
643pub const __LITTLE_ENDIAN: u32 = 1234;
644pub const __BIG_ENDIAN: u32 = 4321;
645pub const __PDP_ENDIAN: u32 = 3412;
646pub const __BYTE_ORDER: u32 = 1234;
647pub const __FLOAT_WORD_ORDER: u32 = 1234;
648pub const LITTLE_ENDIAN: u32 = 1234;
649pub const BIG_ENDIAN: u32 = 4321;
650pub const PDP_ENDIAN: u32 = 3412;
651pub const BYTE_ORDER: u32 = 1234;
652pub const _BITS_BYTESWAP_H: u32 = 1;
653pub const _BITS_UINTN_IDENTITY_H: u32 = 1;
654pub const _SYS_SELECT_H: u32 = 1;
655pub const __FD_ZERO_STOS: &'static [u8; 6usize] = b"stosq\0";
656pub const __sigset_t_defined: u32 = 1;
657pub const __timeval_defined: u32 = 1;
658pub const _STRUCT_TIMESPEC: u32 = 1;
659pub const FD_SETSIZE: u32 = 1024;
660pub const _BITS_PTHREADTYPES_COMMON_H: u32 = 1;
661pub const _THREAD_SHARED_TYPES_H: u32 = 1;
662pub const _BITS_PTHREADTYPES_ARCH_H: u32 = 1;
663pub const __SIZEOF_PTHREAD_MUTEX_T: u32 = 40;
664pub const __SIZEOF_PTHREAD_ATTR_T: u32 = 56;
665pub const __SIZEOF_PTHREAD_RWLOCK_T: u32 = 56;
666pub const __SIZEOF_PTHREAD_BARRIER_T: u32 = 32;
667pub const __SIZEOF_PTHREAD_MUTEXATTR_T: u32 = 4;
668pub const __SIZEOF_PTHREAD_COND_T: u32 = 48;
669pub const __SIZEOF_PTHREAD_CONDATTR_T: u32 = 4;
670pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: u32 = 8;
671pub const __SIZEOF_PTHREAD_BARRIERATTR_T: u32 = 4;
672pub const __PTHREAD_MUTEX_LOCK_ELISION: u32 = 1;
673pub const __PTHREAD_MUTEX_NUSERS_AFTER_KIND: u32 = 0;
674pub const __PTHREAD_MUTEX_USE_UNION: u32 = 0;
675pub const __PTHREAD_RWLOCK_INT_FLAGS_SHARED: u32 = 1;
676pub const __PTHREAD_MUTEX_HAVE_PREV: u32 = 1;
677pub const __have_pthread_attr_t: u32 = 1;
678pub const _ALLOCA_H: u32 = 1;
679pub const _STRING_H: u32 = 1;
680pub const _BITS_TYPES_LOCALE_T_H: u32 = 1;
681pub const _BITS_TYPES___LOCALE_T_H: u32 = 1;
682pub const _STRINGS_H: u32 = 1;
683pub const AV_HAVE_BIGENDIAN: u32 = 0;
684pub const AV_HAVE_FAST_UNALIGNED: u32 = 1;
685pub const AVERROR_EXPERIMENTAL: i32 = -733130664;
686pub const AVERROR_INPUT_CHANGED: i32 = -1668179713;
687pub const AVERROR_OUTPUT_CHANGED: i32 = -1668179714;
688pub const AV_ERROR_MAX_STRING_SIZE: u32 = 64;
689pub const FF_LAMBDA_SHIFT: u32 = 7;
690pub const FF_LAMBDA_SCALE: u32 = 128;
691pub const FF_QP2LAMBDA: u32 = 118;
692pub const FF_LAMBDA_MAX: u32 = 32767;
693pub const FF_QUALITY_SCALE: u32 = 128;
694pub const AV_TIME_BASE: u32 = 1000000;
695pub const M_LOG2_10: f64 = 3.321928094887362;
696pub const M_PHI: f64 = 1.618033988749895;
697pub const AV_LOG_QUIET: i32 = -8;
698pub const AV_LOG_PANIC: u32 = 0;
699pub const AV_LOG_FATAL: u32 = 8;
700pub const AV_LOG_ERROR: u32 = 16;
701pub const AV_LOG_WARNING: u32 = 24;
702pub const AV_LOG_INFO: u32 = 32;
703pub const AV_LOG_VERBOSE: u32 = 40;
704pub const AV_LOG_DEBUG: u32 = 48;
705pub const AV_LOG_TRACE: u32 = 56;
706pub const AV_LOG_MAX_OFFSET: u32 = 64;
707pub const AV_LOG_SKIP_REPEATED: u32 = 1;
708pub const AV_LOG_PRINT_LEVEL: u32 = 2;
709pub const AVPALETTE_SIZE: u32 = 1024;
710pub const AVPALETTE_COUNT: u32 = 256;
711pub const AV_FOURCC_MAX_STRING_SIZE: u32 = 32;
712pub const AV_BUFFER_FLAG_READONLY: u32 = 1;
713pub const AV_NUM_DATA_POINTERS: u32 = 8;
714pub const AV_FRAME_FLAG_CORRUPT: u32 = 1;
715pub const AV_FRAME_FLAG_DISCARD: u32 = 4;
716pub const FF_DECODE_ERROR_INVALID_BITSTREAM: u32 = 1;
717pub const FF_DECODE_ERROR_MISSING_REFERENCE: u32 = 2;
718pub const FF_DECODE_ERROR_CONCEALMENT_ACTIVE: u32 = 4;
719pub const FF_DECODE_ERROR_DECODE_SLICES: u32 = 8;
720pub const AV_PIX_FMT_FLAG_BE: u32 = 1;
721pub const AV_PIX_FMT_FLAG_PAL: u32 = 2;
722pub const AV_PIX_FMT_FLAG_BITSTREAM: u32 = 4;
723pub const AV_PIX_FMT_FLAG_HWACCEL: u32 = 8;
724pub const AV_PIX_FMT_FLAG_PLANAR: u32 = 16;
725pub const AV_PIX_FMT_FLAG_RGB: u32 = 32;
726pub const AV_PIX_FMT_FLAG_PSEUDOPAL: u32 = 64;
727pub const AV_PIX_FMT_FLAG_ALPHA: u32 = 128;
728pub const AV_PIX_FMT_FLAG_BAYER: u32 = 256;
729pub const AV_PIX_FMT_FLAG_FLOAT: u32 = 512;
730pub const FF_LOSS_RESOLUTION: u32 = 1;
731pub const FF_LOSS_DEPTH: u32 = 2;
732pub const FF_LOSS_COLORSPACE: u32 = 4;
733pub const FF_LOSS_ALPHA: u32 = 8;
734pub const FF_LOSS_COLORQUANT: u32 = 16;
735pub const FF_LOSS_CHROMA: u32 = 32;
736pub const AV_OPT_FLAG_ENCODING_PARAM: u32 = 1;
737pub const AV_OPT_FLAG_DECODING_PARAM: u32 = 2;
738pub const AV_OPT_FLAG_AUDIO_PARAM: u32 = 8;
739pub const AV_OPT_FLAG_VIDEO_PARAM: u32 = 16;
740pub const AV_OPT_FLAG_SUBTITLE_PARAM: u32 = 32;
741pub const AV_OPT_FLAG_EXPORT: u32 = 64;
742pub const AV_OPT_FLAG_READONLY: u32 = 128;
743pub const AV_OPT_FLAG_BSF_PARAM: u32 = 256;
744pub const AV_OPT_FLAG_FILTERING_PARAM: u32 = 65536;
745pub const AV_OPT_FLAG_DEPRECATED: u32 = 131072;
746pub const AV_OPT_SEARCH_CHILDREN: u32 = 1;
747pub const AV_OPT_SEARCH_FAKE_OBJ: u32 = 2;
748pub const AV_OPT_ALLOW_NULL: u32 = 4;
749pub const AV_OPT_MULTI_COMPONENT_RANGE: u32 = 4096;
750pub const AV_OPT_SERIALIZE_SKIP_DEFAULTS: u32 = 1;
751pub const AV_OPT_SERIALIZE_OPT_FLAGS_EXACT: u32 = 2;
752pub const AV_TIMECODE_STR_SIZE: u32 = 23;
753pub const AV_ESCAPE_FLAG_WHITESPACE: u32 = 1;
754pub const AV_ESCAPE_FLAG_STRICT: u32 = 2;
755pub const AV_UTF8_FLAG_ACCEPT_INVALID_BIG_CODES: u32 = 1;
756pub const AV_UTF8_FLAG_ACCEPT_NON_CHARACTERS: u32 = 2;
757pub const AV_UTF8_FLAG_ACCEPT_SURROGATES: u32 = 4;
758pub const AV_UTF8_FLAG_EXCLUDE_XML_INVALID_CONTROL_CODES: u32 = 8;
759pub const AV_UTF8_FLAG_ACCEPT_ALL: u32 = 7;
760pub const AV_BF_ROUNDS: u32 = 16;
761pub const AV_BPRINT_SIZE_AUTOMATIC: u32 = 1;
762pub const AV_BPRINT_SIZE_COUNT_ONLY: u32 = 0;
763pub const AV_CH_FRONT_LEFT: u32 = 1;
764pub const AV_CH_FRONT_RIGHT: u32 = 2;
765pub const AV_CH_FRONT_CENTER: u32 = 4;
766pub const AV_CH_LOW_FREQUENCY: u32 = 8;
767pub const AV_CH_BACK_LEFT: u32 = 16;
768pub const AV_CH_BACK_RIGHT: u32 = 32;
769pub const AV_CH_FRONT_LEFT_OF_CENTER: u32 = 64;
770pub const AV_CH_FRONT_RIGHT_OF_CENTER: u32 = 128;
771pub const AV_CH_BACK_CENTER: u32 = 256;
772pub const AV_CH_SIDE_LEFT: u32 = 512;
773pub const AV_CH_SIDE_RIGHT: u32 = 1024;
774pub const AV_CH_TOP_CENTER: u32 = 2048;
775pub const AV_CH_TOP_FRONT_LEFT: u32 = 4096;
776pub const AV_CH_TOP_FRONT_CENTER: u32 = 8192;
777pub const AV_CH_TOP_FRONT_RIGHT: u32 = 16384;
778pub const AV_CH_TOP_BACK_LEFT: u32 = 32768;
779pub const AV_CH_TOP_BACK_CENTER: u32 = 65536;
780pub const AV_CH_TOP_BACK_RIGHT: u32 = 131072;
781pub const AV_CH_STEREO_LEFT: u32 = 536870912;
782pub const AV_CH_STEREO_RIGHT: u32 = 1073741824;
783pub const AV_CH_WIDE_LEFT: u32 = 2147483648;
784pub const AV_CH_WIDE_RIGHT: u64 = 4294967296;
785pub const AV_CH_SURROUND_DIRECT_LEFT: u64 = 8589934592;
786pub const AV_CH_SURROUND_DIRECT_RIGHT: u64 = 17179869184;
787pub const AV_CH_LOW_FREQUENCY_2: u64 = 34359738368;
788pub const AV_CH_LAYOUT_NATIVE: i64 = -9223372036854775808;
789pub const AV_CH_LAYOUT_MONO: u32 = 4;
790pub const AV_CH_LAYOUT_STEREO: u32 = 3;
791pub const AV_CH_LAYOUT_2POINT1: u32 = 11;
792pub const AV_CH_LAYOUT_2_1: u32 = 259;
793pub const AV_CH_LAYOUT_SURROUND: u32 = 7;
794pub const AV_CH_LAYOUT_3POINT1: u32 = 15;
795pub const AV_CH_LAYOUT_4POINT0: u32 = 263;
796pub const AV_CH_LAYOUT_4POINT1: u32 = 271;
797pub const AV_CH_LAYOUT_2_2: u32 = 1539;
798pub const AV_CH_LAYOUT_QUAD: u32 = 51;
799pub const AV_CH_LAYOUT_5POINT0: u32 = 1543;
800pub const AV_CH_LAYOUT_5POINT1: u32 = 1551;
801pub const AV_CH_LAYOUT_5POINT0_BACK: u32 = 55;
802pub const AV_CH_LAYOUT_5POINT1_BACK: u32 = 63;
803pub const AV_CH_LAYOUT_6POINT0: u32 = 1799;
804pub const AV_CH_LAYOUT_6POINT0_FRONT: u32 = 1731;
805pub const AV_CH_LAYOUT_HEXAGONAL: u32 = 311;
806pub const AV_CH_LAYOUT_6POINT1: u32 = 1807;
807pub const AV_CH_LAYOUT_6POINT1_BACK: u32 = 319;
808pub const AV_CH_LAYOUT_6POINT1_FRONT: u32 = 1739;
809pub const AV_CH_LAYOUT_7POINT0: u32 = 1591;
810pub const AV_CH_LAYOUT_7POINT0_FRONT: u32 = 1735;
811pub const AV_CH_LAYOUT_7POINT1: u32 = 1599;
812pub const AV_CH_LAYOUT_7POINT1_WIDE: u32 = 1743;
813pub const AV_CH_LAYOUT_7POINT1_WIDE_BACK: u32 = 255;
814pub const AV_CH_LAYOUT_OCTAGONAL: u32 = 1847;
815pub const AV_CH_LAYOUT_HEXADECAGONAL: u64 = 6442710839;
816pub const AV_CH_LAYOUT_STEREO_DOWNMIX: u32 = 1610612736;
817pub const AV_TS_MAX_STRING_SIZE: u32 = 32;
818pub const AV_CPU_FLAG_FORCE: u32 = 2147483648;
819pub const AV_CPU_FLAG_MMX: u32 = 1;
820pub const AV_CPU_FLAG_MMXEXT: u32 = 2;
821pub const AV_CPU_FLAG_MMX2: u32 = 2;
822pub const AV_CPU_FLAG_3DNOW: u32 = 4;
823pub const AV_CPU_FLAG_SSE: u32 = 8;
824pub const AV_CPU_FLAG_SSE2: u32 = 16;
825pub const AV_CPU_FLAG_SSE2SLOW: u32 = 1073741824;
826pub const AV_CPU_FLAG_3DNOWEXT: u32 = 32;
827pub const AV_CPU_FLAG_SSE3: u32 = 64;
828pub const AV_CPU_FLAG_SSE3SLOW: u32 = 536870912;
829pub const AV_CPU_FLAG_SSSE3: u32 = 128;
830pub const AV_CPU_FLAG_SSSE3SLOW: u32 = 67108864;
831pub const AV_CPU_FLAG_ATOM: u32 = 268435456;
832pub const AV_CPU_FLAG_SSE4: u32 = 256;
833pub const AV_CPU_FLAG_SSE42: u32 = 512;
834pub const AV_CPU_FLAG_AESNI: u32 = 524288;
835pub const AV_CPU_FLAG_AVX: u32 = 16384;
836pub const AV_CPU_FLAG_AVXSLOW: u32 = 134217728;
837pub const AV_CPU_FLAG_XOP: u32 = 1024;
838pub const AV_CPU_FLAG_FMA4: u32 = 2048;
839pub const AV_CPU_FLAG_CMOV: u32 = 4096;
840pub const AV_CPU_FLAG_AVX2: u32 = 32768;
841pub const AV_CPU_FLAG_FMA3: u32 = 65536;
842pub const AV_CPU_FLAG_BMI1: u32 = 131072;
843pub const AV_CPU_FLAG_BMI2: u32 = 262144;
844pub const AV_CPU_FLAG_AVX512: u32 = 1048576;
845pub const AV_CPU_FLAG_ALTIVEC: u32 = 1;
846pub const AV_CPU_FLAG_VSX: u32 = 2;
847pub const AV_CPU_FLAG_POWER8: u32 = 4;
848pub const AV_CPU_FLAG_ARMV5TE: u32 = 1;
849pub const AV_CPU_FLAG_ARMV6: u32 = 2;
850pub const AV_CPU_FLAG_ARMV6T2: u32 = 4;
851pub const AV_CPU_FLAG_VFP: u32 = 8;
852pub const AV_CPU_FLAG_VFPV3: u32 = 16;
853pub const AV_CPU_FLAG_NEON: u32 = 32;
854pub const AV_CPU_FLAG_ARMV8: u32 = 64;
855pub const AV_CPU_FLAG_VFP_VM: u32 = 128;
856pub const AV_CPU_FLAG_SETEND: u32 = 65536;
857pub const LIBAVCODEC_VERSION_MAJOR: u32 = 58;
858pub const LIBAVCODEC_VERSION_MINOR: u32 = 54;
859pub const LIBAVCODEC_VERSION_MICRO: u32 = 100;
860pub const AV_CODEC_PROP_INTRA_ONLY: u32 = 1;
861pub const AV_CODEC_PROP_LOSSY: u32 = 2;
862pub const AV_CODEC_PROP_LOSSLESS: u32 = 4;
863pub const AV_CODEC_PROP_REORDER: u32 = 8;
864pub const AV_CODEC_PROP_BITMAP_SUB: u32 = 65536;
865pub const AV_CODEC_PROP_TEXT_SUB: u32 = 131072;
866pub const AV_INPUT_BUFFER_PADDING_SIZE: u32 = 64;
867pub const AV_INPUT_BUFFER_MIN_SIZE: u32 = 16384;
868pub const AV_CODEC_FLAG_UNALIGNED: u32 = 1;
869pub const AV_CODEC_FLAG_QSCALE: u32 = 2;
870pub const AV_CODEC_FLAG_4MV: u32 = 4;
871pub const AV_CODEC_FLAG_OUTPUT_CORRUPT: u32 = 8;
872pub const AV_CODEC_FLAG_QPEL: u32 = 16;
873pub const AV_CODEC_FLAG_DROPCHANGED: u32 = 32;
874pub const AV_CODEC_FLAG_PASS1: u32 = 512;
875pub const AV_CODEC_FLAG_PASS2: u32 = 1024;
876pub const AV_CODEC_FLAG_LOOP_FILTER: u32 = 2048;
877pub const AV_CODEC_FLAG_GRAY: u32 = 8192;
878pub const AV_CODEC_FLAG_PSNR: u32 = 32768;
879pub const AV_CODEC_FLAG_TRUNCATED: u32 = 65536;
880pub const AV_CODEC_FLAG_INTERLACED_DCT: u32 = 262144;
881pub const AV_CODEC_FLAG_LOW_DELAY: u32 = 524288;
882pub const AV_CODEC_FLAG_GLOBAL_HEADER: u32 = 4194304;
883pub const AV_CODEC_FLAG_BITEXACT: u32 = 8388608;
884pub const AV_CODEC_FLAG_AC_PRED: u32 = 16777216;
885pub const AV_CODEC_FLAG_INTERLACED_ME: u32 = 536870912;
886pub const AV_CODEC_FLAG_CLOSED_GOP: u32 = 2147483648;
887pub const AV_CODEC_FLAG2_FAST: u32 = 1;
888pub const AV_CODEC_FLAG2_NO_OUTPUT: u32 = 4;
889pub const AV_CODEC_FLAG2_LOCAL_HEADER: u32 = 8;
890pub const AV_CODEC_FLAG2_DROP_FRAME_TIMECODE: u32 = 8192;
891pub const AV_CODEC_FLAG2_CHUNKS: u32 = 32768;
892pub const AV_CODEC_FLAG2_IGNORE_CROP: u32 = 65536;
893pub const AV_CODEC_FLAG2_SHOW_ALL: u32 = 4194304;
894pub const AV_CODEC_FLAG2_EXPORT_MVS: u32 = 268435456;
895pub const AV_CODEC_FLAG2_SKIP_MANUAL: u32 = 536870912;
896pub const AV_CODEC_FLAG2_RO_FLUSH_NOOP: u32 = 1073741824;
897pub const AV_CODEC_CAP_DRAW_HORIZ_BAND: u32 = 1;
898pub const AV_CODEC_CAP_DR1: u32 = 2;
899pub const AV_CODEC_CAP_TRUNCATED: u32 = 8;
900pub const AV_CODEC_CAP_DELAY: u32 = 32;
901pub const AV_CODEC_CAP_SMALL_LAST_FRAME: u32 = 64;
902pub const AV_CODEC_CAP_SUBFRAMES: u32 = 256;
903pub const AV_CODEC_CAP_EXPERIMENTAL: u32 = 512;
904pub const AV_CODEC_CAP_CHANNEL_CONF: u32 = 1024;
905pub const AV_CODEC_CAP_FRAME_THREADS: u32 = 4096;
906pub const AV_CODEC_CAP_SLICE_THREADS: u32 = 8192;
907pub const AV_CODEC_CAP_PARAM_CHANGE: u32 = 16384;
908pub const AV_CODEC_CAP_AUTO_THREADS: u32 = 32768;
909pub const AV_CODEC_CAP_VARIABLE_FRAME_SIZE: u32 = 65536;
910pub const AV_CODEC_CAP_AVOID_PROBING: u32 = 131072;
911pub const AV_CODEC_CAP_INTRA_ONLY: u32 = 1073741824;
912pub const AV_CODEC_CAP_LOSSLESS: u32 = 2147483648;
913pub const AV_CODEC_CAP_HARDWARE: u32 = 262144;
914pub const AV_CODEC_CAP_HYBRID: u32 = 524288;
915pub const AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE: u32 = 1048576;
916pub const AV_GET_BUFFER_FLAG_REF: u32 = 1;
917pub const AV_PKT_FLAG_KEY: u32 = 1;
918pub const AV_PKT_FLAG_CORRUPT: u32 = 2;
919pub const AV_PKT_FLAG_DISCARD: u32 = 4;
920pub const AV_PKT_FLAG_TRUSTED: u32 = 8;
921pub const AV_PKT_FLAG_DISPOSABLE: u32 = 16;
922pub const FF_COMPRESSION_DEFAULT: i32 = -1;
923pub const FF_PRED_LEFT: u32 = 0;
924pub const FF_PRED_PLANE: u32 = 1;
925pub const FF_PRED_MEDIAN: u32 = 2;
926pub const FF_CMP_SAD: u32 = 0;
927pub const FF_CMP_SSE: u32 = 1;
928pub const FF_CMP_SATD: u32 = 2;
929pub const FF_CMP_DCT: u32 = 3;
930pub const FF_CMP_PSNR: u32 = 4;
931pub const FF_CMP_BIT: u32 = 5;
932pub const FF_CMP_RD: u32 = 6;
933pub const FF_CMP_ZERO: u32 = 7;
934pub const FF_CMP_VSAD: u32 = 8;
935pub const FF_CMP_VSSE: u32 = 9;
936pub const FF_CMP_NSSE: u32 = 10;
937pub const FF_CMP_W53: u32 = 11;
938pub const FF_CMP_W97: u32 = 12;
939pub const FF_CMP_DCTMAX: u32 = 13;
940pub const FF_CMP_DCT264: u32 = 14;
941pub const FF_CMP_MEDIAN_SAD: u32 = 15;
942pub const FF_CMP_CHROMA: u32 = 256;
943pub const SLICE_FLAG_CODED_ORDER: u32 = 1;
944pub const SLICE_FLAG_ALLOW_FIELD: u32 = 2;
945pub const SLICE_FLAG_ALLOW_PLANE: u32 = 4;
946pub const FF_MB_DECISION_SIMPLE: u32 = 0;
947pub const FF_MB_DECISION_BITS: u32 = 1;
948pub const FF_MB_DECISION_RD: u32 = 2;
949pub const FF_CODER_TYPE_VLC: u32 = 0;
950pub const FF_CODER_TYPE_AC: u32 = 1;
951pub const FF_CODER_TYPE_RAW: u32 = 2;
952pub const FF_CODER_TYPE_RLE: u32 = 3;
953pub const FF_BUG_AUTODETECT: u32 = 1;
954pub const FF_BUG_XVID_ILACE: u32 = 4;
955pub const FF_BUG_UMP4: u32 = 8;
956pub const FF_BUG_NO_PADDING: u32 = 16;
957pub const FF_BUG_AMV: u32 = 32;
958pub const FF_BUG_QPEL_CHROMA: u32 = 64;
959pub const FF_BUG_STD_QPEL: u32 = 128;
960pub const FF_BUG_QPEL_CHROMA2: u32 = 256;
961pub const FF_BUG_DIRECT_BLOCKSIZE: u32 = 512;
962pub const FF_BUG_EDGE: u32 = 1024;
963pub const FF_BUG_HPEL_CHROMA: u32 = 2048;
964pub const FF_BUG_DC_CLIP: u32 = 4096;
965pub const FF_BUG_MS: u32 = 8192;
966pub const FF_BUG_TRUNCATED: u32 = 16384;
967pub const FF_BUG_IEDGE: u32 = 32768;
968pub const FF_COMPLIANCE_VERY_STRICT: u32 = 2;
969pub const FF_COMPLIANCE_STRICT: u32 = 1;
970pub const FF_COMPLIANCE_NORMAL: u32 = 0;
971pub const FF_COMPLIANCE_UNOFFICIAL: i32 = -1;
972pub const FF_COMPLIANCE_EXPERIMENTAL: i32 = -2;
973pub const FF_EC_GUESS_MVS: u32 = 1;
974pub const FF_EC_DEBLOCK: u32 = 2;
975pub const FF_EC_FAVOR_INTER: u32 = 256;
976pub const FF_DEBUG_PICT_INFO: u32 = 1;
977pub const FF_DEBUG_RC: u32 = 2;
978pub const FF_DEBUG_BITSTREAM: u32 = 4;
979pub const FF_DEBUG_MB_TYPE: u32 = 8;
980pub const FF_DEBUG_QP: u32 = 16;
981pub const FF_DEBUG_DCT_COEFF: u32 = 64;
982pub const FF_DEBUG_SKIP: u32 = 128;
983pub const FF_DEBUG_STARTCODE: u32 = 256;
984pub const FF_DEBUG_ER: u32 = 1024;
985pub const FF_DEBUG_MMCO: u32 = 2048;
986pub const FF_DEBUG_BUGS: u32 = 4096;
987pub const FF_DEBUG_BUFFERS: u32 = 32768;
988pub const FF_DEBUG_THREADS: u32 = 65536;
989pub const FF_DEBUG_GREEN_MD: u32 = 8388608;
990pub const FF_DEBUG_NOMC: u32 = 16777216;
991pub const AV_EF_CRCCHECK: u32 = 1;
992pub const AV_EF_BITSTREAM: u32 = 2;
993pub const AV_EF_BUFFER: u32 = 4;
994pub const AV_EF_EXPLODE: u32 = 8;
995pub const AV_EF_IGNORE_ERR: u32 = 32768;
996pub const AV_EF_CAREFUL: u32 = 65536;
997pub const AV_EF_COMPLIANT: u32 = 131072;
998pub const AV_EF_AGGRESSIVE: u32 = 262144;
999pub const FF_DCT_AUTO: u32 = 0;
1000pub const FF_DCT_FASTINT: u32 = 1;
1001pub const FF_DCT_INT: u32 = 2;
1002pub const FF_DCT_MMX: u32 = 3;
1003pub const FF_DCT_ALTIVEC: u32 = 5;
1004pub const FF_DCT_FAAN: u32 = 6;
1005pub const FF_IDCT_AUTO: u32 = 0;
1006pub const FF_IDCT_INT: u32 = 1;
1007pub const FF_IDCT_SIMPLE: u32 = 2;
1008pub const FF_IDCT_SIMPLEMMX: u32 = 3;
1009pub const FF_IDCT_ARM: u32 = 7;
1010pub const FF_IDCT_ALTIVEC: u32 = 8;
1011pub const FF_IDCT_SIMPLEARM: u32 = 10;
1012pub const FF_IDCT_XVID: u32 = 14;
1013pub const FF_IDCT_SIMPLEARMV5TE: u32 = 16;
1014pub const FF_IDCT_SIMPLEARMV6: u32 = 17;
1015pub const FF_IDCT_FAAN: u32 = 20;
1016pub const FF_IDCT_SIMPLENEON: u32 = 22;
1017pub const FF_IDCT_NONE: u32 = 24;
1018pub const FF_IDCT_SIMPLEAUTO: u32 = 128;
1019pub const FF_THREAD_FRAME: u32 = 1;
1020pub const FF_THREAD_SLICE: u32 = 2;
1021pub const FF_PROFILE_UNKNOWN: i32 = -99;
1022pub const FF_PROFILE_RESERVED: i32 = -100;
1023pub const FF_PROFILE_AAC_MAIN: u32 = 0;
1024pub const FF_PROFILE_AAC_LOW: u32 = 1;
1025pub const FF_PROFILE_AAC_SSR: u32 = 2;
1026pub const FF_PROFILE_AAC_LTP: u32 = 3;
1027pub const FF_PROFILE_AAC_HE: u32 = 4;
1028pub const FF_PROFILE_AAC_HE_V2: u32 = 28;
1029pub const FF_PROFILE_AAC_LD: u32 = 22;
1030pub const FF_PROFILE_AAC_ELD: u32 = 38;
1031pub const FF_PROFILE_MPEG2_AAC_LOW: u32 = 128;
1032pub const FF_PROFILE_MPEG2_AAC_HE: u32 = 131;
1033pub const FF_PROFILE_DNXHD: u32 = 0;
1034pub const FF_PROFILE_DNXHR_LB: u32 = 1;
1035pub const FF_PROFILE_DNXHR_SQ: u32 = 2;
1036pub const FF_PROFILE_DNXHR_HQ: u32 = 3;
1037pub const FF_PROFILE_DNXHR_HQX: u32 = 4;
1038pub const FF_PROFILE_DNXHR_444: u32 = 5;
1039pub const FF_PROFILE_DTS: u32 = 20;
1040pub const FF_PROFILE_DTS_ES: u32 = 30;
1041pub const FF_PROFILE_DTS_96_24: u32 = 40;
1042pub const FF_PROFILE_DTS_HD_HRA: u32 = 50;
1043pub const FF_PROFILE_DTS_HD_MA: u32 = 60;
1044pub const FF_PROFILE_DTS_EXPRESS: u32 = 70;
1045pub const FF_PROFILE_MPEG2_422: u32 = 0;
1046pub const FF_PROFILE_MPEG2_HIGH: u32 = 1;
1047pub const FF_PROFILE_MPEG2_SS: u32 = 2;
1048pub const FF_PROFILE_MPEG2_SNR_SCALABLE: u32 = 3;
1049pub const FF_PROFILE_MPEG2_MAIN: u32 = 4;
1050pub const FF_PROFILE_MPEG2_SIMPLE: u32 = 5;
1051pub const FF_PROFILE_H264_CONSTRAINED: u32 = 512;
1052pub const FF_PROFILE_H264_INTRA: u32 = 2048;
1053pub const FF_PROFILE_H264_BASELINE: u32 = 66;
1054pub const FF_PROFILE_H264_CONSTRAINED_BASELINE: u32 = 578;
1055pub const FF_PROFILE_H264_MAIN: u32 = 77;
1056pub const FF_PROFILE_H264_EXTENDED: u32 = 88;
1057pub const FF_PROFILE_H264_HIGH: u32 = 100;
1058pub const FF_PROFILE_H264_HIGH_10: u32 = 110;
1059pub const FF_PROFILE_H264_HIGH_10_INTRA: u32 = 2158;
1060pub const FF_PROFILE_H264_MULTIVIEW_HIGH: u32 = 118;
1061pub const FF_PROFILE_H264_HIGH_422: u32 = 122;
1062pub const FF_PROFILE_H264_HIGH_422_INTRA: u32 = 2170;
1063pub const FF_PROFILE_H264_STEREO_HIGH: u32 = 128;
1064pub const FF_PROFILE_H264_HIGH_444: u32 = 144;
1065pub const FF_PROFILE_H264_HIGH_444_PREDICTIVE: u32 = 244;
1066pub const FF_PROFILE_H264_HIGH_444_INTRA: u32 = 2292;
1067pub const FF_PROFILE_H264_CAVLC_444: u32 = 44;
1068pub const FF_PROFILE_VC1_SIMPLE: u32 = 0;
1069pub const FF_PROFILE_VC1_MAIN: u32 = 1;
1070pub const FF_PROFILE_VC1_COMPLEX: u32 = 2;
1071pub const FF_PROFILE_VC1_ADVANCED: u32 = 3;
1072pub const FF_PROFILE_MPEG4_SIMPLE: u32 = 0;
1073pub const FF_PROFILE_MPEG4_SIMPLE_SCALABLE: u32 = 1;
1074pub const FF_PROFILE_MPEG4_CORE: u32 = 2;
1075pub const FF_PROFILE_MPEG4_MAIN: u32 = 3;
1076pub const FF_PROFILE_MPEG4_N_BIT: u32 = 4;
1077pub const FF_PROFILE_MPEG4_SCALABLE_TEXTURE: u32 = 5;
1078pub const FF_PROFILE_MPEG4_SIMPLE_FACE_ANIMATION: u32 = 6;
1079pub const FF_PROFILE_MPEG4_BASIC_ANIMATED_TEXTURE: u32 = 7;
1080pub const FF_PROFILE_MPEG4_HYBRID: u32 = 8;
1081pub const FF_PROFILE_MPEG4_ADVANCED_REAL_TIME: u32 = 9;
1082pub const FF_PROFILE_MPEG4_CORE_SCALABLE: u32 = 10;
1083pub const FF_PROFILE_MPEG4_ADVANCED_CODING: u32 = 11;
1084pub const FF_PROFILE_MPEG4_ADVANCED_CORE: u32 = 12;
1085pub const FF_PROFILE_MPEG4_ADVANCED_SCALABLE_TEXTURE: u32 = 13;
1086pub const FF_PROFILE_MPEG4_SIMPLE_STUDIO: u32 = 14;
1087pub const FF_PROFILE_MPEG4_ADVANCED_SIMPLE: u32 = 15;
1088pub const FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_0: u32 = 1;
1089pub const FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_1: u32 = 2;
1090pub const FF_PROFILE_JPEG2000_CSTREAM_NO_RESTRICTION: u32 = 32768;
1091pub const FF_PROFILE_JPEG2000_DCINEMA_2K: u32 = 3;
1092pub const FF_PROFILE_JPEG2000_DCINEMA_4K: u32 = 4;
1093pub const FF_PROFILE_VP9_0: u32 = 0;
1094pub const FF_PROFILE_VP9_1: u32 = 1;
1095pub const FF_PROFILE_VP9_2: u32 = 2;
1096pub const FF_PROFILE_VP9_3: u32 = 3;
1097pub const FF_PROFILE_HEVC_MAIN: u32 = 1;
1098pub const FF_PROFILE_HEVC_MAIN_10: u32 = 2;
1099pub const FF_PROFILE_HEVC_MAIN_STILL_PICTURE: u32 = 3;
1100pub const FF_PROFILE_HEVC_REXT: u32 = 4;
1101pub const FF_PROFILE_AV1_MAIN: u32 = 0;
1102pub const FF_PROFILE_AV1_HIGH: u32 = 1;
1103pub const FF_PROFILE_AV1_PROFESSIONAL: u32 = 2;
1104pub const FF_PROFILE_MJPEG_HUFFMAN_BASELINE_DCT: u32 = 192;
1105pub const FF_PROFILE_MJPEG_HUFFMAN_EXTENDED_SEQUENTIAL_DCT: u32 = 193;
1106pub const FF_PROFILE_MJPEG_HUFFMAN_PROGRESSIVE_DCT: u32 = 194;
1107pub const FF_PROFILE_MJPEG_HUFFMAN_LOSSLESS: u32 = 195;
1108pub const FF_PROFILE_MJPEG_JPEG_LS: u32 = 247;
1109pub const FF_PROFILE_SBC_MSBC: u32 = 1;
1110pub const FF_PROFILE_PRORES_PROXY: u32 = 0;
1111pub const FF_PROFILE_PRORES_LT: u32 = 1;
1112pub const FF_PROFILE_PRORES_STANDARD: u32 = 2;
1113pub const FF_PROFILE_PRORES_HQ: u32 = 3;
1114pub const FF_PROFILE_PRORES_4444: u32 = 4;
1115pub const FF_PROFILE_PRORES_XQ: u32 = 5;
1116pub const FF_PROFILE_ARIB_PROFILE_A: u32 = 0;
1117pub const FF_PROFILE_ARIB_PROFILE_C: u32 = 1;
1118pub const FF_LEVEL_UNKNOWN: i32 = -99;
1119pub const FF_SUB_CHARENC_MODE_DO_NOTHING: i32 = -1;
1120pub const FF_SUB_CHARENC_MODE_AUTOMATIC: u32 = 0;
1121pub const FF_SUB_CHARENC_MODE_PRE_DECODER: u32 = 1;
1122pub const FF_SUB_CHARENC_MODE_IGNORE: u32 = 2;
1123pub const FF_DEBUG_VIS_MV_P_FOR: u32 = 1;
1124pub const FF_DEBUG_VIS_MV_B_FOR: u32 = 2;
1125pub const FF_DEBUG_VIS_MV_B_BACK: u32 = 4;
1126pub const FF_CODEC_PROPERTY_LOSSLESS: u32 = 1;
1127pub const FF_CODEC_PROPERTY_CLOSED_CAPTIONS: u32 = 2;
1128pub const FF_SUB_TEXT_FMT_ASS: u32 = 0;
1129pub const FF_SUB_TEXT_FMT_ASS_WITH_TIMINGS: u32 = 1;
1130pub const AV_HWACCEL_CODEC_CAP_EXPERIMENTAL: u32 = 512;
1131pub const AV_HWACCEL_FLAG_IGNORE_LEVEL: u32 = 1;
1132pub const AV_HWACCEL_FLAG_ALLOW_HIGH_DEPTH: u32 = 2;
1133pub const AV_HWACCEL_FLAG_ALLOW_PROFILE_MISMATCH: u32 = 4;
1134pub const AV_SUBTITLE_FLAG_FORCED: u32 = 1;
1135pub const AV_PARSER_PTS_NB: u32 = 4;
1136pub const PARSER_FLAG_COMPLETE_FRAMES: u32 = 1;
1137pub const PARSER_FLAG_ONCE: u32 = 2;
1138pub const PARSER_FLAG_FETCHED_OFFSET: u32 = 4;
1139pub const PARSER_FLAG_USE_CODEC_TS: u32 = 4096;
1140pub const LIBAVDEVICE_VERSION_MAJOR: u32 = 58;
1141pub const LIBAVDEVICE_VERSION_MINOR: u32 = 8;
1142pub const LIBAVDEVICE_VERSION_MICRO: u32 = 100;
1143pub const _TIME_H: u32 = 1;
1144pub const _BITS_TIME_H: u32 = 1;
1145pub const CLOCK_REALTIME: u32 = 0;
1146pub const CLOCK_MONOTONIC: u32 = 1;
1147pub const CLOCK_PROCESS_CPUTIME_ID: u32 = 2;
1148pub const CLOCK_THREAD_CPUTIME_ID: u32 = 3;
1149pub const CLOCK_MONOTONIC_RAW: u32 = 4;
1150pub const CLOCK_REALTIME_COARSE: u32 = 5;
1151pub const CLOCK_MONOTONIC_COARSE: u32 = 6;
1152pub const CLOCK_BOOTTIME: u32 = 7;
1153pub const CLOCK_REALTIME_ALARM: u32 = 8;
1154pub const CLOCK_BOOTTIME_ALARM: u32 = 9;
1155pub const CLOCK_TAI: u32 = 11;
1156pub const TIMER_ABSTIME: u32 = 1;
1157pub const __struct_tm_defined: u32 = 1;
1158pub const __itimerspec_defined: u32 = 1;
1159pub const TIME_UTC: u32 = 1;
1160pub const LIBAVFORMAT_VERSION_MAJOR: u32 = 58;
1161pub const LIBAVFORMAT_VERSION_MINOR: u32 = 29;
1162pub const LIBAVFORMAT_VERSION_MICRO: u32 = 100;
1163pub const FF_API_R_FRAME_RATE: u32 = 1;
1164pub const AVIO_SEEKABLE_NORMAL: u32 = 1;
1165pub const AVIO_SEEKABLE_TIME: u32 = 2;
1166pub const AVSEEK_SIZE: u32 = 65536;
1167pub const AVSEEK_FORCE: u32 = 131072;
1168pub const AVIO_FLAG_READ: u32 = 1;
1169pub const AVIO_FLAG_WRITE: u32 = 2;
1170pub const AVIO_FLAG_READ_WRITE: u32 = 3;
1171pub const AVIO_FLAG_NONBLOCK: u32 = 8;
1172pub const AVIO_FLAG_DIRECT: u32 = 32768;
1173pub const AVPROBE_SCORE_EXTENSION: u32 = 50;
1174pub const AVPROBE_SCORE_MIME: u32 = 75;
1175pub const AVPROBE_SCORE_MAX: u32 = 100;
1176pub const AVPROBE_PADDING_SIZE: u32 = 32;
1177pub const AVFMT_NOFILE: u32 = 1;
1178pub const AVFMT_NEEDNUMBER: u32 = 2;
1179pub const AVFMT_SHOW_IDS: u32 = 8;
1180pub const AVFMT_GLOBALHEADER: u32 = 64;
1181pub const AVFMT_NOTIMESTAMPS: u32 = 128;
1182pub const AVFMT_GENERIC_INDEX: u32 = 256;
1183pub const AVFMT_TS_DISCONT: u32 = 512;
1184pub const AVFMT_VARIABLE_FPS: u32 = 1024;
1185pub const AVFMT_NODIMENSIONS: u32 = 2048;
1186pub const AVFMT_NOSTREAMS: u32 = 4096;
1187pub const AVFMT_NOBINSEARCH: u32 = 8192;
1188pub const AVFMT_NOGENSEARCH: u32 = 16384;
1189pub const AVFMT_NO_BYTE_SEEK: u32 = 32768;
1190pub const AVFMT_ALLOW_FLUSH: u32 = 65536;
1191pub const AVFMT_TS_NONSTRICT: u32 = 131072;
1192pub const AVFMT_TS_NEGATIVE: u32 = 262144;
1193pub const AVFMT_SEEK_TO_PTS: u32 = 67108864;
1194pub const AVINDEX_KEYFRAME: u32 = 1;
1195pub const AVINDEX_DISCARD_FRAME: u32 = 2;
1196pub const AV_DISPOSITION_DEFAULT: u32 = 1;
1197pub const AV_DISPOSITION_DUB: u32 = 2;
1198pub const AV_DISPOSITION_ORIGINAL: u32 = 4;
1199pub const AV_DISPOSITION_COMMENT: u32 = 8;
1200pub const AV_DISPOSITION_LYRICS: u32 = 16;
1201pub const AV_DISPOSITION_KARAOKE: u32 = 32;
1202pub const AV_DISPOSITION_FORCED: u32 = 64;
1203pub const AV_DISPOSITION_HEARING_IMPAIRED: u32 = 128;
1204pub const AV_DISPOSITION_VISUAL_IMPAIRED: u32 = 256;
1205pub const AV_DISPOSITION_CLEAN_EFFECTS: u32 = 512;
1206pub const AV_DISPOSITION_ATTACHED_PIC: u32 = 1024;
1207pub const AV_DISPOSITION_TIMED_THUMBNAILS: u32 = 2048;
1208pub const AV_DISPOSITION_CAPTIONS: u32 = 65536;
1209pub const AV_DISPOSITION_DESCRIPTIONS: u32 = 131072;
1210pub const AV_DISPOSITION_METADATA: u32 = 262144;
1211pub const AV_DISPOSITION_DEPENDENT: u32 = 524288;
1212pub const AV_DISPOSITION_STILL_IMAGE: u32 = 1048576;
1213pub const AV_PTS_WRAP_IGNORE: u32 = 0;
1214pub const AV_PTS_WRAP_ADD_OFFSET: u32 = 1;
1215pub const AV_PTS_WRAP_SUB_OFFSET: i32 = -1;
1216pub const AVSTREAM_EVENT_FLAG_METADATA_UPDATED: u32 = 1;
1217pub const MAX_STD_TIMEBASES: u32 = 399;
1218pub const MAX_REORDER_DELAY: u32 = 16;
1219pub const AV_PROGRAM_RUNNING: u32 = 1;
1220pub const AVFMTCTX_NOHEADER: u32 = 1;
1221pub const AVFMTCTX_UNSEEKABLE: u32 = 2;
1222pub const AVFMT_FLAG_GENPTS: u32 = 1;
1223pub const AVFMT_FLAG_IGNIDX: u32 = 2;
1224pub const AVFMT_FLAG_NONBLOCK: u32 = 4;
1225pub const AVFMT_FLAG_IGNDTS: u32 = 8;
1226pub const AVFMT_FLAG_NOFILLIN: u32 = 16;
1227pub const AVFMT_FLAG_NOPARSE: u32 = 32;
1228pub const AVFMT_FLAG_NOBUFFER: u32 = 64;
1229pub const AVFMT_FLAG_CUSTOM_IO: u32 = 128;
1230pub const AVFMT_FLAG_DISCARD_CORRUPT: u32 = 256;
1231pub const AVFMT_FLAG_FLUSH_PACKETS: u32 = 512;
1232pub const AVFMT_FLAG_BITEXACT: u32 = 1024;
1233pub const AVFMT_FLAG_MP4A_LATM: u32 = 32768;
1234pub const AVFMT_FLAG_SORT_DTS: u32 = 65536;
1235pub const AVFMT_FLAG_PRIV_OPT: u32 = 131072;
1236pub const AVFMT_FLAG_KEEP_SIDE_DATA: u32 = 262144;
1237pub const AVFMT_FLAG_FAST_SEEK: u32 = 524288;
1238pub const AVFMT_FLAG_SHORTEST: u32 = 1048576;
1239pub const AVFMT_FLAG_AUTO_BSF: u32 = 2097152;
1240pub const FF_FDEBUG_TS: u32 = 1;
1241pub const AVFMT_EVENT_FLAG_METADATA_UPDATED: u32 = 1;
1242pub const AVFMT_AVOID_NEG_TS_AUTO: i32 = -1;
1243pub const AVFMT_AVOID_NEG_TS_MAKE_NON_NEGATIVE: u32 = 1;
1244pub const AVFMT_AVOID_NEG_TS_MAKE_ZERO: u32 = 2;
1245pub const AVSEEK_FLAG_BACKWARD: u32 = 1;
1246pub const AVSEEK_FLAG_BYTE: u32 = 2;
1247pub const AVSEEK_FLAG_ANY: u32 = 4;
1248pub const AVSEEK_FLAG_FRAME: u32 = 8;
1249pub const AVSTREAM_INIT_IN_WRITE_HEADER: u32 = 0;
1250pub const AVSTREAM_INIT_IN_INIT_OUTPUT: u32 = 1;
1251pub const AV_FRAME_FILENAME_FLAGS_MULTIPLE: u32 = 1;
1252pub const LIBAVFILTER_VERSION_MAJOR: u32 = 7;
1253pub const LIBAVFILTER_VERSION_MINOR: u32 = 57;
1254pub const LIBAVFILTER_VERSION_MICRO: u32 = 100;
1255pub const AVFILTER_FLAG_DYNAMIC_INPUTS: u32 = 1;
1256pub const AVFILTER_FLAG_DYNAMIC_OUTPUTS: u32 = 2;
1257pub const AVFILTER_FLAG_SLICE_THREADS: u32 = 4;
1258pub const AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC: u32 = 65536;
1259pub const AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL: u32 = 131072;
1260pub const AVFILTER_FLAG_SUPPORT_TIMELINE: u32 = 196608;
1261pub const AVFILTER_THREAD_SLICE: u32 = 1;
1262pub const AVFILTER_CMD_FLAG_ONE: u32 = 1;
1263pub const AVFILTER_CMD_FLAG_FAST: u32 = 2;
1264pub const LIBSWRESAMPLE_VERSION_MAJOR: u32 = 3;
1265pub const LIBSWRESAMPLE_VERSION_MINOR: u32 = 5;
1266pub const LIBSWRESAMPLE_VERSION_MICRO: u32 = 100;
1267pub const SWR_FLAG_RESAMPLE: u32 = 1;
1268pub const LIBSWSCALE_VERSION_MAJOR: u32 = 5;
1269pub const LIBSWSCALE_VERSION_MINOR: u32 = 5;
1270pub const LIBSWSCALE_VERSION_MICRO: u32 = 100;
1271pub const SWS_FAST_BILINEAR: u32 = 1;
1272pub const SWS_BILINEAR: u32 = 2;
1273pub const SWS_BICUBIC: u32 = 4;
1274pub const SWS_X: u32 = 8;
1275pub const SWS_POINT: u32 = 16;
1276pub const SWS_AREA: u32 = 32;
1277pub const SWS_BICUBLIN: u32 = 64;
1278pub const SWS_GAUSS: u32 = 128;
1279pub const SWS_SINC: u32 = 256;
1280pub const SWS_LANCZOS: u32 = 512;
1281pub const SWS_SPLINE: u32 = 1024;
1282pub const SWS_SRC_V_CHR_DROP_MASK: u32 = 196608;
1283pub const SWS_SRC_V_CHR_DROP_SHIFT: u32 = 16;
1284pub const SWS_PARAM_DEFAULT: u32 = 123456;
1285pub const SWS_PRINT_INFO: u32 = 4096;
1286pub const SWS_FULL_CHR_H_INT: u32 = 8192;
1287pub const SWS_FULL_CHR_H_INP: u32 = 16384;
1288pub const SWS_DIRECT_BGR: u32 = 32768;
1289pub const SWS_ACCURATE_RND: u32 = 262144;
1290pub const SWS_BITEXACT: u32 = 524288;
1291pub const SWS_ERROR_DIFFUSION: u32 = 8388608;
1292pub const SWS_MAX_REDUCE_CUTOFF: f64 = 0.002;
1293pub const SWS_CS_ITU709: u32 = 1;
1294pub const SWS_CS_FCC: u32 = 4;
1295pub const SWS_CS_ITU601: u32 = 5;
1296pub const SWS_CS_ITU624: u32 = 5;
1297pub const SWS_CS_SMPTE170M: u32 = 5;
1298pub const SWS_CS_SMPTE240M: u32 = 7;
1299pub const SWS_CS_DEFAULT: u32 = 5;
1300pub const SWS_CS_BT2020: u32 = 9;
1301pub type __u_char = ::std::os::raw::c_uchar;
1302pub type __u_short = ::std::os::raw::c_ushort;
1303pub type __u_int = ::std::os::raw::c_uint;
1304pub type __u_long = ::std::os::raw::c_ulong;
1305pub type __int8_t = ::std::os::raw::c_schar;
1306pub type __uint8_t = ::std::os::raw::c_uchar;
1307pub type __int16_t = ::std::os::raw::c_short;
1308pub type __uint16_t = ::std::os::raw::c_ushort;
1309pub type __int32_t = ::std::os::raw::c_int;
1310pub type __uint32_t = ::std::os::raw::c_uint;
1311pub type __int64_t = ::std::os::raw::c_long;
1312pub type __uint64_t = ::std::os::raw::c_ulong;
1313pub type __int_least8_t = __int8_t;
1314pub type __uint_least8_t = __uint8_t;
1315pub type __int_least16_t = __int16_t;
1316pub type __uint_least16_t = __uint16_t;
1317pub type __int_least32_t = __int32_t;
1318pub type __uint_least32_t = __uint32_t;
1319pub type __int_least64_t = __int64_t;
1320pub type __uint_least64_t = __uint64_t;
1321pub type __quad_t = ::std::os::raw::c_long;
1322pub type __u_quad_t = ::std::os::raw::c_ulong;
1323pub type __intmax_t = ::std::os::raw::c_long;
1324pub type __uintmax_t = ::std::os::raw::c_ulong;
1325pub type __dev_t = ::std::os::raw::c_ulong;
1326pub type __uid_t = ::std::os::raw::c_uint;
1327pub type __gid_t = ::std::os::raw::c_uint;
1328pub type __ino_t = ::std::os::raw::c_ulong;
1329pub type __ino64_t = ::std::os::raw::c_ulong;
1330pub type __mode_t = ::std::os::raw::c_uint;
1331pub type __nlink_t = ::std::os::raw::c_ulong;
1332pub type __off_t = ::std::os::raw::c_long;
1333pub type __off64_t = ::std::os::raw::c_long;
1334pub type __pid_t = ::std::os::raw::c_int;
1335#[repr(C)]
1336#[derive(Debug, Copy, Clone)]
1337pub struct __fsid_t {
1338    pub __val: [::std::os::raw::c_int; 2usize],
1339}
1340pub type __clock_t = ::std::os::raw::c_long;
1341pub type __rlim_t = ::std::os::raw::c_ulong;
1342pub type __rlim64_t = ::std::os::raw::c_ulong;
1343pub type __id_t = ::std::os::raw::c_uint;
1344pub type __time_t = ::std::os::raw::c_long;
1345pub type __useconds_t = ::std::os::raw::c_uint;
1346pub type __suseconds_t = ::std::os::raw::c_long;
1347pub type __daddr_t = ::std::os::raw::c_int;
1348pub type __key_t = ::std::os::raw::c_int;
1349pub type __clockid_t = ::std::os::raw::c_int;
1350pub type __timer_t = *mut ::std::os::raw::c_void;
1351pub type __blksize_t = ::std::os::raw::c_long;
1352pub type __blkcnt_t = ::std::os::raw::c_long;
1353pub type __blkcnt64_t = ::std::os::raw::c_long;
1354pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
1355pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
1356pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
1357pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
1358pub type __fsword_t = ::std::os::raw::c_long;
1359pub type __ssize_t = ::std::os::raw::c_long;
1360pub type __syscall_slong_t = ::std::os::raw::c_long;
1361pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
1362pub type __loff_t = __off64_t;
1363pub type __caddr_t = *mut ::std::os::raw::c_char;
1364pub type __intptr_t = ::std::os::raw::c_long;
1365pub type __socklen_t = ::std::os::raw::c_uint;
1366pub type __sig_atomic_t = ::std::os::raw::c_int;
1367pub type int_least8_t = __int_least8_t;
1368pub type int_least16_t = __int_least16_t;
1369pub type int_least32_t = __int_least32_t;
1370pub type int_least64_t = __int_least64_t;
1371pub type uint_least8_t = __uint_least8_t;
1372pub type uint_least16_t = __uint_least16_t;
1373pub type uint_least32_t = __uint_least32_t;
1374pub type uint_least64_t = __uint_least64_t;
1375pub type int_fast8_t = ::std::os::raw::c_schar;
1376pub type int_fast16_t = ::std::os::raw::c_long;
1377pub type int_fast32_t = ::std::os::raw::c_long;
1378pub type int_fast64_t = ::std::os::raw::c_long;
1379pub type uint_fast8_t = ::std::os::raw::c_uchar;
1380pub type uint_fast16_t = ::std::os::raw::c_ulong;
1381pub type uint_fast32_t = ::std::os::raw::c_ulong;
1382pub type uint_fast64_t = ::std::os::raw::c_ulong;
1383pub type intmax_t = __intmax_t;
1384pub type uintmax_t = __uintmax_t;
1385#[repr(C)]
1386#[derive(Debug, Copy, Clone)]
1387pub struct AVDES {
1388    pub round_keys: [[u64; 16usize]; 3usize],
1389    pub triple_des: ::std::os::raw::c_int,
1390}
1391extern "C" {
1392    pub fn av_des_alloc() -> *mut AVDES;
1393}
1394extern "C" {
1395    pub fn av_des_init(
1396        d: *mut AVDES,
1397        key: *const u8,
1398        key_bits: ::std::os::raw::c_int,
1399        decrypt: ::std::os::raw::c_int,
1400    ) -> ::std::os::raw::c_int;
1401}
1402extern "C" {
1403    pub fn av_des_crypt(
1404        d: *mut AVDES,
1405        dst: *mut u8,
1406        src: *const u8,
1407        count: ::std::os::raw::c_int,
1408        iv: *mut u8,
1409        decrypt: ::std::os::raw::c_int,
1410    );
1411}
1412extern "C" {
1413    pub fn av_des_mac(d: *mut AVDES, dst: *mut u8, src: *const u8, count: ::std::os::raw::c_int);
1414}
1415#[repr(C)]
1416#[derive(Debug, Copy, Clone)]
1417pub struct AVDictionaryEntry {
1418    pub key: *mut ::std::os::raw::c_char,
1419    pub value: *mut ::std::os::raw::c_char,
1420}
1421#[repr(C)]
1422#[derive(Debug, Copy, Clone)]
1423pub struct AVDictionary {
1424    _unused: [u8; 0],
1425}
1426extern "C" {
1427    pub fn av_dict_get(
1428        m: *const AVDictionary,
1429        key: *const ::std::os::raw::c_char,
1430        prev: *const AVDictionaryEntry,
1431        flags: ::std::os::raw::c_int,
1432    ) -> *mut AVDictionaryEntry;
1433}
1434extern "C" {
1435    pub fn av_dict_count(m: *const AVDictionary) -> ::std::os::raw::c_int;
1436}
1437extern "C" {
1438    pub fn av_dict_set(
1439        pm: *mut *mut AVDictionary,
1440        key: *const ::std::os::raw::c_char,
1441        value: *const ::std::os::raw::c_char,
1442        flags: ::std::os::raw::c_int,
1443    ) -> ::std::os::raw::c_int;
1444}
1445extern "C" {
1446    pub fn av_dict_set_int(
1447        pm: *mut *mut AVDictionary,
1448        key: *const ::std::os::raw::c_char,
1449        value: i64,
1450        flags: ::std::os::raw::c_int,
1451    ) -> ::std::os::raw::c_int;
1452}
1453extern "C" {
1454    pub fn av_dict_parse_string(
1455        pm: *mut *mut AVDictionary,
1456        str: *const ::std::os::raw::c_char,
1457        key_val_sep: *const ::std::os::raw::c_char,
1458        pairs_sep: *const ::std::os::raw::c_char,
1459        flags: ::std::os::raw::c_int,
1460    ) -> ::std::os::raw::c_int;
1461}
1462extern "C" {
1463    pub fn av_dict_copy(
1464        dst: *mut *mut AVDictionary,
1465        src: *const AVDictionary,
1466        flags: ::std::os::raw::c_int,
1467    ) -> ::std::os::raw::c_int;
1468}
1469extern "C" {
1470    pub fn av_dict_free(m: *mut *mut AVDictionary);
1471}
1472extern "C" {
1473    pub fn av_dict_get_string(
1474        m: *const AVDictionary,
1475        buffer: *mut *mut ::std::os::raw::c_char,
1476        key_val_sep: ::std::os::raw::c_char,
1477        pairs_sep: ::std::os::raw::c_char,
1478    ) -> ::std::os::raw::c_int;
1479}
1480extern "C" {
1481    pub fn __errno_location() -> *mut ::std::os::raw::c_int;
1482}
1483pub type __gwchar_t = ::std::os::raw::c_int;
1484#[repr(C)]
1485#[derive(Debug, Copy, Clone)]
1486pub struct imaxdiv_t {
1487    pub quot: ::std::os::raw::c_long,
1488    pub rem: ::std::os::raw::c_long,
1489}
1490extern "C" {
1491    pub fn imaxabs(__n: intmax_t) -> intmax_t;
1492}
1493extern "C" {
1494    pub fn imaxdiv(__numer: intmax_t, __denom: intmax_t) -> imaxdiv_t;
1495}
1496extern "C" {
1497    pub fn strtoimax(
1498        __nptr: *const ::std::os::raw::c_char,
1499        __endptr: *mut *mut ::std::os::raw::c_char,
1500        __base: ::std::os::raw::c_int,
1501    ) -> intmax_t;
1502}
1503extern "C" {
1504    pub fn strtoumax(
1505        __nptr: *const ::std::os::raw::c_char,
1506        __endptr: *mut *mut ::std::os::raw::c_char,
1507        __base: ::std::os::raw::c_int,
1508    ) -> uintmax_t;
1509}
1510extern "C" {
1511    pub fn wcstoimax(
1512        __nptr: *const __gwchar_t,
1513        __endptr: *mut *mut __gwchar_t,
1514        __base: ::std::os::raw::c_int,
1515    ) -> intmax_t;
1516}
1517extern "C" {
1518    pub fn wcstoumax(
1519        __nptr: *const __gwchar_t,
1520        __endptr: *mut *mut __gwchar_t,
1521        __base: ::std::os::raw::c_int,
1522    ) -> uintmax_t;
1523}
1524pub type _Float32 = f32;
1525pub type _Float64 = f64;
1526pub type _Float32x = f64;
1527pub type _Float64x = u128;
1528pub type float_t = f32;
1529pub type double_t = f64;
1530extern "C" {
1531    pub fn __fpclassify(__value: f64) -> ::std::os::raw::c_int;
1532}
1533extern "C" {
1534    pub fn __signbit(__value: f64) -> ::std::os::raw::c_int;
1535}
1536extern "C" {
1537    pub fn __isinf(__value: f64) -> ::std::os::raw::c_int;
1538}
1539extern "C" {
1540    pub fn __finite(__value: f64) -> ::std::os::raw::c_int;
1541}
1542extern "C" {
1543    pub fn __isnan(__value: f64) -> ::std::os::raw::c_int;
1544}
1545extern "C" {
1546    pub fn __iseqsig(__x: f64, __y: f64) -> ::std::os::raw::c_int;
1547}
1548extern "C" {
1549    pub fn __issignaling(__value: f64) -> ::std::os::raw::c_int;
1550}
1551extern "C" {
1552    pub fn acos(__x: f64) -> f64;
1553}
1554extern "C" {
1555    pub fn __acos(__x: f64) -> f64;
1556}
1557extern "C" {
1558    pub fn asin(__x: f64) -> f64;
1559}
1560extern "C" {
1561    pub fn __asin(__x: f64) -> f64;
1562}
1563extern "C" {
1564    pub fn atan(__x: f64) -> f64;
1565}
1566extern "C" {
1567    pub fn __atan(__x: f64) -> f64;
1568}
1569extern "C" {
1570    pub fn atan2(__y: f64, __x: f64) -> f64;
1571}
1572extern "C" {
1573    pub fn __atan2(__y: f64, __x: f64) -> f64;
1574}
1575extern "C" {
1576    pub fn cos(__x: f64) -> f64;
1577}
1578extern "C" {
1579    pub fn __cos(__x: f64) -> f64;
1580}
1581extern "C" {
1582    pub fn sin(__x: f64) -> f64;
1583}
1584extern "C" {
1585    pub fn __sin(__x: f64) -> f64;
1586}
1587extern "C" {
1588    pub fn tan(__x: f64) -> f64;
1589}
1590extern "C" {
1591    pub fn __tan(__x: f64) -> f64;
1592}
1593extern "C" {
1594    pub fn cosh(__x: f64) -> f64;
1595}
1596extern "C" {
1597    pub fn __cosh(__x: f64) -> f64;
1598}
1599extern "C" {
1600    pub fn sinh(__x: f64) -> f64;
1601}
1602extern "C" {
1603    pub fn __sinh(__x: f64) -> f64;
1604}
1605extern "C" {
1606    pub fn tanh(__x: f64) -> f64;
1607}
1608extern "C" {
1609    pub fn __tanh(__x: f64) -> f64;
1610}
1611extern "C" {
1612    pub fn acosh(__x: f64) -> f64;
1613}
1614extern "C" {
1615    pub fn __acosh(__x: f64) -> f64;
1616}
1617extern "C" {
1618    pub fn asinh(__x: f64) -> f64;
1619}
1620extern "C" {
1621    pub fn __asinh(__x: f64) -> f64;
1622}
1623extern "C" {
1624    pub fn atanh(__x: f64) -> f64;
1625}
1626extern "C" {
1627    pub fn __atanh(__x: f64) -> f64;
1628}
1629extern "C" {
1630    pub fn exp(__x: f64) -> f64;
1631}
1632extern "C" {
1633    pub fn __exp(__x: f64) -> f64;
1634}
1635extern "C" {
1636    pub fn frexp(__x: f64, __exponent: *mut ::std::os::raw::c_int) -> f64;
1637}
1638extern "C" {
1639    pub fn __frexp(__x: f64, __exponent: *mut ::std::os::raw::c_int) -> f64;
1640}
1641extern "C" {
1642    pub fn ldexp(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
1643}
1644extern "C" {
1645    pub fn __ldexp(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
1646}
1647extern "C" {
1648    pub fn log(__x: f64) -> f64;
1649}
1650extern "C" {
1651    pub fn __log(__x: f64) -> f64;
1652}
1653extern "C" {
1654    pub fn log10(__x: f64) -> f64;
1655}
1656extern "C" {
1657    pub fn __log10(__x: f64) -> f64;
1658}
1659extern "C" {
1660    pub fn modf(__x: f64, __iptr: *mut f64) -> f64;
1661}
1662extern "C" {
1663    pub fn __modf(__x: f64, __iptr: *mut f64) -> f64;
1664}
1665extern "C" {
1666    pub fn expm1(__x: f64) -> f64;
1667}
1668extern "C" {
1669    pub fn __expm1(__x: f64) -> f64;
1670}
1671extern "C" {
1672    pub fn log1p(__x: f64) -> f64;
1673}
1674extern "C" {
1675    pub fn __log1p(__x: f64) -> f64;
1676}
1677extern "C" {
1678    pub fn logb(__x: f64) -> f64;
1679}
1680extern "C" {
1681    pub fn __logb(__x: f64) -> f64;
1682}
1683extern "C" {
1684    pub fn exp2(__x: f64) -> f64;
1685}
1686extern "C" {
1687    pub fn __exp2(__x: f64) -> f64;
1688}
1689extern "C" {
1690    pub fn log2(__x: f64) -> f64;
1691}
1692extern "C" {
1693    pub fn __log2(__x: f64) -> f64;
1694}
1695extern "C" {
1696    pub fn pow(__x: f64, __y: f64) -> f64;
1697}
1698extern "C" {
1699    pub fn __pow(__x: f64, __y: f64) -> f64;
1700}
1701extern "C" {
1702    pub fn sqrt(__x: f64) -> f64;
1703}
1704extern "C" {
1705    pub fn __sqrt(__x: f64) -> f64;
1706}
1707extern "C" {
1708    pub fn hypot(__x: f64, __y: f64) -> f64;
1709}
1710extern "C" {
1711    pub fn __hypot(__x: f64, __y: f64) -> f64;
1712}
1713extern "C" {
1714    pub fn cbrt(__x: f64) -> f64;
1715}
1716extern "C" {
1717    pub fn __cbrt(__x: f64) -> f64;
1718}
1719extern "C" {
1720    pub fn ceil(__x: f64) -> f64;
1721}
1722extern "C" {
1723    pub fn __ceil(__x: f64) -> f64;
1724}
1725extern "C" {
1726    pub fn fabs(__x: f64) -> f64;
1727}
1728extern "C" {
1729    pub fn __fabs(__x: f64) -> f64;
1730}
1731extern "C" {
1732    pub fn floor(__x: f64) -> f64;
1733}
1734extern "C" {
1735    pub fn __floor(__x: f64) -> f64;
1736}
1737extern "C" {
1738    pub fn fmod(__x: f64, __y: f64) -> f64;
1739}
1740extern "C" {
1741    pub fn __fmod(__x: f64, __y: f64) -> f64;
1742}
1743extern "C" {
1744    pub fn isinf(__value: f64) -> ::std::os::raw::c_int;
1745}
1746extern "C" {
1747    pub fn finite(__value: f64) -> ::std::os::raw::c_int;
1748}
1749extern "C" {
1750    pub fn drem(__x: f64, __y: f64) -> f64;
1751}
1752extern "C" {
1753    pub fn __drem(__x: f64, __y: f64) -> f64;
1754}
1755extern "C" {
1756    pub fn significand(__x: f64) -> f64;
1757}
1758extern "C" {
1759    pub fn __significand(__x: f64) -> f64;
1760}
1761extern "C" {
1762    pub fn copysign(__x: f64, __y: f64) -> f64;
1763}
1764extern "C" {
1765    pub fn __copysign(__x: f64, __y: f64) -> f64;
1766}
1767extern "C" {
1768    pub fn nan(__tagb: *const ::std::os::raw::c_char) -> f64;
1769}
1770extern "C" {
1771    pub fn __nan(__tagb: *const ::std::os::raw::c_char) -> f64;
1772}
1773extern "C" {
1774    pub fn isnan(__value: f64) -> ::std::os::raw::c_int;
1775}
1776extern "C" {
1777    pub fn j0(arg1: f64) -> f64;
1778}
1779extern "C" {
1780    pub fn __j0(arg1: f64) -> f64;
1781}
1782extern "C" {
1783    pub fn j1(arg1: f64) -> f64;
1784}
1785extern "C" {
1786    pub fn __j1(arg1: f64) -> f64;
1787}
1788extern "C" {
1789    pub fn jn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64;
1790}
1791extern "C" {
1792    pub fn __jn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64;
1793}
1794extern "C" {
1795    pub fn y0(arg1: f64) -> f64;
1796}
1797extern "C" {
1798    pub fn __y0(arg1: f64) -> f64;
1799}
1800extern "C" {
1801    pub fn y1(arg1: f64) -> f64;
1802}
1803extern "C" {
1804    pub fn __y1(arg1: f64) -> f64;
1805}
1806extern "C" {
1807    pub fn yn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64;
1808}
1809extern "C" {
1810    pub fn __yn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64;
1811}
1812extern "C" {
1813    pub fn erf(arg1: f64) -> f64;
1814}
1815extern "C" {
1816    pub fn __erf(arg1: f64) -> f64;
1817}
1818extern "C" {
1819    pub fn erfc(arg1: f64) -> f64;
1820}
1821extern "C" {
1822    pub fn __erfc(arg1: f64) -> f64;
1823}
1824extern "C" {
1825    pub fn lgamma(arg1: f64) -> f64;
1826}
1827extern "C" {
1828    pub fn __lgamma(arg1: f64) -> f64;
1829}
1830extern "C" {
1831    pub fn tgamma(arg1: f64) -> f64;
1832}
1833extern "C" {
1834    pub fn __tgamma(arg1: f64) -> f64;
1835}
1836extern "C" {
1837    pub fn gamma(arg1: f64) -> f64;
1838}
1839extern "C" {
1840    pub fn __gamma(arg1: f64) -> f64;
1841}
1842extern "C" {
1843    pub fn lgamma_r(arg1: f64, __signgamp: *mut ::std::os::raw::c_int) -> f64;
1844}
1845extern "C" {
1846    pub fn __lgamma_r(arg1: f64, __signgamp: *mut ::std::os::raw::c_int) -> f64;
1847}
1848extern "C" {
1849    pub fn rint(__x: f64) -> f64;
1850}
1851extern "C" {
1852    pub fn __rint(__x: f64) -> f64;
1853}
1854extern "C" {
1855    pub fn nextafter(__x: f64, __y: f64) -> f64;
1856}
1857extern "C" {
1858    pub fn __nextafter(__x: f64, __y: f64) -> f64;
1859}
1860extern "C" {
1861    pub fn nexttoward(__x: f64, __y: u128) -> f64;
1862}
1863extern "C" {
1864    pub fn __nexttoward(__x: f64, __y: u128) -> f64;
1865}
1866extern "C" {
1867    pub fn remainder(__x: f64, __y: f64) -> f64;
1868}
1869extern "C" {
1870    pub fn __remainder(__x: f64, __y: f64) -> f64;
1871}
1872extern "C" {
1873    pub fn scalbn(__x: f64, __n: ::std::os::raw::c_int) -> f64;
1874}
1875extern "C" {
1876    pub fn __scalbn(__x: f64, __n: ::std::os::raw::c_int) -> f64;
1877}
1878extern "C" {
1879    pub fn ilogb(__x: f64) -> ::std::os::raw::c_int;
1880}
1881extern "C" {
1882    pub fn __ilogb(__x: f64) -> ::std::os::raw::c_int;
1883}
1884extern "C" {
1885    pub fn scalbln(__x: f64, __n: ::std::os::raw::c_long) -> f64;
1886}
1887extern "C" {
1888    pub fn __scalbln(__x: f64, __n: ::std::os::raw::c_long) -> f64;
1889}
1890extern "C" {
1891    pub fn nearbyint(__x: f64) -> f64;
1892}
1893extern "C" {
1894    pub fn __nearbyint(__x: f64) -> f64;
1895}
1896extern "C" {
1897    pub fn round(__x: f64) -> f64;
1898}
1899extern "C" {
1900    pub fn __round(__x: f64) -> f64;
1901}
1902extern "C" {
1903    pub fn trunc(__x: f64) -> f64;
1904}
1905extern "C" {
1906    pub fn __trunc(__x: f64) -> f64;
1907}
1908extern "C" {
1909    pub fn remquo(__x: f64, __y: f64, __quo: *mut ::std::os::raw::c_int) -> f64;
1910}
1911extern "C" {
1912    pub fn __remquo(__x: f64, __y: f64, __quo: *mut ::std::os::raw::c_int) -> f64;
1913}
1914extern "C" {
1915    pub fn lrint(__x: f64) -> ::std::os::raw::c_long;
1916}
1917extern "C" {
1918    pub fn __lrint(__x: f64) -> ::std::os::raw::c_long;
1919}
1920extern "C" {
1921    pub fn llrint(__x: f64) -> ::std::os::raw::c_longlong;
1922}
1923extern "C" {
1924    pub fn __llrint(__x: f64) -> ::std::os::raw::c_longlong;
1925}
1926extern "C" {
1927    pub fn lround(__x: f64) -> ::std::os::raw::c_long;
1928}
1929extern "C" {
1930    pub fn __lround(__x: f64) -> ::std::os::raw::c_long;
1931}
1932extern "C" {
1933    pub fn llround(__x: f64) -> ::std::os::raw::c_longlong;
1934}
1935extern "C" {
1936    pub fn __llround(__x: f64) -> ::std::os::raw::c_longlong;
1937}
1938extern "C" {
1939    pub fn fdim(__x: f64, __y: f64) -> f64;
1940}
1941extern "C" {
1942    pub fn __fdim(__x: f64, __y: f64) -> f64;
1943}
1944extern "C" {
1945    pub fn fmax(__x: f64, __y: f64) -> f64;
1946}
1947extern "C" {
1948    pub fn __fmax(__x: f64, __y: f64) -> f64;
1949}
1950extern "C" {
1951    pub fn fmin(__x: f64, __y: f64) -> f64;
1952}
1953extern "C" {
1954    pub fn __fmin(__x: f64, __y: f64) -> f64;
1955}
1956extern "C" {
1957    pub fn fma(__x: f64, __y: f64, __z: f64) -> f64;
1958}
1959extern "C" {
1960    pub fn __fma(__x: f64, __y: f64, __z: f64) -> f64;
1961}
1962extern "C" {
1963    pub fn scalb(__x: f64, __n: f64) -> f64;
1964}
1965extern "C" {
1966    pub fn __scalb(__x: f64, __n: f64) -> f64;
1967}
1968extern "C" {
1969    pub fn __fpclassifyf(__value: f32) -> ::std::os::raw::c_int;
1970}
1971extern "C" {
1972    pub fn __signbitf(__value: f32) -> ::std::os::raw::c_int;
1973}
1974extern "C" {
1975    pub fn __isinff(__value: f32) -> ::std::os::raw::c_int;
1976}
1977extern "C" {
1978    pub fn __finitef(__value: f32) -> ::std::os::raw::c_int;
1979}
1980extern "C" {
1981    pub fn __isnanf(__value: f32) -> ::std::os::raw::c_int;
1982}
1983extern "C" {
1984    pub fn __iseqsigf(__x: f32, __y: f32) -> ::std::os::raw::c_int;
1985}
1986extern "C" {
1987    pub fn __issignalingf(__value: f32) -> ::std::os::raw::c_int;
1988}
1989extern "C" {
1990    pub fn acosf(__x: f32) -> f32;
1991}
1992extern "C" {
1993    pub fn __acosf(__x: f32) -> f32;
1994}
1995extern "C" {
1996    pub fn asinf(__x: f32) -> f32;
1997}
1998extern "C" {
1999    pub fn __asinf(__x: f32) -> f32;
2000}
2001extern "C" {
2002    pub fn atanf(__x: f32) -> f32;
2003}
2004extern "C" {
2005    pub fn __atanf(__x: f32) -> f32;
2006}
2007extern "C" {
2008    pub fn atan2f(__y: f32, __x: f32) -> f32;
2009}
2010extern "C" {
2011    pub fn __atan2f(__y: f32, __x: f32) -> f32;
2012}
2013extern "C" {
2014    pub fn cosf(__x: f32) -> f32;
2015}
2016extern "C" {
2017    pub fn __cosf(__x: f32) -> f32;
2018}
2019extern "C" {
2020    pub fn sinf(__x: f32) -> f32;
2021}
2022extern "C" {
2023    pub fn __sinf(__x: f32) -> f32;
2024}
2025extern "C" {
2026    pub fn tanf(__x: f32) -> f32;
2027}
2028extern "C" {
2029    pub fn __tanf(__x: f32) -> f32;
2030}
2031extern "C" {
2032    pub fn coshf(__x: f32) -> f32;
2033}
2034extern "C" {
2035    pub fn __coshf(__x: f32) -> f32;
2036}
2037extern "C" {
2038    pub fn sinhf(__x: f32) -> f32;
2039}
2040extern "C" {
2041    pub fn __sinhf(__x: f32) -> f32;
2042}
2043extern "C" {
2044    pub fn tanhf(__x: f32) -> f32;
2045}
2046extern "C" {
2047    pub fn __tanhf(__x: f32) -> f32;
2048}
2049extern "C" {
2050    pub fn acoshf(__x: f32) -> f32;
2051}
2052extern "C" {
2053    pub fn __acoshf(__x: f32) -> f32;
2054}
2055extern "C" {
2056    pub fn asinhf(__x: f32) -> f32;
2057}
2058extern "C" {
2059    pub fn __asinhf(__x: f32) -> f32;
2060}
2061extern "C" {
2062    pub fn atanhf(__x: f32) -> f32;
2063}
2064extern "C" {
2065    pub fn __atanhf(__x: f32) -> f32;
2066}
2067extern "C" {
2068    pub fn expf(__x: f32) -> f32;
2069}
2070extern "C" {
2071    pub fn __expf(__x: f32) -> f32;
2072}
2073extern "C" {
2074    pub fn frexpf(__x: f32, __exponent: *mut ::std::os::raw::c_int) -> f32;
2075}
2076extern "C" {
2077    pub fn __frexpf(__x: f32, __exponent: *mut ::std::os::raw::c_int) -> f32;
2078}
2079extern "C" {
2080    pub fn ldexpf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32;
2081}
2082extern "C" {
2083    pub fn __ldexpf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32;
2084}
2085extern "C" {
2086    pub fn logf(__x: f32) -> f32;
2087}
2088extern "C" {
2089    pub fn __logf(__x: f32) -> f32;
2090}
2091extern "C" {
2092    pub fn log10f(__x: f32) -> f32;
2093}
2094extern "C" {
2095    pub fn __log10f(__x: f32) -> f32;
2096}
2097extern "C" {
2098    pub fn modff(__x: f32, __iptr: *mut f32) -> f32;
2099}
2100extern "C" {
2101    pub fn __modff(__x: f32, __iptr: *mut f32) -> f32;
2102}
2103extern "C" {
2104    pub fn expm1f(__x: f32) -> f32;
2105}
2106extern "C" {
2107    pub fn __expm1f(__x: f32) -> f32;
2108}
2109extern "C" {
2110    pub fn log1pf(__x: f32) -> f32;
2111}
2112extern "C" {
2113    pub fn __log1pf(__x: f32) -> f32;
2114}
2115extern "C" {
2116    pub fn logbf(__x: f32) -> f32;
2117}
2118extern "C" {
2119    pub fn __logbf(__x: f32) -> f32;
2120}
2121extern "C" {
2122    pub fn exp2f(__x: f32) -> f32;
2123}
2124extern "C" {
2125    pub fn __exp2f(__x: f32) -> f32;
2126}
2127extern "C" {
2128    pub fn log2f(__x: f32) -> f32;
2129}
2130extern "C" {
2131    pub fn __log2f(__x: f32) -> f32;
2132}
2133extern "C" {
2134    pub fn powf(__x: f32, __y: f32) -> f32;
2135}
2136extern "C" {
2137    pub fn __powf(__x: f32, __y: f32) -> f32;
2138}
2139extern "C" {
2140    pub fn sqrtf(__x: f32) -> f32;
2141}
2142extern "C" {
2143    pub fn __sqrtf(__x: f32) -> f32;
2144}
2145extern "C" {
2146    pub fn hypotf(__x: f32, __y: f32) -> f32;
2147}
2148extern "C" {
2149    pub fn __hypotf(__x: f32, __y: f32) -> f32;
2150}
2151extern "C" {
2152    pub fn cbrtf(__x: f32) -> f32;
2153}
2154extern "C" {
2155    pub fn __cbrtf(__x: f32) -> f32;
2156}
2157extern "C" {
2158    pub fn ceilf(__x: f32) -> f32;
2159}
2160extern "C" {
2161    pub fn __ceilf(__x: f32) -> f32;
2162}
2163extern "C" {
2164    pub fn fabsf(__x: f32) -> f32;
2165}
2166extern "C" {
2167    pub fn __fabsf(__x: f32) -> f32;
2168}
2169extern "C" {
2170    pub fn floorf(__x: f32) -> f32;
2171}
2172extern "C" {
2173    pub fn __floorf(__x: f32) -> f32;
2174}
2175extern "C" {
2176    pub fn fmodf(__x: f32, __y: f32) -> f32;
2177}
2178extern "C" {
2179    pub fn __fmodf(__x: f32, __y: f32) -> f32;
2180}
2181extern "C" {
2182    pub fn isinff(__value: f32) -> ::std::os::raw::c_int;
2183}
2184extern "C" {
2185    pub fn finitef(__value: f32) -> ::std::os::raw::c_int;
2186}
2187extern "C" {
2188    pub fn dremf(__x: f32, __y: f32) -> f32;
2189}
2190extern "C" {
2191    pub fn __dremf(__x: f32, __y: f32) -> f32;
2192}
2193extern "C" {
2194    pub fn significandf(__x: f32) -> f32;
2195}
2196extern "C" {
2197    pub fn __significandf(__x: f32) -> f32;
2198}
2199extern "C" {
2200    pub fn copysignf(__x: f32, __y: f32) -> f32;
2201}
2202extern "C" {
2203    pub fn __copysignf(__x: f32, __y: f32) -> f32;
2204}
2205extern "C" {
2206    pub fn nanf(__tagb: *const ::std::os::raw::c_char) -> f32;
2207}
2208extern "C" {
2209    pub fn __nanf(__tagb: *const ::std::os::raw::c_char) -> f32;
2210}
2211extern "C" {
2212    pub fn isnanf(__value: f32) -> ::std::os::raw::c_int;
2213}
2214extern "C" {
2215    pub fn j0f(arg1: f32) -> f32;
2216}
2217extern "C" {
2218    pub fn __j0f(arg1: f32) -> f32;
2219}
2220extern "C" {
2221    pub fn j1f(arg1: f32) -> f32;
2222}
2223extern "C" {
2224    pub fn __j1f(arg1: f32) -> f32;
2225}
2226extern "C" {
2227    pub fn jnf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32;
2228}
2229extern "C" {
2230    pub fn __jnf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32;
2231}
2232extern "C" {
2233    pub fn y0f(arg1: f32) -> f32;
2234}
2235extern "C" {
2236    pub fn __y0f(arg1: f32) -> f32;
2237}
2238extern "C" {
2239    pub fn y1f(arg1: f32) -> f32;
2240}
2241extern "C" {
2242    pub fn __y1f(arg1: f32) -> f32;
2243}
2244extern "C" {
2245    pub fn ynf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32;
2246}
2247extern "C" {
2248    pub fn __ynf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32;
2249}
2250extern "C" {
2251    pub fn erff(arg1: f32) -> f32;
2252}
2253extern "C" {
2254    pub fn __erff(arg1: f32) -> f32;
2255}
2256extern "C" {
2257    pub fn erfcf(arg1: f32) -> f32;
2258}
2259extern "C" {
2260    pub fn __erfcf(arg1: f32) -> f32;
2261}
2262extern "C" {
2263    pub fn lgammaf(arg1: f32) -> f32;
2264}
2265extern "C" {
2266    pub fn __lgammaf(arg1: f32) -> f32;
2267}
2268extern "C" {
2269    pub fn tgammaf(arg1: f32) -> f32;
2270}
2271extern "C" {
2272    pub fn __tgammaf(arg1: f32) -> f32;
2273}
2274extern "C" {
2275    pub fn gammaf(arg1: f32) -> f32;
2276}
2277extern "C" {
2278    pub fn __gammaf(arg1: f32) -> f32;
2279}
2280extern "C" {
2281    pub fn lgammaf_r(arg1: f32, __signgamp: *mut ::std::os::raw::c_int) -> f32;
2282}
2283extern "C" {
2284    pub fn __lgammaf_r(arg1: f32, __signgamp: *mut ::std::os::raw::c_int) -> f32;
2285}
2286extern "C" {
2287    pub fn rintf(__x: f32) -> f32;
2288}
2289extern "C" {
2290    pub fn __rintf(__x: f32) -> f32;
2291}
2292extern "C" {
2293    pub fn nextafterf(__x: f32, __y: f32) -> f32;
2294}
2295extern "C" {
2296    pub fn __nextafterf(__x: f32, __y: f32) -> f32;
2297}
2298extern "C" {
2299    pub fn nexttowardf(__x: f32, __y: u128) -> f32;
2300}
2301extern "C" {
2302    pub fn __nexttowardf(__x: f32, __y: u128) -> f32;
2303}
2304extern "C" {
2305    pub fn remainderf(__x: f32, __y: f32) -> f32;
2306}
2307extern "C" {
2308    pub fn __remainderf(__x: f32, __y: f32) -> f32;
2309}
2310extern "C" {
2311    pub fn scalbnf(__x: f32, __n: ::std::os::raw::c_int) -> f32;
2312}
2313extern "C" {
2314    pub fn __scalbnf(__x: f32, __n: ::std::os::raw::c_int) -> f32;
2315}
2316extern "C" {
2317    pub fn ilogbf(__x: f32) -> ::std::os::raw::c_int;
2318}
2319extern "C" {
2320    pub fn __ilogbf(__x: f32) -> ::std::os::raw::c_int;
2321}
2322extern "C" {
2323    pub fn scalblnf(__x: f32, __n: ::std::os::raw::c_long) -> f32;
2324}
2325extern "C" {
2326    pub fn __scalblnf(__x: f32, __n: ::std::os::raw::c_long) -> f32;
2327}
2328extern "C" {
2329    pub fn nearbyintf(__x: f32) -> f32;
2330}
2331extern "C" {
2332    pub fn __nearbyintf(__x: f32) -> f32;
2333}
2334extern "C" {
2335    pub fn roundf(__x: f32) -> f32;
2336}
2337extern "C" {
2338    pub fn __roundf(__x: f32) -> f32;
2339}
2340extern "C" {
2341    pub fn truncf(__x: f32) -> f32;
2342}
2343extern "C" {
2344    pub fn __truncf(__x: f32) -> f32;
2345}
2346extern "C" {
2347    pub fn remquof(__x: f32, __y: f32, __quo: *mut ::std::os::raw::c_int) -> f32;
2348}
2349extern "C" {
2350    pub fn __remquof(__x: f32, __y: f32, __quo: *mut ::std::os::raw::c_int) -> f32;
2351}
2352extern "C" {
2353    pub fn lrintf(__x: f32) -> ::std::os::raw::c_long;
2354}
2355extern "C" {
2356    pub fn __lrintf(__x: f32) -> ::std::os::raw::c_long;
2357}
2358extern "C" {
2359    pub fn llrintf(__x: f32) -> ::std::os::raw::c_longlong;
2360}
2361extern "C" {
2362    pub fn __llrintf(__x: f32) -> ::std::os::raw::c_longlong;
2363}
2364extern "C" {
2365    pub fn lroundf(__x: f32) -> ::std::os::raw::c_long;
2366}
2367extern "C" {
2368    pub fn __lroundf(__x: f32) -> ::std::os::raw::c_long;
2369}
2370extern "C" {
2371    pub fn llroundf(__x: f32) -> ::std::os::raw::c_longlong;
2372}
2373extern "C" {
2374    pub fn __llroundf(__x: f32) -> ::std::os::raw::c_longlong;
2375}
2376extern "C" {
2377    pub fn fdimf(__x: f32, __y: f32) -> f32;
2378}
2379extern "C" {
2380    pub fn __fdimf(__x: f32, __y: f32) -> f32;
2381}
2382extern "C" {
2383    pub fn fmaxf(__x: f32, __y: f32) -> f32;
2384}
2385extern "C" {
2386    pub fn __fmaxf(__x: f32, __y: f32) -> f32;
2387}
2388extern "C" {
2389    pub fn fminf(__x: f32, __y: f32) -> f32;
2390}
2391extern "C" {
2392    pub fn __fminf(__x: f32, __y: f32) -> f32;
2393}
2394extern "C" {
2395    pub fn fmaf(__x: f32, __y: f32, __z: f32) -> f32;
2396}
2397extern "C" {
2398    pub fn __fmaf(__x: f32, __y: f32, __z: f32) -> f32;
2399}
2400extern "C" {
2401    pub fn scalbf(__x: f32, __n: f32) -> f32;
2402}
2403extern "C" {
2404    pub fn __scalbf(__x: f32, __n: f32) -> f32;
2405}
2406extern "C" {
2407    pub fn __fpclassifyl(__value: u128) -> ::std::os::raw::c_int;
2408}
2409extern "C" {
2410    pub fn __signbitl(__value: u128) -> ::std::os::raw::c_int;
2411}
2412extern "C" {
2413    pub fn __isinfl(__value: u128) -> ::std::os::raw::c_int;
2414}
2415extern "C" {
2416    pub fn __finitel(__value: u128) -> ::std::os::raw::c_int;
2417}
2418extern "C" {
2419    pub fn __isnanl(__value: u128) -> ::std::os::raw::c_int;
2420}
2421extern "C" {
2422    pub fn __iseqsigl(__x: u128, __y: u128) -> ::std::os::raw::c_int;
2423}
2424extern "C" {
2425    pub fn __issignalingl(__value: u128) -> ::std::os::raw::c_int;
2426}
2427extern "C" {
2428    pub fn acosl(__x: u128) -> u128;
2429}
2430extern "C" {
2431    pub fn __acosl(__x: u128) -> u128;
2432}
2433extern "C" {
2434    pub fn asinl(__x: u128) -> u128;
2435}
2436extern "C" {
2437    pub fn __asinl(__x: u128) -> u128;
2438}
2439extern "C" {
2440    pub fn atanl(__x: u128) -> u128;
2441}
2442extern "C" {
2443    pub fn __atanl(__x: u128) -> u128;
2444}
2445extern "C" {
2446    pub fn atan2l(__y: u128, __x: u128) -> u128;
2447}
2448extern "C" {
2449    pub fn __atan2l(__y: u128, __x: u128) -> u128;
2450}
2451extern "C" {
2452    pub fn cosl(__x: u128) -> u128;
2453}
2454extern "C" {
2455    pub fn __cosl(__x: u128) -> u128;
2456}
2457extern "C" {
2458    pub fn sinl(__x: u128) -> u128;
2459}
2460extern "C" {
2461    pub fn __sinl(__x: u128) -> u128;
2462}
2463extern "C" {
2464    pub fn tanl(__x: u128) -> u128;
2465}
2466extern "C" {
2467    pub fn __tanl(__x: u128) -> u128;
2468}
2469extern "C" {
2470    pub fn coshl(__x: u128) -> u128;
2471}
2472extern "C" {
2473    pub fn __coshl(__x: u128) -> u128;
2474}
2475extern "C" {
2476    pub fn sinhl(__x: u128) -> u128;
2477}
2478extern "C" {
2479    pub fn __sinhl(__x: u128) -> u128;
2480}
2481extern "C" {
2482    pub fn tanhl(__x: u128) -> u128;
2483}
2484extern "C" {
2485    pub fn __tanhl(__x: u128) -> u128;
2486}
2487extern "C" {
2488    pub fn acoshl(__x: u128) -> u128;
2489}
2490extern "C" {
2491    pub fn __acoshl(__x: u128) -> u128;
2492}
2493extern "C" {
2494    pub fn asinhl(__x: u128) -> u128;
2495}
2496extern "C" {
2497    pub fn __asinhl(__x: u128) -> u128;
2498}
2499extern "C" {
2500    pub fn atanhl(__x: u128) -> u128;
2501}
2502extern "C" {
2503    pub fn __atanhl(__x: u128) -> u128;
2504}
2505extern "C" {
2506    pub fn expl(__x: u128) -> u128;
2507}
2508extern "C" {
2509    pub fn __expl(__x: u128) -> u128;
2510}
2511extern "C" {
2512    pub fn frexpl(__x: u128, __exponent: *mut ::std::os::raw::c_int) -> u128;
2513}
2514extern "C" {
2515    pub fn __frexpl(__x: u128, __exponent: *mut ::std::os::raw::c_int) -> u128;
2516}
2517extern "C" {
2518    pub fn ldexpl(__x: u128, __exponent: ::std::os::raw::c_int) -> u128;
2519}
2520extern "C" {
2521    pub fn __ldexpl(__x: u128, __exponent: ::std::os::raw::c_int) -> u128;
2522}
2523extern "C" {
2524    pub fn logl(__x: u128) -> u128;
2525}
2526extern "C" {
2527    pub fn __logl(__x: u128) -> u128;
2528}
2529extern "C" {
2530    pub fn log10l(__x: u128) -> u128;
2531}
2532extern "C" {
2533    pub fn __log10l(__x: u128) -> u128;
2534}
2535extern "C" {
2536    pub fn modfl(__x: u128, __iptr: *mut u128) -> u128;
2537}
2538extern "C" {
2539    pub fn __modfl(__x: u128, __iptr: *mut u128) -> u128;
2540}
2541extern "C" {
2542    pub fn expm1l(__x: u128) -> u128;
2543}
2544extern "C" {
2545    pub fn __expm1l(__x: u128) -> u128;
2546}
2547extern "C" {
2548    pub fn log1pl(__x: u128) -> u128;
2549}
2550extern "C" {
2551    pub fn __log1pl(__x: u128) -> u128;
2552}
2553extern "C" {
2554    pub fn logbl(__x: u128) -> u128;
2555}
2556extern "C" {
2557    pub fn __logbl(__x: u128) -> u128;
2558}
2559extern "C" {
2560    pub fn exp2l(__x: u128) -> u128;
2561}
2562extern "C" {
2563    pub fn __exp2l(__x: u128) -> u128;
2564}
2565extern "C" {
2566    pub fn log2l(__x: u128) -> u128;
2567}
2568extern "C" {
2569    pub fn __log2l(__x: u128) -> u128;
2570}
2571extern "C" {
2572    pub fn powl(__x: u128, __y: u128) -> u128;
2573}
2574extern "C" {
2575    pub fn __powl(__x: u128, __y: u128) -> u128;
2576}
2577extern "C" {
2578    pub fn sqrtl(__x: u128) -> u128;
2579}
2580extern "C" {
2581    pub fn __sqrtl(__x: u128) -> u128;
2582}
2583extern "C" {
2584    pub fn hypotl(__x: u128, __y: u128) -> u128;
2585}
2586extern "C" {
2587    pub fn __hypotl(__x: u128, __y: u128) -> u128;
2588}
2589extern "C" {
2590    pub fn cbrtl(__x: u128) -> u128;
2591}
2592extern "C" {
2593    pub fn __cbrtl(__x: u128) -> u128;
2594}
2595extern "C" {
2596    pub fn ceill(__x: u128) -> u128;
2597}
2598extern "C" {
2599    pub fn __ceill(__x: u128) -> u128;
2600}
2601extern "C" {
2602    pub fn fabsl(__x: u128) -> u128;
2603}
2604extern "C" {
2605    pub fn __fabsl(__x: u128) -> u128;
2606}
2607extern "C" {
2608    pub fn floorl(__x: u128) -> u128;
2609}
2610extern "C" {
2611    pub fn __floorl(__x: u128) -> u128;
2612}
2613extern "C" {
2614    pub fn fmodl(__x: u128, __y: u128) -> u128;
2615}
2616extern "C" {
2617    pub fn __fmodl(__x: u128, __y: u128) -> u128;
2618}
2619extern "C" {
2620    pub fn isinfl(__value: u128) -> ::std::os::raw::c_int;
2621}
2622extern "C" {
2623    pub fn finitel(__value: u128) -> ::std::os::raw::c_int;
2624}
2625extern "C" {
2626    pub fn dreml(__x: u128, __y: u128) -> u128;
2627}
2628extern "C" {
2629    pub fn __dreml(__x: u128, __y: u128) -> u128;
2630}
2631extern "C" {
2632    pub fn significandl(__x: u128) -> u128;
2633}
2634extern "C" {
2635    pub fn __significandl(__x: u128) -> u128;
2636}
2637extern "C" {
2638    pub fn copysignl(__x: u128, __y: u128) -> u128;
2639}
2640extern "C" {
2641    pub fn __copysignl(__x: u128, __y: u128) -> u128;
2642}
2643extern "C" {
2644    pub fn nanl(__tagb: *const ::std::os::raw::c_char) -> u128;
2645}
2646extern "C" {
2647    pub fn __nanl(__tagb: *const ::std::os::raw::c_char) -> u128;
2648}
2649extern "C" {
2650    pub fn isnanl(__value: u128) -> ::std::os::raw::c_int;
2651}
2652extern "C" {
2653    pub fn j0l(arg1: u128) -> u128;
2654}
2655extern "C" {
2656    pub fn __j0l(arg1: u128) -> u128;
2657}
2658extern "C" {
2659    pub fn j1l(arg1: u128) -> u128;
2660}
2661extern "C" {
2662    pub fn __j1l(arg1: u128) -> u128;
2663}
2664extern "C" {
2665    pub fn jnl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128;
2666}
2667extern "C" {
2668    pub fn __jnl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128;
2669}
2670extern "C" {
2671    pub fn y0l(arg1: u128) -> u128;
2672}
2673extern "C" {
2674    pub fn __y0l(arg1: u128) -> u128;
2675}
2676extern "C" {
2677    pub fn y1l(arg1: u128) -> u128;
2678}
2679extern "C" {
2680    pub fn __y1l(arg1: u128) -> u128;
2681}
2682extern "C" {
2683    pub fn ynl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128;
2684}
2685extern "C" {
2686    pub fn __ynl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128;
2687}
2688extern "C" {
2689    pub fn erfl(arg1: u128) -> u128;
2690}
2691extern "C" {
2692    pub fn __erfl(arg1: u128) -> u128;
2693}
2694extern "C" {
2695    pub fn erfcl(arg1: u128) -> u128;
2696}
2697extern "C" {
2698    pub fn __erfcl(arg1: u128) -> u128;
2699}
2700extern "C" {
2701    pub fn lgammal(arg1: u128) -> u128;
2702}
2703extern "C" {
2704    pub fn __lgammal(arg1: u128) -> u128;
2705}
2706extern "C" {
2707    pub fn tgammal(arg1: u128) -> u128;
2708}
2709extern "C" {
2710    pub fn __tgammal(arg1: u128) -> u128;
2711}
2712extern "C" {
2713    pub fn gammal(arg1: u128) -> u128;
2714}
2715extern "C" {
2716    pub fn __gammal(arg1: u128) -> u128;
2717}
2718extern "C" {
2719    pub fn lgammal_r(arg1: u128, __signgamp: *mut ::std::os::raw::c_int) -> u128;
2720}
2721extern "C" {
2722    pub fn __lgammal_r(arg1: u128, __signgamp: *mut ::std::os::raw::c_int) -> u128;
2723}
2724extern "C" {
2725    pub fn rintl(__x: u128) -> u128;
2726}
2727extern "C" {
2728    pub fn __rintl(__x: u128) -> u128;
2729}
2730extern "C" {
2731    pub fn nextafterl(__x: u128, __y: u128) -> u128;
2732}
2733extern "C" {
2734    pub fn __nextafterl(__x: u128, __y: u128) -> u128;
2735}
2736extern "C" {
2737    pub fn nexttowardl(__x: u128, __y: u128) -> u128;
2738}
2739extern "C" {
2740    pub fn __nexttowardl(__x: u128, __y: u128) -> u128;
2741}
2742extern "C" {
2743    pub fn remainderl(__x: u128, __y: u128) -> u128;
2744}
2745extern "C" {
2746    pub fn __remainderl(__x: u128, __y: u128) -> u128;
2747}
2748extern "C" {
2749    pub fn scalbnl(__x: u128, __n: ::std::os::raw::c_int) -> u128;
2750}
2751extern "C" {
2752    pub fn __scalbnl(__x: u128, __n: ::std::os::raw::c_int) -> u128;
2753}
2754extern "C" {
2755    pub fn ilogbl(__x: u128) -> ::std::os::raw::c_int;
2756}
2757extern "C" {
2758    pub fn __ilogbl(__x: u128) -> ::std::os::raw::c_int;
2759}
2760extern "C" {
2761    pub fn scalblnl(__x: u128, __n: ::std::os::raw::c_long) -> u128;
2762}
2763extern "C" {
2764    pub fn __scalblnl(__x: u128, __n: ::std::os::raw::c_long) -> u128;
2765}
2766extern "C" {
2767    pub fn nearbyintl(__x: u128) -> u128;
2768}
2769extern "C" {
2770    pub fn __nearbyintl(__x: u128) -> u128;
2771}
2772extern "C" {
2773    pub fn roundl(__x: u128) -> u128;
2774}
2775extern "C" {
2776    pub fn __roundl(__x: u128) -> u128;
2777}
2778extern "C" {
2779    pub fn truncl(__x: u128) -> u128;
2780}
2781extern "C" {
2782    pub fn __truncl(__x: u128) -> u128;
2783}
2784extern "C" {
2785    pub fn remquol(__x: u128, __y: u128, __quo: *mut ::std::os::raw::c_int) -> u128;
2786}
2787extern "C" {
2788    pub fn __remquol(__x: u128, __y: u128, __quo: *mut ::std::os::raw::c_int) -> u128;
2789}
2790extern "C" {
2791    pub fn lrintl(__x: u128) -> ::std::os::raw::c_long;
2792}
2793extern "C" {
2794    pub fn __lrintl(__x: u128) -> ::std::os::raw::c_long;
2795}
2796extern "C" {
2797    pub fn llrintl(__x: u128) -> ::std::os::raw::c_longlong;
2798}
2799extern "C" {
2800    pub fn __llrintl(__x: u128) -> ::std::os::raw::c_longlong;
2801}
2802extern "C" {
2803    pub fn lroundl(__x: u128) -> ::std::os::raw::c_long;
2804}
2805extern "C" {
2806    pub fn __lroundl(__x: u128) -> ::std::os::raw::c_long;
2807}
2808extern "C" {
2809    pub fn llroundl(__x: u128) -> ::std::os::raw::c_longlong;
2810}
2811extern "C" {
2812    pub fn __llroundl(__x: u128) -> ::std::os::raw::c_longlong;
2813}
2814extern "C" {
2815    pub fn fdiml(__x: u128, __y: u128) -> u128;
2816}
2817extern "C" {
2818    pub fn __fdiml(__x: u128, __y: u128) -> u128;
2819}
2820extern "C" {
2821    pub fn fmaxl(__x: u128, __y: u128) -> u128;
2822}
2823extern "C" {
2824    pub fn __fmaxl(__x: u128, __y: u128) -> u128;
2825}
2826extern "C" {
2827    pub fn fminl(__x: u128, __y: u128) -> u128;
2828}
2829extern "C" {
2830    pub fn __fminl(__x: u128, __y: u128) -> u128;
2831}
2832extern "C" {
2833    pub fn fmal(__x: u128, __y: u128, __z: u128) -> u128;
2834}
2835extern "C" {
2836    pub fn __fmal(__x: u128, __y: u128, __z: u128) -> u128;
2837}
2838extern "C" {
2839    pub fn scalbl(__x: u128, __n: u128) -> u128;
2840}
2841extern "C" {
2842    pub fn __scalbl(__x: u128, __n: u128) -> u128;
2843}
2844extern "C" {
2845    pub static mut signgam: ::std::os::raw::c_int;
2846}
2847pub const FP_NAN: _bindgen_ty_1 = 0;
2848pub const FP_INFINITE: _bindgen_ty_1 = 1;
2849pub const FP_ZERO: _bindgen_ty_1 = 2;
2850pub const FP_SUBNORMAL: _bindgen_ty_1 = 3;
2851pub const FP_NORMAL: _bindgen_ty_1 = 4;
2852pub type _bindgen_ty_1 = u32;
2853pub type va_list = __builtin_va_list;
2854pub type __gnuc_va_list = __builtin_va_list;
2855#[repr(C)]
2856#[derive(Copy, Clone)]
2857pub struct __mbstate_t {
2858    pub __count: ::std::os::raw::c_int,
2859    pub __value: __mbstate_t__bindgen_ty_1,
2860}
2861#[repr(C)]
2862#[derive(Copy, Clone)]
2863pub union __mbstate_t__bindgen_ty_1 {
2864    pub __wch: ::std::os::raw::c_uint,
2865    pub __wchb: [::std::os::raw::c_char; 4usize],
2866    _bindgen_union_align: u32,
2867}
2868#[repr(C)]
2869#[derive(Copy, Clone)]
2870pub struct _G_fpos_t {
2871    pub __pos: __off_t,
2872    pub __state: __mbstate_t,
2873}
2874pub type __fpos_t = _G_fpos_t;
2875#[repr(C)]
2876#[derive(Copy, Clone)]
2877pub struct _G_fpos64_t {
2878    pub __pos: __off64_t,
2879    pub __state: __mbstate_t,
2880}
2881pub type __fpos64_t = _G_fpos64_t;
2882pub type __FILE = _IO_FILE;
2883pub type FILE = _IO_FILE;
2884#[repr(C)]
2885#[derive(Debug, Copy, Clone)]
2886pub struct _IO_marker {
2887    _unused: [u8; 0],
2888}
2889#[repr(C)]
2890#[derive(Debug, Copy, Clone)]
2891pub struct _IO_codecvt {
2892    _unused: [u8; 0],
2893}
2894#[repr(C)]
2895#[derive(Debug, Copy, Clone)]
2896pub struct _IO_wide_data {
2897    _unused: [u8; 0],
2898}
2899pub type _IO_lock_t = ::std::os::raw::c_void;
2900#[repr(C)]
2901#[derive(Debug, Copy, Clone)]
2902pub struct _IO_FILE {
2903    pub _flags: ::std::os::raw::c_int,
2904    pub _IO_read_ptr: *mut ::std::os::raw::c_char,
2905    pub _IO_read_end: *mut ::std::os::raw::c_char,
2906    pub _IO_read_base: *mut ::std::os::raw::c_char,
2907    pub _IO_write_base: *mut ::std::os::raw::c_char,
2908    pub _IO_write_ptr: *mut ::std::os::raw::c_char,
2909    pub _IO_write_end: *mut ::std::os::raw::c_char,
2910    pub _IO_buf_base: *mut ::std::os::raw::c_char,
2911    pub _IO_buf_end: *mut ::std::os::raw::c_char,
2912    pub _IO_save_base: *mut ::std::os::raw::c_char,
2913    pub _IO_backup_base: *mut ::std::os::raw::c_char,
2914    pub _IO_save_end: *mut ::std::os::raw::c_char,
2915    pub _markers: *mut _IO_marker,
2916    pub _chain: *mut _IO_FILE,
2917    pub _fileno: ::std::os::raw::c_int,
2918    pub _flags2: ::std::os::raw::c_int,
2919    pub _old_offset: __off_t,
2920    pub _cur_column: ::std::os::raw::c_ushort,
2921    pub _vtable_offset: ::std::os::raw::c_schar,
2922    pub _shortbuf: [::std::os::raw::c_char; 1usize],
2923    pub _lock: *mut _IO_lock_t,
2924    pub _offset: __off64_t,
2925    pub _codecvt: *mut _IO_codecvt,
2926    pub _wide_data: *mut _IO_wide_data,
2927    pub _freeres_list: *mut _IO_FILE,
2928    pub _freeres_buf: *mut ::std::os::raw::c_void,
2929    pub __pad5: usize,
2930    pub _mode: ::std::os::raw::c_int,
2931    pub _unused2: [::std::os::raw::c_char; 20usize],
2932}
2933pub type off_t = __off_t;
2934pub type fpos_t = __fpos_t;
2935extern "C" {
2936    pub static mut stdin: *mut FILE;
2937}
2938extern "C" {
2939    pub static mut stdout: *mut FILE;
2940}
2941extern "C" {
2942    pub static mut stderr: *mut FILE;
2943}
2944extern "C" {
2945    pub fn remove(__filename: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
2946}
2947extern "C" {
2948    pub fn rename(
2949        __old: *const ::std::os::raw::c_char,
2950        __new: *const ::std::os::raw::c_char,
2951    ) -> ::std::os::raw::c_int;
2952}
2953extern "C" {
2954    pub fn renameat(
2955        __oldfd: ::std::os::raw::c_int,
2956        __old: *const ::std::os::raw::c_char,
2957        __newfd: ::std::os::raw::c_int,
2958        __new: *const ::std::os::raw::c_char,
2959    ) -> ::std::os::raw::c_int;
2960}
2961extern "C" {
2962    pub fn tmpfile() -> *mut FILE;
2963}
2964extern "C" {
2965    pub fn tmpnam(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
2966}
2967extern "C" {
2968    pub fn tmpnam_r(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
2969}
2970extern "C" {
2971    pub fn tempnam(
2972        __dir: *const ::std::os::raw::c_char,
2973        __pfx: *const ::std::os::raw::c_char,
2974    ) -> *mut ::std::os::raw::c_char;
2975}
2976extern "C" {
2977    pub fn fclose(__stream: *mut FILE) -> ::std::os::raw::c_int;
2978}
2979extern "C" {
2980    pub fn fflush(__stream: *mut FILE) -> ::std::os::raw::c_int;
2981}
2982extern "C" {
2983    pub fn fflush_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
2984}
2985extern "C" {
2986    pub fn fopen(
2987        __filename: *const ::std::os::raw::c_char,
2988        __modes: *const ::std::os::raw::c_char,
2989    ) -> *mut FILE;
2990}
2991extern "C" {
2992    pub fn freopen(
2993        __filename: *const ::std::os::raw::c_char,
2994        __modes: *const ::std::os::raw::c_char,
2995        __stream: *mut FILE,
2996    ) -> *mut FILE;
2997}
2998extern "C" {
2999    pub fn fdopen(__fd: ::std::os::raw::c_int, __modes: *const ::std::os::raw::c_char)
3000        -> *mut FILE;
3001}
3002extern "C" {
3003    pub fn fmemopen(
3004        __s: *mut ::std::os::raw::c_void,
3005        __len: usize,
3006        __modes: *const ::std::os::raw::c_char,
3007    ) -> *mut FILE;
3008}
3009extern "C" {
3010    pub fn open_memstream(
3011        __bufloc: *mut *mut ::std::os::raw::c_char,
3012        __sizeloc: *mut usize,
3013    ) -> *mut FILE;
3014}
3015extern "C" {
3016    pub fn setbuf(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char);
3017}
3018extern "C" {
3019    pub fn setvbuf(
3020        __stream: *mut FILE,
3021        __buf: *mut ::std::os::raw::c_char,
3022        __modes: ::std::os::raw::c_int,
3023        __n: usize,
3024    ) -> ::std::os::raw::c_int;
3025}
3026extern "C" {
3027    pub fn setbuffer(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char, __size: usize);
3028}
3029extern "C" {
3030    pub fn setlinebuf(__stream: *mut FILE);
3031}
3032extern "C" {
3033    pub fn fprintf(
3034        __stream: *mut FILE,
3035        __format: *const ::std::os::raw::c_char,
3036        ...
3037    ) -> ::std::os::raw::c_int;
3038}
3039extern "C" {
3040    pub fn printf(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
3041}
3042extern "C" {
3043    pub fn sprintf(
3044        __s: *mut ::std::os::raw::c_char,
3045        __format: *const ::std::os::raw::c_char,
3046        ...
3047    ) -> ::std::os::raw::c_int;
3048}
3049extern "C" {
3050    pub fn vfprintf(
3051        __s: *mut FILE,
3052        __format: *const ::std::os::raw::c_char,
3053        __arg: *mut __va_list_tag,
3054    ) -> ::std::os::raw::c_int;
3055}
3056extern "C" {
3057    pub fn vprintf(
3058        __format: *const ::std::os::raw::c_char,
3059        __arg: *mut __va_list_tag,
3060    ) -> ::std::os::raw::c_int;
3061}
3062extern "C" {
3063    pub fn vsprintf(
3064        __s: *mut ::std::os::raw::c_char,
3065        __format: *const ::std::os::raw::c_char,
3066        __arg: *mut __va_list_tag,
3067    ) -> ::std::os::raw::c_int;
3068}
3069extern "C" {
3070    pub fn snprintf(
3071        __s: *mut ::std::os::raw::c_char,
3072        __maxlen: ::std::os::raw::c_ulong,
3073        __format: *const ::std::os::raw::c_char,
3074        ...
3075    ) -> ::std::os::raw::c_int;
3076}
3077extern "C" {
3078    pub fn vsnprintf(
3079        __s: *mut ::std::os::raw::c_char,
3080        __maxlen: ::std::os::raw::c_ulong,
3081        __format: *const ::std::os::raw::c_char,
3082        __arg: *mut __va_list_tag,
3083    ) -> ::std::os::raw::c_int;
3084}
3085extern "C" {
3086    pub fn vdprintf(
3087        __fd: ::std::os::raw::c_int,
3088        __fmt: *const ::std::os::raw::c_char,
3089        __arg: *mut __va_list_tag,
3090    ) -> ::std::os::raw::c_int;
3091}
3092extern "C" {
3093    pub fn dprintf(
3094        __fd: ::std::os::raw::c_int,
3095        __fmt: *const ::std::os::raw::c_char,
3096        ...
3097    ) -> ::std::os::raw::c_int;
3098}
3099extern "C" {
3100    pub fn fscanf(
3101        __stream: *mut FILE,
3102        __format: *const ::std::os::raw::c_char,
3103        ...
3104    ) -> ::std::os::raw::c_int;
3105}
3106extern "C" {
3107    pub fn scanf(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
3108}
3109extern "C" {
3110    pub fn sscanf(
3111        __s: *const ::std::os::raw::c_char,
3112        __format: *const ::std::os::raw::c_char,
3113        ...
3114    ) -> ::std::os::raw::c_int;
3115}
3116extern "C" {
3117    #[link_name = "\u{1}__isoc99_fscanf"]
3118    pub fn fscanf1(
3119        __stream: *mut FILE,
3120        __format: *const ::std::os::raw::c_char,
3121        ...
3122    ) -> ::std::os::raw::c_int;
3123}
3124extern "C" {
3125    #[link_name = "\u{1}__isoc99_scanf"]
3126    pub fn scanf1(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
3127}
3128extern "C" {
3129    #[link_name = "\u{1}__isoc99_sscanf"]
3130    pub fn sscanf1(
3131        __s: *const ::std::os::raw::c_char,
3132        __format: *const ::std::os::raw::c_char,
3133        ...
3134    ) -> ::std::os::raw::c_int;
3135}
3136extern "C" {
3137    pub fn vfscanf(
3138        __s: *mut FILE,
3139        __format: *const ::std::os::raw::c_char,
3140        __arg: *mut __va_list_tag,
3141    ) -> ::std::os::raw::c_int;
3142}
3143extern "C" {
3144    pub fn vscanf(
3145        __format: *const ::std::os::raw::c_char,
3146        __arg: *mut __va_list_tag,
3147    ) -> ::std::os::raw::c_int;
3148}
3149extern "C" {
3150    pub fn vsscanf(
3151        __s: *const ::std::os::raw::c_char,
3152        __format: *const ::std::os::raw::c_char,
3153        __arg: *mut __va_list_tag,
3154    ) -> ::std::os::raw::c_int;
3155}
3156extern "C" {
3157    #[link_name = "\u{1}__isoc99_vfscanf"]
3158    pub fn vfscanf1(
3159        __s: *mut FILE,
3160        __format: *const ::std::os::raw::c_char,
3161        __arg: *mut __va_list_tag,
3162    ) -> ::std::os::raw::c_int;
3163}
3164extern "C" {
3165    #[link_name = "\u{1}__isoc99_vscanf"]
3166    pub fn vscanf1(
3167        __format: *const ::std::os::raw::c_char,
3168        __arg: *mut __va_list_tag,
3169    ) -> ::std::os::raw::c_int;
3170}
3171extern "C" {
3172    #[link_name = "\u{1}__isoc99_vsscanf"]
3173    pub fn vsscanf1(
3174        __s: *const ::std::os::raw::c_char,
3175        __format: *const ::std::os::raw::c_char,
3176        __arg: *mut __va_list_tag,
3177    ) -> ::std::os::raw::c_int;
3178}
3179extern "C" {
3180    pub fn fgetc(__stream: *mut FILE) -> ::std::os::raw::c_int;
3181}
3182extern "C" {
3183    pub fn getc(__stream: *mut FILE) -> ::std::os::raw::c_int;
3184}
3185extern "C" {
3186    pub fn getchar() -> ::std::os::raw::c_int;
3187}
3188extern "C" {
3189    pub fn getc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
3190}
3191extern "C" {
3192    pub fn getchar_unlocked() -> ::std::os::raw::c_int;
3193}
3194extern "C" {
3195    pub fn fgetc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
3196}
3197extern "C" {
3198    pub fn fputc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
3199}
3200extern "C" {
3201    pub fn putc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
3202}
3203extern "C" {
3204    pub fn putchar(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3205}
3206extern "C" {
3207    pub fn fputc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE)
3208        -> ::std::os::raw::c_int;
3209}
3210extern "C" {
3211    pub fn putc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
3212}
3213extern "C" {
3214    pub fn putchar_unlocked(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3215}
3216extern "C" {
3217    pub fn getw(__stream: *mut FILE) -> ::std::os::raw::c_int;
3218}
3219extern "C" {
3220    pub fn putw(__w: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
3221}
3222extern "C" {
3223    pub fn fgets(
3224        __s: *mut ::std::os::raw::c_char,
3225        __n: ::std::os::raw::c_int,
3226        __stream: *mut FILE,
3227    ) -> *mut ::std::os::raw::c_char;
3228}
3229extern "C" {
3230    pub fn __getdelim(
3231        __lineptr: *mut *mut ::std::os::raw::c_char,
3232        __n: *mut usize,
3233        __delimiter: ::std::os::raw::c_int,
3234        __stream: *mut FILE,
3235    ) -> __ssize_t;
3236}
3237extern "C" {
3238    pub fn getdelim(
3239        __lineptr: *mut *mut ::std::os::raw::c_char,
3240        __n: *mut usize,
3241        __delimiter: ::std::os::raw::c_int,
3242        __stream: *mut FILE,
3243    ) -> __ssize_t;
3244}
3245extern "C" {
3246    pub fn getline(
3247        __lineptr: *mut *mut ::std::os::raw::c_char,
3248        __n: *mut usize,
3249        __stream: *mut FILE,
3250    ) -> __ssize_t;
3251}
3252extern "C" {
3253    pub fn fputs(__s: *const ::std::os::raw::c_char, __stream: *mut FILE) -> ::std::os::raw::c_int;
3254}
3255extern "C" {
3256    pub fn puts(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3257}
3258extern "C" {
3259    pub fn ungetc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
3260}
3261extern "C" {
3262    pub fn fread(
3263        __ptr: *mut ::std::os::raw::c_void,
3264        __size: ::std::os::raw::c_ulong,
3265        __n: ::std::os::raw::c_ulong,
3266        __stream: *mut FILE,
3267    ) -> ::std::os::raw::c_ulong;
3268}
3269extern "C" {
3270    pub fn fwrite(
3271        __ptr: *const ::std::os::raw::c_void,
3272        __size: ::std::os::raw::c_ulong,
3273        __n: ::std::os::raw::c_ulong,
3274        __s: *mut FILE,
3275    ) -> ::std::os::raw::c_ulong;
3276}
3277extern "C" {
3278    pub fn fread_unlocked(
3279        __ptr: *mut ::std::os::raw::c_void,
3280        __size: usize,
3281        __n: usize,
3282        __stream: *mut FILE,
3283    ) -> usize;
3284}
3285extern "C" {
3286    pub fn fwrite_unlocked(
3287        __ptr: *const ::std::os::raw::c_void,
3288        __size: usize,
3289        __n: usize,
3290        __stream: *mut FILE,
3291    ) -> usize;
3292}
3293extern "C" {
3294    pub fn fseek(
3295        __stream: *mut FILE,
3296        __off: ::std::os::raw::c_long,
3297        __whence: ::std::os::raw::c_int,
3298    ) -> ::std::os::raw::c_int;
3299}
3300extern "C" {
3301    pub fn ftell(__stream: *mut FILE) -> ::std::os::raw::c_long;
3302}
3303extern "C" {
3304    pub fn rewind(__stream: *mut FILE);
3305}
3306extern "C" {
3307    pub fn fseeko(
3308        __stream: *mut FILE,
3309        __off: __off_t,
3310        __whence: ::std::os::raw::c_int,
3311    ) -> ::std::os::raw::c_int;
3312}
3313extern "C" {
3314    pub fn ftello(__stream: *mut FILE) -> __off_t;
3315}
3316extern "C" {
3317    pub fn fgetpos(__stream: *mut FILE, __pos: *mut fpos_t) -> ::std::os::raw::c_int;
3318}
3319extern "C" {
3320    pub fn fsetpos(__stream: *mut FILE, __pos: *const fpos_t) -> ::std::os::raw::c_int;
3321}
3322extern "C" {
3323    pub fn clearerr(__stream: *mut FILE);
3324}
3325extern "C" {
3326    pub fn feof(__stream: *mut FILE) -> ::std::os::raw::c_int;
3327}
3328extern "C" {
3329    pub fn ferror(__stream: *mut FILE) -> ::std::os::raw::c_int;
3330}
3331extern "C" {
3332    pub fn clearerr_unlocked(__stream: *mut FILE);
3333}
3334extern "C" {
3335    pub fn feof_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
3336}
3337extern "C" {
3338    pub fn ferror_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
3339}
3340extern "C" {
3341    pub fn perror(__s: *const ::std::os::raw::c_char);
3342}
3343extern "C" {
3344    pub static mut sys_nerr: ::std::os::raw::c_int;
3345}
3346extern "C" {
3347    pub static mut sys_errlist: [*const ::std::os::raw::c_char; 0usize];
3348}
3349extern "C" {
3350    pub fn fileno(__stream: *mut FILE) -> ::std::os::raw::c_int;
3351}
3352extern "C" {
3353    pub fn fileno_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
3354}
3355extern "C" {
3356    pub fn popen(
3357        __command: *const ::std::os::raw::c_char,
3358        __modes: *const ::std::os::raw::c_char,
3359    ) -> *mut FILE;
3360}
3361extern "C" {
3362    pub fn pclose(__stream: *mut FILE) -> ::std::os::raw::c_int;
3363}
3364extern "C" {
3365    pub fn ctermid(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3366}
3367extern "C" {
3368    pub fn flockfile(__stream: *mut FILE);
3369}
3370extern "C" {
3371    pub fn ftrylockfile(__stream: *mut FILE) -> ::std::os::raw::c_int;
3372}
3373extern "C" {
3374    pub fn funlockfile(__stream: *mut FILE);
3375}
3376extern "C" {
3377    pub fn __uflow(arg1: *mut FILE) -> ::std::os::raw::c_int;
3378}
3379extern "C" {
3380    pub fn __overflow(arg1: *mut FILE, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3381}
3382pub type wchar_t = ::std::os::raw::c_int;
3383#[repr(C)]
3384#[derive(Debug, Copy, Clone)]
3385pub struct div_t {
3386    pub quot: ::std::os::raw::c_int,
3387    pub rem: ::std::os::raw::c_int,
3388}
3389#[repr(C)]
3390#[derive(Debug, Copy, Clone)]
3391pub struct ldiv_t {
3392    pub quot: ::std::os::raw::c_long,
3393    pub rem: ::std::os::raw::c_long,
3394}
3395#[repr(C)]
3396#[derive(Debug, Copy, Clone)]
3397pub struct lldiv_t {
3398    pub quot: ::std::os::raw::c_longlong,
3399    pub rem: ::std::os::raw::c_longlong,
3400}
3401extern "C" {
3402    pub fn __ctype_get_mb_cur_max() -> usize;
3403}
3404extern "C" {
3405    pub fn atof(__nptr: *const ::std::os::raw::c_char) -> f64;
3406}
3407extern "C" {
3408    pub fn atoi(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3409}
3410extern "C" {
3411    pub fn atol(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
3412}
3413extern "C" {
3414    pub fn atoll(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
3415}
3416extern "C" {
3417    pub fn strtod(
3418        __nptr: *const ::std::os::raw::c_char,
3419        __endptr: *mut *mut ::std::os::raw::c_char,
3420    ) -> f64;
3421}
3422extern "C" {
3423    pub fn strtof(
3424        __nptr: *const ::std::os::raw::c_char,
3425        __endptr: *mut *mut ::std::os::raw::c_char,
3426    ) -> f32;
3427}
3428extern "C" {
3429    pub fn strtold(
3430        __nptr: *const ::std::os::raw::c_char,
3431        __endptr: *mut *mut ::std::os::raw::c_char,
3432    ) -> u128;
3433}
3434extern "C" {
3435    pub fn strtol(
3436        __nptr: *const ::std::os::raw::c_char,
3437        __endptr: *mut *mut ::std::os::raw::c_char,
3438        __base: ::std::os::raw::c_int,
3439    ) -> ::std::os::raw::c_long;
3440}
3441extern "C" {
3442    pub fn strtoul(
3443        __nptr: *const ::std::os::raw::c_char,
3444        __endptr: *mut *mut ::std::os::raw::c_char,
3445        __base: ::std::os::raw::c_int,
3446    ) -> ::std::os::raw::c_ulong;
3447}
3448extern "C" {
3449    pub fn strtoq(
3450        __nptr: *const ::std::os::raw::c_char,
3451        __endptr: *mut *mut ::std::os::raw::c_char,
3452        __base: ::std::os::raw::c_int,
3453    ) -> ::std::os::raw::c_longlong;
3454}
3455extern "C" {
3456    pub fn strtouq(
3457        __nptr: *const ::std::os::raw::c_char,
3458        __endptr: *mut *mut ::std::os::raw::c_char,
3459        __base: ::std::os::raw::c_int,
3460    ) -> ::std::os::raw::c_ulonglong;
3461}
3462extern "C" {
3463    pub fn strtoll(
3464        __nptr: *const ::std::os::raw::c_char,
3465        __endptr: *mut *mut ::std::os::raw::c_char,
3466        __base: ::std::os::raw::c_int,
3467    ) -> ::std::os::raw::c_longlong;
3468}
3469extern "C" {
3470    pub fn strtoull(
3471        __nptr: *const ::std::os::raw::c_char,
3472        __endptr: *mut *mut ::std::os::raw::c_char,
3473        __base: ::std::os::raw::c_int,
3474    ) -> ::std::os::raw::c_ulonglong;
3475}
3476extern "C" {
3477    pub fn l64a(__n: ::std::os::raw::c_long) -> *mut ::std::os::raw::c_char;
3478}
3479extern "C" {
3480    pub fn a64l(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
3481}
3482pub type u_char = __u_char;
3483pub type u_short = __u_short;
3484pub type u_int = __u_int;
3485pub type u_long = __u_long;
3486pub type quad_t = __quad_t;
3487pub type u_quad_t = __u_quad_t;
3488pub type fsid_t = __fsid_t;
3489pub type loff_t = __loff_t;
3490pub type ino_t = __ino_t;
3491pub type dev_t = __dev_t;
3492pub type gid_t = __gid_t;
3493pub type mode_t = __mode_t;
3494pub type nlink_t = __nlink_t;
3495pub type uid_t = __uid_t;
3496pub type pid_t = __pid_t;
3497pub type id_t = __id_t;
3498pub type daddr_t = __daddr_t;
3499pub type caddr_t = __caddr_t;
3500pub type key_t = __key_t;
3501pub type clock_t = __clock_t;
3502pub type clockid_t = __clockid_t;
3503pub type time_t = __time_t;
3504pub type timer_t = __timer_t;
3505pub type ulong = ::std::os::raw::c_ulong;
3506pub type ushort = ::std::os::raw::c_ushort;
3507pub type uint = ::std::os::raw::c_uint;
3508pub type u_int8_t = __uint8_t;
3509pub type u_int16_t = __uint16_t;
3510pub type u_int32_t = __uint32_t;
3511pub type u_int64_t = __uint64_t;
3512pub type register_t = ::std::os::raw::c_long;
3513#[repr(C)]
3514#[derive(Debug, Copy, Clone)]
3515pub struct __sigset_t {
3516    pub __val: [::std::os::raw::c_ulong; 16usize],
3517}
3518pub type sigset_t = __sigset_t;
3519#[repr(C)]
3520#[derive(Debug, Copy, Clone)]
3521pub struct timeval {
3522    pub tv_sec: __time_t,
3523    pub tv_usec: __suseconds_t,
3524}
3525#[repr(C)]
3526#[derive(Debug, Copy, Clone)]
3527pub struct timespec {
3528    pub tv_sec: __time_t,
3529    pub tv_nsec: __syscall_slong_t,
3530}
3531pub type suseconds_t = __suseconds_t;
3532pub type __fd_mask = ::std::os::raw::c_long;
3533#[repr(C)]
3534#[derive(Debug, Copy, Clone)]
3535pub struct fd_set {
3536    pub __fds_bits: [__fd_mask; 16usize],
3537}
3538pub type fd_mask = __fd_mask;
3539extern "C" {
3540    pub fn select(
3541        __nfds: ::std::os::raw::c_int,
3542        __readfds: *mut fd_set,
3543        __writefds: *mut fd_set,
3544        __exceptfds: *mut fd_set,
3545        __timeout: *mut timeval,
3546    ) -> ::std::os::raw::c_int;
3547}
3548extern "C" {
3549    pub fn pselect(
3550        __nfds: ::std::os::raw::c_int,
3551        __readfds: *mut fd_set,
3552        __writefds: *mut fd_set,
3553        __exceptfds: *mut fd_set,
3554        __timeout: *const timespec,
3555        __sigmask: *const __sigset_t,
3556    ) -> ::std::os::raw::c_int;
3557}
3558pub type blksize_t = __blksize_t;
3559pub type blkcnt_t = __blkcnt_t;
3560pub type fsblkcnt_t = __fsblkcnt_t;
3561pub type fsfilcnt_t = __fsfilcnt_t;
3562#[repr(C)]
3563#[derive(Debug, Copy, Clone)]
3564pub struct __pthread_rwlock_arch_t {
3565    pub __readers: ::std::os::raw::c_uint,
3566    pub __writers: ::std::os::raw::c_uint,
3567    pub __wrphase_futex: ::std::os::raw::c_uint,
3568    pub __writers_futex: ::std::os::raw::c_uint,
3569    pub __pad3: ::std::os::raw::c_uint,
3570    pub __pad4: ::std::os::raw::c_uint,
3571    pub __cur_writer: ::std::os::raw::c_int,
3572    pub __shared: ::std::os::raw::c_int,
3573    pub __rwelision: ::std::os::raw::c_schar,
3574    pub __pad1: [::std::os::raw::c_uchar; 7usize],
3575    pub __pad2: ::std::os::raw::c_ulong,
3576    pub __flags: ::std::os::raw::c_uint,
3577}
3578#[repr(C)]
3579#[derive(Debug, Copy, Clone)]
3580pub struct __pthread_internal_list {
3581    pub __prev: *mut __pthread_internal_list,
3582    pub __next: *mut __pthread_internal_list,
3583}
3584pub type __pthread_list_t = __pthread_internal_list;
3585#[repr(C)]
3586#[derive(Debug, Copy, Clone)]
3587pub struct __pthread_mutex_s {
3588    pub __lock: ::std::os::raw::c_int,
3589    pub __count: ::std::os::raw::c_uint,
3590    pub __owner: ::std::os::raw::c_int,
3591    pub __nusers: ::std::os::raw::c_uint,
3592    pub __kind: ::std::os::raw::c_int,
3593    pub __spins: ::std::os::raw::c_short,
3594    pub __elision: ::std::os::raw::c_short,
3595    pub __list: __pthread_list_t,
3596}
3597#[repr(C)]
3598#[derive(Copy, Clone)]
3599pub struct __pthread_cond_s {
3600    pub __bindgen_anon_1: __pthread_cond_s__bindgen_ty_1,
3601    pub __bindgen_anon_2: __pthread_cond_s__bindgen_ty_2,
3602    pub __g_refs: [::std::os::raw::c_uint; 2usize],
3603    pub __g_size: [::std::os::raw::c_uint; 2usize],
3604    pub __g1_orig_size: ::std::os::raw::c_uint,
3605    pub __wrefs: ::std::os::raw::c_uint,
3606    pub __g_signals: [::std::os::raw::c_uint; 2usize],
3607}
3608#[repr(C)]
3609#[derive(Copy, Clone)]
3610pub union __pthread_cond_s__bindgen_ty_1 {
3611    pub __wseq: ::std::os::raw::c_ulonglong,
3612    pub __wseq32: __pthread_cond_s__bindgen_ty_1__bindgen_ty_1,
3613    _bindgen_union_align: u64,
3614}
3615#[repr(C)]
3616#[derive(Debug, Copy, Clone)]
3617pub struct __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 {
3618    pub __low: ::std::os::raw::c_uint,
3619    pub __high: ::std::os::raw::c_uint,
3620}
3621#[repr(C)]
3622#[derive(Copy, Clone)]
3623pub union __pthread_cond_s__bindgen_ty_2 {
3624    pub __g1_start: ::std::os::raw::c_ulonglong,
3625    pub __g1_start32: __pthread_cond_s__bindgen_ty_2__bindgen_ty_1,
3626    _bindgen_union_align: u64,
3627}
3628#[repr(C)]
3629#[derive(Debug, Copy, Clone)]
3630pub struct __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 {
3631    pub __low: ::std::os::raw::c_uint,
3632    pub __high: ::std::os::raw::c_uint,
3633}
3634pub type pthread_t = ::std::os::raw::c_ulong;
3635#[repr(C)]
3636#[derive(Copy, Clone)]
3637pub union pthread_mutexattr_t {
3638    pub __size: [::std::os::raw::c_char; 4usize],
3639    pub __align: ::std::os::raw::c_int,
3640    _bindgen_union_align: u32,
3641}
3642#[repr(C)]
3643#[derive(Copy, Clone)]
3644pub union pthread_condattr_t {
3645    pub __size: [::std::os::raw::c_char; 4usize],
3646    pub __align: ::std::os::raw::c_int,
3647    _bindgen_union_align: u32,
3648}
3649pub type pthread_key_t = ::std::os::raw::c_uint;
3650pub type pthread_once_t = ::std::os::raw::c_int;
3651#[repr(C)]
3652#[derive(Copy, Clone)]
3653pub union pthread_attr_t {
3654    pub __size: [::std::os::raw::c_char; 56usize],
3655    pub __align: ::std::os::raw::c_long,
3656    _bindgen_union_align: [u64; 7usize],
3657}
3658#[repr(C)]
3659#[derive(Copy, Clone)]
3660pub union pthread_mutex_t {
3661    pub __data: __pthread_mutex_s,
3662    pub __size: [::std::os::raw::c_char; 40usize],
3663    pub __align: ::std::os::raw::c_long,
3664    _bindgen_union_align: [u64; 5usize],
3665}
3666#[repr(C)]
3667#[derive(Copy, Clone)]
3668pub union pthread_cond_t {
3669    pub __data: __pthread_cond_s,
3670    pub __size: [::std::os::raw::c_char; 48usize],
3671    pub __align: ::std::os::raw::c_longlong,
3672    _bindgen_union_align: [u64; 6usize],
3673}
3674#[repr(C)]
3675#[derive(Copy, Clone)]
3676pub union pthread_rwlock_t {
3677    pub __data: __pthread_rwlock_arch_t,
3678    pub __size: [::std::os::raw::c_char; 56usize],
3679    pub __align: ::std::os::raw::c_long,
3680    _bindgen_union_align: [u64; 7usize],
3681}
3682#[repr(C)]
3683#[derive(Copy, Clone)]
3684pub union pthread_rwlockattr_t {
3685    pub __size: [::std::os::raw::c_char; 8usize],
3686    pub __align: ::std::os::raw::c_long,
3687    _bindgen_union_align: u64,
3688}
3689pub type pthread_spinlock_t = ::std::os::raw::c_int;
3690#[repr(C)]
3691#[derive(Copy, Clone)]
3692pub union pthread_barrier_t {
3693    pub __size: [::std::os::raw::c_char; 32usize],
3694    pub __align: ::std::os::raw::c_long,
3695    _bindgen_union_align: [u64; 4usize],
3696}
3697#[repr(C)]
3698#[derive(Copy, Clone)]
3699pub union pthread_barrierattr_t {
3700    pub __size: [::std::os::raw::c_char; 4usize],
3701    pub __align: ::std::os::raw::c_int,
3702    _bindgen_union_align: u32,
3703}
3704extern "C" {
3705    pub fn random() -> ::std::os::raw::c_long;
3706}
3707extern "C" {
3708    pub fn srandom(__seed: ::std::os::raw::c_uint);
3709}
3710extern "C" {
3711    pub fn initstate(
3712        __seed: ::std::os::raw::c_uint,
3713        __statebuf: *mut ::std::os::raw::c_char,
3714        __statelen: usize,
3715    ) -> *mut ::std::os::raw::c_char;
3716}
3717extern "C" {
3718    pub fn setstate(__statebuf: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3719}
3720#[repr(C)]
3721#[derive(Debug, Copy, Clone)]
3722pub struct random_data {
3723    pub fptr: *mut i32,
3724    pub rptr: *mut i32,
3725    pub state: *mut i32,
3726    pub rand_type: ::std::os::raw::c_int,
3727    pub rand_deg: ::std::os::raw::c_int,
3728    pub rand_sep: ::std::os::raw::c_int,
3729    pub end_ptr: *mut i32,
3730}
3731extern "C" {
3732    pub fn random_r(__buf: *mut random_data, __result: *mut i32) -> ::std::os::raw::c_int;
3733}
3734extern "C" {
3735    pub fn srandom_r(
3736        __seed: ::std::os::raw::c_uint,
3737        __buf: *mut random_data,
3738    ) -> ::std::os::raw::c_int;
3739}
3740extern "C" {
3741    pub fn initstate_r(
3742        __seed: ::std::os::raw::c_uint,
3743        __statebuf: *mut ::std::os::raw::c_char,
3744        __statelen: usize,
3745        __buf: *mut random_data,
3746    ) -> ::std::os::raw::c_int;
3747}
3748extern "C" {
3749    pub fn setstate_r(
3750        __statebuf: *mut ::std::os::raw::c_char,
3751        __buf: *mut random_data,
3752    ) -> ::std::os::raw::c_int;
3753}
3754extern "C" {
3755    pub fn rand() -> ::std::os::raw::c_int;
3756}
3757extern "C" {
3758    pub fn srand(__seed: ::std::os::raw::c_uint);
3759}
3760extern "C" {
3761    pub fn rand_r(__seed: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
3762}
3763extern "C" {
3764    pub fn drand48() -> f64;
3765}
3766extern "C" {
3767    pub fn erand48(__xsubi: *mut ::std::os::raw::c_ushort) -> f64;
3768}
3769extern "C" {
3770    pub fn lrand48() -> ::std::os::raw::c_long;
3771}
3772extern "C" {
3773    pub fn nrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
3774}
3775extern "C" {
3776    pub fn mrand48() -> ::std::os::raw::c_long;
3777}
3778extern "C" {
3779    pub fn jrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
3780}
3781extern "C" {
3782    pub fn srand48(__seedval: ::std::os::raw::c_long);
3783}
3784extern "C" {
3785    pub fn seed48(__seed16v: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort;
3786}
3787extern "C" {
3788    pub fn lcong48(__param: *mut ::std::os::raw::c_ushort);
3789}
3790#[repr(C)]
3791#[derive(Debug, Copy, Clone)]
3792pub struct drand48_data {
3793    pub __x: [::std::os::raw::c_ushort; 3usize],
3794    pub __old_x: [::std::os::raw::c_ushort; 3usize],
3795    pub __c: ::std::os::raw::c_ushort,
3796    pub __init: ::std::os::raw::c_ushort,
3797    pub __a: ::std::os::raw::c_ulonglong,
3798}
3799extern "C" {
3800    pub fn drand48_r(__buffer: *mut drand48_data, __result: *mut f64) -> ::std::os::raw::c_int;
3801}
3802extern "C" {
3803    pub fn erand48_r(
3804        __xsubi: *mut ::std::os::raw::c_ushort,
3805        __buffer: *mut drand48_data,
3806        __result: *mut f64,
3807    ) -> ::std::os::raw::c_int;
3808}
3809extern "C" {
3810    pub fn lrand48_r(
3811        __buffer: *mut drand48_data,
3812        __result: *mut ::std::os::raw::c_long,
3813    ) -> ::std::os::raw::c_int;
3814}
3815extern "C" {
3816    pub fn nrand48_r(
3817        __xsubi: *mut ::std::os::raw::c_ushort,
3818        __buffer: *mut drand48_data,
3819        __result: *mut ::std::os::raw::c_long,
3820    ) -> ::std::os::raw::c_int;
3821}
3822extern "C" {
3823    pub fn mrand48_r(
3824        __buffer: *mut drand48_data,
3825        __result: *mut ::std::os::raw::c_long,
3826    ) -> ::std::os::raw::c_int;
3827}
3828extern "C" {
3829    pub fn jrand48_r(
3830        __xsubi: *mut ::std::os::raw::c_ushort,
3831        __buffer: *mut drand48_data,
3832        __result: *mut ::std::os::raw::c_long,
3833    ) -> ::std::os::raw::c_int;
3834}
3835extern "C" {
3836    pub fn srand48_r(
3837        __seedval: ::std::os::raw::c_long,
3838        __buffer: *mut drand48_data,
3839    ) -> ::std::os::raw::c_int;
3840}
3841extern "C" {
3842    pub fn seed48_r(
3843        __seed16v: *mut ::std::os::raw::c_ushort,
3844        __buffer: *mut drand48_data,
3845    ) -> ::std::os::raw::c_int;
3846}
3847extern "C" {
3848    pub fn lcong48_r(
3849        __param: *mut ::std::os::raw::c_ushort,
3850        __buffer: *mut drand48_data,
3851    ) -> ::std::os::raw::c_int;
3852}
3853extern "C" {
3854    pub fn malloc(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
3855}
3856extern "C" {
3857    pub fn calloc(
3858        __nmemb: ::std::os::raw::c_ulong,
3859        __size: ::std::os::raw::c_ulong,
3860    ) -> *mut ::std::os::raw::c_void;
3861}
3862extern "C" {
3863    pub fn realloc(
3864        __ptr: *mut ::std::os::raw::c_void,
3865        __size: ::std::os::raw::c_ulong,
3866    ) -> *mut ::std::os::raw::c_void;
3867}
3868extern "C" {
3869    pub fn reallocarray(
3870        __ptr: *mut ::std::os::raw::c_void,
3871        __nmemb: usize,
3872        __size: usize,
3873    ) -> *mut ::std::os::raw::c_void;
3874}
3875extern "C" {
3876    pub fn free(__ptr: *mut ::std::os::raw::c_void);
3877}
3878extern "C" {
3879    pub fn alloca(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
3880}
3881extern "C" {
3882    pub fn valloc(__size: usize) -> *mut ::std::os::raw::c_void;
3883}
3884extern "C" {
3885    pub fn posix_memalign(
3886        __memptr: *mut *mut ::std::os::raw::c_void,
3887        __alignment: usize,
3888        __size: usize,
3889    ) -> ::std::os::raw::c_int;
3890}
3891extern "C" {
3892    pub fn aligned_alloc(__alignment: usize, __size: usize) -> *mut ::std::os::raw::c_void;
3893}
3894extern "C" {
3895    pub fn abort();
3896}
3897extern "C" {
3898    pub fn atexit(__func: ::std::option::Option<unsafe extern "C" fn()>) -> ::std::os::raw::c_int;
3899}
3900extern "C" {
3901    pub fn at_quick_exit(
3902        __func: ::std::option::Option<unsafe extern "C" fn()>,
3903    ) -> ::std::os::raw::c_int;
3904}
3905extern "C" {
3906    pub fn on_exit(
3907        __func: ::std::option::Option<
3908            unsafe extern "C" fn(
3909                __status: ::std::os::raw::c_int,
3910                __arg: *mut ::std::os::raw::c_void,
3911            ),
3912        >,
3913        __arg: *mut ::std::os::raw::c_void,
3914    ) -> ::std::os::raw::c_int;
3915}
3916extern "C" {
3917    pub fn exit(__status: ::std::os::raw::c_int);
3918}
3919extern "C" {
3920    pub fn quick_exit(__status: ::std::os::raw::c_int);
3921}
3922extern "C" {
3923    pub fn _Exit(__status: ::std::os::raw::c_int);
3924}
3925extern "C" {
3926    pub fn getenv(__name: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3927}
3928extern "C" {
3929    pub fn putenv(__string: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3930}
3931extern "C" {
3932    pub fn setenv(
3933        __name: *const ::std::os::raw::c_char,
3934        __value: *const ::std::os::raw::c_char,
3935        __replace: ::std::os::raw::c_int,
3936    ) -> ::std::os::raw::c_int;
3937}
3938extern "C" {
3939    pub fn unsetenv(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3940}
3941extern "C" {
3942    pub fn clearenv() -> ::std::os::raw::c_int;
3943}
3944extern "C" {
3945    pub fn mktemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3946}
3947extern "C" {
3948    pub fn mkstemp(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3949}
3950extern "C" {
3951    pub fn mkstemps(
3952        __template: *mut ::std::os::raw::c_char,
3953        __suffixlen: ::std::os::raw::c_int,
3954    ) -> ::std::os::raw::c_int;
3955}
3956extern "C" {
3957    pub fn mkdtemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3958}
3959extern "C" {
3960    pub fn system(__command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3961}
3962extern "C" {
3963    pub fn realpath(
3964        __name: *const ::std::os::raw::c_char,
3965        __resolved: *mut ::std::os::raw::c_char,
3966    ) -> *mut ::std::os::raw::c_char;
3967}
3968pub type __compar_fn_t = ::std::option::Option<
3969    unsafe extern "C" fn(
3970        arg1: *const ::std::os::raw::c_void,
3971        arg2: *const ::std::os::raw::c_void,
3972    ) -> ::std::os::raw::c_int,
3973>;
3974extern "C" {
3975    pub fn bsearch(
3976        __key: *const ::std::os::raw::c_void,
3977        __base: *const ::std::os::raw::c_void,
3978        __nmemb: usize,
3979        __size: usize,
3980        __compar: __compar_fn_t,
3981    ) -> *mut ::std::os::raw::c_void;
3982}
3983extern "C" {
3984    pub fn qsort(
3985        __base: *mut ::std::os::raw::c_void,
3986        __nmemb: usize,
3987        __size: usize,
3988        __compar: __compar_fn_t,
3989    );
3990}
3991extern "C" {
3992    pub fn abs(__x: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3993}
3994extern "C" {
3995    pub fn labs(__x: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
3996}
3997extern "C" {
3998    pub fn llabs(__x: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
3999}
4000extern "C" {
4001    pub fn div(__numer: ::std::os::raw::c_int, __denom: ::std::os::raw::c_int) -> div_t;
4002}
4003extern "C" {
4004    pub fn ldiv(__numer: ::std::os::raw::c_long, __denom: ::std::os::raw::c_long) -> ldiv_t;
4005}
4006extern "C" {
4007    pub fn lldiv(
4008        __numer: ::std::os::raw::c_longlong,
4009        __denom: ::std::os::raw::c_longlong,
4010    ) -> lldiv_t;
4011}
4012extern "C" {
4013    pub fn ecvt(
4014        __value: f64,
4015        __ndigit: ::std::os::raw::c_int,
4016        __decpt: *mut ::std::os::raw::c_int,
4017        __sign: *mut ::std::os::raw::c_int,
4018    ) -> *mut ::std::os::raw::c_char;
4019}
4020extern "C" {
4021    pub fn fcvt(
4022        __value: f64,
4023        __ndigit: ::std::os::raw::c_int,
4024        __decpt: *mut ::std::os::raw::c_int,
4025        __sign: *mut ::std::os::raw::c_int,
4026    ) -> *mut ::std::os::raw::c_char;
4027}
4028extern "C" {
4029    pub fn gcvt(
4030        __value: f64,
4031        __ndigit: ::std::os::raw::c_int,
4032        __buf: *mut ::std::os::raw::c_char,
4033    ) -> *mut ::std::os::raw::c_char;
4034}
4035extern "C" {
4036    pub fn qecvt(
4037        __value: u128,
4038        __ndigit: ::std::os::raw::c_int,
4039        __decpt: *mut ::std::os::raw::c_int,
4040        __sign: *mut ::std::os::raw::c_int,
4041    ) -> *mut ::std::os::raw::c_char;
4042}
4043extern "C" {
4044    pub fn qfcvt(
4045        __value: u128,
4046        __ndigit: ::std::os::raw::c_int,
4047        __decpt: *mut ::std::os::raw::c_int,
4048        __sign: *mut ::std::os::raw::c_int,
4049    ) -> *mut ::std::os::raw::c_char;
4050}
4051extern "C" {
4052    pub fn qgcvt(
4053        __value: u128,
4054        __ndigit: ::std::os::raw::c_int,
4055        __buf: *mut ::std::os::raw::c_char,
4056    ) -> *mut ::std::os::raw::c_char;
4057}
4058extern "C" {
4059    pub fn ecvt_r(
4060        __value: f64,
4061        __ndigit: ::std::os::raw::c_int,
4062        __decpt: *mut ::std::os::raw::c_int,
4063        __sign: *mut ::std::os::raw::c_int,
4064        __buf: *mut ::std::os::raw::c_char,
4065        __len: usize,
4066    ) -> ::std::os::raw::c_int;
4067}
4068extern "C" {
4069    pub fn fcvt_r(
4070        __value: f64,
4071        __ndigit: ::std::os::raw::c_int,
4072        __decpt: *mut ::std::os::raw::c_int,
4073        __sign: *mut ::std::os::raw::c_int,
4074        __buf: *mut ::std::os::raw::c_char,
4075        __len: usize,
4076    ) -> ::std::os::raw::c_int;
4077}
4078extern "C" {
4079    pub fn qecvt_r(
4080        __value: u128,
4081        __ndigit: ::std::os::raw::c_int,
4082        __decpt: *mut ::std::os::raw::c_int,
4083        __sign: *mut ::std::os::raw::c_int,
4084        __buf: *mut ::std::os::raw::c_char,
4085        __len: usize,
4086    ) -> ::std::os::raw::c_int;
4087}
4088extern "C" {
4089    pub fn qfcvt_r(
4090        __value: u128,
4091        __ndigit: ::std::os::raw::c_int,
4092        __decpt: *mut ::std::os::raw::c_int,
4093        __sign: *mut ::std::os::raw::c_int,
4094        __buf: *mut ::std::os::raw::c_char,
4095        __len: usize,
4096    ) -> ::std::os::raw::c_int;
4097}
4098extern "C" {
4099    pub fn mblen(__s: *const ::std::os::raw::c_char, __n: usize) -> ::std::os::raw::c_int;
4100}
4101extern "C" {
4102    pub fn mbtowc(
4103        __pwc: *mut wchar_t,
4104        __s: *const ::std::os::raw::c_char,
4105        __n: usize,
4106    ) -> ::std::os::raw::c_int;
4107}
4108extern "C" {
4109    pub fn wctomb(__s: *mut ::std::os::raw::c_char, __wchar: wchar_t) -> ::std::os::raw::c_int;
4110}
4111extern "C" {
4112    pub fn mbstowcs(__pwcs: *mut wchar_t, __s: *const ::std::os::raw::c_char, __n: usize) -> usize;
4113}
4114extern "C" {
4115    pub fn wcstombs(__s: *mut ::std::os::raw::c_char, __pwcs: *const wchar_t, __n: usize) -> usize;
4116}
4117extern "C" {
4118    pub fn rpmatch(__response: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
4119}
4120extern "C" {
4121    pub fn getsubopt(
4122        __optionp: *mut *mut ::std::os::raw::c_char,
4123        __tokens: *const *mut ::std::os::raw::c_char,
4124        __valuep: *mut *mut ::std::os::raw::c_char,
4125    ) -> ::std::os::raw::c_int;
4126}
4127extern "C" {
4128    pub fn getloadavg(__loadavg: *mut f64, __nelem: ::std::os::raw::c_int)
4129        -> ::std::os::raw::c_int;
4130}
4131extern "C" {
4132    pub fn memcpy(
4133        __dest: *mut ::std::os::raw::c_void,
4134        __src: *const ::std::os::raw::c_void,
4135        __n: ::std::os::raw::c_ulong,
4136    ) -> *mut ::std::os::raw::c_void;
4137}
4138extern "C" {
4139    pub fn memmove(
4140        __dest: *mut ::std::os::raw::c_void,
4141        __src: *const ::std::os::raw::c_void,
4142        __n: ::std::os::raw::c_ulong,
4143    ) -> *mut ::std::os::raw::c_void;
4144}
4145extern "C" {
4146    pub fn memccpy(
4147        __dest: *mut ::std::os::raw::c_void,
4148        __src: *const ::std::os::raw::c_void,
4149        __c: ::std::os::raw::c_int,
4150        __n: usize,
4151    ) -> *mut ::std::os::raw::c_void;
4152}
4153extern "C" {
4154    pub fn memset(
4155        __s: *mut ::std::os::raw::c_void,
4156        __c: ::std::os::raw::c_int,
4157        __n: ::std::os::raw::c_ulong,
4158    ) -> *mut ::std::os::raw::c_void;
4159}
4160extern "C" {
4161    pub fn memcmp(
4162        __s1: *const ::std::os::raw::c_void,
4163        __s2: *const ::std::os::raw::c_void,
4164        __n: ::std::os::raw::c_ulong,
4165    ) -> ::std::os::raw::c_int;
4166}
4167extern "C" {
4168    pub fn memchr(
4169        __s: *const ::std::os::raw::c_void,
4170        __c: ::std::os::raw::c_int,
4171        __n: ::std::os::raw::c_ulong,
4172    ) -> *mut ::std::os::raw::c_void;
4173}
4174extern "C" {
4175    pub fn strcpy(
4176        __dest: *mut ::std::os::raw::c_char,
4177        __src: *const ::std::os::raw::c_char,
4178    ) -> *mut ::std::os::raw::c_char;
4179}
4180extern "C" {
4181    pub fn strncpy(
4182        __dest: *mut ::std::os::raw::c_char,
4183        __src: *const ::std::os::raw::c_char,
4184        __n: ::std::os::raw::c_ulong,
4185    ) -> *mut ::std::os::raw::c_char;
4186}
4187extern "C" {
4188    pub fn strcat(
4189        __dest: *mut ::std::os::raw::c_char,
4190        __src: *const ::std::os::raw::c_char,
4191    ) -> *mut ::std::os::raw::c_char;
4192}
4193extern "C" {
4194    pub fn strncat(
4195        __dest: *mut ::std::os::raw::c_char,
4196        __src: *const ::std::os::raw::c_char,
4197        __n: ::std::os::raw::c_ulong,
4198    ) -> *mut ::std::os::raw::c_char;
4199}
4200extern "C" {
4201    pub fn strcmp(
4202        __s1: *const ::std::os::raw::c_char,
4203        __s2: *const ::std::os::raw::c_char,
4204    ) -> ::std::os::raw::c_int;
4205}
4206extern "C" {
4207    pub fn strncmp(
4208        __s1: *const ::std::os::raw::c_char,
4209        __s2: *const ::std::os::raw::c_char,
4210        __n: ::std::os::raw::c_ulong,
4211    ) -> ::std::os::raw::c_int;
4212}
4213extern "C" {
4214    pub fn strcoll(
4215        __s1: *const ::std::os::raw::c_char,
4216        __s2: *const ::std::os::raw::c_char,
4217    ) -> ::std::os::raw::c_int;
4218}
4219extern "C" {
4220    pub fn strxfrm(
4221        __dest: *mut ::std::os::raw::c_char,
4222        __src: *const ::std::os::raw::c_char,
4223        __n: ::std::os::raw::c_ulong,
4224    ) -> ::std::os::raw::c_ulong;
4225}
4226#[repr(C)]
4227#[derive(Debug, Copy, Clone)]
4228pub struct __locale_struct {
4229    pub __locales: [*mut __locale_data; 13usize],
4230    pub __ctype_b: *const ::std::os::raw::c_ushort,
4231    pub __ctype_tolower: *const ::std::os::raw::c_int,
4232    pub __ctype_toupper: *const ::std::os::raw::c_int,
4233    pub __names: [*const ::std::os::raw::c_char; 13usize],
4234}
4235pub type __locale_t = *mut __locale_struct;
4236pub type locale_t = __locale_t;
4237extern "C" {
4238    pub fn strcoll_l(
4239        __s1: *const ::std::os::raw::c_char,
4240        __s2: *const ::std::os::raw::c_char,
4241        __l: locale_t,
4242    ) -> ::std::os::raw::c_int;
4243}
4244extern "C" {
4245    pub fn strxfrm_l(
4246        __dest: *mut ::std::os::raw::c_char,
4247        __src: *const ::std::os::raw::c_char,
4248        __n: usize,
4249        __l: locale_t,
4250    ) -> usize;
4251}
4252extern "C" {
4253    pub fn strdup(__s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
4254}
4255extern "C" {
4256    pub fn strndup(
4257        __string: *const ::std::os::raw::c_char,
4258        __n: ::std::os::raw::c_ulong,
4259    ) -> *mut ::std::os::raw::c_char;
4260}
4261extern "C" {
4262    pub fn strchr(
4263        __s: *const ::std::os::raw::c_char,
4264        __c: ::std::os::raw::c_int,
4265    ) -> *mut ::std::os::raw::c_char;
4266}
4267extern "C" {
4268    pub fn strrchr(
4269        __s: *const ::std::os::raw::c_char,
4270        __c: ::std::os::raw::c_int,
4271    ) -> *mut ::std::os::raw::c_char;
4272}
4273extern "C" {
4274    pub fn strcspn(
4275        __s: *const ::std::os::raw::c_char,
4276        __reject: *const ::std::os::raw::c_char,
4277    ) -> ::std::os::raw::c_ulong;
4278}
4279extern "C" {
4280    pub fn strspn(
4281        __s: *const ::std::os::raw::c_char,
4282        __accept: *const ::std::os::raw::c_char,
4283    ) -> ::std::os::raw::c_ulong;
4284}
4285extern "C" {
4286    pub fn strpbrk(
4287        __s: *const ::std::os::raw::c_char,
4288        __accept: *const ::std::os::raw::c_char,
4289    ) -> *mut ::std::os::raw::c_char;
4290}
4291extern "C" {
4292    pub fn strstr(
4293        __haystack: *const ::std::os::raw::c_char,
4294        __needle: *const ::std::os::raw::c_char,
4295    ) -> *mut ::std::os::raw::c_char;
4296}
4297extern "C" {
4298    pub fn strtok(
4299        __s: *mut ::std::os::raw::c_char,
4300        __delim: *const ::std::os::raw::c_char,
4301    ) -> *mut ::std::os::raw::c_char;
4302}
4303extern "C" {
4304    pub fn __strtok_r(
4305        __s: *mut ::std::os::raw::c_char,
4306        __delim: *const ::std::os::raw::c_char,
4307        __save_ptr: *mut *mut ::std::os::raw::c_char,
4308    ) -> *mut ::std::os::raw::c_char;
4309}
4310extern "C" {
4311    pub fn strtok_r(
4312        __s: *mut ::std::os::raw::c_char,
4313        __delim: *const ::std::os::raw::c_char,
4314        __save_ptr: *mut *mut ::std::os::raw::c_char,
4315    ) -> *mut ::std::os::raw::c_char;
4316}
4317extern "C" {
4318    pub fn strlen(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_ulong;
4319}
4320extern "C" {
4321    pub fn strnlen(__string: *const ::std::os::raw::c_char, __maxlen: usize) -> usize;
4322}
4323extern "C" {
4324    pub fn strerror(__errnum: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
4325}
4326extern "C" {
4327    #[link_name = "\u{1}__xpg_strerror_r"]
4328    pub fn strerror_r(
4329        __errnum: ::std::os::raw::c_int,
4330        __buf: *mut ::std::os::raw::c_char,
4331        __buflen: usize,
4332    ) -> ::std::os::raw::c_int;
4333}
4334extern "C" {
4335    pub fn strerror_l(
4336        __errnum: ::std::os::raw::c_int,
4337        __l: locale_t,
4338    ) -> *mut ::std::os::raw::c_char;
4339}
4340extern "C" {
4341    pub fn bcmp(
4342        __s1: *const ::std::os::raw::c_void,
4343        __s2: *const ::std::os::raw::c_void,
4344        __n: ::std::os::raw::c_ulong,
4345    ) -> ::std::os::raw::c_int;
4346}
4347extern "C" {
4348    pub fn bcopy(
4349        __src: *const ::std::os::raw::c_void,
4350        __dest: *mut ::std::os::raw::c_void,
4351        __n: usize,
4352    );
4353}
4354extern "C" {
4355    pub fn bzero(__s: *mut ::std::os::raw::c_void, __n: ::std::os::raw::c_ulong);
4356}
4357extern "C" {
4358    pub fn index(
4359        __s: *const ::std::os::raw::c_char,
4360        __c: ::std::os::raw::c_int,
4361    ) -> *mut ::std::os::raw::c_char;
4362}
4363extern "C" {
4364    pub fn rindex(
4365        __s: *const ::std::os::raw::c_char,
4366        __c: ::std::os::raw::c_int,
4367    ) -> *mut ::std::os::raw::c_char;
4368}
4369extern "C" {
4370    pub fn ffs(__i: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4371}
4372extern "C" {
4373    pub fn ffsl(__l: ::std::os::raw::c_long) -> ::std::os::raw::c_int;
4374}
4375extern "C" {
4376    pub fn ffsll(__ll: ::std::os::raw::c_longlong) -> ::std::os::raw::c_int;
4377}
4378extern "C" {
4379    pub fn strcasecmp(
4380        __s1: *const ::std::os::raw::c_char,
4381        __s2: *const ::std::os::raw::c_char,
4382    ) -> ::std::os::raw::c_int;
4383}
4384extern "C" {
4385    pub fn strncasecmp(
4386        __s1: *const ::std::os::raw::c_char,
4387        __s2: *const ::std::os::raw::c_char,
4388        __n: ::std::os::raw::c_ulong,
4389    ) -> ::std::os::raw::c_int;
4390}
4391extern "C" {
4392    pub fn strcasecmp_l(
4393        __s1: *const ::std::os::raw::c_char,
4394        __s2: *const ::std::os::raw::c_char,
4395        __loc: locale_t,
4396    ) -> ::std::os::raw::c_int;
4397}
4398extern "C" {
4399    pub fn strncasecmp_l(
4400        __s1: *const ::std::os::raw::c_char,
4401        __s2: *const ::std::os::raw::c_char,
4402        __n: usize,
4403        __loc: locale_t,
4404    ) -> ::std::os::raw::c_int;
4405}
4406extern "C" {
4407    pub fn explicit_bzero(__s: *mut ::std::os::raw::c_void, __n: usize);
4408}
4409extern "C" {
4410    pub fn strsep(
4411        __stringp: *mut *mut ::std::os::raw::c_char,
4412        __delim: *const ::std::os::raw::c_char,
4413    ) -> *mut ::std::os::raw::c_char;
4414}
4415extern "C" {
4416    pub fn strsignal(__sig: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
4417}
4418extern "C" {
4419    pub fn __stpcpy(
4420        __dest: *mut ::std::os::raw::c_char,
4421        __src: *const ::std::os::raw::c_char,
4422    ) -> *mut ::std::os::raw::c_char;
4423}
4424extern "C" {
4425    pub fn stpcpy(
4426        __dest: *mut ::std::os::raw::c_char,
4427        __src: *const ::std::os::raw::c_char,
4428    ) -> *mut ::std::os::raw::c_char;
4429}
4430extern "C" {
4431    pub fn __stpncpy(
4432        __dest: *mut ::std::os::raw::c_char,
4433        __src: *const ::std::os::raw::c_char,
4434        __n: usize,
4435    ) -> *mut ::std::os::raw::c_char;
4436}
4437extern "C" {
4438    pub fn stpncpy(
4439        __dest: *mut ::std::os::raw::c_char,
4440        __src: *const ::std::os::raw::c_char,
4441        __n: ::std::os::raw::c_ulong,
4442    ) -> *mut ::std::os::raw::c_char;
4443}
4444extern "C" {
4445    pub fn av_log2(v: ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
4446}
4447extern "C" {
4448    pub fn av_log2_16bit(v: ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
4449}
4450#[repr(C)]
4451#[repr(align(16))]
4452#[derive(Debug, Copy, Clone)]
4453pub struct max_align_t {
4454    pub __clang_max_align_nonce1: ::std::os::raw::c_longlong,
4455    pub __bindgen_padding_0: u64,
4456    pub __clang_max_align_nonce2: u128,
4457}
4458extern "C" {
4459    pub fn av_strerror(
4460        errnum: ::std::os::raw::c_int,
4461        errbuf: *mut ::std::os::raw::c_char,
4462        errbuf_size: usize,
4463    ) -> ::std::os::raw::c_int;
4464}
4465extern "C" {
4466    pub fn avutil_version() -> ::std::os::raw::c_uint;
4467}
4468extern "C" {
4469    pub fn av_version_info() -> *const ::std::os::raw::c_char;
4470}
4471extern "C" {
4472    pub fn avutil_configuration() -> *const ::std::os::raw::c_char;
4473}
4474extern "C" {
4475    pub fn avutil_license() -> *const ::std::os::raw::c_char;
4476}
4477pub const AVMediaType_AVMEDIA_TYPE_UNKNOWN: AVMediaType = -1;
4478pub const AVMediaType_AVMEDIA_TYPE_VIDEO: AVMediaType = 0;
4479pub const AVMediaType_AVMEDIA_TYPE_AUDIO: AVMediaType = 1;
4480pub const AVMediaType_AVMEDIA_TYPE_DATA: AVMediaType = 2;
4481pub const AVMediaType_AVMEDIA_TYPE_SUBTITLE: AVMediaType = 3;
4482pub const AVMediaType_AVMEDIA_TYPE_ATTACHMENT: AVMediaType = 4;
4483pub const AVMediaType_AVMEDIA_TYPE_NB: AVMediaType = 5;
4484pub type AVMediaType = i32;
4485extern "C" {
4486    pub fn av_get_media_type_string(media_type: AVMediaType) -> *const ::std::os::raw::c_char;
4487}
4488pub const AVPictureType_AV_PICTURE_TYPE_NONE: AVPictureType = 0;
4489pub const AVPictureType_AV_PICTURE_TYPE_I: AVPictureType = 1;
4490pub const AVPictureType_AV_PICTURE_TYPE_P: AVPictureType = 2;
4491pub const AVPictureType_AV_PICTURE_TYPE_B: AVPictureType = 3;
4492pub const AVPictureType_AV_PICTURE_TYPE_S: AVPictureType = 4;
4493pub const AVPictureType_AV_PICTURE_TYPE_SI: AVPictureType = 5;
4494pub const AVPictureType_AV_PICTURE_TYPE_SP: AVPictureType = 6;
4495pub const AVPictureType_AV_PICTURE_TYPE_BI: AVPictureType = 7;
4496pub type AVPictureType = u32;
4497extern "C" {
4498    pub fn av_get_picture_type_char(pict_type: AVPictureType) -> ::std::os::raw::c_char;
4499}
4500#[repr(C)]
4501#[derive(Debug, Copy, Clone)]
4502pub struct AVRational {
4503    pub num: ::std::os::raw::c_int,
4504    pub den: ::std::os::raw::c_int,
4505}
4506extern "C" {
4507    pub fn av_reduce(
4508        dst_num: *mut ::std::os::raw::c_int,
4509        dst_den: *mut ::std::os::raw::c_int,
4510        num: i64,
4511        den: i64,
4512        max: i64,
4513    ) -> ::std::os::raw::c_int;
4514}
4515extern "C" {
4516    pub fn av_mul_q(b: AVRational, c: AVRational) -> AVRational;
4517}
4518extern "C" {
4519    pub fn av_div_q(b: AVRational, c: AVRational) -> AVRational;
4520}
4521extern "C" {
4522    pub fn av_add_q(b: AVRational, c: AVRational) -> AVRational;
4523}
4524extern "C" {
4525    pub fn av_sub_q(b: AVRational, c: AVRational) -> AVRational;
4526}
4527extern "C" {
4528    pub fn av_d2q(d: f64, max: ::std::os::raw::c_int) -> AVRational;
4529}
4530extern "C" {
4531    pub fn av_nearer_q(q: AVRational, q1: AVRational, q2: AVRational) -> ::std::os::raw::c_int;
4532}
4533extern "C" {
4534    pub fn av_find_nearest_q_idx(q: AVRational, q_list: *const AVRational)
4535        -> ::std::os::raw::c_int;
4536}
4537extern "C" {
4538    pub fn av_q2intfloat(q: AVRational) -> u32;
4539}
4540#[repr(C)]
4541#[derive(Copy, Clone)]
4542pub union av_intfloat32 {
4543    pub i: u32,
4544    pub f: f32,
4545    _bindgen_union_align: u32,
4546}
4547#[repr(C)]
4548#[derive(Copy, Clone)]
4549pub union av_intfloat64 {
4550    pub i: u64,
4551    pub f: f64,
4552    _bindgen_union_align: u64,
4553}
4554pub const AVRounding_AV_ROUND_ZERO: AVRounding = 0;
4555pub const AVRounding_AV_ROUND_INF: AVRounding = 1;
4556pub const AVRounding_AV_ROUND_DOWN: AVRounding = 2;
4557pub const AVRounding_AV_ROUND_UP: AVRounding = 3;
4558pub const AVRounding_AV_ROUND_NEAR_INF: AVRounding = 5;
4559pub const AVRounding_AV_ROUND_PASS_MINMAX: AVRounding = 8192;
4560pub type AVRounding = u32;
4561extern "C" {
4562    pub fn av_gcd(a: i64, b: i64) -> i64;
4563}
4564extern "C" {
4565    pub fn av_rescale(a: i64, b: i64, c: i64) -> i64;
4566}
4567extern "C" {
4568    pub fn av_rescale_rnd(a: i64, b: i64, c: i64, rnd: AVRounding) -> i64;
4569}
4570extern "C" {
4571    pub fn av_rescale_q(a: i64, bq: AVRational, cq: AVRational) -> i64;
4572}
4573extern "C" {
4574    pub fn av_rescale_q_rnd(a: i64, bq: AVRational, cq: AVRational, rnd: AVRounding) -> i64;
4575}
4576extern "C" {
4577    pub fn av_compare_ts(
4578        ts_a: i64,
4579        tb_a: AVRational,
4580        ts_b: i64,
4581        tb_b: AVRational,
4582    ) -> ::std::os::raw::c_int;
4583}
4584extern "C" {
4585    pub fn av_compare_mod(a: u64, b: u64, mod_: u64) -> i64;
4586}
4587extern "C" {
4588    pub fn av_rescale_delta(
4589        in_tb: AVRational,
4590        in_ts: i64,
4591        fs_tb: AVRational,
4592        duration: ::std::os::raw::c_int,
4593        last: *mut i64,
4594        out_tb: AVRational,
4595    ) -> i64;
4596}
4597extern "C" {
4598    pub fn av_add_stable(ts_tb: AVRational, ts: i64, inc_tb: AVRational, inc: i64) -> i64;
4599}
4600pub const AVClassCategory_AV_CLASS_CATEGORY_NA: AVClassCategory = 0;
4601pub const AVClassCategory_AV_CLASS_CATEGORY_INPUT: AVClassCategory = 1;
4602pub const AVClassCategory_AV_CLASS_CATEGORY_OUTPUT: AVClassCategory = 2;
4603pub const AVClassCategory_AV_CLASS_CATEGORY_MUXER: AVClassCategory = 3;
4604pub const AVClassCategory_AV_CLASS_CATEGORY_DEMUXER: AVClassCategory = 4;
4605pub const AVClassCategory_AV_CLASS_CATEGORY_ENCODER: AVClassCategory = 5;
4606pub const AVClassCategory_AV_CLASS_CATEGORY_DECODER: AVClassCategory = 6;
4607pub const AVClassCategory_AV_CLASS_CATEGORY_FILTER: AVClassCategory = 7;
4608pub const AVClassCategory_AV_CLASS_CATEGORY_BITSTREAM_FILTER: AVClassCategory = 8;
4609pub const AVClassCategory_AV_CLASS_CATEGORY_SWSCALER: AVClassCategory = 9;
4610pub const AVClassCategory_AV_CLASS_CATEGORY_SWRESAMPLER: AVClassCategory = 10;
4611pub const AVClassCategory_AV_CLASS_CATEGORY_DEVICE_VIDEO_OUTPUT: AVClassCategory = 40;
4612pub const AVClassCategory_AV_CLASS_CATEGORY_DEVICE_VIDEO_INPUT: AVClassCategory = 41;
4613pub const AVClassCategory_AV_CLASS_CATEGORY_DEVICE_AUDIO_OUTPUT: AVClassCategory = 42;
4614pub const AVClassCategory_AV_CLASS_CATEGORY_DEVICE_AUDIO_INPUT: AVClassCategory = 43;
4615pub const AVClassCategory_AV_CLASS_CATEGORY_DEVICE_OUTPUT: AVClassCategory = 44;
4616pub const AVClassCategory_AV_CLASS_CATEGORY_DEVICE_INPUT: AVClassCategory = 45;
4617pub const AVClassCategory_AV_CLASS_CATEGORY_NB: AVClassCategory = 46;
4618pub type AVClassCategory = u32;
4619#[repr(C)]
4620#[derive(Debug, Copy, Clone)]
4621pub struct AVClass {
4622    pub class_name: *const ::std::os::raw::c_char,
4623    pub item_name: ::std::option::Option<
4624        unsafe extern "C" fn(ctx: *mut ::std::os::raw::c_void) -> *const ::std::os::raw::c_char,
4625    >,
4626    pub option: *const AVOption,
4627    pub version: ::std::os::raw::c_int,
4628    pub log_level_offset_offset: ::std::os::raw::c_int,
4629    pub parent_log_context_offset: ::std::os::raw::c_int,
4630    pub child_next: ::std::option::Option<
4631        unsafe extern "C" fn(
4632            obj: *mut ::std::os::raw::c_void,
4633            prev: *mut ::std::os::raw::c_void,
4634        ) -> *mut ::std::os::raw::c_void,
4635    >,
4636    pub child_class_next:
4637        ::std::option::Option<unsafe extern "C" fn(prev: *const AVClass) -> *const AVClass>,
4638    pub category: AVClassCategory,
4639    pub get_category: ::std::option::Option<
4640        unsafe extern "C" fn(ctx: *mut ::std::os::raw::c_void) -> AVClassCategory,
4641    >,
4642    pub query_ranges: ::std::option::Option<
4643        unsafe extern "C" fn(
4644            arg1: *mut *mut AVOptionRanges,
4645            obj: *mut ::std::os::raw::c_void,
4646            key: *const ::std::os::raw::c_char,
4647            flags: ::std::os::raw::c_int,
4648        ) -> ::std::os::raw::c_int,
4649    >,
4650}
4651extern "C" {
4652    pub fn av_log(
4653        avcl: *mut ::std::os::raw::c_void,
4654        level: ::std::os::raw::c_int,
4655        fmt: *const ::std::os::raw::c_char,
4656        ...
4657    );
4658}
4659extern "C" {
4660    pub fn av_vlog(
4661        avcl: *mut ::std::os::raw::c_void,
4662        level: ::std::os::raw::c_int,
4663        fmt: *const ::std::os::raw::c_char,
4664        vl: *mut __va_list_tag,
4665    );
4666}
4667extern "C" {
4668    pub fn av_log_get_level() -> ::std::os::raw::c_int;
4669}
4670extern "C" {
4671    pub fn av_log_set_level(level: ::std::os::raw::c_int);
4672}
4673extern "C" {
4674    pub fn av_log_set_callback(
4675        callback: ::std::option::Option<
4676            unsafe extern "C" fn(
4677                arg1: *mut ::std::os::raw::c_void,
4678                arg2: ::std::os::raw::c_int,
4679                arg3: *const ::std::os::raw::c_char,
4680                arg4: *mut __va_list_tag,
4681            ),
4682        >,
4683    );
4684}
4685extern "C" {
4686    pub fn av_log_default_callback(
4687        avcl: *mut ::std::os::raw::c_void,
4688        level: ::std::os::raw::c_int,
4689        fmt: *const ::std::os::raw::c_char,
4690        vl: *mut __va_list_tag,
4691    );
4692}
4693extern "C" {
4694    pub fn av_default_item_name(ctx: *mut ::std::os::raw::c_void) -> *const ::std::os::raw::c_char;
4695}
4696extern "C" {
4697    pub fn av_default_get_category(ptr: *mut ::std::os::raw::c_void) -> AVClassCategory;
4698}
4699extern "C" {
4700    pub fn av_log_format_line(
4701        ptr: *mut ::std::os::raw::c_void,
4702        level: ::std::os::raw::c_int,
4703        fmt: *const ::std::os::raw::c_char,
4704        vl: *mut __va_list_tag,
4705        line: *mut ::std::os::raw::c_char,
4706        line_size: ::std::os::raw::c_int,
4707        print_prefix: *mut ::std::os::raw::c_int,
4708    );
4709}
4710extern "C" {
4711    pub fn av_log_format_line2(
4712        ptr: *mut ::std::os::raw::c_void,
4713        level: ::std::os::raw::c_int,
4714        fmt: *const ::std::os::raw::c_char,
4715        vl: *mut __va_list_tag,
4716        line: *mut ::std::os::raw::c_char,
4717        line_size: ::std::os::raw::c_int,
4718        print_prefix: *mut ::std::os::raw::c_int,
4719    ) -> ::std::os::raw::c_int;
4720}
4721extern "C" {
4722    pub fn av_log_set_flags(arg: ::std::os::raw::c_int);
4723}
4724extern "C" {
4725    pub fn av_log_get_flags() -> ::std::os::raw::c_int;
4726}
4727pub const AVPixelFormat_AV_PIX_FMT_NONE: AVPixelFormat = -1;
4728pub const AVPixelFormat_AV_PIX_FMT_YUV420P: AVPixelFormat = 0;
4729pub const AVPixelFormat_AV_PIX_FMT_YUYV422: AVPixelFormat = 1;
4730pub const AVPixelFormat_AV_PIX_FMT_RGB24: AVPixelFormat = 2;
4731pub const AVPixelFormat_AV_PIX_FMT_BGR24: AVPixelFormat = 3;
4732pub const AVPixelFormat_AV_PIX_FMT_YUV422P: AVPixelFormat = 4;
4733pub const AVPixelFormat_AV_PIX_FMT_YUV444P: AVPixelFormat = 5;
4734pub const AVPixelFormat_AV_PIX_FMT_YUV410P: AVPixelFormat = 6;
4735pub const AVPixelFormat_AV_PIX_FMT_YUV411P: AVPixelFormat = 7;
4736pub const AVPixelFormat_AV_PIX_FMT_GRAY8: AVPixelFormat = 8;
4737pub const AVPixelFormat_AV_PIX_FMT_MONOWHITE: AVPixelFormat = 9;
4738pub const AVPixelFormat_AV_PIX_FMT_MONOBLACK: AVPixelFormat = 10;
4739pub const AVPixelFormat_AV_PIX_FMT_PAL8: AVPixelFormat = 11;
4740pub const AVPixelFormat_AV_PIX_FMT_YUVJ420P: AVPixelFormat = 12;
4741pub const AVPixelFormat_AV_PIX_FMT_YUVJ422P: AVPixelFormat = 13;
4742pub const AVPixelFormat_AV_PIX_FMT_YUVJ444P: AVPixelFormat = 14;
4743pub const AVPixelFormat_AV_PIX_FMT_UYVY422: AVPixelFormat = 15;
4744pub const AVPixelFormat_AV_PIX_FMT_UYYVYY411: AVPixelFormat = 16;
4745pub const AVPixelFormat_AV_PIX_FMT_BGR8: AVPixelFormat = 17;
4746pub const AVPixelFormat_AV_PIX_FMT_BGR4: AVPixelFormat = 18;
4747pub const AVPixelFormat_AV_PIX_FMT_BGR4_BYTE: AVPixelFormat = 19;
4748pub const AVPixelFormat_AV_PIX_FMT_RGB8: AVPixelFormat = 20;
4749pub const AVPixelFormat_AV_PIX_FMT_RGB4: AVPixelFormat = 21;
4750pub const AVPixelFormat_AV_PIX_FMT_RGB4_BYTE: AVPixelFormat = 22;
4751pub const AVPixelFormat_AV_PIX_FMT_NV12: AVPixelFormat = 23;
4752pub const AVPixelFormat_AV_PIX_FMT_NV21: AVPixelFormat = 24;
4753pub const AVPixelFormat_AV_PIX_FMT_ARGB: AVPixelFormat = 25;
4754pub const AVPixelFormat_AV_PIX_FMT_RGBA: AVPixelFormat = 26;
4755pub const AVPixelFormat_AV_PIX_FMT_ABGR: AVPixelFormat = 27;
4756pub const AVPixelFormat_AV_PIX_FMT_BGRA: AVPixelFormat = 28;
4757pub const AVPixelFormat_AV_PIX_FMT_GRAY16BE: AVPixelFormat = 29;
4758pub const AVPixelFormat_AV_PIX_FMT_GRAY16LE: AVPixelFormat = 30;
4759pub const AVPixelFormat_AV_PIX_FMT_YUV440P: AVPixelFormat = 31;
4760pub const AVPixelFormat_AV_PIX_FMT_YUVJ440P: AVPixelFormat = 32;
4761pub const AVPixelFormat_AV_PIX_FMT_YUVA420P: AVPixelFormat = 33;
4762pub const AVPixelFormat_AV_PIX_FMT_RGB48BE: AVPixelFormat = 34;
4763pub const AVPixelFormat_AV_PIX_FMT_RGB48LE: AVPixelFormat = 35;
4764pub const AVPixelFormat_AV_PIX_FMT_RGB565BE: AVPixelFormat = 36;
4765pub const AVPixelFormat_AV_PIX_FMT_RGB565LE: AVPixelFormat = 37;
4766pub const AVPixelFormat_AV_PIX_FMT_RGB555BE: AVPixelFormat = 38;
4767pub const AVPixelFormat_AV_PIX_FMT_RGB555LE: AVPixelFormat = 39;
4768pub const AVPixelFormat_AV_PIX_FMT_BGR565BE: AVPixelFormat = 40;
4769pub const AVPixelFormat_AV_PIX_FMT_BGR565LE: AVPixelFormat = 41;
4770pub const AVPixelFormat_AV_PIX_FMT_BGR555BE: AVPixelFormat = 42;
4771pub const AVPixelFormat_AV_PIX_FMT_BGR555LE: AVPixelFormat = 43;
4772pub const AVPixelFormat_AV_PIX_FMT_VAAPI_MOCO: AVPixelFormat = 44;
4773pub const AVPixelFormat_AV_PIX_FMT_VAAPI_IDCT: AVPixelFormat = 45;
4774pub const AVPixelFormat_AV_PIX_FMT_VAAPI_VLD: AVPixelFormat = 46;
4775pub const AVPixelFormat_AV_PIX_FMT_VAAPI: AVPixelFormat = 46;
4776pub const AVPixelFormat_AV_PIX_FMT_YUV420P16LE: AVPixelFormat = 47;
4777pub const AVPixelFormat_AV_PIX_FMT_YUV420P16BE: AVPixelFormat = 48;
4778pub const AVPixelFormat_AV_PIX_FMT_YUV422P16LE: AVPixelFormat = 49;
4779pub const AVPixelFormat_AV_PIX_FMT_YUV422P16BE: AVPixelFormat = 50;
4780pub const AVPixelFormat_AV_PIX_FMT_YUV444P16LE: AVPixelFormat = 51;
4781pub const AVPixelFormat_AV_PIX_FMT_YUV444P16BE: AVPixelFormat = 52;
4782pub const AVPixelFormat_AV_PIX_FMT_DXVA2_VLD: AVPixelFormat = 53;
4783pub const AVPixelFormat_AV_PIX_FMT_RGB444LE: AVPixelFormat = 54;
4784pub const AVPixelFormat_AV_PIX_FMT_RGB444BE: AVPixelFormat = 55;
4785pub const AVPixelFormat_AV_PIX_FMT_BGR444LE: AVPixelFormat = 56;
4786pub const AVPixelFormat_AV_PIX_FMT_BGR444BE: AVPixelFormat = 57;
4787pub const AVPixelFormat_AV_PIX_FMT_YA8: AVPixelFormat = 58;
4788pub const AVPixelFormat_AV_PIX_FMT_Y400A: AVPixelFormat = 58;
4789pub const AVPixelFormat_AV_PIX_FMT_GRAY8A: AVPixelFormat = 58;
4790pub const AVPixelFormat_AV_PIX_FMT_BGR48BE: AVPixelFormat = 59;
4791pub const AVPixelFormat_AV_PIX_FMT_BGR48LE: AVPixelFormat = 60;
4792pub const AVPixelFormat_AV_PIX_FMT_YUV420P9BE: AVPixelFormat = 61;
4793pub const AVPixelFormat_AV_PIX_FMT_YUV420P9LE: AVPixelFormat = 62;
4794pub const AVPixelFormat_AV_PIX_FMT_YUV420P10BE: AVPixelFormat = 63;
4795pub const AVPixelFormat_AV_PIX_FMT_YUV420P10LE: AVPixelFormat = 64;
4796pub const AVPixelFormat_AV_PIX_FMT_YUV422P10BE: AVPixelFormat = 65;
4797pub const AVPixelFormat_AV_PIX_FMT_YUV422P10LE: AVPixelFormat = 66;
4798pub const AVPixelFormat_AV_PIX_FMT_YUV444P9BE: AVPixelFormat = 67;
4799pub const AVPixelFormat_AV_PIX_FMT_YUV444P9LE: AVPixelFormat = 68;
4800pub const AVPixelFormat_AV_PIX_FMT_YUV444P10BE: AVPixelFormat = 69;
4801pub const AVPixelFormat_AV_PIX_FMT_YUV444P10LE: AVPixelFormat = 70;
4802pub const AVPixelFormat_AV_PIX_FMT_YUV422P9BE: AVPixelFormat = 71;
4803pub const AVPixelFormat_AV_PIX_FMT_YUV422P9LE: AVPixelFormat = 72;
4804pub const AVPixelFormat_AV_PIX_FMT_GBRP: AVPixelFormat = 73;
4805pub const AVPixelFormat_AV_PIX_FMT_GBR24P: AVPixelFormat = 73;
4806pub const AVPixelFormat_AV_PIX_FMT_GBRP9BE: AVPixelFormat = 74;
4807pub const AVPixelFormat_AV_PIX_FMT_GBRP9LE: AVPixelFormat = 75;
4808pub const AVPixelFormat_AV_PIX_FMT_GBRP10BE: AVPixelFormat = 76;
4809pub const AVPixelFormat_AV_PIX_FMT_GBRP10LE: AVPixelFormat = 77;
4810pub const AVPixelFormat_AV_PIX_FMT_GBRP16BE: AVPixelFormat = 78;
4811pub const AVPixelFormat_AV_PIX_FMT_GBRP16LE: AVPixelFormat = 79;
4812pub const AVPixelFormat_AV_PIX_FMT_YUVA422P: AVPixelFormat = 80;
4813pub const AVPixelFormat_AV_PIX_FMT_YUVA444P: AVPixelFormat = 81;
4814pub const AVPixelFormat_AV_PIX_FMT_YUVA420P9BE: AVPixelFormat = 82;
4815pub const AVPixelFormat_AV_PIX_FMT_YUVA420P9LE: AVPixelFormat = 83;
4816pub const AVPixelFormat_AV_PIX_FMT_YUVA422P9BE: AVPixelFormat = 84;
4817pub const AVPixelFormat_AV_PIX_FMT_YUVA422P9LE: AVPixelFormat = 85;
4818pub const AVPixelFormat_AV_PIX_FMT_YUVA444P9BE: AVPixelFormat = 86;
4819pub const AVPixelFormat_AV_PIX_FMT_YUVA444P9LE: AVPixelFormat = 87;
4820pub const AVPixelFormat_AV_PIX_FMT_YUVA420P10BE: AVPixelFormat = 88;
4821pub const AVPixelFormat_AV_PIX_FMT_YUVA420P10LE: AVPixelFormat = 89;
4822pub const AVPixelFormat_AV_PIX_FMT_YUVA422P10BE: AVPixelFormat = 90;
4823pub const AVPixelFormat_AV_PIX_FMT_YUVA422P10LE: AVPixelFormat = 91;
4824pub const AVPixelFormat_AV_PIX_FMT_YUVA444P10BE: AVPixelFormat = 92;
4825pub const AVPixelFormat_AV_PIX_FMT_YUVA444P10LE: AVPixelFormat = 93;
4826pub const AVPixelFormat_AV_PIX_FMT_YUVA420P16BE: AVPixelFormat = 94;
4827pub const AVPixelFormat_AV_PIX_FMT_YUVA420P16LE: AVPixelFormat = 95;
4828pub const AVPixelFormat_AV_PIX_FMT_YUVA422P16BE: AVPixelFormat = 96;
4829pub const AVPixelFormat_AV_PIX_FMT_YUVA422P16LE: AVPixelFormat = 97;
4830pub const AVPixelFormat_AV_PIX_FMT_YUVA444P16BE: AVPixelFormat = 98;
4831pub const AVPixelFormat_AV_PIX_FMT_YUVA444P16LE: AVPixelFormat = 99;
4832pub const AVPixelFormat_AV_PIX_FMT_VDPAU: AVPixelFormat = 100;
4833pub const AVPixelFormat_AV_PIX_FMT_XYZ12LE: AVPixelFormat = 101;
4834pub const AVPixelFormat_AV_PIX_FMT_XYZ12BE: AVPixelFormat = 102;
4835pub const AVPixelFormat_AV_PIX_FMT_NV16: AVPixelFormat = 103;
4836pub const AVPixelFormat_AV_PIX_FMT_NV20LE: AVPixelFormat = 104;
4837pub const AVPixelFormat_AV_PIX_FMT_NV20BE: AVPixelFormat = 105;
4838pub const AVPixelFormat_AV_PIX_FMT_RGBA64BE: AVPixelFormat = 106;
4839pub const AVPixelFormat_AV_PIX_FMT_RGBA64LE: AVPixelFormat = 107;
4840pub const AVPixelFormat_AV_PIX_FMT_BGRA64BE: AVPixelFormat = 108;
4841pub const AVPixelFormat_AV_PIX_FMT_BGRA64LE: AVPixelFormat = 109;
4842pub const AVPixelFormat_AV_PIX_FMT_YVYU422: AVPixelFormat = 110;
4843pub const AVPixelFormat_AV_PIX_FMT_YA16BE: AVPixelFormat = 111;
4844pub const AVPixelFormat_AV_PIX_FMT_YA16LE: AVPixelFormat = 112;
4845pub const AVPixelFormat_AV_PIX_FMT_GBRAP: AVPixelFormat = 113;
4846pub const AVPixelFormat_AV_PIX_FMT_GBRAP16BE: AVPixelFormat = 114;
4847pub const AVPixelFormat_AV_PIX_FMT_GBRAP16LE: AVPixelFormat = 115;
4848pub const AVPixelFormat_AV_PIX_FMT_QSV: AVPixelFormat = 116;
4849pub const AVPixelFormat_AV_PIX_FMT_MMAL: AVPixelFormat = 117;
4850pub const AVPixelFormat_AV_PIX_FMT_D3D11VA_VLD: AVPixelFormat = 118;
4851pub const AVPixelFormat_AV_PIX_FMT_CUDA: AVPixelFormat = 119;
4852pub const AVPixelFormat_AV_PIX_FMT_0RGB: AVPixelFormat = 120;
4853pub const AVPixelFormat_AV_PIX_FMT_RGB0: AVPixelFormat = 121;
4854pub const AVPixelFormat_AV_PIX_FMT_0BGR: AVPixelFormat = 122;
4855pub const AVPixelFormat_AV_PIX_FMT_BGR0: AVPixelFormat = 123;
4856pub const AVPixelFormat_AV_PIX_FMT_YUV420P12BE: AVPixelFormat = 124;
4857pub const AVPixelFormat_AV_PIX_FMT_YUV420P12LE: AVPixelFormat = 125;
4858pub const AVPixelFormat_AV_PIX_FMT_YUV420P14BE: AVPixelFormat = 126;
4859pub const AVPixelFormat_AV_PIX_FMT_YUV420P14LE: AVPixelFormat = 127;
4860pub const AVPixelFormat_AV_PIX_FMT_YUV422P12BE: AVPixelFormat = 128;
4861pub const AVPixelFormat_AV_PIX_FMT_YUV422P12LE: AVPixelFormat = 129;
4862pub const AVPixelFormat_AV_PIX_FMT_YUV422P14BE: AVPixelFormat = 130;
4863pub const AVPixelFormat_AV_PIX_FMT_YUV422P14LE: AVPixelFormat = 131;
4864pub const AVPixelFormat_AV_PIX_FMT_YUV444P12BE: AVPixelFormat = 132;
4865pub const AVPixelFormat_AV_PIX_FMT_YUV444P12LE: AVPixelFormat = 133;
4866pub const AVPixelFormat_AV_PIX_FMT_YUV444P14BE: AVPixelFormat = 134;
4867pub const AVPixelFormat_AV_PIX_FMT_YUV444P14LE: AVPixelFormat = 135;
4868pub const AVPixelFormat_AV_PIX_FMT_GBRP12BE: AVPixelFormat = 136;
4869pub const AVPixelFormat_AV_PIX_FMT_GBRP12LE: AVPixelFormat = 137;
4870pub const AVPixelFormat_AV_PIX_FMT_GBRP14BE: AVPixelFormat = 138;
4871pub const AVPixelFormat_AV_PIX_FMT_GBRP14LE: AVPixelFormat = 139;
4872pub const AVPixelFormat_AV_PIX_FMT_YUVJ411P: AVPixelFormat = 140;
4873pub const AVPixelFormat_AV_PIX_FMT_BAYER_BGGR8: AVPixelFormat = 141;
4874pub const AVPixelFormat_AV_PIX_FMT_BAYER_RGGB8: AVPixelFormat = 142;
4875pub const AVPixelFormat_AV_PIX_FMT_BAYER_GBRG8: AVPixelFormat = 143;
4876pub const AVPixelFormat_AV_PIX_FMT_BAYER_GRBG8: AVPixelFormat = 144;
4877pub const AVPixelFormat_AV_PIX_FMT_BAYER_BGGR16LE: AVPixelFormat = 145;
4878pub const AVPixelFormat_AV_PIX_FMT_BAYER_BGGR16BE: AVPixelFormat = 146;
4879pub const AVPixelFormat_AV_PIX_FMT_BAYER_RGGB16LE: AVPixelFormat = 147;
4880pub const AVPixelFormat_AV_PIX_FMT_BAYER_RGGB16BE: AVPixelFormat = 148;
4881pub const AVPixelFormat_AV_PIX_FMT_BAYER_GBRG16LE: AVPixelFormat = 149;
4882pub const AVPixelFormat_AV_PIX_FMT_BAYER_GBRG16BE: AVPixelFormat = 150;
4883pub const AVPixelFormat_AV_PIX_FMT_BAYER_GRBG16LE: AVPixelFormat = 151;
4884pub const AVPixelFormat_AV_PIX_FMT_BAYER_GRBG16BE: AVPixelFormat = 152;
4885pub const AVPixelFormat_AV_PIX_FMT_XVMC: AVPixelFormat = 153;
4886pub const AVPixelFormat_AV_PIX_FMT_YUV440P10LE: AVPixelFormat = 154;
4887pub const AVPixelFormat_AV_PIX_FMT_YUV440P10BE: AVPixelFormat = 155;
4888pub const AVPixelFormat_AV_PIX_FMT_YUV440P12LE: AVPixelFormat = 156;
4889pub const AVPixelFormat_AV_PIX_FMT_YUV440P12BE: AVPixelFormat = 157;
4890pub const AVPixelFormat_AV_PIX_FMT_AYUV64LE: AVPixelFormat = 158;
4891pub const AVPixelFormat_AV_PIX_FMT_AYUV64BE: AVPixelFormat = 159;
4892pub const AVPixelFormat_AV_PIX_FMT_VIDEOTOOLBOX: AVPixelFormat = 160;
4893pub const AVPixelFormat_AV_PIX_FMT_P010LE: AVPixelFormat = 161;
4894pub const AVPixelFormat_AV_PIX_FMT_P010BE: AVPixelFormat = 162;
4895pub const AVPixelFormat_AV_PIX_FMT_GBRAP12BE: AVPixelFormat = 163;
4896pub const AVPixelFormat_AV_PIX_FMT_GBRAP12LE: AVPixelFormat = 164;
4897pub const AVPixelFormat_AV_PIX_FMT_GBRAP10BE: AVPixelFormat = 165;
4898pub const AVPixelFormat_AV_PIX_FMT_GBRAP10LE: AVPixelFormat = 166;
4899pub const AVPixelFormat_AV_PIX_FMT_MEDIACODEC: AVPixelFormat = 167;
4900pub const AVPixelFormat_AV_PIX_FMT_GRAY12BE: AVPixelFormat = 168;
4901pub const AVPixelFormat_AV_PIX_FMT_GRAY12LE: AVPixelFormat = 169;
4902pub const AVPixelFormat_AV_PIX_FMT_GRAY10BE: AVPixelFormat = 170;
4903pub const AVPixelFormat_AV_PIX_FMT_GRAY10LE: AVPixelFormat = 171;
4904pub const AVPixelFormat_AV_PIX_FMT_P016LE: AVPixelFormat = 172;
4905pub const AVPixelFormat_AV_PIX_FMT_P016BE: AVPixelFormat = 173;
4906pub const AVPixelFormat_AV_PIX_FMT_D3D11: AVPixelFormat = 174;
4907pub const AVPixelFormat_AV_PIX_FMT_GRAY9BE: AVPixelFormat = 175;
4908pub const AVPixelFormat_AV_PIX_FMT_GRAY9LE: AVPixelFormat = 176;
4909pub const AVPixelFormat_AV_PIX_FMT_GBRPF32BE: AVPixelFormat = 177;
4910pub const AVPixelFormat_AV_PIX_FMT_GBRPF32LE: AVPixelFormat = 178;
4911pub const AVPixelFormat_AV_PIX_FMT_GBRAPF32BE: AVPixelFormat = 179;
4912pub const AVPixelFormat_AV_PIX_FMT_GBRAPF32LE: AVPixelFormat = 180;
4913pub const AVPixelFormat_AV_PIX_FMT_DRM_PRIME: AVPixelFormat = 181;
4914pub const AVPixelFormat_AV_PIX_FMT_OPENCL: AVPixelFormat = 182;
4915pub const AVPixelFormat_AV_PIX_FMT_GRAY14BE: AVPixelFormat = 183;
4916pub const AVPixelFormat_AV_PIX_FMT_GRAY14LE: AVPixelFormat = 184;
4917pub const AVPixelFormat_AV_PIX_FMT_GRAYF32BE: AVPixelFormat = 185;
4918pub const AVPixelFormat_AV_PIX_FMT_GRAYF32LE: AVPixelFormat = 186;
4919pub const AVPixelFormat_AV_PIX_FMT_YUVA422P12BE: AVPixelFormat = 187;
4920pub const AVPixelFormat_AV_PIX_FMT_YUVA422P12LE: AVPixelFormat = 188;
4921pub const AVPixelFormat_AV_PIX_FMT_YUVA444P12BE: AVPixelFormat = 189;
4922pub const AVPixelFormat_AV_PIX_FMT_YUVA444P12LE: AVPixelFormat = 190;
4923pub const AVPixelFormat_AV_PIX_FMT_NV24: AVPixelFormat = 191;
4924pub const AVPixelFormat_AV_PIX_FMT_NV42: AVPixelFormat = 192;
4925pub const AVPixelFormat_AV_PIX_FMT_NB: AVPixelFormat = 193;
4926pub type AVPixelFormat = i32;
4927pub const AVColorPrimaries_AVCOL_PRI_RESERVED0: AVColorPrimaries = 0;
4928pub const AVColorPrimaries_AVCOL_PRI_BT709: AVColorPrimaries = 1;
4929pub const AVColorPrimaries_AVCOL_PRI_UNSPECIFIED: AVColorPrimaries = 2;
4930pub const AVColorPrimaries_AVCOL_PRI_RESERVED: AVColorPrimaries = 3;
4931pub const AVColorPrimaries_AVCOL_PRI_BT470M: AVColorPrimaries = 4;
4932pub const AVColorPrimaries_AVCOL_PRI_BT470BG: AVColorPrimaries = 5;
4933pub const AVColorPrimaries_AVCOL_PRI_SMPTE170M: AVColorPrimaries = 6;
4934pub const AVColorPrimaries_AVCOL_PRI_SMPTE240M: AVColorPrimaries = 7;
4935pub const AVColorPrimaries_AVCOL_PRI_FILM: AVColorPrimaries = 8;
4936pub const AVColorPrimaries_AVCOL_PRI_BT2020: AVColorPrimaries = 9;
4937pub const AVColorPrimaries_AVCOL_PRI_SMPTE428: AVColorPrimaries = 10;
4938pub const AVColorPrimaries_AVCOL_PRI_SMPTEST428_1: AVColorPrimaries = 10;
4939pub const AVColorPrimaries_AVCOL_PRI_SMPTE431: AVColorPrimaries = 11;
4940pub const AVColorPrimaries_AVCOL_PRI_SMPTE432: AVColorPrimaries = 12;
4941pub const AVColorPrimaries_AVCOL_PRI_JEDEC_P22: AVColorPrimaries = 22;
4942pub const AVColorPrimaries_AVCOL_PRI_NB: AVColorPrimaries = 23;
4943pub type AVColorPrimaries = u32;
4944pub const AVColorTransferCharacteristic_AVCOL_TRC_RESERVED0: AVColorTransferCharacteristic = 0;
4945pub const AVColorTransferCharacteristic_AVCOL_TRC_BT709: AVColorTransferCharacteristic = 1;
4946pub const AVColorTransferCharacteristic_AVCOL_TRC_UNSPECIFIED: AVColorTransferCharacteristic = 2;
4947pub const AVColorTransferCharacteristic_AVCOL_TRC_RESERVED: AVColorTransferCharacteristic = 3;
4948pub const AVColorTransferCharacteristic_AVCOL_TRC_GAMMA22: AVColorTransferCharacteristic = 4;
4949pub const AVColorTransferCharacteristic_AVCOL_TRC_GAMMA28: AVColorTransferCharacteristic = 5;
4950pub const AVColorTransferCharacteristic_AVCOL_TRC_SMPTE170M: AVColorTransferCharacteristic = 6;
4951pub const AVColorTransferCharacteristic_AVCOL_TRC_SMPTE240M: AVColorTransferCharacteristic = 7;
4952pub const AVColorTransferCharacteristic_AVCOL_TRC_LINEAR: AVColorTransferCharacteristic = 8;
4953pub const AVColorTransferCharacteristic_AVCOL_TRC_LOG: AVColorTransferCharacteristic = 9;
4954pub const AVColorTransferCharacteristic_AVCOL_TRC_LOG_SQRT: AVColorTransferCharacteristic = 10;
4955pub const AVColorTransferCharacteristic_AVCOL_TRC_IEC61966_2_4: AVColorTransferCharacteristic = 11;
4956pub const AVColorTransferCharacteristic_AVCOL_TRC_BT1361_ECG: AVColorTransferCharacteristic = 12;
4957pub const AVColorTransferCharacteristic_AVCOL_TRC_IEC61966_2_1: AVColorTransferCharacteristic = 13;
4958pub const AVColorTransferCharacteristic_AVCOL_TRC_BT2020_10: AVColorTransferCharacteristic = 14;
4959pub const AVColorTransferCharacteristic_AVCOL_TRC_BT2020_12: AVColorTransferCharacteristic = 15;
4960pub const AVColorTransferCharacteristic_AVCOL_TRC_SMPTE2084: AVColorTransferCharacteristic = 16;
4961pub const AVColorTransferCharacteristic_AVCOL_TRC_SMPTEST2084: AVColorTransferCharacteristic = 16;
4962pub const AVColorTransferCharacteristic_AVCOL_TRC_SMPTE428: AVColorTransferCharacteristic = 17;
4963pub const AVColorTransferCharacteristic_AVCOL_TRC_SMPTEST428_1: AVColorTransferCharacteristic = 17;
4964pub const AVColorTransferCharacteristic_AVCOL_TRC_ARIB_STD_B67: AVColorTransferCharacteristic = 18;
4965pub const AVColorTransferCharacteristic_AVCOL_TRC_NB: AVColorTransferCharacteristic = 19;
4966pub type AVColorTransferCharacteristic = u32;
4967pub const AVColorSpace_AVCOL_SPC_RGB: AVColorSpace = 0;
4968pub const AVColorSpace_AVCOL_SPC_BT709: AVColorSpace = 1;
4969pub const AVColorSpace_AVCOL_SPC_UNSPECIFIED: AVColorSpace = 2;
4970pub const AVColorSpace_AVCOL_SPC_RESERVED: AVColorSpace = 3;
4971pub const AVColorSpace_AVCOL_SPC_FCC: AVColorSpace = 4;
4972pub const AVColorSpace_AVCOL_SPC_BT470BG: AVColorSpace = 5;
4973pub const AVColorSpace_AVCOL_SPC_SMPTE170M: AVColorSpace = 6;
4974pub const AVColorSpace_AVCOL_SPC_SMPTE240M: AVColorSpace = 7;
4975pub const AVColorSpace_AVCOL_SPC_YCGCO: AVColorSpace = 8;
4976pub const AVColorSpace_AVCOL_SPC_YCOCG: AVColorSpace = 8;
4977pub const AVColorSpace_AVCOL_SPC_BT2020_NCL: AVColorSpace = 9;
4978pub const AVColorSpace_AVCOL_SPC_BT2020_CL: AVColorSpace = 10;
4979pub const AVColorSpace_AVCOL_SPC_SMPTE2085: AVColorSpace = 11;
4980pub const AVColorSpace_AVCOL_SPC_CHROMA_DERIVED_NCL: AVColorSpace = 12;
4981pub const AVColorSpace_AVCOL_SPC_CHROMA_DERIVED_CL: AVColorSpace = 13;
4982pub const AVColorSpace_AVCOL_SPC_ICTCP: AVColorSpace = 14;
4983pub const AVColorSpace_AVCOL_SPC_NB: AVColorSpace = 15;
4984pub type AVColorSpace = u32;
4985pub const AVColorRange_AVCOL_RANGE_UNSPECIFIED: AVColorRange = 0;
4986pub const AVColorRange_AVCOL_RANGE_MPEG: AVColorRange = 1;
4987pub const AVColorRange_AVCOL_RANGE_JPEG: AVColorRange = 2;
4988pub const AVColorRange_AVCOL_RANGE_NB: AVColorRange = 3;
4989pub type AVColorRange = u32;
4990pub const AVChromaLocation_AVCHROMA_LOC_UNSPECIFIED: AVChromaLocation = 0;
4991pub const AVChromaLocation_AVCHROMA_LOC_LEFT: AVChromaLocation = 1;
4992pub const AVChromaLocation_AVCHROMA_LOC_CENTER: AVChromaLocation = 2;
4993pub const AVChromaLocation_AVCHROMA_LOC_TOPLEFT: AVChromaLocation = 3;
4994pub const AVChromaLocation_AVCHROMA_LOC_TOP: AVChromaLocation = 4;
4995pub const AVChromaLocation_AVCHROMA_LOC_BOTTOMLEFT: AVChromaLocation = 5;
4996pub const AVChromaLocation_AVCHROMA_LOC_BOTTOM: AVChromaLocation = 6;
4997pub const AVChromaLocation_AVCHROMA_LOC_NB: AVChromaLocation = 7;
4998pub type AVChromaLocation = u32;
4999extern "C" {
5000    pub fn av_int_list_length_for_size(
5001        elsize: ::std::os::raw::c_uint,
5002        list: *const ::std::os::raw::c_void,
5003        term: u64,
5004    ) -> ::std::os::raw::c_uint;
5005}
5006extern "C" {
5007    pub fn av_fopen_utf8(
5008        path: *const ::std::os::raw::c_char,
5009        mode: *const ::std::os::raw::c_char,
5010    ) -> *mut FILE;
5011}
5012extern "C" {
5013    pub fn av_get_time_base_q() -> AVRational;
5014}
5015extern "C" {
5016    pub fn av_fourcc_make_string(
5017        buf: *mut ::std::os::raw::c_char,
5018        fourcc: u32,
5019    ) -> *mut ::std::os::raw::c_char;
5020}
5021extern "C" {
5022    pub fn av_malloc(size: usize) -> *mut ::std::os::raw::c_void;
5023}
5024extern "C" {
5025    pub fn av_mallocz(size: usize) -> *mut ::std::os::raw::c_void;
5026}
5027extern "C" {
5028    pub fn av_malloc_array(nmemb: usize, size: usize) -> *mut ::std::os::raw::c_void;
5029}
5030extern "C" {
5031    pub fn av_mallocz_array(nmemb: usize, size: usize) -> *mut ::std::os::raw::c_void;
5032}
5033extern "C" {
5034    pub fn av_calloc(nmemb: usize, size: usize) -> *mut ::std::os::raw::c_void;
5035}
5036extern "C" {
5037    pub fn av_realloc(ptr: *mut ::std::os::raw::c_void, size: usize)
5038        -> *mut ::std::os::raw::c_void;
5039}
5040extern "C" {
5041    pub fn av_reallocp(ptr: *mut ::std::os::raw::c_void, size: usize) -> ::std::os::raw::c_int;
5042}
5043extern "C" {
5044    pub fn av_realloc_f(
5045        ptr: *mut ::std::os::raw::c_void,
5046        nelem: usize,
5047        elsize: usize,
5048    ) -> *mut ::std::os::raw::c_void;
5049}
5050extern "C" {
5051    pub fn av_realloc_array(
5052        ptr: *mut ::std::os::raw::c_void,
5053        nmemb: usize,
5054        size: usize,
5055    ) -> *mut ::std::os::raw::c_void;
5056}
5057extern "C" {
5058    pub fn av_reallocp_array(
5059        ptr: *mut ::std::os::raw::c_void,
5060        nmemb: usize,
5061        size: usize,
5062    ) -> ::std::os::raw::c_int;
5063}
5064extern "C" {
5065    pub fn av_fast_realloc(
5066        ptr: *mut ::std::os::raw::c_void,
5067        size: *mut ::std::os::raw::c_uint,
5068        min_size: usize,
5069    ) -> *mut ::std::os::raw::c_void;
5070}
5071extern "C" {
5072    pub fn av_fast_malloc(
5073        ptr: *mut ::std::os::raw::c_void,
5074        size: *mut ::std::os::raw::c_uint,
5075        min_size: usize,
5076    );
5077}
5078extern "C" {
5079    pub fn av_fast_mallocz(
5080        ptr: *mut ::std::os::raw::c_void,
5081        size: *mut ::std::os::raw::c_uint,
5082        min_size: usize,
5083    );
5084}
5085extern "C" {
5086    pub fn av_free(ptr: *mut ::std::os::raw::c_void);
5087}
5088extern "C" {
5089    pub fn av_freep(ptr: *mut ::std::os::raw::c_void);
5090}
5091extern "C" {
5092    pub fn av_strdup(s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
5093}
5094extern "C" {
5095    pub fn av_strndup(s: *const ::std::os::raw::c_char, len: usize) -> *mut ::std::os::raw::c_char;
5096}
5097extern "C" {
5098    pub fn av_memdup(p: *const ::std::os::raw::c_void, size: usize) -> *mut ::std::os::raw::c_void;
5099}
5100extern "C" {
5101    pub fn av_memcpy_backptr(dst: *mut u8, back: ::std::os::raw::c_int, cnt: ::std::os::raw::c_int);
5102}
5103extern "C" {
5104    pub fn av_dynarray_add(
5105        tab_ptr: *mut ::std::os::raw::c_void,
5106        nb_ptr: *mut ::std::os::raw::c_int,
5107        elem: *mut ::std::os::raw::c_void,
5108    );
5109}
5110extern "C" {
5111    pub fn av_dynarray_add_nofree(
5112        tab_ptr: *mut ::std::os::raw::c_void,
5113        nb_ptr: *mut ::std::os::raw::c_int,
5114        elem: *mut ::std::os::raw::c_void,
5115    ) -> ::std::os::raw::c_int;
5116}
5117extern "C" {
5118    pub fn av_dynarray2_add(
5119        tab_ptr: *mut *mut ::std::os::raw::c_void,
5120        nb_ptr: *mut ::std::os::raw::c_int,
5121        elem_size: usize,
5122        elem_data: *const u8,
5123    ) -> *mut ::std::os::raw::c_void;
5124}
5125extern "C" {
5126    pub fn av_max_alloc(max: usize);
5127}
5128extern "C" {
5129    pub fn av_display_rotation_get(matrix: *const i32) -> f64;
5130}
5131extern "C" {
5132    pub fn av_display_rotation_set(matrix: *mut i32, angle: f64);
5133}
5134extern "C" {
5135    pub fn av_display_matrix_flip(
5136        matrix: *mut i32,
5137        hflip: ::std::os::raw::c_int,
5138        vflip: ::std::os::raw::c_int,
5139    );
5140}
5141#[repr(C)]
5142#[derive(Debug, Copy, Clone)]
5143pub struct AVSubsampleEncryptionInfo {
5144    pub bytes_of_clear_data: ::std::os::raw::c_uint,
5145    pub bytes_of_protected_data: ::std::os::raw::c_uint,
5146}
5147#[repr(C)]
5148#[derive(Debug, Copy, Clone)]
5149pub struct AVEncryptionInfo {
5150    pub scheme: u32,
5151    pub crypt_byte_block: u32,
5152    pub skip_byte_block: u32,
5153    pub key_id: *mut u8,
5154    pub key_id_size: u32,
5155    pub iv: *mut u8,
5156    pub iv_size: u32,
5157    pub subsamples: *mut AVSubsampleEncryptionInfo,
5158    pub subsample_count: u32,
5159}
5160#[repr(C)]
5161#[derive(Debug, Copy, Clone)]
5162pub struct AVEncryptionInitInfo {
5163    pub system_id: *mut u8,
5164    pub system_id_size: u32,
5165    pub key_ids: *mut *mut u8,
5166    pub num_key_ids: u32,
5167    pub key_id_size: u32,
5168    pub data: *mut u8,
5169    pub data_size: u32,
5170    pub next: *mut AVEncryptionInitInfo,
5171}
5172extern "C" {
5173    pub fn av_encryption_info_alloc(
5174        subsample_count: u32,
5175        key_id_size: u32,
5176        iv_size: u32,
5177    ) -> *mut AVEncryptionInfo;
5178}
5179extern "C" {
5180    pub fn av_encryption_info_clone(info: *const AVEncryptionInfo) -> *mut AVEncryptionInfo;
5181}
5182extern "C" {
5183    pub fn av_encryption_info_free(info: *mut AVEncryptionInfo);
5184}
5185extern "C" {
5186    pub fn av_encryption_info_get_side_data(
5187        side_data: *const u8,
5188        side_data_size: usize,
5189    ) -> *mut AVEncryptionInfo;
5190}
5191extern "C" {
5192    pub fn av_encryption_info_add_side_data(
5193        info: *const AVEncryptionInfo,
5194        side_data_size: *mut usize,
5195    ) -> *mut u8;
5196}
5197extern "C" {
5198    pub fn av_encryption_init_info_alloc(
5199        system_id_size: u32,
5200        num_key_ids: u32,
5201        key_id_size: u32,
5202        data_size: u32,
5203    ) -> *mut AVEncryptionInitInfo;
5204}
5205extern "C" {
5206    pub fn av_encryption_init_info_free(info: *mut AVEncryptionInitInfo);
5207}
5208extern "C" {
5209    pub fn av_encryption_init_info_get_side_data(
5210        side_data: *const u8,
5211        side_data_size: usize,
5212    ) -> *mut AVEncryptionInitInfo;
5213}
5214extern "C" {
5215    pub fn av_encryption_init_info_add_side_data(
5216        info: *const AVEncryptionInitInfo,
5217        side_data_size: *mut usize,
5218    ) -> *mut u8;
5219}
5220#[repr(C)]
5221#[derive(Debug, Copy, Clone)]
5222pub struct AVExpr {
5223    _unused: [u8; 0],
5224}
5225extern "C" {
5226    pub fn av_expr_parse_and_eval(
5227        res: *mut f64,
5228        s: *const ::std::os::raw::c_char,
5229        const_names: *const *const ::std::os::raw::c_char,
5230        const_values: *const f64,
5231        func1_names: *const *const ::std::os::raw::c_char,
5232        funcs1: *const ::std::option::Option<
5233            unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void, arg2: f64) -> f64,
5234        >,
5235        func2_names: *const *const ::std::os::raw::c_char,
5236        funcs2: *const ::std::option::Option<
5237            unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void, arg2: f64, arg3: f64) -> f64,
5238        >,
5239        opaque: *mut ::std::os::raw::c_void,
5240        log_offset: ::std::os::raw::c_int,
5241        log_ctx: *mut ::std::os::raw::c_void,
5242    ) -> ::std::os::raw::c_int;
5243}
5244extern "C" {
5245    pub fn av_expr_parse(
5246        expr: *mut *mut AVExpr,
5247        s: *const ::std::os::raw::c_char,
5248        const_names: *const *const ::std::os::raw::c_char,
5249        func1_names: *const *const ::std::os::raw::c_char,
5250        funcs1: *const ::std::option::Option<
5251            unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void, arg2: f64) -> f64,
5252        >,
5253        func2_names: *const *const ::std::os::raw::c_char,
5254        funcs2: *const ::std::option::Option<
5255            unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void, arg2: f64, arg3: f64) -> f64,
5256        >,
5257        log_offset: ::std::os::raw::c_int,
5258        log_ctx: *mut ::std::os::raw::c_void,
5259    ) -> ::std::os::raw::c_int;
5260}
5261extern "C" {
5262    pub fn av_expr_eval(
5263        e: *mut AVExpr,
5264        const_values: *const f64,
5265        opaque: *mut ::std::os::raw::c_void,
5266    ) -> f64;
5267}
5268extern "C" {
5269    pub fn av_expr_free(e: *mut AVExpr);
5270}
5271extern "C" {
5272    pub fn av_strtod(
5273        numstr: *const ::std::os::raw::c_char,
5274        tail: *mut *mut ::std::os::raw::c_char,
5275    ) -> f64;
5276}
5277extern "C" {
5278    pub fn av_file_map(
5279        filename: *const ::std::os::raw::c_char,
5280        bufptr: *mut *mut u8,
5281        size: *mut usize,
5282        log_offset: ::std::os::raw::c_int,
5283        log_ctx: *mut ::std::os::raw::c_void,
5284    ) -> ::std::os::raw::c_int;
5285}
5286extern "C" {
5287    pub fn av_file_unmap(bufptr: *mut u8, size: usize);
5288}
5289extern "C" {
5290    pub fn av_tempfile(
5291        prefix: *const ::std::os::raw::c_char,
5292        filename: *mut *mut ::std::os::raw::c_char,
5293        log_offset: ::std::os::raw::c_int,
5294        log_ctx: *mut ::std::os::raw::c_void,
5295    ) -> ::std::os::raw::c_int;
5296}
5297#[repr(C)]
5298#[derive(Debug, Copy, Clone)]
5299pub struct AVBuffer {
5300    _unused: [u8; 0],
5301}
5302#[repr(C)]
5303#[derive(Debug, Copy, Clone)]
5304pub struct AVBufferRef {
5305    pub buffer: *mut AVBuffer,
5306    pub data: *mut u8,
5307    pub size: ::std::os::raw::c_int,
5308}
5309extern "C" {
5310    pub fn av_buffer_alloc(size: ::std::os::raw::c_int) -> *mut AVBufferRef;
5311}
5312extern "C" {
5313    pub fn av_buffer_allocz(size: ::std::os::raw::c_int) -> *mut AVBufferRef;
5314}
5315extern "C" {
5316    pub fn av_buffer_create(
5317        data: *mut u8,
5318        size: ::std::os::raw::c_int,
5319        free: ::std::option::Option<
5320            unsafe extern "C" fn(opaque: *mut ::std::os::raw::c_void, data: *mut u8),
5321        >,
5322        opaque: *mut ::std::os::raw::c_void,
5323        flags: ::std::os::raw::c_int,
5324    ) -> *mut AVBufferRef;
5325}
5326extern "C" {
5327    pub fn av_buffer_default_free(opaque: *mut ::std::os::raw::c_void, data: *mut u8);
5328}
5329extern "C" {
5330    pub fn av_buffer_ref(buf: *mut AVBufferRef) -> *mut AVBufferRef;
5331}
5332extern "C" {
5333    pub fn av_buffer_unref(buf: *mut *mut AVBufferRef);
5334}
5335extern "C" {
5336    pub fn av_buffer_is_writable(buf: *const AVBufferRef) -> ::std::os::raw::c_int;
5337}
5338extern "C" {
5339    pub fn av_buffer_get_opaque(buf: *const AVBufferRef) -> *mut ::std::os::raw::c_void;
5340}
5341extern "C" {
5342    pub fn av_buffer_get_ref_count(buf: *const AVBufferRef) -> ::std::os::raw::c_int;
5343}
5344extern "C" {
5345    pub fn av_buffer_make_writable(buf: *mut *mut AVBufferRef) -> ::std::os::raw::c_int;
5346}
5347extern "C" {
5348    pub fn av_buffer_realloc(
5349        buf: *mut *mut AVBufferRef,
5350        size: ::std::os::raw::c_int,
5351    ) -> ::std::os::raw::c_int;
5352}
5353#[repr(C)]
5354#[derive(Debug, Copy, Clone)]
5355pub struct AVBufferPool {
5356    _unused: [u8; 0],
5357}
5358extern "C" {
5359    pub fn av_buffer_pool_init(
5360        size: ::std::os::raw::c_int,
5361        alloc: ::std::option::Option<
5362            unsafe extern "C" fn(size: ::std::os::raw::c_int) -> *mut AVBufferRef,
5363        >,
5364    ) -> *mut AVBufferPool;
5365}
5366extern "C" {
5367    pub fn av_buffer_pool_init2(
5368        size: ::std::os::raw::c_int,
5369        opaque: *mut ::std::os::raw::c_void,
5370        alloc: ::std::option::Option<
5371            unsafe extern "C" fn(
5372                opaque: *mut ::std::os::raw::c_void,
5373                size: ::std::os::raw::c_int,
5374            ) -> *mut AVBufferRef,
5375        >,
5376        pool_free: ::std::option::Option<unsafe extern "C" fn(opaque: *mut ::std::os::raw::c_void)>,
5377    ) -> *mut AVBufferPool;
5378}
5379extern "C" {
5380    pub fn av_buffer_pool_uninit(pool: *mut *mut AVBufferPool);
5381}
5382extern "C" {
5383    pub fn av_buffer_pool_get(pool: *mut AVBufferPool) -> *mut AVBufferRef;
5384}
5385pub const AVSampleFormat_AV_SAMPLE_FMT_NONE: AVSampleFormat = -1;
5386pub const AVSampleFormat_AV_SAMPLE_FMT_U8: AVSampleFormat = 0;
5387pub const AVSampleFormat_AV_SAMPLE_FMT_S16: AVSampleFormat = 1;
5388pub const AVSampleFormat_AV_SAMPLE_FMT_S32: AVSampleFormat = 2;
5389pub const AVSampleFormat_AV_SAMPLE_FMT_FLT: AVSampleFormat = 3;
5390pub const AVSampleFormat_AV_SAMPLE_FMT_DBL: AVSampleFormat = 4;
5391pub const AVSampleFormat_AV_SAMPLE_FMT_U8P: AVSampleFormat = 5;
5392pub const AVSampleFormat_AV_SAMPLE_FMT_S16P: AVSampleFormat = 6;
5393pub const AVSampleFormat_AV_SAMPLE_FMT_S32P: AVSampleFormat = 7;
5394pub const AVSampleFormat_AV_SAMPLE_FMT_FLTP: AVSampleFormat = 8;
5395pub const AVSampleFormat_AV_SAMPLE_FMT_DBLP: AVSampleFormat = 9;
5396pub const AVSampleFormat_AV_SAMPLE_FMT_S64: AVSampleFormat = 10;
5397pub const AVSampleFormat_AV_SAMPLE_FMT_S64P: AVSampleFormat = 11;
5398pub const AVSampleFormat_AV_SAMPLE_FMT_NB: AVSampleFormat = 12;
5399pub type AVSampleFormat = i32;
5400extern "C" {
5401    pub fn av_get_sample_fmt_name(sample_fmt: AVSampleFormat) -> *const ::std::os::raw::c_char;
5402}
5403extern "C" {
5404    pub fn av_get_sample_fmt(name: *const ::std::os::raw::c_char) -> AVSampleFormat;
5405}
5406extern "C" {
5407    pub fn av_get_alt_sample_fmt(
5408        sample_fmt: AVSampleFormat,
5409        planar: ::std::os::raw::c_int,
5410    ) -> AVSampleFormat;
5411}
5412extern "C" {
5413    pub fn av_get_packed_sample_fmt(sample_fmt: AVSampleFormat) -> AVSampleFormat;
5414}
5415extern "C" {
5416    pub fn av_get_planar_sample_fmt(sample_fmt: AVSampleFormat) -> AVSampleFormat;
5417}
5418extern "C" {
5419    pub fn av_get_sample_fmt_string(
5420        buf: *mut ::std::os::raw::c_char,
5421        buf_size: ::std::os::raw::c_int,
5422        sample_fmt: AVSampleFormat,
5423    ) -> *mut ::std::os::raw::c_char;
5424}
5425extern "C" {
5426    pub fn av_get_bytes_per_sample(sample_fmt: AVSampleFormat) -> ::std::os::raw::c_int;
5427}
5428extern "C" {
5429    pub fn av_sample_fmt_is_planar(sample_fmt: AVSampleFormat) -> ::std::os::raw::c_int;
5430}
5431extern "C" {
5432    pub fn av_samples_get_buffer_size(
5433        linesize: *mut ::std::os::raw::c_int,
5434        nb_channels: ::std::os::raw::c_int,
5435        nb_samples: ::std::os::raw::c_int,
5436        sample_fmt: AVSampleFormat,
5437        align: ::std::os::raw::c_int,
5438    ) -> ::std::os::raw::c_int;
5439}
5440extern "C" {
5441    pub fn av_samples_fill_arrays(
5442        audio_data: *mut *mut u8,
5443        linesize: *mut ::std::os::raw::c_int,
5444        buf: *const u8,
5445        nb_channels: ::std::os::raw::c_int,
5446        nb_samples: ::std::os::raw::c_int,
5447        sample_fmt: AVSampleFormat,
5448        align: ::std::os::raw::c_int,
5449    ) -> ::std::os::raw::c_int;
5450}
5451extern "C" {
5452    pub fn av_samples_alloc(
5453        audio_data: *mut *mut u8,
5454        linesize: *mut ::std::os::raw::c_int,
5455        nb_channels: ::std::os::raw::c_int,
5456        nb_samples: ::std::os::raw::c_int,
5457        sample_fmt: AVSampleFormat,
5458        align: ::std::os::raw::c_int,
5459    ) -> ::std::os::raw::c_int;
5460}
5461extern "C" {
5462    pub fn av_samples_alloc_array_and_samples(
5463        audio_data: *mut *mut *mut u8,
5464        linesize: *mut ::std::os::raw::c_int,
5465        nb_channels: ::std::os::raw::c_int,
5466        nb_samples: ::std::os::raw::c_int,
5467        sample_fmt: AVSampleFormat,
5468        align: ::std::os::raw::c_int,
5469    ) -> ::std::os::raw::c_int;
5470}
5471extern "C" {
5472    pub fn av_samples_copy(
5473        dst: *mut *mut u8,
5474        src: *const *mut u8,
5475        dst_offset: ::std::os::raw::c_int,
5476        src_offset: ::std::os::raw::c_int,
5477        nb_samples: ::std::os::raw::c_int,
5478        nb_channels: ::std::os::raw::c_int,
5479        sample_fmt: AVSampleFormat,
5480    ) -> ::std::os::raw::c_int;
5481}
5482extern "C" {
5483    pub fn av_samples_set_silence(
5484        audio_data: *mut *mut u8,
5485        offset: ::std::os::raw::c_int,
5486        nb_samples: ::std::os::raw::c_int,
5487        nb_channels: ::std::os::raw::c_int,
5488        sample_fmt: AVSampleFormat,
5489    ) -> ::std::os::raw::c_int;
5490}
5491pub const AVFrameSideDataType_AV_FRAME_DATA_PANSCAN: AVFrameSideDataType = 0;
5492pub const AVFrameSideDataType_AV_FRAME_DATA_A53_CC: AVFrameSideDataType = 1;
5493pub const AVFrameSideDataType_AV_FRAME_DATA_STEREO3D: AVFrameSideDataType = 2;
5494pub const AVFrameSideDataType_AV_FRAME_DATA_MATRIXENCODING: AVFrameSideDataType = 3;
5495pub const AVFrameSideDataType_AV_FRAME_DATA_DOWNMIX_INFO: AVFrameSideDataType = 4;
5496pub const AVFrameSideDataType_AV_FRAME_DATA_REPLAYGAIN: AVFrameSideDataType = 5;
5497pub const AVFrameSideDataType_AV_FRAME_DATA_DISPLAYMATRIX: AVFrameSideDataType = 6;
5498pub const AVFrameSideDataType_AV_FRAME_DATA_AFD: AVFrameSideDataType = 7;
5499pub const AVFrameSideDataType_AV_FRAME_DATA_MOTION_VECTORS: AVFrameSideDataType = 8;
5500pub const AVFrameSideDataType_AV_FRAME_DATA_SKIP_SAMPLES: AVFrameSideDataType = 9;
5501pub const AVFrameSideDataType_AV_FRAME_DATA_AUDIO_SERVICE_TYPE: AVFrameSideDataType = 10;
5502pub const AVFrameSideDataType_AV_FRAME_DATA_MASTERING_DISPLAY_METADATA: AVFrameSideDataType = 11;
5503pub const AVFrameSideDataType_AV_FRAME_DATA_GOP_TIMECODE: AVFrameSideDataType = 12;
5504pub const AVFrameSideDataType_AV_FRAME_DATA_SPHERICAL: AVFrameSideDataType = 13;
5505pub const AVFrameSideDataType_AV_FRAME_DATA_CONTENT_LIGHT_LEVEL: AVFrameSideDataType = 14;
5506pub const AVFrameSideDataType_AV_FRAME_DATA_ICC_PROFILE: AVFrameSideDataType = 15;
5507pub const AVFrameSideDataType_AV_FRAME_DATA_QP_TABLE_PROPERTIES: AVFrameSideDataType = 16;
5508pub const AVFrameSideDataType_AV_FRAME_DATA_QP_TABLE_DATA: AVFrameSideDataType = 17;
5509pub const AVFrameSideDataType_AV_FRAME_DATA_S12M_TIMECODE: AVFrameSideDataType = 18;
5510pub const AVFrameSideDataType_AV_FRAME_DATA_DYNAMIC_HDR_PLUS: AVFrameSideDataType = 19;
5511pub const AVFrameSideDataType_AV_FRAME_DATA_REGIONS_OF_INTEREST: AVFrameSideDataType = 20;
5512pub type AVFrameSideDataType = u32;
5513pub const AVActiveFormatDescription_AV_AFD_SAME: AVActiveFormatDescription = 8;
5514pub const AVActiveFormatDescription_AV_AFD_4_3: AVActiveFormatDescription = 9;
5515pub const AVActiveFormatDescription_AV_AFD_16_9: AVActiveFormatDescription = 10;
5516pub const AVActiveFormatDescription_AV_AFD_14_9: AVActiveFormatDescription = 11;
5517pub const AVActiveFormatDescription_AV_AFD_4_3_SP_14_9: AVActiveFormatDescription = 13;
5518pub const AVActiveFormatDescription_AV_AFD_16_9_SP_14_9: AVActiveFormatDescription = 14;
5519pub const AVActiveFormatDescription_AV_AFD_SP_4_3: AVActiveFormatDescription = 15;
5520pub type AVActiveFormatDescription = u32;
5521#[repr(C)]
5522#[derive(Debug, Copy, Clone)]
5523pub struct AVFrameSideData {
5524    pub type_: AVFrameSideDataType,
5525    pub data: *mut u8,
5526    pub size: ::std::os::raw::c_int,
5527    pub metadata: *mut AVDictionary,
5528    pub buf: *mut AVBufferRef,
5529}
5530#[repr(C)]
5531#[derive(Debug, Copy, Clone)]
5532pub struct AVRegionOfInterest {
5533    pub self_size: u32,
5534    pub top: ::std::os::raw::c_int,
5535    pub bottom: ::std::os::raw::c_int,
5536    pub left: ::std::os::raw::c_int,
5537    pub right: ::std::os::raw::c_int,
5538    pub qoffset: AVRational,
5539}
5540#[repr(C)]
5541#[derive(Debug, Copy, Clone)]
5542pub struct AVFrame {
5543    pub data: [*mut u8; 8usize],
5544    pub linesize: [::std::os::raw::c_int; 8usize],
5545    pub extended_data: *mut *mut u8,
5546    pub width: ::std::os::raw::c_int,
5547    pub height: ::std::os::raw::c_int,
5548    pub nb_samples: ::std::os::raw::c_int,
5549    pub format: ::std::os::raw::c_int,
5550    pub key_frame: ::std::os::raw::c_int,
5551    pub pict_type: AVPictureType,
5552    pub sample_aspect_ratio: AVRational,
5553    pub pts: i64,
5554    pub pkt_pts: i64,
5555    pub pkt_dts: i64,
5556    pub coded_picture_number: ::std::os::raw::c_int,
5557    pub display_picture_number: ::std::os::raw::c_int,
5558    pub quality: ::std::os::raw::c_int,
5559    pub opaque: *mut ::std::os::raw::c_void,
5560    pub error: [u64; 8usize],
5561    pub repeat_pict: ::std::os::raw::c_int,
5562    pub interlaced_frame: ::std::os::raw::c_int,
5563    pub top_field_first: ::std::os::raw::c_int,
5564    pub palette_has_changed: ::std::os::raw::c_int,
5565    pub reordered_opaque: i64,
5566    pub sample_rate: ::std::os::raw::c_int,
5567    pub channel_layout: u64,
5568    pub buf: [*mut AVBufferRef; 8usize],
5569    pub extended_buf: *mut *mut AVBufferRef,
5570    pub nb_extended_buf: ::std::os::raw::c_int,
5571    pub side_data: *mut *mut AVFrameSideData,
5572    pub nb_side_data: ::std::os::raw::c_int,
5573    pub flags: ::std::os::raw::c_int,
5574    pub color_range: AVColorRange,
5575    pub color_primaries: AVColorPrimaries,
5576    pub color_trc: AVColorTransferCharacteristic,
5577    pub colorspace: AVColorSpace,
5578    pub chroma_location: AVChromaLocation,
5579    pub best_effort_timestamp: i64,
5580    pub pkt_pos: i64,
5581    pub pkt_duration: i64,
5582    pub metadata: *mut AVDictionary,
5583    pub decode_error_flags: ::std::os::raw::c_int,
5584    pub channels: ::std::os::raw::c_int,
5585    pub pkt_size: ::std::os::raw::c_int,
5586    pub qscale_table: *mut i8,
5587    pub qstride: ::std::os::raw::c_int,
5588    pub qscale_type: ::std::os::raw::c_int,
5589    pub qp_table_buf: *mut AVBufferRef,
5590    pub hw_frames_ctx: *mut AVBufferRef,
5591    pub opaque_ref: *mut AVBufferRef,
5592    pub crop_top: usize,
5593    pub crop_bottom: usize,
5594    pub crop_left: usize,
5595    pub crop_right: usize,
5596    pub private_ref: *mut AVBufferRef,
5597}
5598extern "C" {
5599    pub fn av_frame_get_best_effort_timestamp(frame: *const AVFrame) -> i64;
5600}
5601extern "C" {
5602    pub fn av_frame_set_best_effort_timestamp(frame: *mut AVFrame, val: i64);
5603}
5604extern "C" {
5605    pub fn av_frame_get_pkt_duration(frame: *const AVFrame) -> i64;
5606}
5607extern "C" {
5608    pub fn av_frame_set_pkt_duration(frame: *mut AVFrame, val: i64);
5609}
5610extern "C" {
5611    pub fn av_frame_get_pkt_pos(frame: *const AVFrame) -> i64;
5612}
5613extern "C" {
5614    pub fn av_frame_set_pkt_pos(frame: *mut AVFrame, val: i64);
5615}
5616extern "C" {
5617    pub fn av_frame_get_channel_layout(frame: *const AVFrame) -> i64;
5618}
5619extern "C" {
5620    pub fn av_frame_set_channel_layout(frame: *mut AVFrame, val: i64);
5621}
5622extern "C" {
5623    pub fn av_frame_get_channels(frame: *const AVFrame) -> ::std::os::raw::c_int;
5624}
5625extern "C" {
5626    pub fn av_frame_set_channels(frame: *mut AVFrame, val: ::std::os::raw::c_int);
5627}
5628extern "C" {
5629    pub fn av_frame_get_sample_rate(frame: *const AVFrame) -> ::std::os::raw::c_int;
5630}
5631extern "C" {
5632    pub fn av_frame_set_sample_rate(frame: *mut AVFrame, val: ::std::os::raw::c_int);
5633}
5634extern "C" {
5635    pub fn av_frame_get_metadata(frame: *const AVFrame) -> *mut AVDictionary;
5636}
5637extern "C" {
5638    pub fn av_frame_set_metadata(frame: *mut AVFrame, val: *mut AVDictionary);
5639}
5640extern "C" {
5641    pub fn av_frame_get_decode_error_flags(frame: *const AVFrame) -> ::std::os::raw::c_int;
5642}
5643extern "C" {
5644    pub fn av_frame_set_decode_error_flags(frame: *mut AVFrame, val: ::std::os::raw::c_int);
5645}
5646extern "C" {
5647    pub fn av_frame_get_pkt_size(frame: *const AVFrame) -> ::std::os::raw::c_int;
5648}
5649extern "C" {
5650    pub fn av_frame_set_pkt_size(frame: *mut AVFrame, val: ::std::os::raw::c_int);
5651}
5652extern "C" {
5653    pub fn av_frame_get_qp_table(
5654        f: *mut AVFrame,
5655        stride: *mut ::std::os::raw::c_int,
5656        type_: *mut ::std::os::raw::c_int,
5657    ) -> *mut i8;
5658}
5659extern "C" {
5660    pub fn av_frame_set_qp_table(
5661        f: *mut AVFrame,
5662        buf: *mut AVBufferRef,
5663        stride: ::std::os::raw::c_int,
5664        type_: ::std::os::raw::c_int,
5665    ) -> ::std::os::raw::c_int;
5666}
5667extern "C" {
5668    pub fn av_frame_get_colorspace(frame: *const AVFrame) -> AVColorSpace;
5669}
5670extern "C" {
5671    pub fn av_frame_set_colorspace(frame: *mut AVFrame, val: AVColorSpace);
5672}
5673extern "C" {
5674    pub fn av_frame_get_color_range(frame: *const AVFrame) -> AVColorRange;
5675}
5676extern "C" {
5677    pub fn av_frame_set_color_range(frame: *mut AVFrame, val: AVColorRange);
5678}
5679extern "C" {
5680    pub fn av_get_colorspace_name(val: AVColorSpace) -> *const ::std::os::raw::c_char;
5681}
5682extern "C" {
5683    pub fn av_frame_alloc() -> *mut AVFrame;
5684}
5685extern "C" {
5686    pub fn av_frame_free(frame: *mut *mut AVFrame);
5687}
5688extern "C" {
5689    pub fn av_frame_ref(dst: *mut AVFrame, src: *const AVFrame) -> ::std::os::raw::c_int;
5690}
5691extern "C" {
5692    pub fn av_frame_clone(src: *const AVFrame) -> *mut AVFrame;
5693}
5694extern "C" {
5695    pub fn av_frame_unref(frame: *mut AVFrame);
5696}
5697extern "C" {
5698    pub fn av_frame_move_ref(dst: *mut AVFrame, src: *mut AVFrame);
5699}
5700extern "C" {
5701    pub fn av_frame_get_buffer(
5702        frame: *mut AVFrame,
5703        align: ::std::os::raw::c_int,
5704    ) -> ::std::os::raw::c_int;
5705}
5706extern "C" {
5707    pub fn av_frame_is_writable(frame: *mut AVFrame) -> ::std::os::raw::c_int;
5708}
5709extern "C" {
5710    pub fn av_frame_make_writable(frame: *mut AVFrame) -> ::std::os::raw::c_int;
5711}
5712extern "C" {
5713    pub fn av_frame_copy(dst: *mut AVFrame, src: *const AVFrame) -> ::std::os::raw::c_int;
5714}
5715extern "C" {
5716    pub fn av_frame_copy_props(dst: *mut AVFrame, src: *const AVFrame) -> ::std::os::raw::c_int;
5717}
5718extern "C" {
5719    pub fn av_frame_get_plane_buffer(
5720        frame: *mut AVFrame,
5721        plane: ::std::os::raw::c_int,
5722    ) -> *mut AVBufferRef;
5723}
5724extern "C" {
5725    pub fn av_frame_new_side_data(
5726        frame: *mut AVFrame,
5727        type_: AVFrameSideDataType,
5728        size: ::std::os::raw::c_int,
5729    ) -> *mut AVFrameSideData;
5730}
5731extern "C" {
5732    pub fn av_frame_new_side_data_from_buf(
5733        frame: *mut AVFrame,
5734        type_: AVFrameSideDataType,
5735        buf: *mut AVBufferRef,
5736    ) -> *mut AVFrameSideData;
5737}
5738extern "C" {
5739    pub fn av_frame_get_side_data(
5740        frame: *const AVFrame,
5741        type_: AVFrameSideDataType,
5742    ) -> *mut AVFrameSideData;
5743}
5744extern "C" {
5745    pub fn av_frame_remove_side_data(frame: *mut AVFrame, type_: AVFrameSideDataType);
5746}
5747pub const AV_FRAME_CROP_UNALIGNED: _bindgen_ty_2 = 1;
5748pub type _bindgen_ty_2 = u32;
5749extern "C" {
5750    pub fn av_frame_apply_cropping(
5751        frame: *mut AVFrame,
5752        flags: ::std::os::raw::c_int,
5753    ) -> ::std::os::raw::c_int;
5754}
5755extern "C" {
5756    pub fn av_frame_side_data_name(type_: AVFrameSideDataType) -> *const ::std::os::raw::c_char;
5757}
5758pub const AVHWDeviceType_AV_HWDEVICE_TYPE_NONE: AVHWDeviceType = 0;
5759pub const AVHWDeviceType_AV_HWDEVICE_TYPE_VDPAU: AVHWDeviceType = 1;
5760pub const AVHWDeviceType_AV_HWDEVICE_TYPE_CUDA: AVHWDeviceType = 2;
5761pub const AVHWDeviceType_AV_HWDEVICE_TYPE_VAAPI: AVHWDeviceType = 3;
5762pub const AVHWDeviceType_AV_HWDEVICE_TYPE_DXVA2: AVHWDeviceType = 4;
5763pub const AVHWDeviceType_AV_HWDEVICE_TYPE_QSV: AVHWDeviceType = 5;
5764pub const AVHWDeviceType_AV_HWDEVICE_TYPE_VIDEOTOOLBOX: AVHWDeviceType = 6;
5765pub const AVHWDeviceType_AV_HWDEVICE_TYPE_D3D11VA: AVHWDeviceType = 7;
5766pub const AVHWDeviceType_AV_HWDEVICE_TYPE_DRM: AVHWDeviceType = 8;
5767pub const AVHWDeviceType_AV_HWDEVICE_TYPE_OPENCL: AVHWDeviceType = 9;
5768pub const AVHWDeviceType_AV_HWDEVICE_TYPE_MEDIACODEC: AVHWDeviceType = 10;
5769pub type AVHWDeviceType = u32;
5770#[repr(C)]
5771#[derive(Debug, Copy, Clone)]
5772pub struct AVHWDeviceInternal {
5773    _unused: [u8; 0],
5774}
5775#[repr(C)]
5776#[derive(Debug, Copy, Clone)]
5777pub struct AVHWDeviceContext {
5778    pub av_class: *const AVClass,
5779    pub internal: *mut AVHWDeviceInternal,
5780    pub type_: AVHWDeviceType,
5781    pub hwctx: *mut ::std::os::raw::c_void,
5782    pub free: ::std::option::Option<unsafe extern "C" fn(ctx: *mut AVHWDeviceContext)>,
5783    pub user_opaque: *mut ::std::os::raw::c_void,
5784}
5785#[repr(C)]
5786#[derive(Debug, Copy, Clone)]
5787pub struct AVHWFramesInternal {
5788    _unused: [u8; 0],
5789}
5790#[repr(C)]
5791#[derive(Debug, Copy, Clone)]
5792pub struct AVHWFramesContext {
5793    pub av_class: *const AVClass,
5794    pub internal: *mut AVHWFramesInternal,
5795    pub device_ref: *mut AVBufferRef,
5796    pub device_ctx: *mut AVHWDeviceContext,
5797    pub hwctx: *mut ::std::os::raw::c_void,
5798    pub free: ::std::option::Option<unsafe extern "C" fn(ctx: *mut AVHWFramesContext)>,
5799    pub user_opaque: *mut ::std::os::raw::c_void,
5800    pub pool: *mut AVBufferPool,
5801    pub initial_pool_size: ::std::os::raw::c_int,
5802    pub format: AVPixelFormat,
5803    pub sw_format: AVPixelFormat,
5804    pub width: ::std::os::raw::c_int,
5805    pub height: ::std::os::raw::c_int,
5806}
5807extern "C" {
5808    pub fn av_hwdevice_find_type_by_name(name: *const ::std::os::raw::c_char) -> AVHWDeviceType;
5809}
5810extern "C" {
5811    pub fn av_hwdevice_get_type_name(type_: AVHWDeviceType) -> *const ::std::os::raw::c_char;
5812}
5813extern "C" {
5814    pub fn av_hwdevice_iterate_types(prev: AVHWDeviceType) -> AVHWDeviceType;
5815}
5816extern "C" {
5817    pub fn av_hwdevice_ctx_alloc(type_: AVHWDeviceType) -> *mut AVBufferRef;
5818}
5819extern "C" {
5820    pub fn av_hwdevice_ctx_init(ref_: *mut AVBufferRef) -> ::std::os::raw::c_int;
5821}
5822extern "C" {
5823    pub fn av_hwdevice_ctx_create(
5824        device_ctx: *mut *mut AVBufferRef,
5825        type_: AVHWDeviceType,
5826        device: *const ::std::os::raw::c_char,
5827        opts: *mut AVDictionary,
5828        flags: ::std::os::raw::c_int,
5829    ) -> ::std::os::raw::c_int;
5830}
5831extern "C" {
5832    pub fn av_hwdevice_ctx_create_derived(
5833        dst_ctx: *mut *mut AVBufferRef,
5834        type_: AVHWDeviceType,
5835        src_ctx: *mut AVBufferRef,
5836        flags: ::std::os::raw::c_int,
5837    ) -> ::std::os::raw::c_int;
5838}
5839extern "C" {
5840    pub fn av_hwframe_ctx_alloc(device_ctx: *mut AVBufferRef) -> *mut AVBufferRef;
5841}
5842extern "C" {
5843    pub fn av_hwframe_ctx_init(ref_: *mut AVBufferRef) -> ::std::os::raw::c_int;
5844}
5845extern "C" {
5846    pub fn av_hwframe_get_buffer(
5847        hwframe_ctx: *mut AVBufferRef,
5848        frame: *mut AVFrame,
5849        flags: ::std::os::raw::c_int,
5850    ) -> ::std::os::raw::c_int;
5851}
5852extern "C" {
5853    pub fn av_hwframe_transfer_data(
5854        dst: *mut AVFrame,
5855        src: *const AVFrame,
5856        flags: ::std::os::raw::c_int,
5857    ) -> ::std::os::raw::c_int;
5858}
5859pub const AVHWFrameTransferDirection_AV_HWFRAME_TRANSFER_DIRECTION_FROM:
5860    AVHWFrameTransferDirection = 0;
5861pub const AVHWFrameTransferDirection_AV_HWFRAME_TRANSFER_DIRECTION_TO: AVHWFrameTransferDirection =
5862    1;
5863pub type AVHWFrameTransferDirection = u32;
5864extern "C" {
5865    pub fn av_hwframe_transfer_get_formats(
5866        hwframe_ctx: *mut AVBufferRef,
5867        dir: AVHWFrameTransferDirection,
5868        formats: *mut *mut AVPixelFormat,
5869        flags: ::std::os::raw::c_int,
5870    ) -> ::std::os::raw::c_int;
5871}
5872#[repr(C)]
5873#[derive(Debug, Copy, Clone)]
5874pub struct AVHWFramesConstraints {
5875    pub valid_hw_formats: *mut AVPixelFormat,
5876    pub valid_sw_formats: *mut AVPixelFormat,
5877    pub min_width: ::std::os::raw::c_int,
5878    pub min_height: ::std::os::raw::c_int,
5879    pub max_width: ::std::os::raw::c_int,
5880    pub max_height: ::std::os::raw::c_int,
5881}
5882extern "C" {
5883    pub fn av_hwdevice_hwconfig_alloc(device_ctx: *mut AVBufferRef) -> *mut ::std::os::raw::c_void;
5884}
5885extern "C" {
5886    pub fn av_hwdevice_get_hwframe_constraints(
5887        ref_: *mut AVBufferRef,
5888        hwconfig: *const ::std::os::raw::c_void,
5889    ) -> *mut AVHWFramesConstraints;
5890}
5891extern "C" {
5892    pub fn av_hwframe_constraints_free(constraints: *mut *mut AVHWFramesConstraints);
5893}
5894pub const AV_HWFRAME_MAP_READ: _bindgen_ty_3 = 1;
5895pub const AV_HWFRAME_MAP_WRITE: _bindgen_ty_3 = 2;
5896pub const AV_HWFRAME_MAP_OVERWRITE: _bindgen_ty_3 = 4;
5897pub const AV_HWFRAME_MAP_DIRECT: _bindgen_ty_3 = 8;
5898pub type _bindgen_ty_3 = u32;
5899extern "C" {
5900    pub fn av_hwframe_map(
5901        dst: *mut AVFrame,
5902        src: *const AVFrame,
5903        flags: ::std::os::raw::c_int,
5904    ) -> ::std::os::raw::c_int;
5905}
5906extern "C" {
5907    pub fn av_hwframe_ctx_create_derived(
5908        derived_frame_ctx: *mut *mut AVBufferRef,
5909        format: AVPixelFormat,
5910        derived_device_ctx: *mut AVBufferRef,
5911        source_frame_ctx: *mut AVBufferRef,
5912        flags: ::std::os::raw::c_int,
5913    ) -> ::std::os::raw::c_int;
5914}
5915#[repr(C)]
5916#[derive(Debug, Copy, Clone)]
5917pub struct AVComponentDescriptor {
5918    pub plane: ::std::os::raw::c_int,
5919    pub step: ::std::os::raw::c_int,
5920    pub offset: ::std::os::raw::c_int,
5921    pub shift: ::std::os::raw::c_int,
5922    pub depth: ::std::os::raw::c_int,
5923    pub step_minus1: ::std::os::raw::c_int,
5924    pub depth_minus1: ::std::os::raw::c_int,
5925    pub offset_plus1: ::std::os::raw::c_int,
5926}
5927#[repr(C)]
5928#[derive(Debug, Copy, Clone)]
5929pub struct AVPixFmtDescriptor {
5930    pub name: *const ::std::os::raw::c_char,
5931    pub nb_components: u8,
5932    pub log2_chroma_w: u8,
5933    pub log2_chroma_h: u8,
5934    pub flags: u64,
5935    pub comp: [AVComponentDescriptor; 4usize],
5936    pub alias: *const ::std::os::raw::c_char,
5937}
5938extern "C" {
5939    pub fn av_get_bits_per_pixel(pixdesc: *const AVPixFmtDescriptor) -> ::std::os::raw::c_int;
5940}
5941extern "C" {
5942    pub fn av_get_padded_bits_per_pixel(
5943        pixdesc: *const AVPixFmtDescriptor,
5944    ) -> ::std::os::raw::c_int;
5945}
5946extern "C" {
5947    pub fn av_pix_fmt_desc_get(pix_fmt: AVPixelFormat) -> *const AVPixFmtDescriptor;
5948}
5949extern "C" {
5950    pub fn av_pix_fmt_desc_next(prev: *const AVPixFmtDescriptor) -> *const AVPixFmtDescriptor;
5951}
5952extern "C" {
5953    pub fn av_pix_fmt_desc_get_id(desc: *const AVPixFmtDescriptor) -> AVPixelFormat;
5954}
5955extern "C" {
5956    pub fn av_pix_fmt_get_chroma_sub_sample(
5957        pix_fmt: AVPixelFormat,
5958        h_shift: *mut ::std::os::raw::c_int,
5959        v_shift: *mut ::std::os::raw::c_int,
5960    ) -> ::std::os::raw::c_int;
5961}
5962extern "C" {
5963    pub fn av_pix_fmt_count_planes(pix_fmt: AVPixelFormat) -> ::std::os::raw::c_int;
5964}
5965extern "C" {
5966    pub fn av_color_range_name(range: AVColorRange) -> *const ::std::os::raw::c_char;
5967}
5968extern "C" {
5969    pub fn av_color_range_from_name(name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
5970}
5971extern "C" {
5972    pub fn av_color_primaries_name(primaries: AVColorPrimaries) -> *const ::std::os::raw::c_char;
5973}
5974extern "C" {
5975    pub fn av_color_primaries_from_name(
5976        name: *const ::std::os::raw::c_char,
5977    ) -> ::std::os::raw::c_int;
5978}
5979extern "C" {
5980    pub fn av_color_transfer_name(
5981        transfer: AVColorTransferCharacteristic,
5982    ) -> *const ::std::os::raw::c_char;
5983}
5984extern "C" {
5985    pub fn av_color_transfer_from_name(
5986        name: *const ::std::os::raw::c_char,
5987    ) -> ::std::os::raw::c_int;
5988}
5989extern "C" {
5990    pub fn av_color_space_name(space: AVColorSpace) -> *const ::std::os::raw::c_char;
5991}
5992extern "C" {
5993    pub fn av_color_space_from_name(name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
5994}
5995extern "C" {
5996    pub fn av_chroma_location_name(location: AVChromaLocation) -> *const ::std::os::raw::c_char;
5997}
5998extern "C" {
5999    pub fn av_chroma_location_from_name(
6000        name: *const ::std::os::raw::c_char,
6001    ) -> ::std::os::raw::c_int;
6002}
6003extern "C" {
6004    pub fn av_get_pix_fmt(name: *const ::std::os::raw::c_char) -> AVPixelFormat;
6005}
6006extern "C" {
6007    pub fn av_get_pix_fmt_name(pix_fmt: AVPixelFormat) -> *const ::std::os::raw::c_char;
6008}
6009extern "C" {
6010    pub fn av_get_pix_fmt_string(
6011        buf: *mut ::std::os::raw::c_char,
6012        buf_size: ::std::os::raw::c_int,
6013        pix_fmt: AVPixelFormat,
6014    ) -> *mut ::std::os::raw::c_char;
6015}
6016extern "C" {
6017    pub fn av_read_image_line2(
6018        dst: *mut ::std::os::raw::c_void,
6019        data: *mut *const u8,
6020        linesize: *const ::std::os::raw::c_int,
6021        desc: *const AVPixFmtDescriptor,
6022        x: ::std::os::raw::c_int,
6023        y: ::std::os::raw::c_int,
6024        c: ::std::os::raw::c_int,
6025        w: ::std::os::raw::c_int,
6026        read_pal_component: ::std::os::raw::c_int,
6027        dst_element_size: ::std::os::raw::c_int,
6028    );
6029}
6030extern "C" {
6031    pub fn av_read_image_line(
6032        dst: *mut u16,
6033        data: *mut *const u8,
6034        linesize: *const ::std::os::raw::c_int,
6035        desc: *const AVPixFmtDescriptor,
6036        x: ::std::os::raw::c_int,
6037        y: ::std::os::raw::c_int,
6038        c: ::std::os::raw::c_int,
6039        w: ::std::os::raw::c_int,
6040        read_pal_component: ::std::os::raw::c_int,
6041    );
6042}
6043extern "C" {
6044    pub fn av_write_image_line2(
6045        src: *const ::std::os::raw::c_void,
6046        data: *mut *mut u8,
6047        linesize: *const ::std::os::raw::c_int,
6048        desc: *const AVPixFmtDescriptor,
6049        x: ::std::os::raw::c_int,
6050        y: ::std::os::raw::c_int,
6051        c: ::std::os::raw::c_int,
6052        w: ::std::os::raw::c_int,
6053        src_element_size: ::std::os::raw::c_int,
6054    );
6055}
6056extern "C" {
6057    pub fn av_write_image_line(
6058        src: *const u16,
6059        data: *mut *mut u8,
6060        linesize: *const ::std::os::raw::c_int,
6061        desc: *const AVPixFmtDescriptor,
6062        x: ::std::os::raw::c_int,
6063        y: ::std::os::raw::c_int,
6064        c: ::std::os::raw::c_int,
6065        w: ::std::os::raw::c_int,
6066    );
6067}
6068extern "C" {
6069    pub fn av_pix_fmt_swap_endianness(pix_fmt: AVPixelFormat) -> AVPixelFormat;
6070}
6071extern "C" {
6072    pub fn av_get_pix_fmt_loss(
6073        dst_pix_fmt: AVPixelFormat,
6074        src_pix_fmt: AVPixelFormat,
6075        has_alpha: ::std::os::raw::c_int,
6076    ) -> ::std::os::raw::c_int;
6077}
6078extern "C" {
6079    pub fn av_find_best_pix_fmt_of_2(
6080        dst_pix_fmt1: AVPixelFormat,
6081        dst_pix_fmt2: AVPixelFormat,
6082        src_pix_fmt: AVPixelFormat,
6083        has_alpha: ::std::os::raw::c_int,
6084        loss_ptr: *mut ::std::os::raw::c_int,
6085    ) -> AVPixelFormat;
6086}
6087extern "C" {
6088    pub fn av_image_fill_max_pixsteps(
6089        max_pixsteps: *mut ::std::os::raw::c_int,
6090        max_pixstep_comps: *mut ::std::os::raw::c_int,
6091        pixdesc: *const AVPixFmtDescriptor,
6092    );
6093}
6094extern "C" {
6095    pub fn av_image_get_linesize(
6096        pix_fmt: AVPixelFormat,
6097        width: ::std::os::raw::c_int,
6098        plane: ::std::os::raw::c_int,
6099    ) -> ::std::os::raw::c_int;
6100}
6101extern "C" {
6102    pub fn av_image_fill_linesizes(
6103        linesizes: *mut ::std::os::raw::c_int,
6104        pix_fmt: AVPixelFormat,
6105        width: ::std::os::raw::c_int,
6106    ) -> ::std::os::raw::c_int;
6107}
6108extern "C" {
6109    pub fn av_image_fill_pointers(
6110        data: *mut *mut u8,
6111        pix_fmt: AVPixelFormat,
6112        height: ::std::os::raw::c_int,
6113        ptr: *mut u8,
6114        linesizes: *const ::std::os::raw::c_int,
6115    ) -> ::std::os::raw::c_int;
6116}
6117extern "C" {
6118    pub fn av_image_alloc(
6119        pointers: *mut *mut u8,
6120        linesizes: *mut ::std::os::raw::c_int,
6121        w: ::std::os::raw::c_int,
6122        h: ::std::os::raw::c_int,
6123        pix_fmt: AVPixelFormat,
6124        align: ::std::os::raw::c_int,
6125    ) -> ::std::os::raw::c_int;
6126}
6127extern "C" {
6128    pub fn av_image_copy_plane(
6129        dst: *mut u8,
6130        dst_linesize: ::std::os::raw::c_int,
6131        src: *const u8,
6132        src_linesize: ::std::os::raw::c_int,
6133        bytewidth: ::std::os::raw::c_int,
6134        height: ::std::os::raw::c_int,
6135    );
6136}
6137extern "C" {
6138    pub fn av_image_copy(
6139        dst_data: *mut *mut u8,
6140        dst_linesizes: *mut ::std::os::raw::c_int,
6141        src_data: *mut *const u8,
6142        src_linesizes: *const ::std::os::raw::c_int,
6143        pix_fmt: AVPixelFormat,
6144        width: ::std::os::raw::c_int,
6145        height: ::std::os::raw::c_int,
6146    );
6147}
6148extern "C" {
6149    pub fn av_image_copy_uc_from(
6150        dst_data: *mut *mut u8,
6151        dst_linesizes: *const isize,
6152        src_data: *mut *const u8,
6153        src_linesizes: *const isize,
6154        pix_fmt: AVPixelFormat,
6155        width: ::std::os::raw::c_int,
6156        height: ::std::os::raw::c_int,
6157    );
6158}
6159extern "C" {
6160    pub fn av_image_fill_arrays(
6161        dst_data: *mut *mut u8,
6162        dst_linesize: *mut ::std::os::raw::c_int,
6163        src: *const u8,
6164        pix_fmt: AVPixelFormat,
6165        width: ::std::os::raw::c_int,
6166        height: ::std::os::raw::c_int,
6167        align: ::std::os::raw::c_int,
6168    ) -> ::std::os::raw::c_int;
6169}
6170extern "C" {
6171    pub fn av_image_get_buffer_size(
6172        pix_fmt: AVPixelFormat,
6173        width: ::std::os::raw::c_int,
6174        height: ::std::os::raw::c_int,
6175        align: ::std::os::raw::c_int,
6176    ) -> ::std::os::raw::c_int;
6177}
6178extern "C" {
6179    pub fn av_image_copy_to_buffer(
6180        dst: *mut u8,
6181        dst_size: ::std::os::raw::c_int,
6182        src_data: *const *const u8,
6183        src_linesize: *const ::std::os::raw::c_int,
6184        pix_fmt: AVPixelFormat,
6185        width: ::std::os::raw::c_int,
6186        height: ::std::os::raw::c_int,
6187        align: ::std::os::raw::c_int,
6188    ) -> ::std::os::raw::c_int;
6189}
6190extern "C" {
6191    pub fn av_image_check_size(
6192        w: ::std::os::raw::c_uint,
6193        h: ::std::os::raw::c_uint,
6194        log_offset: ::std::os::raw::c_int,
6195        log_ctx: *mut ::std::os::raw::c_void,
6196    ) -> ::std::os::raw::c_int;
6197}
6198extern "C" {
6199    pub fn av_image_check_size2(
6200        w: ::std::os::raw::c_uint,
6201        h: ::std::os::raw::c_uint,
6202        max_pixels: i64,
6203        pix_fmt: AVPixelFormat,
6204        log_offset: ::std::os::raw::c_int,
6205        log_ctx: *mut ::std::os::raw::c_void,
6206    ) -> ::std::os::raw::c_int;
6207}
6208extern "C" {
6209    pub fn av_image_check_sar(
6210        w: ::std::os::raw::c_uint,
6211        h: ::std::os::raw::c_uint,
6212        sar: AVRational,
6213    ) -> ::std::os::raw::c_int;
6214}
6215extern "C" {
6216    pub fn av_image_fill_black(
6217        dst_data: *mut *mut u8,
6218        dst_linesize: *const isize,
6219        pix_fmt: AVPixelFormat,
6220        range: AVColorRange,
6221        width: ::std::os::raw::c_int,
6222        height: ::std::os::raw::c_int,
6223    ) -> ::std::os::raw::c_int;
6224}
6225pub const AVOptionType_AV_OPT_TYPE_FLAGS: AVOptionType = 0;
6226pub const AVOptionType_AV_OPT_TYPE_INT: AVOptionType = 1;
6227pub const AVOptionType_AV_OPT_TYPE_INT64: AVOptionType = 2;
6228pub const AVOptionType_AV_OPT_TYPE_DOUBLE: AVOptionType = 3;
6229pub const AVOptionType_AV_OPT_TYPE_FLOAT: AVOptionType = 4;
6230pub const AVOptionType_AV_OPT_TYPE_STRING: AVOptionType = 5;
6231pub const AVOptionType_AV_OPT_TYPE_RATIONAL: AVOptionType = 6;
6232pub const AVOptionType_AV_OPT_TYPE_BINARY: AVOptionType = 7;
6233pub const AVOptionType_AV_OPT_TYPE_DICT: AVOptionType = 8;
6234pub const AVOptionType_AV_OPT_TYPE_UINT64: AVOptionType = 9;
6235pub const AVOptionType_AV_OPT_TYPE_CONST: AVOptionType = 10;
6236pub const AVOptionType_AV_OPT_TYPE_IMAGE_SIZE: AVOptionType = 11;
6237pub const AVOptionType_AV_OPT_TYPE_PIXEL_FMT: AVOptionType = 12;
6238pub const AVOptionType_AV_OPT_TYPE_SAMPLE_FMT: AVOptionType = 13;
6239pub const AVOptionType_AV_OPT_TYPE_VIDEO_RATE: AVOptionType = 14;
6240pub const AVOptionType_AV_OPT_TYPE_DURATION: AVOptionType = 15;
6241pub const AVOptionType_AV_OPT_TYPE_COLOR: AVOptionType = 16;
6242pub const AVOptionType_AV_OPT_TYPE_CHANNEL_LAYOUT: AVOptionType = 17;
6243pub const AVOptionType_AV_OPT_TYPE_BOOL: AVOptionType = 18;
6244pub type AVOptionType = u32;
6245#[repr(C)]
6246#[derive(Copy, Clone)]
6247pub struct AVOption {
6248    pub name: *const ::std::os::raw::c_char,
6249    pub help: *const ::std::os::raw::c_char,
6250    pub offset: ::std::os::raw::c_int,
6251    pub type_: AVOptionType,
6252    pub default_val: AVOption__bindgen_ty_1,
6253    pub min: f64,
6254    pub max: f64,
6255    pub flags: ::std::os::raw::c_int,
6256    pub unit: *const ::std::os::raw::c_char,
6257}
6258#[repr(C)]
6259#[derive(Copy, Clone)]
6260pub union AVOption__bindgen_ty_1 {
6261    pub i64: i64,
6262    pub dbl: f64,
6263    pub str: *const ::std::os::raw::c_char,
6264    pub q: AVRational,
6265    _bindgen_union_align: u64,
6266}
6267#[repr(C)]
6268#[derive(Debug, Copy, Clone)]
6269pub struct AVOptionRange {
6270    pub str: *const ::std::os::raw::c_char,
6271    pub value_min: f64,
6272    pub value_max: f64,
6273    pub component_min: f64,
6274    pub component_max: f64,
6275    pub is_range: ::std::os::raw::c_int,
6276}
6277#[repr(C)]
6278#[derive(Debug, Copy, Clone)]
6279pub struct AVOptionRanges {
6280    pub range: *mut *mut AVOptionRange,
6281    pub nb_ranges: ::std::os::raw::c_int,
6282    pub nb_components: ::std::os::raw::c_int,
6283}
6284extern "C" {
6285    pub fn av_opt_show2(
6286        obj: *mut ::std::os::raw::c_void,
6287        av_log_obj: *mut ::std::os::raw::c_void,
6288        req_flags: ::std::os::raw::c_int,
6289        rej_flags: ::std::os::raw::c_int,
6290    ) -> ::std::os::raw::c_int;
6291}
6292extern "C" {
6293    pub fn av_opt_set_defaults(s: *mut ::std::os::raw::c_void);
6294}
6295extern "C" {
6296    pub fn av_opt_set_defaults2(
6297        s: *mut ::std::os::raw::c_void,
6298        mask: ::std::os::raw::c_int,
6299        flags: ::std::os::raw::c_int,
6300    );
6301}
6302extern "C" {
6303    pub fn av_set_options_string(
6304        ctx: *mut ::std::os::raw::c_void,
6305        opts: *const ::std::os::raw::c_char,
6306        key_val_sep: *const ::std::os::raw::c_char,
6307        pairs_sep: *const ::std::os::raw::c_char,
6308    ) -> ::std::os::raw::c_int;
6309}
6310extern "C" {
6311    pub fn av_opt_set_from_string(
6312        ctx: *mut ::std::os::raw::c_void,
6313        opts: *const ::std::os::raw::c_char,
6314        shorthand: *const *const ::std::os::raw::c_char,
6315        key_val_sep: *const ::std::os::raw::c_char,
6316        pairs_sep: *const ::std::os::raw::c_char,
6317    ) -> ::std::os::raw::c_int;
6318}
6319extern "C" {
6320    pub fn av_opt_free(obj: *mut ::std::os::raw::c_void);
6321}
6322extern "C" {
6323    pub fn av_opt_flag_is_set(
6324        obj: *mut ::std::os::raw::c_void,
6325        field_name: *const ::std::os::raw::c_char,
6326        flag_name: *const ::std::os::raw::c_char,
6327    ) -> ::std::os::raw::c_int;
6328}
6329extern "C" {
6330    pub fn av_opt_set_dict(
6331        obj: *mut ::std::os::raw::c_void,
6332        options: *mut *mut AVDictionary,
6333    ) -> ::std::os::raw::c_int;
6334}
6335extern "C" {
6336    pub fn av_opt_set_dict2(
6337        obj: *mut ::std::os::raw::c_void,
6338        options: *mut *mut AVDictionary,
6339        search_flags: ::std::os::raw::c_int,
6340    ) -> ::std::os::raw::c_int;
6341}
6342extern "C" {
6343    pub fn av_opt_get_key_value(
6344        ropts: *mut *const ::std::os::raw::c_char,
6345        key_val_sep: *const ::std::os::raw::c_char,
6346        pairs_sep: *const ::std::os::raw::c_char,
6347        flags: ::std::os::raw::c_uint,
6348        rkey: *mut *mut ::std::os::raw::c_char,
6349        rval: *mut *mut ::std::os::raw::c_char,
6350    ) -> ::std::os::raw::c_int;
6351}
6352pub const AV_OPT_FLAG_IMPLICIT_KEY: _bindgen_ty_4 = 1;
6353pub type _bindgen_ty_4 = u32;
6354extern "C" {
6355    pub fn av_opt_eval_flags(
6356        obj: *mut ::std::os::raw::c_void,
6357        o: *const AVOption,
6358        val: *const ::std::os::raw::c_char,
6359        flags_out: *mut ::std::os::raw::c_int,
6360    ) -> ::std::os::raw::c_int;
6361}
6362extern "C" {
6363    pub fn av_opt_eval_int(
6364        obj: *mut ::std::os::raw::c_void,
6365        o: *const AVOption,
6366        val: *const ::std::os::raw::c_char,
6367        int_out: *mut ::std::os::raw::c_int,
6368    ) -> ::std::os::raw::c_int;
6369}
6370extern "C" {
6371    pub fn av_opt_eval_int64(
6372        obj: *mut ::std::os::raw::c_void,
6373        o: *const AVOption,
6374        val: *const ::std::os::raw::c_char,
6375        int64_out: *mut i64,
6376    ) -> ::std::os::raw::c_int;
6377}
6378extern "C" {
6379    pub fn av_opt_eval_float(
6380        obj: *mut ::std::os::raw::c_void,
6381        o: *const AVOption,
6382        val: *const ::std::os::raw::c_char,
6383        float_out: *mut f32,
6384    ) -> ::std::os::raw::c_int;
6385}
6386extern "C" {
6387    pub fn av_opt_eval_double(
6388        obj: *mut ::std::os::raw::c_void,
6389        o: *const AVOption,
6390        val: *const ::std::os::raw::c_char,
6391        double_out: *mut f64,
6392    ) -> ::std::os::raw::c_int;
6393}
6394extern "C" {
6395    pub fn av_opt_eval_q(
6396        obj: *mut ::std::os::raw::c_void,
6397        o: *const AVOption,
6398        val: *const ::std::os::raw::c_char,
6399        q_out: *mut AVRational,
6400    ) -> ::std::os::raw::c_int;
6401}
6402extern "C" {
6403    pub fn av_opt_find(
6404        obj: *mut ::std::os::raw::c_void,
6405        name: *const ::std::os::raw::c_char,
6406        unit: *const ::std::os::raw::c_char,
6407        opt_flags: ::std::os::raw::c_int,
6408        search_flags: ::std::os::raw::c_int,
6409    ) -> *const AVOption;
6410}
6411extern "C" {
6412    pub fn av_opt_find2(
6413        obj: *mut ::std::os::raw::c_void,
6414        name: *const ::std::os::raw::c_char,
6415        unit: *const ::std::os::raw::c_char,
6416        opt_flags: ::std::os::raw::c_int,
6417        search_flags: ::std::os::raw::c_int,
6418        target_obj: *mut *mut ::std::os::raw::c_void,
6419    ) -> *const AVOption;
6420}
6421extern "C" {
6422    pub fn av_opt_next(
6423        obj: *const ::std::os::raw::c_void,
6424        prev: *const AVOption,
6425    ) -> *const AVOption;
6426}
6427extern "C" {
6428    pub fn av_opt_child_next(
6429        obj: *mut ::std::os::raw::c_void,
6430        prev: *mut ::std::os::raw::c_void,
6431    ) -> *mut ::std::os::raw::c_void;
6432}
6433extern "C" {
6434    pub fn av_opt_child_class_next(parent: *const AVClass, prev: *const AVClass) -> *const AVClass;
6435}
6436extern "C" {
6437    pub fn av_opt_set(
6438        obj: *mut ::std::os::raw::c_void,
6439        name: *const ::std::os::raw::c_char,
6440        val: *const ::std::os::raw::c_char,
6441        search_flags: ::std::os::raw::c_int,
6442    ) -> ::std::os::raw::c_int;
6443}
6444extern "C" {
6445    pub fn av_opt_set_int(
6446        obj: *mut ::std::os::raw::c_void,
6447        name: *const ::std::os::raw::c_char,
6448        val: i64,
6449        search_flags: ::std::os::raw::c_int,
6450    ) -> ::std::os::raw::c_int;
6451}
6452extern "C" {
6453    pub fn av_opt_set_double(
6454        obj: *mut ::std::os::raw::c_void,
6455        name: *const ::std::os::raw::c_char,
6456        val: f64,
6457        search_flags: ::std::os::raw::c_int,
6458    ) -> ::std::os::raw::c_int;
6459}
6460extern "C" {
6461    pub fn av_opt_set_q(
6462        obj: *mut ::std::os::raw::c_void,
6463        name: *const ::std::os::raw::c_char,
6464        val: AVRational,
6465        search_flags: ::std::os::raw::c_int,
6466    ) -> ::std::os::raw::c_int;
6467}
6468extern "C" {
6469    pub fn av_opt_set_bin(
6470        obj: *mut ::std::os::raw::c_void,
6471        name: *const ::std::os::raw::c_char,
6472        val: *const u8,
6473        size: ::std::os::raw::c_int,
6474        search_flags: ::std::os::raw::c_int,
6475    ) -> ::std::os::raw::c_int;
6476}
6477extern "C" {
6478    pub fn av_opt_set_image_size(
6479        obj: *mut ::std::os::raw::c_void,
6480        name: *const ::std::os::raw::c_char,
6481        w: ::std::os::raw::c_int,
6482        h: ::std::os::raw::c_int,
6483        search_flags: ::std::os::raw::c_int,
6484    ) -> ::std::os::raw::c_int;
6485}
6486extern "C" {
6487    pub fn av_opt_set_pixel_fmt(
6488        obj: *mut ::std::os::raw::c_void,
6489        name: *const ::std::os::raw::c_char,
6490        fmt: AVPixelFormat,
6491        search_flags: ::std::os::raw::c_int,
6492    ) -> ::std::os::raw::c_int;
6493}
6494extern "C" {
6495    pub fn av_opt_set_sample_fmt(
6496        obj: *mut ::std::os::raw::c_void,
6497        name: *const ::std::os::raw::c_char,
6498        fmt: AVSampleFormat,
6499        search_flags: ::std::os::raw::c_int,
6500    ) -> ::std::os::raw::c_int;
6501}
6502extern "C" {
6503    pub fn av_opt_set_video_rate(
6504        obj: *mut ::std::os::raw::c_void,
6505        name: *const ::std::os::raw::c_char,
6506        val: AVRational,
6507        search_flags: ::std::os::raw::c_int,
6508    ) -> ::std::os::raw::c_int;
6509}
6510extern "C" {
6511    pub fn av_opt_set_channel_layout(
6512        obj: *mut ::std::os::raw::c_void,
6513        name: *const ::std::os::raw::c_char,
6514        ch_layout: i64,
6515        search_flags: ::std::os::raw::c_int,
6516    ) -> ::std::os::raw::c_int;
6517}
6518extern "C" {
6519    pub fn av_opt_set_dict_val(
6520        obj: *mut ::std::os::raw::c_void,
6521        name: *const ::std::os::raw::c_char,
6522        val: *const AVDictionary,
6523        search_flags: ::std::os::raw::c_int,
6524    ) -> ::std::os::raw::c_int;
6525}
6526extern "C" {
6527    pub fn av_opt_get(
6528        obj: *mut ::std::os::raw::c_void,
6529        name: *const ::std::os::raw::c_char,
6530        search_flags: ::std::os::raw::c_int,
6531        out_val: *mut *mut u8,
6532    ) -> ::std::os::raw::c_int;
6533}
6534extern "C" {
6535    pub fn av_opt_get_int(
6536        obj: *mut ::std::os::raw::c_void,
6537        name: *const ::std::os::raw::c_char,
6538        search_flags: ::std::os::raw::c_int,
6539        out_val: *mut i64,
6540    ) -> ::std::os::raw::c_int;
6541}
6542extern "C" {
6543    pub fn av_opt_get_double(
6544        obj: *mut ::std::os::raw::c_void,
6545        name: *const ::std::os::raw::c_char,
6546        search_flags: ::std::os::raw::c_int,
6547        out_val: *mut f64,
6548    ) -> ::std::os::raw::c_int;
6549}
6550extern "C" {
6551    pub fn av_opt_get_q(
6552        obj: *mut ::std::os::raw::c_void,
6553        name: *const ::std::os::raw::c_char,
6554        search_flags: ::std::os::raw::c_int,
6555        out_val: *mut AVRational,
6556    ) -> ::std::os::raw::c_int;
6557}
6558extern "C" {
6559    pub fn av_opt_get_image_size(
6560        obj: *mut ::std::os::raw::c_void,
6561        name: *const ::std::os::raw::c_char,
6562        search_flags: ::std::os::raw::c_int,
6563        w_out: *mut ::std::os::raw::c_int,
6564        h_out: *mut ::std::os::raw::c_int,
6565    ) -> ::std::os::raw::c_int;
6566}
6567extern "C" {
6568    pub fn av_opt_get_pixel_fmt(
6569        obj: *mut ::std::os::raw::c_void,
6570        name: *const ::std::os::raw::c_char,
6571        search_flags: ::std::os::raw::c_int,
6572        out_fmt: *mut AVPixelFormat,
6573    ) -> ::std::os::raw::c_int;
6574}
6575extern "C" {
6576    pub fn av_opt_get_sample_fmt(
6577        obj: *mut ::std::os::raw::c_void,
6578        name: *const ::std::os::raw::c_char,
6579        search_flags: ::std::os::raw::c_int,
6580        out_fmt: *mut AVSampleFormat,
6581    ) -> ::std::os::raw::c_int;
6582}
6583extern "C" {
6584    pub fn av_opt_get_video_rate(
6585        obj: *mut ::std::os::raw::c_void,
6586        name: *const ::std::os::raw::c_char,
6587        search_flags: ::std::os::raw::c_int,
6588        out_val: *mut AVRational,
6589    ) -> ::std::os::raw::c_int;
6590}
6591extern "C" {
6592    pub fn av_opt_get_channel_layout(
6593        obj: *mut ::std::os::raw::c_void,
6594        name: *const ::std::os::raw::c_char,
6595        search_flags: ::std::os::raw::c_int,
6596        ch_layout: *mut i64,
6597    ) -> ::std::os::raw::c_int;
6598}
6599extern "C" {
6600    pub fn av_opt_get_dict_val(
6601        obj: *mut ::std::os::raw::c_void,
6602        name: *const ::std::os::raw::c_char,
6603        search_flags: ::std::os::raw::c_int,
6604        out_val: *mut *mut AVDictionary,
6605    ) -> ::std::os::raw::c_int;
6606}
6607extern "C" {
6608    pub fn av_opt_ptr(
6609        avclass: *const AVClass,
6610        obj: *mut ::std::os::raw::c_void,
6611        name: *const ::std::os::raw::c_char,
6612    ) -> *mut ::std::os::raw::c_void;
6613}
6614extern "C" {
6615    pub fn av_opt_freep_ranges(ranges: *mut *mut AVOptionRanges);
6616}
6617extern "C" {
6618    pub fn av_opt_query_ranges(
6619        arg1: *mut *mut AVOptionRanges,
6620        obj: *mut ::std::os::raw::c_void,
6621        key: *const ::std::os::raw::c_char,
6622        flags: ::std::os::raw::c_int,
6623    ) -> ::std::os::raw::c_int;
6624}
6625extern "C" {
6626    pub fn av_opt_copy(
6627        dest: *mut ::std::os::raw::c_void,
6628        src: *const ::std::os::raw::c_void,
6629    ) -> ::std::os::raw::c_int;
6630}
6631extern "C" {
6632    pub fn av_opt_query_ranges_default(
6633        arg1: *mut *mut AVOptionRanges,
6634        obj: *mut ::std::os::raw::c_void,
6635        key: *const ::std::os::raw::c_char,
6636        flags: ::std::os::raw::c_int,
6637    ) -> ::std::os::raw::c_int;
6638}
6639extern "C" {
6640    pub fn av_opt_is_set_to_default(
6641        obj: *mut ::std::os::raw::c_void,
6642        o: *const AVOption,
6643    ) -> ::std::os::raw::c_int;
6644}
6645extern "C" {
6646    pub fn av_opt_is_set_to_default_by_name(
6647        obj: *mut ::std::os::raw::c_void,
6648        name: *const ::std::os::raw::c_char,
6649        search_flags: ::std::os::raw::c_int,
6650    ) -> ::std::os::raw::c_int;
6651}
6652extern "C" {
6653    pub fn av_opt_serialize(
6654        obj: *mut ::std::os::raw::c_void,
6655        opt_flags: ::std::os::raw::c_int,
6656        flags: ::std::os::raw::c_int,
6657        buffer: *mut *mut ::std::os::raw::c_char,
6658        key_val_sep: ::std::os::raw::c_char,
6659        pairs_sep: ::std::os::raw::c_char,
6660    ) -> ::std::os::raw::c_int;
6661}
6662extern "C" {
6663    pub fn av_gettime() -> i64;
6664}
6665extern "C" {
6666    pub fn av_gettime_relative() -> i64;
6667}
6668extern "C" {
6669    pub fn av_gettime_relative_is_monotonic() -> ::std::os::raw::c_int;
6670}
6671extern "C" {
6672    pub fn av_usleep(usec: ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
6673}
6674pub const AVTimecodeFlag_AV_TIMECODE_FLAG_DROPFRAME: AVTimecodeFlag = 1;
6675pub const AVTimecodeFlag_AV_TIMECODE_FLAG_24HOURSMAX: AVTimecodeFlag = 2;
6676pub const AVTimecodeFlag_AV_TIMECODE_FLAG_ALLOWNEGATIVE: AVTimecodeFlag = 4;
6677pub type AVTimecodeFlag = u32;
6678#[repr(C)]
6679#[derive(Debug, Copy, Clone)]
6680pub struct AVTimecode {
6681    pub start: ::std::os::raw::c_int,
6682    pub flags: u32,
6683    pub rate: AVRational,
6684    pub fps: ::std::os::raw::c_uint,
6685}
6686extern "C" {
6687    pub fn av_timecode_adjust_ntsc_framenum2(
6688        framenum: ::std::os::raw::c_int,
6689        fps: ::std::os::raw::c_int,
6690    ) -> ::std::os::raw::c_int;
6691}
6692extern "C" {
6693    pub fn av_timecode_get_smpte_from_framenum(
6694        tc: *const AVTimecode,
6695        framenum: ::std::os::raw::c_int,
6696    ) -> u32;
6697}
6698extern "C" {
6699    pub fn av_timecode_make_string(
6700        tc: *const AVTimecode,
6701        buf: *mut ::std::os::raw::c_char,
6702        framenum: ::std::os::raw::c_int,
6703    ) -> *mut ::std::os::raw::c_char;
6704}
6705extern "C" {
6706    pub fn av_timecode_make_smpte_tc_string(
6707        buf: *mut ::std::os::raw::c_char,
6708        tcsmpte: u32,
6709        prevent_df: ::std::os::raw::c_int,
6710    ) -> *mut ::std::os::raw::c_char;
6711}
6712extern "C" {
6713    pub fn av_timecode_make_mpeg_tc_string(
6714        buf: *mut ::std::os::raw::c_char,
6715        tc25bit: u32,
6716    ) -> *mut ::std::os::raw::c_char;
6717}
6718extern "C" {
6719    pub fn av_timecode_init(
6720        tc: *mut AVTimecode,
6721        rate: AVRational,
6722        flags: ::std::os::raw::c_int,
6723        frame_start: ::std::os::raw::c_int,
6724        log_ctx: *mut ::std::os::raw::c_void,
6725    ) -> ::std::os::raw::c_int;
6726}
6727extern "C" {
6728    pub fn av_timecode_init_from_string(
6729        tc: *mut AVTimecode,
6730        rate: AVRational,
6731        str: *const ::std::os::raw::c_char,
6732        log_ctx: *mut ::std::os::raw::c_void,
6733    ) -> ::std::os::raw::c_int;
6734}
6735extern "C" {
6736    pub fn av_timecode_check_frame_rate(rate: AVRational) -> ::std::os::raw::c_int;
6737}
6738extern "C" {
6739    pub fn av_assert0_fpu();
6740}
6741extern "C" {
6742    pub fn av_strstart(
6743        str: *const ::std::os::raw::c_char,
6744        pfx: *const ::std::os::raw::c_char,
6745        ptr: *mut *const ::std::os::raw::c_char,
6746    ) -> ::std::os::raw::c_int;
6747}
6748extern "C" {
6749    pub fn av_stristart(
6750        str: *const ::std::os::raw::c_char,
6751        pfx: *const ::std::os::raw::c_char,
6752        ptr: *mut *const ::std::os::raw::c_char,
6753    ) -> ::std::os::raw::c_int;
6754}
6755extern "C" {
6756    pub fn av_stristr(
6757        haystack: *const ::std::os::raw::c_char,
6758        needle: *const ::std::os::raw::c_char,
6759    ) -> *mut ::std::os::raw::c_char;
6760}
6761extern "C" {
6762    pub fn av_strnstr(
6763        haystack: *const ::std::os::raw::c_char,
6764        needle: *const ::std::os::raw::c_char,
6765        hay_length: usize,
6766    ) -> *mut ::std::os::raw::c_char;
6767}
6768extern "C" {
6769    pub fn av_strlcpy(
6770        dst: *mut ::std::os::raw::c_char,
6771        src: *const ::std::os::raw::c_char,
6772        size: usize,
6773    ) -> usize;
6774}
6775extern "C" {
6776    pub fn av_strlcat(
6777        dst: *mut ::std::os::raw::c_char,
6778        src: *const ::std::os::raw::c_char,
6779        size: usize,
6780    ) -> usize;
6781}
6782extern "C" {
6783    pub fn av_strlcatf(
6784        dst: *mut ::std::os::raw::c_char,
6785        size: usize,
6786        fmt: *const ::std::os::raw::c_char,
6787        ...
6788    ) -> usize;
6789}
6790extern "C" {
6791    pub fn av_asprintf(fmt: *const ::std::os::raw::c_char, ...) -> *mut ::std::os::raw::c_char;
6792}
6793extern "C" {
6794    pub fn av_d2str(d: f64) -> *mut ::std::os::raw::c_char;
6795}
6796extern "C" {
6797    pub fn av_get_token(
6798        buf: *mut *const ::std::os::raw::c_char,
6799        term: *const ::std::os::raw::c_char,
6800    ) -> *mut ::std::os::raw::c_char;
6801}
6802extern "C" {
6803    pub fn av_strtok(
6804        s: *mut ::std::os::raw::c_char,
6805        delim: *const ::std::os::raw::c_char,
6806        saveptr: *mut *mut ::std::os::raw::c_char,
6807    ) -> *mut ::std::os::raw::c_char;
6808}
6809extern "C" {
6810    pub fn av_strcasecmp(
6811        a: *const ::std::os::raw::c_char,
6812        b: *const ::std::os::raw::c_char,
6813    ) -> ::std::os::raw::c_int;
6814}
6815extern "C" {
6816    pub fn av_strncasecmp(
6817        a: *const ::std::os::raw::c_char,
6818        b: *const ::std::os::raw::c_char,
6819        n: usize,
6820    ) -> ::std::os::raw::c_int;
6821}
6822extern "C" {
6823    pub fn av_strireplace(
6824        str: *const ::std::os::raw::c_char,
6825        from: *const ::std::os::raw::c_char,
6826        to: *const ::std::os::raw::c_char,
6827    ) -> *mut ::std::os::raw::c_char;
6828}
6829extern "C" {
6830    pub fn av_basename(path: *const ::std::os::raw::c_char) -> *const ::std::os::raw::c_char;
6831}
6832extern "C" {
6833    pub fn av_dirname(path: *mut ::std::os::raw::c_char) -> *const ::std::os::raw::c_char;
6834}
6835extern "C" {
6836    pub fn av_match_name(
6837        name: *const ::std::os::raw::c_char,
6838        names: *const ::std::os::raw::c_char,
6839    ) -> ::std::os::raw::c_int;
6840}
6841extern "C" {
6842    pub fn av_append_path_component(
6843        path: *const ::std::os::raw::c_char,
6844        component: *const ::std::os::raw::c_char,
6845    ) -> *mut ::std::os::raw::c_char;
6846}
6847pub const AVEscapeMode_AV_ESCAPE_MODE_AUTO: AVEscapeMode = 0;
6848pub const AVEscapeMode_AV_ESCAPE_MODE_BACKSLASH: AVEscapeMode = 1;
6849pub const AVEscapeMode_AV_ESCAPE_MODE_QUOTE: AVEscapeMode = 2;
6850pub type AVEscapeMode = u32;
6851extern "C" {
6852    pub fn av_escape(
6853        dst: *mut *mut ::std::os::raw::c_char,
6854        src: *const ::std::os::raw::c_char,
6855        special_chars: *const ::std::os::raw::c_char,
6856        mode: AVEscapeMode,
6857        flags: ::std::os::raw::c_int,
6858    ) -> ::std::os::raw::c_int;
6859}
6860extern "C" {
6861    pub fn av_utf8_decode(
6862        codep: *mut i32,
6863        bufp: *mut *const u8,
6864        buf_end: *const u8,
6865        flags: ::std::os::raw::c_uint,
6866    ) -> ::std::os::raw::c_int;
6867}
6868extern "C" {
6869    pub fn av_match_list(
6870        name: *const ::std::os::raw::c_char,
6871        list: *const ::std::os::raw::c_char,
6872        separator: ::std::os::raw::c_char,
6873    ) -> ::std::os::raw::c_int;
6874}
6875extern "C" {
6876    pub fn av_sscanf(
6877        string: *const ::std::os::raw::c_char,
6878        format: *const ::std::os::raw::c_char,
6879        ...
6880    ) -> ::std::os::raw::c_int;
6881}
6882#[repr(C)]
6883#[derive(Copy, Clone)]
6884pub struct AVBlowfish {
6885    pub p: [u32; 18usize],
6886    pub s: [[u32; 256usize]; 4usize],
6887}
6888extern "C" {
6889    pub fn av_blowfish_alloc() -> *mut AVBlowfish;
6890}
6891extern "C" {
6892    pub fn av_blowfish_init(ctx: *mut AVBlowfish, key: *const u8, key_len: ::std::os::raw::c_int);
6893}
6894extern "C" {
6895    pub fn av_blowfish_crypt_ecb(
6896        ctx: *mut AVBlowfish,
6897        xl: *mut u32,
6898        xr: *mut u32,
6899        decrypt: ::std::os::raw::c_int,
6900    );
6901}
6902extern "C" {
6903    pub fn av_blowfish_crypt(
6904        ctx: *mut AVBlowfish,
6905        dst: *mut u8,
6906        src: *const u8,
6907        count: ::std::os::raw::c_int,
6908        iv: *mut u8,
6909        decrypt: ::std::os::raw::c_int,
6910    );
6911}
6912#[repr(C)]
6913#[derive(Debug, Copy, Clone)]
6914pub struct ff_pad_helper_AVBPrint {
6915    pub str: *mut ::std::os::raw::c_char,
6916    pub len: ::std::os::raw::c_uint,
6917    pub size: ::std::os::raw::c_uint,
6918    pub size_max: ::std::os::raw::c_uint,
6919    pub reserved_internal_buffer: [::std::os::raw::c_char; 1usize],
6920}
6921#[repr(C)]
6922#[derive(Copy, Clone)]
6923pub struct AVBPrint {
6924    pub str: *mut ::std::os::raw::c_char,
6925    pub len: ::std::os::raw::c_uint,
6926    pub size: ::std::os::raw::c_uint,
6927    pub size_max: ::std::os::raw::c_uint,
6928    pub reserved_internal_buffer: [::std::os::raw::c_char; 1usize],
6929    pub reserved_padding: [::std::os::raw::c_char; 1000usize],
6930}
6931extern "C" {
6932    pub fn av_bprint_init(
6933        buf: *mut AVBPrint,
6934        size_init: ::std::os::raw::c_uint,
6935        size_max: ::std::os::raw::c_uint,
6936    );
6937}
6938extern "C" {
6939    pub fn av_bprint_init_for_buffer(
6940        buf: *mut AVBPrint,
6941        buffer: *mut ::std::os::raw::c_char,
6942        size: ::std::os::raw::c_uint,
6943    );
6944}
6945extern "C" {
6946    pub fn av_bprintf(buf: *mut AVBPrint, fmt: *const ::std::os::raw::c_char, ...);
6947}
6948extern "C" {
6949    pub fn av_vbprintf(
6950        buf: *mut AVBPrint,
6951        fmt: *const ::std::os::raw::c_char,
6952        vl_arg: *mut __va_list_tag,
6953    );
6954}
6955extern "C" {
6956    pub fn av_bprint_chars(
6957        buf: *mut AVBPrint,
6958        c: ::std::os::raw::c_char,
6959        n: ::std::os::raw::c_uint,
6960    );
6961}
6962extern "C" {
6963    pub fn av_bprint_append_data(
6964        buf: *mut AVBPrint,
6965        data: *const ::std::os::raw::c_char,
6966        size: ::std::os::raw::c_uint,
6967    );
6968}
6969extern "C" {
6970    pub fn av_bprint_strftime(
6971        buf: *mut AVBPrint,
6972        fmt: *const ::std::os::raw::c_char,
6973        tm: *const tm,
6974    );
6975}
6976extern "C" {
6977    pub fn av_bprint_get_buffer(
6978        buf: *mut AVBPrint,
6979        size: ::std::os::raw::c_uint,
6980        mem: *mut *mut ::std::os::raw::c_uchar,
6981        actual_size: *mut ::std::os::raw::c_uint,
6982    );
6983}
6984extern "C" {
6985    pub fn av_bprint_clear(buf: *mut AVBPrint);
6986}
6987extern "C" {
6988    pub fn av_bprint_finalize(
6989        buf: *mut AVBPrint,
6990        ret_str: *mut *mut ::std::os::raw::c_char,
6991    ) -> ::std::os::raw::c_int;
6992}
6993extern "C" {
6994    pub fn av_bprint_escape(
6995        dstbuf: *mut AVBPrint,
6996        src: *const ::std::os::raw::c_char,
6997        special_chars: *const ::std::os::raw::c_char,
6998        mode: AVEscapeMode,
6999        flags: ::std::os::raw::c_int,
7000    );
7001}
7002extern "C" {
7003    pub static av_camellia_size: ::std::os::raw::c_int;
7004}
7005#[repr(C)]
7006#[derive(Debug, Copy, Clone)]
7007pub struct AVCAMELLIA {
7008    _unused: [u8; 0],
7009}
7010extern "C" {
7011    pub fn av_camellia_alloc() -> *mut AVCAMELLIA;
7012}
7013extern "C" {
7014    pub fn av_camellia_init(
7015        ctx: *mut AVCAMELLIA,
7016        key: *const u8,
7017        key_bits: ::std::os::raw::c_int,
7018    ) -> ::std::os::raw::c_int;
7019}
7020extern "C" {
7021    pub fn av_camellia_crypt(
7022        ctx: *mut AVCAMELLIA,
7023        dst: *mut u8,
7024        src: *const u8,
7025        count: ::std::os::raw::c_int,
7026        iv: *mut u8,
7027        decrypt: ::std::os::raw::c_int,
7028    );
7029}
7030extern "C" {
7031    pub static av_cast5_size: ::std::os::raw::c_int;
7032}
7033#[repr(C)]
7034#[derive(Debug, Copy, Clone)]
7035pub struct AVCAST5 {
7036    _unused: [u8; 0],
7037}
7038extern "C" {
7039    pub fn av_cast5_alloc() -> *mut AVCAST5;
7040}
7041extern "C" {
7042    pub fn av_cast5_init(
7043        ctx: *mut AVCAST5,
7044        key: *const u8,
7045        key_bits: ::std::os::raw::c_int,
7046    ) -> ::std::os::raw::c_int;
7047}
7048extern "C" {
7049    pub fn av_cast5_crypt(
7050        ctx: *mut AVCAST5,
7051        dst: *mut u8,
7052        src: *const u8,
7053        count: ::std::os::raw::c_int,
7054        decrypt: ::std::os::raw::c_int,
7055    );
7056}
7057extern "C" {
7058    pub fn av_cast5_crypt2(
7059        ctx: *mut AVCAST5,
7060        dst: *mut u8,
7061        src: *const u8,
7062        count: ::std::os::raw::c_int,
7063        iv: *mut u8,
7064        decrypt: ::std::os::raw::c_int,
7065    );
7066}
7067pub const AVMatrixEncoding_AV_MATRIX_ENCODING_NONE: AVMatrixEncoding = 0;
7068pub const AVMatrixEncoding_AV_MATRIX_ENCODING_DOLBY: AVMatrixEncoding = 1;
7069pub const AVMatrixEncoding_AV_MATRIX_ENCODING_DPLII: AVMatrixEncoding = 2;
7070pub const AVMatrixEncoding_AV_MATRIX_ENCODING_DPLIIX: AVMatrixEncoding = 3;
7071pub const AVMatrixEncoding_AV_MATRIX_ENCODING_DPLIIZ: AVMatrixEncoding = 4;
7072pub const AVMatrixEncoding_AV_MATRIX_ENCODING_DOLBYEX: AVMatrixEncoding = 5;
7073pub const AVMatrixEncoding_AV_MATRIX_ENCODING_DOLBYHEADPHONE: AVMatrixEncoding = 6;
7074pub const AVMatrixEncoding_AV_MATRIX_ENCODING_NB: AVMatrixEncoding = 7;
7075pub type AVMatrixEncoding = u32;
7076extern "C" {
7077    pub fn av_get_channel_layout(name: *const ::std::os::raw::c_char) -> u64;
7078}
7079extern "C" {
7080    pub fn av_get_extended_channel_layout(
7081        name: *const ::std::os::raw::c_char,
7082        channel_layout: *mut u64,
7083        nb_channels: *mut ::std::os::raw::c_int,
7084    ) -> ::std::os::raw::c_int;
7085}
7086extern "C" {
7087    pub fn av_get_channel_layout_string(
7088        buf: *mut ::std::os::raw::c_char,
7089        buf_size: ::std::os::raw::c_int,
7090        nb_channels: ::std::os::raw::c_int,
7091        channel_layout: u64,
7092    );
7093}
7094extern "C" {
7095    pub fn av_bprint_channel_layout(
7096        bp: *mut AVBPrint,
7097        nb_channels: ::std::os::raw::c_int,
7098        channel_layout: u64,
7099    );
7100}
7101extern "C" {
7102    pub fn av_get_channel_layout_nb_channels(channel_layout: u64) -> ::std::os::raw::c_int;
7103}
7104extern "C" {
7105    pub fn av_get_default_channel_layout(nb_channels: ::std::os::raw::c_int) -> i64;
7106}
7107extern "C" {
7108    pub fn av_get_channel_layout_channel_index(
7109        channel_layout: u64,
7110        channel: u64,
7111    ) -> ::std::os::raw::c_int;
7112}
7113extern "C" {
7114    pub fn av_channel_layout_extract_channel(
7115        channel_layout: u64,
7116        index: ::std::os::raw::c_int,
7117    ) -> u64;
7118}
7119extern "C" {
7120    pub fn av_get_channel_name(channel: u64) -> *const ::std::os::raw::c_char;
7121}
7122extern "C" {
7123    pub fn av_get_channel_description(channel: u64) -> *const ::std::os::raw::c_char;
7124}
7125extern "C" {
7126    pub fn av_get_standard_channel_layout(
7127        index: ::std::os::raw::c_uint,
7128        layout: *mut u64,
7129        name: *mut *const ::std::os::raw::c_char,
7130    ) -> ::std::os::raw::c_int;
7131}
7132pub type av_pixelutils_sad_fn = ::std::option::Option<
7133    unsafe extern "C" fn(
7134        src1: *const u8,
7135        stride1: isize,
7136        src2: *const u8,
7137        stride2: isize,
7138    ) -> ::std::os::raw::c_int,
7139>;
7140extern "C" {
7141    pub fn av_pixelutils_get_sad_fn(
7142        w_bits: ::std::os::raw::c_int,
7143        h_bits: ::std::os::raw::c_int,
7144        aligned: ::std::os::raw::c_int,
7145        log_ctx: *mut ::std::os::raw::c_void,
7146    ) -> av_pixelutils_sad_fn;
7147}
7148extern "C" {
7149    pub fn av_get_cpu_flags() -> ::std::os::raw::c_int;
7150}
7151extern "C" {
7152    pub fn av_force_cpu_flags(flags: ::std::os::raw::c_int);
7153}
7154extern "C" {
7155    pub fn av_set_cpu_flags_mask(mask: ::std::os::raw::c_int);
7156}
7157extern "C" {
7158    pub fn av_parse_cpu_flags(s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
7159}
7160extern "C" {
7161    pub fn av_parse_cpu_caps(
7162        flags: *mut ::std::os::raw::c_uint,
7163        s: *const ::std::os::raw::c_char,
7164    ) -> ::std::os::raw::c_int;
7165}
7166extern "C" {
7167    pub fn av_cpu_count() -> ::std::os::raw::c_int;
7168}
7169extern "C" {
7170    pub fn av_cpu_max_align() -> usize;
7171}
7172pub const AVCodecID_AV_CODEC_ID_NONE: AVCodecID = 0;
7173pub const AVCodecID_AV_CODEC_ID_MPEG1VIDEO: AVCodecID = 1;
7174pub const AVCodecID_AV_CODEC_ID_MPEG2VIDEO: AVCodecID = 2;
7175pub const AVCodecID_AV_CODEC_ID_H261: AVCodecID = 3;
7176pub const AVCodecID_AV_CODEC_ID_H263: AVCodecID = 4;
7177pub const AVCodecID_AV_CODEC_ID_RV10: AVCodecID = 5;
7178pub const AVCodecID_AV_CODEC_ID_RV20: AVCodecID = 6;
7179pub const AVCodecID_AV_CODEC_ID_MJPEG: AVCodecID = 7;
7180pub const AVCodecID_AV_CODEC_ID_MJPEGB: AVCodecID = 8;
7181pub const AVCodecID_AV_CODEC_ID_LJPEG: AVCodecID = 9;
7182pub const AVCodecID_AV_CODEC_ID_SP5X: AVCodecID = 10;
7183pub const AVCodecID_AV_CODEC_ID_JPEGLS: AVCodecID = 11;
7184pub const AVCodecID_AV_CODEC_ID_MPEG4: AVCodecID = 12;
7185pub const AVCodecID_AV_CODEC_ID_RAWVIDEO: AVCodecID = 13;
7186pub const AVCodecID_AV_CODEC_ID_MSMPEG4V1: AVCodecID = 14;
7187pub const AVCodecID_AV_CODEC_ID_MSMPEG4V2: AVCodecID = 15;
7188pub const AVCodecID_AV_CODEC_ID_MSMPEG4V3: AVCodecID = 16;
7189pub const AVCodecID_AV_CODEC_ID_WMV1: AVCodecID = 17;
7190pub const AVCodecID_AV_CODEC_ID_WMV2: AVCodecID = 18;
7191pub const AVCodecID_AV_CODEC_ID_H263P: AVCodecID = 19;
7192pub const AVCodecID_AV_CODEC_ID_H263I: AVCodecID = 20;
7193pub const AVCodecID_AV_CODEC_ID_FLV1: AVCodecID = 21;
7194pub const AVCodecID_AV_CODEC_ID_SVQ1: AVCodecID = 22;
7195pub const AVCodecID_AV_CODEC_ID_SVQ3: AVCodecID = 23;
7196pub const AVCodecID_AV_CODEC_ID_DVVIDEO: AVCodecID = 24;
7197pub const AVCodecID_AV_CODEC_ID_HUFFYUV: AVCodecID = 25;
7198pub const AVCodecID_AV_CODEC_ID_CYUV: AVCodecID = 26;
7199pub const AVCodecID_AV_CODEC_ID_H264: AVCodecID = 27;
7200pub const AVCodecID_AV_CODEC_ID_INDEO3: AVCodecID = 28;
7201pub const AVCodecID_AV_CODEC_ID_VP3: AVCodecID = 29;
7202pub const AVCodecID_AV_CODEC_ID_THEORA: AVCodecID = 30;
7203pub const AVCodecID_AV_CODEC_ID_ASV1: AVCodecID = 31;
7204pub const AVCodecID_AV_CODEC_ID_ASV2: AVCodecID = 32;
7205pub const AVCodecID_AV_CODEC_ID_FFV1: AVCodecID = 33;
7206pub const AVCodecID_AV_CODEC_ID_4XM: AVCodecID = 34;
7207pub const AVCodecID_AV_CODEC_ID_VCR1: AVCodecID = 35;
7208pub const AVCodecID_AV_CODEC_ID_CLJR: AVCodecID = 36;
7209pub const AVCodecID_AV_CODEC_ID_MDEC: AVCodecID = 37;
7210pub const AVCodecID_AV_CODEC_ID_ROQ: AVCodecID = 38;
7211pub const AVCodecID_AV_CODEC_ID_INTERPLAY_VIDEO: AVCodecID = 39;
7212pub const AVCodecID_AV_CODEC_ID_XAN_WC3: AVCodecID = 40;
7213pub const AVCodecID_AV_CODEC_ID_XAN_WC4: AVCodecID = 41;
7214pub const AVCodecID_AV_CODEC_ID_RPZA: AVCodecID = 42;
7215pub const AVCodecID_AV_CODEC_ID_CINEPAK: AVCodecID = 43;
7216pub const AVCodecID_AV_CODEC_ID_WS_VQA: AVCodecID = 44;
7217pub const AVCodecID_AV_CODEC_ID_MSRLE: AVCodecID = 45;
7218pub const AVCodecID_AV_CODEC_ID_MSVIDEO1: AVCodecID = 46;
7219pub const AVCodecID_AV_CODEC_ID_IDCIN: AVCodecID = 47;
7220pub const AVCodecID_AV_CODEC_ID_8BPS: AVCodecID = 48;
7221pub const AVCodecID_AV_CODEC_ID_SMC: AVCodecID = 49;
7222pub const AVCodecID_AV_CODEC_ID_FLIC: AVCodecID = 50;
7223pub const AVCodecID_AV_CODEC_ID_TRUEMOTION1: AVCodecID = 51;
7224pub const AVCodecID_AV_CODEC_ID_VMDVIDEO: AVCodecID = 52;
7225pub const AVCodecID_AV_CODEC_ID_MSZH: AVCodecID = 53;
7226pub const AVCodecID_AV_CODEC_ID_ZLIB: AVCodecID = 54;
7227pub const AVCodecID_AV_CODEC_ID_QTRLE: AVCodecID = 55;
7228pub const AVCodecID_AV_CODEC_ID_TSCC: AVCodecID = 56;
7229pub const AVCodecID_AV_CODEC_ID_ULTI: AVCodecID = 57;
7230pub const AVCodecID_AV_CODEC_ID_QDRAW: AVCodecID = 58;
7231pub const AVCodecID_AV_CODEC_ID_VIXL: AVCodecID = 59;
7232pub const AVCodecID_AV_CODEC_ID_QPEG: AVCodecID = 60;
7233pub const AVCodecID_AV_CODEC_ID_PNG: AVCodecID = 61;
7234pub const AVCodecID_AV_CODEC_ID_PPM: AVCodecID = 62;
7235pub const AVCodecID_AV_CODEC_ID_PBM: AVCodecID = 63;
7236pub const AVCodecID_AV_CODEC_ID_PGM: AVCodecID = 64;
7237pub const AVCodecID_AV_CODEC_ID_PGMYUV: AVCodecID = 65;
7238pub const AVCodecID_AV_CODEC_ID_PAM: AVCodecID = 66;
7239pub const AVCodecID_AV_CODEC_ID_FFVHUFF: AVCodecID = 67;
7240pub const AVCodecID_AV_CODEC_ID_RV30: AVCodecID = 68;
7241pub const AVCodecID_AV_CODEC_ID_RV40: AVCodecID = 69;
7242pub const AVCodecID_AV_CODEC_ID_VC1: AVCodecID = 70;
7243pub const AVCodecID_AV_CODEC_ID_WMV3: AVCodecID = 71;
7244pub const AVCodecID_AV_CODEC_ID_LOCO: AVCodecID = 72;
7245pub const AVCodecID_AV_CODEC_ID_WNV1: AVCodecID = 73;
7246pub const AVCodecID_AV_CODEC_ID_AASC: AVCodecID = 74;
7247pub const AVCodecID_AV_CODEC_ID_INDEO2: AVCodecID = 75;
7248pub const AVCodecID_AV_CODEC_ID_FRAPS: AVCodecID = 76;
7249pub const AVCodecID_AV_CODEC_ID_TRUEMOTION2: AVCodecID = 77;
7250pub const AVCodecID_AV_CODEC_ID_BMP: AVCodecID = 78;
7251pub const AVCodecID_AV_CODEC_ID_CSCD: AVCodecID = 79;
7252pub const AVCodecID_AV_CODEC_ID_MMVIDEO: AVCodecID = 80;
7253pub const AVCodecID_AV_CODEC_ID_ZMBV: AVCodecID = 81;
7254pub const AVCodecID_AV_CODEC_ID_AVS: AVCodecID = 82;
7255pub const AVCodecID_AV_CODEC_ID_SMACKVIDEO: AVCodecID = 83;
7256pub const AVCodecID_AV_CODEC_ID_NUV: AVCodecID = 84;
7257pub const AVCodecID_AV_CODEC_ID_KMVC: AVCodecID = 85;
7258pub const AVCodecID_AV_CODEC_ID_FLASHSV: AVCodecID = 86;
7259pub const AVCodecID_AV_CODEC_ID_CAVS: AVCodecID = 87;
7260pub const AVCodecID_AV_CODEC_ID_JPEG2000: AVCodecID = 88;
7261pub const AVCodecID_AV_CODEC_ID_VMNC: AVCodecID = 89;
7262pub const AVCodecID_AV_CODEC_ID_VP5: AVCodecID = 90;
7263pub const AVCodecID_AV_CODEC_ID_VP6: AVCodecID = 91;
7264pub const AVCodecID_AV_CODEC_ID_VP6F: AVCodecID = 92;
7265pub const AVCodecID_AV_CODEC_ID_TARGA: AVCodecID = 93;
7266pub const AVCodecID_AV_CODEC_ID_DSICINVIDEO: AVCodecID = 94;
7267pub const AVCodecID_AV_CODEC_ID_TIERTEXSEQVIDEO: AVCodecID = 95;
7268pub const AVCodecID_AV_CODEC_ID_TIFF: AVCodecID = 96;
7269pub const AVCodecID_AV_CODEC_ID_GIF: AVCodecID = 97;
7270pub const AVCodecID_AV_CODEC_ID_DXA: AVCodecID = 98;
7271pub const AVCodecID_AV_CODEC_ID_DNXHD: AVCodecID = 99;
7272pub const AVCodecID_AV_CODEC_ID_THP: AVCodecID = 100;
7273pub const AVCodecID_AV_CODEC_ID_SGI: AVCodecID = 101;
7274pub const AVCodecID_AV_CODEC_ID_C93: AVCodecID = 102;
7275pub const AVCodecID_AV_CODEC_ID_BETHSOFTVID: AVCodecID = 103;
7276pub const AVCodecID_AV_CODEC_ID_PTX: AVCodecID = 104;
7277pub const AVCodecID_AV_CODEC_ID_TXD: AVCodecID = 105;
7278pub const AVCodecID_AV_CODEC_ID_VP6A: AVCodecID = 106;
7279pub const AVCodecID_AV_CODEC_ID_AMV: AVCodecID = 107;
7280pub const AVCodecID_AV_CODEC_ID_VB: AVCodecID = 108;
7281pub const AVCodecID_AV_CODEC_ID_PCX: AVCodecID = 109;
7282pub const AVCodecID_AV_CODEC_ID_SUNRAST: AVCodecID = 110;
7283pub const AVCodecID_AV_CODEC_ID_INDEO4: AVCodecID = 111;
7284pub const AVCodecID_AV_CODEC_ID_INDEO5: AVCodecID = 112;
7285pub const AVCodecID_AV_CODEC_ID_MIMIC: AVCodecID = 113;
7286pub const AVCodecID_AV_CODEC_ID_RL2: AVCodecID = 114;
7287pub const AVCodecID_AV_CODEC_ID_ESCAPE124: AVCodecID = 115;
7288pub const AVCodecID_AV_CODEC_ID_DIRAC: AVCodecID = 116;
7289pub const AVCodecID_AV_CODEC_ID_BFI: AVCodecID = 117;
7290pub const AVCodecID_AV_CODEC_ID_CMV: AVCodecID = 118;
7291pub const AVCodecID_AV_CODEC_ID_MOTIONPIXELS: AVCodecID = 119;
7292pub const AVCodecID_AV_CODEC_ID_TGV: AVCodecID = 120;
7293pub const AVCodecID_AV_CODEC_ID_TGQ: AVCodecID = 121;
7294pub const AVCodecID_AV_CODEC_ID_TQI: AVCodecID = 122;
7295pub const AVCodecID_AV_CODEC_ID_AURA: AVCodecID = 123;
7296pub const AVCodecID_AV_CODEC_ID_AURA2: AVCodecID = 124;
7297pub const AVCodecID_AV_CODEC_ID_V210X: AVCodecID = 125;
7298pub const AVCodecID_AV_CODEC_ID_TMV: AVCodecID = 126;
7299pub const AVCodecID_AV_CODEC_ID_V210: AVCodecID = 127;
7300pub const AVCodecID_AV_CODEC_ID_DPX: AVCodecID = 128;
7301pub const AVCodecID_AV_CODEC_ID_MAD: AVCodecID = 129;
7302pub const AVCodecID_AV_CODEC_ID_FRWU: AVCodecID = 130;
7303pub const AVCodecID_AV_CODEC_ID_FLASHSV2: AVCodecID = 131;
7304pub const AVCodecID_AV_CODEC_ID_CDGRAPHICS: AVCodecID = 132;
7305pub const AVCodecID_AV_CODEC_ID_R210: AVCodecID = 133;
7306pub const AVCodecID_AV_CODEC_ID_ANM: AVCodecID = 134;
7307pub const AVCodecID_AV_CODEC_ID_BINKVIDEO: AVCodecID = 135;
7308pub const AVCodecID_AV_CODEC_ID_IFF_ILBM: AVCodecID = 136;
7309pub const AVCodecID_AV_CODEC_ID_KGV1: AVCodecID = 137;
7310pub const AVCodecID_AV_CODEC_ID_YOP: AVCodecID = 138;
7311pub const AVCodecID_AV_CODEC_ID_VP8: AVCodecID = 139;
7312pub const AVCodecID_AV_CODEC_ID_PICTOR: AVCodecID = 140;
7313pub const AVCodecID_AV_CODEC_ID_ANSI: AVCodecID = 141;
7314pub const AVCodecID_AV_CODEC_ID_A64_MULTI: AVCodecID = 142;
7315pub const AVCodecID_AV_CODEC_ID_A64_MULTI5: AVCodecID = 143;
7316pub const AVCodecID_AV_CODEC_ID_R10K: AVCodecID = 144;
7317pub const AVCodecID_AV_CODEC_ID_MXPEG: AVCodecID = 145;
7318pub const AVCodecID_AV_CODEC_ID_LAGARITH: AVCodecID = 146;
7319pub const AVCodecID_AV_CODEC_ID_PRORES: AVCodecID = 147;
7320pub const AVCodecID_AV_CODEC_ID_JV: AVCodecID = 148;
7321pub const AVCodecID_AV_CODEC_ID_DFA: AVCodecID = 149;
7322pub const AVCodecID_AV_CODEC_ID_WMV3IMAGE: AVCodecID = 150;
7323pub const AVCodecID_AV_CODEC_ID_VC1IMAGE: AVCodecID = 151;
7324pub const AVCodecID_AV_CODEC_ID_UTVIDEO: AVCodecID = 152;
7325pub const AVCodecID_AV_CODEC_ID_BMV_VIDEO: AVCodecID = 153;
7326pub const AVCodecID_AV_CODEC_ID_VBLE: AVCodecID = 154;
7327pub const AVCodecID_AV_CODEC_ID_DXTORY: AVCodecID = 155;
7328pub const AVCodecID_AV_CODEC_ID_V410: AVCodecID = 156;
7329pub const AVCodecID_AV_CODEC_ID_XWD: AVCodecID = 157;
7330pub const AVCodecID_AV_CODEC_ID_CDXL: AVCodecID = 158;
7331pub const AVCodecID_AV_CODEC_ID_XBM: AVCodecID = 159;
7332pub const AVCodecID_AV_CODEC_ID_ZEROCODEC: AVCodecID = 160;
7333pub const AVCodecID_AV_CODEC_ID_MSS1: AVCodecID = 161;
7334pub const AVCodecID_AV_CODEC_ID_MSA1: AVCodecID = 162;
7335pub const AVCodecID_AV_CODEC_ID_TSCC2: AVCodecID = 163;
7336pub const AVCodecID_AV_CODEC_ID_MTS2: AVCodecID = 164;
7337pub const AVCodecID_AV_CODEC_ID_CLLC: AVCodecID = 165;
7338pub const AVCodecID_AV_CODEC_ID_MSS2: AVCodecID = 166;
7339pub const AVCodecID_AV_CODEC_ID_VP9: AVCodecID = 167;
7340pub const AVCodecID_AV_CODEC_ID_AIC: AVCodecID = 168;
7341pub const AVCodecID_AV_CODEC_ID_ESCAPE130: AVCodecID = 169;
7342pub const AVCodecID_AV_CODEC_ID_G2M: AVCodecID = 170;
7343pub const AVCodecID_AV_CODEC_ID_WEBP: AVCodecID = 171;
7344pub const AVCodecID_AV_CODEC_ID_HNM4_VIDEO: AVCodecID = 172;
7345pub const AVCodecID_AV_CODEC_ID_HEVC: AVCodecID = 173;
7346pub const AVCodecID_AV_CODEC_ID_FIC: AVCodecID = 174;
7347pub const AVCodecID_AV_CODEC_ID_ALIAS_PIX: AVCodecID = 175;
7348pub const AVCodecID_AV_CODEC_ID_BRENDER_PIX: AVCodecID = 176;
7349pub const AVCodecID_AV_CODEC_ID_PAF_VIDEO: AVCodecID = 177;
7350pub const AVCodecID_AV_CODEC_ID_EXR: AVCodecID = 178;
7351pub const AVCodecID_AV_CODEC_ID_VP7: AVCodecID = 179;
7352pub const AVCodecID_AV_CODEC_ID_SANM: AVCodecID = 180;
7353pub const AVCodecID_AV_CODEC_ID_SGIRLE: AVCodecID = 181;
7354pub const AVCodecID_AV_CODEC_ID_MVC1: AVCodecID = 182;
7355pub const AVCodecID_AV_CODEC_ID_MVC2: AVCodecID = 183;
7356pub const AVCodecID_AV_CODEC_ID_HQX: AVCodecID = 184;
7357pub const AVCodecID_AV_CODEC_ID_TDSC: AVCodecID = 185;
7358pub const AVCodecID_AV_CODEC_ID_HQ_HQA: AVCodecID = 186;
7359pub const AVCodecID_AV_CODEC_ID_HAP: AVCodecID = 187;
7360pub const AVCodecID_AV_CODEC_ID_DDS: AVCodecID = 188;
7361pub const AVCodecID_AV_CODEC_ID_DXV: AVCodecID = 189;
7362pub const AVCodecID_AV_CODEC_ID_SCREENPRESSO: AVCodecID = 190;
7363pub const AVCodecID_AV_CODEC_ID_RSCC: AVCodecID = 191;
7364pub const AVCodecID_AV_CODEC_ID_AVS2: AVCodecID = 192;
7365pub const AVCodecID_AV_CODEC_ID_Y41P: AVCodecID = 32768;
7366pub const AVCodecID_AV_CODEC_ID_AVRP: AVCodecID = 32769;
7367pub const AVCodecID_AV_CODEC_ID_012V: AVCodecID = 32770;
7368pub const AVCodecID_AV_CODEC_ID_AVUI: AVCodecID = 32771;
7369pub const AVCodecID_AV_CODEC_ID_AYUV: AVCodecID = 32772;
7370pub const AVCodecID_AV_CODEC_ID_TARGA_Y216: AVCodecID = 32773;
7371pub const AVCodecID_AV_CODEC_ID_V308: AVCodecID = 32774;
7372pub const AVCodecID_AV_CODEC_ID_V408: AVCodecID = 32775;
7373pub const AVCodecID_AV_CODEC_ID_YUV4: AVCodecID = 32776;
7374pub const AVCodecID_AV_CODEC_ID_AVRN: AVCodecID = 32777;
7375pub const AVCodecID_AV_CODEC_ID_CPIA: AVCodecID = 32778;
7376pub const AVCodecID_AV_CODEC_ID_XFACE: AVCodecID = 32779;
7377pub const AVCodecID_AV_CODEC_ID_SNOW: AVCodecID = 32780;
7378pub const AVCodecID_AV_CODEC_ID_SMVJPEG: AVCodecID = 32781;
7379pub const AVCodecID_AV_CODEC_ID_APNG: AVCodecID = 32782;
7380pub const AVCodecID_AV_CODEC_ID_DAALA: AVCodecID = 32783;
7381pub const AVCodecID_AV_CODEC_ID_CFHD: AVCodecID = 32784;
7382pub const AVCodecID_AV_CODEC_ID_TRUEMOTION2RT: AVCodecID = 32785;
7383pub const AVCodecID_AV_CODEC_ID_M101: AVCodecID = 32786;
7384pub const AVCodecID_AV_CODEC_ID_MAGICYUV: AVCodecID = 32787;
7385pub const AVCodecID_AV_CODEC_ID_SHEERVIDEO: AVCodecID = 32788;
7386pub const AVCodecID_AV_CODEC_ID_YLC: AVCodecID = 32789;
7387pub const AVCodecID_AV_CODEC_ID_PSD: AVCodecID = 32790;
7388pub const AVCodecID_AV_CODEC_ID_PIXLET: AVCodecID = 32791;
7389pub const AVCodecID_AV_CODEC_ID_SPEEDHQ: AVCodecID = 32792;
7390pub const AVCodecID_AV_CODEC_ID_FMVC: AVCodecID = 32793;
7391pub const AVCodecID_AV_CODEC_ID_SCPR: AVCodecID = 32794;
7392pub const AVCodecID_AV_CODEC_ID_CLEARVIDEO: AVCodecID = 32795;
7393pub const AVCodecID_AV_CODEC_ID_XPM: AVCodecID = 32796;
7394pub const AVCodecID_AV_CODEC_ID_AV1: AVCodecID = 32797;
7395pub const AVCodecID_AV_CODEC_ID_BITPACKED: AVCodecID = 32798;
7396pub const AVCodecID_AV_CODEC_ID_MSCC: AVCodecID = 32799;
7397pub const AVCodecID_AV_CODEC_ID_SRGC: AVCodecID = 32800;
7398pub const AVCodecID_AV_CODEC_ID_SVG: AVCodecID = 32801;
7399pub const AVCodecID_AV_CODEC_ID_GDV: AVCodecID = 32802;
7400pub const AVCodecID_AV_CODEC_ID_FITS: AVCodecID = 32803;
7401pub const AVCodecID_AV_CODEC_ID_IMM4: AVCodecID = 32804;
7402pub const AVCodecID_AV_CODEC_ID_PROSUMER: AVCodecID = 32805;
7403pub const AVCodecID_AV_CODEC_ID_MWSC: AVCodecID = 32806;
7404pub const AVCodecID_AV_CODEC_ID_WCMV: AVCodecID = 32807;
7405pub const AVCodecID_AV_CODEC_ID_RASC: AVCodecID = 32808;
7406pub const AVCodecID_AV_CODEC_ID_HYMT: AVCodecID = 32809;
7407pub const AVCodecID_AV_CODEC_ID_ARBC: AVCodecID = 32810;
7408pub const AVCodecID_AV_CODEC_ID_AGM: AVCodecID = 32811;
7409pub const AVCodecID_AV_CODEC_ID_LSCR: AVCodecID = 32812;
7410pub const AVCodecID_AV_CODEC_ID_VP4: AVCodecID = 32813;
7411pub const AVCodecID_AV_CODEC_ID_FIRST_AUDIO: AVCodecID = 65536;
7412pub const AVCodecID_AV_CODEC_ID_PCM_S16LE: AVCodecID = 65536;
7413pub const AVCodecID_AV_CODEC_ID_PCM_S16BE: AVCodecID = 65537;
7414pub const AVCodecID_AV_CODEC_ID_PCM_U16LE: AVCodecID = 65538;
7415pub const AVCodecID_AV_CODEC_ID_PCM_U16BE: AVCodecID = 65539;
7416pub const AVCodecID_AV_CODEC_ID_PCM_S8: AVCodecID = 65540;
7417pub const AVCodecID_AV_CODEC_ID_PCM_U8: AVCodecID = 65541;
7418pub const AVCodecID_AV_CODEC_ID_PCM_MULAW: AVCodecID = 65542;
7419pub const AVCodecID_AV_CODEC_ID_PCM_ALAW: AVCodecID = 65543;
7420pub const AVCodecID_AV_CODEC_ID_PCM_S32LE: AVCodecID = 65544;
7421pub const AVCodecID_AV_CODEC_ID_PCM_S32BE: AVCodecID = 65545;
7422pub const AVCodecID_AV_CODEC_ID_PCM_U32LE: AVCodecID = 65546;
7423pub const AVCodecID_AV_CODEC_ID_PCM_U32BE: AVCodecID = 65547;
7424pub const AVCodecID_AV_CODEC_ID_PCM_S24LE: AVCodecID = 65548;
7425pub const AVCodecID_AV_CODEC_ID_PCM_S24BE: AVCodecID = 65549;
7426pub const AVCodecID_AV_CODEC_ID_PCM_U24LE: AVCodecID = 65550;
7427pub const AVCodecID_AV_CODEC_ID_PCM_U24BE: AVCodecID = 65551;
7428pub const AVCodecID_AV_CODEC_ID_PCM_S24DAUD: AVCodecID = 65552;
7429pub const AVCodecID_AV_CODEC_ID_PCM_ZORK: AVCodecID = 65553;
7430pub const AVCodecID_AV_CODEC_ID_PCM_S16LE_PLANAR: AVCodecID = 65554;
7431pub const AVCodecID_AV_CODEC_ID_PCM_DVD: AVCodecID = 65555;
7432pub const AVCodecID_AV_CODEC_ID_PCM_F32BE: AVCodecID = 65556;
7433pub const AVCodecID_AV_CODEC_ID_PCM_F32LE: AVCodecID = 65557;
7434pub const AVCodecID_AV_CODEC_ID_PCM_F64BE: AVCodecID = 65558;
7435pub const AVCodecID_AV_CODEC_ID_PCM_F64LE: AVCodecID = 65559;
7436pub const AVCodecID_AV_CODEC_ID_PCM_BLURAY: AVCodecID = 65560;
7437pub const AVCodecID_AV_CODEC_ID_PCM_LXF: AVCodecID = 65561;
7438pub const AVCodecID_AV_CODEC_ID_S302M: AVCodecID = 65562;
7439pub const AVCodecID_AV_CODEC_ID_PCM_S8_PLANAR: AVCodecID = 65563;
7440pub const AVCodecID_AV_CODEC_ID_PCM_S24LE_PLANAR: AVCodecID = 65564;
7441pub const AVCodecID_AV_CODEC_ID_PCM_S32LE_PLANAR: AVCodecID = 65565;
7442pub const AVCodecID_AV_CODEC_ID_PCM_S16BE_PLANAR: AVCodecID = 65566;
7443pub const AVCodecID_AV_CODEC_ID_PCM_S64LE: AVCodecID = 67584;
7444pub const AVCodecID_AV_CODEC_ID_PCM_S64BE: AVCodecID = 67585;
7445pub const AVCodecID_AV_CODEC_ID_PCM_F16LE: AVCodecID = 67586;
7446pub const AVCodecID_AV_CODEC_ID_PCM_F24LE: AVCodecID = 67587;
7447pub const AVCodecID_AV_CODEC_ID_PCM_VIDC: AVCodecID = 67588;
7448pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_QT: AVCodecID = 69632;
7449pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_WAV: AVCodecID = 69633;
7450pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_DK3: AVCodecID = 69634;
7451pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_DK4: AVCodecID = 69635;
7452pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_WS: AVCodecID = 69636;
7453pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_SMJPEG: AVCodecID = 69637;
7454pub const AVCodecID_AV_CODEC_ID_ADPCM_MS: AVCodecID = 69638;
7455pub const AVCodecID_AV_CODEC_ID_ADPCM_4XM: AVCodecID = 69639;
7456pub const AVCodecID_AV_CODEC_ID_ADPCM_XA: AVCodecID = 69640;
7457pub const AVCodecID_AV_CODEC_ID_ADPCM_ADX: AVCodecID = 69641;
7458pub const AVCodecID_AV_CODEC_ID_ADPCM_EA: AVCodecID = 69642;
7459pub const AVCodecID_AV_CODEC_ID_ADPCM_G726: AVCodecID = 69643;
7460pub const AVCodecID_AV_CODEC_ID_ADPCM_CT: AVCodecID = 69644;
7461pub const AVCodecID_AV_CODEC_ID_ADPCM_SWF: AVCodecID = 69645;
7462pub const AVCodecID_AV_CODEC_ID_ADPCM_YAMAHA: AVCodecID = 69646;
7463pub const AVCodecID_AV_CODEC_ID_ADPCM_SBPRO_4: AVCodecID = 69647;
7464pub const AVCodecID_AV_CODEC_ID_ADPCM_SBPRO_3: AVCodecID = 69648;
7465pub const AVCodecID_AV_CODEC_ID_ADPCM_SBPRO_2: AVCodecID = 69649;
7466pub const AVCodecID_AV_CODEC_ID_ADPCM_THP: AVCodecID = 69650;
7467pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_AMV: AVCodecID = 69651;
7468pub const AVCodecID_AV_CODEC_ID_ADPCM_EA_R1: AVCodecID = 69652;
7469pub const AVCodecID_AV_CODEC_ID_ADPCM_EA_R3: AVCodecID = 69653;
7470pub const AVCodecID_AV_CODEC_ID_ADPCM_EA_R2: AVCodecID = 69654;
7471pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_EA_SEAD: AVCodecID = 69655;
7472pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_EA_EACS: AVCodecID = 69656;
7473pub const AVCodecID_AV_CODEC_ID_ADPCM_EA_XAS: AVCodecID = 69657;
7474pub const AVCodecID_AV_CODEC_ID_ADPCM_EA_MAXIS_XA: AVCodecID = 69658;
7475pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_ISS: AVCodecID = 69659;
7476pub const AVCodecID_AV_CODEC_ID_ADPCM_G722: AVCodecID = 69660;
7477pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_APC: AVCodecID = 69661;
7478pub const AVCodecID_AV_CODEC_ID_ADPCM_VIMA: AVCodecID = 69662;
7479pub const AVCodecID_AV_CODEC_ID_ADPCM_AFC: AVCodecID = 71680;
7480pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_OKI: AVCodecID = 71681;
7481pub const AVCodecID_AV_CODEC_ID_ADPCM_DTK: AVCodecID = 71682;
7482pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_RAD: AVCodecID = 71683;
7483pub const AVCodecID_AV_CODEC_ID_ADPCM_G726LE: AVCodecID = 71684;
7484pub const AVCodecID_AV_CODEC_ID_ADPCM_THP_LE: AVCodecID = 71685;
7485pub const AVCodecID_AV_CODEC_ID_ADPCM_PSX: AVCodecID = 71686;
7486pub const AVCodecID_AV_CODEC_ID_ADPCM_AICA: AVCodecID = 71687;
7487pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_DAT4: AVCodecID = 71688;
7488pub const AVCodecID_AV_CODEC_ID_ADPCM_MTAF: AVCodecID = 71689;
7489pub const AVCodecID_AV_CODEC_ID_ADPCM_AGM: AVCodecID = 71690;
7490pub const AVCodecID_AV_CODEC_ID_AMR_NB: AVCodecID = 73728;
7491pub const AVCodecID_AV_CODEC_ID_AMR_WB: AVCodecID = 73729;
7492pub const AVCodecID_AV_CODEC_ID_RA_144: AVCodecID = 77824;
7493pub const AVCodecID_AV_CODEC_ID_RA_288: AVCodecID = 77825;
7494pub const AVCodecID_AV_CODEC_ID_ROQ_DPCM: AVCodecID = 81920;
7495pub const AVCodecID_AV_CODEC_ID_INTERPLAY_DPCM: AVCodecID = 81921;
7496pub const AVCodecID_AV_CODEC_ID_XAN_DPCM: AVCodecID = 81922;
7497pub const AVCodecID_AV_CODEC_ID_SOL_DPCM: AVCodecID = 81923;
7498pub const AVCodecID_AV_CODEC_ID_SDX2_DPCM: AVCodecID = 83968;
7499pub const AVCodecID_AV_CODEC_ID_GREMLIN_DPCM: AVCodecID = 83969;
7500pub const AVCodecID_AV_CODEC_ID_MP2: AVCodecID = 86016;
7501pub const AVCodecID_AV_CODEC_ID_MP3: AVCodecID = 86017;
7502pub const AVCodecID_AV_CODEC_ID_AAC: AVCodecID = 86018;
7503pub const AVCodecID_AV_CODEC_ID_AC3: AVCodecID = 86019;
7504pub const AVCodecID_AV_CODEC_ID_DTS: AVCodecID = 86020;
7505pub const AVCodecID_AV_CODEC_ID_VORBIS: AVCodecID = 86021;
7506pub const AVCodecID_AV_CODEC_ID_DVAUDIO: AVCodecID = 86022;
7507pub const AVCodecID_AV_CODEC_ID_WMAV1: AVCodecID = 86023;
7508pub const AVCodecID_AV_CODEC_ID_WMAV2: AVCodecID = 86024;
7509pub const AVCodecID_AV_CODEC_ID_MACE3: AVCodecID = 86025;
7510pub const AVCodecID_AV_CODEC_ID_MACE6: AVCodecID = 86026;
7511pub const AVCodecID_AV_CODEC_ID_VMDAUDIO: AVCodecID = 86027;
7512pub const AVCodecID_AV_CODEC_ID_FLAC: AVCodecID = 86028;
7513pub const AVCodecID_AV_CODEC_ID_MP3ADU: AVCodecID = 86029;
7514pub const AVCodecID_AV_CODEC_ID_MP3ON4: AVCodecID = 86030;
7515pub const AVCodecID_AV_CODEC_ID_SHORTEN: AVCodecID = 86031;
7516pub const AVCodecID_AV_CODEC_ID_ALAC: AVCodecID = 86032;
7517pub const AVCodecID_AV_CODEC_ID_WESTWOOD_SND1: AVCodecID = 86033;
7518pub const AVCodecID_AV_CODEC_ID_GSM: AVCodecID = 86034;
7519pub const AVCodecID_AV_CODEC_ID_QDM2: AVCodecID = 86035;
7520pub const AVCodecID_AV_CODEC_ID_COOK: AVCodecID = 86036;
7521pub const AVCodecID_AV_CODEC_ID_TRUESPEECH: AVCodecID = 86037;
7522pub const AVCodecID_AV_CODEC_ID_TTA: AVCodecID = 86038;
7523pub const AVCodecID_AV_CODEC_ID_SMACKAUDIO: AVCodecID = 86039;
7524pub const AVCodecID_AV_CODEC_ID_QCELP: AVCodecID = 86040;
7525pub const AVCodecID_AV_CODEC_ID_WAVPACK: AVCodecID = 86041;
7526pub const AVCodecID_AV_CODEC_ID_DSICINAUDIO: AVCodecID = 86042;
7527pub const AVCodecID_AV_CODEC_ID_IMC: AVCodecID = 86043;
7528pub const AVCodecID_AV_CODEC_ID_MUSEPACK7: AVCodecID = 86044;
7529pub const AVCodecID_AV_CODEC_ID_MLP: AVCodecID = 86045;
7530pub const AVCodecID_AV_CODEC_ID_GSM_MS: AVCodecID = 86046;
7531pub const AVCodecID_AV_CODEC_ID_ATRAC3: AVCodecID = 86047;
7532pub const AVCodecID_AV_CODEC_ID_APE: AVCodecID = 86048;
7533pub const AVCodecID_AV_CODEC_ID_NELLYMOSER: AVCodecID = 86049;
7534pub const AVCodecID_AV_CODEC_ID_MUSEPACK8: AVCodecID = 86050;
7535pub const AVCodecID_AV_CODEC_ID_SPEEX: AVCodecID = 86051;
7536pub const AVCodecID_AV_CODEC_ID_WMAVOICE: AVCodecID = 86052;
7537pub const AVCodecID_AV_CODEC_ID_WMAPRO: AVCodecID = 86053;
7538pub const AVCodecID_AV_CODEC_ID_WMALOSSLESS: AVCodecID = 86054;
7539pub const AVCodecID_AV_CODEC_ID_ATRAC3P: AVCodecID = 86055;
7540pub const AVCodecID_AV_CODEC_ID_EAC3: AVCodecID = 86056;
7541pub const AVCodecID_AV_CODEC_ID_SIPR: AVCodecID = 86057;
7542pub const AVCodecID_AV_CODEC_ID_MP1: AVCodecID = 86058;
7543pub const AVCodecID_AV_CODEC_ID_TWINVQ: AVCodecID = 86059;
7544pub const AVCodecID_AV_CODEC_ID_TRUEHD: AVCodecID = 86060;
7545pub const AVCodecID_AV_CODEC_ID_MP4ALS: AVCodecID = 86061;
7546pub const AVCodecID_AV_CODEC_ID_ATRAC1: AVCodecID = 86062;
7547pub const AVCodecID_AV_CODEC_ID_BINKAUDIO_RDFT: AVCodecID = 86063;
7548pub const AVCodecID_AV_CODEC_ID_BINKAUDIO_DCT: AVCodecID = 86064;
7549pub const AVCodecID_AV_CODEC_ID_AAC_LATM: AVCodecID = 86065;
7550pub const AVCodecID_AV_CODEC_ID_QDMC: AVCodecID = 86066;
7551pub const AVCodecID_AV_CODEC_ID_CELT: AVCodecID = 86067;
7552pub const AVCodecID_AV_CODEC_ID_G723_1: AVCodecID = 86068;
7553pub const AVCodecID_AV_CODEC_ID_G729: AVCodecID = 86069;
7554pub const AVCodecID_AV_CODEC_ID_8SVX_EXP: AVCodecID = 86070;
7555pub const AVCodecID_AV_CODEC_ID_8SVX_FIB: AVCodecID = 86071;
7556pub const AVCodecID_AV_CODEC_ID_BMV_AUDIO: AVCodecID = 86072;
7557pub const AVCodecID_AV_CODEC_ID_RALF: AVCodecID = 86073;
7558pub const AVCodecID_AV_CODEC_ID_IAC: AVCodecID = 86074;
7559pub const AVCodecID_AV_CODEC_ID_ILBC: AVCodecID = 86075;
7560pub const AVCodecID_AV_CODEC_ID_OPUS: AVCodecID = 86076;
7561pub const AVCodecID_AV_CODEC_ID_COMFORT_NOISE: AVCodecID = 86077;
7562pub const AVCodecID_AV_CODEC_ID_TAK: AVCodecID = 86078;
7563pub const AVCodecID_AV_CODEC_ID_METASOUND: AVCodecID = 86079;
7564pub const AVCodecID_AV_CODEC_ID_PAF_AUDIO: AVCodecID = 86080;
7565pub const AVCodecID_AV_CODEC_ID_ON2AVC: AVCodecID = 86081;
7566pub const AVCodecID_AV_CODEC_ID_DSS_SP: AVCodecID = 86082;
7567pub const AVCodecID_AV_CODEC_ID_CODEC2: AVCodecID = 86083;
7568pub const AVCodecID_AV_CODEC_ID_FFWAVESYNTH: AVCodecID = 88064;
7569pub const AVCodecID_AV_CODEC_ID_SONIC: AVCodecID = 88065;
7570pub const AVCodecID_AV_CODEC_ID_SONIC_LS: AVCodecID = 88066;
7571pub const AVCodecID_AV_CODEC_ID_EVRC: AVCodecID = 88067;
7572pub const AVCodecID_AV_CODEC_ID_SMV: AVCodecID = 88068;
7573pub const AVCodecID_AV_CODEC_ID_DSD_LSBF: AVCodecID = 88069;
7574pub const AVCodecID_AV_CODEC_ID_DSD_MSBF: AVCodecID = 88070;
7575pub const AVCodecID_AV_CODEC_ID_DSD_LSBF_PLANAR: AVCodecID = 88071;
7576pub const AVCodecID_AV_CODEC_ID_DSD_MSBF_PLANAR: AVCodecID = 88072;
7577pub const AVCodecID_AV_CODEC_ID_4GV: AVCodecID = 88073;
7578pub const AVCodecID_AV_CODEC_ID_INTERPLAY_ACM: AVCodecID = 88074;
7579pub const AVCodecID_AV_CODEC_ID_XMA1: AVCodecID = 88075;
7580pub const AVCodecID_AV_CODEC_ID_XMA2: AVCodecID = 88076;
7581pub const AVCodecID_AV_CODEC_ID_DST: AVCodecID = 88077;
7582pub const AVCodecID_AV_CODEC_ID_ATRAC3AL: AVCodecID = 88078;
7583pub const AVCodecID_AV_CODEC_ID_ATRAC3PAL: AVCodecID = 88079;
7584pub const AVCodecID_AV_CODEC_ID_DOLBY_E: AVCodecID = 88080;
7585pub const AVCodecID_AV_CODEC_ID_APTX: AVCodecID = 88081;
7586pub const AVCodecID_AV_CODEC_ID_APTX_HD: AVCodecID = 88082;
7587pub const AVCodecID_AV_CODEC_ID_SBC: AVCodecID = 88083;
7588pub const AVCodecID_AV_CODEC_ID_ATRAC9: AVCodecID = 88084;
7589pub const AVCodecID_AV_CODEC_ID_HCOM: AVCodecID = 88085;
7590pub const AVCodecID_AV_CODEC_ID_FIRST_SUBTITLE: AVCodecID = 94208;
7591pub const AVCodecID_AV_CODEC_ID_DVD_SUBTITLE: AVCodecID = 94208;
7592pub const AVCodecID_AV_CODEC_ID_DVB_SUBTITLE: AVCodecID = 94209;
7593pub const AVCodecID_AV_CODEC_ID_TEXT: AVCodecID = 94210;
7594pub const AVCodecID_AV_CODEC_ID_XSUB: AVCodecID = 94211;
7595pub const AVCodecID_AV_CODEC_ID_SSA: AVCodecID = 94212;
7596pub const AVCodecID_AV_CODEC_ID_MOV_TEXT: AVCodecID = 94213;
7597pub const AVCodecID_AV_CODEC_ID_HDMV_PGS_SUBTITLE: AVCodecID = 94214;
7598pub const AVCodecID_AV_CODEC_ID_DVB_TELETEXT: AVCodecID = 94215;
7599pub const AVCodecID_AV_CODEC_ID_SRT: AVCodecID = 94216;
7600pub const AVCodecID_AV_CODEC_ID_MICRODVD: AVCodecID = 96256;
7601pub const AVCodecID_AV_CODEC_ID_EIA_608: AVCodecID = 96257;
7602pub const AVCodecID_AV_CODEC_ID_JACOSUB: AVCodecID = 96258;
7603pub const AVCodecID_AV_CODEC_ID_SAMI: AVCodecID = 96259;
7604pub const AVCodecID_AV_CODEC_ID_REALTEXT: AVCodecID = 96260;
7605pub const AVCodecID_AV_CODEC_ID_STL: AVCodecID = 96261;
7606pub const AVCodecID_AV_CODEC_ID_SUBVIEWER1: AVCodecID = 96262;
7607pub const AVCodecID_AV_CODEC_ID_SUBVIEWER: AVCodecID = 96263;
7608pub const AVCodecID_AV_CODEC_ID_SUBRIP: AVCodecID = 96264;
7609pub const AVCodecID_AV_CODEC_ID_WEBVTT: AVCodecID = 96265;
7610pub const AVCodecID_AV_CODEC_ID_MPL2: AVCodecID = 96266;
7611pub const AVCodecID_AV_CODEC_ID_VPLAYER: AVCodecID = 96267;
7612pub const AVCodecID_AV_CODEC_ID_PJS: AVCodecID = 96268;
7613pub const AVCodecID_AV_CODEC_ID_ASS: AVCodecID = 96269;
7614pub const AVCodecID_AV_CODEC_ID_HDMV_TEXT_SUBTITLE: AVCodecID = 96270;
7615pub const AVCodecID_AV_CODEC_ID_TTML: AVCodecID = 96271;
7616pub const AVCodecID_AV_CODEC_ID_ARIB_CAPTION: AVCodecID = 96272;
7617pub const AVCodecID_AV_CODEC_ID_FIRST_UNKNOWN: AVCodecID = 98304;
7618pub const AVCodecID_AV_CODEC_ID_TTF: AVCodecID = 98304;
7619pub const AVCodecID_AV_CODEC_ID_SCTE_35: AVCodecID = 98305;
7620pub const AVCodecID_AV_CODEC_ID_BINTEXT: AVCodecID = 100352;
7621pub const AVCodecID_AV_CODEC_ID_XBIN: AVCodecID = 100353;
7622pub const AVCodecID_AV_CODEC_ID_IDF: AVCodecID = 100354;
7623pub const AVCodecID_AV_CODEC_ID_OTF: AVCodecID = 100355;
7624pub const AVCodecID_AV_CODEC_ID_SMPTE_KLV: AVCodecID = 100356;
7625pub const AVCodecID_AV_CODEC_ID_DVD_NAV: AVCodecID = 100357;
7626pub const AVCodecID_AV_CODEC_ID_TIMED_ID3: AVCodecID = 100358;
7627pub const AVCodecID_AV_CODEC_ID_BIN_DATA: AVCodecID = 100359;
7628pub const AVCodecID_AV_CODEC_ID_PROBE: AVCodecID = 102400;
7629pub const AVCodecID_AV_CODEC_ID_MPEG2TS: AVCodecID = 131072;
7630pub const AVCodecID_AV_CODEC_ID_MPEG4SYSTEMS: AVCodecID = 131073;
7631pub const AVCodecID_AV_CODEC_ID_FFMETADATA: AVCodecID = 135168;
7632pub const AVCodecID_AV_CODEC_ID_WRAPPED_AVFRAME: AVCodecID = 135169;
7633pub type AVCodecID = u32;
7634#[repr(C)]
7635#[derive(Debug, Copy, Clone)]
7636pub struct AVCodecDescriptor {
7637    pub id: AVCodecID,
7638    pub type_: AVMediaType,
7639    pub name: *const ::std::os::raw::c_char,
7640    pub long_name: *const ::std::os::raw::c_char,
7641    pub props: ::std::os::raw::c_int,
7642    pub mime_types: *const *const ::std::os::raw::c_char,
7643    pub profiles: *const AVProfile,
7644}
7645pub const AVDiscard_AVDISCARD_NONE: AVDiscard = -16;
7646pub const AVDiscard_AVDISCARD_DEFAULT: AVDiscard = 0;
7647pub const AVDiscard_AVDISCARD_NONREF: AVDiscard = 8;
7648pub const AVDiscard_AVDISCARD_BIDIR: AVDiscard = 16;
7649pub const AVDiscard_AVDISCARD_NONINTRA: AVDiscard = 24;
7650pub const AVDiscard_AVDISCARD_NONKEY: AVDiscard = 32;
7651pub const AVDiscard_AVDISCARD_ALL: AVDiscard = 48;
7652pub type AVDiscard = i32;
7653pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_MAIN: AVAudioServiceType = 0;
7654pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_EFFECTS: AVAudioServiceType = 1;
7655pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_VISUALLY_IMPAIRED: AVAudioServiceType = 2;
7656pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_HEARING_IMPAIRED: AVAudioServiceType = 3;
7657pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_DIALOGUE: AVAudioServiceType = 4;
7658pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_COMMENTARY: AVAudioServiceType = 5;
7659pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_EMERGENCY: AVAudioServiceType = 6;
7660pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_VOICE_OVER: AVAudioServiceType = 7;
7661pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_KARAOKE: AVAudioServiceType = 8;
7662pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_NB: AVAudioServiceType = 9;
7663pub type AVAudioServiceType = u32;
7664#[repr(C)]
7665#[derive(Debug, Copy, Clone)]
7666pub struct RcOverride {
7667    pub start_frame: ::std::os::raw::c_int,
7668    pub end_frame: ::std::os::raw::c_int,
7669    pub qscale: ::std::os::raw::c_int,
7670    pub quality_factor: f32,
7671}
7672#[repr(C)]
7673#[derive(Debug, Copy, Clone)]
7674pub struct AVPanScan {
7675    pub id: ::std::os::raw::c_int,
7676    pub width: ::std::os::raw::c_int,
7677    pub height: ::std::os::raw::c_int,
7678    pub position: [[i16; 2usize]; 3usize],
7679}
7680#[repr(C)]
7681#[derive(Debug, Copy, Clone)]
7682pub struct AVCPBProperties {
7683    pub max_bitrate: ::std::os::raw::c_int,
7684    pub min_bitrate: ::std::os::raw::c_int,
7685    pub avg_bitrate: ::std::os::raw::c_int,
7686    pub buffer_size: ::std::os::raw::c_int,
7687    pub vbv_delay: u64,
7688}
7689pub const AVPacketSideDataType_AV_PKT_DATA_PALETTE: AVPacketSideDataType = 0;
7690pub const AVPacketSideDataType_AV_PKT_DATA_NEW_EXTRADATA: AVPacketSideDataType = 1;
7691pub const AVPacketSideDataType_AV_PKT_DATA_PARAM_CHANGE: AVPacketSideDataType = 2;
7692pub const AVPacketSideDataType_AV_PKT_DATA_H263_MB_INFO: AVPacketSideDataType = 3;
7693pub const AVPacketSideDataType_AV_PKT_DATA_REPLAYGAIN: AVPacketSideDataType = 4;
7694pub const AVPacketSideDataType_AV_PKT_DATA_DISPLAYMATRIX: AVPacketSideDataType = 5;
7695pub const AVPacketSideDataType_AV_PKT_DATA_STEREO3D: AVPacketSideDataType = 6;
7696pub const AVPacketSideDataType_AV_PKT_DATA_AUDIO_SERVICE_TYPE: AVPacketSideDataType = 7;
7697pub const AVPacketSideDataType_AV_PKT_DATA_QUALITY_STATS: AVPacketSideDataType = 8;
7698pub const AVPacketSideDataType_AV_PKT_DATA_FALLBACK_TRACK: AVPacketSideDataType = 9;
7699pub const AVPacketSideDataType_AV_PKT_DATA_CPB_PROPERTIES: AVPacketSideDataType = 10;
7700pub const AVPacketSideDataType_AV_PKT_DATA_SKIP_SAMPLES: AVPacketSideDataType = 11;
7701pub const AVPacketSideDataType_AV_PKT_DATA_JP_DUALMONO: AVPacketSideDataType = 12;
7702pub const AVPacketSideDataType_AV_PKT_DATA_STRINGS_METADATA: AVPacketSideDataType = 13;
7703pub const AVPacketSideDataType_AV_PKT_DATA_SUBTITLE_POSITION: AVPacketSideDataType = 14;
7704pub const AVPacketSideDataType_AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL: AVPacketSideDataType = 15;
7705pub const AVPacketSideDataType_AV_PKT_DATA_WEBVTT_IDENTIFIER: AVPacketSideDataType = 16;
7706pub const AVPacketSideDataType_AV_PKT_DATA_WEBVTT_SETTINGS: AVPacketSideDataType = 17;
7707pub const AVPacketSideDataType_AV_PKT_DATA_METADATA_UPDATE: AVPacketSideDataType = 18;
7708pub const AVPacketSideDataType_AV_PKT_DATA_MPEGTS_STREAM_ID: AVPacketSideDataType = 19;
7709pub const AVPacketSideDataType_AV_PKT_DATA_MASTERING_DISPLAY_METADATA: AVPacketSideDataType = 20;
7710pub const AVPacketSideDataType_AV_PKT_DATA_SPHERICAL: AVPacketSideDataType = 21;
7711pub const AVPacketSideDataType_AV_PKT_DATA_CONTENT_LIGHT_LEVEL: AVPacketSideDataType = 22;
7712pub const AVPacketSideDataType_AV_PKT_DATA_A53_CC: AVPacketSideDataType = 23;
7713pub const AVPacketSideDataType_AV_PKT_DATA_ENCRYPTION_INIT_INFO: AVPacketSideDataType = 24;
7714pub const AVPacketSideDataType_AV_PKT_DATA_ENCRYPTION_INFO: AVPacketSideDataType = 25;
7715pub const AVPacketSideDataType_AV_PKT_DATA_AFD: AVPacketSideDataType = 26;
7716pub const AVPacketSideDataType_AV_PKT_DATA_NB: AVPacketSideDataType = 27;
7717pub type AVPacketSideDataType = u32;
7718#[repr(C)]
7719#[derive(Debug, Copy, Clone)]
7720pub struct AVPacketSideData {
7721    pub data: *mut u8,
7722    pub size: ::std::os::raw::c_int,
7723    pub type_: AVPacketSideDataType,
7724}
7725#[repr(C)]
7726#[derive(Debug, Copy, Clone)]
7727pub struct AVPacket {
7728    pub buf: *mut AVBufferRef,
7729    pub pts: i64,
7730    pub dts: i64,
7731    pub data: *mut u8,
7732    pub size: ::std::os::raw::c_int,
7733    pub stream_index: ::std::os::raw::c_int,
7734    pub flags: ::std::os::raw::c_int,
7735    pub side_data: *mut AVPacketSideData,
7736    pub side_data_elems: ::std::os::raw::c_int,
7737    pub duration: i64,
7738    pub pos: i64,
7739    pub convergence_duration: i64,
7740}
7741pub const AVSideDataParamChangeFlags_AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_COUNT:
7742    AVSideDataParamChangeFlags = 1;
7743pub const AVSideDataParamChangeFlags_AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_LAYOUT:
7744    AVSideDataParamChangeFlags = 2;
7745pub const AVSideDataParamChangeFlags_AV_SIDE_DATA_PARAM_CHANGE_SAMPLE_RATE:
7746    AVSideDataParamChangeFlags = 4;
7747pub const AVSideDataParamChangeFlags_AV_SIDE_DATA_PARAM_CHANGE_DIMENSIONS:
7748    AVSideDataParamChangeFlags = 8;
7749pub type AVSideDataParamChangeFlags = u32;
7750#[repr(C)]
7751#[derive(Debug, Copy, Clone)]
7752pub struct AVCodecInternal {
7753    _unused: [u8; 0],
7754}
7755pub const AVFieldOrder_AV_FIELD_UNKNOWN: AVFieldOrder = 0;
7756pub const AVFieldOrder_AV_FIELD_PROGRESSIVE: AVFieldOrder = 1;
7757pub const AVFieldOrder_AV_FIELD_TT: AVFieldOrder = 2;
7758pub const AVFieldOrder_AV_FIELD_BB: AVFieldOrder = 3;
7759pub const AVFieldOrder_AV_FIELD_TB: AVFieldOrder = 4;
7760pub const AVFieldOrder_AV_FIELD_BT: AVFieldOrder = 5;
7761pub type AVFieldOrder = u32;
7762#[repr(C)]
7763#[derive(Debug, Copy, Clone)]
7764pub struct AVCodecContext {
7765    pub av_class: *const AVClass,
7766    pub log_level_offset: ::std::os::raw::c_int,
7767    pub codec_type: AVMediaType,
7768    pub codec: *const AVCodec,
7769    pub codec_id: AVCodecID,
7770    pub codec_tag: ::std::os::raw::c_uint,
7771    pub priv_data: *mut ::std::os::raw::c_void,
7772    pub internal: *mut AVCodecInternal,
7773    pub opaque: *mut ::std::os::raw::c_void,
7774    pub bit_rate: i64,
7775    pub bit_rate_tolerance: ::std::os::raw::c_int,
7776    pub global_quality: ::std::os::raw::c_int,
7777    pub compression_level: ::std::os::raw::c_int,
7778    pub flags: ::std::os::raw::c_int,
7779    pub flags2: ::std::os::raw::c_int,
7780    pub extradata: *mut u8,
7781    pub extradata_size: ::std::os::raw::c_int,
7782    pub time_base: AVRational,
7783    pub ticks_per_frame: ::std::os::raw::c_int,
7784    pub delay: ::std::os::raw::c_int,
7785    pub width: ::std::os::raw::c_int,
7786    pub height: ::std::os::raw::c_int,
7787    pub coded_width: ::std::os::raw::c_int,
7788    pub coded_height: ::std::os::raw::c_int,
7789    pub gop_size: ::std::os::raw::c_int,
7790    pub pix_fmt: AVPixelFormat,
7791    pub draw_horiz_band: ::std::option::Option<
7792        unsafe extern "C" fn(
7793            s: *mut AVCodecContext,
7794            src: *const AVFrame,
7795            offset: *mut ::std::os::raw::c_int,
7796            y: ::std::os::raw::c_int,
7797            type_: ::std::os::raw::c_int,
7798            height: ::std::os::raw::c_int,
7799        ),
7800    >,
7801    pub get_format: ::std::option::Option<
7802        unsafe extern "C" fn(s: *mut AVCodecContext, fmt: *const AVPixelFormat) -> AVPixelFormat,
7803    >,
7804    pub max_b_frames: ::std::os::raw::c_int,
7805    pub b_quant_factor: f32,
7806    pub b_frame_strategy: ::std::os::raw::c_int,
7807    pub b_quant_offset: f32,
7808    pub has_b_frames: ::std::os::raw::c_int,
7809    pub mpeg_quant: ::std::os::raw::c_int,
7810    pub i_quant_factor: f32,
7811    pub i_quant_offset: f32,
7812    pub lumi_masking: f32,
7813    pub temporal_cplx_masking: f32,
7814    pub spatial_cplx_masking: f32,
7815    pub p_masking: f32,
7816    pub dark_masking: f32,
7817    pub slice_count: ::std::os::raw::c_int,
7818    pub prediction_method: ::std::os::raw::c_int,
7819    pub slice_offset: *mut ::std::os::raw::c_int,
7820    pub sample_aspect_ratio: AVRational,
7821    pub me_cmp: ::std::os::raw::c_int,
7822    pub me_sub_cmp: ::std::os::raw::c_int,
7823    pub mb_cmp: ::std::os::raw::c_int,
7824    pub ildct_cmp: ::std::os::raw::c_int,
7825    pub dia_size: ::std::os::raw::c_int,
7826    pub last_predictor_count: ::std::os::raw::c_int,
7827    pub pre_me: ::std::os::raw::c_int,
7828    pub me_pre_cmp: ::std::os::raw::c_int,
7829    pub pre_dia_size: ::std::os::raw::c_int,
7830    pub me_subpel_quality: ::std::os::raw::c_int,
7831    pub me_range: ::std::os::raw::c_int,
7832    pub slice_flags: ::std::os::raw::c_int,
7833    pub mb_decision: ::std::os::raw::c_int,
7834    pub intra_matrix: *mut u16,
7835    pub inter_matrix: *mut u16,
7836    pub scenechange_threshold: ::std::os::raw::c_int,
7837    pub noise_reduction: ::std::os::raw::c_int,
7838    pub intra_dc_precision: ::std::os::raw::c_int,
7839    pub skip_top: ::std::os::raw::c_int,
7840    pub skip_bottom: ::std::os::raw::c_int,
7841    pub mb_lmin: ::std::os::raw::c_int,
7842    pub mb_lmax: ::std::os::raw::c_int,
7843    pub me_penalty_compensation: ::std::os::raw::c_int,
7844    pub bidir_refine: ::std::os::raw::c_int,
7845    pub brd_scale: ::std::os::raw::c_int,
7846    pub keyint_min: ::std::os::raw::c_int,
7847    pub refs: ::std::os::raw::c_int,
7848    pub chromaoffset: ::std::os::raw::c_int,
7849    pub mv0_threshold: ::std::os::raw::c_int,
7850    pub b_sensitivity: ::std::os::raw::c_int,
7851    pub color_primaries: AVColorPrimaries,
7852    pub color_trc: AVColorTransferCharacteristic,
7853    pub colorspace: AVColorSpace,
7854    pub color_range: AVColorRange,
7855    pub chroma_sample_location: AVChromaLocation,
7856    pub slices: ::std::os::raw::c_int,
7857    pub field_order: AVFieldOrder,
7858    pub sample_rate: ::std::os::raw::c_int,
7859    pub channels: ::std::os::raw::c_int,
7860    pub sample_fmt: AVSampleFormat,
7861    pub frame_size: ::std::os::raw::c_int,
7862    pub frame_number: ::std::os::raw::c_int,
7863    pub block_align: ::std::os::raw::c_int,
7864    pub cutoff: ::std::os::raw::c_int,
7865    pub channel_layout: u64,
7866    pub request_channel_layout: u64,
7867    pub audio_service_type: AVAudioServiceType,
7868    pub request_sample_fmt: AVSampleFormat,
7869    pub get_buffer2: ::std::option::Option<
7870        unsafe extern "C" fn(
7871            s: *mut AVCodecContext,
7872            frame: *mut AVFrame,
7873            flags: ::std::os::raw::c_int,
7874        ) -> ::std::os::raw::c_int,
7875    >,
7876    pub refcounted_frames: ::std::os::raw::c_int,
7877    pub qcompress: f32,
7878    pub qblur: f32,
7879    pub qmin: ::std::os::raw::c_int,
7880    pub qmax: ::std::os::raw::c_int,
7881    pub max_qdiff: ::std::os::raw::c_int,
7882    pub rc_buffer_size: ::std::os::raw::c_int,
7883    pub rc_override_count: ::std::os::raw::c_int,
7884    pub rc_override: *mut RcOverride,
7885    pub rc_max_rate: i64,
7886    pub rc_min_rate: i64,
7887    pub rc_max_available_vbv_use: f32,
7888    pub rc_min_vbv_overflow_use: f32,
7889    pub rc_initial_buffer_occupancy: ::std::os::raw::c_int,
7890    pub coder_type: ::std::os::raw::c_int,
7891    pub context_model: ::std::os::raw::c_int,
7892    pub frame_skip_threshold: ::std::os::raw::c_int,
7893    pub frame_skip_factor: ::std::os::raw::c_int,
7894    pub frame_skip_exp: ::std::os::raw::c_int,
7895    pub frame_skip_cmp: ::std::os::raw::c_int,
7896    pub trellis: ::std::os::raw::c_int,
7897    pub min_prediction_order: ::std::os::raw::c_int,
7898    pub max_prediction_order: ::std::os::raw::c_int,
7899    pub timecode_frame_start: i64,
7900    pub rtp_callback: ::std::option::Option<
7901        unsafe extern "C" fn(
7902            avctx: *mut AVCodecContext,
7903            data: *mut ::std::os::raw::c_void,
7904            size: ::std::os::raw::c_int,
7905            mb_nb: ::std::os::raw::c_int,
7906        ),
7907    >,
7908    pub rtp_payload_size: ::std::os::raw::c_int,
7909    pub mv_bits: ::std::os::raw::c_int,
7910    pub header_bits: ::std::os::raw::c_int,
7911    pub i_tex_bits: ::std::os::raw::c_int,
7912    pub p_tex_bits: ::std::os::raw::c_int,
7913    pub i_count: ::std::os::raw::c_int,
7914    pub p_count: ::std::os::raw::c_int,
7915    pub skip_count: ::std::os::raw::c_int,
7916    pub misc_bits: ::std::os::raw::c_int,
7917    pub frame_bits: ::std::os::raw::c_int,
7918    pub stats_out: *mut ::std::os::raw::c_char,
7919    pub stats_in: *mut ::std::os::raw::c_char,
7920    pub workaround_bugs: ::std::os::raw::c_int,
7921    pub strict_std_compliance: ::std::os::raw::c_int,
7922    pub error_concealment: ::std::os::raw::c_int,
7923    pub debug: ::std::os::raw::c_int,
7924    pub err_recognition: ::std::os::raw::c_int,
7925    pub reordered_opaque: i64,
7926    pub hwaccel: *const AVHWAccel,
7927    pub hwaccel_context: *mut ::std::os::raw::c_void,
7928    pub error: [u64; 8usize],
7929    pub dct_algo: ::std::os::raw::c_int,
7930    pub idct_algo: ::std::os::raw::c_int,
7931    pub bits_per_coded_sample: ::std::os::raw::c_int,
7932    pub bits_per_raw_sample: ::std::os::raw::c_int,
7933    pub lowres: ::std::os::raw::c_int,
7934    pub coded_frame: *mut AVFrame,
7935    pub thread_count: ::std::os::raw::c_int,
7936    pub thread_type: ::std::os::raw::c_int,
7937    pub active_thread_type: ::std::os::raw::c_int,
7938    pub thread_safe_callbacks: ::std::os::raw::c_int,
7939    pub execute: ::std::option::Option<
7940        unsafe extern "C" fn(
7941            c: *mut AVCodecContext,
7942            func: ::std::option::Option<
7943                unsafe extern "C" fn(
7944                    c2: *mut AVCodecContext,
7945                    arg: *mut ::std::os::raw::c_void,
7946                ) -> ::std::os::raw::c_int,
7947            >,
7948            arg2: *mut ::std::os::raw::c_void,
7949            ret: *mut ::std::os::raw::c_int,
7950            count: ::std::os::raw::c_int,
7951            size: ::std::os::raw::c_int,
7952        ) -> ::std::os::raw::c_int,
7953    >,
7954    pub execute2: ::std::option::Option<
7955        unsafe extern "C" fn(
7956            c: *mut AVCodecContext,
7957            func: ::std::option::Option<
7958                unsafe extern "C" fn(
7959                    c2: *mut AVCodecContext,
7960                    arg: *mut ::std::os::raw::c_void,
7961                    jobnr: ::std::os::raw::c_int,
7962                    threadnr: ::std::os::raw::c_int,
7963                ) -> ::std::os::raw::c_int,
7964            >,
7965            arg2: *mut ::std::os::raw::c_void,
7966            ret: *mut ::std::os::raw::c_int,
7967            count: ::std::os::raw::c_int,
7968        ) -> ::std::os::raw::c_int,
7969    >,
7970    pub nsse_weight: ::std::os::raw::c_int,
7971    pub profile: ::std::os::raw::c_int,
7972    pub level: ::std::os::raw::c_int,
7973    pub skip_loop_filter: AVDiscard,
7974    pub skip_idct: AVDiscard,
7975    pub skip_frame: AVDiscard,
7976    pub subtitle_header: *mut u8,
7977    pub subtitle_header_size: ::std::os::raw::c_int,
7978    pub vbv_delay: u64,
7979    pub side_data_only_packets: ::std::os::raw::c_int,
7980    pub initial_padding: ::std::os::raw::c_int,
7981    pub framerate: AVRational,
7982    pub sw_pix_fmt: AVPixelFormat,
7983    pub pkt_timebase: AVRational,
7984    pub codec_descriptor: *const AVCodecDescriptor,
7985    pub pts_correction_num_faulty_pts: i64,
7986    pub pts_correction_num_faulty_dts: i64,
7987    pub pts_correction_last_pts: i64,
7988    pub pts_correction_last_dts: i64,
7989    pub sub_charenc: *mut ::std::os::raw::c_char,
7990    pub sub_charenc_mode: ::std::os::raw::c_int,
7991    pub skip_alpha: ::std::os::raw::c_int,
7992    pub seek_preroll: ::std::os::raw::c_int,
7993    pub debug_mv: ::std::os::raw::c_int,
7994    pub chroma_intra_matrix: *mut u16,
7995    pub dump_separator: *mut u8,
7996    pub codec_whitelist: *mut ::std::os::raw::c_char,
7997    pub properties: ::std::os::raw::c_uint,
7998    pub coded_side_data: *mut AVPacketSideData,
7999    pub nb_coded_side_data: ::std::os::raw::c_int,
8000    pub hw_frames_ctx: *mut AVBufferRef,
8001    pub sub_text_format: ::std::os::raw::c_int,
8002    pub trailing_padding: ::std::os::raw::c_int,
8003    pub max_pixels: i64,
8004    pub hw_device_ctx: *mut AVBufferRef,
8005    pub hwaccel_flags: ::std::os::raw::c_int,
8006    pub apply_cropping: ::std::os::raw::c_int,
8007    pub extra_hw_frames: ::std::os::raw::c_int,
8008    pub discard_damaged_percentage: ::std::os::raw::c_int,
8009}
8010extern "C" {
8011    pub fn av_codec_get_pkt_timebase(avctx: *const AVCodecContext) -> AVRational;
8012}
8013extern "C" {
8014    pub fn av_codec_set_pkt_timebase(avctx: *mut AVCodecContext, val: AVRational);
8015}
8016extern "C" {
8017    pub fn av_codec_get_codec_descriptor(avctx: *const AVCodecContext) -> *const AVCodecDescriptor;
8018}
8019extern "C" {
8020    pub fn av_codec_set_codec_descriptor(
8021        avctx: *mut AVCodecContext,
8022        desc: *const AVCodecDescriptor,
8023    );
8024}
8025extern "C" {
8026    pub fn av_codec_get_codec_properties(avctx: *const AVCodecContext) -> ::std::os::raw::c_uint;
8027}
8028extern "C" {
8029    pub fn av_codec_get_lowres(avctx: *const AVCodecContext) -> ::std::os::raw::c_int;
8030}
8031extern "C" {
8032    pub fn av_codec_set_lowres(avctx: *mut AVCodecContext, val: ::std::os::raw::c_int);
8033}
8034extern "C" {
8035    pub fn av_codec_get_seek_preroll(avctx: *const AVCodecContext) -> ::std::os::raw::c_int;
8036}
8037extern "C" {
8038    pub fn av_codec_set_seek_preroll(avctx: *mut AVCodecContext, val: ::std::os::raw::c_int);
8039}
8040extern "C" {
8041    pub fn av_codec_get_chroma_intra_matrix(avctx: *const AVCodecContext) -> *mut u16;
8042}
8043extern "C" {
8044    pub fn av_codec_set_chroma_intra_matrix(avctx: *mut AVCodecContext, val: *mut u16);
8045}
8046#[repr(C)]
8047#[derive(Debug, Copy, Clone)]
8048pub struct AVProfile {
8049    pub profile: ::std::os::raw::c_int,
8050    pub name: *const ::std::os::raw::c_char,
8051}
8052pub const AV_CODEC_HW_CONFIG_METHOD_HW_DEVICE_CTX: _bindgen_ty_5 = 1;
8053pub const AV_CODEC_HW_CONFIG_METHOD_HW_FRAMES_CTX: _bindgen_ty_5 = 2;
8054pub const AV_CODEC_HW_CONFIG_METHOD_INTERNAL: _bindgen_ty_5 = 4;
8055pub const AV_CODEC_HW_CONFIG_METHOD_AD_HOC: _bindgen_ty_5 = 8;
8056pub type _bindgen_ty_5 = u32;
8057#[repr(C)]
8058#[derive(Debug, Copy, Clone)]
8059pub struct AVCodecHWConfig {
8060    pub pix_fmt: AVPixelFormat,
8061    pub methods: ::std::os::raw::c_int,
8062    pub device_type: AVHWDeviceType,
8063}
8064#[repr(C)]
8065#[derive(Debug, Copy, Clone)]
8066pub struct AVCodecDefault {
8067    _unused: [u8; 0],
8068}
8069#[repr(C)]
8070#[derive(Debug, Copy, Clone)]
8071pub struct AVCodec {
8072    pub name: *const ::std::os::raw::c_char,
8073    pub long_name: *const ::std::os::raw::c_char,
8074    pub type_: AVMediaType,
8075    pub id: AVCodecID,
8076    pub capabilities: ::std::os::raw::c_int,
8077    pub supported_framerates: *const AVRational,
8078    pub pix_fmts: *const AVPixelFormat,
8079    pub supported_samplerates: *const ::std::os::raw::c_int,
8080    pub sample_fmts: *const AVSampleFormat,
8081    pub channel_layouts: *const u64,
8082    pub max_lowres: u8,
8083    pub priv_class: *const AVClass,
8084    pub profiles: *const AVProfile,
8085    pub wrapper_name: *const ::std::os::raw::c_char,
8086    pub priv_data_size: ::std::os::raw::c_int,
8087    pub next: *mut AVCodec,
8088    pub init_thread_copy: ::std::option::Option<
8089        unsafe extern "C" fn(arg1: *mut AVCodecContext) -> ::std::os::raw::c_int,
8090    >,
8091    pub update_thread_context: ::std::option::Option<
8092        unsafe extern "C" fn(
8093            dst: *mut AVCodecContext,
8094            src: *const AVCodecContext,
8095        ) -> ::std::os::raw::c_int,
8096    >,
8097    pub defaults: *const AVCodecDefault,
8098    pub init_static_data: ::std::option::Option<unsafe extern "C" fn(codec: *mut AVCodec)>,
8099    pub init: ::std::option::Option<
8100        unsafe extern "C" fn(arg1: *mut AVCodecContext) -> ::std::os::raw::c_int,
8101    >,
8102    pub encode_sub: ::std::option::Option<
8103        unsafe extern "C" fn(
8104            arg1: *mut AVCodecContext,
8105            buf: *mut u8,
8106            buf_size: ::std::os::raw::c_int,
8107            sub: *const AVSubtitle,
8108        ) -> ::std::os::raw::c_int,
8109    >,
8110    pub encode2: ::std::option::Option<
8111        unsafe extern "C" fn(
8112            avctx: *mut AVCodecContext,
8113            avpkt: *mut AVPacket,
8114            frame: *const AVFrame,
8115            got_packet_ptr: *mut ::std::os::raw::c_int,
8116        ) -> ::std::os::raw::c_int,
8117    >,
8118    pub decode: ::std::option::Option<
8119        unsafe extern "C" fn(
8120            arg1: *mut AVCodecContext,
8121            outdata: *mut ::std::os::raw::c_void,
8122            outdata_size: *mut ::std::os::raw::c_int,
8123            avpkt: *mut AVPacket,
8124        ) -> ::std::os::raw::c_int,
8125    >,
8126    pub close: ::std::option::Option<
8127        unsafe extern "C" fn(arg1: *mut AVCodecContext) -> ::std::os::raw::c_int,
8128    >,
8129    pub send_frame: ::std::option::Option<
8130        unsafe extern "C" fn(
8131            avctx: *mut AVCodecContext,
8132            frame: *const AVFrame,
8133        ) -> ::std::os::raw::c_int,
8134    >,
8135    pub receive_packet: ::std::option::Option<
8136        unsafe extern "C" fn(
8137            avctx: *mut AVCodecContext,
8138            avpkt: *mut AVPacket,
8139        ) -> ::std::os::raw::c_int,
8140    >,
8141    pub receive_frame: ::std::option::Option<
8142        unsafe extern "C" fn(
8143            avctx: *mut AVCodecContext,
8144            frame: *mut AVFrame,
8145        ) -> ::std::os::raw::c_int,
8146    >,
8147    pub flush: ::std::option::Option<unsafe extern "C" fn(arg1: *mut AVCodecContext)>,
8148    pub caps_internal: ::std::os::raw::c_int,
8149    pub bsfs: *const ::std::os::raw::c_char,
8150    pub hw_configs: *mut *mut AVCodecHWConfigInternal,
8151}
8152extern "C" {
8153    pub fn av_codec_get_max_lowres(codec: *const AVCodec) -> ::std::os::raw::c_int;
8154}
8155#[repr(C)]
8156#[derive(Debug, Copy, Clone)]
8157pub struct MpegEncContext {
8158    _unused: [u8; 0],
8159}
8160extern "C" {
8161    pub fn avcodec_get_hw_config(
8162        codec: *const AVCodec,
8163        index: ::std::os::raw::c_int,
8164    ) -> *const AVCodecHWConfig;
8165}
8166#[repr(C)]
8167#[derive(Debug, Copy, Clone)]
8168pub struct AVHWAccel {
8169    pub name: *const ::std::os::raw::c_char,
8170    pub type_: AVMediaType,
8171    pub id: AVCodecID,
8172    pub pix_fmt: AVPixelFormat,
8173    pub capabilities: ::std::os::raw::c_int,
8174    pub alloc_frame: ::std::option::Option<
8175        unsafe extern "C" fn(
8176            avctx: *mut AVCodecContext,
8177            frame: *mut AVFrame,
8178        ) -> ::std::os::raw::c_int,
8179    >,
8180    pub start_frame: ::std::option::Option<
8181        unsafe extern "C" fn(
8182            avctx: *mut AVCodecContext,
8183            buf: *const u8,
8184            buf_size: u32,
8185        ) -> ::std::os::raw::c_int,
8186    >,
8187    pub decode_params: ::std::option::Option<
8188        unsafe extern "C" fn(
8189            avctx: *mut AVCodecContext,
8190            type_: ::std::os::raw::c_int,
8191            buf: *const u8,
8192            buf_size: u32,
8193        ) -> ::std::os::raw::c_int,
8194    >,
8195    pub decode_slice: ::std::option::Option<
8196        unsafe extern "C" fn(
8197            avctx: *mut AVCodecContext,
8198            buf: *const u8,
8199            buf_size: u32,
8200        ) -> ::std::os::raw::c_int,
8201    >,
8202    pub end_frame: ::std::option::Option<
8203        unsafe extern "C" fn(avctx: *mut AVCodecContext) -> ::std::os::raw::c_int,
8204    >,
8205    pub frame_priv_data_size: ::std::os::raw::c_int,
8206    pub decode_mb: ::std::option::Option<unsafe extern "C" fn(s: *mut MpegEncContext)>,
8207    pub init: ::std::option::Option<
8208        unsafe extern "C" fn(avctx: *mut AVCodecContext) -> ::std::os::raw::c_int,
8209    >,
8210    pub uninit: ::std::option::Option<
8211        unsafe extern "C" fn(avctx: *mut AVCodecContext) -> ::std::os::raw::c_int,
8212    >,
8213    pub priv_data_size: ::std::os::raw::c_int,
8214    pub caps_internal: ::std::os::raw::c_int,
8215    pub frame_params: ::std::option::Option<
8216        unsafe extern "C" fn(
8217            avctx: *mut AVCodecContext,
8218            hw_frames_ctx: *mut AVBufferRef,
8219        ) -> ::std::os::raw::c_int,
8220    >,
8221}
8222#[repr(C)]
8223#[derive(Debug, Copy, Clone)]
8224pub struct AVPicture {
8225    pub data: [*mut u8; 8usize],
8226    pub linesize: [::std::os::raw::c_int; 8usize],
8227}
8228pub const AVSubtitleType_SUBTITLE_NONE: AVSubtitleType = 0;
8229pub const AVSubtitleType_SUBTITLE_BITMAP: AVSubtitleType = 1;
8230pub const AVSubtitleType_SUBTITLE_TEXT: AVSubtitleType = 2;
8231pub const AVSubtitleType_SUBTITLE_ASS: AVSubtitleType = 3;
8232pub type AVSubtitleType = u32;
8233#[repr(C)]
8234#[derive(Debug, Copy, Clone)]
8235pub struct AVSubtitleRect {
8236    pub x: ::std::os::raw::c_int,
8237    pub y: ::std::os::raw::c_int,
8238    pub w: ::std::os::raw::c_int,
8239    pub h: ::std::os::raw::c_int,
8240    pub nb_colors: ::std::os::raw::c_int,
8241    pub pict: AVPicture,
8242    pub data: [*mut u8; 4usize],
8243    pub linesize: [::std::os::raw::c_int; 4usize],
8244    pub type_: AVSubtitleType,
8245    pub text: *mut ::std::os::raw::c_char,
8246    pub ass: *mut ::std::os::raw::c_char,
8247    pub flags: ::std::os::raw::c_int,
8248}
8249#[repr(C)]
8250#[derive(Debug, Copy, Clone)]
8251pub struct AVSubtitle {
8252    pub format: u16,
8253    pub start_display_time: u32,
8254    pub end_display_time: u32,
8255    pub num_rects: ::std::os::raw::c_uint,
8256    pub rects: *mut *mut AVSubtitleRect,
8257    pub pts: i64,
8258}
8259#[repr(C)]
8260#[derive(Debug, Copy, Clone)]
8261pub struct AVCodecParameters {
8262    pub codec_type: AVMediaType,
8263    pub codec_id: AVCodecID,
8264    pub codec_tag: u32,
8265    pub extradata: *mut u8,
8266    pub extradata_size: ::std::os::raw::c_int,
8267    pub format: ::std::os::raw::c_int,
8268    pub bit_rate: i64,
8269    pub bits_per_coded_sample: ::std::os::raw::c_int,
8270    pub bits_per_raw_sample: ::std::os::raw::c_int,
8271    pub profile: ::std::os::raw::c_int,
8272    pub level: ::std::os::raw::c_int,
8273    pub width: ::std::os::raw::c_int,
8274    pub height: ::std::os::raw::c_int,
8275    pub sample_aspect_ratio: AVRational,
8276    pub field_order: AVFieldOrder,
8277    pub color_range: AVColorRange,
8278    pub color_primaries: AVColorPrimaries,
8279    pub color_trc: AVColorTransferCharacteristic,
8280    pub color_space: AVColorSpace,
8281    pub chroma_location: AVChromaLocation,
8282    pub video_delay: ::std::os::raw::c_int,
8283    pub channel_layout: u64,
8284    pub channels: ::std::os::raw::c_int,
8285    pub sample_rate: ::std::os::raw::c_int,
8286    pub block_align: ::std::os::raw::c_int,
8287    pub frame_size: ::std::os::raw::c_int,
8288    pub initial_padding: ::std::os::raw::c_int,
8289    pub trailing_padding: ::std::os::raw::c_int,
8290    pub seek_preroll: ::std::os::raw::c_int,
8291}
8292extern "C" {
8293    pub fn av_codec_iterate(opaque: *mut *mut ::std::os::raw::c_void) -> *const AVCodec;
8294}
8295extern "C" {
8296    pub fn av_codec_next(c: *const AVCodec) -> *mut AVCodec;
8297}
8298extern "C" {
8299    pub fn avcodec_version() -> ::std::os::raw::c_uint;
8300}
8301extern "C" {
8302    pub fn avcodec_configuration() -> *const ::std::os::raw::c_char;
8303}
8304extern "C" {
8305    pub fn avcodec_license() -> *const ::std::os::raw::c_char;
8306}
8307extern "C" {
8308    pub fn avcodec_register(codec: *mut AVCodec);
8309}
8310extern "C" {
8311    pub fn avcodec_register_all();
8312}
8313extern "C" {
8314    pub fn avcodec_alloc_context3(codec: *const AVCodec) -> *mut AVCodecContext;
8315}
8316extern "C" {
8317    pub fn avcodec_free_context(avctx: *mut *mut AVCodecContext);
8318}
8319extern "C" {
8320    pub fn avcodec_get_context_defaults3(
8321        s: *mut AVCodecContext,
8322        codec: *const AVCodec,
8323    ) -> ::std::os::raw::c_int;
8324}
8325extern "C" {
8326    pub fn avcodec_get_class() -> *const AVClass;
8327}
8328extern "C" {
8329    pub fn avcodec_get_frame_class() -> *const AVClass;
8330}
8331extern "C" {
8332    pub fn avcodec_get_subtitle_rect_class() -> *const AVClass;
8333}
8334extern "C" {
8335    pub fn avcodec_copy_context(
8336        dest: *mut AVCodecContext,
8337        src: *const AVCodecContext,
8338    ) -> ::std::os::raw::c_int;
8339}
8340extern "C" {
8341    pub fn avcodec_parameters_alloc() -> *mut AVCodecParameters;
8342}
8343extern "C" {
8344    pub fn avcodec_parameters_free(par: *mut *mut AVCodecParameters);
8345}
8346extern "C" {
8347    pub fn avcodec_parameters_copy(
8348        dst: *mut AVCodecParameters,
8349        src: *const AVCodecParameters,
8350    ) -> ::std::os::raw::c_int;
8351}
8352extern "C" {
8353    pub fn avcodec_parameters_from_context(
8354        par: *mut AVCodecParameters,
8355        codec: *const AVCodecContext,
8356    ) -> ::std::os::raw::c_int;
8357}
8358extern "C" {
8359    pub fn avcodec_parameters_to_context(
8360        codec: *mut AVCodecContext,
8361        par: *const AVCodecParameters,
8362    ) -> ::std::os::raw::c_int;
8363}
8364extern "C" {
8365    pub fn avcodec_open2(
8366        avctx: *mut AVCodecContext,
8367        codec: *const AVCodec,
8368        options: *mut *mut AVDictionary,
8369    ) -> ::std::os::raw::c_int;
8370}
8371extern "C" {
8372    pub fn avcodec_close(avctx: *mut AVCodecContext) -> ::std::os::raw::c_int;
8373}
8374extern "C" {
8375    pub fn avsubtitle_free(sub: *mut AVSubtitle);
8376}
8377extern "C" {
8378    pub fn av_packet_alloc() -> *mut AVPacket;
8379}
8380extern "C" {
8381    pub fn av_packet_clone(src: *const AVPacket) -> *mut AVPacket;
8382}
8383extern "C" {
8384    pub fn av_packet_free(pkt: *mut *mut AVPacket);
8385}
8386extern "C" {
8387    pub fn av_init_packet(pkt: *mut AVPacket);
8388}
8389extern "C" {
8390    pub fn av_new_packet(pkt: *mut AVPacket, size: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
8391}
8392extern "C" {
8393    pub fn av_shrink_packet(pkt: *mut AVPacket, size: ::std::os::raw::c_int);
8394}
8395extern "C" {
8396    pub fn av_grow_packet(
8397        pkt: *mut AVPacket,
8398        grow_by: ::std::os::raw::c_int,
8399    ) -> ::std::os::raw::c_int;
8400}
8401extern "C" {
8402    pub fn av_packet_from_data(
8403        pkt: *mut AVPacket,
8404        data: *mut u8,
8405        size: ::std::os::raw::c_int,
8406    ) -> ::std::os::raw::c_int;
8407}
8408extern "C" {
8409    pub fn av_dup_packet(pkt: *mut AVPacket) -> ::std::os::raw::c_int;
8410}
8411extern "C" {
8412    pub fn av_copy_packet(dst: *mut AVPacket, src: *const AVPacket) -> ::std::os::raw::c_int;
8413}
8414extern "C" {
8415    pub fn av_copy_packet_side_data(
8416        dst: *mut AVPacket,
8417        src: *const AVPacket,
8418    ) -> ::std::os::raw::c_int;
8419}
8420extern "C" {
8421    pub fn av_free_packet(pkt: *mut AVPacket);
8422}
8423extern "C" {
8424    pub fn av_packet_new_side_data(
8425        pkt: *mut AVPacket,
8426        type_: AVPacketSideDataType,
8427        size: ::std::os::raw::c_int,
8428    ) -> *mut u8;
8429}
8430extern "C" {
8431    pub fn av_packet_add_side_data(
8432        pkt: *mut AVPacket,
8433        type_: AVPacketSideDataType,
8434        data: *mut u8,
8435        size: usize,
8436    ) -> ::std::os::raw::c_int;
8437}
8438extern "C" {
8439    pub fn av_packet_shrink_side_data(
8440        pkt: *mut AVPacket,
8441        type_: AVPacketSideDataType,
8442        size: ::std::os::raw::c_int,
8443    ) -> ::std::os::raw::c_int;
8444}
8445extern "C" {
8446    pub fn av_packet_get_side_data(
8447        pkt: *const AVPacket,
8448        type_: AVPacketSideDataType,
8449        size: *mut ::std::os::raw::c_int,
8450    ) -> *mut u8;
8451}
8452extern "C" {
8453    pub fn av_packet_merge_side_data(pkt: *mut AVPacket) -> ::std::os::raw::c_int;
8454}
8455extern "C" {
8456    pub fn av_packet_split_side_data(pkt: *mut AVPacket) -> ::std::os::raw::c_int;
8457}
8458extern "C" {
8459    pub fn av_packet_side_data_name(type_: AVPacketSideDataType) -> *const ::std::os::raw::c_char;
8460}
8461extern "C" {
8462    pub fn av_packet_pack_dictionary(
8463        dict: *mut AVDictionary,
8464        size: *mut ::std::os::raw::c_int,
8465    ) -> *mut u8;
8466}
8467extern "C" {
8468    pub fn av_packet_unpack_dictionary(
8469        data: *const u8,
8470        size: ::std::os::raw::c_int,
8471        dict: *mut *mut AVDictionary,
8472    ) -> ::std::os::raw::c_int;
8473}
8474extern "C" {
8475    pub fn av_packet_free_side_data(pkt: *mut AVPacket);
8476}
8477extern "C" {
8478    pub fn av_packet_ref(dst: *mut AVPacket, src: *const AVPacket) -> ::std::os::raw::c_int;
8479}
8480extern "C" {
8481    pub fn av_packet_unref(pkt: *mut AVPacket);
8482}
8483extern "C" {
8484    pub fn av_packet_move_ref(dst: *mut AVPacket, src: *mut AVPacket);
8485}
8486extern "C" {
8487    pub fn av_packet_copy_props(dst: *mut AVPacket, src: *const AVPacket) -> ::std::os::raw::c_int;
8488}
8489extern "C" {
8490    pub fn av_packet_make_refcounted(pkt: *mut AVPacket) -> ::std::os::raw::c_int;
8491}
8492extern "C" {
8493    pub fn av_packet_make_writable(pkt: *mut AVPacket) -> ::std::os::raw::c_int;
8494}
8495extern "C" {
8496    pub fn av_packet_rescale_ts(pkt: *mut AVPacket, tb_src: AVRational, tb_dst: AVRational);
8497}
8498extern "C" {
8499    pub fn avcodec_find_decoder(id: AVCodecID) -> *mut AVCodec;
8500}
8501extern "C" {
8502    pub fn avcodec_find_decoder_by_name(name: *const ::std::os::raw::c_char) -> *mut AVCodec;
8503}
8504extern "C" {
8505    pub fn avcodec_default_get_buffer2(
8506        s: *mut AVCodecContext,
8507        frame: *mut AVFrame,
8508        flags: ::std::os::raw::c_int,
8509    ) -> ::std::os::raw::c_int;
8510}
8511extern "C" {
8512    pub fn avcodec_align_dimensions(
8513        s: *mut AVCodecContext,
8514        width: *mut ::std::os::raw::c_int,
8515        height: *mut ::std::os::raw::c_int,
8516    );
8517}
8518extern "C" {
8519    pub fn avcodec_align_dimensions2(
8520        s: *mut AVCodecContext,
8521        width: *mut ::std::os::raw::c_int,
8522        height: *mut ::std::os::raw::c_int,
8523        linesize_align: *mut ::std::os::raw::c_int,
8524    );
8525}
8526extern "C" {
8527    pub fn avcodec_enum_to_chroma_pos(
8528        xpos: *mut ::std::os::raw::c_int,
8529        ypos: *mut ::std::os::raw::c_int,
8530        pos: AVChromaLocation,
8531    ) -> ::std::os::raw::c_int;
8532}
8533extern "C" {
8534    pub fn avcodec_chroma_pos_to_enum(
8535        xpos: ::std::os::raw::c_int,
8536        ypos: ::std::os::raw::c_int,
8537    ) -> AVChromaLocation;
8538}
8539extern "C" {
8540    pub fn avcodec_decode_audio4(
8541        avctx: *mut AVCodecContext,
8542        frame: *mut AVFrame,
8543        got_frame_ptr: *mut ::std::os::raw::c_int,
8544        avpkt: *const AVPacket,
8545    ) -> ::std::os::raw::c_int;
8546}
8547extern "C" {
8548    pub fn avcodec_decode_video2(
8549        avctx: *mut AVCodecContext,
8550        picture: *mut AVFrame,
8551        got_picture_ptr: *mut ::std::os::raw::c_int,
8552        avpkt: *const AVPacket,
8553    ) -> ::std::os::raw::c_int;
8554}
8555extern "C" {
8556    pub fn avcodec_decode_subtitle2(
8557        avctx: *mut AVCodecContext,
8558        sub: *mut AVSubtitle,
8559        got_sub_ptr: *mut ::std::os::raw::c_int,
8560        avpkt: *mut AVPacket,
8561    ) -> ::std::os::raw::c_int;
8562}
8563extern "C" {
8564    pub fn avcodec_send_packet(
8565        avctx: *mut AVCodecContext,
8566        avpkt: *const AVPacket,
8567    ) -> ::std::os::raw::c_int;
8568}
8569extern "C" {
8570    pub fn avcodec_receive_frame(
8571        avctx: *mut AVCodecContext,
8572        frame: *mut AVFrame,
8573    ) -> ::std::os::raw::c_int;
8574}
8575extern "C" {
8576    pub fn avcodec_send_frame(
8577        avctx: *mut AVCodecContext,
8578        frame: *const AVFrame,
8579    ) -> ::std::os::raw::c_int;
8580}
8581extern "C" {
8582    pub fn avcodec_receive_packet(
8583        avctx: *mut AVCodecContext,
8584        avpkt: *mut AVPacket,
8585    ) -> ::std::os::raw::c_int;
8586}
8587extern "C" {
8588    pub fn avcodec_get_hw_frames_parameters(
8589        avctx: *mut AVCodecContext,
8590        device_ref: *mut AVBufferRef,
8591        hw_pix_fmt: AVPixelFormat,
8592        out_frames_ref: *mut *mut AVBufferRef,
8593    ) -> ::std::os::raw::c_int;
8594}
8595pub const AVPictureStructure_AV_PICTURE_STRUCTURE_UNKNOWN: AVPictureStructure = 0;
8596pub const AVPictureStructure_AV_PICTURE_STRUCTURE_TOP_FIELD: AVPictureStructure = 1;
8597pub const AVPictureStructure_AV_PICTURE_STRUCTURE_BOTTOM_FIELD: AVPictureStructure = 2;
8598pub const AVPictureStructure_AV_PICTURE_STRUCTURE_FRAME: AVPictureStructure = 3;
8599pub type AVPictureStructure = u32;
8600#[repr(C)]
8601#[derive(Debug, Copy, Clone)]
8602pub struct AVCodecParserContext {
8603    pub priv_data: *mut ::std::os::raw::c_void,
8604    pub parser: *mut AVCodecParser,
8605    pub frame_offset: i64,
8606    pub cur_offset: i64,
8607    pub next_frame_offset: i64,
8608    pub pict_type: ::std::os::raw::c_int,
8609    pub repeat_pict: ::std::os::raw::c_int,
8610    pub pts: i64,
8611    pub dts: i64,
8612    pub last_pts: i64,
8613    pub last_dts: i64,
8614    pub fetch_timestamp: ::std::os::raw::c_int,
8615    pub cur_frame_start_index: ::std::os::raw::c_int,
8616    pub cur_frame_offset: [i64; 4usize],
8617    pub cur_frame_pts: [i64; 4usize],
8618    pub cur_frame_dts: [i64; 4usize],
8619    pub flags: ::std::os::raw::c_int,
8620    pub offset: i64,
8621    pub cur_frame_end: [i64; 4usize],
8622    pub key_frame: ::std::os::raw::c_int,
8623    pub convergence_duration: i64,
8624    pub dts_sync_point: ::std::os::raw::c_int,
8625    pub dts_ref_dts_delta: ::std::os::raw::c_int,
8626    pub pts_dts_delta: ::std::os::raw::c_int,
8627    pub cur_frame_pos: [i64; 4usize],
8628    pub pos: i64,
8629    pub last_pos: i64,
8630    pub duration: ::std::os::raw::c_int,
8631    pub field_order: AVFieldOrder,
8632    pub picture_structure: AVPictureStructure,
8633    pub output_picture_number: ::std::os::raw::c_int,
8634    pub width: ::std::os::raw::c_int,
8635    pub height: ::std::os::raw::c_int,
8636    pub coded_width: ::std::os::raw::c_int,
8637    pub coded_height: ::std::os::raw::c_int,
8638    pub format: ::std::os::raw::c_int,
8639}
8640#[repr(C)]
8641#[derive(Debug, Copy, Clone)]
8642pub struct AVCodecParser {
8643    pub codec_ids: [::std::os::raw::c_int; 5usize],
8644    pub priv_data_size: ::std::os::raw::c_int,
8645    pub parser_init: ::std::option::Option<
8646        unsafe extern "C" fn(s: *mut AVCodecParserContext) -> ::std::os::raw::c_int,
8647    >,
8648    pub parser_parse: ::std::option::Option<
8649        unsafe extern "C" fn(
8650            s: *mut AVCodecParserContext,
8651            avctx: *mut AVCodecContext,
8652            poutbuf: *mut *const u8,
8653            poutbuf_size: *mut ::std::os::raw::c_int,
8654            buf: *const u8,
8655            buf_size: ::std::os::raw::c_int,
8656        ) -> ::std::os::raw::c_int,
8657    >,
8658    pub parser_close: ::std::option::Option<unsafe extern "C" fn(s: *mut AVCodecParserContext)>,
8659    pub split: ::std::option::Option<
8660        unsafe extern "C" fn(
8661            avctx: *mut AVCodecContext,
8662            buf: *const u8,
8663            buf_size: ::std::os::raw::c_int,
8664        ) -> ::std::os::raw::c_int,
8665    >,
8666    pub next: *mut AVCodecParser,
8667}
8668extern "C" {
8669    pub fn av_parser_iterate(opaque: *mut *mut ::std::os::raw::c_void) -> *const AVCodecParser;
8670}
8671extern "C" {
8672    pub fn av_parser_next(c: *const AVCodecParser) -> *mut AVCodecParser;
8673}
8674extern "C" {
8675    pub fn av_register_codec_parser(parser: *mut AVCodecParser);
8676}
8677extern "C" {
8678    pub fn av_parser_init(codec_id: ::std::os::raw::c_int) -> *mut AVCodecParserContext;
8679}
8680extern "C" {
8681    pub fn av_parser_parse2(
8682        s: *mut AVCodecParserContext,
8683        avctx: *mut AVCodecContext,
8684        poutbuf: *mut *mut u8,
8685        poutbuf_size: *mut ::std::os::raw::c_int,
8686        buf: *const u8,
8687        buf_size: ::std::os::raw::c_int,
8688        pts: i64,
8689        dts: i64,
8690        pos: i64,
8691    ) -> ::std::os::raw::c_int;
8692}
8693extern "C" {
8694    pub fn av_parser_change(
8695        s: *mut AVCodecParserContext,
8696        avctx: *mut AVCodecContext,
8697        poutbuf: *mut *mut u8,
8698        poutbuf_size: *mut ::std::os::raw::c_int,
8699        buf: *const u8,
8700        buf_size: ::std::os::raw::c_int,
8701        keyframe: ::std::os::raw::c_int,
8702    ) -> ::std::os::raw::c_int;
8703}
8704extern "C" {
8705    pub fn av_parser_close(s: *mut AVCodecParserContext);
8706}
8707extern "C" {
8708    pub fn avcodec_find_encoder(id: AVCodecID) -> *mut AVCodec;
8709}
8710extern "C" {
8711    pub fn avcodec_find_encoder_by_name(name: *const ::std::os::raw::c_char) -> *mut AVCodec;
8712}
8713extern "C" {
8714    pub fn avcodec_encode_audio2(
8715        avctx: *mut AVCodecContext,
8716        avpkt: *mut AVPacket,
8717        frame: *const AVFrame,
8718        got_packet_ptr: *mut ::std::os::raw::c_int,
8719    ) -> ::std::os::raw::c_int;
8720}
8721extern "C" {
8722    pub fn avcodec_encode_video2(
8723        avctx: *mut AVCodecContext,
8724        avpkt: *mut AVPacket,
8725        frame: *const AVFrame,
8726        got_packet_ptr: *mut ::std::os::raw::c_int,
8727    ) -> ::std::os::raw::c_int;
8728}
8729extern "C" {
8730    pub fn avcodec_encode_subtitle(
8731        avctx: *mut AVCodecContext,
8732        buf: *mut u8,
8733        buf_size: ::std::os::raw::c_int,
8734        sub: *const AVSubtitle,
8735    ) -> ::std::os::raw::c_int;
8736}
8737extern "C" {
8738    pub fn avpicture_alloc(
8739        picture: *mut AVPicture,
8740        pix_fmt: AVPixelFormat,
8741        width: ::std::os::raw::c_int,
8742        height: ::std::os::raw::c_int,
8743    ) -> ::std::os::raw::c_int;
8744}
8745extern "C" {
8746    pub fn avpicture_free(picture: *mut AVPicture);
8747}
8748extern "C" {
8749    pub fn avpicture_fill(
8750        picture: *mut AVPicture,
8751        ptr: *const u8,
8752        pix_fmt: AVPixelFormat,
8753        width: ::std::os::raw::c_int,
8754        height: ::std::os::raw::c_int,
8755    ) -> ::std::os::raw::c_int;
8756}
8757extern "C" {
8758    pub fn avpicture_layout(
8759        src: *const AVPicture,
8760        pix_fmt: AVPixelFormat,
8761        width: ::std::os::raw::c_int,
8762        height: ::std::os::raw::c_int,
8763        dest: *mut ::std::os::raw::c_uchar,
8764        dest_size: ::std::os::raw::c_int,
8765    ) -> ::std::os::raw::c_int;
8766}
8767extern "C" {
8768    pub fn avpicture_get_size(
8769        pix_fmt: AVPixelFormat,
8770        width: ::std::os::raw::c_int,
8771        height: ::std::os::raw::c_int,
8772    ) -> ::std::os::raw::c_int;
8773}
8774extern "C" {
8775    pub fn av_picture_copy(
8776        dst: *mut AVPicture,
8777        src: *const AVPicture,
8778        pix_fmt: AVPixelFormat,
8779        width: ::std::os::raw::c_int,
8780        height: ::std::os::raw::c_int,
8781    );
8782}
8783extern "C" {
8784    pub fn av_picture_crop(
8785        dst: *mut AVPicture,
8786        src: *const AVPicture,
8787        pix_fmt: AVPixelFormat,
8788        top_band: ::std::os::raw::c_int,
8789        left_band: ::std::os::raw::c_int,
8790    ) -> ::std::os::raw::c_int;
8791}
8792extern "C" {
8793    pub fn av_picture_pad(
8794        dst: *mut AVPicture,
8795        src: *const AVPicture,
8796        height: ::std::os::raw::c_int,
8797        width: ::std::os::raw::c_int,
8798        pix_fmt: AVPixelFormat,
8799        padtop: ::std::os::raw::c_int,
8800        padbottom: ::std::os::raw::c_int,
8801        padleft: ::std::os::raw::c_int,
8802        padright: ::std::os::raw::c_int,
8803        color: *mut ::std::os::raw::c_int,
8804    ) -> ::std::os::raw::c_int;
8805}
8806extern "C" {
8807    pub fn avcodec_get_chroma_sub_sample(
8808        pix_fmt: AVPixelFormat,
8809        h_shift: *mut ::std::os::raw::c_int,
8810        v_shift: *mut ::std::os::raw::c_int,
8811    );
8812}
8813extern "C" {
8814    pub fn avcodec_pix_fmt_to_codec_tag(pix_fmt: AVPixelFormat) -> ::std::os::raw::c_uint;
8815}
8816extern "C" {
8817    pub fn avcodec_get_pix_fmt_loss(
8818        dst_pix_fmt: AVPixelFormat,
8819        src_pix_fmt: AVPixelFormat,
8820        has_alpha: ::std::os::raw::c_int,
8821    ) -> ::std::os::raw::c_int;
8822}
8823extern "C" {
8824    pub fn avcodec_find_best_pix_fmt_of_list(
8825        pix_fmt_list: *const AVPixelFormat,
8826        src_pix_fmt: AVPixelFormat,
8827        has_alpha: ::std::os::raw::c_int,
8828        loss_ptr: *mut ::std::os::raw::c_int,
8829    ) -> AVPixelFormat;
8830}
8831extern "C" {
8832    pub fn avcodec_find_best_pix_fmt_of_2(
8833        dst_pix_fmt1: AVPixelFormat,
8834        dst_pix_fmt2: AVPixelFormat,
8835        src_pix_fmt: AVPixelFormat,
8836        has_alpha: ::std::os::raw::c_int,
8837        loss_ptr: *mut ::std::os::raw::c_int,
8838    ) -> AVPixelFormat;
8839}
8840extern "C" {
8841    pub fn avcodec_find_best_pix_fmt2(
8842        dst_pix_fmt1: AVPixelFormat,
8843        dst_pix_fmt2: AVPixelFormat,
8844        src_pix_fmt: AVPixelFormat,
8845        has_alpha: ::std::os::raw::c_int,
8846        loss_ptr: *mut ::std::os::raw::c_int,
8847    ) -> AVPixelFormat;
8848}
8849extern "C" {
8850    pub fn avcodec_default_get_format(
8851        s: *mut AVCodecContext,
8852        fmt: *const AVPixelFormat,
8853    ) -> AVPixelFormat;
8854}
8855extern "C" {
8856    pub fn av_get_codec_tag_string(
8857        buf: *mut ::std::os::raw::c_char,
8858        buf_size: usize,
8859        codec_tag: ::std::os::raw::c_uint,
8860    ) -> usize;
8861}
8862extern "C" {
8863    pub fn avcodec_string(
8864        buf: *mut ::std::os::raw::c_char,
8865        buf_size: ::std::os::raw::c_int,
8866        enc: *mut AVCodecContext,
8867        encode: ::std::os::raw::c_int,
8868    );
8869}
8870extern "C" {
8871    pub fn av_get_profile_name(
8872        codec: *const AVCodec,
8873        profile: ::std::os::raw::c_int,
8874    ) -> *const ::std::os::raw::c_char;
8875}
8876extern "C" {
8877    pub fn avcodec_profile_name(
8878        codec_id: AVCodecID,
8879        profile: ::std::os::raw::c_int,
8880    ) -> *const ::std::os::raw::c_char;
8881}
8882extern "C" {
8883    pub fn avcodec_default_execute(
8884        c: *mut AVCodecContext,
8885        func: ::std::option::Option<
8886            unsafe extern "C" fn(
8887                c2: *mut AVCodecContext,
8888                arg2: *mut ::std::os::raw::c_void,
8889            ) -> ::std::os::raw::c_int,
8890        >,
8891        arg: *mut ::std::os::raw::c_void,
8892        ret: *mut ::std::os::raw::c_int,
8893        count: ::std::os::raw::c_int,
8894        size: ::std::os::raw::c_int,
8895    ) -> ::std::os::raw::c_int;
8896}
8897extern "C" {
8898    pub fn avcodec_default_execute2(
8899        c: *mut AVCodecContext,
8900        func: ::std::option::Option<
8901            unsafe extern "C" fn(
8902                c2: *mut AVCodecContext,
8903                arg2: *mut ::std::os::raw::c_void,
8904                arg1: ::std::os::raw::c_int,
8905                arg2: ::std::os::raw::c_int,
8906            ) -> ::std::os::raw::c_int,
8907        >,
8908        arg: *mut ::std::os::raw::c_void,
8909        ret: *mut ::std::os::raw::c_int,
8910        count: ::std::os::raw::c_int,
8911    ) -> ::std::os::raw::c_int;
8912}
8913extern "C" {
8914    pub fn avcodec_fill_audio_frame(
8915        frame: *mut AVFrame,
8916        nb_channels: ::std::os::raw::c_int,
8917        sample_fmt: AVSampleFormat,
8918        buf: *const u8,
8919        buf_size: ::std::os::raw::c_int,
8920        align: ::std::os::raw::c_int,
8921    ) -> ::std::os::raw::c_int;
8922}
8923extern "C" {
8924    pub fn avcodec_flush_buffers(avctx: *mut AVCodecContext);
8925}
8926extern "C" {
8927    pub fn av_get_bits_per_sample(codec_id: AVCodecID) -> ::std::os::raw::c_int;
8928}
8929extern "C" {
8930    pub fn av_get_pcm_codec(fmt: AVSampleFormat, be: ::std::os::raw::c_int) -> AVCodecID;
8931}
8932extern "C" {
8933    pub fn av_get_exact_bits_per_sample(codec_id: AVCodecID) -> ::std::os::raw::c_int;
8934}
8935extern "C" {
8936    pub fn av_get_audio_frame_duration(
8937        avctx: *mut AVCodecContext,
8938        frame_bytes: ::std::os::raw::c_int,
8939    ) -> ::std::os::raw::c_int;
8940}
8941extern "C" {
8942    pub fn av_get_audio_frame_duration2(
8943        par: *mut AVCodecParameters,
8944        frame_bytes: ::std::os::raw::c_int,
8945    ) -> ::std::os::raw::c_int;
8946}
8947#[repr(C)]
8948#[derive(Debug, Copy, Clone)]
8949pub struct AVBitStreamFilterContext {
8950    pub priv_data: *mut ::std::os::raw::c_void,
8951    pub filter: *const AVBitStreamFilter,
8952    pub parser: *mut AVCodecParserContext,
8953    pub next: *mut AVBitStreamFilterContext,
8954    pub args: *mut ::std::os::raw::c_char,
8955}
8956#[repr(C)]
8957#[derive(Debug, Copy, Clone)]
8958pub struct AVBSFInternal {
8959    _unused: [u8; 0],
8960}
8961#[repr(C)]
8962#[derive(Debug, Copy, Clone)]
8963pub struct AVBSFContext {
8964    pub av_class: *const AVClass,
8965    pub filter: *const AVBitStreamFilter,
8966    pub internal: *mut AVBSFInternal,
8967    pub priv_data: *mut ::std::os::raw::c_void,
8968    pub par_in: *mut AVCodecParameters,
8969    pub par_out: *mut AVCodecParameters,
8970    pub time_base_in: AVRational,
8971    pub time_base_out: AVRational,
8972}
8973#[repr(C)]
8974#[derive(Debug, Copy, Clone)]
8975pub struct AVBitStreamFilter {
8976    pub name: *const ::std::os::raw::c_char,
8977    pub codec_ids: *const AVCodecID,
8978    pub priv_class: *const AVClass,
8979    pub priv_data_size: ::std::os::raw::c_int,
8980    pub init: ::std::option::Option<
8981        unsafe extern "C" fn(ctx: *mut AVBSFContext) -> ::std::os::raw::c_int,
8982    >,
8983    pub filter: ::std::option::Option<
8984        unsafe extern "C" fn(ctx: *mut AVBSFContext, pkt: *mut AVPacket) -> ::std::os::raw::c_int,
8985    >,
8986    pub close: ::std::option::Option<unsafe extern "C" fn(ctx: *mut AVBSFContext)>,
8987    pub flush: ::std::option::Option<unsafe extern "C" fn(ctx: *mut AVBSFContext)>,
8988}
8989extern "C" {
8990    pub fn av_register_bitstream_filter(bsf: *mut AVBitStreamFilter);
8991}
8992extern "C" {
8993    pub fn av_bitstream_filter_init(
8994        name: *const ::std::os::raw::c_char,
8995    ) -> *mut AVBitStreamFilterContext;
8996}
8997extern "C" {
8998    pub fn av_bitstream_filter_filter(
8999        bsfc: *mut AVBitStreamFilterContext,
9000        avctx: *mut AVCodecContext,
9001        args: *const ::std::os::raw::c_char,
9002        poutbuf: *mut *mut u8,
9003        poutbuf_size: *mut ::std::os::raw::c_int,
9004        buf: *const u8,
9005        buf_size: ::std::os::raw::c_int,
9006        keyframe: ::std::os::raw::c_int,
9007    ) -> ::std::os::raw::c_int;
9008}
9009extern "C" {
9010    pub fn av_bitstream_filter_close(bsf: *mut AVBitStreamFilterContext);
9011}
9012extern "C" {
9013    pub fn av_bitstream_filter_next(f: *const AVBitStreamFilter) -> *const AVBitStreamFilter;
9014}
9015extern "C" {
9016    pub fn av_bsf_get_by_name(name: *const ::std::os::raw::c_char) -> *const AVBitStreamFilter;
9017}
9018extern "C" {
9019    pub fn av_bsf_iterate(opaque: *mut *mut ::std::os::raw::c_void) -> *const AVBitStreamFilter;
9020}
9021extern "C" {
9022    pub fn av_bsf_next(opaque: *mut *mut ::std::os::raw::c_void) -> *const AVBitStreamFilter;
9023}
9024extern "C" {
9025    pub fn av_bsf_alloc(
9026        filter: *const AVBitStreamFilter,
9027        ctx: *mut *mut AVBSFContext,
9028    ) -> ::std::os::raw::c_int;
9029}
9030extern "C" {
9031    pub fn av_bsf_init(ctx: *mut AVBSFContext) -> ::std::os::raw::c_int;
9032}
9033extern "C" {
9034    pub fn av_bsf_send_packet(ctx: *mut AVBSFContext, pkt: *mut AVPacket) -> ::std::os::raw::c_int;
9035}
9036extern "C" {
9037    pub fn av_bsf_receive_packet(
9038        ctx: *mut AVBSFContext,
9039        pkt: *mut AVPacket,
9040    ) -> ::std::os::raw::c_int;
9041}
9042extern "C" {
9043    pub fn av_bsf_flush(ctx: *mut AVBSFContext);
9044}
9045extern "C" {
9046    pub fn av_bsf_free(ctx: *mut *mut AVBSFContext);
9047}
9048extern "C" {
9049    pub fn av_bsf_get_class() -> *const AVClass;
9050}
9051#[repr(C)]
9052#[derive(Debug, Copy, Clone)]
9053pub struct AVBSFList {
9054    _unused: [u8; 0],
9055}
9056extern "C" {
9057    pub fn av_bsf_list_alloc() -> *mut AVBSFList;
9058}
9059extern "C" {
9060    pub fn av_bsf_list_free(lst: *mut *mut AVBSFList);
9061}
9062extern "C" {
9063    pub fn av_bsf_list_append(lst: *mut AVBSFList, bsf: *mut AVBSFContext)
9064        -> ::std::os::raw::c_int;
9065}
9066extern "C" {
9067    pub fn av_bsf_list_append2(
9068        lst: *mut AVBSFList,
9069        bsf_name: *const ::std::os::raw::c_char,
9070        options: *mut *mut AVDictionary,
9071    ) -> ::std::os::raw::c_int;
9072}
9073extern "C" {
9074    pub fn av_bsf_list_finalize(
9075        lst: *mut *mut AVBSFList,
9076        bsf: *mut *mut AVBSFContext,
9077    ) -> ::std::os::raw::c_int;
9078}
9079extern "C" {
9080    pub fn av_bsf_list_parse_str(
9081        str: *const ::std::os::raw::c_char,
9082        bsf: *mut *mut AVBSFContext,
9083    ) -> ::std::os::raw::c_int;
9084}
9085extern "C" {
9086    pub fn av_bsf_get_null_filter(bsf: *mut *mut AVBSFContext) -> ::std::os::raw::c_int;
9087}
9088extern "C" {
9089    pub fn av_fast_padded_malloc(
9090        ptr: *mut ::std::os::raw::c_void,
9091        size: *mut ::std::os::raw::c_uint,
9092        min_size: usize,
9093    );
9094}
9095extern "C" {
9096    pub fn av_fast_padded_mallocz(
9097        ptr: *mut ::std::os::raw::c_void,
9098        size: *mut ::std::os::raw::c_uint,
9099        min_size: usize,
9100    );
9101}
9102extern "C" {
9103    pub fn av_xiphlacing(
9104        s: *mut ::std::os::raw::c_uchar,
9105        v: ::std::os::raw::c_uint,
9106    ) -> ::std::os::raw::c_uint;
9107}
9108extern "C" {
9109    pub fn av_register_hwaccel(hwaccel: *mut AVHWAccel);
9110}
9111extern "C" {
9112    pub fn av_hwaccel_next(hwaccel: *const AVHWAccel) -> *mut AVHWAccel;
9113}
9114pub const AVLockOp_AV_LOCK_CREATE: AVLockOp = 0;
9115pub const AVLockOp_AV_LOCK_OBTAIN: AVLockOp = 1;
9116pub const AVLockOp_AV_LOCK_RELEASE: AVLockOp = 2;
9117pub const AVLockOp_AV_LOCK_DESTROY: AVLockOp = 3;
9118pub type AVLockOp = u32;
9119extern "C" {
9120    pub fn av_lockmgr_register(
9121        cb: ::std::option::Option<
9122            unsafe extern "C" fn(
9123                mutex: *mut *mut ::std::os::raw::c_void,
9124                op: AVLockOp,
9125            ) -> ::std::os::raw::c_int,
9126        >,
9127    ) -> ::std::os::raw::c_int;
9128}
9129extern "C" {
9130    pub fn avcodec_get_type(codec_id: AVCodecID) -> AVMediaType;
9131}
9132extern "C" {
9133    pub fn avcodec_get_name(id: AVCodecID) -> *const ::std::os::raw::c_char;
9134}
9135extern "C" {
9136    pub fn avcodec_is_open(s: *mut AVCodecContext) -> ::std::os::raw::c_int;
9137}
9138extern "C" {
9139    pub fn av_codec_is_encoder(codec: *const AVCodec) -> ::std::os::raw::c_int;
9140}
9141extern "C" {
9142    pub fn av_codec_is_decoder(codec: *const AVCodec) -> ::std::os::raw::c_int;
9143}
9144extern "C" {
9145    pub fn avcodec_descriptor_get(id: AVCodecID) -> *const AVCodecDescriptor;
9146}
9147extern "C" {
9148    pub fn avcodec_descriptor_next(prev: *const AVCodecDescriptor) -> *const AVCodecDescriptor;
9149}
9150extern "C" {
9151    pub fn avcodec_descriptor_get_by_name(
9152        name: *const ::std::os::raw::c_char,
9153    ) -> *const AVCodecDescriptor;
9154}
9155extern "C" {
9156    pub fn av_cpb_properties_alloc(size: *mut usize) -> *mut AVCPBProperties;
9157}
9158#[repr(C)]
9159#[derive(Debug, Copy, Clone)]
9160pub struct tm {
9161    pub tm_sec: ::std::os::raw::c_int,
9162    pub tm_min: ::std::os::raw::c_int,
9163    pub tm_hour: ::std::os::raw::c_int,
9164    pub tm_mday: ::std::os::raw::c_int,
9165    pub tm_mon: ::std::os::raw::c_int,
9166    pub tm_year: ::std::os::raw::c_int,
9167    pub tm_wday: ::std::os::raw::c_int,
9168    pub tm_yday: ::std::os::raw::c_int,
9169    pub tm_isdst: ::std::os::raw::c_int,
9170    pub tm_gmtoff: ::std::os::raw::c_long,
9171    pub tm_zone: *const ::std::os::raw::c_char,
9172}
9173#[repr(C)]
9174#[derive(Debug, Copy, Clone)]
9175pub struct itimerspec {
9176    pub it_interval: timespec,
9177    pub it_value: timespec,
9178}
9179#[repr(C)]
9180#[derive(Debug, Copy, Clone)]
9181pub struct sigevent {
9182    _unused: [u8; 0],
9183}
9184extern "C" {
9185    pub fn clock() -> clock_t;
9186}
9187extern "C" {
9188    pub fn time(__timer: *mut time_t) -> time_t;
9189}
9190extern "C" {
9191    pub fn difftime(__time1: time_t, __time0: time_t) -> f64;
9192}
9193extern "C" {
9194    pub fn mktime(__tp: *mut tm) -> time_t;
9195}
9196extern "C" {
9197    pub fn strftime(
9198        __s: *mut ::std::os::raw::c_char,
9199        __maxsize: usize,
9200        __format: *const ::std::os::raw::c_char,
9201        __tp: *const tm,
9202    ) -> usize;
9203}
9204extern "C" {
9205    pub fn strftime_l(
9206        __s: *mut ::std::os::raw::c_char,
9207        __maxsize: usize,
9208        __format: *const ::std::os::raw::c_char,
9209        __tp: *const tm,
9210        __loc: locale_t,
9211    ) -> usize;
9212}
9213extern "C" {
9214    pub fn gmtime(__timer: *const time_t) -> *mut tm;
9215}
9216extern "C" {
9217    pub fn localtime(__timer: *const time_t) -> *mut tm;
9218}
9219extern "C" {
9220    pub fn gmtime_r(__timer: *const time_t, __tp: *mut tm) -> *mut tm;
9221}
9222extern "C" {
9223    pub fn localtime_r(__timer: *const time_t, __tp: *mut tm) -> *mut tm;
9224}
9225extern "C" {
9226    pub fn asctime(__tp: *const tm) -> *mut ::std::os::raw::c_char;
9227}
9228extern "C" {
9229    pub fn ctime(__timer: *const time_t) -> *mut ::std::os::raw::c_char;
9230}
9231extern "C" {
9232    pub fn asctime_r(
9233        __tp: *const tm,
9234        __buf: *mut ::std::os::raw::c_char,
9235    ) -> *mut ::std::os::raw::c_char;
9236}
9237extern "C" {
9238    pub fn ctime_r(
9239        __timer: *const time_t,
9240        __buf: *mut ::std::os::raw::c_char,
9241    ) -> *mut ::std::os::raw::c_char;
9242}
9243extern "C" {
9244    pub static mut __tzname: [*mut ::std::os::raw::c_char; 2usize];
9245}
9246extern "C" {
9247    pub static mut __daylight: ::std::os::raw::c_int;
9248}
9249extern "C" {
9250    pub static mut __timezone: ::std::os::raw::c_long;
9251}
9252extern "C" {
9253    pub static mut tzname: [*mut ::std::os::raw::c_char; 2usize];
9254}
9255extern "C" {
9256    pub fn tzset();
9257}
9258extern "C" {
9259    pub static mut daylight: ::std::os::raw::c_int;
9260}
9261extern "C" {
9262    pub static mut timezone: ::std::os::raw::c_long;
9263}
9264extern "C" {
9265    pub fn stime(__when: *const time_t) -> ::std::os::raw::c_int;
9266}
9267extern "C" {
9268    pub fn timegm(__tp: *mut tm) -> time_t;
9269}
9270extern "C" {
9271    pub fn timelocal(__tp: *mut tm) -> time_t;
9272}
9273extern "C" {
9274    pub fn dysize(__year: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
9275}
9276extern "C" {
9277    pub fn nanosleep(
9278        __requested_time: *const timespec,
9279        __remaining: *mut timespec,
9280    ) -> ::std::os::raw::c_int;
9281}
9282extern "C" {
9283    pub fn clock_getres(__clock_id: clockid_t, __res: *mut timespec) -> ::std::os::raw::c_int;
9284}
9285extern "C" {
9286    pub fn clock_gettime(__clock_id: clockid_t, __tp: *mut timespec) -> ::std::os::raw::c_int;
9287}
9288extern "C" {
9289    pub fn clock_settime(__clock_id: clockid_t, __tp: *const timespec) -> ::std::os::raw::c_int;
9290}
9291extern "C" {
9292    pub fn clock_nanosleep(
9293        __clock_id: clockid_t,
9294        __flags: ::std::os::raw::c_int,
9295        __req: *const timespec,
9296        __rem: *mut timespec,
9297    ) -> ::std::os::raw::c_int;
9298}
9299extern "C" {
9300    pub fn clock_getcpuclockid(__pid: pid_t, __clock_id: *mut clockid_t) -> ::std::os::raw::c_int;
9301}
9302extern "C" {
9303    pub fn timer_create(
9304        __clock_id: clockid_t,
9305        __evp: *mut sigevent,
9306        __timerid: *mut timer_t,
9307    ) -> ::std::os::raw::c_int;
9308}
9309extern "C" {
9310    pub fn timer_delete(__timerid: timer_t) -> ::std::os::raw::c_int;
9311}
9312extern "C" {
9313    pub fn timer_settime(
9314        __timerid: timer_t,
9315        __flags: ::std::os::raw::c_int,
9316        __value: *const itimerspec,
9317        __ovalue: *mut itimerspec,
9318    ) -> ::std::os::raw::c_int;
9319}
9320extern "C" {
9321    pub fn timer_gettime(__timerid: timer_t, __value: *mut itimerspec) -> ::std::os::raw::c_int;
9322}
9323extern "C" {
9324    pub fn timer_getoverrun(__timerid: timer_t) -> ::std::os::raw::c_int;
9325}
9326extern "C" {
9327    pub fn timespec_get(
9328        __ts: *mut timespec,
9329        __base: ::std::os::raw::c_int,
9330    ) -> ::std::os::raw::c_int;
9331}
9332#[repr(C)]
9333#[derive(Debug, Copy, Clone)]
9334pub struct AVIOInterruptCB {
9335    pub callback: ::std::option::Option<
9336        unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
9337    >,
9338    pub opaque: *mut ::std::os::raw::c_void,
9339}
9340pub const AVIODirEntryType_AVIO_ENTRY_UNKNOWN: AVIODirEntryType = 0;
9341pub const AVIODirEntryType_AVIO_ENTRY_BLOCK_DEVICE: AVIODirEntryType = 1;
9342pub const AVIODirEntryType_AVIO_ENTRY_CHARACTER_DEVICE: AVIODirEntryType = 2;
9343pub const AVIODirEntryType_AVIO_ENTRY_DIRECTORY: AVIODirEntryType = 3;
9344pub const AVIODirEntryType_AVIO_ENTRY_NAMED_PIPE: AVIODirEntryType = 4;
9345pub const AVIODirEntryType_AVIO_ENTRY_SYMBOLIC_LINK: AVIODirEntryType = 5;
9346pub const AVIODirEntryType_AVIO_ENTRY_SOCKET: AVIODirEntryType = 6;
9347pub const AVIODirEntryType_AVIO_ENTRY_FILE: AVIODirEntryType = 7;
9348pub const AVIODirEntryType_AVIO_ENTRY_SERVER: AVIODirEntryType = 8;
9349pub const AVIODirEntryType_AVIO_ENTRY_SHARE: AVIODirEntryType = 9;
9350pub const AVIODirEntryType_AVIO_ENTRY_WORKGROUP: AVIODirEntryType = 10;
9351pub type AVIODirEntryType = u32;
9352#[repr(C)]
9353#[derive(Debug, Copy, Clone)]
9354pub struct AVIODirEntry {
9355    pub name: *mut ::std::os::raw::c_char,
9356    pub type_: ::std::os::raw::c_int,
9357    pub utf8: ::std::os::raw::c_int,
9358    pub size: i64,
9359    pub modification_timestamp: i64,
9360    pub access_timestamp: i64,
9361    pub status_change_timestamp: i64,
9362    pub user_id: i64,
9363    pub group_id: i64,
9364    pub filemode: i64,
9365}
9366#[repr(C)]
9367#[derive(Debug, Copy, Clone)]
9368pub struct AVIODirContext {
9369    pub url_context: *mut URLContext,
9370}
9371pub const AVIODataMarkerType_AVIO_DATA_MARKER_HEADER: AVIODataMarkerType = 0;
9372pub const AVIODataMarkerType_AVIO_DATA_MARKER_SYNC_POINT: AVIODataMarkerType = 1;
9373pub const AVIODataMarkerType_AVIO_DATA_MARKER_BOUNDARY_POINT: AVIODataMarkerType = 2;
9374pub const AVIODataMarkerType_AVIO_DATA_MARKER_UNKNOWN: AVIODataMarkerType = 3;
9375pub const AVIODataMarkerType_AVIO_DATA_MARKER_TRAILER: AVIODataMarkerType = 4;
9376pub const AVIODataMarkerType_AVIO_DATA_MARKER_FLUSH_POINT: AVIODataMarkerType = 5;
9377pub type AVIODataMarkerType = u32;
9378#[repr(C)]
9379#[derive(Debug, Copy, Clone)]
9380pub struct AVIOContext {
9381    pub av_class: *const AVClass,
9382    pub buffer: *mut ::std::os::raw::c_uchar,
9383    pub buffer_size: ::std::os::raw::c_int,
9384    pub buf_ptr: *mut ::std::os::raw::c_uchar,
9385    pub buf_end: *mut ::std::os::raw::c_uchar,
9386    pub opaque: *mut ::std::os::raw::c_void,
9387    pub read_packet: ::std::option::Option<
9388        unsafe extern "C" fn(
9389            opaque: *mut ::std::os::raw::c_void,
9390            buf: *mut u8,
9391            buf_size: ::std::os::raw::c_int,
9392        ) -> ::std::os::raw::c_int,
9393    >,
9394    pub write_packet: ::std::option::Option<
9395        unsafe extern "C" fn(
9396            opaque: *mut ::std::os::raw::c_void,
9397            buf: *mut u8,
9398            buf_size: ::std::os::raw::c_int,
9399        ) -> ::std::os::raw::c_int,
9400    >,
9401    pub seek: ::std::option::Option<
9402        unsafe extern "C" fn(
9403            opaque: *mut ::std::os::raw::c_void,
9404            offset: i64,
9405            whence: ::std::os::raw::c_int,
9406        ) -> i64,
9407    >,
9408    pub pos: i64,
9409    pub eof_reached: ::std::os::raw::c_int,
9410    pub write_flag: ::std::os::raw::c_int,
9411    pub max_packet_size: ::std::os::raw::c_int,
9412    pub checksum: ::std::os::raw::c_ulong,
9413    pub checksum_ptr: *mut ::std::os::raw::c_uchar,
9414    pub update_checksum: ::std::option::Option<
9415        unsafe extern "C" fn(
9416            checksum: ::std::os::raw::c_ulong,
9417            buf: *const u8,
9418            size: ::std::os::raw::c_uint,
9419        ) -> ::std::os::raw::c_ulong,
9420    >,
9421    pub error: ::std::os::raw::c_int,
9422    pub read_pause: ::std::option::Option<
9423        unsafe extern "C" fn(
9424            opaque: *mut ::std::os::raw::c_void,
9425            pause: ::std::os::raw::c_int,
9426        ) -> ::std::os::raw::c_int,
9427    >,
9428    pub read_seek: ::std::option::Option<
9429        unsafe extern "C" fn(
9430            opaque: *mut ::std::os::raw::c_void,
9431            stream_index: ::std::os::raw::c_int,
9432            timestamp: i64,
9433            flags: ::std::os::raw::c_int,
9434        ) -> i64,
9435    >,
9436    pub seekable: ::std::os::raw::c_int,
9437    pub maxsize: i64,
9438    pub direct: ::std::os::raw::c_int,
9439    pub bytes_read: i64,
9440    pub seek_count: ::std::os::raw::c_int,
9441    pub writeout_count: ::std::os::raw::c_int,
9442    pub orig_buffer_size: ::std::os::raw::c_int,
9443    pub short_seek_threshold: ::std::os::raw::c_int,
9444    pub protocol_whitelist: *const ::std::os::raw::c_char,
9445    pub protocol_blacklist: *const ::std::os::raw::c_char,
9446    pub write_data_type: ::std::option::Option<
9447        unsafe extern "C" fn(
9448            opaque: *mut ::std::os::raw::c_void,
9449            buf: *mut u8,
9450            buf_size: ::std::os::raw::c_int,
9451            type_: AVIODataMarkerType,
9452            time: i64,
9453        ) -> ::std::os::raw::c_int,
9454    >,
9455    pub ignore_boundary_point: ::std::os::raw::c_int,
9456    pub current_type: AVIODataMarkerType,
9457    pub last_time: i64,
9458    pub short_seek_get: ::std::option::Option<
9459        unsafe extern "C" fn(opaque: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
9460    >,
9461    pub written: i64,
9462    pub buf_ptr_max: *mut ::std::os::raw::c_uchar,
9463    pub min_packet_size: ::std::os::raw::c_int,
9464}
9465extern "C" {
9466    pub fn avio_find_protocol_name(
9467        url: *const ::std::os::raw::c_char,
9468    ) -> *const ::std::os::raw::c_char;
9469}
9470extern "C" {
9471    pub fn avio_check(
9472        url: *const ::std::os::raw::c_char,
9473        flags: ::std::os::raw::c_int,
9474    ) -> ::std::os::raw::c_int;
9475}
9476extern "C" {
9477    pub fn avpriv_io_move(
9478        url_src: *const ::std::os::raw::c_char,
9479        url_dst: *const ::std::os::raw::c_char,
9480    ) -> ::std::os::raw::c_int;
9481}
9482extern "C" {
9483    pub fn avpriv_io_delete(url: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9484}
9485extern "C" {
9486    pub fn avio_open_dir(
9487        s: *mut *mut AVIODirContext,
9488        url: *const ::std::os::raw::c_char,
9489        options: *mut *mut AVDictionary,
9490    ) -> ::std::os::raw::c_int;
9491}
9492extern "C" {
9493    pub fn avio_read_dir(
9494        s: *mut AVIODirContext,
9495        next: *mut *mut AVIODirEntry,
9496    ) -> ::std::os::raw::c_int;
9497}
9498extern "C" {
9499    pub fn avio_close_dir(s: *mut *mut AVIODirContext) -> ::std::os::raw::c_int;
9500}
9501extern "C" {
9502    pub fn avio_free_directory_entry(entry: *mut *mut AVIODirEntry);
9503}
9504extern "C" {
9505    pub fn avio_alloc_context(
9506        buffer: *mut ::std::os::raw::c_uchar,
9507        buffer_size: ::std::os::raw::c_int,
9508        write_flag: ::std::os::raw::c_int,
9509        opaque: *mut ::std::os::raw::c_void,
9510        read_packet: ::std::option::Option<
9511            unsafe extern "C" fn(
9512                opaque: *mut ::std::os::raw::c_void,
9513                buf: *mut u8,
9514                buf_size: ::std::os::raw::c_int,
9515            ) -> ::std::os::raw::c_int,
9516        >,
9517        write_packet: ::std::option::Option<
9518            unsafe extern "C" fn(
9519                opaque: *mut ::std::os::raw::c_void,
9520                buf: *mut u8,
9521                buf_size: ::std::os::raw::c_int,
9522            ) -> ::std::os::raw::c_int,
9523        >,
9524        seek: ::std::option::Option<
9525            unsafe extern "C" fn(
9526                opaque: *mut ::std::os::raw::c_void,
9527                offset: i64,
9528                whence: ::std::os::raw::c_int,
9529            ) -> i64,
9530        >,
9531    ) -> *mut AVIOContext;
9532}
9533extern "C" {
9534    pub fn avio_context_free(s: *mut *mut AVIOContext);
9535}
9536extern "C" {
9537    pub fn avio_w8(s: *mut AVIOContext, b: ::std::os::raw::c_int);
9538}
9539extern "C" {
9540    pub fn avio_write(
9541        s: *mut AVIOContext,
9542        buf: *const ::std::os::raw::c_uchar,
9543        size: ::std::os::raw::c_int,
9544    );
9545}
9546extern "C" {
9547    pub fn avio_wl64(s: *mut AVIOContext, val: u64);
9548}
9549extern "C" {
9550    pub fn avio_wb64(s: *mut AVIOContext, val: u64);
9551}
9552extern "C" {
9553    pub fn avio_wl32(s: *mut AVIOContext, val: ::std::os::raw::c_uint);
9554}
9555extern "C" {
9556    pub fn avio_wb32(s: *mut AVIOContext, val: ::std::os::raw::c_uint);
9557}
9558extern "C" {
9559    pub fn avio_wl24(s: *mut AVIOContext, val: ::std::os::raw::c_uint);
9560}
9561extern "C" {
9562    pub fn avio_wb24(s: *mut AVIOContext, val: ::std::os::raw::c_uint);
9563}
9564extern "C" {
9565    pub fn avio_wl16(s: *mut AVIOContext, val: ::std::os::raw::c_uint);
9566}
9567extern "C" {
9568    pub fn avio_wb16(s: *mut AVIOContext, val: ::std::os::raw::c_uint);
9569}
9570extern "C" {
9571    pub fn avio_put_str(
9572        s: *mut AVIOContext,
9573        str: *const ::std::os::raw::c_char,
9574    ) -> ::std::os::raw::c_int;
9575}
9576extern "C" {
9577    pub fn avio_put_str16le(
9578        s: *mut AVIOContext,
9579        str: *const ::std::os::raw::c_char,
9580    ) -> ::std::os::raw::c_int;
9581}
9582extern "C" {
9583    pub fn avio_put_str16be(
9584        s: *mut AVIOContext,
9585        str: *const ::std::os::raw::c_char,
9586    ) -> ::std::os::raw::c_int;
9587}
9588extern "C" {
9589    pub fn avio_write_marker(s: *mut AVIOContext, time: i64, type_: AVIODataMarkerType);
9590}
9591extern "C" {
9592    pub fn avio_seek(s: *mut AVIOContext, offset: i64, whence: ::std::os::raw::c_int) -> i64;
9593}
9594extern "C" {
9595    pub fn avio_skip(s: *mut AVIOContext, offset: i64) -> i64;
9596}
9597extern "C" {
9598    pub fn avio_size(s: *mut AVIOContext) -> i64;
9599}
9600extern "C" {
9601    pub fn avio_feof(s: *mut AVIOContext) -> ::std::os::raw::c_int;
9602}
9603extern "C" {
9604    pub fn avio_printf(
9605        s: *mut AVIOContext,
9606        fmt: *const ::std::os::raw::c_char,
9607        ...
9608    ) -> ::std::os::raw::c_int;
9609}
9610extern "C" {
9611    pub fn avio_flush(s: *mut AVIOContext);
9612}
9613extern "C" {
9614    pub fn avio_read(
9615        s: *mut AVIOContext,
9616        buf: *mut ::std::os::raw::c_uchar,
9617        size: ::std::os::raw::c_int,
9618    ) -> ::std::os::raw::c_int;
9619}
9620extern "C" {
9621    pub fn avio_read_partial(
9622        s: *mut AVIOContext,
9623        buf: *mut ::std::os::raw::c_uchar,
9624        size: ::std::os::raw::c_int,
9625    ) -> ::std::os::raw::c_int;
9626}
9627extern "C" {
9628    pub fn avio_r8(s: *mut AVIOContext) -> ::std::os::raw::c_int;
9629}
9630extern "C" {
9631    pub fn avio_rl16(s: *mut AVIOContext) -> ::std::os::raw::c_uint;
9632}
9633extern "C" {
9634    pub fn avio_rl24(s: *mut AVIOContext) -> ::std::os::raw::c_uint;
9635}
9636extern "C" {
9637    pub fn avio_rl32(s: *mut AVIOContext) -> ::std::os::raw::c_uint;
9638}
9639extern "C" {
9640    pub fn avio_rl64(s: *mut AVIOContext) -> u64;
9641}
9642extern "C" {
9643    pub fn avio_rb16(s: *mut AVIOContext) -> ::std::os::raw::c_uint;
9644}
9645extern "C" {
9646    pub fn avio_rb24(s: *mut AVIOContext) -> ::std::os::raw::c_uint;
9647}
9648extern "C" {
9649    pub fn avio_rb32(s: *mut AVIOContext) -> ::std::os::raw::c_uint;
9650}
9651extern "C" {
9652    pub fn avio_rb64(s: *mut AVIOContext) -> u64;
9653}
9654extern "C" {
9655    pub fn avio_get_str(
9656        pb: *mut AVIOContext,
9657        maxlen: ::std::os::raw::c_int,
9658        buf: *mut ::std::os::raw::c_char,
9659        buflen: ::std::os::raw::c_int,
9660    ) -> ::std::os::raw::c_int;
9661}
9662extern "C" {
9663    pub fn avio_get_str16le(
9664        pb: *mut AVIOContext,
9665        maxlen: ::std::os::raw::c_int,
9666        buf: *mut ::std::os::raw::c_char,
9667        buflen: ::std::os::raw::c_int,
9668    ) -> ::std::os::raw::c_int;
9669}
9670extern "C" {
9671    pub fn avio_get_str16be(
9672        pb: *mut AVIOContext,
9673        maxlen: ::std::os::raw::c_int,
9674        buf: *mut ::std::os::raw::c_char,
9675        buflen: ::std::os::raw::c_int,
9676    ) -> ::std::os::raw::c_int;
9677}
9678extern "C" {
9679    pub fn avio_open(
9680        s: *mut *mut AVIOContext,
9681        url: *const ::std::os::raw::c_char,
9682        flags: ::std::os::raw::c_int,
9683    ) -> ::std::os::raw::c_int;
9684}
9685extern "C" {
9686    pub fn avio_open2(
9687        s: *mut *mut AVIOContext,
9688        url: *const ::std::os::raw::c_char,
9689        flags: ::std::os::raw::c_int,
9690        int_cb: *const AVIOInterruptCB,
9691        options: *mut *mut AVDictionary,
9692    ) -> ::std::os::raw::c_int;
9693}
9694extern "C" {
9695    pub fn avio_close(s: *mut AVIOContext) -> ::std::os::raw::c_int;
9696}
9697extern "C" {
9698    pub fn avio_closep(s: *mut *mut AVIOContext) -> ::std::os::raw::c_int;
9699}
9700extern "C" {
9701    pub fn avio_open_dyn_buf(s: *mut *mut AVIOContext) -> ::std::os::raw::c_int;
9702}
9703extern "C" {
9704    pub fn avio_get_dyn_buf(s: *mut AVIOContext, pbuffer: *mut *mut u8) -> ::std::os::raw::c_int;
9705}
9706extern "C" {
9707    pub fn avio_close_dyn_buf(s: *mut AVIOContext, pbuffer: *mut *mut u8) -> ::std::os::raw::c_int;
9708}
9709extern "C" {
9710    pub fn avio_enum_protocols(
9711        opaque: *mut *mut ::std::os::raw::c_void,
9712        output: ::std::os::raw::c_int,
9713    ) -> *const ::std::os::raw::c_char;
9714}
9715extern "C" {
9716    pub fn avio_pause(h: *mut AVIOContext, pause: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
9717}
9718extern "C" {
9719    pub fn avio_seek_time(
9720        h: *mut AVIOContext,
9721        stream_index: ::std::os::raw::c_int,
9722        timestamp: i64,
9723        flags: ::std::os::raw::c_int,
9724    ) -> i64;
9725}
9726extern "C" {
9727    pub fn avio_read_to_bprint(
9728        h: *mut AVIOContext,
9729        pb: *mut AVBPrint,
9730        max_size: usize,
9731    ) -> ::std::os::raw::c_int;
9732}
9733extern "C" {
9734    pub fn avio_accept(s: *mut AVIOContext, c: *mut *mut AVIOContext) -> ::std::os::raw::c_int;
9735}
9736extern "C" {
9737    pub fn avio_handshake(c: *mut AVIOContext) -> ::std::os::raw::c_int;
9738}
9739extern "C" {
9740    pub fn av_get_packet(
9741        s: *mut AVIOContext,
9742        pkt: *mut AVPacket,
9743        size: ::std::os::raw::c_int,
9744    ) -> ::std::os::raw::c_int;
9745}
9746extern "C" {
9747    pub fn av_append_packet(
9748        s: *mut AVIOContext,
9749        pkt: *mut AVPacket,
9750        size: ::std::os::raw::c_int,
9751    ) -> ::std::os::raw::c_int;
9752}
9753#[repr(C)]
9754#[derive(Debug, Copy, Clone)]
9755pub struct AVCodecTag {
9756    _unused: [u8; 0],
9757}
9758#[repr(C)]
9759#[derive(Debug, Copy, Clone)]
9760pub struct AVProbeData {
9761    pub filename: *const ::std::os::raw::c_char,
9762    pub buf: *mut ::std::os::raw::c_uchar,
9763    pub buf_size: ::std::os::raw::c_int,
9764    pub mime_type: *const ::std::os::raw::c_char,
9765}
9766#[repr(C)]
9767#[derive(Debug, Copy, Clone)]
9768pub struct AVOutputFormat {
9769    pub name: *const ::std::os::raw::c_char,
9770    pub long_name: *const ::std::os::raw::c_char,
9771    pub mime_type: *const ::std::os::raw::c_char,
9772    pub extensions: *const ::std::os::raw::c_char,
9773    pub audio_codec: AVCodecID,
9774    pub video_codec: AVCodecID,
9775    pub subtitle_codec: AVCodecID,
9776    pub flags: ::std::os::raw::c_int,
9777    pub codec_tag: *const *const AVCodecTag,
9778    pub priv_class: *const AVClass,
9779    pub next: *mut AVOutputFormat,
9780    pub priv_data_size: ::std::os::raw::c_int,
9781    pub write_header: ::std::option::Option<
9782        unsafe extern "C" fn(arg1: *mut AVFormatContext) -> ::std::os::raw::c_int,
9783    >,
9784    pub write_packet: ::std::option::Option<
9785        unsafe extern "C" fn(
9786            arg1: *mut AVFormatContext,
9787            pkt: *mut AVPacket,
9788        ) -> ::std::os::raw::c_int,
9789    >,
9790    pub write_trailer: ::std::option::Option<
9791        unsafe extern "C" fn(arg1: *mut AVFormatContext) -> ::std::os::raw::c_int,
9792    >,
9793    pub interleave_packet: ::std::option::Option<
9794        unsafe extern "C" fn(
9795            arg1: *mut AVFormatContext,
9796            out: *mut AVPacket,
9797            in_: *mut AVPacket,
9798            flush: ::std::os::raw::c_int,
9799        ) -> ::std::os::raw::c_int,
9800    >,
9801    pub query_codec: ::std::option::Option<
9802        unsafe extern "C" fn(
9803            id: AVCodecID,
9804            std_compliance: ::std::os::raw::c_int,
9805        ) -> ::std::os::raw::c_int,
9806    >,
9807    pub get_output_timestamp: ::std::option::Option<
9808        unsafe extern "C" fn(
9809            s: *mut AVFormatContext,
9810            stream: ::std::os::raw::c_int,
9811            dts: *mut i64,
9812            wall: *mut i64,
9813        ),
9814    >,
9815    pub control_message: ::std::option::Option<
9816        unsafe extern "C" fn(
9817            s: *mut AVFormatContext,
9818            type_: ::std::os::raw::c_int,
9819            data: *mut ::std::os::raw::c_void,
9820            data_size: usize,
9821        ) -> ::std::os::raw::c_int,
9822    >,
9823    pub write_uncoded_frame: ::std::option::Option<
9824        unsafe extern "C" fn(
9825            arg1: *mut AVFormatContext,
9826            stream_index: ::std::os::raw::c_int,
9827            frame: *mut *mut AVFrame,
9828            flags: ::std::os::raw::c_uint,
9829        ) -> ::std::os::raw::c_int,
9830    >,
9831    pub get_device_list: ::std::option::Option<
9832        unsafe extern "C" fn(
9833            s: *mut AVFormatContext,
9834            device_list: *mut AVDeviceInfoList,
9835        ) -> ::std::os::raw::c_int,
9836    >,
9837    pub create_device_capabilities: ::std::option::Option<
9838        unsafe extern "C" fn(
9839            s: *mut AVFormatContext,
9840            caps: *mut AVDeviceCapabilitiesQuery,
9841        ) -> ::std::os::raw::c_int,
9842    >,
9843    pub free_device_capabilities: ::std::option::Option<
9844        unsafe extern "C" fn(
9845            s: *mut AVFormatContext,
9846            caps: *mut AVDeviceCapabilitiesQuery,
9847        ) -> ::std::os::raw::c_int,
9848    >,
9849    pub data_codec: AVCodecID,
9850    pub init: ::std::option::Option<
9851        unsafe extern "C" fn(arg1: *mut AVFormatContext) -> ::std::os::raw::c_int,
9852    >,
9853    pub deinit: ::std::option::Option<unsafe extern "C" fn(arg1: *mut AVFormatContext)>,
9854    pub check_bitstream: ::std::option::Option<
9855        unsafe extern "C" fn(
9856            arg1: *mut AVFormatContext,
9857            pkt: *const AVPacket,
9858        ) -> ::std::os::raw::c_int,
9859    >,
9860}
9861#[repr(C)]
9862#[derive(Debug, Copy, Clone)]
9863pub struct AVInputFormat {
9864    pub name: *const ::std::os::raw::c_char,
9865    pub long_name: *const ::std::os::raw::c_char,
9866    pub flags: ::std::os::raw::c_int,
9867    pub extensions: *const ::std::os::raw::c_char,
9868    pub codec_tag: *const *const AVCodecTag,
9869    pub priv_class: *const AVClass,
9870    pub mime_type: *const ::std::os::raw::c_char,
9871    pub next: *mut AVInputFormat,
9872    pub raw_codec_id: ::std::os::raw::c_int,
9873    pub priv_data_size: ::std::os::raw::c_int,
9874    pub read_probe: ::std::option::Option<
9875        unsafe extern "C" fn(arg1: *const AVProbeData) -> ::std::os::raw::c_int,
9876    >,
9877    pub read_header: ::std::option::Option<
9878        unsafe extern "C" fn(arg1: *mut AVFormatContext) -> ::std::os::raw::c_int,
9879    >,
9880    pub read_packet: ::std::option::Option<
9881        unsafe extern "C" fn(
9882            arg1: *mut AVFormatContext,
9883            pkt: *mut AVPacket,
9884        ) -> ::std::os::raw::c_int,
9885    >,
9886    pub read_close: ::std::option::Option<
9887        unsafe extern "C" fn(arg1: *mut AVFormatContext) -> ::std::os::raw::c_int,
9888    >,
9889    pub read_seek: ::std::option::Option<
9890        unsafe extern "C" fn(
9891            arg1: *mut AVFormatContext,
9892            stream_index: ::std::os::raw::c_int,
9893            timestamp: i64,
9894            flags: ::std::os::raw::c_int,
9895        ) -> ::std::os::raw::c_int,
9896    >,
9897    pub read_timestamp: ::std::option::Option<
9898        unsafe extern "C" fn(
9899            s: *mut AVFormatContext,
9900            stream_index: ::std::os::raw::c_int,
9901            pos: *mut i64,
9902            pos_limit: i64,
9903        ) -> i64,
9904    >,
9905    pub read_play: ::std::option::Option<
9906        unsafe extern "C" fn(arg1: *mut AVFormatContext) -> ::std::os::raw::c_int,
9907    >,
9908    pub read_pause: ::std::option::Option<
9909        unsafe extern "C" fn(arg1: *mut AVFormatContext) -> ::std::os::raw::c_int,
9910    >,
9911    pub read_seek2: ::std::option::Option<
9912        unsafe extern "C" fn(
9913            s: *mut AVFormatContext,
9914            stream_index: ::std::os::raw::c_int,
9915            min_ts: i64,
9916            ts: i64,
9917            max_ts: i64,
9918            flags: ::std::os::raw::c_int,
9919        ) -> ::std::os::raw::c_int,
9920    >,
9921    pub get_device_list: ::std::option::Option<
9922        unsafe extern "C" fn(
9923            s: *mut AVFormatContext,
9924            device_list: *mut AVDeviceInfoList,
9925        ) -> ::std::os::raw::c_int,
9926    >,
9927    pub create_device_capabilities: ::std::option::Option<
9928        unsafe extern "C" fn(
9929            s: *mut AVFormatContext,
9930            caps: *mut AVDeviceCapabilitiesQuery,
9931        ) -> ::std::os::raw::c_int,
9932    >,
9933    pub free_device_capabilities: ::std::option::Option<
9934        unsafe extern "C" fn(
9935            s: *mut AVFormatContext,
9936            caps: *mut AVDeviceCapabilitiesQuery,
9937        ) -> ::std::os::raw::c_int,
9938    >,
9939}
9940pub const AVStreamParseType_AVSTREAM_PARSE_NONE: AVStreamParseType = 0;
9941pub const AVStreamParseType_AVSTREAM_PARSE_FULL: AVStreamParseType = 1;
9942pub const AVStreamParseType_AVSTREAM_PARSE_HEADERS: AVStreamParseType = 2;
9943pub const AVStreamParseType_AVSTREAM_PARSE_TIMESTAMPS: AVStreamParseType = 3;
9944pub const AVStreamParseType_AVSTREAM_PARSE_FULL_ONCE: AVStreamParseType = 4;
9945pub const AVStreamParseType_AVSTREAM_PARSE_FULL_RAW: AVStreamParseType = 5;
9946pub type AVStreamParseType = u32;
9947#[repr(C)]
9948#[derive(Debug, Copy, Clone)]
9949pub struct AVIndexEntry {
9950    pub pos: i64,
9951    pub timestamp: i64,
9952    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>,
9953    pub min_distance: ::std::os::raw::c_int,
9954}
9955impl AVIndexEntry {
9956    #[inline]
9957    pub fn flags(&self) -> ::std::os::raw::c_int {
9958        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 2u8) as u32) }
9959    }
9960    #[inline]
9961    pub fn set_flags(&mut self, val: ::std::os::raw::c_int) {
9962        unsafe {
9963            let val: u32 = ::std::mem::transmute(val);
9964            self._bitfield_1.set(0usize, 2u8, val as u64)
9965        }
9966    }
9967    #[inline]
9968    pub fn size(&self) -> ::std::os::raw::c_int {
9969        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) }
9970    }
9971    #[inline]
9972    pub fn set_size(&mut self, val: ::std::os::raw::c_int) {
9973        unsafe {
9974            let val: u32 = ::std::mem::transmute(val);
9975            self._bitfield_1.set(2usize, 30u8, val as u64)
9976        }
9977    }
9978    #[inline]
9979    pub fn new_bitfield_1(
9980        flags: ::std::os::raw::c_int,
9981        size: ::std::os::raw::c_int,
9982    ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> {
9983        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> =
9984            Default::default();
9985        __bindgen_bitfield_unit.set(0usize, 2u8, {
9986            let flags: u32 = unsafe { ::std::mem::transmute(flags) };
9987            flags as u64
9988        });
9989        __bindgen_bitfield_unit.set(2usize, 30u8, {
9990            let size: u32 = unsafe { ::std::mem::transmute(size) };
9991            size as u64
9992        });
9993        __bindgen_bitfield_unit
9994    }
9995}
9996#[repr(C)]
9997#[derive(Debug, Copy, Clone)]
9998pub struct AVStreamInternal {
9999    _unused: [u8; 0],
10000}
10001#[repr(C)]
10002#[derive(Debug, Copy, Clone)]
10003pub struct AVStream {
10004    pub index: ::std::os::raw::c_int,
10005    pub id: ::std::os::raw::c_int,
10006    pub codec: *mut AVCodecContext,
10007    pub priv_data: *mut ::std::os::raw::c_void,
10008    pub time_base: AVRational,
10009    pub start_time: i64,
10010    pub duration: i64,
10011    pub nb_frames: i64,
10012    pub disposition: ::std::os::raw::c_int,
10013    pub discard: AVDiscard,
10014    pub sample_aspect_ratio: AVRational,
10015    pub metadata: *mut AVDictionary,
10016    pub avg_frame_rate: AVRational,
10017    pub attached_pic: AVPacket,
10018    pub side_data: *mut AVPacketSideData,
10019    pub nb_side_data: ::std::os::raw::c_int,
10020    pub event_flags: ::std::os::raw::c_int,
10021    pub r_frame_rate: AVRational,
10022    pub recommended_encoder_configuration: *mut ::std::os::raw::c_char,
10023    pub codecpar: *mut AVCodecParameters,
10024    pub info: *mut AVStream__bindgen_ty_1,
10025    pub pts_wrap_bits: ::std::os::raw::c_int,
10026    pub first_dts: i64,
10027    pub cur_dts: i64,
10028    pub last_IP_pts: i64,
10029    pub last_IP_duration: ::std::os::raw::c_int,
10030    pub probe_packets: ::std::os::raw::c_int,
10031    pub codec_info_nb_frames: ::std::os::raw::c_int,
10032    pub need_parsing: AVStreamParseType,
10033    pub parser: *mut AVCodecParserContext,
10034    pub last_in_packet_buffer: *mut AVPacketList,
10035    pub probe_data: AVProbeData,
10036    pub pts_buffer: [i64; 17usize],
10037    pub index_entries: *mut AVIndexEntry,
10038    pub nb_index_entries: ::std::os::raw::c_int,
10039    pub index_entries_allocated_size: ::std::os::raw::c_uint,
10040    pub stream_identifier: ::std::os::raw::c_int,
10041    pub program_num: ::std::os::raw::c_int,
10042    pub pmt_version: ::std::os::raw::c_int,
10043    pub pmt_stream_idx: ::std::os::raw::c_int,
10044    pub interleaver_chunk_size: i64,
10045    pub interleaver_chunk_duration: i64,
10046    pub request_probe: ::std::os::raw::c_int,
10047    pub skip_to_keyframe: ::std::os::raw::c_int,
10048    pub skip_samples: ::std::os::raw::c_int,
10049    pub start_skip_samples: i64,
10050    pub first_discard_sample: i64,
10051    pub last_discard_sample: i64,
10052    pub nb_decoded_frames: ::std::os::raw::c_int,
10053    pub mux_ts_offset: i64,
10054    pub pts_wrap_reference: i64,
10055    pub pts_wrap_behavior: ::std::os::raw::c_int,
10056    pub update_initial_durations_done: ::std::os::raw::c_int,
10057    pub pts_reorder_error: [i64; 17usize],
10058    pub pts_reorder_error_count: [u8; 17usize],
10059    pub last_dts_for_order_check: i64,
10060    pub dts_ordered: u8,
10061    pub dts_misordered: u8,
10062    pub inject_global_side_data: ::std::os::raw::c_int,
10063    pub display_aspect_ratio: AVRational,
10064    pub internal: *mut AVStreamInternal,
10065}
10066#[repr(C)]
10067#[derive(Debug, Copy, Clone)]
10068pub struct AVStream__bindgen_ty_1 {
10069    pub last_dts: i64,
10070    pub duration_gcd: i64,
10071    pub duration_count: ::std::os::raw::c_int,
10072    pub rfps_duration_sum: i64,
10073    pub duration_error: *mut [[f64; 399usize]; 2usize],
10074    pub codec_info_duration: i64,
10075    pub codec_info_duration_fields: i64,
10076    pub frame_delay_evidence: ::std::os::raw::c_int,
10077    pub found_decoder: ::std::os::raw::c_int,
10078    pub last_duration: i64,
10079    pub fps_first_dts: i64,
10080    pub fps_first_dts_idx: ::std::os::raw::c_int,
10081    pub fps_last_dts: i64,
10082    pub fps_last_dts_idx: ::std::os::raw::c_int,
10083}
10084extern "C" {
10085    pub fn av_stream_get_r_frame_rate(s: *const AVStream) -> AVRational;
10086}
10087extern "C" {
10088    pub fn av_stream_set_r_frame_rate(s: *mut AVStream, r: AVRational);
10089}
10090extern "C" {
10091    pub fn av_stream_get_recommended_encoder_configuration(
10092        s: *const AVStream,
10093    ) -> *mut ::std::os::raw::c_char;
10094}
10095extern "C" {
10096    pub fn av_stream_set_recommended_encoder_configuration(
10097        s: *mut AVStream,
10098        configuration: *mut ::std::os::raw::c_char,
10099    );
10100}
10101extern "C" {
10102    pub fn av_stream_get_parser(s: *const AVStream) -> *mut AVCodecParserContext;
10103}
10104extern "C" {
10105    pub fn av_stream_get_end_pts(st: *const AVStream) -> i64;
10106}
10107#[repr(C)]
10108#[derive(Debug, Copy, Clone)]
10109pub struct AVProgram {
10110    pub id: ::std::os::raw::c_int,
10111    pub flags: ::std::os::raw::c_int,
10112    pub discard: AVDiscard,
10113    pub stream_index: *mut ::std::os::raw::c_uint,
10114    pub nb_stream_indexes: ::std::os::raw::c_uint,
10115    pub metadata: *mut AVDictionary,
10116    pub program_num: ::std::os::raw::c_int,
10117    pub pmt_pid: ::std::os::raw::c_int,
10118    pub pcr_pid: ::std::os::raw::c_int,
10119    pub pmt_version: ::std::os::raw::c_int,
10120    pub start_time: i64,
10121    pub end_time: i64,
10122    pub pts_wrap_reference: i64,
10123    pub pts_wrap_behavior: ::std::os::raw::c_int,
10124}
10125#[repr(C)]
10126#[derive(Debug, Copy, Clone)]
10127pub struct AVChapter {
10128    pub id: ::std::os::raw::c_int,
10129    pub time_base: AVRational,
10130    pub start: i64,
10131    pub end: i64,
10132    pub metadata: *mut AVDictionary,
10133}
10134pub type av_format_control_message = ::std::option::Option<
10135    unsafe extern "C" fn(
10136        s: *mut AVFormatContext,
10137        type_: ::std::os::raw::c_int,
10138        data: *mut ::std::os::raw::c_void,
10139        data_size: usize,
10140    ) -> ::std::os::raw::c_int,
10141>;
10142pub type AVOpenCallback = ::std::option::Option<
10143    unsafe extern "C" fn(
10144        s: *mut AVFormatContext,
10145        pb: *mut *mut AVIOContext,
10146        url: *const ::std::os::raw::c_char,
10147        flags: ::std::os::raw::c_int,
10148        int_cb: *const AVIOInterruptCB,
10149        options: *mut *mut AVDictionary,
10150    ) -> ::std::os::raw::c_int,
10151>;
10152pub const AVDurationEstimationMethod_AVFMT_DURATION_FROM_PTS: AVDurationEstimationMethod = 0;
10153pub const AVDurationEstimationMethod_AVFMT_DURATION_FROM_STREAM: AVDurationEstimationMethod = 1;
10154pub const AVDurationEstimationMethod_AVFMT_DURATION_FROM_BITRATE: AVDurationEstimationMethod = 2;
10155pub type AVDurationEstimationMethod = u32;
10156#[repr(C)]
10157#[derive(Debug, Copy, Clone)]
10158pub struct AVFormatInternal {
10159    _unused: [u8; 0],
10160}
10161#[repr(C)]
10162#[derive(Copy, Clone)]
10163pub struct AVFormatContext {
10164    pub av_class: *const AVClass,
10165    pub iformat: *mut AVInputFormat,
10166    pub oformat: *mut AVOutputFormat,
10167    pub priv_data: *mut ::std::os::raw::c_void,
10168    pub pb: *mut AVIOContext,
10169    pub ctx_flags: ::std::os::raw::c_int,
10170    pub nb_streams: ::std::os::raw::c_uint,
10171    pub streams: *mut *mut AVStream,
10172    pub filename: [::std::os::raw::c_char; 1024usize],
10173    pub url: *mut ::std::os::raw::c_char,
10174    pub start_time: i64,
10175    pub duration: i64,
10176    pub bit_rate: i64,
10177    pub packet_size: ::std::os::raw::c_uint,
10178    pub max_delay: ::std::os::raw::c_int,
10179    pub flags: ::std::os::raw::c_int,
10180    pub probesize: i64,
10181    pub max_analyze_duration: i64,
10182    pub key: *const u8,
10183    pub keylen: ::std::os::raw::c_int,
10184    pub nb_programs: ::std::os::raw::c_uint,
10185    pub programs: *mut *mut AVProgram,
10186    pub video_codec_id: AVCodecID,
10187    pub audio_codec_id: AVCodecID,
10188    pub subtitle_codec_id: AVCodecID,
10189    pub max_index_size: ::std::os::raw::c_uint,
10190    pub max_picture_buffer: ::std::os::raw::c_uint,
10191    pub nb_chapters: ::std::os::raw::c_uint,
10192    pub chapters: *mut *mut AVChapter,
10193    pub metadata: *mut AVDictionary,
10194    pub start_time_realtime: i64,
10195    pub fps_probe_size: ::std::os::raw::c_int,
10196    pub error_recognition: ::std::os::raw::c_int,
10197    pub interrupt_callback: AVIOInterruptCB,
10198    pub debug: ::std::os::raw::c_int,
10199    pub max_interleave_delta: i64,
10200    pub strict_std_compliance: ::std::os::raw::c_int,
10201    pub event_flags: ::std::os::raw::c_int,
10202    pub max_ts_probe: ::std::os::raw::c_int,
10203    pub avoid_negative_ts: ::std::os::raw::c_int,
10204    pub ts_id: ::std::os::raw::c_int,
10205    pub audio_preload: ::std::os::raw::c_int,
10206    pub max_chunk_duration: ::std::os::raw::c_int,
10207    pub max_chunk_size: ::std::os::raw::c_int,
10208    pub use_wallclock_as_timestamps: ::std::os::raw::c_int,
10209    pub avio_flags: ::std::os::raw::c_int,
10210    pub duration_estimation_method: AVDurationEstimationMethod,
10211    pub skip_initial_bytes: i64,
10212    pub correct_ts_overflow: ::std::os::raw::c_uint,
10213    pub seek2any: ::std::os::raw::c_int,
10214    pub flush_packets: ::std::os::raw::c_int,
10215    pub probe_score: ::std::os::raw::c_int,
10216    pub format_probesize: ::std::os::raw::c_int,
10217    pub codec_whitelist: *mut ::std::os::raw::c_char,
10218    pub format_whitelist: *mut ::std::os::raw::c_char,
10219    pub internal: *mut AVFormatInternal,
10220    pub io_repositioned: ::std::os::raw::c_int,
10221    pub video_codec: *mut AVCodec,
10222    pub audio_codec: *mut AVCodec,
10223    pub subtitle_codec: *mut AVCodec,
10224    pub data_codec: *mut AVCodec,
10225    pub metadata_header_padding: ::std::os::raw::c_int,
10226    pub opaque: *mut ::std::os::raw::c_void,
10227    pub control_message_cb: av_format_control_message,
10228    pub output_ts_offset: i64,
10229    pub dump_separator: *mut u8,
10230    pub data_codec_id: AVCodecID,
10231    pub open_cb: ::std::option::Option<
10232        unsafe extern "C" fn(
10233            s: *mut AVFormatContext,
10234            p: *mut *mut AVIOContext,
10235            url: *const ::std::os::raw::c_char,
10236            flags: ::std::os::raw::c_int,
10237            int_cb: *const AVIOInterruptCB,
10238            options: *mut *mut AVDictionary,
10239        ) -> ::std::os::raw::c_int,
10240    >,
10241    pub protocol_whitelist: *mut ::std::os::raw::c_char,
10242    pub io_open: ::std::option::Option<
10243        unsafe extern "C" fn(
10244            s: *mut AVFormatContext,
10245            pb: *mut *mut AVIOContext,
10246            url: *const ::std::os::raw::c_char,
10247            flags: ::std::os::raw::c_int,
10248            options: *mut *mut AVDictionary,
10249        ) -> ::std::os::raw::c_int,
10250    >,
10251    pub io_close:
10252        ::std::option::Option<unsafe extern "C" fn(s: *mut AVFormatContext, pb: *mut AVIOContext)>,
10253    pub protocol_blacklist: *mut ::std::os::raw::c_char,
10254    pub max_streams: ::std::os::raw::c_int,
10255    pub skip_estimate_duration_from_pts: ::std::os::raw::c_int,
10256}
10257extern "C" {
10258    pub fn av_format_get_probe_score(s: *const AVFormatContext) -> ::std::os::raw::c_int;
10259}
10260extern "C" {
10261    pub fn av_format_get_video_codec(s: *const AVFormatContext) -> *mut AVCodec;
10262}
10263extern "C" {
10264    pub fn av_format_set_video_codec(s: *mut AVFormatContext, c: *mut AVCodec);
10265}
10266extern "C" {
10267    pub fn av_format_get_audio_codec(s: *const AVFormatContext) -> *mut AVCodec;
10268}
10269extern "C" {
10270    pub fn av_format_set_audio_codec(s: *mut AVFormatContext, c: *mut AVCodec);
10271}
10272extern "C" {
10273    pub fn av_format_get_subtitle_codec(s: *const AVFormatContext) -> *mut AVCodec;
10274}
10275extern "C" {
10276    pub fn av_format_set_subtitle_codec(s: *mut AVFormatContext, c: *mut AVCodec);
10277}
10278extern "C" {
10279    pub fn av_format_get_data_codec(s: *const AVFormatContext) -> *mut AVCodec;
10280}
10281extern "C" {
10282    pub fn av_format_set_data_codec(s: *mut AVFormatContext, c: *mut AVCodec);
10283}
10284extern "C" {
10285    pub fn av_format_get_metadata_header_padding(
10286        s: *const AVFormatContext,
10287    ) -> ::std::os::raw::c_int;
10288}
10289extern "C" {
10290    pub fn av_format_set_metadata_header_padding(s: *mut AVFormatContext, c: ::std::os::raw::c_int);
10291}
10292extern "C" {
10293    pub fn av_format_get_opaque(s: *const AVFormatContext) -> *mut ::std::os::raw::c_void;
10294}
10295extern "C" {
10296    pub fn av_format_set_opaque(s: *mut AVFormatContext, opaque: *mut ::std::os::raw::c_void);
10297}
10298extern "C" {
10299    pub fn av_format_get_control_message_cb(s: *const AVFormatContext)
10300        -> av_format_control_message;
10301}
10302extern "C" {
10303    pub fn av_format_set_control_message_cb(
10304        s: *mut AVFormatContext,
10305        callback: av_format_control_message,
10306    );
10307}
10308extern "C" {
10309    pub fn av_format_get_open_cb(s: *const AVFormatContext) -> AVOpenCallback;
10310}
10311extern "C" {
10312    pub fn av_format_set_open_cb(s: *mut AVFormatContext, callback: AVOpenCallback);
10313}
10314extern "C" {
10315    pub fn av_format_inject_global_side_data(s: *mut AVFormatContext);
10316}
10317extern "C" {
10318    pub fn av_fmt_ctx_get_duration_estimation_method(
10319        ctx: *const AVFormatContext,
10320    ) -> AVDurationEstimationMethod;
10321}
10322#[repr(C)]
10323#[derive(Debug, Copy, Clone)]
10324pub struct AVPacketList {
10325    pub pkt: AVPacket,
10326    pub next: *mut AVPacketList,
10327}
10328extern "C" {
10329    pub fn avformat_version() -> ::std::os::raw::c_uint;
10330}
10331extern "C" {
10332    pub fn avformat_configuration() -> *const ::std::os::raw::c_char;
10333}
10334extern "C" {
10335    pub fn avformat_license() -> *const ::std::os::raw::c_char;
10336}
10337extern "C" {
10338    pub fn av_register_all();
10339}
10340extern "C" {
10341    pub fn av_register_input_format(format: *mut AVInputFormat);
10342}
10343extern "C" {
10344    pub fn av_register_output_format(format: *mut AVOutputFormat);
10345}
10346extern "C" {
10347    pub fn avformat_network_init() -> ::std::os::raw::c_int;
10348}
10349extern "C" {
10350    pub fn avformat_network_deinit() -> ::std::os::raw::c_int;
10351}
10352extern "C" {
10353    pub fn av_iformat_next(f: *const AVInputFormat) -> *mut AVInputFormat;
10354}
10355extern "C" {
10356    pub fn av_oformat_next(f: *const AVOutputFormat) -> *mut AVOutputFormat;
10357}
10358extern "C" {
10359    pub fn av_muxer_iterate(opaque: *mut *mut ::std::os::raw::c_void) -> *const AVOutputFormat;
10360}
10361extern "C" {
10362    pub fn av_demuxer_iterate(opaque: *mut *mut ::std::os::raw::c_void) -> *const AVInputFormat;
10363}
10364extern "C" {
10365    pub fn avformat_alloc_context() -> *mut AVFormatContext;
10366}
10367extern "C" {
10368    pub fn avformat_free_context(s: *mut AVFormatContext);
10369}
10370extern "C" {
10371    pub fn avformat_get_class() -> *const AVClass;
10372}
10373extern "C" {
10374    pub fn avformat_new_stream(s: *mut AVFormatContext, c: *const AVCodec) -> *mut AVStream;
10375}
10376extern "C" {
10377    pub fn av_stream_add_side_data(
10378        st: *mut AVStream,
10379        type_: AVPacketSideDataType,
10380        data: *mut u8,
10381        size: usize,
10382    ) -> ::std::os::raw::c_int;
10383}
10384extern "C" {
10385    pub fn av_stream_new_side_data(
10386        stream: *mut AVStream,
10387        type_: AVPacketSideDataType,
10388        size: ::std::os::raw::c_int,
10389    ) -> *mut u8;
10390}
10391extern "C" {
10392    pub fn av_stream_get_side_data(
10393        stream: *const AVStream,
10394        type_: AVPacketSideDataType,
10395        size: *mut ::std::os::raw::c_int,
10396    ) -> *mut u8;
10397}
10398extern "C" {
10399    pub fn av_new_program(s: *mut AVFormatContext, id: ::std::os::raw::c_int) -> *mut AVProgram;
10400}
10401extern "C" {
10402    pub fn avformat_alloc_output_context2(
10403        ctx: *mut *mut AVFormatContext,
10404        oformat: *mut AVOutputFormat,
10405        format_name: *const ::std::os::raw::c_char,
10406        filename: *const ::std::os::raw::c_char,
10407    ) -> ::std::os::raw::c_int;
10408}
10409extern "C" {
10410    pub fn av_find_input_format(short_name: *const ::std::os::raw::c_char) -> *mut AVInputFormat;
10411}
10412extern "C" {
10413    pub fn av_probe_input_format(
10414        pd: *mut AVProbeData,
10415        is_opened: ::std::os::raw::c_int,
10416    ) -> *mut AVInputFormat;
10417}
10418extern "C" {
10419    pub fn av_probe_input_format2(
10420        pd: *mut AVProbeData,
10421        is_opened: ::std::os::raw::c_int,
10422        score_max: *mut ::std::os::raw::c_int,
10423    ) -> *mut AVInputFormat;
10424}
10425extern "C" {
10426    pub fn av_probe_input_format3(
10427        pd: *mut AVProbeData,
10428        is_opened: ::std::os::raw::c_int,
10429        score_ret: *mut ::std::os::raw::c_int,
10430    ) -> *mut AVInputFormat;
10431}
10432extern "C" {
10433    pub fn av_probe_input_buffer2(
10434        pb: *mut AVIOContext,
10435        fmt: *mut *mut AVInputFormat,
10436        url: *const ::std::os::raw::c_char,
10437        logctx: *mut ::std::os::raw::c_void,
10438        offset: ::std::os::raw::c_uint,
10439        max_probe_size: ::std::os::raw::c_uint,
10440    ) -> ::std::os::raw::c_int;
10441}
10442extern "C" {
10443    pub fn av_probe_input_buffer(
10444        pb: *mut AVIOContext,
10445        fmt: *mut *mut AVInputFormat,
10446        url: *const ::std::os::raw::c_char,
10447        logctx: *mut ::std::os::raw::c_void,
10448        offset: ::std::os::raw::c_uint,
10449        max_probe_size: ::std::os::raw::c_uint,
10450    ) -> ::std::os::raw::c_int;
10451}
10452extern "C" {
10453    pub fn avformat_open_input(
10454        ps: *mut *mut AVFormatContext,
10455        url: *const ::std::os::raw::c_char,
10456        fmt: *mut AVInputFormat,
10457        options: *mut *mut AVDictionary,
10458    ) -> ::std::os::raw::c_int;
10459}
10460extern "C" {
10461    pub fn av_demuxer_open(ic: *mut AVFormatContext) -> ::std::os::raw::c_int;
10462}
10463extern "C" {
10464    pub fn avformat_find_stream_info(
10465        ic: *mut AVFormatContext,
10466        options: *mut *mut AVDictionary,
10467    ) -> ::std::os::raw::c_int;
10468}
10469extern "C" {
10470    pub fn av_find_program_from_stream(
10471        ic: *mut AVFormatContext,
10472        last: *mut AVProgram,
10473        s: ::std::os::raw::c_int,
10474    ) -> *mut AVProgram;
10475}
10476extern "C" {
10477    pub fn av_program_add_stream_index(
10478        ac: *mut AVFormatContext,
10479        progid: ::std::os::raw::c_int,
10480        idx: ::std::os::raw::c_uint,
10481    );
10482}
10483extern "C" {
10484    pub fn av_find_best_stream(
10485        ic: *mut AVFormatContext,
10486        type_: AVMediaType,
10487        wanted_stream_nb: ::std::os::raw::c_int,
10488        related_stream: ::std::os::raw::c_int,
10489        decoder_ret: *mut *mut AVCodec,
10490        flags: ::std::os::raw::c_int,
10491    ) -> ::std::os::raw::c_int;
10492}
10493extern "C" {
10494    pub fn av_read_frame(s: *mut AVFormatContext, pkt: *mut AVPacket) -> ::std::os::raw::c_int;
10495}
10496extern "C" {
10497    pub fn av_seek_frame(
10498        s: *mut AVFormatContext,
10499        stream_index: ::std::os::raw::c_int,
10500        timestamp: i64,
10501        flags: ::std::os::raw::c_int,
10502    ) -> ::std::os::raw::c_int;
10503}
10504extern "C" {
10505    pub fn avformat_seek_file(
10506        s: *mut AVFormatContext,
10507        stream_index: ::std::os::raw::c_int,
10508        min_ts: i64,
10509        ts: i64,
10510        max_ts: i64,
10511        flags: ::std::os::raw::c_int,
10512    ) -> ::std::os::raw::c_int;
10513}
10514extern "C" {
10515    pub fn avformat_flush(s: *mut AVFormatContext) -> ::std::os::raw::c_int;
10516}
10517extern "C" {
10518    pub fn av_read_play(s: *mut AVFormatContext) -> ::std::os::raw::c_int;
10519}
10520extern "C" {
10521    pub fn av_read_pause(s: *mut AVFormatContext) -> ::std::os::raw::c_int;
10522}
10523extern "C" {
10524    pub fn avformat_close_input(s: *mut *mut AVFormatContext);
10525}
10526extern "C" {
10527    pub fn avformat_write_header(
10528        s: *mut AVFormatContext,
10529        options: *mut *mut AVDictionary,
10530    ) -> ::std::os::raw::c_int;
10531}
10532extern "C" {
10533    pub fn avformat_init_output(
10534        s: *mut AVFormatContext,
10535        options: *mut *mut AVDictionary,
10536    ) -> ::std::os::raw::c_int;
10537}
10538extern "C" {
10539    pub fn av_write_frame(s: *mut AVFormatContext, pkt: *mut AVPacket) -> ::std::os::raw::c_int;
10540}
10541extern "C" {
10542    pub fn av_interleaved_write_frame(
10543        s: *mut AVFormatContext,
10544        pkt: *mut AVPacket,
10545    ) -> ::std::os::raw::c_int;
10546}
10547extern "C" {
10548    pub fn av_write_uncoded_frame(
10549        s: *mut AVFormatContext,
10550        stream_index: ::std::os::raw::c_int,
10551        frame: *mut AVFrame,
10552    ) -> ::std::os::raw::c_int;
10553}
10554extern "C" {
10555    pub fn av_interleaved_write_uncoded_frame(
10556        s: *mut AVFormatContext,
10557        stream_index: ::std::os::raw::c_int,
10558        frame: *mut AVFrame,
10559    ) -> ::std::os::raw::c_int;
10560}
10561extern "C" {
10562    pub fn av_write_uncoded_frame_query(
10563        s: *mut AVFormatContext,
10564        stream_index: ::std::os::raw::c_int,
10565    ) -> ::std::os::raw::c_int;
10566}
10567extern "C" {
10568    pub fn av_write_trailer(s: *mut AVFormatContext) -> ::std::os::raw::c_int;
10569}
10570extern "C" {
10571    pub fn av_guess_format(
10572        short_name: *const ::std::os::raw::c_char,
10573        filename: *const ::std::os::raw::c_char,
10574        mime_type: *const ::std::os::raw::c_char,
10575    ) -> *mut AVOutputFormat;
10576}
10577extern "C" {
10578    pub fn av_guess_codec(
10579        fmt: *mut AVOutputFormat,
10580        short_name: *const ::std::os::raw::c_char,
10581        filename: *const ::std::os::raw::c_char,
10582        mime_type: *const ::std::os::raw::c_char,
10583        type_: AVMediaType,
10584    ) -> AVCodecID;
10585}
10586extern "C" {
10587    pub fn av_get_output_timestamp(
10588        s: *mut AVFormatContext,
10589        stream: ::std::os::raw::c_int,
10590        dts: *mut i64,
10591        wall: *mut i64,
10592    ) -> ::std::os::raw::c_int;
10593}
10594extern "C" {
10595    pub fn av_hex_dump(f: *mut FILE, buf: *const u8, size: ::std::os::raw::c_int);
10596}
10597extern "C" {
10598    pub fn av_hex_dump_log(
10599        avcl: *mut ::std::os::raw::c_void,
10600        level: ::std::os::raw::c_int,
10601        buf: *const u8,
10602        size: ::std::os::raw::c_int,
10603    );
10604}
10605extern "C" {
10606    pub fn av_pkt_dump2(
10607        f: *mut FILE,
10608        pkt: *const AVPacket,
10609        dump_payload: ::std::os::raw::c_int,
10610        st: *const AVStream,
10611    );
10612}
10613extern "C" {
10614    pub fn av_pkt_dump_log2(
10615        avcl: *mut ::std::os::raw::c_void,
10616        level: ::std::os::raw::c_int,
10617        pkt: *const AVPacket,
10618        dump_payload: ::std::os::raw::c_int,
10619        st: *const AVStream,
10620    );
10621}
10622extern "C" {
10623    pub fn av_codec_get_id(
10624        tags: *const *const AVCodecTag,
10625        tag: ::std::os::raw::c_uint,
10626    ) -> AVCodecID;
10627}
10628extern "C" {
10629    pub fn av_codec_get_tag(
10630        tags: *const *const AVCodecTag,
10631        id: AVCodecID,
10632    ) -> ::std::os::raw::c_uint;
10633}
10634extern "C" {
10635    pub fn av_codec_get_tag2(
10636        tags: *const *const AVCodecTag,
10637        id: AVCodecID,
10638        tag: *mut ::std::os::raw::c_uint,
10639    ) -> ::std::os::raw::c_int;
10640}
10641extern "C" {
10642    pub fn av_find_default_stream_index(s: *mut AVFormatContext) -> ::std::os::raw::c_int;
10643}
10644extern "C" {
10645    pub fn av_index_search_timestamp(
10646        st: *mut AVStream,
10647        timestamp: i64,
10648        flags: ::std::os::raw::c_int,
10649    ) -> ::std::os::raw::c_int;
10650}
10651extern "C" {
10652    pub fn av_add_index_entry(
10653        st: *mut AVStream,
10654        pos: i64,
10655        timestamp: i64,
10656        size: ::std::os::raw::c_int,
10657        distance: ::std::os::raw::c_int,
10658        flags: ::std::os::raw::c_int,
10659    ) -> ::std::os::raw::c_int;
10660}
10661extern "C" {
10662    pub fn av_url_split(
10663        proto: *mut ::std::os::raw::c_char,
10664        proto_size: ::std::os::raw::c_int,
10665        authorization: *mut ::std::os::raw::c_char,
10666        authorization_size: ::std::os::raw::c_int,
10667        hostname: *mut ::std::os::raw::c_char,
10668        hostname_size: ::std::os::raw::c_int,
10669        port_ptr: *mut ::std::os::raw::c_int,
10670        path: *mut ::std::os::raw::c_char,
10671        path_size: ::std::os::raw::c_int,
10672        url: *const ::std::os::raw::c_char,
10673    );
10674}
10675extern "C" {
10676    pub fn av_dump_format(
10677        ic: *mut AVFormatContext,
10678        index: ::std::os::raw::c_int,
10679        url: *const ::std::os::raw::c_char,
10680        is_output: ::std::os::raw::c_int,
10681    );
10682}
10683extern "C" {
10684    pub fn av_get_frame_filename2(
10685        buf: *mut ::std::os::raw::c_char,
10686        buf_size: ::std::os::raw::c_int,
10687        path: *const ::std::os::raw::c_char,
10688        number: ::std::os::raw::c_int,
10689        flags: ::std::os::raw::c_int,
10690    ) -> ::std::os::raw::c_int;
10691}
10692extern "C" {
10693    pub fn av_get_frame_filename(
10694        buf: *mut ::std::os::raw::c_char,
10695        buf_size: ::std::os::raw::c_int,
10696        path: *const ::std::os::raw::c_char,
10697        number: ::std::os::raw::c_int,
10698    ) -> ::std::os::raw::c_int;
10699}
10700extern "C" {
10701    pub fn av_filename_number_test(
10702        filename: *const ::std::os::raw::c_char,
10703    ) -> ::std::os::raw::c_int;
10704}
10705extern "C" {
10706    pub fn av_sdp_create(
10707        ac: *mut *mut AVFormatContext,
10708        n_files: ::std::os::raw::c_int,
10709        buf: *mut ::std::os::raw::c_char,
10710        size: ::std::os::raw::c_int,
10711    ) -> ::std::os::raw::c_int;
10712}
10713extern "C" {
10714    pub fn av_match_ext(
10715        filename: *const ::std::os::raw::c_char,
10716        extensions: *const ::std::os::raw::c_char,
10717    ) -> ::std::os::raw::c_int;
10718}
10719extern "C" {
10720    pub fn avformat_query_codec(
10721        ofmt: *const AVOutputFormat,
10722        codec_id: AVCodecID,
10723        std_compliance: ::std::os::raw::c_int,
10724    ) -> ::std::os::raw::c_int;
10725}
10726extern "C" {
10727    pub fn avformat_get_riff_video_tags() -> *const AVCodecTag;
10728}
10729extern "C" {
10730    pub fn avformat_get_riff_audio_tags() -> *const AVCodecTag;
10731}
10732extern "C" {
10733    pub fn avformat_get_mov_video_tags() -> *const AVCodecTag;
10734}
10735extern "C" {
10736    pub fn avformat_get_mov_audio_tags() -> *const AVCodecTag;
10737}
10738extern "C" {
10739    pub fn av_guess_sample_aspect_ratio(
10740        format: *mut AVFormatContext,
10741        stream: *mut AVStream,
10742        frame: *mut AVFrame,
10743    ) -> AVRational;
10744}
10745extern "C" {
10746    pub fn av_guess_frame_rate(
10747        ctx: *mut AVFormatContext,
10748        stream: *mut AVStream,
10749        frame: *mut AVFrame,
10750    ) -> AVRational;
10751}
10752extern "C" {
10753    pub fn avformat_match_stream_specifier(
10754        s: *mut AVFormatContext,
10755        st: *mut AVStream,
10756        spec: *const ::std::os::raw::c_char,
10757    ) -> ::std::os::raw::c_int;
10758}
10759extern "C" {
10760    pub fn avformat_queue_attached_pictures(s: *mut AVFormatContext) -> ::std::os::raw::c_int;
10761}
10762extern "C" {
10763    pub fn av_apply_bitstream_filters(
10764        codec: *mut AVCodecContext,
10765        pkt: *mut AVPacket,
10766        bsfc: *mut AVBitStreamFilterContext,
10767    ) -> ::std::os::raw::c_int;
10768}
10769pub const AVTimebaseSource_AVFMT_TBCF_AUTO: AVTimebaseSource = -1;
10770pub const AVTimebaseSource_AVFMT_TBCF_DECODER: AVTimebaseSource = 0;
10771pub const AVTimebaseSource_AVFMT_TBCF_DEMUXER: AVTimebaseSource = 1;
10772pub const AVTimebaseSource_AVFMT_TBCF_R_FRAMERATE: AVTimebaseSource = 2;
10773pub type AVTimebaseSource = i32;
10774extern "C" {
10775    pub fn avformat_transfer_internal_stream_timing_info(
10776        ofmt: *const AVOutputFormat,
10777        ost: *mut AVStream,
10778        ist: *const AVStream,
10779        copy_tb: AVTimebaseSource,
10780    ) -> ::std::os::raw::c_int;
10781}
10782extern "C" {
10783    pub fn av_stream_get_codec_timebase(st: *const AVStream) -> AVRational;
10784}
10785extern "C" {
10786    pub fn avdevice_version() -> ::std::os::raw::c_uint;
10787}
10788extern "C" {
10789    pub fn avdevice_configuration() -> *const ::std::os::raw::c_char;
10790}
10791extern "C" {
10792    pub fn avdevice_license() -> *const ::std::os::raw::c_char;
10793}
10794extern "C" {
10795    pub fn avdevice_register_all();
10796}
10797extern "C" {
10798    pub fn av_input_audio_device_next(d: *mut AVInputFormat) -> *mut AVInputFormat;
10799}
10800extern "C" {
10801    pub fn av_input_video_device_next(d: *mut AVInputFormat) -> *mut AVInputFormat;
10802}
10803extern "C" {
10804    pub fn av_output_audio_device_next(d: *mut AVOutputFormat) -> *mut AVOutputFormat;
10805}
10806extern "C" {
10807    pub fn av_output_video_device_next(d: *mut AVOutputFormat) -> *mut AVOutputFormat;
10808}
10809#[repr(C)]
10810#[derive(Debug, Copy, Clone)]
10811pub struct AVDeviceRect {
10812    pub x: ::std::os::raw::c_int,
10813    pub y: ::std::os::raw::c_int,
10814    pub width: ::std::os::raw::c_int,
10815    pub height: ::std::os::raw::c_int,
10816}
10817pub const AVAppToDevMessageType_AV_APP_TO_DEV_NONE: AVAppToDevMessageType = 1313820229;
10818pub const AVAppToDevMessageType_AV_APP_TO_DEV_WINDOW_SIZE: AVAppToDevMessageType = 1195724621;
10819pub const AVAppToDevMessageType_AV_APP_TO_DEV_WINDOW_REPAINT: AVAppToDevMessageType = 1380274241;
10820pub const AVAppToDevMessageType_AV_APP_TO_DEV_PAUSE: AVAppToDevMessageType = 1346458912;
10821pub const AVAppToDevMessageType_AV_APP_TO_DEV_PLAY: AVAppToDevMessageType = 1347174745;
10822pub const AVAppToDevMessageType_AV_APP_TO_DEV_TOGGLE_PAUSE: AVAppToDevMessageType = 1346458964;
10823pub const AVAppToDevMessageType_AV_APP_TO_DEV_SET_VOLUME: AVAppToDevMessageType = 1398165324;
10824pub const AVAppToDevMessageType_AV_APP_TO_DEV_MUTE: AVAppToDevMessageType = 541939028;
10825pub const AVAppToDevMessageType_AV_APP_TO_DEV_UNMUTE: AVAppToDevMessageType = 1431131476;
10826pub const AVAppToDevMessageType_AV_APP_TO_DEV_TOGGLE_MUTE: AVAppToDevMessageType = 1414354260;
10827pub const AVAppToDevMessageType_AV_APP_TO_DEV_GET_VOLUME: AVAppToDevMessageType = 1196838732;
10828pub const AVAppToDevMessageType_AV_APP_TO_DEV_GET_MUTE: AVAppToDevMessageType = 1196250452;
10829pub type AVAppToDevMessageType = u32;
10830pub const AVDevToAppMessageType_AV_DEV_TO_APP_NONE: AVDevToAppMessageType = 1313820229;
10831pub const AVDevToAppMessageType_AV_DEV_TO_APP_CREATE_WINDOW_BUFFER: AVDevToAppMessageType =
10832    1111708229;
10833pub const AVDevToAppMessageType_AV_DEV_TO_APP_PREPARE_WINDOW_BUFFER: AVDevToAppMessageType =
10834    1112560197;
10835pub const AVDevToAppMessageType_AV_DEV_TO_APP_DISPLAY_WINDOW_BUFFER: AVDevToAppMessageType =
10836    1111771475;
10837pub const AVDevToAppMessageType_AV_DEV_TO_APP_DESTROY_WINDOW_BUFFER: AVDevToAppMessageType =
10838    1111770451;
10839pub const AVDevToAppMessageType_AV_DEV_TO_APP_BUFFER_OVERFLOW: AVDevToAppMessageType = 1112491596;
10840pub const AVDevToAppMessageType_AV_DEV_TO_APP_BUFFER_UNDERFLOW: AVDevToAppMessageType = 1112884812;
10841pub const AVDevToAppMessageType_AV_DEV_TO_APP_BUFFER_READABLE: AVDevToAppMessageType = 1112687648;
10842pub const AVDevToAppMessageType_AV_DEV_TO_APP_BUFFER_WRITABLE: AVDevToAppMessageType = 1113018912;
10843pub const AVDevToAppMessageType_AV_DEV_TO_APP_MUTE_STATE_CHANGED: AVDevToAppMessageType =
10844    1129141588;
10845pub const AVDevToAppMessageType_AV_DEV_TO_APP_VOLUME_LEVEL_CHANGED: AVDevToAppMessageType =
10846    1129729868;
10847pub type AVDevToAppMessageType = u32;
10848extern "C" {
10849    pub fn avdevice_app_to_dev_control_message(
10850        s: *mut AVFormatContext,
10851        type_: AVAppToDevMessageType,
10852        data: *mut ::std::os::raw::c_void,
10853        data_size: usize,
10854    ) -> ::std::os::raw::c_int;
10855}
10856extern "C" {
10857    pub fn avdevice_dev_to_app_control_message(
10858        s: *mut AVFormatContext,
10859        type_: AVDevToAppMessageType,
10860        data: *mut ::std::os::raw::c_void,
10861        data_size: usize,
10862    ) -> ::std::os::raw::c_int;
10863}
10864#[repr(C)]
10865#[derive(Debug, Copy, Clone)]
10866pub struct AVDeviceCapabilitiesQuery {
10867    pub av_class: *const AVClass,
10868    pub device_context: *mut AVFormatContext,
10869    pub codec: AVCodecID,
10870    pub sample_format: AVSampleFormat,
10871    pub pixel_format: AVPixelFormat,
10872    pub sample_rate: ::std::os::raw::c_int,
10873    pub channels: ::std::os::raw::c_int,
10874    pub channel_layout: i64,
10875    pub window_width: ::std::os::raw::c_int,
10876    pub window_height: ::std::os::raw::c_int,
10877    pub frame_width: ::std::os::raw::c_int,
10878    pub frame_height: ::std::os::raw::c_int,
10879    pub fps: AVRational,
10880}
10881extern "C" {
10882    pub static mut av_device_capabilities: [AVOption; 0usize];
10883}
10884extern "C" {
10885    pub fn avdevice_capabilities_create(
10886        caps: *mut *mut AVDeviceCapabilitiesQuery,
10887        s: *mut AVFormatContext,
10888        device_options: *mut *mut AVDictionary,
10889    ) -> ::std::os::raw::c_int;
10890}
10891extern "C" {
10892    pub fn avdevice_capabilities_free(
10893        caps: *mut *mut AVDeviceCapabilitiesQuery,
10894        s: *mut AVFormatContext,
10895    );
10896}
10897#[repr(C)]
10898#[derive(Debug, Copy, Clone)]
10899pub struct AVDeviceInfo {
10900    pub device_name: *mut ::std::os::raw::c_char,
10901    pub device_description: *mut ::std::os::raw::c_char,
10902}
10903#[repr(C)]
10904#[derive(Debug, Copy, Clone)]
10905pub struct AVDeviceInfoList {
10906    pub devices: *mut *mut AVDeviceInfo,
10907    pub nb_devices: ::std::os::raw::c_int,
10908    pub default_device: ::std::os::raw::c_int,
10909}
10910extern "C" {
10911    pub fn avdevice_list_devices(
10912        s: *mut AVFormatContext,
10913        device_list: *mut *mut AVDeviceInfoList,
10914    ) -> ::std::os::raw::c_int;
10915}
10916extern "C" {
10917    pub fn avdevice_free_list_devices(device_list: *mut *mut AVDeviceInfoList);
10918}
10919extern "C" {
10920    pub fn avdevice_list_input_sources(
10921        device: *mut AVInputFormat,
10922        device_name: *const ::std::os::raw::c_char,
10923        device_options: *mut AVDictionary,
10924        device_list: *mut *mut AVDeviceInfoList,
10925    ) -> ::std::os::raw::c_int;
10926}
10927extern "C" {
10928    pub fn avdevice_list_output_sinks(
10929        device: *mut AVOutputFormat,
10930        device_name: *const ::std::os::raw::c_char,
10931        device_options: *mut AVDictionary,
10932        device_list: *mut *mut AVDeviceInfoList,
10933    ) -> ::std::os::raw::c_int;
10934}
10935extern "C" {
10936    pub fn avfilter_version() -> ::std::os::raw::c_uint;
10937}
10938extern "C" {
10939    pub fn avfilter_configuration() -> *const ::std::os::raw::c_char;
10940}
10941extern "C" {
10942    pub fn avfilter_license() -> *const ::std::os::raw::c_char;
10943}
10944#[repr(C)]
10945#[derive(Debug, Copy, Clone)]
10946pub struct AVFilterPad {
10947    _unused: [u8; 0],
10948}
10949#[repr(C)]
10950#[derive(Debug, Copy, Clone)]
10951pub struct AVFilterFormats {
10952    _unused: [u8; 0],
10953}
10954extern "C" {
10955    pub fn avfilter_pad_count(pads: *const AVFilterPad) -> ::std::os::raw::c_int;
10956}
10957extern "C" {
10958    pub fn avfilter_pad_get_name(
10959        pads: *const AVFilterPad,
10960        pad_idx: ::std::os::raw::c_int,
10961    ) -> *const ::std::os::raw::c_char;
10962}
10963extern "C" {
10964    pub fn avfilter_pad_get_type(
10965        pads: *const AVFilterPad,
10966        pad_idx: ::std::os::raw::c_int,
10967    ) -> AVMediaType;
10968}
10969#[repr(C)]
10970#[derive(Debug, Copy, Clone)]
10971pub struct AVFilter {
10972    pub name: *const ::std::os::raw::c_char,
10973    pub description: *const ::std::os::raw::c_char,
10974    pub inputs: *const AVFilterPad,
10975    pub outputs: *const AVFilterPad,
10976    pub priv_class: *const AVClass,
10977    pub flags: ::std::os::raw::c_int,
10978    pub preinit: ::std::option::Option<
10979        unsafe extern "C" fn(ctx: *mut AVFilterContext) -> ::std::os::raw::c_int,
10980    >,
10981    pub init: ::std::option::Option<
10982        unsafe extern "C" fn(ctx: *mut AVFilterContext) -> ::std::os::raw::c_int,
10983    >,
10984    pub init_dict: ::std::option::Option<
10985        unsafe extern "C" fn(
10986            ctx: *mut AVFilterContext,
10987            options: *mut *mut AVDictionary,
10988        ) -> ::std::os::raw::c_int,
10989    >,
10990    pub uninit: ::std::option::Option<unsafe extern "C" fn(ctx: *mut AVFilterContext)>,
10991    pub query_formats: ::std::option::Option<
10992        unsafe extern "C" fn(arg1: *mut AVFilterContext) -> ::std::os::raw::c_int,
10993    >,
10994    pub priv_size: ::std::os::raw::c_int,
10995    pub flags_internal: ::std::os::raw::c_int,
10996    pub next: *mut AVFilter,
10997    pub process_command: ::std::option::Option<
10998        unsafe extern "C" fn(
10999            arg1: *mut AVFilterContext,
11000            cmd: *const ::std::os::raw::c_char,
11001            arg: *const ::std::os::raw::c_char,
11002            res: *mut ::std::os::raw::c_char,
11003            res_len: ::std::os::raw::c_int,
11004            flags: ::std::os::raw::c_int,
11005        ) -> ::std::os::raw::c_int,
11006    >,
11007    pub init_opaque: ::std::option::Option<
11008        unsafe extern "C" fn(
11009            ctx: *mut AVFilterContext,
11010            opaque: *mut ::std::os::raw::c_void,
11011        ) -> ::std::os::raw::c_int,
11012    >,
11013    pub activate: ::std::option::Option<
11014        unsafe extern "C" fn(ctx: *mut AVFilterContext) -> ::std::os::raw::c_int,
11015    >,
11016}
11017#[repr(C)]
11018#[derive(Debug, Copy, Clone)]
11019pub struct AVFilterInternal {
11020    _unused: [u8; 0],
11021}
11022#[repr(C)]
11023#[derive(Debug, Copy, Clone)]
11024pub struct AVFilterContext {
11025    pub av_class: *const AVClass,
11026    pub filter: *const AVFilter,
11027    pub name: *mut ::std::os::raw::c_char,
11028    pub input_pads: *mut AVFilterPad,
11029    pub inputs: *mut *mut AVFilterLink,
11030    pub nb_inputs: ::std::os::raw::c_uint,
11031    pub output_pads: *mut AVFilterPad,
11032    pub outputs: *mut *mut AVFilterLink,
11033    pub nb_outputs: ::std::os::raw::c_uint,
11034    pub priv_: *mut ::std::os::raw::c_void,
11035    pub graph: *mut AVFilterGraph,
11036    pub thread_type: ::std::os::raw::c_int,
11037    pub internal: *mut AVFilterInternal,
11038    pub command_queue: *mut AVFilterCommand,
11039    pub enable_str: *mut ::std::os::raw::c_char,
11040    pub enable: *mut ::std::os::raw::c_void,
11041    pub var_values: *mut f64,
11042    pub is_disabled: ::std::os::raw::c_int,
11043    pub hw_device_ctx: *mut AVBufferRef,
11044    pub nb_threads: ::std::os::raw::c_int,
11045    pub ready: ::std::os::raw::c_uint,
11046    pub extra_hw_frames: ::std::os::raw::c_int,
11047}
11048#[repr(C)]
11049#[derive(Copy, Clone)]
11050pub struct AVFilterLink {
11051    pub src: *mut AVFilterContext,
11052    pub srcpad: *mut AVFilterPad,
11053    pub dst: *mut AVFilterContext,
11054    pub dstpad: *mut AVFilterPad,
11055    pub type_: AVMediaType,
11056    pub w: ::std::os::raw::c_int,
11057    pub h: ::std::os::raw::c_int,
11058    pub sample_aspect_ratio: AVRational,
11059    pub channel_layout: u64,
11060    pub sample_rate: ::std::os::raw::c_int,
11061    pub format: ::std::os::raw::c_int,
11062    pub time_base: AVRational,
11063    pub in_formats: *mut AVFilterFormats,
11064    pub out_formats: *mut AVFilterFormats,
11065    pub in_samplerates: *mut AVFilterFormats,
11066    pub out_samplerates: *mut AVFilterFormats,
11067    pub in_channel_layouts: *mut AVFilterChannelLayouts,
11068    pub out_channel_layouts: *mut AVFilterChannelLayouts,
11069    pub request_samples: ::std::os::raw::c_int,
11070    pub init_state: AVFilterLink__bindgen_ty_1,
11071    pub graph: *mut AVFilterGraph,
11072    pub current_pts: i64,
11073    pub current_pts_us: i64,
11074    pub age_index: ::std::os::raw::c_int,
11075    pub frame_rate: AVRational,
11076    pub partial_buf: *mut AVFrame,
11077    pub partial_buf_size: ::std::os::raw::c_int,
11078    pub min_samples: ::std::os::raw::c_int,
11079    pub max_samples: ::std::os::raw::c_int,
11080    pub channels: ::std::os::raw::c_int,
11081    pub flags: ::std::os::raw::c_uint,
11082    pub frame_count_in: i64,
11083    pub frame_count_out: i64,
11084    pub frame_pool: *mut ::std::os::raw::c_void,
11085    pub frame_wanted_out: ::std::os::raw::c_int,
11086    pub hw_frames_ctx: *mut AVBufferRef,
11087    pub reserved: [::std::os::raw::c_char; 61440usize],
11088}
11089pub const AVFilterLink_AVLINK_UNINIT: AVFilterLink__bindgen_ty_1 = 0;
11090pub const AVFilterLink_AVLINK_STARTINIT: AVFilterLink__bindgen_ty_1 = 1;
11091pub const AVFilterLink_AVLINK_INIT: AVFilterLink__bindgen_ty_1 = 2;
11092pub type AVFilterLink__bindgen_ty_1 = u32;
11093extern "C" {
11094    pub fn avfilter_link(
11095        src: *mut AVFilterContext,
11096        srcpad: ::std::os::raw::c_uint,
11097        dst: *mut AVFilterContext,
11098        dstpad: ::std::os::raw::c_uint,
11099    ) -> ::std::os::raw::c_int;
11100}
11101extern "C" {
11102    pub fn avfilter_link_free(link: *mut *mut AVFilterLink);
11103}
11104extern "C" {
11105    pub fn avfilter_link_get_channels(link: *mut AVFilterLink) -> ::std::os::raw::c_int;
11106}
11107extern "C" {
11108    pub fn avfilter_link_set_closed(link: *mut AVFilterLink, closed: ::std::os::raw::c_int);
11109}
11110extern "C" {
11111    pub fn avfilter_config_links(filter: *mut AVFilterContext) -> ::std::os::raw::c_int;
11112}
11113extern "C" {
11114    pub fn avfilter_process_command(
11115        filter: *mut AVFilterContext,
11116        cmd: *const ::std::os::raw::c_char,
11117        arg: *const ::std::os::raw::c_char,
11118        res: *mut ::std::os::raw::c_char,
11119        res_len: ::std::os::raw::c_int,
11120        flags: ::std::os::raw::c_int,
11121    ) -> ::std::os::raw::c_int;
11122}
11123extern "C" {
11124    pub fn av_filter_iterate(opaque: *mut *mut ::std::os::raw::c_void) -> *const AVFilter;
11125}
11126extern "C" {
11127    pub fn avfilter_register_all();
11128}
11129extern "C" {
11130    pub fn avfilter_register(filter: *mut AVFilter) -> ::std::os::raw::c_int;
11131}
11132extern "C" {
11133    pub fn avfilter_next(prev: *const AVFilter) -> *const AVFilter;
11134}
11135extern "C" {
11136    pub fn avfilter_get_by_name(name: *const ::std::os::raw::c_char) -> *const AVFilter;
11137}
11138extern "C" {
11139    pub fn avfilter_init_str(
11140        ctx: *mut AVFilterContext,
11141        args: *const ::std::os::raw::c_char,
11142    ) -> ::std::os::raw::c_int;
11143}
11144extern "C" {
11145    pub fn avfilter_init_dict(
11146        ctx: *mut AVFilterContext,
11147        options: *mut *mut AVDictionary,
11148    ) -> ::std::os::raw::c_int;
11149}
11150extern "C" {
11151    pub fn avfilter_free(filter: *mut AVFilterContext);
11152}
11153extern "C" {
11154    pub fn avfilter_insert_filter(
11155        link: *mut AVFilterLink,
11156        filt: *mut AVFilterContext,
11157        filt_srcpad_idx: ::std::os::raw::c_uint,
11158        filt_dstpad_idx: ::std::os::raw::c_uint,
11159    ) -> ::std::os::raw::c_int;
11160}
11161extern "C" {
11162    pub fn avfilter_get_class() -> *const AVClass;
11163}
11164#[repr(C)]
11165#[derive(Debug, Copy, Clone)]
11166pub struct AVFilterGraphInternal {
11167    _unused: [u8; 0],
11168}
11169pub type avfilter_action_func = ::std::option::Option<
11170    unsafe extern "C" fn(
11171        ctx: *mut AVFilterContext,
11172        arg: *mut ::std::os::raw::c_void,
11173        jobnr: ::std::os::raw::c_int,
11174        nb_jobs: ::std::os::raw::c_int,
11175    ) -> ::std::os::raw::c_int,
11176>;
11177pub type avfilter_execute_func = ::std::option::Option<
11178    unsafe extern "C" fn(
11179        ctx: *mut AVFilterContext,
11180        func: avfilter_action_func,
11181        arg: *mut ::std::os::raw::c_void,
11182        ret: *mut ::std::os::raw::c_int,
11183        nb_jobs: ::std::os::raw::c_int,
11184    ) -> ::std::os::raw::c_int,
11185>;
11186#[repr(C)]
11187#[derive(Debug, Copy, Clone)]
11188pub struct AVFilterGraph {
11189    pub av_class: *const AVClass,
11190    pub filters: *mut *mut AVFilterContext,
11191    pub nb_filters: ::std::os::raw::c_uint,
11192    pub scale_sws_opts: *mut ::std::os::raw::c_char,
11193    pub resample_lavr_opts: *mut ::std::os::raw::c_char,
11194    pub thread_type: ::std::os::raw::c_int,
11195    pub nb_threads: ::std::os::raw::c_int,
11196    pub internal: *mut AVFilterGraphInternal,
11197    pub opaque: *mut ::std::os::raw::c_void,
11198    pub execute: avfilter_execute_func,
11199    pub aresample_swr_opts: *mut ::std::os::raw::c_char,
11200    pub sink_links: *mut *mut AVFilterLink,
11201    pub sink_links_count: ::std::os::raw::c_int,
11202    pub disable_auto_convert: ::std::os::raw::c_uint,
11203}
11204extern "C" {
11205    pub fn avfilter_graph_alloc() -> *mut AVFilterGraph;
11206}
11207extern "C" {
11208    pub fn avfilter_graph_alloc_filter(
11209        graph: *mut AVFilterGraph,
11210        filter: *const AVFilter,
11211        name: *const ::std::os::raw::c_char,
11212    ) -> *mut AVFilterContext;
11213}
11214extern "C" {
11215    pub fn avfilter_graph_get_filter(
11216        graph: *mut AVFilterGraph,
11217        name: *const ::std::os::raw::c_char,
11218    ) -> *mut AVFilterContext;
11219}
11220extern "C" {
11221    pub fn avfilter_graph_create_filter(
11222        filt_ctx: *mut *mut AVFilterContext,
11223        filt: *const AVFilter,
11224        name: *const ::std::os::raw::c_char,
11225        args: *const ::std::os::raw::c_char,
11226        opaque: *mut ::std::os::raw::c_void,
11227        graph_ctx: *mut AVFilterGraph,
11228    ) -> ::std::os::raw::c_int;
11229}
11230extern "C" {
11231    pub fn avfilter_graph_set_auto_convert(
11232        graph: *mut AVFilterGraph,
11233        flags: ::std::os::raw::c_uint,
11234    );
11235}
11236pub const AVFILTER_AUTO_CONVERT_ALL: _bindgen_ty_6 = 0;
11237pub const AVFILTER_AUTO_CONVERT_NONE: _bindgen_ty_6 = -1;
11238pub type _bindgen_ty_6 = i32;
11239extern "C" {
11240    pub fn avfilter_graph_config(
11241        graphctx: *mut AVFilterGraph,
11242        log_ctx: *mut ::std::os::raw::c_void,
11243    ) -> ::std::os::raw::c_int;
11244}
11245extern "C" {
11246    pub fn avfilter_graph_free(graph: *mut *mut AVFilterGraph);
11247}
11248#[repr(C)]
11249#[derive(Debug, Copy, Clone)]
11250pub struct AVFilterInOut {
11251    pub name: *mut ::std::os::raw::c_char,
11252    pub filter_ctx: *mut AVFilterContext,
11253    pub pad_idx: ::std::os::raw::c_int,
11254    pub next: *mut AVFilterInOut,
11255}
11256extern "C" {
11257    pub fn avfilter_inout_alloc() -> *mut AVFilterInOut;
11258}
11259extern "C" {
11260    pub fn avfilter_inout_free(inout: *mut *mut AVFilterInOut);
11261}
11262extern "C" {
11263    pub fn avfilter_graph_parse(
11264        graph: *mut AVFilterGraph,
11265        filters: *const ::std::os::raw::c_char,
11266        inputs: *mut AVFilterInOut,
11267        outputs: *mut AVFilterInOut,
11268        log_ctx: *mut ::std::os::raw::c_void,
11269    ) -> ::std::os::raw::c_int;
11270}
11271extern "C" {
11272    pub fn avfilter_graph_parse_ptr(
11273        graph: *mut AVFilterGraph,
11274        filters: *const ::std::os::raw::c_char,
11275        inputs: *mut *mut AVFilterInOut,
11276        outputs: *mut *mut AVFilterInOut,
11277        log_ctx: *mut ::std::os::raw::c_void,
11278    ) -> ::std::os::raw::c_int;
11279}
11280extern "C" {
11281    pub fn avfilter_graph_parse2(
11282        graph: *mut AVFilterGraph,
11283        filters: *const ::std::os::raw::c_char,
11284        inputs: *mut *mut AVFilterInOut,
11285        outputs: *mut *mut AVFilterInOut,
11286    ) -> ::std::os::raw::c_int;
11287}
11288extern "C" {
11289    pub fn avfilter_graph_send_command(
11290        graph: *mut AVFilterGraph,
11291        target: *const ::std::os::raw::c_char,
11292        cmd: *const ::std::os::raw::c_char,
11293        arg: *const ::std::os::raw::c_char,
11294        res: *mut ::std::os::raw::c_char,
11295        res_len: ::std::os::raw::c_int,
11296        flags: ::std::os::raw::c_int,
11297    ) -> ::std::os::raw::c_int;
11298}
11299extern "C" {
11300    pub fn avfilter_graph_queue_command(
11301        graph: *mut AVFilterGraph,
11302        target: *const ::std::os::raw::c_char,
11303        cmd: *const ::std::os::raw::c_char,
11304        arg: *const ::std::os::raw::c_char,
11305        flags: ::std::os::raw::c_int,
11306        ts: f64,
11307    ) -> ::std::os::raw::c_int;
11308}
11309extern "C" {
11310    pub fn avfilter_graph_dump(
11311        graph: *mut AVFilterGraph,
11312        options: *const ::std::os::raw::c_char,
11313    ) -> *mut ::std::os::raw::c_char;
11314}
11315extern "C" {
11316    pub fn avfilter_graph_request_oldest(graph: *mut AVFilterGraph) -> ::std::os::raw::c_int;
11317}
11318pub const SwrDitherType_SWR_DITHER_NONE: SwrDitherType = 0;
11319pub const SwrDitherType_SWR_DITHER_RECTANGULAR: SwrDitherType = 1;
11320pub const SwrDitherType_SWR_DITHER_TRIANGULAR: SwrDitherType = 2;
11321pub const SwrDitherType_SWR_DITHER_TRIANGULAR_HIGHPASS: SwrDitherType = 3;
11322pub const SwrDitherType_SWR_DITHER_NS: SwrDitherType = 64;
11323pub const SwrDitherType_SWR_DITHER_NS_LIPSHITZ: SwrDitherType = 65;
11324pub const SwrDitherType_SWR_DITHER_NS_F_WEIGHTED: SwrDitherType = 66;
11325pub const SwrDitherType_SWR_DITHER_NS_MODIFIED_E_WEIGHTED: SwrDitherType = 67;
11326pub const SwrDitherType_SWR_DITHER_NS_IMPROVED_E_WEIGHTED: SwrDitherType = 68;
11327pub const SwrDitherType_SWR_DITHER_NS_SHIBATA: SwrDitherType = 69;
11328pub const SwrDitherType_SWR_DITHER_NS_LOW_SHIBATA: SwrDitherType = 70;
11329pub const SwrDitherType_SWR_DITHER_NS_HIGH_SHIBATA: SwrDitherType = 71;
11330pub const SwrDitherType_SWR_DITHER_NB: SwrDitherType = 72;
11331pub type SwrDitherType = u32;
11332pub const SwrEngine_SWR_ENGINE_SWR: SwrEngine = 0;
11333pub const SwrEngine_SWR_ENGINE_SOXR: SwrEngine = 1;
11334pub const SwrEngine_SWR_ENGINE_NB: SwrEngine = 2;
11335pub type SwrEngine = u32;
11336pub const SwrFilterType_SWR_FILTER_TYPE_CUBIC: SwrFilterType = 0;
11337pub const SwrFilterType_SWR_FILTER_TYPE_BLACKMAN_NUTTALL: SwrFilterType = 1;
11338pub const SwrFilterType_SWR_FILTER_TYPE_KAISER: SwrFilterType = 2;
11339pub type SwrFilterType = u32;
11340#[repr(C)]
11341#[derive(Debug, Copy, Clone)]
11342pub struct SwrContext {
11343    _unused: [u8; 0],
11344}
11345extern "C" {
11346    pub fn swr_get_class() -> *const AVClass;
11347}
11348extern "C" {
11349    pub fn swr_alloc() -> *mut SwrContext;
11350}
11351extern "C" {
11352    pub fn swr_init(s: *mut SwrContext) -> ::std::os::raw::c_int;
11353}
11354extern "C" {
11355    pub fn swr_is_initialized(s: *mut SwrContext) -> ::std::os::raw::c_int;
11356}
11357extern "C" {
11358    pub fn swr_alloc_set_opts(
11359        s: *mut SwrContext,
11360        out_ch_layout: i64,
11361        out_sample_fmt: AVSampleFormat,
11362        out_sample_rate: ::std::os::raw::c_int,
11363        in_ch_layout: i64,
11364        in_sample_fmt: AVSampleFormat,
11365        in_sample_rate: ::std::os::raw::c_int,
11366        log_offset: ::std::os::raw::c_int,
11367        log_ctx: *mut ::std::os::raw::c_void,
11368    ) -> *mut SwrContext;
11369}
11370extern "C" {
11371    pub fn swr_free(s: *mut *mut SwrContext);
11372}
11373extern "C" {
11374    pub fn swr_close(s: *mut SwrContext);
11375}
11376extern "C" {
11377    pub fn swr_convert(
11378        s: *mut SwrContext,
11379        out: *mut *mut u8,
11380        out_count: ::std::os::raw::c_int,
11381        in_: *mut *const u8,
11382        in_count: ::std::os::raw::c_int,
11383    ) -> ::std::os::raw::c_int;
11384}
11385extern "C" {
11386    pub fn swr_next_pts(s: *mut SwrContext, pts: i64) -> i64;
11387}
11388extern "C" {
11389    pub fn swr_set_compensation(
11390        s: *mut SwrContext,
11391        sample_delta: ::std::os::raw::c_int,
11392        compensation_distance: ::std::os::raw::c_int,
11393    ) -> ::std::os::raw::c_int;
11394}
11395extern "C" {
11396    pub fn swr_set_channel_mapping(
11397        s: *mut SwrContext,
11398        channel_map: *const ::std::os::raw::c_int,
11399    ) -> ::std::os::raw::c_int;
11400}
11401extern "C" {
11402    pub fn swr_build_matrix(
11403        in_layout: u64,
11404        out_layout: u64,
11405        center_mix_level: f64,
11406        surround_mix_level: f64,
11407        lfe_mix_level: f64,
11408        rematrix_maxval: f64,
11409        rematrix_volume: f64,
11410        matrix: *mut f64,
11411        stride: ::std::os::raw::c_int,
11412        matrix_encoding: AVMatrixEncoding,
11413        log_ctx: *mut ::std::os::raw::c_void,
11414    ) -> ::std::os::raw::c_int;
11415}
11416extern "C" {
11417    pub fn swr_set_matrix(
11418        s: *mut SwrContext,
11419        matrix: *const f64,
11420        stride: ::std::os::raw::c_int,
11421    ) -> ::std::os::raw::c_int;
11422}
11423extern "C" {
11424    pub fn swr_drop_output(
11425        s: *mut SwrContext,
11426        count: ::std::os::raw::c_int,
11427    ) -> ::std::os::raw::c_int;
11428}
11429extern "C" {
11430    pub fn swr_inject_silence(
11431        s: *mut SwrContext,
11432        count: ::std::os::raw::c_int,
11433    ) -> ::std::os::raw::c_int;
11434}
11435extern "C" {
11436    pub fn swr_get_delay(s: *mut SwrContext, base: i64) -> i64;
11437}
11438extern "C" {
11439    pub fn swr_get_out_samples(
11440        s: *mut SwrContext,
11441        in_samples: ::std::os::raw::c_int,
11442    ) -> ::std::os::raw::c_int;
11443}
11444extern "C" {
11445    pub fn swresample_version() -> ::std::os::raw::c_uint;
11446}
11447extern "C" {
11448    pub fn swresample_configuration() -> *const ::std::os::raw::c_char;
11449}
11450extern "C" {
11451    pub fn swresample_license() -> *const ::std::os::raw::c_char;
11452}
11453extern "C" {
11454    pub fn swr_convert_frame(
11455        swr: *mut SwrContext,
11456        output: *mut AVFrame,
11457        input: *const AVFrame,
11458    ) -> ::std::os::raw::c_int;
11459}
11460extern "C" {
11461    pub fn swr_config_frame(
11462        swr: *mut SwrContext,
11463        out: *const AVFrame,
11464        in_: *const AVFrame,
11465    ) -> ::std::os::raw::c_int;
11466}
11467extern "C" {
11468    pub fn swscale_version() -> ::std::os::raw::c_uint;
11469}
11470extern "C" {
11471    pub fn swscale_configuration() -> *const ::std::os::raw::c_char;
11472}
11473extern "C" {
11474    pub fn swscale_license() -> *const ::std::os::raw::c_char;
11475}
11476extern "C" {
11477    pub fn sws_getCoefficients(colorspace: ::std::os::raw::c_int) -> *const ::std::os::raw::c_int;
11478}
11479#[repr(C)]
11480#[derive(Debug, Copy, Clone)]
11481pub struct SwsVector {
11482    pub coeff: *mut f64,
11483    pub length: ::std::os::raw::c_int,
11484}
11485#[repr(C)]
11486#[derive(Debug, Copy, Clone)]
11487pub struct SwsFilter {
11488    pub lumH: *mut SwsVector,
11489    pub lumV: *mut SwsVector,
11490    pub chrH: *mut SwsVector,
11491    pub chrV: *mut SwsVector,
11492}
11493#[repr(C)]
11494#[derive(Debug, Copy, Clone)]
11495pub struct SwsContext {
11496    _unused: [u8; 0],
11497}
11498extern "C" {
11499    pub fn sws_isSupportedInput(pix_fmt: AVPixelFormat) -> ::std::os::raw::c_int;
11500}
11501extern "C" {
11502    pub fn sws_isSupportedOutput(pix_fmt: AVPixelFormat) -> ::std::os::raw::c_int;
11503}
11504extern "C" {
11505    pub fn sws_isSupportedEndiannessConversion(pix_fmt: AVPixelFormat) -> ::std::os::raw::c_int;
11506}
11507extern "C" {
11508    pub fn sws_alloc_context() -> *mut SwsContext;
11509}
11510extern "C" {
11511    pub fn sws_init_context(
11512        sws_context: *mut SwsContext,
11513        srcFilter: *mut SwsFilter,
11514        dstFilter: *mut SwsFilter,
11515    ) -> ::std::os::raw::c_int;
11516}
11517extern "C" {
11518    pub fn sws_freeContext(swsContext: *mut SwsContext);
11519}
11520extern "C" {
11521    pub fn sws_getContext(
11522        srcW: ::std::os::raw::c_int,
11523        srcH: ::std::os::raw::c_int,
11524        srcFormat: AVPixelFormat,
11525        dstW: ::std::os::raw::c_int,
11526        dstH: ::std::os::raw::c_int,
11527        dstFormat: AVPixelFormat,
11528        flags: ::std::os::raw::c_int,
11529        srcFilter: *mut SwsFilter,
11530        dstFilter: *mut SwsFilter,
11531        param: *const f64,
11532    ) -> *mut SwsContext;
11533}
11534extern "C" {
11535    pub fn sws_scale(
11536        c: *mut SwsContext,
11537        srcSlice: *const *const u8,
11538        srcStride: *const ::std::os::raw::c_int,
11539        srcSliceY: ::std::os::raw::c_int,
11540        srcSliceH: ::std::os::raw::c_int,
11541        dst: *const *mut u8,
11542        dstStride: *const ::std::os::raw::c_int,
11543    ) -> ::std::os::raw::c_int;
11544}
11545extern "C" {
11546    pub fn sws_setColorspaceDetails(
11547        c: *mut SwsContext,
11548        inv_table: *const ::std::os::raw::c_int,
11549        srcRange: ::std::os::raw::c_int,
11550        table: *const ::std::os::raw::c_int,
11551        dstRange: ::std::os::raw::c_int,
11552        brightness: ::std::os::raw::c_int,
11553        contrast: ::std::os::raw::c_int,
11554        saturation: ::std::os::raw::c_int,
11555    ) -> ::std::os::raw::c_int;
11556}
11557extern "C" {
11558    pub fn sws_getColorspaceDetails(
11559        c: *mut SwsContext,
11560        inv_table: *mut *mut ::std::os::raw::c_int,
11561        srcRange: *mut ::std::os::raw::c_int,
11562        table: *mut *mut ::std::os::raw::c_int,
11563        dstRange: *mut ::std::os::raw::c_int,
11564        brightness: *mut ::std::os::raw::c_int,
11565        contrast: *mut ::std::os::raw::c_int,
11566        saturation: *mut ::std::os::raw::c_int,
11567    ) -> ::std::os::raw::c_int;
11568}
11569extern "C" {
11570    pub fn sws_allocVec(length: ::std::os::raw::c_int) -> *mut SwsVector;
11571}
11572extern "C" {
11573    pub fn sws_getGaussianVec(variance: f64, quality: f64) -> *mut SwsVector;
11574}
11575extern "C" {
11576    pub fn sws_scaleVec(a: *mut SwsVector, scalar: f64);
11577}
11578extern "C" {
11579    pub fn sws_normalizeVec(a: *mut SwsVector, height: f64);
11580}
11581extern "C" {
11582    pub fn sws_getConstVec(c: f64, length: ::std::os::raw::c_int) -> *mut SwsVector;
11583}
11584extern "C" {
11585    pub fn sws_getIdentityVec() -> *mut SwsVector;
11586}
11587extern "C" {
11588    pub fn sws_convVec(a: *mut SwsVector, b: *mut SwsVector);
11589}
11590extern "C" {
11591    pub fn sws_addVec(a: *mut SwsVector, b: *mut SwsVector);
11592}
11593extern "C" {
11594    pub fn sws_subVec(a: *mut SwsVector, b: *mut SwsVector);
11595}
11596extern "C" {
11597    pub fn sws_shiftVec(a: *mut SwsVector, shift: ::std::os::raw::c_int);
11598}
11599extern "C" {
11600    pub fn sws_cloneVec(a: *mut SwsVector) -> *mut SwsVector;
11601}
11602extern "C" {
11603    pub fn sws_printVec2(
11604        a: *mut SwsVector,
11605        log_ctx: *mut AVClass,
11606        log_level: ::std::os::raw::c_int,
11607    );
11608}
11609extern "C" {
11610    pub fn sws_freeVec(a: *mut SwsVector);
11611}
11612extern "C" {
11613    pub fn sws_getDefaultFilter(
11614        lumaGBlur: f32,
11615        chromaGBlur: f32,
11616        lumaSharpen: f32,
11617        chromaSharpen: f32,
11618        chromaHShift: f32,
11619        chromaVShift: f32,
11620        verbose: ::std::os::raw::c_int,
11621    ) -> *mut SwsFilter;
11622}
11623extern "C" {
11624    pub fn sws_freeFilter(filter: *mut SwsFilter);
11625}
11626extern "C" {
11627    pub fn sws_getCachedContext(
11628        context: *mut SwsContext,
11629        srcW: ::std::os::raw::c_int,
11630        srcH: ::std::os::raw::c_int,
11631        srcFormat: AVPixelFormat,
11632        dstW: ::std::os::raw::c_int,
11633        dstH: ::std::os::raw::c_int,
11634        dstFormat: AVPixelFormat,
11635        flags: ::std::os::raw::c_int,
11636        srcFilter: *mut SwsFilter,
11637        dstFilter: *mut SwsFilter,
11638        param: *const f64,
11639    ) -> *mut SwsContext;
11640}
11641extern "C" {
11642    pub fn sws_convertPalette8ToPacked32(
11643        src: *const u8,
11644        dst: *mut u8,
11645        num_pixels: ::std::os::raw::c_int,
11646        palette: *const u8,
11647    );
11648}
11649extern "C" {
11650    pub fn sws_convertPalette8ToPacked24(
11651        src: *const u8,
11652        dst: *mut u8,
11653        num_pixels: ::std::os::raw::c_int,
11654        palette: *const u8,
11655    );
11656}
11657extern "C" {
11658    pub fn sws_get_class() -> *const AVClass;
11659}
11660pub type __builtin_va_list = [__va_list_tag; 1usize];
11661#[repr(C)]
11662#[derive(Debug, Copy, Clone)]
11663pub struct __va_list_tag {
11664    pub gp_offset: ::std::os::raw::c_uint,
11665    pub fp_offset: ::std::os::raw::c_uint,
11666    pub overflow_arg_area: *mut ::std::os::raw::c_void,
11667    pub reg_save_area: *mut ::std::os::raw::c_void,
11668}
11669#[repr(C)]
11670#[derive(Debug, Copy, Clone)]
11671pub struct __locale_data {
11672    pub _address: u8,
11673}
11674#[repr(C)]
11675#[derive(Debug, Copy, Clone)]
11676pub struct AVCodecHWConfigInternal {
11677    pub _address: u8,
11678}
11679#[repr(C)]
11680#[derive(Debug, Copy, Clone)]
11681pub struct URLContext {
11682    pub _address: u8,
11683}
11684#[repr(C)]
11685#[derive(Debug, Copy, Clone)]
11686pub struct AVFilterCommand {
11687    pub _address: u8,
11688}
11689#[repr(C)]
11690#[derive(Debug, Copy, Clone)]
11691pub struct AVFilterChannelLayouts {
11692    pub _address: u8,
11693}