1#[link(name = "avformat")] extern {}
4
5#[repr(C)]
6#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
7pub struct __BindgenBitfieldUnit<Storage, Align>
8where
9 Storage: AsRef<[u8]> + AsMut<[u8]>,
10{
11 storage: Storage,
12 align: [Align; 0],
13}
14impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align>
15where
16 Storage: AsRef<[u8]> + AsMut<[u8]>,
17{
18 #[inline]
19 pub fn new(storage: Storage) -> Self {
20 Self { storage, align: [] }
21 }
22 #[inline]
23 pub fn get_bit(&self, index: usize) -> bool {
24 debug_assert!(index / 8 < self.storage.as_ref().len());
25 let byte_index = index / 8;
26 let byte = self.storage.as_ref()[byte_index];
27 let bit_index = if cfg!(target_endian = "big") {
28 7 - (index % 8)
29 } else {
30 index % 8
31 };
32 let mask = 1 << bit_index;
33 byte & mask == mask
34 }
35 #[inline]
36 pub fn set_bit(&mut self, index: usize, val: bool) {
37 debug_assert!(index / 8 < self.storage.as_ref().len());
38 let byte_index = index / 8;
39 let byte = &mut self.storage.as_mut()[byte_index];
40 let bit_index = if cfg!(target_endian = "big") {
41 7 - (index % 8)
42 } else {
43 index % 8
44 };
45 let mask = 1 << bit_index;
46 if val {
47 *byte |= mask;
48 } else {
49 *byte &= !mask;
50 }
51 }
52 #[inline]
53 pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
54 debug_assert!(bit_width <= 64);
55 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
56 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
57 let mut val = 0;
58 for i in 0..(bit_width as usize) {
59 if self.get_bit(i + bit_offset) {
60 let index = if cfg!(target_endian = "big") {
61 bit_width as usize - 1 - i
62 } else {
63 i
64 };
65 val |= 1 << index;
66 }
67 }
68 val
69 }
70 #[inline]
71 pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
72 debug_assert!(bit_width <= 64);
73 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
74 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
75 for i in 0..(bit_width as usize) {
76 let mask = 1 << i;
77 let val_bit_is_set = val & mask == mask;
78 let index = if cfg!(target_endian = "big") {
79 bit_width as usize - 1 - i
80 } else {
81 i
82 };
83 self.set_bit(index + bit_offset, val_bit_is_set);
84 }
85 }
86}
87pub const _TIME_H: u32 = 1;
88pub const _FEATURES_H: u32 = 1;
89pub const _DEFAULT_SOURCE: u32 = 1;
90pub const __USE_ISOC11: u32 = 1;
91pub const __USE_ISOC99: u32 = 1;
92pub const __USE_ISOC95: u32 = 1;
93pub const __USE_POSIX_IMPLICITLY: u32 = 1;
94pub const _POSIX_SOURCE: u32 = 1;
95pub const _POSIX_C_SOURCE: u32 = 200809;
96pub const __USE_POSIX: u32 = 1;
97pub const __USE_POSIX2: u32 = 1;
98pub const __USE_POSIX199309: u32 = 1;
99pub const __USE_POSIX199506: u32 = 1;
100pub const __USE_XOPEN2K: u32 = 1;
101pub const __USE_XOPEN2K8: u32 = 1;
102pub const _ATFILE_SOURCE: u32 = 1;
103pub const __USE_MISC: u32 = 1;
104pub const __USE_ATFILE: u32 = 1;
105pub const __USE_FORTIFY_LEVEL: u32 = 0;
106pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
107pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0;
108pub const _STDC_PREDEF_H: u32 = 1;
109pub const __STDC_IEC_559__: u32 = 1;
110pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
111pub const __STDC_ISO_10646__: u32 = 201706;
112pub const __GNU_LIBRARY__: u32 = 6;
113pub const __GLIBC__: u32 = 2;
114pub const __GLIBC_MINOR__: u32 = 29;
115pub const _SYS_CDEFS_H: u32 = 1;
116pub const __glibc_c99_flexarr_available: u32 = 1;
117pub const __WORDSIZE: u32 = 64;
118pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
119pub const __SYSCALL_WORDSIZE: u32 = 64;
120pub const __HAVE_GENERIC_SELECTION: u32 = 1;
121pub const _BITS_TIME_H: u32 = 1;
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 CLOCK_REALTIME: u32 = 0;
131pub const CLOCK_MONOTONIC: u32 = 1;
132pub const CLOCK_PROCESS_CPUTIME_ID: u32 = 2;
133pub const CLOCK_THREAD_CPUTIME_ID: u32 = 3;
134pub const CLOCK_MONOTONIC_RAW: u32 = 4;
135pub const CLOCK_REALTIME_COARSE: u32 = 5;
136pub const CLOCK_MONOTONIC_COARSE: u32 = 6;
137pub const CLOCK_BOOTTIME: u32 = 7;
138pub const CLOCK_REALTIME_ALARM: u32 = 8;
139pub const CLOCK_BOOTTIME_ALARM: u32 = 9;
140pub const CLOCK_TAI: u32 = 11;
141pub const TIMER_ABSTIME: u32 = 1;
142pub const __clock_t_defined: u32 = 1;
143pub const __time_t_defined: u32 = 1;
144pub const __struct_tm_defined: u32 = 1;
145pub const _STRUCT_TIMESPEC: u32 = 1;
146pub const __clockid_t_defined: u32 = 1;
147pub const __timer_t_defined: u32 = 1;
148pub const __itimerspec_defined: u32 = 1;
149pub const _BITS_TYPES_LOCALE_T_H: u32 = 1;
150pub const _BITS_TYPES___LOCALE_T_H: u32 = 1;
151pub const TIME_UTC: u32 = 1;
152pub const _STDIO_H: u32 = 1;
153pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
154pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
155pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
156pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
157pub const __GNUC_VA_LIST: u32 = 1;
158pub const _____fpos_t_defined: u32 = 1;
159pub const ____mbstate_t_defined: u32 = 1;
160pub const _____fpos64_t_defined: u32 = 1;
161pub const ____FILE_defined: u32 = 1;
162pub const __FILE_defined: u32 = 1;
163pub const __struct_FILE_defined: u32 = 1;
164pub const _IO_EOF_SEEN: u32 = 16;
165pub const _IO_ERR_SEEN: u32 = 32;
166pub const _IO_USER_LOCK: u32 = 32768;
167pub const _IOFBF: u32 = 0;
168pub const _IOLBF: u32 = 1;
169pub const _IONBF: u32 = 2;
170pub const BUFSIZ: u32 = 8192;
171pub const EOF: i32 = -1;
172pub const SEEK_SET: u32 = 0;
173pub const SEEK_CUR: u32 = 1;
174pub const SEEK_END: u32 = 2;
175pub const P_tmpdir: &'static [u8; 5usize] = b"/tmp\0";
176pub const _BITS_STDIO_LIM_H: u32 = 1;
177pub const L_tmpnam: u32 = 20;
178pub const TMP_MAX: u32 = 238328;
179pub const FILENAME_MAX: u32 = 4096;
180pub const L_ctermid: u32 = 9;
181pub const FOPEN_MAX: u32 = 16;
182pub const _ERRNO_H: u32 = 1;
183pub const _BITS_ERRNO_H: u32 = 1;
184pub const EPERM: u32 = 1;
185pub const ENOENT: u32 = 2;
186pub const ESRCH: u32 = 3;
187pub const EINTR: u32 = 4;
188pub const EIO: u32 = 5;
189pub const ENXIO: u32 = 6;
190pub const E2BIG: u32 = 7;
191pub const ENOEXEC: u32 = 8;
192pub const EBADF: u32 = 9;
193pub const ECHILD: u32 = 10;
194pub const EAGAIN: u32 = 11;
195pub const ENOMEM: u32 = 12;
196pub const EACCES: u32 = 13;
197pub const EFAULT: u32 = 14;
198pub const ENOTBLK: u32 = 15;
199pub const EBUSY: u32 = 16;
200pub const EEXIST: u32 = 17;
201pub const EXDEV: u32 = 18;
202pub const ENODEV: u32 = 19;
203pub const ENOTDIR: u32 = 20;
204pub const EISDIR: u32 = 21;
205pub const EINVAL: u32 = 22;
206pub const ENFILE: u32 = 23;
207pub const EMFILE: u32 = 24;
208pub const ENOTTY: u32 = 25;
209pub const ETXTBSY: u32 = 26;
210pub const EFBIG: u32 = 27;
211pub const ENOSPC: u32 = 28;
212pub const ESPIPE: u32 = 29;
213pub const EROFS: u32 = 30;
214pub const EMLINK: u32 = 31;
215pub const EPIPE: u32 = 32;
216pub const EDOM: u32 = 33;
217pub const ERANGE: u32 = 34;
218pub const EDEADLK: u32 = 35;
219pub const ENAMETOOLONG: u32 = 36;
220pub const ENOLCK: u32 = 37;
221pub const ENOSYS: u32 = 38;
222pub const ENOTEMPTY: u32 = 39;
223pub const ELOOP: u32 = 40;
224pub const EWOULDBLOCK: u32 = 11;
225pub const ENOMSG: u32 = 42;
226pub const EIDRM: u32 = 43;
227pub const ECHRNG: u32 = 44;
228pub const EL2NSYNC: u32 = 45;
229pub const EL3HLT: u32 = 46;
230pub const EL3RST: u32 = 47;
231pub const ELNRNG: u32 = 48;
232pub const EUNATCH: u32 = 49;
233pub const ENOCSI: u32 = 50;
234pub const EL2HLT: u32 = 51;
235pub const EBADE: u32 = 52;
236pub const EBADR: u32 = 53;
237pub const EXFULL: u32 = 54;
238pub const ENOANO: u32 = 55;
239pub const EBADRQC: u32 = 56;
240pub const EBADSLT: u32 = 57;
241pub const EDEADLOCK: u32 = 35;
242pub const EBFONT: u32 = 59;
243pub const ENOSTR: u32 = 60;
244pub const ENODATA: u32 = 61;
245pub const ETIME: u32 = 62;
246pub const ENOSR: u32 = 63;
247pub const ENONET: u32 = 64;
248pub const ENOPKG: u32 = 65;
249pub const EREMOTE: u32 = 66;
250pub const ENOLINK: u32 = 67;
251pub const EADV: u32 = 68;
252pub const ESRMNT: u32 = 69;
253pub const ECOMM: u32 = 70;
254pub const EPROTO: u32 = 71;
255pub const EMULTIHOP: u32 = 72;
256pub const EDOTDOT: u32 = 73;
257pub const EBADMSG: u32 = 74;
258pub const EOVERFLOW: u32 = 75;
259pub const ENOTUNIQ: u32 = 76;
260pub const EBADFD: u32 = 77;
261pub const EREMCHG: u32 = 78;
262pub const ELIBACC: u32 = 79;
263pub const ELIBBAD: u32 = 80;
264pub const ELIBSCN: u32 = 81;
265pub const ELIBMAX: u32 = 82;
266pub const ELIBEXEC: u32 = 83;
267pub const EILSEQ: u32 = 84;
268pub const ERESTART: u32 = 85;
269pub const ESTRPIPE: u32 = 86;
270pub const EUSERS: u32 = 87;
271pub const ENOTSOCK: u32 = 88;
272pub const EDESTADDRREQ: u32 = 89;
273pub const EMSGSIZE: u32 = 90;
274pub const EPROTOTYPE: u32 = 91;
275pub const ENOPROTOOPT: u32 = 92;
276pub const EPROTONOSUPPORT: u32 = 93;
277pub const ESOCKTNOSUPPORT: u32 = 94;
278pub const EOPNOTSUPP: u32 = 95;
279pub const EPFNOSUPPORT: u32 = 96;
280pub const EAFNOSUPPORT: u32 = 97;
281pub const EADDRINUSE: u32 = 98;
282pub const EADDRNOTAVAIL: u32 = 99;
283pub const ENETDOWN: u32 = 100;
284pub const ENETUNREACH: u32 = 101;
285pub const ENETRESET: u32 = 102;
286pub const ECONNABORTED: u32 = 103;
287pub const ECONNRESET: u32 = 104;
288pub const ENOBUFS: u32 = 105;
289pub const EISCONN: u32 = 106;
290pub const ENOTCONN: u32 = 107;
291pub const ESHUTDOWN: u32 = 108;
292pub const ETOOMANYREFS: u32 = 109;
293pub const ETIMEDOUT: u32 = 110;
294pub const ECONNREFUSED: u32 = 111;
295pub const EHOSTDOWN: u32 = 112;
296pub const EHOSTUNREACH: u32 = 113;
297pub const EALREADY: u32 = 114;
298pub const EINPROGRESS: u32 = 115;
299pub const ESTALE: u32 = 116;
300pub const EUCLEAN: u32 = 117;
301pub const ENOTNAM: u32 = 118;
302pub const ENAVAIL: u32 = 119;
303pub const EISNAM: u32 = 120;
304pub const EREMOTEIO: u32 = 121;
305pub const EDQUOT: u32 = 122;
306pub const ENOMEDIUM: u32 = 123;
307pub const EMEDIUMTYPE: u32 = 124;
308pub const ECANCELED: u32 = 125;
309pub const ENOKEY: u32 = 126;
310pub const EKEYEXPIRED: u32 = 127;
311pub const EKEYREVOKED: u32 = 128;
312pub const EKEYREJECTED: u32 = 129;
313pub const EOWNERDEAD: u32 = 130;
314pub const ENOTRECOVERABLE: u32 = 131;
315pub const ERFKILL: u32 = 132;
316pub const EHWPOISON: u32 = 133;
317pub const ENOTSUP: u32 = 95;
318pub const _STDINT_H: u32 = 1;
319pub const _BITS_WCHAR_H: u32 = 1;
320pub const _BITS_STDINT_INTN_H: u32 = 1;
321pub const _BITS_STDINT_UINTN_H: u32 = 1;
322pub const INT8_MIN: i32 = -128;
323pub const INT16_MIN: i32 = -32768;
324pub const INT32_MIN: i32 = -2147483648;
325pub const INT8_MAX: u32 = 127;
326pub const INT16_MAX: u32 = 32767;
327pub const INT32_MAX: u32 = 2147483647;
328pub const UINT8_MAX: u32 = 255;
329pub const UINT16_MAX: u32 = 65535;
330pub const UINT32_MAX: u32 = 4294967295;
331pub const INT_LEAST8_MIN: i32 = -128;
332pub const INT_LEAST16_MIN: i32 = -32768;
333pub const INT_LEAST32_MIN: i32 = -2147483648;
334pub const INT_LEAST8_MAX: u32 = 127;
335pub const INT_LEAST16_MAX: u32 = 32767;
336pub const INT_LEAST32_MAX: u32 = 2147483647;
337pub const UINT_LEAST8_MAX: u32 = 255;
338pub const UINT_LEAST16_MAX: u32 = 65535;
339pub const UINT_LEAST32_MAX: u32 = 4294967295;
340pub const INT_FAST8_MIN: i32 = -128;
341pub const INT_FAST16_MIN: i64 = -9223372036854775808;
342pub const INT_FAST32_MIN: i64 = -9223372036854775808;
343pub const INT_FAST8_MAX: u32 = 127;
344pub const INT_FAST16_MAX: u64 = 9223372036854775807;
345pub const INT_FAST32_MAX: u64 = 9223372036854775807;
346pub const UINT_FAST8_MAX: u32 = 255;
347pub const UINT_FAST16_MAX: i32 = -1;
348pub const UINT_FAST32_MAX: i32 = -1;
349pub const INTPTR_MIN: i64 = -9223372036854775808;
350pub const INTPTR_MAX: u64 = 9223372036854775807;
351pub const UINTPTR_MAX: i32 = -1;
352pub const PTRDIFF_MIN: i64 = -9223372036854775808;
353pub const PTRDIFF_MAX: u64 = 9223372036854775807;
354pub const SIG_ATOMIC_MIN: i32 = -2147483648;
355pub const SIG_ATOMIC_MAX: u32 = 2147483647;
356pub const SIZE_MAX: i32 = -1;
357pub const WINT_MIN: u32 = 0;
358pub const WINT_MAX: u32 = 4294967295;
359pub const FF_LAMBDA_SHIFT: u32 = 7;
360pub const FF_LAMBDA_SCALE: u32 = 128;
361pub const FF_QP2LAMBDA: u32 = 118;
362pub const FF_LAMBDA_MAX: u32 = 32767;
363pub const FF_QUALITY_SCALE: u32 = 128;
364pub const AV_TIME_BASE: u32 = 1000000;
365pub const _INTTYPES_H: u32 = 1;
366pub const ____gwchar_t_defined: u32 = 1;
367pub const __PRI64_PREFIX: &'static [u8; 2usize] = b"l\0";
368pub const __PRIPTR_PREFIX: &'static [u8; 2usize] = b"l\0";
369pub const PRId8: &'static [u8; 2usize] = b"d\0";
370pub const PRId16: &'static [u8; 2usize] = b"d\0";
371pub const PRId32: &'static [u8; 2usize] = b"d\0";
372pub const PRId64: &'static [u8; 3usize] = b"ld\0";
373pub const PRIdLEAST8: &'static [u8; 2usize] = b"d\0";
374pub const PRIdLEAST16: &'static [u8; 2usize] = b"d\0";
375pub const PRIdLEAST32: &'static [u8; 2usize] = b"d\0";
376pub const PRIdLEAST64: &'static [u8; 3usize] = b"ld\0";
377pub const PRIdFAST8: &'static [u8; 2usize] = b"d\0";
378pub const PRIdFAST16: &'static [u8; 3usize] = b"ld\0";
379pub const PRIdFAST32: &'static [u8; 3usize] = b"ld\0";
380pub const PRIdFAST64: &'static [u8; 3usize] = b"ld\0";
381pub const PRIi8: &'static [u8; 2usize] = b"i\0";
382pub const PRIi16: &'static [u8; 2usize] = b"i\0";
383pub const PRIi32: &'static [u8; 2usize] = b"i\0";
384pub const PRIi64: &'static [u8; 3usize] = b"li\0";
385pub const PRIiLEAST8: &'static [u8; 2usize] = b"i\0";
386pub const PRIiLEAST16: &'static [u8; 2usize] = b"i\0";
387pub const PRIiLEAST32: &'static [u8; 2usize] = b"i\0";
388pub const PRIiLEAST64: &'static [u8; 3usize] = b"li\0";
389pub const PRIiFAST8: &'static [u8; 2usize] = b"i\0";
390pub const PRIiFAST16: &'static [u8; 3usize] = b"li\0";
391pub const PRIiFAST32: &'static [u8; 3usize] = b"li\0";
392pub const PRIiFAST64: &'static [u8; 3usize] = b"li\0";
393pub const PRIo8: &'static [u8; 2usize] = b"o\0";
394pub const PRIo16: &'static [u8; 2usize] = b"o\0";
395pub const PRIo32: &'static [u8; 2usize] = b"o\0";
396pub const PRIo64: &'static [u8; 3usize] = b"lo\0";
397pub const PRIoLEAST8: &'static [u8; 2usize] = b"o\0";
398pub const PRIoLEAST16: &'static [u8; 2usize] = b"o\0";
399pub const PRIoLEAST32: &'static [u8; 2usize] = b"o\0";
400pub const PRIoLEAST64: &'static [u8; 3usize] = b"lo\0";
401pub const PRIoFAST8: &'static [u8; 2usize] = b"o\0";
402pub const PRIoFAST16: &'static [u8; 3usize] = b"lo\0";
403pub const PRIoFAST32: &'static [u8; 3usize] = b"lo\0";
404pub const PRIoFAST64: &'static [u8; 3usize] = b"lo\0";
405pub const PRIu8: &'static [u8; 2usize] = b"u\0";
406pub const PRIu16: &'static [u8; 2usize] = b"u\0";
407pub const PRIu32: &'static [u8; 2usize] = b"u\0";
408pub const PRIu64: &'static [u8; 3usize] = b"lu\0";
409pub const PRIuLEAST8: &'static [u8; 2usize] = b"u\0";
410pub const PRIuLEAST16: &'static [u8; 2usize] = b"u\0";
411pub const PRIuLEAST32: &'static [u8; 2usize] = b"u\0";
412pub const PRIuLEAST64: &'static [u8; 3usize] = b"lu\0";
413pub const PRIuFAST8: &'static [u8; 2usize] = b"u\0";
414pub const PRIuFAST16: &'static [u8; 3usize] = b"lu\0";
415pub const PRIuFAST32: &'static [u8; 3usize] = b"lu\0";
416pub const PRIuFAST64: &'static [u8; 3usize] = b"lu\0";
417pub const PRIx8: &'static [u8; 2usize] = b"x\0";
418pub const PRIx16: &'static [u8; 2usize] = b"x\0";
419pub const PRIx32: &'static [u8; 2usize] = b"x\0";
420pub const PRIx64: &'static [u8; 3usize] = b"lx\0";
421pub const PRIxLEAST8: &'static [u8; 2usize] = b"x\0";
422pub const PRIxLEAST16: &'static [u8; 2usize] = b"x\0";
423pub const PRIxLEAST32: &'static [u8; 2usize] = b"x\0";
424pub const PRIxLEAST64: &'static [u8; 3usize] = b"lx\0";
425pub const PRIxFAST8: &'static [u8; 2usize] = b"x\0";
426pub const PRIxFAST16: &'static [u8; 3usize] = b"lx\0";
427pub const PRIxFAST32: &'static [u8; 3usize] = b"lx\0";
428pub const PRIxFAST64: &'static [u8; 3usize] = b"lx\0";
429pub const PRIX8: &'static [u8; 2usize] = b"X\0";
430pub const PRIX16: &'static [u8; 2usize] = b"X\0";
431pub const PRIX32: &'static [u8; 2usize] = b"X\0";
432pub const PRIX64: &'static [u8; 3usize] = b"lX\0";
433pub const PRIXLEAST8: &'static [u8; 2usize] = b"X\0";
434pub const PRIXLEAST16: &'static [u8; 2usize] = b"X\0";
435pub const PRIXLEAST32: &'static [u8; 2usize] = b"X\0";
436pub const PRIXLEAST64: &'static [u8; 3usize] = b"lX\0";
437pub const PRIXFAST8: &'static [u8; 2usize] = b"X\0";
438pub const PRIXFAST16: &'static [u8; 3usize] = b"lX\0";
439pub const PRIXFAST32: &'static [u8; 3usize] = b"lX\0";
440pub const PRIXFAST64: &'static [u8; 3usize] = b"lX\0";
441pub const PRIdMAX: &'static [u8; 3usize] = b"ld\0";
442pub const PRIiMAX: &'static [u8; 3usize] = b"li\0";
443pub const PRIoMAX: &'static [u8; 3usize] = b"lo\0";
444pub const PRIuMAX: &'static [u8; 3usize] = b"lu\0";
445pub const PRIxMAX: &'static [u8; 3usize] = b"lx\0";
446pub const PRIXMAX: &'static [u8; 3usize] = b"lX\0";
447pub const PRIdPTR: &'static [u8; 3usize] = b"ld\0";
448pub const PRIiPTR: &'static [u8; 3usize] = b"li\0";
449pub const PRIoPTR: &'static [u8; 3usize] = b"lo\0";
450pub const PRIuPTR: &'static [u8; 3usize] = b"lu\0";
451pub const PRIxPTR: &'static [u8; 3usize] = b"lx\0";
452pub const PRIXPTR: &'static [u8; 3usize] = b"lX\0";
453pub const SCNd8: &'static [u8; 4usize] = b"hhd\0";
454pub const SCNd16: &'static [u8; 3usize] = b"hd\0";
455pub const SCNd32: &'static [u8; 2usize] = b"d\0";
456pub const SCNd64: &'static [u8; 3usize] = b"ld\0";
457pub const SCNdLEAST8: &'static [u8; 4usize] = b"hhd\0";
458pub const SCNdLEAST16: &'static [u8; 3usize] = b"hd\0";
459pub const SCNdLEAST32: &'static [u8; 2usize] = b"d\0";
460pub const SCNdLEAST64: &'static [u8; 3usize] = b"ld\0";
461pub const SCNdFAST8: &'static [u8; 4usize] = b"hhd\0";
462pub const SCNdFAST16: &'static [u8; 3usize] = b"ld\0";
463pub const SCNdFAST32: &'static [u8; 3usize] = b"ld\0";
464pub const SCNdFAST64: &'static [u8; 3usize] = b"ld\0";
465pub const SCNi8: &'static [u8; 4usize] = b"hhi\0";
466pub const SCNi16: &'static [u8; 3usize] = b"hi\0";
467pub const SCNi32: &'static [u8; 2usize] = b"i\0";
468pub const SCNi64: &'static [u8; 3usize] = b"li\0";
469pub const SCNiLEAST8: &'static [u8; 4usize] = b"hhi\0";
470pub const SCNiLEAST16: &'static [u8; 3usize] = b"hi\0";
471pub const SCNiLEAST32: &'static [u8; 2usize] = b"i\0";
472pub const SCNiLEAST64: &'static [u8; 3usize] = b"li\0";
473pub const SCNiFAST8: &'static [u8; 4usize] = b"hhi\0";
474pub const SCNiFAST16: &'static [u8; 3usize] = b"li\0";
475pub const SCNiFAST32: &'static [u8; 3usize] = b"li\0";
476pub const SCNiFAST64: &'static [u8; 3usize] = b"li\0";
477pub const SCNu8: &'static [u8; 4usize] = b"hhu\0";
478pub const SCNu16: &'static [u8; 3usize] = b"hu\0";
479pub const SCNu32: &'static [u8; 2usize] = b"u\0";
480pub const SCNu64: &'static [u8; 3usize] = b"lu\0";
481pub const SCNuLEAST8: &'static [u8; 4usize] = b"hhu\0";
482pub const SCNuLEAST16: &'static [u8; 3usize] = b"hu\0";
483pub const SCNuLEAST32: &'static [u8; 2usize] = b"u\0";
484pub const SCNuLEAST64: &'static [u8; 3usize] = b"lu\0";
485pub const SCNuFAST8: &'static [u8; 4usize] = b"hhu\0";
486pub const SCNuFAST16: &'static [u8; 3usize] = b"lu\0";
487pub const SCNuFAST32: &'static [u8; 3usize] = b"lu\0";
488pub const SCNuFAST64: &'static [u8; 3usize] = b"lu\0";
489pub const SCNo8: &'static [u8; 4usize] = b"hho\0";
490pub const SCNo16: &'static [u8; 3usize] = b"ho\0";
491pub const SCNo32: &'static [u8; 2usize] = b"o\0";
492pub const SCNo64: &'static [u8; 3usize] = b"lo\0";
493pub const SCNoLEAST8: &'static [u8; 4usize] = b"hho\0";
494pub const SCNoLEAST16: &'static [u8; 3usize] = b"ho\0";
495pub const SCNoLEAST32: &'static [u8; 2usize] = b"o\0";
496pub const SCNoLEAST64: &'static [u8; 3usize] = b"lo\0";
497pub const SCNoFAST8: &'static [u8; 4usize] = b"hho\0";
498pub const SCNoFAST16: &'static [u8; 3usize] = b"lo\0";
499pub const SCNoFAST32: &'static [u8; 3usize] = b"lo\0";
500pub const SCNoFAST64: &'static [u8; 3usize] = b"lo\0";
501pub const SCNx8: &'static [u8; 4usize] = b"hhx\0";
502pub const SCNx16: &'static [u8; 3usize] = b"hx\0";
503pub const SCNx32: &'static [u8; 2usize] = b"x\0";
504pub const SCNx64: &'static [u8; 3usize] = b"lx\0";
505pub const SCNxLEAST8: &'static [u8; 4usize] = b"hhx\0";
506pub const SCNxLEAST16: &'static [u8; 3usize] = b"hx\0";
507pub const SCNxLEAST32: &'static [u8; 2usize] = b"x\0";
508pub const SCNxLEAST64: &'static [u8; 3usize] = b"lx\0";
509pub const SCNxFAST8: &'static [u8; 4usize] = b"hhx\0";
510pub const SCNxFAST16: &'static [u8; 3usize] = b"lx\0";
511pub const SCNxFAST32: &'static [u8; 3usize] = b"lx\0";
512pub const SCNxFAST64: &'static [u8; 3usize] = b"lx\0";
513pub const SCNdMAX: &'static [u8; 3usize] = b"ld\0";
514pub const SCNiMAX: &'static [u8; 3usize] = b"li\0";
515pub const SCNoMAX: &'static [u8; 3usize] = b"lo\0";
516pub const SCNuMAX: &'static [u8; 3usize] = b"lu\0";
517pub const SCNxMAX: &'static [u8; 3usize] = b"lx\0";
518pub const SCNdPTR: &'static [u8; 3usize] = b"ld\0";
519pub const SCNiPTR: &'static [u8; 3usize] = b"li\0";
520pub const SCNoPTR: &'static [u8; 3usize] = b"lo\0";
521pub const SCNuPTR: &'static [u8; 3usize] = b"lu\0";
522pub const SCNxPTR: &'static [u8; 3usize] = b"lx\0";
523pub const _LIBC_LIMITS_H_: u32 = 1;
524pub const MB_LEN_MAX: u32 = 16;
525pub const _BITS_POSIX1_LIM_H: u32 = 1;
526pub const _POSIX_AIO_LISTIO_MAX: u32 = 2;
527pub const _POSIX_AIO_MAX: u32 = 1;
528pub const _POSIX_ARG_MAX: u32 = 4096;
529pub const _POSIX_CHILD_MAX: u32 = 25;
530pub const _POSIX_DELAYTIMER_MAX: u32 = 32;
531pub const _POSIX_HOST_NAME_MAX: u32 = 255;
532pub const _POSIX_LINK_MAX: u32 = 8;
533pub const _POSIX_LOGIN_NAME_MAX: u32 = 9;
534pub const _POSIX_MAX_CANON: u32 = 255;
535pub const _POSIX_MAX_INPUT: u32 = 255;
536pub const _POSIX_MQ_OPEN_MAX: u32 = 8;
537pub const _POSIX_MQ_PRIO_MAX: u32 = 32;
538pub const _POSIX_NAME_MAX: u32 = 14;
539pub const _POSIX_NGROUPS_MAX: u32 = 8;
540pub const _POSIX_OPEN_MAX: u32 = 20;
541pub const _POSIX_PATH_MAX: u32 = 256;
542pub const _POSIX_PIPE_BUF: u32 = 512;
543pub const _POSIX_RE_DUP_MAX: u32 = 255;
544pub const _POSIX_RTSIG_MAX: u32 = 8;
545pub const _POSIX_SEM_NSEMS_MAX: u32 = 256;
546pub const _POSIX_SEM_VALUE_MAX: u32 = 32767;
547pub const _POSIX_SIGQUEUE_MAX: u32 = 32;
548pub const _POSIX_SSIZE_MAX: u32 = 32767;
549pub const _POSIX_STREAM_MAX: u32 = 8;
550pub const _POSIX_SYMLINK_MAX: u32 = 255;
551pub const _POSIX_SYMLOOP_MAX: u32 = 8;
552pub const _POSIX_TIMER_MAX: u32 = 32;
553pub const _POSIX_TTY_NAME_MAX: u32 = 9;
554pub const _POSIX_TZNAME_MAX: u32 = 6;
555pub const _POSIX_CLOCKRES_MIN: u32 = 20000000;
556pub const NR_OPEN: u32 = 1024;
557pub const NGROUPS_MAX: u32 = 65536;
558pub const ARG_MAX: u32 = 131072;
559pub const LINK_MAX: u32 = 127;
560pub const MAX_CANON: u32 = 255;
561pub const MAX_INPUT: u32 = 255;
562pub const NAME_MAX: u32 = 255;
563pub const PATH_MAX: u32 = 4096;
564pub const PIPE_BUF: u32 = 4096;
565pub const XATTR_NAME_MAX: u32 = 255;
566pub const XATTR_SIZE_MAX: u32 = 65536;
567pub const XATTR_LIST_MAX: u32 = 65536;
568pub const RTSIG_MAX: u32 = 32;
569pub const _POSIX_THREAD_KEYS_MAX: u32 = 128;
570pub const PTHREAD_KEYS_MAX: u32 = 1024;
571pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
572pub const PTHREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
573pub const _POSIX_THREAD_THREADS_MAX: u32 = 64;
574pub const AIO_PRIO_DELTA_MAX: u32 = 20;
575pub const PTHREAD_STACK_MIN: u32 = 16384;
576pub const DELAYTIMER_MAX: u32 = 2147483647;
577pub const TTY_NAME_MAX: u32 = 32;
578pub const LOGIN_NAME_MAX: u32 = 256;
579pub const HOST_NAME_MAX: u32 = 64;
580pub const MQ_PRIO_MAX: u32 = 32768;
581pub const SEM_VALUE_MAX: u32 = 2147483647;
582pub const _BITS_POSIX2_LIM_H: u32 = 1;
583pub const _POSIX2_BC_BASE_MAX: u32 = 99;
584pub const _POSIX2_BC_DIM_MAX: u32 = 2048;
585pub const _POSIX2_BC_SCALE_MAX: u32 = 99;
586pub const _POSIX2_BC_STRING_MAX: u32 = 1000;
587pub const _POSIX2_COLL_WEIGHTS_MAX: u32 = 2;
588pub const _POSIX2_EXPR_NEST_MAX: u32 = 32;
589pub const _POSIX2_LINE_MAX: u32 = 2048;
590pub const _POSIX2_RE_DUP_MAX: u32 = 255;
591pub const _POSIX2_CHARCLASS_NAME_MAX: u32 = 14;
592pub const BC_BASE_MAX: u32 = 99;
593pub const BC_DIM_MAX: u32 = 2048;
594pub const BC_SCALE_MAX: u32 = 99;
595pub const BC_STRING_MAX: u32 = 1000;
596pub const COLL_WEIGHTS_MAX: u32 = 255;
597pub const EXPR_NEST_MAX: u32 = 32;
598pub const LINE_MAX: u32 = 2048;
599pub const CHARCLASS_NAME_MAX: u32 = 2048;
600pub const RE_DUP_MAX: u32 = 32767;
601pub const _MATH_H: u32 = 1;
602pub const _BITS_LIBM_SIMD_DECL_STUBS_H: u32 = 1;
603pub const __HAVE_FLOAT128: u32 = 0;
604pub const __HAVE_DISTINCT_FLOAT128: u32 = 0;
605pub const __HAVE_FLOAT64X: u32 = 1;
606pub const __HAVE_FLOAT64X_LONG_DOUBLE: u32 = 1;
607pub const __HAVE_FLOAT16: u32 = 0;
608pub const __HAVE_FLOAT32: u32 = 1;
609pub const __HAVE_FLOAT64: u32 = 1;
610pub const __HAVE_FLOAT32X: u32 = 1;
611pub const __HAVE_FLOAT128X: u32 = 0;
612pub const __HAVE_DISTINCT_FLOAT16: u32 = 0;
613pub const __HAVE_DISTINCT_FLOAT32: u32 = 0;
614pub const __HAVE_DISTINCT_FLOAT64: u32 = 0;
615pub const __HAVE_DISTINCT_FLOAT32X: u32 = 0;
616pub const __HAVE_DISTINCT_FLOAT64X: u32 = 0;
617pub const __HAVE_DISTINCT_FLOAT128X: u32 = 0;
618pub const __HAVE_FLOATN_NOT_TYPEDEF: u32 = 0;
619pub const __FP_LOGB0_IS_MIN: u32 = 1;
620pub const __FP_LOGBNAN_IS_MIN: u32 = 1;
621pub const FP_ILOGB0: i32 = -2147483648;
622pub const FP_ILOGBNAN: i32 = -2147483648;
623pub const __MATH_DECLARING_DOUBLE: u32 = 1;
624pub const __MATH_DECLARING_FLOATN: u32 = 0;
625pub const __MATH_DECLARE_LDOUBLE: u32 = 1;
626pub const FP_NAN: u32 = 0;
627pub const FP_INFINITE: u32 = 1;
628pub const FP_ZERO: u32 = 2;
629pub const FP_SUBNORMAL: u32 = 3;
630pub const FP_NORMAL: u32 = 4;
631pub const MATH_ERRNO: u32 = 1;
632pub const MATH_ERREXCEPT: u32 = 2;
633pub const math_errhandling: u32 = 3;
634pub const M_E: f64 = 2.718281828459045;
635pub const M_LOG2E: f64 = 1.4426950408889634;
636pub const M_LOG10E: f64 = 0.4342944819032518;
637pub const M_LN2: f64 = 0.6931471805599453;
638pub const M_LN10: f64 = 2.302585092994046;
639pub const M_PI: f64 = 3.141592653589793;
640pub const M_PI_2: f64 = 1.5707963267948966;
641pub const M_PI_4: f64 = 0.7853981633974483;
642pub const M_1_PI: f64 = 0.3183098861837907;
643pub const M_2_PI: f64 = 0.6366197723675814;
644pub const M_2_SQRTPI: f64 = 1.1283791670955126;
645pub const M_SQRT2: f64 = 1.4142135623730951;
646pub const M_SQRT1_2: f64 = 0.7071067811865476;
647pub const _STDLIB_H: u32 = 1;
648pub const WNOHANG: u32 = 1;
649pub const WUNTRACED: u32 = 2;
650pub const WSTOPPED: u32 = 2;
651pub const WEXITED: u32 = 4;
652pub const WCONTINUED: u32 = 8;
653pub const WNOWAIT: u32 = 16777216;
654pub const __WNOTHREAD: u32 = 536870912;
655pub const __WALL: u32 = 1073741824;
656pub const __WCLONE: u32 = 2147483648;
657pub const __W_CONTINUED: u32 = 65535;
658pub const __WCOREFLAG: u32 = 128;
659pub const __ldiv_t_defined: u32 = 1;
660pub const __lldiv_t_defined: u32 = 1;
661pub const RAND_MAX: u32 = 2147483647;
662pub const EXIT_FAILURE: u32 = 1;
663pub const EXIT_SUCCESS: u32 = 0;
664pub const _SYS_TYPES_H: u32 = 1;
665pub const __BIT_TYPES_DEFINED__: u32 = 1;
666pub const _ENDIAN_H: u32 = 1;
667pub const __LITTLE_ENDIAN: u32 = 1234;
668pub const __BIG_ENDIAN: u32 = 4321;
669pub const __PDP_ENDIAN: u32 = 3412;
670pub const __BYTE_ORDER: u32 = 1234;
671pub const __FLOAT_WORD_ORDER: u32 = 1234;
672pub const LITTLE_ENDIAN: u32 = 1234;
673pub const BIG_ENDIAN: u32 = 4321;
674pub const PDP_ENDIAN: u32 = 3412;
675pub const BYTE_ORDER: u32 = 1234;
676pub const _BITS_BYTESWAP_H: u32 = 1;
677pub const _BITS_UINTN_IDENTITY_H: u32 = 1;
678pub const _SYS_SELECT_H: u32 = 1;
679pub const __FD_ZERO_STOS: &'static [u8; 6usize] = b"stosq\0";
680pub const __sigset_t_defined: u32 = 1;
681pub const __timeval_defined: u32 = 1;
682pub const FD_SETSIZE: u32 = 1024;
683pub const _BITS_PTHREADTYPES_COMMON_H: u32 = 1;
684pub const _THREAD_SHARED_TYPES_H: u32 = 1;
685pub const _BITS_PTHREADTYPES_ARCH_H: u32 = 1;
686pub const __SIZEOF_PTHREAD_MUTEX_T: u32 = 40;
687pub const __SIZEOF_PTHREAD_ATTR_T: u32 = 56;
688pub const __SIZEOF_PTHREAD_RWLOCK_T: u32 = 56;
689pub const __SIZEOF_PTHREAD_BARRIER_T: u32 = 32;
690pub const __SIZEOF_PTHREAD_MUTEXATTR_T: u32 = 4;
691pub const __SIZEOF_PTHREAD_COND_T: u32 = 48;
692pub const __SIZEOF_PTHREAD_CONDATTR_T: u32 = 4;
693pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: u32 = 8;
694pub const __SIZEOF_PTHREAD_BARRIERATTR_T: u32 = 4;
695pub const __PTHREAD_MUTEX_LOCK_ELISION: u32 = 1;
696pub const __PTHREAD_MUTEX_NUSERS_AFTER_KIND: u32 = 0;
697pub const __PTHREAD_MUTEX_USE_UNION: u32 = 0;
698pub const __PTHREAD_RWLOCK_INT_FLAGS_SHARED: u32 = 1;
699pub const __PTHREAD_MUTEX_HAVE_PREV: u32 = 1;
700pub const __have_pthread_attr_t: u32 = 1;
701pub const _ALLOCA_H: u32 = 1;
702pub const _STRING_H: u32 = 1;
703pub const _STRINGS_H: u32 = 1;
704pub const LIBAVUTIL_VERSION_MAJOR: u32 = 56;
705pub const LIBAVUTIL_VERSION_MINOR: u32 = 22;
706pub const LIBAVUTIL_VERSION_MICRO: u32 = 100;
707pub const AV_HAVE_BIGENDIAN: u32 = 0;
708pub const AV_HAVE_FAST_UNALIGNED: u32 = 1;
709pub const AVERROR_EXPERIMENTAL: i32 = -733130664;
710pub const AVERROR_INPUT_CHANGED: i32 = -1668179713;
711pub const AVERROR_OUTPUT_CHANGED: i32 = -1668179714;
712pub const AV_ERROR_MAX_STRING_SIZE: u32 = 64;
713pub const M_LOG2_10: f64 = 3.321928094887362;
714pub const M_PHI: f64 = 1.618033988749895;
715pub const AV_LOG_QUIET: i32 = -8;
716pub const AV_LOG_PANIC: u32 = 0;
717pub const AV_LOG_FATAL: u32 = 8;
718pub const AV_LOG_ERROR: u32 = 16;
719pub const AV_LOG_WARNING: u32 = 24;
720pub const AV_LOG_INFO: u32 = 32;
721pub const AV_LOG_VERBOSE: u32 = 40;
722pub const AV_LOG_DEBUG: u32 = 48;
723pub const AV_LOG_TRACE: u32 = 56;
724pub const AV_LOG_MAX_OFFSET: u32 = 64;
725pub const AV_LOG_SKIP_REPEATED: u32 = 1;
726pub const AV_LOG_PRINT_LEVEL: u32 = 2;
727pub const AVPALETTE_SIZE: u32 = 1024;
728pub const AVPALETTE_COUNT: u32 = 256;
729pub const AV_FOURCC_MAX_STRING_SIZE: u32 = 32;
730pub const AV_BUFFER_FLAG_READONLY: u32 = 1;
731pub const AV_CPU_FLAG_FORCE: u32 = 2147483648;
732pub const AV_CPU_FLAG_MMX: u32 = 1;
733pub const AV_CPU_FLAG_MMXEXT: u32 = 2;
734pub const AV_CPU_FLAG_MMX2: u32 = 2;
735pub const AV_CPU_FLAG_3DNOW: u32 = 4;
736pub const AV_CPU_FLAG_SSE: u32 = 8;
737pub const AV_CPU_FLAG_SSE2: u32 = 16;
738pub const AV_CPU_FLAG_SSE2SLOW: u32 = 1073741824;
739pub const AV_CPU_FLAG_3DNOWEXT: u32 = 32;
740pub const AV_CPU_FLAG_SSE3: u32 = 64;
741pub const AV_CPU_FLAG_SSE3SLOW: u32 = 536870912;
742pub const AV_CPU_FLAG_SSSE3: u32 = 128;
743pub const AV_CPU_FLAG_SSSE3SLOW: u32 = 67108864;
744pub const AV_CPU_FLAG_ATOM: u32 = 268435456;
745pub const AV_CPU_FLAG_SSE4: u32 = 256;
746pub const AV_CPU_FLAG_SSE42: u32 = 512;
747pub const AV_CPU_FLAG_AESNI: u32 = 524288;
748pub const AV_CPU_FLAG_AVX: u32 = 16384;
749pub const AV_CPU_FLAG_AVXSLOW: u32 = 134217728;
750pub const AV_CPU_FLAG_XOP: u32 = 1024;
751pub const AV_CPU_FLAG_FMA4: u32 = 2048;
752pub const AV_CPU_FLAG_CMOV: u32 = 4096;
753pub const AV_CPU_FLAG_AVX2: u32 = 32768;
754pub const AV_CPU_FLAG_FMA3: u32 = 65536;
755pub const AV_CPU_FLAG_BMI1: u32 = 131072;
756pub const AV_CPU_FLAG_BMI2: u32 = 262144;
757pub const AV_CPU_FLAG_AVX512: u32 = 1048576;
758pub const AV_CPU_FLAG_ALTIVEC: u32 = 1;
759pub const AV_CPU_FLAG_VSX: u32 = 2;
760pub const AV_CPU_FLAG_POWER8: u32 = 4;
761pub const AV_CPU_FLAG_ARMV5TE: u32 = 1;
762pub const AV_CPU_FLAG_ARMV6: u32 = 2;
763pub const AV_CPU_FLAG_ARMV6T2: u32 = 4;
764pub const AV_CPU_FLAG_VFP: u32 = 8;
765pub const AV_CPU_FLAG_VFPV3: u32 = 16;
766pub const AV_CPU_FLAG_NEON: u32 = 32;
767pub const AV_CPU_FLAG_ARMV8: u32 = 64;
768pub const AV_CPU_FLAG_VFP_VM: u32 = 128;
769pub const AV_CPU_FLAG_SETEND: u32 = 65536;
770pub const AV_CH_FRONT_LEFT: u32 = 1;
771pub const AV_CH_FRONT_RIGHT: u32 = 2;
772pub const AV_CH_FRONT_CENTER: u32 = 4;
773pub const AV_CH_LOW_FREQUENCY: u32 = 8;
774pub const AV_CH_BACK_LEFT: u32 = 16;
775pub const AV_CH_BACK_RIGHT: u32 = 32;
776pub const AV_CH_FRONT_LEFT_OF_CENTER: u32 = 64;
777pub const AV_CH_FRONT_RIGHT_OF_CENTER: u32 = 128;
778pub const AV_CH_BACK_CENTER: u32 = 256;
779pub const AV_CH_SIDE_LEFT: u32 = 512;
780pub const AV_CH_SIDE_RIGHT: u32 = 1024;
781pub const AV_CH_TOP_CENTER: u32 = 2048;
782pub const AV_CH_TOP_FRONT_LEFT: u32 = 4096;
783pub const AV_CH_TOP_FRONT_CENTER: u32 = 8192;
784pub const AV_CH_TOP_FRONT_RIGHT: u32 = 16384;
785pub const AV_CH_TOP_BACK_LEFT: u32 = 32768;
786pub const AV_CH_TOP_BACK_CENTER: u32 = 65536;
787pub const AV_CH_TOP_BACK_RIGHT: u32 = 131072;
788pub const AV_CH_STEREO_LEFT: u32 = 536870912;
789pub const AV_CH_STEREO_RIGHT: u32 = 1073741824;
790pub const AV_CH_WIDE_LEFT: u32 = 2147483648;
791pub const AV_CH_WIDE_RIGHT: u64 = 4294967296;
792pub const AV_CH_SURROUND_DIRECT_LEFT: u64 = 8589934592;
793pub const AV_CH_SURROUND_DIRECT_RIGHT: u64 = 17179869184;
794pub const AV_CH_LOW_FREQUENCY_2: u64 = 34359738368;
795pub const AV_CH_LAYOUT_NATIVE: i64 = -9223372036854775808;
796pub const AV_CH_LAYOUT_MONO: u32 = 4;
797pub const AV_CH_LAYOUT_STEREO: u32 = 3;
798pub const AV_CH_LAYOUT_2POINT1: u32 = 11;
799pub const AV_CH_LAYOUT_2_1: u32 = 259;
800pub const AV_CH_LAYOUT_SURROUND: u32 = 7;
801pub const AV_CH_LAYOUT_3POINT1: u32 = 15;
802pub const AV_CH_LAYOUT_4POINT0: u32 = 263;
803pub const AV_CH_LAYOUT_4POINT1: u32 = 271;
804pub const AV_CH_LAYOUT_2_2: u32 = 1539;
805pub const AV_CH_LAYOUT_QUAD: u32 = 51;
806pub const AV_CH_LAYOUT_5POINT0: u32 = 1543;
807pub const AV_CH_LAYOUT_5POINT1: u32 = 1551;
808pub const AV_CH_LAYOUT_5POINT0_BACK: u32 = 55;
809pub const AV_CH_LAYOUT_5POINT1_BACK: u32 = 63;
810pub const AV_CH_LAYOUT_6POINT0: u32 = 1799;
811pub const AV_CH_LAYOUT_6POINT0_FRONT: u32 = 1731;
812pub const AV_CH_LAYOUT_HEXAGONAL: u32 = 311;
813pub const AV_CH_LAYOUT_6POINT1: u32 = 1807;
814pub const AV_CH_LAYOUT_6POINT1_BACK: u32 = 319;
815pub const AV_CH_LAYOUT_6POINT1_FRONT: u32 = 1739;
816pub const AV_CH_LAYOUT_7POINT0: u32 = 1591;
817pub const AV_CH_LAYOUT_7POINT0_FRONT: u32 = 1735;
818pub const AV_CH_LAYOUT_7POINT1: u32 = 1599;
819pub const AV_CH_LAYOUT_7POINT1_WIDE: u32 = 1743;
820pub const AV_CH_LAYOUT_7POINT1_WIDE_BACK: u32 = 255;
821pub const AV_CH_LAYOUT_OCTAGONAL: u32 = 1847;
822pub const AV_CH_LAYOUT_HEXADECAGONAL: u64 = 6442710839;
823pub const AV_CH_LAYOUT_STEREO_DOWNMIX: u32 = 1610612736;
824pub const AV_DICT_MATCH_CASE: u32 = 1;
825pub const AV_DICT_IGNORE_SUFFIX: u32 = 2;
826pub const AV_DICT_DONT_STRDUP_KEY: u32 = 4;
827pub const AV_DICT_DONT_STRDUP_VAL: u32 = 8;
828pub const AV_DICT_DONT_OVERWRITE: u32 = 16;
829pub const AV_DICT_APPEND: u32 = 32;
830pub const AV_DICT_MULTIKEY: u32 = 64;
831pub const AV_NUM_DATA_POINTERS: u32 = 8;
832pub const AV_FRAME_FLAG_CORRUPT: u32 = 1;
833pub const AV_FRAME_FLAG_DISCARD: u32 = 4;
834pub const FF_DECODE_ERROR_INVALID_BITSTREAM: u32 = 1;
835pub const FF_DECODE_ERROR_MISSING_REFERENCE: u32 = 2;
836pub const LIBAVCODEC_VERSION_MAJOR: u32 = 58;
837pub const LIBAVCODEC_VERSION_MINOR: u32 = 35;
838pub const LIBAVCODEC_VERSION_MICRO: u32 = 100;
839pub const AV_CODEC_PROP_INTRA_ONLY: u32 = 1;
840pub const AV_CODEC_PROP_LOSSY: u32 = 2;
841pub const AV_CODEC_PROP_LOSSLESS: u32 = 4;
842pub const AV_CODEC_PROP_REORDER: u32 = 8;
843pub const AV_CODEC_PROP_BITMAP_SUB: u32 = 65536;
844pub const AV_CODEC_PROP_TEXT_SUB: u32 = 131072;
845pub const AV_INPUT_BUFFER_PADDING_SIZE: u32 = 64;
846pub const AV_INPUT_BUFFER_MIN_SIZE: u32 = 16384;
847pub const AV_CODEC_FLAG_UNALIGNED: u32 = 1;
848pub const AV_CODEC_FLAG_QSCALE: u32 = 2;
849pub const AV_CODEC_FLAG_4MV: u32 = 4;
850pub const AV_CODEC_FLAG_OUTPUT_CORRUPT: u32 = 8;
851pub const AV_CODEC_FLAG_QPEL: u32 = 16;
852pub const AV_CODEC_FLAG_PASS1: u32 = 512;
853pub const AV_CODEC_FLAG_PASS2: u32 = 1024;
854pub const AV_CODEC_FLAG_LOOP_FILTER: u32 = 2048;
855pub const AV_CODEC_FLAG_GRAY: u32 = 8192;
856pub const AV_CODEC_FLAG_PSNR: u32 = 32768;
857pub const AV_CODEC_FLAG_TRUNCATED: u32 = 65536;
858pub const AV_CODEC_FLAG_INTERLACED_DCT: u32 = 262144;
859pub const AV_CODEC_FLAG_LOW_DELAY: u32 = 524288;
860pub const AV_CODEC_FLAG_GLOBAL_HEADER: u32 = 4194304;
861pub const AV_CODEC_FLAG_BITEXACT: u32 = 8388608;
862pub const AV_CODEC_FLAG_AC_PRED: u32 = 16777216;
863pub const AV_CODEC_FLAG_INTERLACED_ME: u32 = 536870912;
864pub const AV_CODEC_FLAG_CLOSED_GOP: u32 = 2147483648;
865pub const AV_CODEC_FLAG2_FAST: u32 = 1;
866pub const AV_CODEC_FLAG2_NO_OUTPUT: u32 = 4;
867pub const AV_CODEC_FLAG2_LOCAL_HEADER: u32 = 8;
868pub const AV_CODEC_FLAG2_DROP_FRAME_TIMECODE: u32 = 8192;
869pub const AV_CODEC_FLAG2_CHUNKS: u32 = 32768;
870pub const AV_CODEC_FLAG2_IGNORE_CROP: u32 = 65536;
871pub const AV_CODEC_FLAG2_SHOW_ALL: u32 = 4194304;
872pub const AV_CODEC_FLAG2_EXPORT_MVS: u32 = 268435456;
873pub const AV_CODEC_FLAG2_SKIP_MANUAL: u32 = 536870912;
874pub const AV_CODEC_FLAG2_RO_FLUSH_NOOP: u32 = 1073741824;
875pub const AV_CODEC_CAP_DRAW_HORIZ_BAND: u32 = 1;
876pub const AV_CODEC_CAP_DR1: u32 = 2;
877pub const AV_CODEC_CAP_TRUNCATED: u32 = 8;
878pub const AV_CODEC_CAP_DELAY: u32 = 32;
879pub const AV_CODEC_CAP_SMALL_LAST_FRAME: u32 = 64;
880pub const AV_CODEC_CAP_SUBFRAMES: u32 = 256;
881pub const AV_CODEC_CAP_EXPERIMENTAL: u32 = 512;
882pub const AV_CODEC_CAP_CHANNEL_CONF: u32 = 1024;
883pub const AV_CODEC_CAP_FRAME_THREADS: u32 = 4096;
884pub const AV_CODEC_CAP_SLICE_THREADS: u32 = 8192;
885pub const AV_CODEC_CAP_PARAM_CHANGE: u32 = 16384;
886pub const AV_CODEC_CAP_AUTO_THREADS: u32 = 32768;
887pub const AV_CODEC_CAP_VARIABLE_FRAME_SIZE: u32 = 65536;
888pub const AV_CODEC_CAP_AVOID_PROBING: u32 = 131072;
889pub const AV_CODEC_CAP_INTRA_ONLY: u32 = 1073741824;
890pub const AV_CODEC_CAP_LOSSLESS: u32 = 2147483648;
891pub const AV_CODEC_CAP_HARDWARE: u32 = 262144;
892pub const AV_CODEC_CAP_HYBRID: u32 = 524288;
893pub const AV_GET_BUFFER_FLAG_REF: u32 = 1;
894pub const AV_PKT_FLAG_KEY: u32 = 1;
895pub const AV_PKT_FLAG_CORRUPT: u32 = 2;
896pub const AV_PKT_FLAG_DISCARD: u32 = 4;
897pub const AV_PKT_FLAG_TRUSTED: u32 = 8;
898pub const AV_PKT_FLAG_DISPOSABLE: u32 = 16;
899pub const FF_COMPRESSION_DEFAULT: i32 = -1;
900pub const FF_PRED_LEFT: u32 = 0;
901pub const FF_PRED_PLANE: u32 = 1;
902pub const FF_PRED_MEDIAN: u32 = 2;
903pub const FF_CMP_SAD: u32 = 0;
904pub const FF_CMP_SSE: u32 = 1;
905pub const FF_CMP_SATD: u32 = 2;
906pub const FF_CMP_DCT: u32 = 3;
907pub const FF_CMP_PSNR: u32 = 4;
908pub const FF_CMP_BIT: u32 = 5;
909pub const FF_CMP_RD: u32 = 6;
910pub const FF_CMP_ZERO: u32 = 7;
911pub const FF_CMP_VSAD: u32 = 8;
912pub const FF_CMP_VSSE: u32 = 9;
913pub const FF_CMP_NSSE: u32 = 10;
914pub const FF_CMP_W53: u32 = 11;
915pub const FF_CMP_W97: u32 = 12;
916pub const FF_CMP_DCTMAX: u32 = 13;
917pub const FF_CMP_DCT264: u32 = 14;
918pub const FF_CMP_MEDIAN_SAD: u32 = 15;
919pub const FF_CMP_CHROMA: u32 = 256;
920pub const SLICE_FLAG_CODED_ORDER: u32 = 1;
921pub const SLICE_FLAG_ALLOW_FIELD: u32 = 2;
922pub const SLICE_FLAG_ALLOW_PLANE: u32 = 4;
923pub const FF_MB_DECISION_SIMPLE: u32 = 0;
924pub const FF_MB_DECISION_BITS: u32 = 1;
925pub const FF_MB_DECISION_RD: u32 = 2;
926pub const FF_CODER_TYPE_VLC: u32 = 0;
927pub const FF_CODER_TYPE_AC: u32 = 1;
928pub const FF_CODER_TYPE_RAW: u32 = 2;
929pub const FF_CODER_TYPE_RLE: u32 = 3;
930pub const FF_BUG_AUTODETECT: u32 = 1;
931pub const FF_BUG_XVID_ILACE: u32 = 4;
932pub const FF_BUG_UMP4: u32 = 8;
933pub const FF_BUG_NO_PADDING: u32 = 16;
934pub const FF_BUG_AMV: u32 = 32;
935pub const FF_BUG_QPEL_CHROMA: u32 = 64;
936pub const FF_BUG_STD_QPEL: u32 = 128;
937pub const FF_BUG_QPEL_CHROMA2: u32 = 256;
938pub const FF_BUG_DIRECT_BLOCKSIZE: u32 = 512;
939pub const FF_BUG_EDGE: u32 = 1024;
940pub const FF_BUG_HPEL_CHROMA: u32 = 2048;
941pub const FF_BUG_DC_CLIP: u32 = 4096;
942pub const FF_BUG_MS: u32 = 8192;
943pub const FF_BUG_TRUNCATED: u32 = 16384;
944pub const FF_BUG_IEDGE: u32 = 32768;
945pub const FF_COMPLIANCE_VERY_STRICT: u32 = 2;
946pub const FF_COMPLIANCE_STRICT: u32 = 1;
947pub const FF_COMPLIANCE_NORMAL: u32 = 0;
948pub const FF_COMPLIANCE_UNOFFICIAL: i32 = -1;
949pub const FF_COMPLIANCE_EXPERIMENTAL: i32 = -2;
950pub const FF_EC_GUESS_MVS: u32 = 1;
951pub const FF_EC_DEBLOCK: u32 = 2;
952pub const FF_EC_FAVOR_INTER: u32 = 256;
953pub const FF_DEBUG_PICT_INFO: u32 = 1;
954pub const FF_DEBUG_RC: u32 = 2;
955pub const FF_DEBUG_BITSTREAM: u32 = 4;
956pub const FF_DEBUG_MB_TYPE: u32 = 8;
957pub const FF_DEBUG_QP: u32 = 16;
958pub const FF_DEBUG_DCT_COEFF: u32 = 64;
959pub const FF_DEBUG_SKIP: u32 = 128;
960pub const FF_DEBUG_STARTCODE: u32 = 256;
961pub const FF_DEBUG_ER: u32 = 1024;
962pub const FF_DEBUG_MMCO: u32 = 2048;
963pub const FF_DEBUG_BUGS: u32 = 4096;
964pub const FF_DEBUG_BUFFERS: u32 = 32768;
965pub const FF_DEBUG_THREADS: u32 = 65536;
966pub const FF_DEBUG_GREEN_MD: u32 = 8388608;
967pub const FF_DEBUG_NOMC: u32 = 16777216;
968pub const AV_EF_CRCCHECK: u32 = 1;
969pub const AV_EF_BITSTREAM: u32 = 2;
970pub const AV_EF_BUFFER: u32 = 4;
971pub const AV_EF_EXPLODE: u32 = 8;
972pub const AV_EF_IGNORE_ERR: u32 = 32768;
973pub const AV_EF_CAREFUL: u32 = 65536;
974pub const AV_EF_COMPLIANT: u32 = 131072;
975pub const AV_EF_AGGRESSIVE: u32 = 262144;
976pub const FF_DCT_AUTO: u32 = 0;
977pub const FF_DCT_FASTINT: u32 = 1;
978pub const FF_DCT_INT: u32 = 2;
979pub const FF_DCT_MMX: u32 = 3;
980pub const FF_DCT_ALTIVEC: u32 = 5;
981pub const FF_DCT_FAAN: u32 = 6;
982pub const FF_IDCT_AUTO: u32 = 0;
983pub const FF_IDCT_INT: u32 = 1;
984pub const FF_IDCT_SIMPLE: u32 = 2;
985pub const FF_IDCT_SIMPLEMMX: u32 = 3;
986pub const FF_IDCT_ARM: u32 = 7;
987pub const FF_IDCT_ALTIVEC: u32 = 8;
988pub const FF_IDCT_SIMPLEARM: u32 = 10;
989pub const FF_IDCT_XVID: u32 = 14;
990pub const FF_IDCT_SIMPLEARMV5TE: u32 = 16;
991pub const FF_IDCT_SIMPLEARMV6: u32 = 17;
992pub const FF_IDCT_FAAN: u32 = 20;
993pub const FF_IDCT_SIMPLENEON: u32 = 22;
994pub const FF_IDCT_NONE: u32 = 24;
995pub const FF_IDCT_SIMPLEAUTO: u32 = 128;
996pub const FF_THREAD_FRAME: u32 = 1;
997pub const FF_THREAD_SLICE: u32 = 2;
998pub const FF_PROFILE_UNKNOWN: i32 = -99;
999pub const FF_PROFILE_RESERVED: i32 = -100;
1000pub const FF_PROFILE_AAC_MAIN: u32 = 0;
1001pub const FF_PROFILE_AAC_LOW: u32 = 1;
1002pub const FF_PROFILE_AAC_SSR: u32 = 2;
1003pub const FF_PROFILE_AAC_LTP: u32 = 3;
1004pub const FF_PROFILE_AAC_HE: u32 = 4;
1005pub const FF_PROFILE_AAC_HE_V2: u32 = 28;
1006pub const FF_PROFILE_AAC_LD: u32 = 22;
1007pub const FF_PROFILE_AAC_ELD: u32 = 38;
1008pub const FF_PROFILE_MPEG2_AAC_LOW: u32 = 128;
1009pub const FF_PROFILE_MPEG2_AAC_HE: u32 = 131;
1010pub const FF_PROFILE_DNXHD: u32 = 0;
1011pub const FF_PROFILE_DNXHR_LB: u32 = 1;
1012pub const FF_PROFILE_DNXHR_SQ: u32 = 2;
1013pub const FF_PROFILE_DNXHR_HQ: u32 = 3;
1014pub const FF_PROFILE_DNXHR_HQX: u32 = 4;
1015pub const FF_PROFILE_DNXHR_444: u32 = 5;
1016pub const FF_PROFILE_DTS: u32 = 20;
1017pub const FF_PROFILE_DTS_ES: u32 = 30;
1018pub const FF_PROFILE_DTS_96_24: u32 = 40;
1019pub const FF_PROFILE_DTS_HD_HRA: u32 = 50;
1020pub const FF_PROFILE_DTS_HD_MA: u32 = 60;
1021pub const FF_PROFILE_DTS_EXPRESS: u32 = 70;
1022pub const FF_PROFILE_MPEG2_422: u32 = 0;
1023pub const FF_PROFILE_MPEG2_HIGH: u32 = 1;
1024pub const FF_PROFILE_MPEG2_SS: u32 = 2;
1025pub const FF_PROFILE_MPEG2_SNR_SCALABLE: u32 = 3;
1026pub const FF_PROFILE_MPEG2_MAIN: u32 = 4;
1027pub const FF_PROFILE_MPEG2_SIMPLE: u32 = 5;
1028pub const FF_PROFILE_H264_CONSTRAINED: u32 = 512;
1029pub const FF_PROFILE_H264_INTRA: u32 = 2048;
1030pub const FF_PROFILE_H264_BASELINE: u32 = 66;
1031pub const FF_PROFILE_H264_CONSTRAINED_BASELINE: u32 = 578;
1032pub const FF_PROFILE_H264_MAIN: u32 = 77;
1033pub const FF_PROFILE_H264_EXTENDED: u32 = 88;
1034pub const FF_PROFILE_H264_HIGH: u32 = 100;
1035pub const FF_PROFILE_H264_HIGH_10: u32 = 110;
1036pub const FF_PROFILE_H264_HIGH_10_INTRA: u32 = 2158;
1037pub const FF_PROFILE_H264_MULTIVIEW_HIGH: u32 = 118;
1038pub const FF_PROFILE_H264_HIGH_422: u32 = 122;
1039pub const FF_PROFILE_H264_HIGH_422_INTRA: u32 = 2170;
1040pub const FF_PROFILE_H264_STEREO_HIGH: u32 = 128;
1041pub const FF_PROFILE_H264_HIGH_444: u32 = 144;
1042pub const FF_PROFILE_H264_HIGH_444_PREDICTIVE: u32 = 244;
1043pub const FF_PROFILE_H264_HIGH_444_INTRA: u32 = 2292;
1044pub const FF_PROFILE_H264_CAVLC_444: u32 = 44;
1045pub const FF_PROFILE_VC1_SIMPLE: u32 = 0;
1046pub const FF_PROFILE_VC1_MAIN: u32 = 1;
1047pub const FF_PROFILE_VC1_COMPLEX: u32 = 2;
1048pub const FF_PROFILE_VC1_ADVANCED: u32 = 3;
1049pub const FF_PROFILE_MPEG4_SIMPLE: u32 = 0;
1050pub const FF_PROFILE_MPEG4_SIMPLE_SCALABLE: u32 = 1;
1051pub const FF_PROFILE_MPEG4_CORE: u32 = 2;
1052pub const FF_PROFILE_MPEG4_MAIN: u32 = 3;
1053pub const FF_PROFILE_MPEG4_N_BIT: u32 = 4;
1054pub const FF_PROFILE_MPEG4_SCALABLE_TEXTURE: u32 = 5;
1055pub const FF_PROFILE_MPEG4_SIMPLE_FACE_ANIMATION: u32 = 6;
1056pub const FF_PROFILE_MPEG4_BASIC_ANIMATED_TEXTURE: u32 = 7;
1057pub const FF_PROFILE_MPEG4_HYBRID: u32 = 8;
1058pub const FF_PROFILE_MPEG4_ADVANCED_REAL_TIME: u32 = 9;
1059pub const FF_PROFILE_MPEG4_CORE_SCALABLE: u32 = 10;
1060pub const FF_PROFILE_MPEG4_ADVANCED_CODING: u32 = 11;
1061pub const FF_PROFILE_MPEG4_ADVANCED_CORE: u32 = 12;
1062pub const FF_PROFILE_MPEG4_ADVANCED_SCALABLE_TEXTURE: u32 = 13;
1063pub const FF_PROFILE_MPEG4_SIMPLE_STUDIO: u32 = 14;
1064pub const FF_PROFILE_MPEG4_ADVANCED_SIMPLE: u32 = 15;
1065pub const FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_0: u32 = 1;
1066pub const FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_1: u32 = 2;
1067pub const FF_PROFILE_JPEG2000_CSTREAM_NO_RESTRICTION: u32 = 32768;
1068pub const FF_PROFILE_JPEG2000_DCINEMA_2K: u32 = 3;
1069pub const FF_PROFILE_JPEG2000_DCINEMA_4K: u32 = 4;
1070pub const FF_PROFILE_VP9_0: u32 = 0;
1071pub const FF_PROFILE_VP9_1: u32 = 1;
1072pub const FF_PROFILE_VP9_2: u32 = 2;
1073pub const FF_PROFILE_VP9_3: u32 = 3;
1074pub const FF_PROFILE_HEVC_MAIN: u32 = 1;
1075pub const FF_PROFILE_HEVC_MAIN_10: u32 = 2;
1076pub const FF_PROFILE_HEVC_MAIN_STILL_PICTURE: u32 = 3;
1077pub const FF_PROFILE_HEVC_REXT: u32 = 4;
1078pub const FF_PROFILE_AV1_MAIN: u32 = 0;
1079pub const FF_PROFILE_AV1_HIGH: u32 = 1;
1080pub const FF_PROFILE_AV1_PROFESSIONAL: u32 = 2;
1081pub const FF_PROFILE_MJPEG_HUFFMAN_BASELINE_DCT: u32 = 192;
1082pub const FF_PROFILE_MJPEG_HUFFMAN_EXTENDED_SEQUENTIAL_DCT: u32 = 193;
1083pub const FF_PROFILE_MJPEG_HUFFMAN_PROGRESSIVE_DCT: u32 = 194;
1084pub const FF_PROFILE_MJPEG_HUFFMAN_LOSSLESS: u32 = 195;
1085pub const FF_PROFILE_MJPEG_JPEG_LS: u32 = 247;
1086pub const FF_PROFILE_SBC_MSBC: u32 = 1;
1087pub const FF_LEVEL_UNKNOWN: i32 = -99;
1088pub const FF_SUB_CHARENC_MODE_DO_NOTHING: i32 = -1;
1089pub const FF_SUB_CHARENC_MODE_AUTOMATIC: u32 = 0;
1090pub const FF_SUB_CHARENC_MODE_PRE_DECODER: u32 = 1;
1091pub const FF_SUB_CHARENC_MODE_IGNORE: u32 = 2;
1092pub const FF_DEBUG_VIS_MV_P_FOR: u32 = 1;
1093pub const FF_DEBUG_VIS_MV_B_FOR: u32 = 2;
1094pub const FF_DEBUG_VIS_MV_B_BACK: u32 = 4;
1095pub const FF_CODEC_PROPERTY_LOSSLESS: u32 = 1;
1096pub const FF_CODEC_PROPERTY_CLOSED_CAPTIONS: u32 = 2;
1097pub const FF_SUB_TEXT_FMT_ASS: u32 = 0;
1098pub const FF_SUB_TEXT_FMT_ASS_WITH_TIMINGS: u32 = 1;
1099pub const AV_HWACCEL_CODEC_CAP_EXPERIMENTAL: u32 = 512;
1100pub const AV_HWACCEL_FLAG_IGNORE_LEVEL: u32 = 1;
1101pub const AV_HWACCEL_FLAG_ALLOW_HIGH_DEPTH: u32 = 2;
1102pub const AV_HWACCEL_FLAG_ALLOW_PROFILE_MISMATCH: u32 = 4;
1103pub const AV_SUBTITLE_FLAG_FORCED: u32 = 1;
1104pub const AV_PARSER_PTS_NB: u32 = 4;
1105pub const PARSER_FLAG_COMPLETE_FRAMES: u32 = 1;
1106pub const PARSER_FLAG_ONCE: u32 = 2;
1107pub const PARSER_FLAG_FETCHED_OFFSET: u32 = 4;
1108pub const PARSER_FLAG_USE_CODEC_TS: u32 = 4096;
1109pub const LIBAVFORMAT_VERSION_MAJOR: u32 = 58;
1110pub const LIBAVFORMAT_VERSION_MINOR: u32 = 20;
1111pub const LIBAVFORMAT_VERSION_MICRO: u32 = 100;
1112pub const FF_API_R_FRAME_RATE: u32 = 1;
1113pub const AVIO_SEEKABLE_NORMAL: u32 = 1;
1114pub const AVIO_SEEKABLE_TIME: u32 = 2;
1115pub const AVSEEK_SIZE: u32 = 65536;
1116pub const AVSEEK_FORCE: u32 = 131072;
1117pub const AVIO_FLAG_READ: u32 = 1;
1118pub const AVIO_FLAG_WRITE: u32 = 2;
1119pub const AVIO_FLAG_READ_WRITE: u32 = 3;
1120pub const AVIO_FLAG_NONBLOCK: u32 = 8;
1121pub const AVIO_FLAG_DIRECT: u32 = 32768;
1122pub const AVPROBE_SCORE_EXTENSION: u32 = 50;
1123pub const AVPROBE_SCORE_MIME: u32 = 75;
1124pub const AVPROBE_SCORE_MAX: u32 = 100;
1125pub const AVPROBE_PADDING_SIZE: u32 = 32;
1126pub const AVFMT_NOFILE: u32 = 1;
1127pub const AVFMT_NEEDNUMBER: u32 = 2;
1128pub const AVFMT_SHOW_IDS: u32 = 8;
1129pub const AVFMT_GLOBALHEADER: u32 = 64;
1130pub const AVFMT_NOTIMESTAMPS: u32 = 128;
1131pub const AVFMT_GENERIC_INDEX: u32 = 256;
1132pub const AVFMT_TS_DISCONT: u32 = 512;
1133pub const AVFMT_VARIABLE_FPS: u32 = 1024;
1134pub const AVFMT_NODIMENSIONS: u32 = 2048;
1135pub const AVFMT_NOSTREAMS: u32 = 4096;
1136pub const AVFMT_NOBINSEARCH: u32 = 8192;
1137pub const AVFMT_NOGENSEARCH: u32 = 16384;
1138pub const AVFMT_NO_BYTE_SEEK: u32 = 32768;
1139pub const AVFMT_ALLOW_FLUSH: u32 = 65536;
1140pub const AVFMT_TS_NONSTRICT: u32 = 131072;
1141pub const AVFMT_TS_NEGATIVE: u32 = 262144;
1142pub const AVFMT_SEEK_TO_PTS: u32 = 67108864;
1143pub const AVINDEX_KEYFRAME: u32 = 1;
1144pub const AVINDEX_DISCARD_FRAME: u32 = 2;
1145pub const AV_DISPOSITION_DEFAULT: u32 = 1;
1146pub const AV_DISPOSITION_DUB: u32 = 2;
1147pub const AV_DISPOSITION_ORIGINAL: u32 = 4;
1148pub const AV_DISPOSITION_COMMENT: u32 = 8;
1149pub const AV_DISPOSITION_LYRICS: u32 = 16;
1150pub const AV_DISPOSITION_KARAOKE: u32 = 32;
1151pub const AV_DISPOSITION_FORCED: u32 = 64;
1152pub const AV_DISPOSITION_HEARING_IMPAIRED: u32 = 128;
1153pub const AV_DISPOSITION_VISUAL_IMPAIRED: u32 = 256;
1154pub const AV_DISPOSITION_CLEAN_EFFECTS: u32 = 512;
1155pub const AV_DISPOSITION_ATTACHED_PIC: u32 = 1024;
1156pub const AV_DISPOSITION_TIMED_THUMBNAILS: u32 = 2048;
1157pub const AV_DISPOSITION_CAPTIONS: u32 = 65536;
1158pub const AV_DISPOSITION_DESCRIPTIONS: u32 = 131072;
1159pub const AV_DISPOSITION_METADATA: u32 = 262144;
1160pub const AV_DISPOSITION_DEPENDENT: u32 = 524288;
1161pub const AV_DISPOSITION_STILL_IMAGE: u32 = 1048576;
1162pub const AV_PTS_WRAP_IGNORE: u32 = 0;
1163pub const AV_PTS_WRAP_ADD_OFFSET: u32 = 1;
1164pub const AV_PTS_WRAP_SUB_OFFSET: i32 = -1;
1165pub const AVSTREAM_EVENT_FLAG_METADATA_UPDATED: u32 = 1;
1166pub const MAX_STD_TIMEBASES: u32 = 399;
1167pub const MAX_REORDER_DELAY: u32 = 16;
1168pub const AV_PROGRAM_RUNNING: u32 = 1;
1169pub const AVFMTCTX_NOHEADER: u32 = 1;
1170pub const AVFMTCTX_UNSEEKABLE: u32 = 2;
1171pub const AVFMT_FLAG_GENPTS: u32 = 1;
1172pub const AVFMT_FLAG_IGNIDX: u32 = 2;
1173pub const AVFMT_FLAG_NONBLOCK: u32 = 4;
1174pub const AVFMT_FLAG_IGNDTS: u32 = 8;
1175pub const AVFMT_FLAG_NOFILLIN: u32 = 16;
1176pub const AVFMT_FLAG_NOPARSE: u32 = 32;
1177pub const AVFMT_FLAG_NOBUFFER: u32 = 64;
1178pub const AVFMT_FLAG_CUSTOM_IO: u32 = 128;
1179pub const AVFMT_FLAG_DISCARD_CORRUPT: u32 = 256;
1180pub const AVFMT_FLAG_FLUSH_PACKETS: u32 = 512;
1181pub const AVFMT_FLAG_BITEXACT: u32 = 1024;
1182pub const AVFMT_FLAG_MP4A_LATM: u32 = 32768;
1183pub const AVFMT_FLAG_SORT_DTS: u32 = 65536;
1184pub const AVFMT_FLAG_PRIV_OPT: u32 = 131072;
1185pub const AVFMT_FLAG_KEEP_SIDE_DATA: u32 = 262144;
1186pub const AVFMT_FLAG_FAST_SEEK: u32 = 524288;
1187pub const AVFMT_FLAG_SHORTEST: u32 = 1048576;
1188pub const AVFMT_FLAG_AUTO_BSF: u32 = 2097152;
1189pub const FF_FDEBUG_TS: u32 = 1;
1190pub const AVFMT_EVENT_FLAG_METADATA_UPDATED: u32 = 1;
1191pub const AVFMT_AVOID_NEG_TS_AUTO: i32 = -1;
1192pub const AVFMT_AVOID_NEG_TS_MAKE_NON_NEGATIVE: u32 = 1;
1193pub const AVFMT_AVOID_NEG_TS_MAKE_ZERO: u32 = 2;
1194pub const AVSEEK_FLAG_BACKWARD: u32 = 1;
1195pub const AVSEEK_FLAG_BYTE: u32 = 2;
1196pub const AVSEEK_FLAG_ANY: u32 = 4;
1197pub const AVSEEK_FLAG_FRAME: u32 = 8;
1198pub const AVSTREAM_INIT_IN_WRITE_HEADER: u32 = 0;
1199pub const AVSTREAM_INIT_IN_INIT_OUTPUT: u32 = 1;
1200pub const AV_FRAME_FILENAME_FLAGS_MULTIPLE: u32 = 1;
1201pub type __u_char = ::std::os::raw::c_uchar;
1202pub type __u_short = ::std::os::raw::c_ushort;
1203pub type __u_int = ::std::os::raw::c_uint;
1204pub type __u_long = ::std::os::raw::c_ulong;
1205pub type __int8_t = ::std::os::raw::c_schar;
1206pub type __uint8_t = ::std::os::raw::c_uchar;
1207pub type __int16_t = ::std::os::raw::c_short;
1208pub type __uint16_t = ::std::os::raw::c_ushort;
1209pub type __int32_t = ::std::os::raw::c_int;
1210pub type __uint32_t = ::std::os::raw::c_uint;
1211pub type __int64_t = ::std::os::raw::c_long;
1212pub type __uint64_t = ::std::os::raw::c_ulong;
1213pub type __int_least8_t = __int8_t;
1214pub type __uint_least8_t = __uint8_t;
1215pub type __int_least16_t = __int16_t;
1216pub type __uint_least16_t = __uint16_t;
1217pub type __int_least32_t = __int32_t;
1218pub type __uint_least32_t = __uint32_t;
1219pub type __int_least64_t = __int64_t;
1220pub type __uint_least64_t = __uint64_t;
1221pub type __quad_t = ::std::os::raw::c_long;
1222pub type __u_quad_t = ::std::os::raw::c_ulong;
1223pub type __intmax_t = ::std::os::raw::c_long;
1224pub type __uintmax_t = ::std::os::raw::c_ulong;
1225pub type __dev_t = ::std::os::raw::c_ulong;
1226pub type __uid_t = ::std::os::raw::c_uint;
1227pub type __gid_t = ::std::os::raw::c_uint;
1228pub type __ino_t = ::std::os::raw::c_ulong;
1229pub type __ino64_t = ::std::os::raw::c_ulong;
1230pub type __mode_t = ::std::os::raw::c_uint;
1231pub type __nlink_t = ::std::os::raw::c_ulong;
1232pub type __off_t = ::std::os::raw::c_long;
1233pub type __off64_t = ::std::os::raw::c_long;
1234pub type __pid_t = ::std::os::raw::c_int;
1235#[repr(C)]
1236#[derive(Debug, Copy, Clone)]
1237pub struct __fsid_t {
1238 pub __val: [::std::os::raw::c_int; 2usize],
1239}
1240pub type __clock_t = ::std::os::raw::c_long;
1241pub type __rlim_t = ::std::os::raw::c_ulong;
1242pub type __rlim64_t = ::std::os::raw::c_ulong;
1243pub type __id_t = ::std::os::raw::c_uint;
1244pub type __time_t = ::std::os::raw::c_long;
1245pub type __useconds_t = ::std::os::raw::c_uint;
1246pub type __suseconds_t = ::std::os::raw::c_long;
1247pub type __daddr_t = ::std::os::raw::c_int;
1248pub type __key_t = ::std::os::raw::c_int;
1249pub type __clockid_t = ::std::os::raw::c_int;
1250pub type __timer_t = *mut ::std::os::raw::c_void;
1251pub type __blksize_t = ::std::os::raw::c_long;
1252pub type __blkcnt_t = ::std::os::raw::c_long;
1253pub type __blkcnt64_t = ::std::os::raw::c_long;
1254pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
1255pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
1256pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
1257pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
1258pub type __fsword_t = ::std::os::raw::c_long;
1259pub type __ssize_t = ::std::os::raw::c_long;
1260pub type __syscall_slong_t = ::std::os::raw::c_long;
1261pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
1262pub type __loff_t = __off64_t;
1263pub type __caddr_t = *mut ::std::os::raw::c_char;
1264pub type __intptr_t = ::std::os::raw::c_long;
1265pub type __socklen_t = ::std::os::raw::c_uint;
1266pub type __sig_atomic_t = ::std::os::raw::c_int;
1267pub type clock_t = __clock_t;
1268pub type time_t = __time_t;
1269#[repr(C)]
1270#[derive(Debug, Copy, Clone)]
1271pub struct tm {
1272 pub tm_sec: ::std::os::raw::c_int,
1273 pub tm_min: ::std::os::raw::c_int,
1274 pub tm_hour: ::std::os::raw::c_int,
1275 pub tm_mday: ::std::os::raw::c_int,
1276 pub tm_mon: ::std::os::raw::c_int,
1277 pub tm_year: ::std::os::raw::c_int,
1278 pub tm_wday: ::std::os::raw::c_int,
1279 pub tm_yday: ::std::os::raw::c_int,
1280 pub tm_isdst: ::std::os::raw::c_int,
1281 pub tm_gmtoff: ::std::os::raw::c_long,
1282 pub tm_zone: *const ::std::os::raw::c_char,
1283}
1284#[repr(C)]
1285#[derive(Debug, Copy, Clone)]
1286pub struct timespec {
1287 pub tv_sec: __time_t,
1288 pub tv_nsec: __syscall_slong_t,
1289}
1290pub type clockid_t = __clockid_t;
1291pub type timer_t = __timer_t;
1292#[repr(C)]
1293#[derive(Debug, Copy, Clone)]
1294pub struct itimerspec {
1295 pub it_interval: timespec,
1296 pub it_value: timespec,
1297}
1298#[repr(C)]
1299#[derive(Debug, Copy, Clone)]
1300pub struct sigevent {
1301 _unused: [u8; 0],
1302}
1303pub type pid_t = __pid_t;
1304#[repr(C)]
1305#[derive(Debug, Copy, Clone)]
1306pub struct __locale_struct {
1307 pub __locales: [*mut __locale_data; 13usize],
1308 pub __ctype_b: *const ::std::os::raw::c_ushort,
1309 pub __ctype_tolower: *const ::std::os::raw::c_int,
1310 pub __ctype_toupper: *const ::std::os::raw::c_int,
1311 pub __names: [*const ::std::os::raw::c_char; 13usize],
1312}
1313pub type __locale_t = *mut __locale_struct;
1314pub type locale_t = __locale_t;
1315extern "C" {
1316 pub fn clock() -> clock_t;
1317}
1318extern "C" {
1319 pub fn time(__timer: *mut time_t) -> time_t;
1320}
1321extern "C" {
1322 pub fn difftime(__time1: time_t, __time0: time_t) -> f64;
1323}
1324extern "C" {
1325 pub fn mktime(__tp: *mut tm) -> time_t;
1326}
1327extern "C" {
1328 pub fn strftime(
1329 __s: *mut ::std::os::raw::c_char,
1330 __maxsize: usize,
1331 __format: *const ::std::os::raw::c_char,
1332 __tp: *const tm,
1333 ) -> usize;
1334}
1335extern "C" {
1336 pub fn strftime_l(
1337 __s: *mut ::std::os::raw::c_char,
1338 __maxsize: usize,
1339 __format: *const ::std::os::raw::c_char,
1340 __tp: *const tm,
1341 __loc: locale_t,
1342 ) -> usize;
1343}
1344extern "C" {
1345 pub fn gmtime(__timer: *const time_t) -> *mut tm;
1346}
1347extern "C" {
1348 pub fn localtime(__timer: *const time_t) -> *mut tm;
1349}
1350extern "C" {
1351 pub fn gmtime_r(__timer: *const time_t, __tp: *mut tm) -> *mut tm;
1352}
1353extern "C" {
1354 pub fn localtime_r(__timer: *const time_t, __tp: *mut tm) -> *mut tm;
1355}
1356extern "C" {
1357 pub fn asctime(__tp: *const tm) -> *mut ::std::os::raw::c_char;
1358}
1359extern "C" {
1360 pub fn ctime(__timer: *const time_t) -> *mut ::std::os::raw::c_char;
1361}
1362extern "C" {
1363 pub fn asctime_r(
1364 __tp: *const tm,
1365 __buf: *mut ::std::os::raw::c_char,
1366 ) -> *mut ::std::os::raw::c_char;
1367}
1368extern "C" {
1369 pub fn ctime_r(
1370 __timer: *const time_t,
1371 __buf: *mut ::std::os::raw::c_char,
1372 ) -> *mut ::std::os::raw::c_char;
1373}
1374extern "C" {
1375 #[link_name = "\u{1}__tzname"]
1376 pub static mut __tzname: [*mut ::std::os::raw::c_char; 2usize];
1377}
1378extern "C" {
1379 #[link_name = "\u{1}__daylight"]
1380 pub static mut __daylight: ::std::os::raw::c_int;
1381}
1382extern "C" {
1383 #[link_name = "\u{1}__timezone"]
1384 pub static mut __timezone: ::std::os::raw::c_long;
1385}
1386extern "C" {
1387 #[link_name = "\u{1}tzname"]
1388 pub static mut tzname: [*mut ::std::os::raw::c_char; 2usize];
1389}
1390extern "C" {
1391 pub fn tzset();
1392}
1393extern "C" {
1394 #[link_name = "\u{1}daylight"]
1395 pub static mut daylight: ::std::os::raw::c_int;
1396}
1397extern "C" {
1398 #[link_name = "\u{1}timezone"]
1399 pub static mut timezone: ::std::os::raw::c_long;
1400}
1401extern "C" {
1402 pub fn stime(__when: *const time_t) -> ::std::os::raw::c_int;
1403}
1404extern "C" {
1405 pub fn timegm(__tp: *mut tm) -> time_t;
1406}
1407extern "C" {
1408 pub fn timelocal(__tp: *mut tm) -> time_t;
1409}
1410extern "C" {
1411 pub fn dysize(__year: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
1412}
1413extern "C" {
1414 pub fn nanosleep(
1415 __requested_time: *const timespec,
1416 __remaining: *mut timespec,
1417 ) -> ::std::os::raw::c_int;
1418}
1419extern "C" {
1420 pub fn clock_getres(__clock_id: clockid_t, __res: *mut timespec) -> ::std::os::raw::c_int;
1421}
1422extern "C" {
1423 pub fn clock_gettime(__clock_id: clockid_t, __tp: *mut timespec) -> ::std::os::raw::c_int;
1424}
1425extern "C" {
1426 pub fn clock_settime(__clock_id: clockid_t, __tp: *const timespec) -> ::std::os::raw::c_int;
1427}
1428extern "C" {
1429 pub fn clock_nanosleep(
1430 __clock_id: clockid_t,
1431 __flags: ::std::os::raw::c_int,
1432 __req: *const timespec,
1433 __rem: *mut timespec,
1434 ) -> ::std::os::raw::c_int;
1435}
1436extern "C" {
1437 pub fn clock_getcpuclockid(__pid: pid_t, __clock_id: *mut clockid_t) -> ::std::os::raw::c_int;
1438}
1439extern "C" {
1440 pub fn timer_create(
1441 __clock_id: clockid_t,
1442 __evp: *mut sigevent,
1443 __timerid: *mut timer_t,
1444 ) -> ::std::os::raw::c_int;
1445}
1446extern "C" {
1447 pub fn timer_delete(__timerid: timer_t) -> ::std::os::raw::c_int;
1448}
1449extern "C" {
1450 pub fn timer_settime(
1451 __timerid: timer_t,
1452 __flags: ::std::os::raw::c_int,
1453 __value: *const itimerspec,
1454 __ovalue: *mut itimerspec,
1455 ) -> ::std::os::raw::c_int;
1456}
1457extern "C" {
1458 pub fn timer_gettime(__timerid: timer_t, __value: *mut itimerspec) -> ::std::os::raw::c_int;
1459}
1460extern "C" {
1461 pub fn timer_getoverrun(__timerid: timer_t) -> ::std::os::raw::c_int;
1462}
1463extern "C" {
1464 pub fn timespec_get(
1465 __ts: *mut timespec,
1466 __base: ::std::os::raw::c_int,
1467 ) -> ::std::os::raw::c_int;
1468}
1469pub type va_list = __builtin_va_list;
1470pub type __gnuc_va_list = __builtin_va_list;
1471#[repr(C)]
1472#[derive(Copy, Clone)]
1473pub struct __mbstate_t {
1474 pub __count: ::std::os::raw::c_int,
1475 pub __value: __mbstate_t__bindgen_ty_1,
1476}
1477#[repr(C)]
1478#[derive(Copy, Clone)]
1479pub union __mbstate_t__bindgen_ty_1 {
1480 pub __wch: ::std::os::raw::c_uint,
1481 pub __wchb: [::std::os::raw::c_char; 4usize],
1482 _bindgen_union_align: u32,
1483}
1484#[repr(C)]
1485#[derive(Copy, Clone)]
1486pub struct _G_fpos_t {
1487 pub __pos: __off_t,
1488 pub __state: __mbstate_t,
1489}
1490pub type __fpos_t = _G_fpos_t;
1491#[repr(C)]
1492#[derive(Copy, Clone)]
1493pub struct _G_fpos64_t {
1494 pub __pos: __off64_t,
1495 pub __state: __mbstate_t,
1496}
1497pub type __fpos64_t = _G_fpos64_t;
1498pub type __FILE = _IO_FILE;
1499pub type FILE = _IO_FILE;
1500#[repr(C)]
1501#[derive(Debug, Copy, Clone)]
1502pub struct _IO_marker {
1503 _unused: [u8; 0],
1504}
1505#[repr(C)]
1506#[derive(Debug, Copy, Clone)]
1507pub struct _IO_codecvt {
1508 _unused: [u8; 0],
1509}
1510#[repr(C)]
1511#[derive(Debug, Copy, Clone)]
1512pub struct _IO_wide_data {
1513 _unused: [u8; 0],
1514}
1515pub type _IO_lock_t = ::std::os::raw::c_void;
1516#[repr(C)]
1517#[derive(Debug, Copy, Clone)]
1518pub struct _IO_FILE {
1519 pub _flags: ::std::os::raw::c_int,
1520 pub _IO_read_ptr: *mut ::std::os::raw::c_char,
1521 pub _IO_read_end: *mut ::std::os::raw::c_char,
1522 pub _IO_read_base: *mut ::std::os::raw::c_char,
1523 pub _IO_write_base: *mut ::std::os::raw::c_char,
1524 pub _IO_write_ptr: *mut ::std::os::raw::c_char,
1525 pub _IO_write_end: *mut ::std::os::raw::c_char,
1526 pub _IO_buf_base: *mut ::std::os::raw::c_char,
1527 pub _IO_buf_end: *mut ::std::os::raw::c_char,
1528 pub _IO_save_base: *mut ::std::os::raw::c_char,
1529 pub _IO_backup_base: *mut ::std::os::raw::c_char,
1530 pub _IO_save_end: *mut ::std::os::raw::c_char,
1531 pub _markers: *mut _IO_marker,
1532 pub _chain: *mut _IO_FILE,
1533 pub _fileno: ::std::os::raw::c_int,
1534 pub _flags2: ::std::os::raw::c_int,
1535 pub _old_offset: __off_t,
1536 pub _cur_column: ::std::os::raw::c_ushort,
1537 pub _vtable_offset: ::std::os::raw::c_schar,
1538 pub _shortbuf: [::std::os::raw::c_char; 1usize],
1539 pub _lock: *mut _IO_lock_t,
1540 pub _offset: __off64_t,
1541 pub _codecvt: *mut _IO_codecvt,
1542 pub _wide_data: *mut _IO_wide_data,
1543 pub _freeres_list: *mut _IO_FILE,
1544 pub _freeres_buf: *mut ::std::os::raw::c_void,
1545 pub __pad5: usize,
1546 pub _mode: ::std::os::raw::c_int,
1547 pub _unused2: [::std::os::raw::c_char; 20usize],
1548}
1549pub type off_t = __off_t;
1550pub type fpos_t = __fpos_t;
1551extern "C" {
1552 #[link_name = "\u{1}stdin"]
1553 pub static mut stdin: *mut FILE;
1554}
1555extern "C" {
1556 #[link_name = "\u{1}stdout"]
1557 pub static mut stdout: *mut FILE;
1558}
1559extern "C" {
1560 #[link_name = "\u{1}stderr"]
1561 pub static mut stderr: *mut FILE;
1562}
1563extern "C" {
1564 pub fn remove(__filename: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
1565}
1566extern "C" {
1567 pub fn rename(
1568 __old: *const ::std::os::raw::c_char,
1569 __new: *const ::std::os::raw::c_char,
1570 ) -> ::std::os::raw::c_int;
1571}
1572extern "C" {
1573 pub fn renameat(
1574 __oldfd: ::std::os::raw::c_int,
1575 __old: *const ::std::os::raw::c_char,
1576 __newfd: ::std::os::raw::c_int,
1577 __new: *const ::std::os::raw::c_char,
1578 ) -> ::std::os::raw::c_int;
1579}
1580extern "C" {
1581 pub fn tmpfile() -> *mut FILE;
1582}
1583extern "C" {
1584 pub fn tmpnam(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
1585}
1586extern "C" {
1587 pub fn tmpnam_r(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
1588}
1589extern "C" {
1590 pub fn tempnam(
1591 __dir: *const ::std::os::raw::c_char,
1592 __pfx: *const ::std::os::raw::c_char,
1593 ) -> *mut ::std::os::raw::c_char;
1594}
1595extern "C" {
1596 pub fn fclose(__stream: *mut FILE) -> ::std::os::raw::c_int;
1597}
1598extern "C" {
1599 pub fn fflush(__stream: *mut FILE) -> ::std::os::raw::c_int;
1600}
1601extern "C" {
1602 pub fn fflush_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
1603}
1604extern "C" {
1605 pub fn fopen(
1606 __filename: *const ::std::os::raw::c_char,
1607 __modes: *const ::std::os::raw::c_char,
1608 ) -> *mut FILE;
1609}
1610extern "C" {
1611 pub fn freopen(
1612 __filename: *const ::std::os::raw::c_char,
1613 __modes: *const ::std::os::raw::c_char,
1614 __stream: *mut FILE,
1615 ) -> *mut FILE;
1616}
1617extern "C" {
1618 pub fn fdopen(__fd: ::std::os::raw::c_int, __modes: *const ::std::os::raw::c_char)
1619 -> *mut FILE;
1620}
1621extern "C" {
1622 pub fn fmemopen(
1623 __s: *mut ::std::os::raw::c_void,
1624 __len: usize,
1625 __modes: *const ::std::os::raw::c_char,
1626 ) -> *mut FILE;
1627}
1628extern "C" {
1629 pub fn open_memstream(
1630 __bufloc: *mut *mut ::std::os::raw::c_char,
1631 __sizeloc: *mut usize,
1632 ) -> *mut FILE;
1633}
1634extern "C" {
1635 pub fn setbuf(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char);
1636}
1637extern "C" {
1638 pub fn setvbuf(
1639 __stream: *mut FILE,
1640 __buf: *mut ::std::os::raw::c_char,
1641 __modes: ::std::os::raw::c_int,
1642 __n: usize,
1643 ) -> ::std::os::raw::c_int;
1644}
1645extern "C" {
1646 pub fn setbuffer(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char, __size: usize);
1647}
1648extern "C" {
1649 pub fn setlinebuf(__stream: *mut FILE);
1650}
1651extern "C" {
1652 pub fn fprintf(
1653 __stream: *mut FILE,
1654 __format: *const ::std::os::raw::c_char,
1655 ...
1656 ) -> ::std::os::raw::c_int;
1657}
1658extern "C" {
1659 pub fn printf(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
1660}
1661extern "C" {
1662 pub fn sprintf(
1663 __s: *mut ::std::os::raw::c_char,
1664 __format: *const ::std::os::raw::c_char,
1665 ...
1666 ) -> ::std::os::raw::c_int;
1667}
1668extern "C" {
1669 pub fn vfprintf(
1670 __s: *mut FILE,
1671 __format: *const ::std::os::raw::c_char,
1672 __arg: *mut __va_list_tag,
1673 ) -> ::std::os::raw::c_int;
1674}
1675extern "C" {
1676 pub fn vprintf(
1677 __format: *const ::std::os::raw::c_char,
1678 __arg: *mut __va_list_tag,
1679 ) -> ::std::os::raw::c_int;
1680}
1681extern "C" {
1682 pub fn vsprintf(
1683 __s: *mut ::std::os::raw::c_char,
1684 __format: *const ::std::os::raw::c_char,
1685 __arg: *mut __va_list_tag,
1686 ) -> ::std::os::raw::c_int;
1687}
1688extern "C" {
1689 pub fn snprintf(
1690 __s: *mut ::std::os::raw::c_char,
1691 __maxlen: ::std::os::raw::c_ulong,
1692 __format: *const ::std::os::raw::c_char,
1693 ...
1694 ) -> ::std::os::raw::c_int;
1695}
1696extern "C" {
1697 pub fn vsnprintf(
1698 __s: *mut ::std::os::raw::c_char,
1699 __maxlen: ::std::os::raw::c_ulong,
1700 __format: *const ::std::os::raw::c_char,
1701 __arg: *mut __va_list_tag,
1702 ) -> ::std::os::raw::c_int;
1703}
1704extern "C" {
1705 pub fn vdprintf(
1706 __fd: ::std::os::raw::c_int,
1707 __fmt: *const ::std::os::raw::c_char,
1708 __arg: *mut __va_list_tag,
1709 ) -> ::std::os::raw::c_int;
1710}
1711extern "C" {
1712 pub fn dprintf(
1713 __fd: ::std::os::raw::c_int,
1714 __fmt: *const ::std::os::raw::c_char,
1715 ...
1716 ) -> ::std::os::raw::c_int;
1717}
1718extern "C" {
1719 pub fn fscanf(
1720 __stream: *mut FILE,
1721 __format: *const ::std::os::raw::c_char,
1722 ...
1723 ) -> ::std::os::raw::c_int;
1724}
1725extern "C" {
1726 pub fn scanf(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
1727}
1728extern "C" {
1729 pub fn sscanf(
1730 __s: *const ::std::os::raw::c_char,
1731 __format: *const ::std::os::raw::c_char,
1732 ...
1733 ) -> ::std::os::raw::c_int;
1734}
1735extern "C" {
1736 #[link_name = "\u{1}__isoc99_fscanf"]
1737 pub fn fscanf1(
1738 __stream: *mut FILE,
1739 __format: *const ::std::os::raw::c_char,
1740 ...
1741 ) -> ::std::os::raw::c_int;
1742}
1743extern "C" {
1744 #[link_name = "\u{1}__isoc99_scanf"]
1745 pub fn scanf1(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
1746}
1747extern "C" {
1748 #[link_name = "\u{1}__isoc99_sscanf"]
1749 pub fn sscanf1(
1750 __s: *const ::std::os::raw::c_char,
1751 __format: *const ::std::os::raw::c_char,
1752 ...
1753 ) -> ::std::os::raw::c_int;
1754}
1755extern "C" {
1756 pub fn vfscanf(
1757 __s: *mut FILE,
1758 __format: *const ::std::os::raw::c_char,
1759 __arg: *mut __va_list_tag,
1760 ) -> ::std::os::raw::c_int;
1761}
1762extern "C" {
1763 pub fn vscanf(
1764 __format: *const ::std::os::raw::c_char,
1765 __arg: *mut __va_list_tag,
1766 ) -> ::std::os::raw::c_int;
1767}
1768extern "C" {
1769 pub fn vsscanf(
1770 __s: *const ::std::os::raw::c_char,
1771 __format: *const ::std::os::raw::c_char,
1772 __arg: *mut __va_list_tag,
1773 ) -> ::std::os::raw::c_int;
1774}
1775extern "C" {
1776 #[link_name = "\u{1}__isoc99_vfscanf"]
1777 pub fn vfscanf1(
1778 __s: *mut FILE,
1779 __format: *const ::std::os::raw::c_char,
1780 __arg: *mut __va_list_tag,
1781 ) -> ::std::os::raw::c_int;
1782}
1783extern "C" {
1784 #[link_name = "\u{1}__isoc99_vscanf"]
1785 pub fn vscanf1(
1786 __format: *const ::std::os::raw::c_char,
1787 __arg: *mut __va_list_tag,
1788 ) -> ::std::os::raw::c_int;
1789}
1790extern "C" {
1791 #[link_name = "\u{1}__isoc99_vsscanf"]
1792 pub fn vsscanf1(
1793 __s: *const ::std::os::raw::c_char,
1794 __format: *const ::std::os::raw::c_char,
1795 __arg: *mut __va_list_tag,
1796 ) -> ::std::os::raw::c_int;
1797}
1798extern "C" {
1799 pub fn fgetc(__stream: *mut FILE) -> ::std::os::raw::c_int;
1800}
1801extern "C" {
1802 pub fn getc(__stream: *mut FILE) -> ::std::os::raw::c_int;
1803}
1804extern "C" {
1805 pub fn getchar() -> ::std::os::raw::c_int;
1806}
1807extern "C" {
1808 pub fn getc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
1809}
1810extern "C" {
1811 pub fn getchar_unlocked() -> ::std::os::raw::c_int;
1812}
1813extern "C" {
1814 pub fn fgetc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
1815}
1816extern "C" {
1817 pub fn fputc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
1818}
1819extern "C" {
1820 pub fn putc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
1821}
1822extern "C" {
1823 pub fn putchar(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
1824}
1825extern "C" {
1826 pub fn fputc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE)
1827 -> ::std::os::raw::c_int;
1828}
1829extern "C" {
1830 pub fn putc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
1831}
1832extern "C" {
1833 pub fn putchar_unlocked(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
1834}
1835extern "C" {
1836 pub fn getw(__stream: *mut FILE) -> ::std::os::raw::c_int;
1837}
1838extern "C" {
1839 pub fn putw(__w: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
1840}
1841extern "C" {
1842 pub fn fgets(
1843 __s: *mut ::std::os::raw::c_char,
1844 __n: ::std::os::raw::c_int,
1845 __stream: *mut FILE,
1846 ) -> *mut ::std::os::raw::c_char;
1847}
1848extern "C" {
1849 pub fn __getdelim(
1850 __lineptr: *mut *mut ::std::os::raw::c_char,
1851 __n: *mut usize,
1852 __delimiter: ::std::os::raw::c_int,
1853 __stream: *mut FILE,
1854 ) -> __ssize_t;
1855}
1856extern "C" {
1857 pub fn getdelim(
1858 __lineptr: *mut *mut ::std::os::raw::c_char,
1859 __n: *mut usize,
1860 __delimiter: ::std::os::raw::c_int,
1861 __stream: *mut FILE,
1862 ) -> __ssize_t;
1863}
1864extern "C" {
1865 pub fn getline(
1866 __lineptr: *mut *mut ::std::os::raw::c_char,
1867 __n: *mut usize,
1868 __stream: *mut FILE,
1869 ) -> __ssize_t;
1870}
1871extern "C" {
1872 pub fn fputs(__s: *const ::std::os::raw::c_char, __stream: *mut FILE) -> ::std::os::raw::c_int;
1873}
1874extern "C" {
1875 pub fn puts(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
1876}
1877extern "C" {
1878 pub fn ungetc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
1879}
1880extern "C" {
1881 pub fn fread(
1882 __ptr: *mut ::std::os::raw::c_void,
1883 __size: ::std::os::raw::c_ulong,
1884 __n: ::std::os::raw::c_ulong,
1885 __stream: *mut FILE,
1886 ) -> ::std::os::raw::c_ulong;
1887}
1888extern "C" {
1889 pub fn fwrite(
1890 __ptr: *const ::std::os::raw::c_void,
1891 __size: ::std::os::raw::c_ulong,
1892 __n: ::std::os::raw::c_ulong,
1893 __s: *mut FILE,
1894 ) -> ::std::os::raw::c_ulong;
1895}
1896extern "C" {
1897 pub fn fread_unlocked(
1898 __ptr: *mut ::std::os::raw::c_void,
1899 __size: usize,
1900 __n: usize,
1901 __stream: *mut FILE,
1902 ) -> usize;
1903}
1904extern "C" {
1905 pub fn fwrite_unlocked(
1906 __ptr: *const ::std::os::raw::c_void,
1907 __size: usize,
1908 __n: usize,
1909 __stream: *mut FILE,
1910 ) -> usize;
1911}
1912extern "C" {
1913 pub fn fseek(
1914 __stream: *mut FILE,
1915 __off: ::std::os::raw::c_long,
1916 __whence: ::std::os::raw::c_int,
1917 ) -> ::std::os::raw::c_int;
1918}
1919extern "C" {
1920 pub fn ftell(__stream: *mut FILE) -> ::std::os::raw::c_long;
1921}
1922extern "C" {
1923 pub fn rewind(__stream: *mut FILE);
1924}
1925extern "C" {
1926 pub fn fseeko(
1927 __stream: *mut FILE,
1928 __off: __off_t,
1929 __whence: ::std::os::raw::c_int,
1930 ) -> ::std::os::raw::c_int;
1931}
1932extern "C" {
1933 pub fn ftello(__stream: *mut FILE) -> __off_t;
1934}
1935extern "C" {
1936 pub fn fgetpos(__stream: *mut FILE, __pos: *mut fpos_t) -> ::std::os::raw::c_int;
1937}
1938extern "C" {
1939 pub fn fsetpos(__stream: *mut FILE, __pos: *const fpos_t) -> ::std::os::raw::c_int;
1940}
1941extern "C" {
1942 pub fn clearerr(__stream: *mut FILE);
1943}
1944extern "C" {
1945 pub fn feof(__stream: *mut FILE) -> ::std::os::raw::c_int;
1946}
1947extern "C" {
1948 pub fn ferror(__stream: *mut FILE) -> ::std::os::raw::c_int;
1949}
1950extern "C" {
1951 pub fn clearerr_unlocked(__stream: *mut FILE);
1952}
1953extern "C" {
1954 pub fn feof_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
1955}
1956extern "C" {
1957 pub fn ferror_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
1958}
1959extern "C" {
1960 pub fn perror(__s: *const ::std::os::raw::c_char);
1961}
1962extern "C" {
1963 #[link_name = "\u{1}sys_nerr"]
1964 pub static mut sys_nerr: ::std::os::raw::c_int;
1965}
1966extern "C" {
1967 #[link_name = "\u{1}sys_errlist"]
1968 pub static mut sys_errlist: [*const ::std::os::raw::c_char; 0usize];
1969}
1970extern "C" {
1971 pub fn fileno(__stream: *mut FILE) -> ::std::os::raw::c_int;
1972}
1973extern "C" {
1974 pub fn fileno_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
1975}
1976extern "C" {
1977 pub fn popen(
1978 __command: *const ::std::os::raw::c_char,
1979 __modes: *const ::std::os::raw::c_char,
1980 ) -> *mut FILE;
1981}
1982extern "C" {
1983 pub fn pclose(__stream: *mut FILE) -> ::std::os::raw::c_int;
1984}
1985extern "C" {
1986 pub fn ctermid(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
1987}
1988extern "C" {
1989 pub fn flockfile(__stream: *mut FILE);
1990}
1991extern "C" {
1992 pub fn ftrylockfile(__stream: *mut FILE) -> ::std::os::raw::c_int;
1993}
1994extern "C" {
1995 pub fn funlockfile(__stream: *mut FILE);
1996}
1997extern "C" {
1998 pub fn __uflow(arg1: *mut FILE) -> ::std::os::raw::c_int;
1999}
2000extern "C" {
2001 pub fn __overflow(arg1: *mut FILE, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
2002}
2003extern "C" {
2004 pub fn __errno_location() -> *mut ::std::os::raw::c_int;
2005}
2006pub type int_least8_t = __int_least8_t;
2007pub type int_least16_t = __int_least16_t;
2008pub type int_least32_t = __int_least32_t;
2009pub type int_least64_t = __int_least64_t;
2010pub type uint_least8_t = __uint_least8_t;
2011pub type uint_least16_t = __uint_least16_t;
2012pub type uint_least32_t = __uint_least32_t;
2013pub type uint_least64_t = __uint_least64_t;
2014pub type int_fast8_t = ::std::os::raw::c_schar;
2015pub type int_fast16_t = ::std::os::raw::c_long;
2016pub type int_fast32_t = ::std::os::raw::c_long;
2017pub type int_fast64_t = ::std::os::raw::c_long;
2018pub type uint_fast8_t = ::std::os::raw::c_uchar;
2019pub type uint_fast16_t = ::std::os::raw::c_ulong;
2020pub type uint_fast32_t = ::std::os::raw::c_ulong;
2021pub type uint_fast64_t = ::std::os::raw::c_ulong;
2022pub type intmax_t = __intmax_t;
2023pub type uintmax_t = __uintmax_t;
2024extern "C" {
2025 pub fn avutil_version() -> ::std::os::raw::c_uint;
2026}
2027extern "C" {
2028 pub fn av_version_info() -> *const ::std::os::raw::c_char;
2029}
2030extern "C" {
2031 pub fn avutil_configuration() -> *const ::std::os::raw::c_char;
2032}
2033extern "C" {
2034 pub fn avutil_license() -> *const ::std::os::raw::c_char;
2035}
2036pub const AVMediaType_AVMEDIA_TYPE_UNKNOWN: AVMediaType = -1;
2037pub const AVMediaType_AVMEDIA_TYPE_VIDEO: AVMediaType = 0;
2038pub const AVMediaType_AVMEDIA_TYPE_AUDIO: AVMediaType = 1;
2039pub const AVMediaType_AVMEDIA_TYPE_DATA: AVMediaType = 2;
2040pub const AVMediaType_AVMEDIA_TYPE_SUBTITLE: AVMediaType = 3;
2041pub const AVMediaType_AVMEDIA_TYPE_ATTACHMENT: AVMediaType = 4;
2042pub const AVMediaType_AVMEDIA_TYPE_NB: AVMediaType = 5;
2043pub type AVMediaType = i32;
2044extern "C" {
2045 pub fn av_get_media_type_string(media_type: AVMediaType) -> *const ::std::os::raw::c_char;
2046}
2047pub const AVPictureType_AV_PICTURE_TYPE_NONE: AVPictureType = 0;
2048pub const AVPictureType_AV_PICTURE_TYPE_I: AVPictureType = 1;
2049pub const AVPictureType_AV_PICTURE_TYPE_P: AVPictureType = 2;
2050pub const AVPictureType_AV_PICTURE_TYPE_B: AVPictureType = 3;
2051pub const AVPictureType_AV_PICTURE_TYPE_S: AVPictureType = 4;
2052pub const AVPictureType_AV_PICTURE_TYPE_SI: AVPictureType = 5;
2053pub const AVPictureType_AV_PICTURE_TYPE_SP: AVPictureType = 6;
2054pub const AVPictureType_AV_PICTURE_TYPE_BI: AVPictureType = 7;
2055pub type AVPictureType = u32;
2056extern "C" {
2057 pub fn av_get_picture_type_char(pict_type: AVPictureType) -> ::std::os::raw::c_char;
2058}
2059pub type __gwchar_t = ::std::os::raw::c_int;
2060#[repr(C)]
2061#[derive(Debug, Copy, Clone)]
2062pub struct imaxdiv_t {
2063 pub quot: ::std::os::raw::c_long,
2064 pub rem: ::std::os::raw::c_long,
2065}
2066extern "C" {
2067 pub fn imaxabs(__n: intmax_t) -> intmax_t;
2068}
2069extern "C" {
2070 pub fn imaxdiv(__numer: intmax_t, __denom: intmax_t) -> imaxdiv_t;
2071}
2072extern "C" {
2073 pub fn strtoimax(
2074 __nptr: *const ::std::os::raw::c_char,
2075 __endptr: *mut *mut ::std::os::raw::c_char,
2076 __base: ::std::os::raw::c_int,
2077 ) -> intmax_t;
2078}
2079extern "C" {
2080 pub fn strtoumax(
2081 __nptr: *const ::std::os::raw::c_char,
2082 __endptr: *mut *mut ::std::os::raw::c_char,
2083 __base: ::std::os::raw::c_int,
2084 ) -> uintmax_t;
2085}
2086extern "C" {
2087 pub fn wcstoimax(
2088 __nptr: *const __gwchar_t,
2089 __endptr: *mut *mut __gwchar_t,
2090 __base: ::std::os::raw::c_int,
2091 ) -> intmax_t;
2092}
2093extern "C" {
2094 pub fn wcstoumax(
2095 __nptr: *const __gwchar_t,
2096 __endptr: *mut *mut __gwchar_t,
2097 __base: ::std::os::raw::c_int,
2098 ) -> uintmax_t;
2099}
2100pub type _Float32 = f32;
2101pub type _Float64 = f64;
2102pub type _Float32x = f64;
2103pub type _Float64x = u128;
2104pub type float_t = f32;
2105pub type double_t = f64;
2106extern "C" {
2107 pub fn __fpclassify(__value: f64) -> ::std::os::raw::c_int;
2108}
2109extern "C" {
2110 pub fn __signbit(__value: f64) -> ::std::os::raw::c_int;
2111}
2112extern "C" {
2113 pub fn __isinf(__value: f64) -> ::std::os::raw::c_int;
2114}
2115extern "C" {
2116 pub fn __finite(__value: f64) -> ::std::os::raw::c_int;
2117}
2118extern "C" {
2119 pub fn __isnan(__value: f64) -> ::std::os::raw::c_int;
2120}
2121extern "C" {
2122 pub fn __iseqsig(__x: f64, __y: f64) -> ::std::os::raw::c_int;
2123}
2124extern "C" {
2125 pub fn __issignaling(__value: f64) -> ::std::os::raw::c_int;
2126}
2127extern "C" {
2128 pub fn acos(__x: f64) -> f64;
2129}
2130extern "C" {
2131 pub fn __acos(__x: f64) -> f64;
2132}
2133extern "C" {
2134 pub fn asin(__x: f64) -> f64;
2135}
2136extern "C" {
2137 pub fn __asin(__x: f64) -> f64;
2138}
2139extern "C" {
2140 pub fn atan(__x: f64) -> f64;
2141}
2142extern "C" {
2143 pub fn __atan(__x: f64) -> f64;
2144}
2145extern "C" {
2146 pub fn atan2(__y: f64, __x: f64) -> f64;
2147}
2148extern "C" {
2149 pub fn __atan2(__y: f64, __x: f64) -> f64;
2150}
2151extern "C" {
2152 pub fn cos(__x: f64) -> f64;
2153}
2154extern "C" {
2155 pub fn __cos(__x: f64) -> f64;
2156}
2157extern "C" {
2158 pub fn sin(__x: f64) -> f64;
2159}
2160extern "C" {
2161 pub fn __sin(__x: f64) -> f64;
2162}
2163extern "C" {
2164 pub fn tan(__x: f64) -> f64;
2165}
2166extern "C" {
2167 pub fn __tan(__x: f64) -> f64;
2168}
2169extern "C" {
2170 pub fn cosh(__x: f64) -> f64;
2171}
2172extern "C" {
2173 pub fn __cosh(__x: f64) -> f64;
2174}
2175extern "C" {
2176 pub fn sinh(__x: f64) -> f64;
2177}
2178extern "C" {
2179 pub fn __sinh(__x: f64) -> f64;
2180}
2181extern "C" {
2182 pub fn tanh(__x: f64) -> f64;
2183}
2184extern "C" {
2185 pub fn __tanh(__x: f64) -> f64;
2186}
2187extern "C" {
2188 pub fn acosh(__x: f64) -> f64;
2189}
2190extern "C" {
2191 pub fn __acosh(__x: f64) -> f64;
2192}
2193extern "C" {
2194 pub fn asinh(__x: f64) -> f64;
2195}
2196extern "C" {
2197 pub fn __asinh(__x: f64) -> f64;
2198}
2199extern "C" {
2200 pub fn atanh(__x: f64) -> f64;
2201}
2202extern "C" {
2203 pub fn __atanh(__x: f64) -> f64;
2204}
2205extern "C" {
2206 pub fn exp(__x: f64) -> f64;
2207}
2208extern "C" {
2209 pub fn __exp(__x: f64) -> f64;
2210}
2211extern "C" {
2212 pub fn frexp(__x: f64, __exponent: *mut ::std::os::raw::c_int) -> f64;
2213}
2214extern "C" {
2215 pub fn __frexp(__x: f64, __exponent: *mut ::std::os::raw::c_int) -> f64;
2216}
2217extern "C" {
2218 pub fn ldexp(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
2219}
2220extern "C" {
2221 pub fn __ldexp(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
2222}
2223extern "C" {
2224 pub fn log(__x: f64) -> f64;
2225}
2226extern "C" {
2227 pub fn __log(__x: f64) -> f64;
2228}
2229extern "C" {
2230 pub fn log10(__x: f64) -> f64;
2231}
2232extern "C" {
2233 pub fn __log10(__x: f64) -> f64;
2234}
2235extern "C" {
2236 pub fn modf(__x: f64, __iptr: *mut f64) -> f64;
2237}
2238extern "C" {
2239 pub fn __modf(__x: f64, __iptr: *mut f64) -> f64;
2240}
2241extern "C" {
2242 pub fn expm1(__x: f64) -> f64;
2243}
2244extern "C" {
2245 pub fn __expm1(__x: f64) -> f64;
2246}
2247extern "C" {
2248 pub fn log1p(__x: f64) -> f64;
2249}
2250extern "C" {
2251 pub fn __log1p(__x: f64) -> f64;
2252}
2253extern "C" {
2254 pub fn logb(__x: f64) -> f64;
2255}
2256extern "C" {
2257 pub fn __logb(__x: f64) -> f64;
2258}
2259extern "C" {
2260 pub fn exp2(__x: f64) -> f64;
2261}
2262extern "C" {
2263 pub fn __exp2(__x: f64) -> f64;
2264}
2265extern "C" {
2266 pub fn log2(__x: f64) -> f64;
2267}
2268extern "C" {
2269 pub fn __log2(__x: f64) -> f64;
2270}
2271extern "C" {
2272 pub fn pow(__x: f64, __y: f64) -> f64;
2273}
2274extern "C" {
2275 pub fn __pow(__x: f64, __y: f64) -> f64;
2276}
2277extern "C" {
2278 pub fn sqrt(__x: f64) -> f64;
2279}
2280extern "C" {
2281 pub fn __sqrt(__x: f64) -> f64;
2282}
2283extern "C" {
2284 pub fn hypot(__x: f64, __y: f64) -> f64;
2285}
2286extern "C" {
2287 pub fn __hypot(__x: f64, __y: f64) -> f64;
2288}
2289extern "C" {
2290 pub fn cbrt(__x: f64) -> f64;
2291}
2292extern "C" {
2293 pub fn __cbrt(__x: f64) -> f64;
2294}
2295extern "C" {
2296 pub fn ceil(__x: f64) -> f64;
2297}
2298extern "C" {
2299 pub fn __ceil(__x: f64) -> f64;
2300}
2301extern "C" {
2302 pub fn fabs(__x: f64) -> f64;
2303}
2304extern "C" {
2305 pub fn __fabs(__x: f64) -> f64;
2306}
2307extern "C" {
2308 pub fn floor(__x: f64) -> f64;
2309}
2310extern "C" {
2311 pub fn __floor(__x: f64) -> f64;
2312}
2313extern "C" {
2314 pub fn fmod(__x: f64, __y: f64) -> f64;
2315}
2316extern "C" {
2317 pub fn __fmod(__x: f64, __y: f64) -> f64;
2318}
2319extern "C" {
2320 pub fn isinf(__value: f64) -> ::std::os::raw::c_int;
2321}
2322extern "C" {
2323 pub fn finite(__value: f64) -> ::std::os::raw::c_int;
2324}
2325extern "C" {
2326 pub fn drem(__x: f64, __y: f64) -> f64;
2327}
2328extern "C" {
2329 pub fn __drem(__x: f64, __y: f64) -> f64;
2330}
2331extern "C" {
2332 pub fn significand(__x: f64) -> f64;
2333}
2334extern "C" {
2335 pub fn __significand(__x: f64) -> f64;
2336}
2337extern "C" {
2338 pub fn copysign(__x: f64, __y: f64) -> f64;
2339}
2340extern "C" {
2341 pub fn __copysign(__x: f64, __y: f64) -> f64;
2342}
2343extern "C" {
2344 pub fn nan(__tagb: *const ::std::os::raw::c_char) -> f64;
2345}
2346extern "C" {
2347 pub fn __nan(__tagb: *const ::std::os::raw::c_char) -> f64;
2348}
2349extern "C" {
2350 pub fn isnan(__value: f64) -> ::std::os::raw::c_int;
2351}
2352extern "C" {
2353 pub fn j0(arg1: f64) -> f64;
2354}
2355extern "C" {
2356 pub fn __j0(arg1: f64) -> f64;
2357}
2358extern "C" {
2359 pub fn j1(arg1: f64) -> f64;
2360}
2361extern "C" {
2362 pub fn __j1(arg1: f64) -> f64;
2363}
2364extern "C" {
2365 pub fn jn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64;
2366}
2367extern "C" {
2368 pub fn __jn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64;
2369}
2370extern "C" {
2371 pub fn y0(arg1: f64) -> f64;
2372}
2373extern "C" {
2374 pub fn __y0(arg1: f64) -> f64;
2375}
2376extern "C" {
2377 pub fn y1(arg1: f64) -> f64;
2378}
2379extern "C" {
2380 pub fn __y1(arg1: f64) -> f64;
2381}
2382extern "C" {
2383 pub fn yn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64;
2384}
2385extern "C" {
2386 pub fn __yn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64;
2387}
2388extern "C" {
2389 pub fn erf(arg1: f64) -> f64;
2390}
2391extern "C" {
2392 pub fn __erf(arg1: f64) -> f64;
2393}
2394extern "C" {
2395 pub fn erfc(arg1: f64) -> f64;
2396}
2397extern "C" {
2398 pub fn __erfc(arg1: f64) -> f64;
2399}
2400extern "C" {
2401 pub fn lgamma(arg1: f64) -> f64;
2402}
2403extern "C" {
2404 pub fn __lgamma(arg1: f64) -> f64;
2405}
2406extern "C" {
2407 pub fn tgamma(arg1: f64) -> f64;
2408}
2409extern "C" {
2410 pub fn __tgamma(arg1: f64) -> f64;
2411}
2412extern "C" {
2413 pub fn gamma(arg1: f64) -> f64;
2414}
2415extern "C" {
2416 pub fn __gamma(arg1: f64) -> f64;
2417}
2418extern "C" {
2419 pub fn lgamma_r(arg1: f64, __signgamp: *mut ::std::os::raw::c_int) -> f64;
2420}
2421extern "C" {
2422 pub fn __lgamma_r(arg1: f64, __signgamp: *mut ::std::os::raw::c_int) -> f64;
2423}
2424extern "C" {
2425 pub fn rint(__x: f64) -> f64;
2426}
2427extern "C" {
2428 pub fn __rint(__x: f64) -> f64;
2429}
2430extern "C" {
2431 pub fn nextafter(__x: f64, __y: f64) -> f64;
2432}
2433extern "C" {
2434 pub fn __nextafter(__x: f64, __y: f64) -> f64;
2435}
2436extern "C" {
2437 pub fn nexttoward(__x: f64, __y: u128) -> f64;
2438}
2439extern "C" {
2440 pub fn __nexttoward(__x: f64, __y: u128) -> f64;
2441}
2442extern "C" {
2443 pub fn remainder(__x: f64, __y: f64) -> f64;
2444}
2445extern "C" {
2446 pub fn __remainder(__x: f64, __y: f64) -> f64;
2447}
2448extern "C" {
2449 pub fn scalbn(__x: f64, __n: ::std::os::raw::c_int) -> f64;
2450}
2451extern "C" {
2452 pub fn __scalbn(__x: f64, __n: ::std::os::raw::c_int) -> f64;
2453}
2454extern "C" {
2455 pub fn ilogb(__x: f64) -> ::std::os::raw::c_int;
2456}
2457extern "C" {
2458 pub fn __ilogb(__x: f64) -> ::std::os::raw::c_int;
2459}
2460extern "C" {
2461 pub fn scalbln(__x: f64, __n: ::std::os::raw::c_long) -> f64;
2462}
2463extern "C" {
2464 pub fn __scalbln(__x: f64, __n: ::std::os::raw::c_long) -> f64;
2465}
2466extern "C" {
2467 pub fn nearbyint(__x: f64) -> f64;
2468}
2469extern "C" {
2470 pub fn __nearbyint(__x: f64) -> f64;
2471}
2472extern "C" {
2473 pub fn round(__x: f64) -> f64;
2474}
2475extern "C" {
2476 pub fn __round(__x: f64) -> f64;
2477}
2478extern "C" {
2479 pub fn trunc(__x: f64) -> f64;
2480}
2481extern "C" {
2482 pub fn __trunc(__x: f64) -> f64;
2483}
2484extern "C" {
2485 pub fn remquo(__x: f64, __y: f64, __quo: *mut ::std::os::raw::c_int) -> f64;
2486}
2487extern "C" {
2488 pub fn __remquo(__x: f64, __y: f64, __quo: *mut ::std::os::raw::c_int) -> f64;
2489}
2490extern "C" {
2491 pub fn lrint(__x: f64) -> ::std::os::raw::c_long;
2492}
2493extern "C" {
2494 pub fn __lrint(__x: f64) -> ::std::os::raw::c_long;
2495}
2496extern "C" {
2497 pub fn llrint(__x: f64) -> ::std::os::raw::c_longlong;
2498}
2499extern "C" {
2500 pub fn __llrint(__x: f64) -> ::std::os::raw::c_longlong;
2501}
2502extern "C" {
2503 pub fn lround(__x: f64) -> ::std::os::raw::c_long;
2504}
2505extern "C" {
2506 pub fn __lround(__x: f64) -> ::std::os::raw::c_long;
2507}
2508extern "C" {
2509 pub fn llround(__x: f64) -> ::std::os::raw::c_longlong;
2510}
2511extern "C" {
2512 pub fn __llround(__x: f64) -> ::std::os::raw::c_longlong;
2513}
2514extern "C" {
2515 pub fn fdim(__x: f64, __y: f64) -> f64;
2516}
2517extern "C" {
2518 pub fn __fdim(__x: f64, __y: f64) -> f64;
2519}
2520extern "C" {
2521 pub fn fmax(__x: f64, __y: f64) -> f64;
2522}
2523extern "C" {
2524 pub fn __fmax(__x: f64, __y: f64) -> f64;
2525}
2526extern "C" {
2527 pub fn fmin(__x: f64, __y: f64) -> f64;
2528}
2529extern "C" {
2530 pub fn __fmin(__x: f64, __y: f64) -> f64;
2531}
2532extern "C" {
2533 pub fn fma(__x: f64, __y: f64, __z: f64) -> f64;
2534}
2535extern "C" {
2536 pub fn __fma(__x: f64, __y: f64, __z: f64) -> f64;
2537}
2538extern "C" {
2539 pub fn scalb(__x: f64, __n: f64) -> f64;
2540}
2541extern "C" {
2542 pub fn __scalb(__x: f64, __n: f64) -> f64;
2543}
2544extern "C" {
2545 pub fn __fpclassifyf(__value: f32) -> ::std::os::raw::c_int;
2546}
2547extern "C" {
2548 pub fn __signbitf(__value: f32) -> ::std::os::raw::c_int;
2549}
2550extern "C" {
2551 pub fn __isinff(__value: f32) -> ::std::os::raw::c_int;
2552}
2553extern "C" {
2554 pub fn __finitef(__value: f32) -> ::std::os::raw::c_int;
2555}
2556extern "C" {
2557 pub fn __isnanf(__value: f32) -> ::std::os::raw::c_int;
2558}
2559extern "C" {
2560 pub fn __iseqsigf(__x: f32, __y: f32) -> ::std::os::raw::c_int;
2561}
2562extern "C" {
2563 pub fn __issignalingf(__value: f32) -> ::std::os::raw::c_int;
2564}
2565extern "C" {
2566 pub fn acosf(__x: f32) -> f32;
2567}
2568extern "C" {
2569 pub fn __acosf(__x: f32) -> f32;
2570}
2571extern "C" {
2572 pub fn asinf(__x: f32) -> f32;
2573}
2574extern "C" {
2575 pub fn __asinf(__x: f32) -> f32;
2576}
2577extern "C" {
2578 pub fn atanf(__x: f32) -> f32;
2579}
2580extern "C" {
2581 pub fn __atanf(__x: f32) -> f32;
2582}
2583extern "C" {
2584 pub fn atan2f(__y: f32, __x: f32) -> f32;
2585}
2586extern "C" {
2587 pub fn __atan2f(__y: f32, __x: f32) -> f32;
2588}
2589extern "C" {
2590 pub fn cosf(__x: f32) -> f32;
2591}
2592extern "C" {
2593 pub fn __cosf(__x: f32) -> f32;
2594}
2595extern "C" {
2596 pub fn sinf(__x: f32) -> f32;
2597}
2598extern "C" {
2599 pub fn __sinf(__x: f32) -> f32;
2600}
2601extern "C" {
2602 pub fn tanf(__x: f32) -> f32;
2603}
2604extern "C" {
2605 pub fn __tanf(__x: f32) -> f32;
2606}
2607extern "C" {
2608 pub fn coshf(__x: f32) -> f32;
2609}
2610extern "C" {
2611 pub fn __coshf(__x: f32) -> f32;
2612}
2613extern "C" {
2614 pub fn sinhf(__x: f32) -> f32;
2615}
2616extern "C" {
2617 pub fn __sinhf(__x: f32) -> f32;
2618}
2619extern "C" {
2620 pub fn tanhf(__x: f32) -> f32;
2621}
2622extern "C" {
2623 pub fn __tanhf(__x: f32) -> f32;
2624}
2625extern "C" {
2626 pub fn acoshf(__x: f32) -> f32;
2627}
2628extern "C" {
2629 pub fn __acoshf(__x: f32) -> f32;
2630}
2631extern "C" {
2632 pub fn asinhf(__x: f32) -> f32;
2633}
2634extern "C" {
2635 pub fn __asinhf(__x: f32) -> f32;
2636}
2637extern "C" {
2638 pub fn atanhf(__x: f32) -> f32;
2639}
2640extern "C" {
2641 pub fn __atanhf(__x: f32) -> f32;
2642}
2643extern "C" {
2644 pub fn expf(__x: f32) -> f32;
2645}
2646extern "C" {
2647 pub fn __expf(__x: f32) -> f32;
2648}
2649extern "C" {
2650 pub fn frexpf(__x: f32, __exponent: *mut ::std::os::raw::c_int) -> f32;
2651}
2652extern "C" {
2653 pub fn __frexpf(__x: f32, __exponent: *mut ::std::os::raw::c_int) -> f32;
2654}
2655extern "C" {
2656 pub fn ldexpf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32;
2657}
2658extern "C" {
2659 pub fn __ldexpf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32;
2660}
2661extern "C" {
2662 pub fn logf(__x: f32) -> f32;
2663}
2664extern "C" {
2665 pub fn __logf(__x: f32) -> f32;
2666}
2667extern "C" {
2668 pub fn log10f(__x: f32) -> f32;
2669}
2670extern "C" {
2671 pub fn __log10f(__x: f32) -> f32;
2672}
2673extern "C" {
2674 pub fn modff(__x: f32, __iptr: *mut f32) -> f32;
2675}
2676extern "C" {
2677 pub fn __modff(__x: f32, __iptr: *mut f32) -> f32;
2678}
2679extern "C" {
2680 pub fn expm1f(__x: f32) -> f32;
2681}
2682extern "C" {
2683 pub fn __expm1f(__x: f32) -> f32;
2684}
2685extern "C" {
2686 pub fn log1pf(__x: f32) -> f32;
2687}
2688extern "C" {
2689 pub fn __log1pf(__x: f32) -> f32;
2690}
2691extern "C" {
2692 pub fn logbf(__x: f32) -> f32;
2693}
2694extern "C" {
2695 pub fn __logbf(__x: f32) -> f32;
2696}
2697extern "C" {
2698 pub fn exp2f(__x: f32) -> f32;
2699}
2700extern "C" {
2701 pub fn __exp2f(__x: f32) -> f32;
2702}
2703extern "C" {
2704 pub fn log2f(__x: f32) -> f32;
2705}
2706extern "C" {
2707 pub fn __log2f(__x: f32) -> f32;
2708}
2709extern "C" {
2710 pub fn powf(__x: f32, __y: f32) -> f32;
2711}
2712extern "C" {
2713 pub fn __powf(__x: f32, __y: f32) -> f32;
2714}
2715extern "C" {
2716 pub fn sqrtf(__x: f32) -> f32;
2717}
2718extern "C" {
2719 pub fn __sqrtf(__x: f32) -> f32;
2720}
2721extern "C" {
2722 pub fn hypotf(__x: f32, __y: f32) -> f32;
2723}
2724extern "C" {
2725 pub fn __hypotf(__x: f32, __y: f32) -> f32;
2726}
2727extern "C" {
2728 pub fn cbrtf(__x: f32) -> f32;
2729}
2730extern "C" {
2731 pub fn __cbrtf(__x: f32) -> f32;
2732}
2733extern "C" {
2734 pub fn ceilf(__x: f32) -> f32;
2735}
2736extern "C" {
2737 pub fn __ceilf(__x: f32) -> f32;
2738}
2739extern "C" {
2740 pub fn fabsf(__x: f32) -> f32;
2741}
2742extern "C" {
2743 pub fn __fabsf(__x: f32) -> f32;
2744}
2745extern "C" {
2746 pub fn floorf(__x: f32) -> f32;
2747}
2748extern "C" {
2749 pub fn __floorf(__x: f32) -> f32;
2750}
2751extern "C" {
2752 pub fn fmodf(__x: f32, __y: f32) -> f32;
2753}
2754extern "C" {
2755 pub fn __fmodf(__x: f32, __y: f32) -> f32;
2756}
2757extern "C" {
2758 pub fn isinff(__value: f32) -> ::std::os::raw::c_int;
2759}
2760extern "C" {
2761 pub fn finitef(__value: f32) -> ::std::os::raw::c_int;
2762}
2763extern "C" {
2764 pub fn dremf(__x: f32, __y: f32) -> f32;
2765}
2766extern "C" {
2767 pub fn __dremf(__x: f32, __y: f32) -> f32;
2768}
2769extern "C" {
2770 pub fn significandf(__x: f32) -> f32;
2771}
2772extern "C" {
2773 pub fn __significandf(__x: f32) -> f32;
2774}
2775extern "C" {
2776 pub fn copysignf(__x: f32, __y: f32) -> f32;
2777}
2778extern "C" {
2779 pub fn __copysignf(__x: f32, __y: f32) -> f32;
2780}
2781extern "C" {
2782 pub fn nanf(__tagb: *const ::std::os::raw::c_char) -> f32;
2783}
2784extern "C" {
2785 pub fn __nanf(__tagb: *const ::std::os::raw::c_char) -> f32;
2786}
2787extern "C" {
2788 pub fn isnanf(__value: f32) -> ::std::os::raw::c_int;
2789}
2790extern "C" {
2791 pub fn j0f(arg1: f32) -> f32;
2792}
2793extern "C" {
2794 pub fn __j0f(arg1: f32) -> f32;
2795}
2796extern "C" {
2797 pub fn j1f(arg1: f32) -> f32;
2798}
2799extern "C" {
2800 pub fn __j1f(arg1: f32) -> f32;
2801}
2802extern "C" {
2803 pub fn jnf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32;
2804}
2805extern "C" {
2806 pub fn __jnf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32;
2807}
2808extern "C" {
2809 pub fn y0f(arg1: f32) -> f32;
2810}
2811extern "C" {
2812 pub fn __y0f(arg1: f32) -> f32;
2813}
2814extern "C" {
2815 pub fn y1f(arg1: f32) -> f32;
2816}
2817extern "C" {
2818 pub fn __y1f(arg1: f32) -> f32;
2819}
2820extern "C" {
2821 pub fn ynf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32;
2822}
2823extern "C" {
2824 pub fn __ynf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32;
2825}
2826extern "C" {
2827 pub fn erff(arg1: f32) -> f32;
2828}
2829extern "C" {
2830 pub fn __erff(arg1: f32) -> f32;
2831}
2832extern "C" {
2833 pub fn erfcf(arg1: f32) -> f32;
2834}
2835extern "C" {
2836 pub fn __erfcf(arg1: f32) -> f32;
2837}
2838extern "C" {
2839 pub fn lgammaf(arg1: f32) -> f32;
2840}
2841extern "C" {
2842 pub fn __lgammaf(arg1: f32) -> f32;
2843}
2844extern "C" {
2845 pub fn tgammaf(arg1: f32) -> f32;
2846}
2847extern "C" {
2848 pub fn __tgammaf(arg1: f32) -> f32;
2849}
2850extern "C" {
2851 pub fn gammaf(arg1: f32) -> f32;
2852}
2853extern "C" {
2854 pub fn __gammaf(arg1: f32) -> f32;
2855}
2856extern "C" {
2857 pub fn lgammaf_r(arg1: f32, __signgamp: *mut ::std::os::raw::c_int) -> f32;
2858}
2859extern "C" {
2860 pub fn __lgammaf_r(arg1: f32, __signgamp: *mut ::std::os::raw::c_int) -> f32;
2861}
2862extern "C" {
2863 pub fn rintf(__x: f32) -> f32;
2864}
2865extern "C" {
2866 pub fn __rintf(__x: f32) -> f32;
2867}
2868extern "C" {
2869 pub fn nextafterf(__x: f32, __y: f32) -> f32;
2870}
2871extern "C" {
2872 pub fn __nextafterf(__x: f32, __y: f32) -> f32;
2873}
2874extern "C" {
2875 pub fn nexttowardf(__x: f32, __y: u128) -> f32;
2876}
2877extern "C" {
2878 pub fn __nexttowardf(__x: f32, __y: u128) -> f32;
2879}
2880extern "C" {
2881 pub fn remainderf(__x: f32, __y: f32) -> f32;
2882}
2883extern "C" {
2884 pub fn __remainderf(__x: f32, __y: f32) -> f32;
2885}
2886extern "C" {
2887 pub fn scalbnf(__x: f32, __n: ::std::os::raw::c_int) -> f32;
2888}
2889extern "C" {
2890 pub fn __scalbnf(__x: f32, __n: ::std::os::raw::c_int) -> f32;
2891}
2892extern "C" {
2893 pub fn ilogbf(__x: f32) -> ::std::os::raw::c_int;
2894}
2895extern "C" {
2896 pub fn __ilogbf(__x: f32) -> ::std::os::raw::c_int;
2897}
2898extern "C" {
2899 pub fn scalblnf(__x: f32, __n: ::std::os::raw::c_long) -> f32;
2900}
2901extern "C" {
2902 pub fn __scalblnf(__x: f32, __n: ::std::os::raw::c_long) -> f32;
2903}
2904extern "C" {
2905 pub fn nearbyintf(__x: f32) -> f32;
2906}
2907extern "C" {
2908 pub fn __nearbyintf(__x: f32) -> f32;
2909}
2910extern "C" {
2911 pub fn roundf(__x: f32) -> f32;
2912}
2913extern "C" {
2914 pub fn __roundf(__x: f32) -> f32;
2915}
2916extern "C" {
2917 pub fn truncf(__x: f32) -> f32;
2918}
2919extern "C" {
2920 pub fn __truncf(__x: f32) -> f32;
2921}
2922extern "C" {
2923 pub fn remquof(__x: f32, __y: f32, __quo: *mut ::std::os::raw::c_int) -> f32;
2924}
2925extern "C" {
2926 pub fn __remquof(__x: f32, __y: f32, __quo: *mut ::std::os::raw::c_int) -> f32;
2927}
2928extern "C" {
2929 pub fn lrintf(__x: f32) -> ::std::os::raw::c_long;
2930}
2931extern "C" {
2932 pub fn __lrintf(__x: f32) -> ::std::os::raw::c_long;
2933}
2934extern "C" {
2935 pub fn llrintf(__x: f32) -> ::std::os::raw::c_longlong;
2936}
2937extern "C" {
2938 pub fn __llrintf(__x: f32) -> ::std::os::raw::c_longlong;
2939}
2940extern "C" {
2941 pub fn lroundf(__x: f32) -> ::std::os::raw::c_long;
2942}
2943extern "C" {
2944 pub fn __lroundf(__x: f32) -> ::std::os::raw::c_long;
2945}
2946extern "C" {
2947 pub fn llroundf(__x: f32) -> ::std::os::raw::c_longlong;
2948}
2949extern "C" {
2950 pub fn __llroundf(__x: f32) -> ::std::os::raw::c_longlong;
2951}
2952extern "C" {
2953 pub fn fdimf(__x: f32, __y: f32) -> f32;
2954}
2955extern "C" {
2956 pub fn __fdimf(__x: f32, __y: f32) -> f32;
2957}
2958extern "C" {
2959 pub fn fmaxf(__x: f32, __y: f32) -> f32;
2960}
2961extern "C" {
2962 pub fn __fmaxf(__x: f32, __y: f32) -> f32;
2963}
2964extern "C" {
2965 pub fn fminf(__x: f32, __y: f32) -> f32;
2966}
2967extern "C" {
2968 pub fn __fminf(__x: f32, __y: f32) -> f32;
2969}
2970extern "C" {
2971 pub fn fmaf(__x: f32, __y: f32, __z: f32) -> f32;
2972}
2973extern "C" {
2974 pub fn __fmaf(__x: f32, __y: f32, __z: f32) -> f32;
2975}
2976extern "C" {
2977 pub fn scalbf(__x: f32, __n: f32) -> f32;
2978}
2979extern "C" {
2980 pub fn __scalbf(__x: f32, __n: f32) -> f32;
2981}
2982extern "C" {
2983 pub fn __fpclassifyl(__value: u128) -> ::std::os::raw::c_int;
2984}
2985extern "C" {
2986 pub fn __signbitl(__value: u128) -> ::std::os::raw::c_int;
2987}
2988extern "C" {
2989 pub fn __isinfl(__value: u128) -> ::std::os::raw::c_int;
2990}
2991extern "C" {
2992 pub fn __finitel(__value: u128) -> ::std::os::raw::c_int;
2993}
2994extern "C" {
2995 pub fn __isnanl(__value: u128) -> ::std::os::raw::c_int;
2996}
2997extern "C" {
2998 pub fn __iseqsigl(__x: u128, __y: u128) -> ::std::os::raw::c_int;
2999}
3000extern "C" {
3001 pub fn __issignalingl(__value: u128) -> ::std::os::raw::c_int;
3002}
3003extern "C" {
3004 pub fn acosl(__x: u128) -> u128;
3005}
3006extern "C" {
3007 pub fn __acosl(__x: u128) -> u128;
3008}
3009extern "C" {
3010 pub fn asinl(__x: u128) -> u128;
3011}
3012extern "C" {
3013 pub fn __asinl(__x: u128) -> u128;
3014}
3015extern "C" {
3016 pub fn atanl(__x: u128) -> u128;
3017}
3018extern "C" {
3019 pub fn __atanl(__x: u128) -> u128;
3020}
3021extern "C" {
3022 pub fn atan2l(__y: u128, __x: u128) -> u128;
3023}
3024extern "C" {
3025 pub fn __atan2l(__y: u128, __x: u128) -> u128;
3026}
3027extern "C" {
3028 pub fn cosl(__x: u128) -> u128;
3029}
3030extern "C" {
3031 pub fn __cosl(__x: u128) -> u128;
3032}
3033extern "C" {
3034 pub fn sinl(__x: u128) -> u128;
3035}
3036extern "C" {
3037 pub fn __sinl(__x: u128) -> u128;
3038}
3039extern "C" {
3040 pub fn tanl(__x: u128) -> u128;
3041}
3042extern "C" {
3043 pub fn __tanl(__x: u128) -> u128;
3044}
3045extern "C" {
3046 pub fn coshl(__x: u128) -> u128;
3047}
3048extern "C" {
3049 pub fn __coshl(__x: u128) -> u128;
3050}
3051extern "C" {
3052 pub fn sinhl(__x: u128) -> u128;
3053}
3054extern "C" {
3055 pub fn __sinhl(__x: u128) -> u128;
3056}
3057extern "C" {
3058 pub fn tanhl(__x: u128) -> u128;
3059}
3060extern "C" {
3061 pub fn __tanhl(__x: u128) -> u128;
3062}
3063extern "C" {
3064 pub fn acoshl(__x: u128) -> u128;
3065}
3066extern "C" {
3067 pub fn __acoshl(__x: u128) -> u128;
3068}
3069extern "C" {
3070 pub fn asinhl(__x: u128) -> u128;
3071}
3072extern "C" {
3073 pub fn __asinhl(__x: u128) -> u128;
3074}
3075extern "C" {
3076 pub fn atanhl(__x: u128) -> u128;
3077}
3078extern "C" {
3079 pub fn __atanhl(__x: u128) -> u128;
3080}
3081extern "C" {
3082 pub fn expl(__x: u128) -> u128;
3083}
3084extern "C" {
3085 pub fn __expl(__x: u128) -> u128;
3086}
3087extern "C" {
3088 pub fn frexpl(__x: u128, __exponent: *mut ::std::os::raw::c_int) -> u128;
3089}
3090extern "C" {
3091 pub fn __frexpl(__x: u128, __exponent: *mut ::std::os::raw::c_int) -> u128;
3092}
3093extern "C" {
3094 pub fn ldexpl(__x: u128, __exponent: ::std::os::raw::c_int) -> u128;
3095}
3096extern "C" {
3097 pub fn __ldexpl(__x: u128, __exponent: ::std::os::raw::c_int) -> u128;
3098}
3099extern "C" {
3100 pub fn logl(__x: u128) -> u128;
3101}
3102extern "C" {
3103 pub fn __logl(__x: u128) -> u128;
3104}
3105extern "C" {
3106 pub fn log10l(__x: u128) -> u128;
3107}
3108extern "C" {
3109 pub fn __log10l(__x: u128) -> u128;
3110}
3111extern "C" {
3112 pub fn modfl(__x: u128, __iptr: *mut u128) -> u128;
3113}
3114extern "C" {
3115 pub fn __modfl(__x: u128, __iptr: *mut u128) -> u128;
3116}
3117extern "C" {
3118 pub fn expm1l(__x: u128) -> u128;
3119}
3120extern "C" {
3121 pub fn __expm1l(__x: u128) -> u128;
3122}
3123extern "C" {
3124 pub fn log1pl(__x: u128) -> u128;
3125}
3126extern "C" {
3127 pub fn __log1pl(__x: u128) -> u128;
3128}
3129extern "C" {
3130 pub fn logbl(__x: u128) -> u128;
3131}
3132extern "C" {
3133 pub fn __logbl(__x: u128) -> u128;
3134}
3135extern "C" {
3136 pub fn exp2l(__x: u128) -> u128;
3137}
3138extern "C" {
3139 pub fn __exp2l(__x: u128) -> u128;
3140}
3141extern "C" {
3142 pub fn log2l(__x: u128) -> u128;
3143}
3144extern "C" {
3145 pub fn __log2l(__x: u128) -> u128;
3146}
3147extern "C" {
3148 pub fn powl(__x: u128, __y: u128) -> u128;
3149}
3150extern "C" {
3151 pub fn __powl(__x: u128, __y: u128) -> u128;
3152}
3153extern "C" {
3154 pub fn sqrtl(__x: u128) -> u128;
3155}
3156extern "C" {
3157 pub fn __sqrtl(__x: u128) -> u128;
3158}
3159extern "C" {
3160 pub fn hypotl(__x: u128, __y: u128) -> u128;
3161}
3162extern "C" {
3163 pub fn __hypotl(__x: u128, __y: u128) -> u128;
3164}
3165extern "C" {
3166 pub fn cbrtl(__x: u128) -> u128;
3167}
3168extern "C" {
3169 pub fn __cbrtl(__x: u128) -> u128;
3170}
3171extern "C" {
3172 pub fn ceill(__x: u128) -> u128;
3173}
3174extern "C" {
3175 pub fn __ceill(__x: u128) -> u128;
3176}
3177extern "C" {
3178 pub fn fabsl(__x: u128) -> u128;
3179}
3180extern "C" {
3181 pub fn __fabsl(__x: u128) -> u128;
3182}
3183extern "C" {
3184 pub fn floorl(__x: u128) -> u128;
3185}
3186extern "C" {
3187 pub fn __floorl(__x: u128) -> u128;
3188}
3189extern "C" {
3190 pub fn fmodl(__x: u128, __y: u128) -> u128;
3191}
3192extern "C" {
3193 pub fn __fmodl(__x: u128, __y: u128) -> u128;
3194}
3195extern "C" {
3196 pub fn isinfl(__value: u128) -> ::std::os::raw::c_int;
3197}
3198extern "C" {
3199 pub fn finitel(__value: u128) -> ::std::os::raw::c_int;
3200}
3201extern "C" {
3202 pub fn dreml(__x: u128, __y: u128) -> u128;
3203}
3204extern "C" {
3205 pub fn __dreml(__x: u128, __y: u128) -> u128;
3206}
3207extern "C" {
3208 pub fn significandl(__x: u128) -> u128;
3209}
3210extern "C" {
3211 pub fn __significandl(__x: u128) -> u128;
3212}
3213extern "C" {
3214 pub fn copysignl(__x: u128, __y: u128) -> u128;
3215}
3216extern "C" {
3217 pub fn __copysignl(__x: u128, __y: u128) -> u128;
3218}
3219extern "C" {
3220 pub fn nanl(__tagb: *const ::std::os::raw::c_char) -> u128;
3221}
3222extern "C" {
3223 pub fn __nanl(__tagb: *const ::std::os::raw::c_char) -> u128;
3224}
3225extern "C" {
3226 pub fn isnanl(__value: u128) -> ::std::os::raw::c_int;
3227}
3228extern "C" {
3229 pub fn j0l(arg1: u128) -> u128;
3230}
3231extern "C" {
3232 pub fn __j0l(arg1: u128) -> u128;
3233}
3234extern "C" {
3235 pub fn j1l(arg1: u128) -> u128;
3236}
3237extern "C" {
3238 pub fn __j1l(arg1: u128) -> u128;
3239}
3240extern "C" {
3241 pub fn jnl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128;
3242}
3243extern "C" {
3244 pub fn __jnl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128;
3245}
3246extern "C" {
3247 pub fn y0l(arg1: u128) -> u128;
3248}
3249extern "C" {
3250 pub fn __y0l(arg1: u128) -> u128;
3251}
3252extern "C" {
3253 pub fn y1l(arg1: u128) -> u128;
3254}
3255extern "C" {
3256 pub fn __y1l(arg1: u128) -> u128;
3257}
3258extern "C" {
3259 pub fn ynl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128;
3260}
3261extern "C" {
3262 pub fn __ynl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128;
3263}
3264extern "C" {
3265 pub fn erfl(arg1: u128) -> u128;
3266}
3267extern "C" {
3268 pub fn __erfl(arg1: u128) -> u128;
3269}
3270extern "C" {
3271 pub fn erfcl(arg1: u128) -> u128;
3272}
3273extern "C" {
3274 pub fn __erfcl(arg1: u128) -> u128;
3275}
3276extern "C" {
3277 pub fn lgammal(arg1: u128) -> u128;
3278}
3279extern "C" {
3280 pub fn __lgammal(arg1: u128) -> u128;
3281}
3282extern "C" {
3283 pub fn tgammal(arg1: u128) -> u128;
3284}
3285extern "C" {
3286 pub fn __tgammal(arg1: u128) -> u128;
3287}
3288extern "C" {
3289 pub fn gammal(arg1: u128) -> u128;
3290}
3291extern "C" {
3292 pub fn __gammal(arg1: u128) -> u128;
3293}
3294extern "C" {
3295 pub fn lgammal_r(arg1: u128, __signgamp: *mut ::std::os::raw::c_int) -> u128;
3296}
3297extern "C" {
3298 pub fn __lgammal_r(arg1: u128, __signgamp: *mut ::std::os::raw::c_int) -> u128;
3299}
3300extern "C" {
3301 pub fn rintl(__x: u128) -> u128;
3302}
3303extern "C" {
3304 pub fn __rintl(__x: u128) -> u128;
3305}
3306extern "C" {
3307 pub fn nextafterl(__x: u128, __y: u128) -> u128;
3308}
3309extern "C" {
3310 pub fn __nextafterl(__x: u128, __y: u128) -> u128;
3311}
3312extern "C" {
3313 pub fn nexttowardl(__x: u128, __y: u128) -> u128;
3314}
3315extern "C" {
3316 pub fn __nexttowardl(__x: u128, __y: u128) -> u128;
3317}
3318extern "C" {
3319 pub fn remainderl(__x: u128, __y: u128) -> u128;
3320}
3321extern "C" {
3322 pub fn __remainderl(__x: u128, __y: u128) -> u128;
3323}
3324extern "C" {
3325 pub fn scalbnl(__x: u128, __n: ::std::os::raw::c_int) -> u128;
3326}
3327extern "C" {
3328 pub fn __scalbnl(__x: u128, __n: ::std::os::raw::c_int) -> u128;
3329}
3330extern "C" {
3331 pub fn ilogbl(__x: u128) -> ::std::os::raw::c_int;
3332}
3333extern "C" {
3334 pub fn __ilogbl(__x: u128) -> ::std::os::raw::c_int;
3335}
3336extern "C" {
3337 pub fn scalblnl(__x: u128, __n: ::std::os::raw::c_long) -> u128;
3338}
3339extern "C" {
3340 pub fn __scalblnl(__x: u128, __n: ::std::os::raw::c_long) -> u128;
3341}
3342extern "C" {
3343 pub fn nearbyintl(__x: u128) -> u128;
3344}
3345extern "C" {
3346 pub fn __nearbyintl(__x: u128) -> u128;
3347}
3348extern "C" {
3349 pub fn roundl(__x: u128) -> u128;
3350}
3351extern "C" {
3352 pub fn __roundl(__x: u128) -> u128;
3353}
3354extern "C" {
3355 pub fn truncl(__x: u128) -> u128;
3356}
3357extern "C" {
3358 pub fn __truncl(__x: u128) -> u128;
3359}
3360extern "C" {
3361 pub fn remquol(__x: u128, __y: u128, __quo: *mut ::std::os::raw::c_int) -> u128;
3362}
3363extern "C" {
3364 pub fn __remquol(__x: u128, __y: u128, __quo: *mut ::std::os::raw::c_int) -> u128;
3365}
3366extern "C" {
3367 pub fn lrintl(__x: u128) -> ::std::os::raw::c_long;
3368}
3369extern "C" {
3370 pub fn __lrintl(__x: u128) -> ::std::os::raw::c_long;
3371}
3372extern "C" {
3373 pub fn llrintl(__x: u128) -> ::std::os::raw::c_longlong;
3374}
3375extern "C" {
3376 pub fn __llrintl(__x: u128) -> ::std::os::raw::c_longlong;
3377}
3378extern "C" {
3379 pub fn lroundl(__x: u128) -> ::std::os::raw::c_long;
3380}
3381extern "C" {
3382 pub fn __lroundl(__x: u128) -> ::std::os::raw::c_long;
3383}
3384extern "C" {
3385 pub fn llroundl(__x: u128) -> ::std::os::raw::c_longlong;
3386}
3387extern "C" {
3388 pub fn __llroundl(__x: u128) -> ::std::os::raw::c_longlong;
3389}
3390extern "C" {
3391 pub fn fdiml(__x: u128, __y: u128) -> u128;
3392}
3393extern "C" {
3394 pub fn __fdiml(__x: u128, __y: u128) -> u128;
3395}
3396extern "C" {
3397 pub fn fmaxl(__x: u128, __y: u128) -> u128;
3398}
3399extern "C" {
3400 pub fn __fmaxl(__x: u128, __y: u128) -> u128;
3401}
3402extern "C" {
3403 pub fn fminl(__x: u128, __y: u128) -> u128;
3404}
3405extern "C" {
3406 pub fn __fminl(__x: u128, __y: u128) -> u128;
3407}
3408extern "C" {
3409 pub fn fmal(__x: u128, __y: u128, __z: u128) -> u128;
3410}
3411extern "C" {
3412 pub fn __fmal(__x: u128, __y: u128, __z: u128) -> u128;
3413}
3414extern "C" {
3415 pub fn scalbl(__x: u128, __n: u128) -> u128;
3416}
3417extern "C" {
3418 pub fn __scalbl(__x: u128, __n: u128) -> u128;
3419}
3420extern "C" {
3421 #[link_name = "\u{1}signgam"]
3422 pub static mut signgam: ::std::os::raw::c_int;
3423}
3424pub type wchar_t = ::std::os::raw::c_int;
3425#[repr(C)]
3426#[derive(Debug, Copy, Clone)]
3427pub struct div_t {
3428 pub quot: ::std::os::raw::c_int,
3429 pub rem: ::std::os::raw::c_int,
3430}
3431#[repr(C)]
3432#[derive(Debug, Copy, Clone)]
3433pub struct ldiv_t {
3434 pub quot: ::std::os::raw::c_long,
3435 pub rem: ::std::os::raw::c_long,
3436}
3437#[repr(C)]
3438#[derive(Debug, Copy, Clone)]
3439pub struct lldiv_t {
3440 pub quot: ::std::os::raw::c_longlong,
3441 pub rem: ::std::os::raw::c_longlong,
3442}
3443extern "C" {
3444 pub fn __ctype_get_mb_cur_max() -> usize;
3445}
3446extern "C" {
3447 pub fn atof(__nptr: *const ::std::os::raw::c_char) -> f64;
3448}
3449extern "C" {
3450 pub fn atoi(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3451}
3452extern "C" {
3453 pub fn atol(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
3454}
3455extern "C" {
3456 pub fn atoll(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
3457}
3458extern "C" {
3459 pub fn strtod(
3460 __nptr: *const ::std::os::raw::c_char,
3461 __endptr: *mut *mut ::std::os::raw::c_char,
3462 ) -> f64;
3463}
3464extern "C" {
3465 pub fn strtof(
3466 __nptr: *const ::std::os::raw::c_char,
3467 __endptr: *mut *mut ::std::os::raw::c_char,
3468 ) -> f32;
3469}
3470extern "C" {
3471 pub fn strtold(
3472 __nptr: *const ::std::os::raw::c_char,
3473 __endptr: *mut *mut ::std::os::raw::c_char,
3474 ) -> u128;
3475}
3476extern "C" {
3477 pub fn strtol(
3478 __nptr: *const ::std::os::raw::c_char,
3479 __endptr: *mut *mut ::std::os::raw::c_char,
3480 __base: ::std::os::raw::c_int,
3481 ) -> ::std::os::raw::c_long;
3482}
3483extern "C" {
3484 pub fn strtoul(
3485 __nptr: *const ::std::os::raw::c_char,
3486 __endptr: *mut *mut ::std::os::raw::c_char,
3487 __base: ::std::os::raw::c_int,
3488 ) -> ::std::os::raw::c_ulong;
3489}
3490extern "C" {
3491 pub fn strtoq(
3492 __nptr: *const ::std::os::raw::c_char,
3493 __endptr: *mut *mut ::std::os::raw::c_char,
3494 __base: ::std::os::raw::c_int,
3495 ) -> ::std::os::raw::c_longlong;
3496}
3497extern "C" {
3498 pub fn strtouq(
3499 __nptr: *const ::std::os::raw::c_char,
3500 __endptr: *mut *mut ::std::os::raw::c_char,
3501 __base: ::std::os::raw::c_int,
3502 ) -> ::std::os::raw::c_ulonglong;
3503}
3504extern "C" {
3505 pub fn strtoll(
3506 __nptr: *const ::std::os::raw::c_char,
3507 __endptr: *mut *mut ::std::os::raw::c_char,
3508 __base: ::std::os::raw::c_int,
3509 ) -> ::std::os::raw::c_longlong;
3510}
3511extern "C" {
3512 pub fn strtoull(
3513 __nptr: *const ::std::os::raw::c_char,
3514 __endptr: *mut *mut ::std::os::raw::c_char,
3515 __base: ::std::os::raw::c_int,
3516 ) -> ::std::os::raw::c_ulonglong;
3517}
3518extern "C" {
3519 pub fn l64a(__n: ::std::os::raw::c_long) -> *mut ::std::os::raw::c_char;
3520}
3521extern "C" {
3522 pub fn a64l(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
3523}
3524pub type u_char = __u_char;
3525pub type u_short = __u_short;
3526pub type u_int = __u_int;
3527pub type u_long = __u_long;
3528pub type quad_t = __quad_t;
3529pub type u_quad_t = __u_quad_t;
3530pub type fsid_t = __fsid_t;
3531pub type loff_t = __loff_t;
3532pub type ino_t = __ino_t;
3533pub type dev_t = __dev_t;
3534pub type gid_t = __gid_t;
3535pub type mode_t = __mode_t;
3536pub type nlink_t = __nlink_t;
3537pub type uid_t = __uid_t;
3538pub type id_t = __id_t;
3539pub type daddr_t = __daddr_t;
3540pub type caddr_t = __caddr_t;
3541pub type key_t = __key_t;
3542pub type ulong = ::std::os::raw::c_ulong;
3543pub type ushort = ::std::os::raw::c_ushort;
3544pub type uint = ::std::os::raw::c_uint;
3545pub type u_int8_t = ::std::os::raw::c_uchar;
3546pub type u_int16_t = ::std::os::raw::c_ushort;
3547pub type u_int32_t = ::std::os::raw::c_uint;
3548pub type u_int64_t = ::std::os::raw::c_ulong;
3549pub type register_t = ::std::os::raw::c_long;
3550#[repr(C)]
3551#[derive(Debug, Copy, Clone)]
3552pub struct __sigset_t {
3553 pub __val: [::std::os::raw::c_ulong; 16usize],
3554}
3555pub type sigset_t = __sigset_t;
3556#[repr(C)]
3557#[derive(Debug, Copy, Clone)]
3558pub struct timeval {
3559 pub tv_sec: __time_t,
3560 pub tv_usec: __suseconds_t,
3561}
3562pub type suseconds_t = __suseconds_t;
3563pub type __fd_mask = ::std::os::raw::c_long;
3564#[repr(C)]
3565#[derive(Debug, Copy, Clone)]
3566pub struct fd_set {
3567 pub __fds_bits: [__fd_mask; 16usize],
3568}
3569pub type fd_mask = __fd_mask;
3570extern "C" {
3571 pub fn select(
3572 __nfds: ::std::os::raw::c_int,
3573 __readfds: *mut fd_set,
3574 __writefds: *mut fd_set,
3575 __exceptfds: *mut fd_set,
3576 __timeout: *mut timeval,
3577 ) -> ::std::os::raw::c_int;
3578}
3579extern "C" {
3580 pub fn pselect(
3581 __nfds: ::std::os::raw::c_int,
3582 __readfds: *mut fd_set,
3583 __writefds: *mut fd_set,
3584 __exceptfds: *mut fd_set,
3585 __timeout: *const timespec,
3586 __sigmask: *const __sigset_t,
3587 ) -> ::std::os::raw::c_int;
3588}
3589pub type blksize_t = __blksize_t;
3590pub type blkcnt_t = __blkcnt_t;
3591pub type fsblkcnt_t = __fsblkcnt_t;
3592pub type fsfilcnt_t = __fsfilcnt_t;
3593#[repr(C)]
3594#[derive(Debug, Copy, Clone)]
3595pub struct __pthread_rwlock_arch_t {
3596 pub __readers: ::std::os::raw::c_uint,
3597 pub __writers: ::std::os::raw::c_uint,
3598 pub __wrphase_futex: ::std::os::raw::c_uint,
3599 pub __writers_futex: ::std::os::raw::c_uint,
3600 pub __pad3: ::std::os::raw::c_uint,
3601 pub __pad4: ::std::os::raw::c_uint,
3602 pub __cur_writer: ::std::os::raw::c_int,
3603 pub __shared: ::std::os::raw::c_int,
3604 pub __rwelision: ::std::os::raw::c_schar,
3605 pub __pad1: [::std::os::raw::c_uchar; 7usize],
3606 pub __pad2: ::std::os::raw::c_ulong,
3607 pub __flags: ::std::os::raw::c_uint,
3608}
3609#[repr(C)]
3610#[derive(Debug, Copy, Clone)]
3611pub struct __pthread_internal_list {
3612 pub __prev: *mut __pthread_internal_list,
3613 pub __next: *mut __pthread_internal_list,
3614}
3615pub type __pthread_list_t = __pthread_internal_list;
3616#[repr(C)]
3617#[derive(Debug, Copy, Clone)]
3618pub struct __pthread_mutex_s {
3619 pub __lock: ::std::os::raw::c_int,
3620 pub __count: ::std::os::raw::c_uint,
3621 pub __owner: ::std::os::raw::c_int,
3622 pub __nusers: ::std::os::raw::c_uint,
3623 pub __kind: ::std::os::raw::c_int,
3624 pub __spins: ::std::os::raw::c_short,
3625 pub __elision: ::std::os::raw::c_short,
3626 pub __list: __pthread_list_t,
3627}
3628#[repr(C)]
3629#[derive(Copy, Clone)]
3630pub struct __pthread_cond_s {
3631 pub __bindgen_anon_1: __pthread_cond_s__bindgen_ty_1,
3632 pub __bindgen_anon_2: __pthread_cond_s__bindgen_ty_2,
3633 pub __g_refs: [::std::os::raw::c_uint; 2usize],
3634 pub __g_size: [::std::os::raw::c_uint; 2usize],
3635 pub __g1_orig_size: ::std::os::raw::c_uint,
3636 pub __wrefs: ::std::os::raw::c_uint,
3637 pub __g_signals: [::std::os::raw::c_uint; 2usize],
3638}
3639#[repr(C)]
3640#[derive(Copy, Clone)]
3641pub union __pthread_cond_s__bindgen_ty_1 {
3642 pub __wseq: ::std::os::raw::c_ulonglong,
3643 pub __wseq32: __pthread_cond_s__bindgen_ty_1__bindgen_ty_1,
3644 _bindgen_union_align: u64,
3645}
3646#[repr(C)]
3647#[derive(Debug, Copy, Clone)]
3648pub struct __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 {
3649 pub __low: ::std::os::raw::c_uint,
3650 pub __high: ::std::os::raw::c_uint,
3651}
3652#[repr(C)]
3653#[derive(Copy, Clone)]
3654pub union __pthread_cond_s__bindgen_ty_2 {
3655 pub __g1_start: ::std::os::raw::c_ulonglong,
3656 pub __g1_start32: __pthread_cond_s__bindgen_ty_2__bindgen_ty_1,
3657 _bindgen_union_align: u64,
3658}
3659#[repr(C)]
3660#[derive(Debug, Copy, Clone)]
3661pub struct __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 {
3662 pub __low: ::std::os::raw::c_uint,
3663 pub __high: ::std::os::raw::c_uint,
3664}
3665pub type pthread_t = ::std::os::raw::c_ulong;
3666#[repr(C)]
3667#[derive(Copy, Clone)]
3668pub union pthread_mutexattr_t {
3669 pub __size: [::std::os::raw::c_char; 4usize],
3670 pub __align: ::std::os::raw::c_int,
3671 _bindgen_union_align: u32,
3672}
3673#[repr(C)]
3674#[derive(Copy, Clone)]
3675pub union pthread_condattr_t {
3676 pub __size: [::std::os::raw::c_char; 4usize],
3677 pub __align: ::std::os::raw::c_int,
3678 _bindgen_union_align: u32,
3679}
3680pub type pthread_key_t = ::std::os::raw::c_uint;
3681pub type pthread_once_t = ::std::os::raw::c_int;
3682#[repr(C)]
3683#[derive(Copy, Clone)]
3684pub union pthread_attr_t {
3685 pub __size: [::std::os::raw::c_char; 56usize],
3686 pub __align: ::std::os::raw::c_long,
3687 _bindgen_union_align: [u64; 7usize],
3688}
3689#[repr(C)]
3690#[derive(Copy, Clone)]
3691pub union pthread_mutex_t {
3692 pub __data: __pthread_mutex_s,
3693 pub __size: [::std::os::raw::c_char; 40usize],
3694 pub __align: ::std::os::raw::c_long,
3695 _bindgen_union_align: [u64; 5usize],
3696}
3697#[repr(C)]
3698#[derive(Copy, Clone)]
3699pub union pthread_cond_t {
3700 pub __data: __pthread_cond_s,
3701 pub __size: [::std::os::raw::c_char; 48usize],
3702 pub __align: ::std::os::raw::c_longlong,
3703 _bindgen_union_align: [u64; 6usize],
3704}
3705#[repr(C)]
3706#[derive(Copy, Clone)]
3707pub union pthread_rwlock_t {
3708 pub __data: __pthread_rwlock_arch_t,
3709 pub __size: [::std::os::raw::c_char; 56usize],
3710 pub __align: ::std::os::raw::c_long,
3711 _bindgen_union_align: [u64; 7usize],
3712}
3713#[repr(C)]
3714#[derive(Copy, Clone)]
3715pub union pthread_rwlockattr_t {
3716 pub __size: [::std::os::raw::c_char; 8usize],
3717 pub __align: ::std::os::raw::c_long,
3718 _bindgen_union_align: u64,
3719}
3720pub type pthread_spinlock_t = ::std::os::raw::c_int;
3721#[repr(C)]
3722#[derive(Copy, Clone)]
3723pub union pthread_barrier_t {
3724 pub __size: [::std::os::raw::c_char; 32usize],
3725 pub __align: ::std::os::raw::c_long,
3726 _bindgen_union_align: [u64; 4usize],
3727}
3728#[repr(C)]
3729#[derive(Copy, Clone)]
3730pub union pthread_barrierattr_t {
3731 pub __size: [::std::os::raw::c_char; 4usize],
3732 pub __align: ::std::os::raw::c_int,
3733 _bindgen_union_align: u32,
3734}
3735extern "C" {
3736 pub fn random() -> ::std::os::raw::c_long;
3737}
3738extern "C" {
3739 pub fn srandom(__seed: ::std::os::raw::c_uint);
3740}
3741extern "C" {
3742 pub fn initstate(
3743 __seed: ::std::os::raw::c_uint,
3744 __statebuf: *mut ::std::os::raw::c_char,
3745 __statelen: usize,
3746 ) -> *mut ::std::os::raw::c_char;
3747}
3748extern "C" {
3749 pub fn setstate(__statebuf: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3750}
3751#[repr(C)]
3752#[derive(Debug, Copy, Clone)]
3753pub struct random_data {
3754 pub fptr: *mut i32,
3755 pub rptr: *mut i32,
3756 pub state: *mut i32,
3757 pub rand_type: ::std::os::raw::c_int,
3758 pub rand_deg: ::std::os::raw::c_int,
3759 pub rand_sep: ::std::os::raw::c_int,
3760 pub end_ptr: *mut i32,
3761}
3762extern "C" {
3763 pub fn random_r(__buf: *mut random_data, __result: *mut i32) -> ::std::os::raw::c_int;
3764}
3765extern "C" {
3766 pub fn srandom_r(
3767 __seed: ::std::os::raw::c_uint,
3768 __buf: *mut random_data,
3769 ) -> ::std::os::raw::c_int;
3770}
3771extern "C" {
3772 pub fn initstate_r(
3773 __seed: ::std::os::raw::c_uint,
3774 __statebuf: *mut ::std::os::raw::c_char,
3775 __statelen: usize,
3776 __buf: *mut random_data,
3777 ) -> ::std::os::raw::c_int;
3778}
3779extern "C" {
3780 pub fn setstate_r(
3781 __statebuf: *mut ::std::os::raw::c_char,
3782 __buf: *mut random_data,
3783 ) -> ::std::os::raw::c_int;
3784}
3785extern "C" {
3786 pub fn rand() -> ::std::os::raw::c_int;
3787}
3788extern "C" {
3789 pub fn srand(__seed: ::std::os::raw::c_uint);
3790}
3791extern "C" {
3792 pub fn rand_r(__seed: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
3793}
3794extern "C" {
3795 pub fn drand48() -> f64;
3796}
3797extern "C" {
3798 pub fn erand48(__xsubi: *mut ::std::os::raw::c_ushort) -> f64;
3799}
3800extern "C" {
3801 pub fn lrand48() -> ::std::os::raw::c_long;
3802}
3803extern "C" {
3804 pub fn nrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
3805}
3806extern "C" {
3807 pub fn mrand48() -> ::std::os::raw::c_long;
3808}
3809extern "C" {
3810 pub fn jrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
3811}
3812extern "C" {
3813 pub fn srand48(__seedval: ::std::os::raw::c_long);
3814}
3815extern "C" {
3816 pub fn seed48(__seed16v: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort;
3817}
3818extern "C" {
3819 pub fn lcong48(__param: *mut ::std::os::raw::c_ushort);
3820}
3821#[repr(C)]
3822#[derive(Debug, Copy, Clone)]
3823pub struct drand48_data {
3824 pub __x: [::std::os::raw::c_ushort; 3usize],
3825 pub __old_x: [::std::os::raw::c_ushort; 3usize],
3826 pub __c: ::std::os::raw::c_ushort,
3827 pub __init: ::std::os::raw::c_ushort,
3828 pub __a: ::std::os::raw::c_ulonglong,
3829}
3830extern "C" {
3831 pub fn drand48_r(__buffer: *mut drand48_data, __result: *mut f64) -> ::std::os::raw::c_int;
3832}
3833extern "C" {
3834 pub fn erand48_r(
3835 __xsubi: *mut ::std::os::raw::c_ushort,
3836 __buffer: *mut drand48_data,
3837 __result: *mut f64,
3838 ) -> ::std::os::raw::c_int;
3839}
3840extern "C" {
3841 pub fn lrand48_r(
3842 __buffer: *mut drand48_data,
3843 __result: *mut ::std::os::raw::c_long,
3844 ) -> ::std::os::raw::c_int;
3845}
3846extern "C" {
3847 pub fn nrand48_r(
3848 __xsubi: *mut ::std::os::raw::c_ushort,
3849 __buffer: *mut drand48_data,
3850 __result: *mut ::std::os::raw::c_long,
3851 ) -> ::std::os::raw::c_int;
3852}
3853extern "C" {
3854 pub fn mrand48_r(
3855 __buffer: *mut drand48_data,
3856 __result: *mut ::std::os::raw::c_long,
3857 ) -> ::std::os::raw::c_int;
3858}
3859extern "C" {
3860 pub fn jrand48_r(
3861 __xsubi: *mut ::std::os::raw::c_ushort,
3862 __buffer: *mut drand48_data,
3863 __result: *mut ::std::os::raw::c_long,
3864 ) -> ::std::os::raw::c_int;
3865}
3866extern "C" {
3867 pub fn srand48_r(
3868 __seedval: ::std::os::raw::c_long,
3869 __buffer: *mut drand48_data,
3870 ) -> ::std::os::raw::c_int;
3871}
3872extern "C" {
3873 pub fn seed48_r(
3874 __seed16v: *mut ::std::os::raw::c_ushort,
3875 __buffer: *mut drand48_data,
3876 ) -> ::std::os::raw::c_int;
3877}
3878extern "C" {
3879 pub fn lcong48_r(
3880 __param: *mut ::std::os::raw::c_ushort,
3881 __buffer: *mut drand48_data,
3882 ) -> ::std::os::raw::c_int;
3883}
3884extern "C" {
3885 pub fn malloc(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
3886}
3887extern "C" {
3888 pub fn calloc(
3889 __nmemb: ::std::os::raw::c_ulong,
3890 __size: ::std::os::raw::c_ulong,
3891 ) -> *mut ::std::os::raw::c_void;
3892}
3893extern "C" {
3894 pub fn realloc(
3895 __ptr: *mut ::std::os::raw::c_void,
3896 __size: ::std::os::raw::c_ulong,
3897 ) -> *mut ::std::os::raw::c_void;
3898}
3899extern "C" {
3900 pub fn reallocarray(
3901 __ptr: *mut ::std::os::raw::c_void,
3902 __nmemb: usize,
3903 __size: usize,
3904 ) -> *mut ::std::os::raw::c_void;
3905}
3906extern "C" {
3907 pub fn free(__ptr: *mut ::std::os::raw::c_void);
3908}
3909extern "C" {
3910 pub fn alloca(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
3911}
3912extern "C" {
3913 pub fn valloc(__size: usize) -> *mut ::std::os::raw::c_void;
3914}
3915extern "C" {
3916 pub fn posix_memalign(
3917 __memptr: *mut *mut ::std::os::raw::c_void,
3918 __alignment: usize,
3919 __size: usize,
3920 ) -> ::std::os::raw::c_int;
3921}
3922extern "C" {
3923 pub fn aligned_alloc(__alignment: usize, __size: usize) -> *mut ::std::os::raw::c_void;
3924}
3925extern "C" {
3926 pub fn abort();
3927}
3928extern "C" {
3929 pub fn atexit(__func: ::std::option::Option<unsafe extern "C" fn()>) -> ::std::os::raw::c_int;
3930}
3931extern "C" {
3932 pub fn at_quick_exit(
3933 __func: ::std::option::Option<unsafe extern "C" fn()>,
3934 ) -> ::std::os::raw::c_int;
3935}
3936extern "C" {
3937 pub fn on_exit(
3938 __func: ::std::option::Option<
3939 unsafe extern "C" fn(__func: ::std::os::raw::c_int, __arg: *mut ::std::os::raw::c_void),
3940 >,
3941 __arg: *mut ::std::os::raw::c_void,
3942 ) -> ::std::os::raw::c_int;
3943}
3944extern "C" {
3945 pub fn exit(__status: ::std::os::raw::c_int);
3946}
3947extern "C" {
3948 pub fn quick_exit(__status: ::std::os::raw::c_int);
3949}
3950extern "C" {
3951 pub fn _Exit(__status: ::std::os::raw::c_int);
3952}
3953extern "C" {
3954 pub fn getenv(__name: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3955}
3956extern "C" {
3957 pub fn putenv(__string: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3958}
3959extern "C" {
3960 pub fn setenv(
3961 __name: *const ::std::os::raw::c_char,
3962 __value: *const ::std::os::raw::c_char,
3963 __replace: ::std::os::raw::c_int,
3964 ) -> ::std::os::raw::c_int;
3965}
3966extern "C" {
3967 pub fn unsetenv(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3968}
3969extern "C" {
3970 pub fn clearenv() -> ::std::os::raw::c_int;
3971}
3972extern "C" {
3973 pub fn mktemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3974}
3975extern "C" {
3976 pub fn mkstemp(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3977}
3978extern "C" {
3979 pub fn mkstemps(
3980 __template: *mut ::std::os::raw::c_char,
3981 __suffixlen: ::std::os::raw::c_int,
3982 ) -> ::std::os::raw::c_int;
3983}
3984extern "C" {
3985 pub fn mkdtemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3986}
3987extern "C" {
3988 pub fn system(__command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3989}
3990extern "C" {
3991 pub fn realpath(
3992 __name: *const ::std::os::raw::c_char,
3993 __resolved: *mut ::std::os::raw::c_char,
3994 ) -> *mut ::std::os::raw::c_char;
3995}
3996pub type __compar_fn_t = ::std::option::Option<
3997 unsafe extern "C" fn(
3998 arg1: *const ::std::os::raw::c_void,
3999 arg2: *const ::std::os::raw::c_void,
4000 ) -> ::std::os::raw::c_int,
4001>;
4002extern "C" {
4003 pub fn bsearch(
4004 __key: *const ::std::os::raw::c_void,
4005 __base: *const ::std::os::raw::c_void,
4006 __nmemb: usize,
4007 __size: usize,
4008 __compar: __compar_fn_t,
4009 ) -> *mut ::std::os::raw::c_void;
4010}
4011extern "C" {
4012 pub fn qsort(
4013 __base: *mut ::std::os::raw::c_void,
4014 __nmemb: usize,
4015 __size: usize,
4016 __compar: __compar_fn_t,
4017 );
4018}
4019extern "C" {
4020 pub fn abs(__x: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4021}
4022extern "C" {
4023 pub fn labs(__x: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
4024}
4025extern "C" {
4026 pub fn llabs(__x: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
4027}
4028extern "C" {
4029 pub fn div(__numer: ::std::os::raw::c_int, __denom: ::std::os::raw::c_int) -> div_t;
4030}
4031extern "C" {
4032 pub fn ldiv(__numer: ::std::os::raw::c_long, __denom: ::std::os::raw::c_long) -> ldiv_t;
4033}
4034extern "C" {
4035 pub fn lldiv(
4036 __numer: ::std::os::raw::c_longlong,
4037 __denom: ::std::os::raw::c_longlong,
4038 ) -> lldiv_t;
4039}
4040extern "C" {
4041 pub fn ecvt(
4042 __value: f64,
4043 __ndigit: ::std::os::raw::c_int,
4044 __decpt: *mut ::std::os::raw::c_int,
4045 __sign: *mut ::std::os::raw::c_int,
4046 ) -> *mut ::std::os::raw::c_char;
4047}
4048extern "C" {
4049 pub fn fcvt(
4050 __value: f64,
4051 __ndigit: ::std::os::raw::c_int,
4052 __decpt: *mut ::std::os::raw::c_int,
4053 __sign: *mut ::std::os::raw::c_int,
4054 ) -> *mut ::std::os::raw::c_char;
4055}
4056extern "C" {
4057 pub fn gcvt(
4058 __value: f64,
4059 __ndigit: ::std::os::raw::c_int,
4060 __buf: *mut ::std::os::raw::c_char,
4061 ) -> *mut ::std::os::raw::c_char;
4062}
4063extern "C" {
4064 pub fn qecvt(
4065 __value: u128,
4066 __ndigit: ::std::os::raw::c_int,
4067 __decpt: *mut ::std::os::raw::c_int,
4068 __sign: *mut ::std::os::raw::c_int,
4069 ) -> *mut ::std::os::raw::c_char;
4070}
4071extern "C" {
4072 pub fn qfcvt(
4073 __value: u128,
4074 __ndigit: ::std::os::raw::c_int,
4075 __decpt: *mut ::std::os::raw::c_int,
4076 __sign: *mut ::std::os::raw::c_int,
4077 ) -> *mut ::std::os::raw::c_char;
4078}
4079extern "C" {
4080 pub fn qgcvt(
4081 __value: u128,
4082 __ndigit: ::std::os::raw::c_int,
4083 __buf: *mut ::std::os::raw::c_char,
4084 ) -> *mut ::std::os::raw::c_char;
4085}
4086extern "C" {
4087 pub fn ecvt_r(
4088 __value: f64,
4089 __ndigit: ::std::os::raw::c_int,
4090 __decpt: *mut ::std::os::raw::c_int,
4091 __sign: *mut ::std::os::raw::c_int,
4092 __buf: *mut ::std::os::raw::c_char,
4093 __len: usize,
4094 ) -> ::std::os::raw::c_int;
4095}
4096extern "C" {
4097 pub fn fcvt_r(
4098 __value: f64,
4099 __ndigit: ::std::os::raw::c_int,
4100 __decpt: *mut ::std::os::raw::c_int,
4101 __sign: *mut ::std::os::raw::c_int,
4102 __buf: *mut ::std::os::raw::c_char,
4103 __len: usize,
4104 ) -> ::std::os::raw::c_int;
4105}
4106extern "C" {
4107 pub fn qecvt_r(
4108 __value: u128,
4109 __ndigit: ::std::os::raw::c_int,
4110 __decpt: *mut ::std::os::raw::c_int,
4111 __sign: *mut ::std::os::raw::c_int,
4112 __buf: *mut ::std::os::raw::c_char,
4113 __len: usize,
4114 ) -> ::std::os::raw::c_int;
4115}
4116extern "C" {
4117 pub fn qfcvt_r(
4118 __value: u128,
4119 __ndigit: ::std::os::raw::c_int,
4120 __decpt: *mut ::std::os::raw::c_int,
4121 __sign: *mut ::std::os::raw::c_int,
4122 __buf: *mut ::std::os::raw::c_char,
4123 __len: usize,
4124 ) -> ::std::os::raw::c_int;
4125}
4126extern "C" {
4127 pub fn mblen(__s: *const ::std::os::raw::c_char, __n: usize) -> ::std::os::raw::c_int;
4128}
4129extern "C" {
4130 pub fn mbtowc(
4131 __pwc: *mut wchar_t,
4132 __s: *const ::std::os::raw::c_char,
4133 __n: usize,
4134 ) -> ::std::os::raw::c_int;
4135}
4136extern "C" {
4137 pub fn wctomb(__s: *mut ::std::os::raw::c_char, __wchar: wchar_t) -> ::std::os::raw::c_int;
4138}
4139extern "C" {
4140 pub fn mbstowcs(__pwcs: *mut wchar_t, __s: *const ::std::os::raw::c_char, __n: usize) -> usize;
4141}
4142extern "C" {
4143 pub fn wcstombs(__s: *mut ::std::os::raw::c_char, __pwcs: *const wchar_t, __n: usize) -> usize;
4144}
4145extern "C" {
4146 pub fn rpmatch(__response: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
4147}
4148extern "C" {
4149 pub fn getsubopt(
4150 __optionp: *mut *mut ::std::os::raw::c_char,
4151 __tokens: *const *mut ::std::os::raw::c_char,
4152 __valuep: *mut *mut ::std::os::raw::c_char,
4153 ) -> ::std::os::raw::c_int;
4154}
4155extern "C" {
4156 pub fn getloadavg(__loadavg: *mut f64, __nelem: ::std::os::raw::c_int)
4157 -> ::std::os::raw::c_int;
4158}
4159extern "C" {
4160 pub fn memcpy(
4161 __dest: *mut ::std::os::raw::c_void,
4162 __src: *const ::std::os::raw::c_void,
4163 __n: ::std::os::raw::c_ulong,
4164 ) -> *mut ::std::os::raw::c_void;
4165}
4166extern "C" {
4167 pub fn memmove(
4168 __dest: *mut ::std::os::raw::c_void,
4169 __src: *const ::std::os::raw::c_void,
4170 __n: ::std::os::raw::c_ulong,
4171 ) -> *mut ::std::os::raw::c_void;
4172}
4173extern "C" {
4174 pub fn memccpy(
4175 __dest: *mut ::std::os::raw::c_void,
4176 __src: *const ::std::os::raw::c_void,
4177 __c: ::std::os::raw::c_int,
4178 __n: usize,
4179 ) -> *mut ::std::os::raw::c_void;
4180}
4181extern "C" {
4182 pub fn memset(
4183 __s: *mut ::std::os::raw::c_void,
4184 __c: ::std::os::raw::c_int,
4185 __n: ::std::os::raw::c_ulong,
4186 ) -> *mut ::std::os::raw::c_void;
4187}
4188extern "C" {
4189 pub fn memcmp(
4190 __s1: *const ::std::os::raw::c_void,
4191 __s2: *const ::std::os::raw::c_void,
4192 __n: ::std::os::raw::c_ulong,
4193 ) -> ::std::os::raw::c_int;
4194}
4195extern "C" {
4196 pub fn memchr(
4197 __s: *const ::std::os::raw::c_void,
4198 __c: ::std::os::raw::c_int,
4199 __n: ::std::os::raw::c_ulong,
4200 ) -> *mut ::std::os::raw::c_void;
4201}
4202extern "C" {
4203 pub fn strcpy(
4204 __dest: *mut ::std::os::raw::c_char,
4205 __src: *const ::std::os::raw::c_char,
4206 ) -> *mut ::std::os::raw::c_char;
4207}
4208extern "C" {
4209 pub fn strncpy(
4210 __dest: *mut ::std::os::raw::c_char,
4211 __src: *const ::std::os::raw::c_char,
4212 __n: ::std::os::raw::c_ulong,
4213 ) -> *mut ::std::os::raw::c_char;
4214}
4215extern "C" {
4216 pub fn strcat(
4217 __dest: *mut ::std::os::raw::c_char,
4218 __src: *const ::std::os::raw::c_char,
4219 ) -> *mut ::std::os::raw::c_char;
4220}
4221extern "C" {
4222 pub fn strncat(
4223 __dest: *mut ::std::os::raw::c_char,
4224 __src: *const ::std::os::raw::c_char,
4225 __n: ::std::os::raw::c_ulong,
4226 ) -> *mut ::std::os::raw::c_char;
4227}
4228extern "C" {
4229 pub fn strcmp(
4230 __s1: *const ::std::os::raw::c_char,
4231 __s2: *const ::std::os::raw::c_char,
4232 ) -> ::std::os::raw::c_int;
4233}
4234extern "C" {
4235 pub fn strncmp(
4236 __s1: *const ::std::os::raw::c_char,
4237 __s2: *const ::std::os::raw::c_char,
4238 __n: ::std::os::raw::c_ulong,
4239 ) -> ::std::os::raw::c_int;
4240}
4241extern "C" {
4242 pub fn strcoll(
4243 __s1: *const ::std::os::raw::c_char,
4244 __s2: *const ::std::os::raw::c_char,
4245 ) -> ::std::os::raw::c_int;
4246}
4247extern "C" {
4248 pub fn strxfrm(
4249 __dest: *mut ::std::os::raw::c_char,
4250 __src: *const ::std::os::raw::c_char,
4251 __n: ::std::os::raw::c_ulong,
4252 ) -> ::std::os::raw::c_ulong;
4253}
4254extern "C" {
4255 pub fn strcoll_l(
4256 __s1: *const ::std::os::raw::c_char,
4257 __s2: *const ::std::os::raw::c_char,
4258 __l: locale_t,
4259 ) -> ::std::os::raw::c_int;
4260}
4261extern "C" {
4262 pub fn strxfrm_l(
4263 __dest: *mut ::std::os::raw::c_char,
4264 __src: *const ::std::os::raw::c_char,
4265 __n: usize,
4266 __l: locale_t,
4267 ) -> usize;
4268}
4269extern "C" {
4270 pub fn strdup(__s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
4271}
4272extern "C" {
4273 pub fn strndup(
4274 __string: *const ::std::os::raw::c_char,
4275 __n: ::std::os::raw::c_ulong,
4276 ) -> *mut ::std::os::raw::c_char;
4277}
4278extern "C" {
4279 pub fn strchr(
4280 __s: *const ::std::os::raw::c_char,
4281 __c: ::std::os::raw::c_int,
4282 ) -> *mut ::std::os::raw::c_char;
4283}
4284extern "C" {
4285 pub fn strrchr(
4286 __s: *const ::std::os::raw::c_char,
4287 __c: ::std::os::raw::c_int,
4288 ) -> *mut ::std::os::raw::c_char;
4289}
4290extern "C" {
4291 pub fn strcspn(
4292 __s: *const ::std::os::raw::c_char,
4293 __reject: *const ::std::os::raw::c_char,
4294 ) -> ::std::os::raw::c_ulong;
4295}
4296extern "C" {
4297 pub fn strspn(
4298 __s: *const ::std::os::raw::c_char,
4299 __accept: *const ::std::os::raw::c_char,
4300 ) -> ::std::os::raw::c_ulong;
4301}
4302extern "C" {
4303 pub fn strpbrk(
4304 __s: *const ::std::os::raw::c_char,
4305 __accept: *const ::std::os::raw::c_char,
4306 ) -> *mut ::std::os::raw::c_char;
4307}
4308extern "C" {
4309 pub fn strstr(
4310 __haystack: *const ::std::os::raw::c_char,
4311 __needle: *const ::std::os::raw::c_char,
4312 ) -> *mut ::std::os::raw::c_char;
4313}
4314extern "C" {
4315 pub fn strtok(
4316 __s: *mut ::std::os::raw::c_char,
4317 __delim: *const ::std::os::raw::c_char,
4318 ) -> *mut ::std::os::raw::c_char;
4319}
4320extern "C" {
4321 pub fn __strtok_r(
4322 __s: *mut ::std::os::raw::c_char,
4323 __delim: *const ::std::os::raw::c_char,
4324 __save_ptr: *mut *mut ::std::os::raw::c_char,
4325 ) -> *mut ::std::os::raw::c_char;
4326}
4327extern "C" {
4328 pub fn strtok_r(
4329 __s: *mut ::std::os::raw::c_char,
4330 __delim: *const ::std::os::raw::c_char,
4331 __save_ptr: *mut *mut ::std::os::raw::c_char,
4332 ) -> *mut ::std::os::raw::c_char;
4333}
4334extern "C" {
4335 pub fn strlen(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_ulong;
4336}
4337extern "C" {
4338 pub fn strnlen(__string: *const ::std::os::raw::c_char, __maxlen: usize) -> usize;
4339}
4340extern "C" {
4341 pub fn strerror(__errnum: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
4342}
4343extern "C" {
4344 #[link_name = "\u{1}__xpg_strerror_r"]
4345 pub fn strerror_r(
4346 __errnum: ::std::os::raw::c_int,
4347 __buf: *mut ::std::os::raw::c_char,
4348 __buflen: usize,
4349 ) -> ::std::os::raw::c_int;
4350}
4351extern "C" {
4352 pub fn strerror_l(
4353 __errnum: ::std::os::raw::c_int,
4354 __l: locale_t,
4355 ) -> *mut ::std::os::raw::c_char;
4356}
4357extern "C" {
4358 pub fn bcmp(
4359 __s1: *const ::std::os::raw::c_void,
4360 __s2: *const ::std::os::raw::c_void,
4361 __n: usize,
4362 ) -> ::std::os::raw::c_int;
4363}
4364extern "C" {
4365 pub fn bcopy(
4366 __src: *const ::std::os::raw::c_void,
4367 __dest: *mut ::std::os::raw::c_void,
4368 __n: usize,
4369 );
4370}
4371extern "C" {
4372 pub fn bzero(__s: *mut ::std::os::raw::c_void, __n: ::std::os::raw::c_ulong);
4373}
4374extern "C" {
4375 pub fn index(
4376 __s: *const ::std::os::raw::c_char,
4377 __c: ::std::os::raw::c_int,
4378 ) -> *mut ::std::os::raw::c_char;
4379}
4380extern "C" {
4381 pub fn rindex(
4382 __s: *const ::std::os::raw::c_char,
4383 __c: ::std::os::raw::c_int,
4384 ) -> *mut ::std::os::raw::c_char;
4385}
4386extern "C" {
4387 pub fn ffs(__i: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4388}
4389extern "C" {
4390 pub fn ffsl(__l: ::std::os::raw::c_long) -> ::std::os::raw::c_int;
4391}
4392extern "C" {
4393 pub fn ffsll(__ll: ::std::os::raw::c_longlong) -> ::std::os::raw::c_int;
4394}
4395extern "C" {
4396 pub fn strcasecmp(
4397 __s1: *const ::std::os::raw::c_char,
4398 __s2: *const ::std::os::raw::c_char,
4399 ) -> ::std::os::raw::c_int;
4400}
4401extern "C" {
4402 pub fn strncasecmp(
4403 __s1: *const ::std::os::raw::c_char,
4404 __s2: *const ::std::os::raw::c_char,
4405 __n: ::std::os::raw::c_ulong,
4406 ) -> ::std::os::raw::c_int;
4407}
4408extern "C" {
4409 pub fn strcasecmp_l(
4410 __s1: *const ::std::os::raw::c_char,
4411 __s2: *const ::std::os::raw::c_char,
4412 __loc: locale_t,
4413 ) -> ::std::os::raw::c_int;
4414}
4415extern "C" {
4416 pub fn strncasecmp_l(
4417 __s1: *const ::std::os::raw::c_char,
4418 __s2: *const ::std::os::raw::c_char,
4419 __n: usize,
4420 __loc: locale_t,
4421 ) -> ::std::os::raw::c_int;
4422}
4423extern "C" {
4424 pub fn explicit_bzero(__s: *mut ::std::os::raw::c_void, __n: usize);
4425}
4426extern "C" {
4427 pub fn strsep(
4428 __stringp: *mut *mut ::std::os::raw::c_char,
4429 __delim: *const ::std::os::raw::c_char,
4430 ) -> *mut ::std::os::raw::c_char;
4431}
4432extern "C" {
4433 pub fn strsignal(__sig: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
4434}
4435extern "C" {
4436 pub fn __stpcpy(
4437 __dest: *mut ::std::os::raw::c_char,
4438 __src: *const ::std::os::raw::c_char,
4439 ) -> *mut ::std::os::raw::c_char;
4440}
4441extern "C" {
4442 pub fn stpcpy(
4443 __dest: *mut ::std::os::raw::c_char,
4444 __src: *const ::std::os::raw::c_char,
4445 ) -> *mut ::std::os::raw::c_char;
4446}
4447extern "C" {
4448 pub fn __stpncpy(
4449 __dest: *mut ::std::os::raw::c_char,
4450 __src: *const ::std::os::raw::c_char,
4451 __n: usize,
4452 ) -> *mut ::std::os::raw::c_char;
4453}
4454extern "C" {
4455 pub fn stpncpy(
4456 __dest: *mut ::std::os::raw::c_char,
4457 __src: *const ::std::os::raw::c_char,
4458 __n: ::std::os::raw::c_ulong,
4459 ) -> *mut ::std::os::raw::c_char;
4460}
4461extern "C" {
4462 pub fn av_log2(v: ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
4463}
4464extern "C" {
4465 pub fn av_log2_16bit(v: ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
4466}
4467#[repr(C)]
4468#[repr(align(16))]
4469#[derive(Debug, Copy, Clone)]
4470pub struct max_align_t {
4471 pub __clang_max_align_nonce1: ::std::os::raw::c_longlong,
4472 pub __bindgen_padding_0: u64,
4473 pub __clang_max_align_nonce2: u128,
4474}
4475extern "C" {
4476 pub fn av_strerror(
4477 errnum: ::std::os::raw::c_int,
4478 errbuf: *mut ::std::os::raw::c_char,
4479 errbuf_size: usize,
4480 ) -> ::std::os::raw::c_int;
4481}
4482extern "C" {
4483 pub fn av_malloc(size: usize) -> *mut ::std::os::raw::c_void;
4484}
4485extern "C" {
4486 pub fn av_mallocz(size: usize) -> *mut ::std::os::raw::c_void;
4487}
4488extern "C" {
4489 pub fn av_malloc_array(nmemb: usize, size: usize) -> *mut ::std::os::raw::c_void;
4490}
4491extern "C" {
4492 pub fn av_mallocz_array(nmemb: usize, size: usize) -> *mut ::std::os::raw::c_void;
4493}
4494extern "C" {
4495 pub fn av_calloc(nmemb: usize, size: usize) -> *mut ::std::os::raw::c_void;
4496}
4497extern "C" {
4498 pub fn av_realloc(ptr: *mut ::std::os::raw::c_void, size: usize)
4499 -> *mut ::std::os::raw::c_void;
4500}
4501extern "C" {
4502 pub fn av_reallocp(ptr: *mut ::std::os::raw::c_void, size: usize) -> ::std::os::raw::c_int;
4503}
4504extern "C" {
4505 pub fn av_realloc_f(
4506 ptr: *mut ::std::os::raw::c_void,
4507 nelem: usize,
4508 elsize: usize,
4509 ) -> *mut ::std::os::raw::c_void;
4510}
4511extern "C" {
4512 pub fn av_realloc_array(
4513 ptr: *mut ::std::os::raw::c_void,
4514 nmemb: usize,
4515 size: usize,
4516 ) -> *mut ::std::os::raw::c_void;
4517}
4518extern "C" {
4519 pub fn av_reallocp_array(
4520 ptr: *mut ::std::os::raw::c_void,
4521 nmemb: usize,
4522 size: usize,
4523 ) -> ::std::os::raw::c_int;
4524}
4525extern "C" {
4526 pub fn av_fast_realloc(
4527 ptr: *mut ::std::os::raw::c_void,
4528 size: *mut ::std::os::raw::c_uint,
4529 min_size: usize,
4530 ) -> *mut ::std::os::raw::c_void;
4531}
4532extern "C" {
4533 pub fn av_fast_malloc(
4534 ptr: *mut ::std::os::raw::c_void,
4535 size: *mut ::std::os::raw::c_uint,
4536 min_size: usize,
4537 );
4538}
4539extern "C" {
4540 pub fn av_fast_mallocz(
4541 ptr: *mut ::std::os::raw::c_void,
4542 size: *mut ::std::os::raw::c_uint,
4543 min_size: usize,
4544 );
4545}
4546extern "C" {
4547 pub fn av_free(ptr: *mut ::std::os::raw::c_void);
4548}
4549extern "C" {
4550 pub fn av_freep(ptr: *mut ::std::os::raw::c_void);
4551}
4552extern "C" {
4553 pub fn av_strdup(s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
4554}
4555extern "C" {
4556 pub fn av_strndup(s: *const ::std::os::raw::c_char, len: usize) -> *mut ::std::os::raw::c_char;
4557}
4558extern "C" {
4559 pub fn av_memdup(p: *const ::std::os::raw::c_void, size: usize) -> *mut ::std::os::raw::c_void;
4560}
4561extern "C" {
4562 pub fn av_memcpy_backptr(dst: *mut u8, back: ::std::os::raw::c_int, cnt: ::std::os::raw::c_int);
4563}
4564extern "C" {
4565 pub fn av_dynarray_add(
4566 tab_ptr: *mut ::std::os::raw::c_void,
4567 nb_ptr: *mut ::std::os::raw::c_int,
4568 elem: *mut ::std::os::raw::c_void,
4569 );
4570}
4571extern "C" {
4572 pub fn av_dynarray_add_nofree(
4573 tab_ptr: *mut ::std::os::raw::c_void,
4574 nb_ptr: *mut ::std::os::raw::c_int,
4575 elem: *mut ::std::os::raw::c_void,
4576 ) -> ::std::os::raw::c_int;
4577}
4578extern "C" {
4579 pub fn av_dynarray2_add(
4580 tab_ptr: *mut *mut ::std::os::raw::c_void,
4581 nb_ptr: *mut ::std::os::raw::c_int,
4582 elem_size: usize,
4583 elem_data: *const u8,
4584 ) -> *mut ::std::os::raw::c_void;
4585}
4586extern "C" {
4587 pub fn av_max_alloc(max: usize);
4588}
4589#[repr(C)]
4590#[derive(Debug, Copy, Clone)]
4591pub struct AVRational {
4592 pub num: ::std::os::raw::c_int,
4593 pub den: ::std::os::raw::c_int,
4594}
4595extern "C" {
4596 pub fn av_reduce(
4597 dst_num: *mut ::std::os::raw::c_int,
4598 dst_den: *mut ::std::os::raw::c_int,
4599 num: i64,
4600 den: i64,
4601 max: i64,
4602 ) -> ::std::os::raw::c_int;
4603}
4604extern "C" {
4605 pub fn av_mul_q(b: AVRational, c: AVRational) -> AVRational;
4606}
4607extern "C" {
4608 pub fn av_div_q(b: AVRational, c: AVRational) -> AVRational;
4609}
4610extern "C" {
4611 pub fn av_add_q(b: AVRational, c: AVRational) -> AVRational;
4612}
4613extern "C" {
4614 pub fn av_sub_q(b: AVRational, c: AVRational) -> AVRational;
4615}
4616extern "C" {
4617 pub fn av_d2q(d: f64, max: ::std::os::raw::c_int) -> AVRational;
4618}
4619extern "C" {
4620 pub fn av_nearer_q(q: AVRational, q1: AVRational, q2: AVRational) -> ::std::os::raw::c_int;
4621}
4622extern "C" {
4623 pub fn av_find_nearest_q_idx(q: AVRational, q_list: *const AVRational)
4624 -> ::std::os::raw::c_int;
4625}
4626extern "C" {
4627 pub fn av_q2intfloat(q: AVRational) -> u32;
4628}
4629#[repr(C)]
4630#[derive(Copy, Clone)]
4631pub union av_intfloat32 {
4632 pub i: u32,
4633 pub f: f32,
4634 _bindgen_union_align: u32,
4635}
4636#[repr(C)]
4637#[derive(Copy, Clone)]
4638pub union av_intfloat64 {
4639 pub i: u64,
4640 pub f: f64,
4641 _bindgen_union_align: u64,
4642}
4643pub const AVRounding_AV_ROUND_ZERO: AVRounding = 0;
4644pub const AVRounding_AV_ROUND_INF: AVRounding = 1;
4645pub const AVRounding_AV_ROUND_DOWN: AVRounding = 2;
4646pub const AVRounding_AV_ROUND_UP: AVRounding = 3;
4647pub const AVRounding_AV_ROUND_NEAR_INF: AVRounding = 5;
4648pub const AVRounding_AV_ROUND_PASS_MINMAX: AVRounding = 8192;
4649pub type AVRounding = u32;
4650extern "C" {
4651 pub fn av_gcd(a: i64, b: i64) -> i64;
4652}
4653extern "C" {
4654 pub fn av_rescale(a: i64, b: i64, c: i64) -> i64;
4655}
4656extern "C" {
4657 pub fn av_rescale_rnd(a: i64, b: i64, c: i64, rnd: AVRounding) -> i64;
4658}
4659extern "C" {
4660 pub fn av_rescale_q(a: i64, bq: AVRational, cq: AVRational) -> i64;
4661}
4662extern "C" {
4663 pub fn av_rescale_q_rnd(a: i64, bq: AVRational, cq: AVRational, rnd: AVRounding) -> i64;
4664}
4665extern "C" {
4666 pub fn av_compare_ts(
4667 ts_a: i64,
4668 tb_a: AVRational,
4669 ts_b: i64,
4670 tb_b: AVRational,
4671 ) -> ::std::os::raw::c_int;
4672}
4673extern "C" {
4674 pub fn av_compare_mod(a: u64, b: u64, mod_: u64) -> i64;
4675}
4676extern "C" {
4677 pub fn av_rescale_delta(
4678 in_tb: AVRational,
4679 in_ts: i64,
4680 fs_tb: AVRational,
4681 duration: ::std::os::raw::c_int,
4682 last: *mut i64,
4683 out_tb: AVRational,
4684 ) -> i64;
4685}
4686extern "C" {
4687 pub fn av_add_stable(ts_tb: AVRational, ts: i64, inc_tb: AVRational, inc: i64) -> i64;
4688}
4689pub const AVClassCategory_AV_CLASS_CATEGORY_NA: AVClassCategory = 0;
4690pub const AVClassCategory_AV_CLASS_CATEGORY_INPUT: AVClassCategory = 1;
4691pub const AVClassCategory_AV_CLASS_CATEGORY_OUTPUT: AVClassCategory = 2;
4692pub const AVClassCategory_AV_CLASS_CATEGORY_MUXER: AVClassCategory = 3;
4693pub const AVClassCategory_AV_CLASS_CATEGORY_DEMUXER: AVClassCategory = 4;
4694pub const AVClassCategory_AV_CLASS_CATEGORY_ENCODER: AVClassCategory = 5;
4695pub const AVClassCategory_AV_CLASS_CATEGORY_DECODER: AVClassCategory = 6;
4696pub const AVClassCategory_AV_CLASS_CATEGORY_FILTER: AVClassCategory = 7;
4697pub const AVClassCategory_AV_CLASS_CATEGORY_BITSTREAM_FILTER: AVClassCategory = 8;
4698pub const AVClassCategory_AV_CLASS_CATEGORY_SWSCALER: AVClassCategory = 9;
4699pub const AVClassCategory_AV_CLASS_CATEGORY_SWRESAMPLER: AVClassCategory = 10;
4700pub const AVClassCategory_AV_CLASS_CATEGORY_DEVICE_VIDEO_OUTPUT: AVClassCategory = 40;
4701pub const AVClassCategory_AV_CLASS_CATEGORY_DEVICE_VIDEO_INPUT: AVClassCategory = 41;
4702pub const AVClassCategory_AV_CLASS_CATEGORY_DEVICE_AUDIO_OUTPUT: AVClassCategory = 42;
4703pub const AVClassCategory_AV_CLASS_CATEGORY_DEVICE_AUDIO_INPUT: AVClassCategory = 43;
4704pub const AVClassCategory_AV_CLASS_CATEGORY_DEVICE_OUTPUT: AVClassCategory = 44;
4705pub const AVClassCategory_AV_CLASS_CATEGORY_DEVICE_INPUT: AVClassCategory = 45;
4706pub const AVClassCategory_AV_CLASS_CATEGORY_NB: AVClassCategory = 46;
4707pub type AVClassCategory = u32;
4708#[repr(C)]
4709#[derive(Debug, Copy, Clone)]
4710pub struct AVOptionRanges {
4711 _unused: [u8; 0],
4712}
4713#[repr(C)]
4714#[derive(Debug, Copy, Clone)]
4715pub struct AVClass {
4716 pub class_name: *const ::std::os::raw::c_char,
4717 pub item_name: ::std::option::Option<
4718 unsafe extern "C" fn(ctx: *mut ::std::os::raw::c_void) -> *const ::std::os::raw::c_char,
4719 >,
4720 pub option: *mut AVOption,
4721 pub version: ::std::os::raw::c_int,
4722 pub log_level_offset_offset: ::std::os::raw::c_int,
4723 pub parent_log_context_offset: ::std::os::raw::c_int,
4724 pub child_next: ::std::option::Option<
4725 unsafe extern "C" fn(
4726 obj: *mut ::std::os::raw::c_void,
4727 prev: *mut ::std::os::raw::c_void,
4728 ) -> *mut ::std::os::raw::c_void,
4729 >,
4730 pub child_class_next:
4731 ::std::option::Option<unsafe extern "C" fn(prev: *const AVClass) -> *const AVClass>,
4732 pub category: AVClassCategory,
4733 pub get_category: ::std::option::Option<
4734 unsafe extern "C" fn(ctx: *mut ::std::os::raw::c_void) -> AVClassCategory,
4735 >,
4736 pub query_ranges: ::std::option::Option<
4737 unsafe extern "C" fn(
4738 arg1: *mut *mut AVOptionRanges,
4739 obj: *mut ::std::os::raw::c_void,
4740 key: *const ::std::os::raw::c_char,
4741 flags: ::std::os::raw::c_int,
4742 ) -> ::std::os::raw::c_int,
4743 >,
4744}
4745extern "C" {
4746 pub fn av_log(
4747 avcl: *mut ::std::os::raw::c_void,
4748 level: ::std::os::raw::c_int,
4749 fmt: *const ::std::os::raw::c_char,
4750 ...
4751 );
4752}
4753extern "C" {
4754 pub fn av_vlog(
4755 avcl: *mut ::std::os::raw::c_void,
4756 level: ::std::os::raw::c_int,
4757 fmt: *const ::std::os::raw::c_char,
4758 vl: *mut __va_list_tag,
4759 );
4760}
4761extern "C" {
4762 pub fn av_log_get_level() -> ::std::os::raw::c_int;
4763}
4764extern "C" {
4765 pub fn av_log_set_level(level: ::std::os::raw::c_int);
4766}
4767extern "C" {
4768 pub fn av_log_set_callback(
4769 callback: ::std::option::Option<
4770 unsafe extern "C" fn(
4771 callback: *mut ::std::os::raw::c_void,
4772 arg1: ::std::os::raw::c_int,
4773 arg2: *const ::std::os::raw::c_char,
4774 arg3: *mut __va_list_tag,
4775 ),
4776 >,
4777 );
4778}
4779extern "C" {
4780 pub fn av_log_default_callback(
4781 avcl: *mut ::std::os::raw::c_void,
4782 level: ::std::os::raw::c_int,
4783 fmt: *const ::std::os::raw::c_char,
4784 vl: *mut __va_list_tag,
4785 );
4786}
4787extern "C" {
4788 pub fn av_default_item_name(ctx: *mut ::std::os::raw::c_void) -> *const ::std::os::raw::c_char;
4789}
4790extern "C" {
4791 pub fn av_default_get_category(ptr: *mut ::std::os::raw::c_void) -> AVClassCategory;
4792}
4793extern "C" {
4794 pub fn av_log_format_line(
4795 ptr: *mut ::std::os::raw::c_void,
4796 level: ::std::os::raw::c_int,
4797 fmt: *const ::std::os::raw::c_char,
4798 vl: *mut __va_list_tag,
4799 line: *mut ::std::os::raw::c_char,
4800 line_size: ::std::os::raw::c_int,
4801 print_prefix: *mut ::std::os::raw::c_int,
4802 );
4803}
4804extern "C" {
4805 pub fn av_log_format_line2(
4806 ptr: *mut ::std::os::raw::c_void,
4807 level: ::std::os::raw::c_int,
4808 fmt: *const ::std::os::raw::c_char,
4809 vl: *mut __va_list_tag,
4810 line: *mut ::std::os::raw::c_char,
4811 line_size: ::std::os::raw::c_int,
4812 print_prefix: *mut ::std::os::raw::c_int,
4813 ) -> ::std::os::raw::c_int;
4814}
4815extern "C" {
4816 pub fn av_log_set_flags(arg: ::std::os::raw::c_int);
4817}
4818extern "C" {
4819 pub fn av_log_get_flags() -> ::std::os::raw::c_int;
4820}
4821pub const AVPixelFormat_AV_PIX_FMT_NONE: AVPixelFormat = -1;
4822pub const AVPixelFormat_AV_PIX_FMT_YUV420P: AVPixelFormat = 0;
4823pub const AVPixelFormat_AV_PIX_FMT_YUYV422: AVPixelFormat = 1;
4824pub const AVPixelFormat_AV_PIX_FMT_RGB24: AVPixelFormat = 2;
4825pub const AVPixelFormat_AV_PIX_FMT_BGR24: AVPixelFormat = 3;
4826pub const AVPixelFormat_AV_PIX_FMT_YUV422P: AVPixelFormat = 4;
4827pub const AVPixelFormat_AV_PIX_FMT_YUV444P: AVPixelFormat = 5;
4828pub const AVPixelFormat_AV_PIX_FMT_YUV410P: AVPixelFormat = 6;
4829pub const AVPixelFormat_AV_PIX_FMT_YUV411P: AVPixelFormat = 7;
4830pub const AVPixelFormat_AV_PIX_FMT_GRAY8: AVPixelFormat = 8;
4831pub const AVPixelFormat_AV_PIX_FMT_MONOWHITE: AVPixelFormat = 9;
4832pub const AVPixelFormat_AV_PIX_FMT_MONOBLACK: AVPixelFormat = 10;
4833pub const AVPixelFormat_AV_PIX_FMT_PAL8: AVPixelFormat = 11;
4834pub const AVPixelFormat_AV_PIX_FMT_YUVJ420P: AVPixelFormat = 12;
4835pub const AVPixelFormat_AV_PIX_FMT_YUVJ422P: AVPixelFormat = 13;
4836pub const AVPixelFormat_AV_PIX_FMT_YUVJ444P: AVPixelFormat = 14;
4837pub const AVPixelFormat_AV_PIX_FMT_UYVY422: AVPixelFormat = 15;
4838pub const AVPixelFormat_AV_PIX_FMT_UYYVYY411: AVPixelFormat = 16;
4839pub const AVPixelFormat_AV_PIX_FMT_BGR8: AVPixelFormat = 17;
4840pub const AVPixelFormat_AV_PIX_FMT_BGR4: AVPixelFormat = 18;
4841pub const AVPixelFormat_AV_PIX_FMT_BGR4_BYTE: AVPixelFormat = 19;
4842pub const AVPixelFormat_AV_PIX_FMT_RGB8: AVPixelFormat = 20;
4843pub const AVPixelFormat_AV_PIX_FMT_RGB4: AVPixelFormat = 21;
4844pub const AVPixelFormat_AV_PIX_FMT_RGB4_BYTE: AVPixelFormat = 22;
4845pub const AVPixelFormat_AV_PIX_FMT_NV12: AVPixelFormat = 23;
4846pub const AVPixelFormat_AV_PIX_FMT_NV21: AVPixelFormat = 24;
4847pub const AVPixelFormat_AV_PIX_FMT_ARGB: AVPixelFormat = 25;
4848pub const AVPixelFormat_AV_PIX_FMT_RGBA: AVPixelFormat = 26;
4849pub const AVPixelFormat_AV_PIX_FMT_ABGR: AVPixelFormat = 27;
4850pub const AVPixelFormat_AV_PIX_FMT_BGRA: AVPixelFormat = 28;
4851pub const AVPixelFormat_AV_PIX_FMT_GRAY16BE: AVPixelFormat = 29;
4852pub const AVPixelFormat_AV_PIX_FMT_GRAY16LE: AVPixelFormat = 30;
4853pub const AVPixelFormat_AV_PIX_FMT_YUV440P: AVPixelFormat = 31;
4854pub const AVPixelFormat_AV_PIX_FMT_YUVJ440P: AVPixelFormat = 32;
4855pub const AVPixelFormat_AV_PIX_FMT_YUVA420P: AVPixelFormat = 33;
4856pub const AVPixelFormat_AV_PIX_FMT_RGB48BE: AVPixelFormat = 34;
4857pub const AVPixelFormat_AV_PIX_FMT_RGB48LE: AVPixelFormat = 35;
4858pub const AVPixelFormat_AV_PIX_FMT_RGB565BE: AVPixelFormat = 36;
4859pub const AVPixelFormat_AV_PIX_FMT_RGB565LE: AVPixelFormat = 37;
4860pub const AVPixelFormat_AV_PIX_FMT_RGB555BE: AVPixelFormat = 38;
4861pub const AVPixelFormat_AV_PIX_FMT_RGB555LE: AVPixelFormat = 39;
4862pub const AVPixelFormat_AV_PIX_FMT_BGR565BE: AVPixelFormat = 40;
4863pub const AVPixelFormat_AV_PIX_FMT_BGR565LE: AVPixelFormat = 41;
4864pub const AVPixelFormat_AV_PIX_FMT_BGR555BE: AVPixelFormat = 42;
4865pub const AVPixelFormat_AV_PIX_FMT_BGR555LE: AVPixelFormat = 43;
4866pub const AVPixelFormat_AV_PIX_FMT_VAAPI_MOCO: AVPixelFormat = 44;
4867pub const AVPixelFormat_AV_PIX_FMT_VAAPI_IDCT: AVPixelFormat = 45;
4868pub const AVPixelFormat_AV_PIX_FMT_VAAPI_VLD: AVPixelFormat = 46;
4869pub const AVPixelFormat_AV_PIX_FMT_VAAPI: AVPixelFormat = 46;
4870pub const AVPixelFormat_AV_PIX_FMT_YUV420P16LE: AVPixelFormat = 47;
4871pub const AVPixelFormat_AV_PIX_FMT_YUV420P16BE: AVPixelFormat = 48;
4872pub const AVPixelFormat_AV_PIX_FMT_YUV422P16LE: AVPixelFormat = 49;
4873pub const AVPixelFormat_AV_PIX_FMT_YUV422P16BE: AVPixelFormat = 50;
4874pub const AVPixelFormat_AV_PIX_FMT_YUV444P16LE: AVPixelFormat = 51;
4875pub const AVPixelFormat_AV_PIX_FMT_YUV444P16BE: AVPixelFormat = 52;
4876pub const AVPixelFormat_AV_PIX_FMT_DXVA2_VLD: AVPixelFormat = 53;
4877pub const AVPixelFormat_AV_PIX_FMT_RGB444LE: AVPixelFormat = 54;
4878pub const AVPixelFormat_AV_PIX_FMT_RGB444BE: AVPixelFormat = 55;
4879pub const AVPixelFormat_AV_PIX_FMT_BGR444LE: AVPixelFormat = 56;
4880pub const AVPixelFormat_AV_PIX_FMT_BGR444BE: AVPixelFormat = 57;
4881pub const AVPixelFormat_AV_PIX_FMT_YA8: AVPixelFormat = 58;
4882pub const AVPixelFormat_AV_PIX_FMT_Y400A: AVPixelFormat = 58;
4883pub const AVPixelFormat_AV_PIX_FMT_GRAY8A: AVPixelFormat = 58;
4884pub const AVPixelFormat_AV_PIX_FMT_BGR48BE: AVPixelFormat = 59;
4885pub const AVPixelFormat_AV_PIX_FMT_BGR48LE: AVPixelFormat = 60;
4886pub const AVPixelFormat_AV_PIX_FMT_YUV420P9BE: AVPixelFormat = 61;
4887pub const AVPixelFormat_AV_PIX_FMT_YUV420P9LE: AVPixelFormat = 62;
4888pub const AVPixelFormat_AV_PIX_FMT_YUV420P10BE: AVPixelFormat = 63;
4889pub const AVPixelFormat_AV_PIX_FMT_YUV420P10LE: AVPixelFormat = 64;
4890pub const AVPixelFormat_AV_PIX_FMT_YUV422P10BE: AVPixelFormat = 65;
4891pub const AVPixelFormat_AV_PIX_FMT_YUV422P10LE: AVPixelFormat = 66;
4892pub const AVPixelFormat_AV_PIX_FMT_YUV444P9BE: AVPixelFormat = 67;
4893pub const AVPixelFormat_AV_PIX_FMT_YUV444P9LE: AVPixelFormat = 68;
4894pub const AVPixelFormat_AV_PIX_FMT_YUV444P10BE: AVPixelFormat = 69;
4895pub const AVPixelFormat_AV_PIX_FMT_YUV444P10LE: AVPixelFormat = 70;
4896pub const AVPixelFormat_AV_PIX_FMT_YUV422P9BE: AVPixelFormat = 71;
4897pub const AVPixelFormat_AV_PIX_FMT_YUV422P9LE: AVPixelFormat = 72;
4898pub const AVPixelFormat_AV_PIX_FMT_GBRP: AVPixelFormat = 73;
4899pub const AVPixelFormat_AV_PIX_FMT_GBR24P: AVPixelFormat = 73;
4900pub const AVPixelFormat_AV_PIX_FMT_GBRP9BE: AVPixelFormat = 74;
4901pub const AVPixelFormat_AV_PIX_FMT_GBRP9LE: AVPixelFormat = 75;
4902pub const AVPixelFormat_AV_PIX_FMT_GBRP10BE: AVPixelFormat = 76;
4903pub const AVPixelFormat_AV_PIX_FMT_GBRP10LE: AVPixelFormat = 77;
4904pub const AVPixelFormat_AV_PIX_FMT_GBRP16BE: AVPixelFormat = 78;
4905pub const AVPixelFormat_AV_PIX_FMT_GBRP16LE: AVPixelFormat = 79;
4906pub const AVPixelFormat_AV_PIX_FMT_YUVA422P: AVPixelFormat = 80;
4907pub const AVPixelFormat_AV_PIX_FMT_YUVA444P: AVPixelFormat = 81;
4908pub const AVPixelFormat_AV_PIX_FMT_YUVA420P9BE: AVPixelFormat = 82;
4909pub const AVPixelFormat_AV_PIX_FMT_YUVA420P9LE: AVPixelFormat = 83;
4910pub const AVPixelFormat_AV_PIX_FMT_YUVA422P9BE: AVPixelFormat = 84;
4911pub const AVPixelFormat_AV_PIX_FMT_YUVA422P9LE: AVPixelFormat = 85;
4912pub const AVPixelFormat_AV_PIX_FMT_YUVA444P9BE: AVPixelFormat = 86;
4913pub const AVPixelFormat_AV_PIX_FMT_YUVA444P9LE: AVPixelFormat = 87;
4914pub const AVPixelFormat_AV_PIX_FMT_YUVA420P10BE: AVPixelFormat = 88;
4915pub const AVPixelFormat_AV_PIX_FMT_YUVA420P10LE: AVPixelFormat = 89;
4916pub const AVPixelFormat_AV_PIX_FMT_YUVA422P10BE: AVPixelFormat = 90;
4917pub const AVPixelFormat_AV_PIX_FMT_YUVA422P10LE: AVPixelFormat = 91;
4918pub const AVPixelFormat_AV_PIX_FMT_YUVA444P10BE: AVPixelFormat = 92;
4919pub const AVPixelFormat_AV_PIX_FMT_YUVA444P10LE: AVPixelFormat = 93;
4920pub const AVPixelFormat_AV_PIX_FMT_YUVA420P16BE: AVPixelFormat = 94;
4921pub const AVPixelFormat_AV_PIX_FMT_YUVA420P16LE: AVPixelFormat = 95;
4922pub const AVPixelFormat_AV_PIX_FMT_YUVA422P16BE: AVPixelFormat = 96;
4923pub const AVPixelFormat_AV_PIX_FMT_YUVA422P16LE: AVPixelFormat = 97;
4924pub const AVPixelFormat_AV_PIX_FMT_YUVA444P16BE: AVPixelFormat = 98;
4925pub const AVPixelFormat_AV_PIX_FMT_YUVA444P16LE: AVPixelFormat = 99;
4926pub const AVPixelFormat_AV_PIX_FMT_VDPAU: AVPixelFormat = 100;
4927pub const AVPixelFormat_AV_PIX_FMT_XYZ12LE: AVPixelFormat = 101;
4928pub const AVPixelFormat_AV_PIX_FMT_XYZ12BE: AVPixelFormat = 102;
4929pub const AVPixelFormat_AV_PIX_FMT_NV16: AVPixelFormat = 103;
4930pub const AVPixelFormat_AV_PIX_FMT_NV20LE: AVPixelFormat = 104;
4931pub const AVPixelFormat_AV_PIX_FMT_NV20BE: AVPixelFormat = 105;
4932pub const AVPixelFormat_AV_PIX_FMT_RGBA64BE: AVPixelFormat = 106;
4933pub const AVPixelFormat_AV_PIX_FMT_RGBA64LE: AVPixelFormat = 107;
4934pub const AVPixelFormat_AV_PIX_FMT_BGRA64BE: AVPixelFormat = 108;
4935pub const AVPixelFormat_AV_PIX_FMT_BGRA64LE: AVPixelFormat = 109;
4936pub const AVPixelFormat_AV_PIX_FMT_YVYU422: AVPixelFormat = 110;
4937pub const AVPixelFormat_AV_PIX_FMT_YA16BE: AVPixelFormat = 111;
4938pub const AVPixelFormat_AV_PIX_FMT_YA16LE: AVPixelFormat = 112;
4939pub const AVPixelFormat_AV_PIX_FMT_GBRAP: AVPixelFormat = 113;
4940pub const AVPixelFormat_AV_PIX_FMT_GBRAP16BE: AVPixelFormat = 114;
4941pub const AVPixelFormat_AV_PIX_FMT_GBRAP16LE: AVPixelFormat = 115;
4942pub const AVPixelFormat_AV_PIX_FMT_QSV: AVPixelFormat = 116;
4943pub const AVPixelFormat_AV_PIX_FMT_MMAL: AVPixelFormat = 117;
4944pub const AVPixelFormat_AV_PIX_FMT_D3D11VA_VLD: AVPixelFormat = 118;
4945pub const AVPixelFormat_AV_PIX_FMT_CUDA: AVPixelFormat = 119;
4946pub const AVPixelFormat_AV_PIX_FMT_0RGB: AVPixelFormat = 120;
4947pub const AVPixelFormat_AV_PIX_FMT_RGB0: AVPixelFormat = 121;
4948pub const AVPixelFormat_AV_PIX_FMT_0BGR: AVPixelFormat = 122;
4949pub const AVPixelFormat_AV_PIX_FMT_BGR0: AVPixelFormat = 123;
4950pub const AVPixelFormat_AV_PIX_FMT_YUV420P12BE: AVPixelFormat = 124;
4951pub const AVPixelFormat_AV_PIX_FMT_YUV420P12LE: AVPixelFormat = 125;
4952pub const AVPixelFormat_AV_PIX_FMT_YUV420P14BE: AVPixelFormat = 126;
4953pub const AVPixelFormat_AV_PIX_FMT_YUV420P14LE: AVPixelFormat = 127;
4954pub const AVPixelFormat_AV_PIX_FMT_YUV422P12BE: AVPixelFormat = 128;
4955pub const AVPixelFormat_AV_PIX_FMT_YUV422P12LE: AVPixelFormat = 129;
4956pub const AVPixelFormat_AV_PIX_FMT_YUV422P14BE: AVPixelFormat = 130;
4957pub const AVPixelFormat_AV_PIX_FMT_YUV422P14LE: AVPixelFormat = 131;
4958pub const AVPixelFormat_AV_PIX_FMT_YUV444P12BE: AVPixelFormat = 132;
4959pub const AVPixelFormat_AV_PIX_FMT_YUV444P12LE: AVPixelFormat = 133;
4960pub const AVPixelFormat_AV_PIX_FMT_YUV444P14BE: AVPixelFormat = 134;
4961pub const AVPixelFormat_AV_PIX_FMT_YUV444P14LE: AVPixelFormat = 135;
4962pub const AVPixelFormat_AV_PIX_FMT_GBRP12BE: AVPixelFormat = 136;
4963pub const AVPixelFormat_AV_PIX_FMT_GBRP12LE: AVPixelFormat = 137;
4964pub const AVPixelFormat_AV_PIX_FMT_GBRP14BE: AVPixelFormat = 138;
4965pub const AVPixelFormat_AV_PIX_FMT_GBRP14LE: AVPixelFormat = 139;
4966pub const AVPixelFormat_AV_PIX_FMT_YUVJ411P: AVPixelFormat = 140;
4967pub const AVPixelFormat_AV_PIX_FMT_BAYER_BGGR8: AVPixelFormat = 141;
4968pub const AVPixelFormat_AV_PIX_FMT_BAYER_RGGB8: AVPixelFormat = 142;
4969pub const AVPixelFormat_AV_PIX_FMT_BAYER_GBRG8: AVPixelFormat = 143;
4970pub const AVPixelFormat_AV_PIX_FMT_BAYER_GRBG8: AVPixelFormat = 144;
4971pub const AVPixelFormat_AV_PIX_FMT_BAYER_BGGR16LE: AVPixelFormat = 145;
4972pub const AVPixelFormat_AV_PIX_FMT_BAYER_BGGR16BE: AVPixelFormat = 146;
4973pub const AVPixelFormat_AV_PIX_FMT_BAYER_RGGB16LE: AVPixelFormat = 147;
4974pub const AVPixelFormat_AV_PIX_FMT_BAYER_RGGB16BE: AVPixelFormat = 148;
4975pub const AVPixelFormat_AV_PIX_FMT_BAYER_GBRG16LE: AVPixelFormat = 149;
4976pub const AVPixelFormat_AV_PIX_FMT_BAYER_GBRG16BE: AVPixelFormat = 150;
4977pub const AVPixelFormat_AV_PIX_FMT_BAYER_GRBG16LE: AVPixelFormat = 151;
4978pub const AVPixelFormat_AV_PIX_FMT_BAYER_GRBG16BE: AVPixelFormat = 152;
4979pub const AVPixelFormat_AV_PIX_FMT_XVMC: AVPixelFormat = 153;
4980pub const AVPixelFormat_AV_PIX_FMT_YUV440P10LE: AVPixelFormat = 154;
4981pub const AVPixelFormat_AV_PIX_FMT_YUV440P10BE: AVPixelFormat = 155;
4982pub const AVPixelFormat_AV_PIX_FMT_YUV440P12LE: AVPixelFormat = 156;
4983pub const AVPixelFormat_AV_PIX_FMT_YUV440P12BE: AVPixelFormat = 157;
4984pub const AVPixelFormat_AV_PIX_FMT_AYUV64LE: AVPixelFormat = 158;
4985pub const AVPixelFormat_AV_PIX_FMT_AYUV64BE: AVPixelFormat = 159;
4986pub const AVPixelFormat_AV_PIX_FMT_VIDEOTOOLBOX: AVPixelFormat = 160;
4987pub const AVPixelFormat_AV_PIX_FMT_P010LE: AVPixelFormat = 161;
4988pub const AVPixelFormat_AV_PIX_FMT_P010BE: AVPixelFormat = 162;
4989pub const AVPixelFormat_AV_PIX_FMT_GBRAP12BE: AVPixelFormat = 163;
4990pub const AVPixelFormat_AV_PIX_FMT_GBRAP12LE: AVPixelFormat = 164;
4991pub const AVPixelFormat_AV_PIX_FMT_GBRAP10BE: AVPixelFormat = 165;
4992pub const AVPixelFormat_AV_PIX_FMT_GBRAP10LE: AVPixelFormat = 166;
4993pub const AVPixelFormat_AV_PIX_FMT_MEDIACODEC: AVPixelFormat = 167;
4994pub const AVPixelFormat_AV_PIX_FMT_GRAY12BE: AVPixelFormat = 168;
4995pub const AVPixelFormat_AV_PIX_FMT_GRAY12LE: AVPixelFormat = 169;
4996pub const AVPixelFormat_AV_PIX_FMT_GRAY10BE: AVPixelFormat = 170;
4997pub const AVPixelFormat_AV_PIX_FMT_GRAY10LE: AVPixelFormat = 171;
4998pub const AVPixelFormat_AV_PIX_FMT_P016LE: AVPixelFormat = 172;
4999pub const AVPixelFormat_AV_PIX_FMT_P016BE: AVPixelFormat = 173;
5000pub const AVPixelFormat_AV_PIX_FMT_D3D11: AVPixelFormat = 174;
5001pub const AVPixelFormat_AV_PIX_FMT_GRAY9BE: AVPixelFormat = 175;
5002pub const AVPixelFormat_AV_PIX_FMT_GRAY9LE: AVPixelFormat = 176;
5003pub const AVPixelFormat_AV_PIX_FMT_GBRPF32BE: AVPixelFormat = 177;
5004pub const AVPixelFormat_AV_PIX_FMT_GBRPF32LE: AVPixelFormat = 178;
5005pub const AVPixelFormat_AV_PIX_FMT_GBRAPF32BE: AVPixelFormat = 179;
5006pub const AVPixelFormat_AV_PIX_FMT_GBRAPF32LE: AVPixelFormat = 180;
5007pub const AVPixelFormat_AV_PIX_FMT_DRM_PRIME: AVPixelFormat = 181;
5008pub const AVPixelFormat_AV_PIX_FMT_OPENCL: AVPixelFormat = 182;
5009pub const AVPixelFormat_AV_PIX_FMT_GRAY14BE: AVPixelFormat = 183;
5010pub const AVPixelFormat_AV_PIX_FMT_GRAY14LE: AVPixelFormat = 184;
5011pub const AVPixelFormat_AV_PIX_FMT_GRAYF32BE: AVPixelFormat = 185;
5012pub const AVPixelFormat_AV_PIX_FMT_GRAYF32LE: AVPixelFormat = 186;
5013pub const AVPixelFormat_AV_PIX_FMT_NB: AVPixelFormat = 187;
5014pub type AVPixelFormat = i32;
5015pub const AVColorPrimaries_AVCOL_PRI_RESERVED0: AVColorPrimaries = 0;
5016pub const AVColorPrimaries_AVCOL_PRI_BT709: AVColorPrimaries = 1;
5017pub const AVColorPrimaries_AVCOL_PRI_UNSPECIFIED: AVColorPrimaries = 2;
5018pub const AVColorPrimaries_AVCOL_PRI_RESERVED: AVColorPrimaries = 3;
5019pub const AVColorPrimaries_AVCOL_PRI_BT470M: AVColorPrimaries = 4;
5020pub const AVColorPrimaries_AVCOL_PRI_BT470BG: AVColorPrimaries = 5;
5021pub const AVColorPrimaries_AVCOL_PRI_SMPTE170M: AVColorPrimaries = 6;
5022pub const AVColorPrimaries_AVCOL_PRI_SMPTE240M: AVColorPrimaries = 7;
5023pub const AVColorPrimaries_AVCOL_PRI_FILM: AVColorPrimaries = 8;
5024pub const AVColorPrimaries_AVCOL_PRI_BT2020: AVColorPrimaries = 9;
5025pub const AVColorPrimaries_AVCOL_PRI_SMPTE428: AVColorPrimaries = 10;
5026pub const AVColorPrimaries_AVCOL_PRI_SMPTEST428_1: AVColorPrimaries = 10;
5027pub const AVColorPrimaries_AVCOL_PRI_SMPTE431: AVColorPrimaries = 11;
5028pub const AVColorPrimaries_AVCOL_PRI_SMPTE432: AVColorPrimaries = 12;
5029pub const AVColorPrimaries_AVCOL_PRI_JEDEC_P22: AVColorPrimaries = 22;
5030pub const AVColorPrimaries_AVCOL_PRI_NB: AVColorPrimaries = 23;
5031pub type AVColorPrimaries = u32;
5032pub const AVColorTransferCharacteristic_AVCOL_TRC_RESERVED0: AVColorTransferCharacteristic = 0;
5033pub const AVColorTransferCharacteristic_AVCOL_TRC_BT709: AVColorTransferCharacteristic = 1;
5034pub const AVColorTransferCharacteristic_AVCOL_TRC_UNSPECIFIED: AVColorTransferCharacteristic = 2;
5035pub const AVColorTransferCharacteristic_AVCOL_TRC_RESERVED: AVColorTransferCharacteristic = 3;
5036pub const AVColorTransferCharacteristic_AVCOL_TRC_GAMMA22: AVColorTransferCharacteristic = 4;
5037pub const AVColorTransferCharacteristic_AVCOL_TRC_GAMMA28: AVColorTransferCharacteristic = 5;
5038pub const AVColorTransferCharacteristic_AVCOL_TRC_SMPTE170M: AVColorTransferCharacteristic = 6;
5039pub const AVColorTransferCharacteristic_AVCOL_TRC_SMPTE240M: AVColorTransferCharacteristic = 7;
5040pub const AVColorTransferCharacteristic_AVCOL_TRC_LINEAR: AVColorTransferCharacteristic = 8;
5041pub const AVColorTransferCharacteristic_AVCOL_TRC_LOG: AVColorTransferCharacteristic = 9;
5042pub const AVColorTransferCharacteristic_AVCOL_TRC_LOG_SQRT: AVColorTransferCharacteristic = 10;
5043pub const AVColorTransferCharacteristic_AVCOL_TRC_IEC61966_2_4: AVColorTransferCharacteristic = 11;
5044pub const AVColorTransferCharacteristic_AVCOL_TRC_BT1361_ECG: AVColorTransferCharacteristic = 12;
5045pub const AVColorTransferCharacteristic_AVCOL_TRC_IEC61966_2_1: AVColorTransferCharacteristic = 13;
5046pub const AVColorTransferCharacteristic_AVCOL_TRC_BT2020_10: AVColorTransferCharacteristic = 14;
5047pub const AVColorTransferCharacteristic_AVCOL_TRC_BT2020_12: AVColorTransferCharacteristic = 15;
5048pub const AVColorTransferCharacteristic_AVCOL_TRC_SMPTE2084: AVColorTransferCharacteristic = 16;
5049pub const AVColorTransferCharacteristic_AVCOL_TRC_SMPTEST2084: AVColorTransferCharacteristic = 16;
5050pub const AVColorTransferCharacteristic_AVCOL_TRC_SMPTE428: AVColorTransferCharacteristic = 17;
5051pub const AVColorTransferCharacteristic_AVCOL_TRC_SMPTEST428_1: AVColorTransferCharacteristic = 17;
5052pub const AVColorTransferCharacteristic_AVCOL_TRC_ARIB_STD_B67: AVColorTransferCharacteristic = 18;
5053pub const AVColorTransferCharacteristic_AVCOL_TRC_NB: AVColorTransferCharacteristic = 19;
5054pub type AVColorTransferCharacteristic = u32;
5055pub const AVColorSpace_AVCOL_SPC_RGB: AVColorSpace = 0;
5056pub const AVColorSpace_AVCOL_SPC_BT709: AVColorSpace = 1;
5057pub const AVColorSpace_AVCOL_SPC_UNSPECIFIED: AVColorSpace = 2;
5058pub const AVColorSpace_AVCOL_SPC_RESERVED: AVColorSpace = 3;
5059pub const AVColorSpace_AVCOL_SPC_FCC: AVColorSpace = 4;
5060pub const AVColorSpace_AVCOL_SPC_BT470BG: AVColorSpace = 5;
5061pub const AVColorSpace_AVCOL_SPC_SMPTE170M: AVColorSpace = 6;
5062pub const AVColorSpace_AVCOL_SPC_SMPTE240M: AVColorSpace = 7;
5063pub const AVColorSpace_AVCOL_SPC_YCGCO: AVColorSpace = 8;
5064pub const AVColorSpace_AVCOL_SPC_YCOCG: AVColorSpace = 8;
5065pub const AVColorSpace_AVCOL_SPC_BT2020_NCL: AVColorSpace = 9;
5066pub const AVColorSpace_AVCOL_SPC_BT2020_CL: AVColorSpace = 10;
5067pub const AVColorSpace_AVCOL_SPC_SMPTE2085: AVColorSpace = 11;
5068pub const AVColorSpace_AVCOL_SPC_CHROMA_DERIVED_NCL: AVColorSpace = 12;
5069pub const AVColorSpace_AVCOL_SPC_CHROMA_DERIVED_CL: AVColorSpace = 13;
5070pub const AVColorSpace_AVCOL_SPC_ICTCP: AVColorSpace = 14;
5071pub const AVColorSpace_AVCOL_SPC_NB: AVColorSpace = 15;
5072pub type AVColorSpace = u32;
5073pub const AVColorRange_AVCOL_RANGE_UNSPECIFIED: AVColorRange = 0;
5074pub const AVColorRange_AVCOL_RANGE_MPEG: AVColorRange = 1;
5075pub const AVColorRange_AVCOL_RANGE_JPEG: AVColorRange = 2;
5076pub const AVColorRange_AVCOL_RANGE_NB: AVColorRange = 3;
5077pub type AVColorRange = u32;
5078pub const AVChromaLocation_AVCHROMA_LOC_UNSPECIFIED: AVChromaLocation = 0;
5079pub const AVChromaLocation_AVCHROMA_LOC_LEFT: AVChromaLocation = 1;
5080pub const AVChromaLocation_AVCHROMA_LOC_CENTER: AVChromaLocation = 2;
5081pub const AVChromaLocation_AVCHROMA_LOC_TOPLEFT: AVChromaLocation = 3;
5082pub const AVChromaLocation_AVCHROMA_LOC_TOP: AVChromaLocation = 4;
5083pub const AVChromaLocation_AVCHROMA_LOC_BOTTOMLEFT: AVChromaLocation = 5;
5084pub const AVChromaLocation_AVCHROMA_LOC_BOTTOM: AVChromaLocation = 6;
5085pub const AVChromaLocation_AVCHROMA_LOC_NB: AVChromaLocation = 7;
5086pub type AVChromaLocation = u32;
5087extern "C" {
5088 pub fn av_int_list_length_for_size(
5089 elsize: ::std::os::raw::c_uint,
5090 list: *const ::std::os::raw::c_void,
5091 term: u64,
5092 ) -> ::std::os::raw::c_uint;
5093}
5094extern "C" {
5095 pub fn av_fopen_utf8(
5096 path: *const ::std::os::raw::c_char,
5097 mode: *const ::std::os::raw::c_char,
5098 ) -> *mut FILE;
5099}
5100extern "C" {
5101 pub fn av_get_time_base_q() -> AVRational;
5102}
5103extern "C" {
5104 pub fn av_fourcc_make_string(
5105 buf: *mut ::std::os::raw::c_char,
5106 fourcc: u32,
5107 ) -> *mut ::std::os::raw::c_char;
5108}
5109pub const AVSampleFormat_AV_SAMPLE_FMT_NONE: AVSampleFormat = -1;
5110pub const AVSampleFormat_AV_SAMPLE_FMT_U8: AVSampleFormat = 0;
5111pub const AVSampleFormat_AV_SAMPLE_FMT_S16: AVSampleFormat = 1;
5112pub const AVSampleFormat_AV_SAMPLE_FMT_S32: AVSampleFormat = 2;
5113pub const AVSampleFormat_AV_SAMPLE_FMT_FLT: AVSampleFormat = 3;
5114pub const AVSampleFormat_AV_SAMPLE_FMT_DBL: AVSampleFormat = 4;
5115pub const AVSampleFormat_AV_SAMPLE_FMT_U8P: AVSampleFormat = 5;
5116pub const AVSampleFormat_AV_SAMPLE_FMT_S16P: AVSampleFormat = 6;
5117pub const AVSampleFormat_AV_SAMPLE_FMT_S32P: AVSampleFormat = 7;
5118pub const AVSampleFormat_AV_SAMPLE_FMT_FLTP: AVSampleFormat = 8;
5119pub const AVSampleFormat_AV_SAMPLE_FMT_DBLP: AVSampleFormat = 9;
5120pub const AVSampleFormat_AV_SAMPLE_FMT_S64: AVSampleFormat = 10;
5121pub const AVSampleFormat_AV_SAMPLE_FMT_S64P: AVSampleFormat = 11;
5122pub const AVSampleFormat_AV_SAMPLE_FMT_NB: AVSampleFormat = 12;
5123pub type AVSampleFormat = i32;
5124extern "C" {
5125 pub fn av_get_sample_fmt_name(sample_fmt: AVSampleFormat) -> *const ::std::os::raw::c_char;
5126}
5127extern "C" {
5128 pub fn av_get_sample_fmt(name: *const ::std::os::raw::c_char) -> AVSampleFormat;
5129}
5130extern "C" {
5131 pub fn av_get_alt_sample_fmt(
5132 sample_fmt: AVSampleFormat,
5133 planar: ::std::os::raw::c_int,
5134 ) -> AVSampleFormat;
5135}
5136extern "C" {
5137 pub fn av_get_packed_sample_fmt(sample_fmt: AVSampleFormat) -> AVSampleFormat;
5138}
5139extern "C" {
5140 pub fn av_get_planar_sample_fmt(sample_fmt: AVSampleFormat) -> AVSampleFormat;
5141}
5142extern "C" {
5143 pub fn av_get_sample_fmt_string(
5144 buf: *mut ::std::os::raw::c_char,
5145 buf_size: ::std::os::raw::c_int,
5146 sample_fmt: AVSampleFormat,
5147 ) -> *mut ::std::os::raw::c_char;
5148}
5149extern "C" {
5150 pub fn av_get_bytes_per_sample(sample_fmt: AVSampleFormat) -> ::std::os::raw::c_int;
5151}
5152extern "C" {
5153 pub fn av_sample_fmt_is_planar(sample_fmt: AVSampleFormat) -> ::std::os::raw::c_int;
5154}
5155extern "C" {
5156 pub fn av_samples_get_buffer_size(
5157 linesize: *mut ::std::os::raw::c_int,
5158 nb_channels: ::std::os::raw::c_int,
5159 nb_samples: ::std::os::raw::c_int,
5160 sample_fmt: AVSampleFormat,
5161 align: ::std::os::raw::c_int,
5162 ) -> ::std::os::raw::c_int;
5163}
5164extern "C" {
5165 pub fn av_samples_fill_arrays(
5166 audio_data: *mut *mut u8,
5167 linesize: *mut ::std::os::raw::c_int,
5168 buf: *const u8,
5169 nb_channels: ::std::os::raw::c_int,
5170 nb_samples: ::std::os::raw::c_int,
5171 sample_fmt: AVSampleFormat,
5172 align: ::std::os::raw::c_int,
5173 ) -> ::std::os::raw::c_int;
5174}
5175extern "C" {
5176 pub fn av_samples_alloc(
5177 audio_data: *mut *mut u8,
5178 linesize: *mut ::std::os::raw::c_int,
5179 nb_channels: ::std::os::raw::c_int,
5180 nb_samples: ::std::os::raw::c_int,
5181 sample_fmt: AVSampleFormat,
5182 align: ::std::os::raw::c_int,
5183 ) -> ::std::os::raw::c_int;
5184}
5185extern "C" {
5186 pub fn av_samples_alloc_array_and_samples(
5187 audio_data: *mut *mut *mut u8,
5188 linesize: *mut ::std::os::raw::c_int,
5189 nb_channels: ::std::os::raw::c_int,
5190 nb_samples: ::std::os::raw::c_int,
5191 sample_fmt: AVSampleFormat,
5192 align: ::std::os::raw::c_int,
5193 ) -> ::std::os::raw::c_int;
5194}
5195extern "C" {
5196 pub fn av_samples_copy(
5197 dst: *mut *mut u8,
5198 src: *const *mut u8,
5199 dst_offset: ::std::os::raw::c_int,
5200 src_offset: ::std::os::raw::c_int,
5201 nb_samples: ::std::os::raw::c_int,
5202 nb_channels: ::std::os::raw::c_int,
5203 sample_fmt: AVSampleFormat,
5204 ) -> ::std::os::raw::c_int;
5205}
5206extern "C" {
5207 pub fn av_samples_set_silence(
5208 audio_data: *mut *mut u8,
5209 offset: ::std::os::raw::c_int,
5210 nb_samples: ::std::os::raw::c_int,
5211 nb_channels: ::std::os::raw::c_int,
5212 sample_fmt: AVSampleFormat,
5213 ) -> ::std::os::raw::c_int;
5214}
5215#[repr(C)]
5216#[derive(Debug, Copy, Clone)]
5217pub struct AVBuffer {
5218 _unused: [u8; 0],
5219}
5220#[repr(C)]
5221#[derive(Debug, Copy, Clone)]
5222pub struct AVBufferRef {
5223 pub buffer: *mut AVBuffer,
5224 pub data: *mut u8,
5225 pub size: ::std::os::raw::c_int,
5226}
5227extern "C" {
5228 pub fn av_buffer_alloc(size: ::std::os::raw::c_int) -> *mut AVBufferRef;
5229}
5230extern "C" {
5231 pub fn av_buffer_allocz(size: ::std::os::raw::c_int) -> *mut AVBufferRef;
5232}
5233extern "C" {
5234 pub fn av_buffer_create(
5235 data: *mut u8,
5236 size: ::std::os::raw::c_int,
5237 free: ::std::option::Option<
5238 unsafe extern "C" fn(data: *mut ::std::os::raw::c_void, size: *mut u8),
5239 >,
5240 opaque: *mut ::std::os::raw::c_void,
5241 flags: ::std::os::raw::c_int,
5242 ) -> *mut AVBufferRef;
5243}
5244extern "C" {
5245 pub fn av_buffer_default_free(opaque: *mut ::std::os::raw::c_void, data: *mut u8);
5246}
5247extern "C" {
5248 pub fn av_buffer_ref(buf: *mut AVBufferRef) -> *mut AVBufferRef;
5249}
5250extern "C" {
5251 pub fn av_buffer_unref(buf: *mut *mut AVBufferRef);
5252}
5253extern "C" {
5254 pub fn av_buffer_is_writable(buf: *const AVBufferRef) -> ::std::os::raw::c_int;
5255}
5256extern "C" {
5257 pub fn av_buffer_get_opaque(buf: *const AVBufferRef) -> *mut ::std::os::raw::c_void;
5258}
5259extern "C" {
5260 pub fn av_buffer_get_ref_count(buf: *const AVBufferRef) -> ::std::os::raw::c_int;
5261}
5262extern "C" {
5263 pub fn av_buffer_make_writable(buf: *mut *mut AVBufferRef) -> ::std::os::raw::c_int;
5264}
5265extern "C" {
5266 pub fn av_buffer_realloc(
5267 buf: *mut *mut AVBufferRef,
5268 size: ::std::os::raw::c_int,
5269 ) -> ::std::os::raw::c_int;
5270}
5271#[repr(C)]
5272#[derive(Debug, Copy, Clone)]
5273pub struct AVBufferPool {
5274 _unused: [u8; 0],
5275}
5276extern "C" {
5277 pub fn av_buffer_pool_init(
5278 size: ::std::os::raw::c_int,
5279 alloc: ::std::option::Option<
5280 unsafe extern "C" fn(size: ::std::os::raw::c_int) -> *mut AVBufferRef,
5281 >,
5282 ) -> *mut AVBufferPool;
5283}
5284extern "C" {
5285 pub fn av_buffer_pool_init2(
5286 size: ::std::os::raw::c_int,
5287 opaque: *mut ::std::os::raw::c_void,
5288 alloc: ::std::option::Option<
5289 unsafe extern "C" fn(
5290 size: *mut ::std::os::raw::c_void,
5291 opaque: ::std::os::raw::c_int,
5292 ) -> *mut AVBufferRef,
5293 >,
5294 pool_free: ::std::option::Option<unsafe extern "C" fn(size: *mut ::std::os::raw::c_void)>,
5295 ) -> *mut AVBufferPool;
5296}
5297extern "C" {
5298 pub fn av_buffer_pool_uninit(pool: *mut *mut AVBufferPool);
5299}
5300extern "C" {
5301 pub fn av_buffer_pool_get(pool: *mut AVBufferPool) -> *mut AVBufferRef;
5302}
5303extern "C" {
5304 pub fn av_get_cpu_flags() -> ::std::os::raw::c_int;
5305}
5306extern "C" {
5307 pub fn av_force_cpu_flags(flags: ::std::os::raw::c_int);
5308}
5309extern "C" {
5310 pub fn av_set_cpu_flags_mask(mask: ::std::os::raw::c_int);
5311}
5312extern "C" {
5313 pub fn av_parse_cpu_flags(s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
5314}
5315extern "C" {
5316 pub fn av_parse_cpu_caps(
5317 flags: *mut ::std::os::raw::c_uint,
5318 s: *const ::std::os::raw::c_char,
5319 ) -> ::std::os::raw::c_int;
5320}
5321extern "C" {
5322 pub fn av_cpu_count() -> ::std::os::raw::c_int;
5323}
5324extern "C" {
5325 pub fn av_cpu_max_align() -> usize;
5326}
5327pub const AVMatrixEncoding_AV_MATRIX_ENCODING_NONE: AVMatrixEncoding = 0;
5328pub const AVMatrixEncoding_AV_MATRIX_ENCODING_DOLBY: AVMatrixEncoding = 1;
5329pub const AVMatrixEncoding_AV_MATRIX_ENCODING_DPLII: AVMatrixEncoding = 2;
5330pub const AVMatrixEncoding_AV_MATRIX_ENCODING_DPLIIX: AVMatrixEncoding = 3;
5331pub const AVMatrixEncoding_AV_MATRIX_ENCODING_DPLIIZ: AVMatrixEncoding = 4;
5332pub const AVMatrixEncoding_AV_MATRIX_ENCODING_DOLBYEX: AVMatrixEncoding = 5;
5333pub const AVMatrixEncoding_AV_MATRIX_ENCODING_DOLBYHEADPHONE: AVMatrixEncoding = 6;
5334pub const AVMatrixEncoding_AV_MATRIX_ENCODING_NB: AVMatrixEncoding = 7;
5335pub type AVMatrixEncoding = u32;
5336extern "C" {
5337 pub fn av_get_channel_layout(name: *const ::std::os::raw::c_char) -> u64;
5338}
5339extern "C" {
5340 pub fn av_get_extended_channel_layout(
5341 name: *const ::std::os::raw::c_char,
5342 channel_layout: *mut u64,
5343 nb_channels: *mut ::std::os::raw::c_int,
5344 ) -> ::std::os::raw::c_int;
5345}
5346extern "C" {
5347 pub fn av_get_channel_layout_string(
5348 buf: *mut ::std::os::raw::c_char,
5349 buf_size: ::std::os::raw::c_int,
5350 nb_channels: ::std::os::raw::c_int,
5351 channel_layout: u64,
5352 );
5353}
5354#[repr(C)]
5355#[derive(Debug, Copy, Clone)]
5356pub struct AVBPrint {
5357 _unused: [u8; 0],
5358}
5359extern "C" {
5360 pub fn av_bprint_channel_layout(
5361 bp: *mut AVBPrint,
5362 nb_channels: ::std::os::raw::c_int,
5363 channel_layout: u64,
5364 );
5365}
5366extern "C" {
5367 pub fn av_get_channel_layout_nb_channels(channel_layout: u64) -> ::std::os::raw::c_int;
5368}
5369extern "C" {
5370 pub fn av_get_default_channel_layout(nb_channels: ::std::os::raw::c_int) -> i64;
5371}
5372extern "C" {
5373 pub fn av_get_channel_layout_channel_index(
5374 channel_layout: u64,
5375 channel: u64,
5376 ) -> ::std::os::raw::c_int;
5377}
5378extern "C" {
5379 pub fn av_channel_layout_extract_channel(
5380 channel_layout: u64,
5381 index: ::std::os::raw::c_int,
5382 ) -> u64;
5383}
5384extern "C" {
5385 pub fn av_get_channel_name(channel: u64) -> *const ::std::os::raw::c_char;
5386}
5387extern "C" {
5388 pub fn av_get_channel_description(channel: u64) -> *const ::std::os::raw::c_char;
5389}
5390extern "C" {
5391 pub fn av_get_standard_channel_layout(
5392 index: ::std::os::raw::c_uint,
5393 layout: *mut u64,
5394 name: *mut *const ::std::os::raw::c_char,
5395 ) -> ::std::os::raw::c_int;
5396}
5397#[repr(C)]
5398#[derive(Debug, Copy, Clone)]
5399pub struct AVDictionaryEntry {
5400 pub key: *mut ::std::os::raw::c_char,
5401 pub value: *mut ::std::os::raw::c_char,
5402}
5403#[repr(C)]
5404#[derive(Debug, Copy, Clone)]
5405pub struct AVDictionary {
5406 _unused: [u8; 0],
5407}
5408extern "C" {
5409 pub fn av_dict_get(
5410 m: *const AVDictionary,
5411 key: *const ::std::os::raw::c_char,
5412 prev: *const AVDictionaryEntry,
5413 flags: ::std::os::raw::c_int,
5414 ) -> *mut AVDictionaryEntry;
5415}
5416extern "C" {
5417 pub fn av_dict_count(m: *const AVDictionary) -> ::std::os::raw::c_int;
5418}
5419extern "C" {
5420 pub fn av_dict_set(
5421 pm: *mut *mut AVDictionary,
5422 key: *const ::std::os::raw::c_char,
5423 value: *const ::std::os::raw::c_char,
5424 flags: ::std::os::raw::c_int,
5425 ) -> ::std::os::raw::c_int;
5426}
5427extern "C" {
5428 pub fn av_dict_set_int(
5429 pm: *mut *mut AVDictionary,
5430 key: *const ::std::os::raw::c_char,
5431 value: i64,
5432 flags: ::std::os::raw::c_int,
5433 ) -> ::std::os::raw::c_int;
5434}
5435extern "C" {
5436 pub fn av_dict_parse_string(
5437 pm: *mut *mut AVDictionary,
5438 str: *const ::std::os::raw::c_char,
5439 key_val_sep: *const ::std::os::raw::c_char,
5440 pairs_sep: *const ::std::os::raw::c_char,
5441 flags: ::std::os::raw::c_int,
5442 ) -> ::std::os::raw::c_int;
5443}
5444extern "C" {
5445 pub fn av_dict_copy(
5446 dst: *mut *mut AVDictionary,
5447 src: *const AVDictionary,
5448 flags: ::std::os::raw::c_int,
5449 ) -> ::std::os::raw::c_int;
5450}
5451extern "C" {
5452 pub fn av_dict_free(m: *mut *mut AVDictionary);
5453}
5454extern "C" {
5455 pub fn av_dict_get_string(
5456 m: *const AVDictionary,
5457 buffer: *mut *mut ::std::os::raw::c_char,
5458 key_val_sep: ::std::os::raw::c_char,
5459 pairs_sep: ::std::os::raw::c_char,
5460 ) -> ::std::os::raw::c_int;
5461}
5462pub const AVFrameSideDataType_AV_FRAME_DATA_PANSCAN: AVFrameSideDataType = 0;
5463pub const AVFrameSideDataType_AV_FRAME_DATA_A53_CC: AVFrameSideDataType = 1;
5464pub const AVFrameSideDataType_AV_FRAME_DATA_STEREO3D: AVFrameSideDataType = 2;
5465pub const AVFrameSideDataType_AV_FRAME_DATA_MATRIXENCODING: AVFrameSideDataType = 3;
5466pub const AVFrameSideDataType_AV_FRAME_DATA_DOWNMIX_INFO: AVFrameSideDataType = 4;
5467pub const AVFrameSideDataType_AV_FRAME_DATA_REPLAYGAIN: AVFrameSideDataType = 5;
5468pub const AVFrameSideDataType_AV_FRAME_DATA_DISPLAYMATRIX: AVFrameSideDataType = 6;
5469pub const AVFrameSideDataType_AV_FRAME_DATA_AFD: AVFrameSideDataType = 7;
5470pub const AVFrameSideDataType_AV_FRAME_DATA_MOTION_VECTORS: AVFrameSideDataType = 8;
5471pub const AVFrameSideDataType_AV_FRAME_DATA_SKIP_SAMPLES: AVFrameSideDataType = 9;
5472pub const AVFrameSideDataType_AV_FRAME_DATA_AUDIO_SERVICE_TYPE: AVFrameSideDataType = 10;
5473pub const AVFrameSideDataType_AV_FRAME_DATA_MASTERING_DISPLAY_METADATA: AVFrameSideDataType = 11;
5474pub const AVFrameSideDataType_AV_FRAME_DATA_GOP_TIMECODE: AVFrameSideDataType = 12;
5475pub const AVFrameSideDataType_AV_FRAME_DATA_SPHERICAL: AVFrameSideDataType = 13;
5476pub const AVFrameSideDataType_AV_FRAME_DATA_CONTENT_LIGHT_LEVEL: AVFrameSideDataType = 14;
5477pub const AVFrameSideDataType_AV_FRAME_DATA_ICC_PROFILE: AVFrameSideDataType = 15;
5478pub const AVFrameSideDataType_AV_FRAME_DATA_QP_TABLE_PROPERTIES: AVFrameSideDataType = 16;
5479pub const AVFrameSideDataType_AV_FRAME_DATA_QP_TABLE_DATA: AVFrameSideDataType = 17;
5480pub const AVFrameSideDataType_AV_FRAME_DATA_S12M_TIMECODE: AVFrameSideDataType = 18;
5481pub type AVFrameSideDataType = u32;
5482pub const AVActiveFormatDescription_AV_AFD_SAME: AVActiveFormatDescription = 8;
5483pub const AVActiveFormatDescription_AV_AFD_4_3: AVActiveFormatDescription = 9;
5484pub const AVActiveFormatDescription_AV_AFD_16_9: AVActiveFormatDescription = 10;
5485pub const AVActiveFormatDescription_AV_AFD_14_9: AVActiveFormatDescription = 11;
5486pub const AVActiveFormatDescription_AV_AFD_4_3_SP_14_9: AVActiveFormatDescription = 13;
5487pub const AVActiveFormatDescription_AV_AFD_16_9_SP_14_9: AVActiveFormatDescription = 14;
5488pub const AVActiveFormatDescription_AV_AFD_SP_4_3: AVActiveFormatDescription = 15;
5489pub type AVActiveFormatDescription = u32;
5490#[repr(C)]
5491#[derive(Debug, Copy, Clone)]
5492pub struct AVFrameSideData {
5493 pub type_: AVFrameSideDataType,
5494 pub data: *mut u8,
5495 pub size: ::std::os::raw::c_int,
5496 pub metadata: *mut AVDictionary,
5497 pub buf: *mut AVBufferRef,
5498}
5499#[repr(C)]
5500#[derive(Debug, Copy, Clone)]
5501pub struct AVFrame {
5502 pub data: [*mut u8; 8usize],
5503 pub linesize: [::std::os::raw::c_int; 8usize],
5504 pub extended_data: *mut *mut u8,
5505 pub width: ::std::os::raw::c_int,
5506 pub height: ::std::os::raw::c_int,
5507 pub nb_samples: ::std::os::raw::c_int,
5508 pub format: ::std::os::raw::c_int,
5509 pub key_frame: ::std::os::raw::c_int,
5510 pub pict_type: AVPictureType,
5511 pub sample_aspect_ratio: AVRational,
5512 pub pts: i64,
5513 pub pkt_pts: i64,
5514 pub pkt_dts: i64,
5515 pub coded_picture_number: ::std::os::raw::c_int,
5516 pub display_picture_number: ::std::os::raw::c_int,
5517 pub quality: ::std::os::raw::c_int,
5518 pub opaque: *mut ::std::os::raw::c_void,
5519 pub error: [u64; 8usize],
5520 pub repeat_pict: ::std::os::raw::c_int,
5521 pub interlaced_frame: ::std::os::raw::c_int,
5522 pub top_field_first: ::std::os::raw::c_int,
5523 pub palette_has_changed: ::std::os::raw::c_int,
5524 pub reordered_opaque: i64,
5525 pub sample_rate: ::std::os::raw::c_int,
5526 pub channel_layout: u64,
5527 pub buf: [*mut AVBufferRef; 8usize],
5528 pub extended_buf: *mut *mut AVBufferRef,
5529 pub nb_extended_buf: ::std::os::raw::c_int,
5530 pub side_data: *mut *mut AVFrameSideData,
5531 pub nb_side_data: ::std::os::raw::c_int,
5532 pub flags: ::std::os::raw::c_int,
5533 pub color_range: AVColorRange,
5534 pub color_primaries: AVColorPrimaries,
5535 pub color_trc: AVColorTransferCharacteristic,
5536 pub colorspace: AVColorSpace,
5537 pub chroma_location: AVChromaLocation,
5538 pub best_effort_timestamp: i64,
5539 pub pkt_pos: i64,
5540 pub pkt_duration: i64,
5541 pub metadata: *mut AVDictionary,
5542 pub decode_error_flags: ::std::os::raw::c_int,
5543 pub channels: ::std::os::raw::c_int,
5544 pub pkt_size: ::std::os::raw::c_int,
5545 pub qscale_table: *mut i8,
5546 pub qstride: ::std::os::raw::c_int,
5547 pub qscale_type: ::std::os::raw::c_int,
5548 pub qp_table_buf: *mut AVBufferRef,
5549 pub hw_frames_ctx: *mut AVBufferRef,
5550 pub opaque_ref: *mut AVBufferRef,
5551 pub crop_top: usize,
5552 pub crop_bottom: usize,
5553 pub crop_left: usize,
5554 pub crop_right: usize,
5555 pub private_ref: *mut AVBufferRef,
5556}
5557extern "C" {
5558 pub fn av_frame_get_best_effort_timestamp(frame: *const AVFrame) -> i64;
5559}
5560extern "C" {
5561 pub fn av_frame_set_best_effort_timestamp(frame: *mut AVFrame, val: i64);
5562}
5563extern "C" {
5564 pub fn av_frame_get_pkt_duration(frame: *const AVFrame) -> i64;
5565}
5566extern "C" {
5567 pub fn av_frame_set_pkt_duration(frame: *mut AVFrame, val: i64);
5568}
5569extern "C" {
5570 pub fn av_frame_get_pkt_pos(frame: *const AVFrame) -> i64;
5571}
5572extern "C" {
5573 pub fn av_frame_set_pkt_pos(frame: *mut AVFrame, val: i64);
5574}
5575extern "C" {
5576 pub fn av_frame_get_channel_layout(frame: *const AVFrame) -> i64;
5577}
5578extern "C" {
5579 pub fn av_frame_set_channel_layout(frame: *mut AVFrame, val: i64);
5580}
5581extern "C" {
5582 pub fn av_frame_get_channels(frame: *const AVFrame) -> ::std::os::raw::c_int;
5583}
5584extern "C" {
5585 pub fn av_frame_set_channels(frame: *mut AVFrame, val: ::std::os::raw::c_int);
5586}
5587extern "C" {
5588 pub fn av_frame_get_sample_rate(frame: *const AVFrame) -> ::std::os::raw::c_int;
5589}
5590extern "C" {
5591 pub fn av_frame_set_sample_rate(frame: *mut AVFrame, val: ::std::os::raw::c_int);
5592}
5593extern "C" {
5594 pub fn av_frame_get_metadata(frame: *const AVFrame) -> *mut AVDictionary;
5595}
5596extern "C" {
5597 pub fn av_frame_set_metadata(frame: *mut AVFrame, val: *mut AVDictionary);
5598}
5599extern "C" {
5600 pub fn av_frame_get_decode_error_flags(frame: *const AVFrame) -> ::std::os::raw::c_int;
5601}
5602extern "C" {
5603 pub fn av_frame_set_decode_error_flags(frame: *mut AVFrame, val: ::std::os::raw::c_int);
5604}
5605extern "C" {
5606 pub fn av_frame_get_pkt_size(frame: *const AVFrame) -> ::std::os::raw::c_int;
5607}
5608extern "C" {
5609 pub fn av_frame_set_pkt_size(frame: *mut AVFrame, val: ::std::os::raw::c_int);
5610}
5611extern "C" {
5612 pub fn av_frame_get_qp_table(
5613 f: *mut AVFrame,
5614 stride: *mut ::std::os::raw::c_int,
5615 type_: *mut ::std::os::raw::c_int,
5616 ) -> *mut i8;
5617}
5618extern "C" {
5619 pub fn av_frame_set_qp_table(
5620 f: *mut AVFrame,
5621 buf: *mut AVBufferRef,
5622 stride: ::std::os::raw::c_int,
5623 type_: ::std::os::raw::c_int,
5624 ) -> ::std::os::raw::c_int;
5625}
5626extern "C" {
5627 pub fn av_frame_get_colorspace(frame: *const AVFrame) -> AVColorSpace;
5628}
5629extern "C" {
5630 pub fn av_frame_set_colorspace(frame: *mut AVFrame, val: AVColorSpace);
5631}
5632extern "C" {
5633 pub fn av_frame_get_color_range(frame: *const AVFrame) -> AVColorRange;
5634}
5635extern "C" {
5636 pub fn av_frame_set_color_range(frame: *mut AVFrame, val: AVColorRange);
5637}
5638extern "C" {
5639 pub fn av_get_colorspace_name(val: AVColorSpace) -> *const ::std::os::raw::c_char;
5640}
5641extern "C" {
5642 pub fn av_frame_alloc() -> *mut AVFrame;
5643}
5644extern "C" {
5645 pub fn av_frame_free(frame: *mut *mut AVFrame);
5646}
5647extern "C" {
5648 pub fn av_frame_ref(dst: *mut AVFrame, src: *const AVFrame) -> ::std::os::raw::c_int;
5649}
5650extern "C" {
5651 pub fn av_frame_clone(src: *const AVFrame) -> *mut AVFrame;
5652}
5653extern "C" {
5654 pub fn av_frame_unref(frame: *mut AVFrame);
5655}
5656extern "C" {
5657 pub fn av_frame_move_ref(dst: *mut AVFrame, src: *mut AVFrame);
5658}
5659extern "C" {
5660 pub fn av_frame_get_buffer(
5661 frame: *mut AVFrame,
5662 align: ::std::os::raw::c_int,
5663 ) -> ::std::os::raw::c_int;
5664}
5665extern "C" {
5666 pub fn av_frame_is_writable(frame: *mut AVFrame) -> ::std::os::raw::c_int;
5667}
5668extern "C" {
5669 pub fn av_frame_make_writable(frame: *mut AVFrame) -> ::std::os::raw::c_int;
5670}
5671extern "C" {
5672 pub fn av_frame_copy(dst: *mut AVFrame, src: *const AVFrame) -> ::std::os::raw::c_int;
5673}
5674extern "C" {
5675 pub fn av_frame_copy_props(dst: *mut AVFrame, src: *const AVFrame) -> ::std::os::raw::c_int;
5676}
5677extern "C" {
5678 pub fn av_frame_get_plane_buffer(
5679 frame: *mut AVFrame,
5680 plane: ::std::os::raw::c_int,
5681 ) -> *mut AVBufferRef;
5682}
5683extern "C" {
5684 pub fn av_frame_new_side_data(
5685 frame: *mut AVFrame,
5686 type_: AVFrameSideDataType,
5687 size: ::std::os::raw::c_int,
5688 ) -> *mut AVFrameSideData;
5689}
5690extern "C" {
5691 pub fn av_frame_new_side_data_from_buf(
5692 frame: *mut AVFrame,
5693 type_: AVFrameSideDataType,
5694 buf: *mut AVBufferRef,
5695 ) -> *mut AVFrameSideData;
5696}
5697extern "C" {
5698 pub fn av_frame_get_side_data(
5699 frame: *const AVFrame,
5700 type_: AVFrameSideDataType,
5701 ) -> *mut AVFrameSideData;
5702}
5703extern "C" {
5704 pub fn av_frame_remove_side_data(frame: *mut AVFrame, type_: AVFrameSideDataType);
5705}
5706pub const AV_FRAME_CROP_UNALIGNED: _bindgen_ty_2 = 1;
5707pub type _bindgen_ty_2 = u32;
5708extern "C" {
5709 pub fn av_frame_apply_cropping(
5710 frame: *mut AVFrame,
5711 flags: ::std::os::raw::c_int,
5712 ) -> ::std::os::raw::c_int;
5713}
5714extern "C" {
5715 pub fn av_frame_side_data_name(type_: AVFrameSideDataType) -> *const ::std::os::raw::c_char;
5716}
5717pub const AVHWDeviceType_AV_HWDEVICE_TYPE_NONE: AVHWDeviceType = 0;
5718pub const AVHWDeviceType_AV_HWDEVICE_TYPE_VDPAU: AVHWDeviceType = 1;
5719pub const AVHWDeviceType_AV_HWDEVICE_TYPE_CUDA: AVHWDeviceType = 2;
5720pub const AVHWDeviceType_AV_HWDEVICE_TYPE_VAAPI: AVHWDeviceType = 3;
5721pub const AVHWDeviceType_AV_HWDEVICE_TYPE_DXVA2: AVHWDeviceType = 4;
5722pub const AVHWDeviceType_AV_HWDEVICE_TYPE_QSV: AVHWDeviceType = 5;
5723pub const AVHWDeviceType_AV_HWDEVICE_TYPE_VIDEOTOOLBOX: AVHWDeviceType = 6;
5724pub const AVHWDeviceType_AV_HWDEVICE_TYPE_D3D11VA: AVHWDeviceType = 7;
5725pub const AVHWDeviceType_AV_HWDEVICE_TYPE_DRM: AVHWDeviceType = 8;
5726pub const AVHWDeviceType_AV_HWDEVICE_TYPE_OPENCL: AVHWDeviceType = 9;
5727pub const AVHWDeviceType_AV_HWDEVICE_TYPE_MEDIACODEC: AVHWDeviceType = 10;
5728pub type AVHWDeviceType = u32;
5729#[repr(C)]
5730#[derive(Debug, Copy, Clone)]
5731pub struct AVHWDeviceInternal {
5732 _unused: [u8; 0],
5733}
5734#[repr(C)]
5735#[derive(Debug, Copy, Clone)]
5736pub struct AVHWDeviceContext {
5737 pub av_class: *const AVClass,
5738 pub internal: *mut AVHWDeviceInternal,
5739 pub type_: AVHWDeviceType,
5740 pub hwctx: *mut ::std::os::raw::c_void,
5741 pub free: ::std::option::Option<unsafe extern "C" fn(ctx: *mut AVHWDeviceContext)>,
5742 pub user_opaque: *mut ::std::os::raw::c_void,
5743}
5744#[repr(C)]
5745#[derive(Debug, Copy, Clone)]
5746pub struct AVHWFramesInternal {
5747 _unused: [u8; 0],
5748}
5749#[repr(C)]
5750#[derive(Debug, Copy, Clone)]
5751pub struct AVHWFramesContext {
5752 pub av_class: *const AVClass,
5753 pub internal: *mut AVHWFramesInternal,
5754 pub device_ref: *mut AVBufferRef,
5755 pub device_ctx: *mut AVHWDeviceContext,
5756 pub hwctx: *mut ::std::os::raw::c_void,
5757 pub free: ::std::option::Option<unsafe extern "C" fn(ctx: *mut AVHWFramesContext)>,
5758 pub user_opaque: *mut ::std::os::raw::c_void,
5759 pub pool: *mut AVBufferPool,
5760 pub initial_pool_size: ::std::os::raw::c_int,
5761 pub format: AVPixelFormat,
5762 pub sw_format: AVPixelFormat,
5763 pub width: ::std::os::raw::c_int,
5764 pub height: ::std::os::raw::c_int,
5765}
5766extern "C" {
5767 pub fn av_hwdevice_find_type_by_name(name: *const ::std::os::raw::c_char) -> AVHWDeviceType;
5768}
5769extern "C" {
5770 pub fn av_hwdevice_get_type_name(type_: AVHWDeviceType) -> *const ::std::os::raw::c_char;
5771}
5772extern "C" {
5773 pub fn av_hwdevice_iterate_types(prev: AVHWDeviceType) -> AVHWDeviceType;
5774}
5775extern "C" {
5776 pub fn av_hwdevice_ctx_alloc(type_: AVHWDeviceType) -> *mut AVBufferRef;
5777}
5778extern "C" {
5779 pub fn av_hwdevice_ctx_init(ref_: *mut AVBufferRef) -> ::std::os::raw::c_int;
5780}
5781extern "C" {
5782 pub fn av_hwdevice_ctx_create(
5783 device_ctx: *mut *mut AVBufferRef,
5784 type_: AVHWDeviceType,
5785 device: *const ::std::os::raw::c_char,
5786 opts: *mut AVDictionary,
5787 flags: ::std::os::raw::c_int,
5788 ) -> ::std::os::raw::c_int;
5789}
5790extern "C" {
5791 pub fn av_hwdevice_ctx_create_derived(
5792 dst_ctx: *mut *mut AVBufferRef,
5793 type_: AVHWDeviceType,
5794 src_ctx: *mut AVBufferRef,
5795 flags: ::std::os::raw::c_int,
5796 ) -> ::std::os::raw::c_int;
5797}
5798extern "C" {
5799 pub fn av_hwframe_ctx_alloc(device_ctx: *mut AVBufferRef) -> *mut AVBufferRef;
5800}
5801extern "C" {
5802 pub fn av_hwframe_ctx_init(ref_: *mut AVBufferRef) -> ::std::os::raw::c_int;
5803}
5804extern "C" {
5805 pub fn av_hwframe_get_buffer(
5806 hwframe_ctx: *mut AVBufferRef,
5807 frame: *mut AVFrame,
5808 flags: ::std::os::raw::c_int,
5809 ) -> ::std::os::raw::c_int;
5810}
5811extern "C" {
5812 pub fn av_hwframe_transfer_data(
5813 dst: *mut AVFrame,
5814 src: *const AVFrame,
5815 flags: ::std::os::raw::c_int,
5816 ) -> ::std::os::raw::c_int;
5817}
5818pub const AVHWFrameTransferDirection_AV_HWFRAME_TRANSFER_DIRECTION_FROM:
5819 AVHWFrameTransferDirection = 0;
5820pub const AVHWFrameTransferDirection_AV_HWFRAME_TRANSFER_DIRECTION_TO: AVHWFrameTransferDirection =
5821 1;
5822pub type AVHWFrameTransferDirection = u32;
5823extern "C" {
5824 pub fn av_hwframe_transfer_get_formats(
5825 hwframe_ctx: *mut AVBufferRef,
5826 dir: AVHWFrameTransferDirection,
5827 formats: *mut *mut AVPixelFormat,
5828 flags: ::std::os::raw::c_int,
5829 ) -> ::std::os::raw::c_int;
5830}
5831#[repr(C)]
5832#[derive(Debug, Copy, Clone)]
5833pub struct AVHWFramesConstraints {
5834 pub valid_hw_formats: *mut AVPixelFormat,
5835 pub valid_sw_formats: *mut AVPixelFormat,
5836 pub min_width: ::std::os::raw::c_int,
5837 pub min_height: ::std::os::raw::c_int,
5838 pub max_width: ::std::os::raw::c_int,
5839 pub max_height: ::std::os::raw::c_int,
5840}
5841extern "C" {
5842 pub fn av_hwdevice_hwconfig_alloc(device_ctx: *mut AVBufferRef) -> *mut ::std::os::raw::c_void;
5843}
5844extern "C" {
5845 pub fn av_hwdevice_get_hwframe_constraints(
5846 ref_: *mut AVBufferRef,
5847 hwconfig: *const ::std::os::raw::c_void,
5848 ) -> *mut AVHWFramesConstraints;
5849}
5850extern "C" {
5851 pub fn av_hwframe_constraints_free(constraints: *mut *mut AVHWFramesConstraints);
5852}
5853pub const AV_HWFRAME_MAP_READ: _bindgen_ty_3 = 1;
5854pub const AV_HWFRAME_MAP_WRITE: _bindgen_ty_3 = 2;
5855pub const AV_HWFRAME_MAP_OVERWRITE: _bindgen_ty_3 = 4;
5856pub const AV_HWFRAME_MAP_DIRECT: _bindgen_ty_3 = 8;
5857pub type _bindgen_ty_3 = u32;
5858extern "C" {
5859 pub fn av_hwframe_map(
5860 dst: *mut AVFrame,
5861 src: *const AVFrame,
5862 flags: ::std::os::raw::c_int,
5863 ) -> ::std::os::raw::c_int;
5864}
5865extern "C" {
5866 pub fn av_hwframe_ctx_create_derived(
5867 derived_frame_ctx: *mut *mut AVBufferRef,
5868 format: AVPixelFormat,
5869 derived_device_ctx: *mut AVBufferRef,
5870 source_frame_ctx: *mut AVBufferRef,
5871 flags: ::std::os::raw::c_int,
5872 ) -> ::std::os::raw::c_int;
5873}
5874pub const AVCodecID_AV_CODEC_ID_NONE: AVCodecID = 0;
5875pub const AVCodecID_AV_CODEC_ID_MPEG1VIDEO: AVCodecID = 1;
5876pub const AVCodecID_AV_CODEC_ID_MPEG2VIDEO: AVCodecID = 2;
5877pub const AVCodecID_AV_CODEC_ID_H261: AVCodecID = 3;
5878pub const AVCodecID_AV_CODEC_ID_H263: AVCodecID = 4;
5879pub const AVCodecID_AV_CODEC_ID_RV10: AVCodecID = 5;
5880pub const AVCodecID_AV_CODEC_ID_RV20: AVCodecID = 6;
5881pub const AVCodecID_AV_CODEC_ID_MJPEG: AVCodecID = 7;
5882pub const AVCodecID_AV_CODEC_ID_MJPEGB: AVCodecID = 8;
5883pub const AVCodecID_AV_CODEC_ID_LJPEG: AVCodecID = 9;
5884pub const AVCodecID_AV_CODEC_ID_SP5X: AVCodecID = 10;
5885pub const AVCodecID_AV_CODEC_ID_JPEGLS: AVCodecID = 11;
5886pub const AVCodecID_AV_CODEC_ID_MPEG4: AVCodecID = 12;
5887pub const AVCodecID_AV_CODEC_ID_RAWVIDEO: AVCodecID = 13;
5888pub const AVCodecID_AV_CODEC_ID_MSMPEG4V1: AVCodecID = 14;
5889pub const AVCodecID_AV_CODEC_ID_MSMPEG4V2: AVCodecID = 15;
5890pub const AVCodecID_AV_CODEC_ID_MSMPEG4V3: AVCodecID = 16;
5891pub const AVCodecID_AV_CODEC_ID_WMV1: AVCodecID = 17;
5892pub const AVCodecID_AV_CODEC_ID_WMV2: AVCodecID = 18;
5893pub const AVCodecID_AV_CODEC_ID_H263P: AVCodecID = 19;
5894pub const AVCodecID_AV_CODEC_ID_H263I: AVCodecID = 20;
5895pub const AVCodecID_AV_CODEC_ID_FLV1: AVCodecID = 21;
5896pub const AVCodecID_AV_CODEC_ID_SVQ1: AVCodecID = 22;
5897pub const AVCodecID_AV_CODEC_ID_SVQ3: AVCodecID = 23;
5898pub const AVCodecID_AV_CODEC_ID_DVVIDEO: AVCodecID = 24;
5899pub const AVCodecID_AV_CODEC_ID_HUFFYUV: AVCodecID = 25;
5900pub const AVCodecID_AV_CODEC_ID_CYUV: AVCodecID = 26;
5901pub const AVCodecID_AV_CODEC_ID_H264: AVCodecID = 27;
5902pub const AVCodecID_AV_CODEC_ID_INDEO3: AVCodecID = 28;
5903pub const AVCodecID_AV_CODEC_ID_VP3: AVCodecID = 29;
5904pub const AVCodecID_AV_CODEC_ID_THEORA: AVCodecID = 30;
5905pub const AVCodecID_AV_CODEC_ID_ASV1: AVCodecID = 31;
5906pub const AVCodecID_AV_CODEC_ID_ASV2: AVCodecID = 32;
5907pub const AVCodecID_AV_CODEC_ID_FFV1: AVCodecID = 33;
5908pub const AVCodecID_AV_CODEC_ID_4XM: AVCodecID = 34;
5909pub const AVCodecID_AV_CODEC_ID_VCR1: AVCodecID = 35;
5910pub const AVCodecID_AV_CODEC_ID_CLJR: AVCodecID = 36;
5911pub const AVCodecID_AV_CODEC_ID_MDEC: AVCodecID = 37;
5912pub const AVCodecID_AV_CODEC_ID_ROQ: AVCodecID = 38;
5913pub const AVCodecID_AV_CODEC_ID_INTERPLAY_VIDEO: AVCodecID = 39;
5914pub const AVCodecID_AV_CODEC_ID_XAN_WC3: AVCodecID = 40;
5915pub const AVCodecID_AV_CODEC_ID_XAN_WC4: AVCodecID = 41;
5916pub const AVCodecID_AV_CODEC_ID_RPZA: AVCodecID = 42;
5917pub const AVCodecID_AV_CODEC_ID_CINEPAK: AVCodecID = 43;
5918pub const AVCodecID_AV_CODEC_ID_WS_VQA: AVCodecID = 44;
5919pub const AVCodecID_AV_CODEC_ID_MSRLE: AVCodecID = 45;
5920pub const AVCodecID_AV_CODEC_ID_MSVIDEO1: AVCodecID = 46;
5921pub const AVCodecID_AV_CODEC_ID_IDCIN: AVCodecID = 47;
5922pub const AVCodecID_AV_CODEC_ID_8BPS: AVCodecID = 48;
5923pub const AVCodecID_AV_CODEC_ID_SMC: AVCodecID = 49;
5924pub const AVCodecID_AV_CODEC_ID_FLIC: AVCodecID = 50;
5925pub const AVCodecID_AV_CODEC_ID_TRUEMOTION1: AVCodecID = 51;
5926pub const AVCodecID_AV_CODEC_ID_VMDVIDEO: AVCodecID = 52;
5927pub const AVCodecID_AV_CODEC_ID_MSZH: AVCodecID = 53;
5928pub const AVCodecID_AV_CODEC_ID_ZLIB: AVCodecID = 54;
5929pub const AVCodecID_AV_CODEC_ID_QTRLE: AVCodecID = 55;
5930pub const AVCodecID_AV_CODEC_ID_TSCC: AVCodecID = 56;
5931pub const AVCodecID_AV_CODEC_ID_ULTI: AVCodecID = 57;
5932pub const AVCodecID_AV_CODEC_ID_QDRAW: AVCodecID = 58;
5933pub const AVCodecID_AV_CODEC_ID_VIXL: AVCodecID = 59;
5934pub const AVCodecID_AV_CODEC_ID_QPEG: AVCodecID = 60;
5935pub const AVCodecID_AV_CODEC_ID_PNG: AVCodecID = 61;
5936pub const AVCodecID_AV_CODEC_ID_PPM: AVCodecID = 62;
5937pub const AVCodecID_AV_CODEC_ID_PBM: AVCodecID = 63;
5938pub const AVCodecID_AV_CODEC_ID_PGM: AVCodecID = 64;
5939pub const AVCodecID_AV_CODEC_ID_PGMYUV: AVCodecID = 65;
5940pub const AVCodecID_AV_CODEC_ID_PAM: AVCodecID = 66;
5941pub const AVCodecID_AV_CODEC_ID_FFVHUFF: AVCodecID = 67;
5942pub const AVCodecID_AV_CODEC_ID_RV30: AVCodecID = 68;
5943pub const AVCodecID_AV_CODEC_ID_RV40: AVCodecID = 69;
5944pub const AVCodecID_AV_CODEC_ID_VC1: AVCodecID = 70;
5945pub const AVCodecID_AV_CODEC_ID_WMV3: AVCodecID = 71;
5946pub const AVCodecID_AV_CODEC_ID_LOCO: AVCodecID = 72;
5947pub const AVCodecID_AV_CODEC_ID_WNV1: AVCodecID = 73;
5948pub const AVCodecID_AV_CODEC_ID_AASC: AVCodecID = 74;
5949pub const AVCodecID_AV_CODEC_ID_INDEO2: AVCodecID = 75;
5950pub const AVCodecID_AV_CODEC_ID_FRAPS: AVCodecID = 76;
5951pub const AVCodecID_AV_CODEC_ID_TRUEMOTION2: AVCodecID = 77;
5952pub const AVCodecID_AV_CODEC_ID_BMP: AVCodecID = 78;
5953pub const AVCodecID_AV_CODEC_ID_CSCD: AVCodecID = 79;
5954pub const AVCodecID_AV_CODEC_ID_MMVIDEO: AVCodecID = 80;
5955pub const AVCodecID_AV_CODEC_ID_ZMBV: AVCodecID = 81;
5956pub const AVCodecID_AV_CODEC_ID_AVS: AVCodecID = 82;
5957pub const AVCodecID_AV_CODEC_ID_SMACKVIDEO: AVCodecID = 83;
5958pub const AVCodecID_AV_CODEC_ID_NUV: AVCodecID = 84;
5959pub const AVCodecID_AV_CODEC_ID_KMVC: AVCodecID = 85;
5960pub const AVCodecID_AV_CODEC_ID_FLASHSV: AVCodecID = 86;
5961pub const AVCodecID_AV_CODEC_ID_CAVS: AVCodecID = 87;
5962pub const AVCodecID_AV_CODEC_ID_JPEG2000: AVCodecID = 88;
5963pub const AVCodecID_AV_CODEC_ID_VMNC: AVCodecID = 89;
5964pub const AVCodecID_AV_CODEC_ID_VP5: AVCodecID = 90;
5965pub const AVCodecID_AV_CODEC_ID_VP6: AVCodecID = 91;
5966pub const AVCodecID_AV_CODEC_ID_VP6F: AVCodecID = 92;
5967pub const AVCodecID_AV_CODEC_ID_TARGA: AVCodecID = 93;
5968pub const AVCodecID_AV_CODEC_ID_DSICINVIDEO: AVCodecID = 94;
5969pub const AVCodecID_AV_CODEC_ID_TIERTEXSEQVIDEO: AVCodecID = 95;
5970pub const AVCodecID_AV_CODEC_ID_TIFF: AVCodecID = 96;
5971pub const AVCodecID_AV_CODEC_ID_GIF: AVCodecID = 97;
5972pub const AVCodecID_AV_CODEC_ID_DXA: AVCodecID = 98;
5973pub const AVCodecID_AV_CODEC_ID_DNXHD: AVCodecID = 99;
5974pub const AVCodecID_AV_CODEC_ID_THP: AVCodecID = 100;
5975pub const AVCodecID_AV_CODEC_ID_SGI: AVCodecID = 101;
5976pub const AVCodecID_AV_CODEC_ID_C93: AVCodecID = 102;
5977pub const AVCodecID_AV_CODEC_ID_BETHSOFTVID: AVCodecID = 103;
5978pub const AVCodecID_AV_CODEC_ID_PTX: AVCodecID = 104;
5979pub const AVCodecID_AV_CODEC_ID_TXD: AVCodecID = 105;
5980pub const AVCodecID_AV_CODEC_ID_VP6A: AVCodecID = 106;
5981pub const AVCodecID_AV_CODEC_ID_AMV: AVCodecID = 107;
5982pub const AVCodecID_AV_CODEC_ID_VB: AVCodecID = 108;
5983pub const AVCodecID_AV_CODEC_ID_PCX: AVCodecID = 109;
5984pub const AVCodecID_AV_CODEC_ID_SUNRAST: AVCodecID = 110;
5985pub const AVCodecID_AV_CODEC_ID_INDEO4: AVCodecID = 111;
5986pub const AVCodecID_AV_CODEC_ID_INDEO5: AVCodecID = 112;
5987pub const AVCodecID_AV_CODEC_ID_MIMIC: AVCodecID = 113;
5988pub const AVCodecID_AV_CODEC_ID_RL2: AVCodecID = 114;
5989pub const AVCodecID_AV_CODEC_ID_ESCAPE124: AVCodecID = 115;
5990pub const AVCodecID_AV_CODEC_ID_DIRAC: AVCodecID = 116;
5991pub const AVCodecID_AV_CODEC_ID_BFI: AVCodecID = 117;
5992pub const AVCodecID_AV_CODEC_ID_CMV: AVCodecID = 118;
5993pub const AVCodecID_AV_CODEC_ID_MOTIONPIXELS: AVCodecID = 119;
5994pub const AVCodecID_AV_CODEC_ID_TGV: AVCodecID = 120;
5995pub const AVCodecID_AV_CODEC_ID_TGQ: AVCodecID = 121;
5996pub const AVCodecID_AV_CODEC_ID_TQI: AVCodecID = 122;
5997pub const AVCodecID_AV_CODEC_ID_AURA: AVCodecID = 123;
5998pub const AVCodecID_AV_CODEC_ID_AURA2: AVCodecID = 124;
5999pub const AVCodecID_AV_CODEC_ID_V210X: AVCodecID = 125;
6000pub const AVCodecID_AV_CODEC_ID_TMV: AVCodecID = 126;
6001pub const AVCodecID_AV_CODEC_ID_V210: AVCodecID = 127;
6002pub const AVCodecID_AV_CODEC_ID_DPX: AVCodecID = 128;
6003pub const AVCodecID_AV_CODEC_ID_MAD: AVCodecID = 129;
6004pub const AVCodecID_AV_CODEC_ID_FRWU: AVCodecID = 130;
6005pub const AVCodecID_AV_CODEC_ID_FLASHSV2: AVCodecID = 131;
6006pub const AVCodecID_AV_CODEC_ID_CDGRAPHICS: AVCodecID = 132;
6007pub const AVCodecID_AV_CODEC_ID_R210: AVCodecID = 133;
6008pub const AVCodecID_AV_CODEC_ID_ANM: AVCodecID = 134;
6009pub const AVCodecID_AV_CODEC_ID_BINKVIDEO: AVCodecID = 135;
6010pub const AVCodecID_AV_CODEC_ID_IFF_ILBM: AVCodecID = 136;
6011pub const AVCodecID_AV_CODEC_ID_KGV1: AVCodecID = 137;
6012pub const AVCodecID_AV_CODEC_ID_YOP: AVCodecID = 138;
6013pub const AVCodecID_AV_CODEC_ID_VP8: AVCodecID = 139;
6014pub const AVCodecID_AV_CODEC_ID_PICTOR: AVCodecID = 140;
6015pub const AVCodecID_AV_CODEC_ID_ANSI: AVCodecID = 141;
6016pub const AVCodecID_AV_CODEC_ID_A64_MULTI: AVCodecID = 142;
6017pub const AVCodecID_AV_CODEC_ID_A64_MULTI5: AVCodecID = 143;
6018pub const AVCodecID_AV_CODEC_ID_R10K: AVCodecID = 144;
6019pub const AVCodecID_AV_CODEC_ID_MXPEG: AVCodecID = 145;
6020pub const AVCodecID_AV_CODEC_ID_LAGARITH: AVCodecID = 146;
6021pub const AVCodecID_AV_CODEC_ID_PRORES: AVCodecID = 147;
6022pub const AVCodecID_AV_CODEC_ID_JV: AVCodecID = 148;
6023pub const AVCodecID_AV_CODEC_ID_DFA: AVCodecID = 149;
6024pub const AVCodecID_AV_CODEC_ID_WMV3IMAGE: AVCodecID = 150;
6025pub const AVCodecID_AV_CODEC_ID_VC1IMAGE: AVCodecID = 151;
6026pub const AVCodecID_AV_CODEC_ID_UTVIDEO: AVCodecID = 152;
6027pub const AVCodecID_AV_CODEC_ID_BMV_VIDEO: AVCodecID = 153;
6028pub const AVCodecID_AV_CODEC_ID_VBLE: AVCodecID = 154;
6029pub const AVCodecID_AV_CODEC_ID_DXTORY: AVCodecID = 155;
6030pub const AVCodecID_AV_CODEC_ID_V410: AVCodecID = 156;
6031pub const AVCodecID_AV_CODEC_ID_XWD: AVCodecID = 157;
6032pub const AVCodecID_AV_CODEC_ID_CDXL: AVCodecID = 158;
6033pub const AVCodecID_AV_CODEC_ID_XBM: AVCodecID = 159;
6034pub const AVCodecID_AV_CODEC_ID_ZEROCODEC: AVCodecID = 160;
6035pub const AVCodecID_AV_CODEC_ID_MSS1: AVCodecID = 161;
6036pub const AVCodecID_AV_CODEC_ID_MSA1: AVCodecID = 162;
6037pub const AVCodecID_AV_CODEC_ID_TSCC2: AVCodecID = 163;
6038pub const AVCodecID_AV_CODEC_ID_MTS2: AVCodecID = 164;
6039pub const AVCodecID_AV_CODEC_ID_CLLC: AVCodecID = 165;
6040pub const AVCodecID_AV_CODEC_ID_MSS2: AVCodecID = 166;
6041pub const AVCodecID_AV_CODEC_ID_VP9: AVCodecID = 167;
6042pub const AVCodecID_AV_CODEC_ID_AIC: AVCodecID = 168;
6043pub const AVCodecID_AV_CODEC_ID_ESCAPE130: AVCodecID = 169;
6044pub const AVCodecID_AV_CODEC_ID_G2M: AVCodecID = 170;
6045pub const AVCodecID_AV_CODEC_ID_WEBP: AVCodecID = 171;
6046pub const AVCodecID_AV_CODEC_ID_HNM4_VIDEO: AVCodecID = 172;
6047pub const AVCodecID_AV_CODEC_ID_HEVC: AVCodecID = 173;
6048pub const AVCodecID_AV_CODEC_ID_FIC: AVCodecID = 174;
6049pub const AVCodecID_AV_CODEC_ID_ALIAS_PIX: AVCodecID = 175;
6050pub const AVCodecID_AV_CODEC_ID_BRENDER_PIX: AVCodecID = 176;
6051pub const AVCodecID_AV_CODEC_ID_PAF_VIDEO: AVCodecID = 177;
6052pub const AVCodecID_AV_CODEC_ID_EXR: AVCodecID = 178;
6053pub const AVCodecID_AV_CODEC_ID_VP7: AVCodecID = 179;
6054pub const AVCodecID_AV_CODEC_ID_SANM: AVCodecID = 180;
6055pub const AVCodecID_AV_CODEC_ID_SGIRLE: AVCodecID = 181;
6056pub const AVCodecID_AV_CODEC_ID_MVC1: AVCodecID = 182;
6057pub const AVCodecID_AV_CODEC_ID_MVC2: AVCodecID = 183;
6058pub const AVCodecID_AV_CODEC_ID_HQX: AVCodecID = 184;
6059pub const AVCodecID_AV_CODEC_ID_TDSC: AVCodecID = 185;
6060pub const AVCodecID_AV_CODEC_ID_HQ_HQA: AVCodecID = 186;
6061pub const AVCodecID_AV_CODEC_ID_HAP: AVCodecID = 187;
6062pub const AVCodecID_AV_CODEC_ID_DDS: AVCodecID = 188;
6063pub const AVCodecID_AV_CODEC_ID_DXV: AVCodecID = 189;
6064pub const AVCodecID_AV_CODEC_ID_SCREENPRESSO: AVCodecID = 190;
6065pub const AVCodecID_AV_CODEC_ID_RSCC: AVCodecID = 191;
6066pub const AVCodecID_AV_CODEC_ID_AVS2: AVCodecID = 192;
6067pub const AVCodecID_AV_CODEC_ID_Y41P: AVCodecID = 32768;
6068pub const AVCodecID_AV_CODEC_ID_AVRP: AVCodecID = 32769;
6069pub const AVCodecID_AV_CODEC_ID_012V: AVCodecID = 32770;
6070pub const AVCodecID_AV_CODEC_ID_AVUI: AVCodecID = 32771;
6071pub const AVCodecID_AV_CODEC_ID_AYUV: AVCodecID = 32772;
6072pub const AVCodecID_AV_CODEC_ID_TARGA_Y216: AVCodecID = 32773;
6073pub const AVCodecID_AV_CODEC_ID_V308: AVCodecID = 32774;
6074pub const AVCodecID_AV_CODEC_ID_V408: AVCodecID = 32775;
6075pub const AVCodecID_AV_CODEC_ID_YUV4: AVCodecID = 32776;
6076pub const AVCodecID_AV_CODEC_ID_AVRN: AVCodecID = 32777;
6077pub const AVCodecID_AV_CODEC_ID_CPIA: AVCodecID = 32778;
6078pub const AVCodecID_AV_CODEC_ID_XFACE: AVCodecID = 32779;
6079pub const AVCodecID_AV_CODEC_ID_SNOW: AVCodecID = 32780;
6080pub const AVCodecID_AV_CODEC_ID_SMVJPEG: AVCodecID = 32781;
6081pub const AVCodecID_AV_CODEC_ID_APNG: AVCodecID = 32782;
6082pub const AVCodecID_AV_CODEC_ID_DAALA: AVCodecID = 32783;
6083pub const AVCodecID_AV_CODEC_ID_CFHD: AVCodecID = 32784;
6084pub const AVCodecID_AV_CODEC_ID_TRUEMOTION2RT: AVCodecID = 32785;
6085pub const AVCodecID_AV_CODEC_ID_M101: AVCodecID = 32786;
6086pub const AVCodecID_AV_CODEC_ID_MAGICYUV: AVCodecID = 32787;
6087pub const AVCodecID_AV_CODEC_ID_SHEERVIDEO: AVCodecID = 32788;
6088pub const AVCodecID_AV_CODEC_ID_YLC: AVCodecID = 32789;
6089pub const AVCodecID_AV_CODEC_ID_PSD: AVCodecID = 32790;
6090pub const AVCodecID_AV_CODEC_ID_PIXLET: AVCodecID = 32791;
6091pub const AVCodecID_AV_CODEC_ID_SPEEDHQ: AVCodecID = 32792;
6092pub const AVCodecID_AV_CODEC_ID_FMVC: AVCodecID = 32793;
6093pub const AVCodecID_AV_CODEC_ID_SCPR: AVCodecID = 32794;
6094pub const AVCodecID_AV_CODEC_ID_CLEARVIDEO: AVCodecID = 32795;
6095pub const AVCodecID_AV_CODEC_ID_XPM: AVCodecID = 32796;
6096pub const AVCodecID_AV_CODEC_ID_AV1: AVCodecID = 32797;
6097pub const AVCodecID_AV_CODEC_ID_BITPACKED: AVCodecID = 32798;
6098pub const AVCodecID_AV_CODEC_ID_MSCC: AVCodecID = 32799;
6099pub const AVCodecID_AV_CODEC_ID_SRGC: AVCodecID = 32800;
6100pub const AVCodecID_AV_CODEC_ID_SVG: AVCodecID = 32801;
6101pub const AVCodecID_AV_CODEC_ID_GDV: AVCodecID = 32802;
6102pub const AVCodecID_AV_CODEC_ID_FITS: AVCodecID = 32803;
6103pub const AVCodecID_AV_CODEC_ID_IMM4: AVCodecID = 32804;
6104pub const AVCodecID_AV_CODEC_ID_PROSUMER: AVCodecID = 32805;
6105pub const AVCodecID_AV_CODEC_ID_MWSC: AVCodecID = 32806;
6106pub const AVCodecID_AV_CODEC_ID_WCMV: AVCodecID = 32807;
6107pub const AVCodecID_AV_CODEC_ID_RASC: AVCodecID = 32808;
6108pub const AVCodecID_AV_CODEC_ID_FIRST_AUDIO: AVCodecID = 65536;
6109pub const AVCodecID_AV_CODEC_ID_PCM_S16LE: AVCodecID = 65536;
6110pub const AVCodecID_AV_CODEC_ID_PCM_S16BE: AVCodecID = 65537;
6111pub const AVCodecID_AV_CODEC_ID_PCM_U16LE: AVCodecID = 65538;
6112pub const AVCodecID_AV_CODEC_ID_PCM_U16BE: AVCodecID = 65539;
6113pub const AVCodecID_AV_CODEC_ID_PCM_S8: AVCodecID = 65540;
6114pub const AVCodecID_AV_CODEC_ID_PCM_U8: AVCodecID = 65541;
6115pub const AVCodecID_AV_CODEC_ID_PCM_MULAW: AVCodecID = 65542;
6116pub const AVCodecID_AV_CODEC_ID_PCM_ALAW: AVCodecID = 65543;
6117pub const AVCodecID_AV_CODEC_ID_PCM_S32LE: AVCodecID = 65544;
6118pub const AVCodecID_AV_CODEC_ID_PCM_S32BE: AVCodecID = 65545;
6119pub const AVCodecID_AV_CODEC_ID_PCM_U32LE: AVCodecID = 65546;
6120pub const AVCodecID_AV_CODEC_ID_PCM_U32BE: AVCodecID = 65547;
6121pub const AVCodecID_AV_CODEC_ID_PCM_S24LE: AVCodecID = 65548;
6122pub const AVCodecID_AV_CODEC_ID_PCM_S24BE: AVCodecID = 65549;
6123pub const AVCodecID_AV_CODEC_ID_PCM_U24LE: AVCodecID = 65550;
6124pub const AVCodecID_AV_CODEC_ID_PCM_U24BE: AVCodecID = 65551;
6125pub const AVCodecID_AV_CODEC_ID_PCM_S24DAUD: AVCodecID = 65552;
6126pub const AVCodecID_AV_CODEC_ID_PCM_ZORK: AVCodecID = 65553;
6127pub const AVCodecID_AV_CODEC_ID_PCM_S16LE_PLANAR: AVCodecID = 65554;
6128pub const AVCodecID_AV_CODEC_ID_PCM_DVD: AVCodecID = 65555;
6129pub const AVCodecID_AV_CODEC_ID_PCM_F32BE: AVCodecID = 65556;
6130pub const AVCodecID_AV_CODEC_ID_PCM_F32LE: AVCodecID = 65557;
6131pub const AVCodecID_AV_CODEC_ID_PCM_F64BE: AVCodecID = 65558;
6132pub const AVCodecID_AV_CODEC_ID_PCM_F64LE: AVCodecID = 65559;
6133pub const AVCodecID_AV_CODEC_ID_PCM_BLURAY: AVCodecID = 65560;
6134pub const AVCodecID_AV_CODEC_ID_PCM_LXF: AVCodecID = 65561;
6135pub const AVCodecID_AV_CODEC_ID_S302M: AVCodecID = 65562;
6136pub const AVCodecID_AV_CODEC_ID_PCM_S8_PLANAR: AVCodecID = 65563;
6137pub const AVCodecID_AV_CODEC_ID_PCM_S24LE_PLANAR: AVCodecID = 65564;
6138pub const AVCodecID_AV_CODEC_ID_PCM_S32LE_PLANAR: AVCodecID = 65565;
6139pub const AVCodecID_AV_CODEC_ID_PCM_S16BE_PLANAR: AVCodecID = 65566;
6140pub const AVCodecID_AV_CODEC_ID_PCM_S64LE: AVCodecID = 67584;
6141pub const AVCodecID_AV_CODEC_ID_PCM_S64BE: AVCodecID = 67585;
6142pub const AVCodecID_AV_CODEC_ID_PCM_F16LE: AVCodecID = 67586;
6143pub const AVCodecID_AV_CODEC_ID_PCM_F24LE: AVCodecID = 67587;
6144pub const AVCodecID_AV_CODEC_ID_PCM_VIDC: AVCodecID = 67588;
6145pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_QT: AVCodecID = 69632;
6146pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_WAV: AVCodecID = 69633;
6147pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_DK3: AVCodecID = 69634;
6148pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_DK4: AVCodecID = 69635;
6149pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_WS: AVCodecID = 69636;
6150pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_SMJPEG: AVCodecID = 69637;
6151pub const AVCodecID_AV_CODEC_ID_ADPCM_MS: AVCodecID = 69638;
6152pub const AVCodecID_AV_CODEC_ID_ADPCM_4XM: AVCodecID = 69639;
6153pub const AVCodecID_AV_CODEC_ID_ADPCM_XA: AVCodecID = 69640;
6154pub const AVCodecID_AV_CODEC_ID_ADPCM_ADX: AVCodecID = 69641;
6155pub const AVCodecID_AV_CODEC_ID_ADPCM_EA: AVCodecID = 69642;
6156pub const AVCodecID_AV_CODEC_ID_ADPCM_G726: AVCodecID = 69643;
6157pub const AVCodecID_AV_CODEC_ID_ADPCM_CT: AVCodecID = 69644;
6158pub const AVCodecID_AV_CODEC_ID_ADPCM_SWF: AVCodecID = 69645;
6159pub const AVCodecID_AV_CODEC_ID_ADPCM_YAMAHA: AVCodecID = 69646;
6160pub const AVCodecID_AV_CODEC_ID_ADPCM_SBPRO_4: AVCodecID = 69647;
6161pub const AVCodecID_AV_CODEC_ID_ADPCM_SBPRO_3: AVCodecID = 69648;
6162pub const AVCodecID_AV_CODEC_ID_ADPCM_SBPRO_2: AVCodecID = 69649;
6163pub const AVCodecID_AV_CODEC_ID_ADPCM_THP: AVCodecID = 69650;
6164pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_AMV: AVCodecID = 69651;
6165pub const AVCodecID_AV_CODEC_ID_ADPCM_EA_R1: AVCodecID = 69652;
6166pub const AVCodecID_AV_CODEC_ID_ADPCM_EA_R3: AVCodecID = 69653;
6167pub const AVCodecID_AV_CODEC_ID_ADPCM_EA_R2: AVCodecID = 69654;
6168pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_EA_SEAD: AVCodecID = 69655;
6169pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_EA_EACS: AVCodecID = 69656;
6170pub const AVCodecID_AV_CODEC_ID_ADPCM_EA_XAS: AVCodecID = 69657;
6171pub const AVCodecID_AV_CODEC_ID_ADPCM_EA_MAXIS_XA: AVCodecID = 69658;
6172pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_ISS: AVCodecID = 69659;
6173pub const AVCodecID_AV_CODEC_ID_ADPCM_G722: AVCodecID = 69660;
6174pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_APC: AVCodecID = 69661;
6175pub const AVCodecID_AV_CODEC_ID_ADPCM_VIMA: AVCodecID = 69662;
6176pub const AVCodecID_AV_CODEC_ID_ADPCM_AFC: AVCodecID = 71680;
6177pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_OKI: AVCodecID = 71681;
6178pub const AVCodecID_AV_CODEC_ID_ADPCM_DTK: AVCodecID = 71682;
6179pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_RAD: AVCodecID = 71683;
6180pub const AVCodecID_AV_CODEC_ID_ADPCM_G726LE: AVCodecID = 71684;
6181pub const AVCodecID_AV_CODEC_ID_ADPCM_THP_LE: AVCodecID = 71685;
6182pub const AVCodecID_AV_CODEC_ID_ADPCM_PSX: AVCodecID = 71686;
6183pub const AVCodecID_AV_CODEC_ID_ADPCM_AICA: AVCodecID = 71687;
6184pub const AVCodecID_AV_CODEC_ID_ADPCM_IMA_DAT4: AVCodecID = 71688;
6185pub const AVCodecID_AV_CODEC_ID_ADPCM_MTAF: AVCodecID = 71689;
6186pub const AVCodecID_AV_CODEC_ID_AMR_NB: AVCodecID = 73728;
6187pub const AVCodecID_AV_CODEC_ID_AMR_WB: AVCodecID = 73729;
6188pub const AVCodecID_AV_CODEC_ID_RA_144: AVCodecID = 77824;
6189pub const AVCodecID_AV_CODEC_ID_RA_288: AVCodecID = 77825;
6190pub const AVCodecID_AV_CODEC_ID_ROQ_DPCM: AVCodecID = 81920;
6191pub const AVCodecID_AV_CODEC_ID_INTERPLAY_DPCM: AVCodecID = 81921;
6192pub const AVCodecID_AV_CODEC_ID_XAN_DPCM: AVCodecID = 81922;
6193pub const AVCodecID_AV_CODEC_ID_SOL_DPCM: AVCodecID = 81923;
6194pub const AVCodecID_AV_CODEC_ID_SDX2_DPCM: AVCodecID = 83968;
6195pub const AVCodecID_AV_CODEC_ID_GREMLIN_DPCM: AVCodecID = 83969;
6196pub const AVCodecID_AV_CODEC_ID_MP2: AVCodecID = 86016;
6197pub const AVCodecID_AV_CODEC_ID_MP3: AVCodecID = 86017;
6198pub const AVCodecID_AV_CODEC_ID_AAC: AVCodecID = 86018;
6199pub const AVCodecID_AV_CODEC_ID_AC3: AVCodecID = 86019;
6200pub const AVCodecID_AV_CODEC_ID_DTS: AVCodecID = 86020;
6201pub const AVCodecID_AV_CODEC_ID_VORBIS: AVCodecID = 86021;
6202pub const AVCodecID_AV_CODEC_ID_DVAUDIO: AVCodecID = 86022;
6203pub const AVCodecID_AV_CODEC_ID_WMAV1: AVCodecID = 86023;
6204pub const AVCodecID_AV_CODEC_ID_WMAV2: AVCodecID = 86024;
6205pub const AVCodecID_AV_CODEC_ID_MACE3: AVCodecID = 86025;
6206pub const AVCodecID_AV_CODEC_ID_MACE6: AVCodecID = 86026;
6207pub const AVCodecID_AV_CODEC_ID_VMDAUDIO: AVCodecID = 86027;
6208pub const AVCodecID_AV_CODEC_ID_FLAC: AVCodecID = 86028;
6209pub const AVCodecID_AV_CODEC_ID_MP3ADU: AVCodecID = 86029;
6210pub const AVCodecID_AV_CODEC_ID_MP3ON4: AVCodecID = 86030;
6211pub const AVCodecID_AV_CODEC_ID_SHORTEN: AVCodecID = 86031;
6212pub const AVCodecID_AV_CODEC_ID_ALAC: AVCodecID = 86032;
6213pub const AVCodecID_AV_CODEC_ID_WESTWOOD_SND1: AVCodecID = 86033;
6214pub const AVCodecID_AV_CODEC_ID_GSM: AVCodecID = 86034;
6215pub const AVCodecID_AV_CODEC_ID_QDM2: AVCodecID = 86035;
6216pub const AVCodecID_AV_CODEC_ID_COOK: AVCodecID = 86036;
6217pub const AVCodecID_AV_CODEC_ID_TRUESPEECH: AVCodecID = 86037;
6218pub const AVCodecID_AV_CODEC_ID_TTA: AVCodecID = 86038;
6219pub const AVCodecID_AV_CODEC_ID_SMACKAUDIO: AVCodecID = 86039;
6220pub const AVCodecID_AV_CODEC_ID_QCELP: AVCodecID = 86040;
6221pub const AVCodecID_AV_CODEC_ID_WAVPACK: AVCodecID = 86041;
6222pub const AVCodecID_AV_CODEC_ID_DSICINAUDIO: AVCodecID = 86042;
6223pub const AVCodecID_AV_CODEC_ID_IMC: AVCodecID = 86043;
6224pub const AVCodecID_AV_CODEC_ID_MUSEPACK7: AVCodecID = 86044;
6225pub const AVCodecID_AV_CODEC_ID_MLP: AVCodecID = 86045;
6226pub const AVCodecID_AV_CODEC_ID_GSM_MS: AVCodecID = 86046;
6227pub const AVCodecID_AV_CODEC_ID_ATRAC3: AVCodecID = 86047;
6228pub const AVCodecID_AV_CODEC_ID_APE: AVCodecID = 86048;
6229pub const AVCodecID_AV_CODEC_ID_NELLYMOSER: AVCodecID = 86049;
6230pub const AVCodecID_AV_CODEC_ID_MUSEPACK8: AVCodecID = 86050;
6231pub const AVCodecID_AV_CODEC_ID_SPEEX: AVCodecID = 86051;
6232pub const AVCodecID_AV_CODEC_ID_WMAVOICE: AVCodecID = 86052;
6233pub const AVCodecID_AV_CODEC_ID_WMAPRO: AVCodecID = 86053;
6234pub const AVCodecID_AV_CODEC_ID_WMALOSSLESS: AVCodecID = 86054;
6235pub const AVCodecID_AV_CODEC_ID_ATRAC3P: AVCodecID = 86055;
6236pub const AVCodecID_AV_CODEC_ID_EAC3: AVCodecID = 86056;
6237pub const AVCodecID_AV_CODEC_ID_SIPR: AVCodecID = 86057;
6238pub const AVCodecID_AV_CODEC_ID_MP1: AVCodecID = 86058;
6239pub const AVCodecID_AV_CODEC_ID_TWINVQ: AVCodecID = 86059;
6240pub const AVCodecID_AV_CODEC_ID_TRUEHD: AVCodecID = 86060;
6241pub const AVCodecID_AV_CODEC_ID_MP4ALS: AVCodecID = 86061;
6242pub const AVCodecID_AV_CODEC_ID_ATRAC1: AVCodecID = 86062;
6243pub const AVCodecID_AV_CODEC_ID_BINKAUDIO_RDFT: AVCodecID = 86063;
6244pub const AVCodecID_AV_CODEC_ID_BINKAUDIO_DCT: AVCodecID = 86064;
6245pub const AVCodecID_AV_CODEC_ID_AAC_LATM: AVCodecID = 86065;
6246pub const AVCodecID_AV_CODEC_ID_QDMC: AVCodecID = 86066;
6247pub const AVCodecID_AV_CODEC_ID_CELT: AVCodecID = 86067;
6248pub const AVCodecID_AV_CODEC_ID_G723_1: AVCodecID = 86068;
6249pub const AVCodecID_AV_CODEC_ID_G729: AVCodecID = 86069;
6250pub const AVCodecID_AV_CODEC_ID_8SVX_EXP: AVCodecID = 86070;
6251pub const AVCodecID_AV_CODEC_ID_8SVX_FIB: AVCodecID = 86071;
6252pub const AVCodecID_AV_CODEC_ID_BMV_AUDIO: AVCodecID = 86072;
6253pub const AVCodecID_AV_CODEC_ID_RALF: AVCodecID = 86073;
6254pub const AVCodecID_AV_CODEC_ID_IAC: AVCodecID = 86074;
6255pub const AVCodecID_AV_CODEC_ID_ILBC: AVCodecID = 86075;
6256pub const AVCodecID_AV_CODEC_ID_OPUS: AVCodecID = 86076;
6257pub const AVCodecID_AV_CODEC_ID_COMFORT_NOISE: AVCodecID = 86077;
6258pub const AVCodecID_AV_CODEC_ID_TAK: AVCodecID = 86078;
6259pub const AVCodecID_AV_CODEC_ID_METASOUND: AVCodecID = 86079;
6260pub const AVCodecID_AV_CODEC_ID_PAF_AUDIO: AVCodecID = 86080;
6261pub const AVCodecID_AV_CODEC_ID_ON2AVC: AVCodecID = 86081;
6262pub const AVCodecID_AV_CODEC_ID_DSS_SP: AVCodecID = 86082;
6263pub const AVCodecID_AV_CODEC_ID_CODEC2: AVCodecID = 86083;
6264pub const AVCodecID_AV_CODEC_ID_FFWAVESYNTH: AVCodecID = 88064;
6265pub const AVCodecID_AV_CODEC_ID_SONIC: AVCodecID = 88065;
6266pub const AVCodecID_AV_CODEC_ID_SONIC_LS: AVCodecID = 88066;
6267pub const AVCodecID_AV_CODEC_ID_EVRC: AVCodecID = 88067;
6268pub const AVCodecID_AV_CODEC_ID_SMV: AVCodecID = 88068;
6269pub const AVCodecID_AV_CODEC_ID_DSD_LSBF: AVCodecID = 88069;
6270pub const AVCodecID_AV_CODEC_ID_DSD_MSBF: AVCodecID = 88070;
6271pub const AVCodecID_AV_CODEC_ID_DSD_LSBF_PLANAR: AVCodecID = 88071;
6272pub const AVCodecID_AV_CODEC_ID_DSD_MSBF_PLANAR: AVCodecID = 88072;
6273pub const AVCodecID_AV_CODEC_ID_4GV: AVCodecID = 88073;
6274pub const AVCodecID_AV_CODEC_ID_INTERPLAY_ACM: AVCodecID = 88074;
6275pub const AVCodecID_AV_CODEC_ID_XMA1: AVCodecID = 88075;
6276pub const AVCodecID_AV_CODEC_ID_XMA2: AVCodecID = 88076;
6277pub const AVCodecID_AV_CODEC_ID_DST: AVCodecID = 88077;
6278pub const AVCodecID_AV_CODEC_ID_ATRAC3AL: AVCodecID = 88078;
6279pub const AVCodecID_AV_CODEC_ID_ATRAC3PAL: AVCodecID = 88079;
6280pub const AVCodecID_AV_CODEC_ID_DOLBY_E: AVCodecID = 88080;
6281pub const AVCodecID_AV_CODEC_ID_APTX: AVCodecID = 88081;
6282pub const AVCodecID_AV_CODEC_ID_APTX_HD: AVCodecID = 88082;
6283pub const AVCodecID_AV_CODEC_ID_SBC: AVCodecID = 88083;
6284pub const AVCodecID_AV_CODEC_ID_ATRAC9: AVCodecID = 88084;
6285pub const AVCodecID_AV_CODEC_ID_FIRST_SUBTITLE: AVCodecID = 94208;
6286pub const AVCodecID_AV_CODEC_ID_DVD_SUBTITLE: AVCodecID = 94208;
6287pub const AVCodecID_AV_CODEC_ID_DVB_SUBTITLE: AVCodecID = 94209;
6288pub const AVCodecID_AV_CODEC_ID_TEXT: AVCodecID = 94210;
6289pub const AVCodecID_AV_CODEC_ID_XSUB: AVCodecID = 94211;
6290pub const AVCodecID_AV_CODEC_ID_SSA: AVCodecID = 94212;
6291pub const AVCodecID_AV_CODEC_ID_MOV_TEXT: AVCodecID = 94213;
6292pub const AVCodecID_AV_CODEC_ID_HDMV_PGS_SUBTITLE: AVCodecID = 94214;
6293pub const AVCodecID_AV_CODEC_ID_DVB_TELETEXT: AVCodecID = 94215;
6294pub const AVCodecID_AV_CODEC_ID_SRT: AVCodecID = 94216;
6295pub const AVCodecID_AV_CODEC_ID_MICRODVD: AVCodecID = 96256;
6296pub const AVCodecID_AV_CODEC_ID_EIA_608: AVCodecID = 96257;
6297pub const AVCodecID_AV_CODEC_ID_JACOSUB: AVCodecID = 96258;
6298pub const AVCodecID_AV_CODEC_ID_SAMI: AVCodecID = 96259;
6299pub const AVCodecID_AV_CODEC_ID_REALTEXT: AVCodecID = 96260;
6300pub const AVCodecID_AV_CODEC_ID_STL: AVCodecID = 96261;
6301pub const AVCodecID_AV_CODEC_ID_SUBVIEWER1: AVCodecID = 96262;
6302pub const AVCodecID_AV_CODEC_ID_SUBVIEWER: AVCodecID = 96263;
6303pub const AVCodecID_AV_CODEC_ID_SUBRIP: AVCodecID = 96264;
6304pub const AVCodecID_AV_CODEC_ID_WEBVTT: AVCodecID = 96265;
6305pub const AVCodecID_AV_CODEC_ID_MPL2: AVCodecID = 96266;
6306pub const AVCodecID_AV_CODEC_ID_VPLAYER: AVCodecID = 96267;
6307pub const AVCodecID_AV_CODEC_ID_PJS: AVCodecID = 96268;
6308pub const AVCodecID_AV_CODEC_ID_ASS: AVCodecID = 96269;
6309pub const AVCodecID_AV_CODEC_ID_HDMV_TEXT_SUBTITLE: AVCodecID = 96270;
6310pub const AVCodecID_AV_CODEC_ID_TTML: AVCodecID = 96271;
6311pub const AVCodecID_AV_CODEC_ID_FIRST_UNKNOWN: AVCodecID = 98304;
6312pub const AVCodecID_AV_CODEC_ID_TTF: AVCodecID = 98304;
6313pub const AVCodecID_AV_CODEC_ID_SCTE_35: AVCodecID = 98305;
6314pub const AVCodecID_AV_CODEC_ID_BINTEXT: AVCodecID = 100352;
6315pub const AVCodecID_AV_CODEC_ID_XBIN: AVCodecID = 100353;
6316pub const AVCodecID_AV_CODEC_ID_IDF: AVCodecID = 100354;
6317pub const AVCodecID_AV_CODEC_ID_OTF: AVCodecID = 100355;
6318pub const AVCodecID_AV_CODEC_ID_SMPTE_KLV: AVCodecID = 100356;
6319pub const AVCodecID_AV_CODEC_ID_DVD_NAV: AVCodecID = 100357;
6320pub const AVCodecID_AV_CODEC_ID_TIMED_ID3: AVCodecID = 100358;
6321pub const AVCodecID_AV_CODEC_ID_BIN_DATA: AVCodecID = 100359;
6322pub const AVCodecID_AV_CODEC_ID_PROBE: AVCodecID = 102400;
6323pub const AVCodecID_AV_CODEC_ID_MPEG2TS: AVCodecID = 131072;
6324pub const AVCodecID_AV_CODEC_ID_MPEG4SYSTEMS: AVCodecID = 131073;
6325pub const AVCodecID_AV_CODEC_ID_FFMETADATA: AVCodecID = 135168;
6326pub const AVCodecID_AV_CODEC_ID_WRAPPED_AVFRAME: AVCodecID = 135169;
6327pub type AVCodecID = u32;
6328#[repr(C)]
6329#[derive(Debug, Copy, Clone)]
6330pub struct AVCodecDescriptor {
6331 pub id: AVCodecID,
6332 pub type_: AVMediaType,
6333 pub name: *const ::std::os::raw::c_char,
6334 pub long_name: *const ::std::os::raw::c_char,
6335 pub props: ::std::os::raw::c_int,
6336 pub mime_types: *const *const ::std::os::raw::c_char,
6337 pub profiles: *const AVProfile,
6338}
6339pub const AVDiscard_AVDISCARD_NONE: AVDiscard = -16;
6340pub const AVDiscard_AVDISCARD_DEFAULT: AVDiscard = 0;
6341pub const AVDiscard_AVDISCARD_NONREF: AVDiscard = 8;
6342pub const AVDiscard_AVDISCARD_BIDIR: AVDiscard = 16;
6343pub const AVDiscard_AVDISCARD_NONINTRA: AVDiscard = 24;
6344pub const AVDiscard_AVDISCARD_NONKEY: AVDiscard = 32;
6345pub const AVDiscard_AVDISCARD_ALL: AVDiscard = 48;
6346pub type AVDiscard = i32;
6347pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_MAIN: AVAudioServiceType = 0;
6348pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_EFFECTS: AVAudioServiceType = 1;
6349pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_VISUALLY_IMPAIRED: AVAudioServiceType = 2;
6350pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_HEARING_IMPAIRED: AVAudioServiceType = 3;
6351pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_DIALOGUE: AVAudioServiceType = 4;
6352pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_COMMENTARY: AVAudioServiceType = 5;
6353pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_EMERGENCY: AVAudioServiceType = 6;
6354pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_VOICE_OVER: AVAudioServiceType = 7;
6355pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_KARAOKE: AVAudioServiceType = 8;
6356pub const AVAudioServiceType_AV_AUDIO_SERVICE_TYPE_NB: AVAudioServiceType = 9;
6357pub type AVAudioServiceType = u32;
6358#[repr(C)]
6359#[derive(Debug, Copy, Clone)]
6360pub struct RcOverride {
6361 pub start_frame: ::std::os::raw::c_int,
6362 pub end_frame: ::std::os::raw::c_int,
6363 pub qscale: ::std::os::raw::c_int,
6364 pub quality_factor: f32,
6365}
6366#[repr(C)]
6367#[derive(Debug, Copy, Clone)]
6368pub struct AVPanScan {
6369 pub id: ::std::os::raw::c_int,
6370 pub width: ::std::os::raw::c_int,
6371 pub height: ::std::os::raw::c_int,
6372 pub position: [[i16; 2usize]; 3usize],
6373}
6374#[repr(C)]
6375#[derive(Debug, Copy, Clone)]
6376pub struct AVCPBProperties {
6377 pub max_bitrate: ::std::os::raw::c_int,
6378 pub min_bitrate: ::std::os::raw::c_int,
6379 pub avg_bitrate: ::std::os::raw::c_int,
6380 pub buffer_size: ::std::os::raw::c_int,
6381 pub vbv_delay: u64,
6382}
6383pub const AVPacketSideDataType_AV_PKT_DATA_PALETTE: AVPacketSideDataType = 0;
6384pub const AVPacketSideDataType_AV_PKT_DATA_NEW_EXTRADATA: AVPacketSideDataType = 1;
6385pub const AVPacketSideDataType_AV_PKT_DATA_PARAM_CHANGE: AVPacketSideDataType = 2;
6386pub const AVPacketSideDataType_AV_PKT_DATA_H263_MB_INFO: AVPacketSideDataType = 3;
6387pub const AVPacketSideDataType_AV_PKT_DATA_REPLAYGAIN: AVPacketSideDataType = 4;
6388pub const AVPacketSideDataType_AV_PKT_DATA_DISPLAYMATRIX: AVPacketSideDataType = 5;
6389pub const AVPacketSideDataType_AV_PKT_DATA_STEREO3D: AVPacketSideDataType = 6;
6390pub const AVPacketSideDataType_AV_PKT_DATA_AUDIO_SERVICE_TYPE: AVPacketSideDataType = 7;
6391pub const AVPacketSideDataType_AV_PKT_DATA_QUALITY_STATS: AVPacketSideDataType = 8;
6392pub const AVPacketSideDataType_AV_PKT_DATA_FALLBACK_TRACK: AVPacketSideDataType = 9;
6393pub const AVPacketSideDataType_AV_PKT_DATA_CPB_PROPERTIES: AVPacketSideDataType = 10;
6394pub const AVPacketSideDataType_AV_PKT_DATA_SKIP_SAMPLES: AVPacketSideDataType = 11;
6395pub const AVPacketSideDataType_AV_PKT_DATA_JP_DUALMONO: AVPacketSideDataType = 12;
6396pub const AVPacketSideDataType_AV_PKT_DATA_STRINGS_METADATA: AVPacketSideDataType = 13;
6397pub const AVPacketSideDataType_AV_PKT_DATA_SUBTITLE_POSITION: AVPacketSideDataType = 14;
6398pub const AVPacketSideDataType_AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL: AVPacketSideDataType = 15;
6399pub const AVPacketSideDataType_AV_PKT_DATA_WEBVTT_IDENTIFIER: AVPacketSideDataType = 16;
6400pub const AVPacketSideDataType_AV_PKT_DATA_WEBVTT_SETTINGS: AVPacketSideDataType = 17;
6401pub const AVPacketSideDataType_AV_PKT_DATA_METADATA_UPDATE: AVPacketSideDataType = 18;
6402pub const AVPacketSideDataType_AV_PKT_DATA_MPEGTS_STREAM_ID: AVPacketSideDataType = 19;
6403pub const AVPacketSideDataType_AV_PKT_DATA_MASTERING_DISPLAY_METADATA: AVPacketSideDataType = 20;
6404pub const AVPacketSideDataType_AV_PKT_DATA_SPHERICAL: AVPacketSideDataType = 21;
6405pub const AVPacketSideDataType_AV_PKT_DATA_CONTENT_LIGHT_LEVEL: AVPacketSideDataType = 22;
6406pub const AVPacketSideDataType_AV_PKT_DATA_A53_CC: AVPacketSideDataType = 23;
6407pub const AVPacketSideDataType_AV_PKT_DATA_ENCRYPTION_INIT_INFO: AVPacketSideDataType = 24;
6408pub const AVPacketSideDataType_AV_PKT_DATA_ENCRYPTION_INFO: AVPacketSideDataType = 25;
6409pub const AVPacketSideDataType_AV_PKT_DATA_AFD: AVPacketSideDataType = 26;
6410pub const AVPacketSideDataType_AV_PKT_DATA_NB: AVPacketSideDataType = 27;
6411pub type AVPacketSideDataType = u32;
6412#[repr(C)]
6413#[derive(Debug, Copy, Clone)]
6414pub struct AVPacketSideData {
6415 pub data: *mut u8,
6416 pub size: ::std::os::raw::c_int,
6417 pub type_: AVPacketSideDataType,
6418}
6419#[repr(C)]
6420#[derive(Debug, Copy, Clone)]
6421pub struct AVPacket {
6422 pub buf: *mut AVBufferRef,
6423 pub pts: i64,
6424 pub dts: i64,
6425 pub data: *mut u8,
6426 pub size: ::std::os::raw::c_int,
6427 pub stream_index: ::std::os::raw::c_int,
6428 pub flags: ::std::os::raw::c_int,
6429 pub side_data: *mut AVPacketSideData,
6430 pub side_data_elems: ::std::os::raw::c_int,
6431 pub duration: i64,
6432 pub pos: i64,
6433 pub convergence_duration: i64,
6434}
6435pub const AVSideDataParamChangeFlags_AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_COUNT:
6436 AVSideDataParamChangeFlags = 1;
6437pub const AVSideDataParamChangeFlags_AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_LAYOUT:
6438 AVSideDataParamChangeFlags = 2;
6439pub const AVSideDataParamChangeFlags_AV_SIDE_DATA_PARAM_CHANGE_SAMPLE_RATE:
6440 AVSideDataParamChangeFlags = 4;
6441pub const AVSideDataParamChangeFlags_AV_SIDE_DATA_PARAM_CHANGE_DIMENSIONS:
6442 AVSideDataParamChangeFlags = 8;
6443pub type AVSideDataParamChangeFlags = u32;
6444#[repr(C)]
6445#[derive(Debug, Copy, Clone)]
6446pub struct AVCodecInternal {
6447 _unused: [u8; 0],
6448}
6449pub const AVFieldOrder_AV_FIELD_UNKNOWN: AVFieldOrder = 0;
6450pub const AVFieldOrder_AV_FIELD_PROGRESSIVE: AVFieldOrder = 1;
6451pub const AVFieldOrder_AV_FIELD_TT: AVFieldOrder = 2;
6452pub const AVFieldOrder_AV_FIELD_BB: AVFieldOrder = 3;
6453pub const AVFieldOrder_AV_FIELD_TB: AVFieldOrder = 4;
6454pub const AVFieldOrder_AV_FIELD_BT: AVFieldOrder = 5;
6455pub type AVFieldOrder = u32;
6456#[repr(C)]
6457#[derive(Debug, Copy, Clone)]
6458pub struct AVCodecContext {
6459 pub av_class: *const AVClass,
6460 pub log_level_offset: ::std::os::raw::c_int,
6461 pub codec_type: AVMediaType,
6462 pub codec: *const AVCodec,
6463 pub codec_id: AVCodecID,
6464 pub codec_tag: ::std::os::raw::c_uint,
6465 pub priv_data: *mut ::std::os::raw::c_void,
6466 pub internal: *mut AVCodecInternal,
6467 pub opaque: *mut ::std::os::raw::c_void,
6468 pub bit_rate: i64,
6469 pub bit_rate_tolerance: ::std::os::raw::c_int,
6470 pub global_quality: ::std::os::raw::c_int,
6471 pub compression_level: ::std::os::raw::c_int,
6472 pub flags: ::std::os::raw::c_int,
6473 pub flags2: ::std::os::raw::c_int,
6474 pub extradata: *mut u8,
6475 pub extradata_size: ::std::os::raw::c_int,
6476 pub time_base: AVRational,
6477 pub ticks_per_frame: ::std::os::raw::c_int,
6478 pub delay: ::std::os::raw::c_int,
6479 pub width: ::std::os::raw::c_int,
6480 pub height: ::std::os::raw::c_int,
6481 pub coded_width: ::std::os::raw::c_int,
6482 pub coded_height: ::std::os::raw::c_int,
6483 pub gop_size: ::std::os::raw::c_int,
6484 pub pix_fmt: AVPixelFormat,
6485 pub draw_horiz_band: ::std::option::Option<
6486 unsafe extern "C" fn(
6487 s: *mut AVCodecContext,
6488 src: *const AVFrame,
6489 offset: *mut ::std::os::raw::c_int,
6490 y: ::std::os::raw::c_int,
6491 type_: ::std::os::raw::c_int,
6492 height: ::std::os::raw::c_int,
6493 ),
6494 >,
6495 pub get_format: ::std::option::Option<
6496 unsafe extern "C" fn(s: *mut AVCodecContext, fmt: *const AVPixelFormat) -> AVPixelFormat,
6497 >,
6498 pub max_b_frames: ::std::os::raw::c_int,
6499 pub b_quant_factor: f32,
6500 pub b_frame_strategy: ::std::os::raw::c_int,
6501 pub b_quant_offset: f32,
6502 pub has_b_frames: ::std::os::raw::c_int,
6503 pub mpeg_quant: ::std::os::raw::c_int,
6504 pub i_quant_factor: f32,
6505 pub i_quant_offset: f32,
6506 pub lumi_masking: f32,
6507 pub temporal_cplx_masking: f32,
6508 pub spatial_cplx_masking: f32,
6509 pub p_masking: f32,
6510 pub dark_masking: f32,
6511 pub slice_count: ::std::os::raw::c_int,
6512 pub prediction_method: ::std::os::raw::c_int,
6513 pub slice_offset: *mut ::std::os::raw::c_int,
6514 pub sample_aspect_ratio: AVRational,
6515 pub me_cmp: ::std::os::raw::c_int,
6516 pub me_sub_cmp: ::std::os::raw::c_int,
6517 pub mb_cmp: ::std::os::raw::c_int,
6518 pub ildct_cmp: ::std::os::raw::c_int,
6519 pub dia_size: ::std::os::raw::c_int,
6520 pub last_predictor_count: ::std::os::raw::c_int,
6521 pub pre_me: ::std::os::raw::c_int,
6522 pub me_pre_cmp: ::std::os::raw::c_int,
6523 pub pre_dia_size: ::std::os::raw::c_int,
6524 pub me_subpel_quality: ::std::os::raw::c_int,
6525 pub me_range: ::std::os::raw::c_int,
6526 pub slice_flags: ::std::os::raw::c_int,
6527 pub mb_decision: ::std::os::raw::c_int,
6528 pub intra_matrix: *mut u16,
6529 pub inter_matrix: *mut u16,
6530 pub scenechange_threshold: ::std::os::raw::c_int,
6531 pub noise_reduction: ::std::os::raw::c_int,
6532 pub intra_dc_precision: ::std::os::raw::c_int,
6533 pub skip_top: ::std::os::raw::c_int,
6534 pub skip_bottom: ::std::os::raw::c_int,
6535 pub mb_lmin: ::std::os::raw::c_int,
6536 pub mb_lmax: ::std::os::raw::c_int,
6537 pub me_penalty_compensation: ::std::os::raw::c_int,
6538 pub bidir_refine: ::std::os::raw::c_int,
6539 pub brd_scale: ::std::os::raw::c_int,
6540 pub keyint_min: ::std::os::raw::c_int,
6541 pub refs: ::std::os::raw::c_int,
6542 pub chromaoffset: ::std::os::raw::c_int,
6543 pub mv0_threshold: ::std::os::raw::c_int,
6544 pub b_sensitivity: ::std::os::raw::c_int,
6545 pub color_primaries: AVColorPrimaries,
6546 pub color_trc: AVColorTransferCharacteristic,
6547 pub colorspace: AVColorSpace,
6548 pub color_range: AVColorRange,
6549 pub chroma_sample_location: AVChromaLocation,
6550 pub slices: ::std::os::raw::c_int,
6551 pub field_order: AVFieldOrder,
6552 pub sample_rate: ::std::os::raw::c_int,
6553 pub channels: ::std::os::raw::c_int,
6554 pub sample_fmt: AVSampleFormat,
6555 pub frame_size: ::std::os::raw::c_int,
6556 pub frame_number: ::std::os::raw::c_int,
6557 pub block_align: ::std::os::raw::c_int,
6558 pub cutoff: ::std::os::raw::c_int,
6559 pub channel_layout: u64,
6560 pub request_channel_layout: u64,
6561 pub audio_service_type: AVAudioServiceType,
6562 pub request_sample_fmt: AVSampleFormat,
6563 pub get_buffer2: ::std::option::Option<
6564 unsafe extern "C" fn(
6565 s: *mut AVCodecContext,
6566 frame: *mut AVFrame,
6567 flags: ::std::os::raw::c_int,
6568 ) -> ::std::os::raw::c_int,
6569 >,
6570 pub refcounted_frames: ::std::os::raw::c_int,
6571 pub qcompress: f32,
6572 pub qblur: f32,
6573 pub qmin: ::std::os::raw::c_int,
6574 pub qmax: ::std::os::raw::c_int,
6575 pub max_qdiff: ::std::os::raw::c_int,
6576 pub rc_buffer_size: ::std::os::raw::c_int,
6577 pub rc_override_count: ::std::os::raw::c_int,
6578 pub rc_override: *mut RcOverride,
6579 pub rc_max_rate: i64,
6580 pub rc_min_rate: i64,
6581 pub rc_max_available_vbv_use: f32,
6582 pub rc_min_vbv_overflow_use: f32,
6583 pub rc_initial_buffer_occupancy: ::std::os::raw::c_int,
6584 pub coder_type: ::std::os::raw::c_int,
6585 pub context_model: ::std::os::raw::c_int,
6586 pub frame_skip_threshold: ::std::os::raw::c_int,
6587 pub frame_skip_factor: ::std::os::raw::c_int,
6588 pub frame_skip_exp: ::std::os::raw::c_int,
6589 pub frame_skip_cmp: ::std::os::raw::c_int,
6590 pub trellis: ::std::os::raw::c_int,
6591 pub min_prediction_order: ::std::os::raw::c_int,
6592 pub max_prediction_order: ::std::os::raw::c_int,
6593 pub timecode_frame_start: i64,
6594 pub rtp_callback: ::std::option::Option<
6595 unsafe extern "C" fn(
6596 avctx: *mut AVCodecContext,
6597 data: *mut ::std::os::raw::c_void,
6598 size: ::std::os::raw::c_int,
6599 mb_nb: ::std::os::raw::c_int,
6600 ),
6601 >,
6602 pub rtp_payload_size: ::std::os::raw::c_int,
6603 pub mv_bits: ::std::os::raw::c_int,
6604 pub header_bits: ::std::os::raw::c_int,
6605 pub i_tex_bits: ::std::os::raw::c_int,
6606 pub p_tex_bits: ::std::os::raw::c_int,
6607 pub i_count: ::std::os::raw::c_int,
6608 pub p_count: ::std::os::raw::c_int,
6609 pub skip_count: ::std::os::raw::c_int,
6610 pub misc_bits: ::std::os::raw::c_int,
6611 pub frame_bits: ::std::os::raw::c_int,
6612 pub stats_out: *mut ::std::os::raw::c_char,
6613 pub stats_in: *mut ::std::os::raw::c_char,
6614 pub workaround_bugs: ::std::os::raw::c_int,
6615 pub strict_std_compliance: ::std::os::raw::c_int,
6616 pub error_concealment: ::std::os::raw::c_int,
6617 pub debug: ::std::os::raw::c_int,
6618 pub err_recognition: ::std::os::raw::c_int,
6619 pub reordered_opaque: i64,
6620 pub hwaccel: *const AVHWAccel,
6621 pub hwaccel_context: *mut ::std::os::raw::c_void,
6622 pub error: [u64; 8usize],
6623 pub dct_algo: ::std::os::raw::c_int,
6624 pub idct_algo: ::std::os::raw::c_int,
6625 pub bits_per_coded_sample: ::std::os::raw::c_int,
6626 pub bits_per_raw_sample: ::std::os::raw::c_int,
6627 pub lowres: ::std::os::raw::c_int,
6628 pub coded_frame: *mut AVFrame,
6629 pub thread_count: ::std::os::raw::c_int,
6630 pub thread_type: ::std::os::raw::c_int,
6631 pub active_thread_type: ::std::os::raw::c_int,
6632 pub thread_safe_callbacks: ::std::os::raw::c_int,
6633 pub execute: ::std::option::Option<
6634 unsafe extern "C" fn(
6635 c: *mut AVCodecContext,
6636 func: ::std::option::Option<
6637 unsafe extern "C" fn(
6638 c2: *mut AVCodecContext,
6639 arg: *mut ::std::os::raw::c_void,
6640 ) -> ::std::os::raw::c_int,
6641 >,
6642 arg2: *mut ::std::os::raw::c_void,
6643 ret: *mut ::std::os::raw::c_int,
6644 count: ::std::os::raw::c_int,
6645 size: ::std::os::raw::c_int,
6646 ) -> ::std::os::raw::c_int,
6647 >,
6648 pub execute2: ::std::option::Option<
6649 unsafe extern "C" fn(
6650 c: *mut AVCodecContext,
6651 func: ::std::option::Option<
6652 unsafe extern "C" fn(
6653 c2: *mut AVCodecContext,
6654 arg: *mut ::std::os::raw::c_void,
6655 jobnr: ::std::os::raw::c_int,
6656 threadnr: ::std::os::raw::c_int,
6657 ) -> ::std::os::raw::c_int,
6658 >,
6659 arg2: *mut ::std::os::raw::c_void,
6660 ret: *mut ::std::os::raw::c_int,
6661 count: ::std::os::raw::c_int,
6662 ) -> ::std::os::raw::c_int,
6663 >,
6664 pub nsse_weight: ::std::os::raw::c_int,
6665 pub profile: ::std::os::raw::c_int,
6666 pub level: ::std::os::raw::c_int,
6667 pub skip_loop_filter: AVDiscard,
6668 pub skip_idct: AVDiscard,
6669 pub skip_frame: AVDiscard,
6670 pub subtitle_header: *mut u8,
6671 pub subtitle_header_size: ::std::os::raw::c_int,
6672 pub vbv_delay: u64,
6673 pub side_data_only_packets: ::std::os::raw::c_int,
6674 pub initial_padding: ::std::os::raw::c_int,
6675 pub framerate: AVRational,
6676 pub sw_pix_fmt: AVPixelFormat,
6677 pub pkt_timebase: AVRational,
6678 pub codec_descriptor: *const AVCodecDescriptor,
6679 pub pts_correction_num_faulty_pts: i64,
6680 pub pts_correction_num_faulty_dts: i64,
6681 pub pts_correction_last_pts: i64,
6682 pub pts_correction_last_dts: i64,
6683 pub sub_charenc: *mut ::std::os::raw::c_char,
6684 pub sub_charenc_mode: ::std::os::raw::c_int,
6685 pub skip_alpha: ::std::os::raw::c_int,
6686 pub seek_preroll: ::std::os::raw::c_int,
6687 pub debug_mv: ::std::os::raw::c_int,
6688 pub chroma_intra_matrix: *mut u16,
6689 pub dump_separator: *mut u8,
6690 pub codec_whitelist: *mut ::std::os::raw::c_char,
6691 pub properties: ::std::os::raw::c_uint,
6692 pub coded_side_data: *mut AVPacketSideData,
6693 pub nb_coded_side_data: ::std::os::raw::c_int,
6694 pub hw_frames_ctx: *mut AVBufferRef,
6695 pub sub_text_format: ::std::os::raw::c_int,
6696 pub trailing_padding: ::std::os::raw::c_int,
6697 pub max_pixels: i64,
6698 pub hw_device_ctx: *mut AVBufferRef,
6699 pub hwaccel_flags: ::std::os::raw::c_int,
6700 pub apply_cropping: ::std::os::raw::c_int,
6701 pub extra_hw_frames: ::std::os::raw::c_int,
6702}
6703extern "C" {
6704 pub fn av_codec_get_pkt_timebase(avctx: *const AVCodecContext) -> AVRational;
6705}
6706extern "C" {
6707 pub fn av_codec_set_pkt_timebase(avctx: *mut AVCodecContext, val: AVRational);
6708}
6709extern "C" {
6710 pub fn av_codec_get_codec_descriptor(avctx: *const AVCodecContext) -> *const AVCodecDescriptor;
6711}
6712extern "C" {
6713 pub fn av_codec_set_codec_descriptor(
6714 avctx: *mut AVCodecContext,
6715 desc: *const AVCodecDescriptor,
6716 );
6717}
6718extern "C" {
6719 pub fn av_codec_get_codec_properties(avctx: *const AVCodecContext) -> ::std::os::raw::c_uint;
6720}
6721extern "C" {
6722 pub fn av_codec_get_lowres(avctx: *const AVCodecContext) -> ::std::os::raw::c_int;
6723}
6724extern "C" {
6725 pub fn av_codec_set_lowres(avctx: *mut AVCodecContext, val: ::std::os::raw::c_int);
6726}
6727extern "C" {
6728 pub fn av_codec_get_seek_preroll(avctx: *const AVCodecContext) -> ::std::os::raw::c_int;
6729}
6730extern "C" {
6731 pub fn av_codec_set_seek_preroll(avctx: *mut AVCodecContext, val: ::std::os::raw::c_int);
6732}
6733extern "C" {
6734 pub fn av_codec_get_chroma_intra_matrix(avctx: *const AVCodecContext) -> *mut u16;
6735}
6736extern "C" {
6737 pub fn av_codec_set_chroma_intra_matrix(avctx: *mut AVCodecContext, val: *mut u16);
6738}
6739#[repr(C)]
6740#[derive(Debug, Copy, Clone)]
6741pub struct AVProfile {
6742 pub profile: ::std::os::raw::c_int,
6743 pub name: *const ::std::os::raw::c_char,
6744}
6745pub const AV_CODEC_HW_CONFIG_METHOD_HW_DEVICE_CTX: _bindgen_ty_4 = 1;
6746pub const AV_CODEC_HW_CONFIG_METHOD_HW_FRAMES_CTX: _bindgen_ty_4 = 2;
6747pub const AV_CODEC_HW_CONFIG_METHOD_INTERNAL: _bindgen_ty_4 = 4;
6748pub const AV_CODEC_HW_CONFIG_METHOD_AD_HOC: _bindgen_ty_4 = 8;
6749pub type _bindgen_ty_4 = u32;
6750#[repr(C)]
6751#[derive(Debug, Copy, Clone)]
6752pub struct AVCodecHWConfig {
6753 pub pix_fmt: AVPixelFormat,
6754 pub methods: ::std::os::raw::c_int,
6755 pub device_type: AVHWDeviceType,
6756}
6757#[repr(C)]
6758#[derive(Debug, Copy, Clone)]
6759pub struct AVCodecDefault {
6760 _unused: [u8; 0],
6761}
6762#[repr(C)]
6763#[derive(Debug, Copy, Clone)]
6764pub struct AVCodec {
6765 pub name: *const ::std::os::raw::c_char,
6766 pub long_name: *const ::std::os::raw::c_char,
6767 pub type_: AVMediaType,
6768 pub id: AVCodecID,
6769 pub capabilities: ::std::os::raw::c_int,
6770 pub supported_framerates: *const AVRational,
6771 pub pix_fmts: *const AVPixelFormat,
6772 pub supported_samplerates: *const ::std::os::raw::c_int,
6773 pub sample_fmts: *const AVSampleFormat,
6774 pub channel_layouts: *const u64,
6775 pub max_lowres: u8,
6776 pub priv_class: *const AVClass,
6777 pub profiles: *const AVProfile,
6778 pub wrapper_name: *const ::std::os::raw::c_char,
6779 pub priv_data_size: ::std::os::raw::c_int,
6780 pub next: *mut AVCodec,
6781 pub init_thread_copy: ::std::option::Option<
6782 unsafe extern "C" fn(arg1: *mut AVCodecContext) -> ::std::os::raw::c_int,
6783 >,
6784 pub update_thread_context: ::std::option::Option<
6785 unsafe extern "C" fn(
6786 dst: *mut AVCodecContext,
6787 src: *const AVCodecContext,
6788 ) -> ::std::os::raw::c_int,
6789 >,
6790 pub defaults: *const AVCodecDefault,
6791 pub init_static_data: ::std::option::Option<unsafe extern "C" fn(codec: *mut AVCodec)>,
6792 pub init: ::std::option::Option<
6793 unsafe extern "C" fn(arg1: *mut AVCodecContext) -> ::std::os::raw::c_int,
6794 >,
6795 pub encode_sub: ::std::option::Option<
6796 unsafe extern "C" fn(
6797 arg1: *mut AVCodecContext,
6798 buf: *mut u8,
6799 buf_size: ::std::os::raw::c_int,
6800 sub: *const AVSubtitle,
6801 ) -> ::std::os::raw::c_int,
6802 >,
6803 pub encode2: ::std::option::Option<
6804 unsafe extern "C" fn(
6805 avctx: *mut AVCodecContext,
6806 avpkt: *mut AVPacket,
6807 frame: *const AVFrame,
6808 got_packet_ptr: *mut ::std::os::raw::c_int,
6809 ) -> ::std::os::raw::c_int,
6810 >,
6811 pub decode: ::std::option::Option<
6812 unsafe extern "C" fn(
6813 arg1: *mut AVCodecContext,
6814 outdata: *mut ::std::os::raw::c_void,
6815 outdata_size: *mut ::std::os::raw::c_int,
6816 avpkt: *mut AVPacket,
6817 ) -> ::std::os::raw::c_int,
6818 >,
6819 pub close: ::std::option::Option<
6820 unsafe extern "C" fn(arg1: *mut AVCodecContext) -> ::std::os::raw::c_int,
6821 >,
6822 pub send_frame: ::std::option::Option<
6823 unsafe extern "C" fn(
6824 avctx: *mut AVCodecContext,
6825 frame: *const AVFrame,
6826 ) -> ::std::os::raw::c_int,
6827 >,
6828 pub receive_packet: ::std::option::Option<
6829 unsafe extern "C" fn(
6830 avctx: *mut AVCodecContext,
6831 avpkt: *mut AVPacket,
6832 ) -> ::std::os::raw::c_int,
6833 >,
6834 pub receive_frame: ::std::option::Option<
6835 unsafe extern "C" fn(
6836 avctx: *mut AVCodecContext,
6837 frame: *mut AVFrame,
6838 ) -> ::std::os::raw::c_int,
6839 >,
6840 pub flush: ::std::option::Option<unsafe extern "C" fn(arg1: *mut AVCodecContext)>,
6841 pub caps_internal: ::std::os::raw::c_int,
6842 pub bsfs: *const ::std::os::raw::c_char,
6843 pub hw_configs: *mut *mut AVCodecHWConfigInternal,
6844}
6845extern "C" {
6846 pub fn av_codec_get_max_lowres(codec: *const AVCodec) -> ::std::os::raw::c_int;
6847}
6848#[repr(C)]
6849#[derive(Debug, Copy, Clone)]
6850pub struct MpegEncContext {
6851 _unused: [u8; 0],
6852}
6853extern "C" {
6854 pub fn avcodec_get_hw_config(
6855 codec: *const AVCodec,
6856 index: ::std::os::raw::c_int,
6857 ) -> *const AVCodecHWConfig;
6858}
6859#[repr(C)]
6860#[derive(Debug, Copy, Clone)]
6861pub struct AVHWAccel {
6862 pub name: *const ::std::os::raw::c_char,
6863 pub type_: AVMediaType,
6864 pub id: AVCodecID,
6865 pub pix_fmt: AVPixelFormat,
6866 pub capabilities: ::std::os::raw::c_int,
6867 pub alloc_frame: ::std::option::Option<
6868 unsafe extern "C" fn(
6869 avctx: *mut AVCodecContext,
6870 frame: *mut AVFrame,
6871 ) -> ::std::os::raw::c_int,
6872 >,
6873 pub start_frame: ::std::option::Option<
6874 unsafe extern "C" fn(
6875 avctx: *mut AVCodecContext,
6876 buf: *const u8,
6877 buf_size: u32,
6878 ) -> ::std::os::raw::c_int,
6879 >,
6880 pub decode_params: ::std::option::Option<
6881 unsafe extern "C" fn(
6882 avctx: *mut AVCodecContext,
6883 type_: ::std::os::raw::c_int,
6884 buf: *const u8,
6885 buf_size: u32,
6886 ) -> ::std::os::raw::c_int,
6887 >,
6888 pub decode_slice: ::std::option::Option<
6889 unsafe extern "C" fn(
6890 avctx: *mut AVCodecContext,
6891 buf: *const u8,
6892 buf_size: u32,
6893 ) -> ::std::os::raw::c_int,
6894 >,
6895 pub end_frame: ::std::option::Option<
6896 unsafe extern "C" fn(avctx: *mut AVCodecContext) -> ::std::os::raw::c_int,
6897 >,
6898 pub frame_priv_data_size: ::std::os::raw::c_int,
6899 pub decode_mb: ::std::option::Option<unsafe extern "C" fn(s: *mut MpegEncContext)>,
6900 pub init: ::std::option::Option<
6901 unsafe extern "C" fn(avctx: *mut AVCodecContext) -> ::std::os::raw::c_int,
6902 >,
6903 pub uninit: ::std::option::Option<
6904 unsafe extern "C" fn(avctx: *mut AVCodecContext) -> ::std::os::raw::c_int,
6905 >,
6906 pub priv_data_size: ::std::os::raw::c_int,
6907 pub caps_internal: ::std::os::raw::c_int,
6908 pub frame_params: ::std::option::Option<
6909 unsafe extern "C" fn(
6910 avctx: *mut AVCodecContext,
6911 hw_frames_ctx: *mut AVBufferRef,
6912 ) -> ::std::os::raw::c_int,
6913 >,
6914}
6915#[repr(C)]
6916#[derive(Debug, Copy, Clone)]
6917pub struct AVPicture {
6918 pub data: [*mut u8; 8usize],
6919 pub linesize: [::std::os::raw::c_int; 8usize],
6920}
6921pub const AVSubtitleType_SUBTITLE_NONE: AVSubtitleType = 0;
6922pub const AVSubtitleType_SUBTITLE_BITMAP: AVSubtitleType = 1;
6923pub const AVSubtitleType_SUBTITLE_TEXT: AVSubtitleType = 2;
6924pub const AVSubtitleType_SUBTITLE_ASS: AVSubtitleType = 3;
6925pub type AVSubtitleType = u32;
6926#[repr(C)]
6927#[derive(Debug, Copy, Clone)]
6928pub struct AVSubtitleRect {
6929 pub x: ::std::os::raw::c_int,
6930 pub y: ::std::os::raw::c_int,
6931 pub w: ::std::os::raw::c_int,
6932 pub h: ::std::os::raw::c_int,
6933 pub nb_colors: ::std::os::raw::c_int,
6934 pub pict: AVPicture,
6935 pub data: [*mut u8; 4usize],
6936 pub linesize: [::std::os::raw::c_int; 4usize],
6937 pub type_: AVSubtitleType,
6938 pub text: *mut ::std::os::raw::c_char,
6939 pub ass: *mut ::std::os::raw::c_char,
6940 pub flags: ::std::os::raw::c_int,
6941}
6942#[repr(C)]
6943#[derive(Debug, Copy, Clone)]
6944pub struct AVSubtitle {
6945 pub format: u16,
6946 pub start_display_time: u32,
6947 pub end_display_time: u32,
6948 pub num_rects: ::std::os::raw::c_uint,
6949 pub rects: *mut *mut AVSubtitleRect,
6950 pub pts: i64,
6951}
6952#[repr(C)]
6953#[derive(Debug, Copy, Clone)]
6954pub struct AVCodecParameters {
6955 pub codec_type: AVMediaType,
6956 pub codec_id: AVCodecID,
6957 pub codec_tag: u32,
6958 pub extradata: *mut u8,
6959 pub extradata_size: ::std::os::raw::c_int,
6960 pub format: ::std::os::raw::c_int,
6961 pub bit_rate: i64,
6962 pub bits_per_coded_sample: ::std::os::raw::c_int,
6963 pub bits_per_raw_sample: ::std::os::raw::c_int,
6964 pub profile: ::std::os::raw::c_int,
6965 pub level: ::std::os::raw::c_int,
6966 pub width: ::std::os::raw::c_int,
6967 pub height: ::std::os::raw::c_int,
6968 pub sample_aspect_ratio: AVRational,
6969 pub field_order: AVFieldOrder,
6970 pub color_range: AVColorRange,
6971 pub color_primaries: AVColorPrimaries,
6972 pub color_trc: AVColorTransferCharacteristic,
6973 pub color_space: AVColorSpace,
6974 pub chroma_location: AVChromaLocation,
6975 pub video_delay: ::std::os::raw::c_int,
6976 pub channel_layout: u64,
6977 pub channels: ::std::os::raw::c_int,
6978 pub sample_rate: ::std::os::raw::c_int,
6979 pub block_align: ::std::os::raw::c_int,
6980 pub frame_size: ::std::os::raw::c_int,
6981 pub initial_padding: ::std::os::raw::c_int,
6982 pub trailing_padding: ::std::os::raw::c_int,
6983 pub seek_preroll: ::std::os::raw::c_int,
6984}
6985extern "C" {
6986 pub fn av_codec_iterate(opaque: *mut *mut ::std::os::raw::c_void) -> *const AVCodec;
6987}
6988extern "C" {
6989 pub fn av_codec_next(c: *const AVCodec) -> *mut AVCodec;
6990}
6991extern "C" {
6992 pub fn avcodec_version() -> ::std::os::raw::c_uint;
6993}
6994extern "C" {
6995 pub fn avcodec_configuration() -> *const ::std::os::raw::c_char;
6996}
6997extern "C" {
6998 pub fn avcodec_license() -> *const ::std::os::raw::c_char;
6999}
7000extern "C" {
7001 pub fn avcodec_register(codec: *mut AVCodec);
7002}
7003extern "C" {
7004 pub fn avcodec_register_all();
7005}
7006extern "C" {
7007 pub fn avcodec_alloc_context3(codec: *const AVCodec) -> *mut AVCodecContext;
7008}
7009extern "C" {
7010 pub fn avcodec_free_context(avctx: *mut *mut AVCodecContext);
7011}
7012extern "C" {
7013 pub fn avcodec_get_context_defaults3(
7014 s: *mut AVCodecContext,
7015 codec: *const AVCodec,
7016 ) -> ::std::os::raw::c_int;
7017}
7018extern "C" {
7019 pub fn avcodec_get_class() -> *const AVClass;
7020}
7021extern "C" {
7022 pub fn avcodec_get_frame_class() -> *const AVClass;
7023}
7024extern "C" {
7025 pub fn avcodec_get_subtitle_rect_class() -> *const AVClass;
7026}
7027extern "C" {
7028 pub fn avcodec_copy_context(
7029 dest: *mut AVCodecContext,
7030 src: *const AVCodecContext,
7031 ) -> ::std::os::raw::c_int;
7032}
7033extern "C" {
7034 pub fn avcodec_parameters_alloc() -> *mut AVCodecParameters;
7035}
7036extern "C" {
7037 pub fn avcodec_parameters_free(par: *mut *mut AVCodecParameters);
7038}
7039extern "C" {
7040 pub fn avcodec_parameters_copy(
7041 dst: *mut AVCodecParameters,
7042 src: *const AVCodecParameters,
7043 ) -> ::std::os::raw::c_int;
7044}
7045extern "C" {
7046 pub fn avcodec_parameters_from_context(
7047 par: *mut AVCodecParameters,
7048 codec: *const AVCodecContext,
7049 ) -> ::std::os::raw::c_int;
7050}
7051extern "C" {
7052 pub fn avcodec_parameters_to_context(
7053 codec: *mut AVCodecContext,
7054 par: *const AVCodecParameters,
7055 ) -> ::std::os::raw::c_int;
7056}
7057extern "C" {
7058 pub fn avcodec_open2(
7059 avctx: *mut AVCodecContext,
7060 codec: *const AVCodec,
7061 options: *mut *mut AVDictionary,
7062 ) -> ::std::os::raw::c_int;
7063}
7064extern "C" {
7065 pub fn avcodec_close(avctx: *mut AVCodecContext) -> ::std::os::raw::c_int;
7066}
7067extern "C" {
7068 pub fn avsubtitle_free(sub: *mut AVSubtitle);
7069}
7070extern "C" {
7071 pub fn av_packet_alloc() -> *mut AVPacket;
7072}
7073extern "C" {
7074 pub fn av_packet_clone(src: *const AVPacket) -> *mut AVPacket;
7075}
7076extern "C" {
7077 pub fn av_packet_free(pkt: *mut *mut AVPacket);
7078}
7079extern "C" {
7080 pub fn av_init_packet(pkt: *mut AVPacket);
7081}
7082extern "C" {
7083 pub fn av_new_packet(pkt: *mut AVPacket, size: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7084}
7085extern "C" {
7086 pub fn av_shrink_packet(pkt: *mut AVPacket, size: ::std::os::raw::c_int);
7087}
7088extern "C" {
7089 pub fn av_grow_packet(
7090 pkt: *mut AVPacket,
7091 grow_by: ::std::os::raw::c_int,
7092 ) -> ::std::os::raw::c_int;
7093}
7094extern "C" {
7095 pub fn av_packet_from_data(
7096 pkt: *mut AVPacket,
7097 data: *mut u8,
7098 size: ::std::os::raw::c_int,
7099 ) -> ::std::os::raw::c_int;
7100}
7101extern "C" {
7102 pub fn av_dup_packet(pkt: *mut AVPacket) -> ::std::os::raw::c_int;
7103}
7104extern "C" {
7105 pub fn av_copy_packet(dst: *mut AVPacket, src: *const AVPacket) -> ::std::os::raw::c_int;
7106}
7107extern "C" {
7108 pub fn av_copy_packet_side_data(
7109 dst: *mut AVPacket,
7110 src: *const AVPacket,
7111 ) -> ::std::os::raw::c_int;
7112}
7113extern "C" {
7114 pub fn av_free_packet(pkt: *mut AVPacket);
7115}
7116extern "C" {
7117 pub fn av_packet_new_side_data(
7118 pkt: *mut AVPacket,
7119 type_: AVPacketSideDataType,
7120 size: ::std::os::raw::c_int,
7121 ) -> *mut u8;
7122}
7123extern "C" {
7124 pub fn av_packet_add_side_data(
7125 pkt: *mut AVPacket,
7126 type_: AVPacketSideDataType,
7127 data: *mut u8,
7128 size: usize,
7129 ) -> ::std::os::raw::c_int;
7130}
7131extern "C" {
7132 pub fn av_packet_shrink_side_data(
7133 pkt: *mut AVPacket,
7134 type_: AVPacketSideDataType,
7135 size: ::std::os::raw::c_int,
7136 ) -> ::std::os::raw::c_int;
7137}
7138extern "C" {
7139 pub fn av_packet_get_side_data(
7140 pkt: *const AVPacket,
7141 type_: AVPacketSideDataType,
7142 size: *mut ::std::os::raw::c_int,
7143 ) -> *mut u8;
7144}
7145extern "C" {
7146 pub fn av_packet_merge_side_data(pkt: *mut AVPacket) -> ::std::os::raw::c_int;
7147}
7148extern "C" {
7149 pub fn av_packet_split_side_data(pkt: *mut AVPacket) -> ::std::os::raw::c_int;
7150}
7151extern "C" {
7152 pub fn av_packet_side_data_name(type_: AVPacketSideDataType) -> *const ::std::os::raw::c_char;
7153}
7154extern "C" {
7155 pub fn av_packet_pack_dictionary(
7156 dict: *mut AVDictionary,
7157 size: *mut ::std::os::raw::c_int,
7158 ) -> *mut u8;
7159}
7160extern "C" {
7161 pub fn av_packet_unpack_dictionary(
7162 data: *const u8,
7163 size: ::std::os::raw::c_int,
7164 dict: *mut *mut AVDictionary,
7165 ) -> ::std::os::raw::c_int;
7166}
7167extern "C" {
7168 pub fn av_packet_free_side_data(pkt: *mut AVPacket);
7169}
7170extern "C" {
7171 pub fn av_packet_ref(dst: *mut AVPacket, src: *const AVPacket) -> ::std::os::raw::c_int;
7172}
7173extern "C" {
7174 pub fn av_packet_unref(pkt: *mut AVPacket);
7175}
7176extern "C" {
7177 pub fn av_packet_move_ref(dst: *mut AVPacket, src: *mut AVPacket);
7178}
7179extern "C" {
7180 pub fn av_packet_copy_props(dst: *mut AVPacket, src: *const AVPacket) -> ::std::os::raw::c_int;
7181}
7182extern "C" {
7183 pub fn av_packet_make_refcounted(pkt: *mut AVPacket) -> ::std::os::raw::c_int;
7184}
7185extern "C" {
7186 pub fn av_packet_make_writable(pkt: *mut AVPacket) -> ::std::os::raw::c_int;
7187}
7188extern "C" {
7189 pub fn av_packet_rescale_ts(pkt: *mut AVPacket, tb_src: AVRational, tb_dst: AVRational);
7190}
7191extern "C" {
7192 pub fn avcodec_find_decoder(id: AVCodecID) -> *mut AVCodec;
7193}
7194extern "C" {
7195 pub fn avcodec_find_decoder_by_name(name: *const ::std::os::raw::c_char) -> *mut AVCodec;
7196}
7197extern "C" {
7198 pub fn avcodec_default_get_buffer2(
7199 s: *mut AVCodecContext,
7200 frame: *mut AVFrame,
7201 flags: ::std::os::raw::c_int,
7202 ) -> ::std::os::raw::c_int;
7203}
7204extern "C" {
7205 pub fn avcodec_align_dimensions(
7206 s: *mut AVCodecContext,
7207 width: *mut ::std::os::raw::c_int,
7208 height: *mut ::std::os::raw::c_int,
7209 );
7210}
7211extern "C" {
7212 pub fn avcodec_align_dimensions2(
7213 s: *mut AVCodecContext,
7214 width: *mut ::std::os::raw::c_int,
7215 height: *mut ::std::os::raw::c_int,
7216 linesize_align: *mut ::std::os::raw::c_int,
7217 );
7218}
7219extern "C" {
7220 pub fn avcodec_enum_to_chroma_pos(
7221 xpos: *mut ::std::os::raw::c_int,
7222 ypos: *mut ::std::os::raw::c_int,
7223 pos: AVChromaLocation,
7224 ) -> ::std::os::raw::c_int;
7225}
7226extern "C" {
7227 pub fn avcodec_chroma_pos_to_enum(
7228 xpos: ::std::os::raw::c_int,
7229 ypos: ::std::os::raw::c_int,
7230 ) -> AVChromaLocation;
7231}
7232extern "C" {
7233 pub fn avcodec_decode_audio4(
7234 avctx: *mut AVCodecContext,
7235 frame: *mut AVFrame,
7236 got_frame_ptr: *mut ::std::os::raw::c_int,
7237 avpkt: *const AVPacket,
7238 ) -> ::std::os::raw::c_int;
7239}
7240extern "C" {
7241 pub fn avcodec_decode_video2(
7242 avctx: *mut AVCodecContext,
7243 picture: *mut AVFrame,
7244 got_picture_ptr: *mut ::std::os::raw::c_int,
7245 avpkt: *const AVPacket,
7246 ) -> ::std::os::raw::c_int;
7247}
7248extern "C" {
7249 pub fn avcodec_decode_subtitle2(
7250 avctx: *mut AVCodecContext,
7251 sub: *mut AVSubtitle,
7252 got_sub_ptr: *mut ::std::os::raw::c_int,
7253 avpkt: *mut AVPacket,
7254 ) -> ::std::os::raw::c_int;
7255}
7256extern "C" {
7257 pub fn avcodec_send_packet(
7258 avctx: *mut AVCodecContext,
7259 avpkt: *const AVPacket,
7260 ) -> ::std::os::raw::c_int;
7261}
7262extern "C" {
7263 pub fn avcodec_receive_frame(
7264 avctx: *mut AVCodecContext,
7265 frame: *mut AVFrame,
7266 ) -> ::std::os::raw::c_int;
7267}
7268extern "C" {
7269 pub fn avcodec_send_frame(
7270 avctx: *mut AVCodecContext,
7271 frame: *const AVFrame,
7272 ) -> ::std::os::raw::c_int;
7273}
7274extern "C" {
7275 pub fn avcodec_receive_packet(
7276 avctx: *mut AVCodecContext,
7277 avpkt: *mut AVPacket,
7278 ) -> ::std::os::raw::c_int;
7279}
7280extern "C" {
7281 pub fn avcodec_get_hw_frames_parameters(
7282 avctx: *mut AVCodecContext,
7283 device_ref: *mut AVBufferRef,
7284 hw_pix_fmt: AVPixelFormat,
7285 out_frames_ref: *mut *mut AVBufferRef,
7286 ) -> ::std::os::raw::c_int;
7287}
7288pub const AVPictureStructure_AV_PICTURE_STRUCTURE_UNKNOWN: AVPictureStructure = 0;
7289pub const AVPictureStructure_AV_PICTURE_STRUCTURE_TOP_FIELD: AVPictureStructure = 1;
7290pub const AVPictureStructure_AV_PICTURE_STRUCTURE_BOTTOM_FIELD: AVPictureStructure = 2;
7291pub const AVPictureStructure_AV_PICTURE_STRUCTURE_FRAME: AVPictureStructure = 3;
7292pub type AVPictureStructure = u32;
7293#[repr(C)]
7294#[derive(Debug, Copy, Clone)]
7295pub struct AVCodecParserContext {
7296 pub priv_data: *mut ::std::os::raw::c_void,
7297 pub parser: *mut AVCodecParser,
7298 pub frame_offset: i64,
7299 pub cur_offset: i64,
7300 pub next_frame_offset: i64,
7301 pub pict_type: ::std::os::raw::c_int,
7302 pub repeat_pict: ::std::os::raw::c_int,
7303 pub pts: i64,
7304 pub dts: i64,
7305 pub last_pts: i64,
7306 pub last_dts: i64,
7307 pub fetch_timestamp: ::std::os::raw::c_int,
7308 pub cur_frame_start_index: ::std::os::raw::c_int,
7309 pub cur_frame_offset: [i64; 4usize],
7310 pub cur_frame_pts: [i64; 4usize],
7311 pub cur_frame_dts: [i64; 4usize],
7312 pub flags: ::std::os::raw::c_int,
7313 pub offset: i64,
7314 pub cur_frame_end: [i64; 4usize],
7315 pub key_frame: ::std::os::raw::c_int,
7316 pub convergence_duration: i64,
7317 pub dts_sync_point: ::std::os::raw::c_int,
7318 pub dts_ref_dts_delta: ::std::os::raw::c_int,
7319 pub pts_dts_delta: ::std::os::raw::c_int,
7320 pub cur_frame_pos: [i64; 4usize],
7321 pub pos: i64,
7322 pub last_pos: i64,
7323 pub duration: ::std::os::raw::c_int,
7324 pub field_order: AVFieldOrder,
7325 pub picture_structure: AVPictureStructure,
7326 pub output_picture_number: ::std::os::raw::c_int,
7327 pub width: ::std::os::raw::c_int,
7328 pub height: ::std::os::raw::c_int,
7329 pub coded_width: ::std::os::raw::c_int,
7330 pub coded_height: ::std::os::raw::c_int,
7331 pub format: ::std::os::raw::c_int,
7332}
7333#[repr(C)]
7334#[derive(Debug, Copy, Clone)]
7335pub struct AVCodecParser {
7336 pub codec_ids: [::std::os::raw::c_int; 5usize],
7337 pub priv_data_size: ::std::os::raw::c_int,
7338 pub parser_init: ::std::option::Option<
7339 unsafe extern "C" fn(s: *mut AVCodecParserContext) -> ::std::os::raw::c_int,
7340 >,
7341 pub parser_parse: ::std::option::Option<
7342 unsafe extern "C" fn(
7343 s: *mut AVCodecParserContext,
7344 avctx: *mut AVCodecContext,
7345 poutbuf: *mut *const u8,
7346 poutbuf_size: *mut ::std::os::raw::c_int,
7347 buf: *const u8,
7348 buf_size: ::std::os::raw::c_int,
7349 ) -> ::std::os::raw::c_int,
7350 >,
7351 pub parser_close: ::std::option::Option<unsafe extern "C" fn(s: *mut AVCodecParserContext)>,
7352 pub split: ::std::option::Option<
7353 unsafe extern "C" fn(
7354 avctx: *mut AVCodecContext,
7355 buf: *const u8,
7356 buf_size: ::std::os::raw::c_int,
7357 ) -> ::std::os::raw::c_int,
7358 >,
7359 pub next: *mut AVCodecParser,
7360}
7361extern "C" {
7362 pub fn av_parser_iterate(opaque: *mut *mut ::std::os::raw::c_void) -> *const AVCodecParser;
7363}
7364extern "C" {
7365 pub fn av_parser_next(c: *const AVCodecParser) -> *mut AVCodecParser;
7366}
7367extern "C" {
7368 pub fn av_register_codec_parser(parser: *mut AVCodecParser);
7369}
7370extern "C" {
7371 pub fn av_parser_init(codec_id: ::std::os::raw::c_int) -> *mut AVCodecParserContext;
7372}
7373extern "C" {
7374 pub fn av_parser_parse2(
7375 s: *mut AVCodecParserContext,
7376 avctx: *mut AVCodecContext,
7377 poutbuf: *mut *mut u8,
7378 poutbuf_size: *mut ::std::os::raw::c_int,
7379 buf: *const u8,
7380 buf_size: ::std::os::raw::c_int,
7381 pts: i64,
7382 dts: i64,
7383 pos: i64,
7384 ) -> ::std::os::raw::c_int;
7385}
7386extern "C" {
7387 pub fn av_parser_change(
7388 s: *mut AVCodecParserContext,
7389 avctx: *mut AVCodecContext,
7390 poutbuf: *mut *mut u8,
7391 poutbuf_size: *mut ::std::os::raw::c_int,
7392 buf: *const u8,
7393 buf_size: ::std::os::raw::c_int,
7394 keyframe: ::std::os::raw::c_int,
7395 ) -> ::std::os::raw::c_int;
7396}
7397extern "C" {
7398 pub fn av_parser_close(s: *mut AVCodecParserContext);
7399}
7400extern "C" {
7401 pub fn avcodec_find_encoder(id: AVCodecID) -> *mut AVCodec;
7402}
7403extern "C" {
7404 pub fn avcodec_find_encoder_by_name(name: *const ::std::os::raw::c_char) -> *mut AVCodec;
7405}
7406extern "C" {
7407 pub fn avcodec_encode_audio2(
7408 avctx: *mut AVCodecContext,
7409 avpkt: *mut AVPacket,
7410 frame: *const AVFrame,
7411 got_packet_ptr: *mut ::std::os::raw::c_int,
7412 ) -> ::std::os::raw::c_int;
7413}
7414extern "C" {
7415 pub fn avcodec_encode_video2(
7416 avctx: *mut AVCodecContext,
7417 avpkt: *mut AVPacket,
7418 frame: *const AVFrame,
7419 got_packet_ptr: *mut ::std::os::raw::c_int,
7420 ) -> ::std::os::raw::c_int;
7421}
7422extern "C" {
7423 pub fn avcodec_encode_subtitle(
7424 avctx: *mut AVCodecContext,
7425 buf: *mut u8,
7426 buf_size: ::std::os::raw::c_int,
7427 sub: *const AVSubtitle,
7428 ) -> ::std::os::raw::c_int;
7429}
7430extern "C" {
7431 pub fn avpicture_alloc(
7432 picture: *mut AVPicture,
7433 pix_fmt: AVPixelFormat,
7434 width: ::std::os::raw::c_int,
7435 height: ::std::os::raw::c_int,
7436 ) -> ::std::os::raw::c_int;
7437}
7438extern "C" {
7439 pub fn avpicture_free(picture: *mut AVPicture);
7440}
7441extern "C" {
7442 pub fn avpicture_fill(
7443 picture: *mut AVPicture,
7444 ptr: *const u8,
7445 pix_fmt: AVPixelFormat,
7446 width: ::std::os::raw::c_int,
7447 height: ::std::os::raw::c_int,
7448 ) -> ::std::os::raw::c_int;
7449}
7450extern "C" {
7451 pub fn avpicture_layout(
7452 src: *const AVPicture,
7453 pix_fmt: AVPixelFormat,
7454 width: ::std::os::raw::c_int,
7455 height: ::std::os::raw::c_int,
7456 dest: *mut ::std::os::raw::c_uchar,
7457 dest_size: ::std::os::raw::c_int,
7458 ) -> ::std::os::raw::c_int;
7459}
7460extern "C" {
7461 pub fn avpicture_get_size(
7462 pix_fmt: AVPixelFormat,
7463 width: ::std::os::raw::c_int,
7464 height: ::std::os::raw::c_int,
7465 ) -> ::std::os::raw::c_int;
7466}
7467extern "C" {
7468 pub fn av_picture_copy(
7469 dst: *mut AVPicture,
7470 src: *const AVPicture,
7471 pix_fmt: AVPixelFormat,
7472 width: ::std::os::raw::c_int,
7473 height: ::std::os::raw::c_int,
7474 );
7475}
7476extern "C" {
7477 pub fn av_picture_crop(
7478 dst: *mut AVPicture,
7479 src: *const AVPicture,
7480 pix_fmt: AVPixelFormat,
7481 top_band: ::std::os::raw::c_int,
7482 left_band: ::std::os::raw::c_int,
7483 ) -> ::std::os::raw::c_int;
7484}
7485extern "C" {
7486 pub fn av_picture_pad(
7487 dst: *mut AVPicture,
7488 src: *const AVPicture,
7489 height: ::std::os::raw::c_int,
7490 width: ::std::os::raw::c_int,
7491 pix_fmt: AVPixelFormat,
7492 padtop: ::std::os::raw::c_int,
7493 padbottom: ::std::os::raw::c_int,
7494 padleft: ::std::os::raw::c_int,
7495 padright: ::std::os::raw::c_int,
7496 color: *mut ::std::os::raw::c_int,
7497 ) -> ::std::os::raw::c_int;
7498}
7499extern "C" {
7500 pub fn avcodec_get_chroma_sub_sample(
7501 pix_fmt: AVPixelFormat,
7502 h_shift: *mut ::std::os::raw::c_int,
7503 v_shift: *mut ::std::os::raw::c_int,
7504 );
7505}
7506extern "C" {
7507 pub fn avcodec_pix_fmt_to_codec_tag(pix_fmt: AVPixelFormat) -> ::std::os::raw::c_uint;
7508}
7509extern "C" {
7510 pub fn avcodec_get_pix_fmt_loss(
7511 dst_pix_fmt: AVPixelFormat,
7512 src_pix_fmt: AVPixelFormat,
7513 has_alpha: ::std::os::raw::c_int,
7514 ) -> ::std::os::raw::c_int;
7515}
7516extern "C" {
7517 pub fn avcodec_find_best_pix_fmt_of_list(
7518 pix_fmt_list: *const AVPixelFormat,
7519 src_pix_fmt: AVPixelFormat,
7520 has_alpha: ::std::os::raw::c_int,
7521 loss_ptr: *mut ::std::os::raw::c_int,
7522 ) -> AVPixelFormat;
7523}
7524extern "C" {
7525 pub fn avcodec_find_best_pix_fmt_of_2(
7526 dst_pix_fmt1: AVPixelFormat,
7527 dst_pix_fmt2: AVPixelFormat,
7528 src_pix_fmt: AVPixelFormat,
7529 has_alpha: ::std::os::raw::c_int,
7530 loss_ptr: *mut ::std::os::raw::c_int,
7531 ) -> AVPixelFormat;
7532}
7533extern "C" {
7534 pub fn avcodec_find_best_pix_fmt2(
7535 dst_pix_fmt1: AVPixelFormat,
7536 dst_pix_fmt2: AVPixelFormat,
7537 src_pix_fmt: AVPixelFormat,
7538 has_alpha: ::std::os::raw::c_int,
7539 loss_ptr: *mut ::std::os::raw::c_int,
7540 ) -> AVPixelFormat;
7541}
7542extern "C" {
7543 pub fn avcodec_default_get_format(
7544 s: *mut AVCodecContext,
7545 fmt: *const AVPixelFormat,
7546 ) -> AVPixelFormat;
7547}
7548extern "C" {
7549 pub fn av_get_codec_tag_string(
7550 buf: *mut ::std::os::raw::c_char,
7551 buf_size: usize,
7552 codec_tag: ::std::os::raw::c_uint,
7553 ) -> usize;
7554}
7555extern "C" {
7556 pub fn avcodec_string(
7557 buf: *mut ::std::os::raw::c_char,
7558 buf_size: ::std::os::raw::c_int,
7559 enc: *mut AVCodecContext,
7560 encode: ::std::os::raw::c_int,
7561 );
7562}
7563extern "C" {
7564 pub fn av_get_profile_name(
7565 codec: *const AVCodec,
7566 profile: ::std::os::raw::c_int,
7567 ) -> *const ::std::os::raw::c_char;
7568}
7569extern "C" {
7570 pub fn avcodec_profile_name(
7571 codec_id: AVCodecID,
7572 profile: ::std::os::raw::c_int,
7573 ) -> *const ::std::os::raw::c_char;
7574}
7575extern "C" {
7576 pub fn avcodec_default_execute(
7577 c: *mut AVCodecContext,
7578 func: ::std::option::Option<
7579 unsafe extern "C" fn(
7580 c: *mut AVCodecContext,
7581 func: *mut ::std::os::raw::c_void,
7582 ) -> ::std::os::raw::c_int,
7583 >,
7584 arg: *mut ::std::os::raw::c_void,
7585 ret: *mut ::std::os::raw::c_int,
7586 count: ::std::os::raw::c_int,
7587 size: ::std::os::raw::c_int,
7588 ) -> ::std::os::raw::c_int;
7589}
7590extern "C" {
7591 pub fn avcodec_default_execute2(
7592 c: *mut AVCodecContext,
7593 func: ::std::option::Option<
7594 unsafe extern "C" fn(
7595 c: *mut AVCodecContext,
7596 func: *mut ::std::os::raw::c_void,
7597 arg: ::std::os::raw::c_int,
7598 ret: ::std::os::raw::c_int,
7599 ) -> ::std::os::raw::c_int,
7600 >,
7601 arg: *mut ::std::os::raw::c_void,
7602 ret: *mut ::std::os::raw::c_int,
7603 count: ::std::os::raw::c_int,
7604 ) -> ::std::os::raw::c_int;
7605}
7606extern "C" {
7607 pub fn avcodec_fill_audio_frame(
7608 frame: *mut AVFrame,
7609 nb_channels: ::std::os::raw::c_int,
7610 sample_fmt: AVSampleFormat,
7611 buf: *const u8,
7612 buf_size: ::std::os::raw::c_int,
7613 align: ::std::os::raw::c_int,
7614 ) -> ::std::os::raw::c_int;
7615}
7616extern "C" {
7617 pub fn avcodec_flush_buffers(avctx: *mut AVCodecContext);
7618}
7619extern "C" {
7620 pub fn av_get_bits_per_sample(codec_id: AVCodecID) -> ::std::os::raw::c_int;
7621}
7622extern "C" {
7623 pub fn av_get_pcm_codec(fmt: AVSampleFormat, be: ::std::os::raw::c_int) -> AVCodecID;
7624}
7625extern "C" {
7626 pub fn av_get_exact_bits_per_sample(codec_id: AVCodecID) -> ::std::os::raw::c_int;
7627}
7628extern "C" {
7629 pub fn av_get_audio_frame_duration(
7630 avctx: *mut AVCodecContext,
7631 frame_bytes: ::std::os::raw::c_int,
7632 ) -> ::std::os::raw::c_int;
7633}
7634extern "C" {
7635 pub fn av_get_audio_frame_duration2(
7636 par: *mut AVCodecParameters,
7637 frame_bytes: ::std::os::raw::c_int,
7638 ) -> ::std::os::raw::c_int;
7639}
7640#[repr(C)]
7641#[derive(Debug, Copy, Clone)]
7642pub struct AVBitStreamFilterContext {
7643 pub priv_data: *mut ::std::os::raw::c_void,
7644 pub filter: *const AVBitStreamFilter,
7645 pub parser: *mut AVCodecParserContext,
7646 pub next: *mut AVBitStreamFilterContext,
7647 pub args: *mut ::std::os::raw::c_char,
7648}
7649#[repr(C)]
7650#[derive(Debug, Copy, Clone)]
7651pub struct AVBSFInternal {
7652 _unused: [u8; 0],
7653}
7654#[repr(C)]
7655#[derive(Debug, Copy, Clone)]
7656pub struct AVBSFContext {
7657 pub av_class: *const AVClass,
7658 pub filter: *const AVBitStreamFilter,
7659 pub internal: *mut AVBSFInternal,
7660 pub priv_data: *mut ::std::os::raw::c_void,
7661 pub par_in: *mut AVCodecParameters,
7662 pub par_out: *mut AVCodecParameters,
7663 pub time_base_in: AVRational,
7664 pub time_base_out: AVRational,
7665}
7666#[repr(C)]
7667#[derive(Debug, Copy, Clone)]
7668pub struct AVBitStreamFilter {
7669 pub name: *const ::std::os::raw::c_char,
7670 pub codec_ids: *const AVCodecID,
7671 pub priv_class: *const AVClass,
7672 pub priv_data_size: ::std::os::raw::c_int,
7673 pub init: ::std::option::Option<
7674 unsafe extern "C" fn(ctx: *mut AVBSFContext) -> ::std::os::raw::c_int,
7675 >,
7676 pub filter: ::std::option::Option<
7677 unsafe extern "C" fn(ctx: *mut AVBSFContext, pkt: *mut AVPacket) -> ::std::os::raw::c_int,
7678 >,
7679 pub close: ::std::option::Option<unsafe extern "C" fn(ctx: *mut AVBSFContext)>,
7680 pub flush: ::std::option::Option<unsafe extern "C" fn(ctx: *mut AVBSFContext)>,
7681}
7682extern "C" {
7683 pub fn av_register_bitstream_filter(bsf: *mut AVBitStreamFilter);
7684}
7685extern "C" {
7686 pub fn av_bitstream_filter_init(
7687 name: *const ::std::os::raw::c_char,
7688 ) -> *mut AVBitStreamFilterContext;
7689}
7690extern "C" {
7691 pub fn av_bitstream_filter_filter(
7692 bsfc: *mut AVBitStreamFilterContext,
7693 avctx: *mut AVCodecContext,
7694 args: *const ::std::os::raw::c_char,
7695 poutbuf: *mut *mut u8,
7696 poutbuf_size: *mut ::std::os::raw::c_int,
7697 buf: *const u8,
7698 buf_size: ::std::os::raw::c_int,
7699 keyframe: ::std::os::raw::c_int,
7700 ) -> ::std::os::raw::c_int;
7701}
7702extern "C" {
7703 pub fn av_bitstream_filter_close(bsf: *mut AVBitStreamFilterContext);
7704}
7705extern "C" {
7706 pub fn av_bitstream_filter_next(f: *const AVBitStreamFilter) -> *const AVBitStreamFilter;
7707}
7708extern "C" {
7709 pub fn av_bsf_get_by_name(name: *const ::std::os::raw::c_char) -> *const AVBitStreamFilter;
7710}
7711extern "C" {
7712 pub fn av_bsf_iterate(opaque: *mut *mut ::std::os::raw::c_void) -> *const AVBitStreamFilter;
7713}
7714extern "C" {
7715 pub fn av_bsf_next(opaque: *mut *mut ::std::os::raw::c_void) -> *const AVBitStreamFilter;
7716}
7717extern "C" {
7718 pub fn av_bsf_alloc(
7719 filter: *const AVBitStreamFilter,
7720 ctx: *mut *mut AVBSFContext,
7721 ) -> ::std::os::raw::c_int;
7722}
7723extern "C" {
7724 pub fn av_bsf_init(ctx: *mut AVBSFContext) -> ::std::os::raw::c_int;
7725}
7726extern "C" {
7727 pub fn av_bsf_send_packet(ctx: *mut AVBSFContext, pkt: *mut AVPacket) -> ::std::os::raw::c_int;
7728}
7729extern "C" {
7730 pub fn av_bsf_receive_packet(
7731 ctx: *mut AVBSFContext,
7732 pkt: *mut AVPacket,
7733 ) -> ::std::os::raw::c_int;
7734}
7735extern "C" {
7736 pub fn av_bsf_flush(ctx: *mut AVBSFContext);
7737}
7738extern "C" {
7739 pub fn av_bsf_free(ctx: *mut *mut AVBSFContext);
7740}
7741extern "C" {
7742 pub fn av_bsf_get_class() -> *const AVClass;
7743}
7744#[repr(C)]
7745#[derive(Debug, Copy, Clone)]
7746pub struct AVBSFList {
7747 _unused: [u8; 0],
7748}
7749extern "C" {
7750 pub fn av_bsf_list_alloc() -> *mut AVBSFList;
7751}
7752extern "C" {
7753 pub fn av_bsf_list_free(lst: *mut *mut AVBSFList);
7754}
7755extern "C" {
7756 pub fn av_bsf_list_append(lst: *mut AVBSFList, bsf: *mut AVBSFContext)
7757 -> ::std::os::raw::c_int;
7758}
7759extern "C" {
7760 pub fn av_bsf_list_append2(
7761 lst: *mut AVBSFList,
7762 bsf_name: *const ::std::os::raw::c_char,
7763 options: *mut *mut AVDictionary,
7764 ) -> ::std::os::raw::c_int;
7765}
7766extern "C" {
7767 pub fn av_bsf_list_finalize(
7768 lst: *mut *mut AVBSFList,
7769 bsf: *mut *mut AVBSFContext,
7770 ) -> ::std::os::raw::c_int;
7771}
7772extern "C" {
7773 pub fn av_bsf_list_parse_str(
7774 str: *const ::std::os::raw::c_char,
7775 bsf: *mut *mut AVBSFContext,
7776 ) -> ::std::os::raw::c_int;
7777}
7778extern "C" {
7779 pub fn av_bsf_get_null_filter(bsf: *mut *mut AVBSFContext) -> ::std::os::raw::c_int;
7780}
7781extern "C" {
7782 pub fn av_fast_padded_malloc(
7783 ptr: *mut ::std::os::raw::c_void,
7784 size: *mut ::std::os::raw::c_uint,
7785 min_size: usize,
7786 );
7787}
7788extern "C" {
7789 pub fn av_fast_padded_mallocz(
7790 ptr: *mut ::std::os::raw::c_void,
7791 size: *mut ::std::os::raw::c_uint,
7792 min_size: usize,
7793 );
7794}
7795extern "C" {
7796 pub fn av_xiphlacing(
7797 s: *mut ::std::os::raw::c_uchar,
7798 v: ::std::os::raw::c_uint,
7799 ) -> ::std::os::raw::c_uint;
7800}
7801extern "C" {
7802 pub fn av_register_hwaccel(hwaccel: *mut AVHWAccel);
7803}
7804extern "C" {
7805 pub fn av_hwaccel_next(hwaccel: *const AVHWAccel) -> *mut AVHWAccel;
7806}
7807pub const AVLockOp_AV_LOCK_CREATE: AVLockOp = 0;
7808pub const AVLockOp_AV_LOCK_OBTAIN: AVLockOp = 1;
7809pub const AVLockOp_AV_LOCK_RELEASE: AVLockOp = 2;
7810pub const AVLockOp_AV_LOCK_DESTROY: AVLockOp = 3;
7811pub type AVLockOp = u32;
7812extern "C" {
7813 pub fn av_lockmgr_register(
7814 cb: ::std::option::Option<
7815 unsafe extern "C" fn(
7816 cb: *mut *mut ::std::os::raw::c_void,
7817 arg1: AVLockOp,
7818 ) -> ::std::os::raw::c_int,
7819 >,
7820 ) -> ::std::os::raw::c_int;
7821}
7822extern "C" {
7823 pub fn avcodec_get_type(codec_id: AVCodecID) -> AVMediaType;
7824}
7825extern "C" {
7826 pub fn avcodec_get_name(id: AVCodecID) -> *const ::std::os::raw::c_char;
7827}
7828extern "C" {
7829 pub fn avcodec_is_open(s: *mut AVCodecContext) -> ::std::os::raw::c_int;
7830}
7831extern "C" {
7832 pub fn av_codec_is_encoder(codec: *const AVCodec) -> ::std::os::raw::c_int;
7833}
7834extern "C" {
7835 pub fn av_codec_is_decoder(codec: *const AVCodec) -> ::std::os::raw::c_int;
7836}
7837extern "C" {
7838 pub fn avcodec_descriptor_get(id: AVCodecID) -> *const AVCodecDescriptor;
7839}
7840extern "C" {
7841 pub fn avcodec_descriptor_next(prev: *const AVCodecDescriptor) -> *const AVCodecDescriptor;
7842}
7843extern "C" {
7844 pub fn avcodec_descriptor_get_by_name(
7845 name: *const ::std::os::raw::c_char,
7846 ) -> *const AVCodecDescriptor;
7847}
7848extern "C" {
7849 pub fn av_cpb_properties_alloc(size: *mut usize) -> *mut AVCPBProperties;
7850}
7851#[doc = " Callback for checking whether to abort blocking functions."]
7852#[doc = " AVERROR_EXIT is returned in this case by the interrupted"]
7853#[doc = " function. During blocking operations, callback is called with"]
7854#[doc = " opaque as parameter. If the callback returns 1, the"]
7855#[doc = " blocking operation will be aborted."]
7856#[doc = ""]
7857#[doc = " No members can be added to this struct without a major bump, if"]
7858#[doc = " new elements have been added after this struct in AVFormatContext"]
7859#[doc = " or AVIOContext."]
7860#[repr(C)]
7861#[derive(Debug, Copy, Clone)]
7862pub struct AVIOInterruptCB {
7863 pub callback: ::std::option::Option<
7864 unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
7865 >,
7866 pub opaque: *mut ::std::os::raw::c_void,
7867}
7868pub const AVIODirEntryType_AVIO_ENTRY_UNKNOWN: AVIODirEntryType = 0;
7869pub const AVIODirEntryType_AVIO_ENTRY_BLOCK_DEVICE: AVIODirEntryType = 1;
7870pub const AVIODirEntryType_AVIO_ENTRY_CHARACTER_DEVICE: AVIODirEntryType = 2;
7871pub const AVIODirEntryType_AVIO_ENTRY_DIRECTORY: AVIODirEntryType = 3;
7872pub const AVIODirEntryType_AVIO_ENTRY_NAMED_PIPE: AVIODirEntryType = 4;
7873pub const AVIODirEntryType_AVIO_ENTRY_SYMBOLIC_LINK: AVIODirEntryType = 5;
7874pub const AVIODirEntryType_AVIO_ENTRY_SOCKET: AVIODirEntryType = 6;
7875pub const AVIODirEntryType_AVIO_ENTRY_FILE: AVIODirEntryType = 7;
7876pub const AVIODirEntryType_AVIO_ENTRY_SERVER: AVIODirEntryType = 8;
7877pub const AVIODirEntryType_AVIO_ENTRY_SHARE: AVIODirEntryType = 9;
7878pub const AVIODirEntryType_AVIO_ENTRY_WORKGROUP: AVIODirEntryType = 10;
7879#[doc = " Directory entry types."]
7880pub type AVIODirEntryType = u32;
7881#[doc = " Describes single entry of the directory."]
7882#[doc = ""]
7883#[doc = " Only name and type fields are guaranteed be set."]
7884#[doc = " Rest of fields are protocol or/and platform dependent and might be unknown."]
7885#[repr(C)]
7886#[derive(Debug, Copy, Clone)]
7887pub struct AVIODirEntry {
7888 #[doc = "< Filename"]
7889 pub name: *mut ::std::os::raw::c_char,
7890 #[doc = "< Type of the entry"]
7891 pub type_: ::std::os::raw::c_int,
7892 #[doc = "< Set to 1 when name is encoded with UTF-8, 0 otherwise."]
7893 #[doc = "Name can be encoded with UTF-8 even though 0 is set."]
7894 pub utf8: ::std::os::raw::c_int,
7895 #[doc = "< File size in bytes, -1 if unknown."]
7896 pub size: i64,
7897 #[doc = "< Time of last modification in microseconds since unix"]
7898 #[doc = "epoch, -1 if unknown."]
7899 pub modification_timestamp: i64,
7900 #[doc = "< Time of last access in microseconds since unix epoch,"]
7901 #[doc = "-1 if unknown."]
7902 pub access_timestamp: i64,
7903 #[doc = "< Time of last status change in microseconds since unix"]
7904 #[doc = "epoch, -1 if unknown."]
7905 pub status_change_timestamp: i64,
7906 #[doc = "< User ID of owner, -1 if unknown."]
7907 pub user_id: i64,
7908 #[doc = "< Group ID of owner, -1 if unknown."]
7909 pub group_id: i64,
7910 #[doc = "< Unix file mode, -1 if unknown."]
7911 pub filemode: i64,
7912}
7913#[repr(C)]
7914#[derive(Debug, Copy, Clone)]
7915pub struct AVIODirContext {
7916 pub url_context: *mut URLContext,
7917}
7918#[doc = " Header data; this needs to be present for the stream to be decodeable."]
7919pub const AVIODataMarkerType_AVIO_DATA_MARKER_HEADER: AVIODataMarkerType = 0;
7920#[doc = " A point in the output bytestream where a decoder can start decoding"]
7921#[doc = " (i.e. a keyframe). A demuxer/decoder given the data flagged with"]
7922#[doc = " AVIO_DATA_MARKER_HEADER, followed by any AVIO_DATA_MARKER_SYNC_POINT,"]
7923#[doc = " should give decodeable results."]
7924pub const AVIODataMarkerType_AVIO_DATA_MARKER_SYNC_POINT: AVIODataMarkerType = 1;
7925#[doc = " A point in the output bytestream where a demuxer can start parsing"]
7926#[doc = " (for non self synchronizing bytestream formats). That is, any"]
7927#[doc = " non-keyframe packet start point."]
7928pub const AVIODataMarkerType_AVIO_DATA_MARKER_BOUNDARY_POINT: AVIODataMarkerType = 2;
7929#[doc = " This is any, unlabelled data. It can either be a muxer not marking"]
7930#[doc = " any positions at all, it can be an actual boundary/sync point"]
7931#[doc = " that the muxer chooses not to mark, or a later part of a packet/fragment"]
7932#[doc = " that is cut into multiple write callbacks due to limited IO buffer size."]
7933pub const AVIODataMarkerType_AVIO_DATA_MARKER_UNKNOWN: AVIODataMarkerType = 3;
7934#[doc = " Trailer data, which doesn\'t contain actual content, but only for"]
7935#[doc = " finalizing the output file."]
7936pub const AVIODataMarkerType_AVIO_DATA_MARKER_TRAILER: AVIODataMarkerType = 4;
7937#[doc = " A point in the output bytestream where the underlying AVIOContext might"]
7938#[doc = " flush the buffer depending on latency or buffering requirements. Typically"]
7939#[doc = " means the end of a packet."]
7940pub const AVIODataMarkerType_AVIO_DATA_MARKER_FLUSH_POINT: AVIODataMarkerType = 5;
7941#[doc = " Different data types that can be returned via the AVIO"]
7942#[doc = " write_data_type callback."]
7943pub type AVIODataMarkerType = u32;
7944#[doc = " Bytestream IO Context."]
7945#[doc = " New fields can be added to the end with minor version bumps."]
7946#[doc = " Removal, reordering and changes to existing fields require a major"]
7947#[doc = " version bump."]
7948#[doc = " sizeof(AVIOContext) must not be used outside libav*."]
7949#[doc = ""]
7950#[doc = " @note None of the function pointers in AVIOContext should be called"]
7951#[doc = " directly, they should only be set by the client application"]
7952#[doc = " when implementing custom I/O. Normally these are set to the"]
7953#[doc = " function pointers specified in avio_alloc_context()"]
7954#[repr(C)]
7955#[derive(Debug, Copy, Clone)]
7956pub struct AVIOContext {
7957 #[doc = " A class for private options."]
7958 #[doc = ""]
7959 #[doc = " If this AVIOContext is created by avio_open2(), av_class is set and"]
7960 #[doc = " passes the options down to protocols."]
7961 #[doc = ""]
7962 #[doc = " If this AVIOContext is manually allocated, then av_class may be set by"]
7963 #[doc = " the caller."]
7964 #[doc = ""]
7965 #[doc = " warning -- this field can be NULL, be sure to not pass this AVIOContext"]
7966 #[doc = " to any av_opt_* functions in that case."]
7967 pub av_class: *const AVClass,
7968 #[doc = "< Start of the buffer."]
7969 pub buffer: *mut ::std::os::raw::c_uchar,
7970 #[doc = "< Maximum buffer size"]
7971 pub buffer_size: ::std::os::raw::c_int,
7972 #[doc = "< Current position in the buffer"]
7973 pub buf_ptr: *mut ::std::os::raw::c_uchar,
7974 #[doc = "< End of the data, may be less than"]
7975 #[doc = "buffer+buffer_size if the read function returned"]
7976 #[doc = "less data than requested, e.g. for streams where"]
7977 #[doc = "no more data has been received yet."]
7978 pub buf_end: *mut ::std::os::raw::c_uchar,
7979 #[doc = "< A private pointer, passed to the read/write/seek/..."]
7980 #[doc = "functions."]
7981 pub opaque: *mut ::std::os::raw::c_void,
7982 pub read_packet: ::std::option::Option<
7983 unsafe extern "C" fn(
7984 opaque: *mut ::std::os::raw::c_void,
7985 buf: *mut u8,
7986 buf_size: ::std::os::raw::c_int,
7987 ) -> ::std::os::raw::c_int,
7988 >,
7989 pub write_packet: ::std::option::Option<
7990 unsafe extern "C" fn(
7991 opaque: *mut ::std::os::raw::c_void,
7992 buf: *mut u8,
7993 buf_size: ::std::os::raw::c_int,
7994 ) -> ::std::os::raw::c_int,
7995 >,
7996 pub seek: ::std::option::Option<
7997 unsafe extern "C" fn(
7998 opaque: *mut ::std::os::raw::c_void,
7999 offset: i64,
8000 whence: ::std::os::raw::c_int,
8001 ) -> i64,
8002 >,
8003 #[doc = "< position in the file of the current buffer"]
8004 pub pos: i64,
8005 #[doc = "< true if eof reached"]
8006 pub eof_reached: ::std::os::raw::c_int,
8007 #[doc = "< true if open for writing"]
8008 pub write_flag: ::std::os::raw::c_int,
8009 pub max_packet_size: ::std::os::raw::c_int,
8010 pub checksum: ::std::os::raw::c_ulong,
8011 pub checksum_ptr: *mut ::std::os::raw::c_uchar,
8012 pub update_checksum: ::std::option::Option<
8013 unsafe extern "C" fn(
8014 checksum: ::std::os::raw::c_ulong,
8015 buf: *const u8,
8016 size: ::std::os::raw::c_uint,
8017 ) -> ::std::os::raw::c_ulong,
8018 >,
8019 #[doc = "< contains the error code or 0 if no error happened"]
8020 pub error: ::std::os::raw::c_int,
8021 #[doc = " Pause or resume playback for network streaming protocols - e.g. MMS."]
8022 pub read_pause: ::std::option::Option<
8023 unsafe extern "C" fn(
8024 opaque: *mut ::std::os::raw::c_void,
8025 pause: ::std::os::raw::c_int,
8026 ) -> ::std::os::raw::c_int,
8027 >,
8028 #[doc = " Seek to a given timestamp in stream with the specified stream_index."]
8029 #[doc = " Needed for some network streaming protocols which don\'t support seeking"]
8030 #[doc = " to byte position."]
8031 pub read_seek: ::std::option::Option<
8032 unsafe extern "C" fn(
8033 opaque: *mut ::std::os::raw::c_void,
8034 stream_index: ::std::os::raw::c_int,
8035 timestamp: i64,
8036 flags: ::std::os::raw::c_int,
8037 ) -> i64,
8038 >,
8039 #[doc = " A combination of AVIO_SEEKABLE_ flags or 0 when the stream is not seekable."]
8040 pub seekable: ::std::os::raw::c_int,
8041 #[doc = " max filesize, used to limit allocations"]
8042 #[doc = " This field is internal to libavformat and access from outside is not allowed."]
8043 pub maxsize: i64,
8044 #[doc = " avio_read and avio_write should if possible be satisfied directly"]
8045 #[doc = " instead of going through a buffer, and avio_seek will always"]
8046 #[doc = " call the underlying seek function directly."]
8047 pub direct: ::std::os::raw::c_int,
8048 #[doc = " Bytes read statistic"]
8049 #[doc = " This field is internal to libavformat and access from outside is not allowed."]
8050 pub bytes_read: i64,
8051 #[doc = " seek statistic"]
8052 #[doc = " This field is internal to libavformat and access from outside is not allowed."]
8053 pub seek_count: ::std::os::raw::c_int,
8054 #[doc = " writeout statistic"]
8055 #[doc = " This field is internal to libavformat and access from outside is not allowed."]
8056 pub writeout_count: ::std::os::raw::c_int,
8057 #[doc = " Original buffer size"]
8058 #[doc = " used internally after probing and ensure seekback to reset the buffer size"]
8059 #[doc = " This field is internal to libavformat and access from outside is not allowed."]
8060 pub orig_buffer_size: ::std::os::raw::c_int,
8061 #[doc = " Threshold to favor readahead over seek."]
8062 #[doc = " This is current internal only, do not use from outside."]
8063 pub short_seek_threshold: ::std::os::raw::c_int,
8064 #[doc = " \',\' separated list of allowed protocols."]
8065 pub protocol_whitelist: *const ::std::os::raw::c_char,
8066 #[doc = " \',\' separated list of disallowed protocols."]
8067 pub protocol_blacklist: *const ::std::os::raw::c_char,
8068 #[doc = " A callback that is used instead of write_packet."]
8069 pub write_data_type: ::std::option::Option<
8070 unsafe extern "C" fn(
8071 opaque: *mut ::std::os::raw::c_void,
8072 buf: *mut u8,
8073 buf_size: ::std::os::raw::c_int,
8074 type_: AVIODataMarkerType,
8075 time: i64,
8076 ) -> ::std::os::raw::c_int,
8077 >,
8078 #[doc = " If set, don\'t call write_data_type separately for AVIO_DATA_MARKER_BOUNDARY_POINT,"]
8079 #[doc = " but ignore them and treat them as AVIO_DATA_MARKER_UNKNOWN (to avoid needlessly"]
8080 #[doc = " small chunks of data returned from the callback)."]
8081 pub ignore_boundary_point: ::std::os::raw::c_int,
8082 #[doc = " Internal, not meant to be used from outside of AVIOContext."]
8083 pub current_type: AVIODataMarkerType,
8084 pub last_time: i64,
8085 #[doc = " A callback that is used instead of short_seek_threshold."]
8086 #[doc = " This is current internal only, do not use from outside."]
8087 pub short_seek_get: ::std::option::Option<
8088 unsafe extern "C" fn(opaque: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
8089 >,
8090 pub written: i64,
8091 #[doc = " Maximum reached position before a backward seek in the write buffer,"]
8092 #[doc = " used keeping track of already written data for a later flush."]
8093 pub buf_ptr_max: *mut ::std::os::raw::c_uchar,
8094 #[doc = " Try to buffer at least this amount of data before flushing it"]
8095 pub min_packet_size: ::std::os::raw::c_int,
8096}
8097extern "C" {
8098 #[doc = " Return the name of the protocol that will handle the passed URL."]
8099 #[doc = ""]
8100 #[doc = " NULL is returned if no protocol could be found for the given URL."]
8101 #[doc = ""]
8102 #[doc = " @return Name of the protocol or NULL."]
8103 pub fn avio_find_protocol_name(
8104 url: *const ::std::os::raw::c_char,
8105 ) -> *const ::std::os::raw::c_char;
8106}
8107extern "C" {
8108 #[doc = " Return AVIO_FLAG_* access flags corresponding to the access permissions"]
8109 #[doc = " of the resource in url, or a negative value corresponding to an"]
8110 #[doc = " AVERROR code in case of failure. The returned access flags are"]
8111 #[doc = " masked by the value in flags."]
8112 #[doc = ""]
8113 #[doc = " @note This function is intrinsically unsafe, in the sense that the"]
8114 #[doc = " checked resource may change its existence or permission status from"]
8115 #[doc = " one call to another. Thus you should not trust the returned value,"]
8116 #[doc = " unless you are sure that no other processes are accessing the"]
8117 #[doc = " checked resource."]
8118 pub fn avio_check(
8119 url: *const ::std::os::raw::c_char,
8120 flags: ::std::os::raw::c_int,
8121 ) -> ::std::os::raw::c_int;
8122}
8123extern "C" {
8124 #[doc = " Move or rename a resource."]
8125 #[doc = ""]
8126 #[doc = " @note url_src and url_dst should share the same protocol and authority."]
8127 #[doc = ""]
8128 #[doc = " @param url_src url to resource to be moved"]
8129 #[doc = " @param url_dst new url to resource if the operation succeeded"]
8130 #[doc = " @return >=0 on success or negative on error."]
8131 pub fn avpriv_io_move(
8132 url_src: *const ::std::os::raw::c_char,
8133 url_dst: *const ::std::os::raw::c_char,
8134 ) -> ::std::os::raw::c_int;
8135}
8136extern "C" {
8137 #[doc = " Delete a resource."]
8138 #[doc = ""]
8139 #[doc = " @param url resource to be deleted."]
8140 #[doc = " @return >=0 on success or negative on error."]
8141 pub fn avpriv_io_delete(url: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
8142}
8143extern "C" {
8144 #[doc = " Open directory for reading."]
8145 #[doc = ""]
8146 #[doc = " @param s directory read context. Pointer to a NULL pointer must be passed."]
8147 #[doc = " @param url directory to be listed."]
8148 #[doc = " @param options A dictionary filled with protocol-private options. On return"]
8149 #[doc = " this parameter will be destroyed and replaced with a dictionary"]
8150 #[doc = " containing options that were not found. May be NULL."]
8151 #[doc = " @return >=0 on success or negative on error."]
8152 pub fn avio_open_dir(
8153 s: *mut *mut AVIODirContext,
8154 url: *const ::std::os::raw::c_char,
8155 options: *mut *mut AVDictionary,
8156 ) -> ::std::os::raw::c_int;
8157}
8158extern "C" {
8159 #[doc = " Get next directory entry."]
8160 #[doc = ""]
8161 #[doc = " Returned entry must be freed with avio_free_directory_entry(). In particular"]
8162 #[doc = " it may outlive AVIODirContext."]
8163 #[doc = ""]
8164 #[doc = " @param s directory read context."]
8165 #[doc = " @param[out] next next entry or NULL when no more entries."]
8166 #[doc = " @return >=0 on success or negative on error. End of list is not considered an"]
8167 #[doc = " error."]
8168 pub fn avio_read_dir(
8169 s: *mut AVIODirContext,
8170 next: *mut *mut AVIODirEntry,
8171 ) -> ::std::os::raw::c_int;
8172}
8173extern "C" {
8174 #[doc = " Close directory."]
8175 #[doc = ""]
8176 #[doc = " @note Entries created using avio_read_dir() are not deleted and must be"]
8177 #[doc = " freeded with avio_free_directory_entry()."]
8178 #[doc = ""]
8179 #[doc = " @param s directory read context."]
8180 #[doc = " @return >=0 on success or negative on error."]
8181 pub fn avio_close_dir(s: *mut *mut AVIODirContext) -> ::std::os::raw::c_int;
8182}
8183extern "C" {
8184 #[doc = " Free entry allocated by avio_read_dir()."]
8185 #[doc = ""]
8186 #[doc = " @param entry entry to be freed."]
8187 pub fn avio_free_directory_entry(entry: *mut *mut AVIODirEntry);
8188}
8189extern "C" {
8190 #[doc = " Allocate and initialize an AVIOContext for buffered I/O. It must be later"]
8191 #[doc = " freed with avio_context_free()."]
8192 #[doc = ""]
8193 #[doc = " @param buffer Memory block for input/output operations via AVIOContext."]
8194 #[doc = " The buffer must be allocated with av_malloc() and friends."]
8195 #[doc = " It may be freed and replaced with a new buffer by libavformat."]
8196 #[doc = " AVIOContext.buffer holds the buffer currently in use,"]
8197 #[doc = " which must be later freed with av_free()."]
8198 #[doc = " @param buffer_size The buffer size is very important for performance."]
8199 #[doc = " For protocols with fixed blocksize it should be set to this blocksize."]
8200 #[doc = " For others a typical size is a cache page, e.g. 4kb."]
8201 #[doc = " @param write_flag Set to 1 if the buffer should be writable, 0 otherwise."]
8202 #[doc = " @param opaque An opaque pointer to user-specific data."]
8203 #[doc = " @param read_packet A function for refilling the buffer, may be NULL."]
8204 #[doc = " For stream protocols, must never return 0 but rather"]
8205 #[doc = " a proper AVERROR code."]
8206 #[doc = " @param write_packet A function for writing the buffer contents, may be NULL."]
8207 #[doc = " The function may not change the input buffers content."]
8208 #[doc = " @param seek A function for seeking to specified byte position, may be NULL."]
8209 #[doc = ""]
8210 #[doc = " @return Allocated AVIOContext or NULL on failure."]
8211 pub fn avio_alloc_context(
8212 buffer: *mut ::std::os::raw::c_uchar,
8213 buffer_size: ::std::os::raw::c_int,
8214 write_flag: ::std::os::raw::c_int,
8215 opaque: *mut ::std::os::raw::c_void,
8216 read_packet: ::std::option::Option<
8217 unsafe extern "C" fn(
8218 buffer: *mut ::std::os::raw::c_void,
8219 buffer_size: *mut u8,
8220 write_flag: ::std::os::raw::c_int,
8221 ) -> ::std::os::raw::c_int,
8222 >,
8223 write_packet: ::std::option::Option<
8224 unsafe extern "C" fn(
8225 buffer: *mut ::std::os::raw::c_void,
8226 buffer_size: *mut u8,
8227 write_flag: ::std::os::raw::c_int,
8228 ) -> ::std::os::raw::c_int,
8229 >,
8230 seek: ::std::option::Option<
8231 unsafe extern "C" fn(
8232 buffer: *mut ::std::os::raw::c_void,
8233 buffer_size: i64,
8234 write_flag: ::std::os::raw::c_int,
8235 ) -> i64,
8236 >,
8237 ) -> *mut AVIOContext;
8238}
8239extern "C" {
8240 #[doc = " Free the supplied IO context and everything associated with it."]
8241 #[doc = ""]
8242 #[doc = " @param s Double pointer to the IO context. This function will write NULL"]
8243 #[doc = " into s."]
8244 pub fn avio_context_free(s: *mut *mut AVIOContext);
8245}
8246extern "C" {
8247 pub fn avio_w8(s: *mut AVIOContext, b: ::std::os::raw::c_int);
8248}
8249extern "C" {
8250 pub fn avio_write(
8251 s: *mut AVIOContext,
8252 buf: *const ::std::os::raw::c_uchar,
8253 size: ::std::os::raw::c_int,
8254 );
8255}
8256extern "C" {
8257 pub fn avio_wl64(s: *mut AVIOContext, val: u64);
8258}
8259extern "C" {
8260 pub fn avio_wb64(s: *mut AVIOContext, val: u64);
8261}
8262extern "C" {
8263 pub fn avio_wl32(s: *mut AVIOContext, val: ::std::os::raw::c_uint);
8264}
8265extern "C" {
8266 pub fn avio_wb32(s: *mut AVIOContext, val: ::std::os::raw::c_uint);
8267}
8268extern "C" {
8269 pub fn avio_wl24(s: *mut AVIOContext, val: ::std::os::raw::c_uint);
8270}
8271extern "C" {
8272 pub fn avio_wb24(s: *mut AVIOContext, val: ::std::os::raw::c_uint);
8273}
8274extern "C" {
8275 pub fn avio_wl16(s: *mut AVIOContext, val: ::std::os::raw::c_uint);
8276}
8277extern "C" {
8278 pub fn avio_wb16(s: *mut AVIOContext, val: ::std::os::raw::c_uint);
8279}
8280extern "C" {
8281 #[doc = " Write a NULL-terminated string."]
8282 #[doc = " @return number of bytes written."]
8283 pub fn avio_put_str(
8284 s: *mut AVIOContext,
8285 str: *const ::std::os::raw::c_char,
8286 ) -> ::std::os::raw::c_int;
8287}
8288extern "C" {
8289 #[doc = " Convert an UTF-8 string to UTF-16LE and write it."]
8290 #[doc = " @param s the AVIOContext"]
8291 #[doc = " @param str NULL-terminated UTF-8 string"]
8292 #[doc = ""]
8293 #[doc = " @return number of bytes written."]
8294 pub fn avio_put_str16le(
8295 s: *mut AVIOContext,
8296 str: *const ::std::os::raw::c_char,
8297 ) -> ::std::os::raw::c_int;
8298}
8299extern "C" {
8300 #[doc = " Convert an UTF-8 string to UTF-16BE and write it."]
8301 #[doc = " @param s the AVIOContext"]
8302 #[doc = " @param str NULL-terminated UTF-8 string"]
8303 #[doc = ""]
8304 #[doc = " @return number of bytes written."]
8305 pub fn avio_put_str16be(
8306 s: *mut AVIOContext,
8307 str: *const ::std::os::raw::c_char,
8308 ) -> ::std::os::raw::c_int;
8309}
8310extern "C" {
8311 #[doc = " Mark the written bytestream as a specific type."]
8312 #[doc = ""]
8313 #[doc = " Zero-length ranges are omitted from the output."]
8314 #[doc = ""]
8315 #[doc = " @param time the stream time the current bytestream pos corresponds to"]
8316 #[doc = " (in AV_TIME_BASE units), or AV_NOPTS_VALUE if unknown or not"]
8317 #[doc = " applicable"]
8318 #[doc = " @param type the kind of data written starting at the current pos"]
8319 pub fn avio_write_marker(s: *mut AVIOContext, time: i64, type_: AVIODataMarkerType);
8320}
8321extern "C" {
8322 #[doc = " fseek() equivalent for AVIOContext."]
8323 #[doc = " @return new position or AVERROR."]
8324 pub fn avio_seek(s: *mut AVIOContext, offset: i64, whence: ::std::os::raw::c_int) -> i64;
8325}
8326extern "C" {
8327 #[doc = " Skip given number of bytes forward"]
8328 #[doc = " @return new position or AVERROR."]
8329 pub fn avio_skip(s: *mut AVIOContext, offset: i64) -> i64;
8330}
8331extern "C" {
8332 #[doc = " Get the filesize."]
8333 #[doc = " @return filesize or AVERROR"]
8334 pub fn avio_size(s: *mut AVIOContext) -> i64;
8335}
8336extern "C" {
8337 #[doc = " feof() equivalent for AVIOContext."]
8338 #[doc = " @return non zero if and only if end of file"]
8339 pub fn avio_feof(s: *mut AVIOContext) -> ::std::os::raw::c_int;
8340}
8341extern "C" {
8342 #[doc = " @warning Writes up to 4 KiB per call"]
8343 pub fn avio_printf(
8344 s: *mut AVIOContext,
8345 fmt: *const ::std::os::raw::c_char,
8346 ...
8347 ) -> ::std::os::raw::c_int;
8348}
8349extern "C" {
8350 #[doc = " Force flushing of buffered data."]
8351 #[doc = ""]
8352 #[doc = " For write streams, force the buffered data to be immediately written to the output,"]
8353 #[doc = " without to wait to fill the internal buffer."]
8354 #[doc = ""]
8355 #[doc = " For read streams, discard all currently buffered data, and advance the"]
8356 #[doc = " reported file position to that of the underlying stream. This does not"]
8357 #[doc = " read new data, and does not perform any seeks."]
8358 pub fn avio_flush(s: *mut AVIOContext);
8359}
8360extern "C" {
8361 #[doc = " Read size bytes from AVIOContext into buf."]
8362 #[doc = " @return number of bytes read or AVERROR"]
8363 pub fn avio_read(
8364 s: *mut AVIOContext,
8365 buf: *mut ::std::os::raw::c_uchar,
8366 size: ::std::os::raw::c_int,
8367 ) -> ::std::os::raw::c_int;
8368}
8369extern "C" {
8370 #[doc = " Read size bytes from AVIOContext into buf. Unlike avio_read(), this is allowed"]
8371 #[doc = " to read fewer bytes than requested. The missing bytes can be read in the next"]
8372 #[doc = " call. This always tries to read at least 1 byte."]
8373 #[doc = " Useful to reduce latency in certain cases."]
8374 #[doc = " @return number of bytes read or AVERROR"]
8375 pub fn avio_read_partial(
8376 s: *mut AVIOContext,
8377 buf: *mut ::std::os::raw::c_uchar,
8378 size: ::std::os::raw::c_int,
8379 ) -> ::std::os::raw::c_int;
8380}
8381extern "C" {
8382 #[doc = " @name Functions for reading from AVIOContext"]
8383 #[doc = " @{"]
8384 #[doc = ""]
8385 #[doc = " @note return 0 if EOF, so you cannot use it if EOF handling is"]
8386 #[doc = " necessary"]
8387 pub fn avio_r8(s: *mut AVIOContext) -> ::std::os::raw::c_int;
8388}
8389extern "C" {
8390 pub fn avio_rl16(s: *mut AVIOContext) -> ::std::os::raw::c_uint;
8391}
8392extern "C" {
8393 pub fn avio_rl24(s: *mut AVIOContext) -> ::std::os::raw::c_uint;
8394}
8395extern "C" {
8396 pub fn avio_rl32(s: *mut AVIOContext) -> ::std::os::raw::c_uint;
8397}
8398extern "C" {
8399 pub fn avio_rl64(s: *mut AVIOContext) -> u64;
8400}
8401extern "C" {
8402 pub fn avio_rb16(s: *mut AVIOContext) -> ::std::os::raw::c_uint;
8403}
8404extern "C" {
8405 pub fn avio_rb24(s: *mut AVIOContext) -> ::std::os::raw::c_uint;
8406}
8407extern "C" {
8408 pub fn avio_rb32(s: *mut AVIOContext) -> ::std::os::raw::c_uint;
8409}
8410extern "C" {
8411 pub fn avio_rb64(s: *mut AVIOContext) -> u64;
8412}
8413extern "C" {
8414 #[doc = " Read a string from pb into buf. The reading will terminate when either"]
8415 #[doc = " a NULL character was encountered, maxlen bytes have been read, or nothing"]
8416 #[doc = " more can be read from pb. The result is guaranteed to be NULL-terminated, it"]
8417 #[doc = " will be truncated if buf is too small."]
8418 #[doc = " Note that the string is not interpreted or validated in any way, it"]
8419 #[doc = " might get truncated in the middle of a sequence for multi-byte encodings."]
8420 #[doc = ""]
8421 #[doc = " @return number of bytes read (is always <= maxlen)."]
8422 #[doc = " If reading ends on EOF or error, the return value will be one more than"]
8423 #[doc = " bytes actually read."]
8424 pub fn avio_get_str(
8425 pb: *mut AVIOContext,
8426 maxlen: ::std::os::raw::c_int,
8427 buf: *mut ::std::os::raw::c_char,
8428 buflen: ::std::os::raw::c_int,
8429 ) -> ::std::os::raw::c_int;
8430}
8431extern "C" {
8432 #[doc = " Read a UTF-16 string from pb and convert it to UTF-8."]
8433 #[doc = " The reading will terminate when either a null or invalid character was"]
8434 #[doc = " encountered or maxlen bytes have been read."]
8435 #[doc = " @return number of bytes read (is always <= maxlen)"]
8436 pub fn avio_get_str16le(
8437 pb: *mut AVIOContext,
8438 maxlen: ::std::os::raw::c_int,
8439 buf: *mut ::std::os::raw::c_char,
8440 buflen: ::std::os::raw::c_int,
8441 ) -> ::std::os::raw::c_int;
8442}
8443extern "C" {
8444 pub fn avio_get_str16be(
8445 pb: *mut AVIOContext,
8446 maxlen: ::std::os::raw::c_int,
8447 buf: *mut ::std::os::raw::c_char,
8448 buflen: ::std::os::raw::c_int,
8449 ) -> ::std::os::raw::c_int;
8450}
8451extern "C" {
8452 #[doc = " Create and initialize a AVIOContext for accessing the"]
8453 #[doc = " resource indicated by url."]
8454 #[doc = " @note When the resource indicated by url has been opened in"]
8455 #[doc = " read+write mode, the AVIOContext can be used only for writing."]
8456 #[doc = ""]
8457 #[doc = " @param s Used to return the pointer to the created AVIOContext."]
8458 #[doc = " In case of failure the pointed to value is set to NULL."]
8459 #[doc = " @param url resource to access"]
8460 #[doc = " @param flags flags which control how the resource indicated by url"]
8461 #[doc = " is to be opened"]
8462 #[doc = " @return >= 0 in case of success, a negative value corresponding to an"]
8463 #[doc = " AVERROR code in case of failure"]
8464 pub fn avio_open(
8465 s: *mut *mut AVIOContext,
8466 url: *const ::std::os::raw::c_char,
8467 flags: ::std::os::raw::c_int,
8468 ) -> ::std::os::raw::c_int;
8469}
8470extern "C" {
8471 #[doc = " Create and initialize a AVIOContext for accessing the"]
8472 #[doc = " resource indicated by url."]
8473 #[doc = " @note When the resource indicated by url has been opened in"]
8474 #[doc = " read+write mode, the AVIOContext can be used only for writing."]
8475 #[doc = ""]
8476 #[doc = " @param s Used to return the pointer to the created AVIOContext."]
8477 #[doc = " In case of failure the pointed to value is set to NULL."]
8478 #[doc = " @param url resource to access"]
8479 #[doc = " @param flags flags which control how the resource indicated by url"]
8480 #[doc = " is to be opened"]
8481 #[doc = " @param int_cb an interrupt callback to be used at the protocols level"]
8482 #[doc = " @param options A dictionary filled with protocol-private options. On return"]
8483 #[doc = " this parameter will be destroyed and replaced with a dict containing options"]
8484 #[doc = " that were not found. May be NULL."]
8485 #[doc = " @return >= 0 in case of success, a negative value corresponding to an"]
8486 #[doc = " AVERROR code in case of failure"]
8487 pub fn avio_open2(
8488 s: *mut *mut AVIOContext,
8489 url: *const ::std::os::raw::c_char,
8490 flags: ::std::os::raw::c_int,
8491 int_cb: *const AVIOInterruptCB,
8492 options: *mut *mut AVDictionary,
8493 ) -> ::std::os::raw::c_int;
8494}
8495extern "C" {
8496 #[doc = " Close the resource accessed by the AVIOContext s and free it."]
8497 #[doc = " This function can only be used if s was opened by avio_open()."]
8498 #[doc = ""]
8499 #[doc = " The internal buffer is automatically flushed before closing the"]
8500 #[doc = " resource."]
8501 #[doc = ""]
8502 #[doc = " @return 0 on success, an AVERROR < 0 on error."]
8503 #[doc = " @see avio_closep"]
8504 pub fn avio_close(s: *mut AVIOContext) -> ::std::os::raw::c_int;
8505}
8506extern "C" {
8507 #[doc = " Close the resource accessed by the AVIOContext *s, free it"]
8508 #[doc = " and set the pointer pointing to it to NULL."]
8509 #[doc = " This function can only be used if s was opened by avio_open()."]
8510 #[doc = ""]
8511 #[doc = " The internal buffer is automatically flushed before closing the"]
8512 #[doc = " resource."]
8513 #[doc = ""]
8514 #[doc = " @return 0 on success, an AVERROR < 0 on error."]
8515 #[doc = " @see avio_close"]
8516 pub fn avio_closep(s: *mut *mut AVIOContext) -> ::std::os::raw::c_int;
8517}
8518extern "C" {
8519 #[doc = " Open a write only memory stream."]
8520 #[doc = ""]
8521 #[doc = " @param s new IO context"]
8522 #[doc = " @return zero if no error."]
8523 pub fn avio_open_dyn_buf(s: *mut *mut AVIOContext) -> ::std::os::raw::c_int;
8524}
8525extern "C" {
8526 #[doc = " Return the written size and a pointer to the buffer."]
8527 #[doc = " The AVIOContext stream is left intact."]
8528 #[doc = " The buffer must NOT be freed."]
8529 #[doc = " No padding is added to the buffer."]
8530 #[doc = ""]
8531 #[doc = " @param s IO context"]
8532 #[doc = " @param pbuffer pointer to a byte buffer"]
8533 #[doc = " @return the length of the byte buffer"]
8534 pub fn avio_get_dyn_buf(s: *mut AVIOContext, pbuffer: *mut *mut u8) -> ::std::os::raw::c_int;
8535}
8536extern "C" {
8537 #[doc = " Return the written size and a pointer to the buffer. The buffer"]
8538 #[doc = " must be freed with av_free()."]
8539 #[doc = " Padding of AV_INPUT_BUFFER_PADDING_SIZE is added to the buffer."]
8540 #[doc = ""]
8541 #[doc = " @param s IO context"]
8542 #[doc = " @param pbuffer pointer to a byte buffer"]
8543 #[doc = " @return the length of the byte buffer"]
8544 pub fn avio_close_dyn_buf(s: *mut AVIOContext, pbuffer: *mut *mut u8) -> ::std::os::raw::c_int;
8545}
8546extern "C" {
8547 #[doc = " Iterate through names of available protocols."]
8548 #[doc = ""]
8549 #[doc = " @param opaque A private pointer representing current protocol."]
8550 #[doc = " It must be a pointer to NULL on first iteration and will"]
8551 #[doc = " be updated by successive calls to avio_enum_protocols."]
8552 #[doc = " @param output If set to 1, iterate over output protocols,"]
8553 #[doc = " otherwise over input protocols."]
8554 #[doc = ""]
8555 #[doc = " @return A static string containing the name of current protocol or NULL"]
8556 pub fn avio_enum_protocols(
8557 opaque: *mut *mut ::std::os::raw::c_void,
8558 output: ::std::os::raw::c_int,
8559 ) -> *const ::std::os::raw::c_char;
8560}
8561extern "C" {
8562 #[doc = " Pause and resume playing - only meaningful if using a network streaming"]
8563 #[doc = " protocol (e.g. MMS)."]
8564 #[doc = ""]
8565 #[doc = " @param h IO context from which to call the read_pause function pointer"]
8566 #[doc = " @param pause 1 for pause, 0 for resume"]
8567 pub fn avio_pause(h: *mut AVIOContext, pause: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
8568}
8569extern "C" {
8570 #[doc = " Seek to a given timestamp relative to some component stream."]
8571 #[doc = " Only meaningful if using a network streaming protocol (e.g. MMS.)."]
8572 #[doc = ""]
8573 #[doc = " @param h IO context from which to call the seek function pointers"]
8574 #[doc = " @param stream_index The stream index that the timestamp is relative to."]
8575 #[doc = " If stream_index is (-1) the timestamp should be in AV_TIME_BASE"]
8576 #[doc = " units from the beginning of the presentation."]
8577 #[doc = " If a stream_index >= 0 is used and the protocol does not support"]
8578 #[doc = " seeking based on component streams, the call will fail."]
8579 #[doc = " @param timestamp timestamp in AVStream.time_base units"]
8580 #[doc = " or if there is no stream specified then in AV_TIME_BASE units."]
8581 #[doc = " @param flags Optional combination of AVSEEK_FLAG_BACKWARD, AVSEEK_FLAG_BYTE"]
8582 #[doc = " and AVSEEK_FLAG_ANY. The protocol may silently ignore"]
8583 #[doc = " AVSEEK_FLAG_BACKWARD and AVSEEK_FLAG_ANY, but AVSEEK_FLAG_BYTE will"]
8584 #[doc = " fail if used and not supported."]
8585 #[doc = " @return >= 0 on success"]
8586 #[doc = " @see AVInputFormat::read_seek"]
8587 pub fn avio_seek_time(
8588 h: *mut AVIOContext,
8589 stream_index: ::std::os::raw::c_int,
8590 timestamp: i64,
8591 flags: ::std::os::raw::c_int,
8592 ) -> i64;
8593}
8594extern "C" {
8595 #[doc = " Read contents of h into print buffer, up to max_size bytes, or up to EOF."]
8596 #[doc = ""]
8597 #[doc = " @return 0 for success (max_size bytes read or EOF reached), negative error"]
8598 #[doc = " code otherwise"]
8599 pub fn avio_read_to_bprint(
8600 h: *mut AVIOContext,
8601 pb: *mut AVBPrint,
8602 max_size: usize,
8603 ) -> ::std::os::raw::c_int;
8604}
8605extern "C" {
8606 #[doc = " Accept and allocate a client context on a server context."]
8607 #[doc = " @param s the server context"]
8608 #[doc = " @param c the client context, must be unallocated"]
8609 #[doc = " @return >= 0 on success or a negative value corresponding"]
8610 #[doc = " to an AVERROR on failure"]
8611 pub fn avio_accept(s: *mut AVIOContext, c: *mut *mut AVIOContext) -> ::std::os::raw::c_int;
8612}
8613extern "C" {
8614 #[doc = " Perform one step of the protocol handshake to accept a new client."]
8615 #[doc = " This function must be called on a client returned by avio_accept() before"]
8616 #[doc = " using it as a read/write context."]
8617 #[doc = " It is separate from avio_accept() because it may block."]
8618 #[doc = " A step of the handshake is defined by places where the application may"]
8619 #[doc = " decide to change the proceedings."]
8620 #[doc = " For example, on a protocol with a request header and a reply header, each"]
8621 #[doc = " one can constitute a step because the application may use the parameters"]
8622 #[doc = " from the request to change parameters in the reply; or each individual"]
8623 #[doc = " chunk of the request can constitute a step."]
8624 #[doc = " If the handshake is already finished, avio_handshake() does nothing and"]
8625 #[doc = " returns 0 immediately."]
8626 #[doc = ""]
8627 #[doc = " @param c the client context to perform the handshake on"]
8628 #[doc = " @return 0 on a complete and successful handshake"]
8629 #[doc = " > 0 if the handshake progressed, but is not complete"]
8630 #[doc = " < 0 for an AVERROR code"]
8631 pub fn avio_handshake(c: *mut AVIOContext) -> ::std::os::raw::c_int;
8632}
8633#[repr(C)]
8634#[derive(Debug, Copy, Clone)]
8635pub struct AVDeviceInfoList {
8636 _unused: [u8; 0],
8637}
8638#[repr(C)]
8639#[derive(Debug, Copy, Clone)]
8640pub struct AVDeviceCapabilitiesQuery {
8641 _unused: [u8; 0],
8642}
8643extern "C" {
8644 #[doc = " Allocate and read the payload of a packet and initialize its"]
8645 #[doc = " fields with default values."]
8646 #[doc = ""]
8647 #[doc = " @param s associated IO context"]
8648 #[doc = " @param pkt packet"]
8649 #[doc = " @param size desired payload size"]
8650 #[doc = " @return >0 (read size) if OK, AVERROR_xxx otherwise"]
8651 pub fn av_get_packet(
8652 s: *mut AVIOContext,
8653 pkt: *mut AVPacket,
8654 size: ::std::os::raw::c_int,
8655 ) -> ::std::os::raw::c_int;
8656}
8657extern "C" {
8658 #[doc = " Read data and append it to the current content of the AVPacket."]
8659 #[doc = " If pkt->size is 0 this is identical to av_get_packet."]
8660 #[doc = " Note that this uses av_grow_packet and thus involves a realloc"]
8661 #[doc = " which is inefficient. Thus this function should only be used"]
8662 #[doc = " when there is no reasonable way to know (an upper bound of)"]
8663 #[doc = " the final size."]
8664 #[doc = ""]
8665 #[doc = " @param s associated IO context"]
8666 #[doc = " @param pkt packet"]
8667 #[doc = " @param size amount of data to read"]
8668 #[doc = " @return >0 (read size) if OK, AVERROR_xxx otherwise, previous data"]
8669 #[doc = " will not be lost even if an error occurs."]
8670 pub fn av_append_packet(
8671 s: *mut AVIOContext,
8672 pkt: *mut AVPacket,
8673 size: ::std::os::raw::c_int,
8674 ) -> ::std::os::raw::c_int;
8675}
8676#[repr(C)]
8677#[derive(Debug, Copy, Clone)]
8678pub struct AVCodecTag {
8679 _unused: [u8; 0],
8680}
8681#[doc = " This structure contains the data a format has to probe a file."]
8682#[repr(C)]
8683#[derive(Debug, Copy, Clone)]
8684pub struct AVProbeData {
8685 pub filename: *const ::std::os::raw::c_char,
8686 #[doc = "< Buffer must have AVPROBE_PADDING_SIZE of extra allocated bytes filled with zero."]
8687 pub buf: *mut ::std::os::raw::c_uchar,
8688 #[doc = "< Size of buf except extra allocated bytes"]
8689 pub buf_size: ::std::os::raw::c_int,
8690 #[doc = "< mime_type, when known."]
8691 pub mime_type: *const ::std::os::raw::c_char,
8692}
8693#[doc = " @addtogroup lavf_encoding"]
8694#[doc = " @{"]
8695#[repr(C)]
8696#[derive(Debug, Copy, Clone)]
8697pub struct AVOutputFormat {
8698 pub name: *const ::std::os::raw::c_char,
8699 #[doc = " Descriptive name for the format, meant to be more human-readable"]
8700 #[doc = " than name. You should use the NULL_IF_CONFIG_SMALL() macro"]
8701 #[doc = " to define it."]
8702 pub long_name: *const ::std::os::raw::c_char,
8703 pub mime_type: *const ::std::os::raw::c_char,
8704 #[doc = "< comma-separated filename extensions"]
8705 pub extensions: *const ::std::os::raw::c_char,
8706 #[doc = "< default audio codec"]
8707 pub audio_codec: AVCodecID,
8708 #[doc = "< default video codec"]
8709 pub video_codec: AVCodecID,
8710 #[doc = "< default subtitle codec"]
8711 pub subtitle_codec: AVCodecID,
8712 #[doc = " can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER,"]
8713 #[doc = " AVFMT_GLOBALHEADER, AVFMT_NOTIMESTAMPS, AVFMT_VARIABLE_FPS,"]
8714 #[doc = " AVFMT_NODIMENSIONS, AVFMT_NOSTREAMS, AVFMT_ALLOW_FLUSH,"]
8715 #[doc = " AVFMT_TS_NONSTRICT, AVFMT_TS_NEGATIVE"]
8716 pub flags: ::std::os::raw::c_int,
8717 #[doc = " List of supported codec_id-codec_tag pairs, ordered by \"better"]
8718 #[doc = " choice first\". The arrays are all terminated by AV_CODEC_ID_NONE."]
8719 pub codec_tag: *const *const AVCodecTag,
8720 #[doc = "< AVClass for the private context"]
8721 pub priv_class: *const AVClass,
8722 #[doc = " No fields below this line are part of the public API. They"]
8723 #[doc = " may not be used outside of libavformat and can be changed and"]
8724 #[doc = " removed at will."]
8725 #[doc = " New public fields should be added right above."]
8726 #[doc = ""]
8727 pub next: *mut AVOutputFormat,
8728 #[doc = " size of private data so that it can be allocated in the wrapper"]
8729 pub priv_data_size: ::std::os::raw::c_int,
8730 pub write_header: ::std::option::Option<
8731 unsafe extern "C" fn(arg1: *mut AVFormatContext) -> ::std::os::raw::c_int,
8732 >,
8733 #[doc = " Write a packet. If AVFMT_ALLOW_FLUSH is set in flags,"]
8734 #[doc = " pkt can be NULL in order to flush data buffered in the muxer."]
8735 #[doc = " When flushing, return 0 if there still is more data to flush,"]
8736 #[doc = " or 1 if everything was flushed and there is no more buffered"]
8737 #[doc = " data."]
8738 pub write_packet: ::std::option::Option<
8739 unsafe extern "C" fn(
8740 arg1: *mut AVFormatContext,
8741 pkt: *mut AVPacket,
8742 ) -> ::std::os::raw::c_int,
8743 >,
8744 pub write_trailer: ::std::option::Option<
8745 unsafe extern "C" fn(arg1: *mut AVFormatContext) -> ::std::os::raw::c_int,
8746 >,
8747 #[doc = " Currently only used to set pixel format if not YUV420P."]
8748 pub interleave_packet: ::std::option::Option<
8749 unsafe extern "C" fn(
8750 arg1: *mut AVFormatContext,
8751 out: *mut AVPacket,
8752 in_: *mut AVPacket,
8753 flush: ::std::os::raw::c_int,
8754 ) -> ::std::os::raw::c_int,
8755 >,
8756 #[doc = " Test if the given codec can be stored in this container."]
8757 #[doc = ""]
8758 #[doc = " @return 1 if the codec is supported, 0 if it is not."]
8759 #[doc = " A negative number if unknown."]
8760 #[doc = " MKTAG(\'A\', \'P\', \'I\', \'C\') if the codec is only supported as AV_DISPOSITION_ATTACHED_PIC"]
8761 pub query_codec: ::std::option::Option<
8762 unsafe extern "C" fn(
8763 id: AVCodecID,
8764 std_compliance: ::std::os::raw::c_int,
8765 ) -> ::std::os::raw::c_int,
8766 >,
8767 pub get_output_timestamp: ::std::option::Option<
8768 unsafe extern "C" fn(
8769 s: *mut AVFormatContext,
8770 stream: ::std::os::raw::c_int,
8771 dts: *mut i64,
8772 wall: *mut i64,
8773 ),
8774 >,
8775 #[doc = " Allows sending messages from application to device."]
8776 pub control_message: ::std::option::Option<
8777 unsafe extern "C" fn(
8778 s: *mut AVFormatContext,
8779 type_: ::std::os::raw::c_int,
8780 data: *mut ::std::os::raw::c_void,
8781 data_size: usize,
8782 ) -> ::std::os::raw::c_int,
8783 >,
8784 #[doc = " Write an uncoded AVFrame."]
8785 #[doc = ""]
8786 #[doc = " See av_write_uncoded_frame() for details."]
8787 #[doc = ""]
8788 #[doc = " The library will free *frame afterwards, but the muxer can prevent it"]
8789 #[doc = " by setting the pointer to NULL."]
8790 pub write_uncoded_frame: ::std::option::Option<
8791 unsafe extern "C" fn(
8792 arg1: *mut AVFormatContext,
8793 stream_index: ::std::os::raw::c_int,
8794 frame: *mut *mut AVFrame,
8795 flags: ::std::os::raw::c_uint,
8796 ) -> ::std::os::raw::c_int,
8797 >,
8798 #[doc = " Returns device list with it properties."]
8799 #[doc = " @see avdevice_list_devices() for more details."]
8800 pub get_device_list: ::std::option::Option<
8801 unsafe extern "C" fn(
8802 s: *mut AVFormatContext,
8803 device_list: *mut AVDeviceInfoList,
8804 ) -> ::std::os::raw::c_int,
8805 >,
8806 #[doc = " Initialize device capabilities submodule."]
8807 #[doc = " @see avdevice_capabilities_create() for more details."]
8808 pub create_device_capabilities: ::std::option::Option<
8809 unsafe extern "C" fn(
8810 s: *mut AVFormatContext,
8811 caps: *mut AVDeviceCapabilitiesQuery,
8812 ) -> ::std::os::raw::c_int,
8813 >,
8814 #[doc = " Free device capabilities submodule."]
8815 #[doc = " @see avdevice_capabilities_free() for more details."]
8816 pub free_device_capabilities: ::std::option::Option<
8817 unsafe extern "C" fn(
8818 s: *mut AVFormatContext,
8819 caps: *mut AVDeviceCapabilitiesQuery,
8820 ) -> ::std::os::raw::c_int,
8821 >,
8822 #[doc = "< default data codec"]
8823 pub data_codec: AVCodecID,
8824 #[doc = " Initialize format. May allocate data here, and set any AVFormatContext or"]
8825 #[doc = " AVStream parameters that need to be set before packets are sent."]
8826 #[doc = " This method must not write output."]
8827 #[doc = ""]
8828 #[doc = " Return 0 if streams were fully configured, 1 if not, negative AVERROR on failure"]
8829 #[doc = ""]
8830 #[doc = " Any allocations made here must be freed in deinit()."]
8831 pub init: ::std::option::Option<
8832 unsafe extern "C" fn(arg1: *mut AVFormatContext) -> ::std::os::raw::c_int,
8833 >,
8834 #[doc = " Deinitialize format. If present, this is called whenever the muxer is being"]
8835 #[doc = " destroyed, regardless of whether or not the header has been written."]
8836 #[doc = ""]
8837 #[doc = " If a trailer is being written, this is called after write_trailer()."]
8838 #[doc = ""]
8839 #[doc = " This is called if init() fails as well."]
8840 pub deinit: ::std::option::Option<unsafe extern "C" fn(arg1: *mut AVFormatContext)>,
8841 #[doc = " Set up any necessary bitstream filtering and extract any extra data needed"]
8842 #[doc = " for the global header."]
8843 #[doc = " Return 0 if more packets from this stream must be checked; 1 if not."]
8844 pub check_bitstream: ::std::option::Option<
8845 unsafe extern "C" fn(
8846 arg1: *mut AVFormatContext,
8847 pkt: *const AVPacket,
8848 ) -> ::std::os::raw::c_int,
8849 >,
8850}
8851#[doc = " @addtogroup lavf_decoding"]
8852#[doc = " @{"]
8853#[repr(C)]
8854#[derive(Debug, Copy, Clone)]
8855pub struct AVInputFormat {
8856 #[doc = " A comma separated list of short names for the format. New names"]
8857 #[doc = " may be appended with a minor bump."]
8858 pub name: *const ::std::os::raw::c_char,
8859 #[doc = " Descriptive name for the format, meant to be more human-readable"]
8860 #[doc = " than name. You should use the NULL_IF_CONFIG_SMALL() macro"]
8861 #[doc = " to define it."]
8862 pub long_name: *const ::std::os::raw::c_char,
8863 #[doc = " Can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER, AVFMT_SHOW_IDS,"]
8864 #[doc = " AVFMT_GENERIC_INDEX, AVFMT_TS_DISCONT, AVFMT_NOBINSEARCH,"]
8865 #[doc = " AVFMT_NOGENSEARCH, AVFMT_NO_BYTE_SEEK, AVFMT_SEEK_TO_PTS."]
8866 pub flags: ::std::os::raw::c_int,
8867 #[doc = " If extensions are defined, then no probe is done. You should"]
8868 #[doc = " usually not use extension format guessing because it is not"]
8869 #[doc = " reliable enough"]
8870 pub extensions: *const ::std::os::raw::c_char,
8871 pub codec_tag: *const *const AVCodecTag,
8872 #[doc = "< AVClass for the private context"]
8873 pub priv_class: *const AVClass,
8874 #[doc = " Comma-separated list of mime types."]
8875 #[doc = " It is used check for matching mime types while probing."]
8876 #[doc = " @see av_probe_input_format2"]
8877 pub mime_type: *const ::std::os::raw::c_char,
8878 #[doc = " No fields below this line are part of the public API. They"]
8879 #[doc = " may not be used outside of libavformat and can be changed and"]
8880 #[doc = " removed at will."]
8881 #[doc = " New public fields should be added right above."]
8882 #[doc = ""]
8883 pub next: *mut AVInputFormat,
8884 #[doc = " Raw demuxers store their codec ID here."]
8885 pub raw_codec_id: ::std::os::raw::c_int,
8886 #[doc = " Size of private data so that it can be allocated in the wrapper."]
8887 pub priv_data_size: ::std::os::raw::c_int,
8888 #[doc = " Tell if a given file has a chance of being parsed as this format."]
8889 #[doc = " The buffer provided is guaranteed to be AVPROBE_PADDING_SIZE bytes"]
8890 #[doc = " big so you do not have to check for that unless you need more."]
8891 pub read_probe: ::std::option::Option<
8892 unsafe extern "C" fn(arg1: *mut AVProbeData) -> ::std::os::raw::c_int,
8893 >,
8894 #[doc = " Read the format header and initialize the AVFormatContext"]
8895 #[doc = " structure. Return 0 if OK. \'avformat_new_stream\' should be"]
8896 #[doc = " called to create new streams."]
8897 pub read_header: ::std::option::Option<
8898 unsafe extern "C" fn(arg1: *mut AVFormatContext) -> ::std::os::raw::c_int,
8899 >,
8900 #[doc = " Read one packet and put it in \'pkt\'. pts and flags are also"]
8901 #[doc = " set. \'avformat_new_stream\' can be called only if the flag"]
8902 #[doc = " AVFMTCTX_NOHEADER is used and only in the calling thread (not in a"]
8903 #[doc = " background thread)."]
8904 #[doc = " @return 0 on success, < 0 on error."]
8905 #[doc = " When returning an error, pkt must not have been allocated"]
8906 #[doc = " or must be freed before returning"]
8907 pub read_packet: ::std::option::Option<
8908 unsafe extern "C" fn(
8909 arg1: *mut AVFormatContext,
8910 pkt: *mut AVPacket,
8911 ) -> ::std::os::raw::c_int,
8912 >,
8913 #[doc = " Close the stream. The AVFormatContext and AVStreams are not"]
8914 #[doc = " freed by this function"]
8915 pub read_close: ::std::option::Option<
8916 unsafe extern "C" fn(arg1: *mut AVFormatContext) -> ::std::os::raw::c_int,
8917 >,
8918 #[doc = " Seek to a given timestamp relative to the frames in"]
8919 #[doc = " stream component stream_index."]
8920 #[doc = " @param stream_index Must not be -1."]
8921 #[doc = " @param flags Selects which direction should be preferred if no exact"]
8922 #[doc = " match is available."]
8923 #[doc = " @return >= 0 on success (but not necessarily the new offset)"]
8924 pub read_seek: ::std::option::Option<
8925 unsafe extern "C" fn(
8926 arg1: *mut AVFormatContext,
8927 stream_index: ::std::os::raw::c_int,
8928 timestamp: i64,
8929 flags: ::std::os::raw::c_int,
8930 ) -> ::std::os::raw::c_int,
8931 >,
8932 #[doc = " Get the next timestamp in stream[stream_index].time_base units."]
8933 #[doc = " @return the timestamp or AV_NOPTS_VALUE if an error occurred"]
8934 pub read_timestamp: ::std::option::Option<
8935 unsafe extern "C" fn(
8936 s: *mut AVFormatContext,
8937 stream_index: ::std::os::raw::c_int,
8938 pos: *mut i64,
8939 pos_limit: i64,
8940 ) -> i64,
8941 >,
8942 #[doc = " Start/resume playing - only meaningful if using a network-based format"]
8943 #[doc = " (RTSP)."]
8944 pub read_play: ::std::option::Option<
8945 unsafe extern "C" fn(arg1: *mut AVFormatContext) -> ::std::os::raw::c_int,
8946 >,
8947 #[doc = " Pause playing - only meaningful if using a network-based format"]
8948 #[doc = " (RTSP)."]
8949 pub read_pause: ::std::option::Option<
8950 unsafe extern "C" fn(arg1: *mut AVFormatContext) -> ::std::os::raw::c_int,
8951 >,
8952 #[doc = " Seek to timestamp ts."]
8953 #[doc = " Seeking will be done so that the point from which all active streams"]
8954 #[doc = " can be presented successfully will be closest to ts and within min/max_ts."]
8955 #[doc = " Active streams are all streams that have AVStream.discard < AVDISCARD_ALL."]
8956 pub read_seek2: ::std::option::Option<
8957 unsafe extern "C" fn(
8958 s: *mut AVFormatContext,
8959 stream_index: ::std::os::raw::c_int,
8960 min_ts: i64,
8961 ts: i64,
8962 max_ts: i64,
8963 flags: ::std::os::raw::c_int,
8964 ) -> ::std::os::raw::c_int,
8965 >,
8966 #[doc = " Returns device list with it properties."]
8967 #[doc = " @see avdevice_list_devices() for more details."]
8968 pub get_device_list: ::std::option::Option<
8969 unsafe extern "C" fn(
8970 s: *mut AVFormatContext,
8971 device_list: *mut AVDeviceInfoList,
8972 ) -> ::std::os::raw::c_int,
8973 >,
8974 #[doc = " Initialize device capabilities submodule."]
8975 #[doc = " @see avdevice_capabilities_create() for more details."]
8976 pub create_device_capabilities: ::std::option::Option<
8977 unsafe extern "C" fn(
8978 s: *mut AVFormatContext,
8979 caps: *mut AVDeviceCapabilitiesQuery,
8980 ) -> ::std::os::raw::c_int,
8981 >,
8982 #[doc = " Free device capabilities submodule."]
8983 #[doc = " @see avdevice_capabilities_free() for more details."]
8984 pub free_device_capabilities: ::std::option::Option<
8985 unsafe extern "C" fn(
8986 s: *mut AVFormatContext,
8987 caps: *mut AVDeviceCapabilitiesQuery,
8988 ) -> ::std::os::raw::c_int,
8989 >,
8990}
8991pub const AVStreamParseType_AVSTREAM_PARSE_NONE: AVStreamParseType = 0;
8992#[doc = "< full parsing and repack"]
8993pub const AVStreamParseType_AVSTREAM_PARSE_FULL: AVStreamParseType = 1;
8994#[doc = "< Only parse headers, do not repack."]
8995pub const AVStreamParseType_AVSTREAM_PARSE_HEADERS: AVStreamParseType = 2;
8996#[doc = "< full parsing and interpolation of timestamps for frames not starting on a packet boundary"]
8997pub const AVStreamParseType_AVSTREAM_PARSE_TIMESTAMPS: AVStreamParseType = 3;
8998#[doc = "< full parsing and repack of the first frame only, only implemented for H.264 currently"]
8999pub const AVStreamParseType_AVSTREAM_PARSE_FULL_ONCE: AVStreamParseType = 4;
9000#[doc = "< full parsing and repack with timestamp and position generation by parser for raw"]
9001#[doc = "this assumes that each packet in the file contains no demuxer level headers and"]
9002#[doc = "just codec level data, otherwise position generation would fail"]
9003pub const AVStreamParseType_AVSTREAM_PARSE_FULL_RAW: AVStreamParseType = 5;
9004#[doc = " @}"]
9005pub type AVStreamParseType = u32;
9006#[repr(C)]
9007#[derive(Debug, Copy, Clone)]
9008pub struct AVIndexEntry {
9009 pub pos: i64,
9010 #[doc = "<"]
9011 #[doc = " Timestamp in AVStream.time_base units, preferably the time from which on correctly decoded frames are available"]
9012 #[doc = " when seeking to this entry. That means preferable PTS on keyframe based formats."]
9013 #[doc = " But demuxers can choose to store a different timestamp, if it is more convenient for the implementation or nothing better"]
9014 #[doc = " is known"]
9015 pub timestamp: i64,
9016 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>,
9017 #[doc = "< Minimum distance between this and the previous keyframe, used to avoid unneeded searching."]
9018 pub min_distance: ::std::os::raw::c_int,
9019}
9020impl AVIndexEntry {
9021 #[inline]
9022 pub fn flags(&self) -> ::std::os::raw::c_int {
9023 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 2u8) as u32) }
9024 }
9025 #[inline]
9026 pub fn set_flags(&mut self, val: ::std::os::raw::c_int) {
9027 unsafe {
9028 let val: u32 = ::std::mem::transmute(val);
9029 self._bitfield_1.set(0usize, 2u8, val as u64)
9030 }
9031 }
9032 #[inline]
9033 pub fn size(&self) -> ::std::os::raw::c_int {
9034 unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) }
9035 }
9036 #[inline]
9037 pub fn set_size(&mut self, val: ::std::os::raw::c_int) {
9038 unsafe {
9039 let val: u32 = ::std::mem::transmute(val);
9040 self._bitfield_1.set(2usize, 30u8, val as u64)
9041 }
9042 }
9043 #[inline]
9044 pub fn new_bitfield_1(
9045 flags: ::std::os::raw::c_int,
9046 size: ::std::os::raw::c_int,
9047 ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> {
9048 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> =
9049 Default::default();
9050 __bindgen_bitfield_unit.set(0usize, 2u8, {
9051 let flags: u32 = unsafe { ::std::mem::transmute(flags) };
9052 flags as u64
9053 });
9054 __bindgen_bitfield_unit.set(2usize, 30u8, {
9055 let size: u32 = unsafe { ::std::mem::transmute(size) };
9056 size as u64
9057 });
9058 __bindgen_bitfield_unit
9059 }
9060}
9061#[repr(C)]
9062#[derive(Debug, Copy, Clone)]
9063pub struct AVStreamInternal {
9064 _unused: [u8; 0],
9065}
9066#[doc = " Stream structure."]
9067#[doc = " New fields can be added to the end with minor version bumps."]
9068#[doc = " Removal, reordering and changes to existing fields require a major"]
9069#[doc = " version bump."]
9070#[doc = " sizeof(AVStream) must not be used outside libav*."]
9071#[repr(C)]
9072#[derive(Debug, Copy, Clone)]
9073pub struct AVStream {
9074 #[doc = "< stream index in AVFormatContext"]
9075 pub index: ::std::os::raw::c_int,
9076 #[doc = " Format-specific stream ID."]
9077 #[doc = " decoding: set by libavformat"]
9078 #[doc = " encoding: set by the user, replaced by libavformat if left unset"]
9079 pub id: ::std::os::raw::c_int,
9080 #[doc = " @deprecated use the codecpar struct instead"]
9081 pub codec: *mut AVCodecContext,
9082 pub priv_data: *mut ::std::os::raw::c_void,
9083 #[doc = " This is the fundamental unit of time (in seconds) in terms"]
9084 #[doc = " of which frame timestamps are represented."]
9085 #[doc = ""]
9086 #[doc = " decoding: set by libavformat"]
9087 #[doc = " encoding: May be set by the caller before avformat_write_header() to"]
9088 #[doc = " provide a hint to the muxer about the desired timebase. In"]
9089 #[doc = " avformat_write_header(), the muxer will overwrite this field"]
9090 #[doc = " with the timebase that will actually be used for the timestamps"]
9091 #[doc = " written into the file (which may or may not be related to the"]
9092 #[doc = " user-provided one, depending on the format)."]
9093 pub time_base: AVRational,
9094 #[doc = " Decoding: pts of the first frame of the stream in presentation order, in stream time base."]
9095 #[doc = " Only set this if you are absolutely 100% sure that the value you set"]
9096 #[doc = " it to really is the pts of the first frame."]
9097 #[doc = " This may be undefined (AV_NOPTS_VALUE)."]
9098 #[doc = " @note The ASF header does NOT contain a correct start_time the ASF"]
9099 #[doc = " demuxer must NOT set this."]
9100 pub start_time: i64,
9101 #[doc = " Decoding: duration of the stream, in stream time base."]
9102 #[doc = " If a source file does not specify a duration, but does specify"]
9103 #[doc = " a bitrate, this value will be estimated from bitrate and file size."]
9104 #[doc = ""]
9105 #[doc = " Encoding: May be set by the caller before avformat_write_header() to"]
9106 #[doc = " provide a hint to the muxer about the estimated duration."]
9107 pub duration: i64,
9108 #[doc = "< number of frames in this stream if known or 0"]
9109 pub nb_frames: i64,
9110 #[doc = "< AV_DISPOSITION_* bit field"]
9111 pub disposition: ::std::os::raw::c_int,
9112 #[doc = "< Selects which packets can be discarded at will and do not need to be demuxed."]
9113 pub discard: AVDiscard,
9114 #[doc = " sample aspect ratio (0 if unknown)"]
9115 #[doc = " - encoding: Set by user."]
9116 #[doc = " - decoding: Set by libavformat."]
9117 pub sample_aspect_ratio: AVRational,
9118 pub metadata: *mut AVDictionary,
9119 #[doc = " Average framerate"]
9120 #[doc = ""]
9121 #[doc = " - demuxing: May be set by libavformat when creating the stream or in"]
9122 #[doc = " avformat_find_stream_info()."]
9123 #[doc = " - muxing: May be set by the caller before avformat_write_header()."]
9124 pub avg_frame_rate: AVRational,
9125 #[doc = " For streams with AV_DISPOSITION_ATTACHED_PIC disposition, this packet"]
9126 #[doc = " will contain the attached picture."]
9127 #[doc = ""]
9128 #[doc = " decoding: set by libavformat, must not be modified by the caller."]
9129 #[doc = " encoding: unused"]
9130 pub attached_pic: AVPacket,
9131 #[doc = " An array of side data that applies to the whole stream (i.e. the"]
9132 #[doc = " container does not allow it to change between packets)."]
9133 #[doc = ""]
9134 #[doc = " There may be no overlap between the side data in this array and side data"]
9135 #[doc = " in the packets. I.e. a given side data is either exported by the muxer"]
9136 #[doc = " (demuxing) / set by the caller (muxing) in this array, then it never"]
9137 #[doc = " appears in the packets, or the side data is exported / sent through"]
9138 #[doc = " the packets (always in the first packet where the value becomes known or"]
9139 #[doc = " changes), then it does not appear in this array."]
9140 #[doc = ""]
9141 #[doc = " - demuxing: Set by libavformat when the stream is created."]
9142 #[doc = " - muxing: May be set by the caller before avformat_write_header()."]
9143 #[doc = ""]
9144 #[doc = " Freed by libavformat in avformat_free_context()."]
9145 #[doc = ""]
9146 #[doc = " @see av_format_inject_global_side_data()"]
9147 pub side_data: *mut AVPacketSideData,
9148 #[doc = " The number of elements in the AVStream.side_data array."]
9149 pub nb_side_data: ::std::os::raw::c_int,
9150 #[doc = " Flags for the user to detect events happening on the stream. Flags must"]
9151 #[doc = " be cleared by the user once the event has been handled."]
9152 #[doc = " A combination of AVSTREAM_EVENT_FLAG_*."]
9153 pub event_flags: ::std::os::raw::c_int,
9154 #[doc = " Real base framerate of the stream."]
9155 #[doc = " This is the lowest framerate with which all timestamps can be"]
9156 #[doc = " represented accurately (it is the least common multiple of all"]
9157 #[doc = " framerates in the stream). Note, this value is just a guess!"]
9158 #[doc = " For example, if the time base is 1/90000 and all frames have either"]
9159 #[doc = " approximately 3600 or 1800 timer ticks, then r_frame_rate will be 50/1."]
9160 pub r_frame_rate: AVRational,
9161 #[doc = " String containing pairs of key and values describing recommended encoder configuration."]
9162 #[doc = " Pairs are separated by \',\'."]
9163 #[doc = " Keys are separated from values by \'=\'."]
9164 #[doc = ""]
9165 #[doc = " @deprecated unused"]
9166 pub recommended_encoder_configuration: *mut ::std::os::raw::c_char,
9167 #[doc = " Codec parameters associated with this stream. Allocated and freed by"]
9168 #[doc = " libavformat in avformat_new_stream() and avformat_free_context()"]
9169 #[doc = " respectively."]
9170 #[doc = ""]
9171 #[doc = " - demuxing: filled by libavformat on stream creation or in"]
9172 #[doc = " avformat_find_stream_info()"]
9173 #[doc = " - muxing: filled by the caller before avformat_write_header()"]
9174 pub codecpar: *mut AVCodecParameters,
9175 pub info: *mut AVStream__bindgen_ty_1,
9176 #[doc = "< number of bits in pts (used for wrapping control)"]
9177 pub pts_wrap_bits: ::std::os::raw::c_int,
9178 #[doc = " Timestamp corresponding to the last dts sync point."]
9179 #[doc = ""]
9180 #[doc = " Initialized when AVCodecParserContext.dts_sync_point >= 0 and"]
9181 #[doc = " a DTS is received from the underlying container. Otherwise set to"]
9182 #[doc = " AV_NOPTS_VALUE by default."]
9183 pub first_dts: i64,
9184 pub cur_dts: i64,
9185 pub last_IP_pts: i64,
9186 pub last_IP_duration: ::std::os::raw::c_int,
9187 #[doc = " Number of packets to buffer for codec probing"]
9188 pub probe_packets: ::std::os::raw::c_int,
9189 #[doc = " Number of frames that have been demuxed during avformat_find_stream_info()"]
9190 pub codec_info_nb_frames: ::std::os::raw::c_int,
9191 pub need_parsing: AVStreamParseType,
9192 pub parser: *mut AVCodecParserContext,
9193 #[doc = " last packet in packet_buffer for this stream when muxing."]
9194 pub last_in_packet_buffer: *mut AVPacketList,
9195 pub probe_data: AVProbeData,
9196 pub pts_buffer: [i64; 17usize],
9197 #[doc = "< Only used if the format does not"]
9198 #[doc = "support seeking natively."]
9199 pub index_entries: *mut AVIndexEntry,
9200 pub nb_index_entries: ::std::os::raw::c_int,
9201 pub index_entries_allocated_size: ::std::os::raw::c_uint,
9202 #[doc = " Stream Identifier"]
9203 #[doc = " This is the MPEG-TS stream identifier +1"]
9204 #[doc = " 0 means unknown"]
9205 pub stream_identifier: ::std::os::raw::c_int,
9206 #[doc = " Details of the MPEG-TS program which created this stream."]
9207 pub program_num: ::std::os::raw::c_int,
9208 pub pmt_version: ::std::os::raw::c_int,
9209 pub pmt_stream_idx: ::std::os::raw::c_int,
9210 pub interleaver_chunk_size: i64,
9211 pub interleaver_chunk_duration: i64,
9212 #[doc = " stream probing state"]
9213 #[doc = " -1 -> probing finished"]
9214 #[doc = " 0 -> no probing requested"]
9215 #[doc = " rest -> perform probing with request_probe being the minimum score to accept."]
9216 #[doc = " NOT PART OF PUBLIC API"]
9217 pub request_probe: ::std::os::raw::c_int,
9218 #[doc = " Indicates that everything up to the next keyframe"]
9219 #[doc = " should be discarded."]
9220 pub skip_to_keyframe: ::std::os::raw::c_int,
9221 #[doc = " Number of samples to skip at the start of the frame decoded from the next packet."]
9222 pub skip_samples: ::std::os::raw::c_int,
9223 #[doc = " If not 0, the number of samples that should be skipped from the start of"]
9224 #[doc = " the stream (the samples are removed from packets with pts==0, which also"]
9225 #[doc = " assumes negative timestamps do not happen)."]
9226 #[doc = " Intended for use with formats such as mp3 with ad-hoc gapless audio"]
9227 #[doc = " support."]
9228 pub start_skip_samples: i64,
9229 #[doc = " If not 0, the first audio sample that should be discarded from the stream."]
9230 #[doc = " This is broken by design (needs global sample count), but can\'t be"]
9231 #[doc = " avoided for broken by design formats such as mp3 with ad-hoc gapless"]
9232 #[doc = " audio support."]
9233 pub first_discard_sample: i64,
9234 #[doc = " The sample after last sample that is intended to be discarded after"]
9235 #[doc = " first_discard_sample. Works on frame boundaries only. Used to prevent"]
9236 #[doc = " early EOF if the gapless info is broken (considered concatenated mp3s)."]
9237 pub last_discard_sample: i64,
9238 #[doc = " Number of internally decoded frames, used internally in libavformat, do not access"]
9239 #[doc = " its lifetime differs from info which is why it is not in that structure."]
9240 pub nb_decoded_frames: ::std::os::raw::c_int,
9241 #[doc = " Timestamp offset added to timestamps before muxing"]
9242 #[doc = " NOT PART OF PUBLIC API"]
9243 pub mux_ts_offset: i64,
9244 #[doc = " Internal data to check for wrapping of the time stamp"]
9245 pub pts_wrap_reference: i64,
9246 #[doc = " Options for behavior, when a wrap is detected."]
9247 #[doc = ""]
9248 #[doc = " Defined by AV_PTS_WRAP_ values."]
9249 #[doc = ""]
9250 #[doc = " If correction is enabled, there are two possibilities:"]
9251 #[doc = " If the first time stamp is near the wrap point, the wrap offset"]
9252 #[doc = " will be subtracted, which will create negative time stamps."]
9253 #[doc = " Otherwise the offset will be added."]
9254 pub pts_wrap_behavior: ::std::os::raw::c_int,
9255 #[doc = " Internal data to prevent doing update_initial_durations() twice"]
9256 pub update_initial_durations_done: ::std::os::raw::c_int,
9257 #[doc = " Internal data to generate dts from pts"]
9258 pub pts_reorder_error: [i64; 17usize],
9259 pub pts_reorder_error_count: [u8; 17usize],
9260 #[doc = " Internal data to analyze DTS and detect faulty mpeg streams"]
9261 pub last_dts_for_order_check: i64,
9262 pub dts_ordered: u8,
9263 pub dts_misordered: u8,
9264 #[doc = " Internal data to inject global side data"]
9265 pub inject_global_side_data: ::std::os::raw::c_int,
9266 #[doc = " display aspect ratio (0 if unknown)"]
9267 #[doc = " - encoding: unused"]
9268 #[doc = " - decoding: Set by libavformat to calculate sample_aspect_ratio internally"]
9269 pub display_aspect_ratio: AVRational,
9270 #[doc = " An opaque field for libavformat internal usage."]
9271 #[doc = " Must not be accessed in any way by callers."]
9272 pub internal: *mut AVStreamInternal,
9273}
9274#[doc = " Stream information used internally by avformat_find_stream_info()"]
9275#[repr(C)]
9276#[derive(Debug, Copy, Clone)]
9277pub struct AVStream__bindgen_ty_1 {
9278 pub last_dts: i64,
9279 pub duration_gcd: i64,
9280 pub duration_count: ::std::os::raw::c_int,
9281 pub rfps_duration_sum: i64,
9282 pub duration_error: *mut [[f64; 399usize]; 2usize],
9283 pub codec_info_duration: i64,
9284 pub codec_info_duration_fields: i64,
9285 pub frame_delay_evidence: ::std::os::raw::c_int,
9286 #[doc = " 0 -> decoder has not been searched for yet."]
9287 #[doc = " >0 -> decoder found"]
9288 #[doc = " <0 -> decoder with codec_id == -found_decoder has not been found"]
9289 pub found_decoder: ::std::os::raw::c_int,
9290 pub last_duration: i64,
9291 #[doc = " Those are used for average framerate estimation."]
9292 pub fps_first_dts: i64,
9293 pub fps_first_dts_idx: ::std::os::raw::c_int,
9294 pub fps_last_dts: i64,
9295 pub fps_last_dts_idx: ::std::os::raw::c_int,
9296}
9297extern "C" {
9298 #[doc = " Accessors for some AVStream fields. These used to be provided for ABI"]
9299 #[doc = " compatibility, and do not need to be used anymore."]
9300 pub fn av_stream_get_r_frame_rate(s: *const AVStream) -> AVRational;
9301}
9302extern "C" {
9303 pub fn av_stream_set_r_frame_rate(s: *mut AVStream, r: AVRational);
9304}
9305extern "C" {
9306 pub fn av_stream_get_recommended_encoder_configuration(
9307 s: *const AVStream,
9308 ) -> *mut ::std::os::raw::c_char;
9309}
9310extern "C" {
9311 pub fn av_stream_set_recommended_encoder_configuration(
9312 s: *mut AVStream,
9313 configuration: *mut ::std::os::raw::c_char,
9314 );
9315}
9316extern "C" {
9317 pub fn av_stream_get_parser(s: *const AVStream) -> *mut AVCodecParserContext;
9318}
9319extern "C" {
9320 #[doc = " Returns the pts of the last muxed packet + its duration"]
9321 #[doc = ""]
9322 #[doc = " the retuned value is undefined when used with a demuxer."]
9323 pub fn av_stream_get_end_pts(st: *const AVStream) -> i64;
9324}
9325#[doc = " New fields can be added to the end with minor version bumps."]
9326#[doc = " Removal, reordering and changes to existing fields require a major"]
9327#[doc = " version bump."]
9328#[doc = " sizeof(AVProgram) must not be used outside libav*."]
9329#[repr(C)]
9330#[derive(Debug, Copy, Clone)]
9331pub struct AVProgram {
9332 pub id: ::std::os::raw::c_int,
9333 pub flags: ::std::os::raw::c_int,
9334 #[doc = "< selects which program to discard and which to feed to the caller"]
9335 pub discard: AVDiscard,
9336 pub stream_index: *mut ::std::os::raw::c_uint,
9337 pub nb_stream_indexes: ::std::os::raw::c_uint,
9338 pub metadata: *mut AVDictionary,
9339 pub program_num: ::std::os::raw::c_int,
9340 pub pmt_pid: ::std::os::raw::c_int,
9341 pub pcr_pid: ::std::os::raw::c_int,
9342 pub pmt_version: ::std::os::raw::c_int,
9343 #[doc = " All fields below this line are not part of the public API. They"]
9344 #[doc = " may not be used outside of libavformat and can be changed and"]
9345 #[doc = " removed at will."]
9346 #[doc = " New public fields should be added right above."]
9347 #[doc = ""]
9348 pub start_time: i64,
9349 pub end_time: i64,
9350 #[doc = "< reference dts for wrap detection"]
9351 pub pts_wrap_reference: i64,
9352 #[doc = "< behavior on wrap detection"]
9353 pub pts_wrap_behavior: ::std::os::raw::c_int,
9354}
9355#[repr(C)]
9356#[derive(Debug, Copy, Clone)]
9357pub struct AVChapter {
9358 #[doc = "< unique ID to identify the chapter"]
9359 pub id: ::std::os::raw::c_int,
9360 #[doc = "< time base in which the start/end timestamps are specified"]
9361 pub time_base: AVRational,
9362 #[doc = "< chapter start/end time in time_base units"]
9363 pub start: i64,
9364 #[doc = "< chapter start/end time in time_base units"]
9365 pub end: i64,
9366 pub metadata: *mut AVDictionary,
9367}
9368#[doc = " Callback used by devices to communicate with application."]
9369pub type av_format_control_message = ::std::option::Option<
9370 unsafe extern "C" fn(
9371 s: *mut AVFormatContext,
9372 type_: ::std::os::raw::c_int,
9373 data: *mut ::std::os::raw::c_void,
9374 data_size: usize,
9375 ) -> ::std::os::raw::c_int,
9376>;
9377pub type AVOpenCallback = ::std::option::Option<
9378 unsafe extern "C" fn(
9379 s: *mut AVFormatContext,
9380 pb: *mut *mut AVIOContext,
9381 url: *const ::std::os::raw::c_char,
9382 flags: ::std::os::raw::c_int,
9383 int_cb: *const AVIOInterruptCB,
9384 options: *mut *mut AVDictionary,
9385 ) -> ::std::os::raw::c_int,
9386>;
9387#[doc = "< Duration accurately estimated from PTSes"]
9388pub const AVDurationEstimationMethod_AVFMT_DURATION_FROM_PTS: AVDurationEstimationMethod = 0;
9389#[doc = "< Duration estimated from a stream with a known duration"]
9390pub const AVDurationEstimationMethod_AVFMT_DURATION_FROM_STREAM: AVDurationEstimationMethod = 1;
9391#[doc = "< Duration estimated from bitrate (less accurate)"]
9392pub const AVDurationEstimationMethod_AVFMT_DURATION_FROM_BITRATE: AVDurationEstimationMethod = 2;
9393#[doc = " The duration of a video can be estimated through various ways, and this enum can be used"]
9394#[doc = " to know how the duration was estimated."]
9395pub type AVDurationEstimationMethod = u32;
9396#[repr(C)]
9397#[derive(Debug, Copy, Clone)]
9398pub struct AVFormatInternal {
9399 _unused: [u8; 0],
9400}
9401#[doc = " Format I/O context."]
9402#[doc = " New fields can be added to the end with minor version bumps."]
9403#[doc = " Removal, reordering and changes to existing fields require a major"]
9404#[doc = " version bump."]
9405#[doc = " sizeof(AVFormatContext) must not be used outside libav*, use"]
9406#[doc = " avformat_alloc_context() to create an AVFormatContext."]
9407#[doc = ""]
9408#[doc = " Fields can be accessed through AVOptions (av_opt*),"]
9409#[doc = " the name string used matches the associated command line parameter name and"]
9410#[doc = " can be found in libavformat/options_table.h."]
9411#[doc = " The AVOption/command line parameter names differ in some cases from the C"]
9412#[doc = " structure field names for historic reasons or brevity."]
9413#[repr(C)]
9414#[derive(Copy, Clone)]
9415pub struct AVFormatContext {
9416 #[doc = " A class for logging and @ref avoptions. Set by avformat_alloc_context()."]
9417 #[doc = " Exports (de)muxer private options if they exist."]
9418 pub av_class: *const AVClass,
9419 #[doc = " The input container format."]
9420 #[doc = ""]
9421 #[doc = " Demuxing only, set by avformat_open_input()."]
9422 pub iformat: *mut AVInputFormat,
9423 #[doc = " The output container format."]
9424 #[doc = ""]
9425 #[doc = " Muxing only, must be set by the caller before avformat_write_header()."]
9426 pub oformat: *mut AVOutputFormat,
9427 #[doc = " Format private data. This is an AVOptions-enabled struct"]
9428 #[doc = " if and only if iformat/oformat.priv_class is not NULL."]
9429 #[doc = ""]
9430 #[doc = " - muxing: set by avformat_write_header()"]
9431 #[doc = " - demuxing: set by avformat_open_input()"]
9432 pub priv_data: *mut ::std::os::raw::c_void,
9433 #[doc = " I/O context."]
9434 #[doc = ""]
9435 #[doc = " - demuxing: either set by the user before avformat_open_input() (then"]
9436 #[doc = " the user must close it manually) or set by avformat_open_input()."]
9437 #[doc = " - muxing: set by the user before avformat_write_header(). The caller must"]
9438 #[doc = " take care of closing / freeing the IO context."]
9439 #[doc = ""]
9440 #[doc = " Do NOT set this field if AVFMT_NOFILE flag is set in"]
9441 #[doc = " iformat/oformat.flags. In such a case, the (de)muxer will handle"]
9442 #[doc = " I/O in some other way and this field will be NULL."]
9443 pub pb: *mut AVIOContext,
9444 #[doc = " Flags signalling stream properties. A combination of AVFMTCTX_*."]
9445 #[doc = " Set by libavformat."]
9446 pub ctx_flags: ::std::os::raw::c_int,
9447 #[doc = " Number of elements in AVFormatContext.streams."]
9448 #[doc = ""]
9449 #[doc = " Set by avformat_new_stream(), must not be modified by any other code."]
9450 pub nb_streams: ::std::os::raw::c_uint,
9451 #[doc = " A list of all streams in the file. New streams are created with"]
9452 #[doc = " avformat_new_stream()."]
9453 #[doc = ""]
9454 #[doc = " - demuxing: streams are created by libavformat in avformat_open_input()."]
9455 #[doc = " If AVFMTCTX_NOHEADER is set in ctx_flags, then new streams may also"]
9456 #[doc = " appear in av_read_frame()."]
9457 #[doc = " - muxing: streams are created by the user before avformat_write_header()."]
9458 #[doc = ""]
9459 #[doc = " Freed by libavformat in avformat_free_context()."]
9460 pub streams: *mut *mut AVStream,
9461 #[doc = " input or output filename"]
9462 #[doc = ""]
9463 #[doc = " - demuxing: set by avformat_open_input()"]
9464 #[doc = " - muxing: may be set by the caller before avformat_write_header()"]
9465 #[doc = ""]
9466 #[doc = " @deprecated Use url instead."]
9467 pub filename: [::std::os::raw::c_char; 1024usize],
9468 #[doc = " input or output URL. Unlike the old filename field, this field has no"]
9469 #[doc = " length restriction."]
9470 #[doc = ""]
9471 #[doc = " - demuxing: set by avformat_open_input(), initialized to an empty"]
9472 #[doc = " string if url parameter was NULL in avformat_open_input()."]
9473 #[doc = " - muxing: may be set by the caller before calling avformat_write_header()"]
9474 #[doc = " (or avformat_init_output() if that is called first) to a string"]
9475 #[doc = " which is freeable by av_free(). Set to an empty string if it"]
9476 #[doc = " was NULL in avformat_init_output()."]
9477 #[doc = ""]
9478 #[doc = " Freed by libavformat in avformat_free_context()."]
9479 pub url: *mut ::std::os::raw::c_char,
9480 #[doc = " Position of the first frame of the component, in"]
9481 #[doc = " AV_TIME_BASE fractional seconds. NEVER set this value directly:"]
9482 #[doc = " It is deduced from the AVStream values."]
9483 #[doc = ""]
9484 #[doc = " Demuxing only, set by libavformat."]
9485 pub start_time: i64,
9486 #[doc = " Duration of the stream, in AV_TIME_BASE fractional"]
9487 #[doc = " seconds. Only set this value if you know none of the individual stream"]
9488 #[doc = " durations and also do not set any of them. This is deduced from the"]
9489 #[doc = " AVStream values if not set."]
9490 #[doc = ""]
9491 #[doc = " Demuxing only, set by libavformat."]
9492 pub duration: i64,
9493 #[doc = " Total stream bitrate in bit/s, 0 if not"]
9494 #[doc = " available. Never set it directly if the file_size and the"]
9495 #[doc = " duration are known as FFmpeg can compute it automatically."]
9496 pub bit_rate: i64,
9497 pub packet_size: ::std::os::raw::c_uint,
9498 pub max_delay: ::std::os::raw::c_int,
9499 #[doc = " Flags modifying the (de)muxer behaviour. A combination of AVFMT_FLAG_*."]
9500 #[doc = " Set by the user before avformat_open_input() / avformat_write_header()."]
9501 pub flags: ::std::os::raw::c_int,
9502 #[doc = " Maximum size of the data read from input for determining"]
9503 #[doc = " the input container format."]
9504 #[doc = " Demuxing only, set by the caller before avformat_open_input()."]
9505 pub probesize: i64,
9506 #[doc = " Maximum duration (in AV_TIME_BASE units) of the data read"]
9507 #[doc = " from input in avformat_find_stream_info()."]
9508 #[doc = " Demuxing only, set by the caller before avformat_find_stream_info()."]
9509 #[doc = " Can be set to 0 to let avformat choose using a heuristic."]
9510 pub max_analyze_duration: i64,
9511 pub key: *const u8,
9512 pub keylen: ::std::os::raw::c_int,
9513 pub nb_programs: ::std::os::raw::c_uint,
9514 pub programs: *mut *mut AVProgram,
9515 #[doc = " Forced video codec_id."]
9516 #[doc = " Demuxing: Set by user."]
9517 pub video_codec_id: AVCodecID,
9518 #[doc = " Forced audio codec_id."]
9519 #[doc = " Demuxing: Set by user."]
9520 pub audio_codec_id: AVCodecID,
9521 #[doc = " Forced subtitle codec_id."]
9522 #[doc = " Demuxing: Set by user."]
9523 pub subtitle_codec_id: AVCodecID,
9524 #[doc = " Maximum amount of memory in bytes to use for the index of each stream."]
9525 #[doc = " If the index exceeds this size, entries will be discarded as"]
9526 #[doc = " needed to maintain a smaller size. This can lead to slower or less"]
9527 #[doc = " accurate seeking (depends on demuxer)."]
9528 #[doc = " Demuxers for which a full in-memory index is mandatory will ignore"]
9529 #[doc = " this."]
9530 #[doc = " - muxing: unused"]
9531 #[doc = " - demuxing: set by user"]
9532 pub max_index_size: ::std::os::raw::c_uint,
9533 #[doc = " Maximum amount of memory in bytes to use for buffering frames"]
9534 #[doc = " obtained from realtime capture devices."]
9535 pub max_picture_buffer: ::std::os::raw::c_uint,
9536 #[doc = " Number of chapters in AVChapter array."]
9537 #[doc = " When muxing, chapters are normally written in the file header,"]
9538 #[doc = " so nb_chapters should normally be initialized before write_header"]
9539 #[doc = " is called. Some muxers (e.g. mov and mkv) can also write chapters"]
9540 #[doc = " in the trailer. To write chapters in the trailer, nb_chapters"]
9541 #[doc = " must be zero when write_header is called and non-zero when"]
9542 #[doc = " write_trailer is called."]
9543 #[doc = " - muxing: set by user"]
9544 #[doc = " - demuxing: set by libavformat"]
9545 pub nb_chapters: ::std::os::raw::c_uint,
9546 pub chapters: *mut *mut AVChapter,
9547 #[doc = " Metadata that applies to the whole file."]
9548 #[doc = ""]
9549 #[doc = " - demuxing: set by libavformat in avformat_open_input()"]
9550 #[doc = " - muxing: may be set by the caller before avformat_write_header()"]
9551 #[doc = ""]
9552 #[doc = " Freed by libavformat in avformat_free_context()."]
9553 pub metadata: *mut AVDictionary,
9554 #[doc = " Start time of the stream in real world time, in microseconds"]
9555 #[doc = " since the Unix epoch (00:00 1st January 1970). That is, pts=0 in the"]
9556 #[doc = " stream was captured at this real world time."]
9557 #[doc = " - muxing: Set by the caller before avformat_write_header(). If set to"]
9558 #[doc = " either 0 or AV_NOPTS_VALUE, then the current wall-time will"]
9559 #[doc = " be used."]
9560 #[doc = " - demuxing: Set by libavformat. AV_NOPTS_VALUE if unknown. Note that"]
9561 #[doc = " the value may become known after some number of frames"]
9562 #[doc = " have been received."]
9563 pub start_time_realtime: i64,
9564 #[doc = " The number of frames used for determining the framerate in"]
9565 #[doc = " avformat_find_stream_info()."]
9566 #[doc = " Demuxing only, set by the caller before avformat_find_stream_info()."]
9567 pub fps_probe_size: ::std::os::raw::c_int,
9568 #[doc = " Error recognition; higher values will detect more errors but may"]
9569 #[doc = " misdetect some more or less valid parts as errors."]
9570 #[doc = " Demuxing only, set by the caller before avformat_open_input()."]
9571 pub error_recognition: ::std::os::raw::c_int,
9572 #[doc = " Custom interrupt callbacks for the I/O layer."]
9573 #[doc = ""]
9574 #[doc = " demuxing: set by the user before avformat_open_input()."]
9575 #[doc = " muxing: set by the user before avformat_write_header()"]
9576 #[doc = " (mainly useful for AVFMT_NOFILE formats). The callback"]
9577 #[doc = " should also be passed to avio_open2() if it\'s used to"]
9578 #[doc = " open the file."]
9579 pub interrupt_callback: AVIOInterruptCB,
9580 #[doc = " Flags to enable debugging."]
9581 pub debug: ::std::os::raw::c_int,
9582 #[doc = " Maximum buffering duration for interleaving."]
9583 #[doc = ""]
9584 #[doc = " To ensure all the streams are interleaved correctly,"]
9585 #[doc = " av_interleaved_write_frame() will wait until it has at least one packet"]
9586 #[doc = " for each stream before actually writing any packets to the output file."]
9587 #[doc = " When some streams are \"sparse\" (i.e. there are large gaps between"]
9588 #[doc = " successive packets), this can result in excessive buffering."]
9589 #[doc = ""]
9590 #[doc = " This field specifies the maximum difference between the timestamps of the"]
9591 #[doc = " first and the last packet in the muxing queue, above which libavformat"]
9592 #[doc = " will output a packet regardless of whether it has queued a packet for all"]
9593 #[doc = " the streams."]
9594 #[doc = ""]
9595 #[doc = " Muxing only, set by the caller before avformat_write_header()."]
9596 pub max_interleave_delta: i64,
9597 #[doc = " Allow non-standard and experimental extension"]
9598 #[doc = " @see AVCodecContext.strict_std_compliance"]
9599 pub strict_std_compliance: ::std::os::raw::c_int,
9600 #[doc = " Flags for the user to detect events happening on the file. Flags must"]
9601 #[doc = " be cleared by the user once the event has been handled."]
9602 #[doc = " A combination of AVFMT_EVENT_FLAG_*."]
9603 pub event_flags: ::std::os::raw::c_int,
9604 #[doc = " Maximum number of packets to read while waiting for the first timestamp."]
9605 #[doc = " Decoding only."]
9606 pub max_ts_probe: ::std::os::raw::c_int,
9607 #[doc = " Avoid negative timestamps during muxing."]
9608 #[doc = " Any value of the AVFMT_AVOID_NEG_TS_* constants."]
9609 #[doc = " Note, this only works when using av_interleaved_write_frame. (interleave_packet_per_dts is in use)"]
9610 #[doc = " - muxing: Set by user"]
9611 #[doc = " - demuxing: unused"]
9612 pub avoid_negative_ts: ::std::os::raw::c_int,
9613 #[doc = " Transport stream id."]
9614 #[doc = " This will be moved into demuxer private options. Thus no API/ABI compatibility"]
9615 pub ts_id: ::std::os::raw::c_int,
9616 #[doc = " Audio preload in microseconds."]
9617 #[doc = " Note, not all formats support this and unpredictable things may happen if it is used when not supported."]
9618 #[doc = " - encoding: Set by user"]
9619 #[doc = " - decoding: unused"]
9620 pub audio_preload: ::std::os::raw::c_int,
9621 #[doc = " Max chunk time in microseconds."]
9622 #[doc = " Note, not all formats support this and unpredictable things may happen if it is used when not supported."]
9623 #[doc = " - encoding: Set by user"]
9624 #[doc = " - decoding: unused"]
9625 pub max_chunk_duration: ::std::os::raw::c_int,
9626 #[doc = " Max chunk size in bytes"]
9627 #[doc = " Note, not all formats support this and unpredictable things may happen if it is used when not supported."]
9628 #[doc = " - encoding: Set by user"]
9629 #[doc = " - decoding: unused"]
9630 pub max_chunk_size: ::std::os::raw::c_int,
9631 #[doc = " forces the use of wallclock timestamps as pts/dts of packets"]
9632 #[doc = " This has undefined results in the presence of B frames."]
9633 #[doc = " - encoding: unused"]
9634 #[doc = " - decoding: Set by user"]
9635 pub use_wallclock_as_timestamps: ::std::os::raw::c_int,
9636 #[doc = " avio flags, used to force AVIO_FLAG_DIRECT."]
9637 #[doc = " - encoding: unused"]
9638 #[doc = " - decoding: Set by user"]
9639 pub avio_flags: ::std::os::raw::c_int,
9640 #[doc = " The duration field can be estimated through various ways, and this field can be used"]
9641 #[doc = " to know how the duration was estimated."]
9642 #[doc = " - encoding: unused"]
9643 #[doc = " - decoding: Read by user"]
9644 pub duration_estimation_method: AVDurationEstimationMethod,
9645 #[doc = " Skip initial bytes when opening stream"]
9646 #[doc = " - encoding: unused"]
9647 #[doc = " - decoding: Set by user"]
9648 pub skip_initial_bytes: i64,
9649 #[doc = " Correct single timestamp overflows"]
9650 #[doc = " - encoding: unused"]
9651 #[doc = " - decoding: Set by user"]
9652 pub correct_ts_overflow: ::std::os::raw::c_uint,
9653 #[doc = " Force seeking to any (also non key) frames."]
9654 #[doc = " - encoding: unused"]
9655 #[doc = " - decoding: Set by user"]
9656 pub seek2any: ::std::os::raw::c_int,
9657 #[doc = " Flush the I/O context after each packet."]
9658 #[doc = " - encoding: Set by user"]
9659 #[doc = " - decoding: unused"]
9660 pub flush_packets: ::std::os::raw::c_int,
9661 #[doc = " format probing score."]
9662 #[doc = " The maximal score is AVPROBE_SCORE_MAX, its set when the demuxer probes"]
9663 #[doc = " the format."]
9664 #[doc = " - encoding: unused"]
9665 #[doc = " - decoding: set by avformat, read by user"]
9666 pub probe_score: ::std::os::raw::c_int,
9667 #[doc = " number of bytes to read maximally to identify format."]
9668 #[doc = " - encoding: unused"]
9669 #[doc = " - decoding: set by user"]
9670 pub format_probesize: ::std::os::raw::c_int,
9671 #[doc = " \',\' separated list of allowed decoders."]
9672 #[doc = " If NULL then all are allowed"]
9673 #[doc = " - encoding: unused"]
9674 #[doc = " - decoding: set by user"]
9675 pub codec_whitelist: *mut ::std::os::raw::c_char,
9676 #[doc = " \',\' separated list of allowed demuxers."]
9677 #[doc = " If NULL then all are allowed"]
9678 #[doc = " - encoding: unused"]
9679 #[doc = " - decoding: set by user"]
9680 pub format_whitelist: *mut ::std::os::raw::c_char,
9681 #[doc = " An opaque field for libavformat internal usage."]
9682 #[doc = " Must not be accessed in any way by callers."]
9683 pub internal: *mut AVFormatInternal,
9684 #[doc = " IO repositioned flag."]
9685 #[doc = " This is set by avformat when the underlaying IO context read pointer"]
9686 #[doc = " is repositioned, for example when doing byte based seeking."]
9687 #[doc = " Demuxers can use the flag to detect such changes."]
9688 pub io_repositioned: ::std::os::raw::c_int,
9689 #[doc = " Forced video codec."]
9690 #[doc = " This allows forcing a specific decoder, even when there are multiple with"]
9691 #[doc = " the same codec_id."]
9692 #[doc = " Demuxing: Set by user"]
9693 pub video_codec: *mut AVCodec,
9694 #[doc = " Forced audio codec."]
9695 #[doc = " This allows forcing a specific decoder, even when there are multiple with"]
9696 #[doc = " the same codec_id."]
9697 #[doc = " Demuxing: Set by user"]
9698 pub audio_codec: *mut AVCodec,
9699 #[doc = " Forced subtitle codec."]
9700 #[doc = " This allows forcing a specific decoder, even when there are multiple with"]
9701 #[doc = " the same codec_id."]
9702 #[doc = " Demuxing: Set by user"]
9703 pub subtitle_codec: *mut AVCodec,
9704 #[doc = " Forced data codec."]
9705 #[doc = " This allows forcing a specific decoder, even when there are multiple with"]
9706 #[doc = " the same codec_id."]
9707 #[doc = " Demuxing: Set by user"]
9708 pub data_codec: *mut AVCodec,
9709 #[doc = " Number of bytes to be written as padding in a metadata header."]
9710 #[doc = " Demuxing: Unused."]
9711 #[doc = " Muxing: Set by user via av_format_set_metadata_header_padding."]
9712 pub metadata_header_padding: ::std::os::raw::c_int,
9713 #[doc = " User data."]
9714 #[doc = " This is a place for some private data of the user."]
9715 pub opaque: *mut ::std::os::raw::c_void,
9716 #[doc = " Callback used by devices to communicate with application."]
9717 pub control_message_cb: av_format_control_message,
9718 #[doc = " Output timestamp offset, in microseconds."]
9719 #[doc = " Muxing: set by user"]
9720 pub output_ts_offset: i64,
9721 #[doc = " dump format separator."]
9722 #[doc = " can be \", \" or \"\\n \" or anything else"]
9723 #[doc = " - muxing: Set by user."]
9724 #[doc = " - demuxing: Set by user."]
9725 pub dump_separator: *mut u8,
9726 #[doc = " Forced Data codec_id."]
9727 #[doc = " Demuxing: Set by user."]
9728 pub data_codec_id: AVCodecID,
9729 #[doc = " Called to open further IO contexts when needed for demuxing."]
9730 #[doc = ""]
9731 #[doc = " This can be set by the user application to perform security checks on"]
9732 #[doc = " the URLs before opening them."]
9733 #[doc = " The function should behave like avio_open2(), AVFormatContext is provided"]
9734 #[doc = " as contextual information and to reach AVFormatContext.opaque."]
9735 #[doc = ""]
9736 #[doc = " If NULL then some simple checks are used together with avio_open2()."]
9737 #[doc = ""]
9738 #[doc = " Must not be accessed directly from outside avformat."]
9739 #[doc = " @See av_format_set_open_cb()"]
9740 #[doc = ""]
9741 #[doc = " Demuxing: Set by user."]
9742 #[doc = ""]
9743 #[doc = " @deprecated Use io_open and io_close."]
9744 pub open_cb: ::std::option::Option<
9745 unsafe extern "C" fn(
9746 s: *mut AVFormatContext,
9747 p: *mut *mut AVIOContext,
9748 url: *const ::std::os::raw::c_char,
9749 flags: ::std::os::raw::c_int,
9750 int_cb: *const AVIOInterruptCB,
9751 options: *mut *mut AVDictionary,
9752 ) -> ::std::os::raw::c_int,
9753 >,
9754 #[doc = " \',\' separated list of allowed protocols."]
9755 #[doc = " - encoding: unused"]
9756 #[doc = " - decoding: set by user"]
9757 pub protocol_whitelist: *mut ::std::os::raw::c_char,
9758 #[doc = " A callback for opening new IO streams."]
9759 #[doc = ""]
9760 #[doc = " Whenever a muxer or a demuxer needs to open an IO stream (typically from"]
9761 #[doc = " avformat_open_input() for demuxers, but for certain formats can happen at"]
9762 #[doc = " other times as well), it will call this callback to obtain an IO context."]
9763 #[doc = ""]
9764 #[doc = " @param s the format context"]
9765 #[doc = " @param pb on success, the newly opened IO context should be returned here"]
9766 #[doc = " @param url the url to open"]
9767 #[doc = " @param flags a combination of AVIO_FLAG_*"]
9768 #[doc = " @param options a dictionary of additional options, with the same"]
9769 #[doc = " semantics as in avio_open2()"]
9770 #[doc = " @return 0 on success, a negative AVERROR code on failure"]
9771 #[doc = ""]
9772 #[doc = " @note Certain muxers and demuxers do nesting, i.e. they open one or more"]
9773 #[doc = " additional internal format contexts. Thus the AVFormatContext pointer"]
9774 #[doc = " passed to this callback may be different from the one facing the caller."]
9775 #[doc = " It will, however, have the same \'opaque\' field."]
9776 pub io_open: ::std::option::Option<
9777 unsafe extern "C" fn(
9778 s: *mut AVFormatContext,
9779 pb: *mut *mut AVIOContext,
9780 url: *const ::std::os::raw::c_char,
9781 flags: ::std::os::raw::c_int,
9782 options: *mut *mut AVDictionary,
9783 ) -> ::std::os::raw::c_int,
9784 >,
9785 #[doc = " A callback for closing the streams opened with AVFormatContext.io_open()."]
9786 pub io_close:
9787 ::std::option::Option<unsafe extern "C" fn(s: *mut AVFormatContext, pb: *mut AVIOContext)>,
9788 #[doc = " \',\' separated list of disallowed protocols."]
9789 #[doc = " - encoding: unused"]
9790 #[doc = " - decoding: set by user"]
9791 pub protocol_blacklist: *mut ::std::os::raw::c_char,
9792 #[doc = " The maximum number of streams."]
9793 #[doc = " - encoding: unused"]
9794 #[doc = " - decoding: set by user"]
9795 pub max_streams: ::std::os::raw::c_int,
9796 #[doc = " Skip duration calcuation in estimate_timings_from_pts."]
9797 #[doc = " - encoding: unused"]
9798 #[doc = " - decoding: set by user"]
9799 pub skip_estimate_duration_from_pts: ::std::os::raw::c_int,
9800}
9801extern "C" {
9802 #[doc = " Accessors for some AVFormatContext fields. These used to be provided for ABI"]
9803 #[doc = " compatibility, and do not need to be used anymore."]
9804 pub fn av_format_get_probe_score(s: *const AVFormatContext) -> ::std::os::raw::c_int;
9805}
9806extern "C" {
9807 pub fn av_format_get_video_codec(s: *const AVFormatContext) -> *mut AVCodec;
9808}
9809extern "C" {
9810 pub fn av_format_set_video_codec(s: *mut AVFormatContext, c: *mut AVCodec);
9811}
9812extern "C" {
9813 pub fn av_format_get_audio_codec(s: *const AVFormatContext) -> *mut AVCodec;
9814}
9815extern "C" {
9816 pub fn av_format_set_audio_codec(s: *mut AVFormatContext, c: *mut AVCodec);
9817}
9818extern "C" {
9819 pub fn av_format_get_subtitle_codec(s: *const AVFormatContext) -> *mut AVCodec;
9820}
9821extern "C" {
9822 pub fn av_format_set_subtitle_codec(s: *mut AVFormatContext, c: *mut AVCodec);
9823}
9824extern "C" {
9825 pub fn av_format_get_data_codec(s: *const AVFormatContext) -> *mut AVCodec;
9826}
9827extern "C" {
9828 pub fn av_format_set_data_codec(s: *mut AVFormatContext, c: *mut AVCodec);
9829}
9830extern "C" {
9831 pub fn av_format_get_metadata_header_padding(
9832 s: *const AVFormatContext,
9833 ) -> ::std::os::raw::c_int;
9834}
9835extern "C" {
9836 pub fn av_format_set_metadata_header_padding(s: *mut AVFormatContext, c: ::std::os::raw::c_int);
9837}
9838extern "C" {
9839 pub fn av_format_get_opaque(s: *const AVFormatContext) -> *mut ::std::os::raw::c_void;
9840}
9841extern "C" {
9842 pub fn av_format_set_opaque(s: *mut AVFormatContext, opaque: *mut ::std::os::raw::c_void);
9843}
9844extern "C" {
9845 pub fn av_format_get_control_message_cb(s: *const AVFormatContext)
9846 -> av_format_control_message;
9847}
9848extern "C" {
9849 pub fn av_format_set_control_message_cb(
9850 s: *mut AVFormatContext,
9851 callback: av_format_control_message,
9852 );
9853}
9854extern "C" {
9855 pub fn av_format_get_open_cb(s: *const AVFormatContext) -> AVOpenCallback;
9856}
9857extern "C" {
9858 pub fn av_format_set_open_cb(s: *mut AVFormatContext, callback: AVOpenCallback);
9859}
9860extern "C" {
9861 #[doc = " This function will cause global side data to be injected in the next packet"]
9862 #[doc = " of each stream as well as after any subsequent seek."]
9863 pub fn av_format_inject_global_side_data(s: *mut AVFormatContext);
9864}
9865extern "C" {
9866 #[doc = " Returns the method used to set ctx->duration."]
9867 #[doc = ""]
9868 #[doc = " @return AVFMT_DURATION_FROM_PTS, AVFMT_DURATION_FROM_STREAM, or AVFMT_DURATION_FROM_BITRATE."]
9869 pub fn av_fmt_ctx_get_duration_estimation_method(
9870 ctx: *const AVFormatContext,
9871 ) -> AVDurationEstimationMethod;
9872}
9873#[repr(C)]
9874#[derive(Debug, Copy, Clone)]
9875pub struct AVPacketList {
9876 pub pkt: AVPacket,
9877 pub next: *mut AVPacketList,
9878}
9879extern "C" {
9880 #[doc = " Return the LIBAVFORMAT_VERSION_INT constant."]
9881 pub fn avformat_version() -> ::std::os::raw::c_uint;
9882}
9883extern "C" {
9884 #[doc = " Return the libavformat build-time configuration."]
9885 pub fn avformat_configuration() -> *const ::std::os::raw::c_char;
9886}
9887extern "C" {
9888 #[doc = " Return the libavformat license."]
9889 pub fn avformat_license() -> *const ::std::os::raw::c_char;
9890}
9891extern "C" {
9892 #[doc = " Initialize libavformat and register all the muxers, demuxers and"]
9893 #[doc = " protocols. If you do not call this function, then you can select"]
9894 #[doc = " exactly which formats you want to support."]
9895 #[doc = ""]
9896 #[doc = " @see av_register_input_format()"]
9897 #[doc = " @see av_register_output_format()"]
9898 pub fn av_register_all();
9899}
9900extern "C" {
9901 pub fn av_register_input_format(format: *mut AVInputFormat);
9902}
9903extern "C" {
9904 pub fn av_register_output_format(format: *mut AVOutputFormat);
9905}
9906extern "C" {
9907 #[doc = " Do global initialization of network libraries. This is optional,"]
9908 #[doc = " and not recommended anymore."]
9909 #[doc = ""]
9910 #[doc = " This functions only exists to work around thread-safety issues"]
9911 #[doc = " with older GnuTLS or OpenSSL libraries. If libavformat is linked"]
9912 #[doc = " to newer versions of those libraries, or if you do not use them,"]
9913 #[doc = " calling this function is unnecessary. Otherwise, you need to call"]
9914 #[doc = " this function before any other threads using them are started."]
9915 #[doc = ""]
9916 #[doc = " This function will be deprecated once support for older GnuTLS and"]
9917 #[doc = " OpenSSL libraries is removed, and this function has no purpose"]
9918 #[doc = " anymore."]
9919 pub fn avformat_network_init() -> ::std::os::raw::c_int;
9920}
9921extern "C" {
9922 #[doc = " Undo the initialization done by avformat_network_init. Call it only"]
9923 #[doc = " once for each time you called avformat_network_init."]
9924 pub fn avformat_network_deinit() -> ::std::os::raw::c_int;
9925}
9926extern "C" {
9927 #[doc = " If f is NULL, returns the first registered input format,"]
9928 #[doc = " if f is non-NULL, returns the next registered input format after f"]
9929 #[doc = " or NULL if f is the last one."]
9930 pub fn av_iformat_next(f: *const AVInputFormat) -> *mut AVInputFormat;
9931}
9932extern "C" {
9933 #[doc = " If f is NULL, returns the first registered output format,"]
9934 #[doc = " if f is non-NULL, returns the next registered output format after f"]
9935 #[doc = " or NULL if f is the last one."]
9936 pub fn av_oformat_next(f: *const AVOutputFormat) -> *mut AVOutputFormat;
9937}
9938extern "C" {
9939 #[doc = " Iterate over all registered muxers."]
9940 #[doc = ""]
9941 #[doc = " @param opaque a pointer where libavformat will store the iteration state. Must"]
9942 #[doc = " point to NULL to start the iteration."]
9943 #[doc = ""]
9944 #[doc = " @return the next registered muxer or NULL when the iteration is"]
9945 #[doc = " finished"]
9946 pub fn av_muxer_iterate(opaque: *mut *mut ::std::os::raw::c_void) -> *const AVOutputFormat;
9947}
9948extern "C" {
9949 #[doc = " Iterate over all registered demuxers."]
9950 #[doc = ""]
9951 #[doc = " @param opaque a pointer where libavformat will store the iteration state. Must"]
9952 #[doc = " point to NULL to start the iteration."]
9953 #[doc = ""]
9954 #[doc = " @return the next registered demuxer or NULL when the iteration is"]
9955 #[doc = " finished"]
9956 pub fn av_demuxer_iterate(opaque: *mut *mut ::std::os::raw::c_void) -> *const AVInputFormat;
9957}
9958extern "C" {
9959 #[doc = " Allocate an AVFormatContext."]
9960 #[doc = " avformat_free_context() can be used to free the context and everything"]
9961 #[doc = " allocated by the framework within it."]
9962 pub fn avformat_alloc_context() -> *mut AVFormatContext;
9963}
9964extern "C" {
9965 #[doc = " Free an AVFormatContext and all its streams."]
9966 #[doc = " @param s context to free"]
9967 pub fn avformat_free_context(s: *mut AVFormatContext);
9968}
9969extern "C" {
9970 #[doc = " Get the AVClass for AVFormatContext. It can be used in combination with"]
9971 #[doc = " AV_OPT_SEARCH_FAKE_OBJ for examining options."]
9972 #[doc = ""]
9973 #[doc = " @see av_opt_find()."]
9974 pub fn avformat_get_class() -> *const AVClass;
9975}
9976extern "C" {
9977 #[doc = " Add a new stream to a media file."]
9978 #[doc = ""]
9979 #[doc = " When demuxing, it is called by the demuxer in read_header(). If the"]
9980 #[doc = " flag AVFMTCTX_NOHEADER is set in s.ctx_flags, then it may also"]
9981 #[doc = " be called in read_packet()."]
9982 #[doc = ""]
9983 #[doc = " When muxing, should be called by the user before avformat_write_header()."]
9984 #[doc = ""]
9985 #[doc = " User is required to call avcodec_close() and avformat_free_context() to"]
9986 #[doc = " clean up the allocation by avformat_new_stream()."]
9987 #[doc = ""]
9988 #[doc = " @param s media file handle"]
9989 #[doc = " @param c If non-NULL, the AVCodecContext corresponding to the new stream"]
9990 #[doc = " will be initialized to use this codec. This is needed for e.g. codec-specific"]
9991 #[doc = " defaults to be set, so codec should be provided if it is known."]
9992 #[doc = ""]
9993 #[doc = " @return newly created stream or NULL on error."]
9994 pub fn avformat_new_stream(s: *mut AVFormatContext, c: *const AVCodec) -> *mut AVStream;
9995}
9996extern "C" {
9997 #[doc = " Wrap an existing array as stream side data."]
9998 #[doc = ""]
9999 #[doc = " @param st stream"]
10000 #[doc = " @param type side information type"]
10001 #[doc = " @param data the side data array. It must be allocated with the av_malloc()"]
10002 #[doc = " family of functions. The ownership of the data is transferred to"]
10003 #[doc = " st."]
10004 #[doc = " @param size side information size"]
10005 #[doc = " @return zero on success, a negative AVERROR code on failure. On failure,"]
10006 #[doc = " the stream is unchanged and the data remains owned by the caller."]
10007 pub fn av_stream_add_side_data(
10008 st: *mut AVStream,
10009 type_: AVPacketSideDataType,
10010 data: *mut u8,
10011 size: usize,
10012 ) -> ::std::os::raw::c_int;
10013}
10014extern "C" {
10015 #[doc = " Allocate new information from stream."]
10016 #[doc = ""]
10017 #[doc = " @param stream stream"]
10018 #[doc = " @param type desired side information type"]
10019 #[doc = " @param size side information size"]
10020 #[doc = " @return pointer to fresh allocated data or NULL otherwise"]
10021 pub fn av_stream_new_side_data(
10022 stream: *mut AVStream,
10023 type_: AVPacketSideDataType,
10024 size: ::std::os::raw::c_int,
10025 ) -> *mut u8;
10026}
10027extern "C" {
10028 #[doc = " Get side information from stream."]
10029 #[doc = ""]
10030 #[doc = " @param stream stream"]
10031 #[doc = " @param type desired side information type"]
10032 #[doc = " @param size pointer for side information size to store (optional)"]
10033 #[doc = " @return pointer to data if present or NULL otherwise"]
10034 pub fn av_stream_get_side_data(
10035 stream: *const AVStream,
10036 type_: AVPacketSideDataType,
10037 size: *mut ::std::os::raw::c_int,
10038 ) -> *mut u8;
10039}
10040extern "C" {
10041 pub fn av_new_program(s: *mut AVFormatContext, id: ::std::os::raw::c_int) -> *mut AVProgram;
10042}
10043extern "C" {
10044 #[doc = " Allocate an AVFormatContext for an output format."]
10045 #[doc = " avformat_free_context() can be used to free the context and"]
10046 #[doc = " everything allocated by the framework within it."]
10047 #[doc = ""]
10048 #[doc = " @param *ctx is set to the created format context, or to NULL in"]
10049 #[doc = " case of failure"]
10050 #[doc = " @param oformat format to use for allocating the context, if NULL"]
10051 #[doc = " format_name and filename are used instead"]
10052 #[doc = " @param format_name the name of output format to use for allocating the"]
10053 #[doc = " context, if NULL filename is used instead"]
10054 #[doc = " @param filename the name of the filename to use for allocating the"]
10055 #[doc = " context, may be NULL"]
10056 #[doc = " @return >= 0 in case of success, a negative AVERROR code in case of"]
10057 #[doc = " failure"]
10058 pub fn avformat_alloc_output_context2(
10059 ctx: *mut *mut AVFormatContext,
10060 oformat: *mut AVOutputFormat,
10061 format_name: *const ::std::os::raw::c_char,
10062 filename: *const ::std::os::raw::c_char,
10063 ) -> ::std::os::raw::c_int;
10064}
10065extern "C" {
10066 #[doc = " Find AVInputFormat based on the short name of the input format."]
10067 pub fn av_find_input_format(short_name: *const ::std::os::raw::c_char) -> *mut AVInputFormat;
10068}
10069extern "C" {
10070 #[doc = " Guess the file format."]
10071 #[doc = ""]
10072 #[doc = " @param pd data to be probed"]
10073 #[doc = " @param is_opened Whether the file is already opened; determines whether"]
10074 #[doc = " demuxers with or without AVFMT_NOFILE are probed."]
10075 pub fn av_probe_input_format(
10076 pd: *mut AVProbeData,
10077 is_opened: ::std::os::raw::c_int,
10078 ) -> *mut AVInputFormat;
10079}
10080extern "C" {
10081 #[doc = " Guess the file format."]
10082 #[doc = ""]
10083 #[doc = " @param pd data to be probed"]
10084 #[doc = " @param is_opened Whether the file is already opened; determines whether"]
10085 #[doc = " demuxers with or without AVFMT_NOFILE are probed."]
10086 #[doc = " @param score_max A probe score larger that this is required to accept a"]
10087 #[doc = " detection, the variable is set to the actual detection"]
10088 #[doc = " score afterwards."]
10089 #[doc = " If the score is <= AVPROBE_SCORE_MAX / 4 it is recommended"]
10090 #[doc = " to retry with a larger probe buffer."]
10091 pub fn av_probe_input_format2(
10092 pd: *mut AVProbeData,
10093 is_opened: ::std::os::raw::c_int,
10094 score_max: *mut ::std::os::raw::c_int,
10095 ) -> *mut AVInputFormat;
10096}
10097extern "C" {
10098 #[doc = " Guess the file format."]
10099 #[doc = ""]
10100 #[doc = " @param is_opened Whether the file is already opened; determines whether"]
10101 #[doc = " demuxers with or without AVFMT_NOFILE are probed."]
10102 #[doc = " @param score_ret The score of the best detection."]
10103 pub fn av_probe_input_format3(
10104 pd: *mut AVProbeData,
10105 is_opened: ::std::os::raw::c_int,
10106 score_ret: *mut ::std::os::raw::c_int,
10107 ) -> *mut AVInputFormat;
10108}
10109extern "C" {
10110 #[doc = " Probe a bytestream to determine the input format. Each time a probe returns"]
10111 #[doc = " with a score that is too low, the probe buffer size is increased and another"]
10112 #[doc = " attempt is made. When the maximum probe size is reached, the input format"]
10113 #[doc = " with the highest score is returned."]
10114 #[doc = ""]
10115 #[doc = " @param pb the bytestream to probe"]
10116 #[doc = " @param fmt the input format is put here"]
10117 #[doc = " @param url the url of the stream"]
10118 #[doc = " @param logctx the log context"]
10119 #[doc = " @param offset the offset within the bytestream to probe from"]
10120 #[doc = " @param max_probe_size the maximum probe buffer size (zero for default)"]
10121 #[doc = " @return the score in case of success, a negative value corresponding to an"]
10122 #[doc = " the maximal score is AVPROBE_SCORE_MAX"]
10123 #[doc = " AVERROR code otherwise"]
10124 pub fn av_probe_input_buffer2(
10125 pb: *mut AVIOContext,
10126 fmt: *mut *mut AVInputFormat,
10127 url: *const ::std::os::raw::c_char,
10128 logctx: *mut ::std::os::raw::c_void,
10129 offset: ::std::os::raw::c_uint,
10130 max_probe_size: ::std::os::raw::c_uint,
10131 ) -> ::std::os::raw::c_int;
10132}
10133extern "C" {
10134 #[doc = " Like av_probe_input_buffer2() but returns 0 on success"]
10135 pub fn av_probe_input_buffer(
10136 pb: *mut AVIOContext,
10137 fmt: *mut *mut AVInputFormat,
10138 url: *const ::std::os::raw::c_char,
10139 logctx: *mut ::std::os::raw::c_void,
10140 offset: ::std::os::raw::c_uint,
10141 max_probe_size: ::std::os::raw::c_uint,
10142 ) -> ::std::os::raw::c_int;
10143}
10144extern "C" {
10145 #[doc = " Open an input stream and read the header. The codecs are not opened."]
10146 #[doc = " The stream must be closed with avformat_close_input()."]
10147 #[doc = ""]
10148 #[doc = " @param ps Pointer to user-supplied AVFormatContext (allocated by avformat_alloc_context)."]
10149 #[doc = " May be a pointer to NULL, in which case an AVFormatContext is allocated by this"]
10150 #[doc = " function and written into ps."]
10151 #[doc = " Note that a user-supplied AVFormatContext will be freed on failure."]
10152 #[doc = " @param url URL of the stream to open."]
10153 #[doc = " @param fmt If non-NULL, this parameter forces a specific input format."]
10154 #[doc = " Otherwise the format is autodetected."]
10155 #[doc = " @param options A dictionary filled with AVFormatContext and demuxer-private options."]
10156 #[doc = " On return this parameter will be destroyed and replaced with a dict containing"]
10157 #[doc = " options that were not found. May be NULL."]
10158 #[doc = ""]
10159 #[doc = " @return 0 on success, a negative AVERROR on failure."]
10160 #[doc = ""]
10161 #[doc = " @note If you want to use custom IO, preallocate the format context and set its pb field."]
10162 pub fn avformat_open_input(
10163 ps: *mut *mut AVFormatContext,
10164 url: *const ::std::os::raw::c_char,
10165 fmt: *mut AVInputFormat,
10166 options: *mut *mut AVDictionary,
10167 ) -> ::std::os::raw::c_int;
10168}
10169extern "C" {
10170 pub fn av_demuxer_open(ic: *mut AVFormatContext) -> ::std::os::raw::c_int;
10171}
10172extern "C" {
10173 #[doc = " Read packets of a media file to get stream information. This"]
10174 #[doc = " is useful for file formats with no headers such as MPEG. This"]
10175 #[doc = " function also computes the real framerate in case of MPEG-2 repeat"]
10176 #[doc = " frame mode."]
10177 #[doc = " The logical file position is not changed by this function;"]
10178 #[doc = " examined packets may be buffered for later processing."]
10179 #[doc = ""]
10180 #[doc = " @param ic media file handle"]
10181 #[doc = " @param options If non-NULL, an ic.nb_streams long array of pointers to"]
10182 #[doc = " dictionaries, where i-th member contains options for"]
10183 #[doc = " codec corresponding to i-th stream."]
10184 #[doc = " On return each dictionary will be filled with options that were not found."]
10185 #[doc = " @return >=0 if OK, AVERROR_xxx on error"]
10186 #[doc = ""]
10187 #[doc = " @note this function isn\'t guaranteed to open all the codecs, so"]
10188 #[doc = " options being non-empty at return is a perfectly normal behavior."]
10189 #[doc = ""]
10190 #[doc = " @todo Let the user decide somehow what information is needed so that"]
10191 #[doc = " we do not waste time getting stuff the user does not need."]
10192 pub fn avformat_find_stream_info(
10193 ic: *mut AVFormatContext,
10194 options: *mut *mut AVDictionary,
10195 ) -> ::std::os::raw::c_int;
10196}
10197extern "C" {
10198 #[doc = " Find the programs which belong to a given stream."]
10199 #[doc = ""]
10200 #[doc = " @param ic media file handle"]
10201 #[doc = " @param last the last found program, the search will start after this"]
10202 #[doc = " program, or from the beginning if it is NULL"]
10203 #[doc = " @param s stream index"]
10204 #[doc = " @return the next program which belongs to s, NULL if no program is found or"]
10205 #[doc = " the last program is not among the programs of ic."]
10206 pub fn av_find_program_from_stream(
10207 ic: *mut AVFormatContext,
10208 last: *mut AVProgram,
10209 s: ::std::os::raw::c_int,
10210 ) -> *mut AVProgram;
10211}
10212extern "C" {
10213 pub fn av_program_add_stream_index(
10214 ac: *mut AVFormatContext,
10215 progid: ::std::os::raw::c_int,
10216 idx: ::std::os::raw::c_uint,
10217 );
10218}
10219extern "C" {
10220 #[doc = " Find the \"best\" stream in the file."]
10221 #[doc = " The best stream is determined according to various heuristics as the most"]
10222 #[doc = " likely to be what the user expects."]
10223 #[doc = " If the decoder parameter is non-NULL, av_find_best_stream will find the"]
10224 #[doc = " default decoder for the stream\'s codec; streams for which no decoder can"]
10225 #[doc = " be found are ignored."]
10226 #[doc = ""]
10227 #[doc = " @param ic media file handle"]
10228 #[doc = " @param type stream type: video, audio, subtitles, etc."]
10229 #[doc = " @param wanted_stream_nb user-requested stream number,"]
10230 #[doc = " or -1 for automatic selection"]
10231 #[doc = " @param related_stream try to find a stream related (eg. in the same"]
10232 #[doc = " program) to this one, or -1 if none"]
10233 #[doc = " @param decoder_ret if non-NULL, returns the decoder for the"]
10234 #[doc = " selected stream"]
10235 #[doc = " @param flags flags; none are currently defined"]
10236 #[doc = " @return the non-negative stream number in case of success,"]
10237 #[doc = " AVERROR_STREAM_NOT_FOUND if no stream with the requested type"]
10238 #[doc = " could be found,"]
10239 #[doc = " AVERROR_DECODER_NOT_FOUND if streams were found but no decoder"]
10240 #[doc = " @note If av_find_best_stream returns successfully and decoder_ret is not"]
10241 #[doc = " NULL, then *decoder_ret is guaranteed to be set to a valid AVCodec."]
10242 pub fn av_find_best_stream(
10243 ic: *mut AVFormatContext,
10244 type_: AVMediaType,
10245 wanted_stream_nb: ::std::os::raw::c_int,
10246 related_stream: ::std::os::raw::c_int,
10247 decoder_ret: *mut *mut AVCodec,
10248 flags: ::std::os::raw::c_int,
10249 ) -> ::std::os::raw::c_int;
10250}
10251extern "C" {
10252 #[doc = " Return the next frame of a stream."]
10253 #[doc = " This function returns what is stored in the file, and does not validate"]
10254 #[doc = " that what is there are valid frames for the decoder. It will split what is"]
10255 #[doc = " stored in the file into frames and return one for each call. It will not"]
10256 #[doc = " omit invalid data between valid frames so as to give the decoder the maximum"]
10257 #[doc = " information possible for decoding."]
10258 #[doc = ""]
10259 #[doc = " If pkt->buf is NULL, then the packet is valid until the next"]
10260 #[doc = " av_read_frame() or until avformat_close_input(). Otherwise the packet"]
10261 #[doc = " is valid indefinitely. In both cases the packet must be freed with"]
10262 #[doc = " av_packet_unref when it is no longer needed. For video, the packet contains"]
10263 #[doc = " exactly one frame. For audio, it contains an integer number of frames if each"]
10264 #[doc = " frame has a known fixed size (e.g. PCM or ADPCM data). If the audio frames"]
10265 #[doc = " have a variable size (e.g. MPEG audio), then it contains one frame."]
10266 #[doc = ""]
10267 #[doc = " pkt->pts, pkt->dts and pkt->duration are always set to correct"]
10268 #[doc = " values in AVStream.time_base units (and guessed if the format cannot"]
10269 #[doc = " provide them). pkt->pts can be AV_NOPTS_VALUE if the video format"]
10270 #[doc = " has B-frames, so it is better to rely on pkt->dts if you do not"]
10271 #[doc = " decompress the payload."]
10272 #[doc = ""]
10273 #[doc = " @return 0 if OK, < 0 on error or end of file"]
10274 pub fn av_read_frame(s: *mut AVFormatContext, pkt: *mut AVPacket) -> ::std::os::raw::c_int;
10275}
10276extern "C" {
10277 #[doc = " Seek to the keyframe at timestamp."]
10278 #[doc = " \'timestamp\' in \'stream_index\'."]
10279 #[doc = ""]
10280 #[doc = " @param s media file handle"]
10281 #[doc = " @param stream_index If stream_index is (-1), a default"]
10282 #[doc = " stream is selected, and timestamp is automatically converted"]
10283 #[doc = " from AV_TIME_BASE units to the stream specific time_base."]
10284 #[doc = " @param timestamp Timestamp in AVStream.time_base units"]
10285 #[doc = " or, if no stream is specified, in AV_TIME_BASE units."]
10286 #[doc = " @param flags flags which select direction and seeking mode"]
10287 #[doc = " @return >= 0 on success"]
10288 pub fn av_seek_frame(
10289 s: *mut AVFormatContext,
10290 stream_index: ::std::os::raw::c_int,
10291 timestamp: i64,
10292 flags: ::std::os::raw::c_int,
10293 ) -> ::std::os::raw::c_int;
10294}
10295extern "C" {
10296 #[doc = " Seek to timestamp ts."]
10297 #[doc = " Seeking will be done so that the point from which all active streams"]
10298 #[doc = " can be presented successfully will be closest to ts and within min/max_ts."]
10299 #[doc = " Active streams are all streams that have AVStream.discard < AVDISCARD_ALL."]
10300 #[doc = ""]
10301 #[doc = " If flags contain AVSEEK_FLAG_BYTE, then all timestamps are in bytes and"]
10302 #[doc = " are the file position (this may not be supported by all demuxers)."]
10303 #[doc = " If flags contain AVSEEK_FLAG_FRAME, then all timestamps are in frames"]
10304 #[doc = " in the stream with stream_index (this may not be supported by all demuxers)."]
10305 #[doc = " Otherwise all timestamps are in units of the stream selected by stream_index"]
10306 #[doc = " or if stream_index is -1, in AV_TIME_BASE units."]
10307 #[doc = " If flags contain AVSEEK_FLAG_ANY, then non-keyframes are treated as"]
10308 #[doc = " keyframes (this may not be supported by all demuxers)."]
10309 #[doc = " If flags contain AVSEEK_FLAG_BACKWARD, it is ignored."]
10310 #[doc = ""]
10311 #[doc = " @param s media file handle"]
10312 #[doc = " @param stream_index index of the stream which is used as time base reference"]
10313 #[doc = " @param min_ts smallest acceptable timestamp"]
10314 #[doc = " @param ts target timestamp"]
10315 #[doc = " @param max_ts largest acceptable timestamp"]
10316 #[doc = " @param flags flags"]
10317 #[doc = " @return >=0 on success, error code otherwise"]
10318 #[doc = ""]
10319 #[doc = " @note This is part of the new seek API which is still under construction."]
10320 #[doc = " Thus do not use this yet. It may change at any time, do not expect"]
10321 #[doc = " ABI compatibility yet!"]
10322 pub fn avformat_seek_file(
10323 s: *mut AVFormatContext,
10324 stream_index: ::std::os::raw::c_int,
10325 min_ts: i64,
10326 ts: i64,
10327 max_ts: i64,
10328 flags: ::std::os::raw::c_int,
10329 ) -> ::std::os::raw::c_int;
10330}
10331extern "C" {
10332 #[doc = " Discard all internally buffered data. This can be useful when dealing with"]
10333 #[doc = " discontinuities in the byte stream. Generally works only with formats that"]
10334 #[doc = " can resync. This includes headerless formats like MPEG-TS/TS but should also"]
10335 #[doc = " work with NUT, Ogg and in a limited way AVI for example."]
10336 #[doc = ""]
10337 #[doc = " The set of streams, the detected duration, stream parameters and codecs do"]
10338 #[doc = " not change when calling this function. If you want a complete reset, it\'s"]
10339 #[doc = " better to open a new AVFormatContext."]
10340 #[doc = ""]
10341 #[doc = " This does not flush the AVIOContext (s->pb). If necessary, call"]
10342 #[doc = " avio_flush(s->pb) before calling this function."]
10343 #[doc = ""]
10344 #[doc = " @param s media file handle"]
10345 #[doc = " @return >=0 on success, error code otherwise"]
10346 pub fn avformat_flush(s: *mut AVFormatContext) -> ::std::os::raw::c_int;
10347}
10348extern "C" {
10349 #[doc = " Start playing a network-based stream (e.g. RTSP stream) at the"]
10350 #[doc = " current position."]
10351 pub fn av_read_play(s: *mut AVFormatContext) -> ::std::os::raw::c_int;
10352}
10353extern "C" {
10354 #[doc = " Pause a network-based stream (e.g. RTSP stream)."]
10355 #[doc = ""]
10356 #[doc = " Use av_read_play() to resume it."]
10357 pub fn av_read_pause(s: *mut AVFormatContext) -> ::std::os::raw::c_int;
10358}
10359extern "C" {
10360 #[doc = " Close an opened input AVFormatContext. Free it and all its contents"]
10361 #[doc = " and set *s to NULL."]
10362 pub fn avformat_close_input(s: *mut *mut AVFormatContext);
10363}
10364extern "C" {
10365 #[doc = " Allocate the stream private data and write the stream header to"]
10366 #[doc = " an output media file."]
10367 #[doc = ""]
10368 #[doc = " @param s Media file handle, must be allocated with avformat_alloc_context()."]
10369 #[doc = " Its oformat field must be set to the desired output format;"]
10370 #[doc = " Its pb field must be set to an already opened AVIOContext."]
10371 #[doc = " @param options An AVDictionary filled with AVFormatContext and muxer-private options."]
10372 #[doc = " On return this parameter will be destroyed and replaced with a dict containing"]
10373 #[doc = " options that were not found. May be NULL."]
10374 #[doc = ""]
10375 #[doc = " @return AVSTREAM_INIT_IN_WRITE_HEADER on success if the codec had not already been fully initialized in avformat_init,"]
10376 #[doc = " AVSTREAM_INIT_IN_INIT_OUTPUT on success if the codec had already been fully initialized in avformat_init,"]
10377 #[doc = " negative AVERROR on failure."]
10378 #[doc = ""]
10379 #[doc = " @see av_opt_find, av_dict_set, avio_open, av_oformat_next, avformat_init_output."]
10380 pub fn avformat_write_header(
10381 s: *mut AVFormatContext,
10382 options: *mut *mut AVDictionary,
10383 ) -> ::std::os::raw::c_int;
10384}
10385extern "C" {
10386 #[doc = " Allocate the stream private data and initialize the codec, but do not write the header."]
10387 #[doc = " May optionally be used before avformat_write_header to initialize stream parameters"]
10388 #[doc = " before actually writing the header."]
10389 #[doc = " If using this function, do not pass the same options to avformat_write_header."]
10390 #[doc = ""]
10391 #[doc = " @param s Media file handle, must be allocated with avformat_alloc_context()."]
10392 #[doc = " Its oformat field must be set to the desired output format;"]
10393 #[doc = " Its pb field must be set to an already opened AVIOContext."]
10394 #[doc = " @param options An AVDictionary filled with AVFormatContext and muxer-private options."]
10395 #[doc = " On return this parameter will be destroyed and replaced with a dict containing"]
10396 #[doc = " options that were not found. May be NULL."]
10397 #[doc = ""]
10398 #[doc = " @return AVSTREAM_INIT_IN_WRITE_HEADER on success if the codec requires avformat_write_header to fully initialize,"]
10399 #[doc = " AVSTREAM_INIT_IN_INIT_OUTPUT on success if the codec has been fully initialized,"]
10400 #[doc = " negative AVERROR on failure."]
10401 #[doc = ""]
10402 #[doc = " @see av_opt_find, av_dict_set, avio_open, av_oformat_next, avformat_write_header."]
10403 pub fn avformat_init_output(
10404 s: *mut AVFormatContext,
10405 options: *mut *mut AVDictionary,
10406 ) -> ::std::os::raw::c_int;
10407}
10408extern "C" {
10409 #[doc = " Write a packet to an output media file."]
10410 #[doc = ""]
10411 #[doc = " This function passes the packet directly to the muxer, without any buffering"]
10412 #[doc = " or reordering. The caller is responsible for correctly interleaving the"]
10413 #[doc = " packets if the format requires it. Callers that want libavformat to handle"]
10414 #[doc = " the interleaving should call av_interleaved_write_frame() instead of this"]
10415 #[doc = " function."]
10416 #[doc = ""]
10417 #[doc = " @param s media file handle"]
10418 #[doc = " @param pkt The packet containing the data to be written. Note that unlike"]
10419 #[doc = " av_interleaved_write_frame(), this function does not take"]
10420 #[doc = " ownership of the packet passed to it (though some muxers may make"]
10421 #[doc = " an internal reference to the input packet)."]
10422 #[doc = " <br>"]
10423 #[doc = " This parameter can be NULL (at any time, not just at the end), in"]
10424 #[doc = " order to immediately flush data buffered within the muxer, for"]
10425 #[doc = " muxers that buffer up data internally before writing it to the"]
10426 #[doc = " output."]
10427 #[doc = " <br>"]
10428 #[doc = " Packet\'s @ref AVPacket.stream_index \"stream_index\" field must be"]
10429 #[doc = " set to the index of the corresponding stream in @ref"]
10430 #[doc = " AVFormatContext.streams \"s->streams\"."]
10431 #[doc = " <br>"]
10432 #[doc = " The timestamps (@ref AVPacket.pts \"pts\", @ref AVPacket.dts \"dts\")"]
10433 #[doc = " must be set to correct values in the stream\'s timebase (unless the"]
10434 #[doc = " output format is flagged with the AVFMT_NOTIMESTAMPS flag, then"]
10435 #[doc = " they can be set to AV_NOPTS_VALUE)."]
10436 #[doc = " The dts for subsequent packets passed to this function must be strictly"]
10437 #[doc = " increasing when compared in their respective timebases (unless the"]
10438 #[doc = " output format is flagged with the AVFMT_TS_NONSTRICT, then they"]
10439 #[doc = " merely have to be nondecreasing). @ref AVPacket.duration"]
10440 #[doc = " \"duration\") should also be set if known."]
10441 #[doc = " @return < 0 on error, = 0 if OK, 1 if flushed and there is no more data to flush"]
10442 #[doc = ""]
10443 #[doc = " @see av_interleaved_write_frame()"]
10444 pub fn av_write_frame(s: *mut AVFormatContext, pkt: *mut AVPacket) -> ::std::os::raw::c_int;
10445}
10446extern "C" {
10447 #[doc = " Write a packet to an output media file ensuring correct interleaving."]
10448 #[doc = ""]
10449 #[doc = " This function will buffer the packets internally as needed to make sure the"]
10450 #[doc = " packets in the output file are properly interleaved in the order of"]
10451 #[doc = " increasing dts. Callers doing their own interleaving should call"]
10452 #[doc = " av_write_frame() instead of this function."]
10453 #[doc = ""]
10454 #[doc = " Using this function instead of av_write_frame() can give muxers advance"]
10455 #[doc = " knowledge of future packets, improving e.g. the behaviour of the mp4"]
10456 #[doc = " muxer for VFR content in fragmenting mode."]
10457 #[doc = ""]
10458 #[doc = " @param s media file handle"]
10459 #[doc = " @param pkt The packet containing the data to be written."]
10460 #[doc = " <br>"]
10461 #[doc = " If the packet is reference-counted, this function will take"]
10462 #[doc = " ownership of this reference and unreference it later when it sees"]
10463 #[doc = " fit."]
10464 #[doc = " The caller must not access the data through this reference after"]
10465 #[doc = " this function returns. If the packet is not reference-counted,"]
10466 #[doc = " libavformat will make a copy."]
10467 #[doc = " <br>"]
10468 #[doc = " This parameter can be NULL (at any time, not just at the end), to"]
10469 #[doc = " flush the interleaving queues."]
10470 #[doc = " <br>"]
10471 #[doc = " Packet\'s @ref AVPacket.stream_index \"stream_index\" field must be"]
10472 #[doc = " set to the index of the corresponding stream in @ref"]
10473 #[doc = " AVFormatContext.streams \"s->streams\"."]
10474 #[doc = " <br>"]
10475 #[doc = " The timestamps (@ref AVPacket.pts \"pts\", @ref AVPacket.dts \"dts\")"]
10476 #[doc = " must be set to correct values in the stream\'s timebase (unless the"]
10477 #[doc = " output format is flagged with the AVFMT_NOTIMESTAMPS flag, then"]
10478 #[doc = " they can be set to AV_NOPTS_VALUE)."]
10479 #[doc = " The dts for subsequent packets in one stream must be strictly"]
10480 #[doc = " increasing (unless the output format is flagged with the"]
10481 #[doc = " AVFMT_TS_NONSTRICT, then they merely have to be nondecreasing)."]
10482 #[doc = " @ref AVPacket.duration \"duration\") should also be set if known."]
10483 #[doc = ""]
10484 #[doc = " @return 0 on success, a negative AVERROR on error. Libavformat will always"]
10485 #[doc = " take care of freeing the packet, even if this function fails."]
10486 #[doc = ""]
10487 #[doc = " @see av_write_frame(), AVFormatContext.max_interleave_delta"]
10488 pub fn av_interleaved_write_frame(
10489 s: *mut AVFormatContext,
10490 pkt: *mut AVPacket,
10491 ) -> ::std::os::raw::c_int;
10492}
10493extern "C" {
10494 #[doc = " Write an uncoded frame to an output media file."]
10495 #[doc = ""]
10496 #[doc = " The frame must be correctly interleaved according to the container"]
10497 #[doc = " specification; if not, then av_interleaved_write_frame() must be used."]
10498 #[doc = ""]
10499 #[doc = " See av_interleaved_write_frame() for details."]
10500 pub fn av_write_uncoded_frame(
10501 s: *mut AVFormatContext,
10502 stream_index: ::std::os::raw::c_int,
10503 frame: *mut AVFrame,
10504 ) -> ::std::os::raw::c_int;
10505}
10506extern "C" {
10507 #[doc = " Write an uncoded frame to an output media file."]
10508 #[doc = ""]
10509 #[doc = " If the muxer supports it, this function makes it possible to write an AVFrame"]
10510 #[doc = " structure directly, without encoding it into a packet."]
10511 #[doc = " It is mostly useful for devices and similar special muxers that use raw"]
10512 #[doc = " video or PCM data and will not serialize it into a byte stream."]
10513 #[doc = ""]
10514 #[doc = " To test whether it is possible to use it with a given muxer and stream,"]
10515 #[doc = " use av_write_uncoded_frame_query()."]
10516 #[doc = ""]
10517 #[doc = " The caller gives up ownership of the frame and must not access it"]
10518 #[doc = " afterwards."]
10519 #[doc = ""]
10520 #[doc = " @return >=0 for success, a negative code on error"]
10521 pub fn av_interleaved_write_uncoded_frame(
10522 s: *mut AVFormatContext,
10523 stream_index: ::std::os::raw::c_int,
10524 frame: *mut AVFrame,
10525 ) -> ::std::os::raw::c_int;
10526}
10527extern "C" {
10528 #[doc = " Test whether a muxer supports uncoded frame."]
10529 #[doc = ""]
10530 #[doc = " @return >=0 if an uncoded frame can be written to that muxer and stream,"]
10531 #[doc = " <0 if not"]
10532 pub fn av_write_uncoded_frame_query(
10533 s: *mut AVFormatContext,
10534 stream_index: ::std::os::raw::c_int,
10535 ) -> ::std::os::raw::c_int;
10536}
10537extern "C" {
10538 #[doc = " Write the stream trailer to an output media file and free the"]
10539 #[doc = " file private data."]
10540 #[doc = ""]
10541 #[doc = " May only be called after a successful call to avformat_write_header."]
10542 #[doc = ""]
10543 #[doc = " @param s media file handle"]
10544 #[doc = " @return 0 if OK, AVERROR_xxx on error"]
10545 pub fn av_write_trailer(s: *mut AVFormatContext) -> ::std::os::raw::c_int;
10546}
10547extern "C" {
10548 #[doc = " Return the output format in the list of registered output formats"]
10549 #[doc = " which best matches the provided parameters, or return NULL if"]
10550 #[doc = " there is no match."]
10551 #[doc = ""]
10552 #[doc = " @param short_name if non-NULL checks if short_name matches with the"]
10553 #[doc = " names of the registered formats"]
10554 #[doc = " @param filename if non-NULL checks if filename terminates with the"]
10555 #[doc = " extensions of the registered formats"]
10556 #[doc = " @param mime_type if non-NULL checks if mime_type matches with the"]
10557 #[doc = " MIME type of the registered formats"]
10558 pub fn av_guess_format(
10559 short_name: *const ::std::os::raw::c_char,
10560 filename: *const ::std::os::raw::c_char,
10561 mime_type: *const ::std::os::raw::c_char,
10562 ) -> *mut AVOutputFormat;
10563}
10564extern "C" {
10565 #[doc = " Guess the codec ID based upon muxer and filename."]
10566 pub fn av_guess_codec(
10567 fmt: *mut AVOutputFormat,
10568 short_name: *const ::std::os::raw::c_char,
10569 filename: *const ::std::os::raw::c_char,
10570 mime_type: *const ::std::os::raw::c_char,
10571 type_: AVMediaType,
10572 ) -> AVCodecID;
10573}
10574extern "C" {
10575 #[doc = " Get timing information for the data currently output."]
10576 #[doc = " The exact meaning of \"currently output\" depends on the format."]
10577 #[doc = " It is mostly relevant for devices that have an internal buffer and/or"]
10578 #[doc = " work in real time."]
10579 #[doc = " @param s media file handle"]
10580 #[doc = " @param stream stream in the media file"]
10581 #[doc = " @param[out] dts DTS of the last packet output for the stream, in stream"]
10582 #[doc = " time_base units"]
10583 #[doc = " @param[out] wall absolute time when that packet whas output,"]
10584 #[doc = " in microsecond"]
10585 #[doc = " @return 0 if OK, AVERROR(ENOSYS) if the format does not support it"]
10586 #[doc = " Note: some formats or devices may not allow to measure dts and wall"]
10587 #[doc = " atomically."]
10588 pub fn av_get_output_timestamp(
10589 s: *mut AVFormatContext,
10590 stream: ::std::os::raw::c_int,
10591 dts: *mut i64,
10592 wall: *mut i64,
10593 ) -> ::std::os::raw::c_int;
10594}
10595extern "C" {
10596 #[doc = " Send a nice hexadecimal dump of a buffer to the specified file stream."]
10597 #[doc = ""]
10598 #[doc = " @param f The file stream pointer where the dump should be sent to."]
10599 #[doc = " @param buf buffer"]
10600 #[doc = " @param size buffer size"]
10601 #[doc = ""]
10602 #[doc = " @see av_hex_dump_log, av_pkt_dump2, av_pkt_dump_log2"]
10603 pub fn av_hex_dump(f: *mut FILE, buf: *const u8, size: ::std::os::raw::c_int);
10604}
10605extern "C" {
10606 #[doc = " Send a nice hexadecimal dump of a buffer to the log."]
10607 #[doc = ""]
10608 #[doc = " @param avcl A pointer to an arbitrary struct of which the first field is a"]
10609 #[doc = " pointer to an AVClass struct."]
10610 #[doc = " @param level The importance level of the message, lower values signifying"]
10611 #[doc = " higher importance."]
10612 #[doc = " @param buf buffer"]
10613 #[doc = " @param size buffer size"]
10614 #[doc = ""]
10615 #[doc = " @see av_hex_dump, av_pkt_dump2, av_pkt_dump_log2"]
10616 pub fn av_hex_dump_log(
10617 avcl: *mut ::std::os::raw::c_void,
10618 level: ::std::os::raw::c_int,
10619 buf: *const u8,
10620 size: ::std::os::raw::c_int,
10621 );
10622}
10623extern "C" {
10624 #[doc = " Send a nice dump of a packet to the specified file stream."]
10625 #[doc = ""]
10626 #[doc = " @param f The file stream pointer where the dump should be sent to."]
10627 #[doc = " @param pkt packet to dump"]
10628 #[doc = " @param dump_payload True if the payload must be displayed, too."]
10629 #[doc = " @param st AVStream that the packet belongs to"]
10630 pub fn av_pkt_dump2(
10631 f: *mut FILE,
10632 pkt: *const AVPacket,
10633 dump_payload: ::std::os::raw::c_int,
10634 st: *const AVStream,
10635 );
10636}
10637extern "C" {
10638 #[doc = " Send a nice dump of a packet to the log."]
10639 #[doc = ""]
10640 #[doc = " @param avcl A pointer to an arbitrary struct of which the first field is a"]
10641 #[doc = " pointer to an AVClass struct."]
10642 #[doc = " @param level The importance level of the message, lower values signifying"]
10643 #[doc = " higher importance."]
10644 #[doc = " @param pkt packet to dump"]
10645 #[doc = " @param dump_payload True if the payload must be displayed, too."]
10646 #[doc = " @param st AVStream that the packet belongs to"]
10647 pub fn av_pkt_dump_log2(
10648 avcl: *mut ::std::os::raw::c_void,
10649 level: ::std::os::raw::c_int,
10650 pkt: *const AVPacket,
10651 dump_payload: ::std::os::raw::c_int,
10652 st: *const AVStream,
10653 );
10654}
10655extern "C" {
10656 #[doc = " Get the AVCodecID for the given codec tag tag."]
10657 #[doc = " If no codec id is found returns AV_CODEC_ID_NONE."]
10658 #[doc = ""]
10659 #[doc = " @param tags list of supported codec_id-codec_tag pairs, as stored"]
10660 #[doc = " in AVInputFormat.codec_tag and AVOutputFormat.codec_tag"]
10661 #[doc = " @param tag codec tag to match to a codec ID"]
10662 pub fn av_codec_get_id(
10663 tags: *const *const AVCodecTag,
10664 tag: ::std::os::raw::c_uint,
10665 ) -> AVCodecID;
10666}
10667extern "C" {
10668 #[doc = " Get the codec tag for the given codec id id."]
10669 #[doc = " If no codec tag is found returns 0."]
10670 #[doc = ""]
10671 #[doc = " @param tags list of supported codec_id-codec_tag pairs, as stored"]
10672 #[doc = " in AVInputFormat.codec_tag and AVOutputFormat.codec_tag"]
10673 #[doc = " @param id codec ID to match to a codec tag"]
10674 pub fn av_codec_get_tag(
10675 tags: *const *const AVCodecTag,
10676 id: AVCodecID,
10677 ) -> ::std::os::raw::c_uint;
10678}
10679extern "C" {
10680 #[doc = " Get the codec tag for the given codec id."]
10681 #[doc = ""]
10682 #[doc = " @param tags list of supported codec_id - codec_tag pairs, as stored"]
10683 #[doc = " in AVInputFormat.codec_tag and AVOutputFormat.codec_tag"]
10684 #[doc = " @param id codec id that should be searched for in the list"]
10685 #[doc = " @param tag A pointer to the found tag"]
10686 #[doc = " @return 0 if id was not found in tags, > 0 if it was found"]
10687 pub fn av_codec_get_tag2(
10688 tags: *const *const AVCodecTag,
10689 id: AVCodecID,
10690 tag: *mut ::std::os::raw::c_uint,
10691 ) -> ::std::os::raw::c_int;
10692}
10693extern "C" {
10694 pub fn av_find_default_stream_index(s: *mut AVFormatContext) -> ::std::os::raw::c_int;
10695}
10696extern "C" {
10697 #[doc = " Get the index for a specific timestamp."]
10698 #[doc = ""]
10699 #[doc = " @param st stream that the timestamp belongs to"]
10700 #[doc = " @param timestamp timestamp to retrieve the index for"]
10701 #[doc = " @param flags if AVSEEK_FLAG_BACKWARD then the returned index will correspond"]
10702 #[doc = " to the timestamp which is <= the requested one, if backward"]
10703 #[doc = " is 0, then it will be >="]
10704 #[doc = " if AVSEEK_FLAG_ANY seek to any frame, only keyframes otherwise"]
10705 #[doc = " @return < 0 if no such timestamp could be found"]
10706 pub fn av_index_search_timestamp(
10707 st: *mut AVStream,
10708 timestamp: i64,
10709 flags: ::std::os::raw::c_int,
10710 ) -> ::std::os::raw::c_int;
10711}
10712extern "C" {
10713 #[doc = " Add an index entry into a sorted list. Update the entry if the list"]
10714 #[doc = " already contains it."]
10715 #[doc = ""]
10716 #[doc = " @param timestamp timestamp in the time base of the given stream"]
10717 pub fn av_add_index_entry(
10718 st: *mut AVStream,
10719 pos: i64,
10720 timestamp: i64,
10721 size: ::std::os::raw::c_int,
10722 distance: ::std::os::raw::c_int,
10723 flags: ::std::os::raw::c_int,
10724 ) -> ::std::os::raw::c_int;
10725}
10726extern "C" {
10727 #[doc = " Split a URL string into components."]
10728 #[doc = ""]
10729 #[doc = " The pointers to buffers for storing individual components may be null,"]
10730 #[doc = " in order to ignore that component. Buffers for components not found are"]
10731 #[doc = " set to empty strings. If the port is not found, it is set to a negative"]
10732 #[doc = " value."]
10733 #[doc = ""]
10734 #[doc = " @param proto the buffer for the protocol"]
10735 #[doc = " @param proto_size the size of the proto buffer"]
10736 #[doc = " @param authorization the buffer for the authorization"]
10737 #[doc = " @param authorization_size the size of the authorization buffer"]
10738 #[doc = " @param hostname the buffer for the host name"]
10739 #[doc = " @param hostname_size the size of the hostname buffer"]
10740 #[doc = " @param port_ptr a pointer to store the port number in"]
10741 #[doc = " @param path the buffer for the path"]
10742 #[doc = " @param path_size the size of the path buffer"]
10743 #[doc = " @param url the URL to split"]
10744 pub fn av_url_split(
10745 proto: *mut ::std::os::raw::c_char,
10746 proto_size: ::std::os::raw::c_int,
10747 authorization: *mut ::std::os::raw::c_char,
10748 authorization_size: ::std::os::raw::c_int,
10749 hostname: *mut ::std::os::raw::c_char,
10750 hostname_size: ::std::os::raw::c_int,
10751 port_ptr: *mut ::std::os::raw::c_int,
10752 path: *mut ::std::os::raw::c_char,
10753 path_size: ::std::os::raw::c_int,
10754 url: *const ::std::os::raw::c_char,
10755 );
10756}
10757extern "C" {
10758 #[doc = " Print detailed information about the input or output format, such as"]
10759 #[doc = " duration, bitrate, streams, container, programs, metadata, side data,"]
10760 #[doc = " codec and time base."]
10761 #[doc = ""]
10762 #[doc = " @param ic the context to analyze"]
10763 #[doc = " @param index index of the stream to dump information about"]
10764 #[doc = " @param url the URL to print, such as source or destination file"]
10765 #[doc = " @param is_output Select whether the specified context is an input(0) or output(1)"]
10766 pub fn av_dump_format(
10767 ic: *mut AVFormatContext,
10768 index: ::std::os::raw::c_int,
10769 url: *const ::std::os::raw::c_char,
10770 is_output: ::std::os::raw::c_int,
10771 );
10772}
10773extern "C" {
10774 #[doc = " Return in \'buf\' the path with \'%d\' replaced by a number."]
10775 #[doc = ""]
10776 #[doc = " Also handles the \'%0nd\' format where \'n\' is the total number"]
10777 #[doc = " of digits and \'%%\'."]
10778 #[doc = ""]
10779 #[doc = " @param buf destination buffer"]
10780 #[doc = " @param buf_size destination buffer size"]
10781 #[doc = " @param path numbered sequence string"]
10782 #[doc = " @param number frame number"]
10783 #[doc = " @param flags AV_FRAME_FILENAME_FLAGS_*"]
10784 #[doc = " @return 0 if OK, -1 on format error"]
10785 pub fn av_get_frame_filename2(
10786 buf: *mut ::std::os::raw::c_char,
10787 buf_size: ::std::os::raw::c_int,
10788 path: *const ::std::os::raw::c_char,
10789 number: ::std::os::raw::c_int,
10790 flags: ::std::os::raw::c_int,
10791 ) -> ::std::os::raw::c_int;
10792}
10793extern "C" {
10794 pub fn av_get_frame_filename(
10795 buf: *mut ::std::os::raw::c_char,
10796 buf_size: ::std::os::raw::c_int,
10797 path: *const ::std::os::raw::c_char,
10798 number: ::std::os::raw::c_int,
10799 ) -> ::std::os::raw::c_int;
10800}
10801extern "C" {
10802 #[doc = " Check whether filename actually is a numbered sequence generator."]
10803 #[doc = ""]
10804 #[doc = " @param filename possible numbered sequence string"]
10805 #[doc = " @return 1 if a valid numbered sequence string, 0 otherwise"]
10806 pub fn av_filename_number_test(
10807 filename: *const ::std::os::raw::c_char,
10808 ) -> ::std::os::raw::c_int;
10809}
10810extern "C" {
10811 #[doc = " Generate an SDP for an RTP session."]
10812 #[doc = ""]
10813 #[doc = " Note, this overwrites the id values of AVStreams in the muxer contexts"]
10814 #[doc = " for getting unique dynamic payload types."]
10815 #[doc = ""]
10816 #[doc = " @param ac array of AVFormatContexts describing the RTP streams. If the"]
10817 #[doc = " array is composed by only one context, such context can contain"]
10818 #[doc = " multiple AVStreams (one AVStream per RTP stream). Otherwise,"]
10819 #[doc = " all the contexts in the array (an AVCodecContext per RTP stream)"]
10820 #[doc = " must contain only one AVStream."]
10821 #[doc = " @param n_files number of AVCodecContexts contained in ac"]
10822 #[doc = " @param buf buffer where the SDP will be stored (must be allocated by"]
10823 #[doc = " the caller)"]
10824 #[doc = " @param size the size of the buffer"]
10825 #[doc = " @return 0 if OK, AVERROR_xxx on error"]
10826 pub fn av_sdp_create(
10827 ac: *mut *mut AVFormatContext,
10828 n_files: ::std::os::raw::c_int,
10829 buf: *mut ::std::os::raw::c_char,
10830 size: ::std::os::raw::c_int,
10831 ) -> ::std::os::raw::c_int;
10832}
10833extern "C" {
10834 #[doc = " Return a positive value if the given filename has one of the given"]
10835 #[doc = " extensions, 0 otherwise."]
10836 #[doc = ""]
10837 #[doc = " @param filename file name to check against the given extensions"]
10838 #[doc = " @param extensions a comma-separated list of filename extensions"]
10839 pub fn av_match_ext(
10840 filename: *const ::std::os::raw::c_char,
10841 extensions: *const ::std::os::raw::c_char,
10842 ) -> ::std::os::raw::c_int;
10843}
10844extern "C" {
10845 #[doc = " Test if the given container can store a codec."]
10846 #[doc = ""]
10847 #[doc = " @param ofmt container to check for compatibility"]
10848 #[doc = " @param codec_id codec to potentially store in container"]
10849 #[doc = " @param std_compliance standards compliance level, one of FF_COMPLIANCE_*"]
10850 #[doc = ""]
10851 #[doc = " @return 1 if codec with ID codec_id can be stored in ofmt, 0 if it cannot."]
10852 #[doc = " A negative number if this information is not available."]
10853 pub fn avformat_query_codec(
10854 ofmt: *const AVOutputFormat,
10855 codec_id: AVCodecID,
10856 std_compliance: ::std::os::raw::c_int,
10857 ) -> ::std::os::raw::c_int;
10858}
10859extern "C" {
10860 #[doc = " @defgroup riff_fourcc RIFF FourCCs"]
10861 #[doc = " @{"]
10862 #[doc = " Get the tables mapping RIFF FourCCs to libavcodec AVCodecIDs. The tables are"]
10863 #[doc = " meant to be passed to av_codec_get_id()/av_codec_get_tag() as in the"]
10864 #[doc = " following code:"]
10865 #[doc = " @code"]
10866 #[doc = " uint32_t tag = MKTAG(\'H\', \'2\', \'6\', \'4\');"]
10867 #[doc = " const struct AVCodecTag *table[] = { avformat_get_riff_video_tags(), 0 };"]
10868 #[doc = " enum AVCodecID id = av_codec_get_id(table, tag);"]
10869 #[doc = " @endcode"]
10870 #[doc = " @return the table mapping RIFF FourCCs for video to libavcodec AVCodecID."]
10871 pub fn avformat_get_riff_video_tags() -> *const AVCodecTag;
10872}
10873extern "C" {
10874 #[doc = " @return the table mapping RIFF FourCCs for audio to AVCodecID."]
10875 pub fn avformat_get_riff_audio_tags() -> *const AVCodecTag;
10876}
10877extern "C" {
10878 #[doc = " @return the table mapping MOV FourCCs for video to libavcodec AVCodecID."]
10879 pub fn avformat_get_mov_video_tags() -> *const AVCodecTag;
10880}
10881extern "C" {
10882 #[doc = " @return the table mapping MOV FourCCs for audio to AVCodecID."]
10883 pub fn avformat_get_mov_audio_tags() -> *const AVCodecTag;
10884}
10885extern "C" {
10886 #[doc = " Guess the sample aspect ratio of a frame, based on both the stream and the"]
10887 #[doc = " frame aspect ratio."]
10888 #[doc = ""]
10889 #[doc = " Since the frame aspect ratio is set by the codec but the stream aspect ratio"]
10890 #[doc = " is set by the demuxer, these two may not be equal. This function tries to"]
10891 #[doc = " return the value that you should use if you would like to display the frame."]
10892 #[doc = ""]
10893 #[doc = " Basic logic is to use the stream aspect ratio if it is set to something sane"]
10894 #[doc = " otherwise use the frame aspect ratio. This way a container setting, which is"]
10895 #[doc = " usually easy to modify can override the coded value in the frames."]
10896 #[doc = ""]
10897 #[doc = " @param format the format context which the stream is part of"]
10898 #[doc = " @param stream the stream which the frame is part of"]
10899 #[doc = " @param frame the frame with the aspect ratio to be determined"]
10900 #[doc = " @return the guessed (valid) sample_aspect_ratio, 0/1 if no idea"]
10901 pub fn av_guess_sample_aspect_ratio(
10902 format: *mut AVFormatContext,
10903 stream: *mut AVStream,
10904 frame: *mut AVFrame,
10905 ) -> AVRational;
10906}
10907extern "C" {
10908 #[doc = " Guess the frame rate, based on both the container and codec information."]
10909 #[doc = ""]
10910 #[doc = " @param ctx the format context which the stream is part of"]
10911 #[doc = " @param stream the stream which the frame is part of"]
10912 #[doc = " @param frame the frame for which the frame rate should be determined, may be NULL"]
10913 #[doc = " @return the guessed (valid) frame rate, 0/1 if no idea"]
10914 pub fn av_guess_frame_rate(
10915 ctx: *mut AVFormatContext,
10916 stream: *mut AVStream,
10917 frame: *mut AVFrame,
10918 ) -> AVRational;
10919}
10920extern "C" {
10921 #[doc = " Check if the stream st contained in s is matched by the stream specifier"]
10922 #[doc = " spec."]
10923 #[doc = ""]
10924 #[doc = " See the \"stream specifiers\" chapter in the documentation for the syntax"]
10925 #[doc = " of spec."]
10926 #[doc = ""]
10927 #[doc = " @return >0 if st is matched by spec;"]
10928 #[doc = " 0 if st is not matched by spec;"]
10929 #[doc = " AVERROR code if spec is invalid"]
10930 #[doc = ""]
10931 #[doc = " @note A stream specifier can match several streams in the format."]
10932 pub fn avformat_match_stream_specifier(
10933 s: *mut AVFormatContext,
10934 st: *mut AVStream,
10935 spec: *const ::std::os::raw::c_char,
10936 ) -> ::std::os::raw::c_int;
10937}
10938extern "C" {
10939 pub fn avformat_queue_attached_pictures(s: *mut AVFormatContext) -> ::std::os::raw::c_int;
10940}
10941extern "C" {
10942 #[doc = " Apply a list of bitstream filters to a packet."]
10943 #[doc = ""]
10944 #[doc = " @param codec AVCodecContext, usually from an AVStream"]
10945 #[doc = " @param pkt the packet to apply filters to. If, on success, the returned"]
10946 #[doc = " packet has size == 0 and side_data_elems == 0, it indicates that"]
10947 #[doc = " the packet should be dropped"]
10948 #[doc = " @param bsfc a NULL-terminated list of filters to apply"]
10949 #[doc = " @return >=0 on success;"]
10950 #[doc = " AVERROR code on failure"]
10951 pub fn av_apply_bitstream_filters(
10952 codec: *mut AVCodecContext,
10953 pkt: *mut AVPacket,
10954 bsfc: *mut AVBitStreamFilterContext,
10955 ) -> ::std::os::raw::c_int;
10956}
10957pub const AVTimebaseSource_AVFMT_TBCF_AUTO: AVTimebaseSource = -1;
10958pub const AVTimebaseSource_AVFMT_TBCF_DECODER: AVTimebaseSource = 0;
10959pub const AVTimebaseSource_AVFMT_TBCF_DEMUXER: AVTimebaseSource = 1;
10960pub const AVTimebaseSource_AVFMT_TBCF_R_FRAMERATE: AVTimebaseSource = 2;
10961pub type AVTimebaseSource = i32;
10962extern "C" {
10963 #[doc = " Transfer internal timing information from one stream to another."]
10964 #[doc = ""]
10965 #[doc = " This function is useful when doing stream copy."]
10966 #[doc = ""]
10967 #[doc = " @param ofmt target output format for ost"]
10968 #[doc = " @param ost output stream which needs timings copy and adjustments"]
10969 #[doc = " @param ist reference input stream to copy timings from"]
10970 #[doc = " @param copy_tb define from where the stream codec timebase needs to be imported"]
10971 pub fn avformat_transfer_internal_stream_timing_info(
10972 ofmt: *const AVOutputFormat,
10973 ost: *mut AVStream,
10974 ist: *const AVStream,
10975 copy_tb: AVTimebaseSource,
10976 ) -> ::std::os::raw::c_int;
10977}
10978extern "C" {
10979 #[doc = " Get the internal codec timebase from a stream."]
10980 #[doc = ""]
10981 #[doc = " @param st input stream to extract the timebase from"]
10982 pub fn av_stream_get_codec_timebase(st: *const AVStream) -> AVRational;
10983}
10984#[repr(C)]
10985#[derive(Debug, Copy, Clone)]
10986pub struct __locale_data {
10987 pub _address: u8,
10988}
10989pub type __builtin_va_list = [__va_list_tag; 1usize];
10990#[repr(C)]
10991#[derive(Debug, Copy, Clone)]
10992pub struct __va_list_tag {
10993 pub gp_offset: ::std::os::raw::c_uint,
10994 pub fp_offset: ::std::os::raw::c_uint,
10995 pub overflow_arg_area: *mut ::std::os::raw::c_void,
10996 pub reg_save_area: *mut ::std::os::raw::c_void,
10997}
10998#[repr(C)]
10999#[derive(Debug, Copy, Clone)]
11000pub struct AVOption {
11001 pub _address: u8,
11002}
11003#[repr(C)]
11004#[derive(Debug, Copy, Clone)]
11005pub struct AVCodecHWConfigInternal {
11006 pub _address: u8,
11007}
11008#[repr(C)]
11009#[derive(Debug, Copy, Clone)]
11010pub struct URLContext {
11011 pub _address: u8,
11012}